@flowdesk/opencode-plugin 0.1.11 → 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 (43) 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/quick-reviewer-run.d.ts +13 -2
  21. package/dist/quick-reviewer-run.d.ts.map +1 -1
  22. package/dist/quick-reviewer-run.js +213 -69
  23. package/dist/quick-reviewer-run.js.map +1 -1
  24. package/dist/runtime-reviewer-execution-bridge.d.ts.map +1 -1
  25. package/dist/runtime-reviewer-execution-bridge.js +46 -1
  26. package/dist/runtime-reviewer-execution-bridge.js.map +1 -1
  27. package/dist/server.d.ts +47 -1
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +467 -59
  30. package/dist/server.js.map +1 -1
  31. package/dist/shared/with-timeout.d.ts +12 -0
  32. package/dist/shared/with-timeout.d.ts.map +1 -0
  33. package/dist/shared/with-timeout.js +31 -0
  34. package/dist/shared/with-timeout.js.map +1 -0
  35. package/dist/stall-recovery.d.ts +187 -0
  36. package/dist/stall-recovery.d.ts.map +1 -0
  37. package/dist/stall-recovery.js +962 -0
  38. package/dist/stall-recovery.js.map +1 -0
  39. package/dist/status-live-tool.d.ts +1 -0
  40. package/dist/status-live-tool.d.ts.map +1 -1
  41. package/dist/status-live-tool.js +128 -1
  42. package/dist/status-live-tool.js.map +1 -1
  43. package/package.json +2 -2
