@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.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/canvas-codec.d.ts +3 -0
- package/dist/canvas-codec.d.ts.map +1 -0
- package/dist/canvas-codec.js +12 -0
- package/dist/canvas-codec.js.map +1 -0
- package/dist/context-packer.d.ts +1 -1
- package/dist/context-packer.js +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +16 -5
- package/dist/context.js.map +1 -1
- package/dist/host-binaries.d.ts.map +1 -1
- package/dist/host-binaries.js +4 -3
- package/dist/host-binaries.js.map +1 -1
- package/dist/http-client-spans.d.ts +9 -0
- package/dist/http-client-spans.d.ts.map +1 -0
- package/dist/http-client-spans.js +88 -0
- package/dist/http-client-spans.js.map +1 -0
- package/dist/image-codec.d.ts +6 -3
- package/dist/image-codec.d.ts.map +1 -1
- package/dist/image-codec.js +17 -17
- package/dist/image-codec.js.map +1 -1
- package/dist/image-model-tasks.d.ts +20 -0
- package/dist/image-model-tasks.d.ts.map +1 -1
- package/dist/image-model-tasks.js +44 -1
- package/dist/image-model-tasks.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/media-ref-bytes.d.ts.map +1 -1
- package/dist/media-ref-bytes.js +31 -6
- package/dist/media-ref-bytes.js.map +1 -1
- package/dist/otlp-json-trace-exporter.d.ts +89 -0
- package/dist/otlp-json-trace-exporter.d.ts.map +1 -0
- package/dist/otlp-json-trace-exporter.js +155 -0
- package/dist/otlp-json-trace-exporter.js.map +1 -0
- package/dist/prompt-asset-refs.d.ts +12 -1
- package/dist/prompt-asset-refs.d.ts.map +1 -1
- package/dist/prompt-asset-refs.js +9 -4
- package/dist/prompt-asset-refs.js.map +1 -1
- package/dist/providers/antigravity-provider.d.ts +113 -0
- package/dist/providers/antigravity-provider.d.ts.map +1 -0
- package/dist/providers/antigravity-provider.js +527 -0
- package/dist/providers/antigravity-provider.js.map +1 -0
- package/dist/providers/api-route-provider.d.ts +22 -0
- package/dist/providers/api-route-provider.d.ts.map +1 -0
- package/dist/providers/api-route-provider.js +56 -0
- package/dist/providers/api-route-provider.js.map +1 -0
- package/dist/providers/azure-openai-provider.d.ts +69 -0
- package/dist/providers/azure-openai-provider.d.ts.map +1 -0
- package/dist/providers/azure-openai-provider.js +233 -0
- package/dist/providers/azure-openai-provider.js.map +1 -0
- package/dist/providers/base-provider.d.ts.map +1 -1
- package/dist/providers/base-provider.js +41 -4
- package/dist/providers/base-provider.js.map +1 -1
- package/dist/providers/bedrock-provider.d.ts +52 -0
- package/dist/providers/bedrock-provider.d.ts.map +1 -0
- package/dist/providers/bedrock-provider.js +648 -0
- package/dist/providers/bedrock-provider.js.map +1 -0
- package/dist/providers/bedrock-transport.d.ts +37 -0
- package/dist/providers/bedrock-transport.d.ts.map +1 -0
- package/dist/providers/bedrock-transport.js +186 -0
- package/dist/providers/bedrock-transport.js.map +1 -0
- package/dist/providers/chatgpt-provider.d.ts +48 -0
- package/dist/providers/chatgpt-provider.d.ts.map +1 -0
- package/dist/providers/chatgpt-provider.js +551 -0
- package/dist/providers/chatgpt-provider.js.map +1 -0
- package/dist/providers/claude-agent-provider.d.ts +29 -51
- package/dist/providers/claude-agent-provider.d.ts.map +1 -1
- package/dist/providers/claude-agent-provider.js +144 -202
- package/dist/providers/claude-agent-provider.js.map +1 -1
- package/dist/providers/claude-cli.d.ts +265 -0
- package/dist/providers/claude-cli.d.ts.map +1 -0
- package/dist/providers/claude-cli.js +488 -0
- package/dist/providers/claude-cli.js.map +1 -0
- package/dist/providers/codex-provider.d.ts +9 -2
- package/dist/providers/codex-provider.d.ts.map +1 -1
- package/dist/providers/codex-provider.js +25 -11
- package/dist/providers/codex-provider.js.map +1 -1
- package/dist/providers/context-window.d.ts.map +1 -1
- package/dist/providers/context-window.js +1 -0
- package/dist/providers/context-window.js.map +1 -1
- package/dist/providers/core-tools.d.ts +4 -1
- package/dist/providers/core-tools.d.ts.map +1 -1
- package/dist/providers/core-tools.js +5 -3
- package/dist/providers/core-tools.js.map +1 -1
- package/dist/providers/cost-calculator.d.ts.map +1 -1
- package/dist/providers/cost-calculator.js +9 -0
- package/dist/providers/cost-calculator.js.map +1 -1
- package/dist/providers/credential-check.d.ts +8 -0
- package/dist/providers/credential-check.d.ts.map +1 -1
- package/dist/providers/credential-check.js +22 -0
- package/dist/providers/credential-check.js.map +1 -1
- package/dist/providers/custom-openai-provider.d.ts.map +1 -1
- package/dist/providers/custom-openai-provider.js +19 -1
- package/dist/providers/custom-openai-provider.js.map +1 -1
- package/dist/providers/dreamina-pending.d.ts +22 -0
- package/dist/providers/dreamina-pending.d.ts.map +1 -0
- package/dist/providers/dreamina-pending.js +86 -0
- package/dist/providers/dreamina-pending.js.map +1 -0
- package/dist/providers/dreamina-provider.d.ts +10 -3
- package/dist/providers/dreamina-provider.d.ts.map +1 -1
- package/dist/providers/dreamina-provider.js +325 -45
- package/dist/providers/dreamina-provider.js.map +1 -1
- package/dist/providers/extension-tab.d.ts +42 -0
- package/dist/providers/extension-tab.d.ts.map +1 -0
- package/dist/providers/extension-tab.js +200 -0
- package/dist/providers/extension-tab.js.map +1 -0
- package/dist/providers/fake-provider.d.ts +3 -1
- package/dist/providers/fake-provider.d.ts.map +1 -1
- package/dist/providers/fake-provider.js +63 -9
- package/dist/providers/fake-provider.js.map +1 -1
- package/dist/providers/fake-schema-answer.d.ts +10 -0
- package/dist/providers/fake-schema-answer.d.ts.map +1 -0
- package/dist/providers/fake-schema-answer.js +64 -0
- package/dist/providers/fake-schema-answer.js.map +1 -0
- package/dist/providers/fal-provider.d.ts.map +1 -1
- package/dist/providers/fal-provider.js +5 -2
- package/dist/providers/fal-provider.js.map +1 -1
- package/dist/providers/gemini-web-provider.d.ts +76 -0
- package/dist/providers/gemini-web-provider.d.ts.map +1 -0
- package/dist/providers/gemini-web-provider.js +827 -0
- package/dist/providers/gemini-web-provider.js.map +1 -0
- package/dist/providers/http-transport.d.ts.map +1 -1
- package/dist/providers/http-transport.js +2 -0
- package/dist/providers/http-transport.js.map +1 -1
- package/dist/providers/huggingface-provider.d.ts.map +1 -1
- package/dist/providers/huggingface-provider.js +17 -1
- package/dist/providers/huggingface-provider.js.map +1 -1
- package/dist/providers/index.d.ts +18 -2
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +66 -15
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/llama-provider.d.ts +8 -0
- package/dist/providers/llama-provider.d.ts.map +1 -1
- package/dist/providers/llama-provider.js +23 -5
- package/dist/providers/llama-provider.js.map +1 -1
- package/dist/providers/lmstudio-provider.js +2 -2
- package/dist/providers/lmstudio-provider.js.map +1 -1
- package/dist/providers/manifest-models.d.ts +2 -12
- package/dist/providers/manifest-models.d.ts.map +1 -1
- package/dist/providers/manifest-models.js +45 -3
- package/dist/providers/manifest-models.js.map +1 -1
- package/dist/providers/meta-provider.d.ts +53 -6
- package/dist/providers/meta-provider.d.ts.map +1 -1
- package/dist/providers/meta-provider.js +289 -6
- package/dist/providers/meta-provider.js.map +1 -1
- package/dist/providers/meta-segmentation.d.ts +27 -0
- package/dist/providers/meta-segmentation.d.ts.map +1 -0
- package/dist/providers/meta-segmentation.js +141 -0
- package/dist/providers/meta-segmentation.js.map +1 -0
- package/dist/providers/meta-transcription.d.ts +31 -0
- package/dist/providers/meta-transcription.d.ts.map +1 -0
- package/dist/providers/meta-transcription.js +187 -0
- package/dist/providers/meta-transcription.js.map +1 -0
- package/dist/providers/node-llama-cpp-provider.d.ts +6 -3
- package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -1
- package/dist/providers/node-llama-cpp-provider.js +77 -62
- package/dist/providers/node-llama-cpp-provider.js.map +1 -1
- package/dist/providers/ollama-provider.d.ts +23 -0
- package/dist/providers/ollama-provider.d.ts.map +1 -1
- package/dist/providers/ollama-provider.js +140 -27
- package/dist/providers/ollama-provider.js.map +1 -1
- package/dist/providers/openai-compat/client.d.ts +10 -1
- package/dist/providers/openai-compat/client.d.ts.map +1 -1
- package/dist/providers/openai-compat/client.js +21 -3
- package/dist/providers/openai-compat/client.js.map +1 -1
- package/dist/providers/openai-compat/index.d.ts +1 -1
- package/dist/providers/openai-compat/index.d.ts.map +1 -1
- package/dist/providers/openai-compat/index.js +1 -1
- package/dist/providers/openai-compat/index.js.map +1 -1
- package/dist/providers/openai-compat/types.d.ts +4 -0
- package/dist/providers/openai-compat/types.d.ts.map +1 -1
- package/dist/providers/openai-compat-provider.d.ts +11 -0
- package/dist/providers/openai-compat-provider.d.ts.map +1 -1
- package/dist/providers/openai-compat-provider.js +47 -2
- package/dist/providers/openai-compat-provider.js.map +1 -1
- package/dist/providers/openai-provider.d.ts +15 -0
- package/dist/providers/openai-provider.d.ts.map +1 -1
- package/dist/providers/openai-provider.js +50 -12
- package/dist/providers/openai-provider.js.map +1 -1
- package/dist/providers/opper-provider.d.ts +31 -0
- package/dist/providers/opper-provider.d.ts.map +1 -0
- package/dist/providers/opper-provider.js +91 -0
- package/dist/providers/opper-provider.js.map +1 -0
- package/dist/providers/provider-request-log.d.ts.map +1 -1
- package/dist/providers/provider-request-log.js +3 -2
- package/dist/providers/provider-request-log.js.map +1 -1
- package/dist/providers/python-provider.d.ts.map +1 -1
- package/dist/providers/python-provider.js +5 -3
- package/dist/providers/python-provider.js.map +1 -1
- package/dist/providers/responses-api.d.ts +12 -2
- package/dist/providers/responses-api.d.ts.map +1 -1
- package/dist/providers/responses-api.js +54 -3
- package/dist/providers/responses-api.js.map +1 -1
- package/dist/providers/safe-url.d.ts.map +1 -1
- package/dist/providers/safe-url.js +8 -0
- package/dist/providers/safe-url.js.map +1 -1
- package/dist/providers/scripted-provider.d.ts.map +1 -1
- package/dist/providers/scripted-provider.js +6 -1
- package/dist/providers/scripted-provider.js.map +1 -1
- package/dist/providers/types.d.ts +16 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/vgenv-provider.d.ts +33 -0
- package/dist/providers/vgenv-provider.d.ts.map +1 -0
- package/dist/providers/vgenv-provider.js +261 -0
- package/dist/providers/vgenv-provider.js.map +1 -0
- package/dist/providers/vllm-provider.d.ts +7 -0
- package/dist/providers/vllm-provider.d.ts.map +1 -1
- package/dist/providers/vllm-provider.js +15 -3
- package/dist/providers/vllm-provider.js.map +1 -1
- package/dist/python-bridge-base.d.ts +16 -6
- package/dist/python-bridge-base.d.ts.map +1 -1
- package/dist/python-bridge-base.js +117 -40
- package/dist/python-bridge-base.js.map +1 -1
- package/dist/python-bridge-codec.d.ts +16 -1
- package/dist/python-bridge-codec.d.ts.map +1 -1
- package/dist/python-bridge-codec.js +60 -2
- package/dist/python-bridge-codec.js.map +1 -1
- package/dist/python-bridge-framing.d.ts +10 -1
- package/dist/python-bridge-framing.d.ts.map +1 -1
- package/dist/python-bridge-framing.js +33 -8
- package/dist/python-bridge-framing.js.map +1 -1
- package/dist/python-bridge-types.d.ts +26 -5
- package/dist/python-bridge-types.d.ts.map +1 -1
- package/dist/python-bridge-types.js.map +1 -1
- package/dist/python-graph-resolver.d.ts.map +1 -1
- package/dist/python-graph-resolver.js +12 -2
- package/dist/python-graph-resolver.js.map +1 -1
- package/dist/python-node-executor.d.ts +14 -3
- package/dist/python-node-executor.d.ts.map +1 -1
- package/dist/python-node-executor.js +185 -3
- package/dist/python-node-executor.js.map +1 -1
- package/dist/python-stdio-bridge.d.ts +6 -0
- package/dist/python-stdio-bridge.d.ts.map +1 -1
- package/dist/python-stdio-bridge.js +58 -12
- package/dist/python-stdio-bridge.js.map +1 -1
- package/dist/run-trace-context.d.ts +2 -27
- package/dist/run-trace-context.d.ts.map +1 -1
- package/dist/run-trace-context.js +4 -51
- package/dist/run-trace-context.js.map +1 -1
- package/dist/run-trace-processor.d.ts +3 -0
- package/dist/run-trace-processor.d.ts.map +1 -1
- package/dist/run-trace-processor.js +63 -46
- package/dist/run-trace-processor.js.map +1 -1
- package/dist/run-trace-scope.d.ts +28 -0
- package/dist/run-trace-scope.d.ts.map +1 -0
- package/dist/run-trace-scope.js +51 -0
- package/dist/run-trace-scope.js.map +1 -0
- package/dist/run-trace-serialization.d.ts.map +1 -1
- package/dist/run-trace-serialization.js +4 -3
- package/dist/run-trace-serialization.js.map +1 -1
- package/dist/span-record.d.ts +4 -0
- package/dist/span-record.d.ts.map +1 -0
- package/dist/span-record.js +48 -0
- package/dist/span-record.js.map +1 -0
- package/dist/swappable-python-bridge.d.ts +6 -6
- package/dist/swappable-python-bridge.d.ts.map +1 -1
- package/dist/swappable-python-bridge.js +10 -10
- package/dist/swappable-python-bridge.js.map +1 -1
- package/dist/telemetry.d.ts +2 -2
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +33 -34
- package/dist/telemetry.js.map +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +55 -3
- package/dist/testing.js.map +1 -1
- package/dist/token-counter.d.ts +4 -13
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +68 -18
- package/dist/token-counter.js.map +1 -1
- package/dist/trace-context-manager.d.ts +12 -0
- package/dist/trace-context-manager.d.ts.map +1 -0
- package/dist/trace-context-manager.js +30 -0
- package/dist/trace-context-manager.js.map +1 -0
- package/dist/trace-exporters.d.ts +2 -3
- package/dist/trace-exporters.d.ts.map +1 -1
- package/dist/trace-exporters.js +5 -52
- package/dist/trace-exporters.js.map +1 -1
- package/dist/trace-semantic-conventions.d.ts +2 -0
- package/dist/trace-semantic-conventions.d.ts.map +1 -0
- package/dist/trace-semantic-conventions.js +2 -0
- package/dist/trace-semantic-conventions.js.map +1 -0
- package/dist/traced-storage.d.ts +17 -0
- package/dist/traced-storage.d.ts.map +1 -0
- package/dist/traced-storage.js +41 -0
- package/dist/traced-storage.js.map +1 -0
- package/dist/tracing-module.d.ts +3 -0
- package/dist/tracing-module.d.ts.map +1 -0
- package/dist/tracing-module.js +12 -0
- package/dist/tracing-module.js.map +1 -0
- 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"}
|