UNPKG

framework

Version:

The (AI) Framework: turnkey, zero-config AI orchestration that wraps a coding-agent CLI (Claude Code) as a black box and takes you from an idea to a running app. Vite for AI.

48 lines 4.24 kB
// Browser-safe entry for the dashboard client (#431). Only pure event projections live // here — `formatFrameworkEvent` and the run-view derivations — with no Node imports, so // the client can import these at runtime without dragging the server barrel (relay, // sandbox, node:fs/http, …) into the browser bundle. Types come from the root entry. export { DRIVERS, DRIVER_LABELS, isDriverName, driverFromImpl } from './driver-names.js'; export { formatFrameworkEvent } from './terminal.js'; export { formatBytes } from './format-bytes.js'; export { errorMessage } from './error-message.js'; export { pickedIds } from './events.js'; export { sessionInfo, agentProgress, agentErrors, handoffState, } from './agent-view.js'; // The Start-an-agent presets (#433): pure prompt builders (no Node imports) the dashboard // prefills into the textarea, then runs verbatim as a `prompt` kind. // The prompt-wrapping logic itself (#520), so the dashboard can show the user the // built-in prompt *before* an agent rather than describing it. These are pure string // work — `loadUserSystemPrompt` is the module's only Node-bound export and stays // out of here, which is what keeps this importable in a browser. export { systemPromptBlock, composeAgentSystem, renderSystemPrompt, SYSTEM_PROMPT_TEMPLATE, } from './system-prompt.js'; // What a preset can read beyond its params (#874), so the dashboard can render a preset against // the session it was launched from. Pure string work, like the renderers below. export { defaultWhat, DEFAULT_WHAT } from './preset-prompt.js'; export { presets, LAUNCHER_PRESETS } from './preset-catalog.js'; // The routines the idle sweep fires (#1159), so the dashboard can list them and run one on demand. // The jobs are built from the presets above and carry their prompt verbatim, so this needs no // backend of its own, and the list on screen is the list the daemon runs rather than a copy of it. export { AUTO_PM_ROUTINES, AUTO_PM_JOBS, AUTO_PM_DRAIN_JOB, AUTO_PM_MAINTENANCE_JOB } from './auto-pm.js'; // The identity + diff both notifier paths run, and the preference defaults both sides read (#627). // Pure, so the dashboard shares them rather than keeping copies that drift silently. export { interventionKey, activityKey } from './dashboard/keys.js'; // The baseline half of the same engine (#1625): what counts as "already there" when a feed is first // seen. The dashboard used to decide that by counting observations, which made a page loaded with no // GitHub reach take an empty backlog for a real one. Pure, and its only import is a type. export { SeenTracker } from './dashboard/keyed-watcher.js'; export { NOTIFICATION_DEFAULTS, MAX_SPEND_OFFSET, DEFAULT_SPEND_OFFSET, DEFAULT_AUTO_PM_CONCURRENCY, MAX_AUTO_PM_CONCURRENCY, notifies, notifyMethodEnabled, notifyCategoryEnabled } from './preference-defaults.js'; // The preferences -> run options mapping (#858), shared with the daemon so an unattended agent // starts with the same settings a launcher-started one would. Pure field logic, no Node imports. export { agentOptionsFromPreferences, handoffFromPreferences, preferencesFromFileConfig } from './agent-options.js'; // The publish ladder (B5). The dashboard offers the rungs as checkboxes and the session header as // one box, so both need the ordinal and the two conversions — an impossible answer has to resolve // on the surface that collected it, not on the agent that receives it. export { DEFAULT_HANDOFF, HANDOFF_LEVELS, handoffFromStages, handoffReaches, handoffStages, isHandoffLevel, } from './handoff-level.js'; // The Discord credential rules (#1095): the same precedence and validation the daemon enforces, // so the setup dialog rejects a malformed token before the round trip instead of guessing at it. export { credentialEnvVar, validateCredential, } from './discord-credentials.js'; // Whether an address is truly local (#1051). The daemon decides the token gate with it and the // dashboard labels the connection with it, so they must agree on what "local" means — the browser // kept its own looser copy, which answered `false` for every 127.0.0.0/8 address but the first. export { isLoopbackHost } from './loopback-host.js'; //# sourceMappingURL=client.js.map