@@ -0,0 +1,187 @@
1
+ import { type FlowDeskAutoRetryResultV1 } from "@flowdesk/core";
2
+ import type { FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-dispatch-adapter.js";
3
+ export interface FlowDeskTimeoutConfig {
4
+ sessionReadMs?: number;
5
+ }
6
+ export type FlowDeskSdkSessionHealthV1 = {
7
+ status: "api_responsive";
8
+ } | {
9
+ status: "api_timeout";
10
+ reason: string;
11
+ } | {
12
+ status: "unknown";
13
+ reason: string;
14
+ };
15
+ export declare function checkSdkSessionApiHealthV1(client: FlowDeskManagedDispatchBetaOpenCodeClientV1, sessionId: string, timeouts?: FlowDeskTimeoutConfig): Promise<FlowDeskSdkSessionHealthV1>;
16
+ export type FlowDeskLaneAbortHelperResultV1 = {
17
+ status: "aborted";
18
+ lane_id: string;
19
+ lifecycle_evidence_id: string;
20
+ reason: string;
21
+ } | {
22
+ status: "blocked";
23
+ reason: string;
24
+ current_state?: string;
25
+ } | {
26
+ status: "write_failed";
27
+ reason: string;
28
+ };
29
+ export interface FlowDeskGuardSignOffV1 {
30
+ schema_version: "flowdesk.guard_sign_off.v1";
31
+ sign_off_id: string;
32
+ created_at: string;
33
+ target_markdown_sha256: string;
34
+ p6_safe: boolean;
35
+ nonce: string;
36
+ expires_at?: string;
37
+ hmac_sha256: string;
38
+ dispatch_authority_enabled: false;
39
+ }
40
+ export interface FlowDeskAutoAbortConfigV1 {
41
+ autoAbortOnStall?: boolean;
42
+ preAbortWarningMs?: number;
43
+ guardSignOffPath?: string;
44
+ guardHmacKey?: string;
45
+ productionMode?: boolean;
46
+ autoRetryAfterAbort?: boolean;
47
+ maxAutoRetries?: number;
48
+ }
49
+ export type FlowDeskAutoAbortEnablementV1 = {
50
+ enabled: true;
51
+ sign_off_id: string;
52
+ } | {
53
+ enabled: false;
54
+ reason: string;
55
+ };
56
+ export type FlowDeskGuardedAutoAbortResultV1 = {
57
+ status: "noop";
58
+ reason: string;
59
+ } | {
60
+ status: "manual_recommended";
61
+ reason: string;
62
+ } | {
63
+ status: "warning_issued";
64
+ warning_id: string;
65
+ expires_at: string;
66
+ cancel_command: string;
67
+ } | {
68
+ status: "warning_pending";
69
+ warning_id: string;
70
+ expires_at: string;
71
+ cancel_command: string;
72
+ } | {
73
+ status: "warning_cancelled";
74
+ warning_id: string;
75
+ cancel_id: string;
76
+ } | {
77
+ status: "auto_abort_executed";
78
+ warning_id: string;
79
+ lifecycle_evidence_id: string;
80
+ } | {
81
+ status: "blocked";
82
+ reason: string;
83
+ };
84
+ export declare function verifyGuardSignOffHmacV1(input: {
85
+ signOff: unknown;
86
+ markdownText: string;
87
+ hmacKey: string | undefined;
88
+ now?: Date;
89
+ }): {
90
+ ok: true;
91
+ signOff: FlowDeskGuardSignOffV1;
92
+ } | {
93
+ ok: false;
94
+ reason: string;
95
+ };
96
+ export declare function computeGuardSignOffHmacV1(input: {
97
+ unsignedSignOff: Omit<FlowDeskGuardSignOffV1, "hmac_sha256">;
98
+ hmacKey: string;
99
+ }): string;
100
+ export declare function isAutoAbortEnabledV1(input: {
101
+ config: FlowDeskAutoAbortConfigV1;
102
+ rootDir: string;
103
+ now?: Date;
104
+ env?: Record<string, string | undefined>;
105
+ loadedSignOff?: {
106
+ signOff: unknown;
107
+ markdownText: string;
108
+ };
109
+ }): FlowDeskAutoAbortEnablementV1;
110
+ export declare function validateAndAbortFlowDeskLaneEvidenceV1(input: {
111
+ rootDir: string;
112
+ workflow_id: string;
113
+ lane_id: string;
114
+ now?: () => Date;
115
+ requireExplicitOwnership?: boolean;
116
+ }): FlowDeskLaneAbortHelperResultV1;
117
+ export declare function cancelPendingAbortWarningEvidenceV1(input: {
118
+ rootDir: string;
119
+ workflow_id: string;
120
+ lane_id: string;
121
+ warning_id_ref: string;
122
+ now?: () => Date;
123
+ }): FlowDeskGuardedAutoAbortResultV1;
124
+ export declare function evaluateGuardedAutoAbortHookV1(input: {
125
+ rootDir: string;
126
+ workflow_id: string;
127
+ lane_id: string;
128
+ config: FlowDeskAutoAbortConfigV1;
129
+ stallConfirmed: boolean;
130
+ sdkSessionHealth: FlowDeskSdkSessionHealthV1;
131
+ now?: () => Date;
132
+ loadedSignOff?: {
133
+ signOff: unknown;
134
+ markdownText: string;
135
+ };
136
+ env?: Record<string, string | undefined>;
137
+ }): FlowDeskGuardedAutoAbortResultV1;
138
+ /**
139
+ * On startup/reload: any `pending_retry_plan` in `launched` state with no matching
140
+ * `retry_executed` or `retry_failed` within 10 minutes of `created_at` is reconciled
141
+ * as `retry_failed(indeterminate_launch)`.
142
+ */
143
+ export declare function reconcileStalePendingRetryPlansV1(input: {
144
+ rootDir: string;
145
+ workflowId: string;
146
+ now?: Date;
147
+ staleThresholdMs?: number;
148
+ }): void;
149
+ /**
150
+ * Evaluate guarded auto-retry hook following the execution order from the design doc exactly.
151
+ * Called after `evaluateGuardedAutoAbortHookV1` returns `auto_abort_executed`.
152
+ */
153
+ export declare function evaluateGuardedAutoRetryHookV1(input: {
154
+ config: FlowDeskAutoAbortConfigV1;
155
+ rootDir: string;
156
+ workflowId: string;
157
+ laneId: string;
158
+ abortEvidenceId: string;
159
+ client: FlowDeskManagedDispatchBetaOpenCodeClientV1 | undefined;
160
+ parentSessionId: string;
161
+ timeoutMs?: number;
162
+ abortSignal?: AbortSignal;
163
+ now?: Date;
164
+ }): Promise<FlowDeskAutoRetryResultV1>;
165
+ export interface FlowDeskWatchdogConfigV1 {
166
+ enabled?: boolean;
167
+ intervalMs?: number;
168
+ stallThresholdMs?: number;
169
+ mcpTriggerEnabled?: boolean;
170
+ }
171
+ export interface FlowDeskWatchdogCycleResultV1 {
172
+ cycleAt: string;
173
+ guardValid: boolean;
174
+ lanesChecked: number;
175
+ lanesAborted: number;
176
+ lanesRetried: number;
177
+ lanesFailed: number;
178
+ skippedReason?: string;
179
+ }
180
+ export declare function runFlowDeskWatchdogCycleV1(input: {
181
+ config: FlowDeskAutoAbortConfigV1;
182
+ rootDir: string;
183
+ client: FlowDeskManagedDispatchBetaOpenCodeClientV1 | undefined;
184
+ parentSessionId: string;
185
+ now?: Date;
186
+ }): Promise<FlowDeskWatchdogCycleResultV1>;
187
+ //# sourceMappingURL=stall-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stall-recovery.d.ts","sourceRoot":"","sources":["../src/stall-recovery.ts"],"names":[],"mappings":"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"}