@seanhogg/builderforce-memory 2026.9.29 → 2026.9.31

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 (118) hide show
  1. package/dist/bridges/AnthropicBridge.d.ts.map +1 -1
  2. package/dist/bridges/AnthropicBridge.js +24 -65
  3. package/dist/bridges/AnthropicBridge.js.map +1 -1
  4. package/dist/bridges/FetchBridge.d.ts +12 -5
  5. package/dist/bridges/FetchBridge.d.ts.map +1 -1
  6. package/dist/bridges/FetchBridge.js +6 -4
  7. package/dist/bridges/FetchBridge.js.map +1 -1
  8. package/dist/bridges/OpenAIBridge.d.ts +17 -4
  9. package/dist/bridges/OpenAIBridge.d.ts.map +1 -1
  10. package/dist/bridges/OpenAIBridge.js +71 -94
  11. package/dist/bridges/OpenAIBridge.js.map +1 -1
  12. package/dist/bridges/TransformerBridge.d.ts +6 -0
  13. package/dist/bridges/TransformerBridge.d.ts.map +1 -1
  14. package/dist/bridges/VertexAIBridge.d.ts.map +1 -1
  15. package/dist/bridges/VertexAIBridge.js +3 -34
  16. package/dist/bridges/VertexAIBridge.js.map +1 -1
  17. package/dist/distillation/DistillationEngine.d.ts +71 -54
  18. package/dist/distillation/DistillationEngine.d.ts.map +1 -1
  19. package/dist/distillation/DistillationEngine.js +112 -95
  20. package/dist/distillation/DistillationEngine.js.map +1 -1
  21. package/dist/distillation/index.d.ts +7 -1
  22. package/dist/distillation/index.d.ts.map +1 -1
  23. package/dist/distillation/index.js +5 -0
  24. package/dist/distillation/index.js.map +1 -1
  25. package/dist/distillation/ports.d.ts +43 -0
  26. package/dist/distillation/ports.d.ts.map +1 -0
  27. package/dist/distillation/ports.js +29 -0
  28. package/dist/distillation/ports.js.map +1 -0
  29. package/dist/eval/EvalHarness.d.ts +2 -1
  30. package/dist/eval/EvalHarness.d.ts.map +1 -1
  31. package/dist/eval/EvalHarness.js +13 -1
  32. package/dist/eval/EvalHarness.js.map +1 -1
  33. package/dist/eval/baseline.d.ts +33 -0
  34. package/dist/eval/baseline.d.ts.map +1 -0
  35. package/dist/eval/baseline.js +41 -0
  36. package/dist/eval/baseline.js.map +1 -0
  37. package/dist/eval/index.d.ts +1 -0
  38. package/dist/eval/index.d.ts.map +1 -1
  39. package/dist/eval/index.js +1 -0
  40. package/dist/eval/index.js.map +1 -1
  41. package/dist/eval/types.d.ts +7 -0
  42. package/dist/eval/types.d.ts.map +1 -1
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/rag/EnterpriseRetriever.d.ts.map +1 -1
  48. package/dist/rag/EnterpriseRetriever.js +2 -1
  49. package/dist/rag/EnterpriseRetriever.js.map +1 -1
  50. package/dist/retrieval/HybridRetriever.d.ts.map +1 -1
  51. package/dist/retrieval/HybridRetriever.js +2 -1
  52. package/dist/retrieval/HybridRetriever.js.map +1 -1
  53. package/dist/retrieval/decay.d.ts +24 -0
  54. package/dist/retrieval/decay.d.ts.map +1 -0
  55. package/dist/retrieval/decay.js +29 -0
  56. package/dist/retrieval/decay.js.map +1 -0
  57. package/dist/retrieval/fusion.d.ts +13 -19
  58. package/dist/retrieval/fusion.d.ts.map +1 -1
  59. package/dist/retrieval/fusion.js +17 -44
  60. package/dist/retrieval/fusion.js.map +1 -1
  61. package/dist/retrieval/index.d.ts +13 -6
  62. package/dist/retrieval/index.d.ts.map +1 -1
  63. package/dist/retrieval/index.js +10 -5
  64. package/dist/retrieval/index.js.map +1 -1
  65. package/dist/retrieval/mmr.d.ts +60 -0
  66. package/dist/retrieval/mmr.d.ts.map +1 -0
  67. package/dist/retrieval/mmr.js +94 -0
  68. package/dist/retrieval/mmr.js.map +1 -0
  69. package/dist/retrieval/weightedFusion.d.ts +64 -0
  70. package/dist/retrieval/weightedFusion.d.ts.map +1 -0
  71. package/dist/retrieval/weightedFusion.js +80 -0
  72. package/dist/retrieval/weightedFusion.js.map +1 -0
  73. package/dist/similarity/index.d.ts +6 -4
  74. package/dist/similarity/index.d.ts.map +1 -1
  75. package/dist/similarity/index.js +5 -3
  76. package/dist/similarity/index.js.map +1 -1
  77. package/dist/wire/chatClient.d.ts +100 -0
  78. package/dist/wire/chatClient.d.ts.map +1 -0
  79. package/dist/wire/chatClient.js +123 -0
  80. package/dist/wire/chatClient.js.map +1 -0
  81. package/dist/wire/index.d.ts +20 -0
  82. package/dist/wire/index.d.ts.map +1 -0
  83. package/dist/wire/index.js +18 -0
  84. package/dist/wire/index.js.map +1 -0
  85. package/dist/wire/sse.d.ts +37 -0
  86. package/dist/wire/sse.d.ts.map +1 -0
  87. package/dist/wire/sse.js +104 -0
  88. package/dist/wire/sse.js.map +1 -0
  89. package/dist/wire/usage.d.ts +46 -0
  90. package/dist/wire/usage.d.ts.map +1 -0
  91. package/dist/wire/usage.js +78 -0
  92. package/dist/wire/usage.js.map +1 -0
  93. package/package.json +11 -3
  94. package/src/bridges/AnthropicBridge.ts +24 -68
  95. package/src/bridges/FetchBridge.ts +15 -6
  96. package/src/bridges/OpenAIBridge.ts +84 -113
  97. package/src/bridges/TransformerBridge.ts +6 -0
  98. package/src/bridges/VertexAIBridge.ts +3 -32
  99. package/src/distillation/DistillationEngine.ts +176 -141
  100. package/src/distillation/index.ts +15 -1
  101. package/src/distillation/ports.ts +55 -0
  102. package/src/eval/EvalHarness.ts +12 -1
  103. package/src/eval/baseline.ts +51 -0
  104. package/src/eval/index.ts +1 -0
  105. package/src/eval/types.ts +7 -0
  106. package/src/index.ts +5 -2
  107. package/src/rag/EnterpriseRetriever.ts +2 -1
  108. package/src/retrieval/HybridRetriever.ts +2 -1
  109. package/src/retrieval/decay.ts +29 -0
  110. package/src/retrieval/fusion.ts +19 -52
  111. package/src/retrieval/index.ts +24 -6
  112. package/src/retrieval/mmr.ts +126 -0
  113. package/src/retrieval/weightedFusion.ts +101 -0
  114. package/src/similarity/index.ts +6 -4
  115. package/src/wire/chatClient.ts +196 -0
  116. package/src/wire/index.ts +20 -0
  117. package/src/wire/sse.ts +96 -0
  118. package/src/wire/usage.ts +95 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/AnthropicBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEvG,MAAM,WAAW,sBAAsB;IACnC,yBAAyB;IACzB,MAAM,EAAU,MAAM,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAK,MAAM,CAAC;IACvB,4CAA4C;IAC5C,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,iEAAiE;IACjE,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAI,OAAO,CAAC;CAC3B;AAID,qBAAa,eAAgB,YAAW,iBAAiB;IACrD,QAAQ,CAAC,iBAAiB,EAAG,IAAI,CAAU;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IAExC,OAAO,CAAC,SAAS,CAA6B;gBAElC,IAAI,EAAE,sBAAsB;IASxC;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B1E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;IA4CtF,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,MAAM;CAWjB"}
