@stigmer/runner 3.6.0 → 3.8.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 (100) hide show
  1. package/dist/.build-fingerprint +1 -1
  2. package/dist/activities/call-agent.js +85 -10
  3. package/dist/activities/call-agent.js.map +1 -1
  4. package/dist/activities/execute-cursor/index.d.ts +12 -0
  5. package/dist/activities/execute-cursor/index.js +80 -10
  6. package/dist/activities/execute-cursor/index.js.map +1 -1
  7. package/dist/activities/execute-cursor/model-pricing.d.ts +9 -0
  8. package/dist/activities/execute-cursor/model-pricing.js +19 -0
  9. package/dist/activities/execute-cursor/model-pricing.js.map +1 -1
  10. package/dist/activities/execute-cursor/prompt-builder.d.ts +11 -0
  11. package/dist/activities/execute-cursor/prompt-builder.js +11 -0
  12. package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
  13. package/dist/activities/execute-cursor/service-tier.d.ts +68 -0
  14. package/dist/activities/execute-cursor/service-tier.js +187 -0
  15. package/dist/activities/execute-cursor/service-tier.js.map +1 -0
  16. package/dist/activities/execute-cursor/session-lifecycle.d.ts +16 -1
  17. package/dist/activities/execute-cursor/session-lifecycle.js +12 -4
  18. package/dist/activities/execute-cursor/session-lifecycle.js.map +1 -1
  19. package/dist/activities/execute-cursor/usage-accumulator.d.ts +21 -1
  20. package/dist/activities/execute-cursor/usage-accumulator.js +23 -3
  21. package/dist/activities/execute-cursor/usage-accumulator.js.map +1 -1
  22. package/dist/activities/execute-deep-agent/mcp-gate.d.ts +28 -0
  23. package/dist/activities/execute-deep-agent/mcp-gate.js +22 -0
  24. package/dist/activities/execute-deep-agent/mcp-gate.js.map +1 -0
  25. package/dist/activities/execute-deep-agent/prompt-builder.d.ts +11 -0
  26. package/dist/activities/execute-deep-agent/prompt-builder.js +16 -0
  27. package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
  28. package/dist/activities/execute-deep-agent/setup.js +30 -4
  29. package/dist/activities/execute-deep-agent/setup.js.map +1 -1
  30. package/dist/client/stigmer-client.d.ts +6 -1
  31. package/dist/client/stigmer-client.js +5 -2
  32. package/dist/client/stigmer-client.js.map +1 -1
  33. package/dist/main.js +18 -0
  34. package/dist/main.js.map +1 -1
  35. package/dist/runner.js +48 -0
  36. package/dist/runner.js.map +1 -1
  37. package/dist/sandbox-token-renewal.d.ts +65 -0
  38. package/dist/sandbox-token-renewal.js +169 -0
  39. package/dist/sandbox-token-renewal.js.map +1 -0
  40. package/dist/shared/artifact-storage.d.ts +17 -3
  41. package/dist/shared/artifact-storage.js +22 -4
  42. package/dist/shared/artifact-storage.js.map +1 -1
  43. package/dist/shared/channel-attachment.d.ts +3 -1
  44. package/dist/shared/channel-attachment.js +3 -1
  45. package/dist/shared/channel-attachment.js.map +1 -1
  46. package/dist/shared/conversation-attachment.d.ts +81 -0
  47. package/dist/shared/conversation-attachment.js +102 -0
  48. package/dist/shared/conversation-attachment.js.map +1 -0
  49. package/dist/shared/conversation-catchup.d.ts +33 -0
  50. package/dist/shared/conversation-catchup.js +53 -0
  51. package/dist/shared/conversation-catchup.js.map +1 -0
  52. package/dist/workflow-engine/loader.js +99 -2
  53. package/dist/workflow-engine/loader.js.map +1 -1
  54. package/dist/workflow-engine/tasks/call-agent.d.ts +0 -2
  55. package/dist/workflow-engine/tasks/call-agent.js +0 -2
  56. package/dist/workflow-engine/tasks/call-agent.js.map +1 -1
  57. package/dist/workflow-engine/types.d.ts +39 -7
  58. package/dist/workflow-engine/types.js.map +1 -1
  59. package/dist/workflows/call-agent-orchestrator.d.ts +3 -2
  60. package/dist/workflows/call-agent-orchestrator.js +8 -2
  61. package/dist/workflows/call-agent-orchestrator.js.map +1 -1
  62. package/package.json +2 -2
  63. package/src/__tests__/sandbox-token-renewal.test.ts +174 -0
  64. package/src/activities/__tests__/call-agent-contracts.test.ts +4 -4
  65. package/src/activities/__tests__/call-agent.test.ts +219 -4
  66. package/src/activities/call-agent.ts +94 -10
  67. package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +79 -0
  68. package/src/activities/execute-cursor/__tests__/model-pricing.test.ts +20 -0
  69. package/src/activities/execute-cursor/__tests__/service-tier.test.ts +170 -0
  70. package/src/activities/execute-cursor/__tests__/usage-accumulator.test.ts +87 -1
  71. package/src/activities/execute-cursor/index.ts +111 -11
  72. package/src/activities/execute-cursor/model-pricing.ts +23 -0
  73. package/src/activities/execute-cursor/prompt-builder.ts +23 -0
  74. package/src/activities/execute-cursor/service-tier.ts +244 -0
  75. package/src/activities/execute-cursor/session-lifecycle.ts +33 -5
  76. package/src/activities/execute-cursor/usage-accumulator.ts +35 -3
  77. package/src/activities/execute-deep-agent/__tests__/mcp-gate.test.ts +42 -0
  78. package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +39 -1
  79. package/src/activities/execute-deep-agent/mcp-gate.ts +37 -0
  80. package/src/activities/execute-deep-agent/prompt-builder.ts +22 -2
  81. package/src/activities/execute-deep-agent/setup.ts +40 -4
  82. package/src/client/stigmer-client.ts +11 -4
  83. package/src/main.ts +20 -0
  84. package/src/runner.ts +62 -0
  85. package/src/sandbox-token-renewal.ts +212 -0
  86. package/src/shared/__tests__/channel-attachment.test.ts +3 -3
  87. package/src/shared/__tests__/conversation-attachment.test.ts +138 -0
  88. package/src/shared/__tests__/conversation-catchup.test.ts +70 -0
  89. package/src/shared/__tests__/synthesized-attachment.test.ts +120 -0
  90. package/src/shared/artifact-storage.ts +32 -7
  91. package/src/shared/channel-attachment.ts +3 -1
  92. package/src/shared/conversation-attachment.ts +115 -0
  93. package/src/shared/conversation-catchup.ts +60 -0
  94. package/src/workflow-engine/__tests__/golden-execution.test.ts +8 -8
  95. package/src/workflow-engine/__tests__/loader.test.ts +192 -7
  96. package/src/workflow-engine/__tests__/tasks/call-agent.test.ts +9 -9
  97. package/src/workflow-engine/loader.ts +113 -2
  98. package/src/workflow-engine/tasks/call-agent.ts +0 -2
  99. package/src/workflow-engine/types.ts +40 -7
  100. package/src/workflows/call-agent-orchestrator.ts +8 -2
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Service-tier → Cursor variant-parameter translation (stigmer/stigmer#357).
3
+ *
4
+ * The platform contract: an execution's model selection is ALWAYS explicit.
5
+ * A bare `{ id }` lets the Cursor catalog's default variant decide the price
6
+ * (observed 2026-08-06: composer-2.5 defaults to fast=true at ~4x base
7
+ * rates, claude-haiku-4-5 to thinking=true), and that default follows an
8
+ * out-of-band account setting. This module pins every price-bearing variant
9
+ * parameter the model declares, so the billed variant is a deterministic
10
+ * function of ExecutionConfig.service_tier:
11
+ *
12
+ * - STANDARD: every price-bearing boolean pinned to its base value
13
+ * (fast=false, thinking=false where the parameter exists).
14
+ * - FAST: fast=true, thinking still pinned false.
15
+ * - Price-neutral parameters (e.g. effort) are deliberately NOT pinned —
16
+ * they follow the catalog default and do not change the bill.
17
+ *
18
+ * Parameter bundles come from Cursor.models.list() (worker-cached): the
19
+ * catalog is the only source of a model's parameter ids, and the fetch
20
+ * rides the same proxy fetch-interceptor as every other SDK call, so it
21
+ * works identically in proxy and direct modes.
22
+ *
23
+ * UNSPECIFIED resolves to STANDARD here and ONLY here — every upstream
24
+ * layer preserves the caller's raw enum so "user chose standard" stays
25
+ * distinguishable from "platform default" all the way to the ledger.
26
+ */
27
+ import { Cursor } from "@cursor/sdk";
28
+ import { ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
29
+ /**
30
+ * Catalog ids that mean "Cursor picks the model" (Auto). Auto's single
31
+ * catalog variant has an empty parameter set — there is no tier dimension
32
+ * to pin, a documented v1 limitation. Create-time validation refuses FAST
33
+ * without a pinned model, so FAST can only reach Auto through registry
34
+ * drift — handled as a loud failure below.
35
+ */
36
+ const AUTO_MODEL_IDS = new Set(["default", "auto"]);
37
+ /**
38
+ * Variant parameter ids that change the per-token price. Pinning exactly
39
+ * these keeps the bill deterministic while leaving latency/effort knobs on
40
+ * their catalog defaults. Sourced from the Cursor catalog survey
41
+ * (stigmer-cloud _projects/2026-08/20260806.04.model-service-tier).
42
+ */
43
+ const FAST_PARAM_ID = "fast";
44
+ const THINKING_PARAM_ID = "thinking";
45
+ const CATALOG_CACHE_TTL_MS = 3_600_000; // 1 hour, matching the pricing table TTL
46
+ let catalogCache = null;
47
+ // Keyed by apiKey: a worker normally serves one org's key, but nothing
48
+ // enforces that — handing execution A a catalog fetched under execution B's
49
+ // key would leak another account's model availability into A's translation.
50
+ let inflightCatalogFetch = null;
51
+ /** Test-only: drop the worker-level catalog cache. */
52
+ export function resetCatalogCacheForTests() {
53
+ catalogCache = null;
54
+ inflightCatalogFetch = null;
55
+ }
56
+ /**
57
+ * Resolve the configured tier to its effective value. The single place in
58
+ * the platform where UNSPECIFIED becomes STANDARD.
59
+ */
60
+ export function resolveEffectiveServiceTier(configured) {
61
+ return configured === ServiceTier.FAST ? ServiceTier.FAST : ServiceTier.STANDARD;
62
+ }
63
+ /** Human-readable tier label for logs and error messages. */
64
+ export function serviceTierLabel(tier) {
65
+ switch (tier) {
66
+ case ServiceTier.FAST:
67
+ return "fast";
68
+ case ServiceTier.STANDARD:
69
+ return "standard";
70
+ default:
71
+ return "unspecified";
72
+ }
73
+ }
74
+ async function listCatalogModels(apiKey) {
75
+ const now = Date.now();
76
+ if (catalogCache && catalogCache.apiKey === apiKey && catalogCache.expiresAt > now) {
77
+ return catalogCache.models;
78
+ }
79
+ if (inflightCatalogFetch?.apiKey === apiKey)
80
+ return inflightCatalogFetch.promise;
81
+ let entry = null;
82
+ const promise = (async () => {
83
+ try {
84
+ const models = await Cursor.models.list({ apiKey });
85
+ catalogCache = { apiKey, models, expiresAt: Date.now() + CATALOG_CACHE_TTL_MS };
86
+ return models;
87
+ }
88
+ finally {
89
+ // Clear only our own entry — a concurrent fetch under another key may
90
+ // have replaced it.
91
+ if (inflightCatalogFetch === entry) {
92
+ inflightCatalogFetch = null;
93
+ }
94
+ }
95
+ })();
96
+ entry = { apiKey, promise };
97
+ inflightCatalogFetch = entry;
98
+ return promise;
99
+ }
100
+ function findCatalogModel(models, modelId) {
101
+ return models.find((m) => m.id === modelId || m.aliases?.includes(modelId));
102
+ }
103
+ /**
104
+ * Translate the effective tier into the explicit variant parameters to send
105
+ * with every Agent.create/resume for this execution.
106
+ *
107
+ * Fail-closed posture: FAST with no pinnable fast dimension is an error,
108
+ * never a silent downgrade — create-time validation makes this unreachable
109
+ * unless the registry and the provider catalog have drifted, and that drift
110
+ * must be heard about, not absorbed.
111
+ *
112
+ * STANDARD degrades to empty params on catalog failures rather than failing
113
+ * the execution — but be clear about what that costs: an unpinned selection
114
+ * falls to the catalog default variant, which for several models IS the
115
+ * fast/thinking variant at multiples of base rates (the incident this module
116
+ * exists to prevent). Failing every standard execution whenever the catalog
117
+ * endpoint blips would be the worse trade; the WARN below plus billing's
118
+ * requested-vs-billed mismatch alarm (which catches exactly this window)
119
+ * are the compensating controls.
120
+ */
121
+ export async function resolveServiceTierParams(options) {
122
+ const { apiKey, modelId, tier, executionId } = options;
123
+ const tierName = serviceTierLabel(tier);
124
+ if (AUTO_MODEL_IDS.has(modelId)) {
125
+ if (tier === ServiceTier.FAST) {
126
+ throw new Error(`service_tier=fast requires a pinned model — Auto ("${modelId}") has no ` +
127
+ `tier dimension. Execution ${executionId} should have been refused at ` +
128
+ `create time; the model registry and provider catalog may have drifted.`);
129
+ }
130
+ console.log(`ServiceTier: execution=${executionId} model=${modelId} tier=${tierName} — ` +
131
+ `Auto has no variant parameters; Cursor picks the model and variant ` +
132
+ `(documented v1 limitation).`);
133
+ return [];
134
+ }
135
+ let models;
136
+ try {
137
+ models = await listCatalogModels(apiKey);
138
+ }
139
+ catch (err) {
140
+ if (tier === ServiceTier.FAST) {
141
+ throw new Error(`service_tier=fast for execution ${executionId} needs the Cursor model ` +
142
+ `catalog to resolve variant params for "${modelId}", and the catalog ` +
143
+ `fetch failed: ${err instanceof Error ? err.message : String(err)}`);
144
+ }
145
+ console.warn(`ServiceTier UNPINNED: execution=${executionId} model=${modelId} tier=${tierName} — ` +
146
+ `catalog fetch failed (${err instanceof Error ? err.message : err}); ` +
147
+ `sending no variant params, so the catalog DEFAULT variant decides the ` +
148
+ `price for this execution (fast/thinking on several models — the ` +
149
+ `expensive direction). Billing's requested-vs-billed mismatch alarm ` +
150
+ `covers this window.`);
151
+ return [];
152
+ }
153
+ const model = findCatalogModel(models, modelId);
154
+ if (!model) {
155
+ if (tier === ServiceTier.FAST) {
156
+ throw new Error(`service_tier=fast requested for "${modelId}" (execution ${executionId}) ` +
157
+ `but the Cursor catalog does not list that model — cannot pin a fast ` +
158
+ `variant. The model registry and provider catalog have drifted.`);
159
+ }
160
+ console.warn(`ServiceTier UNPINNED: execution=${executionId} model=${modelId} tier=${tierName} — ` +
161
+ `model not in the Cursor catalog; sending no variant params, so the ` +
162
+ `catalog DEFAULT variant decides the price for this execution.`);
163
+ return [];
164
+ }
165
+ const params = [];
166
+ for (const def of model.parameters ?? []) {
167
+ if (def.id === FAST_PARAM_ID) {
168
+ params.push({ id: FAST_PARAM_ID, value: tier === ServiceTier.FAST ? "true" : "false" });
169
+ }
170
+ else if (def.id === THINKING_PARAM_ID) {
171
+ params.push({ id: THINKING_PARAM_ID, value: "false" });
172
+ }
173
+ // Any other parameter (e.g. effort) is price-neutral: left to the
174
+ // catalog default variant on purpose.
175
+ }
176
+ if (tier === ServiceTier.FAST && !params.some((p) => p.id === FAST_PARAM_ID)) {
177
+ throw new Error(`service_tier=fast requested for "${modelId}" (execution ${executionId}) ` +
178
+ `but the Cursor catalog declares no "fast" parameter for it. The model ` +
179
+ `registry prices a fast variant the provider no longer offers — refusing ` +
180
+ `rather than silently billing an unknown variant.`);
181
+ }
182
+ params.sort((a, b) => a.id.localeCompare(b.id));
183
+ console.log(`ServiceTier: execution=${executionId} model=${modelId} tier=${tierName} ` +
184
+ `params=${JSON.stringify(params)}`);
185
+ return params;
186
+ }
187
+ //# sourceMappingURL=service-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-tier.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/service-tier.ts"],"names":[],"mappings":"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"}
@@ -35,11 +35,20 @@
35
35
  * the user message plus re-injected instructions — there is no separate
36
36
  * continuation store.
37
37
  */
38
- import type { SDKAgent, CursorAgentPlatformOptions, AgentDefinition } from "@cursor/sdk";
38
+ import type { SDKAgent, CursorAgentPlatformOptions, AgentDefinition, ModelParameterValue } from "@cursor/sdk";
39
39
  import type { CursorMcpServerConfig } from "./mcp-resolver.js";
40
40
  export interface CreateAgentOptions {
41
41
  apiKey: string;
42
42
  model: string;
43
+ /**
44
+ * Explicit variant parameters sent with the model selection on every
45
+ * create AND resume (stigmer/stigmer#357). A bare `{ id }` lets the
46
+ * Cursor catalog's default variant pick the price, so the caller always
47
+ * supplies the pinned params from resolveServiceTierParams — possibly
48
+ * empty (Auto, or a model with no price-bearing parameters), but never
49
+ * absent by accident.
50
+ */
51
+ modelParams?: ModelParameterValue[];
43
52
  workspaceDirs: string[];
44
53
  sessionId: string;
45
54
  /** Durable workspace volume root; the SDK state store lives under it. */
@@ -68,6 +77,8 @@ export interface ResumeAgentOptions {
68
77
  /** Durable workspace volume root; the SDK state store lives under it. */
69
78
  workspaceRootDir: string;
70
79
  model?: string;
80
+ /** Explicit variant parameters — see {@link CreateAgentOptions.modelParams}. */
81
+ modelParams?: ModelParameterValue[];
71
82
  mcpServers?: Record<string, CursorMcpServerConfig>;
72
83
  /** Custom sub-agents — see {@link CreateAgentOptions.agents}. */
73
84
  agents?: Record<string, AgentDefinition>;
@@ -79,6 +90,8 @@ export interface CloudRepo {
79
90
  export interface CreateCloudAgentOptions {
80
91
  apiKey: string;
81
92
  model?: string;
93
+ /** Explicit variant parameters — see {@link CreateAgentOptions.modelParams}. */
94
+ modelParams?: ModelParameterValue[];
82
95
  repos: CloudRepo[];
83
96
  sessionId: string;
84
97
  mcpServers?: Record<string, CursorMcpServerConfig>;
@@ -89,6 +102,8 @@ export interface ResumeCloudAgentOptions {
89
102
  apiKey: string;
90
103
  agentId: string;
91
104
  model?: string;
105
+ /** Explicit variant parameters — see {@link CreateAgentOptions.modelParams}. */
106
+ modelParams?: ModelParameterValue[];
92
107
  mcpServers?: Record<string, CursorMcpServerConfig>;
93
108
  /** Custom sub-agents — see {@link CreateAgentOptions.agents}. */
94
109
  agents?: Record<string, AgentDefinition>;
@@ -122,7 +122,9 @@ export async function createAgent(options) {
122
122
  `stateRoot=${platform.stateRoot}, process.cwd=${process.cwd()}`);
123
123
  return Agent.create({
124
124
  apiKey: options.apiKey,
125
- model: { id: options.model },
125
+ // Always a full selection — id AND params. A bare { id } would let the
126
+ // catalog's default variant (account-influenced) pick the price (#357).
127
+ model: { id: options.model, params: options.modelParams },
126
128
  local: { cwd, settingSources: [...LOCAL_SETTING_SOURCES] },
127
129
  mcpServers: options.mcpServers,
128
130
  agents: options.agents,
@@ -145,7 +147,11 @@ export async function resumeAgent(options) {
145
147
  `process.cwd=${process.cwd()}`);
146
148
  return Agent.resume(options.agentId, {
147
149
  apiKey: options.apiKey,
148
- model: options.model ? { id: options.model } : undefined,
150
+ // Variant params must be re-supplied on resume exactly like mcpServers:
151
+ // explicit params hold across resume (verified against the billing
152
+ // ledger, #357), but an id-only resume would fall back to the catalog
153
+ // default variant for the new turns.
154
+ model: options.model ? { id: options.model, params: options.modelParams } : undefined,
149
155
  // Neither cwd nor settingSources survive Agent.resume(); both must be
150
156
  // re-supplied every turn. Omitting cwd makes the SDK fall back to
151
157
  // process.cwd(), which re-roots the agent in the runner's own working
@@ -174,7 +180,7 @@ export async function createCloudAgent(options) {
174
180
  `repos=${options.repos.map((r) => r.url).join(", ")}`);
175
181
  return Agent.create({
176
182
  apiKey: options.apiKey,
177
- model: options.model ? { id: options.model } : undefined,
183
+ model: options.model ? { id: options.model, params: options.modelParams } : undefined,
178
184
  cloud: { repos: options.repos },
179
185
  mcpServers: options.mcpServers,
180
186
  agents: options.agents,
@@ -191,7 +197,7 @@ export async function resumeCloudAgent(options) {
191
197
  console.log(`resumeCloudAgent: agentId=${options.agentId}`);
192
198
  return Agent.resume(options.agentId, {
193
199
  apiKey: options.apiKey,
194
- model: options.model ? { id: options.model } : undefined,
200
+ model: options.model ? { id: options.model, params: options.modelParams } : undefined,
195
201
  mcpServers: options.mcpServers,
196
202
  agents: options.agents,
197
203
  });
@@ -229,6 +235,7 @@ export async function resolveAgent(harnessStateId, options, mode = "local") {
229
235
  apiKey: options.apiKey,
230
236
  agentId: harnessStateId,
231
237
  model: options.model,
238
+ modelParams: options.modelParams,
232
239
  mcpServers: options.mcpServers,
233
240
  agents: options.agents,
234
241
  })
@@ -239,6 +246,7 @@ export async function resolveAgent(harnessStateId, options, mode = "local") {
239
246
  workspaceDirs: options.workspaceDirs,
240
247
  workspaceRootDir: options.workspaceRootDir,
241
248
  model: options.model,
249
+ modelParams: options.modelParams,
242
250
  mcpServers: options.mcpServers,
243
251
  agents: options.agents,
244
252
  });
@@ -1 +1 @@
1
- {"version":3,"file":"session-lifecycle.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/session-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-lifecycle.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/session-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@
12
12
  * BiDi proxy (CursorBidiStreamHandler) which will record usage from the
13
13
  * wire via ProxyUsageReporter once traffic routing (Task 5B) is complete.
14
14
  */
15
+ import type { ModelParameterValue } from "@cursor/sdk";
16
+ import { ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
15
17
  export interface TurnUsage {
16
18
  readonly inputTokens?: number;
17
19
  readonly outputTokens?: number;
@@ -28,6 +30,10 @@ export interface UsageSnapshot {
28
30
  readonly estimatedCostUsd: number;
29
31
  readonly model: string;
30
32
  readonly observedAt: string;
33
+ /** Tier the runner requested — always explicit post-translation (#357). */
34
+ readonly requestedServiceTier: ServiceTier;
35
+ /** JSON-encoded ModelSelection.params the runner sent; "" when none. */
36
+ readonly requestedModelParams: string;
31
37
  }
32
38
  export interface TurnRecord {
33
39
  readonly sequence: number;
@@ -38,6 +44,12 @@ export interface TurnRecord {
38
44
  }
39
45
  export declare class UsageAccumulator {
40
46
  private readonly model;
47
+ /**
48
+ * The explicit tier the runner requested from the provider. Recorded
49
+ * verbatim into status as the audit trail that the account default was
50
+ * never left in control (#357).
51
+ */
52
+ private readonly requestedServiceTier;
41
53
  private inputTokens;
42
54
  private outputTokens;
43
55
  private cacheReadTokens;
@@ -46,7 +58,15 @@ export declare class UsageAccumulator {
46
58
  private estimatedCostUsd;
47
59
  private observedAt;
48
60
  private readonly turnRecords;
49
- constructor(model: string);
61
+ /** JSON-encoded params the runner sent with the model selection (#357). */
62
+ private readonly requestedModelParams;
63
+ constructor(model: string,
64
+ /**
65
+ * The explicit tier the runner requested from the provider. Recorded
66
+ * verbatim into status as the audit trail that the account default was
67
+ * never left in control (#357).
68
+ */
69
+ requestedServiceTier?: ServiceTier, requestedModelParams?: readonly ModelParameterValue[]);
50
70
  addTurn(usage: TurnUsage): void;
51
71
  get hasTurns(): boolean;
52
72
  get modelName(): string;
@@ -12,7 +12,8 @@
12
12
  * BiDi proxy (CursorBidiStreamHandler) which will record usage from the
13
13
  * wire via ProxyUsageReporter once traffic routing (Task 5B) is complete.
14
14
  */
15
- import { getCursorModelPricing, computeTurnCost } from "./model-pricing.js";
15
+ import { ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
16
+ import { getCursorModelPricingForVariant, computeTurnCost } from "./model-pricing.js";
16
17
  const EMPTY_SNAPSHOT = {
17
18
  inputTokens: 0n,
18
19
  outputTokens: 0n,
@@ -23,9 +24,12 @@ const EMPTY_SNAPSHOT = {
23
24
  estimatedCostUsd: 0,
24
25
  model: "",
25
26
  observedAt: "",
27
+ requestedServiceTier: ServiceTier.UNSPECIFIED,
28
+ requestedModelParams: "",
26
29
  };
27
30
  export class UsageAccumulator {
28
31
  model;
32
+ requestedServiceTier;
29
33
  inputTokens = 0;
30
34
  outputTokens = 0;
31
35
  cacheReadTokens = 0;
@@ -34,8 +38,19 @@ export class UsageAccumulator {
34
38
  estimatedCostUsd = 0;
35
39
  observedAt = "";
36
40
  turnRecords = [];
37
- constructor(model) {
41
+ /** JSON-encoded params the runner sent with the model selection (#357). */
42
+ requestedModelParams;
43
+ constructor(model,
44
+ /**
45
+ * The explicit tier the runner requested from the provider. Recorded
46
+ * verbatim into status as the audit trail that the account default was
47
+ * never left in control (#357).
48
+ */
49
+ requestedServiceTier = ServiceTier.UNSPECIFIED, requestedModelParams = []) {
38
50
  this.model = model;
51
+ this.requestedServiceTier = requestedServiceTier;
52
+ this.requestedModelParams =
53
+ requestedModelParams.length > 0 ? JSON.stringify(requestedModelParams) : "";
39
54
  }
40
55
  addTurn(usage) {
41
56
  const input = usage.inputTokens ?? 0;
@@ -55,7 +70,10 @@ export class UsageAccumulator {
55
70
  cacheReadTokens: cacheRead,
56
71
  cacheWriteTokens: cacheWrite,
57
72
  });
58
- const pricing = getCursorModelPricing(this.model);
73
+ // Estimate at the rates of the variant we explicitly requested — a
74
+ // FAST run priced at base rates would understate the display estimate
75
+ // ~4x relative to the authoritative bill (#357).
76
+ const pricing = getCursorModelPricingForVariant(this.model, this.requestedServiceTier === ServiceTier.FAST ? "fast" : null);
59
77
  this.estimatedCostUsd += computeTurnCost(pricing, input, output, cacheWrite, cacheRead);
60
78
  }
61
79
  get hasTurns() {
@@ -85,6 +103,8 @@ export class UsageAccumulator {
85
103
  estimatedCostUsd: this.estimatedCostUsd,
86
104
  model: this.model,
87
105
  observedAt: this.observedAt,
106
+ requestedServiceTier: this.requestedServiceTier,
107
+ requestedModelParams: this.requestedModelParams,
88
108
  };
89
109
  }
90
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usage-accumulator.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/usage-accumulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-accumulator.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/usage-accumulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The deep-agent harness's MCP gate: whether this execution enters MCP
3
+ * resolution at all (resolve, backfill, synthesized-attachment
4
+ * injection, connect). Unlike the Cursor harness — which resolves MCP
5
+ * unconditionally — deep-agent skips the whole block when no tool
6
+ * source exists, so EVERY tool source must appear here or its tools are
7
+ * silently dropped for exactly the agents whose only source it is
8
+ * (proactive-messaging DD-006 D7 learned this for channel messaging).
9
+ *
10
+ * Extracted from setup.ts as a pure function because setup.ts is
11
+ * untestable at file load (its import graph is why no setup.test.ts
12
+ * exists); the gate is the one piece whose regression is silent, so it
13
+ * gets its own module and an arm-by-arm test.
14
+ */
15
+ /** One flag per tool source. Adding a source? It gates here or it is dropped. */
16
+ export interface McpToolSources {
17
+ /** Declared MCP server usages (agent spec + session spec). */
18
+ readonly mcpServerUsageCount: number;
19
+ /** Declared datastore usages (the records attachment, T05). */
20
+ readonly datastoreUsageCount: number;
21
+ /** Serving proactive-messaging channels (the channels attachment, DD-006). */
22
+ readonly channelMessagingCount: number;
23
+ /** The serving channel id when this session IS a live channel
24
+ * conversation (the conversation attachment, DD-008). */
25
+ readonly conversationChannelId: string | undefined;
26
+ }
27
+ /** True when any tool source demands MCP resolution and connect. */
28
+ export declare function shouldConnectMcp(sources: McpToolSources): boolean;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The deep-agent harness's MCP gate: whether this execution enters MCP
3
+ * resolution at all (resolve, backfill, synthesized-attachment
4
+ * injection, connect). Unlike the Cursor harness — which resolves MCP
5
+ * unconditionally — deep-agent skips the whole block when no tool
6
+ * source exists, so EVERY tool source must appear here or its tools are
7
+ * silently dropped for exactly the agents whose only source it is
8
+ * (proactive-messaging DD-006 D7 learned this for channel messaging).
9
+ *
10
+ * Extracted from setup.ts as a pure function because setup.ts is
11
+ * untestable at file load (its import graph is why no setup.test.ts
12
+ * exists); the gate is the one piece whose regression is silent, so it
13
+ * gets its own module and an arm-by-arm test.
14
+ */
15
+ /** True when any tool source demands MCP resolution and connect. */
16
+ export function shouldConnectMcp(sources) {
17
+ return (sources.mcpServerUsageCount > 0 ||
18
+ sources.datastoreUsageCount > 0 ||
19
+ sources.channelMessagingCount > 0 ||
20
+ sources.conversationChannelId !== undefined);
21
+ }
22
+ //# sourceMappingURL=mcp-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-gate.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/mcp-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,OAAuB;IACtD,OAAO,CACL,OAAO,CAAC,mBAAmB,GAAG,CAAC;QAC/B,OAAO,CAAC,mBAAmB,GAAG,CAAC;QAC/B,OAAO,CAAC,qBAAqB,GAAG,CAAC;QACjC,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAC5C,CAAC;AACJ,CAAC"}
@@ -80,3 +80,14 @@ export interface InjectedFile {
80
80
  * sections. Pure function with no I/O.
81
81
  */
82
82
  export declare function buildEnhancedSystemPrompt(input: PromptBuilderInput): string;
83
+ /**
84
+ * Compose the turn's USER MESSAGE for the graph invocation: the framed
85
+ * conversation catchup (cloud DD-006), when present, prepended to the
86
+ * customer's message. In the user message and never the system prompt (A27):
87
+ * the system prompt is rebuilt per invocation and would forget the digest one
88
+ * turn later, while a message enters the checkpointer with the turn and
89
+ * persists in history — the same durability the cursor harness gets from its
90
+ * prompt prefix. The caller's `spec.message` is never mutated; the prepend
91
+ * exists only in the graph input.
92
+ */
93
+ export declare function composeUserMessage(message: string, conversationCatchup: string | undefined): string;
@@ -9,6 +9,7 @@ import { relative } from "node:path";
9
9
  import { InteractionMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
10
10
  import { SourceType } from "../../shared/workspace/types.js";
11
11
  import { formatContextBridgeText } from "../../shared/context-bridge.js";
12
+ import { formatConversationCatchupText } from "../../shared/conversation-catchup.js";
12
13
  import { formatSenderIdentityText, } from "../../shared/sender-identity.js";
13
14
  import { formatSessionContextText } from "../../shared/session-context.js";
14
15
  import { PLAN_MODE_DIRECTIVE } from "../../shared/plan-mode-prompt.js";
@@ -139,6 +140,21 @@ export function buildEnhancedSystemPrompt(input) {
139
140
  }
140
141
  return prompt;
141
142
  }
143
+ /**
144
+ * Compose the turn's USER MESSAGE for the graph invocation: the framed
145
+ * conversation catchup (cloud DD-006), when present, prepended to the
146
+ * customer's message. In the user message and never the system prompt (A27):
147
+ * the system prompt is rebuilt per invocation and would forget the digest one
148
+ * turn later, while a message enters the checkpointer with the turn and
149
+ * persists in history — the same durability the cursor harness gets from its
150
+ * prompt prefix. The caller's `spec.message` is never mutated; the prepend
151
+ * exists only in the graph input.
152
+ */
153
+ export function composeUserMessage(message, conversationCatchup) {
154
+ return conversationCatchup
155
+ ? `${formatConversationCatchupText(conversationCatchup)}\n\n---\n\n${message}`
156
+ : message;
157
+ }
142
158
  function buildWorkspacePromptSection(provisionResults, containerRoot) {
143
159
  if (provisionResults.length === 0)
144
160
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/prompt-builder.ts"],"names":[],"mappings":"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"}