@jmanuelcorral/openteam 0.2.1 → 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 +30 -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/graphViewProvider.d.ts +30 -0
- package/dist/cli/graphViewProvider.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 +13480 -5176
- 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 +197 -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 +145 -77
- 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 +27 -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 +48 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11596 -4180
- 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 +188 -2
- 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 +230 -0
- package/dist/plugin/orchestrateTool.d.ts.map +1 -0
- 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 +79 -34
- 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/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- 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/migrateLegacyBriefs.d.ts +0 -32
- package/dist/storage/graph/migrateLegacyBriefs.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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { StorageProvider } from "../storage/provider";
|
|
2
|
+
import { type Roster } from "./roster";
|
|
3
|
+
/** Serialises a roster to the Markdown-with-JSON roster document. Pure. */
|
|
4
|
+
export declare function serializeRoster(roster: Roster): string;
|
|
5
|
+
/** Parses a roster document back into a validated {@link Roster}. Pure. */
|
|
6
|
+
export declare function parseRoster(text: string): Roster;
|
|
7
|
+
/** Writes the roster to the portable path; returns the path written. */
|
|
8
|
+
export declare function persistRoster(storage: StorageProvider, roster: Roster, path?: string): Promise<string>;
|
|
9
|
+
/** Loads and parses the persisted roster; `undefined` when none exists. */
|
|
10
|
+
export declare function loadRoster(storage: StorageProvider, path?: string): Promise<Roster | undefined>;
|
|
11
|
+
/** Outcome of {@link loadOrGenerateRoster}: the roster and whether it was rebuilt. */
|
|
12
|
+
export type RosterLoadResult = {
|
|
13
|
+
readonly roster: Roster;
|
|
14
|
+
readonly regenerated: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Reuses the persisted cast when present, generating and persisting one only when
|
|
18
|
+
* absent (#173). A second session with a roster on disk therefore never triggers
|
|
19
|
+
* re-generation — the cast stays stable across sessions.
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadOrGenerateRoster(storage: StorageProvider, generate: () => Roster | Promise<Roster>, path?: string): Promise<RosterLoadResult>;
|
|
22
|
+
//# sourceMappingURL=rosterPersistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rosterPersistence.d.ts","sourceRoot":"","sources":["../../src/orchestrator/rosterPersistence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,UAAU,CAAC;AAmBrD,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAchD;AAED,wEAAwE;AACxE,wBAAsB,aAAa,CACjC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAA6B,GAClC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,2EAA2E;AAC3E,wBAAsB,UAAU,CAC9B,OAAO,EAAE,eAAe,EACxB,IAAI,GAAE,MAA6B,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7B;AAED,sFAAsF;AACtF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EACxC,IAAI,GAAE,MAA6B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { OpenTeamConfig } from "../config/schema";
|
|
2
|
+
import type { LocalRuntimeId } from "../local/types";
|
|
3
|
+
import type { ModelSelection, RoutingDecision } from "../router/types";
|
|
4
|
+
import type { AgentRoleProfile } from "./roles";
|
|
5
|
+
/**
|
|
6
|
+
* Result of resolving which local runtime a role's task dispatches to (#144).
|
|
7
|
+
*
|
|
8
|
+
* `runtimeId` is the runtime the task is PINNED to for its whole duration —
|
|
9
|
+
* capacity is enforced on it and it never changes once chosen. It is `undefined`
|
|
10
|
+
* when the dispatch is not to a configured local runtime (a frontier route, or a
|
|
11
|
+
* local model that maps to no configured runtime), in which case no per-runtime
|
|
12
|
+
* cap applies. `decision` is the routing decision to record and dispatch, with
|
|
13
|
+
* `selected` overridden to the chosen runtime's model when a preference list
|
|
14
|
+
* redirected the task.
|
|
15
|
+
*/
|
|
16
|
+
export type RuntimeDispatchSelection = {
|
|
17
|
+
readonly runtimeId: LocalRuntimeId | undefined;
|
|
18
|
+
readonly decision: RoutingDecision;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Maps a selected local model back to the configured runtime that serves it, by
|
|
22
|
+
* matching the model against each runtime's `defaultModel`. Returns `undefined`
|
|
23
|
+
* when no configured runtime serves the model (e.g. a bare `router.localDefault`
|
|
24
|
+
* with no matching runtime entry, or a frontier model). Pure.
|
|
25
|
+
*/
|
|
26
|
+
export declare function runtimeIdOfModel(model: ModelSelection, config: OpenTeamConfig): LocalRuntimeId | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Resolves the local runtime a role's task dispatches to, honouring an ordered
|
|
29
|
+
* preference list when the role declares one (#144). Pure and deterministic: no
|
|
30
|
+
* I/O, clock, or randomness — reachability arrives as data in `reachable`.
|
|
31
|
+
*
|
|
32
|
+
* Rules:
|
|
33
|
+
* - A non-local route (frontier/blocked) is returned unchanged with no runtime
|
|
34
|
+
* pin — per-runtime caps apply only to local dispatch.
|
|
35
|
+
* - When the role lists runtimes and a reachable set is provided, the FIRST
|
|
36
|
+
* listed runtime that is both reachable AND configured wins; the decision's
|
|
37
|
+
* model is overridden to that runtime's `defaultModel` so the task actually
|
|
38
|
+
* runs on the chosen runtime (failover + pinning). An unreachable runtime is
|
|
39
|
+
* skipped; capacity is NOT a selection input, so a saturated-but-reachable
|
|
40
|
+
* runtime is still chosen and its excess work queues rather than spilling.
|
|
41
|
+
* - Without a usable list (no list, no reachable set, or none of the listed
|
|
42
|
+
* runtimes reachable/configured) the router's own local pick stands and its
|
|
43
|
+
* runtime is resolved via `runtimeIdOfModel` so capacity is still enforced.
|
|
44
|
+
*/
|
|
45
|
+
export declare function selectDispatchRuntime(role: AgentRoleProfile, decision: RoutingDecision, reachable: ReadonlySet<LocalRuntimeId> | undefined, config: OpenTeamConfig): RuntimeDispatchSelection;
|
|
46
|
+
//# sourceMappingURL=runtimeSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeSelection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runtimeSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,GACrB,cAAc,GAAG,SAAS,CAI5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,SAAS,EAClD,MAAM,EAAE,cAAc,GACrB,wBAAwB,CA2B1B"}
|
|
@@ -1,72 +1,72 @@
|
|
|
1
1
|
import { type GraphSpecV1 } from "../graph/schema";
|
|
2
2
|
import type { TaskSignals } from "../router/types";
|
|
3
|
-
/**
|
|
3
|
+
/** Default reviewer role for SDD → graph compilation. */
|
|
4
4
|
export declare const DEFAULT_REVIEWER_ROLE_ID = "reviewer";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Input descriptor for the SDD → graph compiler.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* It is the contract consumed by `compileSddTask` and the active ingress
|
|
9
|
+
* (`graphIngress.ts`): it identifies the task, its roles, and its actionable
|
|
10
|
+
* brief, plus the routing signals. The brief is never persisted raw; the
|
|
11
|
+
* compiler anchors it by digest (`assertReferenceOnly` rejects any raw field).
|
|
12
12
|
*/
|
|
13
13
|
export type SddTask = {
|
|
14
|
-
/**
|
|
14
|
+
/** Stable id with no `:` (kebab-case) used for anchors and nodes. */
|
|
15
15
|
id: string;
|
|
16
|
-
/**
|
|
16
|
+
/** Role that implements (and fixes) the task. */
|
|
17
17
|
implementerRoleID: string;
|
|
18
|
-
/**
|
|
18
|
+
/** Short human-readable title. */
|
|
19
19
|
title: string;
|
|
20
|
-
/**
|
|
20
|
+
/** Actionable task brief (body of the implementer's prompt). */
|
|
21
21
|
brief: string;
|
|
22
|
-
/**
|
|
22
|
+
/** Routing signals for the task. */
|
|
23
23
|
task: TaskSignals;
|
|
24
|
-
/**
|
|
24
|
+
/** Specific reviewer role (overrides the default reviewer). */
|
|
25
25
|
reviewerRoleID?: string;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* **Pure** compiler from a legacy SDD task to a static `GraphSpecV1`
|
|
29
29
|
* (GE-041).
|
|
30
30
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
31
|
+
* The implement → review → revise → re-review chain expands to a versioned
|
|
32
|
+
* acyclic DAG: an initial `implementer` node, its `reviewer`, and for each
|
|
33
|
+
* review round a new `implementer` (revise) with its `reviewer` (re-review).
|
|
34
|
+
* The resulting spec:
|
|
35
35
|
*
|
|
36
|
-
* -
|
|
37
|
-
* (taskID + digest),
|
|
38
|
-
* -
|
|
36
|
+
* - is **reference-only**: nodes carry only ids, roles, and an `anchor`
|
|
37
|
+
* (taskID + digest), never the raw brief;
|
|
38
|
+
* - is **deterministic**: the same task produces the same spec and the same
|
|
39
39
|
* digest (`graphSpecDigest`);
|
|
40
|
-
* - **
|
|
41
|
-
*
|
|
40
|
+
* - **fails before dispatch** on an invalid role, an author who also reviews,
|
|
41
|
+
* or a task id that is not a valid `NodeID`.
|
|
42
42
|
*
|
|
43
|
-
*
|
|
43
|
+
* Without I/O, clock, or random: only digest computation and structural validation.
|
|
44
44
|
*/
|
|
45
|
-
/**
|
|
45
|
+
/** Compilation failure code (fails before any dispatch). */
|
|
46
46
|
export type SddCompileErrorCode = "invalid-role" | "author-is-reviewer" | "invalid-spec";
|
|
47
|
-
/**
|
|
47
|
+
/** Typed error for a rejected compilation. */
|
|
48
48
|
export declare class SddCompileError extends Error {
|
|
49
49
|
readonly code: SddCompileErrorCode;
|
|
50
50
|
readonly detail: string;
|
|
51
51
|
constructor(code: SddCompileErrorCode, detail: string);
|
|
52
52
|
}
|
|
53
|
-
/**
|
|
53
|
+
/** Compilation options. */
|
|
54
54
|
export type SddCompileOptions = {
|
|
55
|
-
/**
|
|
55
|
+
/** Reviewer role (default: the task's or `reviewer`). */
|
|
56
56
|
reviewerRoleID?: string;
|
|
57
|
-
/**
|
|
57
|
+
/** revise/re-review review rounds to expand (default: 1). */
|
|
58
58
|
revisionRounds?: number;
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
61
|
+
* Canonical digest of the spec. Re-exported from `graph/ids` to avoid breaking
|
|
62
|
+
* compiler consumers; the implementation lives in the graph layer because the
|
|
63
|
+
* shadow mirror needs it without reaching this module.
|
|
64
64
|
*/
|
|
65
65
|
export { graphSpecDigest } from "../graph/ids";
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
68
|
-
* `SddCompileError`
|
|
69
|
-
*
|
|
67
|
+
* Compiles a legacy SDD task to a validated `GraphSpecV1`. Throws
|
|
68
|
+
* `SddCompileError` for invalid role/author/spec, always **before** any
|
|
69
|
+
* dispatch.
|
|
70
70
|
*/
|
|
71
71
|
export declare function compileSddTask(task: SddTask, options?: SddCompileOptions): GraphSpecV1;
|
|
72
72
|
//# sourceMappingURL=sddCompiler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sddCompiler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sddCompiler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,
|
|
1
|
+
{"version":3,"file":"sddCompiler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sddCompiler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AAEH,4DAA4D;AAC5D,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,oBAAoB,GACpB,cAAc,CAAC;AAEnB,8CAA8C;AAC9C,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAKpD;CACF;AAED,2BAA2B;AAC3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAwBF;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,WAAW,CA0Db"}
|
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
import type { NodeStatus } from "../graph/types";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Reconciler for create/prompt crash windows (GE-032).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* After a failure halfway through creating the child sub-session or dispatching
|
|
6
|
+
* the prompt, the runtime does not know whether the effect started. This module
|
|
7
|
+
* classifies the window using the **correlated child session** from opencode and
|
|
8
|
+
* decides without retrying blindly:
|
|
9
9
|
*
|
|
10
|
-
* - `not-started`: no
|
|
11
|
-
* - `active`:
|
|
12
|
-
*
|
|
13
|
-
* - `
|
|
14
|
-
* **
|
|
10
|
+
* - `not-started`: there is no correlated child; the effect can be dispatched.
|
|
11
|
+
* - `active`: exactly one correlated child exists and is still in progress; it
|
|
12
|
+
* is **adopted**.
|
|
13
|
+
* - `completed`: exactly one correlated child exists and has finished; it is
|
|
14
|
+
* **adopted**.
|
|
15
|
+
* - `unknown`: the evidence is ambiguous (multiple correlated children); the
|
|
16
|
+
* blind retry is **blocked** and safe reconciliation is required.
|
|
15
17
|
*
|
|
16
|
-
*
|
|
17
|
-
* **no-op
|
|
18
|
-
* runtime
|
|
18
|
+
* A node with a receipt already written (terminal) makes reconciliation an
|
|
19
|
+
* **idempotent no-op**. Pure and deterministic: no I/O, clock, or random; the
|
|
20
|
+
* runtime passes it the already observed evidence through injected ports.
|
|
19
21
|
*/
|
|
20
|
-
/**
|
|
22
|
+
/** Classification of an effect's crash window. */
|
|
21
23
|
export type CrashWindowClass = "not-started" | "active" | "completed" | "unknown";
|
|
22
|
-
/**
|
|
24
|
+
/** Reconciliation decision derived from the window. */
|
|
23
25
|
export type ReconcileDecision = "dispatch" | "adopt" | "block" | "noop";
|
|
24
|
-
/**
|
|
26
|
+
/** Observed state of an opencode child session. */
|
|
25
27
|
export type ObservedChildState = "active" | "completed";
|
|
26
|
-
/**
|
|
28
|
+
/** Observed child session with its correlation title and state. */
|
|
27
29
|
export type ObservedChild = {
|
|
28
30
|
readonly sessionID: string;
|
|
29
31
|
readonly title: string;
|
|
30
32
|
readonly state: ObservedChildState;
|
|
31
33
|
};
|
|
32
|
-
/**
|
|
34
|
+
/** Correlated evidence about the child of a concrete attempt. */
|
|
33
35
|
export type ChildObservation = {
|
|
34
36
|
readonly kind: "none";
|
|
35
37
|
} | {
|
|
@@ -42,33 +44,33 @@ export type ChildObservation = {
|
|
|
42
44
|
readonly kind: "ambiguous";
|
|
43
45
|
readonly detail: string;
|
|
44
46
|
};
|
|
45
|
-
/**
|
|
47
|
+
/** Input for reconciling a node. */
|
|
46
48
|
export type ReconcileInput = {
|
|
47
49
|
readonly nodeStatus: NodeStatus;
|
|
48
50
|
readonly observation: ChildObservation;
|
|
49
51
|
};
|
|
50
|
-
/**
|
|
52
|
+
/** Reconciliation result: window, decision, and adopted child if applicable. */
|
|
51
53
|
export type ReconcileResult = {
|
|
52
54
|
readonly window: CrashWindowClass;
|
|
53
55
|
readonly decision: ReconcileDecision;
|
|
54
56
|
readonly sessionID?: string;
|
|
55
57
|
};
|
|
56
58
|
/**
|
|
57
|
-
*
|
|
58
|
-
* attempt)`.
|
|
59
|
-
*
|
|
59
|
+
* Deterministic correlation title of the child for attempt `(runID, op,
|
|
60
|
+
* attempt)`. The runtime sets it as the sub-session title when creating it, so
|
|
61
|
+
* that a restart can find exactly the same child again.
|
|
60
62
|
*/
|
|
61
63
|
export declare function correlationTitle(runID: string, operationID: string, attemptID: string): string;
|
|
62
64
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
65
|
+
* Reduces the observed children to the correlated evidence for the attempt.
|
|
66
|
+
* Zero matches is `none`; exactly one determines `active`/`completed`; more
|
|
67
|
+
* than one is `ambiguous` (a single one cannot be adopted safely).
|
|
66
68
|
*/
|
|
67
69
|
export declare function observeChild(expectedTitle: string, children: readonly ObservedChild[]): ChildObservation;
|
|
68
70
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
71
|
+
* Classifies a node's crash window and decides the safe action. A terminal node
|
|
72
|
+
* (receipt already written) is an idempotent no-op; a `pending` node has not
|
|
73
|
+
* started; a `running` node is classified by the correlated evidence.
|
|
72
74
|
*/
|
|
73
75
|
export declare function reconcileSession(input: ReconcileInput): ReconcileResult;
|
|
74
76
|
//# sourceMappingURL=sessionReconciler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionReconciler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sessionReconciler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"sessionReconciler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sessionReconciler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,kDAAkD;AAClD,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAExE,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAExD,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;CACxC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,gBAAgB,CAelB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAiCvE"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* **Shadow parity** comparator and idempotent projection tally (GE-044).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* **
|
|
6
|
-
* fixes
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Compares a legacy run with its side-effect-free shadow mirror over
|
|
5
|
+
* **normalized** dimensions: terminal state, node order, roles, models, number
|
|
6
|
+
* of fixes, and outcome. Lack of evidence on either side is `inconclusive`.
|
|
7
|
+
* The report is **reference-only**: only codes and verdict, never raw content.
|
|
8
|
+
* The projection tally is **idempotent** per run: a duplicate projection is not
|
|
9
|
+
* counted again.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* Pure and deterministic: no I/O, clock, random, or global state.
|
|
12
12
|
*/
|
|
13
|
-
/**
|
|
13
|
+
/** Normalized role of a run node. */
|
|
14
14
|
export type ShadowNodeRole = "implementer" | "reviewer";
|
|
15
|
-
/**
|
|
15
|
+
/** Normalized terminal status of a run. */
|
|
16
16
|
export type ShadowRunStatus = "completed" | "failed" | "cancelled";
|
|
17
|
-
/**
|
|
17
|
+
/** Normalized outcome of a run review. */
|
|
18
18
|
export type ShadowRunOutcome = "approved" | "rejected" | "inconclusive";
|
|
19
|
-
/**
|
|
19
|
+
/** Normalized node summary (only references/bounded labels). */
|
|
20
20
|
export type ShadowNodeSummary = {
|
|
21
21
|
readonly id: string;
|
|
22
22
|
readonly role: ShadowNodeRole;
|
|
23
23
|
readonly model: string;
|
|
24
24
|
};
|
|
25
|
-
/**
|
|
25
|
+
/** Normalized run summary, suitable for comparing parity. */
|
|
26
26
|
export type ShadowRunSummary = {
|
|
27
27
|
readonly runID: string;
|
|
28
28
|
readonly status: ShadowRunStatus;
|
|
@@ -30,33 +30,33 @@ export type ShadowRunSummary = {
|
|
|
30
30
|
readonly fixes: number;
|
|
31
31
|
readonly nodes: readonly ShadowNodeSummary[];
|
|
32
32
|
};
|
|
33
|
-
/**
|
|
33
|
+
/** Dimension in which legacy and shadow diverge. */
|
|
34
34
|
export type ShadowDivergenceCode = "status" | "order" | "roles" | "models" | "fixes" | "outcome";
|
|
35
|
-
/**
|
|
35
|
+
/** Parity verdict. */
|
|
36
36
|
export type ShadowParityVerdict = "match" | "divergent" | "inconclusive";
|
|
37
|
-
/**
|
|
37
|
+
/** Reference-only report of shadow parity. */
|
|
38
38
|
export type ShadowParityReport = {
|
|
39
39
|
readonly verdict: ShadowParityVerdict;
|
|
40
40
|
readonly divergences: readonly ShadowDivergenceCode[];
|
|
41
41
|
};
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
43
|
+
* Compares parity between the legacy run and its shadow mirror. If evidence is
|
|
44
|
+
* missing on either side, the verdict is `inconclusive`. Otherwise it reports
|
|
45
|
+
* the divergent dimensions deterministically.
|
|
46
46
|
*/
|
|
47
47
|
export declare function compareShadowRun(legacy: ShadowRunSummary | undefined, shadow: ShadowRunSummary | undefined): ShadowParityReport;
|
|
48
|
-
/**
|
|
48
|
+
/** Idempotent accumulator of parity verdicts per run. */
|
|
49
49
|
export type ShadowParityTally = {
|
|
50
50
|
readonly seen: ReadonlySet<string>;
|
|
51
51
|
readonly match: number;
|
|
52
52
|
readonly divergent: number;
|
|
53
53
|
readonly inconclusive: number;
|
|
54
54
|
};
|
|
55
|
-
/**
|
|
55
|
+
/** Empty tally. */
|
|
56
56
|
export declare function emptyShadowTally(): ShadowParityTally;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
58
|
+
* Projects a verdict into the tally. **Idempotent per run**: if the `runID` has
|
|
59
|
+
* already been counted, it returns the tally unchanged (no double counting).
|
|
60
60
|
*/
|
|
61
61
|
export declare function tallyShadowParity(tally: ShadowParityTally, runID: string, report: ShadowParityReport): ShadowParityTally;
|
|
62
62
|
//# sourceMappingURL=shadowComparator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowComparator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/shadowComparator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,
|
|
1
|
+
{"version":3,"file":"shadowComparator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/shadowComparator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,qCAAqC;AACrC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;AAExD,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEnE,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAExE,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC9C,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAEd,sBAAsB;AACtB,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,WAAW,GAAG,cAAc,CAAC;AAEzE,8CAA8C;AAC9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD,CAAC;AASF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,kBAAkB,CA4CpB;AAED,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,mBAAmB;AACnB,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,kBAAkB,GACzB,iBAAiB,CAanB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subsessions.d.ts","sourceRoot":"","sources":["../../src/orchestrator/subsessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE;QACP,MAAM,EAAE,CACN,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACzD,MAAM,EAAE,CACN,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"subsessions.d.ts","sourceRoot":"","sources":["../../src/orchestrator/subsessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE;QACP,MAAM,EAAE,CACN,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACzD,MAAM,EAAE,CACN,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiQF,wBAAsB,aAAa,CACjC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,iBAAiB,EACtB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAuE3B"}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import type { ExecLike } from "../local/foundry-local";
|
|
2
|
-
/**
|
|
2
|
+
/** Closed taxonomy of worktree adapter errors. */
|
|
3
3
|
export type WorktreeErrorCode = "invalid-run" | "git-failed" | "corrupt-list";
|
|
4
|
-
/**
|
|
4
|
+
/** Typed error for an invalid worktree lifecycle operation. */
|
|
5
5
|
export declare class WorktreeError extends Error {
|
|
6
6
|
readonly code: WorktreeErrorCode;
|
|
7
7
|
readonly detail: string;
|
|
8
8
|
constructor(code: WorktreeErrorCode, detail: string);
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
10
|
+
/** Observed information for a worktree in the openteam namespace. */
|
|
11
11
|
export type WorktreeInfo = {
|
|
12
12
|
readonly runID: string;
|
|
13
|
-
/**
|
|
13
|
+
/** Path reported by git (separators `/`, usable by `node:fs`). */
|
|
14
14
|
readonly path: string;
|
|
15
15
|
readonly head: string | undefined;
|
|
16
16
|
readonly detached: boolean;
|
|
17
17
|
readonly locked: boolean;
|
|
18
18
|
};
|
|
19
|
-
/**
|
|
19
|
+
/** Injected adapter configuration. */
|
|
20
20
|
export type WorktreeAdapterConfig = {
|
|
21
21
|
readonly exec: ExecLike;
|
|
22
|
-
/**
|
|
22
|
+
/** Main working tree of the repository (target for `git -C`). */
|
|
23
23
|
readonly repoRoot: string;
|
|
24
|
-
/**
|
|
24
|
+
/** Root directory of the per-run worktree namespace. */
|
|
25
25
|
readonly worktreesDir: string;
|
|
26
26
|
};
|
|
27
|
-
/**
|
|
27
|
+
/** Contract for the idempotent and crash-safe worktree lifecycle. */
|
|
28
28
|
export interface WorktreeAdapter {
|
|
29
|
-
/**
|
|
29
|
+
/** Creates (or adopts) the run's worktree; rebuilds after a crash. */
|
|
30
30
|
create(runID: string): Promise<WorktreeInfo>;
|
|
31
|
-
/**
|
|
31
|
+
/** Lists worktrees in the openteam namespace. */
|
|
32
32
|
list(): Promise<WorktreeInfo[]>;
|
|
33
|
-
/**
|
|
33
|
+
/** Removes the run's worktree (idempotent). */
|
|
34
34
|
remove(runID: string): Promise<void>;
|
|
35
|
-
/**
|
|
35
|
+
/** Prunes orphaned administrative entries (idempotent). */
|
|
36
36
|
prune(): Promise<void>;
|
|
37
37
|
}
|
|
38
38
|
export declare function createWorktreeAdapter(config: WorktreeAdapterConfig): WorktreeAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktreeAdapter.d.ts","sourceRoot":"","sources":["../../src/orchestrator/worktreeAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAqCvD,
|
|
1
|
+
{"version":3,"file":"worktreeAdapter.d.ts","sourceRoot":"","sources":["../../src/orchestrator/worktreeAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAqCvD,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC;AAE9E,+DAA+D;AAC/D,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAKlD;CACF;AAED,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,iDAAiD;IACjD,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAChC,+CAA+C;IAC/C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,2DAA2D;IAC3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAuFD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,eAAe,CA8IjB"}
|