1
+ {"version":3,"file":"AnthropicBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/AnthropicBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGvG,MAAM,WAAW,sBAAsB;IACnC,yBAAyB;IACzB,MAAM,EAAU,MAAM,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAK,MAAM,CAAC;IACvB,4CAA4C;IAC5C,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,iEAAiE;IACjE,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAI,OAAO,CAAC;CAC3B;AAID,qBAAa,eAAgB,YAAW,iBAAiB;IACrD,QAAQ,CAAC,iBAAiB,EAAG,IAAI,CAAU;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IAExC,OAAO,CAAC,SAAS,CAA6B;gBAElC,IAAI,EAAE,sBAAsB;IASxC;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B1E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;IAwCtF,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,MAAM;CAWjB"}
@@ -5,6 +5,7 @@
5
5
  * `system` field (not a message role), per the Anthropic spec.
6
6
  */
7
7
  import { SSMError } from '../errors/SSMError.js';
8
+ import { readSseDataFrames, readUsageFields, AnthropicStreamUsage } from '../wire/index.js';
8
9
  const API_URL = 'https://api.anthropic.com/v1/messages';
9
10
  export class AnthropicBridge {
10
11
  supportsStreaming = true;
@@ -59,30 +60,25 @@ export class AnthropicBridge {
59
60
  if (!res.body) {
60
61
  throw new SSMError('BRIDGE_RESPONSE_INVALID', 'Anthropic streaming response has no body.');
61
62
  }
62
- const model = opts.model ?? this._model;
63
- let input = 0, output = 0, cacheRead = 0, cacheWrite = 0, reportedModel = model;
64
- yield* parseAnthropicStream(res.body, (event) => {
65
- // `message_start` carries the input split; `message_delta` the running
66
- // output count. Both are folded so the final usage is provider-measured.
67
- const start = event.message?.usage;
68
- const delta = event.usage;
69
- const usage = start ?? delta;
70
- if (!usage)
71
- return;
72
- if (typeof event.message?.model === 'string')
73
- reportedModel = event.message.model;
74
- input = Math.max(input, Number(usage.input_tokens) || 0);
75
- output = Math.max(output, Number(usage.output_tokens) || 0);
76
- cacheRead = Math.max(cacheRead, Number(usage.cache_read_input_tokens) || 0);
77
- cacheWrite = Math.max(cacheWrite, Number(usage.cache_creation_input_tokens) || 0);
78
- });
63
+ // `message_start` carries the input split; `message_delta` the running
64
+ // output count. Both are folded so the final usage is provider-measured.
65
+ const usage = new AnthropicStreamUsage();
66
+ for await (const frame of readSseDataFrames(res.body)) {
67
+ usage.observe(frame);
68
+ const ev = frame;
69
+ // content_block_delta events carry the streamed text
70
+ if (ev.type === 'content_block_delta' && typeof ev.delta?.text === 'string' && ev.delta.text.length > 0) {
71
+ yield ev.delta.text;
72
+ }
73
+ }
74
+ const totals = usage.result();
79
75
  this._lastCall = {
80
76
  usage: {
81
- model: reportedModel,
82
- inputTokens: input,
83
- outputTokens: output,
84
- cachedInputTokens: cacheRead,
85
- cacheWriteTokens: cacheWrite,
77
+ model: totals.model ?? opts.model ?? this._model,
78
+ inputTokens: totals.inputTokens,
79
+ outputTokens: totals.outputTokens,
80
+ cachedInputTokens: totals.cacheReadTokens,
81
+ cacheWriteTokens: totals.cacheCreationTokens,
86
82
  },
87
83
  };
88
84
  }
@@ -118,44 +114,6 @@ export class AnthropicBridge {
118
114
  });
