@jmanuelcorral/openteam 0.18.0 → 0.19.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.
Files changed (113) hide show
  1. package/.opencode/openteam.example.json +23 -14
  2. package/AGENTS.md +16 -2
  3. package/README.es.md +291 -208
  4. package/README.md +292 -138
  5. package/dist/capabilities/classify.d.ts.map +1 -1
  6. package/dist/capabilities/normalize.d.ts.map +1 -1
  7. package/dist/certificates/graph-release-certificate.json +2 -2
  8. package/dist/certificates/graph-shadow-certificate.json +2 -2
  9. package/dist/cli.js +1354 -594
  10. package/dist/commands/agents.d.ts +16 -4
  11. package/dist/commands/agents.d.ts.map +1 -1
  12. package/dist/commands/dispatch.d.ts.map +1 -1
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/local.d.ts +4 -5
  15. package/dist/commands/local.d.ts.map +1 -1
  16. package/dist/commands/report.d.ts +6 -6
  17. package/dist/commands/report.d.ts.map +1 -1
  18. package/dist/commands/rolesInit.d.ts +10 -12
  19. package/dist/commands/rolesInit.d.ts.map +1 -1
  20. package/dist/commands/setup.d.ts +5 -13
  21. package/dist/commands/setup.d.ts.map +1 -1
  22. package/dist/commands/yolo.d.ts +2 -4
  23. package/dist/commands/yolo.d.ts.map +1 -1
  24. package/dist/config/errors.d.ts.map +1 -1
  25. package/dist/config/executionPolicyDomains.d.ts +18 -0
  26. package/dist/config/executionPolicyDomains.d.ts.map +1 -0
  27. package/dist/config/migrations.d.ts +9 -2
  28. package/dist/config/migrations.d.ts.map +1 -1
  29. package/dist/config/persist.d.ts.map +1 -1
  30. package/dist/config/runtime.d.ts +2 -0
  31. package/dist/config/runtime.d.ts.map +1 -1
  32. package/dist/config/schema.d.ts +97 -12
  33. package/dist/config/schema.d.ts.map +1 -1
  34. package/dist/console/configView.d.ts +2 -7
  35. package/dist/console/configView.d.ts.map +1 -1
  36. package/dist/console/render.d.ts.map +1 -1
  37. package/dist/console/types.d.ts +2 -2
  38. package/dist/console/types.d.ts.map +1 -1
  39. package/dist/context/schema.d.ts +13 -7
  40. package/dist/context/schema.d.ts.map +1 -1
  41. package/dist/graph/certificate.d.ts.map +1 -1
  42. package/dist/graph/langgraph/adapter.d.ts +7 -8
  43. package/dist/graph/langgraph/adapter.d.ts.map +1 -1
  44. package/dist/graph/langgraph/certification.d.ts +5 -0
  45. package/dist/graph/langgraph/certification.d.ts.map +1 -1
  46. package/dist/graph/langgraph/checkpointReplay.d.ts.map +1 -1
  47. package/dist/graph/langgraph/engine.d.ts +2 -2
  48. package/dist/graph/langgraph/engine.d.ts.map +1 -1
  49. package/dist/graph/langgraph/types.d.ts +11 -6
  50. package/dist/graph/langgraph/types.d.ts.map +1 -1
  51. package/dist/graph/privacyPolicy.d.ts +6 -30
  52. package/dist/graph/privacyPolicy.d.ts.map +1 -1
  53. package/dist/index.d.ts +1 -9
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3164 -1102
  56. package/dist/mcp/teamMemory.d.ts +2 -2
  57. package/dist/mcp/teamMemory.d.ts.map +1 -1
  58. package/dist/messages/commands.d.ts +22 -35
  59. package/dist/messages/commands.d.ts.map +1 -1
  60. package/dist/messages/executionSetup.d.ts +116 -0
  61. package/dist/messages/executionSetup.d.ts.map +1 -0
  62. package/dist/messages/index.d.ts +1 -0
  63. package/dist/messages/index.d.ts.map +1 -1
  64. package/dist/messages/memoryTool.d.ts +17 -0
  65. package/dist/messages/memoryTool.d.ts.map +1 -0
  66. package/dist/messages/orchestration.d.ts +16 -0
  67. package/dist/messages/orchestration.d.ts.map +1 -0
  68. package/dist/messages/routing.d.ts +9 -0
  69. package/dist/messages/routing.d.ts.map +1 -0
  70. package/dist/opencodeArtifacts/orchestratorAgent.d.ts +3 -5
  71. package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -1
  72. package/dist/orchestrator/coordinator.d.ts +28 -9
  73. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  74. package/dist/orchestrator/graphEffects.d.ts +10 -11
  75. package/dist/orchestrator/graphEffects.d.ts.map +1 -1
  76. package/dist/orchestrator/outputContract.d.ts +25 -0
  77. package/dist/orchestrator/outputContract.d.ts.map +1 -1
  78. package/dist/orchestrator/roles.d.ts +25 -2
  79. package/dist/orchestrator/roles.d.ts.map +1 -1
  80. package/dist/orchestrator/runtimeSelection.d.ts.map +1 -1
  81. package/dist/orchestrator/subsessions.d.ts +49 -1
  82. package/dist/orchestrator/subsessions.d.ts.map +1 -1
  83. package/dist/plugin/availability.d.ts +15 -2
  84. package/dist/plugin/availability.d.ts.map +1 -1
  85. package/dist/plugin/diagnostics.d.ts +1 -0
  86. package/dist/plugin/diagnostics.d.ts.map +1 -1
  87. package/dist/plugin/hooks.d.ts +21 -2
  88. package/dist/plugin/hooks.d.ts.map +1 -1
  89. package/dist/plugin/memoryTool.d.ts +3 -3
  90. package/dist/plugin/memoryTool.d.ts.map +1 -1
  91. package/dist/plugin/modelOwnership.d.ts +15 -0
  92. package/dist/plugin/modelOwnership.d.ts.map +1 -0
  93. package/dist/plugin/orchestrateTool.d.ts +68 -3
  94. package/dist/plugin/orchestrateTool.d.ts.map +1 -1
  95. package/dist/router/chooseModel.d.ts.map +1 -1
  96. package/dist/router/cost.d.ts +1 -1
  97. package/dist/router/cost.d.ts.map +1 -1
  98. package/dist/router/executionPolicy.d.ts +44 -0
  99. package/dist/router/executionPolicy.d.ts.map +1 -0
  100. package/dist/router/frontierBaseline.d.ts.map +1 -1
  101. package/dist/router/types.d.ts +10 -4
  102. package/dist/router/types.d.ts.map +1 -1
  103. package/dist/telemetry/aggregate.d.ts +4 -4
  104. package/dist/telemetry/aggregate.d.ts.map +1 -1
  105. package/dist/telemetry/diagnostics.d.ts +1 -1
  106. package/dist/telemetry/diagnostics.d.ts.map +1 -1
  107. package/dist/telemetry/events.d.ts +20 -6
  108. package/dist/telemetry/events.d.ts.map +1 -1
  109. package/dist/telemetry/otel.d.ts.map +1 -1
  110. package/dist/telemetry/types.d.ts +3 -3
  111. package/dist/web/configApi.d.ts +3 -1
  112. package/dist/web/configApi.d.ts.map +1 -1
  113. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { CapabilityRequirement, ComplexityTier } from "../capabilities/types";
