botmux 2.93.1 → 2.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/backend/tmux-backend.d.ts +18 -2
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +45 -3
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +8 -0
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zellij-backend.js +1 -1
- package/dist/adapters/backend/zellij-backend.js.map +1 -1
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +6 -1
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/bot-registry.d.ts +50 -1
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +30 -0
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +11 -4
- package/dist/cli/workflow.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +146 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +28 -3
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +92 -0
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/inherit-peer.d.ts +5 -0
- package/dist/core/inherit-peer.d.ts.map +1 -1
- package/dist/core/inherit-peer.js +3 -0
- package/dist/core/inherit-peer.js.map +1 -1
- package/dist/core/session-discovery.d.ts +9 -0
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +24 -0
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +7 -6
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/terminal-url.d.ts.map +1 -1
- package/dist/core/terminal-url.js +15 -0
- package/dist/core/terminal-url.js.map +1 -1
- package/dist/core/trigger-session.js +2 -2
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +30 -0
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +296 -23
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/aggregator.d.ts +5 -0
- package/dist/dashboard/aggregator.d.ts.map +1 -1
- package/dist/dashboard/aggregator.js +7 -0
- package/dist/dashboard/aggregator.js.map +1 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +7 -1
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +2 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +2 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/connector-api.d.ts.map +1 -1
- package/dist/dashboard/connector-api.js +14 -3
- package/dist/dashboard/connector-api.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +2 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +7 -0
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/v3-runs-api.d.ts +26 -0
- package/dist/dashboard/v3-runs-api.d.ts.map +1 -0
- package/dist/dashboard/v3-runs-api.js +67 -0
- package/dist/dashboard/v3-runs-api.js.map +1 -0
- package/dist/dashboard/web/app.js +21 -9
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +128 -33
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +42 -6
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/legacy-workflow-link.d.ts +2 -0
- package/dist/dashboard/web/legacy-workflow-link.d.ts.map +1 -0
- package/dist/dashboard/web/legacy-workflow-link.js +12 -0
- package/dist/dashboard/web/legacy-workflow-link.js.map +1 -0
- package/dist/dashboard/web/settings.d.ts.map +1 -1
- package/dist/dashboard/web/settings.js +11 -0
- package/dist/dashboard/web/settings.js.map +1 -1
- package/dist/dashboard/web/v3-terminal.d.ts +11 -0
- package/dist/dashboard/web/v3-terminal.d.ts.map +1 -0
- package/dist/dashboard/web/v3-terminal.js +143 -0
- package/dist/dashboard/web/v3-terminal.js.map +1 -0
- package/dist/dashboard/web/v3.d.ts +2 -0
- package/dist/dashboard/web/v3.d.ts.map +1 -0
- package/dist/dashboard/web/v3.js +564 -0
- package/dist/dashboard/web/v3.js.map +1 -0
- package/dist/dashboard/web/whiteboards.d.ts.map +1 -1
- package/dist/dashboard/web/whiteboards.js +14 -5
- package/dist/dashboard/web/whiteboards.js.map +1 -1
- package/dist/dashboard/web/workflows.d.ts.map +1 -1
- package/dist/dashboard/web/workflows.js +12 -8
- package/dist/dashboard/web/workflows.js.map +1 -1
- package/dist/dashboard-web/app.js +834 -724
- package/dist/dashboard-web/apple-touch-icon.png +0 -0
- package/dist/dashboard-web/favicon.png +0 -0
- package/dist/dashboard-web/index.html +3 -1
- package/dist/dashboard-web/style.css +223 -0
- package/dist/dashboard.js +170 -10
- package/dist/dashboard.js.map +1 -1
- package/dist/global-config.d.ts +10 -0
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +8 -0
- package/dist/global-config.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +23 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +23 -3
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts +12 -0
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +28 -0
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +3 -12
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +2 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +20 -6
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/grant-command.js +4 -4
- package/dist/im/lark/grant-command.js.map +1 -1
- package/dist/im/lark/message-parser.d.ts +29 -1
- package/dist/im/lark/message-parser.d.ts.map +1 -1
- package/dist/im/lark/message-parser.js +35 -1
- package/dist/im/lark/message-parser.js.map +1 -1
- package/dist/im/lark/v3-blocked-card-handler.d.ts +28 -0
- package/dist/im/lark/v3-blocked-card-handler.d.ts.map +1 -0
- package/dist/im/lark/v3-blocked-card-handler.js +134 -0
- package/dist/im/lark/v3-blocked-card-handler.js.map +1 -0
- package/dist/im/lark/v3-blocked-card.d.ts +75 -0
- package/dist/im/lark/v3-blocked-card.d.ts.map +1 -0
- package/dist/im/lark/v3-blocked-card.js +206 -0
- package/dist/im/lark/v3-blocked-card.js.map +1 -0
- package/dist/im/lark/v3-gate-card-handler.d.ts +31 -0
- package/dist/im/lark/v3-gate-card-handler.d.ts.map +1 -0
- package/dist/im/lark/v3-gate-card-handler.js +110 -0
- package/dist/im/lark/v3-gate-card-handler.js.map +1 -0
- package/dist/im/lark/v3-gate-card.d.ts +47 -0
- package/dist/im/lark/v3-gate-card.d.ts.map +1 -0
- package/dist/im/lark/v3-gate-card.js +119 -0
- package/dist/im/lark/v3-gate-card.js.map +1 -0
- package/dist/im/lark/v3-loop-grant-card-handler.d.ts +28 -0
- package/dist/im/lark/v3-loop-grant-card-handler.d.ts.map +1 -0
- package/dist/im/lark/v3-loop-grant-card-handler.js +90 -0
- package/dist/im/lark/v3-loop-grant-card-handler.js.map +1 -0
- package/dist/im/lark/v3-loop-grant-card.d.ts +46 -0
- package/dist/im/lark/v3-loop-grant-card.d.ts.map +1 -0
- package/dist/im/lark/v3-loop-grant-card.js +119 -0
- package/dist/im/lark/v3-loop-grant-card.js.map +1 -0
- package/dist/im/lark/v3-revisit-grant-card-handler.d.ts +29 -0
- package/dist/im/lark/v3-revisit-grant-card-handler.d.ts.map +1 -0
- package/dist/im/lark/v3-revisit-grant-card-handler.js +96 -0
- package/dist/im/lark/v3-revisit-grant-card-handler.js.map +1 -0
- package/dist/im/lark/v3-revisit-grant-card.d.ts +52 -0
- package/dist/im/lark/v3-revisit-grant-card.d.ts.map +1 -0
- package/dist/im/lark/v3-revisit-grant-card.js +123 -0
- package/dist/im/lark/v3-revisit-grant-card.js.map +1 -0
- package/dist/im/lark/workflow-cards.d.ts.map +1 -1
- package/dist/im/lark/workflow-cards.js +5 -1
- package/dist/im/lark/workflow-cards.js.map +1 -1
- package/dist/im/lark/workflow-progress-card.d.ts +1 -1
- package/dist/im/lark/workflow-progress-card.js +1 -1
- package/dist/im/lark/workflow-slash-command.d.ts +28 -0
- package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
- package/dist/im/lark/workflow-slash-command.js +61 -5
- package/dist/im/lark/workflow-slash-command.js.map +1 -1
- package/dist/platform/binding.d.ts +6 -0
- package/dist/platform/binding.d.ts.map +1 -1
- package/dist/platform/binding.js +17 -0
- package/dist/platform/binding.js.map +1 -1
- package/dist/platform/tunnel-client.d.ts +2 -0
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js.map +1 -1
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +1 -0
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/card-prefs-store.d.ts +4 -0
- package/dist/services/card-prefs-store.d.ts.map +1 -1
- package/dist/services/card-prefs-store.js +19 -0
- package/dist/services/card-prefs-store.js.map +1 -1
- package/dist/services/oncall-store.d.ts +25 -0
- package/dist/services/oncall-store.d.ts.map +1 -1
- package/dist/services/oncall-store.js +56 -0
- package/dist/services/oncall-store.js.map +1 -1
- package/dist/services/transcript-resolver.d.ts.map +1 -1
- package/dist/services/transcript-resolver.js +21 -4
- package/dist/services/transcript-resolver.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts +7 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +33 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +208 -4
- package/dist/skills/definitions.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/terminal-favicon.d.ts +2 -0
- package/dist/utils/terminal-favicon.d.ts.map +1 -0
- package/dist/utils/terminal-favicon.js +5 -0
- package/dist/utils/terminal-favicon.js.map +1 -0
- package/dist/worker.js +152 -8
- package/dist/worker.js.map +1 -1
- package/dist/workflows/definition.d.ts +80 -80
- package/dist/workflows/events/payloads.d.ts +4 -4
- package/dist/workflows/events/schema.d.ts +16 -16
- package/dist/workflows/v3/architect.d.ts +37 -0
- package/dist/workflows/v3/architect.d.ts.map +1 -0
- package/dist/workflows/v3/architect.js +226 -0
- package/dist/workflows/v3/architect.js.map +1 -0
- package/dist/workflows/v3/bot-resolve.d.ts +21 -0
- package/dist/workflows/v3/bot-resolve.d.ts.map +1 -0
- package/dist/workflows/v3/bot-resolve.js +48 -0
- package/dist/workflows/v3/bot-resolve.js.map +1 -0
- package/dist/workflows/v3/cli-run.d.ts +24 -0
- package/dist/workflows/v3/cli-run.d.ts.map +1 -0
- package/dist/workflows/v3/cli-run.js +265 -0
- package/dist/workflows/v3/cli-run.js.map +1 -0
- package/dist/workflows/v3/contract.d.ts +302 -0
- package/dist/workflows/v3/contract.d.ts.map +1 -0
- package/dist/workflows/v3/contract.js +91 -0
- package/dist/workflows/v3/contract.js.map +1 -0
- package/dist/workflows/v3/daemon-run.d.ts +311 -0
- package/dist/workflows/v3/daemon-run.d.ts.map +1 -0
- package/dist/workflows/v3/daemon-run.js +775 -0
- package/dist/workflows/v3/daemon-run.js.map +1 -0
- package/dist/workflows/v3/dag.d.ts +332 -0
- package/dist/workflows/v3/dag.d.ts.map +1 -0
- package/dist/workflows/v3/dag.js +1040 -0
- package/dist/workflows/v3/dag.js.map +1 -0
- package/dist/workflows/v3/ephemeral-pool.d.ts +29 -0
- package/dist/workflows/v3/ephemeral-pool.d.ts.map +1 -0
- package/dist/workflows/v3/ephemeral-pool.js +331 -0
- package/dist/workflows/v3/ephemeral-pool.js.map +1 -0
- package/dist/workflows/v3/grill-state.d.ts +92 -0
- package/dist/workflows/v3/grill-state.d.ts.map +1 -0
- package/dist/workflows/v3/grill-state.js +151 -0
- package/dist/workflows/v3/grill-state.js.map +1 -0
- package/dist/workflows/v3/host.d.ts +88 -0
- package/dist/workflows/v3/host.d.ts.map +1 -0
- package/dist/workflows/v3/host.js +349 -0
- package/dist/workflows/v3/host.js.map +1 -0
- package/dist/workflows/v3/human-gate.d.ts +85 -0
- package/dist/workflows/v3/human-gate.d.ts.map +1 -0
- package/dist/workflows/v3/human-gate.js +153 -0
- package/dist/workflows/v3/human-gate.js.map +1 -0
- package/dist/workflows/v3/journal.d.ts +207 -0
- package/dist/workflows/v3/journal.d.ts.map +1 -0
- package/dist/workflows/v3/journal.js +74 -0
- package/dist/workflows/v3/journal.js.map +1 -0
- package/dist/workflows/v3/manifest.d.ts +17 -0
- package/dist/workflows/v3/manifest.d.ts.map +1 -0
- package/dist/workflows/v3/manifest.js +266 -0
- package/dist/workflows/v3/manifest.js.map +1 -0
- package/dist/workflows/v3/ops-projection.d.ts +110 -0
- package/dist/workflows/v3/ops-projection.d.ts.map +1 -0
- package/dist/workflows/v3/ops-projection.js +0 -0
- package/dist/workflows/v3/ops-projection.js.map +1 -0
- package/dist/workflows/v3/orchestrator.d.ts +168 -0
- package/dist/workflows/v3/orchestrator.d.ts.map +1 -0
- package/dist/workflows/v3/orchestrator.js +417 -0
- package/dist/workflows/v3/orchestrator.js.map +1 -0
- package/dist/workflows/v3/runtime.d.ts +193 -0
- package/dist/workflows/v3/runtime.d.ts.map +1 -0
- package/dist/workflows/v3/runtime.js +1284 -0
- package/dist/workflows/v3/runtime.js.map +1 -0
- package/dist/workflows/v3/spec.d.ts +32 -0
- package/dist/workflows/v3/spec.d.ts.map +1 -0
- package/dist/workflows/v3/spec.js +173 -0
- package/dist/workflows/v3/spec.js.map +1 -0
- package/dist/workflows/v3/state.d.ts +74 -0
- package/dist/workflows/v3/state.d.ts.map +1 -0
- package/dist/workflows/v3/state.js +353 -0
- package/dist/workflows/v3/state.js.map +1 -0
- package/package.json +2 -2
- package/dist/dashboard/web/workflow-catalog.d.ts +0 -2
- package/dist/dashboard/web/workflow-catalog.d.ts.map +0 -1
- package/dist/dashboard/web/workflow-catalog.js +0 -323
- package/dist/dashboard/web/workflow-catalog.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-run.js","sourceRoot":"","sources":["../../../src/workflows/v3/daemon-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v3 DAG definition — schema, loader, validator, topological order.
|
|
3
|
+
*
|
|
4
|
+
* The v3 runtime (LLM-driven workflow) loads a hand-written `dag.json`,
|
|
5
|
+
* validates it, and walks it in topological order with deps gating. This
|
|
6
|
+
* module is the *schema half* of the engine: pure data + validation, no IO
|
|
7
|
+
* side effects beyond reading the file in `loadDag`.
|
|
8
|
+
*
|
|
9
|
+
* Deliberately standalone from v0.2's `definition.ts` — v3 nodes are a much
|
|
10
|
+
* smaller surface (goal / host, no loop / decision / fanout) and coupling the
|
|
11
|
+
* two schemas would drag v0.2's complexity into the new engine. See
|
|
12
|
+
* `docs/design/2026-06-01-v3-mvp-engine-split.md` §3 for the authored shape.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* `goal` — an LLM node driven by the `botmux-goal` skill (single goal, one
|
|
16
|
+
* ephemeral worker). `host` — a deterministic side-effect node (feishu-send
|
|
17
|
+
* / base write / schedule) that does NOT route through an LLM. MVP runs
|
|
18
|
+
* `goal` nodes end to end; `host` is reserved in the schema so the runtime
|
|
19
|
+
* can grow into it without a breaking change (it is rejected at validate
|
|
20
|
+
* time until the executor lands — see `validateDag`).
|
|
21
|
+
* `loop` — a composite node wrapping a bounded sub-pipeline (structured rework:
|
|
22
|
+
* `code -> test` until the test's structured result passes). The outer DAG
|
|
23
|
+
* stays acyclic — rework NEVER appears as a back-edge; it only exists inside
|
|
24
|
+
* an explicit loop body. See docs/design/2026-06-06-v3-structured-loop-design.md.
|
|
25
|
+
*/
|
|
26
|
+
export type V3NodeType = 'goal' | 'host' | 'loop';
|
|
27
|
+
export declare const NODE_KINDS: readonly V3NodeType[];
|
|
28
|
+
/** Default per-node wall-clock budget when a node omits `timeoutSec`.
|
|
29
|
+
* Generous on purpose: completion is detected by the manifest watcher
|
|
30
|
+
* (seconds after the agent finishes), so the timeout only fires for hung
|
|
31
|
+
* nodes — a long default costs nothing on the happy path. The architect is
|
|
32
|
+
* prompted to set per-node `timeoutSec` explicitly for long tasks. */
|
|
33
|
+
export declare const DEFAULT_NODE_TIMEOUT_SEC = 1800;
|
|
34
|
+
/** Hard ceiling for per-node `timeoutSec` (4h) — rejects runaway budgets the
|
|
35
|
+
* architect might hallucinate while still allowing genuinely long tasks. */
|
|
36
|
+
export declare const MAX_NODE_TIMEOUT_SEC = 14400;
|
|
37
|
+
/** A humanGate frozen at authoring time — the runtime never lets a node
|
|
38
|
+
* add / skip a gate at runtime (design Q10). */
|
|
39
|
+
export interface V3HumanGate {
|
|
40
|
+
/** Approval-card body shown to the human reviewer. */
|
|
41
|
+
prompt: string;
|
|
42
|
+
/** Button option keys shown on the approval card. */
|
|
43
|
+
options?: string[];
|
|
44
|
+
/** Selecting any of these options maps to `resolution:'approved'`. */
|
|
45
|
+
approveOptions?: string[];
|
|
46
|
+
/** Empty = any operator allowed by the outer daemon permission gate. */
|
|
47
|
+
approvers?: string[];
|
|
48
|
+
}
|
|
49
|
+
export declare const DEFAULT_HUMAN_GATE_OPTIONS: readonly string[];
|
|
50
|
+
export declare const MAX_HUMAN_GATE_OPTIONS = 8;
|
|
51
|
+
export declare const MAX_HUMAN_GATE_OPTION_LENGTH = 32;
|
|
52
|
+
/**
|
|
53
|
+
* Declares that this node consumes an upstream node's products. MVP pulls the
|
|
54
|
+
* upstream node's *whole* manifest (all files) into this node's `inputs.json`;
|
|
55
|
+
* a per-file selector is deferred (design §2.3). Invariant: `from` MUST also
|
|
56
|
+
* appear in the node's `depends` — you can only read outputs of a node you
|
|
57
|
+
* wait for.
|
|
58
|
+
*/
|
|
59
|
+
export interface V3InputRef {
|
|
60
|
+
/** Upstream nodeId whose manifest files become this node's inputs. */
|
|
61
|
+
from: string;
|
|
62
|
+
/** P3 per-file selector: pull ONE named product instead of the whole
|
|
63
|
+
* manifest. Exactly one of `name` (manifest logical name) / `path`
|
|
64
|
+
* (manifest relative path) when present. A selector that matches nothing
|
|
65
|
+
* at dispatch time is surfaced to the agent via `GoalInputs.omitted`
|
|
66
|
+
* (reason 'selectorMiss') — absence reads as a contract gap, not silence. */
|
|
67
|
+
select?: {
|
|
68
|
+
name?: string;
|
|
69
|
+
path?: string;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* A normalized incoming edge (edge-activation design 2026-06-06 §1.1).
|
|
74
|
+
* Authored as either a plain string (`"build"`) or an object
|
|
75
|
+
* (`{ "from": "review", "when": {...} }`); validateDag normalizes both to this
|
|
76
|
+
* shape. No `when` = unconditional (source `done` ⇒ active). With `when`,
|
|
77
|
+
* the edge's activation is decided ONCE by the runtime reading the source's
|
|
78
|
+
* `result.json` and journaled as `edgeResolved` — never re-read afterwards.
|
|
79
|
+
*
|
|
80
|
+
* `from` values are deduped per node: P0 supports at most ONE edge per
|
|
81
|
+
* (from, to) pair, so `(from, to)` is a stable idempotency key for
|
|
82
|
+
* `edgeResolved`. Express OR over outcomes inside the source's structured
|
|
83
|
+
* result instead of authoring parallel conditional edges.
|
|
84
|
+
*/
|
|
85
|
+
export interface V3DependRef {
|
|
86
|
+
from: string;
|
|
87
|
+
/** Predicate over the SOURCE node's structured result — same shape and
|
|
88
|
+
* validation as a loop exit predicate (`result.<key>` + exactly one
|
|
89
|
+
* comparison operator, declared + required + type-compatible). */
|
|
90
|
+
when?: V3EdgeWhen;
|
|
91
|
+
}
|
|
92
|
+
/** Edge predicates reuse the loop-exit predicate shape verbatim. */
|
|
93
|
+
export type V3EdgeWhen = V3LoopExitWhen;
|
|
94
|
+
/**
|
|
95
|
+
* Join semantics over a node's incoming edges (design §1.2). Evaluated ONCE,
|
|
96
|
+
* only after every incoming edge has settled (source done/skipped and any
|
|
97
|
+
* predicate journaled) — no early release, no loser cancellation in P0.
|
|
98
|
+
*/
|
|
99
|
+
export type V3TriggerRule = 'all_success' | 'one_success' | {
|
|
100
|
+
quorum: number;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Per-node capability override (P2, edge-activation follow-up). Merged onto
|
|
104
|
+
* the bot's frozen `BotSnapshot` at dispatch time — the node can RESTRICT or
|
|
105
|
+
* redirect, never escalate:
|
|
106
|
+
* - `model` picks a different model for THIS node (cost control: cheap
|
|
107
|
+
* models for research nodes, strong models for code nodes);
|
|
108
|
+
* - `permissionMode:'restricted'` forces the CLI's permission bypass OFF for
|
|
109
|
+
* this node. There is deliberately NO 'bypass' value — a node on a
|
|
110
|
+
* restricted bot cannot grant itself what the bot does not have (the
|
|
111
|
+
* no-escalation red line is structural, not a runtime check);
|
|
112
|
+
* - `systemPromptAppend` adds node-specific instructions to the goal file.
|
|
113
|
+
* `toolsSubset` is deferred — it needs a per-CLI capability matrix across the
|
|
114
|
+
* daemon init/worker/adapter chain (P2b).
|
|
115
|
+
*/
|
|
116
|
+
export interface V3CapabilityOverride {
|
|
117
|
+
model?: string;
|
|
118
|
+
permissionMode?: 'inherit' | 'restricted';
|
|
119
|
+
systemPromptAppend?: string;
|
|
120
|
+
}
|
|
121
|
+
export declare const MAX_OVERRIDE_MODEL_LENGTH = 64;
|
|
122
|
+
export declare const MAX_OVERRIDE_SYSTEM_PROMPT_APPEND = 8000;
|
|
123
|
+
/**
|
|
124
|
+
* Opt-in structured-output contract — a deliberately TINY subset of
|
|
125
|
+
* JSON-Schema (flat object, primitive-typed properties, optional required
|
|
126
|
+
* list). Hand-validated (no deps, repo style); anything outside the subset
|
|
127
|
+
* is rejected at validateDag time so the architect can never author a schema
|
|
128
|
+
* the runtime's validator cannot execute.
|
|
129
|
+
*
|
|
130
|
+
* NOT supported (first slice): nested schemas, array item types, patterns.
|
|
131
|
+
* `type:'array'|'object'` properties validate the TOP-LEVEL type only.
|
|
132
|
+
* `enum` is supported on STRING properties only (edge-activation design §1.3)
|
|
133
|
+
* — it is the decision-vocabulary anchor for edge predicates: validateDag
|
|
134
|
+
* cross-checks `equals`/`notEquals` operands against the source field's enum,
|
|
135
|
+
* so a typo'd decision value fails at validate time, not at runtime.
|
|
136
|
+
*/
|
|
137
|
+
export interface V3ResultSchema {
|
|
138
|
+
type: 'object';
|
|
139
|
+
properties: Record<string, {
|
|
140
|
+
type: V3ResultFieldType;
|
|
141
|
+
enum?: string[];
|
|
142
|
+
}>;
|
|
143
|
+
required?: string[];
|
|
144
|
+
}
|
|
145
|
+
export type V3ResultFieldType = 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
146
|
+
/** Caps on the resultSchema subset (anti-runaway: a giant schema bloats the
|
|
147
|
+
* goal prompt and the validator). Checked at validateDag time. */
|
|
148
|
+
export declare const RESULT_SCHEMA_MAX_PROPERTIES = 32;
|
|
149
|
+
export declare const RESULT_SCHEMA_MAX_BYTES = 4096;
|
|
150
|
+
/** Caps on a string property's `enum` (anti prompt-bloat; counted inside the
|
|
151
|
+
* 4KB schema budget like everything else). */
|
|
152
|
+
export declare const RESULT_ENUM_MAX_VALUES = 16;
|
|
153
|
+
export declare const RESULT_ENUM_MAX_VALUE_LENGTH = 64;
|
|
154
|
+
/** Backstop ceiling for `maxIterations` — like the timeout cap, it rejects a
|
|
155
|
+
* runaway budget the architect might hallucinate; a human can still grant
|
|
156
|
+
* extra iterations one at a time once the loop blocks. */
|
|
157
|
+
export declare const MAX_LOOP_ITERATIONS = 20;
|
|
158
|
+
/** Cross-node revisit budgets (anti-infinite-loop). Two tiers:
|
|
159
|
+
* - PER-PAIR (source→target): how many times one node may revisit one ancestor
|
|
160
|
+
* before the run blocks — default 1 (a node sends each ancestor back once;
|
|
161
|
+
* expected multi-round rework belongs in a structured loop, not ad-hoc
|
|
162
|
+
* revisit). Pinpoints which edge is ping-ponging.
|
|
163
|
+
* - PER-RUN: total revisits across the whole run — a generous backstop so many
|
|
164
|
+
* distinct pairs (or many nodes revisiting) can't run away.
|
|
165
|
+
* Exhaustion blocks the run; a human grants +1 (revisitBudgetGranted). */
|
|
166
|
+
export declare const DEFAULT_REVISIT_BUDGET_PER_PAIR = 1;
|
|
167
|
+
export declare const DEFAULT_REVISIT_BUDGET_PER_RUN = 8;
|
|
168
|
+
/**
|
|
169
|
+
* Exit predicate over the exit node's structured result. Deliberately tiny:
|
|
170
|
+
* `path` is fixed to `result.<key>` (the resultSchema subset is flat, so there
|
|
171
|
+
* is nothing deeper to address) and exactly ONE comparison operator must be
|
|
172
|
+
* set. validateDag cross-checks the key against the exit node's resultSchema
|
|
173
|
+
* (declared AND required, operator type-compatible), so "field missing at
|
|
174
|
+
* runtime" is a validate-time impossibility, not a runtime branch.
|
|
175
|
+
*
|
|
176
|
+
* No `continue.when` counterpart — when the predicate does not match, the loop
|
|
177
|
+
* implicitly continues (until maxIterations). Two independent predicates
|
|
178
|
+
* would create undefined both-match / neither-match states.
|
|
179
|
+
*/
|
|
180
|
+
export interface V3LoopExitWhen {
|
|
181
|
+
/** `result.<key>` — a key of the exit node's resultSchema. */
|
|
182
|
+
path: string;
|
|
183
|
+
equals?: string | number | boolean;
|
|
184
|
+
notEquals?: string | number | boolean;
|
|
185
|
+
gt?: number;
|
|
186
|
+
gte?: number;
|
|
187
|
+
lt?: number;
|
|
188
|
+
lte?: number;
|
|
189
|
+
}
|
|
190
|
+
export interface V3LoopExit {
|
|
191
|
+
/** Body nodeId whose structured result decides the loop's exit. */
|
|
192
|
+
node: string;
|
|
193
|
+
when: V3LoopExitWhen;
|
|
194
|
+
}
|
|
195
|
+
/** Which body node's final-iteration manifest is the loop's outward product
|
|
196
|
+
* (what downstream `inputs: [{from: <loopId>}]` reads). Defaults to the
|
|
197
|
+
* exit node, but a repair loop usually exports the WORKER's product (`code`),
|
|
198
|
+
* not the gate's (`test`). */
|
|
199
|
+
export interface V3LoopOutput {
|
|
200
|
+
from: string;
|
|
201
|
+
}
|
|
202
|
+
export interface V3Node {
|
|
203
|
+
/** Unique within the DAG; also used as a runDir path segment, so it is
|
|
204
|
+
* constrained to `[A-Za-z0-9._-]`. */
|
|
205
|
+
id: string;
|
|
206
|
+
type: V3NodeType;
|
|
207
|
+
/** Required + non-empty for `goal` nodes; the single-sentence objective. */
|
|
208
|
+
goal?: string;
|
|
209
|
+
/** Which bot/CLI runs this node. MVP dogfoods a single CLI, but the field
|
|
210
|
+
* is per-node so a mixed-backend DAG is a non-breaking extension. */
|
|
211
|
+
bot?: string;
|
|
212
|
+
/** Normalized incoming edges. Authored as `string | {from, when?}`;
|
|
213
|
+
* validateDag normalizes to `V3DependRef[]` (edge-activation design §1.1).
|
|
214
|
+
* Unconditional edges gate on source `done`; `when` edges additionally
|
|
215
|
+
* gate on the journaled `edgeResolved` verdict. */
|
|
216
|
+
depends: V3DependRef[];
|
|
217
|
+
/** Join semantics over incoming edges; defaults to 'all_success' (exactly
|
|
218
|
+
* today's behavior). Only meaningful on nodes with ≥1 incoming edge. */
|
|
219
|
+
triggerRule?: V3TriggerRule;
|
|
220
|
+
/** Per-node capability override (restrict/redirect only — see
|
|
221
|
+
* V3CapabilityOverride). Goal nodes (incl. loop body nodes) only; a loop
|
|
222
|
+
* composite never spawns a worker, so it rejects this field. */
|
|
223
|
+
override?: V3CapabilityOverride;
|
|
224
|
+
/** Upstream products to thread in as inputs (every `from` ⊆ `depends`). */
|
|
225
|
+
inputs: V3InputRef[];
|
|
226
|
+
/** Wall-clock budget in seconds; falls back to DEFAULT_NODE_TIMEOUT_SEC. */
|
|
227
|
+
timeoutSec?: number;
|
|
228
|
+
/** Optional human approval gate, evaluated *before* the node's work runs. */
|
|
229
|
+
humanGate?: V3HumanGate | null;
|
|
230
|
+
/** Opt-in structured-output contract: when set, the node must write a
|
|
231
|
+
* `result.json` (listed in its manifest files) matching this schema; a
|
|
232
|
+
* violation blocks (not fails) the node. Absent → zero behavior change. */
|
|
233
|
+
resultSchema?: V3ResultSchema;
|
|
234
|
+
/** Definition-level revisit exits (cross-node回溯). When this node's
|
|
235
|
+
* `result.json` returns `{ "status": "revisit", "revisitTo": "<A>" }`, the
|
|
236
|
+
* runtime may revisit ancestor node `<A>` — but ONLY if `<A>` is listed
|
|
237
|
+
* here. Default (absent / empty) = the node cannot revisit anything.
|
|
238
|
+
* validateDag enforces every entry is an ANCESTOR (transitive `depends`),
|
|
239
|
+
* so a revisit can never create a forward jump or a cycle in the run. */
|
|
240
|
+
revisitTo?: string[];
|
|
241
|
+
/** Hard iteration bound; the loop blocks (recoverable, human can grant +1)
|
|
242
|
+
* when it is exhausted without the exit predicate matching. */
|
|
243
|
+
maxIterations?: number;
|
|
244
|
+
/** The per-iteration sub-pipeline. Goal nodes only — no nesting, no
|
|
245
|
+
* humanGate inside a body (both first-cut restrictions). */
|
|
246
|
+
body?: {
|
|
247
|
+
nodes: V3Node[];
|
|
248
|
+
};
|
|
249
|
+
/** Structured exit condition; not matching ⇒ implicit continue. */
|
|
250
|
+
exit?: V3LoopExit;
|
|
251
|
+
/** Previous-iteration products threaded into the NEXT iteration's inputs.
|
|
252
|
+
* Entries are `<bodyId>.result` | `<bodyId>.files` | `<bodyId>.manifest`. */
|
|
253
|
+
feedback?: string[];
|
|
254
|
+
/** Outward product projection (defaults to exit.node). */
|
|
255
|
+
output?: V3LoopOutput;
|
|
256
|
+
/** Only supported value (and the default): 'blocked'. */
|
|
257
|
+
onExhausted?: 'blocked';
|
|
258
|
+
/** Only supported value (and the default): 'fresh' — every iteration's every
|
|
259
|
+
* body node runs a fresh ephemeral worker. `resumeWithinLoop` is deferred. */
|
|
260
|
+
sessionPolicy?: 'fresh';
|
|
261
|
+
}
|
|
262
|
+
/** A `V3Node` narrowed to a goal node — `goal` is guaranteed present. This is
|
|
263
|
+
* what crosses into `runNode` (the pool only ever runs goal nodes in MVP). */
|
|
264
|
+
export interface V3GoalNode extends V3Node {
|
|
265
|
+
type: 'goal';
|
|
266
|
+
goal: string;
|
|
267
|
+
}
|
|
268
|
+
/** Narrowing guard: a validated goal node always has a non-empty `goal`. */
|
|
269
|
+
export declare function isGoalNode(node: V3Node): node is V3GoalNode;
|
|
270
|
+
/** A `V3Node` narrowed to a loop node — validateDag guarantees every loop
|
|
271
|
+
* field is present and normalized (output defaulted to exit.node, feedback
|
|
272
|
+
* defaulted to `[]`). */
|
|
273
|
+
export interface V3LoopNode extends V3Node {
|
|
274
|
+
type: 'loop';
|
|
275
|
+
maxIterations: number;
|
|
276
|
+
body: {
|
|
277
|
+
nodes: V3Node[];
|
|
278
|
+
};
|
|
279
|
+
exit: V3LoopExit;
|
|
280
|
+
feedback: string[];
|
|
281
|
+
output: V3LoopOutput;
|
|
282
|
+
}
|
|
283
|
+
/** Narrowing guard for validated loop nodes. */
|
|
284
|
+
export declare function isLoopNode(node: V3Node): node is V3LoopNode;
|
|
285
|
+
/**
|
|
286
|
+
* The expanded id a body node instance runs under in iteration N:
|
|
287
|
+
* `repairLoop.i001.code`. Path-safe by construction (loopId/bodyId are
|
|
288
|
+
* SEGMENT_RE, `.` is in the charset) and free of the `:` the blocked-card
|
|
289
|
+
* nonce uses as a separator. OPAQUE — never parse this string back; journal
|
|
290
|
+
* events carry a structured `loop: {loopId, iteration, bodyNodeId}` instead.
|
|
291
|
+
*/
|
|
292
|
+
export declare function loopInstanceId(loopId: string, iteration: number, bodyNodeId: string): string;
|
|
293
|
+
export interface V3Dag {
|
|
294
|
+
/** Stable id for this run; used as the runDir name, so path-segment safe. */
|
|
295
|
+
runId: string;
|
|
296
|
+
nodes: V3Node[];
|
|
297
|
+
}
|
|
298
|
+
/** Thrown by `validateDag` / `loadDag` with every problem found, not just the
|
|
299
|
+
* first — authoring a DAG by hand is iterative, so surface the full list. */
|
|
300
|
+
export declare class DagValidationError extends Error {
|
|
301
|
+
readonly problems: string[];
|
|
302
|
+
constructor(problems: string[]);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Validate an untrusted parsed value into a `V3Dag`. Pure — throws
|
|
306
|
+
* `DagValidationError` with the full problem list on any violation, otherwise
|
|
307
|
+
* returns a normalized dag (defaults filled, `humanGate: undefined` → `null`).
|
|
308
|
+
*
|
|
309
|
+
* Checks: runId shape; non-empty unique path-safe node ids; known `type`;
|
|
310
|
+
* `goal` non-empty for goal nodes; `host` rejected (executor not yet built);
|
|
311
|
+
* `depends` reference existing nodes, no self-dep, no dup `from` (P0: one
|
|
312
|
+
* edge per (from,to)); edge predicates validated against the SOURCE's
|
|
313
|
+
* resultSchema (goal-with-schema sources only); `triggerRule` shape/bounds;
|
|
314
|
+
* `inputs.from` reference existing nodes AND appear in `depends`; acyclic
|
|
315
|
+
* (delegated to `topologicalOrder`, conditional edges included).
|
|
316
|
+
*/
|
|
317
|
+
export declare function validateDag(raw: unknown): V3Dag;
|
|
318
|
+
/** Read + JSON.parse + validate a `dag.json` at `path`. Throws
|
|
319
|
+
* `DagValidationError` on a malformed graph and a plain `Error` on read /
|
|
320
|
+
* parse failure (so callers can distinguish "bad file" from "bad graph"). */
|
|
321
|
+
export declare function loadDag(path: string): V3Dag;
|
|
322
|
+
/**
|
|
323
|
+
* Deterministic topological order via Kahn's algorithm. Ties (nodes with the
|
|
324
|
+
* same remaining in-degree available at once) are broken by ascending id so
|
|
325
|
+
* the schedule is stable across runs — important for reproducible journals.
|
|
326
|
+
* Throws if the graph contains a cycle (lists the offending nodes).
|
|
327
|
+
*
|
|
328
|
+
* Assumes `depends` already reference existing nodes; `validateDag` enforces
|
|
329
|
+
* that before calling here.
|
|
330
|
+
*/
|
|
331
|
+
export declare function topologicalOrder(dag: V3Dag): string[];
|
|
332
|
+
//# sourceMappingURL=dag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../../src/workflows/v3/dag.ts"],"names":[],"mappings":"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"}
|