119
115
  }
120
116
  }
121
- // ── SSE parser (Anthropic event format) ──────────────────────────────────────
122
- async function* parseAnthropicStream(body, onEvent) {
123
- const reader = body.getReader();
124
- const decoder = new TextDecoder();
125
- let buffer = '';
126
- try {
127
- while (true) {
128
- const { done, value } = await reader.read();
129
- if (done)
130
- break;
131
- buffer += decoder.decode(value, { stream: true });
132
- const lines = buffer.split('\n');
133
- buffer = lines.pop(); // split() always yields ≥1 element → never undefined
134
- for (const line of lines) {
135
- const trimmed = line.trim();
136
- if (!trimmed.startsWith('data: '))
137
- continue;
138
- const data = trimmed.slice(6);
139
- try {
140
- const event = JSON.parse(data);
141
- onEvent?.(event);
142
- // content_block_delta events carry the streamed text
143
- if (event['type'] === 'content_block_delta') {
144
- const text = event.delta?.text;
145
- if (typeof text === 'string' && text.length > 0)
146
- yield text;
147
- }
148
- }
149
- catch {
150
- // Skip malformed SSE lines
151
- }
152
- }
153
- }
154
- }
155
- finally {
156
- reader.releaseLock();
157
- }
158
- }
159
117
  /**
160
118
  * Maps an Anthropic `usage` object onto the canonical {@link LlmUsage} shape.
161
119
  * Absent when the response omits usage (an older gateway shim), in which case
@@ -164,13 +122,14 @@ async function* parseAnthropicStream(body, onEvent) {
164
122
  function readAnthropicUsage(usage, model) {
165
123
  if (!usage || typeof usage !== 'object')
166
124
  return undefined;
167
- const u = usage;
125
+ // Anthropic's `input_tokens` already excludes both cache counts.
126
+ const u = readUsageFields(usage);
168
127
  return {
169
128
  model,
170
- inputTokens: Number(u['input_tokens']) || 0,
171
- outputTokens: Number(u['output_tokens']) || 0,
172
- cachedInputTokens: Number(u['cache_read_input_tokens']) || 0,
173
- cacheWriteTokens: Number(u['cache_creation_input_tokens']) || 0,
129
+ inputTokens: u.promptTokens ?? 0,
130
+ outputTokens: u.completionTokens ?? 0,
131
+ cachedInputTokens: u.cacheReadTokens ?? 0,
132
+ cacheWriteTokens: u.cacheCreationTokens ?? 0,
174
133
  };
175
134
  }
176
135
  //# sourceMappingURL=AnthropicBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicBridge.js","sourceRoot":"","sources":["../../src/bridges/AnthropicBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA8BjD,MAAM,OAAO,GAAG,uCAAuC,CAAC;AAExD,MAAM,OAAO,eAAe;IACf,iBAAiB,GAAG,IAAa,CAAC;IAE1B,OAAO,CAAe;IACtB,MAAM,CAAgB;IACtB,WAAW,CAAW;IACtB,aAAa,CAAS;IACtB,UAAU,CAAY;IACtB,YAAY,CAAW;IAEhC,SAAS,CAA6B;IAE9C,YAAY,IAA4B;QACpC,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,GAAU,IAAI,CAAC,KAAK,IAAS,kBAAkB,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAK,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAM,IAAI,CAAC,SAAS,IAAO,IAAI,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,WAAW,IAAK,IAAI,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAA8B,EAAE;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,GAAG,GAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,QAAQ,CACd,uBAAuB,EACvB,0BAA0B,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAClD,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAM,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;QAC5D,MAAM,OAAO,GAAI,IAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,sCAAsC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,SAAS,GAAG;YACb,KAAK,EAAE,kBAAkB,CACpB,IAAY,CAAC,KAAK,EAClB,IAAY,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CACnD;SACJ,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAAc,EAAE,OAA8B,EAAE;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,QAAQ,CACd,uBAAuB,EACvB,oCAAoC,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAC5D,CAAC;QACN,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,2CAA2C,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC;QAEhF,KAAK,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5C,uEAAuE;YACvE,yEAAyE;YACzE,MAAM,KAAK,GAAI,KAAa,CAAC,OAAO,EAAE,KAAK,CAAC;YAC5C,MAAM,KAAK,GAAI,KAAa,CAAC,KAAK,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;YAC7B,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,IAAI,OAAQ,KAAa,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ;gBAAE,aAAa,GAAI,KAAa,CAAC,OAAO,CAAC,KAAK,CAAC;YACpG,KAAK,GAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,MAAM,GAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,SAAS,GAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG;YACb,KAAK,EAAE;gBACH,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,MAAM;gBACpB,iBAAiB,EAAE,SAAS;gBAC5B,gBAAgB,EAAE,UAAU;aAC/B;SACJ,CAAC;IACN,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,IAA2B,EAAE,MAAe;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;QACpD,MAAM,IAAI,GAA4B;YAClC,KAAK,EAAO,IAAI,CAAC,KAAK,IAAQ,IAAI,CAAC,MAAM;YACzC,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU;YAC7C,QAAQ,EAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SAClD,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACN,kEAAkE;YAClE,qEAAqE;YACrE,mEAAmE;YACnE,2DAA2D;YAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY;gBAC9B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;gBACrE,CAAC,CAAC,GAAG,CAAC;QACd,CAAC;QACD,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,IAAY;QACvB,OAAO,KAAK,CAAC,OAAO,EAAE;YAClB,MAAM,EAAG,MAAM;YACf,OAAO,EAAE;gBACL,cAAc,EAAQ,kBAAkB;gBACxC,WAAW,EAAW,IAAI,CAAC,OAAO;gBAClC,mBAAmB,EAAG,IAAI,CAAC,WAAW;aACzC;YACD,IAAI;SACP,CAAC,CAAC;IACP,CAAC;CACJ;AAED,gFAAgF;AAEhF,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAChC,IAAgC,EAChC,OAAkD;IAElD,MAAM,MAAM,GAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAM,EAAE,CAAC;IAEnB,IAAI,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC,CAAC,qDAAqD;YAErF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;oBAC1D,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;oBACjB,qDAAqD;oBACrD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,qBAAqB,EAAE,CAAC;wBAC1C,MAAM,IAAI,GAAI,KAAa,CAAC,KAAK,EAAE,IAAI,CAAC;wBACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;4BAAE,MAAM,IAAI,CAAC;oBAChE,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACL,2BAA2B;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;YAAS,CAAC;QACP,MAAM,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAc,EAAE,KAAa;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO;QACH,KAAK;QACL,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;QAC3C,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;QAC7C,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC;QAC5D,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC;KAClE,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"AnthropicBridge.js","sourceRoot":"","sources":["../../src/bridges/AnthropicBridge.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * FetchBridge – generic OpenAI-compatible bridge for local or hosted endpoints.
3
3
  *
4
- * Works with Ollama, LM Studio, vLLM, llama.cpp server, or any service that
5
- * exposes a /chat/completions endpoint compatible with the OpenAI request
6
- * and response schema.
4
+ * Works with Ollama, LM Studio, vLLM, llama.cpp server, a routing gateway, or any
5
+ * service that exposes a /chat/completions endpoint compatible with the OpenAI
6
+ * request and response schema.
7
7
  */
