@revisium/orchestrator 0.1.0 → 0.2.0-alpha.1
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/README.md +78 -0
- package/control-plane/bootstrap.config.json +43 -1
- package/control-plane/default-playbook/catalog/pipelines.json +1250 -7
- package/control-plane/default-playbook/catalog/roles.json +54 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
- package/dist/api/graphql-api/inbox/inbox.resolver.js +12 -0
- package/dist/api/graphql-api/inbox/inbox.resolver.js.map +1 -1
- package/dist/api/graphql-api/inbox/inputs/resolve-gate.input.js +37 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-gate.input.js.map +1 -0
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js +0 -4
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
- package/dist/cli/commands/doctor-report.js +0 -18
- package/dist/cli/commands/doctor-report.js.map +1 -1
- package/dist/cli/commands/lifecycle.js +3 -71
- package/dist/cli/commands/lifecycle.js.map +1 -1
- package/dist/cli/commands/mcp.js +0 -14
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/process-tree.js +4 -26
- package/dist/cli/commands/process-tree.js.map +1 -1
- package/dist/cli/commands/revisium-helpers.js +0 -6
- package/dist/cli/commands/revisium-helpers.js.map +1 -1
- package/dist/cli/commands/rogue-reaper.js +0 -34
- package/dist/cli/commands/rogue-reaper.js.map +1 -1
- package/dist/cli/index.js +0 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/program.js +0 -5
- package/dist/cli/program.js.map +1 -1
- package/dist/config.js +0 -25
- package/dist/config.js.map +1 -1
- package/dist/control-plane/bootstrap.js +0 -28
- package/dist/control-plane/bootstrap.js.map +1 -1
- package/dist/control-plane/change-notifications.js +0 -1
- package/dist/control-plane/change-notifications.js.map +1 -1
- package/dist/control-plane/client-transport.js +0 -11
- package/dist/control-plane/client-transport.js.map +1 -1
- package/dist/control-plane/default-playbook-policy.js +64 -4
- package/dist/control-plane/default-playbook-policy.js.map +1 -1
- package/dist/control-plane/definitions.js +8 -17
- package/dist/control-plane/definitions.js.map +1 -1
- package/dist/control-plane/inbox.js +2 -120
- package/dist/control-plane/inbox.js.map +1 -1
- package/dist/control-plane/resolve-cwd.js +0 -61
- package/dist/control-plane/resolve-cwd.js.map +1 -1
- package/dist/control-plane/schema-migration.js +0 -9
- package/dist/control-plane/schema-migration.js.map +1 -1
- package/dist/control-plane/seed-default-playbook.js +5 -70
- package/dist/control-plane/seed-default-playbook.js.map +1 -1
- package/dist/control-plane/steps.js +0 -15
- package/dist/control-plane/steps.js.map +1 -1
- package/dist/e2e/kit/assertions.js +1 -1
- package/dist/e2e/kit/assertions.js.map +1 -1
- package/dist/engine/dbos.service.js +9 -179
- package/dist/engine/dbos.service.js.map +1 -1
- package/dist/engine/ensure-postgres.js +0 -48
- package/dist/engine/ensure-postgres.js.map +1 -1
- package/dist/features/inbox/commands/handlers/inbox-command.handlers.js +16 -0
- package/dist/features/inbox/commands/handlers/inbox-command.handlers.js.map +1 -1
- package/dist/features/inbox/commands/impl/resolve-gate.command.js +7 -0
- package/dist/features/inbox/commands/impl/resolve-gate.command.js.map +1 -0
- package/dist/features/inbox/commands/index.js +2 -1
- package/dist/features/inbox/commands/index.js.map +1 -1
- package/dist/features/inbox/inbox-api.service.js +4 -0
- package/dist/features/inbox/inbox-api.service.js.map +1 -1
- package/dist/host/daemon.js +2 -21
- package/dist/host/daemon.js.map +1 -1
- package/dist/host/dbos-identity.js +0 -31
- package/dist/host/dbos-identity.js.map +1 -1
- package/dist/host/ensure-host.js +1 -37
- package/dist/host/ensure-host.js.map +1 -1
- package/dist/host/ensure-revisium.js +1 -135
- package/dist/host/ensure-revisium.js.map +1 -1
- package/dist/host/host-runtime.js +0 -28
- package/dist/host/host-runtime.js.map +1 -1
- package/dist/host/host.lifecycle.js +0 -27
- package/dist/host/host.lifecycle.js.map +1 -1
- package/dist/host/queue-ownership.js +0 -42
- package/dist/host/queue-ownership.js.map +1 -1
- package/dist/host/queue-poller-census.js +1 -28
- package/dist/host/queue-poller-census.js.map +1 -1
- package/dist/http/graphql-host.module.js +0 -3
- package/dist/http/graphql-host.module.js.map +1 -1
- package/dist/mcp/mcp-capabilities.js +20 -14
- package/dist/mcp/mcp-capabilities.js.map +1 -1
- package/dist/mcp/mcp-facade.service.js +44 -23
- package/dist/mcp/mcp-facade.service.js.map +1 -1
- package/dist/mcp/mcp-http.service.js +0 -18
- package/dist/mcp/mcp-http.service.js.map +1 -1
- package/dist/mcp/mcp-tools.js +28 -40
- package/dist/mcp/mcp-tools.js.map +1 -1
- package/dist/observability/activity-signal.js +0 -4
- package/dist/observability/activity-signal.js.map +1 -1
- package/dist/observability/agent-activity-reporter.js +0 -4
- package/dist/observability/agent-activity-reporter.js.map +1 -1
- package/dist/pipeline/await-human.js +13 -43
- package/dist/pipeline/await-human.js.map +1 -1
- package/dist/pipeline/data-driven-task.workflow.js +121 -238
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
- package/dist/pipeline/data-driven-template.js +0 -25
- package/dist/pipeline/data-driven-template.js.map +1 -1
- package/dist/pipeline/pipeline.module.js +0 -12
- package/dist/pipeline/pipeline.module.js.map +1 -1
- package/dist/pipeline/pipeline.service.js +10 -99
- package/dist/pipeline/pipeline.service.js.map +1 -1
- package/dist/pipeline-core/index.js +1 -13
- package/dist/pipeline-core/index.js.map +1 -1
- package/dist/pipeline-core/interpret.js +21 -94
- package/dist/pipeline-core/interpret.js.map +1 -1
- package/dist/pipeline-core/kit/assertions.js +0 -19
- package/dist/pipeline-core/kit/assertions.js.map +1 -1
- package/dist/pipeline-core/kit/builders.js +2 -21
- package/dist/pipeline-core/kit/builders.js.map +1 -1
- package/dist/pipeline-core/kit/drive.js +1 -31
- package/dist/pipeline-core/kit/drive.js.map +1 -1
- package/dist/pipeline-core/kit/fixtures.js +26 -86
- package/dist/pipeline-core/kit/fixtures.js.map +1 -1
- package/dist/pipeline-core/kit/index.js +0 -8
- package/dist/pipeline-core/kit/index.js.map +1 -1
- package/dist/pipeline-core/types.js +13 -52
- package/dist/pipeline-core/types.js.map +1 -1
- package/dist/pipeline-core/validate-capability.js +0 -3
- package/dist/pipeline-core/validate-capability.js.map +1 -1
- package/dist/pipeline-core/validate-conflicts.js +0 -9
- package/dist/pipeline-core/validate-conflicts.js.map +1 -1
- package/dist/pipeline-core/validate-dataflow.js +2 -21
- package/dist/pipeline-core/validate-dataflow.js.map +1 -1
- package/dist/pipeline-core/validate-diff.js +3 -36
- package/dist/pipeline-core/validate-diff.js.map +1 -1
- package/dist/pipeline-core/validate-edges.js +0 -6
- package/dist/pipeline-core/validate-edges.js.map +1 -1
- package/dist/pipeline-core/validate-graph.js +0 -11
- package/dist/pipeline-core/validate-graph.js.map +1 -1
- package/dist/pipeline-core/validate-loops.js +37 -44
- package/dist/pipeline-core/validate-loops.js.map +1 -1
- package/dist/pipeline-core/validate-parallel.js +9 -15
- package/dist/pipeline-core/validate-parallel.js.map +1 -1
- package/dist/pipeline-core/validate-sink.js +0 -7
- package/dist/pipeline-core/validate-sink.js.map +1 -1
- package/dist/pipeline-core/validate-topology.js +1 -20
- package/dist/pipeline-core/validate-topology.js.map +1 -1
- package/dist/pipeline-core/validate-verdict.js +52 -7
- package/dist/pipeline-core/validate-verdict.js.map +1 -1
- package/dist/pipeline-core/validate.js +5 -29
- package/dist/pipeline-core/validate.js.map +1 -1
- package/dist/playbook/catalog-loader.js +8 -3
- package/dist/playbook/catalog-loader.js.map +1 -1
- package/dist/playbook/import-mapper.js +1 -9
- package/dist/playbook/import-mapper.js.map +1 -1
- package/dist/poller/pr-readiness-core.js +0 -74
- package/dist/poller/pr-readiness-core.js.map +1 -1
- package/dist/revisium/inbox.service.js +0 -24
- package/dist/revisium/inbox.service.js.map +1 -1
- package/dist/revisium/playbooks.service.js +2 -4
- package/dist/revisium/playbooks.service.js.map +1 -1
- package/dist/revisium/revisium.module.js +0 -12
- package/dist/revisium/revisium.module.js.map +1 -1
- package/dist/revisium/roles.service.js +0 -6
- package/dist/revisium/roles.service.js.map +1 -1
- package/dist/revisium/run.service.js +1 -75
- package/dist/revisium/run.service.js.map +1 -1
- package/dist/revisium/tokens.js +0 -4
- package/dist/revisium/tokens.js.map +1 -1
- package/dist/run/append-event.js +0 -34
- package/dist/run/append-event.js.map +1 -1
- package/dist/run/block-run.js.map +1 -1
- package/dist/run/cancel-run.js +0 -33
- package/dist/run/cancel-run.js.map +1 -1
- package/dist/run/complete-run.js.map +1 -1
- package/dist/run/create-run.js +0 -7
- package/dist/run/create-run.js.map +1 -1
- package/dist/run/fail-run.js +0 -3
- package/dist/run/fail-run.js.map +1 -1
- package/dist/run/inspect-run.js +0 -26
- package/dist/run/inspect-run.js.map +1 -1
- package/dist/run/run-outputs.js +0 -19
- package/dist/run/run-outputs.js.map +1 -1
- package/dist/run/terminal-run-status.js +0 -12
- package/dist/run/terminal-run-status.js.map +1 -1
- package/dist/runners/claude-code.service.js +0 -11
- package/dist/runners/claude-code.service.js.map +1 -1
- package/dist/runners/codex.service.js +0 -9
- package/dist/runners/codex.service.js.map +1 -1
- package/dist/runners/gh-identity.js +0 -52
- package/dist/runners/gh-identity.js.map +1 -1
- package/dist/runners/integrator-branch-naming.js +3 -11
- package/dist/runners/integrator-branch-naming.js.map +1 -1
- package/dist/runners/integrator-git.js +0 -25
- package/dist/runners/integrator-git.js.map +1 -1
- package/dist/runners/integrator-remote.js +0 -2
- package/dist/runners/integrator-remote.js.map +1 -1
- package/dist/runners/integrator-types.js +0 -7
- package/dist/runners/integrator-types.js.map +1 -1
- package/dist/runners/integrator.js +44 -176
- package/dist/runners/integrator.js.map +1 -1
- package/dist/runners/runner.module.js +0 -6
- package/dist/runners/runner.module.js.map +1 -1
- package/dist/runners/tokens.js +0 -4
- package/dist/runners/tokens.js.map +1 -1
- package/dist/runners/worktree.service.js +1 -17
- package/dist/runners/worktree.service.js.map +1 -1
- package/dist/task-control-plane/run-watch.service.js +50 -174
- package/dist/task-control-plane/run-watch.service.js.map +1 -1
- package/dist/task-control-plane/task-control-plane-api.service.js +134 -36
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/dist/worker/build-context.js +0 -16
- package/dist/worker/build-context.js.map +1 -1
- package/dist/worker/claude-code-runner.js +9 -42
- package/dist/worker/claude-code-runner.js.map +1 -1
- package/dist/worker/codex-runner.js +88 -22
- package/dist/worker/codex-runner.js.map +1 -1
- package/dist/worker/git-worktree-manager.js +20 -67
- package/dist/worker/git-worktree-manager.js.map +1 -1
- package/dist/worker/process-executor.js +0 -12
- package/dist/worker/process-executor.js.map +1 -1
- package/dist/worker/result-envelope.js +33 -49
- package/dist/worker/result-envelope.js.map +1 -1
- package/dist/worker/runner-dispatch.js +0 -3
- package/dist/worker/runner-dispatch.js.map +1 -1
- package/dist/worker/runner.js.map +1 -1
- package/dist/worker/stub-runner.js +0 -7
- package/dist/worker/stub-runner.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-transport.js","sourceRoot":"","sources":["../../src/control-plane/client-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client-transport.js","sourceRoot":"","sources":["../../src/control-plane/client-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ function checkBlockedTerminal(template, sink) {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
function checkProducedChangeHandoff(template, sink) {
|
|
52
|
-
for (const nodeId of ['developer', 'reworkDeveloper', 'ciRework', 'reviewRework']) {
|
|
52
|
+
for (const nodeId of ['developer', 'reworkDeveloper', 'stuckReworkDeveloper', 'ciRework', 'reviewRework']) {
|
|
53
53
|
expectChangeProducer(template, sink, nodeId);
|
|
54
54
|
}
|
|
55
55
|
expectConsume(template, sink, {
|
|
@@ -80,6 +80,13 @@ function checkProducedChangeHandoff(template, sink) {
|
|
|
80
80
|
as: 'reworkChange',
|
|
81
81
|
optional: true,
|
|
82
82
|
});
|
|
83
|
+
expectConsume(template, sink, {
|
|
84
|
+
code: 'DEFAULT_POLICY_CHANGE_HANDOFF_MISSING',
|
|
85
|
+
consumerId: 'integrator',
|
|
86
|
+
producerId: 'stuckReworkDeveloper',
|
|
87
|
+
as: 'stuckReworkChange',
|
|
88
|
+
optional: true,
|
|
89
|
+
});
|
|
83
90
|
expectConsume(template, sink, {
|
|
84
91
|
code: 'DEFAULT_POLICY_CHANGE_HANDOFF_MISSING',
|
|
85
92
|
consumerId: 'integrator',
|
|
@@ -183,6 +190,12 @@ function checkMergeGateRecheckRouting(template, sink) {
|
|
|
183
190
|
scope: 'ciLoop',
|
|
184
191
|
value: 3,
|
|
185
192
|
});
|
|
193
|
+
expectRoute(template, sink, {
|
|
194
|
+
code: 'DEFAULT_POLICY_MERGE_RECHECK_ROUTE_MISSING',
|
|
195
|
+
nodeId: 'mergeRecheckRouter',
|
|
196
|
+
verdict: 'recheck',
|
|
197
|
+
target: 'mergeReadiness',
|
|
198
|
+
});
|
|
186
199
|
expectDefaultRoute(template, sink, {
|
|
187
200
|
code: 'DEFAULT_POLICY_MERGE_RECHECK_ROUTE_MISSING',
|
|
188
201
|
nodeId: 'mergeRecheckRouter',
|
|
@@ -315,6 +328,39 @@ function checkLoopExhaustionEscalation(template, sink) {
|
|
|
315
328
|
routerId: 'codeReviewRouter',
|
|
316
329
|
gateId: 'codeStuckGate',
|
|
317
330
|
approveTarget: 'integrator',
|
|
331
|
+
approveVerdict: 'approve_anyway',
|
|
332
|
+
});
|
|
333
|
+
expectNodeNext(template, sink, {
|
|
334
|
+
code: 'DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING',
|
|
335
|
+
nodeId: 'stuckReworkDeveloper',
|
|
336
|
+
target: template.nodes['codeReviewFanout'] ? 'codeReviewFanout' : 'codeReview',
|
|
337
|
+
});
|
|
338
|
+
expectRoute(template, sink, {
|
|
339
|
+
code: 'DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING',
|
|
340
|
+
nodeId: 'codeStuckGate',
|
|
341
|
+
verdict: 'rework',
|
|
342
|
+
target: 'stuckReworkDeveloper',
|
|
343
|
+
});
|
|
344
|
+
expectRoute(template, sink, {
|
|
345
|
+
code: 'DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING',
|
|
346
|
+
nodeId: 'codeFinalStuckGate',
|
|
347
|
+
verdict: 'approve_anyway',
|
|
348
|
+
target: 'integrator',
|
|
349
|
+
});
|
|
350
|
+
expectDefaultRoute(template, sink, {
|
|
351
|
+
code: 'DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING',
|
|
352
|
+
nodeId: 'codeFinalStuckGate',
|
|
353
|
+
target: 'blockedEnd',
|
|
354
|
+
});
|
|
355
|
+
expectHumanGateOutcomes(template, sink, {
|
|
356
|
+
code: 'DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING',
|
|
357
|
+
nodeId: 'codeStuckGate',
|
|
358
|
+
outcomes: ['approve_anyway', 'rework', 'abort'],
|
|
359
|
+
});
|
|
360
|
+
expectHumanGateOutcomes(template, sink, {
|
|
361
|
+
code: 'DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING',
|
|
362
|
+
nodeId: 'codeFinalStuckGate',
|
|
363
|
+
outcomes: ['approve_anyway', 'abort'],
|
|
318
364
|
});
|
|
319
365
|
}
|
|
320
366
|
function expectChangeProducer(template, sink, nodeId) {
|
|
@@ -455,6 +501,19 @@ function expectGateArtifact(template, sink, rule) {
|
|
|
455
501
|
: describeNode(node),
|
|
456
502
|
});
|
|
457
503
|
}
|
|
504
|
+
function expectHumanGateOutcomes(template, sink, rule) {
|
|
505
|
+
const node = template.nodes[rule.nodeId];
|
|
506
|
+
const expected = rule.outcomes.join(',');
|
|
507
|
+
const actual = node?.kind === 'humanGate' ? node.outcomes.join(',') : describeNode(node);
|
|
508
|
+
if (actual === expected)
|
|
509
|
+
return;
|
|
510
|
+
sink.error(rule.code, `gate ${rule.nodeId} must declare explicit outcomes ${expected}`, {
|
|
511
|
+
nodeId: rule.nodeId,
|
|
512
|
+
path: 'outcomes',
|
|
513
|
+
expected,
|
|
514
|
+
actual,
|
|
515
|
+
});
|
|
516
|
+
}
|
|
458
517
|
function expectRouterDefaultGate(template, sink, rule) {
|
|
459
518
|
const router = routingNode(template, rule.routerId);
|
|
460
519
|
const defaultTarget = router ? defaultBranchTarget(router) : undefined;
|
|
@@ -468,15 +527,16 @@ function expectRouterDefaultGate(template, sink, rule) {
|
|
|
468
527
|
return;
|
|
469
528
|
}
|
|
470
529
|
const gate = routingNode(template, rule.gateId);
|
|
471
|
-
const
|
|
530
|
+
const approveVerdict = rule.approveVerdict ?? 'approved';
|
|
531
|
+
const approveTarget = gate ? guardedTargetForVerdict(gate, approveVerdict) : undefined;
|
|
472
532
|
const gateDefault = gate ? defaultBranchTarget(gate) : undefined;
|
|
473
533
|
if (gate?.kind === 'humanGate' && approveTarget === rule.approveTarget && gateDefault === 'blockedEnd')
|
|
474
534
|
return;
|
|
475
535
|
sink.error('DEFAULT_POLICY_LOOP_EXHAUSTION_ESCALATION_MISSING', `loop exhaustion gate ${rule.gateId} must approve to ${rule.approveTarget} and reject to blockedEnd`, {
|
|
476
536
|
nodeId: rule.gateId,
|
|
477
537
|
path: 'branches',
|
|
478
|
-
expected: `humanGate
|
|
479
|
-
actual: gate ? `kind=${gate.kind}
|
|
538
|
+
expected: `humanGate ${approveVerdict} -> ${rule.approveTarget}, default -> blockedEnd`,
|
|
539
|
+
actual: gate ? `kind=${gate.kind} ${approveVerdict}=${approveTarget ?? 'missing'} default=${gateDefault ?? 'missing'}` : 'missing gate',
|
|
480
540
|
});
|
|
481
541
|
}
|
|
482
542
|
function effectNode(template, nodeId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-playbook-policy.js","sourceRoot":"","sources":["../../src/control-plane/default-playbook-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"default-playbook-policy.js","sourceRoot":"","sources":["../../src/control-plane/default-playbook-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { ControlPlaneError } from './errors.js';
|
|
2
2
|
import { createClientTransport } from './client-transport.js';
|
|
3
|
-
/** Fail-safe defaults — preserve pre-0008 behavior when the routing_policy row is absent. */
|
|
4
3
|
export const DEFAULT_PIPELINE_POLICY = {
|
|
5
4
|
maxReviewIterations: 3,
|
|
6
5
|
maxAttempts: 3,
|
|
7
6
|
budgetUsd: 0,
|
|
8
7
|
budgetTokens: 0,
|
|
9
8
|
};
|
|
10
|
-
const VALID_MODEL_LEVELS = [
|
|
9
|
+
export const VALID_MODEL_LEVELS = [
|
|
10
|
+
'cheap',
|
|
11
|
+
'standard',
|
|
12
|
+
'deep',
|
|
13
|
+
'codex-cheap',
|
|
14
|
+
'codex-standard',
|
|
15
|
+
'codex-deep',
|
|
16
|
+
];
|
|
11
17
|
function toModelLevel(raw) {
|
|
12
18
|
const s = toStr(raw) || 'standard';
|
|
13
19
|
if (!VALID_MODEL_LEVELS.includes(s)) {
|
|
@@ -29,22 +35,18 @@ function parseJsonField(value) {
|
|
|
29
35
|
return value;
|
|
30
36
|
return JSON.parse(value);
|
|
31
37
|
}
|
|
32
|
-
/** Coerce to a positive integer, else the fallback (for policy/role numeric fields). */
|
|
33
38
|
function toPosInt(value, fallback) {
|
|
34
39
|
const n = typeof value === 'number' ? value : Number(value);
|
|
35
40
|
return Number.isFinite(n) && Number.isInteger(n) && n > 0 ? n : fallback;
|
|
36
41
|
}
|
|
37
|
-
/** Coerce to a non-negative number, else the fallback (for budgets — 0 = unlimited). */
|
|
38
42
|
function toNonNegNum(value, fallback) {
|
|
39
43
|
const n = typeof value === 'number' ? value : Number(value);
|
|
40
44
|
return Number.isFinite(n) && n >= 0 ? n : fallback;
|
|
41
45
|
}
|
|
42
|
-
/** Optional positive-integer field — undefined when absent/invalid (role timeout). */
|
|
43
46
|
function toOptPosInt(value) {
|
|
44
47
|
const n = typeof value === 'number' ? value : Number(value);
|
|
45
48
|
return Number.isFinite(n) && Number.isInteger(n) && n > 0 ? n : undefined;
|
|
46
49
|
}
|
|
47
|
-
/** True for a "row not found" error — ControlPlaneError ROW_NOT_FOUND or any 404-shaped error. */
|
|
48
50
|
function isRowNotFound(err) {
|
|
49
51
|
if (err instanceof ControlPlaneError)
|
|
50
52
|
return err.code === 'ROW_NOT_FOUND';
|
|
@@ -73,18 +75,8 @@ export async function loadRole(name, transport) {
|
|
|
73
75
|
permissionMode: toStr(d.permission_mode) || undefined,
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
|
-
/**
|
|
77
|
-
* loadPipelinePolicy — read pipeline limits from the routing_policy table (0008 #5).
|
|
78
|
-
*
|
|
79
|
-
* Reads row `rowId` (default 'pipeline'); parses its `rule` JSON for max_review_iterations,
|
|
80
|
-
* max_attempts, budget_usd, budget_tokens. Falls back to DEFAULT_PIPELINE_POLICY when the row
|
|
81
|
-
* is absent (routing_policy starts EMPTY) so the pipeline keeps working before the seed lands.
|
|
82
|
-
*/
|
|
83
78
|
export async function loadPipelinePolicy(transport, rowId = 'pipeline') {
|
|
84
79
|
const t = transport ?? createClientTransport('head');
|
|
85
|
-
// Default ONLY when the policy row is absent (routing_policy starts EMPTY). A transport failure
|
|
86
|
-
// or MALFORMED rule JSON must NOT silently disable the budget/limits — rethrow those so a typo in
|
|
87
|
-
// the budget config surfaces loudly instead of falling back to "unlimited" (codex 0008 finding).
|
|
88
80
|
let row;
|
|
89
81
|
try {
|
|
90
82
|
row = await t.getRow('routing_policy', rowId);
|
|
@@ -94,7 +86,6 @@ export async function loadPipelinePolicy(transport, rowId = 'pipeline') {
|
|
|
94
86
|
return { ...DEFAULT_PIPELINE_POLICY };
|
|
95
87
|
throw err;
|
|
96
88
|
}
|
|
97
|
-
// parseJsonField may throw on malformed JSON — intentionally NOT caught (see above).
|
|
98
89
|
const parsed = parseJsonField(row.data?.rule);
|
|
99
90
|
const rule = parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
|
|
100
91
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/control-plane/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAA8B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/control-plane/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAA8B,MAAM,uBAAuB,CAAC;AAiC1F,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,mBAAmB,EAAE,CAAC;IACtB,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CAChB,CAAC;AAWF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO;IACP,UAAU;IACV,MAAM;IACN,aAAa;IACb,gBAAgB;IAChB,YAAY;CACJ,CAAC;AAIX,SAAS,YAAY,CAAC,GAAY;IAChC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;IACnC,IAAI,CAAE,kBAAwC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,iBAAiB,CACzB,oBAAoB,EACpB,wBAAwB,CAAC,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,CAAuB,CAAC;AACjC,CAAC;AAED,SAAS,KAAK,CAAC,CAAU;IACvB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;AACtC,CAAC;AAGD,SAAS,QAAQ,CAAC,KAAc,EAAE,QAAgB;IAChD,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3E,CAAC;AAGD,SAAS,WAAW,CAAC,KAAc,EAAE,QAAgB;IACnD,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAGD,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAGD,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,YAAY,iBAAiB;QAAE,OAAO,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC;IAC1E,MAAM,MAAM,GAAI,GAAsC,EAAE,UAAU,CAAC;IACnE,OAAO,MAAM,KAAK,GAAG,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,SAAiC;IAC5E,MAAM,CAAC,GAAG,SAAS,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACzB,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;QAC3B,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QACpC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QACvC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,aAAa;QAC9D,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,aAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7F,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;QACzC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,SAAS;QAC7C,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,SAAS;QACtD,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,SAAS;QAC7C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,SAAS;QAC7C,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS;QACtC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,SAAS;QACpC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QACpC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;KACtD,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiC,EACjC,KAAK,GAAG,UAAU;IAElB,MAAM,CAAC,GAAG,SAAS,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAErD,IAAI,GAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,GAAG,uBAAuB,EAAE,CAAC;QAC9D,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GACR,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO;QACL,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,mBAAmB,CAAC;QACtG,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,WAAW,CAAC;QAC7E,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,SAAS,CAAC;QAC1E,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,YAAY,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,SAAiC;IACrF,MAAM,CAAC,GAAG,SAAS,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACzB,OAAO;QACL,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAA0B;QACzD,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;QAC3C,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC"}
|
|
@@ -1,36 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* inbox.ts — PURE Revisium-table inbox verbs. NO DBOS imports anywhere in this file.
|
|
3
|
-
*
|
|
4
|
-
* Covers: pushInbox, listInbox, getInbox, resolveInbox.
|
|
5
|
-
*
|
|
6
|
-
* RESUMABILITY guarantee (G9): resolveInbox COMPLETES idempotently on every call.
|
|
7
|
-
* A crash between the inbox patch and the step patch is repaired by a retry — the
|
|
8
|
-
* retry re-reads the already-resolved inbox row, takes the stored answer (stored
|
|
9
|
-
* answer wins; first resolver is authoritative), and idempotently drives the step
|
|
10
|
-
* from awaiting_approval → ready. Calling resolveInbox twice converges to:
|
|
11
|
-
* inbox resolved + step unblocked exactly once.
|
|
12
|
-
*
|
|
13
|
-
* KNOWN LIMITATION (G5 residual): data-access.ts patchRow is a plain write — no
|
|
14
|
-
* CAS. Two truly-concurrent first-time resolvers can both pass the `pending` read
|
|
15
|
-
* before either writes, and both proceed (each re-flips the step — harmless
|
|
16
|
-
* idempotent duplicate writes, but no CAS prevents dual entry). In practice the
|
|
17
|
-
* inbox has a single human resolver, so this is acceptable for 0002. A full
|
|
18
|
-
* conditional pending→resolved transition is a data-access-seam enhancement
|
|
19
|
-
* (add CAS/conditional write to data-access.ts) and is out of scope for 0002.
|
|
20
|
-
* Do NOT "fix" this by adding DBOS or hand-rolling a lock.
|
|
21
|
-
*/
|
|
22
1
|
import { randomUUID } from 'node:crypto';
|
|
23
2
|
import { ControlPlaneError } from './errors.js';
|
|
24
|
-
import { compactStamp } from './steps.js';
|
|
25
|
-
// ─── secret redaction ────────────────────────────────────────
|
|
3
|
+
import { compactStamp } from './steps.js';
|
|
26
4
|
const SECRET_PATTERN = /(?:password|secret|token|key|credential|auth|api_key|apikey)/i;
|
|
27
|
-
/**
|
|
28
|
-
* Recursively strip obvious secret-shaped keys from a value before persisting.
|
|
29
|
-
* - Plain objects: redact matching keys at ANY depth, recurse into non-secret values.
|
|
30
|
-
* - Arrays: recurse into each element.
|
|
31
|
-
* - Primitives / null: return as-is.
|
|
32
|
-
* Full policy can firm up later; this covers the common cases.
|
|
33
|
-
*/
|
|
34
5
|
export function redactSecrets(value) {
|
|
35
6
|
if (value === null || typeof value !== 'object')
|
|
36
7
|
return value;
|
|
@@ -43,7 +14,6 @@ export function redactSecrets(value) {
|
|
|
43
14
|
}
|
|
44
15
|
return result;
|
|
45
16
|
}
|
|
46
|
-
// ─── row mapping ─────────────────────────────────────────────
|
|
47
17
|
function str(v) {
|
|
48
18
|
return typeof v === 'string' ? v : '';
|
|
49
19
|
}
|
|
@@ -65,47 +35,17 @@ function mapInboxRow(rowId, data) {
|
|
|
65
35
|
resolvedAt: str(data.resolved_at),
|
|
66
36
|
};
|
|
67
37
|
}
|
|
68
|
-
// ─── exported verbs ──────────────────────────────────────────
|
|
69
|
-
/**
|
|
70
|
-
* pushInbox — insert an inbox row; set the originating step to awaiting_approval
|
|
71
|
-
* (branch stops, siblings continue). Returns the inbox id.
|
|
72
|
-
*
|
|
73
|
-
* G10: seeds answer: null, resolved_by: '', resolved_at: '' so that the resolveInbox
|
|
74
|
-
* `replace` patches hit present paths (serializeData omits undefined fields, leaving
|
|
75
|
-
* absent paths that Revisium's patch handler rejects for `replace`).
|
|
76
|
-
*
|
|
77
|
-
* G1 (0004): accepts `opts.id` — when present, used VERBATIM (bypassing compactStamp+suffix).
|
|
78
|
-
* This is the fully-deterministic path used by gate pushes in the workflow body.
|
|
79
|
-
* Legacy callers pass no `id` → timestamp+suffix path is unchanged (backward-compatible).
|
|
80
|
-
*
|
|
81
|
-
* G1 idempotency: wraps createRow in a ROW_CONFLICT catch (mirrors append-event.ts:69-72).
|
|
82
|
-
* On a workflow-body replay the row already exists → swallows the conflict and returns the
|
|
83
|
-
* same id (no-op, no duplicate). Gate rows carry no stepId, so the step-park branch is moot
|
|
84
|
-
* on ROW_CONFLICT; we return before it.
|
|
85
|
-
*
|
|
86
|
-
* Redacts secrets in context before writing (contract line 163).
|
|
87
|
-
*/
|
|
88
38
|
export async function pushInbox(da, item, opts) {
|
|
89
39
|
await da.assertReady();
|
|
90
|
-
// CR-C (0004 CR): avoid computing non-deterministic values on the deterministic gate path.
|
|
91
|
-
// When opts.id is present, we do NOT call new Date() until we are inside the actual insert —
|
|
92
|
-
// at which point ROW_CONFLICT makes the row exactly-once (first write wins; any replayed
|
|
93
|
-
// new Date() is discarded by the conflict and never persisted). The timestamp is a real wall-
|
|
94
|
-
// clock value on the FIRST insert and is irrelevant on replay. Only the legacy path (no
|
|
95
|
-
// opts.id) needs now for the id itself, so it is computed first in that branch only.
|
|
96
40
|
let id;
|
|
97
41
|
let now;
|
|
98
42
|
if (opts?.id === undefined) {
|
|
99
|
-
// Legacy path: timestamp is part of the id — must be computed before createRow.
|
|
100
43
|
now = opts?.now ?? new Date();
|
|
101
44
|
const suffix = opts?.idSuffix ?? randomUUID().replaceAll('-', '').slice(0, 8);
|
|
102
45
|
id = `inbox_${compactStamp(now)}_${suffix}`;
|
|
103
46
|
}
|
|
104
47
|
else {
|
|
105
|
-
// Deterministic gate path: id is caller-supplied verbatim; timestamp is only needed
|
|
106
|
-
// for created_at in the insert — evaluated lazily inside the try block below.
|
|
107
48
|
id = opts.id;
|
|
108
|
-
// Use opts.now if provided (test-seeded), otherwise defer new Date() to the insert.
|
|
109
49
|
now = opts?.now ?? new Date();
|
|
110
50
|
}
|
|
111
51
|
const safeContext = redactSecrets(item.context);
|
|
@@ -121,33 +61,19 @@ export async function pushInbox(da, item, opts) {
|
|
|
121
61
|
context: safeContext,
|
|
122
62
|
options: item.options ?? [],
|
|
123
63
|
status: 'pending',
|
|
124
|
-
// G10 — seed every later-patched optional column as a present value (never undefined).
|
|
125
|
-
// serializeData (json-fields.ts:38) omits undefined fields; an absent path causes
|
|
126
|
-
// Revisium's patch handler to reject a replace → resolveInbox patches would fail.
|
|
127
|
-
// answer: null is serialized by json-fields as JSON null → 'null' string on the JSON field.
|
|
128
64
|
answer: null,
|
|
129
65
|
resolved_by: '',
|
|
130
66
|
resolved_at: '',
|
|
131
|
-
// On the opts.id (gate) path, created_at uses `now` computed above. On a workflow-body
|
|
132
|
-
// replay, ROW_CONFLICT fires BEFORE this value is persisted — so a different now per
|
|
133
|
-
// replay is harmless (it is discarded). The FIRST insert's timestamp is the real one.
|
|
134
67
|
created_at: now.toISOString(),
|
|
135
68
|
});
|
|
136
69
|
}
|
|
137
70
|
catch (e) {
|
|
138
|
-
// Idempotent on workflow-body replay (mirror append-event.ts:69-72). Same row already exists → no-op.
|
|
139
71
|
if (e instanceof ControlPlaneError && e.code === 'ROW_CONFLICT')
|
|
140
72
|
return id;
|
|
141
73
|
throw e;
|
|
142
74
|
}
|
|
143
|
-
// No `steps` row is parked: the data-driven engine carries no inbox stepId (await-human sets ''),
|
|
144
|
-
// so the legacy step-park is dead (audit §3.1). The DBOS workflow is parked by `DBOS.recv`, not a step row.
|
|
145
75
|
return id;
|
|
146
76
|
}
|
|
147
|
-
/**
|
|
148
|
-
* listInbox — read the inbox table, optionally filtered.
|
|
149
|
-
* Draft read; consumers never see Revisium types (returns InboxItem[]).
|
|
150
|
-
*/
|
|
151
77
|
export async function listInbox(da, filter) {
|
|
152
78
|
await da.assertReady();
|
|
153
79
|
const rows = await da.listRows('inbox', { first: filter?.limit ?? 500 });
|
|
@@ -158,11 +84,6 @@ export async function listInbox(da, filter) {
|
|
|
158
84
|
items = items.filter((i) => i.runId === filter.runId);
|
|
159
85
|
return items;
|
|
160
86
|
}
|
|
161
|
-
/**
|
|
162
|
-
* getInbox — read a single inbox row.
|
|
163
|
-
* G12: intentionally returns InboxItem | null (maps da.getRow's null-on-missing path),
|
|
164
|
-
* superseding repo-layer-contract.md:172's non-null signature. Null is the safer shape.
|
|
165
|
-
*/
|
|
166
87
|
export async function getInbox(da, id) {
|
|
167
88
|
await da.assertReady();
|
|
168
89
|
const row = await da.getRow('inbox', id);
|
|
@@ -170,66 +91,27 @@ export async function getInbox(da, id) {
|
|
|
170
91
|
return null;
|
|
171
92
|
return mapInboxRow(row.rowId, row.data);
|
|
172
93
|
}
|
|
173
|
-
/**
|
|
174
|
-
* resolveInbox — pure status flip + step unblock. NO DBOS signal (that is 0004).
|
|
175
|
-
*
|
|
176
|
-
* G2 (0004): now returns the STORED decision `{ status, answer }` so the caller (CLI gate path)
|
|
177
|
-
* can signal WHAT IS RECORDED, never the raw flag passed to this call.
|
|
178
|
-
* - `status` is the row's status BEFORE this call: 'pending' ⇒ just resolved; 'resolved' ⇒ already was.
|
|
179
|
-
* - `answer` is the EFFECTIVE stored answer (first-resolver wins; retry returns stored, not its arg).
|
|
180
|
-
*
|
|
181
|
-
* Existing 0002 callers (non-gate resolve, run cancel CLI) ignore the return — backward-compatible.
|
|
182
|
-
*
|
|
183
|
-
* RESUMABLE + idempotent (G9): COMPLETES on every call.
|
|
184
|
-
* - If inbox is pending: patch to resolved, then unblock the step.
|
|
185
|
-
* - If inbox is already resolved (retry / double-resolve): skip the inbox re-patch
|
|
186
|
-
* (stored answer wins), but STILL drive the step unblock from the stored answer.
|
|
187
|
-
* - This means a crash between the inbox patch and the step patch is repaired by a
|
|
188
|
-
* retry — the parked step is NEVER left stuck.
|
|
189
|
-
*
|
|
190
|
-
* CURRENT-STATE-SAFE (G5):
|
|
191
|
-
* - pending → resolved only (else VALIDATION_FAILURE).
|
|
192
|
-
* - Resurrection guard: if the step is no longer awaiting_approval (cancelled /
|
|
193
|
-
* re-driven / gone), console.warn and skip the step flip without throwing.
|
|
194
|
-
* - Deterministic continuation: step_cont_${itemId} so a re-run collides on the
|
|
195
|
-
* same id rather than creating a duplicate.
|
|
196
|
-
*
|
|
197
|
-
* KNOWN LIMITATION: no CAS (see module doc-comment above).
|
|
198
|
-
*/
|
|
199
94
|
export async function resolveInbox(da, itemId, answer, resolvedBy, opts) {
|
|
200
95
|
await da.assertReady();
|
|
201
|
-
// (1) READ. getRow returns null for a missing inbox row.
|
|
202
96
|
const inbox = await da.getRow('inbox', itemId);
|
|
203
97
|
if (!inbox) {
|
|
204
98
|
throw new ControlPlaneError('ROW_NOT_FOUND', `inbox item not found: ${itemId}`);
|
|
205
99
|
}
|
|
206
|
-
// (2) STATE GUARD. Only pending or resolved are valid states to act on.
|
|
207
100
|
const status = inbox.data.status;
|
|
208
101
|
if (status !== 'pending' && status !== 'resolved') {
|
|
209
102
|
throw new ControlPlaneError('VALIDATION_FAILURE', `inbox ${itemId} cannot be resolved from status '${String(status)}'`);
|
|
210
103
|
}
|
|
211
104
|
const now = opts?.now ?? new Date();
|
|
212
|
-
// (3) IDEMPOTENT INBOX WRITE.
|
|
213
|
-
// pending → patch to resolved carrying answer / resolved_by / resolved_at.
|
|
214
|
-
// resolved → SKIP the re-patch. The stored answer wins (first resolver is authoritative).
|
|
215
105
|
if (status === 'pending') {
|
|
216
106
|
await da.patchRow('inbox', itemId, [
|
|
217
|
-
{ op: 'replace', path: 'status', value: 'resolved' },
|
|
107
|
+
{ op: 'replace', path: 'status', value: 'resolved' },
|
|
218
108
|
{ op: 'replace', path: 'answer', value: answer },
|
|
219
109
|
{ op: 'replace', path: 'resolved_by', value: resolvedBy },
|
|
220
110
|
{ op: 'replace', path: 'resolved_at', value: now.toISOString() },
|
|
221
111
|
]);
|
|
222
112
|
}
|
|
223
|
-
// C2 (0004 review): the effective answer is ALWAYS the STORED (persisted) value — re-read
|
|
224
|
-
// from the row. On the already-resolved path the pre-read row carries the stored answer.
|
|
225
|
-
// On the first-resolve path, re-read after patching so we return what is durably recorded
|
|
226
|
-
// (guards against JSON-field round-trip canonicalization differences and concurrent resolvers).
|
|
227
|
-
// Both paths converge to: signal what is recorded, never the raw caller argument.
|
|
228
113
|
const resolvedInbox = status === 'pending' ? await da.getRow('inbox', itemId) : inbox;
|
|
229
114
|
const effectiveAnswer = resolvedInbox?.data.answer ?? answer;
|
|
230
|
-
// (4) The inbox flip is the WHOLE resolve. The data-driven engine carries no inbox stepId, so there
|
|
231
|
-
// is no originating `steps` row to unblock — the parked DBOS workflow resumes via `DBOS.send` on the
|
|
232
|
-
// signalled topic (the legacy step-unblock was retired — audit §3.1).
|
|
233
115
|
return { status, answer: effectiveAnswer };
|
|
234
116
|
}
|
|
235
117
|
//# sourceMappingURL=inbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/control-plane/inbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/control-plane/inbox.ts"],"names":[],"mappings":"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"}
|