@flowajs/chat-service 0.0.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/LICENSE +21 -0
- package/README.md +210 -0
- package/dist/artifact.d.ts +87 -0
- package/dist/artifact.d.ts.map +1 -0
- package/dist/artifact.js +99 -0
- package/dist/artifact.js.map +1 -0
- package/dist/audit.d.ts +28 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +73 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth/jwt.d.ts +18 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js +23 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/auth/oidc.d.ts +30 -0
- package/dist/auth/oidc.d.ts.map +1 -0
- package/dist/auth/oidc.js +58 -0
- package/dist/auth/oidc.js.map +1 -0
- package/dist/chat.d.ts +161 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +636 -0
- package/dist/chat.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +47 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +18 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +80 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/instrumentation.d.ts +31 -0
- package/dist/instrumentation.d.ts.map +1 -0
- package/dist/instrumentation.js +151 -0
- package/dist/instrumentation.js.map +1 -0
- package/dist/llm/anthropic.d.ts +22 -0
- package/dist/llm/anthropic.d.ts.map +1 -0
- package/dist/llm/anthropic.js +40 -0
- package/dist/llm/anthropic.js.map +1 -0
- package/dist/llm/bedrock.d.ts +34 -0
- package/dist/llm/bedrock.d.ts.map +1 -0
- package/dist/llm/bedrock.js +54 -0
- package/dist/llm/bedrock.js.map +1 -0
- package/dist/llm/factory.d.ts +3 -0
- package/dist/llm/factory.d.ts.map +1 -0
- package/dist/llm/factory.js +59 -0
- package/dist/llm/factory.js.map +1 -0
- package/dist/llm/google-gla.d.ts +22 -0
- package/dist/llm/google-gla.d.ts.map +1 -0
- package/dist/llm/google-gla.js +29 -0
- package/dist/llm/google-gla.js.map +1 -0
- package/dist/llm/google-vertex.d.ts +21 -0
- package/dist/llm/google-vertex.d.ts.map +1 -0
- package/dist/llm/google-vertex.js +28 -0
- package/dist/llm/google-vertex.js.map +1 -0
- package/dist/llm/interface.d.ts +45 -0
- package/dist/llm/interface.d.ts.map +1 -0
- package/dist/llm/interface.js +2 -0
- package/dist/llm/interface.js.map +1 -0
- package/dist/llm/openai.d.ts +19 -0
- package/dist/llm/openai.d.ts.map +1 -0
- package/dist/llm/openai.js +25 -0
- package/dist/llm/openai.js.map +1 -0
- package/dist/prompts.d.ts +7 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +17 -0
- package/dist/prompts.js.map +1 -0
- package/dist/server.d.ts +39 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +106 -0
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +68 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +245 -0
- package/dist/session.js.map +1 -0
- package/dist/storage/factory.d.ts +28 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +33 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/fs.d.ts +14 -0
- package/dist/storage/fs.d.ts.map +1 -0
- package/dist/storage/fs.js +116 -0
- package/dist/storage/fs.js.map +1 -0
- package/dist/storage/gcs.d.ts +27 -0
- package/dist/storage/gcs.d.ts.map +1 -0
- package/dist/storage/gcs.js +81 -0
- package/dist/storage/gcs.js.map +1 -0
- package/dist/storage/interface.d.ts +33 -0
- package/dist/storage/interface.d.ts.map +1 -0
- package/dist/storage/interface.js +12 -0
- package/dist/storage/interface.js.map +1 -0
- package/dist/storage/s3.d.ts +29 -0
- package/dist/storage/s3.d.ts.map +1 -0
- package/dist/storage/s3.js +109 -0
- package/dist/storage/s3.js.map +1 -0
- package/dist/storage-keys.d.ts +33 -0
- package/dist/storage-keys.d.ts.map +1 -0
- package/dist/storage-keys.js +76 -0
- package/dist/storage-keys.js.map +1 -0
- package/dist/telemetry.d.ts +29 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +116 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/yaml.d.ts +42 -0
- package/dist/yaml.d.ts.map +1 -0
- package/dist/yaml.js +121 -0
- package/dist/yaml.js.map +1 -0
- package/package.json +124 -0
package/dist/chat.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Default env-driven entry. Production deployments needing custom
|
|
2
|
+
* cred-mint flows or per-deployment auth wiring should write their own
|
|
3
|
+
* thin entry that calls `createApp` from `./server` directly. See
|
|
4
|
+
* README.md "Production deployment". */
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;yCAGyC"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Default env-driven entry. Production deployments needing custom
|
|
2
|
+
* cred-mint flows or per-deployment auth wiring should write their own
|
|
3
|
+
* thin entry that calls `createApp` from `./server` directly. See
|
|
4
|
+
* README.md "Production deployment". */
|
|
5
|
+
import { serve } from "@hono/node-server";
|
|
6
|
+
import { Hono } from "hono";
|
|
7
|
+
import { loadConfig } from "./config.js";
|
|
8
|
+
import { createApp } from "./server.js";
|
|
9
|
+
import { createStorage } from "./storage/factory.js";
|
|
10
|
+
import { createProvider } from "./llm/factory.js";
|
|
11
|
+
import { createOidcMiddleware } from "./auth/oidc.js";
|
|
12
|
+
async function main() {
|
|
13
|
+
const config = loadConfig();
|
|
14
|
+
const storage = await createStorage(config.storage);
|
|
15
|
+
const provider = await createProvider(config.llmModel);
|
|
16
|
+
const chatApp = createApp({
|
|
17
|
+
storage,
|
|
18
|
+
provider,
|
|
19
|
+
jwtSecret: config.jwtSecret,
|
|
20
|
+
promptDir: config.promptDir,
|
|
21
|
+
jwtTtlSeconds: config.jwtTtlSeconds,
|
|
22
|
+
corsOrigins: config.corsOrigins,
|
|
23
|
+
});
|
|
24
|
+
// Apply the OIDC middleware on POST /sessions when configured. The
|
|
25
|
+
// route is unauthenticated otherwise (suitable for the demo / local
|
|
26
|
+
// development; production deployments should always set OIDC_*).
|
|
27
|
+
let app;
|
|
28
|
+
if (config.oidc) {
|
|
29
|
+
app = new Hono();
|
|
30
|
+
app.use("/sessions", createOidcMiddleware({
|
|
31
|
+
...config.oidc,
|
|
32
|
+
devMode: process.env.NODE_ENV === "development",
|
|
33
|
+
}));
|
|
34
|
+
app.route("/", chatApp);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
app = chatApp;
|
|
38
|
+
}
|
|
39
|
+
serve({ fetch: app.fetch, port: config.port }, (info) => {
|
|
40
|
+
console.log(`chat-service listening on port ${info.port}`);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
main().catch((error) => {
|
|
44
|
+
console.error(error);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;yCAGyC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,SAAS,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IAEH,mEAAmE;IACnE,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,GAAS,CAAC;IACd,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACjB,GAAG,CAAC,GAAG,CACL,WAAW,EACX,oBAAoB,CAAC;YACnB,GAAG,MAAM,CAAC,IAAI;YACd,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;SAChD,CAAC,CACH,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Env-var schema for the default `index.ts` entry. */
|
|
2
|
+
import type { StorageConfig } from "./storage/factory.js";
|
|
3
|
+
export interface ServiceConfig {
|
|
4
|
+
port: number;
|
|
5
|
+
llmModel: string;
|
|
6
|
+
storage: StorageConfig;
|
|
7
|
+
jwtSecret: string;
|
|
8
|
+
jwtTtlSeconds: number;
|
|
9
|
+
promptDir: string;
|
|
10
|
+
corsOrigins: string[];
|
|
11
|
+
oidc: {
|
|
12
|
+
jwksUrl: string;
|
|
13
|
+
issuer: string;
|
|
14
|
+
audience: string;
|
|
15
|
+
} | null;
|
|
16
|
+
}
|
|
17
|
+
export declare function loadConfig(): ServiceConfig;
|
|
18
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;CACV;AAiED,wBAAgB,UAAU,IAAI,aAAa,CAkB1C"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/** Env-var schema for the default `index.ts` entry. */
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const RequiredEnv = z.object({
|
|
4
|
+
LLM_MODEL: z.string().min(1),
|
|
5
|
+
STORAGE_BACKEND: z.enum(["fs", "s3", "gcs"]),
|
|
6
|
+
CHAT_JWT_SECRET: z.string().min(1),
|
|
7
|
+
});
|
|
8
|
+
function envInt(name, fallback) {
|
|
9
|
+
const v = process.env[name];
|
|
10
|
+
return v ? parseInt(v, 10) : fallback;
|
|
11
|
+
}
|
|
12
|
+
function buildStorageConfig() {
|
|
13
|
+
const backend = process.env.STORAGE_BACKEND;
|
|
14
|
+
const prefix = process.env.STORAGE_PREFIX;
|
|
15
|
+
if (backend === "fs") {
|
|
16
|
+
const root = process.env.STORAGE_FS_ROOT;
|
|
17
|
+
if (!root) {
|
|
18
|
+
throw new Error("STORAGE_BACKEND=fs requires STORAGE_FS_ROOT to be set.");
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
backend: "fs",
|
|
22
|
+
root,
|
|
23
|
+
...(prefix !== undefined ? { prefix } : {}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (backend === "s3") {
|
|
27
|
+
const bucket = process.env.STORAGE_S3_BUCKET;
|
|
28
|
+
if (!bucket) {
|
|
29
|
+
throw new Error("STORAGE_BACKEND=s3 requires STORAGE_S3_BUCKET to be set.");
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
backend: "s3",
|
|
33
|
+
bucket,
|
|
34
|
+
...(prefix !== undefined ? { prefix } : {}),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (backend === "gcs") {
|
|
38
|
+
const bucket = process.env.STORAGE_GCS_BUCKET;
|
|
39
|
+
if (!bucket) {
|
|
40
|
+
throw new Error("STORAGE_BACKEND=gcs requires STORAGE_GCS_BUCKET to be set.");
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
backend: "gcs",
|
|
44
|
+
bucket,
|
|
45
|
+
...(prefix !== undefined ? { prefix } : {}),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
throw new Error(`STORAGE_BACKEND must be one of "fs", "s3", "gcs"; got: ${JSON.stringify(backend)}`);
|
|
49
|
+
}
|
|
50
|
+
function buildOidcConfig() {
|
|
51
|
+
const jwksUrl = process.env.OIDC_JWKS_URL;
|
|
52
|
+
const issuer = process.env.OIDC_ISSUER;
|
|
53
|
+
const audience = process.env.OIDC_AUDIENCE;
|
|
54
|
+
if (!jwksUrl && !issuer && !audience)
|
|
55
|
+
return null;
|
|
56
|
+
if (!jwksUrl || !issuer || !audience) {
|
|
57
|
+
throw new Error("OIDC config is partial. Set all of OIDC_JWKS_URL, OIDC_ISSUER, OIDC_AUDIENCE, or none.");
|
|
58
|
+
}
|
|
59
|
+
return { jwksUrl, issuer, audience };
|
|
60
|
+
}
|
|
61
|
+
export function loadConfig() {
|
|
62
|
+
const required = RequiredEnv.safeParse(process.env);
|
|
63
|
+
if (!required.success) {
|
|
64
|
+
const names = required.error.issues.map((i) => i.path.join(".")).join(", ");
|
|
65
|
+
throw new Error(`Missing or empty required env vars: ${names}`);
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
port: envInt("PORT", 8000),
|
|
69
|
+
llmModel: required.data.LLM_MODEL,
|
|
70
|
+
storage: buildStorageConfig(),
|
|
71
|
+
jwtSecret: required.data.CHAT_JWT_SECRET,
|
|
72
|
+
jwtTtlSeconds: envInt("CHAT_JWT_TTL_SECONDS", 14400),
|
|
73
|
+
promptDir: process.env.CHAT_PROMPT_DIR ?? "./prompts",
|
|
74
|
+
corsOrigins: (process.env.CHAT_CORS_ORIGINS ?? "*")
|
|
75
|
+
.split(",")
|
|
76
|
+
.map((o) => o.trim()),
|
|
77
|
+
oidc: buildOidcConfig(),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API surface for `@flowajs/chat-service`.
|
|
3
|
+
*
|
|
4
|
+
* Deployments compose their full artifact schema by calling
|
|
5
|
+
* `ArtifactSchema.extend({ ... })` with their additional fields, then
|
|
6
|
+
* pass the result to `createApp({ schema })` (from
|
|
7
|
+
* `@flowajs/chat-service/server`). `.extend(...)` preserves the shape's
|
|
8
|
+
* TypeScript type so the resulting schema stays assignable to
|
|
9
|
+
* `z.ZodType<Artifact>`; spreading `...artifactFields` into a fresh
|
|
10
|
+
* `z.object({...})` also works at runtime but widens the inferred shape
|
|
11
|
+
* to `Record<string, any>`, which fails the static type at the
|
|
12
|
+
* `createApp` call site. `artifactFields` is exported for reference /
|
|
13
|
+
* runtime inspection.
|
|
14
|
+
*
|
|
15
|
+
* The CLI / env-driven entry that boots the service from environment
|
|
16
|
+
* variables lives at `dist/cli.js` (run via `node dist/cli.js`).
|
|
17
|
+
*/
|
|
18
|
+
export { artifactFields, ArtifactSchema, schemaForPrompt, type Artifact, } from "./artifact.js";
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API surface for `@flowajs/chat-service`.
|
|
3
|
+
*
|
|
4
|
+
* Deployments compose their full artifact schema by calling
|
|
5
|
+
* `ArtifactSchema.extend({ ... })` with their additional fields, then
|
|
6
|
+
* pass the result to `createApp({ schema })` (from
|
|
7
|
+
* `@flowajs/chat-service/server`). `.extend(...)` preserves the shape's
|
|
8
|
+
* TypeScript type so the resulting schema stays assignable to
|
|
9
|
+
* `z.ZodType<Artifact>`; spreading `...artifactFields` into a fresh
|
|
10
|
+
* `z.object({...})` also works at runtime but widens the inferred shape
|
|
11
|
+
* to `Record<string, any>`, which fails the static type at the
|
|
12
|
+
* `createApp` call site. `artifactFields` is exported for reference /
|
|
13
|
+
* runtime inspection.
|
|
14
|
+
*
|
|
15
|
+
* The CLI / env-driven entry that boots the service from environment
|
|
16
|
+
* variables lives at `dist/cli.js` (run via `node dist/cli.js`).
|
|
17
|
+
*/
|
|
18
|
+
export { artifactFields, ArtifactSchema, schemaForPrompt, } from "./artifact.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,GAEhB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry SDK bootstrap with SigV4 OTLP transport.
|
|
3
|
+
*
|
|
4
|
+
* Loaded via Node's --import flag before any app module. This is the
|
|
5
|
+
* recommended OTel pattern (see https://opentelemetry.io/docs/zero-code/js/):
|
|
6
|
+
* instrumentations must patch http / @aws-sdk/* before those modules are
|
|
7
|
+
* imported, so this file must run first — independent of index.ts's
|
|
8
|
+
* ESM static-import order.
|
|
9
|
+
*
|
|
10
|
+
* Credentials are wired lazily via initCredentials() after the entry
|
|
11
|
+
* script has constructed its credential provider — useful when the
|
|
12
|
+
* provider depends on env vars or a custom cred chain.
|
|
13
|
+
*
|
|
14
|
+
* The SDK only starts when OTEL_ENABLED=true; otherwise this module
|
|
15
|
+
* loads but the SDK never boots, so metrics.getMeter() returns a no-op
|
|
16
|
+
* meter throughout. The demo leaves OTEL_ENABLED unset; production sets
|
|
17
|
+
* it.
|
|
18
|
+
*/
|
|
19
|
+
interface AwsCredentials {
|
|
20
|
+
accessKeyId: string;
|
|
21
|
+
secretAccessKey: string;
|
|
22
|
+
sessionToken?: string;
|
|
23
|
+
expiration?: Date;
|
|
24
|
+
}
|
|
25
|
+
type CredentialFn = () => Promise<AwsCredentials>;
|
|
26
|
+
/** Wire the credential provider. Call once from the entry script after
|
|
27
|
+
* constructing the desired credential provider. */
|
|
28
|
+
export declare function initCredentials(fn: CredentialFn): void;
|
|
29
|
+
export declare function shutdownTelemetry(): Promise<void>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=instrumentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAwBH,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,KAAK,YAAY,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAMlD;oDACoD;AACpD,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAEtD;AAuJD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIvD"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry SDK bootstrap with SigV4 OTLP transport.
|
|
3
|
+
*
|
|
4
|
+
* Loaded via Node's --import flag before any app module. This is the
|
|
5
|
+
* recommended OTel pattern (see https://opentelemetry.io/docs/zero-code/js/):
|
|
6
|
+
* instrumentations must patch http / @aws-sdk/* before those modules are
|
|
7
|
+
* imported, so this file must run first — independent of index.ts's
|
|
8
|
+
* ESM static-import order.
|
|
9
|
+
*
|
|
10
|
+
* Credentials are wired lazily via initCredentials() after the entry
|
|
11
|
+
* script has constructed its credential provider — useful when the
|
|
12
|
+
* provider depends on env vars or a custom cred chain.
|
|
13
|
+
*
|
|
14
|
+
* The SDK only starts when OTEL_ENABLED=true; otherwise this module
|
|
15
|
+
* loads but the SDK never boots, so metrics.getMeter() returns a no-op
|
|
16
|
+
* meter throughout. The demo leaves OTEL_ENABLED unset; production sets
|
|
17
|
+
* it.
|
|
18
|
+
*/
|
|
19
|
+
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
20
|
+
import { envDetector, hostDetector } from "@opentelemetry/resources";
|
|
21
|
+
import { ConsoleSpanExporter, } from "@opentelemetry/sdk-trace-base";
|
|
22
|
+
import { ConsoleMetricExporter, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
|
|
23
|
+
import { ExportResultCode } from "@opentelemetry/core";
|
|
24
|
+
import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
|
|
25
|
+
import { AwsInstrumentation } from "@opentelemetry/instrumentation-aws-sdk";
|
|
26
|
+
import { JsonTraceSerializer, JsonMetricsSerializer, } from "@opentelemetry/otlp-transformer";
|
|
27
|
+
import { AwsV4Signer } from "aws4fetch";
|
|
28
|
+
let credentialFn = null;
|
|
29
|
+
let cachedCreds = null;
|
|
30
|
+
let credentialFailureLogged = false;
|
|
31
|
+
/** Wire the credential provider. Call once from the entry script after
|
|
32
|
+
* constructing the desired credential provider. */
|
|
33
|
+
export function initCredentials(fn) {
|
|
34
|
+
credentialFn = fn;
|
|
35
|
+
}
|
|
36
|
+
async function getCredentials() {
|
|
37
|
+
if (!credentialFn)
|
|
38
|
+
throw new Error("Credential provider not initialized");
|
|
39
|
+
if (cachedCreds?.expiration &&
|
|
40
|
+
cachedCreds.expiration.getTime() > Date.now() + 60_000) {
|
|
41
|
+
return cachedCreds;
|
|
42
|
+
}
|
|
43
|
+
const creds = await credentialFn();
|
|
44
|
+
cachedCreds = creds;
|
|
45
|
+
return creds;
|
|
46
|
+
}
|
|
47
|
+
const region = process.env.AWS_REGION ?? "us-east-1";
|
|
48
|
+
const XRAY_ENDPOINT = `https://xray.${region}.amazonaws.com/v1/traces`;
|
|
49
|
+
const MONITORING_ENDPOINT = `https://monitoring.${region}.amazonaws.com/v1/metrics`;
|
|
50
|
+
async function sigv4Fetch(url, service, body) {
|
|
51
|
+
const creds = await getCredentials();
|
|
52
|
+
const signer = new AwsV4Signer({
|
|
53
|
+
url,
|
|
54
|
+
method: "POST",
|
|
55
|
+
headers: new Headers({ "Content-Type": "application/json" }),
|
|
56
|
+
body: body,
|
|
57
|
+
service,
|
|
58
|
+
region,
|
|
59
|
+
accessKeyId: creds.accessKeyId,
|
|
60
|
+
secretAccessKey: creds.secretAccessKey,
|
|
61
|
+
...(creds.sessionToken !== undefined
|
|
62
|
+
? { sessionToken: creds.sessionToken }
|
|
63
|
+
: {}),
|
|
64
|
+
});
|
|
65
|
+
const signed = await signer.sign();
|
|
66
|
+
return fetch(signed.url, {
|
|
67
|
+
method: signed.method,
|
|
68
|
+
headers: signed.headers,
|
|
69
|
+
body: signed.body,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function handleExportError(label, error, resultCallback) {
|
|
73
|
+
if (!credentialFailureLogged) {
|
|
74
|
+
console.warn(`[otel] ${label} — telemetry export disabled:`, error instanceof Error ? error.message : error);
|
|
75
|
+
credentialFailureLogged = true;
|
|
76
|
+
}
|
|
77
|
+
resultCallback({ code: ExportResultCode.FAILED });
|
|
78
|
+
}
|
|
79
|
+
class SigV4TraceExporter {
|
|
80
|
+
export(spans, resultCallback) {
|
|
81
|
+
const body = JsonTraceSerializer.serializeRequest(spans);
|
|
82
|
+
if (!body) {
|
|
83
|
+
resultCallback({ code: ExportResultCode.FAILED });
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
sigv4Fetch(XRAY_ENDPOINT, "xray", body)
|
|
87
|
+
.then(async (response) => {
|
|
88
|
+
if (!response.ok) {
|
|
89
|
+
const text = await response.text().catch(() => "");
|
|
90
|
+
console.error(`[otel] X-Ray export failed: ${response.status} ${text}`);
|
|
91
|
+
resultCallback({ code: ExportResultCode.FAILED });
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
resultCallback({ code: ExportResultCode.SUCCESS });
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
.catch((error) => handleExportError("Trace export", error, resultCallback));
|
|
98
|
+
}
|
|
99
|
+
async shutdown() { }
|
|
100
|
+
}
|
|
101
|
+
class SigV4MetricExporter {
|
|
102
|
+
export(resourceMetrics, resultCallback) {
|
|
103
|
+
const body = JsonMetricsSerializer.serializeRequest(resourceMetrics);
|
|
104
|
+
if (!body) {
|
|
105
|
+
resultCallback({ code: ExportResultCode.FAILED });
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
sigv4Fetch(MONITORING_ENDPOINT, "monitoring", body)
|
|
109
|
+
.then(async (response) => {
|
|
110
|
+
if (!response.ok) {
|
|
111
|
+
const text = await response.text().catch(() => "");
|
|
112
|
+
console.error(`[otel] CloudWatch metrics export failed: ${response.status} ${text}`);
|
|
113
|
+
resultCallback({ code: ExportResultCode.FAILED });
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
resultCallback({ code: ExportResultCode.SUCCESS });
|
|
117
|
+
}
|
|
118
|
+
})
|
|
119
|
+
.catch((error) => handleExportError("Metrics export", error, resultCallback));
|
|
120
|
+
}
|
|
121
|
+
async forceFlush() { }
|
|
122
|
+
async shutdown() { }
|
|
123
|
+
}
|
|
124
|
+
const useConsole = process.env.OTEL_TRACES_EXPORTER === "console";
|
|
125
|
+
const traceExporter = useConsole
|
|
126
|
+
? new ConsoleSpanExporter()
|
|
127
|
+
: new SigV4TraceExporter();
|
|
128
|
+
const metricReader = new PeriodicExportingMetricReader({
|
|
129
|
+
exporter: useConsole
|
|
130
|
+
? new ConsoleMetricExporter()
|
|
131
|
+
: new SigV4MetricExporter(),
|
|
132
|
+
});
|
|
133
|
+
const sdk = new NodeSDK({
|
|
134
|
+
// envDetector reads OTEL_SERVICE_NAME and OTEL_RESOURCE_ATTRIBUTES.
|
|
135
|
+
// hostDetector adds host.name/host.arch.
|
|
136
|
+
// processDetector is excluded — it adds process.command_args (array)
|
|
137
|
+
// which CloudWatch's OTLP metrics endpoint rejects.
|
|
138
|
+
resourceDetectors: [envDetector, hostDetector],
|
|
139
|
+
traceExporter,
|
|
140
|
+
metricReader,
|
|
141
|
+
instrumentations: [new HttpInstrumentation(), new AwsInstrumentation()],
|
|
142
|
+
});
|
|
143
|
+
if (process.env.OTEL_ENABLED === "true") {
|
|
144
|
+
sdk.start();
|
|
145
|
+
}
|
|
146
|
+
export async function shutdownTelemetry() {
|
|
147
|
+
if (process.env.OTEL_ENABLED === "true") {
|
|
148
|
+
await sdk.shutdown();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=instrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
|
+
import type { LlmProvider } from "./interface.js";
|
|
3
|
+
export interface AnthropicProviderOptions {
|
|
4
|
+
modelId: string;
|
|
5
|
+
/** Optional pre-built provider client. */
|
|
6
|
+
client?: ReturnType<typeof createAnthropic>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Anthropic provider with adaptive extended thinking.
|
|
10
|
+
*
|
|
11
|
+
* `providerOptions.anthropic.thinking = { type: "adaptive" }` enables
|
|
12
|
+
* extended thinking for newer models (Sonnet 4.6 / Opus 4.6+) where the
|
|
13
|
+
* model auto-budgets reasoning tokens.
|
|
14
|
+
*
|
|
15
|
+
* `prepareStep` injects `cacheControl: { type: "ephemeral" }` on the last
|
|
16
|
+
* content part of the last message — Anthropic's prompt-caching marker.
|
|
17
|
+
* Same intent as Bedrock's `cachePoint`: cache the prefix (system prompt
|
|
18
|
+
* + history + prior tool results) so subsequent steps and turns read it
|
|
19
|
+
* at lower cost.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createAnthropicProvider(options: AnthropicProviderOptions): LlmProvider;
|
|
22
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CAC7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,WAAW,CA0Bb"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
|
+
/**
|
|
3
|
+
* Anthropic provider with adaptive extended thinking.
|
|
4
|
+
*
|
|
5
|
+
* `providerOptions.anthropic.thinking = { type: "adaptive" }` enables
|
|
6
|
+
* extended thinking for newer models (Sonnet 4.6 / Opus 4.6+) where the
|
|
7
|
+
* model auto-budgets reasoning tokens.
|
|
8
|
+
*
|
|
9
|
+
* `prepareStep` injects `cacheControl: { type: "ephemeral" }` on the last
|
|
10
|
+
* content part of the last message — Anthropic's prompt-caching marker.
|
|
11
|
+
* Same intent as Bedrock's `cachePoint`: cache the prefix (system prompt
|
|
12
|
+
* + history + prior tool results) so subsequent steps and turns read it
|
|
13
|
+
* at lower cost.
|
|
14
|
+
*/
|
|
15
|
+
export function createAnthropicProvider(options) {
|
|
16
|
+
const client = options.client ?? createAnthropic();
|
|
17
|
+
return {
|
|
18
|
+
name: "anthropic",
|
|
19
|
+
model: client(options.modelId),
|
|
20
|
+
providerOptions: {
|
|
21
|
+
anthropic: {
|
|
22
|
+
thinking: { type: "adaptive" },
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
prepareStep: ({ messages }) => ({
|
|
26
|
+
messages: messages.map((msg, i) => i === messages.length - 1
|
|
27
|
+
? {
|
|
28
|
+
...msg,
|
|
29
|
+
providerOptions: {
|
|
30
|
+
...(msg.providerOptions ?? {}),
|
|
31
|
+
anthropic: {
|
|
32
|
+
cacheControl: { type: "ephemeral" },
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
: msg),
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=anthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAiC;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;SACF;QACD,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAgC,EAAE,EAAE,CAAC,CAAC;YAC5D,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAChC,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACvB,CAAC,CAAC;oBACE,GAAG,GAAG;oBACN,eAAe,EAAE;wBACf,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;wBAC9B,SAAS,EAAE;4BACT,YAAY,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE;yBAC7C;qBACF;iBACF;gBACH,CAAC,CAAC,GAAG,CACR;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
|
|
2
|
+
import type { LlmProvider } from "./interface.js";
|
|
3
|
+
export interface BedrockProviderOptions {
|
|
4
|
+
modelId: string;
|
|
5
|
+
/**
|
|
6
|
+
* Optional Bedrock application inference profile ARN. When set, the
|
|
7
|
+
* profile ARN is used as the actual API target — Bedrock routes
|
|
8
|
+
* through the profile for cost attribution. `modelId` remains the
|
|
9
|
+
* informative foundation-model identifier carried into telemetry and
|
|
10
|
+
* logs.
|
|
11
|
+
*
|
|
12
|
+
* The Vercel AI SDK's `bedrock(modelId)` factory accepts only one
|
|
13
|
+
* identifier, so when a profile is present we hand the ARN where the
|
|
14
|
+
* foundation modelId would have gone; chat-service keeps `modelId`
|
|
15
|
+
* separately for the human-readable role.
|
|
16
|
+
*/
|
|
17
|
+
inferenceProfile?: string;
|
|
18
|
+
/** Optional pre-built provider client. */
|
|
19
|
+
client?: ReturnType<typeof createAmazonBedrock>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Amazon Bedrock provider. `providerOptions.bedrock` carries Bedrock's
|
|
23
|
+
* `additionalModelRequestFields` for adaptive thinking + medium-effort
|
|
24
|
+
* output config.
|
|
25
|
+
*
|
|
26
|
+
* `prepareStep` injects a `cachePoint` on the last message so everything
|
|
27
|
+
* before it (system prompt + conversation history + prior tool results)
|
|
28
|
+
* is cached as a prefix. On the next step or turn, the unchanged prefix
|
|
29
|
+
* is read from cache at ~90% lower cost. The same caching pattern is
|
|
30
|
+
* implemented in `./anthropic.ts` with the equivalent `cacheControl`
|
|
31
|
+
* marker.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createBedrockProvider(options: BedrockProviderOptions): Promise<LlmProvider>;
|
|
34
|
+
//# sourceMappingURL=bedrock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/llm/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC,CA0CtB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
|
|
2
|
+
/**
|
|
3
|
+
* Amazon Bedrock provider. `providerOptions.bedrock` carries Bedrock's
|
|
4
|
+
* `additionalModelRequestFields` for adaptive thinking + medium-effort
|
|
5
|
+
* output config.
|
|
6
|
+
*
|
|
7
|
+
* `prepareStep` injects a `cachePoint` on the last message so everything
|
|
8
|
+
* before it (system prompt + conversation history + prior tool results)
|
|
9
|
+
* is cached as a prefix. On the next step or turn, the unchanged prefix
|
|
10
|
+
* is read from cache at ~90% lower cost. The same caching pattern is
|
|
11
|
+
* implemented in `./anthropic.ts` with the equivalent `cacheControl`
|
|
12
|
+
* marker.
|
|
13
|
+
*/
|
|
14
|
+
export async function createBedrockProvider(options) {
|
|
15
|
+
let client = options.client;
|
|
16
|
+
if (!client) {
|
|
17
|
+
// The Vercel AI SDK's `@ai-sdk/amazon-bedrock` doesn't use the AWS
|
|
18
|
+
// SDK's standard credential chain by default — it expects explicit
|
|
19
|
+
// keys or a `credentialProvider` function. Wire `fromNodeProviderChain`
|
|
20
|
+
// here so AWS_PROFILE / SSO / IRSA / env-var auth all "just work" via
|
|
21
|
+
// the env-driven entry. Deployments needing custom cred-mint flows
|
|
22
|
+
// (OIDC → STS, etc.) construct their own client with whatever
|
|
23
|
+
// provider matches their setup and pass it in via `options.client`.
|
|
24
|
+
const { fromNodeProviderChain } = await import("@aws-sdk/credential-providers");
|
|
25
|
+
client = createAmazonBedrock({
|
|
26
|
+
credentialProvider: fromNodeProviderChain(),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const apiTarget = options.inferenceProfile ?? options.modelId;
|
|
30
|
+
return {
|
|
31
|
+
name: "aws.bedrock",
|
|
32
|
+
model: client(apiTarget),
|
|
33
|
+
providerOptions: {
|
|
34
|
+
bedrock: {
|
|
35
|
+
additionalModelRequestFields: {
|
|
36
|
+
thinking: { type: "adaptive" },
|
|
37
|
+
output_config: { effort: "medium" },
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
prepareStep: ({ messages }) => ({
|
|
42
|
+
messages: messages.map((msg, i) => i === messages.length - 1
|
|
43
|
+
? {
|
|
44
|
+
...msg,
|
|
45
|
+
providerOptions: {
|
|
46
|
+
...(msg.providerOptions ?? {}),
|
|
47
|
+
bedrock: { cachePoint: { type: "default" } },
|
|
48
|
+
},
|
|
49
|
+
}
|
|
50
|
+
: msg),
|
|
51
|
+
}),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=bedrock.js.map
|