@jmanuelcorral/openteam 0.2.2 → 0.9.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/.opencode/command/openteam.md +2 -1
- package/.opencode/openteam.example.json +27 -8
- package/AGENTS.md +5 -2
- package/README.es.md +155 -59
- package/README.md +418 -62
- package/dist/capabilities/types.d.ts +3 -3
- package/dist/capabilities/types.d.ts.map +1 -1
- package/dist/classifier/localClassifier.d.ts +0 -2
- package/dist/classifier/localClassifier.d.ts.map +1 -1
- package/dist/cli/consoleServe.d.ts +21 -1
- package/dist/cli/consoleServe.d.ts.map +1 -1
- package/dist/cli/graphOperator.d.ts +22 -0
- package/dist/cli/graphOperator.d.ts.map +1 -0
- package/dist/cli/graphStatusSnapshot.d.ts +16 -0
- package/dist/cli/graphStatusSnapshot.d.ts.map +1 -0
- package/dist/cli/migrateAdapter.d.ts +12 -0
- package/dist/cli/migrateAdapter.d.ts.map +1 -0
- package/dist/cli/purgeAdapter.d.ts +10 -0
- package/dist/cli/purgeAdapter.d.ts.map +1 -0
- package/dist/cli/setupAdapters.d.ts.map +1 -1
- package/dist/cli.js +13394 -6121
- package/dist/commands/agents.d.ts +102 -2
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/baseline.d.ts.map +1 -1
- package/dist/commands/clearCache.d.ts +23 -0
- package/dist/commands/clearCache.d.ts.map +1 -0
- package/dist/commands/dispatch.d.ts +196 -4
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts +40 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/frontierCatalog.d.ts +8 -14
- package/dist/commands/frontierCatalog.d.ts.map +1 -1
- package/dist/commands/graph.d.ts +0 -27
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/local.d.ts.map +1 -1
- package/dist/commands/migrate.d.ts +11 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/purge.d.ts +132 -0
- package/dist/commands/purge.d.ts.map +1 -0
- package/dist/commands/report.d.ts +1 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/setup.d.ts +62 -5
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/config/errors.d.ts +10 -0
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/legacyMigration.d.ts +82 -0
- package/dist/config/legacyMigration.d.ts.map +1 -0
- package/dist/config/legacyPaths.d.ts +105 -0
- package/dist/config/legacyPaths.d.ts.map +1 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/opencode.d.ts +63 -0
- package/dist/config/opencode.d.ts.map +1 -0
- package/dist/config/persist.d.ts +8 -0
- package/dist/config/persist.d.ts.map +1 -1
- package/dist/config/resolve.d.ts +1 -1
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/runtime.d.ts +62 -0
- package/dist/config/runtime.d.ts.map +1 -0
- package/dist/config/schema.d.ts +142 -79
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/console/assets.d.ts +2 -2
- package/dist/console/assets.d.ts.map +1 -1
- package/dist/console/configView.d.ts +74 -0
- package/dist/console/configView.d.ts.map +1 -0
- package/dist/console/opencodeClient.d.ts +8 -6
- package/dist/console/opencodeClient.d.ts.map +1 -1
- package/dist/console/protocol.d.ts +30 -6
- package/dist/console/protocol.d.ts.map +1 -1
- package/dist/console/render.d.ts +30 -1
- package/dist/console/render.d.ts.map +1 -1
- package/dist/console/types.d.ts +1 -1
- package/dist/console/types.d.ts.map +1 -1
- package/dist/context/redaction.d.ts +19 -19
- package/dist/context/redaction.d.ts.map +1 -1
- package/dist/context/schema.d.ts +26 -26
- package/dist/context/schema.d.ts.map +1 -1
- package/dist/context/types.d.ts +3 -3
- package/dist/contract/opencode.d.ts +39 -23
- package/dist/contract/opencode.d.ts.map +1 -1
- package/dist/graph/certificate.d.ts +37 -16
- package/dist/graph/certificate.d.ts.map +1 -1
- package/dist/graph/langgraph/adapter.d.ts +56 -0
- package/dist/graph/langgraph/adapter.d.ts.map +1 -0
- package/dist/graph/langgraph/certification.d.ts +64 -0
- package/dist/graph/langgraph/certification.d.ts.map +1 -0
- package/dist/graph/langgraph/checkpointReplay.d.ts +49 -0
- package/dist/graph/langgraph/checkpointReplay.d.ts.map +1 -0
- package/dist/graph/langgraph/checkpointer.d.ts +49 -0
- package/dist/graph/langgraph/checkpointer.d.ts.map +1 -0
- package/dist/graph/langgraph/engine.d.ts +34 -0
- package/dist/graph/langgraph/engine.d.ts.map +1 -0
- package/dist/graph/langgraph/graphModel.d.ts +37 -0
- package/dist/graph/langgraph/graphModel.d.ts.map +1 -0
- package/dist/graph/langgraph/reducer.d.ts +18 -0
- package/dist/graph/langgraph/reducer.d.ts.map +1 -0
- package/dist/graph/langgraph/retirement.d.ts +59 -0
- package/dist/graph/langgraph/retirement.d.ts.map +1 -0
- package/dist/graph/langgraph/types.d.ts +65 -0
- package/dist/graph/langgraph/types.d.ts.map +1 -0
- package/dist/graph/privacyPolicy.d.ts +7 -0
- package/dist/graph/privacyPolicy.d.ts.map +1 -1
- package/dist/graph/soakLedger.d.ts.map +1 -1
- package/dist/graph/types.d.ts +0 -2
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/index.d.ts +46 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11083 -5009
- package/dist/local/cacheAdapter.d.ts +7 -0
- package/dist/local/cacheAdapter.d.ts.map +1 -0
- package/dist/local/concurrency.d.ts +52 -0
- package/dist/local/concurrency.d.ts.map +1 -0
- package/dist/local/embeddings.d.ts +10 -10
- package/dist/local/embeddings.d.ts.map +1 -1
- package/dist/local/extractClient.d.ts +13 -10
- package/dist/local/extractClient.d.ts.map +1 -1
- package/dist/local/lemonade.d.ts +4 -0
- package/dist/local/lemonade.d.ts.map +1 -0
- package/dist/local/registry.d.ts +16 -0
- package/dist/local/registry.d.ts.map +1 -1
- package/dist/local/types.d.ts +1 -1
- package/dist/local/types.d.ts.map +1 -1
- package/dist/mcp/semanticRecall.d.ts +18 -1
- package/dist/mcp/semanticRecall.d.ts.map +1 -1
- package/dist/mcp/server.d.ts +41 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/memory/embedText.d.ts +4 -0
- package/dist/memory/embedText.d.ts.map +1 -0
- package/dist/memory/extract.d.ts +33 -18
- package/dist/memory/extract.d.ts.map +1 -1
- package/dist/memory/fold.d.ts +3 -2
- package/dist/memory/fold.d.ts.map +1 -1
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/inject.d.ts.map +1 -1
- package/dist/memory/log.d.ts +15 -4
- package/dist/memory/log.d.ts.map +1 -1
- package/dist/memory/merge.d.ts +18 -1
- package/dist/memory/merge.d.ts.map +1 -1
- package/dist/memory/traverse.d.ts +80 -0
- package/dist/memory/traverse.d.ts.map +1 -0
- package/dist/memory/types.d.ts +53 -7
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/messages/commands.d.ts +84 -0
- package/dist/messages/commands.d.ts.map +1 -0
- package/dist/messages/index.d.ts +46 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/opencodeArtifacts/index.d.ts +33 -0
- package/dist/opencodeArtifacts/index.d.ts.map +1 -0
- package/dist/opencodeArtifacts/orchestratorAgent.d.ts +29 -0
- package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -0
- package/dist/opencodeArtifacts/slashCommand.d.ts +31 -0
- package/dist/opencodeArtifacts/slashCommand.d.ts.map +1 -0
- package/dist/orchestrator/coordinator.d.ts +152 -1
- package/dist/orchestrator/coordinator.d.ts.map +1 -1
- package/dist/orchestrator/graphCancellation.d.ts +40 -37
- package/dist/orchestrator/graphCancellation.d.ts.map +1 -1
- package/dist/orchestrator/graphEffects.d.ts +24 -24
- package/dist/orchestrator/graphEffects.d.ts.map +1 -1
- package/dist/orchestrator/graphFacade.d.ts +16 -16
- package/dist/orchestrator/graphFacade.d.ts.map +1 -1
- package/dist/orchestrator/graphIngress.d.ts +49 -45
- package/dist/orchestrator/graphIngress.d.ts.map +1 -1
- package/dist/orchestrator/graphReview.d.ts +24 -23
- package/dist/orchestrator/graphReview.d.ts.map +1 -1
- package/dist/orchestrator/graphRuntime.d.ts +27 -26
- package/dist/orchestrator/graphRuntime.d.ts.map +1 -1
- package/dist/orchestrator/graphShadow.d.ts +70 -69
- package/dist/orchestrator/graphShadow.d.ts.map +1 -1
- package/dist/orchestrator/opencodeSessionAdapter.d.ts +25 -25
- package/dist/orchestrator/opencodeSessionAdapter.d.ts.map +1 -1
- package/dist/orchestrator/permissions.d.ts.map +1 -1
- package/dist/orchestrator/ralphLoop.d.ts +57 -0
- package/dist/orchestrator/ralphLoop.d.ts.map +1 -0
- package/dist/orchestrator/roles.d.ts +50 -8
- package/dist/orchestrator/roles.d.ts.map +1 -1
- package/dist/orchestrator/roster.d.ts +103 -0
- package/dist/orchestrator/roster.d.ts.map +1 -0
- package/dist/orchestrator/rosterPersistence.d.ts +22 -0
- package/dist/orchestrator/rosterPersistence.d.ts.map +1 -0
- package/dist/orchestrator/runtimeSelection.d.ts +46 -0
- package/dist/orchestrator/runtimeSelection.d.ts.map +1 -0
- package/dist/orchestrator/sddCompiler.d.ts +34 -34
- package/dist/orchestrator/sddCompiler.d.ts.map +1 -1
- package/dist/orchestrator/sessionReconciler.d.ts +31 -29
- package/dist/orchestrator/sessionReconciler.d.ts.map +1 -1
- package/dist/orchestrator/shadowComparator.d.ts +23 -23
- package/dist/orchestrator/shadowComparator.d.ts.map +1 -1
- package/dist/orchestrator/subsessions.d.ts.map +1 -1
- package/dist/orchestrator/worktreeAdapter.d.ts +12 -12
- package/dist/orchestrator/worktreeAdapter.d.ts.map +1 -1
- package/dist/orchestrator/worktreeDispatch.d.ts +34 -34
- package/dist/orchestrator/worktreeDispatch.d.ts.map +1 -1
- package/dist/orchestrator/worktreeReconciler.d.ts +37 -36
- package/dist/orchestrator/worktreeReconciler.d.ts.map +1 -1
- package/dist/plugin/availability.d.ts.map +1 -1
- package/dist/plugin/capture.d.ts +12 -12
- package/dist/plugin/capture.d.ts.map +1 -1
- package/dist/plugin/commandTool.d.ts +1 -1
- package/dist/plugin/commandTool.d.ts.map +1 -1
- package/dist/plugin/graphShadowIngress.d.ts +50 -48
- package/dist/plugin/graphShadowIngress.d.ts.map +1 -1
- package/dist/plugin/graphTool.d.ts +25 -23
- package/dist/plugin/graphTool.d.ts.map +1 -1
- package/dist/plugin/hooks.d.ts +10 -10
- package/dist/plugin/hooks.d.ts.map +1 -1
- package/dist/plugin/legacyRunProducer.d.ts +22 -22
- package/dist/plugin/legacyRunProducer.d.ts.map +1 -1
- package/dist/plugin/memoryInject.d.ts +6 -6
- package/dist/plugin/memoryInject.d.ts.map +1 -1
- package/dist/plugin/memoryTool.d.ts +36 -0
- package/dist/plugin/memoryTool.d.ts.map +1 -0
- package/dist/plugin/orchestrateTool.d.ts +35 -2
- package/dist/plugin/orchestrateTool.d.ts.map +1 -1
- package/dist/plugin/reportRunSchema.d.ts +8 -8
- package/dist/plugin/reportRunSchema.d.ts.map +1 -1
- package/dist/plugin/sessionTracker.d.ts +15 -15
- package/dist/plugin/sessionTracker.d.ts.map +1 -1
- package/dist/plugin/shadowPipeline.d.ts +2 -1
- package/dist/plugin/shadowPipeline.d.ts.map +1 -1
- package/dist/plugin/soakObserver.d.ts +18 -11
- package/dist/plugin/soakObserver.d.ts.map +1 -1
- package/dist/plugin/toolcalls.d.ts +3 -3
- package/dist/router/chooseModel.d.ts.map +1 -1
- package/dist/router/frontierBaseline.d.ts +3 -3
- package/dist/router/modelSelection.d.ts +12 -4
- package/dist/router/modelSelection.d.ts.map +1 -1
- package/dist/router/types.d.ts +6 -1
- package/dist/router/types.d.ts.map +1 -1
- package/dist/storage/graph/snapshot.d.ts.map +1 -1
- package/dist/storage/graph/soakRecorder.d.ts +14 -1
- package/dist/storage/graph/soakRecorder.d.ts.map +1 -1
- package/dist/storage/graph/workspaceLease.d.ts +1 -1
- package/dist/storage/graph/workspaceLease.d.ts.map +1 -1
- package/dist/storage/graph/worktreeRegistry.d.ts +1 -1
- package/dist/storage/graph/worktreeRegistry.d.ts.map +1 -1
- package/dist/storage/httpStorageProvider.d.ts +2 -2
- package/dist/storage/index/bunSqlite.d.ts +1 -0
- package/dist/storage/index/bunSqlite.d.ts.map +1 -1
- package/dist/storage/index/memoryConsolidate.d.ts +2 -0
- package/dist/storage/index/memoryConsolidate.d.ts.map +1 -1
- package/dist/storage/index/memoryEmbeddings.d.ts +51 -0
- package/dist/storage/index/memoryEmbeddings.d.ts.map +1 -0
- package/dist/storage/index/memoryIndex.d.ts +36 -4
- package/dist/storage/index/memoryIndex.d.ts.map +1 -1
- package/dist/storage/index/memoryRecall.d.ts +1 -1
- package/dist/storage/index/memoryRecall.d.ts.map +1 -1
- package/dist/storage/index/memoryRuntime.d.ts +2 -0
- package/dist/storage/index/memoryRuntime.d.ts.map +1 -1
- package/dist/storage/index/sqliteIndex.d.ts +18 -1
- package/dist/storage/index/sqliteIndex.d.ts.map +1 -1
- package/dist/storage/path.d.ts.map +1 -1
- package/dist/telemetry/aggregate.d.ts +12 -12
- package/dist/telemetry/aggregate.d.ts.map +1 -1
- package/dist/telemetry/cost.d.ts.map +1 -1
- package/dist/telemetry/decisions.d.ts +11 -11
- package/dist/telemetry/decisions.d.ts.map +1 -1
- package/dist/telemetry/eventLog.d.ts +41 -25
- package/dist/telemetry/eventLog.d.ts.map +1 -1
- package/dist/telemetry/events.d.ts +44 -36
- package/dist/telemetry/events.d.ts.map +1 -1
- package/dist/telemetry/fanout.d.ts +18 -0
- package/dist/telemetry/fanout.d.ts.map +1 -0
- package/dist/telemetry/graphProjection.d.ts +12 -12
- package/dist/telemetry/graphProjection.d.ts.map +1 -1
- package/dist/telemetry/graphRuntimeHealth.d.ts +26 -26
- package/dist/telemetry/graphRuntimeHealth.d.ts.map +1 -1
- package/dist/telemetry/graphView.d.ts +20 -20
- package/dist/telemetry/graphView.d.ts.map +1 -1
- package/dist/telemetry/otel.d.ts +86 -0
- package/dist/telemetry/otel.d.ts.map +1 -0
- package/dist/telemetry/otelConfig.d.ts +128 -0
- package/dist/telemetry/otelConfig.d.ts.map +1 -0
- package/dist/telemetry/otelExporter.d.ts +7 -0
- package/dist/telemetry/otelExporter.d.ts.map +1 -0
- package/dist/telemetry/read.d.ts +18 -4
- package/dist/telemetry/read.d.ts.map +1 -1
- package/dist/telemetry/types.d.ts +3 -2
- package/dist/telemetry/types.d.ts.map +1 -1
- package/dist/web/configApi.d.ts +154 -0
- package/dist/web/configApi.d.ts.map +1 -0
- package/dist/web/configRoute.d.ts +57 -0
- package/dist/web/configRoute.d.ts.map +1 -0
- package/dist/web/console.d.ts +8 -0
- package/dist/web/console.d.ts.map +1 -1
- package/dist/web/paths.d.ts +4 -3
- package/dist/web/paths.d.ts.map +1 -1
- package/dist/web/server.d.ts +30 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/start.d.ts +15 -0
- package/dist/web/start.d.ts.map +1 -1
- package/dist/web/storageRoute.d.ts +2 -2
- package/package.json +13 -7
- package/dist/cli/tunnel.d.ts +0 -89
- package/dist/cli/tunnel.d.ts.map +0 -1
- package/dist/commands/orchestratorAgent.d.ts +0 -30
- package/dist/commands/orchestratorAgent.d.ts.map +0 -1
- package/dist/commands/slashCommand.d.ts +0 -39
- package/dist/commands/slashCommand.d.ts.map +0 -1
- package/dist/orchestrator/ledger.d.ts +0 -28
- package/dist/orchestrator/ledger.d.ts.map +0 -1
- package/dist/storage/graph/importLegacy.d.ts +0 -62
- package/dist/storage/graph/importLegacy.d.ts.map +0 -1
- package/dist/storage/graph/migration.d.ts +0 -91
- package/dist/storage/graph/migration.d.ts.map +0 -1
- package/dist/storage/graph/projections.d.ts +0 -31
- package/dist/storage/graph/projections.d.ts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Sha256, type TaskAnchor } from "../context/schema";
|
|
2
2
|
import type { Capability } from "../graph/types";
|
|
3
|
-
/**
|
|
3
|
+
/** Normalized verdict of a review. */
|
|
4
4
|
export type ReviewVerdict = {
|
|
5
5
|
readonly decision: "approved";
|
|
6
6
|
} | {
|
|
@@ -10,19 +10,19 @@ export type ReviewVerdict = {
|
|
|
10
10
|
readonly decision: "inconclusive";
|
|
11
11
|
readonly reason: string;
|
|
12
12
|
};
|
|
13
|
-
/**
|
|
13
|
+
/** What the runtime dispatched and what the approval must be anchored to. */
|
|
14
14
|
export type ReviewExpectation = {
|
|
15
15
|
readonly anchor: TaskAnchor;
|
|
16
16
|
readonly artifactSha256: Sha256;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* Parses the verdict conservatively. Unstructured or invalid input is
|
|
20
|
+
* `inconclusive`; a rejection is honored with its reason; an approval requires
|
|
21
|
+
* an anchor and artifact digest that match what was dispatched, and any
|
|
22
|
+
* discrepancy degrades to `inconclusive` (fail-closed).
|
|
23
23
|
*/
|
|
24
24
|
export declare function parseReviewVerdict(raw: unknown, expected: ReviewExpectation): ReviewVerdict;
|
|
25
|
-
/**
|
|
25
|
+
/** Reviewer effect lockout decision before dispatch. */
|
|
26
26
|
export type ReviewerEffectDecision = {
|
|
27
27
|
readonly kind: "allow";
|
|
28
28
|
} | {
|
|
@@ -30,30 +30,30 @@ export type ReviewerEffectDecision = {
|
|
|
30
30
|
readonly capability: Capability;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
33
|
+
* Locks the reviewer effect to read-only. Returns `reject` with the first
|
|
34
|
+
* planned mutating capability (input order, deterministic); if all capabilities
|
|
35
|
+
* are read-only, `allow`.
|
|
36
36
|
*/
|
|
37
37
|
export declare function reviewerEffectDecision(capabilities: readonly Capability[]): ReviewerEffectDecision;
|
|
38
|
-
/**
|
|
38
|
+
/** Lineage plan after a rejection: linked new revision or exhaustion. */
|
|
39
39
|
export type RevisionPlan = {
|
|
40
40
|
readonly kind: "revise";
|
|
41
41
|
readonly nodeID: string;
|
|
42
|
-
/**
|
|
42
|
+
/** Index of the new revision (0 is the initial implementation). */
|
|
43
43
|
readonly revision: number;
|
|
44
|
-
/**
|
|
44
|
+
/** Operation for the new revision, distinct from the previous one. */
|
|
45
45
|
readonly operationID: string;
|
|
46
|
-
/**
|
|
46
|
+
/** Operation it derives from (append-only link). */
|
|
47
47
|
readonly previousOperationID: string;
|
|
48
48
|
} | {
|
|
49
49
|
readonly kind: "exhausted";
|
|
50
50
|
readonly revision: number;
|
|
51
51
|
};
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
53
|
+
* Plans the revision that links a rejection. If room remains under the limit,
|
|
54
|
+
* produces a new revision with a distinct `operationID` that points to the
|
|
55
|
+
* previous one (`previousOperationID`), preserving append-only history; if the
|
|
56
|
+
* margin is exhausted, `exhausted`.
|
|
57
57
|
*/
|
|
58
58
|
export declare function planRevision(input: {
|
|
59
59
|
readonly runID: string;
|
|
@@ -62,19 +62,20 @@ export declare function planRevision(input: {
|
|
|
62
62
|
readonly currentOperationID: string;
|
|
63
63
|
readonly limit?: number;
|
|
64
64
|
}): RevisionPlan;
|
|
65
|
-
/**
|
|
65
|
+
/** Result of reassigning the reviewer after a technical failure. */
|
|
66
66
|
export type ReviewerReassignment = {
|
|
67
67
|
readonly kind: "reassign";
|
|
68
68
|
readonly reviewerID: string;
|
|
69
|
-
/**
|
|
69
|
+
/** A technical reviewer failure does not re-execute the implementation. */
|
|
70
70
|
readonly rerunImplementation: false;
|
|
71
71
|
} | {
|
|
72
72
|
readonly kind: "no-reviewer";
|
|
73
73
|
};
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
75
|
+
* Reassigns the review to the first eligible candidate (input order), never the
|
|
76
|
+
* author nor a reviewer that has already failed. The implementation is not
|
|
77
|
+
* re-executed: its artifact is preserved. With no eligible candidates,
|
|
78
|
+
* `no-reviewer`.
|
|
78
79
|
*/
|
|
79
80
|
export declare function reassignReviewer(input: {
|
|
80
81
|
readonly authorID: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphReview.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphReview.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"graphReview.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphReview.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA+BjD,sCAAsC;AACtC,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GACjC;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,iBAAiB,GAC1B,aAAa,CAsBf;AAED,wDAAwD;AACxD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,SAAS,UAAU,EAAE,GAClC,sBAAsB,CAOxB;AAED,yEAAyE;AACzE,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,YAAY,CAaf;AAED,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,oBAAoB,CAevB"}
|
|
@@ -4,36 +4,37 @@ import type { GraphJournal } from "../storage/graph/provider";
|
|
|
4
4
|
import type { WorkspaceLease } from "../storage/graph/workspaceLease";
|
|
5
5
|
import type { GraphEffectExecutor } from "./graphEffects";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Graph single-writer runtime (GE-031, GE-033).
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* (`node.dispatched`)
|
|
12
|
-
* (`node.succeeded`/`node.failed`)
|
|
13
|
-
*
|
|
14
|
-
* `running`
|
|
15
|
-
* `blocked`.
|
|
9
|
+
* A `step` (idempotently) acquires the workspace lease, ensures the
|
|
10
|
+
* `run.started` event, and advances **at most one effect**: it commits the
|
|
11
|
+
* intention (`node.dispatched`) to the journal before invoking the executor and
|
|
12
|
+
* the receipt (`node.succeeded`/`node.failed`) after. It resumes after a restart
|
|
13
|
+
* by taking over the journal (`takeOver`) and does not re-dispatch an in-flight
|
|
14
|
+
* effect: a `running` node without a receipt is left for reconciliation
|
|
15
|
+
* (GE-032) by returning `blocked`. Lease fencing prevents a second simultaneous
|
|
16
|
+
* orchestrator.
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
* (`transient`/`timeout`)
|
|
19
|
-
* `operationID`
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* Retries (GE-033): a `failed` node with a retryable error class
|
|
19
|
+
* (`transient`/`timeout`) and within the limit is dispatched again with the same
|
|
20
|
+
* `operationID` and a new `attemptID` derived from the journal, so the decision
|
|
21
|
+
* and ID reappear the same after a restart. The backoff delay is a pure function
|
|
22
|
+
* of the attempt index that the runtime exposes in the step result; it neither
|
|
23
|
+
* sleeps nor consults the clock.
|
|
23
24
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* The runtime isolates all orchestration logic; real I/O lives in injected
|
|
26
|
+
* ports (`WorkspaceLease`, `GraphJournal`, `GraphEffectExecutor`), so it is
|
|
27
|
+
* tested with deterministic doubles without network or SDK.
|
|
27
28
|
*/
|
|
28
|
-
/**
|
|
29
|
+
/** Result of one runtime `step`. */
|
|
29
30
|
export type RuntimeStepOutcome = {
|
|
30
31
|
readonly kind: "dispatched";
|
|
31
32
|
readonly nodeID: string;
|
|
32
33
|
readonly operationID: string;
|
|
33
34
|
readonly attemptID: string;
|
|
34
|
-
/**
|
|
35
|
+
/** Attempt index (0 is the first); grows on each retry. */
|
|
35
36
|
readonly attempt: number;
|
|
36
|
-
/**
|
|
37
|
+
/** Suggested deterministic delay before this attempt, in ms. */
|
|
37
38
|
readonly backoffMs: number;
|
|
38
39
|
} | {
|
|
39
40
|
readonly kind: "completed";
|
|
@@ -46,23 +47,23 @@ export type RuntimeStepOutcome = {
|
|
|
46
47
|
readonly kind: "terminal";
|
|
47
48
|
readonly status: RunStatus;
|
|
48
49
|
};
|
|
49
|
-
/**
|
|
50
|
+
/** Injected runtime dependencies; none performs I/O inside this module. */
|
|
50
51
|
export type GraphRuntimeDeps = {
|
|
51
52
|
readonly spec: GraphSpecV1;
|
|
52
53
|
readonly journal: GraphJournal;
|
|
53
54
|
readonly lease: WorkspaceLease;
|
|
54
55
|
readonly effects: GraphEffectExecutor;
|
|
55
56
|
readonly holder: string;
|
|
56
|
-
/**
|
|
57
|
+
/** Attempt limit per retryable node; defaults to `DEFAULT_RETRY_LIMIT`. */
|
|
57
58
|
readonly retryLimit?: number;
|
|
58
59
|
};
|
|
59
|
-
/** Runtime
|
|
60
|
+
/** Runtime that advances a Graph run step by step. */
|
|
60
61
|
export interface GraphRuntime {
|
|
61
|
-
/**
|
|
62
|
+
/** Acquires the lease and ensures `run.started`; idempotent. */
|
|
62
63
|
start(): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
+
/** Advances at most one effect and returns the step result. */
|
|
64
65
|
step(): Promise<RuntimeStepOutcome>;
|
|
65
|
-
/**
|
|
66
|
+
/** Repeats `step` until a non-dispatching state (terminal, completed, etc.). */
|
|
66
67
|
runToCompletion(): Promise<RuntimeStepOutcome>;
|
|
67
68
|
}
|
|
68
69
|
export declare function createGraphRuntime(deps: GraphRuntimeDeps): GraphRuntime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphRuntime.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphRuntime.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"graphRuntime.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphRuntime.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,oCAAoC;AACpC,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE9D,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,+DAA+D;IAC/D,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,gFAAgF;IAChF,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAmDD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAkLvE"}
|
|
@@ -3,63 +3,62 @@ import type { GraphState } from "../graph/types";
|
|
|
3
3
|
import type { LegacyExecutionTraceV1 } from "../plugin/graphShadowIngress";
|
|
4
4
|
import type { ShadowRunSummary } from "./shadowComparator";
|
|
5
5
|
/**
|
|
6
|
-
* **
|
|
7
|
-
* GE-042 a
|
|
8
|
-
*
|
|
9
|
-
* `ShadowRunSummary`
|
|
6
|
+
* **Side-effect-free shadow mirror** (GE-043): compiles the production trace
|
|
7
|
+
* from GE-042 into a validated `GraphSpecV1`, synthesizes the journal that run
|
|
8
|
+
* would have written, and folds it with the **real reducer** to produce the
|
|
9
|
+
* `ShadowRunSummary` consumed by the parity comparator (GE-044).
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
11
|
+
* The legacy run executes **exactly once**: this module has no execution
|
|
12
|
+
* surface. It imports neither the `GraphEffectExecutor` port, nor the opencode
|
|
13
|
+
* session adapter, nor the runtime, nor any I/O, clock, or random source; the
|
|
14
|
+
* only reachable builtin is `node:crypto` for digest computation. Therefore the
|
|
15
|
+
* mirror cannot duplicate the work it observes: it has no means to do so.
|
|
16
16
|
*
|
|
17
|
-
* **
|
|
18
|
-
* `SHADOW_MIRROR_PROVENANCE`,
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* (
|
|
22
|
-
*
|
|
23
|
-
* `invalid-spec`—
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* inspección.
|
|
17
|
+
* **What each parity dimension actually proves** is declared in
|
|
18
|
+
* `SHADOW_MIRROR_PROVENANCE`, and that distinction is deliberate: certifying
|
|
19
|
+
* parity on dimensions that the mirror merely copies from the trace would prove
|
|
20
|
+
* nothing. Only the number of fixes is **recomputed** from the compiled graph
|
|
21
|
+
* (demonstrable divergence); node order and roles pass through the spec
|
|
22
|
+
* compiler and validator —which rejects unrepresentable traces as
|
|
23
|
+
* `invalid-spec`— but compilation preserves both values literally, so the
|
|
24
|
+
* comparison cannot diverge (**compiled**); the terminal state is **validated**
|
|
25
|
+
* by the reducer; the model and outcome are **carried** without inspection.
|
|
27
26
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
27
|
+
* The shadow journal artifacts are **synthetic and deterministic placeholders**
|
|
28
|
+
* (`shadow://<run>/<node>`): the mirror has no content to digest, and the
|
|
29
|
+
* comparator does not compare artifacts. The `shadow://` scheme makes them
|
|
30
|
+
* unmistakable from real evidence.
|
|
32
31
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
32
|
+
* **Pure and deterministic** module: the same trace produces the same spec, the
|
|
33
|
+
* same journal, and the same summary.
|
|
35
34
|
*/
|
|
36
|
-
/**
|
|
35
|
+
/** What the mirror proves about a specific parity dimension. */
|
|
37
36
|
export type ShadowParityProvenance = "recomputed" | "compiled" | "validated" | "carried";
|
|
38
37
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* **Demonstrated** provenance of each dimension that GE-044 compares. It bounds
|
|
39
|
+
* what shadow certification (GE-046) can and cannot claim.
|
|
41
40
|
*
|
|
42
|
-
* - "recomputed":
|
|
43
|
-
* spec
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* - "compiled":
|
|
48
|
-
* `validateGraphSpec`,
|
|
49
|
-
* reviewer
|
|
50
|
-
*
|
|
51
|
-
* trace
|
|
52
|
-
* **
|
|
53
|
-
* - "validated":
|
|
54
|
-
*
|
|
55
|
-
* - "carried":
|
|
56
|
-
*
|
|
41
|
+
* - "recomputed": the mirror calculates the value independently from the
|
|
42
|
+
* compiled spec. The comparison CAN diverge → suitable for the critical set.
|
|
43
|
+
* A reachability test in `demonstrated-divergence-provenance.test.ts`
|
|
44
|
+
* DEMONSTRATES divergence by traversing the full pipeline for each code
|
|
45
|
+
* classified this way. If it cannot be produced, it is not "recomputed".
|
|
46
|
+
* - "compiled": the dimension passes through `GraphSpecV1Schema.parse` and
|
|
47
|
+
* `validateGraphSpec`, which reject unrepresentable traces (duplicate ids,
|
|
48
|
+
* reviewer without an implementer, cycles → `invalid-spec`). The comparison
|
|
49
|
+
* CANNOT diverge because compilation preserves the identical value, but an
|
|
50
|
+
* unrepresentable trace prevents the mirror entirely. This is the
|
|
51
|
+
* **representability** that R6 relies on.
|
|
52
|
+
* - "validated": the reducer validates the sequence, but both sides project
|
|
53
|
+
* the same field from the trace. The comparison CANNOT diverge.
|
|
54
|
+
* - "carried": both sides copy the same field from the trace without anyone
|
|
55
|
+
* inspecting it. The comparison CANNOT diverge.
|
|
57
56
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
57
|
+
* Invariant: only codes with "recomputed" provenance may be included in
|
|
58
|
+
* `criticalDivergenceCodes` in the soak policy, because only those produce an
|
|
59
|
+
* independent comparison. The "compiled", "validated", or "carried" codes
|
|
60
|
+
* cannot diverge in the comparison; including them would inflate the declared
|
|
61
|
+
* coverage without measuring anything real.
|
|
63
62
|
*/
|
|
64
63
|
export declare const SHADOW_MIRROR_PROVENANCE: {
|
|
65
64
|
readonly status: "validated";
|
|
@@ -69,15 +68,15 @@ export declare const SHADOW_MIRROR_PROVENANCE: {
|
|
|
69
68
|
readonly fixes: "recomputed";
|
|
70
69
|
readonly outcome: "carried";
|
|
71
70
|
};
|
|
72
|
-
/**
|
|
71
|
+
/** Typed reason why a trace does not produce a mirror. */
|
|
73
72
|
export type ShadowMirrorErrorCode = "invalid-trace" | "invalid-spec" | "illegal-sequence" | "mirror-error";
|
|
74
|
-
/**
|
|
73
|
+
/** Typed mirror error. It never escapes the facade (`graphFacade`). */
|
|
75
74
|
export declare class ShadowMirrorError extends Error {
|
|
76
75
|
readonly code: ShadowMirrorErrorCode;
|
|
77
76
|
readonly detail: string;
|
|
78
77
|
constructor(code: ShadowMirrorErrorCode, detail: string);
|
|
79
78
|
}
|
|
80
|
-
/**
|
|
79
|
+
/** Complete mirror: intermediate evidence plus the comparable summary. */
|
|
81
80
|
export type ShadowMirror = {
|
|
82
81
|
readonly spec: GraphSpecV1;
|
|
83
82
|
readonly specDigest: string;
|
|
@@ -86,36 +85,38 @@ export type ShadowMirror = {
|
|
|
86
85
|
readonly summary: ShadowRunSummary;
|
|
87
86
|
};
|
|
88
87
|
/**
|
|
89
|
-
*
|
|
90
|
-
* reviewer
|
|
91
|
-
*
|
|
92
|
-
*
|
|
88
|
+
* Compiles the trace into a linear DAG: each node depends on the previous one,
|
|
89
|
+
* and each reviewer reviews the implementer that precedes it. A trace the graph
|
|
90
|
+
* cannot represent (reviewer without a previous implementer, duplicate ids,
|
|
91
|
+
* cycle) is rejected by the real validator as `invalid-spec`, before reducing
|
|
92
|
+
* anything.
|
|
93
93
|
*/
|
|
94
94
|
export declare function compileShadowSpec(trace: LegacyExecutionTraceV1): GraphSpecV1;
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
96
|
+
* Synthesizes the journal that the observed run would have written: opening,
|
|
97
|
+
* dispatch and receipt per node in order, and the claimed terminal event.
|
|
98
|
+
* `errorClass` distinguishes the receipt: absent means success, `cancelled`
|
|
99
|
+
* cancels, and the rest fail.
|
|
99
100
|
*/
|
|
100
101
|
export declare function mirrorJournal(spec: GraphSpecV1, trace: LegacyExecutionTraceV1): GraphEventV1[];
|
|
101
102
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
103
|
+
* Folds the shadow journal with the real reducer. A sequence the reducer
|
|
104
|
+
* rejects —a run that claims completion with a failed node, a dispatch on an
|
|
105
|
+
* unsatisfied dependency— is `illegal-sequence`: the graph could not have
|
|
106
|
+
* produced that execution, and that is exactly the evidence it contributes.
|
|
106
107
|
*/
|
|
107
108
|
export declare function reduceMirror(spec: GraphSpecV1, journal: readonly GraphEventV1[]): GraphState;
|
|
108
109
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
110
|
+
* 1:1 projection of the **legacy side**: what the observed run claims about
|
|
111
|
+
* itself, without passing through the graph. It is the term that the comparator
|
|
112
|
+
* contrasts against the mirror.
|
|
112
113
|
*/
|
|
113
114
|
export declare function projectLegacySummary(trace: LegacyExecutionTraceV1): ShadowRunSummary;
|
|
114
115
|
/**
|
|
115
|
-
*
|
|
116
|
-
* `ShadowMirrorError`
|
|
117
|
-
*
|
|
118
|
-
*
|
|
116
|
+
* Builds the side-effect-free mirror of an observed legacy execution. Throws
|
|
117
|
+
* `ShadowMirrorError` when the graph cannot represent or reproduce the trace;
|
|
118
|
+
* the facade (`graphFacade`) contains that failure so it never reaches the
|
|
119
|
+
* legacy path.
|
|
119
120
|
*/
|
|
120
121
|
export declare function mirrorLegacyExecution(trace: LegacyExecutionTraceV1): ShadowMirror;
|
|
121
122
|
//# sourceMappingURL=graphShadow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphShadow.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphShadow.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"graphShadow.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphShadow.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,gEAAgE;AAChE,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACZ,UAAU,GACV,WAAW,GACX,SAAS,CAAC;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,wBAAwB;qBAC3B,WAAW;oBACZ,UAAU;oBACV,UAAU;qBACT,SAAS;oBACV,YAAY;sBACV,SAAS;CAGnB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,cAAc,CAAC;AAEnB,uEAAuE;AACvE,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAKtD;CACF;AAED,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAaF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,WAAW,CAqC5E;AAkBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,sBAAsB,GAC5B,YAAY,EAAE,CAmEhB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,UAAU,CAeZ;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,sBAAsB,GAC5B,gBAAgB,CAYlB;AA+BD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sBAAsB,GAC5B,YAAY,CAcd"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import type { ModelSelection } from "../router/types";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Typed opencode session adapter (GE-030).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Narrows the opencode session surface to the six lifecycle operations
|
|
6
|
+
* verified by the contract (create, dispatch/prompt, children, status/get,
|
|
7
|
+
* messages, abort) and normalizes each client failure to a typed error
|
|
8
|
+
* {@link SessionAdapterError}. Deliberately **does not** expose destructive
|
|
9
|
+
* or summary actions (delete, summarize, share/unshare, fork, command):
|
|
10
|
+
* the graph authority never deletes or summarizes a session automatically.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
* ({@link GraphSessionClient})
|
|
14
|
-
* `@opencode-ai/sdk
|
|
12
|
+
* The adapter performs no I/O of its own: it wraps an injected client
|
|
13
|
+
* ({@link GraphSessionClient}) whose shape is assignable from the real
|
|
14
|
+
* `@opencode-ai/sdk` client. A contract test pins that correspondence.
|
|
15
15
|
*/
|
|
16
|
-
/**
|
|
16
|
+
/** SDK result: typed data or opaque error, never both. */
|
|
17
17
|
type ClientResult<T> = {
|
|
18
18
|
data?: T;
|
|
19
19
|
error?: unknown;
|
|
20
20
|
};
|
|
21
|
-
/**
|
|
21
|
+
/** Minimal reference to a session (verified subset of `Session`). */
|
|
22
22
|
export type SessionInfo = {
|
|
23
23
|
readonly id: string;
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* opencode session client port limited to the operations the adapter uses.
|
|
27
|
+
* Structurally compatible with `client.session` from the real SDK.
|
|
28
28
|
*/
|
|
29
29
|
export type GraphSessionClient = {
|
|
30
30
|
session: {
|
|
@@ -75,21 +75,21 @@ export type GraphSessionClient = {
|
|
|
75
75
|
}): Promise<ClientResult<boolean>>;
|
|
76
76
|
};
|
|
77
77
|
};
|
|
78
|
-
/**
|
|
78
|
+
/** Closed taxonomy of session adapter errors. */
|
|
79
79
|
export type SessionAdapterErrorCode = "create-failed" | "missing-session-id" | "dispatch-failed" | "children-failed" | "status-failed" | "messages-failed" | "abort-failed";
|
|
80
|
-
/**
|
|
80
|
+
/** Typed error from a session operation that failed or returned invalid data. */
|
|
81
81
|
export declare class SessionAdapterError extends Error {
|
|
82
82
|
readonly code: SessionAdapterErrorCode;
|
|
83
83
|
readonly detail: string;
|
|
84
84
|
constructor(code: SessionAdapterErrorCode, detail: string);
|
|
85
85
|
}
|
|
86
|
-
/**
|
|
86
|
+
/** Data for creating a child sub-session. */
|
|
87
87
|
export type CreateChildInput = {
|
|
88
88
|
readonly parentSessionID?: string;
|
|
89
89
|
readonly title?: string;
|
|
90
90
|
readonly directory?: string;
|
|
91
91
|
};
|
|
92
|
-
/**
|
|
92
|
+
/** Data for dispatching a prompt (the effect) to an existing session. */
|
|
93
93
|
export type DispatchInput = {
|
|
94
94
|
readonly sessionID: string;
|
|
95
95
|
readonly prompt: string;
|
|
@@ -97,19 +97,19 @@ export type DispatchInput = {
|
|
|
97
97
|
readonly agent?: string;
|
|
98
98
|
readonly system?: string;
|
|
99
99
|
};
|
|
100
|
-
/**
|
|
100
|
+
/** Verified surface of the opencode session adapter. */
|
|
101
101
|
export interface OpencodeSessionAdapter {
|
|
102
|
-
/**
|
|
102
|
+
/** Creates a child sub-session and returns its id; fails closed if there is no id. */
|
|
103
103
|
createChild(input: CreateChildInput): Promise<string>;
|
|
104
|
-
/**
|
|
104
|
+
/** Dispatches a prompt to the session and returns the raw response from the effect. */
|
|
105
105
|
dispatch(input: DispatchInput): Promise<unknown>;
|
|
106
|
-
/**
|
|
106
|
+
/** Lists the child session ids. */
|
|
107
107
|
listChildren(sessionID: string): Promise<readonly string[]>;
|
|
108
|
-
/**
|
|
108
|
+
/** Returns the session state (get by id). */
|
|
109
109
|
getStatus(sessionID: string): Promise<SessionInfo>;
|
|
110
|
-
/**
|
|
110
|
+
/** Lists the session messages. */
|
|
111
111
|
listMessages(sessionID: string): Promise<readonly unknown[]>;
|
|
112
|
-
/**
|
|
112
|
+
/** Requests session abort; returns whether the runtime accepted it. */
|
|
113
113
|
abort(sessionID: string): Promise<boolean>;
|
|
114
114
|
}
|
|
115
115
|
export declare function createOpencodeSessionAdapter(client: GraphSessionClient): OpencodeSessionAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencodeSessionAdapter.d.ts","sourceRoot":"","sources":["../../src/orchestrator/opencodeSessionAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAEH,
|
|
1
|
+
{"version":3,"file":"opencodeSessionAdapter.d.ts","sourceRoot":"","sources":["../../src/orchestrator/opencodeSessionAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/orchestrator/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,eAAe,GACf,aAAa,GACb,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/orchestrator/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,eAAe,GACf,aAAa,GACb,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAU7D,CAAC;AASF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAE3E;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,cAAc,EAAE,GACtB,cAAc,CAKhB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CASvC"}
|