8
8
  import { OpenAIBridge } from './OpenAIBridge.js';
9
9
  import type { BridgeGenerateOptions } from './TransformerBridge.js';
@@ -12,12 +12,19 @@ export interface FetchBridgeOptions {
12
12
  baseUrl: string;
13
13
  /** API key — many local servers require any non-empty string. Default: 'local'. */
14
14
  apiKey?: string;
15
- /** Model name understood by the server. Default: 'default'. */
15
+ /** Model name understood by the server. Default: 'default' (none with `serverDefaults`). */
16
16
  model?: string;
17
17
  /** Default system prompt. */
18
18
  systemPrompt?: string;
19
- /** Default max tokens. Default: 512. */
19
+ /** Default max tokens. Default: 512 (none with `serverDefaults`). */
20
20
  maxTokens?: number;
21
+ /**
22
+ * Send only what a call states, so a routing gateway picks the model and the
23
+ * sampling settings. Default false.
24
+ */
25
+ serverDefaults?: boolean;
26
+ /** Abort a request after this long. */
27
+ timeoutMs?: number;
21
28
  }
22
29
  /**
23
30
  * FetchBridge is a thin re-configuration of OpenAIBridge pointed at a custom
@@ -1 +1 @@
1
- {"version":3,"file":"FetchBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/FetchBridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IAC/B,iFAAiF;IACjF,OAAO,EAAS,MAAM,CAAC;IACvB,mFAAmF;IACnF,MAAM,CAAC,EAAS,MAAM,CAAC;IACvB,+DAA+D;IAC/D,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB,6BAA6B;IAC7B,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAM,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAC7B,IAAI,EAAE,kBAAkB;CASvC;AAED,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"FetchBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/FetchBridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IAC/B,iFAAiF;IACjF,OAAO,EAAS,MAAM,CAAC;IACvB,mFAAmF;IACnF,MAAM,CAAC,EAAS,MAAM,CAAC;IACvB,4FAA4F;IAC5F,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB,6BAA6B;IAC7B,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,SAAS,CAAC,EAAM,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAC7B,IAAI,EAAE,kBAAkB;CAWvC;AAED,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * FetchBridge – generic OpenAI-compatible bridge for local or hosted endpoints.
3
3
  *
4
- * Works with Ollama, LM Studio, vLLM, llama.cpp server, or any service that
5
- * exposes a /chat/completions endpoint compatible with the OpenAI request
6
- * and response schema.
4
+ * Works with Ollama, LM Studio, vLLM, llama.cpp server, a routing gateway, or any
5
+ * service that exposes a /chat/completions endpoint compatible with the OpenAI
6
+ * request and response schema.
7
7
  */
