@coalex-ai/sdk 2.6.2-beta.697 → 2.7.0-beta.700

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -51,6 +51,14 @@ export interface RegisterOptions {
51
51
  * own, so one refusal does not stop the others. `declare()` does the same after `register()`.
52
52
  */
53
53
  declare?: AgentInventory | AgentInventory[];
54
+ /**
55
+ * Export the text of a prompt fetched with `getPrompt()` as a reference to its Prompt Vault
56
+ * version (`coalex.prompt.ref`) instead of in full; the platform restores it from the vault when
57
+ * it stores the span. It needs a platform that restores references; one that does not keeps the
58
+ * marker in place of the text. Defaults to the `COALEX_PROMPT_REFS` env var
59
+ * (`1`/`true`/`yes`/`on`), or false when unset.
60
+ */
61
+ promptRefs?: boolean;
54
62
  }
55
63
  export declare function register(options?: RegisterOptions): void;
56
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
6
6
  import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
7
7
  import { SafeOTLPSpanExporter } from "./safe-exporter.js";
8
8
  import { FilteringSpanExporter } from "./filtering-exporter.js";
9
+ import { PromptReferenceExporter } from "./prompt-refs.js";
9
10
  import { CoalexAttributePropagator } from "./span-processor.js";
10
11
  import { declareMany } from "./inventory.js";
11
12
  import { setLogger } from "./logger.js";
@@ -59,7 +60,10 @@ export function register(options) {
59
60
  url: `${endpoint}/v1/traces`,
60
61
  headers: sdkHeaders(apiKey),
61
62
  });
62
- const safeExporter = new SafeOTLPSpanExporter(baseExporter, suppressExportErrors);
63
+ const promptRefs = options?.promptRefs ??
64
+ ["1", "true", "yes", "on"].includes((process.env.COALEX_PROMPT_REFS ?? "").trim().toLowerCase());
65
+ const wireExporter = promptRefs ? new PromptReferenceExporter(baseExporter) : baseExporter;
66
+ const safeExporter = new SafeOTLPSpanExporter(wireExporter, suppressExportErrors);
63
67
  const finalExporter = filterNonAiSpans
64
68
  ? new FilteringSpanExporter(safeExporter)
65
69
  : safeExporter;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { Attributes } from "@opentelemetry/api";
