@nodetool-ai/runtime 0.8.2 → 0.8.4-a13.1

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 (295) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/canvas-codec.d.ts +3 -0
  3. package/dist/canvas-codec.d.ts.map +1 -0
  4. package/dist/canvas-codec.js +12 -0
  5. package/dist/canvas-codec.js.map +1 -0
  6. package/dist/context-packer.d.ts +1 -1
  7. package/dist/context-packer.js +1 -1
  8. package/dist/context.d.ts +3 -0
  9. package/dist/context.d.ts.map +1 -1
  10. package/dist/context.js +16 -5
  11. package/dist/context.js.map +1 -1
  12. package/dist/host-binaries.d.ts.map +1 -1
  13. package/dist/host-binaries.js +4 -3
  14. package/dist/host-binaries.js.map +1 -1
  15. package/dist/http-client-spans.d.ts +9 -0
  16. package/dist/http-client-spans.d.ts.map +1 -0
  17. package/dist/http-client-spans.js +88 -0
  18. package/dist/http-client-spans.js.map +1 -0
  19. package/dist/image-codec.d.ts +6 -3
  20. package/dist/image-codec.d.ts.map +1 -1
  21. package/dist/image-codec.js +17 -17
  22. package/dist/image-codec.js.map +1 -1
  23. package/dist/image-model-tasks.d.ts +20 -0
  24. package/dist/image-model-tasks.d.ts.map +1 -1
  25. package/dist/image-model-tasks.js +44 -1
  26. package/dist/image-model-tasks.js.map +1 -1
  27. package/dist/index.d.ts +4 -3
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -3
  30. package/dist/index.js.map +1 -1
  31. package/dist/media-ref-bytes.d.ts.map +1 -1
  32. package/dist/media-ref-bytes.js +31 -6
  33. package/dist/media-ref-bytes.js.map +1 -1
  34. package/dist/otlp-json-trace-exporter.d.ts +89 -0
  35. package/dist/otlp-json-trace-exporter.d.ts.map +1 -0
  36. package/dist/otlp-json-trace-exporter.js +155 -0
  37. package/dist/otlp-json-trace-exporter.js.map +1 -0
  38. package/dist/prompt-asset-refs.d.ts +12 -1
  39. package/dist/prompt-asset-refs.d.ts.map +1 -1
  40. package/dist/prompt-asset-refs.js +9 -4
  41. package/dist/prompt-asset-refs.js.map +1 -1
  42. package/dist/providers/antigravity-provider.d.ts +113 -0
  43. package/dist/providers/antigravity-provider.d.ts.map +1 -0
  44. package/dist/providers/antigravity-provider.js +527 -0
  45. package/dist/providers/antigravity-provider.js.map +1 -0
  46. package/dist/providers/api-route-provider.d.ts +22 -0
  47. package/dist/providers/api-route-provider.d.ts.map +1 -0
  48. package/dist/providers/api-route-provider.js +56 -0
  49. package/dist/providers/api-route-provider.js.map +1 -0
  50. package/dist/providers/azure-openai-provider.d.ts +69 -0
  51. package/dist/providers/azure-openai-provider.d.ts.map +1 -0
  52. package/dist/providers/azure-openai-provider.js +233 -0
  53. package/dist/providers/azure-openai-provider.js.map +1 -0
  54. package/dist/providers/base-provider.d.ts.map +1 -1
  55. package/dist/providers/base-provider.js +41 -4
  56. package/dist/providers/base-provider.js.map +1 -1
  57. package/dist/providers/bedrock-provider.d.ts +52 -0
  58. package/dist/providers/bedrock-provider.d.ts.map +1 -0
  59. package/dist/providers/bedrock-provider.js +648 -0
  60. package/dist/providers/bedrock-provider.js.map +1 -0
  61. package/dist/providers/bedrock-transport.d.ts +37 -0
  62. package/dist/providers/bedrock-transport.d.ts.map +1 -0
  63. package/dist/providers/bedrock-transport.js +186 -0
  64. package/dist/providers/bedrock-transport.js.map +1 -0
  65. package/dist/providers/chatgpt-provider.d.ts +48 -0
  66. package/dist/providers/chatgpt-provider.d.ts.map +1 -0
  67. package/dist/providers/chatgpt-provider.js +551 -0
  68. package/dist/providers/chatgpt-provider.js.map +1 -0
  69. package/dist/providers/claude-agent-provider.d.ts +29 -51
  70. package/dist/providers/claude-agent-provider.d.ts.map +1 -1
  71. package/dist/providers/claude-agent-provider.js +144 -202
  72. package/dist/providers/claude-agent-provider.js.map +1 -1
  73. package/dist/providers/claude-cli.d.ts +265 -0
  74. package/dist/providers/claude-cli.d.ts.map +1 -0
  75. package/dist/providers/claude-cli.js +488 -0
  76. package/dist/providers/claude-cli.js.map +1 -0
  77. package/dist/providers/codex-provider.d.ts +9 -2
  78. package/dist/providers/codex-provider.d.ts.map +1 -1
  79. package/dist/providers/codex-provider.js +25 -11
  80. package/dist/providers/codex-provider.js.map +1 -1
  81. package/dist/providers/context-window.d.ts.map +1 -1
  82. package/dist/providers/context-window.js +1 -0
  83. package/dist/providers/context-window.js.map +1 -1
  84. package/dist/providers/core-tools.d.ts +4 -1
  85. package/dist/providers/core-tools.d.ts.map +1 -1
  86. package/dist/providers/core-tools.js +5 -3
  87. package/dist/providers/core-tools.js.map +1 -1
  88. package/dist/providers/cost-calculator.d.ts.map +1 -1
  89. package/dist/providers/cost-calculator.js +9 -0
  90. package/dist/providers/cost-calculator.js.map +1 -1
  91. package/dist/providers/credential-check.d.ts +8 -0
  92. package/dist/providers/credential-check.d.ts.map +1 -1
  93. package/dist/providers/credential-check.js +22 -0
  94. package/dist/providers/credential-check.js.map +1 -1
  95. package/dist/providers/custom-openai-provider.d.ts.map +1 -1
  96. package/dist/providers/custom-openai-provider.js +19 -1
  97. package/dist/providers/custom-openai-provider.js.map +1 -1
  98. package/dist/providers/dreamina-pending.d.ts +22 -0
  99. package/dist/providers/dreamina-pending.d.ts.map +1 -0
  100. package/dist/providers/dreamina-pending.js +86 -0
  101. package/dist/providers/dreamina-pending.js.map +1 -0
  102. package/dist/providers/dreamina-provider.d.ts +10 -3
  103. package/dist/providers/dreamina-provider.d.ts.map +1 -1
  104. package/dist/providers/dreamina-provider.js +325 -45
  105. package/dist/providers/dreamina-provider.js.map +1 -1
  106. package/dist/providers/extension-tab.d.ts +42 -0
  107. package/dist/providers/extension-tab.d.ts.map +1 -0
  108. package/dist/providers/extension-tab.js +200 -0
  109. package/dist/providers/extension-tab.js.map +1 -0
  110. package/dist/providers/fake-provider.d.ts +3 -1
  111. package/dist/providers/fake-provider.d.ts.map +1 -1
  112. package/dist/providers/fake-provider.js +63 -9
  113. package/dist/providers/fake-provider.js.map +1 -1
  114. package/dist/providers/fake-schema-answer.d.ts +10 -0
  115. package/dist/providers/fake-schema-answer.d.ts.map +1 -0
  116. package/dist/providers/fake-schema-answer.js +64 -0
  117. package/dist/providers/fake-schema-answer.js.map +1 -0
  118. package/dist/providers/fal-provider.d.ts.map +1 -1
  119. package/dist/providers/fal-provider.js +5 -2
  120. package/dist/providers/fal-provider.js.map +1 -1
  121. package/dist/providers/gemini-web-provider.d.ts +76 -0
  122. package/dist/providers/gemini-web-provider.d.ts.map +1 -0
  123. package/dist/providers/gemini-web-provider.js +827 -0
  124. package/dist/providers/gemini-web-provider.js.map +1 -0
  125. package/dist/providers/http-transport.d.ts.map +1 -1
  126. package/dist/providers/http-transport.js +2 -0
  127. package/dist/providers/http-transport.js.map +1 -1
  128. package/dist/providers/huggingface-provider.d.ts.map +1 -1
  129. package/dist/providers/huggingface-provider.js +17 -1
  130. package/dist/providers/huggingface-provider.js.map +1 -1
  131. package/dist/providers/index.d.ts +18 -2
  132. package/dist/providers/index.d.ts.map +1 -1
  133. package/dist/providers/index.js +66 -15
  134. package/dist/providers/index.js.map +1 -1
  135. package/dist/providers/llama-provider.d.ts +8 -0
  136. package/dist/providers/llama-provider.d.ts.map +1 -1
  137. package/dist/providers/llama-provider.js +23 -5
  138. package/dist/providers/llama-provider.js.map +1 -1
  139. package/dist/providers/lmstudio-provider.js +2 -2
  140. package/dist/providers/lmstudio-provider.js.map +1 -1
  141. package/dist/providers/manifest-models.d.ts +2 -12
  142. package/dist/providers/manifest-models.d.ts.map +1 -1
  143. package/dist/providers/manifest-models.js +45 -3
  144. package/dist/providers/manifest-models.js.map +1 -1
  145. package/dist/providers/meta-provider.d.ts +53 -6
  146. package/dist/providers/meta-provider.d.ts.map +1 -1
  147. package/dist/providers/meta-provider.js +289 -6
  148. package/dist/providers/meta-provider.js.map +1 -1
  149. package/dist/providers/meta-segmentation.d.ts +27 -0
  150. package/dist/providers/meta-segmentation.d.ts.map +1 -0
  151. package/dist/providers/meta-segmentation.js +141 -0
  152. package/dist/providers/meta-segmentation.js.map +1 -0
  153. package/dist/providers/meta-transcription.d.ts +31 -0
  154. package/dist/providers/meta-transcription.d.ts.map +1 -0
  155. package/dist/providers/meta-transcription.js +187 -0
  156. package/dist/providers/meta-transcription.js.map +1 -0
  157. package/dist/providers/node-llama-cpp-provider.d.ts +6 -3
  158. package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -1
  159. package/dist/providers/node-llama-cpp-provider.js +77 -62
  160. package/dist/providers/node-llama-cpp-provider.js.map +1 -1
  161. package/dist/providers/ollama-provider.d.ts +23 -0
  162. package/dist/providers/ollama-provider.d.ts.map +1 -1
  163. package/dist/providers/ollama-provider.js +140 -27
  164. package/dist/providers/ollama-provider.js.map +1 -1
  165. package/dist/providers/openai-compat/client.d.ts +10 -1
  166. package/dist/providers/openai-compat/client.d.ts.map +1 -1
  167. package/dist/providers/openai-compat/client.js +21 -3
  168. package/dist/providers/openai-compat/client.js.map +1 -1
  169. package/dist/providers/openai-compat/index.d.ts +1 -1
  170. package/dist/providers/openai-compat/index.d.ts.map +1 -1
  171. package/dist/providers/openai-compat/index.js +1 -1
  172. package/dist/providers/openai-compat/index.js.map +1 -1
  173. package/dist/providers/openai-compat/types.d.ts +4 -0
  174. package/dist/providers/openai-compat/types.d.ts.map +1 -1
  175. package/dist/providers/openai-compat-provider.d.ts +11 -0
  176. package/dist/providers/openai-compat-provider.d.ts.map +1 -1
  177. package/dist/providers/openai-compat-provider.js +47 -2
  178. package/dist/providers/openai-compat-provider.js.map +1 -1
  179. package/dist/providers/openai-provider.d.ts +15 -0
  180. package/dist/providers/openai-provider.d.ts.map +1 -1
  181. package/dist/providers/openai-provider.js +50 -12
  182. package/dist/providers/openai-provider.js.map +1 -1
  183. package/dist/providers/opper-provider.d.ts +31 -0
  184. package/dist/providers/opper-provider.d.ts.map +1 -0
  185. package/dist/providers/opper-provider.js +91 -0
  186. package/dist/providers/opper-provider.js.map +1 -0
  187. package/dist/providers/provider-request-log.d.ts.map +1 -1
  188. package/dist/providers/provider-request-log.js +3 -2
  189. package/dist/providers/provider-request-log.js.map +1 -1
  190. package/dist/providers/python-provider.d.ts.map +1 -1
  191. package/dist/providers/python-provider.js +5 -3
  192. package/dist/providers/python-provider.js.map +1 -1
  193. package/dist/providers/responses-api.d.ts +12 -2
  194. package/dist/providers/responses-api.d.ts.map +1 -1
  195. package/dist/providers/responses-api.js +54 -3
  196. package/dist/providers/responses-api.js.map +1 -1
  197. package/dist/providers/safe-url.d.ts.map +1 -1
  198. package/dist/providers/safe-url.js +8 -0
  199. package/dist/providers/safe-url.js.map +1 -1
  200. package/dist/providers/scripted-provider.d.ts.map +1 -1
  201. package/dist/providers/scripted-provider.js +6 -1
  202. package/dist/providers/scripted-provider.js.map +1 -1
  203. package/dist/providers/types.d.ts +16 -0
  204. package/dist/providers/types.d.ts.map +1 -1
  205. package/dist/providers/types.js.map +1 -1
  206. package/dist/providers/vgenv-provider.d.ts +33 -0
  207. package/dist/providers/vgenv-provider.d.ts.map +1 -0
  208. package/dist/providers/vgenv-provider.js +261 -0
  209. package/dist/providers/vgenv-provider.js.map +1 -0
  210. package/dist/providers/vllm-provider.d.ts +7 -0
  211. package/dist/providers/vllm-provider.d.ts.map +1 -1
  212. package/dist/providers/vllm-provider.js +15 -3
  213. package/dist/providers/vllm-provider.js.map +1 -1
  214. package/dist/python-bridge-base.d.ts +16 -6
  215. package/dist/python-bridge-base.d.ts.map +1 -1
  216. package/dist/python-bridge-base.js +117 -40
  217. package/dist/python-bridge-base.js.map +1 -1
  218. package/dist/python-bridge-codec.d.ts +16 -1
  219. package/dist/python-bridge-codec.d.ts.map +1 -1
  220. package/dist/python-bridge-codec.js +60 -2
  221. package/dist/python-bridge-codec.js.map +1 -1
  222. package/dist/python-bridge-framing.d.ts +10 -1
  223. package/dist/python-bridge-framing.d.ts.map +1 -1
  224. package/dist/python-bridge-framing.js +33 -8
  225. package/dist/python-bridge-framing.js.map +1 -1
  226. package/dist/python-bridge-types.d.ts +26 -5
  227. package/dist/python-bridge-types.d.ts.map +1 -1
  228. package/dist/python-bridge-types.js.map +1 -1
  229. package/dist/python-graph-resolver.d.ts.map +1 -1
  230. package/dist/python-graph-resolver.js +12 -2
  231. package/dist/python-graph-resolver.js.map +1 -1
  232. package/dist/python-node-executor.d.ts +14 -3
  233. package/dist/python-node-executor.d.ts.map +1 -1
  234. package/dist/python-node-executor.js +185 -3
  235. package/dist/python-node-executor.js.map +1 -1
  236. package/dist/python-stdio-bridge.d.ts +6 -0
  237. package/dist/python-stdio-bridge.d.ts.map +1 -1
  238. package/dist/python-stdio-bridge.js +58 -12
  239. package/dist/python-stdio-bridge.js.map +1 -1
  240. package/dist/run-trace-context.d.ts +2 -27
  241. package/dist/run-trace-context.d.ts.map +1 -1
  242. package/dist/run-trace-context.js +4 -51
  243. package/dist/run-trace-context.js.map +1 -1
  244. package/dist/run-trace-processor.d.ts +3 -0
  245. package/dist/run-trace-processor.d.ts.map +1 -1
  246. package/dist/run-trace-processor.js +63 -46
  247. package/dist/run-trace-processor.js.map +1 -1
  248. package/dist/run-trace-scope.d.ts +28 -0
  249. package/dist/run-trace-scope.d.ts.map +1 -0
  250. package/dist/run-trace-scope.js +51 -0
  251. package/dist/run-trace-scope.js.map +1 -0
  252. package/dist/run-trace-serialization.d.ts.map +1 -1
  253. package/dist/run-trace-serialization.js +4 -3
  254. package/dist/run-trace-serialization.js.map +1 -1
  255. package/dist/span-record.d.ts +4 -0
  256. package/dist/span-record.d.ts.map +1 -0
  257. package/dist/span-record.js +48 -0
  258. package/dist/span-record.js.map +1 -0
  259. package/dist/swappable-python-bridge.d.ts +6 -6
  260. package/dist/swappable-python-bridge.d.ts.map +1 -1
  261. package/dist/swappable-python-bridge.js +10 -10
  262. package/dist/swappable-python-bridge.js.map +1 -1
  263. package/dist/telemetry.d.ts +2 -2
  264. package/dist/telemetry.d.ts.map +1 -1
  265. package/dist/telemetry.js +33 -34
  266. package/dist/telemetry.js.map +1 -1
  267. package/dist/testing.d.ts +1 -1
  268. package/dist/testing.d.ts.map +1 -1
  269. package/dist/testing.js +55 -3
  270. package/dist/testing.js.map +1 -1
  271. package/dist/token-counter.d.ts +4 -13
  272. package/dist/token-counter.d.ts.map +1 -1
  273. package/dist/token-counter.js +68 -18
  274. package/dist/token-counter.js.map +1 -1
  275. package/dist/trace-context-manager.d.ts +12 -0
  276. package/dist/trace-context-manager.d.ts.map +1 -0
  277. package/dist/trace-context-manager.js +30 -0
  278. package/dist/trace-context-manager.js.map +1 -0
  279. package/dist/trace-exporters.d.ts +2 -3
  280. package/dist/trace-exporters.d.ts.map +1 -1
  281. package/dist/trace-exporters.js +5 -52
  282. package/dist/trace-exporters.js.map +1 -1
  283. package/dist/trace-semantic-conventions.d.ts +2 -0
  284. package/dist/trace-semantic-conventions.d.ts.map +1 -0
  285. package/dist/trace-semantic-conventions.js +2 -0
  286. package/dist/trace-semantic-conventions.js.map +1 -0
  287. package/dist/traced-storage.d.ts +17 -0
  288. package/dist/traced-storage.d.ts.map +1 -0
  289. package/dist/traced-storage.js +41 -0
  290. package/dist/traced-storage.js.map +1 -0
  291. package/dist/tracing-module.d.ts +3 -0
  292. package/dist/tracing-module.d.ts.map +1 -0
  293. package/dist/tracing-module.js +12 -0
  294. package/dist/tracing-module.js.map +1 -0
  295. package/package.json +37 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-provider.js","sourceRoot":"","sources":["../../src/providers/bedrock-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export interface AwsCredentials {
2
+ accessKeyId: string;
3
+ secretAccessKey: string;
4
+ sessionToken?: string;
5
+ }
6
+ /** `20261013T160133Z` for a date. */
7
+ export declare function amzDate(date: Date): string;
8
+ /**
9
+ * Sign a request for an AWS service with SigV4 and return the headers to send.
10
+ * The path is canonicalised the way every non-S3 service expects: each
11
+ * segment of the already-encoded path is encoded again.
12
+ */
13
+ export declare function signAwsRequest(args: {
14
+ method: string;
15
+ url: URL;
16
+ body: string;
17
+ region: string;
18
+ service: string;
19
+ credentials: AwsCredentials;
20
+ headers?: Record<string, string>;
21
+ now?: Date;
22
+ }): Record<string, string>;
23
+ /** One decoded event-stream message: its string headers and raw payload. */
24
+ export interface EventStreamMessage {
25
+ headers: Record<string, string>;
26
+ payload: Uint8Array;
27
+ }
28
+ /**
29
+ * Split a byte stream into event-stream messages. A message may arrive split
30
+ * across network chunks, so bytes are buffered until a whole frame is present.
31
+ * Both CRCs are checked: a corrupted frame fails loudly instead of decoding as
32
+ * garbage.
33
+ */
34
+ export declare function decodeEventStream(body: AsyncIterable<Uint8Array>): AsyncGenerator<EventStreamMessage>;
35
+ /** Encode one event-stream message with string headers. The inverse of {@link decodeEventStream}, for tests and fixtures. */
36
+ export declare function encodeEventStreamMessage(headers: Record<string, string>, payload: Uint8Array): Uint8Array;
37
+ //# sourceMappingURL=bedrock-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-transport.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock-transport.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAkBD,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiEzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;CACrB;AA+CD;;;;;GAKG;AACH,wBAAuB,iBAAiB,CACtC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAC9B,cAAc,CAAC,kBAAkB,CAAC,CAiCpC;AAED,6HAA6H;AAC7H,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,UAAU,GAClB,UAAU,CAmBZ"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * The two pieces of the AWS wire protocol the Bedrock provider needs without
3
+ * the AWS SDK: Signature Version 4 request signing, and the binary
4
+ * `application/vnd.amazon.eventstream` framing that `ConverseStream` answers
5
+ * with.
6
+ *
7
+ * SigV4: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-create-signed-request.html
8
+ * Event stream: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
9
+ */
10
+ import { createHash, createHmac } from "node:crypto";
11
+ import { crc32 } from "node:zlib";
12
+ /** RFC 3986 percent-encoding, which `encodeURIComponent` falls short of. */
13
+ function encodeRfc3986(value) {
14
+ return encodeURIComponent(value).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
15
+ }
16
+ function sha256Hex(data) {
17
+ return createHash("sha256").update(data).digest("hex");
18
+ }
19
+ function hmac(key, data) {
20
+ return createHmac("sha256", key).update(data).digest();
21
+ }
22
+ /** `20261013T160133Z` for a date. */
23
+ export function amzDate(date) {
24
+ return date.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}/, "");
25
+ }
26
+ /**
27
+ * Sign a request for an AWS service with SigV4 and return the headers to send.
28
+ * The path is canonicalised the way every non-S3 service expects: each
29
+ * segment of the already-encoded path is encoded again.
30
+ */
31
+ export function signAwsRequest(args) {
32
+ const now = args.now ?? new Date();
33
+ const timestamp = amzDate(now);
34
+ const day = timestamp.slice(0, 8);
35
+ const payloadHash = sha256Hex(args.body);
36
+ const headers = {
37
+ ...args.headers,
38
+ host: args.url.host,
39
+ "x-amz-date": timestamp
40
+ };
41
+ if (args.credentials.sessionToken) {
42
+ headers["x-amz-security-token"] = args.credentials.sessionToken;
43
+ }
44
+ const canonicalHeaders = Object.entries(headers)
45
+ .map(([name, value]) => [name.toLowerCase(), value.trim().replace(/\s+/g, " ")])
46
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
47
+ const signedHeaders = canonicalHeaders.map(([name]) => name).join(";");
48
+ const canonicalPath = args.url.pathname
49
+ .split("/")
50
+ .map((segment) => encodeRfc3986(segment))
51
+ .join("/") || "/";
52
+ const canonicalQuery = [...args.url.searchParams.entries()]
53
+ .map(([k, v]) => [encodeRfc3986(k), encodeRfc3986(v)])
54
+ .sort(([ak, av], [bk, bv]) => ak === bk ? (av < bv ? -1 : 1) : ak < bk ? -1 : 1)
55
+ .map(([k, v]) => `${k}=${v}`)
56
+ .join("&");
57
+ const canonicalRequest = [
58
+ args.method.toUpperCase(),
59
+ canonicalPath,
60
+ canonicalQuery,
61
+ canonicalHeaders.map(([name, value]) => `${name}:${value}\n`).join(""),
62
+ signedHeaders,
63
+ payloadHash
64
+ ].join("\n");
65
+ const scope = `${day}/${args.region}/${args.service}/aws4_request`;
66
+ const stringToSign = [
67
+ "AWS4-HMAC-SHA256",
68
+ timestamp,
69
+ scope,
70
+ sha256Hex(canonicalRequest)
71
+ ].join("\n");
72
+ const signingKey = hmac(hmac(hmac(hmac(`AWS4${args.credentials.secretAccessKey}`, day), args.region), args.service), "aws4_request");
73
+ const signature = createHmac("sha256", signingKey)
74
+ .update(stringToSign)
75
+ .digest("hex");
76
+ const { host: _host, ...sendable } = headers;
77
+ return {
78
+ ...sendable,
79
+ authorization: `AWS4-HMAC-SHA256 Credential=${args.credentials.accessKeyId}/${scope}, ` +
80
+ `SignedHeaders=${signedHeaders}, Signature=${signature}`
81
+ };
82
+ }
83
+ const PRELUDE_BYTES = 12;
84
+ const TRAILER_BYTES = 4;
85
+ /** Bytes a header value of each type occupies after its type byte, or -1 for length-prefixed types. */
86
+ const FIXED_HEADER_SIZES = {
87
+ 0: 0, // true
88
+ 1: 0, // false
89
+ 2: 1, // byte
90
+ 3: 2, // short
91
+ 4: 4, // integer
92
+ 5: 8, // long
93
+ 8: 8, // timestamp
94
+ 9: 16 // uuid
95
+ };
96
+ function decodeHeaders(bytes) {
97
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
98
+ const decoder = new TextDecoder();
99
+ const headers = {};
100
+ let offset = 0;
101
+ while (offset < bytes.length) {
102
+ const nameLength = view.getUint8(offset);
103
+ offset += 1;
104
+ const name = decoder.decode(bytes.subarray(offset, offset + nameLength));
105
+ offset += nameLength;
106
+ const type = view.getUint8(offset);
107
+ offset += 1;
108
+ if (type === 6 || type === 7) {
109
+ const valueLength = view.getUint16(offset);
110
+ offset += 2;
111
+ if (type === 7) {
112
+ headers[name] = decoder.decode(bytes.subarray(offset, offset + valueLength));
113
+ }
114
+ offset += valueLength;
115
+ continue;
116
+ }
117
+ const size = FIXED_HEADER_SIZES[type];
118
+ if (size === undefined) {
119
+ throw new Error(`Bedrock event stream header ${name} has unknown type ${type}`);
120
+ }
121
+ offset += size;
122
+ }
123
+ return headers;
124
+ }
125
+ /**
126
+ * Split a byte stream into event-stream messages. A message may arrive split
127
+ * across network chunks, so bytes are buffered until a whole frame is present.
128
+ * Both CRCs are checked: a corrupted frame fails loudly instead of decoding as
129
+ * garbage.
130
+ */
131
+ export async function* decodeEventStream(body) {
132
+ let buffer = new Uint8Array(0);
133
+ for await (const chunk of body) {
134
+ const merged = new Uint8Array(buffer.length + chunk.length);
135
+ merged.set(buffer);
136
+ merged.set(chunk, buffer.length);
137
+ buffer = merged;
138
+ while (buffer.length >= PRELUDE_BYTES) {
139
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
140
+ const totalLength = view.getUint32(0);
141
+ const headersLength = view.getUint32(4);
142
+ if (totalLength < PRELUDE_BYTES + TRAILER_BYTES + headersLength) {
143
+ throw new Error("Bedrock event stream frame has an invalid length");
144
+ }
145
+ if (crc32(buffer.subarray(0, 8)) !== view.getUint32(8)) {
146
+ throw new Error("Bedrock event stream prelude checksum mismatch");
147
+ }
148
+ if (buffer.length < totalLength)
149
+ break;
150
+ if (crc32(buffer.subarray(0, totalLength - TRAILER_BYTES)) !== view.getUint32(totalLength - TRAILER_BYTES)) {
151
+ throw new Error("Bedrock event stream message checksum mismatch");
152
+ }
153
+ const headersEnd = PRELUDE_BYTES + headersLength;
154
+ yield {
155
+ headers: decodeHeaders(buffer.subarray(PRELUDE_BYTES, headersEnd)),
156
+ payload: buffer.slice(headersEnd, totalLength - TRAILER_BYTES)
157
+ };
158
+ buffer = buffer.slice(totalLength);
159
+ }
160
+ }
161
+ if (buffer.length > 0) {
162
+ throw new Error("Bedrock event stream ended mid-message");
163
+ }
164
+ }
165
+ /** Encode one event-stream message with string headers. The inverse of {@link decodeEventStream}, for tests and fixtures. */
166
+ export function encodeEventStreamMessage(headers, payload) {
167
+ const encoder = new TextEncoder();
168
+ const headerParts = [];
169
+ for (const [name, value] of Object.entries(headers)) {
170
+ const nameBytes = encoder.encode(name);
171
+ const valueBytes = encoder.encode(value);
172
+ headerParts.push(nameBytes.length, ...nameBytes, 7, valueBytes.length >> 8, valueBytes.length & 0xff, ...valueBytes);
173
+ }
174
+ const headerBytes = Uint8Array.from(headerParts);
175
+ const total = PRELUDE_BYTES + headerBytes.length + payload.length + TRAILER_BYTES;
176
+ const out = new Uint8Array(total);
177
+ const view = new DataView(out.buffer);
178
+ view.setUint32(0, total);
179
+ view.setUint32(4, headerBytes.length);
180
+ view.setUint32(8, crc32(out.subarray(0, 8)));
181
+ out.set(headerBytes, PRELUDE_BYTES);
182
+ out.set(payload, PRELUDE_BYTES + headerBytes.length);
183
+ view.setUint32(total - TRAILER_BYTES, crc32(out.subarray(0, total - TRAILER_BYTES)));
184
+ return out;
185
+ }
186
+ //# sourceMappingURL=bedrock-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-transport.js","sourceRoot":"","sources":["../../src/providers/bedrock-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { BaseProvider, type ProviderCapability } from "./base-provider.js";
2
+ import { type ExtensionTab } from "./extension-tab.js";
3
+ import type { ImageModel, ImageToImageParams, LanguageModel, Message, ProviderStreamItem, TextToImageParams } from "./types.js";
4
+ /** The model id that leaves the choice to ChatGPT. */
5
+ export declare const CHATGPT_AUTO_MODEL = "auto";
6
+ /** The one image model: ChatGPT's own image tool, run by the default chat model. */
7
+ export declare const CHATGPT_IMAGE_MODEL = "chatgpt-image";
8
+ /** Replace the tab. Tests use this to avoid a real browser. */
9
+ export declare function setChatGPTTab(next: ExtensionTab | null): void;
10
+ /**
11
+ * Flatten a conversation into one composer message. A single user message goes
12
+ * as it is. Otherwise the system prompt and the earlier turns become a
13
+ * transcript that ends with the last user message.
14
+ */
15
+ export declare function composePrompt(messages: Message[]): string;
16
+ /** The new messages of a continued thread: ChatGPT already holds its own replies and the system prompt. */
17
+ export declare function composeDelta(delta: Message[]): string;
18
+ export declare class ChatGPTProvider extends BaseProvider {
19
+ static requiredSecrets(): string[];
20
+ constructor(_secrets?: Record<string, unknown>);
21
+ protected declaredCapabilities(): readonly ProviderCapability[];
22
+ /**
23
+ * Listing never attaches to the tab: it returns `auto` plus the account's
24
+ * models read during an earlier call. Any ChatGPT model slug also works as
25
+ * a model id.
26
+ */
27
+ getAvailableLanguageModels(): Promise<LanguageModel[]>;
28
+ getAvailableImageModels(): Promise<ImageModel[]>;
29
+ /** Threads by conversation thread id, for callers that do not persist the session themselves. */
30
+ private readonly sessions;
31
+ generateMessage(args: Parameters<BaseProvider["generateMessage"]>[0]): Promise<Message>;
32
+ generateMessages(args: Parameters<BaseProvider["generateMessages"]>[0]): AsyncGenerator<ProviderStreamItem>;
33
+ /**
34
+ * Continue the thread the prior session names, or start a new one. A thread
35
+ * continues when the model and system prompt still match and there are new
36
+ * messages; then only those are sent. A thread that is gone falls back to a
37
+ * new one with the whole conversation.
38
+ */
39
+ private chatTurn;
40
+ /** A chat turn's request: the text plus the images of the last user message among `messages`. */
41
+ private turnRequest;
42
+ textToImage(params: TextToImageParams): Promise<Uint8Array>;
43
+ imageToImage(images: Uint8Array[], params: ImageToImageParams): Promise<Uint8Array>;
44
+ private generateImage;
45
+ /** Bytes of one image part: inline data, a data URI, an asset URI or a URL. */
46
+ private imageBytes;
47
+ }
48
+ //# sourceMappingURL=chatgpt-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt-provider.d.ts","sourceRoot":"","sources":["../../src/providers/chatgpt-provider.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAgD,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErG,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,OAAO,EAIP,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAsBnD,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAG7D;AAmVD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAUzD;AAED,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAIrD;AAaD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;IAED,YAAY,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAEjD;IAED,UAAmB,oBAAoB,IAAI,SAAS,kBAAkB,EAAE,CAEvE;IAED;;;;OAIG;IACY,0BAA0B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAGpE;IAEc,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9D;IAED,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAEhD,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrG;IAEe,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAI1H;IAED;;;;;OAKG;YACW,QAAQ;IAmDtB,iGAAiG;YACnF,WAAW;IAQV,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzE;IAEc,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAGjG;YAEa,aAAa;IA0B3B,+EAA+E;YACjE,UAAU;CAYzB"}