@flowdesk/opencode-plugin 0.1.10 → 0.1.12

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.
Files changed (47) hide show
  1. package/dist/agent-task-runner.d.ts +26 -0
  2. package/dist/agent-task-runner.d.ts.map +1 -0
  3. package/dist/agent-task-runner.js +244 -0
  4. package/dist/agent-task-runner.js.map +1 -0
  5. package/dist/bootstrap-installer.d.ts +3 -0
  6. package/dist/bootstrap-installer.d.ts.map +1 -1
  7. package/dist/bootstrap-installer.js +153 -7
  8. package/dist/bootstrap-installer.js.map +1 -1
  9. package/dist/command-handlers.d.ts +3 -0
  10. package/dist/command-handlers.d.ts.map +1 -1
  11. package/dist/command-handlers.js +38 -4
  12. package/dist/command-handlers.js.map +1 -1
  13. package/dist/local-adapter.d.ts.map +1 -1
  14. package/dist/local-adapter.js +19 -0
  15. package/dist/local-adapter.js.map +1 -1
  16. package/dist/managed-dispatch-adapter.d.ts +2 -0
  17. package/dist/managed-dispatch-adapter.d.ts.map +1 -1
  18. package/dist/managed-dispatch-adapter.js +86 -1
  19. package/dist/managed-dispatch-adapter.js.map +1 -1
  20. package/dist/provider-usage-live-tool.d.ts +11 -0
  21. package/dist/provider-usage-live-tool.d.ts.map +1 -1
  22. package/dist/provider-usage-live-tool.js +86 -1
  23. package/dist/provider-usage-live-tool.js.map +1 -1
  24. package/dist/quick-reviewer-run.d.ts +13 -2
  25. package/dist/quick-reviewer-run.d.ts.map +1 -1
  26. package/dist/quick-reviewer-run.js +213 -69
  27. package/dist/quick-reviewer-run.js.map +1 -1
  28. package/dist/runtime-reviewer-execution-bridge.d.ts.map +1 -1
  29. package/dist/runtime-reviewer-execution-bridge.js +46 -1
  30. package/dist/runtime-reviewer-execution-bridge.js.map +1 -1
  31. package/dist/server.d.ts +47 -1
  32. package/dist/server.d.ts.map +1 -1
  33. package/dist/server.js +483 -59
  34. package/dist/server.js.map +1 -1
  35. package/dist/shared/with-timeout.d.ts +12 -0
  36. package/dist/shared/with-timeout.d.ts.map +1 -0
  37. package/dist/shared/with-timeout.js +31 -0
  38. package/dist/shared/with-timeout.js.map +1 -0
  39. package/dist/stall-recovery.d.ts +187 -0
  40. package/dist/stall-recovery.d.ts.map +1 -0
  41. package/dist/stall-recovery.js +962 -0
  42. package/dist/stall-recovery.js.map +1 -0
  43. package/dist/status-live-tool.d.ts +5 -0
  44. package/dist/status-live-tool.d.ts.map +1 -1
  45. package/dist/status-live-tool.js +157 -1
  46. package/dist/status-live-tool.js.map +1 -1
  47. package/package.json +2 -2