2
+ import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
3
+ /**
4
+ * Export a vault prompt as a reference instead of its text: `register({ promptRefs: true })`.
5
+ *
6
+ * The TypeScript twin of the Python SDK's `coalex/prompt_refs.py`, with the same wire format, which
7
+ * the transformer reads (`silver/prompt_refs.py`) to put the text back from the Prompt Vault when it
8
+ * stores the span:
9
+ *
10
+ * - The marker is `{{coalex.prompt.ref:<sha256>}}`, the SHA-256 of the prompt's UTF-8 text in hex.
11
+ * - `coalex.prompt.ref` is a JSON array, one entry per vault prompt the span references:
12
+ * `{"id", "version", "sha256", "attributes": {<attribute key>: <encoding>}}`. The encoding says how
13
+ * the text appeared in that attribute: `text` verbatim, `json` as a JSON string body (what
14
+ * `JSON.stringify` writes), `json_ascii` as one with every non-ASCII character escaped.
15
+ *
16
+ * A prompt is replaced only where its whole text appears and putting it back reproduces the
17
+ * attribute exactly; anything else (a prompt formatted with variables, edited at runtime, not from
18
+ * the vault, shorter than `MIN_PROMPT_CHARS`, or not well-formed UTF-16) is exported as it was.
19
+ */
20
+ export declare const REF_ATTRIBUTE = "coalex.prompt.ref";
21
+ export declare const MARKER_PREFIX = "{{coalex.prompt.ref:";
22
+ export declare const MARKER_SUFFIX = "}}";
23
+ export declare const ENCODINGS: readonly ["text", "json", "json_ascii"];
24
+ export type PromptRefEncoding = (typeof ENCODINGS)[number];
25
+ /** Below this a reference saves little, and a short prompt is likelier to occur inside other text. */
26
+ export declare const MIN_PROMPT_CHARS = 256;
27
+ export declare const MAX_REMEMBERED_PROMPTS = 64;
28
+ export interface VaultPrompt {
29
+ readonly id: string;
30
+ readonly version: number;
31
+ readonly content: string;
32
+ readonly sha256: string;
33
+ }
34
+ /** Whether a vault prompt's text is looked for under `key`. */
35
+ export declare function isPromptBearing(key: string): boolean;
36
+ export declare function contentSha256(content: string): string;
37
+ export declare function marker(sha256: string): string;
38
+ /** How `content` appears in an attribute under `encoding`. */
39
+ export declare function encode(content: string, encoding: PromptRefEncoding): string;
40
+ /** Make a prompt fetched from the vault replaceable on the spans that follow. */
41
+ export declare function rememberPrompt(id: string, version: number, content: string): void;
42
+ /** Forget every remembered prompt (tests). */
43
+ export declare function forgetAllPrompts(): void;
44
+ type Use = [VaultPrompt, PromptRefEncoding];
45
+ /** `value` with each marker put back as its prompt, as the transformer does. */
46
+ export declare function restore(value: string, uses: readonly Use[]): string;
47
+ /** The attributes with each remembered prompt replaced by a reference, or undefined when none occurs. */
48
+ export declare function referencePrompts(attributes: Attributes, prompts?: readonly VaultPrompt[]): Attributes | undefined;
49
+ interface ExportResult {
50
+ code: number;
51
+ error?: Error;
52
+ }
53
+ /** Replaces the text of every remembered vault prompt with a reference, then delegates. */
54
+ export declare class PromptReferenceExporter implements SpanExporter {
55
+ private readonly wrappedExporter;
56
+ constructor(wrappedExporter: SpanExporter);
57
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
58
+ shutdown(): Promise<void>;
59
+ forceFlush(): Promise<void>;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=prompt-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-refs.d.ts","sourceRoot":"","sources":["../src/prompt-refs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,aAAa,yBAAyB,CAAC;AACpD,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,SAAS,yCAA0C,CAAC;AACjE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,sGAAsG;AACtG,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAMzC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIpD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,8DAA8D;AAC9D,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAK3E;AASD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAOD,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAE5C,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,MAAM,CAKnE;AAmBD,yGAAyG;AACzG,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,SAAS,WAAW,EAAe,GAC3C,UAAU,GAAG,SAAS,CA0BxB;AAYD,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,2FAA2F;AAC3F,qBAAa,uBAAwB,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,YAAY;IAE1D,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAkBnF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
@@ -0,0 +1,167 @@
1
+ import { createHash } from "node:crypto";
2
+ /**
3
+ * Export a vault prompt as a reference instead of its text: `register({ promptRefs: true })`.
4
+ *
5
+ * The TypeScript twin of the Python SDK's `coalex/prompt_refs.py`, with the same wire format, which
6
+ * the transformer reads (`silver/prompt_refs.py`) to put the text back from the Prompt Vault when it
7
+ * stores the span:
8
+ *
9
+ * - The marker is `{{coalex.prompt.ref:<sha256>}}`, the SHA-256 of the prompt's UTF-8 text in hex.
10
+ * - `coalex.prompt.ref` is a JSON array, one entry per vault prompt the span references:
11
+ * `{"id", "version", "sha256", "attributes": {<attribute key>: <encoding>}}`. The encoding says how
12
+ * the text appeared in that attribute: `text` verbatim, `json` as a JSON string body (what
13
+ * `JSON.stringify` writes), `json_ascii` as one with every non-ASCII character escaped.
14
+ *
15
+ * A prompt is replaced only where its whole text appears and putting it back reproduces the
16
+ * attribute exactly; anything else (a prompt formatted with variables, edited at runtime, not from
17
+ * the vault, shorter than `MIN_PROMPT_CHARS`, or not well-formed UTF-16) is exported as it was.
18
+ */
19
+ export const REF_ATTRIBUTE = "coalex.prompt.ref";
20
+ export const MARKER_PREFIX = "{{coalex.prompt.ref:";
21
+ export const MARKER_SUFFIX = "}}";
22
+ export const ENCODINGS = ["text", "json", "json_ascii"];
23
+ /** Below this a reference saves little, and a short prompt is likelier to occur inside other text. */
24
+ export const MIN_PROMPT_CHARS = 256;
25
+ export const MAX_REMEMBERED_PROMPTS = 64;
26
+ const EXACT_KEYS = ["input.value", "gen_ai.input.messages", "gen_ai.system_instructions"];
27
+ const MESSAGE_PREFIX = "llm.input_messages.";
28
+ const MESSAGE_TEXT_SUFFIXES = [".message.content", ".message_content.text"];
29
+ /** Whether a vault prompt's text is looked for under `key`. */
30
+ export function isPromptBearing(key) {
31
+ return (EXACT_KEYS.includes(key) || (key.startsWith(MESSAGE_PREFIX) && MESSAGE_TEXT_SUFFIXES.some((s) => key.endsWith(s))));
32
+ }
33
+ export function contentSha256(content) {
34
+ return createHash("sha256").update(content, "utf8").digest("hex");
35
+ }
36
+ export function marker(sha256) {
37
+ return `${MARKER_PREFIX}${sha256}${MARKER_SUFFIX}`;
38
+ }
39
+ /** How `content` appears in an attribute under `encoding`. */
40
+ export function encode(content, encoding) {
41
+ if (encoding === "text")
42
+ return content;
43
+ const body = JSON.stringify(content).slice(1, -1);
44
+ if (encoding === "json")
45
+ return body;
46
+ return body.replace(/[\u0080-￿]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`);
47
+ }
48
+ /** Lone surrogates encode differently in each language, so a prompt holding one is never referenced. */
49
+ function isWellFormed(content) {
50
+ return !/[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/.test(content);
51
+ }
52
+ const remembered = new Map();
53
+ /** Make a prompt fetched from the vault replaceable on the spans that follow. */
54
+ export function rememberPrompt(id, version, content) {
55
+ if (content.length < MIN_PROMPT_CHARS || !isWellFormed(content))
56
+ return;
57
+ const sha256 = contentSha256(content);
58
+ remembered.delete(sha256);
59
+ remembered.set(sha256, { id: String(id), version, content, sha256 });
60
+ while (remembered.size > MAX_REMEMBERED_PROMPTS) {
61
+ const oldest = remembered.keys().next().value;
62
+ remembered.delete(oldest);
63
+ }
64
+ }
65
+ /** Forget every remembered prompt (tests). */
66
+ export function forgetAllPrompts() {
67
+ remembered.clear();
68
+ }
69
+ function snapshot() {
70
+ // Longest first, so a prompt that contains another is replaced whole.
71
+ return [...remembered.values()].sort((a, b) => b.content.length - a.content.length);
72
+ }
73
+ /** `value` with each marker put back as its prompt, as the transformer does. */
74
+ export function restore(value, uses) {
75
+ for (const [prompt, encoding] of uses) {
76
+ value = value.split(marker(prompt.sha256)).join(encode(prompt.content, encoding));
77
+ }
78
+ return value;
79
+ }
80
+ function referenceValue(value, prompts) {
81
+ const original = value;
82
+ const uses = [];
83
+ for (const prompt of prompts) {
84
+ for (const encoding of ENCODINGS) {
85
+ const encoded = encode(prompt.content, encoding);
86
+ if (value.includes(encoded)) {
87
+ value = value.split(encoded).join(marker(prompt.sha256));
88
+ uses.push([prompt, encoding]);
89
+ break;
90
+ }
91
+ }
92
+ }
93
+ if (uses.length === 0 || restore(value, uses) !== original)
94
+ return [original, []];
95
+ return [value, uses];
96
+ }
97
+ /** The attributes with each remembered prompt replaced by a reference, or undefined when none occurs. */
98
+ export function referencePrompts(attributes, prompts = snapshot()) {
99
+ if (prompts.length === 0 || REF_ATTRIBUTE in attributes)
100
+ return undefined;
101
+ const out = { ...attributes };
102
+ const used = new Map();
103
+ const bySha = new Map(prompts.map((p) => [p.sha256, p]));
104
+ for (const [key, value] of Object.entries(attributes)) {
105
+ if (typeof value !== "string" || !isPromptBearing(key))
106
+ continue;
107
+ const [replaced, uses] = referenceValue(value, prompts);
108
+ if (uses.length === 0)
109
+ continue;
110
+ out[key] = replaced;
111
+ for (const [prompt, encoding] of uses) {
112
+ const keys = used.get(prompt.sha256) ?? {};
113
+ keys[key] = encoding;
114
+ used.set(prompt.sha256, keys);
115
+ }
116
+ }
117
+ if (used.size === 0)
118
+ return undefined;
119
+ out[REF_ATTRIBUTE] = JSON.stringify([...used.keys()].sort().map((sha) => {
120
+ const prompt = bySha.get(sha);
121
+ const keys = used.get(sha);
122
+ const attributesSorted = Object.fromEntries(Object.keys(keys).sort().map((k) => [k, keys[k]]));
123
+ return { attributes: attributesSorted, id: prompt.id, sha256: sha, version: prompt.version };
124
+ }));
125
+ return out;
126
+ }
127
+ /**
128
+ * A view of `span` carrying `attributes`. The span itself is left as instrumented, so another
129
+ * exporter in the same process still receives the prompt text.
130
+ */
131
+ function withAttributes(span, attributes) {
132
+ const view = Object.create(span);
133
+ Object.defineProperty(view, "attributes", { value: attributes, enumerable: true });
134
+ return view;
135
+ }
136
+ /** Replaces the text of every remembered vault prompt with a reference, then delegates. */
137
+ export class PromptReferenceExporter {
138
+ wrappedExporter;
139
+ constructor(wrappedExporter) {
140
+ this.wrappedExporter = wrappedExporter;
141
+ }
142
+ export(spans, resultCallback) {
143
+ const prompts = snapshot();
144
+ if (prompts.length === 0) {
145
+ this.wrappedExporter.export(spans, resultCallback);
146
+ return;
147
+ }
148
+ const out = spans.map((span) => {
149
+ try {
150
+ const attrs = referencePrompts(span.attributes ?? {}, prompts);
151
+ return attrs ? withAttributes(span, attrs) : span;
152
+ }
153
+ catch {
154
+ // A span that cannot be referenced is sent as it was.
155
+ return span;
156
+ }
157
+ });
158
+ this.wrappedExporter.export(out, resultCallback);
159
+ }
160
+ shutdown() {
161
+ return this.wrappedExporter.shutdown();
162
+ }
163
+ forceFlush() {
164
+ return this.wrappedExporter.forceFlush?.() ?? Promise.resolve();
165
+ }
166
+ }
167
+ //# sourceMappingURL=prompt-refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-refs.js","sourceRoot":"","sources":["../src/prompt-refs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAcD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgDjF"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAMA,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAcD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAkDjF"}
package/dist/prompts.js CHANGED
@@ -2,6 +2,7 @@ import { trace } from "@opentelemetry/api";
2
2
  import { getConfig, getApiKey } from "./index.js";
3
3
  import { setLastPrompt } from "./context.js";
4
4
  import { coalexFetch, httpError, sdkHeaders } from "./http.js";
5
+ import { rememberPrompt } from "./prompt-refs.js";
5
6
  /**
6
7
  * The version keywords the Prompt Vault actually implements, and nothing else (COA-2363).
7
8
  *
@@ -47,7 +48,9 @@ export async function getPrompt(options) {
47
48
  const data = await resp.json();
48
49
  // Attribute subsequent spans to this prompt version (COA-368): store it as a fallback for
49
50
  // spans that start outside any invocation, and stamp the current span if one is recording.
51
+ // Remember the text too, so `register({ promptRefs: true })` can export it as a reference.
50
52
  setLastPrompt(data.version, data.prompt_type);
53
+ rememberPrompt(data.id, data.version, data.content);
51
54
  const active = trace.getActiveSpan();
52
55
  if (active?.isRecording()) {
53
56
  active.setAttribute("coalex.prompt_version", data.version);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAc/D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAa3E,sGAAsG;AACtG,SAAS,cAAc,CAAC,OAA8B;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACrF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAE,gBAAsC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,uCAAuC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB;QACxF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+DAA+D,CAChG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAyB;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;IAChE,MAAM,GAAG,GACP,GAAG,MAAM,CAAC,QAAQ,mBAAmB,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5G,YAAY,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAEpD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE;QACjD,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,GAQN,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAEtB,0FAA0F;IAC1F,2FAA2F;IAC3F,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACrC,IAAI,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,OAAO,EAAE,IAAI,CAAC,QAAQ;QACtB,yFAAyF;QACzF,yFAAyF;QACzF,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.6.2";
1
+ export declare const VERSION = "2.7.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // SDK version, sent in the X-SDK-Version header so the platform can see which
2
2
  // SDK releases customers run before removing a deprecated field (COA-261).
3
3
  // Keep in sync with package.json "version".
4
- export const VERSION = "2.6.2";
4
+ export const VERSION = "2.7.0";
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coalex-ai/sdk",
3
- "version": "2.6.2-beta.697",
3
+ "version": "2.7.0-beta.700",
4
4
  "description": "Coalex TypeScript SDK for AI governance observability",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -42,7 +42,7 @@
42
42
  "@opentelemetry/semantic-conventions": "^1.43.0"
43
43
  },
44
44
  "devDependencies": {
45
- "typescript": "~5.7.0",
45
+ "typescript": "5.7.3",
46
46
  "vitest": "^5.0.3",
47
47
  "eslint": "^10.12.0",
48
48
  "@eslint/js": "^10.0.0",