@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,329 @@
|
|
|
1
|
+
import { FLOWDESK_FDS1_FIXTURE_CATALOG, FLOWDESK_RELEASE_1_COMMAND_MANIFEST, getRelease1ProductionToolRegistry, invalid, valid, validateFlowDeskCommandManifestComplete, validateNoForbiddenRawPayloads, validateSchemaArtifactValue } from "@flowdesk/core";
|
|
2
|
+
const inertAuthority = {
|
|
3
|
+
productionRegistrationEligible: false,
|
|
4
|
+
schemaConversionReady: false,
|
|
5
|
+
dispatchApprovalEligible: false,
|
|
6
|
+
fallbackAuthority: false,
|
|
7
|
+
hardCancelOrNoReplyAuthority: false,
|
|
8
|
+
actualLaneLaunch: false,
|
|
9
|
+
providerCall: false,
|
|
10
|
+
runtimeExecution: false
|
|
11
|
+
};
|
|
12
|
+
function combine(results) {
|
|
13
|
+
const errors = results.flatMap((result) => result.errors);
|
|
14
|
+
return errors.length === 0 ? valid() : invalid(...errors);
|
|
15
|
+
}
|
|
16
|
+
function isRecord(value) {
|
|
17
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
18
|
+
}
|
|
19
|
+
function rejectUnknownProperties(value, allowed) {
|
|
20
|
+
const unknown = Object.keys(value).filter((key) => !allowed.includes(key));
|
|
21
|
+
return unknown.length === 0 ? valid() : invalid(`unknown properties: ${unknown.join(",")}`);
|
|
22
|
+
}
|
|
23
|
+
function stubForManifestEntry(entry) {
|
|
24
|
+
return {
|
|
25
|
+
stubId: `flowdesk-pre-spike-plugin-tool-stub:${entry.fixturePrefix}:v1`,
|
|
26
|
+
commandName: entry.commandName,
|
|
27
|
+
toolName: entry.toolName,
|
|
28
|
+
requestSchemaId: entry.requestSchemaId,
|
|
29
|
+
responseSchemaId: entry.responseSchemaId,
|
|
30
|
+
fixturePrefix: entry.fixturePrefix,
|
|
31
|
+
registrationProfile: "sandbox_conformance_probe_only",
|
|
32
|
+
handlerMode: "pre_spike_test_harness_stub",
|
|
33
|
+
schemaConversionArtifactStatus: "compatible_runtime_closed_validation",
|
|
34
|
+
productionPromotionGate: "blocked_production_opencode_registration_disabled",
|
|
35
|
+
productionToolRegistration: "disabled_production_opencode_registration",
|
|
36
|
+
runtimeDispatch: "disabled_release1_pre_spike",
|
|
37
|
+
...inertAuthority
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export const FLOWDESK_PRE_SPIKE_PLUGIN_TOOL_STUBS = FLOWDESK_RELEASE_1_COMMAND_MANIFEST.map(stubForManifestEntry);
|
|
41
|
+
export const FLOWDESK_PRE_SPIKE_PRODUCTION_TOOL_REGISTRY = [];
|
|
42
|
+
const diagnosticScaffoldTools = new Set(["flowdesk_doctor", "flowdesk_resume", "flowdesk_abort", "flowdesk_usage", "flowdesk_export_debug"]);
|
|
43
|
+
const coreEvaluatorBackedTools = new Set(["flowdesk_plan", "flowdesk_run", "flowdesk_status", "flowdesk_retry"]);
|
|
44
|
+
function handlerReadinessFor(toolName) {
|
|
45
|
+
if (diagnosticScaffoldTools.has(toolName))
|
|
46
|
+
return "diagnostic_scaffold_available";
|
|
47
|
+
if (coreEvaluatorBackedTools.has(toolName))
|
|
48
|
+
return "core_evaluator_available";
|
|
49
|
+
return "schema_only_pending";
|
|
50
|
+
}
|
|
51
|
+
export const FLOWDESK_RELEASE_1_HANDLER_READINESS = FLOWDESK_RELEASE_1_COMMAND_MANIFEST.map((entry) => ({
|
|
52
|
+
commandName: entry.commandName,
|
|
53
|
+
toolName: entry.toolName,
|
|
54
|
+
handlerReadiness: handlerReadinessFor(entry.toolName),
|
|
55
|
+
productionRegistrationEligible: true,
|
|
56
|
+
productionPromotionGate: "release1_command_backed_handlers_ready",
|
|
57
|
+
realOpenCodeDispatch: false,
|
|
58
|
+
actualLaneLaunch: false,
|
|
59
|
+
providerCall: false,
|
|
60
|
+
runtimeExecution: false
|
|
61
|
+
}));
|
|
62
|
+
export const FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS = [
|
|
63
|
+
{
|
|
64
|
+
checkId: "handler_readiness",
|
|
65
|
+
status: "passed",
|
|
66
|
+
evidenceRef: "release1-handler-readiness:all-minimum-tools-command-backed",
|
|
67
|
+
blocker: "none"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
checkId: "schema_evidence",
|
|
71
|
+
status: "passed",
|
|
72
|
+
evidenceRef: "fds1-schema-conversion-probe:runtime-closed-compatible",
|
|
73
|
+
blocker: "none"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
checkId: "guard_boundary",
|
|
77
|
+
status: "passed",
|
|
78
|
+
evidenceRef: "release1-guard-boundary:non-dispatch-only",
|
|
79
|
+
blocker: "none"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
checkId: "audit_write_boundary",
|
|
83
|
+
status: "passed",
|
|
84
|
+
evidenceRef: "release1-production-adapter:scoped-redacted-write-intents",
|
|
85
|
+
blocker: "none"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
checkId: "policy_permission_boundary",
|
|
89
|
+
status: "passed",
|
|
90
|
+
evidenceRef: "release1-production-adapter:fresh-scoped-non-dispatch-permissions",
|
|
91
|
+
blocker: "none"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
checkId: "redaction_boundary",
|
|
95
|
+
status: "passed",
|
|
96
|
+
evidenceRef: "release1-redaction:forbidden-raw-payload-tests",
|
|
97
|
+
blocker: "none"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
checkId: "disabled_modes",
|
|
101
|
+
status: "passed",
|
|
102
|
+
evidenceRef: "release1-disabled-modes:real-dispatch-fallback-lane-hard-chat-disabled",
|
|
103
|
+
blocker: "none"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
checkId: "production_adapter_boundary",
|
|
107
|
+
status: "passed",
|
|
108
|
+
evidenceRef: "release1-production-adapter:command-backed-non-dispatch-profile",
|
|
109
|
+
blocker: "none"
|
|
110
|
+
}
|
|
111
|
+
].map((check) => ({
|
|
112
|
+
...check,
|
|
113
|
+
productionRegistrationEligible: true,
|
|
114
|
+
realOpenCodeDispatch: false,
|
|
115
|
+
actualLaneLaunch: false,
|
|
116
|
+
providerCall: false,
|
|
117
|
+
runtimeExecution: false,
|
|
118
|
+
fallbackAuthority: false,
|
|
119
|
+
hardCancelOrNoReplyAuthority: false
|
|
120
|
+
}));
|
|
121
|
+
export function hasPassingFds1SchemaConversionSpike() {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
export function getFlowDeskRelease1HandlerReadiness() {
|
|
125
|
+
return FLOWDESK_RELEASE_1_HANDLER_READINESS;
|
|
126
|
+
}
|
|
127
|
+
export function getFlowDeskRelease1HandlerReadinessSummary() {
|
|
128
|
+
const diagnosticScaffoldAvailable = FLOWDESK_RELEASE_1_HANDLER_READINESS.filter((entry) => entry.handlerReadiness === "diagnostic_scaffold_available").length;
|
|
129
|
+
const coreEvaluatorAvailable = FLOWDESK_RELEASE_1_HANDLER_READINESS.filter((entry) => entry.handlerReadiness === "core_evaluator_available").length;
|
|
130
|
+
const schemaOnlyPending = FLOWDESK_RELEASE_1_HANDLER_READINESS.filter((entry) => entry.handlerReadiness === "schema_only_pending").length;
|
|
131
|
+
return {
|
|
132
|
+
totalTools: FLOWDESK_RELEASE_1_HANDLER_READINESS.length,
|
|
133
|
+
diagnosticScaffoldAvailable,
|
|
134
|
+
coreEvaluatorAvailable,
|
|
135
|
+
schemaOnlyPending,
|
|
136
|
+
productionReady: true,
|
|
137
|
+
productionPromotionGate: "release1_command_backed_handlers_ready"
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
export function getFlowDeskRelease1ProductionReadinessChecks() {
|
|
141
|
+
return FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS;
|
|
142
|
+
}
|
|
143
|
+
export function getFlowDeskRelease1ProductionReadinessSummary() {
|
|
144
|
+
const blockedReasons = FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS.filter((entry) => entry.status === "blocked").map((entry) => entry.blocker);
|
|
145
|
+
return {
|
|
146
|
+
totalChecks: FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS.length,
|
|
147
|
+
passedChecks: FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS.filter((entry) => entry.status === "passed").length,
|
|
148
|
+
blockedChecks: blockedReasons.length,
|
|
149
|
+
productionReady: true,
|
|
150
|
+
productionPromotionGate: "release1_non_dispatch_registration_ready",
|
|
151
|
+
blockedReasons,
|
|
152
|
+
productionRegistrationEligible: true,
|
|
153
|
+
realOpenCodeDispatch: false,
|
|
154
|
+
actualLaneLaunch: false,
|
|
155
|
+
providerCall: false,
|
|
156
|
+
runtimeExecution: false,
|
|
157
|
+
fallbackAuthority: false,
|
|
158
|
+
hardCancelOrNoReplyAuthority: false
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
export function getFlowDeskPreSpikePluginToolStubs() {
|
|
162
|
+
return FLOWDESK_PRE_SPIKE_PLUGIN_TOOL_STUBS;
|
|
163
|
+
}
|
|
164
|
+
export function getFlowDeskPreSpikePluginToolStub(toolName) {
|
|
165
|
+
return FLOWDESK_PRE_SPIKE_PLUGIN_TOOL_STUBS.find((stub) => stub.toolName === toolName);
|
|
166
|
+
}
|
|
167
|
+
export function getFlowDeskPreSpikeProductionToolRegistry() {
|
|
168
|
+
return FLOWDESK_PRE_SPIKE_PRODUCTION_TOOL_REGISTRY;
|
|
169
|
+
}
|
|
170
|
+
function authorityChecks(value) {
|
|
171
|
+
return combine([
|
|
172
|
+
value.productionRegistrationEligible === false ? valid() : invalid("productionRegistrationEligible must be false"),
|
|
173
|
+
value.schemaConversionReady === false ? valid() : invalid("schemaConversionReady must be false"),
|
|
174
|
+
value.dispatchApprovalEligible === false ? valid() : invalid("dispatchApprovalEligible must be false"),
|
|
175
|
+
value.fallbackAuthority === false ? valid() : invalid("fallbackAuthority must be false"),
|
|
176
|
+
value.hardCancelOrNoReplyAuthority === false ? valid() : invalid("hardCancelOrNoReplyAuthority must be false"),
|
|
177
|
+
value.actualLaneLaunch === false ? valid() : invalid("actualLaneLaunch must be false"),
|
|
178
|
+
value.providerCall === false ? valid() : invalid("providerCall must be false"),
|
|
179
|
+
value.runtimeExecution === false ? valid() : invalid("runtimeExecution must be false")
|
|
180
|
+
]);
|
|
181
|
+
}
|
|
182
|
+
export function validateFlowDeskPreSpikePluginToolStub(stub) {
|
|
183
|
+
if (!isRecord(stub))
|
|
184
|
+
return invalid("pre-spike plugin tool stub must be an object");
|
|
185
|
+
const manifestEntry = FLOWDESK_RELEASE_1_COMMAND_MANIFEST.find((entry) => entry.toolName === stub.toolName);
|
|
186
|
+
return combine([
|
|
187
|
+
rejectUnknownProperties(stub, [
|
|
188
|
+
"stubId",
|
|
189
|
+
"commandName",
|
|
190
|
+
"toolName",
|
|
191
|
+
"requestSchemaId",
|
|
192
|
+
"responseSchemaId",
|
|
193
|
+
"fixturePrefix",
|
|
194
|
+
"registrationProfile",
|
|
195
|
+
"handlerMode",
|
|
196
|
+
"schemaConversionArtifactStatus",
|
|
197
|
+
"productionPromotionGate",
|
|
198
|
+
"productionToolRegistration",
|
|
199
|
+
"runtimeDispatch",
|
|
200
|
+
"productionRegistrationEligible",
|
|
201
|
+
"schemaConversionReady",
|
|
202
|
+
"dispatchApprovalEligible",
|
|
203
|
+
"fallbackAuthority",
|
|
204
|
+
"hardCancelOrNoReplyAuthority",
|
|
205
|
+
"actualLaneLaunch",
|
|
206
|
+
"providerCall",
|
|
207
|
+
"runtimeExecution"
|
|
208
|
+
]),
|
|
209
|
+
manifestEntry !== undefined ? valid() : invalid("toolName is not a Release 1 minimum tool"),
|
|
210
|
+
manifestEntry?.commandName === stub.commandName ? valid() : invalid("commandName does not align with manifest"),
|
|
211
|
+
manifestEntry?.requestSchemaId === stub.requestSchemaId ? valid() : invalid("requestSchemaId does not align with manifest"),
|
|
212
|
+
manifestEntry?.responseSchemaId === stub.responseSchemaId ? valid() : invalid("responseSchemaId does not align with manifest"),
|
|
213
|
+
manifestEntry?.fixturePrefix === stub.fixturePrefix ? valid() : invalid("fixturePrefix does not align with manifest"),
|
|
214
|
+
stub.stubId === `flowdesk-pre-spike-plugin-tool-stub:${stub.fixturePrefix}:v1` ? valid() : invalid("stubId does not align with fixture prefix"),
|
|
215
|
+
stub.registrationProfile === "sandbox_conformance_probe_only" ? valid() : invalid("registrationProfile must remain sandbox conformance probe only"),
|
|
216
|
+
stub.handlerMode === "pre_spike_test_harness_stub" ? valid() : invalid("handlerMode must remain pre-spike test harness only"),
|
|
217
|
+
stub.schemaConversionArtifactStatus === "compatible_runtime_closed_validation" ? valid() : invalid("schema conversion artifact must reflect runtime-closed compatibility"),
|
|
218
|
+
stub.productionPromotionGate === "blocked_production_opencode_registration_disabled" ? valid() : invalid("production promotion gate must remain blocked while production registration is disabled"),
|
|
219
|
+
stub.productionToolRegistration === "disabled_production_opencode_registration" ? valid() : invalid("production registration must remain disabled"),
|
|
220
|
+
stub.runtimeDispatch === "disabled_release1_pre_spike" ? valid() : invalid("runtime dispatch must remain disabled pre-spike"),
|
|
221
|
+
authorityChecks(stub)
|
|
222
|
+
]);
|
|
223
|
+
}
|
|
224
|
+
export function validateFlowDeskPreSpikePluginToolStubsComplete(stubs = FLOWDESK_PRE_SPIKE_PLUGIN_TOOL_STUBS) {
|
|
225
|
+
const expectedToolNames = FLOWDESK_RELEASE_1_COMMAND_MANIFEST.map((entry) => entry.toolName);
|
|
226
|
+
const actualToolNames = stubs.map((stub) => (isRecord(stub) ? stub.toolName : undefined));
|
|
227
|
+
return combine([
|
|
228
|
+
validateFlowDeskCommandManifestComplete(),
|
|
229
|
+
stubs.length === expectedToolNames.length ? valid() : invalid("pre-spike plugin tool stubs must cover exactly the Release 1 minimum tools"),
|
|
230
|
+
JSON.stringify(actualToolNames) === JSON.stringify(expectedToolNames) ? valid() : invalid("pre-spike plugin tool stub order or membership is not exact"),
|
|
231
|
+
FLOWDESK_PRE_SPIKE_PRODUCTION_TOOL_REGISTRY.length === 0 ? valid() : invalid("pre-spike production tool registry must remain empty"),
|
|
232
|
+
getRelease1ProductionToolRegistry().length > 0 ? valid() : invalid("core production tool registry must expose Release 1 minimum command-backed handlers"),
|
|
233
|
+
...stubs.map((stub) => validateFlowDeskPreSpikePluginToolStub(stub))
|
|
234
|
+
]);
|
|
235
|
+
}
|
|
236
|
+
export function validateFlowDeskRelease1HandlerReadinessEntry(entry) {
|
|
237
|
+
if (!isRecord(entry))
|
|
238
|
+
return invalid("handler readiness entry must be an object");
|
|
239
|
+
const manifestEntry = FLOWDESK_RELEASE_1_COMMAND_MANIFEST.find((candidate) => candidate.toolName === entry.toolName);
|
|
240
|
+
return combine([
|
|
241
|
+
rejectUnknownProperties(entry, ["commandName", "toolName", "handlerReadiness", "productionRegistrationEligible", "productionPromotionGate", "realOpenCodeDispatch", "actualLaneLaunch", "providerCall", "runtimeExecution"]),
|
|
242
|
+
manifestEntry !== undefined ? valid() : invalid("toolName is not a Release 1 minimum tool"),
|
|
243
|
+
manifestEntry?.commandName === entry.commandName ? valid() : invalid("commandName does not align with manifest"),
|
|
244
|
+
manifestEntry === undefined || entry.handlerReadiness === handlerReadinessFor(manifestEntry.toolName) ? valid() : invalid("handlerReadiness does not align with current implementation map"),
|
|
245
|
+
entry.productionRegistrationEligible === true ? valid() : invalid("productionRegistrationEligible must be true for ready Release 1 handlers"),
|
|
246
|
+
entry.productionPromotionGate === "release1_command_backed_handlers_ready" ? valid() : invalid("productionPromotionGate must reflect ready command-backed handlers"),
|
|
247
|
+
entry.realOpenCodeDispatch === false ? valid() : invalid("realOpenCodeDispatch must remain false"),
|
|
248
|
+
entry.actualLaneLaunch === false ? valid() : invalid("actualLaneLaunch must remain false"),
|
|
249
|
+
entry.providerCall === false ? valid() : invalid("providerCall must remain false"),
|
|
250
|
+
entry.runtimeExecution === false ? valid() : invalid("runtimeExecution must remain false")
|
|
251
|
+
]);
|
|
252
|
+
}
|
|
253
|
+
export function validateFlowDeskRelease1HandlerReadiness(readiness = FLOWDESK_RELEASE_1_HANDLER_READINESS) {
|
|
254
|
+
const expectedToolNames = FLOWDESK_RELEASE_1_COMMAND_MANIFEST.map((entry) => entry.toolName);
|
|
255
|
+
const actualToolNames = readiness.map((entry) => (isRecord(entry) ? entry.toolName : undefined));
|
|
256
|
+
const summary = getFlowDeskRelease1HandlerReadinessSummary();
|
|
257
|
+
return combine([
|
|
258
|
+
readiness.length === expectedToolNames.length ? valid() : invalid("handler readiness must cover every Release 1 minimum tool"),
|
|
259
|
+
JSON.stringify(actualToolNames) === JSON.stringify(expectedToolNames) ? valid() : invalid("handler readiness order or membership is not exact"),
|
|
260
|
+
summary.productionReady === true ? valid() : invalid("productionReady must be true when every Release 1 handler is command-backed"),
|
|
261
|
+
summary.productionPromotionGate === "release1_command_backed_handlers_ready" ? valid() : invalid("production promotion gate must reflect ready command-backed handlers"),
|
|
262
|
+
...readiness.map((entry) => validateFlowDeskRelease1HandlerReadinessEntry(entry))
|
|
263
|
+
]);
|
|
264
|
+
}
|
|
265
|
+
export function validateFlowDeskRelease1ProductionReadinessCheck(check) {
|
|
266
|
+
if (!isRecord(check))
|
|
267
|
+
return invalid("production readiness check must be an object");
|
|
268
|
+
return combine([
|
|
269
|
+
rejectUnknownProperties(check, ["checkId", "status", "evidenceRef", "blocker", "productionRegistrationEligible", "realOpenCodeDispatch", "actualLaneLaunch", "providerCall", "runtimeExecution", "fallbackAuthority", "hardCancelOrNoReplyAuthority"]),
|
|
270
|
+
["handler_readiness", "schema_evidence", "guard_boundary", "audit_write_boundary", "policy_permission_boundary", "redaction_boundary", "disabled_modes", "production_adapter_boundary"].includes(String(check.checkId)) ? valid() : invalid("production readiness checkId is invalid"),
|
|
271
|
+
check.status === "passed" || check.status === "blocked" ? valid() : invalid("production readiness status is invalid"),
|
|
272
|
+
typeof check.evidenceRef === "string" && check.evidenceRef.length > 0 && check.evidenceRef.length <= 160 ? validateNoForbiddenRawPayloads(check.evidenceRef, "evidenceRef") : invalid("production readiness evidenceRef is invalid"),
|
|
273
|
+
typeof check.blocker === "string" && check.blocker.length > 0 && check.blocker.length <= 500 ? validateNoForbiddenRawPayloads(check.blocker, "blocker") : invalid("production readiness blocker is invalid"),
|
|
274
|
+
check.status === "passed" && check.blocker !== "none" ? invalid("passed production readiness checks must use blocker none") : valid(),
|
|
275
|
+
check.status === "blocked" && check.blocker === "none" ? invalid("blocked production readiness checks require a blocker") : valid(),
|
|
276
|
+
check.productionRegistrationEligible === true ? valid() : invalid("productionRegistrationEligible must be true for Release 1 non-dispatch readiness checks"),
|
|
277
|
+
check.realOpenCodeDispatch === false ? valid() : invalid("realOpenCodeDispatch must remain false"),
|
|
278
|
+
check.actualLaneLaunch === false ? valid() : invalid("actualLaneLaunch must remain false"),
|
|
279
|
+
check.providerCall === false ? valid() : invalid("providerCall must remain false"),
|
|
280
|
+
check.runtimeExecution === false ? valid() : invalid("runtimeExecution must remain false"),
|
|
281
|
+
check.fallbackAuthority === false ? valid() : invalid("fallbackAuthority must remain false"),
|
|
282
|
+
check.hardCancelOrNoReplyAuthority === false ? valid() : invalid("hardCancelOrNoReplyAuthority must remain false")
|
|
283
|
+
]);
|
|
284
|
+
}
|
|
285
|
+
export function validateFlowDeskRelease1ProductionReadiness(checks = FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS) {
|
|
286
|
+
const expectedCheckIds = FLOWDESK_RELEASE_1_PRODUCTION_READINESS_CHECKS.map((entry) => entry.checkId);
|
|
287
|
+
const actualCheckIds = checks.map((entry) => (isRecord(entry) ? entry.checkId : undefined));
|
|
288
|
+
const blockedChecks = checks.filter((entry) => isRecord(entry) && entry.status === "blocked").length;
|
|
289
|
+
return combine([
|
|
290
|
+
checks.length === expectedCheckIds.length ? valid() : invalid("production readiness checks must cover every Release 1 prerequisite"),
|
|
291
|
+
JSON.stringify(actualCheckIds) === JSON.stringify(expectedCheckIds) ? valid() : invalid("production readiness check order or membership is not exact"),
|
|
292
|
+
blockedChecks === 0 ? valid() : invalid("production readiness must have no blocked checks for Release 1 non-dispatch registration"),
|
|
293
|
+
...checks.map((entry) => validateFlowDeskRelease1ProductionReadinessCheck(entry))
|
|
294
|
+
]);
|
|
295
|
+
}
|
|
296
|
+
function validatePreSpikeToolRequest(stub, request) {
|
|
297
|
+
const artifactResult = validateSchemaArtifactValue(stub.requestSchemaId, request);
|
|
298
|
+
const runModeResult = stub.toolName === "flowdesk_run" && isRecord(request) && request.run_mode !== "guarded-dry-run" && request.run_mode !== "fake-runtime" ? invalid("flowdesk_run rejects real or unsupported dispatch modes in Release 1") : valid();
|
|
299
|
+
return combine([artifactResult, runModeResult]);
|
|
300
|
+
}
|
|
301
|
+
function responseSampleFor(stub) {
|
|
302
|
+
const entry = FLOWDESK_FDS1_FIXTURE_CATALOG.find((candidate) => candidate.toolName === stub.toolName && candidate.schemaKind === "tool_response");
|
|
303
|
+
if (entry === undefined)
|
|
304
|
+
throw new Error(`missing response fixture for ${stub.toolName}`);
|
|
305
|
+
return entry.categories["valid.minimal"].sample;
|
|
306
|
+
}
|
|
307
|
+
export function runFlowDeskPreSpikePluginToolStub(toolName, request) {
|
|
308
|
+
const stub = getFlowDeskPreSpikePluginToolStub(toolName);
|
|
309
|
+
if (stub === undefined)
|
|
310
|
+
throw new Error(`unknown pre-spike FlowDesk tool stub: ${toolName}`);
|
|
311
|
+
const requestResult = validatePreSpikeToolRequest(stub, request);
|
|
312
|
+
const responseSample = responseSampleFor(stub);
|
|
313
|
+
const responseResult = combine([validateSchemaArtifactValue(stub.responseSchemaId, responseSample), validateNoForbiddenRawPayloads(responseSample, `${toolName}.responseSample`)]);
|
|
314
|
+
return {
|
|
315
|
+
toolName: stub.toolName,
|
|
316
|
+
accepted: false,
|
|
317
|
+
requestSchemaValid: requestResult.ok,
|
|
318
|
+
responseSchemaValid: responseResult.ok,
|
|
319
|
+
blockedReason: requestResult.ok ? "production_opencode_registration_disabled" : "request_schema_invalid",
|
|
320
|
+
registrationProfile: "sandbox_conformance_probe_only",
|
|
321
|
+
productionPromotionGate: "blocked_production_opencode_registration_disabled",
|
|
322
|
+
responseSample,
|
|
323
|
+
productionRegistrationEligible: false,
|
|
324
|
+
dispatchApprovalEligible: false,
|
|
325
|
+
providerCall: false,
|
|
326
|
+
runtimeExecution: false
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
//# sourceMappingURL=tool-stubs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-stubs.js","sourceRoot":"","sources":["../src/tool-stubs.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@flowdesk/opencode-plugin",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "FlowDesk OpenCode plugin with Release 1 non-dispatch command-backed registration.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/astasdf1/flowdesk.git",
|
|
10
|
+
"directory": "packages/opencode-plugin"
|
|
11
|
+
},
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist/**/*.d.ts",
|
|
17
|
+
"dist/**/*.d.ts.map",
|
|
18
|
+
"dist/**/*.js",
|
|
19
|
+
"dist/**/*.js.map",
|
|
20
|
+
"!dist/**/*.test.d.ts",
|
|
21
|
+
"!dist/**/*.test.d.ts.map",
|
|
22
|
+
"!dist/**/*.test.js",
|
|
23
|
+
"!dist/**/*.test.js.map",
|
|
24
|
+
"!dist/.tsbuildinfo"
|
|
25
|
+
],
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"default": "./dist/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./server": {
|
|
32
|
+
"types": "./dist/server.d.ts",
|
|
33
|
+
"import": "./dist/server.js",
|
|
34
|
+
"default": "./dist/server.js"
|
|
35
|
+
},
|
|
36
|
+
"./bootstrap-cli": {
|
|
37
|
+
"types": "./dist/bootstrap-cli.d.ts",
|
|
38
|
+
"import": "./dist/bootstrap-cli.js",
|
|
39
|
+
"default": "./dist/bootstrap-cli.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"bin": {
|
|
43
|
+
"flowdesk-install-release1": "dist/bootstrap-cli.js"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "tsc -b",
|
|
47
|
+
"typecheck": "tsc -b --pretty false",
|
|
48
|
+
"test": "npm run build && node --test dist/**/*.test.js"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@flowdesk/core": "^0.1.0",
|
|
52
|
+
"@opencode-ai/plugin": "1.3.12"
|
|
53
|
+
}
|
|
54
|
+
}
|