@flowdesk/opencode-plugin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bootstrap-cli.d.ts +16 -0
- package/dist/bootstrap-cli.d.ts.map +1 -0
- package/dist/bootstrap-cli.js +171 -0
- package/dist/bootstrap-cli.js.map +1 -0
- package/dist/bootstrap-installer.d.ts +51 -0
- package/dist/bootstrap-installer.d.ts.map +1 -0
- package/dist/bootstrap-installer.js +458 -0
- package/dist/bootstrap-installer.js.map +1 -0
- package/dist/command-handlers.d.ts +36 -0
- package/dist/command-handlers.d.ts.map +1 -0
- package/dist/command-handlers.js +296 -0
- package/dist/command-handlers.js.map +1 -0
- package/dist/commands.d.ts +74 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +302 -0
- package/dist/commands.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/local-adapter.d.ts +65 -0
- package/dist/local-adapter.d.ts.map +1 -0
- package/dist/local-adapter.js +611 -0
- package/dist/local-adapter.js.map +1 -0
- package/dist/managed-dispatch-adapter.d.ts +145 -0
- package/dist/managed-dispatch-adapter.d.ts.map +1 -0
- package/dist/managed-dispatch-adapter.js +220 -0
- package/dist/managed-dispatch-adapter.js.map +1 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +465 -0
- package/dist/server.js.map +1 -0
- package/dist/tool-stubs.d.ts +107 -0
- package/dist/tool-stubs.d.ts.map +1 -0
- package/dist/tool-stubs.js +329 -0
- package/dist/tool-stubs.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { GuardBoundaryDecisionV1, ManagedDispatchBetaBoundaryInputV1 } from "@flowdesk/core";
|
|
2
|
+
export declare const flowdeskManagedDispatchBetaAdapterProfile: "managed_dispatch_beta_real_opencode_dispatch_adapter";
|
|
3
|
+
export type FlowDeskManagedDispatchBetaDispatchMethodV1 = "promptAsync" | "prompt";
|
|
4
|
+
export type FlowDeskManagedDispatchBetaDispatchStatusV1 = "blocked_before_dispatch" | "dispatch_accepted" | "dispatch_completed" | "dispatch_failed";
|
|
5
|
+
export interface FlowDeskManagedDispatchBetaDispatchRequestV1 {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
agent: string;
|
|
8
|
+
provider_qualified_model_id: string;
|
|
9
|
+
promptText?: string;
|
|
10
|
+
promptSummary?: string;
|
|
11
|
+
directory?: string;
|
|
12
|
+
dispatchMethod?: FlowDeskManagedDispatchBetaDispatchMethodV1;
|
|
13
|
+
}
|
|
14
|
+
export interface FlowDeskManagedDispatchBetaAuthoritySummaryV1 {
|
|
15
|
+
realOpenCodeDispatch: boolean;
|
|
16
|
+
providerCall: boolean;
|
|
17
|
+
runtimeExecution: boolean;
|
|
18
|
+
actualLaneLaunch: boolean;
|
|
19
|
+
fallbackAuthority: false;
|
|
20
|
+
toolAuthority: false;
|
|
21
|
+
hardCancelOrNoReplyAuthority: false;
|
|
22
|
+
}
|
|
23
|
+
export interface FlowDeskManagedDispatchBetaVerificationStatusV1 {
|
|
24
|
+
ambiguityQuarantined: boolean;
|
|
25
|
+
configuredVerificationRef?: string;
|
|
26
|
+
preDispatchAuditRef?: string;
|
|
27
|
+
defaultRelease1ServerBehaviorUnchanged: true;
|
|
28
|
+
}
|
|
29
|
+
export interface FlowDeskManagedDispatchBetaBlockedResultV1 {
|
|
30
|
+
adapterProfile: typeof flowdeskManagedDispatchBetaAdapterProfile;
|
|
31
|
+
status: "blocked_before_dispatch";
|
|
32
|
+
dispatchAttempted: false;
|
|
33
|
+
guardDecision: GuardBoundaryDecisionV1;
|
|
34
|
+
redactedBlockReason: string;
|
|
35
|
+
authority: FlowDeskManagedDispatchBetaAuthoritySummaryV1;
|
|
36
|
+
verification: FlowDeskManagedDispatchBetaVerificationStatusV1;
|
|
37
|
+
}
|
|
38
|
+
export interface FlowDeskManagedDispatchBetaDispatchResultV1 {
|
|
39
|
+
adapterProfile: typeof flowdeskManagedDispatchBetaAdapterProfile;
|
|
40
|
+
status: "dispatch_accepted" | "dispatch_completed";
|
|
41
|
+
dispatchAttempted: true;
|
|
42
|
+
dispatchMethod: FlowDeskManagedDispatchBetaDispatchMethodV1;
|
|
43
|
+
guardDecision: GuardBoundaryDecisionV1;
|
|
44
|
+
sessionId: string;
|
|
45
|
+
agent: string;
|
|
46
|
+
model: {
|
|
47
|
+
providerID: string;
|
|
48
|
+
modelID: string;
|
|
49
|
+
};
|
|
50
|
+
directory?: string;
|
|
51
|
+
response?: unknown;
|
|
52
|
+
authority: FlowDeskManagedDispatchBetaAuthoritySummaryV1;
|
|
53
|
+
verification: FlowDeskManagedDispatchBetaVerificationStatusV1;
|
|
54
|
+
}
|
|
55
|
+
export interface FlowDeskManagedDispatchBetaDispatchFailedResultV1 {
|
|
56
|
+
adapterProfile: typeof flowdeskManagedDispatchBetaAdapterProfile;
|
|
57
|
+
status: "dispatch_failed";
|
|
58
|
+
dispatchAttempted: true;
|
|
59
|
+
dispatchMethod: FlowDeskManagedDispatchBetaDispatchMethodV1;
|
|
60
|
+
guardDecision: GuardBoundaryDecisionV1;
|
|
61
|
+
sessionId: string;
|
|
62
|
+
agent: string;
|
|
63
|
+
model: {
|
|
64
|
+
providerID: string;
|
|
65
|
+
modelID: string;
|
|
66
|
+
};
|
|
67
|
+
directory?: string;
|
|
68
|
+
redactedErrorCategory: "provider_api" | "runtime" | "unknown";
|
|
69
|
+
authority: FlowDeskManagedDispatchBetaAuthoritySummaryV1;
|
|
70
|
+
verification: FlowDeskManagedDispatchBetaVerificationStatusV1;
|
|
71
|
+
}
|
|
72
|
+
export type FlowDeskManagedDispatchBetaAdapterResultV1 = FlowDeskManagedDispatchBetaBlockedResultV1 | FlowDeskManagedDispatchBetaDispatchResultV1 | FlowDeskManagedDispatchBetaDispatchFailedResultV1;
|
|
73
|
+
export interface FlowDeskManagedDispatchBetaPromptOptionsV1 {
|
|
74
|
+
path: {
|
|
75
|
+
id: string;
|
|
76
|
+
};
|
|
77
|
+
query?: {
|
|
78
|
+
directory?: string;
|
|
79
|
+
};
|
|
80
|
+
body: {
|
|
81
|
+
model: {
|
|
82
|
+
providerID: string;
|
|
83
|
+
modelID: string;
|
|
84
|
+
};
|
|
85
|
+
agent: string;
|
|
86
|
+
parts: Array<{
|
|
87
|
+
type: "text";
|
|
88
|
+
text: string;
|
|
89
|
+
}>;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export interface FlowDeskManagedDispatchBetaOpenCodeClientV1 {
|
|
93
|
+
session: {
|
|
94
|
+
prompt?(options: FlowDeskManagedDispatchBetaPromptOptionsV1): unknown | Promise<unknown>;
|
|
95
|
+
promptAsync?(options: FlowDeskManagedDispatchBetaPromptOptionsV1): unknown | Promise<unknown>;
|
|
96
|
+
children?(options: {
|
|
97
|
+
path: {
|
|
98
|
+
id: string;
|
|
99
|
+
};
|
|
100
|
+
query?: {
|
|
101
|
+
directory?: string;
|
|
102
|
+
};
|
|
103
|
+
}): unknown | Promise<unknown>;
|
|
104
|
+
messages?(options: {
|
|
105
|
+
path: {
|
|
106
|
+
id: string;
|
|
107
|
+
};
|
|
108
|
+
query?: {
|
|
109
|
+
directory?: string;
|
|
110
|
+
};
|
|
111
|
+
}): unknown | Promise<unknown>;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
export interface FlowDeskInjectedSdkLaneObservationRequestV1 {
|
|
115
|
+
parentSessionId: string;
|
|
116
|
+
laneId: string;
|
|
117
|
+
requestedAgent: string;
|
|
118
|
+
requestedProviderQualifiedModelId: string;
|
|
119
|
+
directory?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface FlowDeskInjectedSdkLaneObservationResultV1 {
|
|
122
|
+
adapterProfile: "injected_sdk_lane_observation_probe";
|
|
123
|
+
status: "observed" | "partial" | "observation_unavailable" | "observation_failed";
|
|
124
|
+
observationAttempted: boolean;
|
|
125
|
+
parentSessionRef: string;
|
|
126
|
+
laneId: string;
|
|
127
|
+
requestedAgentRef: string;
|
|
128
|
+
requestedModelRef: string;
|
|
129
|
+
childSessionRef?: string;
|
|
130
|
+
messageRef?: string;
|
|
131
|
+
observedAgentRef?: string;
|
|
132
|
+
observedModelRef?: string;
|
|
133
|
+
missingLabels: string[];
|
|
134
|
+
authority: FlowDeskManagedDispatchBetaAuthoritySummaryV1;
|
|
135
|
+
}
|
|
136
|
+
export declare function observeInjectedSdkLaneV1(input: {
|
|
137
|
+
client: FlowDeskManagedDispatchBetaOpenCodeClientV1;
|
|
138
|
+
request: FlowDeskInjectedSdkLaneObservationRequestV1;
|
|
139
|
+
}): Promise<FlowDeskInjectedSdkLaneObservationResultV1>;
|
|
140
|
+
export declare function dispatchManagedDispatchBetaPromptV1(input: {
|
|
141
|
+
client: FlowDeskManagedDispatchBetaOpenCodeClientV1;
|
|
142
|
+
boundaryInput: ManagedDispatchBetaBoundaryInputV1;
|
|
143
|
+
request: FlowDeskManagedDispatchBetaDispatchRequestV1;
|
|
144
|
+
}): Promise<FlowDeskManagedDispatchBetaAdapterResultV1>;
|
|
145
|
+
//# sourceMappingURL=managed-dispatch-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-dispatch-adapter.d.ts","sourceRoot":"","sources":["../src/managed-dispatch-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { evaluateManagedDispatchBetaGuardBoundaryV1 } from "@flowdesk/core";
|
|
2
|
+
export const flowdeskManagedDispatchBetaAdapterProfile = "managed_dispatch_beta_real_opencode_dispatch_adapter";
|
|
3
|
+
function disabledAuthority() {
|
|
4
|
+
return {
|
|
5
|
+
realOpenCodeDispatch: false,
|
|
6
|
+
providerCall: false,
|
|
7
|
+
runtimeExecution: false,
|
|
8
|
+
actualLaneLaunch: false,
|
|
9
|
+
fallbackAuthority: false,
|
|
10
|
+
toolAuthority: false,
|
|
11
|
+
hardCancelOrNoReplyAuthority: false
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function enabledDispatchAuthority() {
|
|
15
|
+
return {
|
|
16
|
+
...disabledAuthority(),
|
|
17
|
+
realOpenCodeDispatch: true,
|
|
18
|
+
providerCall: true,
|
|
19
|
+
runtimeExecution: true
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function verificationFor(input) {
|
|
23
|
+
return {
|
|
24
|
+
ambiguityQuarantined: input.ambiguityQuarantined === true,
|
|
25
|
+
...(input.configuredVerificationRef === undefined ? {} : { configuredVerificationRef: input.configuredVerificationRef }),
|
|
26
|
+
...(input.preDispatchAuditRef === undefined ? {} : { preDispatchAuditRef: input.preDispatchAuditRef }),
|
|
27
|
+
defaultRelease1ServerBehaviorUnchanged: true
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function blocked(input, guardDecision, redactedBlockReason = guardDecision.redacted_reason) {
|
|
31
|
+
return {
|
|
32
|
+
adapterProfile: flowdeskManagedDispatchBetaAdapterProfile,
|
|
33
|
+
status: "blocked_before_dispatch",
|
|
34
|
+
dispatchAttempted: false,
|
|
35
|
+
guardDecision,
|
|
36
|
+
redactedBlockReason,
|
|
37
|
+
authority: disabledAuthority(),
|
|
38
|
+
verification: verificationFor(input)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function parseProviderQualifiedModelId(value) {
|
|
42
|
+
const separator = value.indexOf("/");
|
|
43
|
+
if (separator <= 0 || separator === value.length - 1)
|
|
44
|
+
return undefined;
|
|
45
|
+
const providerID = value.slice(0, separator).trim();
|
|
46
|
+
const modelID = value.slice(separator + 1).trim();
|
|
47
|
+
if (providerID.length === 0 || modelID.length === 0)
|
|
48
|
+
return undefined;
|
|
49
|
+
return { providerID, modelID };
|
|
50
|
+
}
|
|
51
|
+
function refFrom(label, value) {
|
|
52
|
+
const safe = value.replaceAll(/[^A-Za-z0-9_.:-]/g, "-").replaceAll(/-+/g, "-").slice(0, 96);
|
|
53
|
+
return `${label}-${safe.length > 0 ? safe : "unknown"}`;
|
|
54
|
+
}
|
|
55
|
+
function asRecord(value) {
|
|
56
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) ? value : undefined;
|
|
57
|
+
}
|
|
58
|
+
function responseData(value) {
|
|
59
|
+
const record = asRecord(value);
|
|
60
|
+
return record !== undefined && "data" in record ? record.data : value;
|
|
61
|
+
}
|
|
62
|
+
function arrayData(value) {
|
|
63
|
+
const data = responseData(value);
|
|
64
|
+
if (Array.isArray(data))
|
|
65
|
+
return data;
|
|
66
|
+
const record = asRecord(data);
|
|
67
|
+
return Array.isArray(record?.items) ? record.items : [];
|
|
68
|
+
}
|
|
69
|
+
function modelRef(value) {
|
|
70
|
+
const record = asRecord(value);
|
|
71
|
+
if (record === undefined)
|
|
72
|
+
return undefined;
|
|
73
|
+
const providerID = typeof record.providerID === "string" ? record.providerID : undefined;
|
|
74
|
+
const modelID = typeof record.modelID === "string" ? record.modelID : typeof record.id === "string" ? record.id : undefined;
|
|
75
|
+
return providerID !== undefined && modelID !== undefined ? refFrom("model", `${providerID}-${modelID}`) : undefined;
|
|
76
|
+
}
|
|
77
|
+
function firstMessageRef(value) {
|
|
78
|
+
const messages = arrayData(value);
|
|
79
|
+
for (const message of messages) {
|
|
80
|
+
const record = asRecord(message);
|
|
81
|
+
const info = asRecord(record?.info) ?? record;
|
|
82
|
+
if (typeof info?.id === "string")
|
|
83
|
+
return refFrom("message", info.id);
|
|
84
|
+
}
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
export async function observeInjectedSdkLaneV1(input) {
|
|
88
|
+
const base = {
|
|
89
|
+
adapterProfile: "injected_sdk_lane_observation_probe",
|
|
90
|
+
parentSessionRef: refFrom("parent-session", input.request.parentSessionId),
|
|
91
|
+
laneId: input.request.laneId,
|
|
92
|
+
requestedAgentRef: refFrom("agent", input.request.requestedAgent),
|
|
93
|
+
requestedModelRef: refFrom("model", input.request.requestedProviderQualifiedModelId),
|
|
94
|
+
authority: disabledAuthority()
|
|
95
|
+
};
|
|
96
|
+
const children = input.client.session.children;
|
|
97
|
+
if (children === undefined) {
|
|
98
|
+
return {
|
|
99
|
+
...base,
|
|
100
|
+
status: "observation_unavailable",
|
|
101
|
+
observationAttempted: false,
|
|
102
|
+
missingLabels: ["session_children_api_missing"]
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
const childrenResponse = await children.call(input.client.session, {
|
|
107
|
+
path: { id: input.request.parentSessionId },
|
|
108
|
+
...(input.request.directory === undefined ? {} : { query: { directory: input.request.directory } })
|
|
109
|
+
});
|
|
110
|
+
const childRecord = arrayData(childrenResponse).map(asRecord).find((record) => record !== undefined);
|
|
111
|
+
const childSessionId = typeof childRecord?.id === "string" ? childRecord.id : undefined;
|
|
112
|
+
const childSessionRef = childSessionId === undefined ? undefined : refFrom("child-session", childSessionId);
|
|
113
|
+
const observedAgentRef = typeof childRecord?.agent === "string" ? refFrom("agent", childRecord.agent) : undefined;
|
|
114
|
+
const observedModelRef = modelRef(childRecord?.model);
|
|
115
|
+
let messageRef;
|
|
116
|
+
if (childSessionId !== undefined && input.client.session.messages !== undefined) {
|
|
117
|
+
const messagesResponse = await input.client.session.messages.call(input.client.session, {
|
|
118
|
+
path: { id: childSessionId },
|
|
119
|
+
...(input.request.directory === undefined ? {} : { query: { directory: input.request.directory } })
|
|
120
|
+
});
|
|
121
|
+
messageRef = firstMessageRef(messagesResponse);
|
|
122
|
+
}
|
|
123
|
+
const missingLabels = [
|
|
124
|
+
childSessionRef === undefined ? "child_session_missing" : undefined,
|
|
125
|
+
observedAgentRef === undefined ? "observed_agent_missing" : undefined,
|
|
126
|
+
observedModelRef === undefined ? "observed_model_missing" : undefined,
|
|
127
|
+
messageRef === undefined ? "message_ref_missing" : undefined,
|
|
128
|
+
].filter((label) => label !== undefined);
|
|
129
|
+
return {
|
|
130
|
+
...base,
|
|
131
|
+
status: missingLabels.length === 0 ? "observed" : "partial",
|
|
132
|
+
observationAttempted: true,
|
|
133
|
+
...(childSessionRef === undefined ? {} : { childSessionRef }),
|
|
134
|
+
...(messageRef === undefined ? {} : { messageRef }),
|
|
135
|
+
...(observedAgentRef === undefined ? {} : { observedAgentRef }),
|
|
136
|
+
...(observedModelRef === undefined ? {} : { observedModelRef }),
|
|
137
|
+
missingLabels
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return {
|
|
142
|
+
...base,
|
|
143
|
+
status: "observation_failed",
|
|
144
|
+
observationAttempted: true,
|
|
145
|
+
missingLabels: ["session_observation_failed"]
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function promptTextFrom(request) {
|
|
150
|
+
const text = request.promptText?.trim() ?? request.promptSummary?.trim() ?? "";
|
|
151
|
+
return text.length > 0 ? text.slice(0, 20_000) : undefined;
|
|
152
|
+
}
|
|
153
|
+
function dispatchOptions(request, model, text) {
|
|
154
|
+
return {
|
|
155
|
+
path: { id: request.sessionId },
|
|
156
|
+
...(request.directory === undefined ? {} : { query: { directory: request.directory } }),
|
|
157
|
+
body: {
|
|
158
|
+
model,
|
|
159
|
+
agent: request.agent,
|
|
160
|
+
parts: [{ type: "text", text }]
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
export async function dispatchManagedDispatchBetaPromptV1(input) {
|
|
165
|
+
const guardDecision = evaluateManagedDispatchBetaGuardBoundaryV1(input.boundaryInput);
|
|
166
|
+
if (guardDecision.status !== "eligible")
|
|
167
|
+
return blocked(input.boundaryInput, guardDecision);
|
|
168
|
+
const approvedProviderQualifiedModelId = input.boundaryInput.guardApproval?.provider_qualified_model_id;
|
|
169
|
+
if (approvedProviderQualifiedModelId === undefined || input.request.provider_qualified_model_id !== approvedProviderQualifiedModelId) {
|
|
170
|
+
return blocked(input.boundaryInput, guardDecision, "Dispatch request model must exactly match Guard-approved provider-qualified model.");
|
|
171
|
+
}
|
|
172
|
+
const model = parseProviderQualifiedModelId(approvedProviderQualifiedModelId);
|
|
173
|
+
if (model === undefined || model.providerID !== input.boundaryInput.guardApproval?.provider_family) {
|
|
174
|
+
return blocked(input.boundaryInput, guardDecision, "Guard-approved provider-qualified model is invalid or provider-mismatched.");
|
|
175
|
+
}
|
|
176
|
+
const text = promptTextFrom(input.request);
|
|
177
|
+
if (input.request.sessionId.trim().length === 0 || input.request.agent.trim().length === 0 || text === undefined) {
|
|
178
|
+
return blocked(input.boundaryInput, guardDecision, "Dispatch request is missing session, agent, or bounded prompt text.");
|
|
179
|
+
}
|
|
180
|
+
const dispatchMethod = input.request.dispatchMethod ?? "promptAsync";
|
|
181
|
+
const dispatch = input.client.session[dispatchMethod];
|
|
182
|
+
if (dispatch === undefined)
|
|
183
|
+
return blocked(input.boundaryInput, guardDecision, "Injected OpenCode client is missing the requested session prompt method.");
|
|
184
|
+
const options = dispatchOptions(input.request, model, text);
|
|
185
|
+
let response;
|
|
186
|
+
try {
|
|
187
|
+
response = await dispatch.call(input.client.session, options);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return {
|
|
191
|
+
adapterProfile: flowdeskManagedDispatchBetaAdapterProfile,
|
|
192
|
+
status: "dispatch_failed",
|
|
193
|
+
dispatchAttempted: true,
|
|
194
|
+
dispatchMethod,
|
|
195
|
+
guardDecision,
|
|
196
|
+
sessionId: input.request.sessionId,
|
|
197
|
+
agent: input.request.agent,
|
|
198
|
+
model,
|
|
199
|
+
...(input.request.directory === undefined ? {} : { directory: input.request.directory }),
|
|
200
|
+
redactedErrorCategory: "provider_api",
|
|
201
|
+
authority: { ...enabledDispatchAuthority(), runtimeExecution: false },
|
|
202
|
+
verification: verificationFor(input.boundaryInput)
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return {
|
|
206
|
+
adapterProfile: flowdeskManagedDispatchBetaAdapterProfile,
|
|
207
|
+
status: dispatchMethod === "promptAsync" ? "dispatch_accepted" : "dispatch_completed",
|
|
208
|
+
dispatchAttempted: true,
|
|
209
|
+
dispatchMethod,
|
|
210
|
+
guardDecision,
|
|
211
|
+
sessionId: input.request.sessionId,
|
|
212
|
+
agent: input.request.agent,
|
|
213
|
+
model,
|
|
214
|
+
...(input.request.directory === undefined ? {} : { directory: input.request.directory }),
|
|
215
|
+
...(response === undefined ? {} : { response }),
|
|
216
|
+
authority: enabledDispatchAuthority(),
|
|
217
|
+
verification: verificationFor(input.boundaryInput)
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=managed-dispatch-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-dispatch-adapter.js","sourceRoot":"","sources":["../src/managed-dispatch-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Plugin } from "@opencode-ai/plugin";
|
|
2
|
+
import { tool } from "@opencode-ai/plugin";
|
|
3
|
+
import { type FlowDeskLocalClockV1, type FlowDeskLocalNonDispatchAdapterSessionV1 } from "./local-adapter.js";
|
|
4
|
+
import { type FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-dispatch-adapter.js";
|
|
5
|
+
export declare const flowdeskPreSpikeDoctorToolName: "flowdesk_pre_spike_doctor";
|
|
6
|
+
export declare const flowdeskChatIntakeToolName: "flowdesk_chat_intake";
|
|
7
|
+
export declare const flowdeskFds1SchemaConversionProbeOption: "fds1SchemaConversionProbe";
|
|
8
|
+
export declare const flowdeskLocalNonDispatchAdapterOption: "localNonDispatchAdapter";
|
|
9
|
+
export declare const flowdeskNaturalLanguageRoutingOption: "naturalLanguageRouting";
|
|
10
|
+
export declare const flowdeskDurableStateRootOption: "durableStateRoot";
|
|
11
|
+
export declare const flowdeskProductionEnablementOption: "productionEnablement";
|
|
12
|
+
export declare const flowdeskManagedDispatchBetaAdapterOption: "managedDispatchBetaAdapter";
|
|
13
|
+
export declare const flowdeskManagedDispatchBetaToolName: "flowdesk_managed_dispatch_beta";
|
|
14
|
+
type FlowDeskOpenCodeTool = ReturnType<typeof tool>;
|
|
15
|
+
interface FlowDeskChatMessageOutput {
|
|
16
|
+
parts?: unknown[];
|
|
17
|
+
}
|
|
18
|
+
export declare function createFlowDeskFds1SchemaConversionProbeTools(): Record<string, FlowDeskOpenCodeTool>;
|
|
19
|
+
export declare function createFlowDeskLocalNonDispatchAdapterTools(now?: Date, session?: FlowDeskLocalNonDispatchAdapterSessionV1): Record<string, FlowDeskOpenCodeTool>;
|
|
20
|
+
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>;
|
|
23
|
+
export declare const flowdeskOpenCodeServerPlugin: {
|
|
24
|
+
id: "flowdesk";
|
|
25
|
+
server: Plugin;
|
|
26
|
+
};
|
|
27
|
+
export default flowdeskOpenCodeServerPlugin;
|
|
28
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +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"}
|