botmux 2.33.0 → 2.34.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/README.en.md +12 -1
- package/README.md +45 -1
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +11 -0
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/cli/bots-list-output.d.ts +21 -0
- package/dist/cli/bots-list-output.d.ts.map +1 -0
- package/dist/cli/bots-list-output.js +23 -0
- package/dist/cli/bots-list-output.js.map +1 -0
- package/dist/cli/workflow.d.ts +13 -0
- package/dist/cli/workflow.d.ts.map +1 -0
- package/dist/cli/workflow.js +781 -0
- package/dist/cli/workflow.js.map +1 -0
- package/dist/cli.js +69 -14
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +219 -6
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/session-manager.d.ts +6 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +22 -12
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/worker-pool.d.ts +13 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +100 -6
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +884 -3
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/auth.d.ts +36 -0
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +22 -0
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/web/app.js +20 -1
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +356 -0
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/workflow-catalog.d.ts +2 -0
- package/dist/dashboard/web/workflow-catalog.d.ts.map +1 -0
- package/dist/dashboard/web/workflow-catalog.js +323 -0
- package/dist/dashboard/web/workflow-catalog.js.map +1 -0
- package/dist/dashboard/web/workflows.d.ts +2 -0
- package/dist/dashboard/web/workflows.d.ts.map +1 -0
- package/dist/dashboard/web/workflows.js +1618 -0
- package/dist/dashboard/web/workflows.js.map +1 -0
- package/dist/dashboard/workflow-api.d.ts +23 -0
- package/dist/dashboard/workflow-api.d.ts.map +1 -0
- package/dist/dashboard/workflow-api.js +463 -0
- package/dist/dashboard/workflow-api.js.map +1 -0
- package/dist/dashboard-web/app.js +494 -199
- package/dist/dashboard-web/index.html +1 -0
- package/dist/dashboard-web/style.css +160 -6
- package/dist/dashboard-web/terminal-replay.html +227 -0
- package/dist/dashboard.js +29 -12
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +12 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +12 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts +3 -0
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +27 -1
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +19 -2
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +21 -2
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/workflow-card-handler.d.ts +50 -0
- package/dist/im/lark/workflow-card-handler.d.ts.map +1 -0
- package/dist/im/lark/workflow-card-handler.js +152 -0
- package/dist/im/lark/workflow-card-handler.js.map +1 -0
- package/dist/im/lark/workflow-cards.d.ts +46 -0
- package/dist/im/lark/workflow-cards.d.ts.map +1 -0
- package/dist/im/lark/workflow-cards.js +226 -0
- package/dist/im/lark/workflow-cards.js.map +1 -0
- package/dist/im/lark/workflow-progress-card.d.ts +76 -0
- package/dist/im/lark/workflow-progress-card.d.ts.map +1 -0
- package/dist/im/lark/workflow-progress-card.js +279 -0
- package/dist/im/lark/workflow-progress-card.js.map +1 -0
- package/dist/im/lark/workflow-slash-command.d.ts +92 -0
- package/dist/im/lark/workflow-slash-command.d.ts.map +1 -0
- package/dist/im/lark/workflow-slash-command.js +185 -0
- package/dist/im/lark/workflow-slash-command.js.map +1 -0
- package/dist/services/group-creator.d.ts.map +1 -1
- package/dist/services/group-creator.js +17 -4
- package/dist/services/group-creator.js.map +1 -1
- package/dist/services/groups-store.d.ts +11 -0
- package/dist/services/groups-store.d.ts.map +1 -1
- package/dist/services/groups-store.js +26 -0
- package/dist/services/groups-store.js.map +1 -1
- package/dist/services/jsonl-cursor.d.ts +12 -0
- package/dist/services/jsonl-cursor.d.ts.map +1 -0
- package/dist/services/jsonl-cursor.js +45 -0
- package/dist/services/jsonl-cursor.js.map +1 -0
- package/dist/services/schedule-store.d.ts +35 -0
- package/dist/services/schedule-store.d.ts.map +1 -1
- package/dist/services/schedule-store.js +108 -1
- package/dist/services/schedule-store.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +399 -0
- package/dist/skills/definitions.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/cli-usage-limit.d.ts.map +1 -1
- package/dist/utils/cli-usage-limit.js +4 -0
- package/dist/utils/cli-usage-limit.js.map +1 -1
- package/dist/worker.js +118 -14
- package/dist/worker.js.map +1 -1
- package/dist/workflows/attempt-resume.d.ts +114 -0
- package/dist/workflows/attempt-resume.d.ts.map +1 -0
- package/dist/workflows/attempt-resume.js +385 -0
- package/dist/workflows/attempt-resume.js.map +1 -0
- package/dist/workflows/attempt-terminal.d.ts +21 -0
- package/dist/workflows/attempt-terminal.d.ts.map +1 -0
- package/dist/workflows/attempt-terminal.js +7 -0
- package/dist/workflows/attempt-terminal.js.map +1 -0
- package/dist/workflows/blob.d.ts +27 -0
- package/dist/workflows/blob.d.ts.map +1 -0
- package/dist/workflows/blob.js +39 -0
- package/dist/workflows/blob.js.map +1 -0
- package/dist/workflows/cancel-run.d.ts +45 -0
- package/dist/workflows/cancel-run.d.ts.map +1 -0
- package/dist/workflows/cancel-run.js +99 -0
- package/dist/workflows/cancel-run.js.map +1 -0
- package/dist/workflows/cancel.d.ts +111 -0
- package/dist/workflows/cancel.d.ts.map +1 -0
- package/dist/workflows/cancel.js +120 -0
- package/dist/workflows/cancel.js.map +1 -0
- package/dist/workflows/catalog.d.ts +60 -0
- package/dist/workflows/catalog.d.ts.map +1 -0
- package/dist/workflows/catalog.js +119 -0
- package/dist/workflows/catalog.js.map +1 -0
- package/dist/workflows/cold-attach.d.ts +30 -0
- package/dist/workflows/cold-attach.d.ts.map +1 -0
- package/dist/workflows/cold-attach.js +40 -0
- package/dist/workflows/cold-attach.js.map +1 -0
- package/dist/workflows/cold-scan.d.ts +21 -0
- package/dist/workflows/cold-scan.d.ts.map +1 -0
- package/dist/workflows/cold-scan.js +70 -0
- package/dist/workflows/cold-scan.js.map +1 -0
- package/dist/workflows/daemon-spawn.d.ts +117 -0
- package/dist/workflows/daemon-spawn.d.ts.map +1 -0
- package/dist/workflows/daemon-spawn.js +551 -0
- package/dist/workflows/daemon-spawn.js.map +1 -0
- package/dist/workflows/definition.d.ts +1309 -0
- package/dist/workflows/definition.d.ts.map +1 -0
- package/dist/workflows/definition.js +334 -0
- package/dist/workflows/definition.js.map +1 -0
- package/dist/workflows/effect-input.d.ts +4 -0
- package/dist/workflows/effect-input.d.ts.map +1 -0
- package/dist/workflows/effect-input.js +18 -0
- package/dist/workflows/effect-input.js.map +1 -0
- package/dist/workflows/events/append.d.ts +77 -0
- package/dist/workflows/events/append.d.ts.map +1 -0
- package/dist/workflows/events/append.js +214 -0
- package/dist/workflows/events/append.js.map +1 -0
- package/dist/workflows/events/idempotency.d.ts +77 -0
- package/dist/workflows/events/idempotency.d.ts.map +1 -0
- package/dist/workflows/events/idempotency.js +116 -0
- package/dist/workflows/events/idempotency.js.map +1 -0
- package/dist/workflows/events/index.d.ts +7 -0
- package/dist/workflows/events/index.d.ts.map +1 -0
- package/dist/workflows/events/index.js +7 -0
- package/dist/workflows/events/index.js.map +1 -0
- package/dist/workflows/events/payloads.d.ts +917 -0
- package/dist/workflows/events/payloads.d.ts.map +1 -0
- package/dist/workflows/events/payloads.js +337 -0
- package/dist/workflows/events/payloads.js.map +1 -0
- package/dist/workflows/events/replay.d.ts +238 -0
- package/dist/workflows/events/replay.d.ts.map +1 -0
- package/dist/workflows/events/replay.js +608 -0
- package/dist/workflows/events/replay.js.map +1 -0
- package/dist/workflows/events/schema.d.ts +5242 -0
- package/dist/workflows/events/schema.d.ts.map +1 -0
- package/dist/workflows/events/schema.js +295 -0
- package/dist/workflows/events/schema.js.map +1 -0
- package/dist/workflows/events/types.d.ts +34 -0
- package/dist/workflows/events/types.d.ts.map +1 -0
- package/dist/workflows/events/types.js +2 -0
- package/dist/workflows/events/types.js.map +1 -0
- package/dist/workflows/fanout.d.ts +36 -0
- package/dist/workflows/fanout.d.ts.map +1 -0
- package/dist/workflows/fanout.js +114 -0
- package/dist/workflows/fanout.js.map +1 -0
- package/dist/workflows/hostExecutors/botmux-schedule.d.ts +41 -0
- package/dist/workflows/hostExecutors/botmux-schedule.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/botmux-schedule.js +121 -0
- package/dist/workflows/hostExecutors/botmux-schedule.js.map +1 -0
- package/dist/workflows/hostExecutors/feishu-im.d.ts +12 -0
- package/dist/workflows/hostExecutors/feishu-im.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/feishu-im.js +49 -0
- package/dist/workflows/hostExecutors/feishu-im.js.map +1 -0
- package/dist/workflows/hostExecutors/feishu-reply.d.ts +24 -0
- package/dist/workflows/hostExecutors/feishu-reply.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/feishu-reply.js +88 -0
- package/dist/workflows/hostExecutors/feishu-reply.js.map +1 -0
- package/dist/workflows/hostExecutors/feishu-send.d.ts +23 -0
- package/dist/workflows/hostExecutors/feishu-send.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/feishu-send.js +124 -0
- package/dist/workflows/hostExecutors/feishu-send.js.map +1 -0
- package/dist/workflows/hostExecutors/index.d.ts +8 -0
- package/dist/workflows/hostExecutors/index.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/index.js +8 -0
- package/dist/workflows/hostExecutors/index.js.map +1 -0
- package/dist/workflows/hostExecutors/protocol.d.ts +42 -0
- package/dist/workflows/hostExecutors/protocol.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/protocol.js +181 -0
- package/dist/workflows/hostExecutors/protocol.js.map +1 -0
- package/dist/workflows/hostExecutors/registry.d.ts +10 -0
- package/dist/workflows/hostExecutors/registry.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/registry.js +36 -0
- package/dist/workflows/hostExecutors/registry.js.map +1 -0
- package/dist/workflows/hostExecutors/types.d.ts +78 -0
- package/dist/workflows/hostExecutors/types.d.ts.map +1 -0
- package/dist/workflows/hostExecutors/types.js +2 -0
- package/dist/workflows/hostExecutors/types.js.map +1 -0
- package/dist/workflows/loader.d.ts +16 -0
- package/dist/workflows/loader.d.ts.map +1 -0
- package/dist/workflows/loader.js +56 -0
- package/dist/workflows/loader.js.map +1 -0
- package/dist/workflows/loop.d.ts +50 -0
- package/dist/workflows/loop.d.ts.map +1 -0
- package/dist/workflows/loop.js +350 -0
- package/dist/workflows/loop.js.map +1 -0
- package/dist/workflows/ops-projection.d.ts +168 -0
- package/dist/workflows/ops-projection.d.ts.map +1 -0
- package/dist/workflows/ops-projection.js +707 -0
- package/dist/workflows/ops-projection.js.map +1 -0
- package/dist/workflows/orchestrator.d.ts +107 -0
- package/dist/workflows/orchestrator.d.ts.map +1 -0
- package/dist/workflows/orchestrator.js +197 -0
- package/dist/workflows/orchestrator.js.map +1 -0
- package/dist/workflows/output-binding.d.ts +70 -0
- package/dist/workflows/output-binding.d.ts.map +1 -0
- package/dist/workflows/output-binding.js +265 -0
- package/dist/workflows/output-binding.js.map +1 -0
- package/dist/workflows/params.d.ts +61 -0
- package/dist/workflows/params.d.ts.map +1 -0
- package/dist/workflows/params.js +195 -0
- package/dist/workflows/params.js.map +1 -0
- package/dist/workflows/resume.d.ts +263 -0
- package/dist/workflows/resume.d.ts.map +1 -0
- package/dist/workflows/resume.js +808 -0
- package/dist/workflows/resume.js.map +1 -0
- package/dist/workflows/run-id.d.ts +2 -0
- package/dist/workflows/run-id.d.ts.map +1 -0
- package/dist/workflows/run-id.js +7 -0
- package/dist/workflows/run-id.js.map +1 -0
- package/dist/workflows/run-init.d.ts +48 -0
- package/dist/workflows/run-init.d.ts.map +1 -0
- package/dist/workflows/run-init.js +99 -0
- package/dist/workflows/run-init.js.map +1 -0
- package/dist/workflows/runs-dir.d.ts +4 -0
- package/dist/workflows/runs-dir.d.ts.map +1 -0
- package/dist/workflows/runs-dir.js +15 -0
- package/dist/workflows/runs-dir.js.map +1 -0
- package/dist/workflows/runtime.d.ts +211 -0
- package/dist/workflows/runtime.d.ts.map +1 -0
- package/dist/workflows/runtime.js +594 -0
- package/dist/workflows/runtime.js.map +1 -0
- package/dist/workflows/spawn-bot.d.ts +165 -0
- package/dist/workflows/spawn-bot.d.ts.map +1 -0
- package/dist/workflows/spawn-bot.js +215 -0
- package/dist/workflows/spawn-bot.js.map +1 -0
- package/dist/workflows/system.d.ts +49 -0
- package/dist/workflows/system.d.ts.map +1 -0
- package/dist/workflows/system.js +48 -0
- package/dist/workflows/system.js.map +1 -0
- package/dist/workflows/trigger-run.d.ts +70 -0
- package/dist/workflows/trigger-run.d.ts.map +1 -0
- package/dist/workflows/trigger-run.js +88 -0
- package/dist/workflows/trigger-run.js.map +1 -0
- package/dist/workflows/wait.d.ts +120 -0
- package/dist/workflows/wait.d.ts.map +1 -0
- package/dist/workflows/wait.js +181 -0
- package/dist/workflows/wait.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-run.js","sourceRoot":"","sources":["../../src/workflows/trigger-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wait / human-gate host API (events doc v0.1.2 §2.4, Step 8 of 10).
|
|
3
|
+
*
|
|
4
|
+
* Three operations:
|
|
5
|
+
* - `createWait` — declares a wait activity; writes `waitCreated`.
|
|
6
|
+
* - `resolveWait` — closes a wait by external decision; writes
|
|
7
|
+
* `waitResolved` + activity terminal.
|
|
8
|
+
* - `expireWait` — closes a wait by deadline; writes
|
|
9
|
+
* `waitDeadlineExceeded` + activity terminal.
|
|
10
|
+
*
|
|
11
|
+
* Spec contract (§2.4):
|
|
12
|
+
* - `waitResolved` is NOT a terminal event; activity terminal follows.
|
|
13
|
+
* - `approved` resolution → `activitySucceeded`.
|
|
14
|
+
* - `rejected` resolution → `activityFailed { WaitDeadlineExceeded?, userFault }`.
|
|
15
|
+
* Per spec the errorCode for rejection isn't explicitly enumerated;
|
|
16
|
+
* v0 picks `userFault` class with a reusable code so dashboards can
|
|
17
|
+
* filter. We use `InputValidationFailed` — closest fit from the
|
|
18
|
+
* existing enum (rejection is "input not accepted").
|
|
19
|
+
* - `external` resolution → `activitySucceeded` with the resolution
|
|
20
|
+
* reflected in `externalRefs.resolution = 'external'`.
|
|
21
|
+
* - `waitDeadlineExceeded` → either `activityFailed` ({WaitDeadlineExceeded,
|
|
22
|
+
* userFault}) when `onTimeout='fail'` (default), or
|
|
23
|
+
* `activitySucceeded { externalRefs.defaultedToTimeout=true }` when
|
|
24
|
+
* `onTimeout='success'` (spec §6 open Q7 resolved at Step 8).
|
|
25
|
+
*
|
|
26
|
+
* Step 8 does NOT:
|
|
27
|
+
* - schedule deadline timers (caller wires them up; we just write the
|
|
28
|
+
* event when the timer fires);
|
|
29
|
+
* - implement cancel propagation (Step 9).
|
|
30
|
+
*/
|
|
31
|
+
import type { EventLog } from './events/append.js';
|
|
32
|
+
import type { OutputRef } from './events/payloads.js';
|
|
33
|
+
import type { ActivityFailedEvent, ActivitySucceededEvent, WaitCreatedEvent, WaitDeadlineExceededEvent, WaitResolvedEvent } from './events/types.js';
|
|
34
|
+
export type WaitKind = 'human-gate' | 'time' | 'condition';
|
|
35
|
+
export type WaitResolution = 'approved' | 'rejected' | 'external';
|
|
36
|
+
export type WaitOnTimeout = 'fail' | 'success';
|
|
37
|
+
export type CreateWaitInput = {
|
|
38
|
+
activityId: string;
|
|
39
|
+
attemptId: string;
|
|
40
|
+
nodeId: string;
|
|
41
|
+
waitKind: WaitKind;
|
|
42
|
+
/** Wall-clock ms epoch. Required for `time` kind, optional otherwise. */
|
|
43
|
+
deadlineAt?: number;
|
|
44
|
+
/** Human-readable prompt (rendered to approvers / dashboards). Small
|
|
45
|
+
* prompts go here inline; large ones spill to `promptRef` per
|
|
46
|
+
* `checkWaitCreatedPromptInvariant` (mutually exclusive). */
|
|
47
|
+
prompt?: string;
|
|
48
|
+
/** Blob spill for prompts that don't fit in the inline envelope.
|
|
49
|
+
* Consumers (card-builder / dashboard) read the blob on demand;
|
|
50
|
+
* replay never touches it. */
|
|
51
|
+
promptRef?: OutputRef;
|
|
52
|
+
/** Required short preview when `promptRef` is set so cards / dashboards
|
|
53
|
+
* can render without reading the blob. Up to 500 chars (schema cap);
|
|
54
|
+
* producer is responsible for keeping bytes reasonable for UTF-8. */
|
|
55
|
+
promptPreview?: string;
|
|
56
|
+
/** Optional open_id allow list for human-gate card actions. */
|
|
57
|
+
approvers?: string[];
|
|
58
|
+
/** What to write as the activity terminal when the deadline fires
|
|
59
|
+
* without resolution. Default `fail` (spec default). */
|
|
60
|
+
onTimeout?: WaitOnTimeout;
|
|
61
|
+
};
|
|
62
|
+
export type ResolveWaitInput = {
|
|
63
|
+
activityId: string;
|
|
64
|
+
attemptId: string;
|
|
65
|
+
resolution: WaitResolution;
|
|
66
|
+
/** Identifier of the resolver — open_id / system actor name. */
|
|
67
|
+
by: string;
|
|
68
|
+
comment?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Extra business output to record in the resulting
|
|
71
|
+
* `activitySucceeded.externalRefs` (only used when the resolution
|
|
72
|
+
* leads to success — approved / external). Ignored for rejected.
|
|
73
|
+
*/
|
|
74
|
+
output?: Record<string, unknown>;
|
|
75
|
+
};
|
|
76
|
+
export type ExpireWaitInput = {
|
|
77
|
+
activityId: string;
|
|
78
|
+
attemptId: string;
|
|
79
|
+
/** Wall-clock ms at which the deadline was scheduled. */
|
|
80
|
+
deadlineAt: number;
|
|
81
|
+
/** Wall-clock ms when the timer actually fired (may be slightly later
|
|
82
|
+
* due to scheduler latency). */
|
|
83
|
+
exceededAtMs: number;
|
|
84
|
+
/** Policy for the resulting activity terminal. Default `fail`. */
|
|
85
|
+
onTimeout?: WaitOnTimeout;
|
|
86
|
+
};
|
|
87
|
+
export type ResolveWaitResult = {
|
|
88
|
+
resolutionEvent: WaitResolvedEvent;
|
|
89
|
+
terminalEvent: ActivitySucceededEvent | ActivityFailedEvent;
|
|
90
|
+
};
|
|
91
|
+
export type ExpireWaitResult = {
|
|
92
|
+
deadlineEvent: WaitDeadlineExceededEvent;
|
|
93
|
+
terminalEvent: ActivitySucceededEvent | ActivityFailedEvent;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Declare a wait activity. Writes `waitCreated`. The caller is
|
|
97
|
+
* responsible for advancing the parent node into `waiting` via
|
|
98
|
+
* `nodeWaiting` (scheduling concern, not host-API).
|
|
99
|
+
*/
|
|
100
|
+
export declare function createWait(log: EventLog, input: CreateWaitInput): Promise<WaitCreatedEvent>;
|
|
101
|
+
/**
|
|
102
|
+
* Close a wait via external decision. Writes `waitResolved` followed
|
|
103
|
+
* by the activity terminal. The terminal mapping is fixed by spec
|
|
104
|
+
* §2.4:
|
|
105
|
+
* - approved → activitySucceeded
|
|
106
|
+
* - rejected → activityFailed { InputValidationFailed, userFault }
|
|
107
|
+
* - external → activitySucceeded { externalRefs.resolution='external' }
|
|
108
|
+
*/
|
|
109
|
+
export declare function resolveWait(log: EventLog, input: ResolveWaitInput): Promise<ResolveWaitResult>;
|
|
110
|
+
/**
|
|
111
|
+
* Close a wait via deadline expiry. Writes `waitDeadlineExceeded`
|
|
112
|
+
* followed by the activity terminal driven by `onTimeout` (default
|
|
113
|
+
* `fail`).
|
|
114
|
+
*
|
|
115
|
+
* The terminal policy:
|
|
116
|
+
* - fail (default) → activityFailed { WaitDeadlineExceeded, userFault }
|
|
117
|
+
* - success → activitySucceeded { externalRefs.defaultedToTimeout=true }
|
|
118
|
+
*/
|
|
119
|
+
export declare function expireWait(log: EventLog, input: ExpireWaitInput): Promise<ExpireWaitResult>;
|
|
120
|
+
//# sourceMappingURL=wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/workflows/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;kEAE8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;mCAE+B;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;0EAEsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;8DAC0D;IAC1D,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,cAAc,CAAC;IAC3B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB;qCACiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,iBAAiB,CAAC;IACnC,aAAa,EAAE,sBAAsB,GAAG,mBAAmB,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,yBAAyB,CAAC;IACzC,aAAa,EAAE,sBAAsB,GAAG,mBAAmB,CAAC;CAC7D,CAAC;AAIF;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAsB3B;AAID;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAsC5B;AAID;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA+B3B"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wait / human-gate host API (events doc v0.1.2 §2.4, Step 8 of 10).
|
|
3
|
+
*
|
|
4
|
+
* Three operations:
|
|
5
|
+
* - `createWait` — declares a wait activity; writes `waitCreated`.
|
|
6
|
+
* - `resolveWait` — closes a wait by external decision; writes
|
|
7
|
+
* `waitResolved` + activity terminal.
|
|
8
|
+
* - `expireWait` — closes a wait by deadline; writes
|
|
9
|
+
* `waitDeadlineExceeded` + activity terminal.
|
|
10
|
+
*
|
|
11
|
+
* Spec contract (§2.4):
|
|
12
|
+
* - `waitResolved` is NOT a terminal event; activity terminal follows.
|
|
13
|
+
* - `approved` resolution → `activitySucceeded`.
|
|
14
|
+
* - `rejected` resolution → `activityFailed { WaitDeadlineExceeded?, userFault }`.
|
|
15
|
+
* Per spec the errorCode for rejection isn't explicitly enumerated;
|
|
16
|
+
* v0 picks `userFault` class with a reusable code so dashboards can
|
|
17
|
+
* filter. We use `InputValidationFailed` — closest fit from the
|
|
18
|
+
* existing enum (rejection is "input not accepted").
|
|
19
|
+
* - `external` resolution → `activitySucceeded` with the resolution
|
|
20
|
+
* reflected in `externalRefs.resolution = 'external'`.
|
|
21
|
+
* - `waitDeadlineExceeded` → either `activityFailed` ({WaitDeadlineExceeded,
|
|
22
|
+
* userFault}) when `onTimeout='fail'` (default), or
|
|
23
|
+
* `activitySucceeded { externalRefs.defaultedToTimeout=true }` when
|
|
24
|
+
* `onTimeout='success'` (spec §6 open Q7 resolved at Step 8).
|
|
25
|
+
*
|
|
26
|
+
* Step 8 does NOT:
|
|
27
|
+
* - schedule deadline timers (caller wires them up; we just write the
|
|
28
|
+
* event when the timer fires);
|
|
29
|
+
* - implement cancel propagation (Step 9).
|
|
30
|
+
*/
|
|
31
|
+
// ─── createWait ────────────────────────────────────────────────────────────
|
|
32
|
+
/**
|
|
33
|
+
* Declare a wait activity. Writes `waitCreated`. The caller is
|
|
34
|
+
* responsible for advancing the parent node into `waiting` via
|
|
35
|
+
* `nodeWaiting` (scheduling concern, not host-API).
|
|
36
|
+
*/
|
|
37
|
+
export async function createWait(log, input) {
|
|
38
|
+
if (input.waitKind === 'time' && input.deadlineAt === undefined) {
|
|
39
|
+
throw new Error(`createWait(${input.activityId}): waitKind='time' requires deadlineAt`);
|
|
40
|
+
}
|
|
41
|
+
return (await log.append({
|
|
42
|
+
runId: log.runId,
|
|
43
|
+
type: 'waitCreated',
|
|
44
|
+
actor: 'scheduler',
|
|
45
|
+
payload: {
|
|
46
|
+
activityId: input.activityId,
|
|
47
|
+
nodeId: input.nodeId,
|
|
48
|
+
waitKind: input.waitKind,
|
|
49
|
+
deadlineAt: input.deadlineAt,
|
|
50
|
+
prompt: input.prompt,
|
|
51
|
+
promptRef: input.promptRef,
|
|
52
|
+
promptPreview: input.promptPreview,
|
|
53
|
+
approvers: input.approvers,
|
|
54
|
+
onTimeout: input.onTimeout,
|
|
55
|
+
},
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
// ─── resolveWait ───────────────────────────────────────────────────────────
|
|
59
|
+
/**
|
|
60
|
+
* Close a wait via external decision. Writes `waitResolved` followed
|
|
61
|
+
* by the activity terminal. The terminal mapping is fixed by spec
|
|
62
|
+
* §2.4:
|
|
63
|
+
* - approved → activitySucceeded
|
|
64
|
+
* - rejected → activityFailed { InputValidationFailed, userFault }
|
|
65
|
+
* - external → activitySucceeded { externalRefs.resolution='external' }
|
|
66
|
+
*/
|
|
67
|
+
export async function resolveWait(log, input) {
|
|
68
|
+
const resolutionEvent = (await log.append({
|
|
69
|
+
runId: log.runId,
|
|
70
|
+
type: 'waitResolved',
|
|
71
|
+
actor: input.resolution === 'external' ? 'system' : 'human',
|
|
72
|
+
payload: {
|
|
73
|
+
activityId: input.activityId,
|
|
74
|
+
resolution: input.resolution,
|
|
75
|
+
by: input.by,
|
|
76
|
+
comment: input.comment,
|
|
77
|
+
},
|
|
78
|
+
}));
|
|
79
|
+
const terminalEvent = await writeWaitTerminal(log, {
|
|
80
|
+
activityId: input.activityId,
|
|
81
|
+
attemptId: input.attemptId,
|
|
82
|
+
kind: input.resolution === 'rejected'
|
|
83
|
+
? {
|
|
84
|
+
tag: 'failed',
|
|
85
|
+
errorCode: 'InputValidationFailed',
|
|
86
|
+
errorClass: 'userFault',
|
|
87
|
+
errorMessage: `Wait resolved with rejected by ${input.by}${input.comment ? `: ${input.comment}` : ''}`,
|
|
88
|
+
}
|
|
89
|
+
: {
|
|
90
|
+
tag: 'succeeded',
|
|
91
|
+
externalRefs: {
|
|
92
|
+
resolution: input.resolution,
|
|
93
|
+
by: input.by,
|
|
94
|
+
...(input.comment ? { comment: input.comment } : {}),
|
|
95
|
+
...(input.output ?? {}),
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
return { resolutionEvent, terminalEvent };
|
|
100
|
+
}
|
|
101
|
+
// ─── expireWait ────────────────────────────────────────────────────────────
|
|
102
|
+
/**
|
|
103
|
+
* Close a wait via deadline expiry. Writes `waitDeadlineExceeded`
|
|
104
|
+
* followed by the activity terminal driven by `onTimeout` (default
|
|
105
|
+
* `fail`).
|
|
106
|
+
*
|
|
107
|
+
* The terminal policy:
|
|
108
|
+
* - fail (default) → activityFailed { WaitDeadlineExceeded, userFault }
|
|
109
|
+
* - success → activitySucceeded { externalRefs.defaultedToTimeout=true }
|
|
110
|
+
*/
|
|
111
|
+
export async function expireWait(log, input) {
|
|
112
|
+
const deadlineEvent = (await log.append({
|
|
113
|
+
runId: log.runId,
|
|
114
|
+
type: 'waitDeadlineExceeded',
|
|
115
|
+
actor: 'scheduler',
|
|
116
|
+
payload: {
|
|
117
|
+
activityId: input.activityId,
|
|
118
|
+
deadlineAt: input.deadlineAt,
|
|
119
|
+
exceededAtMs: input.exceededAtMs,
|
|
120
|
+
},
|
|
121
|
+
}));
|
|
122
|
+
const policy = input.onTimeout ?? 'fail';
|
|
123
|
+
const terminalEvent = await writeWaitTerminal(log, {
|
|
124
|
+
activityId: input.activityId,
|
|
125
|
+
attemptId: input.attemptId,
|
|
126
|
+
kind: policy === 'success'
|
|
127
|
+
? {
|
|
128
|
+
tag: 'succeeded',
|
|
129
|
+
externalRefs: { defaultedToTimeout: true, deadlineAt: input.deadlineAt },
|
|
130
|
+
}
|
|
131
|
+
: {
|
|
132
|
+
tag: 'failed',
|
|
133
|
+
errorCode: 'WaitDeadlineExceeded',
|
|
134
|
+
errorClass: 'userFault',
|
|
135
|
+
errorMessage: `Wait deadline (${input.deadlineAt}) exceeded at ${input.exceededAtMs}`,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
return { deadlineEvent, terminalEvent };
|
|
139
|
+
}
|
|
140
|
+
async function writeWaitTerminal(log, spec) {
|
|
141
|
+
if (spec.kind.tag === 'succeeded') {
|
|
142
|
+
const externalRefs = spec.kind.externalRefs;
|
|
143
|
+
const outputBuf = Buffer.from(JSON.stringify(externalRefs), 'utf-8');
|
|
144
|
+
const outputHash = await sha256Hex(outputBuf);
|
|
145
|
+
return (await log.append({
|
|
146
|
+
runId: log.runId,
|
|
147
|
+
type: 'activitySucceeded',
|
|
148
|
+
actor: 'scheduler',
|
|
149
|
+
payload: {
|
|
150
|
+
activityId: spec.activityId,
|
|
151
|
+
attemptId: spec.attemptId,
|
|
152
|
+
outputRef: {
|
|
153
|
+
outputHash: `sha256:${outputHash}`,
|
|
154
|
+
outputBytes: outputBuf.length,
|
|
155
|
+
outputSchemaVersion: 1,
|
|
156
|
+
contentType: 'application/json',
|
|
157
|
+
},
|
|
158
|
+
externalRefs,
|
|
159
|
+
},
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
return (await log.append({
|
|
163
|
+
runId: log.runId,
|
|
164
|
+
type: 'activityFailed',
|
|
165
|
+
actor: 'scheduler',
|
|
166
|
+
payload: {
|
|
167
|
+
activityId: spec.activityId,
|
|
168
|
+
attemptId: spec.attemptId,
|
|
169
|
+
error: {
|
|
170
|
+
errorCode: spec.kind.errorCode,
|
|
171
|
+
errorClass: spec.kind.errorClass,
|
|
172
|
+
errorMessage: spec.kind.errorMessage,
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
177
|
+
async function sha256Hex(buf) {
|
|
178
|
+
const { createHash } = await import('node:crypto');
|
|
179
|
+
return createHash('sha256').update(buf).digest('hex');
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/workflows/wait.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "botmux",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.34.0",
|
|
4
4
|
"description": "Bridge between IM platforms and AI coding CLIs — one topic, one CLI session with live streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index-daemon.js",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"LICENSE"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "tsc && cp src/setup/lark-scopes.json dist/setup/ && pnpm dashboard:bundle",
|
|
19
|
-
"dashboard:bundle": "esbuild src/dashboard/web/app.ts --bundle --outfile=dist/dashboard-web/app.js --platform=browser --format=iife --minify && cp src/dashboard/web/index.html dist/dashboard-web/index.html && cp src/dashboard/web/style.css dist/dashboard-web/style.css",
|
|
18
|
+
"build": "tsc && cp src/setup/lark-scopes.json dist/setup/ && pnpm dashboard:bundle && chmod +x dist/cli.js",
|
|
19
|
+
"dashboard:bundle": "esbuild src/dashboard/web/app.ts --bundle --outfile=dist/dashboard-web/app.js --platform=browser --format=iife --minify && cp src/dashboard/web/index.html dist/dashboard-web/index.html && cp src/dashboard/web/style.css dist/dashboard-web/style.css && cp src/dashboard/web/terminal-replay.html dist/dashboard-web/terminal-replay.html",
|
|
20
20
|
"daemon": "tsx src/index-daemon.ts",
|
|
21
21
|
"daemon:start": "node dist/cli.js start",
|
|
22
22
|
"daemon:stop": "node dist/cli.js stop",
|