@@ -0,0 +1,26 @@
1
+ import { type FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-dispatch-adapter.js";
2
+ export interface FlowDeskAgentTaskInputV1 {
3
+ workflowId: string;
4
+ taskId: string;
5
+ laneId: string;
6
+ agentRef: string;
7
+ providerQualifiedModelId: string;
8
+ promptText: string;
9
+ parentSessionId: string;
10
+ rootDir: string;
11
+ client: FlowDeskManagedDispatchBetaOpenCodeClientV1;
12
+ timeoutMs?: number;
13
+ }
14
+ export type FlowDeskAgentTaskResultV1 = {
15
+ status: "task_completed";
16
+ resultText: string;
17
+ laneId: string;
18
+ taskResultEvidenceId: string;
19
+ } | {
20
+ status: "task_failed";
21
+ failureCategory: string;
22
+ redactedReason: string;
23
+ laneId: string;
24
+ };
25
+ export declare function executeFlowDeskAgentTaskV1(input: FlowDeskAgentTaskInputV1): Promise<FlowDeskAgentTaskResultV1>;
26
+ //# sourceMappingURL=agent-task-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-task-runner.d.ts","sourceRoot":"","sources":["../src/agent-task-runner.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,KAAK,2CAA2C,EAGhD,MAAM,+BAA+B,CAAC;AAKvC,MAAM,WAAW,wBAAwB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,2CAA2C,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,yBAAyB,GAClC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAC9F;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAuF9F,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,wBAAwB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAkLpC"}
@@ -0,0 +1,244 @@
1
+ import { createHash } from "node:crypto";
2
+ import { applyFlowDeskSessionEvidenceWriteIntentsV1, prepareFlowDeskSessionEvidenceWriteIntentV1, } from "@flowdesk/core";
3
+ import { launchFlowDeskInjectedSdkRuntimeLaneFromPlanV1, materializeFlowDeskRuntimeLaneLaunchLifecycleEvidenceV1, } from "./managed-dispatch-adapter.js";
4
+ import { recordFlowDeskLaneHeartbeatV1 } from "./lane-heartbeat-writer.js";
5
+ const TASK_RESULT_MAX_TEXT = 32_768;
6
+ function agentTaskLaunchPlan(input) {
7
+ return {
8
+ schema_version: "flowdesk.runtime_lane_launch_plan.v1",
9
+ ok: true,
10
+ errors: [],
11
+ launch_request_id: `launch-request-task-${input.token}`,
12
+ workflow_id: input.workflowId,
13
+ attempt_id: `attempt-task-${input.token}`,
14
+ lane_id: input.laneId,
15
+ state: "launch_ready",
16
+ blocked_labels: [],
17
+ parent_session_ref: `ses-${input.parentSessionId}`,
18
+ agent_ref: input.agentRef,
19
+ provider_qualified_model_id: input.providerQualifiedModelId,
20
+ launch_reason: "agent_task",
21
+ pre_launch_audit_ref: `audit-task-pre-launch-${input.token}`,
22
+ lane_launch_approval_ref: `approval-task-lane-launch-${input.token}`,
23
+ durable_evidence_root_ref: `evidence-root-task-${input.token}`,
24
+ lifecycle_evidence_class: "lane_lifecycle",
25
+ exact_binding_confirmed: true,
26
+ sdk_client_required: true,
27
+ launch_attempted: false,
28
+ dispatch_authority_enabled: false,
29
+ providerCall: false,
30
+ actualLaneLaunch: false,
31
+ runtimeExecution: false,
32
+ };
33
+ }
34
+ function extractAssistantTextFromResponse(client, childSessionId) {
35
+ // We extract response text via messages API
36
+ const messages = client.session.messages;
37
+ if (messages === undefined)
38
+ return undefined;
39
+ return (async () => {
40
+ try {
41
+ const response = await messages.call(client.session, { path: { id: childSessionId } });
42
+ const data = asResponseData(response);
43
+ const items = Array.isArray(data) ? data : asRecord(data)?.items ?? [];
44
+ for (const message of items) {
45
+ const record = asRecord(message);
46
+ if (record?.role !== "assistant")
47
+ continue;
48
+ const parts = Array.isArray(record.parts) ? record.parts : [];
49
+ for (const part of parts) {
50
+ const partRecord = asRecord(part);
51
+ const text = typeof partRecord?.text === "string"
52
+ ? partRecord.text
53
+ : typeof partRecord?.content === "string"
54
+ ? partRecord.content
55
+ : undefined;
56
+ if (typeof text === "string" && text.trim().length > 0)
57
+ return text;
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ catch {
63
+ return undefined;
64
+ }
65
+ })();
66
+ }
67
+ function asRecord(value) {
68
+ return typeof value === "object" && value !== null && !Array.isArray(value)
69
+ ? value
70
+ : undefined;
71
+ }
72
+ function asResponseData(value) {
73
+ const record = asRecord(value);
74
+ return record !== undefined && "data" in record ? record.data : value;
75
+ }
76
+ function sha256Hex(text) {
77
+ return createHash("sha256").update(text, "utf8").digest("hex");
78
+ }
79
+ export async function executeFlowDeskAgentTaskV1(input) {
80
+ const observedAt = new Date().toISOString();
81
+ const token = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
82
+ const launchPlan = agentTaskLaunchPlan({
83
+ workflowId: input.workflowId,
84
+ laneId: input.laneId,
85
+ parentSessionId: input.parentSessionId,
86
+ agentRef: input.agentRef,
87
+ providerQualifiedModelId: input.providerQualifiedModelId,
88
+ token,
89
+ });
90
+ const runningLifecycleEvidenceId = `lifecycle-task-running-${input.laneId}-${token}`;
91
+ // Launch the lane
92
+ const launchResult = await launchFlowDeskInjectedSdkRuntimeLaneFromPlanV1({
93
+ client: input.client,
94
+ launchPlan,
95
+ request: {
96
+ allowActualLaneLaunch: true,
97
+ parentSessionId: input.parentSessionId,
98
+ promptText: input.promptText,
99
+ dispatchMethod: "prompt",
100
+ },
101
+ });
102
+ // Write running lifecycle evidence
103
+ materializeFlowDeskRuntimeLaneLaunchLifecycleEvidenceV1({
104
+ rootDir: input.rootDir,
105
+ launchPlan,
106
+ launchResult,
107
+ evidenceId: runningLifecycleEvidenceId,
108
+ observedAt,
109
+ });
110
+ if (launchResult.status !== "lane_launch_started") {
111
+ // Record heartbeat for failed launch
112
+ recordFlowDeskLaneHeartbeatV1({
113
+ rootDir: input.rootDir,
114
+ workflowId: input.workflowId,
115
+ attemptId: launchPlan.attempt_id ?? `attempt-task-${token}`,
116
+ laneId: input.laneId,
117
+ parentSessionRef: `ses-${input.parentSessionId}`,
118
+ agentRef: input.agentRef,
119
+ providerQualifiedModelId: input.providerQualifiedModelId,
120
+ state: "running",
121
+ observedAt,
122
+ progressSummaryLabel: `agent task lane launch failed`,
123
+ });
124
+ // Write task_failed evidence
125
+ const failureCategory = launchResult.status === "lane_launch_failed" ? "sdk_create_failed" : "unknown";
126
+ const redactedReason = launchResult.redactedBlockReason ?? launchResult.redactedErrorCategory ?? "lane launch did not start";
127
+ const taskFailedEvidenceId = `task-failed-${input.taskId}-${token}`;
128
+ const taskFailedRecord = {
129
+ schema_version: "flowdesk.task_failed.v1",
130
+ workflow_id: input.workflowId,
131
+ lane_id: input.laneId,
132
+ task_id: input.taskId,
133
+ agent_ref: input.agentRef,
134
+ provider_qualified_model_id: input.providerQualifiedModelId,
135
+ failure_category: failureCategory,
136
+ redacted_reason: String(redactedReason).slice(0, 500),
137
+ created_at: observedAt,
138
+ dispatch_authority_enabled: false,
139
+ };
140
+ const taskFailedPrepared = prepareFlowDeskSessionEvidenceWriteIntentV1({
141
+ workflowId: input.workflowId,
142
+ evidenceId: taskFailedEvidenceId,
143
+ record: taskFailedRecord,
144
+ });
145
+ if (taskFailedPrepared.ok && taskFailedPrepared.writeIntent !== undefined) {
146
+ applyFlowDeskSessionEvidenceWriteIntentsV1(input.rootDir, [taskFailedPrepared.writeIntent]);
147
+ }
148
+ return {
149
+ status: "task_failed",
150
+ failureCategory,
151
+ redactedReason: String(redactedReason).slice(0, 500),
152
+ laneId: input.laneId,
153
+ };
154
+ }
155
+ // Lane launched successfully - record heartbeat
156
+ const attemptId = launchPlan.attempt_id ?? `attempt-task-${token}`;
157
+ recordFlowDeskLaneHeartbeatV1({
158
+ rootDir: input.rootDir,
159
+ workflowId: input.workflowId,
160
+ attemptId,
161
+ laneId: input.laneId,
162
+ parentSessionRef: `ses-${input.parentSessionId}`,
163
+ agentRef: input.agentRef,
164
+ providerQualifiedModelId: input.providerQualifiedModelId,
165
+ state: "running",
166
+ observedAt,
167
+ progressSummaryLabel: `agent task lane launch heartbeat`,
168
+ });
169
+ // Extract child session ID and get response text
170
+ const childSessionId = launchResult.childSessionRef?.startsWith("ses-")
171
+ ? launchResult.childSessionRef.slice("ses-".length)
172
+ : undefined;
173
+ let resultText;
174
+ if (childSessionId !== undefined) {
175
+ resultText = await extractAssistantTextFromResponse(input.client, childSessionId);
176
+ }
177
+ if (resultText === undefined) {
178
+ // No response text - write task_failed
179
+ const taskFailedEvidenceId = `task-failed-${input.taskId}-${token}`;
180
+ const taskFailedRecord = {
181
+ schema_version: "flowdesk.task_failed.v1",
182
+ workflow_id: input.workflowId,
183
+ lane_id: input.laneId,
184
+ task_id: input.taskId,
185
+ agent_ref: input.agentRef,
186
+ provider_qualified_model_id: input.providerQualifiedModelId,
187
+ failure_category: "no_response",
188
+ redacted_reason: "lane launched but no assistant response text found",
189
+ created_at: observedAt,
190
+ dispatch_authority_enabled: false,
191
+ };
192
+ const taskFailedPrepared = prepareFlowDeskSessionEvidenceWriteIntentV1({
193
+ workflowId: input.workflowId,
194
+ evidenceId: taskFailedEvidenceId,
195
+ record: taskFailedRecord,
196
+ });
197
+ if (taskFailedPrepared.ok && taskFailedPrepared.writeIntent !== undefined) {
198
+ applyFlowDeskSessionEvidenceWriteIntentsV1(input.rootDir, [taskFailedPrepared.writeIntent]);
199
+ }
200
+ return {
201
+ status: "task_failed",
202
+ failureCategory: "no_response",
203
+ redactedReason: "lane launched but no assistant response text found",
204
+ laneId: input.laneId,
205
+ };
206
+ }
207
+ // Truncate if needed
208
+ const fullResultText = resultText;
209
+ const truncated = fullResultText.length > TASK_RESULT_MAX_TEXT;
210
+ const storedResultText = truncated ? fullResultText.slice(0, TASK_RESULT_MAX_TEXT) : fullResultText;
211
+ const promptSha256 = sha256Hex(input.promptText);
212
+ const resultSha256 = sha256Hex(fullResultText);
213
+ // Write task_result evidence
214
+ const taskResultEvidenceId = `task-result-${input.taskId}-${token}`;
215
+ const taskResultRecord = {
216
+ schema_version: "flowdesk.task_result.v1",
217
+ workflow_id: input.workflowId,
218
+ lane_id: input.laneId,
219
+ task_id: input.taskId,
220
+ agent_ref: input.agentRef,
221
+ provider_qualified_model_id: input.providerQualifiedModelId,
222
+ task_prompt_sha256: promptSha256,
223
+ result_text: storedResultText,
224
+ result_text_truncated: truncated,
225
+ result_text_sha256: resultSha256,
226
+ created_at: observedAt,
227
+ dispatch_authority_enabled: false,
228
+ };
229
+ const taskResultPrepared = prepareFlowDeskSessionEvidenceWriteIntentV1({
230
+ workflowId: input.workflowId,
231
+ evidenceId: taskResultEvidenceId,
232
+ record: taskResultRecord,
233
+ });
234
+ if (taskResultPrepared.ok && taskResultPrepared.writeIntent !== undefined) {
235
+ applyFlowDeskSessionEvidenceWriteIntentsV1(input.rootDir, [taskResultPrepared.writeIntent]);
236
+ }
237
+ return {
238
+ status: "task_completed",
239
+ resultText: fullResultText,
240
+ laneId: input.laneId,
241
+ taskResultEvidenceId,
242
+ };
243
+ }
244
+ //# sourceMappingURL=agent-task-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-task-runner.js","sourceRoot":"","sources":["../src/agent-task-runner.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export interface FlowDeskRelease1BootstrapInstallResultV1 extends ValidationResu
21
21
  profileRootDir?: string;
22
22
  durableStateRootDir?: string;
23
23
  commandMaterialization?: FlowDeskPortableCommandMaterializationResultV1;
24
+ agentProfileFilesWritten: number;
25
+ profileConfigUpdated: boolean;
24
26
  bootstrapArtifactRefs?: string[];
25
27
  bootstrapArtifactsWritten: number;
26
28
  commandFilesWritten: number;
@@ -36,6 +38,7 @@ export interface FlowDeskRelease1BootstrapInstallResultV1 extends ValidationResu
36
38
  fallbackAuthority: false;
37
39
  hardCancelOrNoReplyAuthority: false;
38
40
  rollbackCommandRefs?: string[];
41
+ rollbackProfileRefs?: string[];
39
42
  }
40
43
  export interface FlowDeskRelease1BootstrapTypedConfirmationInputV1 {
41
44
  profileRootDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-installer.d.ts","sourceRoot":"","sources":["../src/bootstrap-installer.ts"],"names":[],"mappings":"AAGA,OAAO,EAQL,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,8CAA8C,EAA2C,MAAM,eAAe,CAAC;AAE7H,MAAM,WAAW,4CAA4C;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yCAAyC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,4CAA4C,CAAC;IAChE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,wCAAyC,SAAQ,gBAAgB;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,8CAA8C,CAAC;IACxE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,CAAC,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B,EAAE,KAAK,CAAC;IACtC,oBAAoB,EAAE,KAAK,CAAC;IAC5B,wBAAwB,EAAE,KAAK,CAAC;IAChC,oBAAoB,EAAE,KAAK,CAAC;IAC5B,gBAAgB,EAAE,KAAK,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC;IACpB,gBAAgB,EAAE,KAAK,CAAC;IACxB,iBAAiB,EAAE,KAAK,CAAC;IACzB,4BAA4B,EAAE,KAAK,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,iDAAiD;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AA+CD,wBAAgB,+CAA+C,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAEjJ;AAED,wBAAgB,iDAAiD,CAAC,KAAK,EAAE,iDAAiD,GAAG,4CAA4C,CAYxK;AAeD,wBAAgB,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE9E;AA2TD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,yCAAyC,GAAG,wCAAwC,CA8D7I"}
1
+ {"version":3,"file":"bootstrap-installer.d.ts","sourceRoot":"","sources":["../src/bootstrap-installer.ts"],"names":[],"mappings":"AAGA,OAAO,EAQL,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,8CAA8C,EAA2C,MAAM,eAAe,CAAC;AAE7H,MAAM,WAAW,4CAA4C;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yCAAyC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,4CAA4C,CAAC;IAChE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,wCAAyC,SAAQ,gBAAgB;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,8CAA8C,CAAC;IACxE,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,CAAC,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACzB,8BAA8B,EAAE,KAAK,CAAC;IACtC,oBAAoB,EAAE,KAAK,CAAC;IAC5B,wBAAwB,EAAE,KAAK,CAAC;IAChC,oBAAoB,EAAE,KAAK,CAAC;IAC5B,gBAAgB,EAAE,KAAK,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC;IACpB,gBAAgB,EAAE,KAAK,CAAC;IACxB,iBAAiB,EAAE,KAAK,CAAC;IAC1B,4BAA4B,EAAE,KAAK,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iDAAiD;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AA+CD,wBAAgB,+CAA+C,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAEjJ;AAED,wBAAgB,iDAAiD,CAAC,KAAK,EAAE,iDAAiD,GAAG,4CAA4C,CAYxK;AAeD,wBAAgB,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE9E;AA6cD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,yCAAyC,GAAG,wCAAwC,CA2E7I"}
@@ -18,7 +18,7 @@ const consumedBootstrapConfirmationRefs = new Set();
18
18
  const bootstrapConfirmationLedgerSchemaVersion = "flowdesk.bootstrap_confirmation_consumption.v1";
19
19
  const safeLedgerConfirmationRefPattern = /^[A-Za-z0-9_.:-]+$/;
20
20
  function resultBase() {
21
- return { bootstrapArtifactsWritten: 0, commandFilesWritten: 0, aliasFilesWritten: 0, ...disabledBootstrapInstallAuthority };
21
+ return { agentProfileFilesWritten: 0, profileConfigUpdated: false, bootstrapArtifactsWritten: 0, commandFilesWritten: 0, aliasFilesWritten: 0, ...disabledBootstrapInstallAuthority };
22
22
  }
23
23
  function expectedTypedPhrase(targetProfileRef, profileRootRef, confirmationRef, installPlanId) {
24
24
  return `install FlowDesk release1 ${targetProfileRef} ${profileRootRef} ${confirmationRef} ${installPlanId}`;
@@ -335,7 +335,7 @@ function installPlan(nowIso, targetProfileRef, typedConfirmationRef, installPlan
335
335
  created_at: nowIso,
336
336
  target_profile_ref: targetProfileRef,
337
337
  release_mode: "release1",
338
- planned_phases: ["preflight", "command_generation", "doctor_handoff"],
338
+ planned_phases: ["preflight", "profile_mutation", "command_generation", "doctor_handoff"],
339
339
  requires_typed_confirmation: true,
340
340
  confirmation_ref: typedConfirmationRef,
341
341
  package_ref: "package-flowdesk-opencode-plugin",
@@ -397,6 +397,140 @@ function rollbackCommandFiles(profileRootDir, refs) {
397
397
  }
398
398
  return removed;
399
399
  }
400
+ const flowDeskMainAgentName = "flowdesk-main";
401
+ const flowDeskMainAgentRef = "agent/flowdesk-main.md";
402
+ function flowDeskMainAgentMarkdown() {
403
+ return `---
404
+ description: Primary FlowDesk coordinator for normal OpenCode work. Routes work through FlowDesk workflows, keeps main context small, and treats raw subtask/background paths as untracked unless FlowDesk owns them.
405
+ mode: primary
406
+ model: openai/gpt-5.3-codex-spark
407
+ permission:
408
+ read: allow
409
+ edit: allow
410
+ glob: allow
411
+ grep: allow
412
+ list: allow
413
+ todowrite: allow
414
+ bash: allow
415
+ task: allow
416
+ question: allow
417
+ skill: allow
418
+ webfetch: allow
419
+ lsp: allow
420
+ external_directory:
421
+ "*": allow
422
+ ---
423
+
424
+ You are the FlowDesk primary coordinator for OpenCode.
425
+
426
+ Operational rules:
427
+
428
+ 1. Treat normal work as a FlowDesk workflow first: intake, plan/update workflow state, run only command-backed or explicitly enabled FlowDesk lanes, then summarize results for the user.
429
+ 2. Keep the main-agent role small: workflow author, FlowDesk lane/sub-agent dispatcher, result summarizer, Guard handoff, and safe next-action presenter.
430
+ 3. Do not make the main session perform broad repository reading, large searches, multi-file investigation, or long review. Delegate that work to a FlowDesk-owned lane/sub-agent when available.
431
+ 4. If only the raw OpenCode \`task\`/background path is available, use it sparingly and treat it as untracked unless FlowDesk durable evidence and a result-retrieval surface are both available.
432
+ 5. For user requests that imply planning, review, run, status, diagnosis, install, or recovery, operate through FlowDesk commands and lanes first (/flowdesk-*), then summarize results.
433
+ 6. If a sub-agent returns an empty result, tool-only transcript, timeout, aborted execution, or no final verdict, classify it as incomplete. Do not count it as success, approval, or review completion.
434
+ 7. During delegated work, keep main context compact: ask for short findings, file/line references, decisions, blockers, and next actions; avoid copying full logs, prompts, transcripts, or large file contents into main context.
435
+ 8. Before launching or continuing any long-running lane, make progress visible through FlowDesk status, lifecycle, heartbeat, or checkpoint evidence when the tool surface exists. If no FlowDesk lane owns the work, say it is outside FlowDesk stall monitoring.
436
+ 9. Do not use OMO, OMC, Sisyphus, oh-my-openagent, or nested \`opencode run\` paths.
437
+ 10. Do not claim that FlowDesk auto-retries, auto-aborts, auto-fallbacks, force-kills, or hard-cancels chat on stall unless a first-class FlowDesk/OpenCode control surface proves it. Surface /flowdesk-status, /flowdesk-retry, /flowdesk-resume, /flowdesk-abort, /flowdesk-doctor, and /flowdesk-export-debug as safe next actions.
438
+ 11. Never persist or print raw provider tokens, auth payloads, raw prompts, transcripts, or debug bodies.
439
+
440
+ Natural-language auto-invocation policy:
441
+
442
+ 12. When the user's intent matches a registered FlowDesk natural-language tool's WHEN TO USE or ALSO PROACTIVELY USE block, call that tool directly instead of asking for confirmation. The plugin user already opted in at configuration time. Tools to auto-call on intent match: \`flowdesk_quick_reviewer_run\` (review/critique/audit), \`flowdesk_provider_usage_live\` (usage/quota/availability), \`flowdesk_status_live\` (status/progress/follow-up "방금/직전/결과는?"), \`flowdesk_quick_fallback_run\` (explicit provider switch), \`flowdesk_lane_heartbeat_record\` (heartbeat / progress signal request).
443
+ 13. Before launching a large multi-step task that depends on a specific provider (extensive refactor, long agentic loop, multi-perspective review), call \`flowdesk_provider_usage_live\` first; if worstAlertLevel is critical or exhausted, warn the user and ask whether to proceed, switch providers, or wait for reset.
444
+ 14. After invoking a real-work FlowDesk tool, when the user asks a vague follow-up about the just-completed work ("잘 됐어?", "결과는?", "how did it go?"), call \`flowdesk_status_live\` with the just-created workflowId rather than guessing from memory.
445
+ 15. When a FlowDesk tool result contains a \`summaryForUser\` string, surface that field verbatim or compress it; do not paraphrase critical fields (verdict labels, alert levels, blocker reasons) away.
446
+ 16. If user intent is ambiguous between a FlowDesk tool and general chat, ask one focused clarification question first; do not silently fall through to general chat for known intent phrases.
447
+ `;
448
+ }
449
+ function readOptionalText(path) {
450
+ try {
451
+ return { ...valid(), exists: true, text: readFileSync(path, "utf8") };
452
+ }
453
+ catch (error) {
454
+ if (error instanceof Error && "code" in error && error.code === "ENOENT")
455
+ return { ...valid(), exists: false };
456
+ const message = error instanceof Error ? error.message : "unknown error";
457
+ return { ...invalid(`profile file read failed: ${message}`), exists: false };
458
+ }
459
+ }
460
+ function materializeFlowDeskMainAgentProfile(profileRootDir) {
461
+ const root = resolve(profileRootDir);
462
+ const rootPrefix = root.endsWith(sep) ? root : `${root}${sep}`;
463
+ const agentPath = resolve(root, flowDeskMainAgentRef);
464
+ const configPath = resolve(root, "opencode.json");
465
+ if (!agentPath.startsWith(rootPrefix) || !configPath.startsWith(rootPrefix)) {
466
+ return { ...invalid("FlowDesk main agent paths escape profile root"), agentProfileFilesWritten: 0, profileConfigUpdated: false };
467
+ }
468
+ const previousConfig = readOptionalText(configPath);
469
+ if (!previousConfig.ok)
470
+ return { ...previousConfig, agentProfileFilesWritten: 0, profileConfigUpdated: false };
471
+ const previousAgent = readOptionalText(agentPath);
472
+ if (!previousAgent.ok)
473
+ return { ...previousAgent, agentProfileFilesWritten: 0, profileConfigUpdated: false };
474
+ let config;
475
+ if (previousConfig.exists && previousConfig.text !== undefined) {
476
+ try {
477
+ const parsed = JSON.parse(previousConfig.text);
478
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
479
+ return { ...invalid("opencode.json must contain an object before FlowDesk main agent installation"), agentProfileFilesWritten: 0, profileConfigUpdated: false };
480
+ config = parsed;
481
+ }
482
+ catch (error) {
483
+ const message = error instanceof Error ? error.message : "unknown error";
484
+ return { ...invalid(`opencode.json parse failed before FlowDesk main agent installation: ${message}`), agentProfileFilesWritten: 0, profileConfigUpdated: false };
485
+ }
486
+ }
487
+ else {
488
+ config = { $schema: "https://opencode.ai/config.json" };
489
+ }
490
+ if (typeof config.$schema !== "string")
491
+ config.$schema = "https://opencode.ai/config.json";
492
+ config.default_agent = flowDeskMainAgentName;
493
+ try {
494
+ mkdirSync(resolve(root, "agent"), { recursive: true });
495
+ writeFileSync(agentPath, flowDeskMainAgentMarkdown(), "utf8");
496
+ writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
497
+ }
498
+ catch (error) {
499
+ const message = error instanceof Error ? error.message : "unknown error";
500
+ return { ...invalid(`FlowDesk main agent profile write failed: ${message}`), agentProfileFilesWritten: 0, profileConfigUpdated: false };
501
+ }
502
+ return {
503
+ ...valid(),
504
+ profileRootDir: root,
505
+ writtenProfileRefs: [flowDeskMainAgentRef, "opencode.json"],
506
+ agentProfileFilesWritten: 1,
507
+ profileConfigUpdated: true,
508
+ rollbackState: {
509
+ agentPath,
510
+ agentExisted: previousAgent.exists,
511
+ previousAgentText: previousAgent.text,
512
+ configPath,
513
+ configExisted: previousConfig.exists,
514
+ previousConfigText: previousConfig.text
515
+ }
516
+ };
517
+ }
518
+ function rollbackFlowDeskMainAgentProfile(state) {
519
+ if (state === undefined)
520
+ return [];
521
+ const rolledBack = [];
522
+ if (state.agentExisted && state.previousAgentText !== undefined)
523
+ writeFileSync(state.agentPath, state.previousAgentText, "utf8");
524
+ else
525
+ rmSync(state.agentPath, { force: true });
526
+ rolledBack.push(flowDeskMainAgentRef);
527
+ if (state.configExisted && state.previousConfigText !== undefined)
528
+ writeFileSync(state.configPath, state.previousConfigText, "utf8");
529
+ else
530
+ rmSync(state.configPath, { force: true });
531
+ rolledBack.push("opencode.json");
532
+ return rolledBack;
533
+ }
400
534
  export function installFlowDeskRelease1Bootstrap(request) {
401
535
  const now = request.now ?? new Date();
402
536
  const nowIso = now.toISOString();
@@ -410,12 +544,19 @@ export function installFlowDeskRelease1Bootstrap(request) {
410
544
  const commandMaterialization = materializeFlowDeskPortableCommandFiles(request.profileRootDir);
411
545
  if (!commandMaterialization.ok) {
412
546
  const rollbackCommandRefs = rollbackCommandFiles(request.profileRootDir, commandMaterialization.writtenCommandRefs);
413
- return { ...invalid(...commandMaterialization.errors), commandMaterialization, commandFilesWritten: 0, bootstrapArtifactsWritten: 0, aliasFilesWritten: 0, rollbackCommandRefs, ...disabledBootstrapInstallAuthority };
547
+ return { ...invalid(...commandMaterialization.errors), commandMaterialization, ...resultBase(), rollbackCommandRefs };
548
+ }
549
+ const mainAgentMaterialization = materializeFlowDeskMainAgentProfile(request.profileRootDir);
550
+ if (!mainAgentMaterialization.ok) {
551
+ const rollbackCommandRefs = rollbackCommandFiles(request.profileRootDir, commandMaterialization.writtenCommandRefs);
552
+ const rollbackProfileRefs = rollbackFlowDeskMainAgentProfile(mainAgentMaterialization.rollbackState);
553
+ return { ...invalid(...mainAgentMaterialization.errors), commandMaterialization, ...resultBase(), rollbackCommandRefs, rollbackProfileRefs };
414
554
  }
415
555
  const ledgerClaim = claimPendingDurableConfirmationLedger(request, nowIso);
416
556
  if (!ledgerClaim.ok) {
417
557
  const rollbackCommandRefs = rollbackCommandFiles(request.profileRootDir, commandMaterialization.writtenCommandRefs);
418
- return { ...invalid(...ledgerClaim.errors), commandMaterialization, profileRootDir: commandMaterialization.profileRootDir, commandFilesWritten: 0, bootstrapArtifactsWritten: 0, aliasFilesWritten: 0, rollbackCommandRefs, ...disabledBootstrapInstallAuthority };
558
+ const rollbackProfileRefs = rollbackFlowDeskMainAgentProfile(mainAgentMaterialization.rollbackState);
559
+ return { ...invalid(...ledgerClaim.errors), commandMaterialization, profileRootDir: commandMaterialization.profileRootDir, ...resultBase(), rollbackCommandRefs, rollbackProfileRefs };
419
560
  }
420
561
  const commandRefs = commandMaterialization.writtenCommandRefs?.map((ref) => `command-file-${ref.replace(/[^A-Za-z0-9_.:-]/g, "-")}`) ?? [];
421
562
  const artifacts = [
@@ -429,17 +570,20 @@ export function installFlowDeskRelease1Bootstrap(request) {
429
570
  const intents = prepared.map((entry) => entry.writeIntent).filter((intent) => intent !== undefined);
430
571
  if (prepareErrors.length > 0 || intents.length !== artifacts.length) {
431
572
  const rollbackCommandRefs = rollbackCommandFiles(request.profileRootDir, commandMaterialization.writtenCommandRefs);
432
- return { ...invalid(...(prepareErrors.length > 0 ? prepareErrors : ["bootstrap artifact preparation failed"])), commandMaterialization, commandFilesWritten: 0, bootstrapArtifactsWritten: 0, aliasFilesWritten: 0, rollbackCommandRefs, ...disabledBootstrapInstallAuthority };
573
+ const rollbackProfileRefs = rollbackFlowDeskMainAgentProfile(mainAgentMaterialization.rollbackState);
574
+ return { ...invalid(...(prepareErrors.length > 0 ? prepareErrors : ["bootstrap artifact preparation failed"])), commandMaterialization, ...resultBase(), rollbackCommandRefs, rollbackProfileRefs };
433
575
  }
434
576
  const durable = applyBootstrapWriteIntentsToDurableState(request.durableStateRootDir, intents);
435
577
  if (!durable.ok) {
436
578
  const rollbackCommandRefs = rollbackCommandFiles(request.profileRootDir, commandMaterialization.writtenCommandRefs);
437
- return { ...invalid(...durable.errors), commandMaterialization, profileRootDir: commandMaterialization.profileRootDir, durableStateRootDir: durable.rootDir, bootstrapArtifactRefs: durable.writtenPaths, commandFilesWritten: 0, bootstrapArtifactsWritten: durable.writtenPaths?.length ?? 0, aliasFilesWritten: 0, rollbackCommandRefs, ...disabledBootstrapInstallAuthority };
579
+ const rollbackProfileRefs = rollbackFlowDeskMainAgentProfile(mainAgentMaterialization.rollbackState);
580
+ return { ...invalid(...durable.errors), commandMaterialization, profileRootDir: commandMaterialization.profileRootDir, durableStateRootDir: durable.rootDir, bootstrapArtifactRefs: durable.writtenPaths, ...resultBase(), bootstrapArtifactsWritten: durable.writtenPaths?.length ?? 0, rollbackCommandRefs, rollbackProfileRefs };
438
581
  }
439
582
  const ledgerWrite = markDurableConfirmationLedgerConsumed(request, nowIso);
440
583
  if (!ledgerWrite.ok) {
441
584
  const rollbackCommandRefs = rollbackCommandFiles(request.profileRootDir, commandMaterialization.writtenCommandRefs);
442
- return { ...invalid(...ledgerWrite.errors), commandMaterialization, profileRootDir: commandMaterialization.profileRootDir, durableStateRootDir: durable.rootDir, bootstrapArtifactRefs: durable.writtenPaths, commandFilesWritten: 0, bootstrapArtifactsWritten: durable.writtenPaths?.length ?? 0, aliasFilesWritten: 0, rollbackCommandRefs, ...disabledBootstrapInstallAuthority };
585
+ const rollbackProfileRefs = rollbackFlowDeskMainAgentProfile(mainAgentMaterialization.rollbackState);
586
+ return { ...invalid(...ledgerWrite.errors), commandMaterialization, profileRootDir: commandMaterialization.profileRootDir, durableStateRootDir: durable.rootDir, bootstrapArtifactRefs: durable.writtenPaths, ...resultBase(), bootstrapArtifactsWritten: durable.writtenPaths?.length ?? 0, rollbackCommandRefs, rollbackProfileRefs };
443
587
  }
444
588
  consumedBootstrapConfirmationRefs.add(request.typedConfirmation.confirmationRef);
445
589
  return {
@@ -450,6 +594,8 @@ export function installFlowDeskRelease1Bootstrap(request) {
450
594
  bootstrapArtifactRefs: durable.writtenPaths,
451
595
  bootstrapArtifactsWritten: durable.writtenPaths?.length ?? 0,
452
596
  commandFilesWritten: commandMaterialization.commandFilesWritten,
597
+ agentProfileFilesWritten: mainAgentMaterialization.agentProfileFilesWritten,
598
+ profileConfigUpdated: mainAgentMaterialization.profileConfigUpdated,
453
599
  aliasFilesWritten: 0,
454
600
  doctorHandoffRef: artifactIds.handoffId,
455
601
  ...disabledBootstrapInstallAuthority
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-installer.js","sourceRoot":"","sources":["../src/bootstrap-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap-installer.js","sourceRoot":"","sources":["../src/bootstrap-installer.ts"],"names":[],"mappings":"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"}