@multiplayer-app/agent 0.1.10 → 0.1.11

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 (90) hide show
  1. package/dist/agent/model-failure.d.ts +10 -0
  2. package/dist/agent/model-failure.d.ts.map +1 -0
  3. package/dist/agent/model-failure.js +50 -0
  4. package/dist/agent/model-failure.js.map +1 -0
  5. package/dist/agent/profiles/research.d.ts.map +1 -1
  6. package/dist/agent/profiles/research.js +21 -11
  7. package/dist/agent/profiles/research.js.map +1 -1
  8. package/dist/agent/progress-reminder.test.d.ts +2 -0
  9. package/dist/agent/progress-reminder.test.d.ts.map +1 -0
  10. package/dist/agent/progress-reminder.test.js +20 -0
  11. package/dist/agent/progress-reminder.test.js.map +1 -0
  12. package/dist/agent/turn-runner.d.ts +18 -1
  13. package/dist/agent/turn-runner.d.ts.map +1 -1
  14. package/dist/agent/turn-runner.js +60 -7
  15. package/dist/agent/turn-runner.js.map +1 -1
  16. package/dist/context-pruning.d.ts +13 -0
  17. package/dist/context-pruning.d.ts.map +1 -0
  18. package/dist/context-pruning.js +61 -0
  19. package/dist/context-pruning.js.map +1 -0
  20. package/dist/context-pruning.test.d.ts +2 -0
  21. package/dist/context-pruning.test.d.ts.map +1 -0
  22. package/dist/context-pruning.test.js +48 -0
  23. package/dist/context-pruning.test.js.map +1 -0
  24. package/dist/models/resolve-model.d.ts.map +1 -1
  25. package/dist/models/resolve-model.js +3 -1
  26. package/dist/models/resolve-model.js.map +1 -1
  27. package/dist/models/usage.d.ts +4 -0
  28. package/dist/models/usage.d.ts.map +1 -1
  29. package/dist/models/usage.js +8 -2
  30. package/dist/models/usage.js.map +1 -1
  31. package/dist/research/extract-texts.d.ts +41 -0
  32. package/dist/research/extract-texts.d.ts.map +1 -0
  33. package/dist/research/extract-texts.js +239 -0
  34. package/dist/research/extract-texts.js.map +1 -0
  35. package/dist/research/extract-texts.test.d.ts +2 -0
  36. package/dist/research/extract-texts.test.d.ts.map +1 -0
  37. package/dist/research/extract-texts.test.js +120 -0
  38. package/dist/research/extract-texts.test.js.map +1 -0
  39. package/dist/research/extraction-tool.d.ts +1 -1
  40. package/dist/research/extraction-tool.d.ts.map +1 -1
  41. package/dist/research/extraction-tool.js +24 -50
  42. package/dist/research/extraction-tool.js.map +1 -1
  43. package/dist/research/extraction-tool.test.js +2 -0
  44. package/dist/research/extraction-tool.test.js.map +1 -1
  45. package/dist/research/filingramp/attachment-tools.d.ts.map +1 -1
  46. package/dist/research/filingramp/attachment-tools.js +122 -23
  47. package/dist/research/filingramp/attachment-tools.js.map +1 -1
  48. package/dist/research/filingramp/document-search-tool.d.ts.map +1 -1
  49. package/dist/research/filingramp/document-search-tool.js +88 -30
  50. package/dist/research/filingramp/document-search-tool.js.map +1 -1
  51. package/dist/research/filingramp/filing-detail-tool.d.ts +4 -0
  52. package/dist/research/filingramp/filing-detail-tool.d.ts.map +1 -1
  53. package/dist/research/filingramp/filing-detail-tool.js +57 -10
  54. package/dist/research/filingramp/filing-detail-tool.js.map +1 -1
  55. package/dist/research/filingramp/shared.d.ts +16 -0
  56. package/dist/research/filingramp/shared.d.ts.map +1 -1
  57. package/dist/research/filingramp/shared.js +74 -2
  58. package/dist/research/filingramp/shared.js.map +1 -1
  59. package/dist/research/filingramp-contract.d.ts.map +1 -1
  60. package/dist/research/filingramp-contract.js +8 -2
  61. package/dist/research/filingramp-contract.js.map +1 -1
  62. package/dist/research/filingramp-tools.d.ts +1 -0
  63. package/dist/research/filingramp-tools.d.ts.map +1 -1
  64. package/dist/research/filingramp-tools.js +5 -0
  65. package/dist/research/filingramp-tools.js.map +1 -1
  66. package/dist/research/filingramp-tools.test.js +93 -0
  67. package/dist/research/filingramp-tools.test.js.map +1 -1
  68. package/dist/research/prompt.d.ts.map +1 -1
  69. package/dist/research/prompt.js +16 -7
  70. package/dist/research/prompt.js.map +1 -1
  71. package/dist/session/runtime.d.ts +8 -0
  72. package/dist/session/runtime.d.ts.map +1 -1
  73. package/dist/session/runtime.js +49 -8
  74. package/dist/session/runtime.js.map +1 -1
  75. package/dist/tool-call-repair.d.ts +11 -0
  76. package/dist/tool-call-repair.d.ts.map +1 -0
  77. package/dist/tool-call-repair.js +91 -0
  78. package/dist/tool-call-repair.js.map +1 -0
  79. package/dist/tool-call-repair.test.d.ts +2 -0
  80. package/dist/tool-call-repair.test.d.ts.map +1 -0
  81. package/dist/tool-call-repair.test.js +50 -0
  82. package/dist/tool-call-repair.test.js.map +1 -0
  83. package/dist/tools/exec-tools.d.ts +1 -0
  84. package/dist/tools/exec-tools.d.ts.map +1 -1
  85. package/dist/tools/exec-tools.js +23 -3
  86. package/dist/tools/exec-tools.js.map +1 -1
  87. package/dist/transport/protocol.d.ts +4 -0
  88. package/dist/transport/protocol.d.ts.map +1 -1
  89. package/dist/transport/protocol.js.map +1 -1
  90. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"filingramp-tools.test.js","sourceRoot":"","sources":["../../src/research/filingramp-tools.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filingramp-tools.test.js","sourceRoot":"","sources":["../../src/research/filingramp-tools.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/research/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAA;AAEV,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,4CAA6C,CAAA;AAEjF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,MAAM,CAuCT"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/research/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAA;AAEV,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,4CAA6C,CAAA;AAEjF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,MAAM,CAgDT"}
@@ -24,15 +24,20 @@ Scope of this session (enforced on every FilingRamp call; you may narrow, never
24
24
  ${(0, scope_1.describeScope)(options.scope)}
25
25
  ${options.industryData ? 'Industry (public) filings are available with searchType/scope INDUSTRY.' : 'Only this account\'s own filings are available.'}
26
26
 
27
+ Request shapes — name the shape in the plan; each has a step you must not skip:
28
+ - Deep read ("analyze every attachment in filing X"): the population is fixed. get_filing (it saves a manifest), fetch_attachments once, read the key documents (memo, questionnaire, explanatory letter) for cross-document checks — one under ~8,000 characters directly with one command; a longer one (a filing memo often runs 30,000+) never page by page: grep it for the parts you need, or have extract_from_texts condense it once (e.g. one row per form it mentions: form number, what it says changed), then extract_from_texts over the rest, one row per document. Group variants that share a stem (form + mock, clean + redline): diff them in code, never analyze both from scratch.
29
+ - Conformance ("which companies have not adopted the law / bulletin, or adopted it wrongly"): first write the requirement as a rule — what it covers (e.g. cancellation and nonrenewal notices), exceptions (e.g. nonpayment), the required value, lines, effective date — and confirm it with request_clarification (the user may correct it or attach the bulletin). The population is companies, not hits: a company that never adopted the change never matches the new wording, so search for the provision (e.g. "notice of cancellation", "nonrenew"), not the new value. Judge each company on its latest in-force edition (see Lineage), extract every statement with many=true, apply the rule in code, and roll up per company: compliant / partially compliant (e.g. 45 days for nonrenewal, 30 for cancellation) / not adopted / no evidence. No form in scope or no readable text is "no evidence", never "not adopted".
30
+ - Landscape ("how do carriers treat X; categorize the approaches"): the codebook checkpoint (3b) is mandatory, then extract with the approved categories as allowed values.
31
+
27
32
  Method — plan, size, confirm, narrow, download, analyze, report:
28
- 1. Plan. Restate the question as concrete, checkable criteria (which document types, which clauses or values, which time range). Write the plan to ${exports.RESEARCH_OUTPUT_FILES.notes} and tell the user in two or three sentences.
33
+ 1. Plan. Restate the question as concrete, checkable criteria (which document types, which clauses or values, which time range) and its shape. Write the plan to ${exports.RESEARCH_OUTPUT_FILES.notes} and tell the user in two or three sentences.
29
34
  2. Size. Use count_filings and summarize_filings (grouped by state, filingType, typeOfInsurance, submittedMonth) to see how big the population is before reading anything. A count of 0 inside the scope is a finding, not a dead end: report exactly which filters were applied and call request_clarification so the user can correct the scope (a line code such as "04.0000" is one SERFF sub-line, "Homeowners" or "04.0" is the whole line).
30
- 3. Confirm. If the population is large (more than ~300 filings or ~1,000 documents) or the question is ambiguous, call request_clarification with the counts and the choice to make (explicit options; allowFreeText when they may not cover it). Stop and wait for the answer.
35
+ 3. Confirm. If the population is large (more than ~300 filings or ~1,000 documents), the extraction estimate (extract_from_texts dryRun) is above ~1,000,000 tokens, or the question is ambiguous, call request_clarification with the counts, the estimate and the choice to make (all / a sample / a narrower scope; allowFreeText when the options may not cover it). Stop and wait for the answer.
31
36
  3b. Codebook checkpoint (classification questions: "how do carriers treat X", "sort into categories", "which variants exist"). Discover the categories on a sample first — read 15–30 documents, write the candidate categories with one quoted example each to research/codebook.md and publish it — then call request_clarification to have the codebook approved or revised before extracting over the whole population. Never classify thousands of documents against categories the user has not seen.
32
- 4. Narrow. Use search_documents (KEYWORD with exact phrases first, SEMANTIC/HYBRID for concepts like "water shut-off valve requirement") to find the documents that matter. Pass saveText=true so the extracted text lands in data/text/ for grep.
33
- 5. Download only what search cannot answer: download_attachment extracts PDF text locally. Note documents with no text (scanned) — they go in the findings as "not readable".
34
- 6. Analyze locally. Use run_command with rg/grep, jq, python3 (pandas, sqlite3, openpyxl for Excel rate pages) and the files under data/. Keep intermediate tables in data/*.csv. Never paste whole documents into the conversation; read_text only the lines around a match. Normalize values before comparing (a credit on the water peril is not a credit on total premium; 30 vs 45 days must be read as numbers, not matched as text).
35
- 6b. Lineage. Which edition is in force is not a field: the latest submitted edition per form number and company within the scope is the best available answer, and findings must say when a result rests on that assumption.
37
+ 4. Narrow. Use search_documents (KEYWORD with exact phrases first, and synonyms: "water shut-off", "shutoff valve", "leak detection", "water mitigation device"; SEMANTIC/HYBRID to discover wording, not to list a population). To collect a population pass saveHits (all hits go to one JSONL file; repeat with other phrasings into the same file) and saveText=true so the extracted text lands in data/text/.
38
+ 5. Download only what search cannot answer, in bulk: fetch_attachments with a manifest (get_filing's, or a saveHits file) or filingIds. Note documents with no text (scanned) — they go in the findings as "not readable".
39
+ 6. Analyze locally. extract_from_texts runs the per-document reading on a cheaper model: pass the manifest, windows.patterns around the passages you need, and dryRun first on large sets. Then aggregate with run_command (rg/grep, jq, python3 with pandas, sqlite3, openpyxl for Excel rate pages) over the files under data/. Keep intermediate tables in data/*.csv. Never paste whole documents into the conversation; read_text only the lines around a match. Normalize values before comparing (a credit on the water peril is not a credit on total premium; 30 vs 45 days must be read as numbers, not matched as text).
40
+ 6b. Lineage. Which edition is in force is not a field in filing data. Where the filer recorded it, forms carry action (new / revised / replaced / withdrawn), replacedFormNumber and replacedEditionDate (also search filters form.replacedFormNumbers / form.replacedEditionDates): follow that chain. Otherwise the latest approved (else latest submitted) edition per form number and company within the scope is the best available answer. Findings must say which rule decided each row.
36
41
  7. Report. Write:
37
42
  - ${exports.RESEARCH_OUTPUT_FILES.findings}: the answer first, then method, population size, coverage (documents read vs unreadable), caveats.
38
43
  - ${exports.RESEARCH_OUTPUT_FILES.results}: one row per filing or document with the facts you extracted (tracking number, state, company, date, the extracted value(s), source document, page/line hint).
@@ -41,6 +46,10 @@ Method — plan, size, confirm, narrow, download, analyze, report:
41
46
  Then call publish_results with those paths so they appear in the session, and finish with a short summary message.
42
47
 
43
48
  Working rules:
49
+ - Bulk work is one call, never a loop of calls: more than ~10 documents → fetch_attachments / extract_from_texts / saveHits / a run_command script. Never call download_attachment, read_text or get_filing once per item over a list.
50
+ - Tool results are expensive: every later step re-sends them. Ask for files (saveAs, saveHits, outputManifest), read counts, and look at a few rows with head/jq, not whole files.
51
+ - Steps are expensive too: each step re-sends the whole conversation, so the number of steps drives the token count more than the size of any one result. Explore in one script, not a string of small looks: when you need to inspect several files or answer several questions about the data, write one python3 script that prints a compact summary of all of it (counts, lists, the few lines that matter) and run it once. Command output beyond ~8,000 characters is cut, so print summaries, not documents. Never read a document in chunks across steps (head, then sed -n 260,2000p, then the next range): grep for what you need, or run extract_from_texts over it.
52
+ - Call independent tools in the same step (several searches, a fetch and a script that does not depend on it) instead of one per step.
44
53
  - Filters are {field, comparisonOperator, value}. List fields (states, typeOfInsurances, subTypeOfInsurances, filingTypes, statusIds, companies, trackingNumbers, …) take a string array: "cn" matches part of the label ({field: "typeOfInsurances", comparisonOperator: "cn", value: ["04.0"]} covers the whole Homeowners line), "in" the exact label. Dates (dateSubmitted, createdAt, updatedAt) take one date string with eq/gt/gte/lt/lte; hasObjection takes ex with a boolean. The tools wrap a single value, choose the operator a field accepts and reject unknown fields before calling FilingRamp: a failure names the accepted fields, so fix the call rather than retry it. Summary groupBy uses singular names (state, typeOfInsurance, filingType, statusId, submittedMonth, …).
45
54
  - To learn which lines, states or companies the account has, call summarize_filings grouped by that field with no filter on it. Never probe with fragments ("e", "a") or empty values. search_documents has its own vocabulary; its description lists it.
46
55
  - A failed API call is not a zero count. Correct validation errors and retry; if the request still fails, report that the population could not be determined.
@@ -49,6 +58,6 @@ Working rules:
49
58
  - ${budget}Prefer counts and summaries over listing rows; request only the fields you need; let files hold bulk data.
50
59
  - Dates, states and lines you were given are the scope: always say when the data can not answer the question within it.
51
60
  - Be explicit about uncertainty: separate "found in document" from "inferred".
52
- - Resumability: after each phase, update ${exports.RESEARCH_OUTPUT_FILES.notes} with what is done and what is next — a restarted session reads it first.`;
61
+ - Resumability: after each phase, update ${exports.RESEARCH_OUTPUT_FILES.notes} with what is done and what is next — a restarted session reads it first. Once analysis has results, keep a draft ${exports.RESEARCH_OUTPUT_FILES.findings} current too, so a stopped or out-of-budget session still leaves an answer.`;
53
62
  }
54
63
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/research/prompt.ts"],"names":[],"mappings":";;;AAaA,8DA6CC;AAzDD,mCAAuC;AAE1B,QAAA,qBAAqB,GAAG;IACnC,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,mBAAmB;CAClB,CAAA;AAEV,gGAAgG;AACnF,QAAA,uBAAuB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAU,CAAA;AAEjF,SAAgB,yBAAyB,CAAC,OAMzC;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3H,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ;QACrC,CAAC,CAAC,uDAAuD,6BAAqB,CAAC,KAAK,gDAAgD;QACpI,CAAC,CAAC,uJAAuJ,CAAA;IAC3J,OAAO;;2MAEkM,cAAc;;;EAGvN,IAAA,qBAAa,EAAC,OAAO,CAAC,KAAK,CAAC;EAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,iDAAiD;;;qJAGD,6BAAqB,CAAC,KAAK;;;;;;;;;OASzK,6BAAqB,CAAC,QAAQ;OAC9B,6BAAqB,CAAC,OAAO;OAC7B,6BAAqB,CAAC,QAAQ;;;;;;;;;;IAUjC,MAAM;;;2CAGiC,6BAAqB,CAAC,KAAK,2EAA2E,CAAA;AACjJ,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/research/prompt.ts"],"names":[],"mappings":";;;AAaA,8DAsDC;AAlED,mCAAuC;AAE1B,QAAA,qBAAqB,GAAG;IACnC,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,mBAAmB;CAClB,CAAA;AAEV,gGAAgG;AACnF,QAAA,uBAAuB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAU,CAAA;AAEjF,SAAgB,yBAAyB,CAAC,OAMzC;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3H,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ;QACrC,CAAC,CAAC,uDAAuD,6BAAqB,CAAC,KAAK,gDAAgD;QACpI,CAAC,CAAC,uJAAuJ,CAAA;IAC3J,OAAO;;2MAEkM,cAAc;;;EAGvN,IAAA,qBAAa,EAAC,OAAO,CAAC,KAAK,CAAC;EAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,iDAAiD;;;;;;;;mKAQa,6BAAqB,CAAC,KAAK;;;;;;;;;OASvL,6BAAqB,CAAC,QAAQ;OAC9B,6BAAqB,CAAC,OAAO;OAC7B,6BAAqB,CAAC,QAAQ;;;;;;;;;;;;;;IAcjC,MAAM;;;2CAGiC,6BAAqB,CAAC,KAAK,qHAAqH,6BAAqB,CAAC,QAAQ,6EAA6E,CAAA;AACtS,CAAC"}
@@ -42,7 +42,15 @@ export declare class SessionRuntime {
42
42
  private startQueuedTurns;
43
43
  private drainQueue;
44
44
  private budgetExceeded;
45
+ private nearBudget;
46
+ /**
47
+ * The budget pause as a question with an answer form, like the agent's own request_clarification:
48
+ * the platform routes the answer straight back here (answer-research-question.ts) instead of to
49
+ * the chat's orchestrator, which would otherwise decide for itself whether to resume.
50
+ */
51
+ private askBudgetQuestion;
45
52
  private runTurn;
53
+ /** `detail` is the failure as reported (log only); `message` is what reaches the chat. */
46
54
  private reportTurnError;
47
55
  private loadConversation;
48
56
  private saveConversation;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/session/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAEhG,eAAO,MAAM,sBAAsB,QAAa,CAAA;AAEhD,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;CACrC;AAYD,qBAAa,cAAc;IAmBvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBvB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,cAAc,CAAa;gBAGhB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,WAAW,EAClC,YAAY,GAAE,0BAA+B;IAQ/C,OAAO,KAAK,YAAY,GAEvB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,sFAAsF;IACtF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,2FAA2F;IACrF,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5E,OAAO,CAAC,kBAAkB;YAgBZ,MAAM;IAuBpB,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB;YASV,UAAU;IAOxB,OAAO,CAAC,cAAc;YAIR,OAAO;IAgErB,OAAO,CAAC,eAAe;YAKT,gBAAgB;IAU9B,OAAO,CAAC,gBAAgB;CASzB"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/session/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAEhG,eAAO,MAAM,sBAAsB,QAAa,CAAA;AAEhD,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;CACrC;AAeD,qBAAa,cAAc;IAmBvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBvB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,cAAc,CAAa;gBAGhB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,WAAW,EAClC,YAAY,GAAE,0BAA+B;IAQ/C,OAAO,KAAK,YAAY,GAEvB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,sFAAsF;IACtF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,2FAA2F;IACrF,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5E,OAAO,CAAC,kBAAkB;YAgBZ,MAAM;IAuBpB,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB;YASV,UAAU;IAOxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;YAgBX,OAAO;IA2ErB,0FAA0F;IAC1F,OAAO,CAAC,eAAe;YAKT,gBAAgB;IAU9B,OAAO,CAAC,gBAAgB;CASzB"}
@@ -10,8 +10,11 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const profiles_1 = require("../agent/profiles");
11
11
  const conversation_1 = require("./conversation");
12
12
  const turn_runner_1 = require("../agent/turn-runner");
13
+ const model_failure_1 = require("../agent/model-failure");
13
14
  const workspace_1 = require("../persistence/workspace");
14
15
  exports.PERIODIC_CHECKPOINT_MS = 5 * 60000;
16
+ /** Share of the token budget after which a research turn stops researching and saves what it has. */
17
+ const WRAP_UP_AT = 0.9;
15
18
  class SessionRuntime {
16
19
  constructor(config, link, dependencies = {}) {
17
20
  var _a, _b, _c;
@@ -155,23 +158,52 @@ class SessionRuntime {
155
158
  budgetExceeded() {
156
159
  return this.budget !== undefined && this.usedTokens >= this.budget;
157
160
  }
161
+ nearBudget() {
162
+ return this.budget !== undefined && this.usedTokens >= this.budget * WRAP_UP_AT;
163
+ }
164
+ /**
165
+ * The budget pause as a question with an answer form, like the agent's own request_clarification:
166
+ * the platform routes the answer straight back here (answer-research-question.ts) instead of to
167
+ * the chat's orchestrator, which would otherwise decide for itself whether to resume.
168
+ */
169
+ askBudgetQuestion(messageId) {
170
+ var _a, _b;
171
+ const toolCallId = `budget-${messageId}-${this.usedTokens}`;
172
+ const extension = (_b = (_a = this.config.tokenBudget) === null || _a === void 0 ? void 0 : _a.toLocaleString()) !== null && _b !== void 0 ? _b : '';
173
+ const input = {
174
+ question: `The token budget for this session is used up. Continue the research with ${extension} more tokens, or wrap up with what I have?`,
175
+ selectionMode: 'single',
176
+ options: [
177
+ { id: 'continue', label: `Continue (+${extension} tokens)` },
178
+ { id: 'wrap_up', label: 'Wrap up with what I have' },
179
+ ],
180
+ allowFreeText: false,
181
+ };
182
+ this.link.send({ type: 'tool_call_start', messageId, toolCallId, toolName: 'request_clarification', input });
183
+ this.link.send({ type: 'question', messageId, toolCallId, question: input.question });
184
+ }
158
185
  async runTurn(messageId, text) {
159
186
  var _a;
160
187
  const turn = { messageId, abort: new AbortController() };
188
+ let wrapUpOnly = false;
161
189
  this.current = turn;
162
190
  let accepted = false;
163
191
  let completed = false;
164
192
  let responseRecorded = false;
165
193
  try {
166
194
  this.link.send({ type: 'turn_start', messageId });
167
- // A paused session resumes when the user agrees to another original-sized budget.
195
+ // A paused session resumes when the user agrees to another original-sized budget. The answer
196
+ // usually comes from the pause question's form (askBudgetQuestion labels).
168
197
  if (this.budgetPaused && this.config.tokenBudget) {
169
198
  if (/^(continue|yes|go on|proceed)/i.test(text.trim())) {
170
199
  this.budget = this.usedTokens + this.config.tokenBudget;
171
200
  this.budgetPaused = false;
172
201
  }
202
+ else if (/^wrap/i.test(text.trim()) && this.definition.profile === 'research') {
203
+ wrapUpOnly = true;
204
+ }
173
205
  else {
174
- this.link.send({ type: 'done', messageId, summary: 'The token budget is used up. Reply "continue" to extend it, or stop the session.' });
206
+ this.link.send({ type: 'done', messageId, summary: 'The token budget is used up. Reply "continue" to extend it, or "wrap up" to save what I have.' });
175
207
  return;
176
208
  }
177
209
  }
@@ -184,6 +216,8 @@ class SessionRuntime {
184
216
  workspaceDir: this.workspaceDir,
185
217
  abortSignal: turn.abort.signal,
186
218
  budgetExceeded: () => this.budgetExceeded(),
219
+ nearBudget: () => this.nearBudget(),
220
+ wrapUpOnly,
187
221
  recordUsage: (usage) => { this.usedTokens += usage.totalTokens; },
188
222
  emit: (event) => this.link.send(event),
189
223
  });
@@ -192,11 +226,17 @@ class SessionRuntime {
192
226
  completed = result.status === 'completed';
193
227
  if (result.status === 'completed') {
194
228
  let partialText = result.partialText;
195
- if (this.budgetExceeded() && !result.askedUser) {
229
+ // A wrap-up that finished just under the budget still pauses: the next turn would only wrap up again.
230
+ if ((this.budgetExceeded() || result.wrappedUp) && !result.askedUser) {
196
231
  this.budgetPaused = true;
197
- const notice = `${partialText ? '\n\n' : ''}I have used ${this.usedTokens.toLocaleString()} tokens, which reaches this session's budget. Reply "continue" to extend it by ${(_a = this.config.tokenBudget) === null || _a === void 0 ? void 0 : _a.toLocaleString()} tokens, or tell me to wrap up with what I have.`;
232
+ const saved = result.saved ? ' I saved partial findings and notes.' : '';
233
+ const notice = wrapUpOnly
234
+ ? `${partialText ? '\n\n' : ''}${result.saved ? 'I saved what I have.' : 'I could not save the findings.'} Reply "continue" if you want me to resume the research.`
235
+ : `${partialText ? '\n\n' : ''}I have used ${this.usedTokens.toLocaleString()} tokens, which reaches this session's budget.${saved}`;
198
236
  partialText += notice;
199
237
  this.link.send({ type: 'text_delta', messageId, text: notice });
238
+ if (!wrapUpOnly)
239
+ this.askBudgetQuestion(messageId);
200
240
  }
201
241
  await this.checkpoint('turn finished');
202
242
  this.link.send({ type: 'done', messageId, summary: result.text || partialText });
@@ -205,14 +245,14 @@ class SessionRuntime {
205
245
  this.link.send({ type: 'done', messageId, summary: result.partialText ? `${result.partialText}\n\n_Stopped._` : 'Stopped.' });
206
246
  }
207
247
  else {
208
- this.reportTurnError(messageId, result.error);
248
+ this.reportTurnError(messageId, result.error, result.userMessage);
209
249
  }
210
250
  }
211
251
  catch (error) {
212
252
  // Unexpected executor or checkpoint failures must not leave an unanswered user message.
213
253
  if (accepted && !responseRecorded)
214
254
  this.messages.push({ role: 'assistant', content: '(turn failed)' });
215
- this.reportTurnError(messageId, error instanceof Error ? error.message : String(error));
255
+ this.reportTurnError(messageId, (0, model_failure_1.describeModelFailure)(error), (_a = (0, model_failure_1.userFacingModelFailure)(error)) !== null && _a !== void 0 ? _a : (0, model_failure_1.describeModelFailure)(error));
216
256
  }
217
257
  finally {
218
258
  if (accepted && !completed) {
@@ -222,8 +262,9 @@ class SessionRuntime {
222
262
  this.lastActivityAt = Date.now();
223
263
  }
224
264
  }
225
- reportTurnError(messageId, message) {
226
- console.error('[session] turn failed:', message);
265
+ /** `detail` is the failure as reported (log only); `message` is what reaches the chat. */
266
+ reportTurnError(messageId, detail, message) {
267
+ console.error('[session] turn failed:', detail);
227
268
  this.link.send({ type: 'error', messageId, message });
228
269
  }
229
270
  async loadConversation() {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/session/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/session/runtime.ts"],"names":[],"mappings":";;;;;;AAAA,gFAAgF;AAChF,qCAAwC;AACxC,0DAA4B;AAM5B,gDAAyD;AACzD,iDAAuF;AACvF,sDAAiD;AACjD,0DAAqF;AACrF,wDAAgG;AAEnF,QAAA,sBAAsB,GAAG,CAAC,GAAG,KAAM,CAAA;AAkBhD,qGAAqG;AACrG,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,MAAa,cAAc;IAkBzB,YACmB,MAA0B,EAC1B,IAAiB,EAClC,eAA2C,EAAE;;QAF5B,WAAM,GAAN,MAAM,CAAoB;QAC1B,SAAI,GAAJ,IAAI,CAAa;QAnB5B,aAAQ,GAAmB,EAAE,CAAA;QAC7B,eAAU,GAAG,CAAC,CAAA;QAEd,iBAAY,GAAG,KAAK,CAAA;QAEX,UAAK,GAAoB,EAAE,CAAA;QAIpC,iBAAY,GAAG,EAAE,CAAA;QAEjB,YAAO,GAAG,KAAK,CAAA;QAEf,mBAAc,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;QACjD,qBAAgB,GAAG,CAAC,CAAA;QACpB,mBAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAOjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,MAAA,YAAY,CAAC,WAAW,mCAAI,IAAA,sCAA0B,EAAC,MAAM,CAAC,CAAA;QACjF,IAAI,CAAC,UAAU,GAAG,MAAA,YAAY,CAAC,UAAU,mCAAI,IAAA,gCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAC7F,IAAI,CAAC,UAAU,GAAG,MAAA,YAAY,CAAC,UAAU,mCAAI,IAAI,wBAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9E,CAAC;IAED,IAAY,YAAY;;QACtB,OAAO,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,GAAG,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;QAC7C,CAAC;QACD,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,QAAQ,CAAA;QACtD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAE,CAAC,KAAK,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACtI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAExF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9F,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,SAAS,YAAY,IAAI,CAAC,UAAU,CAAC,OAAO,aAAa,QAAQ,EAAE,CAAC,CAAA;IACzH,CAAC;IAED,sFAAsF;IACtF,UAAU,CAAC,MAAc,EAAE,SAAkB;QAC3C,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;gBACrG,OAAM;YACR,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,MAAM,EAAE,CAAC,CAAA;YAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YACxE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QAC7D,CAAC,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI;;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,IAAI,CAAC,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QACrB,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAA;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,SAAkB;QAC1D,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,CAAC;eAC3B,CAAC,IAAI,CAAC,OAAO;eACb,CAAC,IAAI,CAAC,OAAO;eACb,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;eACvB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,SAAS,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,aAAa,GAAG,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,CAAA;IAC7F,CAAC;IAEO,kBAAkB,CAAC,OAAO,GAAG,8BAAsB;QACzD,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,wFAAwF;QACxF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,SAAS,GAAG,8BAAsB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/E,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;gBAClC,OAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;iBAC7B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;iBAC/E,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;QAC7C,CAAC,EAAE,OAAO,CAAC,CAAA;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAA4B;;QAC/C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;gBACrE,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,OAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;gBACrB,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,KAAK,EAAE,CAAA;gBAC3B,OAAM;YACR,KAAK,YAAY;gBACf,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;oBACvE,OAAM;gBACR,CAAC;gBACD,IAAI,OAAO,CAAC,WAAW;oBAAE,MAAM,IAAI,CAAC,QAAQ,CAAA;gBAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;gBACrD,OAAM;QACV,CAAC;IACH,CAAC;IAED,6FAA6F;IACrF,gBAAgB;QACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACpF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;YACzB,qFAAqF;YACrF,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAA;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAA;IACpE,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;IACjF,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,SAAiB;;QACzC,MAAM,UAAU,GAAG,UAAU,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;QAC3D,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,cAAc,EAAE,mCAAI,EAAE,CAAA;QACjE,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,4EAA4E,SAAS,4CAA4C;YAC3I,aAAa,EAAE,QAAQ;YACvB,OAAO,EAAE;gBACP,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,SAAS,UAAU,EAAE;gBAC5D,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE;aACrD;YACD,aAAa,EAAE,KAAK;SACrB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5G,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvF,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,IAAY;;QACnD,MAAM,IAAI,GAAe,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,eAAe,EAAE,EAAE,CAAA;QACpE,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,gBAAgB,GAAG,KAAK,CAAA;QAE5B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;YACjD,6FAA6F;YAC7F,2EAA2E;YAC3E,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;oBACvD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBAC3B,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBAChF,UAAU,GAAG,IAAI,CAAA;gBACnB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,+FAA+F,EAAE,CAAC,CAAA;oBACrJ,OAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,QAAQ,GAAG,IAAI,CAAA;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvC,SAAS;gBACT,QAAQ,EAAE,IAAA,gCAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC;gBAC1C,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;gBACnC,UAAU;gBACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,CAAA,CAAC,CAAC;gBAChE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACvC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;YACtC,gBAAgB,GAAG,IAAI,CAAA;YACvB,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,WAAW,CAAA;YAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;gBACpC,sGAAsG;gBACtG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;oBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAA;oBACxE,MAAM,MAAM,GAAG,UAAU;wBACvB,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gCAAgC,0DAA0D;wBACnK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,gDAAgD,KAAK,EAAE,CAAA;oBACtI,WAAW,IAAI,MAAM,CAAA;oBACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;oBAC/D,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;gBACpD,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;gBACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;YAClF,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,gBAAgB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;YAC/H,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wFAAwF;YACxF,IAAI,QAAQ,IAAI,CAAC,gBAAgB;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;YACtG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAA,oCAAoB,EAAC,KAAK,CAAC,EAAE,MAAA,IAAA,sCAAsB,EAAC,KAAK,CAAC,mCAAI,IAAA,oCAAoB,EAAC,KAAK,CAAC,CAAC,CAAA;QAC5H,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAA;YAClH,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAED,0FAA0F;IAClF,eAAe,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAe;QACxE,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IAEO,KAAK,CAAC,gBAAgB;;QAC5B,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAgB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM,CAAA;QACzC,IAAI,CAAC,YAAY,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,IAAI,CAAC,cAAc,EAAE,CAAA;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IACjC,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAA,gCAAiB,EAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC,CAAA;IACL,CAAC;CACF;AAxRD,wCAwRC"}
@@ -0,0 +1,11 @@
1
+ import { type JSONSchema7, type ToolCallRepairFunction, type ToolSet } from 'ai';
2
+ /** Shown in the chat for a command whose description the model left out (exec-tools.ts). */
3
+ export declare const DEFAULT_DESCRIPTION = "Analyzing the downloaded data";
4
+ /**
5
+ * The input with stringified top-level values turned into the types the schema expects, and a
6
+ * required `description` (a label for the chat, never part of the work) filled in when missing;
7
+ * undefined when nothing changed.
8
+ */
9
+ export declare function coerceToolInput(input: Record<string, unknown>, schema: JSONSchema7): Record<string, unknown> | undefined;
10
+ export declare const repairStringifiedToolInput: ToolCallRepairFunction<ToolSet>;
11
+ //# sourceMappingURL=tool-call-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.d.ts","sourceRoot":"","sources":["../src/tool-call-repair.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyB,KAAK,WAAW,EAAE,KAAK,sBAAsB,EAAE,KAAK,OAAO,EAAE,MAAM,IAAI,CAAA;AAwCvG,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,kCAAkC,CAAA;AAElE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAcxH;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAAsB,CAAC,OAAO,CAMtE,CAAA"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.repairStringifiedToolInput = exports.DEFAULT_DESCRIPTION = void 0;
4
+ exports.coerceToolInput = coerceToolInput;
5
+ // Repairs tool calls whose arguments are the right values in the wrong JSON type. Models
6
+ // sometimes send a nested argument as JSON text — fields: "[\"a\", \"b\"]" instead of
7
+ // ["a", "b"], allowed: "{…}", concurrency: "4" — and the whole call then fails validation and
8
+ // costs a step. Only top-level properties are touched, and only towards the type the tool's
9
+ // schema declares; anything else is left for the model to fix from the validation error.
10
+ const ai_1 = require("ai");
11
+ function typesOf(schema) {
12
+ var _a, _b;
13
+ const types = new Set();
14
+ if (!schema || typeof schema === 'boolean')
15
+ return types;
16
+ if (typeof schema.type === 'string')
17
+ types.add(schema.type);
18
+ else if (Array.isArray(schema.type))
19
+ schema.type.forEach((type) => types.add(type));
20
+ for (const branch of [...((_a = schema.anyOf) !== null && _a !== void 0 ? _a : []), ...((_b = schema.oneOf) !== null && _b !== void 0 ? _b : [])])
21
+ typesOf(branch).forEach((type) => types.add(type));
22
+ return types;
23
+ }
24
+ function parseJson(text) {
25
+ try {
26
+ return JSON.parse(text);
27
+ }
28
+ catch (_a) {
29
+ return undefined;
30
+ }
31
+ }
32
+ /** One value converted towards the schema's type, or the value itself when no conversion fits. */
33
+ function coerce(value, schema) {
34
+ if (typeof value !== 'string')
35
+ return value;
36
+ const types = typesOf(schema);
37
+ if (types.has('string'))
38
+ return value;
39
+ const text = value.trim();
40
+ if (types.has('array') && text.startsWith('[')) {
41
+ const parsed = parseJson(text);
42
+ if (Array.isArray(parsed))
43
+ return parsed;
44
+ }
45
+ if (types.has('object') && text.startsWith('{')) {
46
+ const parsed = parseJson(text);
47
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
48
+ return parsed;
49
+ }
50
+ if ((types.has('number') || types.has('integer')) && /^-?\d+(\.\d+)?$/.test(text))
51
+ return Number(text);
52
+ if (types.has('boolean') && (text === 'true' || text === 'false'))
53
+ return text === 'true';
54
+ return value;
55
+ }
56
+ /** Shown in the chat for a command whose description the model left out (exec-tools.ts). */
57
+ exports.DEFAULT_DESCRIPTION = 'Analyzing the downloaded data';
58
+ /**
59
+ * The input with stringified top-level values turned into the types the schema expects, and a
60
+ * required `description` (a label for the chat, never part of the work) filled in when missing;
61
+ * undefined when nothing changed.
62
+ */
63
+ function coerceToolInput(input, schema) {
64
+ var _a, _b;
65
+ const properties = (_a = schema.properties) !== null && _a !== void 0 ? _a : {};
66
+ let changed = false;
67
+ const out = {};
68
+ if (((_b = schema.required) === null || _b === void 0 ? void 0 : _b.includes('description')) && !(typeof input.description === 'string' && input.description.trim())) {
69
+ out.description = exports.DEFAULT_DESCRIPTION;
70
+ changed = true;
71
+ }
72
+ for (const [key, value] of Object.entries(input)) {
73
+ if (key === 'description' && changed && out.description === exports.DEFAULT_DESCRIPTION)
74
+ continue;
75
+ out[key] = coerce(value, properties[key]);
76
+ if (out[key] !== value)
77
+ changed = true;
78
+ }
79
+ return changed ? out : undefined;
80
+ }
81
+ const repairStringifiedToolInput = async ({ toolCall, inputSchema, error }) => {
82
+ if (!ai_1.InvalidToolInputError.isInstance(error))
83
+ return null;
84
+ const input = parseJson(toolCall.input);
85
+ if (!input || typeof input !== 'object' || Array.isArray(input))
86
+ return null;
87
+ const fixed = coerceToolInput(input, await inputSchema({ toolName: toolCall.toolName }));
88
+ return fixed ? { ...toolCall, input: JSON.stringify(fixed) } : null;
89
+ };
90
+ exports.repairStringifiedToolInput = repairStringifiedToolInput;
91
+ //# sourceMappingURL=tool-call-repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.js","sourceRoot":"","sources":["../src/tool-call-repair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-call-repair.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.test.d.ts","sourceRoot":"","sources":["../src/tool-call-repair.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const strict_1 = __importDefault(require("node:assert/strict"));
7
+ const node_test_1 = require("node:test");
8
+ const tool_call_repair_1 = require("./tool-call-repair");
9
+ const schema = {
10
+ type: 'object',
11
+ properties: {
12
+ question: { type: 'string' },
13
+ fields: { type: 'array', items: { type: 'string' } },
14
+ allowed: { type: 'object' },
15
+ concurrency: { type: 'integer' },
16
+ dryRun: { type: 'boolean' },
17
+ windows: { anyOf: [{ type: 'object' }, { type: 'null' }] },
18
+ },
19
+ };
20
+ (0, node_test_1.describe)('coerceToolInput', () => {
21
+ (0, node_test_1.it)('turns stringified arrays, objects, numbers and booleans into the declared types', () => {
22
+ const fixed = (0, tool_call_repair_1.coerceToolInput)({
23
+ question: '[not touched: a string field]',
24
+ fields: '["form_title", "purpose"]',
25
+ allowed: '{"coverage_effect": ["broadened", "restricted"]}',
26
+ concurrency: '4',
27
+ dryRun: 'true',
28
+ windows: '{"patterns": ["cancel"]}',
29
+ }, schema);
30
+ strict_1.default.deepEqual(fixed, {
31
+ question: '[not touched: a string field]',
32
+ fields: ['form_title', 'purpose'],
33
+ allowed: { coverage_effect: ['broadened', 'restricted'] },
34
+ concurrency: 4,
35
+ dryRun: true,
36
+ windows: { patterns: ['cancel'] },
37
+ });
38
+ });
39
+ (0, node_test_1.it)('leaves input it cannot fix alone', () => {
40
+ strict_1.default.equal((0, tool_call_repair_1.coerceToolInput)({ fields: ['a'], concurrency: 4 }, schema), undefined);
41
+ strict_1.default.equal((0, tool_call_repair_1.coerceToolInput)({ fields: '[broken json', concurrency: 'four' }, schema), undefined);
42
+ });
43
+ (0, node_test_1.it)('fills a missing required description so the call does not fail', () => {
44
+ const commandSchema = { type: 'object', required: ['description', 'command'], properties: { description: { type: 'string' }, command: { type: 'string' } } };
45
+ strict_1.default.deepEqual((0, tool_call_repair_1.coerceToolInput)({ command: 'ls' }, commandSchema), { description: 'Analyzing the downloaded data', command: 'ls' });
46
+ strict_1.default.deepEqual((0, tool_call_repair_1.coerceToolInput)({ description: '', command: 'ls' }, commandSchema), { description: 'Analyzing the downloaded data', command: 'ls' });
47
+ strict_1.default.equal((0, tool_call_repair_1.coerceToolInput)({ description: 'Listing files', command: 'ls' }, commandSchema), undefined);
48
+ });
49
+ });
50
+ //# sourceMappingURL=tool-call-repair.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.test.js","sourceRoot":"","sources":["../src/tool-call-repair.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export declare function createExecTools(workspaceDir: string): {
2
2
  run_command: import("ai").Tool<{
3
+ description: string;
3
4
  command: string;
4
5
  cwd?: string | undefined;
5
6
  timeoutMs?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"exec-tools.d.ts","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"AAeA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM;;;;;;EAqCnD"}
1
+ {"version":3,"file":"exec-tools.d.ts","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"AAwBA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM;;;;;;;EAgDnD"}
@@ -10,18 +10,33 @@ const child_process_1 = require("child_process");
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const ai_1 = require("ai");
12
12
  const zod_1 = require("zod");
13
+ const tool_call_repair_1 = require("../tool-call-repair");
13
14
  const MAX_OUTPUT_BYTES = 1024 * 1024;
15
+ /** Output kept in the conversation per stream; every later step re-sends it, so the rest belongs in a file. */
16
+ const MAX_INLINE_OUTPUT_CHARS = 8000;
14
17
  const DEFAULT_TIMEOUT_MS = 60000;
18
+ /** Head and tail of a long output: the start says what ran, the end how it finished. */
15
19
  function truncate(text) {
16
- if (Buffer.byteLength(text, 'utf8') <= MAX_OUTPUT_BYTES)
20
+ if (text.length <= MAX_INLINE_OUTPUT_CHARS)
17
21
  return { text, truncated: false };
18
- return { text: `${text.slice(0, MAX_OUTPUT_BYTES)}…[truncated]`, truncated: true };
22
+ const keep = MAX_INLINE_OUTPUT_CHARS / 2;
23
+ const omitted = text.length - MAX_INLINE_OUTPUT_CHARS;
24
+ return {
25
+ text: `${text.slice(0, keep)}\n…[${omitted.toLocaleString()} chars omitted — redirect the output to a file and grep it]…\n${text.slice(-keep)}`,
26
+ truncated: true,
27
+ };
19
28
  }
20
29
  function createExecTools(workspaceDir) {
21
30
  const runCommandTool = (0, ai_1.tool)({
22
31
  description: "Run a shell command inside the session's workspace (npm install, build steps, starting a dev server). Returns exit code and captured output. For a long-lived process (a dev server), background it (e.g. `nohup npm run dev &`) so this call returns promptly — the live preview picks it up once it's listening on $PORT.",
23
32
  inputSchema: zod_1.z.object({
24
- command: zod_1.z.string().min(1).max(4000).describe('Shell command run in the workspace root (or cwd)'),
33
+ // The chat shows this line instead of the command: users read what is being done, not shell syntax.
34
+ description: zod_1.z
35
+ .string()
36
+ .min(1)
37
+ .max(100)
38
+ .describe('What this command does, in plain words for a non-technical reader, e.g. "Comparing each form with its mock copy" (no file paths or shell syntax)'),
39
+ command: zod_1.z.string().min(1).max(16000).describe('Shell command run in the workspace root (or cwd); for a longer script, write it with write_files and run it'),
25
40
  cwd: zod_1.z.string().max(500).optional().describe('Workspace-relative working directory'),
26
41
  timeoutMs: zod_1.z.number().int().positive().max(300000).optional().describe('Wall-clock limit, default 60000'),
27
42
  }),
@@ -42,6 +57,11 @@ function createExecTools(workspaceDir) {
42
57
  durationMs,
43
58
  truncated: out.truncated || err.truncated,
44
59
  timedOut,
60
+ // The repair filled a missing description (tool-call-repair.ts); without a word here the
61
+ // model keeps copying its own description-less calls and the chat shows the same label.
62
+ ...(input.description === tool_call_repair_1.DEFAULT_DESCRIPTION
63
+ ? { note: 'You left out description: the user sees it as this step\'s label. Set it on every run_command.' }
64
+ : {}),
45
65
  });
46
66
  });
47
67
  void child;
@@ -1 +1 @@
1
- {"version":3,"file":"exec-tools.js","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-tools.js","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"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"}