@flowdesk/opencode-plugin 0.1.0 → 0.1.2

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 (42) hide show
  1. package/dist/bootstrap-cli.js +0 -0
  2. package/dist/command-handlers.d.ts +5 -1
  3. package/dist/command-handlers.d.ts.map +1 -1
  4. package/dist/command-handlers.js +84 -2
  5. package/dist/command-handlers.js.map +1 -1
  6. package/dist/lane-heartbeat-writer.d.ts +43 -0
  7. package/dist/lane-heartbeat-writer.d.ts.map +1 -0
  8. package/dist/lane-heartbeat-writer.js +133 -0
  9. package/dist/lane-heartbeat-writer.js.map +1 -0
  10. package/dist/local-adapter.d.ts +12 -1
  11. package/dist/local-adapter.d.ts.map +1 -1
  12. package/dist/local-adapter.js +66 -5
  13. package/dist/local-adapter.js.map +1 -1
  14. package/dist/managed-dispatch-adapter.d.ts +506 -1
  15. package/dist/managed-dispatch-adapter.d.ts.map +1 -1
  16. package/dist/managed-dispatch-adapter.js +2624 -38
  17. package/dist/managed-dispatch-adapter.js.map +1 -1
  18. package/dist/provider-usage-live-tool.d.ts +59 -0
  19. package/dist/provider-usage-live-tool.d.ts.map +1 -0
  20. package/dist/provider-usage-live-tool.js +259 -0
  21. package/dist/provider-usage-live-tool.js.map +1 -0
  22. package/dist/quick-fallback-run.d.ts +54 -0
  23. package/dist/quick-fallback-run.d.ts.map +1 -0
  24. package/dist/quick-fallback-run.js +230 -0
  25. package/dist/quick-fallback-run.js.map +1 -0
  26. package/dist/quick-reviewer-run.d.ts +61 -0
  27. package/dist/quick-reviewer-run.d.ts.map +1 -0
  28. package/dist/quick-reviewer-run.js +397 -0
  29. package/dist/quick-reviewer-run.js.map +1 -0
  30. package/dist/runtime-reviewer-execution-bridge.d.ts +43 -0
  31. package/dist/runtime-reviewer-execution-bridge.d.ts.map +1 -0
  32. package/dist/runtime-reviewer-execution-bridge.js +313 -0
  33. package/dist/runtime-reviewer-execution-bridge.js.map +1 -0
  34. package/dist/server.d.ts +104 -6
  35. package/dist/server.d.ts.map +1 -1
  36. package/dist/server.js +1990 -99
  37. package/dist/server.js.map +1 -1
  38. package/dist/status-live-tool.d.ts +55 -0
  39. package/dist/status-live-tool.d.ts.map +1 -0
  40. package/dist/status-live-tool.js +215 -0
  41. package/dist/status-live-tool.js.map +1 -0
  42. package/package.json +3 -3