8
8
  import { OpenAIBridge } from './OpenAIBridge.js';
9
9
  /**
@@ -14,10 +14,12 @@ export class FetchBridge extends OpenAIBridge {
14
14
  constructor(opts) {
15
15
  super({
16
16
  apiKey: opts.apiKey ?? 'local',
17
- model: opts.model ?? 'default',
17
+ model: opts.model ?? (opts.serverDefaults ? undefined : 'default'),
18
18
  baseUrl: opts.baseUrl,
19
19
  systemPrompt: opts.systemPrompt,
20
20
  maxTokens: opts.maxTokens,
21
+ serverDefaults: opts.serverDefaults,
22
+ timeoutMs: opts.timeoutMs,
21
23
  });
22
24
  }
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FetchBridge.js","sourceRoot":"","sources":["../../src/bridges/FetchBridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBjD;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IACzC,YAAY,IAAwB;QAChC,KAAK,CAAC;YACF,MAAM,EAAS,IAAI,CAAC,MAAM,IAAW,OAAO;YAC5C,KAAK,EAAU,IAAI,CAAC,KAAK,IAAY,SAAS;YAC9C,OAAO,EAAQ,IAAI,CAAC,OAAO;YAC3B,YAAY,EAAG,IAAI,CAAC,YAAY;YAChC,SAAS,EAAM,IAAI,CAAC,SAAS;SAChC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"FetchBridge.js","sourceRoot":"","sources":["../../src/bridges/FetchBridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuBjD;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IACzC,YAAY,IAAwB;QAChC,KAAK,CAAC;YACF,MAAM,EAAS,IAAI,CAAC,MAAM,IAAW,OAAO;YAC5C,KAAK,EAAU,IAAI,CAAC,KAAK,IAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,OAAO,EAAQ,IAAI,CAAC,OAAO;YAC3B,YAAY,EAAG,IAAI,CAAC,YAAY;YAChC,SAAS,EAAM,IAAI,CAAC,SAAS;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAM,IAAI,CAAC,SAAS;SAChC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * Supports both non-streaming and streaming (SSE) completions.
5
5
  * Compatible with any OpenAI-compatible endpoint via the `baseUrl` option.
6
+ *
7
+ * The request, error mapping and stream reading are the `/wire` chat client's — the
8
+ * same one a host uses for tool-calling turns — so this class only supplies the
9
+ * bridge's defaults and maps usage onto {@link LlmUsage}.
6
10
  */
7
11
  import type { TransformerBridge, BridgeGenerateOptions, BridgeCallInfo } from './TransformerBridge.js';