3
3
  import type { LocalRuntimeId } from "../local/types";
4
+ import type { AgentExecutionPolicy, ExecutionMode } from "../router/executionPolicy";
4
5
  import type { ModelSelection, TaskSignals } from "../router/types";
5
6
  export type AgentRoleProfile = {
6
7
  roleID: string;
@@ -18,8 +19,8 @@ export type AgentRoleProfile = {
18
19
  * only tilts routing toward local and still falls through to frontier when no
19
20
  * local runtime is reachable (2026-08-26 ruling). `requiresLocalRuntime` refuses
20
21
  * the request before dispatch when no local runtime is reachable — it never
21
- * falls through to a frontier provider. Optional so existing roles keep today's
22
- * behaviour; only bookkeeping/safety roles (scribe, ralph, guardian) set it `true`.
22
+ * falls through to a frontier provider. This legacy operator constraint is
23
+ * optional; no built-in role requires local execution solely because of its name.
23
24
  */
24
25
  requiresLocalRuntime?: boolean;
25
26
  /**
@@ -67,6 +68,9 @@ export type AgentRoleProfile = {
67
68
  * today's behaviour exactly.
68
69
  */
69
70
  localModelClass?: LocalModelClass;
71
+ executionMode?: ExecutionMode;
72
+ model?: ModelSelection | "auto";
73
+ fallbacks?: ModelSelection[];
70
74
  };
71
75
  /**
72
76
  * Class of local model a role draws off a runtime (#210 follow-up).
@@ -100,6 +104,19 @@ export declare const AgentRoleProfileSchema: z.ZodObject<{
100
104
  coder: "coder";
101
105
  thinking: "thinking";
102
106
  }>>;
107
+ executionMode: z.ZodOptional<z.ZodEnum<{
108
+ frontier: "frontier";
109
+ local: "local";
110
+ mixed: "mixed";
111
+ }>>;
112
+ model: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
113
+ providerID: z.ZodString;
114
+ modelID: z.ZodString;
115
+ }, z.core.$strict>, z.ZodLiteral<"auto">]>>;
116
+ fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
+ providerID: z.ZodString;
118
+ modelID: z.ZodString;
119
+ }, z.core.$strict>>>;
103
120
  }, z.core.$strict>;
104
121
  export declare const TEAM_ROLES: Record<string, AgentRoleProfile>;
105
122
  export declare function isKnownNonWorkerRole(roleID: string): boolean;
@@ -135,5 +152,11 @@ export declare function getRoleProfile(roleID: string, configuredRoles?: Readonl
135
152
  * while unknown roles are never silently starved of frontier access.
136
153
  */
137
154
  export declare function synthesiseFallbackProfile(roleID: string): AgentRoleProfile;
155
+ export declare function agentExecutionPolicyForRole(role: AgentRoleProfile): AgentExecutionPolicy | undefined;
156
+ /**
157
+ * Classifies ordinary task complexity while treating the configured role tier
158
+ * as a floor. Permission elevation and execution policy remain caller-owned.
159
+ */
160
+ export declare function classifyRoleTaskTier(role: AgentRoleProfile, task: TaskSignals): ComplexityTier;
138
161
  export declare function roleToRequirement(role: AgentRoleProfile, task: TaskSignals, tier?: ComplexityTier): CapabilityRequirement;
139
162
  //# sourceMappingURL=roles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/orchestrator/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,cAAc,CAAC;IAC5B,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC;AAiBnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;kBAmBxB,CAAC;AAGZ,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAqGvD,CAAC;AAcF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI5D;AA6BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAC3D,gBAAgB,GAAG,SAAS,CAO9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAW1E;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,WAAW,EACjB,IAAI,CAAC,EAAE,cAAc,GACpB,qBAAqB,CAevB"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/orchestrator/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,cAAc,CAAC;IAC5B,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC;AAiBnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmC/B,CAAC;AAGL,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAkGvD,CAAC;AAcF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI5D;AA6BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAC3D,gBAAgB,GAAG,SAAS,CAO9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAW1E;AAQD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,gBAAgB,GACrB,oBAAoB,GAAG,SAAS,CAmClC;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,WAAW,GAChB,cAAc,CAKhB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,WAAW,EACjB,IAAI,CAAC,EAAE,cAAc,GACpB,qBAAqB,CAevB"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeSelection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runtimeSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,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,EAAmB,MAAM,SAAS,CAAC;AAEjE;;;;;;;;;;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;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,cAAc,GACrB,YAAY,GAAG,SAAS,CAE1B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,GACrB,cAAc,GAAG,SAAS,CAI5B;AAsDD;;;;;;;;;;;;;;;;;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,CAgD1B"}
1
+ {"version":3,"file":"runtimeSelection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runtimeSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,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,EAAmB,MAAM,SAAS,CAAC;AAEjE;;;;;;;;;;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;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,cAAc,GACrB,YAAY,GAAG,SAAS,CAE1B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,GACrB,cAAc,GAAG,SAAS,CAI5B;AAsDD;;;;;;;;;;;;;;;;;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,CA0E1B"}
@@ -12,6 +12,10 @@ export type OpencodeSessionPromptArgs = {
12
12
  path: {
13
13
  id: string;
14
14
  };
15
+ query?: {
16
+ directory?: string;
17
+ };
18
+ signal?: AbortSignal;
15
19
  body: {
16
20
  model?: ModelSelection;
17
21
  agent?: string;
@@ -22,6 +26,31 @@ export type OpencodeSessionPromptArgs = {
22
26
  }>;
23
27
  };
24
28
  };
29
+ export type OpencodeSessionAbortArgs = {
30
+ path: {
31
+ id: string;
32
+ };
33
+ query?: {
34
+ directory?: string;
35
+ };
36
+ signal?: AbortSignal;
37
+ };
38
+ export type OpencodeSessionStatusArgs = {
39
+ query?: {
40
+ directory?: string;
41
+ };
42
+ signal?: AbortSignal;
43
+ };
44
+ export type OpencodeSessionStatus = {
45
+ readonly type: "idle";
46
+ } | {
47
+ readonly type: "retry";
48
+ readonly attempt: number;
49
+ readonly message: string;
50
+ readonly next: number;
51
+ } | {
52
+ readonly type: "busy";
53
+ };
25
54
  export type OpencodeSessionClient = {
26
55
  session: {
27
56
  create: (args: OpencodeSessionCreateArgs) => Promise<{
@@ -34,6 +63,14 @@ export type OpencodeSessionClient = {
34
63
  data?: unknown;
35
64
  error?: unknown;
36
65
  }>;
66
+ abort?: (args: OpencodeSessionAbortArgs) => Promise<{
67
+ data?: boolean;
68
+ error?: unknown;
69
+ }>;
70
+ status?: (args?: OpencodeSessionStatusArgs) => Promise<{
71
+ data?: Readonly<Record<string, OpencodeSessionStatus>>;
72
+ error?: unknown;
73
+ }>;
37
74
  };
38
75
  };
39
76
  export type SubsessionRequest = {
@@ -54,9 +91,20 @@ export type SubsessionResult = {
54
91
  response?: unknown;
55
92
  failureReason?: string;
56
93
  failureStage?: "create" | "prompt" | "report";
94
+ /**
95
+ * Whether another pass/model may be dispatched without overlapping an
96
+ * uncertain prior generation. Present only on failures.
97
+ */
98
+ retrySafe?: boolean;
57
99
  };
58
100
  export type SubsessionDeps = {
59
101
  timeoutMs?: number;
102
+ abortGraceMs: number;
103
+ statusPollMs: number;
104
+ now: () => number;
105
+ delay: (ms: number) => Promise<void>;
60
106
  };
61
- export declare function runSubsession(client: OpencodeSessionClient, req: SubsessionRequest, deps?: SubsessionDeps): Promise<SubsessionResult>;
107
+ export declare const DEFAULT_ABORT_GRACE_MS = 2000;
108
+ export declare const DEFAULT_STATUS_POLL_MS = 100;
109
+ export declare function runSubsession(client: OpencodeSessionClient, req: SubsessionRequest, deps: SubsessionDeps): Promise<SubsessionResult>;
62
110
  //# sourceMappingURL=subsessions.d.ts.map
@@ -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,GAAG,QAAQ,CAAC;CAC/C,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
+ {"version":3,"file":"subsessions.d.ts","sourceRoot":"","sources":["../../src/orchestrator/subsessions.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,33 @@
1
+ import type { ModelCapabilityProfile } from "../capabilities/types";
1
2
  import type { OpenTeamConfig } from "../config/schema";
2
3
  import type { LocalRuntimeSnapshot } from "../local/types";
3
- import type { AvailableModel } from "../router/types";
4
+ import type { AvailableModel, ModelSelection } from "../router/types";
4
5
  export type AvailabilityProvider = () => AvailableModel[];
6
+ export type ConfiguredModel = ModelSelection & {
7
+ supportsTools?: boolean;
8
+ contextWindow?: number;
9
+ };
10
+ export type ConfiguredModelInventory = {
11
+ models: ConfiguredModel[];
12
+ profiles: ModelCapabilityProfile[];
13
+ };
5
14
  type ProbeRegistry = {
6
15
  probe(runtimes: OpenTeamConfig["local"]["runtimes"]): Promise<LocalRuntimeSnapshot[]>;
7
16
  };
8
17
  export type AvailabilityCache = {
9
18
  get(): AvailableModel[];
19
+ getProfiles(): ModelCapabilityProfile[];
10
20
  refresh(): Promise<void>;
11
21
  };
12
22
  export type AvailabilityCacheOptions = {
13
23
  config: OpenTeamConfig;
14
24
  registry: ProbeRegistry;
25
+ initialConfiguredModels?: readonly ConfiguredModel[];
26
+ initialConfiguredProfiles?: readonly ModelCapabilityProfile[];
27
+ listConfiguredInventory?: () => Promise<ConfiguredModelInventory>;
15
28
  onRefreshError?: (error: unknown) => void;
16
29
  };
17
- export declare function toAvailableModels(snapshots: LocalRuntimeSnapshot[], config: OpenTeamConfig): AvailableModel[];
30
+ export declare function toAvailableModels(snapshots: LocalRuntimeSnapshot[], config: OpenTeamConfig, configuredModels?: readonly ConfiguredModel[]): AvailableModel[];
18
31
  export declare function createAvailabilityCache(options: AvailabilityCacheOptions): AvailabilityCache;
19
32
  export {};
20
33
  //# sourceMappingURL=availability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../src/plugin/availability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG,MAAM,cAAc,EAAE,CAAC;AAE1D,KAAK,aAAa,GAAG;IACnB,KAAK,CACH,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GAC5C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,IAAI,cAAc,EAAE,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C,CAAC;AAiFF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,oBAAoB,EAAE,EACjC,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CAkClB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAyBnB"}
1
+ {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../src/plugin/availability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAM3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG,MAAM,cAAc,EAAE,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,KAAK,CACH,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GAC5C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,IAAI,cAAc,EAAE,CAAC;IACxB,WAAW,IAAI,sBAAsB,EAAE,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,uBAAuB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrD,yBAAyB,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9D,uBAAuB,CAAC,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C,CAAC;AA8NF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,oBAAoB,EAAE,EACjC,MAAM,EAAE,cAAc,EACtB,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,GAC5C,cAAc,EAAE,CA0DlB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAoDnB"}
@@ -17,6 +17,7 @@ export type PluginDiagnosticChannel = {
17
17
  readonly emit: (diagnostic: DiagnosticInput, options?: DiagnosticSinkOptions) => void;
18
18
  readonly sink: (level: DiagnosticLevel, code: DiagnosticCode, options?: DiagnosticSinkOptions) => (message?: unknown) => void;
19
19
  readonly warn: (code: DiagnosticCode, options?: DiagnosticSinkOptions) => (message?: unknown) => void;
20
+ readonly warnUserMessage: (code: DiagnosticCode, message: string, options?: DiagnosticSinkOptions) => void;
20
21
  readonly info: (code: DiagnosticCode, options?: DiagnosticSinkOptions) => (message?: unknown) => void;
21
22
  };
22
23
  export type PluginDiagnosticChannelDeps = {
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/plugin/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,KAAK,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAChD,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AASF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,CACb,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE,qBAAqB,KAC5B,IAAI,CAAC;IACV,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,CACb,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,CACb,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAiEF,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,2BAA2B,GAChC,uBAAuB,CAgEzB"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/plugin/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,KAAK,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAChD,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AASF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,CACb,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE,qBAAqB,KAC5B,IAAI,CAAC;IACV,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,CACb,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,CACxB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,KAC5B,IAAI,CAAC;IACV,QAAQ,CAAC,IAAI,EAAE,CACb,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAmEF,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,2BAA2B,GAChC,uBAAuB,CA0EzB"}
@@ -1,8 +1,11 @@
1
1
  import type { Hooks } from "@opencode-ai/plugin";
2
+ import type { ModelCapabilityProfile } from "../capabilities/types";
2
3
  import type { OpenTeamConfig } from "../config/schema";
4
+ import { type AgentRoleProfile } from "../orchestrator/roles";
3
5
  import type { TaskSignals } from "../router/types";
4
6
  import { type EventSink } from "../telemetry/eventLog";
5
7
  import type { AvailabilityProvider } from "./availability";
8
+ import type { OrchestratedModelOwnership } from "./modelOwnership";
6
9
  export type ChatMessageHook = NonNullable<Hooks["chat.message"]>;
7
10
  export type ChatMessageHookOptions = {
8
11
  sink?: EventSink;
@@ -10,8 +13,8 @@ export type ChatMessageHookOptions = {
10
13
  /**
11
14
  * M6 memory injection (opt-in). Given the prompt text, returns a context
12
15
  * block to **prepend** to the first text part, or `null` to skip injection.
13
- * It is invoked **after** choosing the model and emitting telemetry, so it
14
- * does not alter router determinism or the prompt hash.
16
+ * It is invoked **after** model ownership/routing resolution, so it does not
17
+ * alter router determinism or the prompt hash.
15
18
  */
16
19
  injectMemory?: (queryText: string) => Promise<string | null>;
17
20
  /**
@@ -20,6 +23,22 @@ export type ChatMessageHookOptions = {
20
23
  * cross-verify the agent's self-reported fields in `report-run`.
21
24
  */
22
25
  onRoute?: (sessionID: string, model: string) => void;
26
+ /**
27
+ * Per-plugin authorization boundary for models already selected by the
28
+ * coordinator before it calls the public SDK. The SDK re-enters
29
+ * `chat.message`; a matching one-shot claim preserves that authorized worker
30
+ * model instead of routing the worker through the primary policy again.
31
+ */
32
+ orchestratedModelOwnership?: OrchestratedModelOwnership;
33
+ /**
34
+ * Resolves a project roster alias to its stable configured or built-in role.
35
+ * Direct configured/built-in agent names are resolved without this callback.
36
+ */
37
+ resolveAgentRole?: (agentName: string) => AgentRoleProfile | undefined | Promise<AgentRoleProfile | undefined>;
38
+ /** Waits for the initial authoritative provider/runtime inventory. */
39
+ beforeRoute?: () => Promise<void>;
40
+ /** Supplies capability and pricing profiles from the same inventory. */
41
+ capabilityProfiles?: () => ModelCapabilityProfile[];
23
42
  };
24
43
  export declare function deriveTaskSignals(input: Parameters<ChatMessageHook>[0], output: Parameters<ChatMessageHook>[1]): TaskSignals;
25
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/plugin/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAEjE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD,CAAC;AA8CF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EACrC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACrC,WAAW,CAqBb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EACtC,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,oBAAoB,EAClC,OAAO,GAAE,sBAA2B,GACnC,eAAe,CA2EjB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,oBAAoB,EAClC,OAAO,GAAE,sBAA2B,GACnC,KAAK,CAIP"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/plugin/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACL,KAAK,gBAAgB,EAMtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAEjE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CACjB,SAAS,EAAE,MAAM,KACd,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC1E,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,sBAAsB,EAAE,CAAC;CACrD,CAAC;AAuEF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EACrC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACrC,WAAW,CAkBb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EACtC,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,oBAAoB,EAClC,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAkHjB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,oBAAoB,EAClC,OAAO,GAAE,sBAA2B,GACnC,KAAK,CAIP"}
@@ -8,7 +8,7 @@ export type MemoryToolDeps = {
8
8
  storage: StorageProvider;
9
9
  /** Injected clock (epoch ms). Keeps this module free of ambient time. */
10
10
  now: () => number;
11
- /** #143 reachability probe; injected I/O port. */
11
+ /** Reachability probe for the local extraction transport. */
12
12
  localRuntimeReachable: () => Promise<boolean>;
13
13
  /** Local runtime HTTP transport; injected I/O port. */
14
14
  fetch: FetchLike;
@@ -29,8 +29,8 @@ export declare const MemoryWritePayloadSchema: z.ZodObject<{
29
29
  /**
30
30
  * Builds the `openteam-memory` tool. All I/O is injected; the tool itself only
31
31
  * orchestrates: gate → local extraction → redaction (inside `extractMemory`) →
32
- * append-only write. It never throws to the host: every failure path returns an
33
- * actionable, English, single-line message and leaves the log untouched.
32
+ * append-only write. Expected validation, availability, and extraction failures
33
+ * return an actionable message without modifying the log.
34
34
  */
35
35
  export declare function createMemoryTool(deps: MemoryToolDeps): ToolDefinition;
36
36
  //# sourceMappingURL=memoryTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryTool.d.ts","sourceRoot":"","sources":["../../src/plugin/memoryTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0B3D,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,yEAAyE;IACzE,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,kDAAkD;IAClD,qBAAqB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,uDAAuD;IACvD,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAUF,sDAAsD;AACtD,eAAO,MAAM,wBAAwB;;;;;;;;;;kBAY1B,CAAC;AAEZ;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAuHrE"}
1
+ {"version":3,"file":"memoryTool.d.ts","sourceRoot":"","sources":["../../src/plugin/memoryTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0B3D,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,yEAAyE;IACzE,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,6DAA6D;IAC7D,qBAAqB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,uDAAuD;IACvD,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAeF,sDAAsD;AACtD,eAAO,MAAM,wBAAwB;;;;;;;;;;kBAY1B,CAAC;AAEZ;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CA4GrE"}
@@ -0,0 +1,15 @@
1
+ import type { ModelSelection } from "../router/types";
2
+ export type OrchestratedModelAuthorization = {
3
+ readonly sessionID: string;
4
+ readonly agent?: string | undefined;
5
+ readonly model: ModelSelection;
6
+ };
7
+ export type OrchestratedModelLease = {
8
+ release(): void;
9
+ };
10
+ export type OrchestratedModelOwnership = {
11
+ authorize(authorization: OrchestratedModelAuthorization): OrchestratedModelLease;
12
+ claim(authorization: OrchestratedModelAuthorization): ModelSelection | undefined;
13
+ };
14
+ export declare function createOrchestratedModelOwnership(): OrchestratedModelOwnership;
15
+ //# sourceMappingURL=modelOwnership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelOwnership.d.ts","sourceRoot":"","sources":["../../src/plugin/modelOwnership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CACP,aAAa,EAAE,8BAA8B,GAC5C,sBAAsB,CAAC;IAC1B,KAAK,CACH,aAAa,EAAE,8BAA8B,GAC5C,cAAc,GAAG,SAAS,CAAC;CAC/B,CAAC;AAUF,wBAAgB,gCAAgC,IAAI,0BAA0B,CA+C7E"}
@@ -1,14 +1,18 @@
1
1
  import { type ToolDefinition } from "@opencode-ai/plugin";
2
2
  import { z } from "zod";
3
+ import type { ModelCapabilityProfile } from "../capabilities/types";
3
4
  import type { GraphMode, OpenTeamConfig } from "../config/schema";
4
5
  import type { GraphEventV1, GraphSpecV1 } from "../graph/schema";
5
6
  import type { RuntimeConcurrencyLimiter } from "../local/concurrency";
6
7
  import type { LocalRuntimeId } from "../local/types";
7
8
  import { type CoordinatorDeps, type RoleTaskResult } from "../orchestrator/coordinator";
8
9
  import { type ReportArtifactProbe } from "../orchestrator/reportDurability";
9
- import type { OpencodeSessionClient } from "../orchestrator/subsessions";
10
+ import type { RosterEntry } from "../orchestrator/roster";
11
+ import type { OpencodeSessionClient, OpencodeSessionStatus } from "../orchestrator/subsessions";
12
+ import type { AvailableModel } from "../router/types";
10
13
  import type { GraphJournal } from "../storage/graph/provider";
11
14
  import type { EventSink } from "../telemetry/eventLog";
15
+ import type { OrchestratedModelOwnership } from "./modelOwnership";
12
16
  import type { ShadowObserver, ShadowPipelineResult } from "./shadowPipeline";
13
17
  /**
14
18
  * Schema for the `openteam-orchestrate` tool boundary.
@@ -99,6 +103,7 @@ export type SdkClientPort = {
99
103
  path: {
100
104
  id: string;
101
105
  };
106
+ signal?: AbortSignal;
102
107
  body: {
103
108
  model?: {
104
109
  providerID: string;
@@ -115,6 +120,34 @@ export type SdkClientPort = {
115
120
  data: unknown;
116
121
  error: unknown;
117
122
  }>;
123
+ abort(args: {
124
+ path: {
125
+ id: string;
126
+ };
127
+ }): Promise<{
128
+ data: boolean | undefined;
129
+ error: unknown;
130
+ }>;
131
+ status(args?: {
132
+ query?: {
133
+ directory?: string;
134
+ };
135
+ }): Promise<{
136
+ data: Readonly<Record<string, OpencodeSessionStatus>> | undefined;
137
+ error: unknown;
138
+ }>;
139
+ };
140
+ app: {
141
+ agents(args?: {
142
+ query?: {
143
+ directory?: string;
144
+ };
145
+ }): Promise<{
146
+ data: readonly {
147
+ readonly name: string;
148
+ }[] | undefined;
149
+ error: unknown;
150
+ }>;
118
151
  };
119
152
  };
120
153
  /**
@@ -127,7 +160,8 @@ export type SdkClientPort = {
127
160
  * type would compile but add an unused abstraction layer. This adapter
128
161
  * bridges the SDK client directly to the type the coordinator consumes.
129
162
  */
130
- export declare function adaptSdkClient(sdk: SdkClientPort): OpencodeSessionClient;
163
+ export declare function adaptSdkClient(sdk: SdkClientPort, orchestratedModelOwnership?: OrchestratedModelOwnership): OpencodeSessionClient;
164
+ export declare function sdkAgentNames(sdk: SdkClientPort, directory?: string): Promise<ReadonlySet<string>>;
131
165
  /**
132
166
  * Projects `RoleTaskResult[]` into a reference-only `OrchestrateResult`.
133
167
  *
@@ -145,6 +179,10 @@ export type OrchestrateDeps = {
145
179
  readonly config: OpenTeamConfig;
146
180
  readonly now: () => number;
147
181
  readonly newDecisionID: () => string;
182
+ readonly timeoutMs?: number;
183
+ readonly abortGraceMs: number;
184
+ readonly statusPollMs: number;
185
+ readonly delay: (ms: number) => Promise<void>;
148
186
  /** TUI-safe warning sink; plugin tools must never fall back to console.warn. */
149
187
  readonly warn: NonNullable<CoordinatorDeps["warn"]>;
150
188
  /** Graph mode resolved from config. `off` disables shadow journaling. */
@@ -203,7 +241,16 @@ export type OrchestrateDeps = {
203
241
  * fail-safe: on a missing or unparseable roster it returns an empty set, and it
204
242
  * must never throw.
205
243
  */
206
- readonly rosterRoleIDs: () => Promise<ReadonlySet<string>>;
244
+ readonly rosterEntries: () => Promise<readonly RosterEntry[]>;
245
+ readonly availableAgentNames: (directory?: string) => Promise<ReadonlySet<string>>;
246
+ readonly availableModels: () => readonly AvailableModel[];
247
+ readonly capabilityProfiles: () => readonly ModelCapabilityProfile[];
248
+ /**
249
+ * Initial authoritative provider/runtime inventory barrier. Required so the
250
+ * first tool dispatch cannot route against startup placeholders while plugin
251
+ * initialization itself remains free of the host's provider-list cycle.
252
+ */
253
+ readonly ensureAvailability: () => Promise<void>;
207
254
  /**
208
255
  * Durability probe (#report-durability). A REQUIRED injected I/O port that
209
256
  * answers, in code, whether a role's promised report artifact was actually
@@ -296,6 +343,24 @@ export declare function assignableRoleIDs(config: OpenTeamConfig): string[];
296
343
  * Builds the tool description. Dynamic because the roster is config-driven.
297
344
  */
298
345
  export declare function orchestrateToolDescription(config: OpenTeamConfig): string;
346
+ /**
347
+ * Post-call advisory for a fan-out that never happened. The tool DESCRIPTION
348
+ * already warns — before the call — that a lone assignment "has delegated
349
+ * nothing and is almost always a mistake". That text is only read up front;
350
+ * nothing tells the model AFTER it makes the call. Measured on a live box, the
351
+ * coordinator repeatedly dispatched a single `tester` assignment while a healthy
352
+ * six-role roster was assignable, so the pre-call warning alone is not enough.
353
+ *
354
+ * This returns the correction to append to the tool RESULT — visible to the
355
+ * model on its next turn and to the user — when the call carried exactly one
356
+ * assignment while more than one role is assignable. It is DELIBERATELY
357
+ * non-blocking: some tasks genuinely belong to a single role, so the call is
358
+ * never rejected; this only nudges. It stays silent when only one role is
359
+ * assignable (no fan-out is even possible — that would be pure noise).
360
+ *
361
+ * Pure: it derives the message from two counts, with no I/O, clock, or env.
362
+ */
363
+ export declare function singleAssignmentAdvisory(assignmentCount: number, assignableCount: number): string | undefined;
299
364
  /**
300
365
  * Returns the assignment roleIDs that are genuinely invented: they resolve NO
301
366
  * curated or configured routing profile AND are not registered in the project
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateTool.d.ts","sourceRoot":"","sources":["../../src/plugin/orchestrateTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrateTool.d.ts","sourceRoot":"","sources":["../../src/plugin/orchestrateTool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chooseModel.d.ts","sourceRoot":"","sources":["../../src/router/chooseModel.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAIV,eAAe,EACf,YAAY,EACb,MAAM,SAAS,CAAC;AA+NjB,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CA+PhE"}
1
+ {"version":3,"file":"chooseModel.d.ts","sourceRoot":"","sources":["../../src/router/chooseModel.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAIV,eAAe,EACf,YAAY,EACb,MAAM,SAAS,CAAC;AA4zBjB,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAkLhE"}
@@ -1,4 +1,4 @@
1
1
  import type { ModelSelection, RoutingInput } from "./types";
2
- export declare function estimatedCostUSD(input: RoutingInput, model: ModelSelection): number;
2
+ export declare function estimatedCostUSD(input: RoutingInput, model: ModelSelection): number | null;
3
3
  export declare function roundUSD(value: number): number;
4
4
  //# sourceMappingURL=cost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/router/cost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAW5D,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,cAAc,GACpB,MAAM,CAcR;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C"}
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/router/cost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAW5D,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,cAAc,GACpB,MAAM,GAAG,IAAI,CAcf;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -0,0 +1,44 @@
1
+ import type { ModelSelection } from "./types";
2
+ export type ExecutionMode = "local" | "frontier" | "mixed";
3
+ export type AgentExecutionPolicy = {
4
+ executionMode?: ExecutionMode | undefined;
5
+ model?: ModelSelection | "auto" | undefined;
6
+ fallbacks?: ModelSelection[] | undefined;
7
+ };
8
+ export type ResolvedAgentExecutionPolicy = {
9
+ executionMode: ExecutionMode;
10
+ model: ModelSelection | "auto";
11
+ fallbacks?: ModelSelection[] | undefined;
12
+ };
13
+ export type ResolveExecutionModeInput = {
14
+ agentMode?: ExecutionMode | undefined;
15
+ routerMode?: ExecutionMode | undefined;
16
+ legacyLocalOnly?: boolean | undefined;
17
+ legacyFrontierOnly?: boolean | undefined;
18
+ };
19
+ export type ExecutionPolicyErrorCode = "legacy-modes-conflict" | "router-mode-conflict" | "agent-mode-broadens-global";
20
+ export declare class ExecutionPolicyError extends Error {
21
+ readonly code: ExecutionPolicyErrorCode;
22
+ constructor(code: ExecutionPolicyErrorCode, message: string);
23
+ }
24
+ export declare const DEFAULT_MAX_MODELS_PER_NODE = 2;
25
+ export type ExecutionModeResolution = {
26
+ readonly ok: true;
27
+ readonly mode: ExecutionMode;
28
+ } | {
29
+ readonly ok: false;
30
+ readonly error: ExecutionPolicyError;
31
+ };
32
+ export type AgentExecutionPolicyResolution = {
33
+ readonly ok: true;
34
+ readonly policy: ResolvedAgentExecutionPolicy;
35
+ } | {
36
+ readonly ok: false;
37
+ readonly error: ExecutionPolicyError;
38
+ };
39
+ export declare function effectiveMaxModelsPerNode(configured?: number): number;
40
+ export declare function resolveExecutionModeResult(input: ResolveExecutionModeInput): ExecutionModeResolution;
41
+ export declare function resolveExecutionMode(input: ResolveExecutionModeInput): ExecutionMode;
42
+ export declare function resolveAgentExecutionPolicyResult(routerMode: ExecutionMode | undefined, override?: AgentExecutionPolicy): AgentExecutionPolicyResolution;
43
+ export declare function resolveAgentExecutionPolicy(routerMode: ExecutionMode | undefined, override?: AgentExecutionPolicy): ResolvedAgentExecutionPolicy;
44
+ //# sourceMappingURL=executionPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionPolicy.d.ts","sourceRoot":"","sources":["../../src/router/executionPolicy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,uBAAuB,GACvB,sBAAsB,GACtB,4BAA4B,CAAC;AAEjC,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IAExC,YAAY,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAI1D;CACF;AAED,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,8BAA8B,GACtC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEjE,wBAAgB,yBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAErE;AAeD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,yBAAyB,GAC/B,uBAAuB,CA6CzB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,aAAa,CAMf;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,aAAa,GAAG,SAAS,EACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,8BAA8B,CAmBhC;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,aAAa,GAAG,SAAS,EACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,4BAA4B,CAM9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontierBaseline.d.ts","sourceRoot":"","sources":["../../src/router/frontierBaseline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,cAAc,GACnB,kBAAkB,CA4BpB"}
1
+ {"version":3,"file":"frontierBaseline.d.ts","sourceRoot":"","sources":["../../src/router/frontierBaseline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,cAAc,GACnB,kBAAkB,CA2BpB"}
@@ -1,6 +1,7 @@
1
1
  import type { BudgetDecision, BudgetState } from "../capabilities/budget";
2
- import type { ComplexityTier, ModelCapabilityProfile } from "../capabilities/types";
2
+ import type { CapabilityRequirement, ComplexityTier, ModelCapabilityProfile } from "../capabilities/types";
3
3
  import type { OpenTeamConfig } from "../config/schema";
4
+ import type { AgentExecutionPolicy } from "./executionPolicy";
4
5
  export type ProviderKind = "local" | "frontier" | "router" | "blocked";
5
6
  export type ModelSelection = {
6
7
  providerID: string;
@@ -33,7 +34,9 @@ export type RoutingInput = {
33
34
  availableModels?: AvailableModel[];
34
35
  profiles?: ModelCapabilityProfile[];
35
36
  tier?: ComplexityTier;
37
+ capabilityRequirement?: CapabilityRequirement;
36
38
  budgetState?: BudgetState;
39
+ executionPolicy?: AgentExecutionPolicy;
37
40
  };
38
41
  export type RoutingDecision = {
39
42
  selected: ModelSelection;
@@ -41,9 +44,12 @@ export type RoutingDecision = {
41
44
  routeKind: ProviderKind;
42
45
  rationale: string[];
43
46
  fallbackChain: ModelSelection[];
44
- estimatedCostUSD: number;
45
- baselineCostUSD: number;
46
- estimatedSavingsUSD: number;
47
+ /** `null` when no capability/cost profile exists for the selected model. */
48
+ estimatedCostUSD: number | null;
49
+ /** `null` when the resolved all-frontier baseline has no cost profile. */
50
+ baselineCostUSD: number | null;
51
+ /** `null` unless both selected and baseline costs are known. */
52
+ estimatedSavingsUSD: number | null;
47
53
  budgetAction: BudgetDecision;
48
54
  /**
49
55
  * Present when `routeKind === "blocked"`. The request must not be forwarded
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,aAAa,GACb,gBAAgB,GAChB,cAAc,CAAC;AAEnB,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,cAAc,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,aAAa,GACb,gBAAgB,GAChB,cAAc,CAAC;AAEnB,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gEAAgE;IAChE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,cAAc,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}