@bastani/atomic 0.9.39-alpha.1 → 0.9.39
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/CHANGELOG.md +20 -0
- package/dist/builtin/intercom/CHANGELOG.md +6 -0
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +6 -0
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +14 -0
- package/dist/builtin/workflows/package.json +3 -3
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +66 -67
- package/dist/core/extensions/ui-types.d.ts +6 -0
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js +10 -0
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +0 -1
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-tui.d.ts +0 -1
- package/dist/modes/interactive/interactive-tui.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-tui.js +8 -13
- package/dist/modes/interactive/interactive-tui.js.map +1 -1
- package/dist/modes/interactive/program-status-reporter.d.ts +0 -1
- package/dist/modes/interactive/program-status-reporter.d.ts.map +1 -1
- package/dist/modes/interactive/program-status-reporter.js +0 -4
- package/dist/modes/interactive/program-status-reporter.js.map +1 -1
- package/npm-shrinkwrap.json +32 -32
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-status-reporter.js","sourceRoot":"","sources":["../../../src/modes/interactive/program-status-reporter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProgramStatus, Terminal } from \"@earendil-works/pi-tui\";\nimport { APP_NAME } from \"../../config.js\";\nimport type { AgentSessionEvent } from \"../../core/agent-session.js\";\nimport type { UIPromptEndEvent, UIPromptStartEvent } from \"../../core/extensions/agent-events.ts\";\nimport type { WorkflowActivityFrame, WorkflowRootActivity } from \"../../core/extensions/workflow-events.js\";\nimport type { JsonAgentSessionEvent } from \"../json-event.ts\";\n\nexport type BlockedStatus = { kind: NonNullable<ProgramStatus[\"kind\"]>; message: string };\n\nfunction firstLine(text: string | undefined): string {\n\treturn text?.split(/\\r?\\n/, 1)[0]?.trim() || \"Error\";\n}\n\n/** A root whose run ended failed (or blocked) and awaits inspection; no execution or open prompt remains. */\nfunction isSettledFailure(root: WorkflowRootActivity): boolean {\n\treturn root.state === \"idle\" && root.actionableBlockCount === 0 && root.needsAttention;\n}\n\nfunction isSettledCancellation(root: WorkflowRootActivity): boolean {\n\treturn root.state === \"idle\" && (root.endedStatus === \"cancelled\" || root.endedStatus === \"killed\");\n}\n\nexport class ProgramStatusReporter {\n\tprivate runActive = false;\n\tprivate compacting = false;\n\tprivate runResult: ProgramStatus = { state: \"done\" };\n\tprivate restingStatus: ProgramStatus = { state: \"idle\" };\n\tprivate readonly blocked = new Map<string, BlockedStatus>();\n\tprivate lastReport: string | undefined;\n\tprivate readonly roots = new Map<string, WorkflowRootActivity>();\n\t/** Roots that failed while this session watched; held until the user's next input. */\n\tprivate readonly failedRoots = new Set<string>();\n\t/** Epoch of the source whose ready snapshot is the baseline; frames before it describe history, not new outcomes. */\n\tprivate baselineEpoch: string | undefined;\n\tprivate cancellationAcknowledged = false;\n\n\tprivate readonly getTerminal: () => Terminal;\n\tprivate readonly getSessionName: () => string | undefined;\n\n\tconstructor(getTerminal: () => Terminal, getSessionName: () => string | undefined) {\n\t\tthis.getTerminal = getTerminal;\n\t\tthis.getSessionName = getSessionName;\n\t}\n\n\thandleEvent(event: AgentSessionEvent | JsonAgentSessionEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"agent_start\":\n\t\t\t\tthis.runActive = true;\n\t\t\t\tthis.runResult = { state: \"done\" };\n\t\t\t\tbreak;\n\t\t\tcase \"message_start\":\n\t\t\t\t// The user's next message answers a held workflow failure; lifecycle notices are custom messages.\n\t\t\t\tif (event.message.role !== \"user\") return;\n\t\t\t\tthis.failedRoots.clear();\n\t\t\t\tthis.cancellationAcknowledged = true;\n\t\t\t\tbreak;\n\t\t\tcase \"message_end\":\n\t\t\t\tif (event.message.role !== \"assistant\") return;\n\t\t\t\tthis.runResult =\n\t\t\t\t\tevent.message.stopReason === \"error\"\n\t\t\t\t\t\t? { state: \"error\", message: firstLine(event.message.errorMessage) }\n\t\t\t\t\t\t: { state: \"done\" };\n\t\t\t\tbreak;\n\t\t\tcase \"compaction_start\":\n\t\t\t\tthis.compacting = true;\n\t\t\t\tbreak;\n\t\t\tcase \"compaction_end\":\n\t\t\t\tthis.compacting = false;\n\t\t\t\tif (this.runActive) {\n\t\t\t\t\tif (event.aborted) this.runResult = { state: \"idle\" };\n\t\t\t\t\telse if (event.errorMessage) this.runResult = { state: \"error\", message: firstLine(event.errorMessage) };\n\t\t\t\t} else if (event.aborted) {\n\t\t\t\t\tthis.restingStatus = { state: \"idle\" };\n\t\t\t\t} else if (event.reason === \"manual\") {\n\t\t\t\t\tthis.restingStatus = event.errorMessage\n\t\t\t\t\t\t? { state: \"error\", message: firstLine(event.errorMessage) }\n\t\t\t\t\t\t: { state: \"done\" };\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"agent_settled\":\n\t\t\t\tthis.runActive = false;\n\t\t\t\tthis.restingStatus = event.aborted ? { state: \"idle\" } : this.runResult;\n\t\t\t\tbreak;\n\t\t\tcase \"session_info_changed\":\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t\tthis.report();\n\t}\n\n\thandleUIPrompt(event: UIPromptStartEvent | UIPromptEndEvent | undefined): void {\n\t\tif (event?.reason === \"project_trust\") return;\n\t\tthis.setBlocked(\n\t\t\t\"ui-prompt\",\n\t\t\tevent?.type === \"ui_prompt_start\"\n\t\t\t\t? {\n\t\t\t\t\t\tkind: event.kind === \"confirm\" ? \"permission\" : \"question\",\n\t\t\t\t\t\tmessage: event.kind === \"confirm\" ? \"Waiting for approval\" : \"Waiting for input\",\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t);\n\t}\n\n\thandleWorkflowActivity(frame: WorkflowActivityFrame): void {\n\t\tif (frame.kind === \"snapshot\") {\n\t\t\tconst sameSource = this.baselineEpoch === frame.cursor.epoch;\n\t\t\tif (!sameSource) this.cancellationAcknowledged = false;\n\t\t\tif (frame.availability === \"recovering\" && sameSource) {\n\t\t\t\tthis.report();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst watched = sameSource ? new Map(this.roots) : new Map<string, WorkflowRootActivity>();\n\t\t\tthis.roots.clear();\n\t\t\tthis.baselineEpoch = frame.availability === \"ready\" ? frame.cursor.epoch : undefined;\n\t\t\tif (frame.availability === \"ready\") {\n\t\t\t\tfor (const root of frame.roots) {\n\t\t\t\t\tthis.roots.set(root.rootRunId, root);\n\t\t\t\t\tconst previous = watched.get(root.rootRunId);\n\t\t\t\t\tif (previous) this.recordOutcome(previous, root);\n\t\t\t\t}\n\t\t\t\tfor (const id of this.failedRoots) {\n\t\t\t\t\tconst root = this.roots.get(id);\n\t\t\t\t\tif (!root || !isSettledFailure(root)) this.failedRoots.delete(id);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (frame.kind === \"changed\") {\n\t\t\tconst previous = this.roots.get(frame.root.rootRunId);\n\t\t\tthis.roots.set(frame.root.rootRunId, frame.root);\n\t\t\tif (this.baselineEpoch === frame.cursor.epoch) this.recordOutcome(previous, frame.root);\n\t\t} else {\n\t\t\tthis.roots.delete(frame.rootRunId);\n\t\t\tthis.failedRoots.delete(frame.rootRunId);\n\t\t}\n\t\tthis.report();\n\t}\n\n\tprivate recordOutcome(previous: WorkflowRootActivity | undefined, root: WorkflowRootActivity): void {\n\t\tif (isSettledFailure(root)) {\n\t\t\tif (!previous || !isSettledFailure(previous)) this.failedRoots.add(root.rootRunId);\n\t\t\treturn;\n\t\t}\n\t\tthis.failedRoots.delete(root.rootRunId);\n\t\tif (\n\t\t\tisSettledCancellation(root) &&\n\t\t\t(!previous || !isSettledCancellation(previous) || previous.endedStatus !== root.endedStatus)\n\t\t) {\n\t\t\tthis.cancellationAcknowledged = false;\n\t\t}\n\t\tconst finished =\n\t\t\tprevious !== undefined &&\n\t\t\tprevious.state !== \"idle\" &&\n\t\t\tprevious.reason !== \"stopping\" &&\n\t\t\troot.state === \"idle\" &&\n\t\t\troot.endedStatus === \"completed\" &&\n\t\t\t!root.needsAttention;\n\t\tif (finished) {\n\t\t\tthis.cancellationAcknowledged = true;\n\t\t\tif (this.restingStatus.state === \"idle\") this.restingStatus = { state: \"done\" };\n\t\t}\n\t}\n\n\tsetBlocked(source: string, status: BlockedStatus | undefined): void {\n\t\tthis.blocked.delete(source);\n\t\tif (status) this.blocked.set(source, status);\n\t\tthis.report();\n\t}\n\n\treset(): void {\n\t\tthis.runActive = false;\n\t\tthis.compacting = false;\n\t\tthis.runResult = { state: \"done\" };\n\t\tthis.restingStatus = { state: \"idle\" };\n\t\tthis.report();\n\t}\n\n\tresend(): void {\n\t\tthis.lastReport = undefined;\n\t\tthis.report();\n\t}\n\n\treport(): void {\n\t\tconst status: ProgramStatus = { ...this.currentStatus(), app: APP_NAME };\n\t\tconst key = JSON.stringify(status);\n\t\tif (key === this.lastReport) return;\n\t\tthis.lastReport = key;\n\t\tthis.getTerminal().setProgramStatus(status);\n\t}\n\n\tprivate currentStatus(): ProgramStatus {\n\t\tconst blocked = [...this.blocked.values()].at(-1);\n\t\tif (blocked) return { state: \"blocked\", ...blocked };\n\t\tconst workflowBlocked = this.workflowBlockedStatus();\n\t\tif (workflowBlocked) return workflowBlocked;\n\t\tif (this.compacting) return { state: \"working\", message: \"Compacting context\" };\n\t\tconst workflowWorking = [...this.roots.values()].some((root) => root.state === \"working\");\n\t\tif (!this.runActive && !workflowWorking && this.failedRoots.size > 0) {\n\t\t\treturn { state: \"error\", message: \"Workflow failed\" };\n\t\t}\n\t\tif (\n\t\t\t!this.runActive &&\n\t\t\t!workflowWorking &&\n\t\t\t[...this.roots.values()].some(\n\t\t\t\t(root) =>\n\t\t\t\t\troot.state === \"idle\" &&\n\t\t\t\t\t(root.reason === \"paused\" || (!this.cancellationAcknowledged && isSettledCancellation(root))),\n\t\t\t)\n\t\t) {\n\t\t\treturn { state: \"idle\" };\n\t\t}\n\t\tconst status = this.runActive || workflowWorking ? { state: \"working\" as const } : this.restingStatus;\n\t\tif (status.state === \"working\" || status.state === \"done\") return { ...status, message: this.getSessionName() };\n\t\treturn status;\n\t}\n\n\t/**\n\t * A root waits for the user when it is blocked, or when a wait is open beside executing work: the\n\t * projection reports such a root as `working`. Fixed text only: prompts raised by workflows never\n\t * reach the terminal.\n\t */\n\tprivate workflowBlockedStatus(): ProgramStatus | undefined {\n\t\tconst waiting = [...this.roots.values()].filter(\n\t\t\t(root) => root.state === \"blocked\" || root.actionableBlockCount > 0,\n\t\t);\n\t\tif (waiting.length === 0) return undefined;\n\t\t// A root that is still working cannot say whether its wait is a prompt or a manual decision.\n\t\tconst needsDecision = waiting.every((root) => root.reason === \"manual_intervention\");\n\t\tconst needsApproval = !needsDecision && waiting.some((root) => root.blockedPromptKind === \"confirm\");\n\t\treturn {\n\t\t\tstate: \"blocked\",\n\t\t\tkind: needsApproval ? \"permission\" : \"question\",\n\t\t\tmessage: needsDecision\n\t\t\t\t? \"Workflow needs attention\"\n\t\t\t\t: needsApproval\n\t\t\t\t\t? \"Workflow needs approval\"\n\t\t\t\t\t: \"Workflow waiting for input\",\n\t\t};\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"program-status-reporter.js","sourceRoot":"","sources":["../../../src/modes/interactive/program-status-reporter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProgramStatus, Terminal } from \"@earendil-works/pi-tui\";\nimport { APP_NAME } from \"../../config.js\";\nimport type { AgentSessionEvent } from \"../../core/agent-session.js\";\nimport type { UIPromptEndEvent, UIPromptStartEvent } from \"../../core/extensions/agent-events.ts\";\nimport type { WorkflowActivityFrame, WorkflowRootActivity } from \"../../core/extensions/workflow-events.js\";\nimport type { JsonAgentSessionEvent } from \"../json-event.ts\";\n\nexport type BlockedStatus = { kind: NonNullable<ProgramStatus[\"kind\"]>; message: string };\n\nfunction firstLine(text: string | undefined): string {\n\treturn text?.split(/\\r?\\n/, 1)[0]?.trim() || \"Error\";\n}\n\n/** A root whose run ended failed (or blocked) and awaits inspection; no execution or open prompt remains. */\nfunction isSettledFailure(root: WorkflowRootActivity): boolean {\n\treturn root.state === \"idle\" && root.actionableBlockCount === 0 && root.needsAttention;\n}\n\nfunction isSettledCancellation(root: WorkflowRootActivity): boolean {\n\treturn root.state === \"idle\" && (root.endedStatus === \"cancelled\" || root.endedStatus === \"killed\");\n}\n\nexport class ProgramStatusReporter {\n\tprivate runActive = false;\n\tprivate compacting = false;\n\tprivate runResult: ProgramStatus = { state: \"done\" };\n\tprivate restingStatus: ProgramStatus = { state: \"idle\" };\n\tprivate readonly blocked = new Map<string, BlockedStatus>();\n\tprivate lastReport: string | undefined;\n\tprivate readonly roots = new Map<string, WorkflowRootActivity>();\n\t/** Roots that failed while this session watched; held until the user's next input. */\n\tprivate readonly failedRoots = new Set<string>();\n\t/** Epoch of the source whose ready snapshot is the baseline; frames before it describe history, not new outcomes. */\n\tprivate baselineEpoch: string | undefined;\n\tprivate cancellationAcknowledged = false;\n\n\tprivate readonly getTerminal: () => Terminal;\n\tprivate readonly getSessionName: () => string | undefined;\n\n\tconstructor(getTerminal: () => Terminal, getSessionName: () => string | undefined) {\n\t\tthis.getTerminal = getTerminal;\n\t\tthis.getSessionName = getSessionName;\n\t}\n\n\thandleEvent(event: AgentSessionEvent | JsonAgentSessionEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"agent_start\":\n\t\t\t\tthis.runActive = true;\n\t\t\t\tthis.runResult = { state: \"done\" };\n\t\t\t\tbreak;\n\t\t\tcase \"message_start\":\n\t\t\t\t// The user's next message answers a held workflow failure; lifecycle notices are custom messages.\n\t\t\t\tif (event.message.role !== \"user\") return;\n\t\t\t\tthis.failedRoots.clear();\n\t\t\t\tthis.cancellationAcknowledged = true;\n\t\t\t\tbreak;\n\t\t\tcase \"message_end\":\n\t\t\t\tif (event.message.role !== \"assistant\") return;\n\t\t\t\tthis.runResult =\n\t\t\t\t\tevent.message.stopReason === \"error\"\n\t\t\t\t\t\t? { state: \"error\", message: firstLine(event.message.errorMessage) }\n\t\t\t\t\t\t: { state: \"done\" };\n\t\t\t\tbreak;\n\t\t\tcase \"compaction_start\":\n\t\t\t\tthis.compacting = true;\n\t\t\t\tbreak;\n\t\t\tcase \"compaction_end\":\n\t\t\t\tthis.compacting = false;\n\t\t\t\tif (this.runActive) {\n\t\t\t\t\tif (event.aborted) this.runResult = { state: \"idle\" };\n\t\t\t\t\telse if (event.errorMessage) this.runResult = { state: \"error\", message: firstLine(event.errorMessage) };\n\t\t\t\t} else if (event.aborted) {\n\t\t\t\t\tthis.restingStatus = { state: \"idle\" };\n\t\t\t\t} else if (event.reason === \"manual\") {\n\t\t\t\t\tthis.restingStatus = event.errorMessage\n\t\t\t\t\t\t? { state: \"error\", message: firstLine(event.errorMessage) }\n\t\t\t\t\t\t: { state: \"done\" };\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"agent_settled\":\n\t\t\t\tthis.runActive = false;\n\t\t\t\tthis.restingStatus = event.aborted ? { state: \"idle\" } : this.runResult;\n\t\t\t\tbreak;\n\t\t\tcase \"session_info_changed\":\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t\tthis.report();\n\t}\n\n\thandleUIPrompt(event: UIPromptStartEvent | UIPromptEndEvent | undefined): void {\n\t\tif (event?.reason === \"project_trust\") return;\n\t\tthis.setBlocked(\n\t\t\t\"ui-prompt\",\n\t\t\tevent?.type === \"ui_prompt_start\"\n\t\t\t\t? {\n\t\t\t\t\t\tkind: event.kind === \"confirm\" ? \"permission\" : \"question\",\n\t\t\t\t\t\tmessage: event.kind === \"confirm\" ? \"Waiting for approval\" : \"Waiting for input\",\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t);\n\t}\n\n\thandleWorkflowActivity(frame: WorkflowActivityFrame): void {\n\t\tif (frame.kind === \"snapshot\") {\n\t\t\tconst sameSource = this.baselineEpoch === frame.cursor.epoch;\n\t\t\tif (!sameSource) this.cancellationAcknowledged = false;\n\t\t\tif (frame.availability === \"recovering\" && sameSource) {\n\t\t\t\tthis.report();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst watched = sameSource ? new Map(this.roots) : new Map<string, WorkflowRootActivity>();\n\t\t\tthis.roots.clear();\n\t\t\tthis.baselineEpoch = frame.availability === \"ready\" ? frame.cursor.epoch : undefined;\n\t\t\tif (frame.availability === \"ready\") {\n\t\t\t\tfor (const root of frame.roots) {\n\t\t\t\t\tthis.roots.set(root.rootRunId, root);\n\t\t\t\t\tconst previous = watched.get(root.rootRunId);\n\t\t\t\t\tif (previous) this.recordOutcome(previous, root);\n\t\t\t\t}\n\t\t\t\tfor (const id of this.failedRoots) {\n\t\t\t\t\tconst root = this.roots.get(id);\n\t\t\t\t\tif (!root || !isSettledFailure(root)) this.failedRoots.delete(id);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (frame.kind === \"changed\") {\n\t\t\tconst previous = this.roots.get(frame.root.rootRunId);\n\t\t\tthis.roots.set(frame.root.rootRunId, frame.root);\n\t\t\tif (this.baselineEpoch === frame.cursor.epoch) this.recordOutcome(previous, frame.root);\n\t\t} else {\n\t\t\tthis.roots.delete(frame.rootRunId);\n\t\t\tthis.failedRoots.delete(frame.rootRunId);\n\t\t}\n\t\tthis.report();\n\t}\n\n\tprivate recordOutcome(previous: WorkflowRootActivity | undefined, root: WorkflowRootActivity): void {\n\t\tif (isSettledFailure(root)) {\n\t\t\tif (!previous || !isSettledFailure(previous)) this.failedRoots.add(root.rootRunId);\n\t\t\treturn;\n\t\t}\n\t\tthis.failedRoots.delete(root.rootRunId);\n\t\tif (\n\t\t\tisSettledCancellation(root) &&\n\t\t\t(!previous || !isSettledCancellation(previous) || previous.endedStatus !== root.endedStatus)\n\t\t) {\n\t\t\tthis.cancellationAcknowledged = false;\n\t\t}\n\t\tconst finished =\n\t\t\tprevious !== undefined &&\n\t\t\tprevious.state !== \"idle\" &&\n\t\t\tprevious.reason !== \"stopping\" &&\n\t\t\troot.state === \"idle\" &&\n\t\t\troot.endedStatus === \"completed\" &&\n\t\t\t!root.needsAttention;\n\t\tif (finished) {\n\t\t\tthis.cancellationAcknowledged = true;\n\t\t\tif (this.restingStatus.state === \"idle\") this.restingStatus = { state: \"done\" };\n\t\t}\n\t}\n\n\tsetBlocked(source: string, status: BlockedStatus | undefined): void {\n\t\tthis.blocked.delete(source);\n\t\tif (status) this.blocked.set(source, status);\n\t\tthis.report();\n\t}\n\n\treset(): void {\n\t\tthis.runActive = false;\n\t\tthis.compacting = false;\n\t\tthis.runResult = { state: \"done\" };\n\t\tthis.restingStatus = { state: \"idle\" };\n\t\tthis.report();\n\t}\n\n\treport(): void {\n\t\tconst status: ProgramStatus = { ...this.currentStatus(), app: APP_NAME };\n\t\tconst key = JSON.stringify(status);\n\t\tif (key === this.lastReport) return;\n\t\tthis.lastReport = key;\n\t\tthis.getTerminal().setProgramStatus(status);\n\t}\n\n\tprivate currentStatus(): ProgramStatus {\n\t\tconst blocked = [...this.blocked.values()].at(-1);\n\t\tif (blocked) return { state: \"blocked\", ...blocked };\n\t\tconst workflowBlocked = this.workflowBlockedStatus();\n\t\tif (workflowBlocked) return workflowBlocked;\n\t\tif (this.compacting) return { state: \"working\", message: \"Compacting context\" };\n\t\tconst workflowWorking = [...this.roots.values()].some((root) => root.state === \"working\");\n\t\tif (!this.runActive && !workflowWorking && this.failedRoots.size > 0) {\n\t\t\treturn { state: \"error\", message: \"Workflow failed\" };\n\t\t}\n\t\tif (\n\t\t\t!this.runActive &&\n\t\t\t!workflowWorking &&\n\t\t\t[...this.roots.values()].some(\n\t\t\t\t(root) =>\n\t\t\t\t\troot.state === \"idle\" &&\n\t\t\t\t\t(root.reason === \"paused\" || (!this.cancellationAcknowledged && isSettledCancellation(root))),\n\t\t\t)\n\t\t) {\n\t\t\treturn { state: \"idle\" };\n\t\t}\n\t\tconst status = this.runActive || workflowWorking ? { state: \"working\" as const } : this.restingStatus;\n\t\tif (status.state === \"working\" || status.state === \"done\") return { ...status, message: this.getSessionName() };\n\t\treturn status;\n\t}\n\n\t/**\n\t * A root waits for the user when it is blocked, or when a wait is open beside executing work: the\n\t * projection reports such a root as `working`. Fixed text only: prompts raised by workflows never\n\t * reach the terminal.\n\t */\n\tprivate workflowBlockedStatus(): ProgramStatus | undefined {\n\t\tconst waiting = [...this.roots.values()].filter(\n\t\t\t(root) => root.state === \"blocked\" || root.actionableBlockCount > 0,\n\t\t);\n\t\tif (waiting.length === 0) return undefined;\n\t\t// A root that is still working cannot say whether its wait is a prompt or a manual decision.\n\t\tconst needsDecision = waiting.every((root) => root.reason === \"manual_intervention\");\n\t\tconst needsApproval = !needsDecision && waiting.some((root) => root.blockedPromptKind === \"confirm\");\n\t\treturn {\n\t\t\tstate: \"blocked\",\n\t\t\tkind: needsApproval ? \"permission\" : \"question\",\n\t\t\tmessage: needsDecision\n\t\t\t\t? \"Workflow needs attention\"\n\t\t\t\t: needsApproval\n\t\t\t\t\t? \"Workflow needs approval\"\n\t\t\t\t\t: \"Workflow waiting for input\",\n\t\t};\n\t}\n}\n"]}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.39
|
|
3
|
+
"version": "0.9.39",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bastani/atomic",
|
|
9
|
-
"version": "0.9.39
|
|
9
|
+
"version": "0.9.39",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@bastani/atomic-natives": "0.9.39
|
|
13
|
-
"@bastani/pi-ai": "0.9.39
|
|
12
|
+
"@bastani/atomic-natives": "0.9.39",
|
|
13
|
+
"@bastani/pi-ai": "0.9.39",
|
|
14
14
|
"@earendil-works/pi-agent-core": "1.3.0",
|
|
15
15
|
"@earendil-works/pi-codemode": "1.3.0",
|
|
16
16
|
"@earendil-works/pi-tui": "1.3.0",
|
|
@@ -427,18 +427,18 @@
|
|
|
427
427
|
}
|
|
428
428
|
},
|
|
429
429
|
"node_modules/@bastani/atomic-natives": {
|
|
430
|
-
"version": "0.9.39
|
|
431
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.39
|
|
430
|
+
"version": "0.9.39",
|
|
431
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.39.tgz",
|
|
432
432
|
"license": "MIT",
|
|
433
433
|
"optionalDependencies": {
|
|
434
|
-
"@bastani/atomic-natives-darwin-arm64": "0.9.39
|
|
435
|
-
"@bastani/atomic-natives-darwin-x64": "0.9.39
|
|
436
|
-
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.39
|
|
437
|
-
"@bastani/atomic-natives-linux-arm64-musl": "0.9.39
|
|
438
|
-
"@bastani/atomic-natives-linux-x64-gnu": "0.9.39
|
|
439
|
-
"@bastani/atomic-natives-linux-x64-musl": "0.9.39
|
|
440
|
-
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.39
|
|
441
|
-
"@bastani/atomic-natives-win32-x64-msvc": "0.9.39
|
|
434
|
+
"@bastani/atomic-natives-darwin-arm64": "0.9.39",
|
|
435
|
+
"@bastani/atomic-natives-darwin-x64": "0.9.39",
|
|
436
|
+
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.39",
|
|
437
|
+
"@bastani/atomic-natives-linux-arm64-musl": "0.9.39",
|
|
438
|
+
"@bastani/atomic-natives-linux-x64-gnu": "0.9.39",
|
|
439
|
+
"@bastani/atomic-natives-linux-x64-musl": "0.9.39",
|
|
440
|
+
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.39",
|
|
441
|
+
"@bastani/atomic-natives-win32-x64-msvc": "0.9.39"
|
|
442
442
|
},
|
|
443
443
|
"engines": {
|
|
444
444
|
"bun": ">=1.4.2",
|
|
@@ -446,8 +446,8 @@
|
|
|
446
446
|
}
|
|
447
447
|
},
|
|
448
448
|
"node_modules/@bastani/atomic-natives-darwin-arm64": {
|
|
449
|
-
"version": "0.9.39
|
|
450
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.39
|
|
449
|
+
"version": "0.9.39",
|
|
450
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.39.tgz",
|
|
451
451
|
"license": "MIT",
|
|
452
452
|
"os": [
|
|
453
453
|
"darwin"
|
|
@@ -458,8 +458,8 @@
|
|
|
458
458
|
"optional": true
|
|
459
459
|
},
|
|
460
460
|
"node_modules/@bastani/atomic-natives-darwin-x64": {
|
|
461
|
-
"version": "0.9.39
|
|
462
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.39
|
|
461
|
+
"version": "0.9.39",
|
|
462
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.39.tgz",
|
|
463
463
|
"license": "MIT",
|
|
464
464
|
"os": [
|
|
465
465
|
"darwin"
|
|
@@ -470,8 +470,8 @@
|
|
|
470
470
|
"optional": true
|
|
471
471
|
},
|
|
472
472
|
"node_modules/@bastani/atomic-natives-linux-arm64-gnu": {
|
|
473
|
-
"version": "0.9.39
|
|
474
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.39
|
|
473
|
+
"version": "0.9.39",
|
|
474
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.39.tgz",
|
|
475
475
|
"license": "MIT",
|
|
476
476
|
"os": [
|
|
477
477
|
"linux"
|
|
@@ -485,8 +485,8 @@
|
|
|
485
485
|
"optional": true
|
|
486
486
|
},
|
|
487
487
|
"node_modules/@bastani/atomic-natives-linux-arm64-musl": {
|
|
488
|
-
"version": "0.9.39
|
|
489
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.39
|
|
488
|
+
"version": "0.9.39",
|
|
489
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.39.tgz",
|
|
490
490
|
"license": "MIT",
|
|
491
491
|
"os": [
|
|
492
492
|
"linux"
|
|
@@ -500,8 +500,8 @@
|
|
|
500
500
|
"optional": true
|
|
501
501
|
},
|
|
502
502
|
"node_modules/@bastani/atomic-natives-linux-x64-gnu": {
|
|
503
|
-
"version": "0.9.39
|
|
504
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.39
|
|
503
|
+
"version": "0.9.39",
|
|
504
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.39.tgz",
|
|
505
505
|
"license": "MIT",
|
|
506
506
|
"os": [
|
|
507
507
|
"linux"
|
|
@@ -515,8 +515,8 @@
|
|
|
515
515
|
"optional": true
|
|
516
516
|
},
|
|
517
517
|
"node_modules/@bastani/atomic-natives-linux-x64-musl": {
|
|
518
|
-
"version": "0.9.39
|
|
519
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.39
|
|
518
|
+
"version": "0.9.39",
|
|
519
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.39.tgz",
|
|
520
520
|
"license": "MIT",
|
|
521
521
|
"os": [
|
|
522
522
|
"linux"
|
|
@@ -530,8 +530,8 @@
|
|
|
530
530
|
"optional": true
|
|
531
531
|
},
|
|
532
532
|
"node_modules/@bastani/atomic-natives-win32-arm64-msvc": {
|
|
533
|
-
"version": "0.9.39
|
|
534
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.39
|
|
533
|
+
"version": "0.9.39",
|
|
534
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.39.tgz",
|
|
535
535
|
"license": "MIT",
|
|
536
536
|
"os": [
|
|
537
537
|
"win32"
|
|
@@ -542,8 +542,8 @@
|
|
|
542
542
|
"optional": true
|
|
543
543
|
},
|
|
544
544
|
"node_modules/@bastani/atomic-natives-win32-x64-msvc": {
|
|
545
|
-
"version": "0.9.39
|
|
546
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.39
|
|
545
|
+
"version": "0.9.39",
|
|
546
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.39.tgz",
|
|
547
547
|
"license": "MIT",
|
|
548
548
|
"os": [
|
|
549
549
|
"win32"
|
|
@@ -554,8 +554,8 @@
|
|
|
554
554
|
"optional": true
|
|
555
555
|
},
|
|
556
556
|
"node_modules/@bastani/pi-ai": {
|
|
557
|
-
"version": "0.9.39
|
|
558
|
-
"resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.39
|
|
557
|
+
"version": "0.9.39",
|
|
558
|
+
"resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.39.tgz",
|
|
559
559
|
"license": "MIT",
|
|
560
560
|
"dependencies": {
|
|
561
561
|
"@anthropic-ai/sdk": "0.129.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.39
|
|
3
|
+
"version": "0.9.39",
|
|
4
4
|
"description": "Atomic coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"atomicConfig": {
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"scripts": {
|
|
71
71
|
"clean": "shx rm -rf dist",
|
|
72
72
|
"dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
|
|
73
|
-
"typecheck": "
|
|
73
|
+
"typecheck": "node ../../scripts/bun-typecheck.mjs -p tsconfig.build.json && node ../../scripts/bun-typecheck.mjs -p tsconfig.typetests.json",
|
|
74
74
|
"build": "tsc -p tsconfig.build.json && node scripts/build-codemode-worker.mjs && shx chmod +x dist/cli.js dist/rpc-entry.js && bun run copy-assets",
|
|
75
75
|
"bundle:dev": "bun build src/bun/cli.ts --target=bun --minify --external mupdf --define process.env.ATOMIC_BUNDLED_BUILD=\"'1'\" --outfile dist-dev/cli.js && bun build src/extensions/codemode/worker.ts --target=bun --format=esm --outfile dist-dev/codemode-worker.js && shx cp ../../node_modules/quickjs-wasi/quickjs.wasm dist-dev/",
|
|
76
76
|
"start:fast": "bun run bundle:dev && bun dist-dev/cli.js",
|
|
@@ -89,8 +89,8 @@
|
|
|
89
89
|
"prepublishOnly": "bun run clean && bun run build && bun run shrinkwrap"
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"@bastani/atomic-natives": "0.9.39
|
|
93
|
-
"@bastani/pi-ai": "0.9.39
|
|
92
|
+
"@bastani/atomic-natives": "0.9.39",
|
|
93
|
+
"@bastani/pi-ai": "0.9.39",
|
|
94
94
|
"@earendil-works/pi-agent-core": "1.3.0",
|
|
95
95
|
"@earendil-works/pi-codemode": "1.3.0",
|
|
96
96
|
"@earendil-works/pi-tui": "1.3.0",
|