@desplega.ai/agent-swarm 1.152.2 → 1.153.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{acp-adapter-pfeje2v5.js → acp-adapter-ahmjxhek.js} +4 -4
- package/dist/{actions-0sttc7f5.js → actions-jzrfpkmn.js} +30 -26
- package/dist/{anthropic-messages-2y8nktar.js → anthropic-messages-9vqsbznt.js} +112 -84
- package/dist/{app-p8teva95.js → app-03na2vwb.js} +9 -6
- package/dist/{assistant-r45jnsrt.js → assistant-hfkxvhgt.js} +31 -27
- package/dist/{azure-openai-responses-f38x2avq.js → azure-openai-responses-04qwdwfq.js} +27 -13
- package/dist/{boot-reembed-je26h5y7.js → boot-reembed-c98xrad3.js} +8 -6
- package/dist/{boot-reembed-1qmybsd4.js → boot-reembed-zt3qm9xn.js} +9 -7
- package/dist/{boot-scrub-logs-gte3h1mm.js → boot-scrub-logs-jcqd8ksj.js} +6 -4
- package/dist/{claude-adapter-csc1mzka.js → claude-adapter-mgryg8g3.js} +17 -15
- package/dist/{claude-managed-adapter-dsmkcrjy.js → claude-managed-adapter-ea2aga6w.js} +3 -3
- package/dist/{claude-sdk-session-fcd6f078.js → claude-sdk-session-jjf4zss1.js} +17 -15
- package/dist/{cli-r2fpe7cx.js → cli-00w2c66p.js} +61 -55
- package/dist/{cli-fm4ytsdk.js → cli-0d9nbqxf.js} +1 -1
- package/dist/cli-0x5qzvkg.js +4279 -0
- package/dist/{cli-d3p82erb.js → cli-18amys3y.js} +9 -9
- package/dist/{cli-wbyk465z.js → cli-1hwnb4hc.js} +1 -1
- package/dist/{cli-xw7vak96.js → cli-3bcmp015.js} +5 -5
- package/dist/cli-3er6gcsn.js +1849 -0
- package/dist/{cli-c4eeb5q2.js → cli-5b6b62tz.js} +1 -1
- package/dist/{cli-4ahpr4sw.js → cli-5mbmvxnn.js} +5 -5
- package/dist/{cli-xy1cchaf.js → cli-5taqtpze.js} +235 -8
- package/dist/{cli-fmy65jdn.js → cli-6ks9xf1n.js} +7 -5
- package/dist/cli-7g9s78jf.js +2827 -0
- package/dist/{cli-jew3jda5.js → cli-7pnz2v6s.js} +2 -2
- package/dist/{cli-r84ctdxn.js → cli-83wkg402.js} +2 -2
- package/dist/{cli-jvy9qgjs.js → cli-a9scg8sv.js} +4 -4
- package/dist/{cli-4yc5d8fk.js → cli-avkd6mqv.js} +50 -0
- package/dist/{cli-ht5rs63n.js → cli-b2g6mzjc.js} +15 -6
- package/dist/{cli-jbmc0r7r.js → cli-bw0dfwkr.js} +1 -1
- package/dist/{cli-8wrympd7.js → cli-bzr0ftht.js} +26 -7
- package/dist/{cli-wpv5rgg2.js → cli-cdq08v3r.js} +2 -2
- package/dist/cli-cgj4hc12.js +18902 -0
- package/dist/cli-d6hk10xx.js +14075 -0
- package/dist/{cli-zvgj5zg8.js → cli-djvxhnc4.js} +31 -3324
- package/dist/{cli-s25avqg9.js → cli-e781c6f9.js} +1 -0
- package/dist/{cli-3bpzj8me.js → cli-eazstkad.js} +2 -2
- package/dist/{cli-s2qjdd6z.js → cli-eetrvv91.js} +1 -1
- package/dist/cli-h38x0qhg.js +6912 -0
- package/dist/{cli-9xvdm3bx.js → cli-h60qfasa.js} +742 -278
- package/dist/{pi-mono-adapter-jcqt71cg.js → cli-ja7mrygn.js} +67343 -101083
- package/dist/{cli-j8dggbcr.js → cli-k0g1sjzm.js} +23 -31
- package/dist/{cli-gphgnvpf.js → cli-m04pt18h.js} +2 -2
- package/dist/{cli-rgvp6r2x.js → cli-mcnhgnn1.js} +193 -4
- package/dist/{cli-j4nv2wqy.js → cli-mzgyhxbe.js} +10 -4
- package/dist/{cli-qn042eh7.js → cli-n0q9b7j4.js} +46 -1870
- package/dist/cli-n7h1kqpf.js +29 -0
- package/dist/{cli-ckz5t2hb.js → cli-nq0kgyxe.js} +5 -5
- package/dist/{cli-z3wkng35.js → cli-qrqhc31j.js} +151 -125
- package/dist/{cli-56h18ng2.js → cli-r8tdds6s.js} +1 -1
- package/dist/{cli-ch38q5z4.js → cli-rj7de4b2.js} +6788 -2541
- package/dist/{cli-qd65dvr6.js → cli-s5s1f2yn.js} +56 -40
- package/dist/{cli-kj76p1ez.js → cli-scwq51gn.js} +13 -7
- package/dist/{cli-2nnd56zt.js → cli-tdh4hjr2.js} +3 -2
- package/dist/{cli-c2mk1kgf.js → cli-v4en75c5.js} +8 -1
- package/dist/{cli-b9dd0h3k.js → cli-vw03hg5t.js} +3 -2
- package/dist/{cli-zvkq5csn.js → cli-ybpp1srm.js} +6 -6
- package/dist/cli-yn0a417a.js +4069 -0
- package/dist/{cli-gpqcs935.js → cli-ysc1kbet.js} +2 -2
- package/dist/{cli-zfzznn7c.js → cli-ytxs7mn1.js} +26 -2
- package/dist/cli-zcsyfw2z.js +3335 -0
- package/dist/{cli-4j8k1m4w.js → cli-zt1227k1.js} +1162 -192
- package/dist/cli-zy5w9gpt.js +230 -0
- package/dist/cli.js +26 -34
- package/dist/{codex-adapter-fxmpsabw.js → codex-adapter-8548daap.js} +12 -11
- package/dist/{codex-session-runner-rr1e47ea.js → codex-session-runner-2dad8p4x.js} +12 -11
- package/dist/{commands-0f5rxz51.js → commands-355dbpa8.js} +6 -4
- package/dist/{db-r3jxf3wy.js → db-4jjvwz1s.js} +6 -4
- package/dist/{dispatcher-06vph6q4.js → dispatcher-ca590nkz.js} +29 -25
- package/dist/dsh-adapter-rgvj6ykp.js +19 -0
- package/dist/{e2b-413b8t4v.js → e2b-93x1k0j5.js} +6 -7
- package/dist/{google-generative-ai-ndjmj5fa.js → google-generative-ai-xtw7tggr.js} +33 -73
- package/dist/{google-vertex-fr665tqs.js → google-vertex-zdqpms6n.js} +38 -68
- package/dist/{handlers-0hgtc910.js → handlers-2y6dqpvf.js} +32 -28
- package/dist/{hook-9kvrv1er.js → hook-0s8knepr.js} +11 -9
- package/dist/{hook-fbfhkat3.js → hook-k0gec254.js} +12 -10
- package/dist/{http-xbyx8k5j.js → http-jp2nb4zw.js} +300 -237
- package/dist/{index-tfsdxyv6.js → index-0wzg3sp3.js} +39 -24
- package/dist/{index-rnyahfn5.js → index-3mq6ce93.js} +29 -25
- package/dist/{index-jsw3aynb.js → index-42s7eezq.js} +29 -25
- package/dist/{cli-pdz9qde4.js → index-9ch1n761.js} +10 -11
- package/dist/{index-gpfn1741.js → index-b56xkbc7.js} +8 -6
- package/dist/{index-66xz5e9j.js → index-h5gs261z.js} +521 -9
- package/dist/{index-2sp0384z.js → index-kkeftv5h.js} +738 -21
- package/dist/{index-sgk50mbg.js → index-s37dbevy.js} +30 -26
- package/dist/index-w097eg0x.js +5 -0
- package/dist/jiti-loader-b4837mtm.js +34 -0
- package/dist/jiti-static-loader-q2g5ds0y.js +31267 -0
- package/dist/{keepalive-s3xpr7sw.js → keepalive-9pfw7t02.js} +8 -6
- package/dist/{lead-rq4n5r16.js → lead-7vcmcdq4.js} +44 -39
- package/dist/{maintenance-f0atj1ab.js → maintenance-x277jbpd.js} +9 -7
- package/dist/{mistral-conversations-qhr84ph3.js → mistral-conversations-zx0kn554.js} +24 -18
- package/dist/{node-x1g4v0pq.js → node-5qtycf6a.js} +16 -11
- package/dist/{oauth-refresh-sweep-q0t3bxre.js → oauth-refresh-sweep-5fwa7th2.js} +7 -5
- package/dist/{onboard-br5j1kch.js → onboard-17sv0f51.js} +103 -35
- package/dist/{openai-codex-responses-wy6a43wd.js → openai-codex-responses-4vjqzvjp.js} +33 -27
- package/dist/{openai-completions-32rdwmze.js → openai-completions-pxsmym7g.js} +52 -64
- package/dist/{openai-responses-6xwf7bzg.js → openai-responses-tmn0rqp0.js} +23 -24
- package/dist/{opencode-adapter-28axqa09.js → opencode-adapter-qbmv4tpy.js} +6 -6
- package/dist/{otel-impl-vdqge2nt.js → otel-impl-srjy4be4.js} +4 -4
- package/dist/{pi-messages-b1mbr6gp.js → pi-messages-txpjj39q.js} +3 -3
- package/dist/pi-mono-adapter-946a0sdd.js +1316 -0
- package/dist/{pricing-refresh-hb3691fd.js → pricing-refresh-vetcm563.js} +8 -6
- package/dist/{rbac-roles-jh280k9g.js → rbac-roles-cfzgr6r1.js} +8 -6
- package/dist/{rbac-roles-t78xt39b.js → rbac-roles-cmxaddmy.js} +7 -5
- package/dist/{render-v2-7p8r2ymg.js → render-v2-f9hzff72.js} +9 -6
- package/dist/{seed-pricing-hf889enh.js → seed-pricing-jggk6rsy.js} +7 -5
- package/dist/{setup-w6mb03jv.js → setup-8mfceb9t.js} +4 -5
- package/dist/virtual-modules-ax661xp0.js +54 -0
- package/dist/{work-objects-nt8gy1kj.js → work-objects-vdsdcczj.js} +32 -28
- package/dist/{worker-dwy617t0.js → worker-cd0nhyv1.js} +44 -39
- package/openapi.json +36 -14
- package/package.json +6 -6
- package/src/be/automation-preflight.ts +6 -4
- package/src/be/extensions/db.ts +35 -4
- package/src/be/models-catalog.ts +2 -0
- package/src/be/modelsdev-cache.json +213 -0
- package/src/be/rbac-audit.ts +2 -0
- package/src/be/seed-pricing.ts +3 -1
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/commands/onboard/compose-generator.ts +6 -1
- package/src/commands/onboard/env-generator.ts +6 -1
- package/src/commands/onboard/manifest.ts +1 -0
- package/src/commands/onboard/steps/integration-slack.tsx +56 -16
- package/src/commands/onboard/steps/review.tsx +5 -0
- package/src/commands/onboard/types.ts +6 -0
- package/src/commands/onboard.tsx +5 -1
- package/src/commands/provider-credentials.ts +14 -2
- package/src/extensions/lifecycle.ts +15 -21
- package/src/http/agents.ts +2 -2
- package/src/http/config.ts +1 -1
- package/src/http/core.ts +5 -3
- package/src/http/extensions.ts +108 -34
- package/src/http/status.ts +22 -10
- package/src/prompts/base-prompt.ts +15 -7
- package/src/providers/claude-managed-models.ts +8 -0
- package/src/providers/codex-models.ts +15 -1
- package/src/providers/dsh-adapter.ts +248 -0
- package/src/providers/index.ts +5 -1
- package/src/providers/modelsdev-reasoning.json +50 -0
- package/src/rbac/legacy-policy.ts +15 -1
- package/src/rbac/types.ts +2 -0
- package/src/server.ts +7 -1
- package/src/slack/app.ts +32 -10
- package/src/slack/config.ts +29 -0
- package/src/telemetry.ts +2 -3
- package/src/tests/agents-harness-provider.test.ts +19 -0
- package/src/tests/agents-list-model-display.test.ts +60 -1
- package/src/tests/base-prompt.test.ts +25 -0
- package/src/tests/claude-managed-adapter.test.ts +6 -0
- package/src/tests/codex-gpt6-release.test.ts +97 -0
- package/src/tests/config-api-only-keys.test.ts +9 -0
- package/src/tests/context-window.test.ts +1 -0
- package/src/tests/dsh-adapter.test.ts +276 -0
- package/src/tests/e2e-nightly-report.test.ts +3 -3
- package/src/tests/e2e-redact.test.ts +2 -0
- package/src/tests/env-flag.test.ts +6 -0
- package/src/tests/extensions-db.test.ts +41 -0
- package/src/tests/extensions-http.test.ts +148 -4
- package/src/tests/extensions-lifecycle.test.ts +18 -0
- package/src/tests/extensions-mcp-tools.test.ts +9 -5
- package/src/tests/internal-ai/complete-structured.test.ts +32 -9
- package/src/tests/internal-ai/credentials.test.ts +4 -4
- package/src/tests/internal-ai/models.test.ts +20 -0
- package/src/tests/migration-046-budgets.test.ts +2 -0
- package/src/tests/model-control.test.ts +2 -2
- package/src/tests/onboard-compose.test.ts +14 -0
- package/src/tests/onboard-env.test.ts +17 -0
- package/src/tests/onboard-manifest.test.ts +12 -0
- package/src/tests/opus-5-5-registry.test.ts +48 -0
- package/src/tests/pricing-refresh.test.ts +1 -1
- package/src/tests/pricing-routes.test.ts +15 -3
- package/src/tests/provider-registration.test.ts +5 -2
- package/src/tests/rbac-admission-e2e.test.ts +54 -0
- package/src/tests/rbac-e2e-helpers.ts +2 -0
- package/src/tests/rbac-engine.test.ts +32 -0
- package/src/tests/rbac-wire-e2e.test.ts +33 -0
- package/src/tests/reasoning-effort.test.ts +8 -0
- package/src/tests/reload-config.test.ts +33 -0
- package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
- package/src/tests/slack-config.test.ts +136 -0
- package/src/tests/slack-mode-lifecycle.test.ts +69 -0
- package/src/tests/status.test.ts +22 -2
- package/src/tests/task-tool-preload-mcp.test.ts +3 -1
- package/src/tests/telemetry-init.test.ts +18 -0
- package/src/tests/workflow-llm.test.ts +3 -3
- package/src/tools/extension-common.ts +4 -0
- package/src/tools/extension-install.ts +1 -1
- package/src/tools/extension-list.ts +4 -3
- package/src/types.ts +17 -8
- package/src/utils/context-window.ts +1 -0
- package/src/utils/credentials.ts +8 -0
- package/src/utils/internal-ai/complete-structured.ts +8 -0
- package/src/utils/internal-ai/models.ts +5 -5
- package/templates/schedules/daily-status-report/content.md +25 -12
- package/templates/schedules/daily-workflow-health-audit/content.md +1 -1
- package/templates/skills/swarm-extensions/content.md +9 -5
- package/dist/cli-4wppfkcm.js +0 -16384
- package/dist/cli-55qrx3q8.js +0 -6041
- package/dist/cli-cg4vnyh4.js +0 -305
- package/dist/cli-jyetr64j.js +0 -52
- package/dist/cli-pp9ax9pa.js +0 -520
- package/dist/cli-qa66qaf0.js +0 -6076
- package/dist/cli-qghpvca2.js +0 -590
- package/dist/cli-rembwgt8.js +0 -861
- package/dist/cli-tcvj7j2r.js +0 -1971
- package/dist/cli-vfcth11k.js +0 -36
- package/dist/cli-w1d1bgkk.js +0 -1422
- package/dist/cli-y6x0gqtg.js +0 -5977
- package/dist/es5-tj3tn4jj.js +0 -844
- package/dist/index-1kq5hw2p.js +0 -467
- package/dist/index-1p8wdstt.js +0 -7
- package/dist/index-8fdjzb2f.js +0 -100
- package/dist/index-bxmwzbgw.js +0 -365
- package/dist/index-nzerxd5z.js +0 -7
- package/dist/index-pyymnzat.js +0 -1168
- package/dist/index-qv6atbab.js +0 -619
- package/dist/index-rja32qa7.js +0 -801
- package/dist/index-tzg5srfp.js +0 -211
- package/dist/index-vhncw983.js +0 -90
- package/dist/index-xk036zsk.js +0 -859
- package/dist/index-zyazbzcb.js +0 -6
- package/dist/{claude-managed-setup-48dwg9bv.js → claude-managed-setup-f5pmsyrp.js} +3 -3
package/dist/cli-w1d1bgkk.js
DELETED
|
@@ -1,1422 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
require_tslib
|
|
3
|
-
} from "./cli-qghpvca2.js";
|
|
4
|
-
import {
|
|
5
|
-
require_serde
|
|
6
|
-
} from "./cli-qa66qaf0.js";
|
|
7
|
-
import {
|
|
8
|
-
__commonJS,
|
|
9
|
-
__require
|
|
10
|
-
} from "./cli-bc05qbss.js";
|
|
11
|
-
|
|
12
|
-
// node_modules/@smithy/is-array-buffer/dist-cjs/index.js
|
|
13
|
-
var require_dist_cjs = __commonJS(function(exports, module) {
|
|
14
|
-
var __defProp = Object.defineProperty;
|
|
15
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
16
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
17
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
18
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
19
|
-
var __export = (target, all) => {
|
|
20
|
-
for (var name in all)
|
|
21
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
22
|
-
};
|
|
23
|
-
var __copyProps = (to, from, except, desc) => {
|
|
24
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
25
|
-
for (let key of __getOwnPropNames(from))
|
|
26
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
27
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
28
|
-
}
|
|
29
|
-
return to;
|
|
30
|
-
};
|
|
31
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
|
-
var src_exports = {};
|
|
33
|
-
__export(src_exports, {
|
|
34
|
-
isArrayBuffer: () => isArrayBuffer
|
|
35
|
-
});
|
|
36
|
-
module.exports = __toCommonJS(src_exports);
|
|
37
|
-
var isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer");
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
// node_modules/@smithy/util-buffer-from/dist-cjs/index.js
|
|
41
|
-
var require_dist_cjs2 = __commonJS(function(exports, module) {
|
|
42
|
-
var __defProp = Object.defineProperty;
|
|
43
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
44
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
45
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
46
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
47
|
-
var __export = (target, all) => {
|
|
48
|
-
for (var name in all)
|
|
49
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
50
|
-
};
|
|
51
|
-
var __copyProps = (to, from, except, desc) => {
|
|
52
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
53
|
-
for (let key of __getOwnPropNames(from))
|
|
54
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
55
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
56
|
-
}
|
|
57
|
-
return to;
|
|
58
|
-
};
|
|
59
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
60
|
-
var src_exports = {};
|
|
61
|
-
__export(src_exports, {
|
|
62
|
-
fromArrayBuffer: () => fromArrayBuffer,
|
|
63
|
-
fromString: () => fromString
|
|
64
|
-
});
|
|
65
|
-
module.exports = __toCommonJS(src_exports);
|
|
66
|
-
var import_is_array_buffer = require_dist_cjs();
|
|
67
|
-
var import_buffer = __require("buffer");
|
|
68
|
-
var fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {
|
|
69
|
-
if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {
|
|
70
|
-
throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
|
|
71
|
-
}
|
|
72
|
-
return import_buffer.Buffer.from(input, offset, length);
|
|
73
|
-
}, "fromArrayBuffer");
|
|
74
|
-
var fromString = /* @__PURE__ */ __name((input, encoding) => {
|
|
75
|
-
if (typeof input !== "string") {
|
|
76
|
-
throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
|
|
77
|
-
}
|
|
78
|
-
return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);
|
|
79
|
-
}, "fromString");
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// node_modules/@smithy/util-utf8/dist-cjs/index.js
|
|
83
|
-
var require_dist_cjs3 = __commonJS(function(exports, module) {
|
|
84
|
-
var __defProp = Object.defineProperty;
|
|
85
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
86
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
87
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
88
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
89
|
-
var __export = (target, all) => {
|
|
90
|
-
for (var name in all)
|
|
91
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
92
|
-
};
|
|
93
|
-
var __copyProps = (to, from, except, desc) => {
|
|
94
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
95
|
-
for (let key of __getOwnPropNames(from))
|
|
96
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
97
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
98
|
-
}
|
|
99
|
-
return to;
|
|
100
|
-
};
|
|
101
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
102
|
-
var src_exports = {};
|
|
103
|
-
__export(src_exports, {
|
|
104
|
-
fromUtf8: () => fromUtf8,
|
|
105
|
-
toUint8Array: () => toUint8Array,
|
|
106
|
-
toUtf8: () => toUtf8
|
|
107
|
-
});
|
|
108
|
-
module.exports = __toCommonJS(src_exports);
|
|
109
|
-
var import_util_buffer_from = require_dist_cjs2();
|
|
110
|
-
var fromUtf8 = /* @__PURE__ */ __name((input) => {
|
|
111
|
-
const buf = (0, import_util_buffer_from.fromString)(input, "utf8");
|
|
112
|
-
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
|
113
|
-
}, "fromUtf8");
|
|
114
|
-
var toUint8Array = /* @__PURE__ */ __name((data) => {
|
|
115
|
-
if (typeof data === "string") {
|
|
116
|
-
return fromUtf8(data);
|
|
117
|
-
}
|
|
118
|
-
if (ArrayBuffer.isView(data)) {
|
|
119
|
-
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
|
120
|
-
}
|
|
121
|
-
return new Uint8Array(data);
|
|
122
|
-
}, "toUint8Array");
|
|
123
|
-
var toUtf8 = /* @__PURE__ */ __name((input) => {
|
|
124
|
-
if (typeof input === "string") {
|
|
125
|
-
return input;
|
|
126
|
-
}
|
|
127
|
-
if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
|
|
128
|
-
throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
|
|
129
|
-
}
|
|
130
|
-
return (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
|
|
131
|
-
}, "toUtf8");
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
// node_modules/@aws-crypto/util/build/main/convertToBuffer.js
|
|
135
|
-
var require_convertToBuffer = __commonJS(function(exports) {
|
|
136
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
137
|
-
exports.convertToBuffer = undefined;
|
|
138
|
-
var util_utf8_1 = require_dist_cjs3();
|
|
139
|
-
var fromUtf8 = typeof Buffer !== "undefined" && Buffer.from ? function(input) {
|
|
140
|
-
return Buffer.from(input, "utf8");
|
|
141
|
-
} : util_utf8_1.fromUtf8;
|
|
142
|
-
function convertToBuffer(data) {
|
|
143
|
-
if (data instanceof Uint8Array)
|
|
144
|
-
return data;
|
|
145
|
-
if (typeof data === "string") {
|
|
146
|
-
return fromUtf8(data);
|
|
147
|
-
}
|
|
148
|
-
if (ArrayBuffer.isView(data)) {
|
|
149
|
-
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
|
150
|
-
}
|
|
151
|
-
return new Uint8Array(data);
|
|
152
|
-
}
|
|
153
|
-
exports.convertToBuffer = convertToBuffer;
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
// node_modules/@aws-crypto/util/build/main/isEmptyData.js
|
|
157
|
-
var require_isEmptyData = __commonJS(function(exports) {
|
|
158
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
159
|
-
exports.isEmptyData = undefined;
|
|
160
|
-
function isEmptyData(data) {
|
|
161
|
-
if (typeof data === "string") {
|
|
162
|
-
return data.length === 0;
|
|
163
|
-
}
|
|
164
|
-
return data.byteLength === 0;
|
|
165
|
-
}
|
|
166
|
-
exports.isEmptyData = isEmptyData;
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
// node_modules/@aws-crypto/util/build/main/numToUint8.js
|
|
170
|
-
var require_numToUint8 = __commonJS(function(exports) {
|
|
171
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
172
|
-
exports.numToUint8 = undefined;
|
|
173
|
-
function numToUint8(num) {
|
|
174
|
-
return new Uint8Array([
|
|
175
|
-
(num & 4278190080) >> 24,
|
|
176
|
-
(num & 16711680) >> 16,
|
|
177
|
-
(num & 65280) >> 8,
|
|
178
|
-
num & 255
|
|
179
|
-
]);
|
|
180
|
-
}
|
|
181
|
-
exports.numToUint8 = numToUint8;
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
// node_modules/@aws-crypto/util/build/main/uint32ArrayFrom.js
|
|
185
|
-
var require_uint32ArrayFrom = __commonJS(function(exports) {
|
|
186
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
187
|
-
exports.uint32ArrayFrom = undefined;
|
|
188
|
-
function uint32ArrayFrom(a_lookUpTable) {
|
|
189
|
-
if (!Uint32Array.from) {
|
|
190
|
-
var return_array = new Uint32Array(a_lookUpTable.length);
|
|
191
|
-
var a_index = 0;
|
|
192
|
-
while (a_index < a_lookUpTable.length) {
|
|
193
|
-
return_array[a_index] = a_lookUpTable[a_index];
|
|
194
|
-
a_index += 1;
|
|
195
|
-
}
|
|
196
|
-
return return_array;
|
|
197
|
-
}
|
|
198
|
-
return Uint32Array.from(a_lookUpTable);
|
|
199
|
-
}
|
|
200
|
-
exports.uint32ArrayFrom = uint32ArrayFrom;
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
// node_modules/@aws-crypto/util/build/main/index.js
|
|
204
|
-
var require_main = __commonJS(function(exports) {
|
|
205
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
206
|
-
exports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = undefined;
|
|
207
|
-
var convertToBuffer_1 = require_convertToBuffer();
|
|
208
|
-
Object.defineProperty(exports, "convertToBuffer", { enumerable: true, get: function() {
|
|
209
|
-
return convertToBuffer_1.convertToBuffer;
|
|
210
|
-
} });
|
|
211
|
-
var isEmptyData_1 = require_isEmptyData();
|
|
212
|
-
Object.defineProperty(exports, "isEmptyData", { enumerable: true, get: function() {
|
|
213
|
-
return isEmptyData_1.isEmptyData;
|
|
214
|
-
} });
|
|
215
|
-
var numToUint8_1 = require_numToUint8();
|
|
216
|
-
Object.defineProperty(exports, "numToUint8", { enumerable: true, get: function() {
|
|
217
|
-
return numToUint8_1.numToUint8;
|
|
218
|
-
} });
|
|
219
|
-
var uint32ArrayFrom_1 = require_uint32ArrayFrom();
|
|
220
|
-
Object.defineProperty(exports, "uint32ArrayFrom", { enumerable: true, get: function() {
|
|
221
|
-
return uint32ArrayFrom_1.uint32ArrayFrom;
|
|
222
|
-
} });
|
|
223
|
-
});
|
|
224
|
-
|
|
225
|
-
// node_modules/@aws-crypto/crc32/build/main/aws_crc32.js
|
|
226
|
-
var require_aws_crc32 = __commonJS(function(exports) {
|
|
227
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
228
|
-
exports.AwsCrc32 = undefined;
|
|
229
|
-
var tslib_1 = require_tslib();
|
|
230
|
-
var util_1 = require_main();
|
|
231
|
-
var index_1 = require_main2();
|
|
232
|
-
var AwsCrc32 = function() {
|
|
233
|
-
function AwsCrc322() {
|
|
234
|
-
this.crc32 = new index_1.Crc32;
|
|
235
|
-
}
|
|
236
|
-
AwsCrc322.prototype.update = function(toHash) {
|
|
237
|
-
if ((0, util_1.isEmptyData)(toHash))
|
|
238
|
-
return;
|
|
239
|
-
this.crc32.update((0, util_1.convertToBuffer)(toHash));
|
|
240
|
-
};
|
|
241
|
-
AwsCrc322.prototype.digest = function() {
|
|
242
|
-
return tslib_1.__awaiter(this, undefined, undefined, function() {
|
|
243
|
-
return tslib_1.__generator(this, function(_a) {
|
|
244
|
-
return [2, (0, util_1.numToUint8)(this.crc32.digest())];
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
};
|
|
248
|
-
AwsCrc322.prototype.reset = function() {
|
|
249
|
-
this.crc32 = new index_1.Crc32;
|
|
250
|
-
};
|
|
251
|
-
return AwsCrc322;
|
|
252
|
-
}();
|
|
253
|
-
exports.AwsCrc32 = AwsCrc32;
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
// node_modules/@aws-crypto/crc32/build/main/index.js
|
|
257
|
-
var require_main2 = __commonJS(function(exports) {
|
|
258
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
259
|
-
exports.AwsCrc32 = exports.Crc32 = exports.crc32 = undefined;
|
|
260
|
-
var tslib_1 = require_tslib();
|
|
261
|
-
var util_1 = require_main();
|
|
262
|
-
function crc32(data) {
|
|
263
|
-
return new Crc32().update(data).digest();
|
|
264
|
-
}
|
|
265
|
-
exports.crc32 = crc32;
|
|
266
|
-
var Crc32 = function() {
|
|
267
|
-
function Crc322() {
|
|
268
|
-
this.checksum = 4294967295;
|
|
269
|
-
}
|
|
270
|
-
Crc322.prototype.update = function(data) {
|
|
271
|
-
var e_1, _a;
|
|
272
|
-
try {
|
|
273
|
-
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next();!data_1_1.done; data_1_1 = data_1.next()) {
|
|
274
|
-
var byte = data_1_1.value;
|
|
275
|
-
this.checksum = this.checksum >>> 8 ^ lookupTable[(this.checksum ^ byte) & 255];
|
|
276
|
-
}
|
|
277
|
-
} catch (e_1_1) {
|
|
278
|
-
e_1 = { error: e_1_1 };
|
|
279
|
-
} finally {
|
|
280
|
-
try {
|
|
281
|
-
if (data_1_1 && !data_1_1.done && (_a = data_1.return))
|
|
282
|
-
_a.call(data_1);
|
|
283
|
-
} finally {
|
|
284
|
-
if (e_1)
|
|
285
|
-
throw e_1.error;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
return this;
|
|
289
|
-
};
|
|
290
|
-
Crc322.prototype.digest = function() {
|
|
291
|
-
return (this.checksum ^ 4294967295) >>> 0;
|
|
292
|
-
};
|
|
293
|
-
return Crc322;
|
|
294
|
-
}();
|
|
295
|
-
exports.Crc32 = Crc32;
|
|
296
|
-
var a_lookUpTable = [
|
|
297
|
-
0,
|
|
298
|
-
1996959894,
|
|
299
|
-
3993919788,
|
|
300
|
-
2567524794,
|
|
301
|
-
124634137,
|
|
302
|
-
1886057615,
|
|
303
|
-
3915621685,
|
|
304
|
-
2657392035,
|
|
305
|
-
249268274,
|
|
306
|
-
2044508324,
|
|
307
|
-
3772115230,
|
|
308
|
-
2547177864,
|
|
309
|
-
162941995,
|
|
310
|
-
2125561021,
|
|
311
|
-
3887607047,
|
|
312
|
-
2428444049,
|
|
313
|
-
498536548,
|
|
314
|
-
1789927666,
|
|
315
|
-
4089016648,
|
|
316
|
-
2227061214,
|
|
317
|
-
450548861,
|
|
318
|
-
1843258603,
|
|
319
|
-
4107580753,
|
|
320
|
-
2211677639,
|
|
321
|
-
325883990,
|
|
322
|
-
1684777152,
|
|
323
|
-
4251122042,
|
|
324
|
-
2321926636,
|
|
325
|
-
335633487,
|
|
326
|
-
1661365465,
|
|
327
|
-
4195302755,
|
|
328
|
-
2366115317,
|
|
329
|
-
997073096,
|
|
330
|
-
1281953886,
|
|
331
|
-
3579855332,
|
|
332
|
-
2724688242,
|
|
333
|
-
1006888145,
|
|
334
|
-
1258607687,
|
|
335
|
-
3524101629,
|
|
336
|
-
2768942443,
|
|
337
|
-
901097722,
|
|
338
|
-
1119000684,
|
|
339
|
-
3686517206,
|
|
340
|
-
2898065728,
|
|
341
|
-
853044451,
|
|
342
|
-
1172266101,
|
|
343
|
-
3705015759,
|
|
344
|
-
2882616665,
|
|
345
|
-
651767980,
|
|
346
|
-
1373503546,
|
|
347
|
-
3369554304,
|
|
348
|
-
3218104598,
|
|
349
|
-
565507253,
|
|
350
|
-
1454621731,
|
|
351
|
-
3485111705,
|
|
352
|
-
3099436303,
|
|
353
|
-
671266974,
|
|
354
|
-
1594198024,
|
|
355
|
-
3322730930,
|
|
356
|
-
2970347812,
|
|
357
|
-
795835527,
|
|
358
|
-
1483230225,
|
|
359
|
-
3244367275,
|
|
360
|
-
3060149565,
|
|
361
|
-
1994146192,
|
|
362
|
-
31158534,
|
|
363
|
-
2563907772,
|
|
364
|
-
4023717930,
|
|
365
|
-
1907459465,
|
|
366
|
-
112637215,
|
|
367
|
-
2680153253,
|
|
368
|
-
3904427059,
|
|
369
|
-
2013776290,
|
|
370
|
-
251722036,
|
|
371
|
-
2517215374,
|
|
372
|
-
3775830040,
|
|
373
|
-
2137656763,
|
|
374
|
-
141376813,
|
|
375
|
-
2439277719,
|
|
376
|
-
3865271297,
|
|
377
|
-
1802195444,
|
|
378
|
-
476864866,
|
|
379
|
-
2238001368,
|
|
380
|
-
4066508878,
|
|
381
|
-
1812370925,
|
|
382
|
-
453092731,
|
|
383
|
-
2181625025,
|
|
384
|
-
4111451223,
|
|
385
|
-
1706088902,
|
|
386
|
-
314042704,
|
|
387
|
-
2344532202,
|
|
388
|
-
4240017532,
|
|
389
|
-
1658658271,
|
|
390
|
-
366619977,
|
|
391
|
-
2362670323,
|
|
392
|
-
4224994405,
|
|
393
|
-
1303535960,
|
|
394
|
-
984961486,
|
|
395
|
-
2747007092,
|
|
396
|
-
3569037538,
|
|
397
|
-
1256170817,
|
|
398
|
-
1037604311,
|
|
399
|
-
2765210733,
|
|
400
|
-
3554079995,
|
|
401
|
-
1131014506,
|
|
402
|
-
879679996,
|
|
403
|
-
2909243462,
|
|
404
|
-
3663771856,
|
|
405
|
-
1141124467,
|
|
406
|
-
855842277,
|
|
407
|
-
2852801631,
|
|
408
|
-
3708648649,
|
|
409
|
-
1342533948,
|
|
410
|
-
654459306,
|
|
411
|
-
3188396048,
|
|
412
|
-
3373015174,
|
|
413
|
-
1466479909,
|
|
414
|
-
544179635,
|
|
415
|
-
3110523913,
|
|
416
|
-
3462522015,
|
|
417
|
-
1591671054,
|
|
418
|
-
702138776,
|
|
419
|
-
2966460450,
|
|
420
|
-
3352799412,
|
|
421
|
-
1504918807,
|
|
422
|
-
783551873,
|
|
423
|
-
3082640443,
|
|
424
|
-
3233442989,
|
|
425
|
-
3988292384,
|
|
426
|
-
2596254646,
|
|
427
|
-
62317068,
|
|
428
|
-
1957810842,
|
|
429
|
-
3939845945,
|
|
430
|
-
2647816111,
|
|
431
|
-
81470997,
|
|
432
|
-
1943803523,
|
|
433
|
-
3814918930,
|
|
434
|
-
2489596804,
|
|
435
|
-
225274430,
|
|
436
|
-
2053790376,
|
|
437
|
-
3826175755,
|
|
438
|
-
2466906013,
|
|
439
|
-
167816743,
|
|
440
|
-
2097651377,
|
|
441
|
-
4027552580,
|
|
442
|
-
2265490386,
|
|
443
|
-
503444072,
|
|
444
|
-
1762050814,
|
|
445
|
-
4150417245,
|
|
446
|
-
2154129355,
|
|
447
|
-
426522225,
|
|
448
|
-
1852507879,
|
|
449
|
-
4275313526,
|
|
450
|
-
2312317920,
|
|
451
|
-
282753626,
|
|
452
|
-
1742555852,
|
|
453
|
-
4189708143,
|
|
454
|
-
2394877945,
|
|
455
|
-
397917763,
|
|
456
|
-
1622183637,
|
|
457
|
-
3604390888,
|
|
458
|
-
2714866558,
|
|
459
|
-
953729732,
|
|
460
|
-
1340076626,
|
|
461
|
-
3518719985,
|
|
462
|
-
2797360999,
|
|
463
|
-
1068828381,
|
|
464
|
-
1219638859,
|
|
465
|
-
3624741850,
|
|
466
|
-
2936675148,
|
|
467
|
-
906185462,
|
|
468
|
-
1090812512,
|
|
469
|
-
3747672003,
|
|
470
|
-
2825379669,
|
|
471
|
-
829329135,
|
|
472
|
-
1181335161,
|
|
473
|
-
3412177804,
|
|
474
|
-
3160834842,
|
|
475
|
-
628085408,
|
|
476
|
-
1382605366,
|
|
477
|
-
3423369109,
|
|
478
|
-
3138078467,
|
|
479
|
-
570562233,
|
|
480
|
-
1426400815,
|
|
481
|
-
3317316542,
|
|
482
|
-
2998733608,
|
|
483
|
-
733239954,
|
|
484
|
-
1555261956,
|
|
485
|
-
3268935591,
|
|
486
|
-
3050360625,
|
|
487
|
-
752459403,
|
|
488
|
-
1541320221,
|
|
489
|
-
2607071920,
|
|
490
|
-
3965973030,
|
|
491
|
-
1969922972,
|
|
492
|
-
40735498,
|
|
493
|
-
2617837225,
|
|
494
|
-
3943577151,
|
|
495
|
-
1913087877,
|
|
496
|
-
83908371,
|
|
497
|
-
2512341634,
|
|
498
|
-
3803740692,
|
|
499
|
-
2075208622,
|
|
500
|
-
213261112,
|
|
501
|
-
2463272603,
|
|
502
|
-
3855990285,
|
|
503
|
-
2094854071,
|
|
504
|
-
198958881,
|
|
505
|
-
2262029012,
|
|
506
|
-
4057260610,
|
|
507
|
-
1759359992,
|
|
508
|
-
534414190,
|
|
509
|
-
2176718541,
|
|
510
|
-
4139329115,
|
|
511
|
-
1873836001,
|
|
512
|
-
414664567,
|
|
513
|
-
2282248934,
|
|
514
|
-
4279200368,
|
|
515
|
-
1711684554,
|
|
516
|
-
285281116,
|
|
517
|
-
2405801727,
|
|
518
|
-
4167216745,
|
|
519
|
-
1634467795,
|
|
520
|
-
376229701,
|
|
521
|
-
2685067896,
|
|
522
|
-
3608007406,
|
|
523
|
-
1308918612,
|
|
524
|
-
956543938,
|
|
525
|
-
2808555105,
|
|
526
|
-
3495958263,
|
|
527
|
-
1231636301,
|
|
528
|
-
1047427035,
|
|
529
|
-
2932959818,
|
|
530
|
-
3654703836,
|
|
531
|
-
1088359270,
|
|
532
|
-
936918000,
|
|
533
|
-
2847714899,
|
|
534
|
-
3736837829,
|
|
535
|
-
1202900863,
|
|
536
|
-
817233897,
|
|
537
|
-
3183342108,
|
|
538
|
-
3401237130,
|
|
539
|
-
1404277552,
|
|
540
|
-
615818150,
|
|
541
|
-
3134207493,
|
|
542
|
-
3453421203,
|
|
543
|
-
1423857449,
|
|
544
|
-
601450431,
|
|
545
|
-
3009837614,
|
|
546
|
-
3294710456,
|
|
547
|
-
1567103746,
|
|
548
|
-
711928724,
|
|
549
|
-
3020668471,
|
|
550
|
-
3272380065,
|
|
551
|
-
1510334235,
|
|
552
|
-
755167117
|
|
553
|
-
];
|
|
554
|
-
var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);
|
|
555
|
-
var aws_crc32_1 = require_aws_crc32();
|
|
556
|
-
Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function() {
|
|
557
|
-
return aws_crc32_1.AwsCrc32;
|
|
558
|
-
} });
|
|
559
|
-
});
|
|
560
|
-
|
|
561
|
-
// node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js
|
|
562
|
-
var require_event_streams = __commonJS(function(exports) {
|
|
563
|
-
var crc32 = require_main2();
|
|
564
|
-
var serde = require_serde();
|
|
565
|
-
var node_stream = __require("node:stream");
|
|
566
|
-
|
|
567
|
-
class Int64 {
|
|
568
|
-
bytes;
|
|
569
|
-
constructor(bytes) {
|
|
570
|
-
this.bytes = bytes;
|
|
571
|
-
if (bytes.byteLength !== 8) {
|
|
572
|
-
throw new Error("Int64 buffers must be exactly 8 bytes");
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
static fromNumber(number) {
|
|
576
|
-
if (number > 9223372036854776000 || number < -9223372036854776000) {
|
|
577
|
-
throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);
|
|
578
|
-
}
|
|
579
|
-
const bytes = new Uint8Array(8);
|
|
580
|
-
for (let i = 7, remaining = Math.abs(Math.round(number));i > -1 && remaining > 0; i--, remaining /= 256) {
|
|
581
|
-
bytes[i] = remaining;
|
|
582
|
-
}
|
|
583
|
-
if (number < 0) {
|
|
584
|
-
negate(bytes);
|
|
585
|
-
}
|
|
586
|
-
return new Int64(bytes);
|
|
587
|
-
}
|
|
588
|
-
valueOf() {
|
|
589
|
-
const bytes = this.bytes.slice(0);
|
|
590
|
-
const negative = bytes[0] & 128;
|
|
591
|
-
if (negative) {
|
|
592
|
-
negate(bytes);
|
|
593
|
-
}
|
|
594
|
-
return parseInt(serde.toHex(bytes), 16) * (negative ? -1 : 1);
|
|
595
|
-
}
|
|
596
|
-
toString() {
|
|
597
|
-
return String(this.valueOf());
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
function negate(bytes) {
|
|
601
|
-
for (let i = 0;i < 8; i++) {
|
|
602
|
-
bytes[i] ^= 255;
|
|
603
|
-
}
|
|
604
|
-
for (let i = 7;i > -1; i--) {
|
|
605
|
-
bytes[i]++;
|
|
606
|
-
if (bytes[i] !== 0)
|
|
607
|
-
break;
|
|
608
|
-
}
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
class HeaderMarshaller {
|
|
612
|
-
toUtf8;
|
|
613
|
-
fromUtf8;
|
|
614
|
-
constructor(toUtf8, fromUtf8) {
|
|
615
|
-
this.toUtf8 = toUtf8;
|
|
616
|
-
this.fromUtf8 = fromUtf8;
|
|
617
|
-
}
|
|
618
|
-
format(headers) {
|
|
619
|
-
const chunks = [];
|
|
620
|
-
for (const headerName of Object.keys(headers)) {
|
|
621
|
-
const bytes = this.fromUtf8(headerName);
|
|
622
|
-
chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
|
|
623
|
-
}
|
|
624
|
-
const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
|
|
625
|
-
let position = 0;
|
|
626
|
-
for (const chunk of chunks) {
|
|
627
|
-
out.set(chunk, position);
|
|
628
|
-
position += chunk.byteLength;
|
|
629
|
-
}
|
|
630
|
-
return out;
|
|
631
|
-
}
|
|
632
|
-
formatHeaderValue(header) {
|
|
633
|
-
switch (header.type) {
|
|
634
|
-
case "boolean":
|
|
635
|
-
return Uint8Array.from([header.value ? 0 : 1]);
|
|
636
|
-
case "byte":
|
|
637
|
-
return Uint8Array.from([2, header.value]);
|
|
638
|
-
case "short":
|
|
639
|
-
const shortView = new DataView(new ArrayBuffer(3));
|
|
640
|
-
shortView.setUint8(0, 3);
|
|
641
|
-
shortView.setInt16(1, header.value, false);
|
|
642
|
-
return new Uint8Array(shortView.buffer);
|
|
643
|
-
case "integer":
|
|
644
|
-
const intView = new DataView(new ArrayBuffer(5));
|
|
645
|
-
intView.setUint8(0, 4);
|
|
646
|
-
intView.setInt32(1, header.value, false);
|
|
647
|
-
return new Uint8Array(intView.buffer);
|
|
648
|
-
case "long":
|
|
649
|
-
const longBytes = new Uint8Array(9);
|
|
650
|
-
longBytes[0] = 5;
|
|
651
|
-
longBytes.set(header.value.bytes, 1);
|
|
652
|
-
return longBytes;
|
|
653
|
-
case "binary":
|
|
654
|
-
const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
|
|
655
|
-
binView.setUint8(0, 6);
|
|
656
|
-
binView.setUint16(1, header.value.byteLength, false);
|
|
657
|
-
const binBytes = new Uint8Array(binView.buffer);
|
|
658
|
-
binBytes.set(header.value, 3);
|
|
659
|
-
return binBytes;
|
|
660
|
-
case "string":
|
|
661
|
-
const utf8Bytes = this.fromUtf8(header.value);
|
|
662
|
-
const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
|
|
663
|
-
strView.setUint8(0, 7);
|
|
664
|
-
strView.setUint16(1, utf8Bytes.byteLength, false);
|
|
665
|
-
const strBytes = new Uint8Array(strView.buffer);
|
|
666
|
-
strBytes.set(utf8Bytes, 3);
|
|
667
|
-
return strBytes;
|
|
668
|
-
case "timestamp":
|
|
669
|
-
const tsBytes = new Uint8Array(9);
|
|
670
|
-
tsBytes[0] = 8;
|
|
671
|
-
tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
|
|
672
|
-
return tsBytes;
|
|
673
|
-
case "uuid":
|
|
674
|
-
if (!UUID_PATTERN.test(header.value)) {
|
|
675
|
-
throw new Error(`Invalid UUID received: ${header.value}`);
|
|
676
|
-
}
|
|
677
|
-
const uuidBytes = new Uint8Array(17);
|
|
678
|
-
uuidBytes[0] = 9;
|
|
679
|
-
uuidBytes.set(serde.fromHex(header.value.replace(/\-/g, "")), 1);
|
|
680
|
-
return uuidBytes;
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
parse(headers) {
|
|
684
|
-
const out = {};
|
|
685
|
-
let position = 0;
|
|
686
|
-
while (position < headers.byteLength) {
|
|
687
|
-
const nameLength = headers.getUint8(position++);
|
|
688
|
-
const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));
|
|
689
|
-
position += nameLength;
|
|
690
|
-
switch (headers.getUint8(position++)) {
|
|
691
|
-
case 0:
|
|
692
|
-
out[name] = {
|
|
693
|
-
type: BOOLEAN_TAG,
|
|
694
|
-
value: true
|
|
695
|
-
};
|
|
696
|
-
break;
|
|
697
|
-
case 1:
|
|
698
|
-
out[name] = {
|
|
699
|
-
type: BOOLEAN_TAG,
|
|
700
|
-
value: false
|
|
701
|
-
};
|
|
702
|
-
break;
|
|
703
|
-
case 2:
|
|
704
|
-
out[name] = {
|
|
705
|
-
type: BYTE_TAG,
|
|
706
|
-
value: headers.getInt8(position++)
|
|
707
|
-
};
|
|
708
|
-
break;
|
|
709
|
-
case 3:
|
|
710
|
-
out[name] = {
|
|
711
|
-
type: SHORT_TAG,
|
|
712
|
-
value: headers.getInt16(position, false)
|
|
713
|
-
};
|
|
714
|
-
position += 2;
|
|
715
|
-
break;
|
|
716
|
-
case 4:
|
|
717
|
-
out[name] = {
|
|
718
|
-
type: INT_TAG,
|
|
719
|
-
value: headers.getInt32(position, false)
|
|
720
|
-
};
|
|
721
|
-
position += 4;
|
|
722
|
-
break;
|
|
723
|
-
case 5:
|
|
724
|
-
out[name] = {
|
|
725
|
-
type: LONG_TAG,
|
|
726
|
-
value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8))
|
|
727
|
-
};
|
|
728
|
-
position += 8;
|
|
729
|
-
break;
|
|
730
|
-
case 6:
|
|
731
|
-
const binaryLength = headers.getUint16(position, false);
|
|
732
|
-
position += 2;
|
|
733
|
-
out[name] = {
|
|
734
|
-
type: BINARY_TAG,
|
|
735
|
-
value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength)
|
|
736
|
-
};
|
|
737
|
-
position += binaryLength;
|
|
738
|
-
break;
|
|
739
|
-
case 7:
|
|
740
|
-
const stringLength = headers.getUint16(position, false);
|
|
741
|
-
position += 2;
|
|
742
|
-
out[name] = {
|
|
743
|
-
type: STRING_TAG,
|
|
744
|
-
value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength))
|
|
745
|
-
};
|
|
746
|
-
position += stringLength;
|
|
747
|
-
break;
|
|
748
|
-
case 8:
|
|
749
|
-
out[name] = {
|
|
750
|
-
type: TIMESTAMP_TAG,
|
|
751
|
-
value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf())
|
|
752
|
-
};
|
|
753
|
-
position += 8;
|
|
754
|
-
break;
|
|
755
|
-
case 9:
|
|
756
|
-
const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);
|
|
757
|
-
position += 16;
|
|
758
|
-
out[name] = {
|
|
759
|
-
type: UUID_TAG,
|
|
760
|
-
value: `${serde.toHex(uuidBytes.subarray(0, 4))}-${serde.toHex(uuidBytes.subarray(4, 6))}-${serde.toHex(uuidBytes.subarray(6, 8))}-${serde.toHex(uuidBytes.subarray(8, 10))}-${serde.toHex(uuidBytes.subarray(10))}`
|
|
761
|
-
};
|
|
762
|
-
break;
|
|
763
|
-
default:
|
|
764
|
-
throw new Error(`Unrecognized header type tag`);
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
return out;
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
var HEADER_VALUE_TYPE;
|
|
771
|
-
(function(HEADER_VALUE_TYPE2) {
|
|
772
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue";
|
|
773
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse";
|
|
774
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte";
|
|
775
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short";
|
|
776
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer";
|
|
777
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long";
|
|
778
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray";
|
|
779
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string";
|
|
780
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp";
|
|
781
|
-
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid";
|
|
782
|
-
})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));
|
|
783
|
-
var BOOLEAN_TAG = "boolean";
|
|
784
|
-
var BYTE_TAG = "byte";
|
|
785
|
-
var SHORT_TAG = "short";
|
|
786
|
-
var INT_TAG = "integer";
|
|
787
|
-
var LONG_TAG = "long";
|
|
788
|
-
var BINARY_TAG = "binary";
|
|
789
|
-
var STRING_TAG = "string";
|
|
790
|
-
var TIMESTAMP_TAG = "timestamp";
|
|
791
|
-
var UUID_TAG = "uuid";
|
|
792
|
-
var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
|
|
793
|
-
var PRELUDE_MEMBER_LENGTH = 4;
|
|
794
|
-
var PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;
|
|
795
|
-
var CHECKSUM_LENGTH = 4;
|
|
796
|
-
var MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;
|
|
797
|
-
function splitMessage({ byteLength, byteOffset, buffer }) {
|
|
798
|
-
if (byteLength < MINIMUM_MESSAGE_LENGTH) {
|
|
799
|
-
throw new Error("Provided message too short to accommodate event stream message overhead");
|
|
800
|
-
}
|
|
801
|
-
const view = new DataView(buffer, byteOffset, byteLength);
|
|
802
|
-
const messageLength = view.getUint32(0, false);
|
|
803
|
-
if (byteLength !== messageLength) {
|
|
804
|
-
throw new Error("Reported message length does not match received message length");
|
|
805
|
-
}
|
|
806
|
-
const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);
|
|
807
|
-
const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);
|
|
808
|
-
const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);
|
|
809
|
-
const checksummer = new crc32.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));
|
|
810
|
-
if (expectedPreludeChecksum !== checksummer.digest()) {
|
|
811
|
-
throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);
|
|
812
|
-
}
|
|
813
|
-
checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));
|
|
814
|
-
if (expectedMessageChecksum !== checksummer.digest()) {
|
|
815
|
-
throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);
|
|
816
|
-
}
|
|
817
|
-
return {
|
|
818
|
-
headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),
|
|
819
|
-
body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH))
|
|
820
|
-
};
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
class EventStreamCodec {
|
|
824
|
-
headerMarshaller;
|
|
825
|
-
messageBuffer;
|
|
826
|
-
isEndOfStream;
|
|
827
|
-
constructor(toUtf8, fromUtf8) {
|
|
828
|
-
this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);
|
|
829
|
-
this.messageBuffer = [];
|
|
830
|
-
this.isEndOfStream = false;
|
|
831
|
-
}
|
|
832
|
-
feed(message) {
|
|
833
|
-
this.messageBuffer.push(this.decode(message));
|
|
834
|
-
}
|
|
835
|
-
endOfStream() {
|
|
836
|
-
this.isEndOfStream = true;
|
|
837
|
-
}
|
|
838
|
-
getMessage() {
|
|
839
|
-
const message = this.messageBuffer.pop();
|
|
840
|
-
const isEndOfStream = this.isEndOfStream;
|
|
841
|
-
return {
|
|
842
|
-
getMessage() {
|
|
843
|
-
return message;
|
|
844
|
-
},
|
|
845
|
-
isEndOfStream() {
|
|
846
|
-
return isEndOfStream;
|
|
847
|
-
}
|
|
848
|
-
};
|
|
849
|
-
}
|
|
850
|
-
getAvailableMessages() {
|
|
851
|
-
const messages = this.messageBuffer;
|
|
852
|
-
this.messageBuffer = [];
|
|
853
|
-
const isEndOfStream = this.isEndOfStream;
|
|
854
|
-
return {
|
|
855
|
-
getMessages() {
|
|
856
|
-
return messages;
|
|
857
|
-
},
|
|
858
|
-
isEndOfStream() {
|
|
859
|
-
return isEndOfStream;
|
|
860
|
-
}
|
|
861
|
-
};
|
|
862
|
-
}
|
|
863
|
-
encode({ headers: rawHeaders, body }) {
|
|
864
|
-
const headers = this.headerMarshaller.format(rawHeaders);
|
|
865
|
-
const length = headers.byteLength + body.byteLength + 16;
|
|
866
|
-
const out = new Uint8Array(length);
|
|
867
|
-
const view = new DataView(out.buffer, out.byteOffset, out.byteLength);
|
|
868
|
-
const checksum = new crc32.Crc32;
|
|
869
|
-
view.setUint32(0, length, false);
|
|
870
|
-
view.setUint32(4, headers.byteLength, false);
|
|
871
|
-
view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);
|
|
872
|
-
out.set(headers, 12);
|
|
873
|
-
out.set(body, headers.byteLength + 12);
|
|
874
|
-
view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);
|
|
875
|
-
return out;
|
|
876
|
-
}
|
|
877
|
-
decode(message) {
|
|
878
|
-
const { headers, body } = splitMessage(message);
|
|
879
|
-
return { headers: this.headerMarshaller.parse(headers), body };
|
|
880
|
-
}
|
|
881
|
-
formatHeaders(rawHeaders) {
|
|
882
|
-
return this.headerMarshaller.format(rawHeaders);
|
|
883
|
-
}
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
class MessageDecoderStream {
|
|
887
|
-
options;
|
|
888
|
-
constructor(options) {
|
|
889
|
-
this.options = options;
|
|
890
|
-
}
|
|
891
|
-
[Symbol.asyncIterator]() {
|
|
892
|
-
return this.asyncIterator();
|
|
893
|
-
}
|
|
894
|
-
async* asyncIterator() {
|
|
895
|
-
for await (const bytes of this.options.inputStream) {
|
|
896
|
-
const decoded = this.options.decoder.decode(bytes);
|
|
897
|
-
yield decoded;
|
|
898
|
-
}
|
|
899
|
-
}
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
class MessageEncoderStream {
|
|
903
|
-
options;
|
|
904
|
-
constructor(options) {
|
|
905
|
-
this.options = options;
|
|
906
|
-
}
|
|
907
|
-
[Symbol.asyncIterator]() {
|
|
908
|
-
return this.asyncIterator();
|
|
909
|
-
}
|
|
910
|
-
async* asyncIterator() {
|
|
911
|
-
for await (const msg of this.options.messageStream) {
|
|
912
|
-
const encoded = this.options.encoder.encode(msg);
|
|
913
|
-
yield encoded;
|
|
914
|
-
}
|
|
915
|
-
if (this.options.includeEndFrame) {
|
|
916
|
-
yield new Uint8Array(0);
|
|
917
|
-
}
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
class SmithyMessageDecoderStream {
|
|
922
|
-
options;
|
|
923
|
-
constructor(options) {
|
|
924
|
-
this.options = options;
|
|
925
|
-
}
|
|
926
|
-
[Symbol.asyncIterator]() {
|
|
927
|
-
return this.asyncIterator();
|
|
928
|
-
}
|
|
929
|
-
async* asyncIterator() {
|
|
930
|
-
for await (const message of this.options.messageStream) {
|
|
931
|
-
const deserialized = await this.options.deserializer(message);
|
|
932
|
-
if (deserialized === undefined)
|
|
933
|
-
continue;
|
|
934
|
-
yield deserialized;
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
class SmithyMessageEncoderStream {
|
|
940
|
-
options;
|
|
941
|
-
constructor(options) {
|
|
942
|
-
this.options = options;
|
|
943
|
-
}
|
|
944
|
-
[Symbol.asyncIterator]() {
|
|
945
|
-
return this.asyncIterator();
|
|
946
|
-
}
|
|
947
|
-
async* asyncIterator() {
|
|
948
|
-
for await (const chunk of this.options.inputStream) {
|
|
949
|
-
const payloadBuf = this.options.serializer(chunk);
|
|
950
|
-
yield payloadBuf;
|
|
951
|
-
}
|
|
952
|
-
}
|
|
953
|
-
}
|
|
954
|
-
function getChunkedStream(source) {
|
|
955
|
-
let currentMessageTotalLength = 0;
|
|
956
|
-
let currentMessagePendingLength = 0;
|
|
957
|
-
let currentMessage = null;
|
|
958
|
-
let messageLengthBuffer = null;
|
|
959
|
-
const allocateMessage = (size) => {
|
|
960
|
-
if (typeof size !== "number") {
|
|
961
|
-
throw new Error("Attempted to allocate an event message where size was not a number: " + size);
|
|
962
|
-
}
|
|
963
|
-
currentMessageTotalLength = size;
|
|
964
|
-
currentMessagePendingLength = 4;
|
|
965
|
-
currentMessage = new Uint8Array(size);
|
|
966
|
-
const currentMessageView = new DataView(currentMessage.buffer);
|
|
967
|
-
currentMessageView.setUint32(0, size, false);
|
|
968
|
-
};
|
|
969
|
-
const iterator = async function* () {
|
|
970
|
-
const sourceIterator = source[Symbol.asyncIterator]();
|
|
971
|
-
while (true) {
|
|
972
|
-
const { value, done } = await sourceIterator.next();
|
|
973
|
-
if (done) {
|
|
974
|
-
if (!currentMessageTotalLength) {
|
|
975
|
-
return;
|
|
976
|
-
} else if (currentMessageTotalLength === currentMessagePendingLength) {
|
|
977
|
-
yield currentMessage;
|
|
978
|
-
} else {
|
|
979
|
-
throw new Error("Truncated event message received.");
|
|
980
|
-
}
|
|
981
|
-
return;
|
|
982
|
-
}
|
|
983
|
-
const chunkLength = value.length;
|
|
984
|
-
let currentOffset = 0;
|
|
985
|
-
while (currentOffset < chunkLength) {
|
|
986
|
-
if (!currentMessage) {
|
|
987
|
-
const bytesRemaining = chunkLength - currentOffset;
|
|
988
|
-
if (!messageLengthBuffer) {
|
|
989
|
-
messageLengthBuffer = new Uint8Array(4);
|
|
990
|
-
}
|
|
991
|
-
const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);
|
|
992
|
-
messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);
|
|
993
|
-
currentMessagePendingLength += numBytesForTotal;
|
|
994
|
-
currentOffset += numBytesForTotal;
|
|
995
|
-
if (currentMessagePendingLength < 4) {
|
|
996
|
-
break;
|
|
997
|
-
}
|
|
998
|
-
allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));
|
|
999
|
-
messageLengthBuffer = null;
|
|
1000
|
-
}
|
|
1001
|
-
const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);
|
|
1002
|
-
currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);
|
|
1003
|
-
currentMessagePendingLength += numBytesToWrite;
|
|
1004
|
-
currentOffset += numBytesToWrite;
|
|
1005
|
-
if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {
|
|
1006
|
-
yield currentMessage;
|
|
1007
|
-
currentMessage = null;
|
|
1008
|
-
currentMessageTotalLength = 0;
|
|
1009
|
-
currentMessagePendingLength = 0;
|
|
1010
|
-
}
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1013
|
-
};
|
|
1014
|
-
return {
|
|
1015
|
-
[Symbol.asyncIterator]: iterator
|
|
1016
|
-
};
|
|
1017
|
-
}
|
|
1018
|
-
function getUnmarshalledStream(source, options) {
|
|
1019
|
-
const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);
|
|
1020
|
-
return {
|
|
1021
|
-
[Symbol.asyncIterator]: async function* () {
|
|
1022
|
-
for await (const chunk of source) {
|
|
1023
|
-
const message = options.eventStreamCodec.decode(chunk);
|
|
1024
|
-
const type = await messageUnmarshaller(message);
|
|
1025
|
-
if (type === undefined)
|
|
1026
|
-
continue;
|
|
1027
|
-
yield type;
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
};
|
|
1031
|
-
}
|
|
1032
|
-
function getMessageUnmarshaller(deserializer, toUtf8) {
|
|
1033
|
-
return async function(message) {
|
|
1034
|
-
const { value: messageType } = message.headers[":message-type"];
|
|
1035
|
-
if (messageType === "error") {
|
|
1036
|
-
const unmodeledError = new Error(message.headers[":error-message"].value || "UnknownError");
|
|
1037
|
-
unmodeledError.name = message.headers[":error-code"].value;
|
|
1038
|
-
throw unmodeledError;
|
|
1039
|
-
} else if (messageType === "exception") {
|
|
1040
|
-
const code = message.headers[":exception-type"].value;
|
|
1041
|
-
const exception = { [code]: message };
|
|
1042
|
-
const deserializedException = await deserializer(exception);
|
|
1043
|
-
if (deserializedException.$unknown) {
|
|
1044
|
-
const error = new Error(toUtf8(message.body));
|
|
1045
|
-
error.name = code;
|
|
1046
|
-
throw error;
|
|
1047
|
-
}
|
|
1048
|
-
throw deserializedException[code];
|
|
1049
|
-
} else if (messageType === "event") {
|
|
1050
|
-
const event = {
|
|
1051
|
-
[message.headers[":event-type"].value]: message
|
|
1052
|
-
};
|
|
1053
|
-
const deserialized = await deserializer(event);
|
|
1054
|
-
if (deserialized.$unknown)
|
|
1055
|
-
return;
|
|
1056
|
-
return deserialized;
|
|
1057
|
-
} else {
|
|
1058
|
-
throw Error(`Unrecognizable event type: ${message.headers[":event-type"].value}`);
|
|
1059
|
-
}
|
|
1060
|
-
};
|
|
1061
|
-
}
|
|
1062
|
-
var EventStreamMarshaller$1 = class EventStreamMarshaller2 {
|
|
1063
|
-
eventStreamCodec;
|
|
1064
|
-
utfEncoder;
|
|
1065
|
-
constructor({ utf8Encoder, utf8Decoder }) {
|
|
1066
|
-
this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);
|
|
1067
|
-
this.utfEncoder = utf8Encoder;
|
|
1068
|
-
}
|
|
1069
|
-
deserialize(body, deserializer) {
|
|
1070
|
-
const inputStream = getChunkedStream(body);
|
|
1071
|
-
return new SmithyMessageDecoderStream({
|
|
1072
|
-
messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),
|
|
1073
|
-
deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder)
|
|
1074
|
-
});
|
|
1075
|
-
}
|
|
1076
|
-
serialize(inputStream, serializer) {
|
|
1077
|
-
return new MessageEncoderStream({
|
|
1078
|
-
messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),
|
|
1079
|
-
encoder: this.eventStreamCodec,
|
|
1080
|
-
includeEndFrame: true
|
|
1081
|
-
});
|
|
1082
|
-
}
|
|
1083
|
-
};
|
|
1084
|
-
var eventStreamSerdeProvider$1 = (options) => new EventStreamMarshaller$1(options);
|
|
1085
|
-
|
|
1086
|
-
class EventStreamMarshaller {
|
|
1087
|
-
universalMarshaller;
|
|
1088
|
-
constructor({ utf8Encoder, utf8Decoder }) {
|
|
1089
|
-
this.universalMarshaller = new EventStreamMarshaller$1({
|
|
1090
|
-
utf8Decoder,
|
|
1091
|
-
utf8Encoder
|
|
1092
|
-
});
|
|
1093
|
-
}
|
|
1094
|
-
deserialize(body, deserializer) {
|
|
1095
|
-
const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : readableToIterable(body);
|
|
1096
|
-
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
|
|
1097
|
-
}
|
|
1098
|
-
serialize(input, serializer) {
|
|
1099
|
-
return node_stream.Readable.from(this.universalMarshaller.serialize(input, serializer));
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
var eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
|
|
1103
|
-
async function* readableToIterable(readStream) {
|
|
1104
|
-
let streamEnded = false;
|
|
1105
|
-
let generationEnded = false;
|
|
1106
|
-
const records = new Array;
|
|
1107
|
-
readStream.on("error", (err) => {
|
|
1108
|
-
if (!streamEnded) {
|
|
1109
|
-
streamEnded = true;
|
|
1110
|
-
}
|
|
1111
|
-
if (err) {
|
|
1112
|
-
throw err;
|
|
1113
|
-
}
|
|
1114
|
-
});
|
|
1115
|
-
readStream.on("data", (data) => {
|
|
1116
|
-
records.push(data);
|
|
1117
|
-
});
|
|
1118
|
-
readStream.on("end", () => {
|
|
1119
|
-
streamEnded = true;
|
|
1120
|
-
});
|
|
1121
|
-
while (!generationEnded) {
|
|
1122
|
-
const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));
|
|
1123
|
-
if (value) {
|
|
1124
|
-
yield value;
|
|
1125
|
-
}
|
|
1126
|
-
generationEnded = streamEnded && records.length === 0;
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
var readableStreamToIterable = (readableStream) => ({
|
|
1130
|
-
[Symbol.asyncIterator]: async function* () {
|
|
1131
|
-
const reader = readableStream.getReader();
|
|
1132
|
-
try {
|
|
1133
|
-
while (true) {
|
|
1134
|
-
const { done, value } = await reader.read();
|
|
1135
|
-
if (done)
|
|
1136
|
-
return;
|
|
1137
|
-
yield value;
|
|
1138
|
-
}
|
|
1139
|
-
} finally {
|
|
1140
|
-
reader.releaseLock();
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
1143
|
-
});
|
|
1144
|
-
var iterableToReadableStream = (asyncIterable) => {
|
|
1145
|
-
const iterator = asyncIterable[Symbol.asyncIterator]();
|
|
1146
|
-
return new ReadableStream({
|
|
1147
|
-
async pull(controller) {
|
|
1148
|
-
const { done, value } = await iterator.next();
|
|
1149
|
-
if (done) {
|
|
1150
|
-
return controller.close();
|
|
1151
|
-
}
|
|
1152
|
-
controller.enqueue(value);
|
|
1153
|
-
}
|
|
1154
|
-
});
|
|
1155
|
-
};
|
|
1156
|
-
var resolveEventStreamSerdeConfig = (input) => Object.assign(input, {
|
|
1157
|
-
eventStreamMarshaller: input.eventStreamSerdeProvider(input)
|
|
1158
|
-
});
|
|
1159
|
-
|
|
1160
|
-
class EventStreamSerde {
|
|
1161
|
-
marshaller;
|
|
1162
|
-
serializer;
|
|
1163
|
-
deserializer;
|
|
1164
|
-
serdeContext;
|
|
1165
|
-
defaultContentType;
|
|
1166
|
-
constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType }) {
|
|
1167
|
-
this.marshaller = marshaller;
|
|
1168
|
-
this.serializer = serializer;
|
|
1169
|
-
this.deserializer = deserializer;
|
|
1170
|
-
this.serdeContext = serdeContext;
|
|
1171
|
-
this.defaultContentType = defaultContentType;
|
|
1172
|
-
}
|
|
1173
|
-
async serializeEventStream({ eventStream, requestSchema, initialRequest }) {
|
|
1174
|
-
const marshaller = this.marshaller;
|
|
1175
|
-
const eventStreamMember = requestSchema.getEventStreamMember();
|
|
1176
|
-
const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
|
|
1177
|
-
const serializer = this.serializer;
|
|
1178
|
-
const defaultContentType = this.defaultContentType;
|
|
1179
|
-
const initialRequestMarker = Symbol("initialRequestMarker");
|
|
1180
|
-
const eventStreamIterable = {
|
|
1181
|
-
async* [Symbol.asyncIterator]() {
|
|
1182
|
-
if (initialRequest) {
|
|
1183
|
-
const headers = {
|
|
1184
|
-
":event-type": { type: "string", value: "initial-request" },
|
|
1185
|
-
":message-type": { type: "string", value: "event" },
|
|
1186
|
-
":content-type": { type: "string", value: defaultContentType }
|
|
1187
|
-
};
|
|
1188
|
-
serializer.write(requestSchema, initialRequest);
|
|
1189
|
-
const body = serializer.flush();
|
|
1190
|
-
yield {
|
|
1191
|
-
[initialRequestMarker]: true,
|
|
1192
|
-
headers,
|
|
1193
|
-
body
|
|
1194
|
-
};
|
|
1195
|
-
}
|
|
1196
|
-
for await (const page of eventStream) {
|
|
1197
|
-
yield page;
|
|
1198
|
-
}
|
|
1199
|
-
}
|
|
1200
|
-
};
|
|
1201
|
-
return marshaller.serialize(eventStreamIterable, (event) => {
|
|
1202
|
-
if (event[initialRequestMarker]) {
|
|
1203
|
-
return {
|
|
1204
|
-
headers: event.headers,
|
|
1205
|
-
body: event.body
|
|
1206
|
-
};
|
|
1207
|
-
}
|
|
1208
|
-
let unionMember = "";
|
|
1209
|
-
for (const key in event) {
|
|
1210
|
-
if (key !== "__type") {
|
|
1211
|
-
unionMember = key;
|
|
1212
|
-
break;
|
|
1213
|
-
}
|
|
1214
|
-
}
|
|
1215
|
-
const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
|
|
1216
|
-
const headers = {
|
|
1217
|
-
":event-type": { type: "string", value: eventType },
|
|
1218
|
-
":message-type": { type: "string", value: "event" },
|
|
1219
|
-
":content-type": { type: "string", value: explicitPayloadContentType ?? defaultContentType },
|
|
1220
|
-
...additionalHeaders
|
|
1221
|
-
};
|
|
1222
|
-
return {
|
|
1223
|
-
headers,
|
|
1224
|
-
body
|
|
1225
|
-
};
|
|
1226
|
-
});
|
|
1227
|
-
}
|
|
1228
|
-
async deserializeEventStream({ response, responseSchema, initialResponseContainer }) {
|
|
1229
|
-
const marshaller = this.marshaller;
|
|
1230
|
-
const eventStreamMember = responseSchema.getEventStreamMember();
|
|
1231
|
-
const unionSchema = responseSchema.getMemberSchema(eventStreamMember);
|
|
1232
|
-
const memberSchemas = unionSchema.getMemberSchemas();
|
|
1233
|
-
const initialResponseMarker = Symbol("initialResponseMarker");
|
|
1234
|
-
const asyncIterable = marshaller.deserialize(response.body, async (event) => {
|
|
1235
|
-
let unionMember = "";
|
|
1236
|
-
for (const key in event) {
|
|
1237
|
-
if (key !== "__type") {
|
|
1238
|
-
unionMember = key;
|
|
1239
|
-
break;
|
|
1240
|
-
}
|
|
1241
|
-
}
|
|
1242
|
-
const body = event[unionMember].body;
|
|
1243
|
-
if (unionMember === "initial-response") {
|
|
1244
|
-
const dataObject = await this.deserializer.read(responseSchema, body);
|
|
1245
|
-
delete dataObject[eventStreamMember];
|
|
1246
|
-
return {
|
|
1247
|
-
[initialResponseMarker]: true,
|
|
1248
|
-
...dataObject
|
|
1249
|
-
};
|
|
1250
|
-
} else if (unionMember in memberSchemas) {
|
|
1251
|
-
const eventStreamSchema = memberSchemas[unionMember];
|
|
1252
|
-
if (eventStreamSchema.isStructSchema()) {
|
|
1253
|
-
const out = {};
|
|
1254
|
-
let hasBindings = false;
|
|
1255
|
-
for (const [name, member] of eventStreamSchema.structIterator()) {
|
|
1256
|
-
const { eventHeader, eventPayload } = member.getMergedTraits();
|
|
1257
|
-
hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
|
|
1258
|
-
if (eventPayload) {
|
|
1259
|
-
if (member.isBlobSchema()) {
|
|
1260
|
-
out[name] = body;
|
|
1261
|
-
} else if (member.isStringSchema()) {
|
|
1262
|
-
out[name] = (this.serdeContext?.utf8Encoder ?? serde.toUtf8)(body);
|
|
1263
|
-
} else if (member.isStructSchema()) {
|
|
1264
|
-
out[name] = await this.deserializer.read(member, body);
|
|
1265
|
-
}
|
|
1266
|
-
} else if (eventHeader) {
|
|
1267
|
-
const value = event[unionMember].headers[name]?.value;
|
|
1268
|
-
if (value != null) {
|
|
1269
|
-
if (member.isNumericSchema()) {
|
|
1270
|
-
if (value && typeof value === "object" && "bytes" in value) {
|
|
1271
|
-
out[name] = BigInt(value.toString());
|
|
1272
|
-
} else {
|
|
1273
|
-
out[name] = Number(value);
|
|
1274
|
-
}
|
|
1275
|
-
} else {
|
|
1276
|
-
out[name] = value;
|
|
1277
|
-
}
|
|
1278
|
-
}
|
|
1279
|
-
}
|
|
1280
|
-
}
|
|
1281
|
-
if (hasBindings) {
|
|
1282
|
-
return {
|
|
1283
|
-
[unionMember]: out
|
|
1284
|
-
};
|
|
1285
|
-
}
|
|
1286
|
-
if (body.byteLength === 0) {
|
|
1287
|
-
return {
|
|
1288
|
-
[unionMember]: {}
|
|
1289
|
-
};
|
|
1290
|
-
}
|
|
1291
|
-
}
|
|
1292
|
-
return {
|
|
1293
|
-
[unionMember]: await this.deserializer.read(eventStreamSchema, body)
|
|
1294
|
-
};
|
|
1295
|
-
} else {
|
|
1296
|
-
return {
|
|
1297
|
-
$unknown: event
|
|
1298
|
-
};
|
|
1299
|
-
}
|
|
1300
|
-
});
|
|
1301
|
-
const asyncIterator = asyncIterable[Symbol.asyncIterator]();
|
|
1302
|
-
const firstEvent = await asyncIterator.next();
|
|
1303
|
-
if (firstEvent.done) {
|
|
1304
|
-
return asyncIterable;
|
|
1305
|
-
}
|
|
1306
|
-
if (firstEvent.value?.[initialResponseMarker]) {
|
|
1307
|
-
if (!responseSchema) {
|
|
1308
|
-
throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
|
|
1309
|
-
}
|
|
1310
|
-
for (const key in firstEvent.value) {
|
|
1311
|
-
initialResponseContainer[key] = firstEvent.value[key];
|
|
1312
|
-
}
|
|
1313
|
-
}
|
|
1314
|
-
return {
|
|
1315
|
-
async* [Symbol.asyncIterator]() {
|
|
1316
|
-
if (!firstEvent?.value?.[initialResponseMarker]) {
|
|
1317
|
-
yield firstEvent.value;
|
|
1318
|
-
}
|
|
1319
|
-
while (true) {
|
|
1320
|
-
const { done, value } = await asyncIterator.next();
|
|
1321
|
-
if (done) {
|
|
1322
|
-
break;
|
|
1323
|
-
}
|
|
1324
|
-
yield value;
|
|
1325
|
-
}
|
|
1326
|
-
}
|
|
1327
|
-
};
|
|
1328
|
-
}
|
|
1329
|
-
writeEventBody(unionMember, unionSchema, event) {
|
|
1330
|
-
const serializer = this.serializer;
|
|
1331
|
-
let eventType = unionMember;
|
|
1332
|
-
let explicitPayloadMember = null;
|
|
1333
|
-
let explicitPayloadContentType;
|
|
1334
|
-
const isKnownSchema = (() => {
|
|
1335
|
-
const struct = unionSchema.getSchema();
|
|
1336
|
-
return struct[4].includes(unionMember);
|
|
1337
|
-
})();
|
|
1338
|
-
const additionalHeaders = {};
|
|
1339
|
-
if (!isKnownSchema) {
|
|
1340
|
-
const [type, value] = event[unionMember];
|
|
1341
|
-
eventType = type;
|
|
1342
|
-
serializer.write(15, value);
|
|
1343
|
-
} else {
|
|
1344
|
-
const eventSchema = unionSchema.getMemberSchema(unionMember);
|
|
1345
|
-
if (eventSchema.isStructSchema()) {
|
|
1346
|
-
for (const [memberName, memberSchema] of eventSchema.structIterator()) {
|
|
1347
|
-
const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
|
|
1348
|
-
if (eventPayload) {
|
|
1349
|
-
explicitPayloadMember = memberName;
|
|
1350
|
-
} else if (eventHeader) {
|
|
1351
|
-
const value = event[unionMember][memberName];
|
|
1352
|
-
let type = "binary";
|
|
1353
|
-
if (memberSchema.isNumericSchema()) {
|
|
1354
|
-
if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {
|
|
1355
|
-
type = "integer";
|
|
1356
|
-
} else {
|
|
1357
|
-
type = "long";
|
|
1358
|
-
}
|
|
1359
|
-
} else if (memberSchema.isTimestampSchema()) {
|
|
1360
|
-
type = "timestamp";
|
|
1361
|
-
} else if (memberSchema.isStringSchema()) {
|
|
1362
|
-
type = "string";
|
|
1363
|
-
} else if (memberSchema.isBooleanSchema()) {
|
|
1364
|
-
type = "boolean";
|
|
1365
|
-
}
|
|
1366
|
-
if (value != null) {
|
|
1367
|
-
additionalHeaders[memberName] = {
|
|
1368
|
-
type,
|
|
1369
|
-
value
|
|
1370
|
-
};
|
|
1371
|
-
delete event[unionMember][memberName];
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
|
-
}
|
|
1375
|
-
if (explicitPayloadMember !== null) {
|
|
1376
|
-
const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
|
|
1377
|
-
if (payloadSchema.isBlobSchema()) {
|
|
1378
|
-
explicitPayloadContentType = "application/octet-stream";
|
|
1379
|
-
} else if (payloadSchema.isStringSchema()) {
|
|
1380
|
-
explicitPayloadContentType = "text/plain";
|
|
1381
|
-
}
|
|
1382
|
-
serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
|
|
1383
|
-
} else {
|
|
1384
|
-
serializer.write(eventSchema, event[unionMember]);
|
|
1385
|
-
}
|
|
1386
|
-
} else if (eventSchema.isUnitSchema()) {
|
|
1387
|
-
serializer.write(eventSchema, {});
|
|
1388
|
-
} else {
|
|
1389
|
-
throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
|
|
1390
|
-
}
|
|
1391
|
-
}
|
|
1392
|
-
const messageSerialization = serializer.flush() ?? new Uint8Array;
|
|
1393
|
-
const body = typeof messageSerialization === "string" ? (this.serdeContext?.utf8Decoder ?? serde.fromUtf8)(messageSerialization) : messageSerialization;
|
|
1394
|
-
return {
|
|
1395
|
-
body,
|
|
1396
|
-
eventType,
|
|
1397
|
-
explicitPayloadContentType,
|
|
1398
|
-
additionalHeaders
|
|
1399
|
-
};
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1402
|
-
exports.EventStreamCodec = EventStreamCodec;
|
|
1403
|
-
exports.EventStreamMarshaller = EventStreamMarshaller;
|
|
1404
|
-
exports.EventStreamSerde = EventStreamSerde;
|
|
1405
|
-
exports.HeaderMarshaller = HeaderMarshaller;
|
|
1406
|
-
exports.Int64 = Int64;
|
|
1407
|
-
exports.MessageDecoderStream = MessageDecoderStream;
|
|
1408
|
-
exports.MessageEncoderStream = MessageEncoderStream;
|
|
1409
|
-
exports.SmithyMessageDecoderStream = SmithyMessageDecoderStream;
|
|
1410
|
-
exports.SmithyMessageEncoderStream = SmithyMessageEncoderStream;
|
|
1411
|
-
exports.UniversalEventStreamMarshaller = EventStreamMarshaller$1;
|
|
1412
|
-
exports.eventStreamSerdeProvider = eventStreamSerdeProvider;
|
|
1413
|
-
exports.getChunkedStream = getChunkedStream;
|
|
1414
|
-
exports.getMessageUnmarshaller = getMessageUnmarshaller;
|
|
1415
|
-
exports.getUnmarshalledStream = getUnmarshalledStream;
|
|
1416
|
-
exports.iterableToReadableStream = iterableToReadableStream;
|
|
1417
|
-
exports.readableStreamToIterable = readableStreamToIterable;
|
|
1418
|
-
exports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;
|
|
1419
|
-
exports.universalEventStreamSerdeProvider = eventStreamSerdeProvider$1;
|
|
1420
|
-
});
|
|
1421
|
-
|
|
1422
|
-
export { require_event_streams };
|