@@ -0,0 +1,313 @@
1
+ import { reloadFlowDeskSessionEvidenceV1, } from "@flowdesk/core";
2
+ import { recordFlowDeskLaneHeartbeatV1 } from "./lane-heartbeat-writer.js";
3
+ import { launchFlowDeskInjectedSdkRuntimeLaneFromPlanV1, materializeFlowDeskObservedReviewerVerdictEvidenceV1, materializeFlowDeskRuntimeLaneCompleteLifecycleEvidenceV1, materializeFlowDeskRuntimeLaneLaunchLifecycleEvidenceV1, observeInjectedSdkReviewerVerdictV1, prepareFlowDeskDurableReviewerVerdictLinkageAdapterV1, prepareFlowDeskReviewerTypedVerdictAcceptanceAdapterV1, } from "./managed-dispatch-adapter.js";
4
+ const disabledAuthority = {
5
+ productionRegistrationEligible: false,
6
+ dispatchApprovalEligible: false,
7
+ realOpenCodeDispatch: false,
8
+ actualLaneLaunch: false,
9
+ providerCall: false,
10
+ runtimeExecution: false,
11
+ fallbackAuthority: false,
12
+ hardCancelOrNoReplyAuthority: false,
13
+ };
14
+ function isRecord(value) {
15
+ return typeof value === "object" && value !== null && !Array.isArray(value);
16
+ }
17
+ export function runtimeReviewerExecutionExpectationFromValue(value) {
18
+ if (!isRecord(value))
19
+ return undefined;
20
+ const required = [
21
+ "launchPlanEvidenceId",
22
+ "lanePlanRef",
23
+ "bindingRef",
24
+ "perspective",
25
+ "promptText",
26
+ "runningLifecycleEvidenceId",
27
+ "completeLifecycleEvidenceId",
28
+ "reviewerVerdictEvidenceId",
29
+ "outputRef",
30
+ "runtimeEchoRef",
31
+ "telemetryRef",
32
+ ];
33
+ if (required.some((key) => typeof value[key] !== "string" || value[key].trim().length === 0))
34
+ return undefined;
35
+ return {
36
+ launchPlanEvidenceId: value.launchPlanEvidenceId,
37
+ lanePlanRef: value.lanePlanRef,
38
+ bindingRef: value.bindingRef,
39
+ perspective: value.perspective,
40
+ promptText: value.promptText,
41
+ runningLifecycleEvidenceId: value.runningLifecycleEvidenceId,
42
+ completeLifecycleEvidenceId: value.completeLifecycleEvidenceId,
43
+ reviewerVerdictEvidenceId: value.reviewerVerdictEvidenceId,
44
+ outputRef: value.outputRef,
45
+ runtimeEchoRef: value.runtimeEchoRef,
46
+ telemetryRef: value.telemetryRef,
47
+ ...(typeof value.title === "string" && value.title.trim().length > 0
48
+ ? { title: value.title }
49
+ : {}),
50
+ };
51
+ }
52
+ export function runtimeReviewerExecutionExpectationsFromValue(value) {
53
+ if (!Array.isArray(value) || value.length === 0)
54
+ return undefined;
55
+ const expectations = value.map(runtimeReviewerExecutionExpectationFromValue);
56
+ return expectations.every((expectation) => expectation !== undefined)
57
+ ? expectations
58
+ : undefined;
59
+ }
60
+ function runtimeLaunchPlanFromReloadedEvidence(input) {
61
+ const entry = input.reloadedEvidence.entries.find((candidate) => candidate.evidenceClass === "runtime_lane_launch_plan" &&
62
+ candidate.evidenceId === input.evidenceId);
63
+ return entry?.record;
64
+ }
65
+ export function redactedRuntimeReviewerExecutionBlocked(reason) {
66
+ return {
67
+ adapterProfile: "runtime_reviewer_execution_bridge",
68
+ status: "blocked_before_runtime_reviewer_execution",
69
+ launchAttempted: false,
70
+ writeAttempted: false,
71
+ evidenceReloaded: false,
72
+ redactedBlockReason: reason,
73
+ safeNextActions: ["/flowdesk-status"],
74
+ authority: { ...disabledAuthority, toolAuthority: false },
75
+ };
76
+ }
77
+ export async function executeFlowDeskRuntimeReviewerExecutionBridgeV1(input) {
78
+ const workflowId = typeof input.request.workflowId === "string"
79
+ ? input.request.workflowId
80
+ : undefined;
81
+ const attemptId = typeof input.request.attemptId === "string"
82
+ ? input.request.attemptId
83
+ : undefined;
84
+ const parentSessionId = typeof input.request.parentSessionId === "string"
85
+ ? input.request.parentSessionId
86
+ : undefined;
87
+ const observedAt = typeof input.request.observedAt === "string"
88
+ ? input.request.observedAt
89
+ : new Date().toISOString();
90
+ const expectations = runtimeReviewerExecutionExpectationsFromValue(input.request.verdictExpectations);
91
+ const consumedApproval = isRecord(input.request.consumedReviewerFanoutApproval)
92
+ ? input.request
93
+ .consumedReviewerFanoutApproval
94
+ : undefined;
95
+ if (workflowId === undefined ||
96
+ attemptId === undefined ||
97
+ parentSessionId === undefined ||
98
+ expectations === undefined ||
99
+ input.request.allowActualLaneLaunch !== true ||
100
+ consumedApproval === undefined)
101
+ return redactedRuntimeReviewerExecutionBlocked("Runtime reviewer execution requires workflowId, attemptId, parentSessionId, allowActualLaneLaunch=true, consumedReviewerFanoutApproval, and verdictExpectations.");
102
+ const reloadedBefore = reloadFlowDeskSessionEvidenceV1({
103
+ workflowId,
104
+ rootDir: input.rootDir,
105
+ });
106
+ if (!reloadedBefore.ok || reloadedBefore.blocked.length > 0)
107
+ return redactedRuntimeReviewerExecutionBlocked("runtime reviewer execution evidence reload failed");
108
+ const verdicts = [];
109
+ const lanes = [];
110
+ let launchAttempted = false;
111
+ let writeAttempted = false;
112
+ for (const expectation of expectations) {
113
+ const launchPlan = runtimeLaunchPlanFromReloadedEvidence({
114
+ reloadedEvidence: reloadedBefore,
115
+ evidenceId: expectation.launchPlanEvidenceId,
116
+ });
117
+ if (launchPlan === undefined) {
118
+ lanes.push({
119
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
120
+ perspective: expectation.perspective,
121
+ launchStatus: "missing_launch_plan",
122
+ redactedBlockReason: "runtime launch plan evidence is missing",
123
+ });
124
+ continue;
125
+ }
126
+ launchAttempted = true;
127
+ const launchResult = await launchFlowDeskInjectedSdkRuntimeLaneFromPlanV1({
128
+ client: input.client,
129
+ launchPlan,
130
+ request: {
131
+ allowActualLaneLaunch: true,
132
+ parentSessionId,
133
+ promptText: expectation.promptText,
134
+ dispatchMethod: "prompt",
135
+ ...(expectation.title === undefined
136
+ ? {}
137
+ : { title: expectation.title }),
138
+ },
139
+ });
140
+ const runningLifecycle = materializeFlowDeskRuntimeLaneLaunchLifecycleEvidenceV1({
141
+ rootDir: input.rootDir,
142
+ launchPlan,
143
+ launchResult,
144
+ evidenceId: expectation.runningLifecycleEvidenceId,
145
+ observedAt,
146
+ });
147
+ writeAttempted = writeAttempted || runningLifecycle.writeAttempted;
148
+ if (launchResult.status === "lane_launch_started") {
149
+ const laneId = launchPlan.lane_id ?? "";
150
+ const parentSessionRef = launchPlan.parent_session_ref ?? "";
151
+ const agentRef = launchPlan.agent_ref ?? "";
152
+ const providerQualifiedModelId = launchPlan.provider_qualified_model_id ?? "";
153
+ if (laneId.length > 0 &&
154
+ parentSessionRef.length > 0 &&
155
+ agentRef.length > 0 &&
156
+ providerQualifiedModelId.length > 0) {
157
+ const heartbeat = recordFlowDeskLaneHeartbeatV1({
158
+ rootDir: input.rootDir,
159
+ workflowId,
160
+ attemptId,
161
+ laneId,
162
+ parentSessionRef,
163
+ agentRef,
164
+ providerQualifiedModelId,
165
+ state: "running",
166
+ observedAt,
167
+ progressSummaryLabel: `reviewer lane ${expectation.perspective} launch heartbeat`,
168
+ });
169
+ writeAttempted = writeAttempted || heartbeat.writeAttempted;
170
+ }
171
+ }
172
+ if (launchResult.status !== "lane_launch_started") {
173
+ lanes.push({
174
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
175
+ perspective: expectation.perspective,
176
+ launchStatus: launchResult.status,
177
+ runningLifecycle: runningLifecycle.lifecycleState,
178
+ redactedBlockReason: "runtime lane launch did not start",
179
+ });
180
+ continue;
181
+ }
182
+ const childSessionId = launchResult.childSessionRef?.startsWith("ses-")
183
+ ? launchResult.childSessionRef.slice("ses-".length)
184
+ : undefined;
185
+ if (childSessionId === undefined) {
186
+ lanes.push({
187
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
188
+ perspective: expectation.perspective,
189
+ launchStatus: launchResult.status,
190
+ runningLifecycle: runningLifecycle.lifecycleState,
191
+ redactedBlockReason: "runtime lane launch did not return a child session ref",
192
+ });
193
+ continue;
194
+ }
195
+ const observation = await observeInjectedSdkReviewerVerdictV1({
196
+ client: input.client,
197
+ request: {
198
+ sessionId: childSessionId,
199
+ workflowId,
200
+ lanePlanRef: expectation.lanePlanRef,
201
+ bindingRef: expectation.bindingRef,
202
+ perspective: expectation.perspective,
203
+ },
204
+ });
205
+ if (observation.status !== "verdict_observed") {
206
+ lanes.push({
207
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
208
+ perspective: expectation.perspective,
209
+ launchStatus: launchResult.status,
210
+ runningLifecycle: runningLifecycle.lifecycleState,
211
+ observationStatus: observation.status,
212
+ redactedBlockReason: "typed reviewer verdict was not observed",
213
+ });
214
+ continue;
215
+ }
216
+ const observedVerdict = observation.verdict;
217
+ if (observedVerdict === undefined) {
218
+ lanes.push({
219
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
220
+ perspective: expectation.perspective,
221
+ launchStatus: launchResult.status,
222
+ runningLifecycle: runningLifecycle.lifecycleState,
223
+ observationStatus: observation.status,
224
+ redactedBlockReason: "typed reviewer verdict observation did not include a verdict record",
225
+ });
226
+ continue;
227
+ }
228
+ const verdictMaterialization = materializeFlowDeskObservedReviewerVerdictEvidenceV1({
229
+ rootDir: input.rootDir,
230
+ observation,
231
+ evidenceId: expectation.reviewerVerdictEvidenceId,
232
+ });
233
+ const completeLifecycle = materializeFlowDeskRuntimeLaneCompleteLifecycleEvidenceV1({
234
+ rootDir: input.rootDir,
235
+ launchPlan,
236
+ launchResult,
237
+ verdictObservation: observation,
238
+ evidenceId: expectation.completeLifecycleEvidenceId,
239
+ observedAt,
240
+ outputRef: expectation.outputRef,
241
+ runtimeEchoRef: expectation.runtimeEchoRef,
242
+ telemetryRef: expectation.telemetryRef,
243
+ });
244
+ writeAttempted = true;
245
+ if (verdictMaterialization.status !== "verdict_evidence_recorded" ||
246
+ completeLifecycle.status !== "lane_lifecycle_recorded") {
247
+ lanes.push({
248
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
249
+ perspective: expectation.perspective,
250
+ launchStatus: launchResult.status,
251
+ runningLifecycle: runningLifecycle.lifecycleState,
252
+ observationStatus: observation.status,
253
+ verdictMaterializationStatus: verdictMaterialization.status,
254
+ completeLifecycle: completeLifecycle.lifecycleState,
255
+ redactedBlockReason: "runtime reviewer durable evidence materialization failed",
256
+ });
257
+ continue;
258
+ }
259
+ verdicts.push(observedVerdict);
260
+ lanes.push({
261
+ launchPlanEvidenceId: expectation.launchPlanEvidenceId,
262
+ perspective: expectation.perspective,
263
+ launchStatus: launchResult.status,
264
+ runningLifecycle: runningLifecycle.lifecycleState,
265
+ observationStatus: observation.status,
266
+ verdictMaterializationStatus: verdictMaterialization.status,
267
+ completeLifecycle: completeLifecycle.lifecycleState,
268
+ verdictId: observation.verdictId,
269
+ });
270
+ }
271
+ const acceptance = prepareFlowDeskReviewerTypedVerdictAcceptanceAdapterV1({
272
+ workflowId,
273
+ attemptId,
274
+ verdicts,
275
+ consumedApproval,
276
+ });
277
+ const reloadedAfter = reloadFlowDeskSessionEvidenceV1({
278
+ workflowId,
279
+ rootDir: input.rootDir,
280
+ });
281
+ const durableLinkage = prepareFlowDeskDurableReviewerVerdictLinkageAdapterV1({
282
+ workflowId,
283
+ attemptId,
284
+ verdicts,
285
+ consumedApproval,
286
+ reloadedEvidence: reloadedAfter,
287
+ });
288
+ return {
289
+ adapterProfile: "runtime_reviewer_execution_bridge",
290
+ status: durableLinkage.status === "durable_verdicts_accepted"
291
+ ? "runtime_reviewer_execution_completed"
292
+ : "runtime_reviewer_execution_incomplete",
293
+ launchAttempted,
294
+ writeAttempted,
295
+ evidenceReloaded: reloadedAfter.ok,
296
+ workflowId,
297
+ attemptId,
298
+ laneCount: lanes.length,
299
+ lanes,
300
+ acceptanceStatus: acceptance.status,
301
+ acceptedPerspectives: acceptance.acceptedPerspectives,
302
+ durableLinkageStatus: durableLinkage.status,
303
+ linkedVerdictCount: durableLinkage.linkedVerdictIds.length,
304
+ linkedLifecycleCount: durableLinkage.linkedLifecycleRefs.length,
305
+ blockedCount: reloadedAfter.blocked.length,
306
+ safeNextActions: ["/flowdesk-status"],
307
+ authority: {
308
+ ...durableLinkage.authority,
309
+ toolAuthority: false,
310
+ },
311
+ };
312
+ }
313
+ //# sourceMappingURL=runtime-reviewer-execution-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-reviewer-execution-bridge.js","sourceRoot":"","sources":["../src/runtime-reviewer-execution-bridge.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,7 +1,11 @@
1
- import type { Plugin } from "@opencode-ai/plugin";
2
- import { tool } from "@opencode-ai/plugin";
1
+ import { type FlowDeskChatHookAuthorityProbeV1, type FlowDeskDefaultManagedDispatchAuthorizationV1, type FlowDeskProductionApprovalSourceV1, type FlowDeskReviewerFanoutFromReloadedCacheEvidenceInputV1 } from "@flowdesk/core";
2
+ import { type Plugin, tool } from "@opencode-ai/plugin";
3
3
  import { type FlowDeskLocalClockV1, type FlowDeskLocalNonDispatchAdapterSessionV1 } from "./local-adapter.js";
