agentdog 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/ai-gateway/auth.d.ts.map +1 -1
- package/dist/ai-gateway/auth.js +7 -1
- package/dist/ai-gateway/auth.js.map +1 -1
- package/dist/ai-gateway/auth.test.js +11 -4
- package/dist/ai-gateway/auth.test.js.map +1 -1
- package/dist/ai-gateway/call-log.d.ts +18 -0
- package/dist/ai-gateway/call-log.d.ts.map +1 -0
- package/dist/ai-gateway/call-log.js +136 -0
- package/dist/ai-gateway/call-log.js.map +1 -0
- package/dist/ai-gateway/call-log.test.d.ts +2 -0
- package/dist/ai-gateway/call-log.test.d.ts.map +1 -0
- package/dist/ai-gateway/call-log.test.js +136 -0
- package/dist/ai-gateway/call-log.test.js.map +1 -0
- package/dist/ai-gateway/count-tokens.d.ts.map +1 -1
- package/dist/ai-gateway/count-tokens.js +11 -1
- package/dist/ai-gateway/count-tokens.js.map +1 -1
- package/dist/ai-gateway/dialects.d.ts +1 -0
- package/dist/ai-gateway/dialects.d.ts.map +1 -1
- package/dist/ai-gateway/dialects.js +7 -0
- package/dist/ai-gateway/dialects.js.map +1 -1
- package/dist/ai-gateway/gateway-server.d.ts +2 -3
- package/dist/ai-gateway/gateway-server.d.ts.map +1 -1
- package/dist/ai-gateway/gateway-server.js +183 -67
- package/dist/ai-gateway/gateway-server.js.map +1 -1
- package/dist/ai-gateway/integration.test.js +237 -3
- package/dist/ai-gateway/integration.test.js.map +1 -1
- package/dist/ai-gateway/ir/anthropic-out.d.ts +15 -0
- package/dist/ai-gateway/ir/anthropic-out.d.ts.map +1 -0
- package/dist/ai-gateway/ir/anthropic-out.js +173 -0
- package/dist/ai-gateway/ir/anthropic-out.js.map +1 -0
- package/dist/ai-gateway/ir/anthropic-out.test.d.ts +2 -0
- package/dist/ai-gateway/ir/anthropic-out.test.d.ts.map +1 -0
- package/dist/ai-gateway/ir/anthropic-out.test.js +173 -0
- package/dist/ai-gateway/ir/anthropic-out.test.js.map +1 -0
- package/dist/ai-gateway/ir/openai-in.d.ts +3 -0
- package/dist/ai-gateway/ir/openai-in.d.ts.map +1 -0
- package/dist/ai-gateway/ir/openai-in.js +133 -0
- package/dist/ai-gateway/ir/openai-in.js.map +1 -0
- package/dist/ai-gateway/ir/openai-in.test.d.ts +2 -0
- package/dist/ai-gateway/ir/openai-in.test.d.ts.map +1 -0
- package/dist/ai-gateway/ir/openai-in.test.js +108 -0
- package/dist/ai-gateway/ir/openai-in.test.js.map +1 -0
- package/dist/ai-gateway/ir/openai-sse.d.ts +22 -0
- package/dist/ai-gateway/ir/openai-sse.d.ts.map +1 -0
- package/dist/ai-gateway/ir/openai-sse.js +166 -0
- package/dist/ai-gateway/ir/openai-sse.js.map +1 -0
- package/dist/ai-gateway/ir/openai-sse.test.d.ts +2 -0
- package/dist/ai-gateway/ir/openai-sse.test.d.ts.map +1 -0
- package/dist/ai-gateway/ir/openai-sse.test.js +119 -0
- package/dist/ai-gateway/ir/openai-sse.test.js.map +1 -0
- package/dist/ai-gateway/ir-channel.d.ts +14 -1
- package/dist/ai-gateway/ir-channel.d.ts.map +1 -1
- package/dist/ai-gateway/ir-channel.js +52 -11
- package/dist/ai-gateway/ir-channel.js.map +1 -1
- package/dist/ai-gateway/model-router.d.ts.map +1 -1
- package/dist/ai-gateway/model-router.js +3 -0
- package/dist/ai-gateway/model-router.js.map +1 -1
- package/dist/ai-gateway/model-router.test.js +10 -0
- package/dist/ai-gateway/model-router.test.js.map +1 -1
- package/dist/ai-gateway/models-list.d.ts +9 -0
- package/dist/ai-gateway/models-list.d.ts.map +1 -0
- package/dist/ai-gateway/models-list.js +42 -0
- package/dist/ai-gateway/models-list.js.map +1 -0
- package/dist/ai-gateway/models-list.test.d.ts +2 -0
- package/dist/ai-gateway/models-list.test.d.ts.map +1 -0
- package/dist/ai-gateway/models-list.test.js +47 -0
- package/dist/ai-gateway/models-list.test.js.map +1 -0
- package/dist/ai-gateway/openai-errors.d.ts +7 -0
- package/dist/ai-gateway/openai-errors.d.ts.map +1 -0
- package/dist/ai-gateway/openai-errors.js +23 -0
- package/dist/ai-gateway/openai-errors.js.map +1 -0
- package/dist/ai-gateway/openai-errors.test.d.ts +2 -0
- package/dist/ai-gateway/openai-errors.test.d.ts.map +1 -0
- package/dist/ai-gateway/openai-errors.test.js +38 -0
- package/dist/ai-gateway/openai-errors.test.js.map +1 -0
- package/dist/ai-gateway/passthrough.d.ts +1 -0
- package/dist/ai-gateway/passthrough.d.ts.map +1 -1
- package/dist/ai-gateway/passthrough.js +104 -0
- package/dist/ai-gateway/passthrough.js.map +1 -1
- package/dist/ai-gateway/passthrough.test.js +66 -1
- package/dist/ai-gateway/passthrough.test.js.map +1 -1
- package/dist/daemon/agentdog-daemon.d.ts +1 -1
- package/dist/daemon/agentdog-daemon.d.ts.map +1 -1
- package/dist/daemon/agentdog-daemon.js +27 -1
- package/dist/daemon/agentdog-daemon.js.map +1 -1
- package/dist/daemon/daemon-web-server.ai.test.js +30 -3
- package/dist/daemon/daemon-web-server.ai.test.js.map +1 -1
- package/dist/daemon/daemon-web-server.d.ts +2 -0
- package/dist/daemon/daemon-web-server.d.ts.map +1 -1
- package/dist/daemon/daemon-web-server.js +83 -11
- package/dist/daemon/daemon-web-server.js.map +1 -1
- package/dist/logging/jsonl-store.d.ts +23 -0
- package/dist/logging/jsonl-store.d.ts.map +1 -0
- package/dist/logging/jsonl-store.js +107 -0
- package/dist/logging/jsonl-store.js.map +1 -0
- package/dist/logging/jsonl-store.test.d.ts +2 -0
- package/dist/logging/jsonl-store.test.d.ts.map +1 -0
- package/dist/logging/jsonl-store.test.js +89 -0
- package/dist/logging/jsonl-store.test.js.map +1 -0
- package/dist/logging/server-log-manager.d.ts +3 -0
- package/dist/logging/server-log-manager.d.ts.map +1 -1
- package/dist/logging/server-log-manager.js +20 -0
- package/dist/logging/server-log-manager.js.map +1 -1
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/web/dist/assets/index-CHSrrPtl.css +1 -0
- package/web/dist/assets/index-gdp_c7vR.js +106 -0
- package/web/dist/assets/index-gdp_c7vR.js.map +1 -0
- package/web/dist/index.html +2 -2
- package/web/dist/assets/index-BdEVyQ8g.js +0 -118
- package/web/dist/assets/index-BdEVyQ8g.js.map +0 -1
- package/web/dist/assets/index-Bsl7BWhF.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/ai-gateway/integration.test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,mDAAmD;AACnD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,YAAY,EAAmC,MAAM,MAAM,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,qDAAqD;AACrD,MAAM,UAAU,GAAG;IACjB,oDAAoD;IACpD,EAAE;IACF,qEAAqE;IACrE,EAAE;IACF,yDAAyD;IACzD,EAAE;IACF,yEAAyE;IACzE,EAAE;IACF,cAAc;IACd,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,QAAa,CAAC;IAClB,IAAI,YAAoB,CAAC;IACzB,IAAI,yBAAyB,GAAG,CAAC,CAAC;IAClC,IAAI,OAAwB,CAAC;IAC7B,IAAI,MAAc,CAAC;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE1E,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,UAAU;QACV,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;YACpE,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC1B,IAAI,GAAG,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;oBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;wBACjD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;wBACrE,OAAO;oBACT,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC;wBAC5D,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;4BACrB,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;4BACnF,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE;yBACnD,CAAC,CAAC,CAAC;oBACN,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;oBAC7C,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;wBAClH,OAAO;oBACT,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAC5D,GAAG,CAAC,GAAG,CAAC,yKAAyK,CAAC,CAAC;oBACnL,KAAK,MAAM,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,YAAY,GAAI,QAAQ,CAAC,OAAO,EAAU,CAAC,IAAI,CAAC;QAEhD,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAS,CAAC,CAAC;QACjG,+CAA+C;QAC/C,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,EAAE;YACnD,UAAU;YACV,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;gBAChC,MAAM,IAAI,GAAI,KAAK,CAAC,OAAO,EAAU,CAAC,IAAI,CAAC;gBAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/F,EAAE,CAAC,aAAa,CAAC;YACf,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;YACnD,OAAO,EAAE,oBAAoB,YAAY,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI;SACnF,CAAC,CAAC;QACH,EAAE,CAAC,aAAa,CAAC;YACf,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW;YACzD,OAAO,EAAE,oBAAoB,YAAY,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI;SACvF,CAAC,CAAC;QAEH,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,cAAc,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE;YACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,wBAAwB;gBAC/B,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI;gBAC7B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,cAAc,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE;YACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,GAAG;gBAChD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,cAAc,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;YACvF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,0BAA0B,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI;gBAC/D,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACpC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,cAAc,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE;gBACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI;oBACjD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;iBAC3C,CAAC;aACH,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO;QACpE,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,GAAG,yBAAyB,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,cAAc,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE;YACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI;gBACjD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;aAC3C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,cAAc,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE;YACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/ai-gateway/integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRRequest, IREvent } from './types.js';
|
|
2
|
+
import { AIProviderConfig } from '../../types/index.js';
|
|
3
|
+
export declare function irToAnthropic(ir: IRRequest, provider: AIProviderConfig, model: string): {
|
|
4
|
+
url: string;
|
|
5
|
+
headers: Record<string, string>;
|
|
6
|
+
body: any;
|
|
7
|
+
};
|
|
8
|
+
export declare class AnthropicStreamState {
|
|
9
|
+
private blockTypes;
|
|
10
|
+
private finished;
|
|
11
|
+
eventToEvents(data: any): IREvent[];
|
|
12
|
+
}
|
|
13
|
+
export declare function anthropicSSELineToEvents(line: string, state: AnthropicStreamState): IREvent[] | null;
|
|
14
|
+
export declare function anthropicFinalToIREvents(json: any): IREvent[];
|
|
15
|
+
//# sourceMappingURL=anthropic-out.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-out.d.ts","sourceRoot":"","sources":["../../../src/ai-gateway/ir/anthropic-out.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAa,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG;IACvF,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;CACzD,CAsCA;AA+BD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAS;IAEzB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,EAAE;CA8CpC;AASD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,EAAE,GAAG,IAAI,CAapG;AAID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,EAAE,CAmB7D"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { anthropicMessagesUrl } from '../upstream/model-lister.js';
|
|
2
|
+
// ===== 请求方向 =====
|
|
3
|
+
export function irToAnthropic(ir, provider, model) {
|
|
4
|
+
const body = {
|
|
5
|
+
model,
|
|
6
|
+
max_tokens: ir.sampling.maxTokens,
|
|
7
|
+
messages: ir.messages.map(irMessageToAnthropic).filter((m) => m.content.length > 0),
|
|
8
|
+
};
|
|
9
|
+
const system = ir.system.filter(p => p.text).map(p => ({
|
|
10
|
+
type: 'text', text: p.text,
|
|
11
|
+
...(p.cache ? { cache_control: { type: 'ephemeral' } } : {}),
|
|
12
|
+
}));
|
|
13
|
+
if (system.length > 0) {
|
|
14
|
+
body.system = system;
|
|
15
|
+
}
|
|
16
|
+
// tool_choice none:Anthropic 无该类型,等价表达为不发送 tools
|
|
17
|
+
if (ir.tools.length > 0 && ir.toolChoice?.mode !== 'none') {
|
|
18
|
+
body.tools = ir.tools.map(t => ({ name: t.name, description: t.description, input_schema: t.inputSchema }));
|
|
19
|
+
if (ir.toolChoice) {
|
|
20
|
+
if (ir.toolChoice.mode === 'auto')
|
|
21
|
+
body.tool_choice = { type: 'auto' };
|
|
22
|
+
else if (ir.toolChoice.mode === 'required')
|
|
23
|
+
body.tool_choice = { type: 'any' };
|
|
24
|
+
else if (ir.toolChoice.mode === 'specific')
|
|
25
|
+
body.tool_choice = { type: 'tool', name: ir.toolChoice.name };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (ir.sampling.temperature !== undefined)
|
|
29
|
+
body.temperature = ir.sampling.temperature;
|
|
30
|
+
if (ir.sampling.topP !== undefined)
|
|
31
|
+
body.top_p = ir.sampling.topP;
|
|
32
|
+
if (ir.sampling.topK !== undefined)
|
|
33
|
+
body.top_k = ir.sampling.topK;
|
|
34
|
+
if (ir.sampling.stopSequences?.length)
|
|
35
|
+
body.stop_sequences = ir.sampling.stopSequences;
|
|
36
|
+
if (ir.stream)
|
|
37
|
+
body.stream = true;
|
|
38
|
+
return {
|
|
39
|
+
url: anthropicMessagesUrl(provider.baseUrl),
|
|
40
|
+
headers: {
|
|
41
|
+
'content-type': 'application/json',
|
|
42
|
+
'x-api-key': provider.apiKey,
|
|
43
|
+
'anthropic-version': '2023-06-01',
|
|
44
|
+
...(provider.headers || {}),
|
|
45
|
+
},
|
|
46
|
+
body,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function irMessageToAnthropic(m) {
|
|
50
|
+
const content = [];
|
|
51
|
+
for (const part of m.content) {
|
|
52
|
+
switch (part.kind) {
|
|
53
|
+
case 'text':
|
|
54
|
+
if (part.text)
|
|
55
|
+
content.push({ type: 'text', text: part.text }); // 空文本块 Anthropic 拒绝,跳过
|
|
56
|
+
break;
|
|
57
|
+
case 'image':
|
|
58
|
+
content.push({ type: 'image', source: { type: 'base64', media_type: part.mime, data: part.data } });
|
|
59
|
+
break;
|
|
60
|
+
case 'toolUse':
|
|
61
|
+
content.push({ type: 'tool_use', id: part.id, name: part.name, input: part.args ?? {} });
|
|
62
|
+
break;
|
|
63
|
+
case 'toolResult':
|
|
64
|
+
content.push({
|
|
65
|
+
type: 'tool_result', tool_use_id: part.toolUseId,
|
|
66
|
+
content: [{ type: 'text', text: part.content }],
|
|
67
|
+
...(part.isError ? { is_error: true } : {}),
|
|
68
|
+
});
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { role: m.role, content };
|
|
73
|
+
}
|
|
74
|
+
// ===== 响应方向(流式) =====
|
|
75
|
+
// Anthropic SSE 事件按 content_block index 记录块类型;事件类型在 data JSON 的 type 字段,
|
|
76
|
+
// 不依赖 "event:" 行(provider-client 逐行回调两种行都会到,非 data 行忽略)。
|
|
77
|
+
export class AnthropicStreamState {
|
|
78
|
+
blockTypes = new Map();
|
|
79
|
+
finished = false;
|
|
80
|
+
eventToEvents(data) {
|
|
81
|
+
const events = [];
|
|
82
|
+
switch (data.type) {
|
|
83
|
+
case 'message_start':
|
|
84
|
+
events.push({ type: 'messageStart' });
|
|
85
|
+
break; // message_start 内 usage 为估算占位,权威值取 message_delta
|
|
86
|
+
case 'content_block_start':
|
|
87
|
+
this.blockTypes.set(data.index, data.content_block?.type || '');
|
|
88
|
+
if (data.content_block?.type === 'tool_use') {
|
|
89
|
+
events.push({ type: 'toolCallStart', id: data.content_block.id, name: data.content_block.name });
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
case 'content_block_delta': {
|
|
93
|
+
const delta = data.delta || {};
|
|
94
|
+
if (delta.type === 'text_delta' && delta.text) {
|
|
95
|
+
events.push({ type: 'textDelta', text: delta.text });
|
|
96
|
+
}
|
|
97
|
+
else if (delta.type === 'input_json_delta' && delta.partial_json) {
|
|
98
|
+
events.push({ type: 'toolCallDelta', argsDelta: delta.partial_json });
|
|
99
|
+
}
|
|
100
|
+
// thinking_delta 丢弃(设计 P6)
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case 'content_block_stop':
|
|
104
|
+
if (this.blockTypes.get(data.index) === 'tool_use') {
|
|
105
|
+
events.push({ type: 'toolCallEnd' });
|
|
106
|
+
}
|
|
107
|
+
this.blockTypes.delete(data.index);
|
|
108
|
+
break;
|
|
109
|
+
case 'message_delta': {
|
|
110
|
+
if (!this.finished) {
|
|
111
|
+
this.finished = true;
|
|
112
|
+
events.push({ type: 'finish', reason: mapAnthropicStopReason(data.delta?.stop_reason) });
|
|
113
|
+
}
|
|
114
|
+
const usage = data.usage || {};
|
|
115
|
+
if (usage.input_tokens !== undefined || usage.output_tokens !== undefined) {
|
|
116
|
+
events.push({ type: 'usage', input: usage.input_tokens ?? 0, output: usage.output_tokens ?? 0 });
|
|
117
|
+
}
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case 'error':
|
|
121
|
+
events.push({ type: 'error', message: data.error?.message || 'upstream error' });
|
|
122
|
+
break;
|
|
123
|
+
// ping / message_stop:无 IR 事件
|
|
124
|
+
}
|
|
125
|
+
return events;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function mapAnthropicStopReason(reason) {
|
|
129
|
+
if (reason === 'tool_use')
|
|
130
|
+
return 'tool_calls';
|
|
131
|
+
if (reason === 'max_tokens')
|
|
132
|
+
return 'length';
|
|
133
|
+
return 'stop'; // end_turn / 其他
|
|
134
|
+
}
|
|
135
|
+
// SSE 行(含 "data:" 前缀)→ IR 事件;非 data 行返回 null
|
|
136
|
+
export function anthropicSSELineToEvents(line, state) {
|
|
137
|
+
if (!line.startsWith('data:')) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
const data = line.slice(5).trim();
|
|
141
|
+
if (!data) {
|
|
142
|
+
return [];
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
return state.eventToEvents(JSON.parse(data));
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// ===== 响应方向(非流式) =====
|
|
152
|
+
export function anthropicFinalToIREvents(json) {
|
|
153
|
+
const events = [{ type: 'messageStart' }];
|
|
154
|
+
for (const block of json.content || []) {
|
|
155
|
+
if (block.type === 'text' && block.text) {
|
|
156
|
+
events.push({ type: 'textDelta', text: block.text });
|
|
157
|
+
}
|
|
158
|
+
else if (block.type === 'tool_use') {
|
|
159
|
+
events.push({ type: 'toolCallStart', id: block.id, name: block.name });
|
|
160
|
+
events.push({ type: 'toolCallDelta', argsDelta: JSON.stringify(block.input ?? {}) });
|
|
161
|
+
events.push({ type: 'toolCallEnd' });
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const usage = json.usage || {};
|
|
165
|
+
if (usage.input_tokens !== undefined || usage.output_tokens !== undefined) {
|
|
166
|
+
events.push({ type: 'usage', input: usage.input_tokens ?? 0, output: usage.output_tokens ?? 0 });
|
|
167
|
+
}
|
|
168
|
+
if (json.stop_reason) {
|
|
169
|
+
events.push({ type: 'finish', reason: mapAnthropicStopReason(json.stop_reason) });
|
|
170
|
+
}
|
|
171
|
+
return events;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=anthropic-out.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-out.js","sourceRoot":"","sources":["../../../src/ai-gateway/ir/anthropic-out.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-out.test.d.ts","sourceRoot":"","sources":["../../../src/ai-gateway/ir/anthropic-out.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// src/ai-gateway/ir/anthropic-out.test.ts
|
|
2
|
+
import { describe, it, expect } from 'vitest';
|
|
3
|
+
import { irToAnthropic } from './anthropic-out.js';
|
|
4
|
+
const provider = { id: '1', slug: 'official', dialect: 'anthropic', baseUrl: 'https://api.anthropic.com', apiKey: 'sk-ant', enabled: true };
|
|
5
|
+
function baseIR(overrides = {}) {
|
|
6
|
+
return {
|
|
7
|
+
system: [], messages: [{ role: 'user', content: [{ kind: 'text', text: 'hi' }] }],
|
|
8
|
+
tools: [], toolChoice: null,
|
|
9
|
+
sampling: { maxTokens: 100, temperature: 0.5, topP: undefined, topK: undefined, stopSequences: undefined },
|
|
10
|
+
stream: false,
|
|
11
|
+
...overrides,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
describe('irToAnthropic', () => {
|
|
15
|
+
it('基础请求:max_tokens 必填、认证头、URL', () => {
|
|
16
|
+
const { url, headers, body } = irToAnthropic(baseIR(), provider, 'claude-sonnet-4');
|
|
17
|
+
expect(url).toBe('https://api.anthropic.com/v1/messages');
|
|
18
|
+
expect(headers['x-api-key']).toBe('sk-ant');
|
|
19
|
+
expect(headers['anthropic-version']).toBe('2023-06-01');
|
|
20
|
+
expect(body.model).toBe('claude-sonnet-4');
|
|
21
|
+
expect(body.max_tokens).toBe(100);
|
|
22
|
+
expect(body.messages).toEqual([{ role: 'user', content: [{ type: 'text', text: 'hi' }] }]);
|
|
23
|
+
});
|
|
24
|
+
it('system cache 标记还原为 cache_control', () => {
|
|
25
|
+
const { body } = irToAnthropic(baseIR({
|
|
26
|
+
system: [
|
|
27
|
+
{ kind: 'text', text: '规则A' },
|
|
28
|
+
{ kind: 'text', text: '规则B', cache: true },
|
|
29
|
+
],
|
|
30
|
+
}), provider, 'm');
|
|
31
|
+
expect(body.system).toEqual([
|
|
32
|
+
{ type: 'text', text: '规则A' },
|
|
33
|
+
{ type: 'text', text: '规则B', cache_control: { type: 'ephemeral' } },
|
|
34
|
+
]);
|
|
35
|
+
});
|
|
36
|
+
it('内容块映射:image / tool_use / tool_result(is_error)', () => {
|
|
37
|
+
const { body } = irToAnthropic(baseIR({
|
|
38
|
+
messages: [
|
|
39
|
+
{ role: 'user', content: [
|
|
40
|
+
{ kind: 'image', mime: 'image/png', data: 'QUJD' },
|
|
41
|
+
{ kind: 'toolResult', toolUseId: 't1', content: '失败', isError: true },
|
|
42
|
+
] },
|
|
43
|
+
{ role: 'assistant', content: [{ kind: 'toolUse', id: 't1', name: 'f', args: { a: 1 } }] },
|
|
44
|
+
],
|
|
45
|
+
}), provider, 'm');
|
|
46
|
+
expect(body.messages[0].content).toEqual([
|
|
47
|
+
{ type: 'image', source: { type: 'base64', media_type: 'image/png', data: 'QUJD' } },
|
|
48
|
+
{ type: 'tool_result', tool_use_id: 't1', content: [{ type: 'text', text: '失败' }], is_error: true },
|
|
49
|
+
]);
|
|
50
|
+
expect(body.messages[1].content).toEqual([{ type: 'tool_use', id: 't1', name: 'f', input: { a: 1 } }]);
|
|
51
|
+
});
|
|
52
|
+
it('tools + tool_choice 映射:required→any、specific→tool', () => {
|
|
53
|
+
const { body } = irToAnthropic(baseIR({
|
|
54
|
+
tools: [{ name: 'f', description: 'd', inputSchema: { type: 'object' } }],
|
|
55
|
+
toolChoice: { mode: 'required' },
|
|
56
|
+
}), provider, 'm');
|
|
57
|
+
expect(body.tools).toEqual([{ name: 'f', description: 'd', input_schema: { type: 'object' } }]);
|
|
58
|
+
expect(body.tool_choice).toEqual({ type: 'any' });
|
|
59
|
+
const { body: b2 } = irToAnthropic(baseIR({
|
|
60
|
+
tools: [{ name: 'f', description: '', inputSchema: {} }],
|
|
61
|
+
toolChoice: { mode: 'specific', name: 'f' },
|
|
62
|
+
}), provider, 'm');
|
|
63
|
+
expect(b2.tool_choice).toEqual({ type: 'tool', name: 'f' });
|
|
64
|
+
});
|
|
65
|
+
it('tool_choice none:不发送 tools 也不发送 tool_choice', () => {
|
|
66
|
+
const { body } = irToAnthropic(baseIR({
|
|
67
|
+
tools: [{ name: 'f', description: '', inputSchema: {} }],
|
|
68
|
+
toolChoice: { mode: 'none' },
|
|
69
|
+
}), provider, 'm');
|
|
70
|
+
expect(body.tools).toBeUndefined();
|
|
71
|
+
expect(body.tool_choice).toBeUndefined();
|
|
72
|
+
});
|
|
73
|
+
it('空文本块跳过;空 content 消息被过滤', () => {
|
|
74
|
+
const { body } = irToAnthropic(baseIR({
|
|
75
|
+
messages: [
|
|
76
|
+
{ role: 'user', content: [{ kind: 'text', text: '' }] },
|
|
77
|
+
{ role: 'user', content: [{ kind: 'text', text: 'ok' }] },
|
|
78
|
+
],
|
|
79
|
+
}), provider, 'm');
|
|
80
|
+
expect(body.messages).toEqual([{ role: 'user', content: [{ type: 'text', text: 'ok' }] }]);
|
|
81
|
+
});
|
|
82
|
+
it('stream 与采样参数', () => {
|
|
83
|
+
const { body } = irToAnthropic(baseIR({
|
|
84
|
+
sampling: { maxTokens: 10, temperature: undefined, topP: 0.9, topK: 3, stopSequences: ['END'] },
|
|
85
|
+
stream: true,
|
|
86
|
+
}), provider, 'm');
|
|
87
|
+
expect(body.stream).toBe(true);
|
|
88
|
+
expect(body.top_p).toBe(0.9);
|
|
89
|
+
expect(body.top_k).toBe(3);
|
|
90
|
+
expect(body.stop_sequences).toEqual(['END']);
|
|
91
|
+
expect(body.temperature).toBeUndefined();
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
import { AnthropicStreamState, anthropicSSELineToEvents, anthropicFinalToIREvents } from './anthropic-out.js';
|
|
95
|
+
function feedSSE(lines) {
|
|
96
|
+
const state = new AnthropicStreamState();
|
|
97
|
+
const events = [];
|
|
98
|
+
for (const line of lines) {
|
|
99
|
+
const out = anthropicSSELineToEvents(line, state);
|
|
100
|
+
if (out)
|
|
101
|
+
events.push(...out);
|
|
102
|
+
}
|
|
103
|
+
return events;
|
|
104
|
+
}
|
|
105
|
+
describe('anthropic SSE → IR 事件', () => {
|
|
106
|
+
it('文本 + 工具调用 + usage + stop_reason 完整序列', () => {
|
|
107
|
+
const events = feedSSE([
|
|
108
|
+
'event: message_start',
|
|
109
|
+
'data: {"type":"message_start","message":{"usage":{"input_tokens":5,"output_tokens":0}}}',
|
|
110
|
+
'data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}',
|
|
111
|
+
'data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"好"}}',
|
|
112
|
+
'data: {"type":"content_block_stop","index":0}',
|
|
113
|
+
'data: {"type":"content_block_start","index":1,"content_block":{"type":"tool_use","id":"t1","name":"f","input":{}}}',
|
|
114
|
+
'data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"{\\"a\\":"}}',
|
|
115
|
+
'data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"1}"}}',
|
|
116
|
+
'data: {"type":"content_block_stop","index":1}',
|
|
117
|
+
'data: {"type":"ping"}',
|
|
118
|
+
'data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":9,"output_tokens":8}}',
|
|
119
|
+
'data: {"type":"message_stop"}',
|
|
120
|
+
]);
|
|
121
|
+
expect(events).toEqual([
|
|
122
|
+
{ type: 'messageStart' },
|
|
123
|
+
{ type: 'textDelta', text: '好' },
|
|
124
|
+
{ type: 'toolCallStart', id: 't1', name: 'f' },
|
|
125
|
+
{ type: 'toolCallDelta', argsDelta: '{"a":' },
|
|
126
|
+
{ type: 'toolCallDelta', argsDelta: '1}' },
|
|
127
|
+
{ type: 'toolCallEnd' },
|
|
128
|
+
{ type: 'finish', reason: 'tool_calls' },
|
|
129
|
+
{ type: 'usage', input: 9, output: 8 },
|
|
130
|
+
]);
|
|
131
|
+
});
|
|
132
|
+
it('thinking_delta 丢弃;text 块 content_block_stop 不产 toolCallEnd', () => {
|
|
133
|
+
const events = feedSSE([
|
|
134
|
+
'data: {"type":"content_block_start","index":0,"content_block":{"type":"thinking","thinking":""}}',
|
|
135
|
+
'data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":"内部思考"}}',
|
|
136
|
+
'data: {"type":"content_block_stop","index":0}',
|
|
137
|
+
'data: {"type":"message_delta","delta":{"stop_reason":"max_tokens"},"usage":{"input_tokens":1,"output_tokens":2}}',
|
|
138
|
+
]);
|
|
139
|
+
expect(events).toEqual([
|
|
140
|
+
{ type: 'finish', reason: 'length' },
|
|
141
|
+
{ type: 'usage', input: 1, output: 2 },
|
|
142
|
+
]);
|
|
143
|
+
});
|
|
144
|
+
it('流内 error 事件 → error IREvent', () => {
|
|
145
|
+
const events = feedSSE(['data: {"type":"error","error":{"type":"overloaded_error","message":"overloaded"}}']);
|
|
146
|
+
expect(events).toEqual([{ type: 'error', message: 'overloaded' }]);
|
|
147
|
+
});
|
|
148
|
+
it('非 data 行返回 null', () => {
|
|
149
|
+
expect(anthropicSSELineToEvents('event: ping', new AnthropicStreamState())).toBeNull();
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
describe('anthropicFinalToIREvents(非流式)', () => {
|
|
153
|
+
it('Message JSON → IR 事件序列', () => {
|
|
154
|
+
const events = anthropicFinalToIREvents({
|
|
155
|
+
content: [
|
|
156
|
+
{ type: 'text', text: '你好' },
|
|
157
|
+
{ type: 'tool_use', id: 't1', name: 'f', input: { a: 1 } },
|
|
158
|
+
],
|
|
159
|
+
stop_reason: 'tool_use',
|
|
160
|
+
usage: { input_tokens: 7, output_tokens: 3 },
|
|
161
|
+
});
|
|
162
|
+
expect(events).toEqual([
|
|
163
|
+
{ type: 'messageStart' },
|
|
164
|
+
{ type: 'textDelta', text: '你好' },
|
|
165
|
+
{ type: 'toolCallStart', id: 't1', name: 'f' },
|
|
166
|
+
{ type: 'toolCallDelta', argsDelta: '{"a":1}' },
|
|
167
|
+
{ type: 'toolCallEnd' },
|
|
168
|
+
{ type: 'usage', input: 7, output: 3 },
|
|
169
|
+
{ type: 'finish', reason: 'tool_calls' },
|
|
170
|
+
]);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=anthropic-out.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-out.test.js","sourceRoot":"","sources":["../../../src/ai-gateway/ir/anthropic-out.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-in.d.ts","sourceRoot":"","sources":["../../../src/ai-gateway/ir/openai-in.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAA+C,MAAM,YAAY,CAAC;AAEpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAwC/C"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
export function openaiToIR(body) {
|
|
2
|
+
const system = [];
|
|
3
|
+
const messages = [];
|
|
4
|
+
let pendingTools = []; // 连续 role:tool 缓冲
|
|
5
|
+
for (const m of body.messages || []) {
|
|
6
|
+
if (m.role === 'system' || m.role === 'developer') {
|
|
7
|
+
const text = extractText(m.content);
|
|
8
|
+
if (text) {
|
|
9
|
+
system.push({ kind: 'text', text });
|
|
10
|
+
}
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if (m.role === 'tool') {
|
|
14
|
+
pendingTools.push({ toolUseId: m.tool_call_id || '', content: extractText(m.content) });
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (m.role === 'function') {
|
|
18
|
+
continue; // 旧版 function role 无 tool_call_id 无法配对,忽略(调用方可记 debug)
|
|
19
|
+
}
|
|
20
|
+
flushTools(messages, pendingTools);
|
|
21
|
+
messages.push(m.role === 'assistant' ? parseAssistant(m) : parseUser(m));
|
|
22
|
+
}
|
|
23
|
+
flushTools(messages, pendingTools);
|
|
24
|
+
return {
|
|
25
|
+
system,
|
|
26
|
+
messages,
|
|
27
|
+
tools: (body.tools || [])
|
|
28
|
+
.filter((t) => t.type === 'function' && t.function)
|
|
29
|
+
.map((t) => ({ name: t.function.name, description: t.function.description || '', inputSchema: t.function.parameters ?? {} })),
|
|
30
|
+
toolChoice: parseToolChoice(body.tool_choice),
|
|
31
|
+
sampling: {
|
|
32
|
+
maxTokens: body.max_completion_tokens ?? body.max_tokens ?? 4096,
|
|
33
|
+
temperature: body.temperature,
|
|
34
|
+
topP: body.top_p,
|
|
35
|
+
stopSequences: normalizeStop(body.stop),
|
|
36
|
+
},
|
|
37
|
+
stream: body.stream === true,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function flushTools(messages, pending) {
|
|
41
|
+
if (pending.length === 0) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
messages.push({
|
|
45
|
+
role: 'user',
|
|
46
|
+
content: pending.splice(0).map(t => ({ kind: 'toolResult', toolUseId: t.toolUseId, content: t.content, isError: false })),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function parseAssistant(m) {
|
|
50
|
+
const content = [];
|
|
51
|
+
if (typeof m.content === 'string') {
|
|
52
|
+
if (m.content) {
|
|
53
|
+
content.push({ kind: 'text', text: m.content });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else if (Array.isArray(m.content)) {
|
|
57
|
+
for (const part of m.content) {
|
|
58
|
+
if (part.type === 'text' && part.text) {
|
|
59
|
+
content.push({ kind: 'text', text: part.text });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
for (const tc of m.tool_calls || []) {
|
|
64
|
+
let args = {};
|
|
65
|
+
try {
|
|
66
|
+
args = tc.function?.arguments ? JSON.parse(tc.function.arguments) : {};
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
args = {};
|
|
70
|
+
}
|
|
71
|
+
content.push({ kind: 'toolUse', id: tc.id, name: tc.function?.name || '', args });
|
|
72
|
+
}
|
|
73
|
+
return { role: 'assistant', content };
|
|
74
|
+
}
|
|
75
|
+
function parseUser(m) {
|
|
76
|
+
const content = [];
|
|
77
|
+
if (typeof m.content === 'string') {
|
|
78
|
+
content.push({ kind: 'text', text: m.content });
|
|
79
|
+
}
|
|
80
|
+
else if (Array.isArray(m.content)) {
|
|
81
|
+
for (const part of m.content) {
|
|
82
|
+
if (part.type === 'text') {
|
|
83
|
+
content.push({ kind: 'text', text: part.text || '' });
|
|
84
|
+
}
|
|
85
|
+
else if (part.type === 'image_url') {
|
|
86
|
+
const url = part.image_url?.url || '';
|
|
87
|
+
const match = /^data:([^;]+);base64,(.+)$/.exec(url);
|
|
88
|
+
if (match) {
|
|
89
|
+
content.push({ kind: 'image', mime: match[1], data: match[2] });
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
content.push({ kind: 'text', text: '[unsupported image url]' });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { role: 'user', content };
|
|
98
|
+
}
|
|
99
|
+
// content 可为 string 或 {type:'text'} parts 数组
|
|
100
|
+
function extractText(content) {
|
|
101
|
+
if (typeof content === 'string') {
|
|
102
|
+
return content;
|
|
103
|
+
}
|
|
104
|
+
if (Array.isArray(content)) {
|
|
105
|
+
return content.filter((p) => p.type === 'text').map((p) => p.text || '').join('');
|
|
106
|
+
}
|
|
107
|
+
return '';
|
|
108
|
+
}
|
|
109
|
+
function parseToolChoice(tc) {
|
|
110
|
+
if (!tc) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
if (tc === 'auto')
|
|
114
|
+
return { mode: 'auto' };
|
|
115
|
+
if (tc === 'none')
|
|
116
|
+
return { mode: 'none' };
|
|
117
|
+
if (tc === 'required')
|
|
118
|
+
return { mode: 'required' };
|
|
119
|
+
if (tc.type === 'function' && tc.function?.name)
|
|
120
|
+
return { mode: 'specific', name: tc.function.name };
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
// stop 可为 string 或 string[],归一为数组;缺省 undefined
|
|
124
|
+
function normalizeStop(stop) {
|
|
125
|
+
if (typeof stop === 'string') {
|
|
126
|
+
return [stop];
|
|
127
|
+
}
|
|
128
|
+
if (Array.isArray(stop) && stop.length) {
|
|
129
|
+
return stop.filter((s) => typeof s === 'string');
|
|
130
|
+
}
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=openai-in.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-in.js","sourceRoot":"","sources":["../../../src/ai-gateway/ir/openai-in.ts"],"names":[],"mappings":"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"}
|