@jmanuelcorral/openteam 0.18.1 → 0.20.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/openteam.example.json +23 -14
- package/AGENTS.md +16 -2
- package/README.es.md +300 -209
- package/README.md +300 -139
- package/dist/capabilities/classify.d.ts.map +1 -1
- package/dist/capabilities/normalize.d.ts.map +1 -1
- package/dist/certificates/graph-release-certificate.json +2 -2
- package/dist/certificates/graph-shadow-certificate.json +2 -2
- package/dist/cli/consoleServe.d.ts +16 -0
- package/dist/cli/consoleServe.d.ts.map +1 -1
- package/dist/cli/graphOperator.d.ts +10 -1
- package/dist/cli/graphOperator.d.ts.map +1 -1
- package/dist/cli/lifecycleHistoryProvider.d.ts +21 -0
- package/dist/cli/lifecycleHistoryProvider.d.ts.map +1 -0
- package/dist/cli.d.ts +3 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6841 -1555
- package/dist/commands/agents.d.ts +16 -4
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/local.d.ts +4 -5
- package/dist/commands/local.d.ts.map +1 -1
- package/dist/commands/report.d.ts +6 -6
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/rolesInit.d.ts +10 -12
- package/dist/commands/rolesInit.d.ts.map +1 -1
- package/dist/commands/setup.d.ts +5 -13
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/yolo.d.ts +2 -4
- package/dist/commands/yolo.d.ts.map +1 -1
- package/dist/config/errors.d.ts.map +1 -1
- package/dist/config/executionPolicyDomains.d.ts +18 -0
- package/dist/config/executionPolicyDomains.d.ts.map +1 -0
- package/dist/config/migrations.d.ts +9 -2
- package/dist/config/migrations.d.ts.map +1 -1
- package/dist/config/persist.d.ts.map +1 -1
- package/dist/config/runtime.d.ts +2 -0
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/schema.d.ts +128 -13
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/console/assets.d.ts +22 -1
- package/dist/console/assets.d.ts.map +1 -1
- package/dist/console/configView.d.ts +2 -7
- package/dist/console/configView.d.ts.map +1 -1
- package/dist/console/render.d.ts +12 -0
- package/dist/console/render.d.ts.map +1 -1
- package/dist/console/types.d.ts +2 -2
- package/dist/console/types.d.ts.map +1 -1
- package/dist/context/schema.d.ts +13 -7
- package/dist/context/schema.d.ts.map +1 -1
- package/dist/graph/certificate.d.ts.map +1 -1
- package/dist/graph/langgraph/adapter.d.ts +7 -8
- package/dist/graph/langgraph/adapter.d.ts.map +1 -1
- package/dist/graph/langgraph/certification.d.ts +5 -0
- package/dist/graph/langgraph/certification.d.ts.map +1 -1
- package/dist/graph/langgraph/checkpointReplay.d.ts.map +1 -1
- package/dist/graph/langgraph/engine.d.ts +2 -2
- package/dist/graph/langgraph/engine.d.ts.map +1 -1
- package/dist/graph/langgraph/types.d.ts +11 -6
- package/dist/graph/langgraph/types.d.ts.map +1 -1
- package/dist/graph/privacyPolicy.d.ts +6 -30
- package/dist/graph/privacyPolicy.d.ts.map +1 -1
- package/dist/index.d.ts +1 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5992 -1390
- package/dist/lifecycle/contracts.d.ts +618 -0
- package/dist/lifecycle/contracts.d.ts.map +1 -0
- package/dist/lifecycle/historyReader.d.ts +11 -0
- package/dist/lifecycle/historyReader.d.ts.map +1 -0
- package/dist/lifecycle/historySourceError.d.ts +7 -0
- package/dist/lifecycle/historySourceError.d.ts.map +1 -0
- package/dist/lifecycle/project.d.ts +3 -0
- package/dist/lifecycle/project.d.ts.map +1 -0
- package/dist/lifecycle/root.d.ts +3 -0
- package/dist/lifecycle/root.d.ts.map +1 -0
- package/dist/lifecycle/runtimeRecorder.d.ts +6 -0
- package/dist/lifecycle/runtimeRecorder.d.ts.map +1 -0
- package/dist/lifecycle/schema.d.ts +487 -0
- package/dist/lifecycle/schema.d.ts.map +1 -0
- package/dist/mcp/teamMemory.d.ts +2 -2
- package/dist/mcp/teamMemory.d.ts.map +1 -1
- package/dist/messages/commands.d.ts +22 -35
- package/dist/messages/commands.d.ts.map +1 -1
- package/dist/messages/executionSetup.d.ts +116 -0
- package/dist/messages/executionSetup.d.ts.map +1 -0
- package/dist/messages/index.d.ts +2 -0
- package/dist/messages/index.d.ts.map +1 -1
- package/dist/messages/lifecycle.d.ts +95 -0
- package/dist/messages/lifecycle.d.ts.map +1 -0
- package/dist/messages/lifecycleRuntime.d.ts +4 -0
- package/dist/messages/lifecycleRuntime.d.ts.map +1 -0
- package/dist/messages/lifecycleStorage.d.ts +4 -0
- package/dist/messages/lifecycleStorage.d.ts.map +1 -0
- package/dist/messages/memoryTool.d.ts +17 -0
- package/dist/messages/memoryTool.d.ts.map +1 -0
- package/dist/messages/orchestration.d.ts +16 -0
- package/dist/messages/orchestration.d.ts.map +1 -0
- package/dist/messages/routing.d.ts +9 -0
- package/dist/messages/routing.d.ts.map +1 -0
- package/dist/opencodeArtifacts/orchestratorAgent.d.ts +3 -5
- package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -1
- package/dist/orchestrator/coordinator.d.ts +30 -13
- package/dist/orchestrator/coordinator.d.ts.map +1 -1
- package/dist/orchestrator/graphEffects.d.ts +10 -11
- package/dist/orchestrator/graphEffects.d.ts.map +1 -1
- package/dist/orchestrator/graphIngress.d.ts +5 -0
- package/dist/orchestrator/graphIngress.d.ts.map +1 -1
- package/dist/orchestrator/graphRuntime.d.ts +13 -1
- package/dist/orchestrator/graphRuntime.d.ts.map +1 -1
- package/dist/orchestrator/outputContract.d.ts +5 -6
- package/dist/orchestrator/outputContract.d.ts.map +1 -1
- package/dist/orchestrator/roles.d.ts +25 -2
- package/dist/orchestrator/roles.d.ts.map +1 -1
- package/dist/orchestrator/runtimeSelection.d.ts.map +1 -1
- package/dist/orchestrator/subsessions.d.ts +52 -1
- package/dist/orchestrator/subsessions.d.ts.map +1 -1
- package/dist/plugin/availability.d.ts +15 -2
- package/dist/plugin/availability.d.ts.map +1 -1
- package/dist/plugin/diagnostics.d.ts +1 -0
- package/dist/plugin/diagnostics.d.ts.map +1 -1
- package/dist/plugin/hooks.d.ts +21 -2
- package/dist/plugin/hooks.d.ts.map +1 -1
- package/dist/plugin/memoryTool.d.ts +3 -3
- package/dist/plugin/memoryTool.d.ts.map +1 -1
- package/dist/plugin/modelOwnership.d.ts +15 -0
- package/dist/plugin/modelOwnership.d.ts.map +1 -0
- package/dist/plugin/orchestrateTool.d.ts +53 -3
- package/dist/plugin/orchestrateTool.d.ts.map +1 -1
- package/dist/router/chooseModel.d.ts.map +1 -1
- package/dist/router/cost.d.ts +1 -1
- package/dist/router/cost.d.ts.map +1 -1
- package/dist/router/executionPolicy.d.ts +44 -0
- package/dist/router/executionPolicy.d.ts.map +1 -0
- package/dist/router/frontierBaseline.d.ts.map +1 -1
- package/dist/router/types.d.ts +10 -4
- package/dist/router/types.d.ts.map +1 -1
- package/dist/storage/lifecycle/codec.d.ts +19 -0
- package/dist/storage/lifecycle/codec.d.ts.map +1 -0
- package/dist/storage/lifecycle/fsLifecycleJournal.d.ts +3 -0
- package/dist/storage/lifecycle/fsLifecycleJournal.d.ts.map +1 -0
- package/dist/storage/lifecycle/fsLifecycleSupport.d.ts +17 -0
- package/dist/storage/lifecycle/fsLifecycleSupport.d.ts.map +1 -0
- package/dist/storage/lifecycle/fsLifecycleWriterLivenessProbe.d.ts +3 -0
- package/dist/storage/lifecycle/fsLifecycleWriterLivenessProbe.d.ts.map +1 -0
- package/dist/telemetry/aggregate.d.ts +4 -4
- package/dist/telemetry/aggregate.d.ts.map +1 -1
- package/dist/telemetry/diagnostics.d.ts.map +1 -1
- package/dist/telemetry/events.d.ts +6 -6
- package/dist/telemetry/otel.d.ts.map +1 -1
- package/dist/telemetry/types.d.ts +3 -3
- package/dist/web/configApi.d.ts +3 -1
- package/dist/web/configApi.d.ts.map +1 -1
- package/dist/web/graphRoute.d.ts +39 -1
- package/dist/web/graphRoute.d.ts.map +1 -1
- package/dist/web/server.d.ts +19 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/start.d.ts +11 -0
- package/dist/web/start.d.ts.map +1 -1
- package/dist/web/watch.d.ts +17 -2
- package/dist/web/watch.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/messages/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB;aAC7B,MAAM,EAAE,qDAAqD;aAC7D,OAAO;iBACL,OAAO,EAAE,UAAU;iBACnB,MAAM,EAAE,aAAa;iBACrB,SAAS,EAAE,WAAW;iBACtB,KAAK,EAAE,OAAO;;aAEhB,iBAAiB,EAAE,0BAA0B;aAC7C,YAAY,EAAE,UAAU;aACxB,WAAW,YAAY,MAAM,KAAG,MAAM;aACtC,kBAAkB,YAAY,MAAM,gBAAgB,MAAM,KAAG,MAAM;aAEnE,SAAS,UAAU,MAAM,KAAG,MAAM;aAClC,KAAK,UAAU,MAAM,KAAG,MAAM;CAEtB,CAAC;AAEX,wCAAwC;AACxC,eAAO,MAAM,gBAAgB;aAC3B,aAAa,EAAE,yBAAyB;aACxC,YAAY,QAAQ,MAAM,KAAG,MAAM;aACnC,OAAO,WAAW;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAG,MAAM,EAAE;aAOZ,YAAY,UAAU,MAAM,KAAG,MAAM;aAErC,QAAQ,QAAQ,MAAM,KAAG,MAAM;aAC/B,QAAQ,EAAE,+CAA+C;CACjD,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,aAAa;aACxB,IAAI;iBACF,MAAM,EACJ,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/messages/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export declare const executionSetupMessages: {
|
|
2
|
+
readonly setupIntro: "openteam setup — configure local, frontier, or mixed team execution";
|
|
3
|
+
readonly runtimeQuestion: "Which local runtimes do you want to enable? (choose 'None' for frontier-only)";
|
|
4
|
+
readonly runtimeNoneLabel: "None — use frontier models only";
|
|
5
|
+
readonly runtimeNoneHint: "no local runtime (frontier execution)";
|
|
6
|
+
readonly executionModeQuestion: "Team execution mode";
|
|
7
|
+
readonly executionModeChoices: {
|
|
8
|
+
readonly local: {
|
|
9
|
+
readonly label: "local — every agent stays on configured local providers";
|
|
10
|
+
readonly hint: "requires at least one enabled local runtime";
|
|
11
|
+
};
|
|
12
|
+
readonly frontier: {
|
|
13
|
+
readonly label: "frontier — every agent uses frontier providers";
|
|
14
|
+
readonly hint: "does not require a local runtime";
|
|
15
|
+
};
|
|
16
|
+
readonly mixed: {
|
|
17
|
+
readonly label: "mixed — policies may select local or frontier models";
|
|
18
|
+
readonly hint: "the global mode is an upper bound; per-agent policies may narrow it";
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
readonly frontierOnlyNote: string;
|
|
22
|
+
readonly frontierOnlyTitle: "Frontier execution";
|
|
23
|
+
readonly localOnlyNote: (model: string) => string;
|
|
24
|
+
readonly localOnlyTitle: "Local execution";
|
|
25
|
+
readonly localRequiredError: "local execution requires an enabled local runtime";
|
|
26
|
+
readonly mixedPrimaryQuestion: "Primary coordinator model";
|
|
27
|
+
readonly mixedPrimaryLocal: (model: string) => string;
|
|
28
|
+
readonly mixedPrimaryFrontier: "Choose a frontier model";
|
|
29
|
+
readonly frontierModelQuestion: "Frontier model (type to search; cheapest capable entries first)";
|
|
30
|
+
readonly primaryPolicySummary: (params: {
|
|
31
|
+
executionMode: string;
|
|
32
|
+
primaryModel: string;
|
|
33
|
+
fallbacks: string;
|
|
34
|
+
}) => string[];
|
|
35
|
+
readonly noFallbacks: "none";
|
|
36
|
+
readonly yoloQuestion: "Enable YOLO mode? (opencode auto-approves all permissions)";
|
|
37
|
+
readonly configuredSummary: (params: {
|
|
38
|
+
executionMode: string;
|
|
39
|
+
primaryModel: string;
|
|
40
|
+
frontierBaseline: string;
|
|
41
|
+
localRuntimes: string;
|
|
42
|
+
yolo: boolean;
|
|
43
|
+
opencodePath: string;
|
|
44
|
+
configPath: string;
|
|
45
|
+
agentPath: string;
|
|
46
|
+
agentDir: string;
|
|
47
|
+
roleAgentCount: number;
|
|
48
|
+
commandDir: string;
|
|
49
|
+
commandCount: number;
|
|
50
|
+
gitignorePath: string;
|
|
51
|
+
}) => string[];
|
|
52
|
+
readonly configuredTitle: "openteam configured";
|
|
53
|
+
readonly complete: (paths: string) => string;
|
|
54
|
+
readonly error: (message: string) => string;
|
|
55
|
+
readonly localRuntimeNextStep: " 2. Make sure every configured local runtime is reachable";
|
|
56
|
+
readonly frontierNextStep: " 2. Open opencode in this repo; openteam will use frontier models";
|
|
57
|
+
readonly mixedNextStep: " 2. Make sure local runtimes are reachable; unavailable candidates can use configured fallbacks";
|
|
58
|
+
readonly done: "Done. Open opencode and select the 'openteam' agent.";
|
|
59
|
+
readonly rolePolicy: {
|
|
60
|
+
readonly whyTitle: "Configure execution and model selection";
|
|
61
|
+
readonly why: (count: number) => string;
|
|
62
|
+
readonly modeQuestion: (roleID: string, agentName: string) => string;
|
|
63
|
+
readonly modeInheritLabel: "Inherit the team execution mode";
|
|
64
|
+
readonly modeLocalLabel: "Local only";
|
|
65
|
+
readonly modeFrontierLabel: "Frontier only";
|
|
66
|
+
readonly modelQuestion: (roleID: string) => string;
|
|
67
|
+
readonly modelAutoLabel: "Auto — choose the cheapest capable eligible model";
|
|
68
|
+
readonly modelExactLabel: "Exact provider/model pin";
|
|
69
|
+
readonly modelExactQuestion: (roleID: string) => string;
|
|
70
|
+
readonly modelExactPlaceholder: "provider/model";
|
|
71
|
+
readonly fallbacksQuestion: (roleID: string) => string;
|
|
72
|
+
readonly fallbacksPlaceholder: "provider/model, provider/model";
|
|
73
|
+
readonly configured: (roleIDs: string, path: string) => string;
|
|
74
|
+
readonly invalidModelRef: (value: string) => string;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
export type ExecutionPolicySummaryInput = {
|
|
78
|
+
readonly owner: string;
|
|
79
|
+
readonly executionMode?: string;
|
|
80
|
+
readonly model: string;
|
|
81
|
+
readonly fallbacks: readonly string[];
|
|
82
|
+
};
|
|
83
|
+
export declare const executionPolicyMessages: {
|
|
84
|
+
readonly doctorHelp: " openteam doctor Diagnose runtimes, execution policies, and config";
|
|
85
|
+
readonly agentsHelp: " openteam agents List agents, model identity, and execution policy";
|
|
86
|
+
readonly section: "Configured execution policies:";
|
|
87
|
+
readonly globalMode: (mode: string) => string;
|
|
88
|
+
readonly line: (policy: ExecutionPolicySummaryInput) => string;
|
|
89
|
+
readonly retryLimits: (maxRetries: number, maxModelsPerNode: number) => string;
|
|
90
|
+
readonly inheritedDefaultUnset: "inherits the opencode.json default (not set); execution follows the configured team and agent policy";
|
|
91
|
+
readonly inheritedDefault: (subscription: string) => string;
|
|
92
|
+
readonly unprofiledRoleRouting: " routing: no explicit override — the role inherits its built-in or fallback policy within the global execution-mode upper bound. Roster prose is not executable configuration.";
|
|
93
|
+
readonly unprofiledRoleRemedy: " remedy: run `openteam roles init`, or add executionMode, model, and ordered fallbacks under orchestrator.roles in .opencode/openteam.json.";
|
|
94
|
+
readonly noLocalMixed: " ⚠ No local runtime reachable: mixed execution currently has only frontier candidates.";
|
|
95
|
+
readonly noLocalBlocked: " ✗ No local runtime reachable: local execution is blocked until a configured runtime is available.";
|
|
96
|
+
readonly primaryLocalMismatch: (name: string, providerID: string) => string;
|
|
97
|
+
readonly primaryLocalMismatchCause: " cause: the primary agent artifact and opencode.json no longer agree on the selected provider/model identity.";
|
|
98
|
+
readonly primaryLocalMismatchConsequence: " consequence: opencode cannot start the coordinator, so it cannot read the roster or distribute work.";
|
|
99
|
+
readonly primaryLocalMismatchRemedy: (sourceFile: string) => string;
|
|
100
|
+
};
|
|
101
|
+
export declare const executionPolicyEditorMessages: {
|
|
102
|
+
readonly title: "Execution and model policy";
|
|
103
|
+
readonly globalMode: "Global execution mode";
|
|
104
|
+
readonly primaryModel: "Primary model";
|
|
105
|
+
readonly primaryFallbacks: "Primary fallbacks";
|
|
106
|
+
readonly retryLimits: "Retry limits";
|
|
107
|
+
readonly automatic: "auto";
|
|
108
|
+
readonly inherit: "inherit";
|
|
109
|
+
readonly none: "none";
|
|
110
|
+
readonly retryValue: (maxRetries: number, maxModelsPerNode: number) => string;
|
|
111
|
+
};
|
|
112
|
+
export declare const localModeChangeMessages: {
|
|
113
|
+
readonly localProviderInFrontierDomain: (path: string, domainPath: string, providerID: string, modelID: string) => string;
|
|
114
|
+
readonly frontierProviderInLocalDomain: (path: string, domainPath: string, providerID: string, modelID: string) => string;
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=executionSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executionSetup.d.ts","sourceRoot":"","sources":["../../src/messages/executionSetup.ts"],"names":[],"mappings":"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"}
|
package/dist/messages/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-facing messages for the lifecycle history timeline UI.
|
|
3
|
+
* Pure catalog — no I/O, no runtime, no locale loader.
|
|
4
|
+
*/
|
|
5
|
+
export declare const lifecycleMessages: {
|
|
6
|
+
readonly screenLabel: "Lifecycle operation tree";
|
|
7
|
+
readonly screenHeading: "Agent timeline";
|
|
8
|
+
readonly screenHeadingLive: "Agent timeline · live";
|
|
9
|
+
readonly screenHeadingHistorical: "Agent timeline · historical";
|
|
10
|
+
readonly screenHeadingCompleted: "Agent timeline · completed";
|
|
11
|
+
readonly screenDescription: "Committed runtime hierarchy for the selected lifecycle run.";
|
|
12
|
+
readonly screenDescriptionLive: "Following committed lifecycle events from the active writer.";
|
|
13
|
+
readonly screenDescriptionHistorical: "Historical hierarchy at the selected exclusive event cursor.";
|
|
14
|
+
readonly screenDescriptionCompleted: "Final committed runtime hierarchy for the completed run.";
|
|
15
|
+
readonly screenDescriptionUnavailable: "Lifecycle history is not available for the current selection.";
|
|
16
|
+
readonly panelEyebrow: "Lifecycle run";
|
|
17
|
+
readonly hierarchyTitle: "Execution hierarchy";
|
|
18
|
+
readonly hierarchyAriaLabel: "Lifecycle operation hierarchy";
|
|
19
|
+
readonly cursorCountTemplate: "{cursor} of {head} events";
|
|
20
|
+
readonly cursorCountSingleTemplate: "{cursor} of {head} event";
|
|
21
|
+
readonly latestEventLabel: "Latest event";
|
|
22
|
+
readonly noEventTimestamp: "No event timestamp in this prefix";
|
|
23
|
+
readonly noRunsYet: "No lifecycle runs yet. The timeline fills when the orchestrator begins a run.";
|
|
24
|
+
readonly runSelectorLabel: "Select run";
|
|
25
|
+
readonly runSelectorAriaLabel: "Lifecycle run selector";
|
|
26
|
+
readonly sliderLabel: "Event cursor";
|
|
27
|
+
readonly sliderAriaLabel: "Timeline cursor — drag to scrub through lifecycle events";
|
|
28
|
+
readonly returnToLive: "Return to live";
|
|
29
|
+
readonly returnToLiveAriaLabel: "Return to live — follow the latest events";
|
|
30
|
+
readonly pausedLabel: "Paused";
|
|
31
|
+
readonly latestLabel: "Latest";
|
|
32
|
+
readonly followingHeadLabel: "Following head";
|
|
33
|
+
readonly live: "Live";
|
|
34
|
+
readonly liveAriaLabel: "Live — following the latest events";
|
|
35
|
+
readonly writerActive: "Writer active";
|
|
36
|
+
readonly writerUnknown: "Writer unknown";
|
|
37
|
+
readonly terminal: "Completed";
|
|
38
|
+
readonly historicalPrefix: "Historical snapshot";
|
|
39
|
+
readonly legacySnapshot: "Legacy snapshot";
|
|
40
|
+
readonly operationLabel: "Operation";
|
|
41
|
+
readonly taskLabel: "Task";
|
|
42
|
+
readonly roleLabel: "Role";
|
|
43
|
+
readonly kindLabel: "Kind";
|
|
44
|
+
readonly agentLabel: "Agent";
|
|
45
|
+
readonly attemptsLabel: "Attempts";
|
|
46
|
+
readonly noAttempts: "No attempts in this prefix";
|
|
47
|
+
readonly attemptLabelTemplate: "Attempt {n}";
|
|
48
|
+
readonly retryLabel: "Retry";
|
|
49
|
+
readonly retryLabelTemplate: "Retry {n}";
|
|
50
|
+
readonly stateLabel: "State";
|
|
51
|
+
readonly modelLabel: "Model";
|
|
52
|
+
readonly noModel: "No model recorded";
|
|
53
|
+
readonly routeLabel: "Route";
|
|
54
|
+
readonly noRoute: "No route recorded";
|
|
55
|
+
readonly selectionLabel: "Selection";
|
|
56
|
+
readonly runtimeLabel: "Runtime";
|
|
57
|
+
readonly sessionLabel: "Session";
|
|
58
|
+
readonly noSession: "No session recorded";
|
|
59
|
+
readonly parentSessionLabel: "Parent session";
|
|
60
|
+
readonly dependsOnLabel: "Depends on";
|
|
61
|
+
readonly missingOperation: "missing operation";
|
|
62
|
+
readonly parentReferenceLabel: "Parent reference";
|
|
63
|
+
readonly unlinkedOperationsLabel: "Unlinked operations";
|
|
64
|
+
readonly unlinkedOperationsNote: "These operations are not connected to the selected root in this prefix.";
|
|
65
|
+
readonly rootOperationMissing: "The selected root operation is not available in this prefix.";
|
|
66
|
+
readonly noOperationsAtCursor: "No operations exist at this cursor.";
|
|
67
|
+
readonly selectedAtLabel: "Selected";
|
|
68
|
+
readonly queuedAtLabel: "Queued";
|
|
69
|
+
readonly startedAtLabel: "Started";
|
|
70
|
+
readonly terminalAtLabel: "Finished";
|
|
71
|
+
readonly failureLabel: "Failure";
|
|
72
|
+
readonly statusCodeLabel: "Status";
|
|
73
|
+
readonly retryableLabel: "Retryable";
|
|
74
|
+
readonly yesLabel: "yes";
|
|
75
|
+
readonly noLabel: "no";
|
|
76
|
+
readonly graphSupplementTitle: "Graph execution snapshot";
|
|
77
|
+
readonly graphSupplementSummary: "Show the separate Graph projection and conversation drill-down";
|
|
78
|
+
readonly legacyIncomplete: "Legacy artifact — chronology, retry history, and session tree unavailable.";
|
|
79
|
+
readonly partialTail: "Recording degraded — the tree shows only the committed prefix returned by history.";
|
|
80
|
+
readonly errorRunNotFound: "Run not found.";
|
|
81
|
+
readonly errorCursorAhead: "Cursor is ahead of current head.";
|
|
82
|
+
readonly errorHistoryIncomplete: "Cursor scrubbing is unavailable for legacy artifacts.";
|
|
83
|
+
readonly errorJournalCorrupt: "Journal is corrupt — history unavailable.";
|
|
84
|
+
readonly errorHistoryUnavailable: "History storage unavailable.";
|
|
85
|
+
readonly errorInvalidCursor: "Invalid cursor value.";
|
|
86
|
+
readonly errorLoading: "Could not load lifecycle history.";
|
|
87
|
+
readonly graphDisabledHistory: "Lifecycle history is unavailable because the graph engine is off.";
|
|
88
|
+
readonly historyDisabled: "Lifecycle history is disabled. Enable it in .opencode/openteam.json.";
|
|
89
|
+
readonly timelineRegionLabel: "Lifecycle timeline";
|
|
90
|
+
readonly runDetailsLabel: "Run details";
|
|
91
|
+
readonly controlsLabel: "Timeline controls";
|
|
92
|
+
readonly eventsCountLabel: (count: number) => string;
|
|
93
|
+
readonly incomingCountLabel: (count: number) => string;
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/messages/lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB;aAE5B,WAAW,EAAE,0BAA0B;aACvC,aAAa,EAAE,gBAAgB;aAC/B,iBAAiB,EAAE,uBAAuB;aAC1C,uBAAuB,EAAE,6BAA6B;aACtD,sBAAsB,EAAE,4BAA4B;aACpD,iBAAiB,EACf,6DAA6D;aAC/D,qBAAqB,EACnB,8DAA8D;aAChE,2BAA2B,EACzB,8DAA8D;aAChE,0BAA0B,EACxB,0DAA0D;aAC5D,4BAA4B,EAC1B,+DAA+D;aACjE,YAAY,EAAE,eAAe;aAC7B,cAAc,EAAE,qBAAqB;aACrC,kBAAkB,EAAE,+BAA+B;aACnD,mBAAmB,EAAE,2BAA2B;aAChD,yBAAyB,EAAE,0BAA0B;aACrD,gBAAgB,EAAE,cAAc;aAChC,gBAAgB,EAAE,mCAAmC;aAGrD,SAAS,EACP,+EAA+E;aACjF,gBAAgB,EAAE,YAAY;aAC9B,oBAAoB,EAAE,wBAAwB;aAG9C,WAAW,EAAE,cAAc;aAC3B,eAAe,EAAE,0DAA0D;aAC3E,YAAY,EAAE,gBAAgB;aAC9B,qBAAqB,EAAE,2CAA2C;aAClE,WAAW,EAAE,QAAQ;aACrB,WAAW,EAAE,QAAQ;aACrB,kBAAkB,EAAE,gBAAgB;aAGpC,IAAI,EAAE,MAAM;aACZ,aAAa,EAAE,oCAAoC;aACnD,YAAY,EAAE,eAAe;aAC7B,aAAa,EAAE,gBAAgB;aAC/B,QAAQ,EAAE,WAAW;aACrB,gBAAgB,EAAE,qBAAqB;aACvC,cAAc,EAAE,iBAAiB;aAGjC,cAAc,EAAE,WAAW;aAC3B,SAAS,EAAE,MAAM;aACjB,SAAS,EAAE,MAAM;aACjB,SAAS,EAAE,MAAM;aACjB,UAAU,EAAE,OAAO;aACnB,aAAa,EAAE,UAAU;aACzB,UAAU,EAAE,4BAA4B;aACxC,oBAAoB,EAAE,aAAa;aACnC,UAAU,EAAE,OAAO;aACnB,kBAAkB,EAAE,WAAW;aAC/B,UAAU,EAAE,OAAO;aACnB,UAAU,EAAE,OAAO;aACnB,OAAO,EAAE,mBAAmB;aAC5B,UAAU,EAAE,OAAO;aACnB,OAAO,EAAE,mBAAmB;aAC5B,cAAc,EAAE,WAAW;aAC3B,YAAY,EAAE,SAAS;aACvB,YAAY,EAAE,SAAS;aACvB,SAAS,EAAE,qBAAqB;aAChC,kBAAkB,EAAE,gBAAgB;aACpC,cAAc,EAAE,YAAY;aAC5B,gBAAgB,EAAE,mBAAmB;aACrC,oBAAoB,EAAE,kBAAkB;aACxC,uBAAuB,EAAE,qBAAqB;aAC9C,sBAAsB,EACpB,yEAAyE;aAC3E,oBAAoB,EAClB,8DAA8D;aAChE,oBAAoB,EAAE,qCAAqC;aAC3D,eAAe,EAAE,UAAU;aAC3B,aAAa,EAAE,QAAQ;aACvB,cAAc,EAAE,SAAS;aACzB,eAAe,EAAE,UAAU;aAC3B,YAAY,EAAE,SAAS;aACvB,eAAe,EAAE,QAAQ;aACzB,cAAc,EAAE,WAAW;aAC3B,QAAQ,EAAE,KAAK;aACf,OAAO,EAAE,IAAI;aACb,oBAAoB,EAAE,0BAA0B;aAChD,sBAAsB,EACpB,gEAAgE;aAGlE,gBAAgB,EACd,4EAA4E;aAC9E,WAAW,EACT,oFAAoF;aAGtF,gBAAgB,EAAE,gBAAgB;aAClC,gBAAgB,EAAE,kCAAkC;aACpD,sBAAsB,EACpB,uDAAuD;aACzD,mBAAmB,EAAE,2CAA2C;aAChE,uBAAuB,EAAE,8BAA8B;aACvD,kBAAkB,EAAE,uBAAuB;aAC3C,YAAY,EAAE,mCAAmC;aAGjD,oBAAoB,EAClB,mEAAmE;aACrE,eAAe,EACb,sEAAsE;aAGxE,mBAAmB,EAAE,oBAAoB;aACzC,eAAe,EAAE,aAAa;aAC9B,aAAa,EAAE,mBAAmB;aAGlC,gBAAgB,UAAU,MAAM,KAAG,MAAM;aAEzC,kBAAkB,UAAU,MAAM,KAAG,MAAM;CAEnC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BoundedNormalizedSessionFailure, LifecycleRecordingStatus } from "../lifecycle/contracts";
|
|
2
|
+
export declare function normalizedSessionFailureMessage(failure: BoundedNormalizedSessionFailure): string;
|
|
3
|
+
export declare function lifecycleRecordingAdvisory(status: LifecycleRecordingStatus): string | undefined;
|
|
4
|
+
//# sourceMappingURL=lifecycleRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycleRuntime.d.ts","sourceRoot":"","sources":["../../src/messages/lifecycleRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAER;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,wBAAwB,GAC/B,MAAM,GAAG,SAAS,CAOpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycleStorage.d.ts","sourceRoot":"","sources":["../../src/messages/lifecycleStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;aACnC,8BAA8B,EAC5B,mEAAmE;CAC7D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const memoryToolMessages: {
|
|
2
|
+
readonly toolDescription: "Persists durable memory records extracted from a conversation. Reserved for the scribe role: runs extraction on a local runtime only and never falls back to a frontier provider. Records are redacted per config (storeContent=false by default) before they are appended to the log.";
|
|
3
|
+
readonly messagesDescription: "Conversation messages to extract stable knowledge from";
|
|
4
|
+
readonly messageRoleDescription: "Message role: system, user or assistant";
|
|
5
|
+
readonly messageContentDescription: "Message content.";
|
|
6
|
+
readonly roleIDDescription: "Roster role writing the memory; only the scribe is permitted";
|
|
7
|
+
readonly validationError: (details: string) => string;
|
|
8
|
+
readonly scribeOnly: (actualRoleID: string) => string;
|
|
9
|
+
readonly disabled: "openteam memory: semantic memory is disabled; nothing was recorded.";
|
|
10
|
+
readonly frontierDomainRefusal: 'openteam memory: refused — memory extraction requires local model execution, but router.executionMode is "frontier". Set router.executionMode to "local" or "mixed" and configure a reachable local runtime.';
|
|
11
|
+
readonly localRuntimeUnavailable: "openteam memory: memory extraction requires a local runtime that is reachable and will not fall back to a frontier provider. Configure Ollama, LM Studio, Lemonade, or Foundry Local and run `openteam doctor`.";
|
|
12
|
+
readonly localRuntimeBaseURLMissing: "openteam memory: refused — no local runtime with a base URL is configured and enabled; memory extraction is local-only.";
|
|
13
|
+
readonly extractionFailure: (reason: string) => string;
|
|
14
|
+
readonly noRecords: "openteam memory: no records were extracted; nothing was recorded.";
|
|
15
|
+
readonly recordsWritten: (count: number, logPath: string) => string;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=memoryTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryTool.d.ts","sourceRoot":"","sources":["../../src/messages/memoryTool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;aAC7B,eAAe,EACb,wRAAwR;aAC1R,mBAAmB,EAAE,wDAAwD;aAC7E,sBAAsB,EAAE,yCAAyC;aACjE,yBAAyB,EAAE,kBAAkB;aAC7C,iBAAiB,EACf,8DAA8D;aAChE,eAAe,YAAY,MAAM,KAAG,MAAM;aAE1C,UAAU,iBAAiB,MAAM,KAAG,MAAM;aAE1C,QAAQ,EACN,qEAAqE;aACvE,qBAAqB,EACnB,8MAA8M;aAChN,uBAAuB,EACrB,iNAAiN;aACnN,0BAA0B,EACxB,yHAAyH;aAC3H,iBAAiB,WAAW,MAAM,KAAG,MAAM;aAE3C,SAAS,EACP,mEAAmE;aACrE,cAAc,UAAU,MAAM,WAAW,MAAM,KAAG,MAAM;CAEhD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const SESSION_CREATE_MISSING_ID = "create response did not include a session id";
|
|
2
|
+
export declare function orchestrationSummaryHeading(roleCount: number, completed: boolean): string;
|
|
3
|
+
export declare function orchestrationReportGuidance(completed: boolean): string;
|
|
4
|
+
export declare function deprecatedPrivacyMode(paths: readonly string[], message?: string): string;
|
|
5
|
+
export declare function promptTimedOut(timeoutMs: number): string;
|
|
6
|
+
export declare function promptStopUnconfirmed(cause: "abort-error" | "abort-timeout" | "abort-rejected" | "status-error" | "status-timeout" | "status-missing" | "status-busy" | "status-retry" | "request-unsettled"): string;
|
|
7
|
+
export declare const REPORT_INCOMPLETE_REASON = "report-incomplete-at-model-bound";
|
|
8
|
+
export declare const REPORT_STALE_REASON = "report-unchanged-for-current-attempt";
|
|
9
|
+
export declare const UNAUTHORIZED_MODEL_SWITCH_REASON = "routing-model-switch-not-authorized";
|
|
10
|
+
export declare function invalidRoleIdentifier(roleID: string): string;
|
|
11
|
+
export declare function missingAgentDefinition(agentName: string, roleID: string): string;
|
|
12
|
+
export declare function dependencyValidationError(code: string, detail: string): string;
|
|
13
|
+
export declare function coordinatorRoutingBlocked(roleID: string, reason?: string): string;
|
|
14
|
+
export declare function primaryRoutingBlocked(reason?: string): string;
|
|
15
|
+
export declare function incapableFixedModel(roleID: string, providerID: string, modelID: string): string;
|
|
16
|
+
//# sourceMappingURL=orchestration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestration.d.ts","sourceRoot":"","sources":["../../src/messages/orchestration.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,iDACU,CAAC;AAEjD,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,OAAO,GACjB,MAAM,CAER;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAStE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,MAA8C,GACtD,MAAM,CAGR;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EACD,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,mBAAmB,GACtB,MAAM,CAER;AAED,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAC3E,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAC1E,eAAO,MAAM,gCAAgC,wCACN,CAAC;AAExC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAkCD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,SAAgC,GACrC,MAAM,CAKR;AAED,wBAAgB,qBAAqB,CACnC,MAAM,SAAgC,GACrC,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,CAMR"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const routingMessages: {
|
|
2
|
+
readonly conflictingLegacyModes: "router.localOnly and router.frontierOnly cannot both be true";
|
|
3
|
+
readonly conflictingRouterModes: (executionMode: string, legacyMode: string) => string;
|
|
4
|
+
readonly agentModeBroadensGlobal: (agentMode: string, routerMode: string) => string;
|
|
5
|
+
readonly requiredLocalModeConflict: "requiresLocalRuntime=true conflicts with a non-local agent executionMode";
|
|
6
|
+
readonly privacyModeDeprecated: 'privacyMode is deprecated and ignored; it no longer protects prompt content from frontier egress. Set router.executionMode to "local" to prohibit frontier routing.';
|
|
7
|
+
readonly unknownCost: "unknown";
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/messages/routing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;aAC1B,sBAAsB,EACpB,8DAA8D;aAChE,sBAAsB,kBAAkB,MAAM,cAAc,MAAM,KAAG,MAAM;aAE3E,uBAAuB,cAAc,MAAM,cAAc,MAAM,KAAG,MAAM;aAExE,yBAAyB,EACvB,0EAA0E;aAC5E,qBAAqB,EACnB,qKAAqK;aACvK,WAAW,EAAE,SAAS;CACd,CAAC"}
|
|
@@ -22,11 +22,9 @@ export declare const OPENTEAM_ROSTER_PATH = ".opencode/openteam/roster.md";
|
|
|
22
22
|
* resolved**, real and resolvable `provider/model`. This value is load-bearing —
|
|
23
23
|
* opencode resolves the primary agent against it directly — so the caller is
|
|
24
24
|
* responsible for choosing a reference whose provider it actually configured:
|
|
25
|
-
* the
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* `model:`. The openteam plugin still routes per message, so subagents this one
|
|
29
|
-
* creates can inherit the default and be routed local-first.
|
|
25
|
+
* the selected primary model. Never pass an inert baseline placeholder here;
|
|
26
|
+
* that value is only correct as a baseline, not as an agent `model:`. The
|
|
27
|
+
* openteam plugin still applies each primary/worker execution policy at runtime.
|
|
30
28
|
*/
|
|
31
29
|
export declare function buildOrchestratorAgent(model: ModelRef, options?: {
|
|
32
30
|
yolo?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/opencodeArtifacts/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAInE
|
|
1
|
+
{"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/opencodeArtifacts/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAInE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CA+SR"}
|
|
@@ -2,8 +2,10 @@ import { z } from "zod";
|
|
|
2
2
|
import type { BudgetState } from "../capabilities/budget";
|
|
3
3
|
import type { ModelCapabilityProfile } from "../capabilities/types";
|
|
4
4
|
import type { OpenTeamConfig } from "../config/schema";
|
|
5
|
+
import type { BoundedNormalizedSessionFailure, LifecycleRunRecorder } from "../lifecycle/contracts";
|
|
5
6
|
import type { RuntimeConcurrencyLimiter } from "../local/concurrency";
|
|
6
7
|
import type { LocalRuntimeId } from "../local/types";
|
|
8
|
+
import { type AgentExecutionPolicy } from "../router/executionPolicy";
|
|
7
9
|
import type { AvailableModel, RoutingDecision, TaskSignals } from "../router/types";
|
|
8
10
|
import { type EventSink } from "../telemetry/eventLog";
|
|
9
11
|
import { type DiagnosticEvent, type MeetingEvent, type QueueEvent, type RouteEvent } from "../telemetry/events";
|
|
@@ -16,6 +18,7 @@ export type RoleTaskInput = {
|
|
|
16
18
|
prompt: string;
|
|
17
19
|
profiles?: ModelCapabilityProfile[];
|
|
18
20
|
availableModels?: AvailableModel[];
|
|
21
|
+
executionPolicy?: AgentExecutionPolicy;
|
|
19
22
|
budgetState?: BudgetState;
|
|
20
23
|
parentSessionID?: string;
|
|
21
24
|
config: OpenTeamConfig;
|
|
@@ -41,6 +44,9 @@ export type CoordinatorDeps = {
|
|
|
41
44
|
now: () => number;
|
|
42
45
|
newDecisionID: () => string;
|
|
43
46
|
timeoutMs?: number;
|
|
47
|
+
abortGraceMs: number;
|
|
48
|
+
statusPollMs: number;
|
|
49
|
+
delay: (ms: number) => Promise<void>;
|
|
44
50
|
/** Optional warn sink; defaults to `console.warn`. Injectable for tests. */
|
|
45
51
|
warn?: (message?: unknown) => void;
|
|
46
52
|
/**
|
|
@@ -111,8 +117,10 @@ export type CoordinatorDeps = {
|
|
|
111
117
|
* I/O port — reading the report file is filesystem access, so it lives at the
|
|
112
118
|
* composition root, not here. Given a resolved report path it returns the
|
|
113
119
|
* file's text, or `undefined` on any error (missing/unreadable). The
|
|
114
|
-
* coordinator
|
|
115
|
-
* (`parseReportStatus`
|
|
120
|
+
* coordinator reads that text only to validate its status and substantive
|
|
121
|
+
* body (`parseReportStatus` and `reportHasSubstance`). It never copies report
|
|
122
|
+
* content into role results, routing telemetry, diagnostics, or the
|
|
123
|
+
* reference-only projection.
|
|
116
124
|
*
|
|
117
125
|
* REQUIRED, not optional. Iteration is governed by the configured bound
|
|
118
126
|
* (`orchestrator.maxRetries`), NOT by whether this port happens to be wired:
|
|
@@ -121,10 +129,19 @@ export type CoordinatorDeps = {
|
|
|
121
129
|
* the port required means dropping the forwarding from the plugin boundary to
|
|
122
130
|
* the coordinator is a COMPILE error, not a silent regression to never-iterate
|
|
123
131
|
* — mirroring the same guarantee `reportArtifactExists` already has. The port
|
|
124
|
-
* is read
|
|
125
|
-
*
|
|
132
|
+
* is read after every pass, including a single-pass node, because the final
|
|
133
|
+
* pass must prove substantive completion before dependencies may advance.
|
|
126
134
|
*/
|
|
127
135
|
readReportArtifact: (reportPath: string) => Promise<string | undefined>;
|
|
136
|
+
reportArtifactExists: (reportPath: string) => Promise<boolean>;
|
|
137
|
+
};
|
|
138
|
+
export type RoleLifecycleContext = {
|
|
139
|
+
readonly recorder: LifecycleRunRecorder;
|
|
140
|
+
readonly rootOperationID: string;
|
|
141
|
+
};
|
|
142
|
+
export type RunRoleTasksOptions = {
|
|
143
|
+
readonly batchID?: string;
|
|
144
|
+
readonly lifecycle?: RoleLifecycleContext;
|
|
128
145
|
};
|
|
129
146
|
export type CorrelatedCostRecord = CostRecord & {
|
|
130
147
|
decisionID: string;
|
|
@@ -134,6 +151,7 @@ export type CorrelatedCostRecord = CostRecord & {
|
|
|
134
151
|
taskID?: string;
|
|
135
152
|
failureReason?: string;
|
|
136
153
|
failureStage?: SubsessionResult["failureStage"];
|
|
154
|
+
normalizedFailure?: BoundedNormalizedSessionFailure;
|
|
137
155
|
};
|
|
138
156
|
export type RoleTaskResult = {
|
|
139
157
|
decision: RoutingDecision;
|
|
@@ -196,10 +214,9 @@ export type BatchReachability = {
|
|
|
196
214
|
readonly set: ReadonlySet<LocalRuntimeId> | undefined;
|
|
197
215
|
};
|
|
198
216
|
/**
|
|
199
|
-
* The task signals the coordinator actually routes with for a role
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
* is its only production caller.
|
|
217
|
+
* The task signals the coordinator actually routes with for a role. Exported
|
|
218
|
+
* so the role requirement adjustment has a single production definition that
|
|
219
|
+
* tests can drive directly; `routingInput` is its only production caller.
|
|
203
220
|
*
|
|
204
221
|
* Pure: no I/O, clock, random, or env.
|
|
205
222
|
*/
|
|
@@ -292,10 +309,10 @@ export declare function buildQueueEvent(observation: QueueWaitObservation, sessi
|
|
|
292
309
|
* coordinator clock) and the resolved `sessionID`.
|
|
293
310
|
*
|
|
294
311
|
* Reference-only by construction: it carries the `roleID` and an integer
|
|
295
|
-
* `passCount` and nothing else
|
|
296
|
-
*
|
|
297
|
-
* same `diagnostic` event class the plugin already records
|
|
298
|
-
* `graph-gate-advisory`), just attributed to the node it concerns.
|
|
312
|
+
* `passCount` and nothing else. Report text is read separately to validate
|
|
313
|
+
* status and substance, but no body content is copied into this telemetry
|
|
314
|
+
* event. It is the same `diagnostic` event class the plugin already records
|
|
315
|
+
* (e.g. `graph-gate-advisory`), just attributed to the node it concerns.
|
|
299
316
|
*/
|
|
300
317
|
export declare function buildNodeBudgetExhaustedEvent(roleID: string, passCount: number, sessionID: string, ts: number): DiagnosticEvent;
|
|
301
318
|
export declare function runRoleTask(input: RoleTaskInput, deps: CoordinatorDeps): Promise<RoleTaskResult>;
|
|
@@ -311,5 +328,5 @@ export type RoleBatchResult = {
|
|
|
311
328
|
* wave 0. Pure and deterministic: same inputs produce the same waves.
|
|
312
329
|
*/
|
|
313
330
|
export declare function topologicalWaves(inputs: readonly RoleTaskInput[]): RoleTaskInput[][];
|
|
314
|
-
export declare function runRoleTasks(inputs: readonly RoleTaskInput[], deps: CoordinatorDeps): Promise<RoleBatchResult>;
|
|
331
|
+
export declare function runRoleTasks(inputs: readonly RoleTaskInput[], deps: CoordinatorDeps, options?: RunRoleTasksOptions): Promise<RoleBatchResult>;
|
|
315
332
|
//# sourceMappingURL=coordinator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContextRef, PrivacyClass } from "../context/schema";
|
|
2
|
-
import {
|
|
2
|
+
import type { PrivacyMode, RouteKind } from "../graph/privacyPolicy";
|
|
3
3
|
import type { ErrorClass, GraphNode } from "../graph/schema";
|
|
4
4
|
/**
|
|
5
5
|
* `GraphEffectExecutor` — port for the only effect that the Graph runtime
|
|
@@ -19,6 +19,8 @@ export type EffectRequest = {
|
|
|
19
19
|
readonly node: GraphNode;
|
|
20
20
|
readonly operationID: string;
|
|
21
21
|
readonly attemptID: string;
|
|
22
|
+
/** Route already selected and domain-checked by the unified router. */
|
|
23
|
+
readonly routeKind?: RouteKind;
|
|
22
24
|
};
|
|
23
25
|
/** Effect receipt: success with a referenced artifact, or classified failure. */
|
|
24
26
|
export type EffectReceipt = {
|
|
@@ -33,9 +35,8 @@ export interface GraphEffectExecutor {
|
|
|
33
35
|
execute(request: EffectRequest): Promise<EffectReceipt>;
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* decision to the effects seam before and after invoking the executor.
|
|
38
|
+
* @deprecated Legacy dispatch metadata. `privacyClass` and `mode` are retained
|
|
39
|
+
* for compatibility but do not authorize or override `routeKind`.
|
|
39
40
|
*/
|
|
40
41
|
export type EffectDispatchContext = {
|
|
41
42
|
readonly privacyClass: PrivacyClass;
|
|
@@ -43,15 +44,13 @@ export type EffectDispatchContext = {
|
|
|
43
44
|
readonly routeKind: RouteKind;
|
|
44
45
|
};
|
|
45
46
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* instead of throwing: a `sensitive` node with `forceLocalOnSensitive` produces
|
|
49
|
-
* **zero** frontier dispatches. Pure and deterministic.
|
|
47
|
+
* Preserves the route selected by the unified router. Legacy privacy metadata
|
|
48
|
+
* is accepted for compatibility but has no routing authority.
|
|
50
49
|
*/
|
|
51
|
-
export declare function resolveDispatchRoute(
|
|
50
|
+
export declare function resolveDispatchRoute(_privacyClass: PrivacyClass, _mode: PrivacyMode, preferred: RouteKind): RouteKind;
|
|
52
51
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* @deprecated Compatibility no-op. The unified router owns execution-domain
|
|
53
|
+
* enforcement; Graph must not reinterpret the selected route from content.
|
|
55
54
|
*/
|
|
56
55
|
export declare function assertDispatchAllowed(ctx: EffectDispatchContext): void;
|
|
57
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphEffects.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphEffects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"graphEffects.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphEffects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;;;;;;;;;;GAWG;AAEH,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpE,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,SAAS,GACnB,SAAS,CAEX;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAEvE"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* into a total (never throws) and reference-only result.
|
|
20
20
|
*/
|
|
21
21
|
import type { ResolvedGraphConfig } from "../config/resolve";
|
|
22
|
+
import type { LifecycleRecordingStatus, LifecycleRunSource, RuntimeLifecycleRecorder } from "../lifecycle/contracts";
|
|
22
23
|
import type { GraphJournal } from "../storage/graph/provider";
|
|
23
24
|
import type { WorkspaceLease } from "../storage/graph/workspaceLease";
|
|
24
25
|
import type { GraphEffectExecutor } from "./graphEffects";
|
|
@@ -80,6 +81,7 @@ export type IngressOutcome = ({
|
|
|
80
81
|
readonly kind: "accepted";
|
|
81
82
|
readonly runID: string;
|
|
82
83
|
readonly step: RuntimeStepOutcome;
|
|
84
|
+
readonly recording?: LifecycleRecordingStatus;
|
|
83
85
|
} | {
|
|
84
86
|
readonly kind: "revision";
|
|
85
87
|
readonly runID: string;
|
|
@@ -94,6 +96,7 @@ export type IngressOutcome = ({
|
|
|
94
96
|
readonly runID: string;
|
|
95
97
|
readonly cancelledNodeIDs: readonly string[];
|
|
96
98
|
readonly abortNodeIDs: readonly string[];
|
|
99
|
+
readonly recording?: LifecycleRecordingStatus;
|
|
97
100
|
} | {
|
|
98
101
|
readonly kind: "error";
|
|
99
102
|
readonly code: IngressErrorCode;
|
|
@@ -120,6 +123,8 @@ export type GraphIngressDeps = {
|
|
|
120
123
|
readonly lease: WorkspaceLease;
|
|
121
124
|
readonly effects: GraphEffectExecutor;
|
|
122
125
|
readonly holder: string;
|
|
126
|
+
readonly lifecycleRecorder?: RuntimeLifecycleRecorder | undefined;
|
|
127
|
+
readonly lifecycleSource?: LifecycleRunSource;
|
|
123
128
|
readonly revisionLimit?: number;
|
|
124
129
|
};
|
|
125
130
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphIngress.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphIngress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"graphIngress.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphIngress.ts"],"names":[],"mappings":"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"}
|