@wiro-ai/wiro-mcp 1.5.3 → 1.5.4

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/README.md CHANGED
@@ -243,7 +243,7 @@ The hosted server takes the same credentials as a bearer token:
243
243
  | `get_model_schema` | Get full parameter schema and pricing for any model, or the parameters and output ports of a workflow utility |
244
244
  | `recommend_model` | Find models for a goal from two or three key words, best matches first |
245
245
  | `explore` | Browse curated models grouped by category, no parameters needed |
246
- | `run_model` | Run any model, waiting up to 45s by default before it returns a recoverable task token |
246
+ | `run_model` | Run any model, waiting at most 45s from the start of the call before it returns a recoverable task token |
247
247
  | `wait_for_task` | Continue waiting for an existing task without submitting or billing a duplicate run |
248
248
  | `get_task` | Check task status immediately or wait up to 45s with `wait_seconds` |
249
249
  | `list_tasks` | Browse authenticated task history across conversations, then continue with `get_task` |
@@ -568,7 +568,11 @@ registerTools(myServer, client, { toolsets: ['models'] });
568
568
 
569
569
  | Repository | What it is |
570
570
  | --- | --- |
571
- | [Wiro-Plugin](https://github.com/wiroai/Wiro-Plugin) | Wiro AI plugin for Cursor, Claude Code, Gemini CLI and Devin |
571
+ | [Wiro-Plugin](https://github.com/wiroai/Wiro-Plugin) | Wiro AI plugin for Cursor, Claude Code, Gemini CLI, Devin, Antigravity and Kiro |
572
+ | [Wiro-LLM](https://github.com/wiroai/Wiro-LLM) | Vercel AI SDK provider for chat, images, speech, transcription and video, [`@wiro-ai/wiro-llm` on npm](https://www.npmjs.com/package/@wiro-ai/wiro-llm) |
573
+ | [Wiro-Chromium-Extension](https://github.com/wiroai/Wiro-Chromium-Extension) | Wiro AI extension for Chrome, Edge, Opera and Brave |
574
+ | [Wiro-Firefox-Extension](https://github.com/wiroai/Wiro-Firefox-Extension) | Wiro AI add-on for Firefox |
575
+ | [Wiro-Safari-Extension](https://github.com/wiroai/Wiro-Safari-Extension) | Wiro AI extension for Safari on the Mac |
572
576
  | [Swift-QuickStart](https://github.com/wiroai/Swift-QuickStart) | WiroKit, the Wiro AI SDK for iOS |
573
577
  | [Kotlin-QuickStart](https://github.com/wiroai/Kotlin-QuickStart) | WiroKit, the Wiro AI SDK for Android |
574
578
  | [Dart-QuickStart](https://github.com/wiroai/Dart-QuickStart) | Wiro AI SDK for Dart and Flutter, [`wiro` on pub.dev](https://pub.dev/packages/wiro) |
@@ -578,6 +582,17 @@ registerTools(myServer, client, { toolsets: ['models'] });
578
582
  | [Dart-Realtime](https://github.com/wiroai/Dart-Realtime) | Realtime voice AI example for Flutter |
579
583
  | [ReactNative-Realtime](https://github.com/wiroai/ReactNative-Realtime) | Realtime voice AI example for React Native |
580
584
  | [n8n-nodes-wiroai](https://github.com/wiroai/n8n-nodes-wiroai) | Wiro AI nodes for n8n, [`@wiro-ai/n8n-nodes-wiroai` on npm](https://www.npmjs.com/package/@wiro-ai/n8n-nodes-wiroai) |
585
+ | [Wiro-Dify-Plugin](https://github.com/wiroai/Wiro-Dify-Plugin) | Wiro AI plugins for Dify: the LLM gateway as a model provider, plus image, video, speech and music tools |
586
+ | [Wiro-ComfyUI](https://github.com/wiroai/Wiro-ComfyUI) | Wiro AI nodes for ComfyUI |
587
+ | [Wiro-Hermes](https://github.com/wiroai/Wiro-Hermes) | Wiro AI plugins for Hermes Agent: image, video, audio and 3D tools, plus the LLM gateway as a model provider |
588
+ | [Wiro-Zed](https://github.com/wiroai/Wiro-Zed) | Wiro AI MCP server extension for Zed |
589
+ | [Wiro-Action](https://github.com/wiroai/Wiro-Action) | GitHub Action for Wiro AI models and the LLM gateway, [on the GitHub Marketplace](https://github.com/marketplace/actions/wiro-ai-action) |
590
+ | [Wiro-Raycast](https://github.com/wiroai/Wiro-Raycast) | Wiro AI extension for Raycast: image and video generation, LLM chat and model search |
591
+ | [Wiro-WordPress](https://github.com/wiroai/Wiro-WordPress) | Wiro AI plugin for WordPress: featured images, image edits, alt text, narration and SEO suggestions |
592
+ | [Wiro-Obsidian](https://github.com/wiroai/Wiro-Obsidian) | Wiro AI plugin for Obsidian: images, video, speech, music, transcription and text tools |
593
+ | [Wiro-Blender](https://github.com/wiroai/Wiro-Blender) | Wiro AI add-on for Blender: text to 3D, image to 3D and textures |
594
+ | [Wiro-Figma](https://github.com/wiroai/Wiro-Figma) | Wiro AI plugin for Figma: images, vectors, image edits and text |
595
+ | [Wiro-Next-Starter](https://github.com/wiroai/Wiro-Next-Starter) | Next.js starter for Wiro AI: Playground, image, video and audio tools, and LLM chat, ready for Vercel and Railway |
581
596
  | [Wiro-Docs](https://github.com/wiroai/Wiro-Docs) | Source of the Wiro AI API docs |
582
597
 
583
598
  [Website](https://wiro.ai) · [Models](https://wiro.ai/models) · [Docs](https://wiro.ai/docs) · [X](https://x.com/wiroai)
package/dist/playbooks.js CHANGED
@@ -118,7 +118,7 @@ Wiro hosts image, video, audio, speech, 3D and LLM models from many providers. E
118
118
 
119
119
  ## Run and wait
120
120
 
121
- 1. Call \`run_model\` with \`model\` and \`params\`. It waits up to 45 seconds by default (\`timeout_seconds\`).
121
+ 1. Call \`run_model\` with \`model\` and \`params\`. It waits at most 45 seconds, counted from the start of the call; \`timeout_seconds\` can make that shorter.
122
122
  2. If the task is still running, follow the \`nextAction\` for \`wait_for_task\`, and repeat. Video and long audio often take several minutes.
123
123
  3. Never call \`run_model\` again for the same request: that starts a second task, billed again.
124
124
  4. A task is \`submitted\` or \`running\` until it ends as \`completed\`, \`failed\` or \`cancelled\`.
@@ -1,4 +1,20 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { type WiroClient } from '../client.js';
3
- export declare function registerRunModel(server: McpServer, client: WiroClient): void;
3
+ import { type RunReuseTiming } from '../utils/run-ledger.js';
4
+ /** How long run_model waits, and when an identical call continues an earlier run. */
5
+ export interface RunModelTiming extends RunReuseTiming {
6
+ /** The longest one call waits, counted from its start, the run request included. */
7
+ maxWaitMs: number;
8
+ }
9
+ /**
10
+ * A call answers within 45 seconds of its start, so it ends before a 60-second
11
+ * client tool timeout. An identical call (same API key, model and parameters)
12
+ * continues the earlier call's task instead of starting a new one when it
13
+ * comes within 10 minutes of that call ending without its answer reaching the
14
+ * client (cancelled, connection lost, or no task confirmed yet), or while that
15
+ * call is still waiting and at least 10 seconds after it started: a retry after
16
+ * the client gave up without telling the server.
17
+ */
18
+ export declare const RUN_MODEL_TIMING: Readonly<RunModelTiming>;
19
+ export declare function registerRunModel(server: McpServer, client: WiroClient, timing?: RunModelTiming): void;
4
20
  //# sourceMappingURL=run-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-model.d.ts","sourceRoot":"","sources":["../../src/tools/run-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAetB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAwM5E"}
1
+ {"version":3,"file":"run-model.d.ts","sourceRoot":"","sources":["../../src/tools/run-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAStB,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAWhC,qFAAqF;AACrF,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAIpD,CAAC;AA4MH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,MAAM,GAAE,cAAiC,GACxC,IAAI,CAyHN"}
@@ -1,10 +1,197 @@
1
+ import crypto from 'node:crypto';
1
2
  import { z } from 'zod';
2
3
  import { TaskPollingError, TaskWaitTimeoutError, } from '../client.js';
3
4
  import { errorText, isOutcomeUnknown } from '../utils/api.js';
4
5
  import { formatTaskPending, formatTaskResult, formatTaskSubmitted, } from '../utils/format.js';
5
- import { createTaskContent, toPendingTaskResult, toStructuredTaskResult, } from '../utils/structured.js';
6
+ import { runKey, runLedger, submittedTask, } from '../utils/run-ledger.js';
7
+ import { createTaskContent, getTaskState, toPendingTaskResult, toStructuredTaskResult, } from '../utils/structured.js';
6
8
  import { strictInput, taskResultOutputSchema } from './schemas.js';
7
- export function registerRunModel(server, client) {
9
+ /**
10
+ * A call answers within 45 seconds of its start, so it ends before a 60-second
11
+ * client tool timeout. An identical call (same API key, model and parameters)
12
+ * continues the earlier call's task instead of starting a new one when it
13
+ * comes within 10 minutes of that call ending without its answer reaching the
14
+ * client (cancelled, connection lost, or no task confirmed yet), or while that
15
+ * call is still waiting and at least 10 seconds after it started: a retry after
16
+ * the client gave up without telling the server.
17
+ */
18
+ export const RUN_MODEL_TIMING = Object.freeze({
19
+ maxWaitMs: 45_000,
20
+ retryAfterMs: 10_000,
21
+ unansweredWindowMs: 10 * 60_000,
22
+ });
23
+ const TIMED_OUT = Symbol('timed out');
24
+ function abortError() {
25
+ const error = new Error('Task wait aborted by client');
26
+ error.name = 'AbortError';
27
+ return error;
28
+ }
29
+ /** The run request's answer, or TIMED_OUT once the deadline passes first. */
30
+ function settleBy(submission, deadline, signal) {
31
+ return new Promise((resolve, reject) => {
32
+ if (signal.aborted) {
33
+ reject(abortError());
34
+ return;
35
+ }
36
+ const finish = () => {
37
+ clearTimeout(timer);
38
+ signal.removeEventListener('abort', onAbort);
39
+ };
40
+ const onAbort = () => {
41
+ finish();
42
+ reject(abortError());
43
+ };
44
+ const timer = setTimeout(() => {
45
+ finish();
46
+ resolve(TIMED_OUT);
47
+ }, Math.max(0, deadline - Date.now()));
48
+ signal.addEventListener('abort', onAbort, { once: true });
49
+ void submission.then(settled => {
50
+ finish();
51
+ resolve(settled);
52
+ });
53
+ });
54
+ }
55
+ function errorResult(text) {
56
+ return { content: [{ type: 'text', text: `## Error\n\n${text}` }], isError: true };
57
+ }
58
+ /** What a call answers when Wiro created no task it can follow. */
59
+ function runFailure(settled, model, project) {
60
+ if (!settled.ok) {
61
+ const { error } = settled;
62
+ // The request was sent, and no clear answer says whether Wiro created a task.
63
+ if (isOutcomeUnknown(error)) {
64
+ return errorResult(`The run request was sent but no clear answer came back (${errorText(error)}). `
65
+ + 'The task may have started and may be charged. Before running it again, call list_tasks with model '
66
+ + `"${project}" and look for a task of ${model} that is queued or running, or that started in the last few minutes.`);
67
+ }
68
+ return errorResult(error instanceof Error ? error.message : String(error));
69
+ }
70
+ const runResult = settled.result;
71
+ if (!runResult.result) {
72
+ const errors = runResult.errors?.map(e => e.message).join(', ') || 'Unknown error';
73
+ return errorResult(`Failed to run model: ${errors}`);
74
+ }
75
+ // Wiro created the task, so it runs and can be charged; only this call
76
+ // cannot follow it.
77
+ const taskid = runResult.taskid ? String(runResult.taskid) : '';
78
+ return errorResult(taskid
79
+ ? `The task was created (task ID ${taskid}), but its task token did not come back, so this call cannot wait for it. `
80
+ + `Do not run the model again: read the task with get_task and taskid "${taskid}", or find it with list_tasks.`
81
+ : 'The task was created, but its task ID and token did not come back, so this call cannot wait for it. '
82
+ + `Do not run the model again: find the task with list_tasks with model "${project}", then read it with get_task.`);
83
+ }
84
+ /** What a call answers when Wiro has not confirmed the run before the deadline. */
85
+ function notConfirmed(model, project, sentSecondsAgo) {
86
+ return errorResult(`Wiro had not confirmed the run request ${sentSecondsAgo} seconds after it was sent, so this call stopped `
87
+ + 'waiting to answer within the client\'s time limit. The task may still start and may be charged. '
88
+ + `Do not run the model again now: in a minute, call list_tasks with model "${project}" and look for a task of `
89
+ + `${model} that started in the last few minutes, then follow it with wait_for_task.`);
90
+ }
91
+ function ageText(ms) {
92
+ const seconds = Math.max(1, Math.round(ms / 1000));
93
+ if (seconds < 90)
94
+ return `${seconds} second${seconds === 1 ? '' : 's'}`;
95
+ const minutes = Math.round(seconds / 60);
96
+ return `${minutes} minute${minutes === 1 ? '' : 's'}`;
97
+ }
98
+ /** Marks a result as the task of an earlier identical call. */
99
+ function withReuseNote(result, ageMs) {
100
+ const note = `This call continued the task of an identical run_model call made ${ageText(ageMs)} ago, whose answer `
101
+ + 'did not reach you, instead of starting and billing a new task. If the user wants a separate second run, '
102
+ + 'change a parameter such as the seed.';
103
+ const [first, ...rest] = result.content;
104
+ const content = first?.type === 'text'
105
+ ? [{ ...first, text: `${note}\n\n${first.text}` }, ...rest]
106
+ : [{ type: 'text', text: note }, ...result.content];
107
+ return {
108
+ ...result,
109
+ content,
110
+ ...(result.structuredContent ? { structuredContent: { ...result.structuredContent, reused: true } } : {}),
111
+ };
112
+ }
113
+ /** Polls the task until it ends or the deadline passes. */
114
+ async function followTask(client, tasktoken, deadline, startedAt, extra) {
115
+ const remainingMs = deadline - Date.now();
116
+ if (remainingMs <= 0)
117
+ return { kind: 'waiting', timedOut: true };
118
+ try {
119
+ const detail = await client.waitForTask(tasktoken, remainingMs, {
120
+ signal: extra.signal,
121
+ onPoll: async (task) => {
122
+ const progressToken = extra._meta?.progressToken;
123
+ if (progressToken === undefined)
124
+ return;
125
+ try {
126
+ await extra.sendNotification({
127
+ method: 'notifications/progress',
128
+ params: {
129
+ progressToken,
130
+ progress: (Date.now() - startedAt) / 1000,
131
+ message: `Task status: ${task.status}`,
132
+ },
133
+ });
134
+ }
135
+ catch {
136
+ // Progress is best-effort and must never interrupt task polling.
137
+ }
138
+ },
139
+ });
140
+ const task = detail.tasklist?.[0];
141
+ return task ? { kind: 'done', task } : { kind: 'missing' };
142
+ }
143
+ catch (error) {
144
+ const lastDetail = error instanceof TaskWaitTimeoutError || error instanceof TaskPollingError
145
+ ? error.lastDetail
146
+ : undefined;
147
+ const timedOut = error instanceof TaskWaitTimeoutError;
148
+ return {
149
+ kind: 'waiting',
150
+ lastTask: lastDetail?.tasklist?.[0],
151
+ reason: timedOut ? undefined : 'Task submission succeeded, but status monitoring was interrupted.',
152
+ timedOut,
153
+ };
154
+ }
155
+ }
156
+ function followedResult(followed, task, model, waitedSeconds) {
157
+ const reference = { taskid: task.taskid, tasktoken: task.tasktoken, model };
158
+ if (followed.kind === 'done') {
159
+ return {
160
+ content: createTaskContent(formatTaskResult(followed.task), followed.task),
161
+ structuredContent: toStructuredTaskResult(followed.task, reference),
162
+ };
163
+ }
164
+ if (followed.kind === 'missing') {
165
+ const reason = 'The status endpoint returned no task data.';
166
+ return {
167
+ content: [{
168
+ type: 'text',
169
+ text: formatTaskPending({ ...reference, timeoutSeconds: waitedSeconds, reason }),
170
+ }],
171
+ structuredContent: toPendingTaskResult({ ...reference, reason }),
172
+ };
173
+ }
174
+ const { lastTask, reason } = followed;
175
+ const structured = lastTask
176
+ ? toStructuredTaskResult(lastTask, reference)
177
+ : toPendingTaskResult({ ...reference, reason });
178
+ if (reason)
179
+ structured.error = reason;
180
+ return {
181
+ content: [{
182
+ type: 'text',
183
+ text: formatTaskPending({
184
+ ...reference,
185
+ status: lastTask?.status,
186
+ timeoutSeconds: followed.timedOut ? waitedSeconds : undefined,
187
+ reason,
188
+ }),
189
+ }],
190
+ structuredContent: structured,
191
+ };
192
+ }
193
+ export function registerRunModel(server, client, timing = RUN_MODEL_TIMING) {
194
+ const maxWaitSeconds = Math.round(timing.maxWaitMs / 1000);
8
195
  server.registerTool('run_model', {
9
196
  title: 'Run a Wiro model',
10
197
  description: 'Run any AI model on Wiro. Supports image, video, text, audio, '
@@ -20,7 +207,7 @@ export function registerRunModel(server, client) {
20
207
  model: z.string().describe('Model slug in "owner/model" format, e.g. "google/veo3-1", "google/nano-banana-pro"'),
21
208
  params: z.record(z.string(), z.unknown()).describe('Model-specific parameters as key-value pairs. Use get_model_schema to discover available parameters. Pass json and json-array parameters as structured JSON values in this same object. File parameters take public URLs, no upload needed: one URL for fileinput, an array of URLs for combinefileinput, and for multifileinput the URLs comma-separated in its matching ...UrlMultiple field. A parameter you leave out gets the default get_model_schema shows for it. A run fills nothing for the ones it marks as samples (file fields, ids that contain "input", the prompt and the LLM chat fields), picks a random seed, and refuses a required parameter that is missing. To continue a chat, send the same session_id with the next prompt, without previousTaskToken. A turn that ended with tool calls is continued with previousTaskToken, toolOutputs rows (call_id and output) and the same session_id, as its nextAction shows.'),
22
209
  wait: z.boolean().default(true).describe('If true, poll until completion and return the result. If false, return the task identifiers immediately.'),
23
- timeout_seconds: z.number().int().min(10).max(600).default(45).describe('Maximum seconds to wait when wait=true. The 45-second default is safe for clients with a 60-second tool timeout.'),
210
+ timeout_seconds: z.number().int().min(10).max(600).default(45).describe(`Maximum seconds this call waits, counted from its start. A value above ${maxWaitSeconds} is treated as ${maxWaitSeconds}, so the call answers before a 60-second client tool timeout. A longer task continues with wait_for_task.`),
24
211
  }, 'Model parameters go inside `params`.'),
25
212
  outputSchema: taskResultOutputSchema,
26
213
  annotations: {
@@ -30,6 +217,7 @@ export function registerRunModel(server, client) {
30
217
  openWorldHint: true,
31
218
  },
32
219
  }, async ({ model, params, wait, timeout_seconds }, extra) => {
220
+ const startedAt = Date.now();
33
221
  // The slug is checked before anything is sent, so any error the run call
34
222
  // throws afterwards came once the request had gone out.
35
223
  const [owner, ...rest] = model.split('/');
@@ -40,152 +228,80 @@ export function registerRunModel(server, client) {
40
228
  isError: true,
41
229
  };
42
230
  }
43
- let runResult;
231
+ // A call the client cancelled before it began sends nothing.
232
+ if (extra.signal.aborted)
233
+ return errorResult('The call was cancelled before the run request was sent.');
234
+ // Every wait below ends by this deadline, the run request included.
235
+ const deadline = startedAt + Math.min(timeout_seconds * 1000, timing.maxWaitMs);
236
+ const waitedSeconds = () => Math.round((Date.now() - startedAt) / 1000);
237
+ // A client without an identity, such as a stand-in in a test, gets a key
238
+ // no other call shares.
239
+ const identity = typeof client.identity === 'string' ? client.identity : undefined;
240
+ const key = identity ? runKey(identity, model, params) : `call:${crypto.randomUUID()}`;
241
+ let match = identity ? runLedger.find(key, timing, startedAt) : undefined;
242
+ let record;
243
+ let outcome = 'failed';
244
+ // A cancel or a closed connection means this call's answer will never
245
+ // arrive, so an identical call right after it continues its task.
246
+ const onAbort = () => {
247
+ if (record)
248
+ runLedger.markUnanswered(record);
249
+ };
250
+ extra.signal.addEventListener('abort', onAbort);
44
251
  try {
45
- runResult = await client.runModel(model, params, extra.signal);
46
- if (!runResult.result) {
47
- const errors = runResult.errors?.map(e => e.message).join(', ') || 'Unknown error';
48
- return {
49
- content: [{ type: 'text', text: `## Error\n\nFailed to run model: ${errors}` }],
50
- isError: true,
51
- };
52
- }
53
- if (!/^[A-Za-z0-9_.:-]{1,256}$/.test(runResult.socketaccesstoken ?? '')) {
54
- // Wiro created the task, so it runs and can be charged; only this
55
- // call cannot follow it.
56
- const taskid = runResult.taskid ? String(runResult.taskid) : '';
57
- return {
58
- content: [{
59
- type: 'text',
60
- text: taskid
61
- ? `## Error\n\nThe task was created (task ID ${taskid}), but its task token did not come back, so this call cannot wait for it. `
62
- + `Do not run the model again: read the task with get_task and taskid "${taskid}", or find it with list_tasks.`
63
- : '## Error\n\nThe task was created, but its task ID and token did not come back, so this call cannot wait for it. '
64
- + `Do not run the model again: find the task with list_tasks with model "${project}", then read it with get_task.`,
65
- }],
66
- isError: true,
67
- };
68
- }
69
- if (!wait) {
70
- return {
71
- content: [{
72
- type: 'text',
73
- text: formatTaskSubmitted(runResult.taskid, runResult.socketaccesstoken),
74
- }],
75
- structuredContent: toPendingTaskResult({
76
- taskid: runResult.taskid,
77
- tasktoken: runResult.socketaccesstoken,
78
- model,
79
- }),
80
- };
81
- }
82
- const detail = await client.waitForTask(runResult.socketaccesstoken, timeout_seconds * 1000, {
83
- signal: extra.signal,
84
- onPoll: async (task, context) => {
85
- const progressToken = extra._meta?.progressToken;
86
- if (progressToken === undefined)
87
- return;
88
- try {
89
- await extra.sendNotification({
90
- method: 'notifications/progress',
91
- params: {
92
- progressToken,
93
- progress: context.elapsedMs / 1000,
94
- message: `Task status: ${task.status}`,
95
- },
96
- });
252
+ // Twice at most: a continued run whose request or task failed is
253
+ // replaced by a new run, as if no earlier call had been made.
254
+ for (;;) {
255
+ const reused = match;
256
+ match = undefined;
257
+ record = reused ?? runLedger.start(key, () => client.runModel(model, params));
258
+ runLedger.attach(record);
259
+ const finish = (result) => (reused
260
+ ? withReuseNote(result, startedAt - reused.startedAt)
261
+ : result);
262
+ // The run request is not tied to this call's signal: once it is sent,
263
+ // Wiro may create the task whether or not this call is still waiting,
264
+ // and the ledger needs its answer for an identical call that follows.
265
+ const settled = record.settled ?? await settleBy(record.submission, deadline, extra.signal);
266
+ if (settled === TIMED_OUT) {
267
+ outcome = 'unanswered';
268
+ return notConfirmed(model, project, Math.round((Date.now() - record.startedAt) / 1000));
269
+ }
270
+ const task = submittedTask(settled);
271
+ if (!task) {
272
+ if (reused) {
273
+ runLedger.release(record, 'failed');
274
+ record = undefined;
275
+ continue;
97
276
  }
98
- catch {
99
- // Progress is best-effort and must never interrupt task polling.
100
- }
101
- },
102
- });
103
- const task = detail.tasklist?.[0];
104
- if (!task) {
105
- const reason = 'The status endpoint returned no task data.';
106
- return {
107
- content: [{
108
- type: 'text',
109
- text: formatTaskPending({
110
- taskid: runResult.taskid,
111
- tasktoken: runResult.socketaccesstoken,
112
- timeoutSeconds: timeout_seconds,
113
- reason,
114
- }),
115
- }],
116
- structuredContent: toPendingTaskResult({
117
- taskid: runResult.taskid,
118
- tasktoken: runResult.socketaccesstoken,
119
- model,
120
- reason,
121
- }),
122
- };
277
+ outcome = 'failed';
278
+ return runFailure(settled, model, project);
279
+ }
280
+ if (!wait) {
281
+ outcome = 'answered';
282
+ return finish({
283
+ content: [{ type: 'text', text: formatTaskSubmitted(task.taskid ?? '', task.tasktoken) }],
284
+ structuredContent: toPendingTaskResult({ ...task, model }),
285
+ });
286
+ }
287
+ const followed = await followTask(client, task.tasktoken, deadline, startedAt, extra);
288
+ if (reused && followed.kind === 'done' && ['failed', 'cancelled'].includes(getTaskState(followed.task))) {
289
+ runLedger.release(record, 'failed');
290
+ record = undefined;
291
+ continue;
292
+ }
293
+ outcome = 'answered';
294
+ return finish(followedResult(followed, task, model, waitedSeconds()));
123
295
  }
124
- return {
125
- content: createTaskContent(formatTaskResult(task), task),
126
- structuredContent: toStructuredTaskResult(task, {
127
- taskid: runResult.taskid,
128
- tasktoken: runResult.socketaccesstoken,
129
- model,
130
- }),
131
- };
132
296
  }
133
297
  catch (error) {
134
- if (runResult?.result && runResult.socketaccesstoken) {
135
- const lastDetail = error instanceof TaskWaitTimeoutError
136
- || error instanceof TaskPollingError
137
- ? error.lastDetail
138
- : undefined;
139
- const lastTask = lastDetail?.tasklist?.[0];
140
- const reason = error instanceof TaskWaitTimeoutError
141
- ? undefined
142
- : 'Task submission succeeded, but status monitoring was interrupted.';
143
- const structured = lastTask
144
- ? toStructuredTaskResult(lastTask, {
145
- taskid: runResult.taskid,
146
- tasktoken: runResult.socketaccesstoken,
147
- model,
148
- })
149
- : toPendingTaskResult({
150
- taskid: runResult.taskid,
151
- tasktoken: runResult.socketaccesstoken,
152
- model,
153
- reason,
154
- });
155
- if (reason)
156
- structured.error = reason;
157
- return {
158
- content: [{
159
- type: 'text',
160
- text: formatTaskPending({
161
- taskid: runResult.taskid,
162
- tasktoken: runResult.socketaccesstoken,
163
- status: lastTask?.status,
164
- timeoutSeconds: error instanceof TaskWaitTimeoutError
165
- ? timeout_seconds
166
- : undefined,
167
- reason,
168
- }),
169
- }],
170
- structuredContent: structured,
171
- };
172
- }
173
- // The request was sent, and no clear answer says whether Wiro created a task.
174
- if (!runResult && isOutcomeUnknown(error)) {
175
- return {
176
- content: [{
177
- type: 'text',
178
- text: `## Error\n\nThe run request was sent but no clear answer came back (${errorText(error)}). `
179
- + 'The task may have started and may be charged. Before running it again, call list_tasks with model '
180
- + `"${project}" and look for a task of ${model} that is queued or running, or that started in the last few minutes.`,
181
- }],
182
- isError: true,
183
- };
184
- }
185
- return {
186
- content: [{ type: 'text', text: `## Error\n\n${error instanceof Error ? error.message : String(error)}` }],
187
- isError: true,
188
- };
298
+ // Only an abort ends up here; the SDK sends no answer for a cancelled call.
299
+ return errorResult(error instanceof Error ? error.message : String(error));
300
+ }
301
+ finally {
302
+ extra.signal.removeEventListener('abort', onAbort);
303
+ if (record)
304
+ runLedger.release(record, extra.signal.aborted ? 'unanswered' : outcome);
189
305
  }
190
306
  });
191
307
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-model.js","sourceRoot":"","sources":["../../src/tools/run-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-model.js","sourceRoot":"","sources":["../../src/tools/run-model.ts"],"names":[],"mappings":"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"}
@@ -295,6 +295,7 @@ export declare const taskResultOutputSchema: {
295
295
  arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
296
296
  reason: z.ZodString;
297
297
  }, z.core.$strip>>;
298
+ reused: z.ZodOptional<z.ZodBoolean>;
298
299
  };
299
300
  export declare const taskListOutputSchema: {
300
301
  tasks: z.ZodArray<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4CxB;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,SAAK,oEAsBvE;AAED,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAW9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;EAInC,CAAC;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiC1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAqB5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOlC,CAAC;AAQF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWhC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;iBAU7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;CAOjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAqB/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;CAOjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAQlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;CAQpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4CxB;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,SAAK,oEAsBvE;AAED,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAW9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;EAInC,CAAC;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiC1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAqB5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASlC,CAAC;AAQF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWhC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;iBAU7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;CAOjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAqB/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;CAOjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAQlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;CAQpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC"}
@@ -180,6 +180,8 @@ export const taskResultOutputSchema = {
180
180
  response: z.string().optional(),
181
181
  error: z.string().optional(),
182
182
  nextAction: nextActionSchema.optional(),
183
+ reused: z.boolean().optional()
184
+ .describe('True when run_model continued the task of an identical earlier call whose answer did not reach the client, instead of starting and billing a new task.'),
183
185
  };
184
186
  const taskListItemOutputSchema = taskOutputSchema.omit({
185
187
  text: true,
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { RunModelResult } from '../types.js';
2
+ /** What Wiro answered to a run request. It never rejects. */
3
+ export type RunSubmission = {
4
+ ok: true;
5
+ result: RunModelResult;
6
+ } | {
7
+ ok: false;
8
+ error: unknown;
9
+ };
10
+ export interface RunRecord {
11
+ readonly key: string;
12
+ readonly startedAt: number;
13
+ readonly submission: Promise<RunSubmission>;
14
+ /** The answer, once it came. */
15
+ settled?: RunSubmission;
16
+ /** run_model calls serving this run right now. */
17
+ active: number;
18
+ /** When a call serving this run last ended without its answer reaching the client. */
19
+ unansweredAt?: number;
20
+ }
21
+ export interface RunReuseTiming {
22
+ /** How long after a call ended unanswered an identical call continues its run. */
23
+ unansweredWindowMs: number;
24
+ /**
25
+ * How long after an identical call started, while it is still waiting, a new
26
+ * call counts as its retry. Calls an agent sends side by side arrive together
27
+ * and each start their own task; a retry comes after the client gave up.
28
+ */
29
+ retryAfterMs: number;
30
+ }
31
+ /** The task a run request created, when it created one this call can follow. */
32
+ export declare function submittedTask(submission: RunSubmission | undefined): {
33
+ taskid?: string;
34
+ tasktoken: string;
35
+ } | undefined;
36
+ /** The ledger key of one run: the caller, the model and the parameters. */
37
+ export declare function runKey(identity: string, model: string, params: Record<string, unknown>): string;
38
+ export declare class RunLedger {
39
+ private readonly records;
40
+ /**
41
+ * The run an identical call should continue: one whose last call ended
42
+ * without its answer reaching the client, within the window, or one an
43
+ * identical call is still waiting for after `retryAfterMs`.
44
+ */
45
+ find(key: string, timing: RunReuseTiming, now?: number): RunRecord | undefined;
46
+ /** Sends a new run request and remembers it under `key`. */
47
+ start(key: string, submit: () => Promise<RunModelResult>, now?: number): RunRecord;
48
+ /** A call starts serving the run. */
49
+ attach(record: RunRecord): void;
50
+ /** A call serving the run lost its client, so its answer will not arrive. */
51
+ markUnanswered(record: RunRecord, now?: number): void;
52
+ /**
53
+ * A call stops serving the run. `answered`: its client got the task, so an
54
+ * identical call after this one is a new run. `unanswered`: its client did
55
+ * not, so an identical call soon after continues this run. `failed`: there
56
+ * is no task to continue.
57
+ */
58
+ release(record: RunRecord, outcome: 'answered' | 'unanswered' | 'failed', now?: number): void;
59
+ /** Drops the run, unless a newer run already took its key. */
60
+ forget(record: RunRecord): void;
61
+ private prune;
62
+ private trim;
63
+ }
64
+ /** The ledger every run_model tool in this process shares. */
65
+ export declare const runLedger: RunLedger;
66
+ //# sourceMappingURL=run-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-ledger.d.ts","sourceRoot":"","sources":["../../src/utils/run-ledger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAalD,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAElC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,gCAAgC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,UAAU,EAAE,aAAa,GAAG,SAAS,GACpC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAMpD;AAcD,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQ/F;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IAExD;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,SAAS,GAAG,SAAS;IAWlF,4DAA4D;IAC5D,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,SAAa,GAAG,SAAS;IAuBtF,qCAAqC;IACrC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI/B,6EAA6E;IAC7E,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAa,GAAG,IAAI;IAIzD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,EAAE,GAAG,SAAa,GAAG,IAAI;IAWjG,8DAA8D;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI/B,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,IAAI;CAOb;AAED,8DAA8D;AAC9D,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -0,0 +1,129 @@
1
+ import crypto from 'node:crypto';
2
+ const MAX_RECORDS = 1000;
3
+ /** The task a run request created, when it created one this call can follow. */
4
+ export function submittedTask(submission) {
5
+ if (!submission?.ok || !submission.result.result)
6
+ return undefined;
7
+ const tasktoken = submission.result.socketaccesstoken ?? '';
8
+ if (!/^[A-Za-z0-9_.:-]{1,256}$/.test(tasktoken))
9
+ return undefined;
10
+ const taskid = submission.result.taskid ? String(submission.result.taskid) : undefined;
11
+ return { taskid, tasktoken };
12
+ }
13
+ /** JSON with object keys sorted at every level, so key order does not tell two calls apart. */
14
+ function canonicalJson(value) {
15
+ if (Array.isArray(value))
16
+ return `[${value.map(canonicalJson).join(',')}]`;
17
+ if (value !== null && typeof value === 'object') {
18
+ const object = value;
19
+ return `{${Object.keys(object).sort()
20
+ .map(name => `${JSON.stringify(name)}:${canonicalJson(object[name])}`)
21
+ .join(',')}}`;
22
+ }
23
+ return JSON.stringify(value) ?? 'null';
24
+ }
25
+ /** The ledger key of one run: the caller, the model and the parameters. */
26
+ export function runKey(identity, model, params) {
27
+ return crypto.createHash('sha256')
28
+ .update(identity)
29
+ .update('\0')
30
+ .update(model.trim().toLowerCase())
31
+ .update('\0')
32
+ .update(canonicalJson(params))
33
+ .digest('hex');
34
+ }
35
+ export class RunLedger {
36
+ records = new Map();
37
+ /**
38
+ * The run an identical call should continue: one whose last call ended
39
+ * without its answer reaching the client, within the window, or one an
40
+ * identical call is still waiting for after `retryAfterMs`.
41
+ */
42
+ find(key, timing, now = Date.now()) {
43
+ this.prune(timing, now);
44
+ const record = this.records.get(key);
45
+ if (!record)
46
+ return undefined;
47
+ if (record.unansweredAt !== undefined && now - record.unansweredAt <= timing.unansweredWindowMs) {
48
+ return record;
49
+ }
50
+ if (record.active > 0 && now - record.startedAt >= timing.retryAfterMs)
51
+ return record;
52
+ return undefined;
53
+ }
54
+ /** Sends a new run request and remembers it under `key`. */
55
+ start(key, submit, now = Date.now()) {
56
+ let submission;
57
+ try {
58
+ submission = submit().then(result => ({ ok: true, result }), error => ({ ok: false, error }));
59
+ }
60
+ catch (error) {
61
+ submission = Promise.resolve({ ok: false, error });
62
+ }
63
+ const record = { key, startedAt: now, submission, active: 0 };
64
+ void submission.then(settled => {
65
+ record.settled = settled;
66
+ // An answer that came after every call left: without a task nothing is
67
+ // left to continue.
68
+ if (record.active === 0 && !submittedTask(settled))
69
+ this.forget(record);
70
+ });
71
+ this.records.delete(key);
72
+ this.records.set(key, record);
73
+ this.trim();
74
+ return record;
75
+ }
76
+ /** A call starts serving the run. */
77
+ attach(record) {
78
+ record.active += 1;
79
+ }
80
+ /** A call serving the run lost its client, so its answer will not arrive. */
81
+ markUnanswered(record, now = Date.now()) {
82
+ record.unansweredAt = now;
83
+ }
84
+ /**
85
+ * A call stops serving the run. `answered`: its client got the task, so an
86
+ * identical call after this one is a new run. `unanswered`: its client did
87
+ * not, so an identical call soon after continues this run. `failed`: there
88
+ * is no task to continue.
89
+ */
90
+ release(record, outcome, now = Date.now()) {
91
+ record.active = Math.max(0, record.active - 1);
92
+ if (outcome === 'failed') {
93
+ this.forget(record);
94
+ }
95
+ else if (outcome === 'unanswered') {
96
+ record.unansweredAt = now;
97
+ }
98
+ else if (record.active === 0) {
99
+ this.forget(record);
100
+ }
101
+ }
102
+ /** Drops the run, unless a newer run already took its key. */
103
+ forget(record) {
104
+ if (this.records.get(record.key) === record)
105
+ this.records.delete(record.key);
106
+ }
107
+ prune(timing, now) {
108
+ for (const record of this.records.values()) {
109
+ if (record.active > 0)
110
+ continue;
111
+ const unanswered = record.unansweredAt !== undefined
112
+ && now - record.unansweredAt <= timing.unansweredWindowMs;
113
+ // A run request still on its way stays until it answers or its window ends.
114
+ if (!unanswered)
115
+ this.records.delete(record.key);
116
+ }
117
+ }
118
+ trim() {
119
+ while (this.records.size > MAX_RECORDS) {
120
+ const oldest = this.records.keys().next().value;
121
+ if (oldest === undefined)
122
+ break;
123
+ this.records.delete(oldest);
124
+ }
125
+ }
126
+ }
127
+ /** The ledger every run_model tool in this process shares. */
128
+ export const runLedger = new RunLedger();
129
+ //# sourceMappingURL=run-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-ledger.js","sourceRoot":"","sources":["../../src/utils/run-ledger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wiro-ai/wiro-mcp",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "mcpName": "ai.wiro/mcp",
5
5
  "description": "Official MCP server for Wiro AI. Run Wiro AI models, build and run workflows, and talk to Studio and your Wiro agents from Cursor, Claude, Windsurf and any MCP-compatible AI assistant",
6
6
  "type": "module",