8
12
  export interface OpenAIBridgeOptions {
@@ -16,21 +20,30 @@ export interface OpenAIBridgeOptions {
16
20
  systemPrompt?: string;
17
21
  /** Default max tokens. Default: 512. */
18
22
  maxTokens?: number;
23
+ /**
24
+ * Send only what a call states — no model, max-tokens, temperature or top-p
25
+ * defaults — so a routing gateway picks them. Default false.
26
+ */
27
+ serverDefaults?: boolean;
28
+ /** Abort a request after this long. */
29
+ timeoutMs?: number;
19
30
  }
20
31
  export declare class OpenAIBridge implements TransformerBridge {
21
32
  private _lastCall;
22
33
  readonly supportsStreaming: true;
23
- private readonly _apiKey;
34
+ private readonly _client;
24
35
  private readonly _model;
25
- private readonly _baseUrl;
26
36
  private readonly _systemPrompt;
27
37
  private readonly _maxTokens;
38
+ private readonly _serverDefaults;
28
39
  constructor(opts: OpenAIBridgeOptions);
29
40
  /** Provider-reported usage for the last call — see {@link BridgeCallInfo}. */
30
41
  get lastCall(): BridgeCallInfo | undefined;
31
42
  generate(prompt: string, opts?: BridgeGenerateOptions): Promise<string>;
32
43
  stream(prompt: string, opts?: BridgeGenerateOptions): AsyncIterable<string>;
33
- private _buildBody;
34
- private _fetch;
44
+ /** Text deltas out; the closing event records usage (sent because of `includeUsage`). */
45
+ private _text;
46
+ private _request;
47
+ private _requestError;
35
48
  }
36
49
  //# sourceMappingURL=OpenAIBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/OpenAIBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEvG,MAAM,WAAW,mBAAmB;IAChC,kDAAkD;IAClD,MAAM,EAAU,MAAM,CAAC;IACvB,4CAA4C;IAC5C,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB,0DAA0D;IAC1D,OAAO,CAAC,EAAQ,MAAM,CAAC;IACvB,qDAAqD;IACrD,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAM,MAAM,CAAC;CAC1B;AAED,qBAAa,YAAa,YAAW,iBAAiB;IAClD,OAAO,CAAC,SAAS,CAA6B;IAE9C,QAAQ,CAAC,iBAAiB,EAAG,IAAI,CAAU;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,IAAI,EAAE,mBAAmB;IAQrC,8EAA8E;IAC9E,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB1E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;IA6BtF,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,MAAM;CAUjB"}
1
+ {"version":3,"file":"OpenAIBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/OpenAIBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYvG,MAAM,WAAW,mBAAmB;IAChC,kDAAkD;IAClD,MAAM,EAAU,MAAM,CAAC;IACvB,4CAA4C;IAC5C,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB,0DAA0D;IAC1D,OAAO,CAAC,EAAQ,MAAM,CAAC;IACvB,qDAAqD;IACrD,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,SAAS,CAAC,EAAM,MAAM,CAAC;CAC1B;AAED,qBAAa,YAAa,YAAW,iBAAiB;IAClD,OAAO,CAAC,SAAS,CAA6B;IAE9C,QAAQ,CAAC,iBAAiB,EAAG,IAAI,CAAU;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAE9B,IAAI,EAAE,mBAAmB;IAYrC,8EAA8E;IAC9E,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB1E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;IActF,yFAAyF;IACzF,OAAO,CAAE,KAAK;IAQd,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,aAAa;CAWxB"}
@@ -3,145 +3,122 @@
3
3
  *
4
4
  * Supports both non-streaming and streaming (SSE) completions.
5
5
  * Compatible with any OpenAI-compatible endpoint via the `baseUrl` option.
6
+ *
7
+ * The request, error mapping and stream reading are the `/wire` chat client's — the
8
+ * same one a host uses for tool-calling turns — so this class only supplies the
9
+ * bridge's defaults and maps usage onto {@link LlmUsage}.
6
10
  */
7
11
  import { SSMError } from '../errors/SSMError.js';
12
+ import { chatComplete, chatStream, ChatCompletionError, readUsageFields, } from '../wire/index.js';
8
13
  export class OpenAIBridge {
9
14
  _lastCall;
10
15
  supportsStreaming = true;
11
- _apiKey;
16
+ _client;
12
17
  _model;
13
- _baseUrl;
14
18
  _systemPrompt;
15
19
  _maxTokens;
20
+ _serverDefaults;
16
21
  constructor(opts) {
17
- this._apiKey = opts.apiKey;
18
- this._model = opts.model ?? 'gpt-4o-mini';
19
- this._baseUrl = (opts.baseUrl ?? 'https://api.openai.com/v1').replace(/\/$/, '');
22
+ this._serverDefaults = opts.serverDefaults ?? false;
23
+ this._client = {
24
+ apiKey: opts.apiKey,
25
+ baseUrl: opts.baseUrl ?? 'https://api.openai.com/v1',
26
+ ...(opts.timeoutMs ? { timeoutMs: opts.timeoutMs } : {}),
27
+ };
28
+ this._model = opts.model ?? (this._serverDefaults ? undefined : 'gpt-4o-mini');
20
29
  this._systemPrompt = opts.systemPrompt ?? '';
21
- this._maxTokens = opts.maxTokens ?? 512;
30
+ this._maxTokens = opts.maxTokens ?? (this._serverDefaults ? undefined : 512);
22
31
  }
23
32
  /** Provider-reported usage for the last call — see {@link BridgeCallInfo}. */
24
33
  get lastCall() {
25
34
  return this._lastCall;
26
35
  }
27
36
  async generate(prompt, opts = {}) {
28
- const body = this._buildBody(prompt, opts, false);
29
- const res = await this._fetch(body);
30
- if (!res.ok) {
31
- const text = await res.text().catch(() => '');
32
- throw new SSMError('BRIDGE_REQUEST_FAILED', `OpenAI API returned ${res.status}: ${text}`);
37
+ let result;
38
+ try {
39
+ result = await chatComplete(this._client, this._request(prompt, opts));
40
+ }
41
+ catch (err) {
42
+ throw this._requestError('OpenAI API', err);
33
43
  }
34
- const json = await res.json();
35
- const content = json.choices?.[0]?.message?.content;
36
- if (typeof content !== 'string') {
44
+ if (!result.hasTextContent) {
37
45
  throw new SSMError('BRIDGE_RESPONSE_INVALID', 'Unexpected OpenAI response shape.');
38
46
  }
39
47
  this._lastCall = {
40
- usage: readOpenAIUsage(json.usage, json.model ?? opts.model ?? this._model),
48
+ usage: readOpenAIUsage(result.usage, result.model ?? opts.model ?? this._model ?? ''),
41
49
  };
42
- return content;
50
+ return result.content;
43
51
  }
44
52
  async *stream(prompt, opts = {}) {
45
- const body = this._buildBody(prompt, opts, true);
46
- const res = await this._fetch(body);
47
- if (!res.ok) {
48
- const text = await res.text().catch(() => '');
49
- throw new SSMError('BRIDGE_REQUEST_FAILED', `OpenAI streaming API returned ${res.status}: ${text}`);
53
+ let events;
54
+ try {
55
+ events = chatStream(this._client, { ...this._request(prompt, opts), includeUsage: true });
56
+ // The request is sent on the first pull; surface a failed request as a bridge error.
57
+ const first = await events.next();
58
+ if (first.done)
59
+ return;
60
+ yield* this._text(first.value);
50
61
  }
51
- if (!res.body) {
52
- throw new SSMError('BRIDGE_RESPONSE_INVALID', 'OpenAI streaming response has no body.');
62
+ catch (err) {
63
+ throw this._requestError('OpenAI streaming API', err);
64
+ }
65
+ for await (const event of events)
66
+ yield* this._text(event);
67
+ }
68
+ /** Text deltas out; the closing event records usage (sent because of `includeUsage`). */
69
+ *_text(event) {
70
+ if (event.type === 'text-delta')
71
+ yield event.delta;
72
+ else if (event.type === 'done') {
73
+ const usage = readOpenAIUsage(event.result.usage, event.result.model ?? this._model ?? '');
74
+ this._lastCall = usage ? { usage } : {};
53
75
  }
54
- const model = opts.model ?? this._model;
55
- let usage;
56
- yield* parseOpenAIStream(res.body, (event) => {
57
- // Only emitted because `_buildBody` sets `stream_options.include_usage`;
58
- // without it OpenAI streams no usage at all and cost would be a guess.
59
- const reported = readOpenAIUsage(event.usage, event.model ?? model);
60
- if (reported)
61
- usage = reported;
62
- });
63
- this._lastCall = usage ? { usage } : {};
64
76
  }
65
- _buildBody(prompt, opts, stream) {
77
+ _request(prompt, opts) {
66
78
  const sys = opts.systemPrompt ?? this._systemPrompt;
67
79
  const messages = [];
68
80
  if (sys)
69
81
  messages.push({ role: 'system', content: sys });
70
82
  messages.push({ role: 'user', content: prompt });
71
- return JSON.stringify({
72
- model: opts.model ?? this._model,
83
+ const d = !this._serverDefaults;
84
+ const model = opts.model ?? this._model;
85
+ const maxTokens = opts.maxTokens ?? this._maxTokens;
86
+ const temperature = opts.temperature ?? (d ? 0.7 : undefined);
87
+ const topP = opts.topP ?? (d ? 0.9 : undefined);
88
+ return {
73
89
  messages,
74
- max_tokens: opts.maxTokens ?? this._maxTokens,
75
- temperature: opts.temperature ?? 0.7,
76
- top_p: opts.topP ?? 0.9,
77
- stream,
78
- // Without this the streaming response carries no usage block, so
79
- // cost-per-request on streamed calls would silently fall back to an
80
- // estimate. Non-streaming requests reject the field, hence the guard.
81
- ...(stream ? { stream_options: { include_usage: true } } : {}),
82
- });
83
- }
84
- _fetch(body) {
85
- return fetch(`${this._baseUrl}/chat/completions`, {
86
- method: 'POST',
87
- headers: {
88
- 'Content-Type': 'application/json',
89
- 'Authorization': `Bearer ${this._apiKey}`,
90
- },
91
- body,
92
- });
90
+ ...(model ? { model } : {}),
91
+ ...(maxTokens !== undefined ? { maxTokens } : {}),
92
+ ...(temperature !== undefined ? { temperature } : {}),
93
+ ...(topP !== undefined ? { topP } : {}),
94
+ ...(opts.extra ? { extra: opts.extra } : {}),
95
+ };
93
96
  }
94
- }
95
- // ── SSE parser ────────────────────────────────────────────────────────────────
96
- async function* parseOpenAIStream(body, onEvent) {
97
- const reader = body.getReader();
98
- const decoder = new TextDecoder();
99
- let buffer = '';
100
- try {
101
- while (true) {
102
- const { done, value } = await reader.read();
103
- if (done)
104
- break;
105
- buffer += decoder.decode(value, { stream: true });
106
- const lines = buffer.split('\n');
107
- buffer = lines.pop(); // keep the last (possibly partial) line; split() always yields ≥1 element
108
- for (const line of lines) {
109
- const trimmed = line.trim();
110
- if (!trimmed.startsWith('data: '))
111
- continue;
112
- const data = trimmed.slice(6);
113
- if (data === '[DONE]')
114
- return;
115
- try {
116
- const chunk = JSON.parse(data);
117
- onEvent?.(chunk);
118
- const delta = chunk.choices?.[0]?.delta?.content;
119
- if (typeof delta === 'string' && delta.length > 0)
120
- yield delta;
121
- }
122
- catch {
123
- // Malformed JSON in stream — skip silently
124
- }
97
+ _requestError(what, err) {
98
+ if (err instanceof SSMError)
99
+ return err;
100
+ if (err instanceof ChatCompletionError) {
101
+ // A 2xx that still failed is a stream with no body: the server answered, badly.
102
+ if (err.status >= 200 && err.status < 300) {
103
+ return new SSMError('BRIDGE_RESPONSE_INVALID', `${what} returned no response body.`);
125
104
  }
105
+ return new SSMError('BRIDGE_REQUEST_FAILED', `${what} returned ${err.status}: ${err.body}`);
126
106
  }
127
- }
128
- finally {
129
- reader.releaseLock();
107
+ return new SSMError('BRIDGE_REQUEST_FAILED', `${what} request failed: ${err instanceof Error ? err.message : String(err)}`, err);
130
108
  }
131
109
  }
132
110
  /** Maps an OpenAI `usage` object onto the canonical {@link LlmUsage} shape. */
133
111
  function readOpenAIUsage(usage, model) {
134
112
  if (!usage || typeof usage !== 'object')
135
113
  return undefined;
136
- const u = usage;
137
- const cached = Number(u['prompt_tokens_details']?.['cached_tokens']) || 0;
138
- const prompt = Number(u['prompt_tokens']) || 0;
114
+ const u = readUsageFields(usage);
115
+ const cached = u.cacheReadTokens ?? 0;
139
116
  return {
140
117
  model,
141
118
  // OpenAI reports `prompt_tokens` INCLUSIVE of cached tokens; the canonical
142
119
  // shape keeps them disjoint so the two rates are applied exactly once each.
143
- inputTokens: Math.max(0, prompt - cached),
144
- outputTokens: Number(u['completion_tokens']) || 0,
120
+ inputTokens: Math.max(0, (u.promptTokens ?? 0) - cached),
121
+ outputTokens: u.completionTokens ?? 0,
145
122
  cachedInputTokens: cached,
146
123
  };
147
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIBridge.js","sourceRoot":"","sources":["../../src/bridges/OpenAIBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIBridge.js","sourceRoot":"","sources":["../../src/bridges/OpenAIBridge.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,12 @@ export interface BridgeGenerateOptions {
19
19
  systemPrompt?: string;
20
20
  /** Model string, overriding the adapter's default. */
21
21
  model?: string;
22
+ /**
23
+ * Vendor extras merged into an OpenAI-compatible request body (a gateway's
24
+ * routing `provider`, `response_format`, …). Bridges that do not speak that
25
+ * wire format ignore it.
26
+ */
27
+ extra?: Record<string, unknown>;
22
28
  }
23
29
  export interface TransformerBridge {
24
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TransformerBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/TransformerBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IAClC,mEAAmE;IACnE,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAI,MAAM,CAAC;IACvB,+DAA+D;IAC/D,IAAI,CAAC,EAAW,MAAM,CAAC;IACvB,wEAAwE;IACxE,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,sDAAsD;IACtD,KAAK,CAAC,EAAU,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExE;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAEnC;;;OAGG;IACH,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE7E,4DAA4D;IAC5D,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACvC"}
1
+ {"version":3,"file":"TransformerBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/TransformerBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IAClC,mEAAmE;IACnE,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAI,MAAM,CAAC;IACvB,+DAA+D;IAC/D,IAAI,CAAC,EAAW,MAAM,CAAC;IACvB,wEAAwE;IACxE,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,sDAAsD;IACtD,KAAK,CAAC,EAAU,MAAM,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExE;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAEnC;;;OAGG;IACH,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE7E,4DAA4D;IAC5D,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VertexAIBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/VertexAIBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEvG,MAAM,WAAW,qBAAqB;IAClC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B;AAED,qBAAa,cAAe,YAAW,iBAAiB;IACpD,QAAQ,CAAC,iBAAiB,EAAG,IAAI,CAAU;IAE3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,SAAS,CAA6B;gBAElC,IAAI,EAAE,qBAAqB;IAYvC,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;YAiBxE,KAAK;CAqCtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,IAAI,EAAE,uBAAuB;IAUzC,iFAAiF;IACjF,UAAU,GAAU,OAAO,MAAM,EAAE,KAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmC3D;IAEF,oEAAoE;IACpE,KAAK,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,CAGjD;CACL"}
1
+ {"version":3,"file":"VertexAIBridge.d.ts","sourceRoot":"","sources":["../../src/bridges/VertexAIBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGvG,MAAM,WAAW,qBAAqB;IAClC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B;AAED,qBAAa,cAAe,YAAW,iBAAiB;IACpD,QAAQ,CAAC,iBAAiB,EAAG,IAAI,CAAU;IAE3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,SAAS,CAA6B;gBAElC,IAAI,EAAE,qBAAqB;IAYvC,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;YAkBxE,KAAK;CAqCtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,IAAI,EAAE,uBAAuB;IAUzC,iFAAiF;IACjF,UAAU,GAAU,OAAO,MAAM,EAAE,KAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmC3D;IAEF,oEAAoE;IACpE,KAAK,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,CAGjD;CACL"}