4
- import { type FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-dispatch-adapter.js";
4
+ import { type FlowDeskExactModelProviderAcquisitionClientV1, type FlowDeskManagedDispatchBetaOpenCodeClientV1, type FlowDeskManagedDispatchBetaReservationStoreV1 } from "./managed-dispatch-adapter.js";
5
+ import { type FlowDeskRuntimeReviewerExecutionExpectationV1 } from "./runtime-reviewer-execution-bridge.js";
6
+ import { type FlowDeskProviderUsageLiveConfigV1 } from "./provider-usage-live-tool.js";
7
+ import { type FlowDeskStatusLiveConfigV1 } from "./status-live-tool.js";
8
+ import { type FlowDeskQuickFallbackRunConfigV1 } from "./quick-fallback-run.js";
5
9
  export declare const flowdeskPreSpikeDoctorToolName: "flowdesk_pre_spike_doctor";
6
10
  export declare const flowdeskChatIntakeToolName: "flowdesk_chat_intake";
7
11
  export declare const flowdeskFds1SchemaConversionProbeOption: "fds1SchemaConversionProbe";
@@ -9,17 +13,111 @@ export declare const flowdeskLocalNonDispatchAdapterOption: "localNonDispatchAda
9
13
  export declare const flowdeskNaturalLanguageRoutingOption: "naturalLanguageRouting";
10
14
  export declare const flowdeskDurableStateRootOption: "durableStateRoot";
11
15
  export declare const flowdeskProductionEnablementOption: "productionEnablement";
16
+ export declare const flowdeskReviewerFanoutDiagnosticsOption: "reviewerFanoutDiagnostics";
12
17
  export declare const flowdeskManagedDispatchBetaAdapterOption: "managedDispatchBetaAdapter";
18
+ export declare const flowdeskExactModelProviderAcquisitionLiveTestOption: "exactModelProviderAcquisitionLiveTest";
19
+ export declare const flowdeskRuntimeReviewerExecutionOption: "runtimeReviewerExecution";
20
+ export declare const flowdeskManagedFallbackRegateOption: "managedFallbackRegate";
21
+ export declare const flowdeskQuickReviewerRunOption: "quickReviewerRun";
22
+ export declare const flowdeskProviderUsageLiveOption: "providerUsageLive";
23
+ export declare const flowdeskStatusLiveOption: "statusLive";
24
+ export declare const flowdeskQuickFallbackRunOption: "quickFallbackRun";
25
+ export declare const flowdeskLaneHeartbeatWriterOption: "laneHeartbeatWriter";
26
+ export declare const flowdeskDefaultManagedDispatchAuthorizationOption: "defaultManagedDispatchAuthorization";
13
27
  export declare const flowdeskManagedDispatchBetaToolName: "flowdesk_managed_dispatch_beta";
28
+ export declare const flowdeskExactModelProviderAcquisitionLiveTestToolName: "flowdesk_exact_model_provider_acquisition_live_test";
29
+ export declare const flowdeskRuntimeReviewerExecutionToolName: "flowdesk_runtime_reviewer_execution";
30
+ export declare const flowdeskManagedFallbackRegateToolName: "flowdesk_managed_fallback_regate";
31
+ export declare const flowdeskQuickReviewerRunToolName: "flowdesk_quick_reviewer_run";
32
+ export declare const flowdeskProviderUsageLiveToolName: "flowdesk_provider_usage_live";
33
+ export declare const flowdeskStatusLiveToolName: "flowdesk_status_live";
34
+ export declare const flowdeskQuickFallbackRunToolName: "flowdesk_quick_fallback_run";
35
+ export declare const flowdeskLaneHeartbeatWriterToolName: "flowdesk_lane_heartbeat_record";
36
+ interface FlowDeskExactModelProviderAcquisitionCacheMaterializationOptionsV1 {
37
+ enabled: true;
38
+ targetCacheEvidenceId: string;
39
+ targetCacheRefreshPlanEvidenceId: string;
40
+ cacheId?: string;
41
+ entryId?: string;
42
+ reviewerFanoutPlanning?: FlowDeskProviderAcquisitionReviewerFanoutPlanningOptionsV1;
43
+ }
44
+ interface FlowDeskProviderAcquisitionReviewerFanoutPlanningOptionsV1 extends Omit<FlowDeskReviewerFanoutFromReloadedCacheEvidenceInputV1, "reloadedEvidence" | "workflowId" | "localDate" | "activeProfileRef" | "opencodeVersionRef" | "flowdeskPackageVersionRef" | "registryHash" | "policyPackHash" | "authAccountBoundaryRef" | "requestedAt"> {
45
+ enabled: true;
46
+ requestedAt?: string;
47
+ persistDerivedFanoutPlanEvidence?: boolean;
48
+ fanoutPlanEvidenceId?: string;
49
+ runtimeLaunchPlanMaterialization?: FlowDeskProviderAcquisitionRuntimeLaunchPlanMaterializationOptionsV1;
50
+ }
51
+ interface FlowDeskProviderAcquisitionRuntimeLaunchPlanMaterializationOptionsV1 {
52
+ enabled: true;
53
+ targetLaunchPlanEvidenceIds: string[];
54
+ sdkClientAvailable?: boolean;
55
+ durableEvidenceRootRef?: string;
56
+ runtimeReviewerExecution?: FlowDeskProviderAcquisitionRuntimeReviewerExecutionOptionsV1;
57
+ }
58
+ interface FlowDeskProviderAcquisitionRuntimeReviewerExecutionOptionsV1 {
59
+ enabled: true;
60
+ attemptId: string;
61
+ parentSessionId: string;
62
+ observedAt?: string;
63
+ consumedReviewerFanoutApproval: FlowDeskProductionApprovalSourceV1;
64
+ verdictExpectations: FlowDeskRuntimeReviewerExecutionExpectationV1[];
65
+ }
14
66
  type FlowDeskOpenCodeTool = ReturnType<typeof tool>;
67
+ export interface FlowDeskManagedDispatchRunRouteOptionsV1 {
68
+ client?: FlowDeskManagedDispatchBetaOpenCodeClientV1;
69
+ reservationStore?: FlowDeskManagedDispatchBetaReservationStoreV1;
70
+ durableStateRootDir?: string;
71
+ defaultAuthorization?: FlowDeskDefaultManagedDispatchAuthorizationV1;
72
+ }
15
73
  interface FlowDeskChatMessageOutput {
16
74
  parts?: unknown[];
17
75
  }
76
+ export interface FlowDeskChatHookAuthorityObservationInputV1 {
77
+ probeId: string;
78
+ chatHookRef: string;
79
+ observedAt: string;
80
+ beforePartsCount: number;
81
+ afterPartsCount: number;
82
+ hookThrew?: boolean;
83
+ throwBlockedReplyObserved?: boolean;
84
+ returnValue?: unknown;
85
+ duplicateAssistantReplyObserved?: boolean;
86
+ timeoutOrNullFailClosed?: boolean;
87
+ malformedReturnFailClosed?: boolean;
88
+ evidenceRefs?: string[];
89
+ }
90
+ export declare function createFlowDeskChatHookAuthorityProbeFromObservationV1(input: FlowDeskChatHookAuthorityObservationInputV1): FlowDeskChatHookAuthorityProbeV1;
18
91
  export declare function createFlowDeskFds1SchemaConversionProbeTools(): Record<string, FlowDeskOpenCodeTool>;
19
- export declare function createFlowDeskLocalNonDispatchAdapterTools(now?: Date, session?: FlowDeskLocalNonDispatchAdapterSessionV1): Record<string, FlowDeskOpenCodeTool>;
92
+ export declare function createFlowDeskLocalNonDispatchAdapterTools(now?: Date, session?: FlowDeskLocalNonDispatchAdapterSessionV1, managedDispatchRunRoute?: FlowDeskManagedDispatchRunRouteOptionsV1): Record<string, FlowDeskOpenCodeTool>;
20
93
  export declare function createFlowDeskNaturalLanguageRoutingTools(now?: Date, session?: FlowDeskLocalNonDispatchAdapterSessionV1): Record<string, FlowDeskOpenCodeTool>;
21
- export declare function createFlowDeskManagedDispatchBetaOptInTools(client: FlowDeskManagedDispatchBetaOpenCodeClientV1): Record<string, FlowDeskOpenCodeTool>;
22
- export declare function createFlowDeskNaturalLanguageChatMessageHook(now?: FlowDeskLocalClockV1, session?: FlowDeskLocalNonDispatchAdapterSessionV1): (input: unknown, output: FlowDeskChatMessageOutput) => Promise<void>;
94
+ export declare function createFlowDeskManagedDispatchBetaOptInTools(client: FlowDeskManagedDispatchBetaOpenCodeClientV1, reservationStore?: FlowDeskManagedDispatchBetaReservationStoreV1, durableStateRootDir?: string): Record<string, FlowDeskOpenCodeTool>;
95
+ export declare function createFlowDeskExactModelProviderAcquisitionLiveTestOptInTools(client: FlowDeskExactModelProviderAcquisitionClientV1, rootDir: string, cacheMaterialization?: FlowDeskExactModelProviderAcquisitionCacheMaterializationOptionsV1, runtimeReviewerExecutionClient?: FlowDeskManagedDispatchBetaOpenCodeClientV1): Record<string, FlowDeskOpenCodeTool>;
96
+ export interface FlowDeskChatMessageStallAlertOptionsV1 {
97
+ rootDir: string;
98
+ maxWorkflows?: number;
99
+ laneHeartbeatLateThresholdMs?: number;
100
+ laneHeartbeatStallThresholdMs?: number;
101
+ includeProgressingLate?: boolean;
102
+ }
103
+ export declare function createFlowDeskNaturalLanguageChatMessageHook(now?: FlowDeskLocalClockV1, session?: FlowDeskLocalNonDispatchAdapterSessionV1, stallAlert?: FlowDeskChatMessageStallAlertOptionsV1): (input: unknown, output: FlowDeskChatMessageOutput) => Promise<void>;
104
+ export declare function createFlowDeskRuntimeReviewerExecutionOptInTools(client: FlowDeskManagedDispatchBetaOpenCodeClientV1, rootDir: string): Record<string, FlowDeskOpenCodeTool>;
105
+ export declare function createFlowDeskQuickReviewerRunOptInTools(client: FlowDeskManagedDispatchBetaOpenCodeClientV1, defaults: {
106
+ providerQualifiedModelId?: string;
107
+ runtimeAgent?: string;
108
+ sourceLabel?: string;
109
+ rootDir?: string;
110
+ }): Record<string, FlowDeskOpenCodeTool>;
111
+ export declare function createFlowDeskManagedFallbackRegateOptInTools(rootDir?: string): Record<string, FlowDeskOpenCodeTool>;
112
+ export declare function createFlowDeskQuickFallbackRunOptInTools(config: FlowDeskQuickFallbackRunConfigV1): Record<string, FlowDeskOpenCodeTool>;
113
+ interface FlowDeskLaneHeartbeatWriterConfigV1 {
114
+ rootDir: string;
115
+ defaultExpectedIntervalMs?: number;
116
+ }
117
+ export declare function createFlowDeskLaneHeartbeatWriterOptInTools(config: FlowDeskLaneHeartbeatWriterConfigV1): Record<string, FlowDeskOpenCodeTool>;
118
+ export declare function createFlowDeskStatusLiveOptInTools(config: FlowDeskStatusLiveConfigV1): Record<string, FlowDeskOpenCodeTool>;
119
+ export declare function createFlowDeskProviderUsageLiveOptInTools(config: FlowDeskProviderUsageLiveConfigV1): Record<string, FlowDeskOpenCodeTool>;
120
+ export declare const flowdeskChatMessageStallAlertOption: "chatMessageStallAlert";
23
121
  export declare const flowdeskOpenCodeServerPlugin: {
24
122
  id: "flowdesk";
25
123
  server: Plugin;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAO3C,OAAO,EAAgD,KAAK,oBAAoB,EAAE,KAAK,wCAAwC,EAA2F,MAAM,oBAAoB,CAAC;AACrP,OAAO,EAIL,KAAK,2CAA2C,EACjD,MAAM,+BAA+B,CAAC;AASvC,eAAO,MAAM,8BAA8B,EAAG,2BAAoC,CAAC;AACnF,eAAO,MAAM,0BAA0B,EAAG,sBAA+B,CAAC;AAC1E,eAAO,MAAM,uCAAuC,EAAG,2BAAoC,CAAC;AAC5F,eAAO,MAAM,qCAAqC,EAAG,yBAAkC,CAAC;AACxF,eAAO,MAAM,oCAAoC,EAAG,wBAAiC,CAAC;AACtF,eAAO,MAAM,8BAA8B,EAAG,kBAA2B,CAAC;AAC1E,eAAO,MAAM,kCAAkC,EAAG,sBAA+B,CAAC;AAClF,eAAO,MAAM,wCAAwC,EAAG,4BAAqC,CAAC;AAC9F,eAAO,MAAM,mCAAmC,EAAG,gCAAyC,CAAC;AAE7F,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AAIpD,UAAU,yBAAyB;IACjC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAkPD,wBAAgB,4CAA4C,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAqBnG;AAED,wBAAgB,0CAA0C,CAAC,GAAG,OAAa,EAAE,OAAO,2CAAoD,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAqB9K;AAED,wBAAgB,yCAAyC,CAAC,GAAG,OAAa,EAAE,OAAO,2CAAoD,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAgB7K;AAqBD,wBAAgB,2CAA2C,CAAC,MAAM,EAAE,2CAA2C,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CA6BrJ;AAED,wBAAgB,4CAA4C,CAAC,GAAG,GAAE,oBAAuC,EAAE,OAAO,2CAAoD,IAEtI,OAAO,OAAO,EAAE,QAAQ,yBAAyB,KAAG,OAAO,CAAC,IAAI,CAAC,CAmBhG;AAsFD,eAAO,MAAM,4BAA4B;;;CAGjB,CAAC;AAEzB,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}