@code-yeongyu/senpi 2026.9.28-4 → 2026.9.28-5
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/CHANGELOG.md +18 -0
- package/dist/bundle/chunks/{anthropic-messages-W2XLZZ35.js → anthropic-messages-GG4ZKS6A.js} +2 -2
- package/dist/bundle/chunks/{app-server-command-7LBMB34E.js → app-server-command-3AJWPHKJ.js} +1 -1
- package/dist/bundle/chunks/{azure-openai-responses-WNELC744.js → azure-openai-responses-ZAJSIEAV.js} +1 -1
- package/dist/bundle/chunks/{chunk-UTGOAXS6.js → chunk-4BDFNRBE.js} +1 -1
- package/dist/bundle/chunks/{chunk-OLQI7DUR.js → chunk-7SFG425F.js} +1 -1
- package/dist/bundle/chunks/chunk-7X4ZMME4.js +2 -0
- package/dist/bundle/chunks/chunk-BQGVC47Y.js +3 -0
- package/dist/bundle/chunks/chunk-C5I2LUOI.js +2 -0
- package/dist/bundle/chunks/{chunk-3JX3X45G.js → chunk-CXVI2YV7.js} +1 -1
- package/dist/bundle/chunks/{chunk-RKIAHDIB.js → chunk-EXUI5D5V.js} +14 -13
- package/dist/bundle/chunks/chunk-J5TMX734.js +2 -0
- package/dist/bundle/chunks/{chunk-TYN6XEJL.js → chunk-JCMOKXWG.js} +1 -1
- package/dist/bundle/chunks/{chunk-WQO75X37.js → chunk-JGRPPPHS.js} +1 -1
- package/dist/bundle/chunks/{chunk-YHT3LLIA.js → chunk-K3SEG6TJ.js} +1 -1
- package/dist/bundle/chunks/{chunk-ZORNIKXN.js → chunk-KDZAVHA7.js} +1 -1
- package/dist/bundle/chunks/{chunk-HVFSRIJI.js → chunk-KR2TJOGO.js} +1 -1
- package/dist/bundle/chunks/chunk-KRNXUTZJ.js +2 -0
- package/dist/bundle/chunks/{chunk-OH4ONX6R.js → chunk-LEAJXPT2.js} +4 -4
- package/dist/bundle/chunks/{chunk-7FIDRH2I.js → chunk-MMHQLGF2.js} +1 -1
- package/dist/bundle/chunks/{chunk-O3D7S64D.js → chunk-OHJLQ7BY.js} +1 -1
- package/dist/bundle/chunks/chunk-TJV2LFKM.js +2 -0
- package/dist/bundle/chunks/{chunk-6WDC7AEV.js → chunk-UDTWLXSQ.js} +1 -1
- package/dist/bundle/chunks/chunk-XNIX26QC.js +8 -0
- package/dist/bundle/chunks/{chunk-5LYDQMQY.js → chunk-XPJLBOWV.js} +1 -1
- package/dist/bundle/chunks/{chunk-C5FRNOUP.js → chunk-XYGXUFMG.js} +1 -1
- package/dist/bundle/chunks/{chunk-3JR7GC6P.js → chunk-YEMM3LPR.js} +1 -1
- package/dist/bundle/chunks/{chunk-KAFTHZWC.js → chunk-YLIS5N3W.js} +1 -1
- package/dist/bundle/chunks/{chunk-4BK43Q6Z.js → chunk-Z5NVK72W.js} +1 -1
- package/dist/bundle/chunks/cli-main-NUSBF3HE.js +3 -0
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/{google-generative-ai-FUULH4UE.js → google-generative-ai-C4YRAMFN.js} +1 -1
- package/dist/bundle/chunks/{google-vertex-PLXS45T4.js → google-vertex-4ZM6HGYI.js} +1 -1
- package/dist/bundle/chunks/help-fast-path-A4S4KOQ6.js +2 -0
- package/dist/bundle/chunks/host-command-D2CHSATG.js +2 -0
- package/dist/bundle/chunks/host-lifecycle-S7O5K62Z.js +3 -0
- package/dist/bundle/chunks/interactive-host-runtime-AAK47HIV.js +4 -0
- package/dist/bundle/chunks/interactive-mode-LSTD6EUQ.js +2 -0
- package/dist/bundle/chunks/{mistral-conversations-G5CGRCMV.js → mistral-conversations-7SROSYOE.js} +1 -1
- package/dist/bundle/chunks/{multi-session-host-GJCSLVES.js → multi-session-host-5WNZ7XRV.js} +1 -1
- package/dist/bundle/chunks/{openai-codex-responses-4JOIWFJF.js → openai-codex-responses-2ZNOPGE4.js} +1 -1
- package/dist/bundle/chunks/{openai-completions-XDHNDF3Z.js → openai-completions-DVEOAQK4.js} +1 -1
- package/dist/bundle/chunks/{openai-images-I7DR7ERP.js → openai-images-AEFVNUTL.js} +1 -1
- package/dist/bundle/chunks/openai-responses-7H2ADNW4.js +2 -0
- package/dist/bundle/chunks/{openrouter-images-IPNDRK6C.js → openrouter-images-N4NZJKSF.js} +1 -1
- package/dist/bundle/chunks/{package-manager-cli-E2SGFMXL.js → package-manager-cli-3HZYQYVX.js} +1 -1
- package/dist/bundle/chunks/rotation-stream-F36RJ6VP.js +2 -0
- package/dist/bundle/chunks/rpc-mode-GMPBEVSL.js +2 -0
- package/dist/bundle/chunks/{schedule-command-UKBZQK3Y.js → schedule-command-BYWZGYOJ.js} +1 -1
- package/dist/bundle/chunks/session-picker-6VU2F5VF.js +2 -0
- package/dist/bundle/chunks/session-worker.js +175 -173
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/core/credential-pool/rejected-token-retry.d.ts +24 -0
- package/dist/core/credential-pool/rejected-token-retry.d.ts.map +1 -0
- package/dist/core/credential-pool/rejected-token-retry.js +76 -0
- package/dist/core/credential-pool/rejected-token-retry.js.map +1 -0
- package/dist/core/credential-pool/rotation-events.d.ts +1 -0
- package/dist/core/credential-pool/rotation-events.d.ts.map +1 -1
- package/dist/core/credential-pool/rotation-events.js +4 -2
- package/dist/core/credential-pool/rotation-events.js.map +1 -1
- package/dist/core/extensions/builtin/goal/agent-end-continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/agent-end-continuation.js +13 -1
- package/dist/core/extensions/builtin/goal/agent-end-continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation-recovery.d.ts +8 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation-recovery.js +22 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.js.map +1 -1
- package/dist/core/extensions/builtin/goal/terminal-provider-error.d.ts +11 -0
- package/dist/core/extensions/builtin/goal/terminal-provider-error.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/terminal-provider-error.js +31 -0
- package/dist/core/extensions/builtin/goal/terminal-provider-error.js.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +7 -0
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +34 -19
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/retry-fallback/cooldown.d.ts.map +1 -1
- package/dist/core/retry-fallback/cooldown.js +2 -1
- package/dist/core/retry-fallback/cooldown.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +13 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +12 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +8 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-errors.d.ts +9 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-errors.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-errors.js +75 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-errors.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-headers.d.ts +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-headers.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-headers.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-headers.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +8 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +21 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot-model-catalog.d.ts +7 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot-model-catalog.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot-model-catalog.js +46 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot-model-catalog.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js +6 -41
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts +6 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +6 -5
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts +7 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-limits.d.ts +11 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-limits.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-limits.js +65 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-limits.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js +9 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/github-copilot-tool-limit.d.ts +10 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/github-copilot-tool-limit.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/github-copilot-tool-limit.js +75 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/github-copilot-tool-limit.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +15 -3
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +7 -7
- package/dist/bundle/chunks/chunk-2E2FN2VJ.js +0 -2
- package/dist/bundle/chunks/chunk-DM3AVOKA.js +0 -2
- package/dist/bundle/chunks/chunk-EDU27GXU.js +0 -2
- package/dist/bundle/chunks/chunk-NAIMNKNG.js +0 -2
- package/dist/bundle/chunks/chunk-PUWVIQW6.js +0 -2
- package/dist/bundle/chunks/chunk-S5Q3WPVR.js +0 -8
- package/dist/bundle/chunks/cli-main-LVTTAX7I.js +0 -3
- package/dist/bundle/chunks/help-fast-path-PCN7D4UN.js +0 -2
- package/dist/bundle/chunks/host-command-FETBGITW.js +0 -2
- package/dist/bundle/chunks/host-lifecycle-FW6LQ6SW.js +0 -3
- package/dist/bundle/chunks/interactive-host-runtime-7RUBGCMP.js +0 -4
- package/dist/bundle/chunks/interactive-mode-FDQ4N3JQ.js +0 -2
- package/dist/bundle/chunks/openai-responses-MQUMRQVY.js +0 -2
- package/dist/bundle/chunks/rotation-stream-3KJLEXQQ.js +0 -2
- package/dist/bundle/chunks/rpc-mode-435L7DOL.js +0 -2
- package/dist/bundle/chunks/session-picker-JHFPLMON.js +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/senpi-codemode",
|
|
3
|
-
"version": "2026.9.28-
|
|
3
|
+
"version": "2026.9.28-5",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Source-only senpi extension package for codemode evaluation tools",
|
|
6
6
|
"type": "module",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/parser": "8.0.4",
|
|
34
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.28-
|
|
34
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.28-5",
|
|
35
35
|
"typebox": "1.3.34"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@code-yeongyu/senpi": "2026.9.28-
|
|
38
|
+
"@code-yeongyu/senpi": "2026.9.28-5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@code-yeongyu/senpi": "2026.9.28-
|
|
41
|
+
"@code-yeongyu/senpi": "2026.9.28-5"
|
|
42
42
|
},
|
|
43
43
|
"keywords": [
|
|
44
44
|
"senpi",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-agent-core",
|
|
3
|
-
"version": "2026.9.28-
|
|
3
|
+
"version": "2026.9.28-5",
|
|
4
4
|
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@earendil-works/chord": "0.85.1",
|
|
60
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.28-
|
|
61
|
-
"@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.9.28-
|
|
60
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.28-5",
|
|
61
|
+
"@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.9.28-5",
|
|
62
62
|
"diff": "9.0.0",
|
|
63
63
|
"ignore": "7.0.9",
|
|
64
64
|
"typebox": "1.3.34",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-messages.d.ts","sourceRoot":"","sources":["../../src/api/anthropic-messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAMX,+BAA+B,EAK/B,MAAM,uDAAuD,CAAC;AAI/D,OAAO,KAAK,EACX,wBAAwB,EAKxB,OAAO,EAGP,KAAK,EAGL,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAGb,IAAI,EAIJ,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic-messages.d.ts","sourceRoot":"","sources":["../../src/api/anthropic-messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAMX,+BAA+B,EAK/B,MAAM,uDAAuD,CAAC;AAI/D,OAAO,KAAK,EACX,wBAAwB,EAKxB,OAAO,EAGP,KAAK,EAGL,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAGb,IAAI,EAIJ,MAAM,aAAa,CAAC;AAkDrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA0ElE,eAAO,MAAM,gBAAgB,SAAU,MAAM,WAC2B,CAAC;AACzE,eAAO,MAAM,kBAAkB,SAAU,MAAM,UAAU,IAAI,EAAE,WAS9D,CAAC;AA4EF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,SAAS,CAAC;AA+FhE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAmvBD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAgezE,CAAC;AAyFF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CA+ClF,CAAC;AAmJF,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACxB,+BAA+B,CAkBjC"}
|
|
@@ -7,6 +7,7 @@ import { combineAbortSignals } from "../utils/abort-signals.js";
|
|
|
7
7
|
import { splitDeferredTools } from "../utils/deferred-tools.js";
|
|
8
8
|
import { appendAssistantMessageDiagnostic } from "../utils/diagnostics.js";
|
|
9
9
|
import { AssistantMessageEventStream } from "../utils/event-stream.js";
|
|
10
|
+
import { formatGitHubCopilotToolLimitError, limitGitHubCopilotTools, recordGitHubCopilotToolLimit, } from "../utils/github-copilot-tool-limit.js";
|
|
10
11
|
import { headersToRecord, providerHeadersToRecord } from "../utils/headers.js";
|
|
11
12
|
import { parseJsonWithRepair, parseStreamingJson } from "../utils/json-parse.js";
|
|
12
13
|
import { getPiUserAgent } from "../utils/pi-user-agent.js";
|
|
@@ -26,6 +27,7 @@ import { sanitizeAnthropicToolPairs } from "./anthropic-tool-pairs.js";
|
|
|
26
27
|
import { demoteUnavailableToolReferences } from "./anthropic-tool-references.js";
|
|
27
28
|
import { resolveCloudflareBaseUrl } from "./cloudflare.js";
|
|
28
29
|
import { getJsonSchemaToolParameters, resolveJsonSchemaStrictSampling } from "./constrained-sampling.js";
|
|
30
|
+
import { withGitHubCopilotFailureNote } from "./github-copilot-errors.js";
|
|
29
31
|
import { buildCopilotDynamicHeaders, hasCopilotVisionInput } from "./github-copilot-headers.js";
|
|
30
32
|
import { ANTHROPIC_RESERVED_BODY_KEYS, adjustMaxTokensForThinking, buildBaseOptions, clampMaxTokensToContext, } from "./simple-options.js";
|
|
31
33
|
import { transformMessages } from "./transform-messages.js";
|
|
@@ -885,6 +887,11 @@ export const stream = (model, context, options) => {
|
|
|
885
887
|
params = sanitizeAnthropicToolPairs(demoteUnavailableToolReferences(params));
|
|
886
888
|
const payloadRequestMetadata = extractPayloadRequestMetadata(params);
|
|
887
889
|
params = payloadRequestMetadata.params;
|
|
890
|
+
const limitedTools = limitGitHubCopilotTools(model.provider, params.tools, params.tool_choice);
|
|
891
|
+
if (limitedTools.omittedCount > 0) {
|
|
892
|
+
params = { ...params, tools: limitedTools.tools };
|
|
893
|
+
recordGitHubCopilotToolLimit(output, limitedTools.omittedCount);
|
|
894
|
+
}
|
|
888
895
|
const requestOptions = {
|
|
889
896
|
...(requestSignal ? { signal: requestSignal } : {}),
|
|
890
897
|
...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),
|
|
@@ -1253,7 +1260,7 @@ export const stream = (model, context, options) => {
|
|
|
1253
1260
|
const providerDiagnostic = output.stopReason === "error" ? readProviderDiagnostic(error) : undefined;
|
|
1254
1261
|
if (providerDiagnostic !== undefined)
|
|
1255
1262
|
output.providerDiagnostic = providerDiagnostic;
|
|
1256
|
-
output.errorMessage = errorMessage;
|
|
1263
|
+
output.errorMessage = withGitHubCopilotFailureNote(formatGitHubCopilotToolLimitError(output, errorMessage), model.provider, error);
|
|
1257
1264
|
stream.push({ type: "error", reason: output.stopReason, error: output });
|
|
1258
1265
|
stream.end();
|
|
1259
1266
|
}
|