@aui-x/prism 0.0.1 → 0.0.2
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/{client-B9WXHjpz.cjs → client--PC-VXip.cjs} +52 -21
- package/dist/client--PC-VXip.cjs.map +1 -0
- package/dist/{client-BrZstMQX.d.ts → client-9E6ncwtH.d.ts} +11 -6
- package/dist/client-9E6ncwtH.d.ts.map +1 -0
- package/dist/{client-C7RiAn7a.js → client-B49Ds9fR.js} +52 -21
- package/dist/client-B49Ds9fR.js.map +1 -0
- package/dist/{client-BSsSpkZY.d.cts → client-BhQrlPEQ.d.cts} +11 -6
- package/dist/client-BhQrlPEQ.d.cts.map +1 -0
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/ai-sdk.cjs +1 -1
- package/dist/integrations/ai-sdk.d.cts +1 -1
- package/dist/integrations/ai-sdk.d.ts +1 -1
- package/dist/integrations/ai-sdk.js +1 -1
- package/dist/integrations/anthropic.cjs +11 -84
- package/dist/integrations/anthropic.cjs.map +1 -1
- package/dist/integrations/anthropic.d.cts +1 -1
- package/dist/integrations/anthropic.d.cts.map +1 -1
- package/dist/integrations/anthropic.d.ts +1 -1
- package/dist/integrations/anthropic.d.ts.map +1 -1
- package/dist/integrations/anthropic.js +5 -77
- package/dist/integrations/anthropic.js.map +1 -1
- package/dist/integrations/openai.cjs +13 -82
- package/dist/integrations/openai.cjs.map +1 -1
- package/dist/integrations/openai.d.cts +1 -1
- package/dist/integrations/openai.d.cts.map +1 -1
- package/dist/integrations/openai.d.ts +1 -1
- package/dist/integrations/openai.d.ts.map +1 -1
- package/dist/integrations/openai.js +6 -74
- package/dist/integrations/openai.js.map +1 -1
- package/dist/shared-BsY3-hy4.js +79 -0
- package/dist/shared-BsY3-hy4.js.map +1 -0
- package/dist/shared-Ch80RlSv.cjs +109 -0
- package/dist/shared-Ch80RlSv.cjs.map +1 -0
- package/dist/{wrapper-ByspXfxS.cjs → wrapper-C9LHP_r5.cjs} +14 -84
- package/dist/wrapper-C9LHP_r5.cjs.map +1 -0
- package/dist/{wrapper-7jRyp54U.js → wrapper-R8mpaNge.js} +6 -76
- package/dist/wrapper-R8mpaNge.js.map +1 -0
- package/package.json +1 -1
- package/dist/client-B9WXHjpz.cjs.map +0 -1
- package/dist/client-BSsSpkZY.d.cts.map +0 -1
- package/dist/client-BrZstMQX.d.ts.map +0 -1
- package/dist/client-C7RiAn7a.js.map +0 -1
- package/dist/wrapper-7jRyp54U.js.map +0 -1
- package/dist/wrapper-ByspXfxS.cjs.map +0 -1
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
|
|
2
2
|
//#region src/utils.ts
|
|
3
3
|
const CHARS = "0123456789abcdefghjkmnpqrstvwxyz";
|
|
4
|
-
function
|
|
4
|
+
function generateId() {
|
|
5
5
|
const ts = Date.now().toString(36);
|
|
6
6
|
let rand = "";
|
|
7
|
-
|
|
7
|
+
const bytes = new Uint8Array(16);
|
|
8
|
+
try {
|
|
9
|
+
crypto.getRandomValues(bytes);
|
|
10
|
+
} catch {
|
|
11
|
+
for (let i = 0; i < 16; i++) bytes[i] = Math.floor(Math.random() * 256);
|
|
12
|
+
}
|
|
13
|
+
for (let i = 0; i < 16; i++) rand += CHARS[bytes[i] % 32];
|
|
8
14
|
return ts + rand;
|
|
9
15
|
}
|
|
10
16
|
function nowISO() {
|
|
@@ -15,10 +21,19 @@ function nowISO() {
|
|
|
15
21
|
//#region src/client.ts
|
|
16
22
|
const FLUSH_INTERVAL_MS = 1e3;
|
|
17
23
|
const FLUSH_BATCH_SIZE = 10;
|
|
24
|
+
const MAX_BUFFER = 1e3;
|
|
25
|
+
const SDK_VERSION = "0.0.1";
|
|
26
|
+
function normalizeModel(model) {
|
|
27
|
+
return model?.trim();
|
|
28
|
+
}
|
|
29
|
+
function normalizeProvider(provider) {
|
|
30
|
+
return provider?.trim().toLowerCase();
|
|
31
|
+
}
|
|
18
32
|
var AuixPrism = class {
|
|
19
33
|
constructor(config) {
|
|
20
34
|
this.events = [];
|
|
21
35
|
this._flushChain = Promise.resolve();
|
|
36
|
+
this.destroyed = false;
|
|
22
37
|
this.apiKey = config.apiKey;
|
|
23
38
|
this.baseUrl = config.baseUrl ?? "https://api.auix.dev";
|
|
24
39
|
this.project = config.project;
|
|
@@ -28,6 +43,10 @@ var AuixPrism = class {
|
|
|
28
43
|
this.timer = setInterval(() => this.flush(), FLUSH_INTERVAL_MS);
|
|
29
44
|
}
|
|
30
45
|
enqueue(event) {
|
|
46
|
+
if (this.destroyed) {
|
|
47
|
+
console.warn("[@auix/prism] enqueue called after destroy");
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
31
50
|
this.events.push(event);
|
|
32
51
|
if (this.events.length >= FLUSH_BATCH_SIZE) this.flush();
|
|
33
52
|
}
|
|
@@ -42,25 +61,32 @@ var AuixPrism = class {
|
|
|
42
61
|
"Content-Type": "application/json",
|
|
43
62
|
Authorization: `Bearer ${this.apiKey}`
|
|
44
63
|
},
|
|
45
|
-
body: JSON.stringify({
|
|
64
|
+
body: JSON.stringify({
|
|
65
|
+
v: 1,
|
|
66
|
+
sdk: SDK_VERSION,
|
|
67
|
+
events: batch
|
|
68
|
+
})
|
|
46
69
|
}).then(() => {});
|
|
47
70
|
};
|
|
48
71
|
this._flushChain = this._flushChain.then(() => send().catch(() => send().catch((err) => {
|
|
49
72
|
console.warn("[@auix/prism] flush failed after retry", err);
|
|
50
|
-
this.
|
|
73
|
+
this.events.unshift(...batch);
|
|
74
|
+
if (this.events.length > MAX_BUFFER) this.events.length = MAX_BUFFER;
|
|
75
|
+
this.onFlushError?.(err, batch);
|
|
51
76
|
})));
|
|
52
77
|
return this._flushChain;
|
|
53
78
|
}
|
|
54
79
|
startTrace(opts) {
|
|
55
|
-
const traceId =
|
|
80
|
+
const traceId = generateId();
|
|
56
81
|
const startedAt = nowISO();
|
|
57
82
|
this.enqueue({
|
|
83
|
+
v: 1,
|
|
58
84
|
type: "trace.start",
|
|
59
85
|
traceId,
|
|
60
86
|
name: opts.name,
|
|
61
87
|
input: opts.input,
|
|
62
|
-
model: opts.model,
|
|
63
|
-
provider: opts.provider,
|
|
88
|
+
model: normalizeModel(opts.model),
|
|
89
|
+
provider: normalizeProvider(opts.provider),
|
|
64
90
|
endUserId: opts.endUserId,
|
|
65
91
|
metadata: opts.metadata,
|
|
66
92
|
tags: opts.tags,
|
|
@@ -68,12 +94,13 @@ var AuixPrism = class {
|
|
|
68
94
|
sessionId: this.sessionId,
|
|
69
95
|
startedAt
|
|
70
96
|
});
|
|
71
|
-
return new TraceHandle(this, traceId
|
|
97
|
+
return new TraceHandle(this, traceId);
|
|
72
98
|
}
|
|
73
99
|
startSpanOnTrace(traceId, opts) {
|
|
74
|
-
const spanId =
|
|
100
|
+
const spanId = generateId();
|
|
75
101
|
const startedAt = nowISO();
|
|
76
102
|
this.enqueue({
|
|
103
|
+
v: 1,
|
|
77
104
|
type: "span.start",
|
|
78
105
|
traceId,
|
|
79
106
|
spanId,
|
|
@@ -81,12 +108,12 @@ var AuixPrism = class {
|
|
|
81
108
|
name: opts.name,
|
|
82
109
|
spanType: opts.type,
|
|
83
110
|
input: opts.input,
|
|
84
|
-
model: opts.model,
|
|
85
|
-
provider: opts.provider,
|
|
111
|
+
model: normalizeModel(opts.model),
|
|
112
|
+
provider: normalizeProvider(opts.provider),
|
|
86
113
|
metadata: opts.metadata,
|
|
87
114
|
startedAt
|
|
88
115
|
});
|
|
89
|
-
return new SpanHandle(this, traceId, spanId
|
|
116
|
+
return new SpanHandle(this, traceId, spanId);
|
|
90
117
|
}
|
|
91
118
|
trace(opts) {
|
|
92
119
|
const traceHandle = this.startTrace(opts);
|
|
@@ -100,20 +127,22 @@ var AuixPrism = class {
|
|
|
100
127
|
};
|
|
101
128
|
}
|
|
102
129
|
destroy() {
|
|
130
|
+
this.destroyed = true;
|
|
103
131
|
clearInterval(this.timer);
|
|
104
132
|
return this.flush();
|
|
105
133
|
}
|
|
106
134
|
};
|
|
107
135
|
var TraceHandle = class {
|
|
108
|
-
constructor(tracer, traceId
|
|
136
|
+
constructor(tracer, traceId) {
|
|
109
137
|
this.tracer = tracer;
|
|
110
138
|
this.traceId = traceId;
|
|
111
|
-
this.
|
|
139
|
+
this.startMs = Date.now();
|
|
112
140
|
}
|
|
113
141
|
startSpan(opts) {
|
|
114
|
-
const spanId =
|
|
142
|
+
const spanId = generateId();
|
|
115
143
|
const startedAt = nowISO();
|
|
116
144
|
this.tracer.enqueue({
|
|
145
|
+
v: 1,
|
|
117
146
|
type: "span.start",
|
|
118
147
|
traceId: this.traceId,
|
|
119
148
|
spanId,
|
|
@@ -123,12 +152,13 @@ var TraceHandle = class {
|
|
|
123
152
|
model: opts.model,
|
|
124
153
|
startedAt
|
|
125
154
|
});
|
|
126
|
-
return new SpanHandle(this.tracer, this.traceId, spanId
|
|
155
|
+
return new SpanHandle(this.tracer, this.traceId, spanId);
|
|
127
156
|
}
|
|
128
157
|
end(opts) {
|
|
129
158
|
const endedAt = nowISO();
|
|
130
|
-
const latencyMs =
|
|
159
|
+
const latencyMs = Date.now() - this.startMs;
|
|
131
160
|
this.tracer.enqueue({
|
|
161
|
+
v: 1,
|
|
132
162
|
type: "trace.end",
|
|
133
163
|
traceId: this.traceId,
|
|
134
164
|
output: opts?.output,
|
|
@@ -144,16 +174,17 @@ var TraceHandle = class {
|
|
|
144
174
|
}
|
|
145
175
|
};
|
|
146
176
|
var SpanHandle = class {
|
|
147
|
-
constructor(tracer, traceId, spanId
|
|
177
|
+
constructor(tracer, traceId, spanId) {
|
|
148
178
|
this.tracer = tracer;
|
|
149
179
|
this.traceId = traceId;
|
|
150
180
|
this.spanId = spanId;
|
|
151
|
-
this.
|
|
181
|
+
this.startMs = Date.now();
|
|
152
182
|
}
|
|
153
183
|
end(opts) {
|
|
154
184
|
const endedAt = nowISO();
|
|
155
|
-
const latencyMs =
|
|
185
|
+
const latencyMs = Date.now() - this.startMs;
|
|
156
186
|
this.tracer.enqueue({
|
|
187
|
+
v: 1,
|
|
157
188
|
type: "span.end",
|
|
158
189
|
traceId: this.traceId,
|
|
159
190
|
spanId: this.spanId,
|
|
@@ -189,4 +220,4 @@ Object.defineProperty(exports, 'TraceHandle', {
|
|
|
189
220
|
return TraceHandle;
|
|
190
221
|
}
|
|
191
222
|
});
|
|
192
|
-
//# sourceMappingURL=client-
|
|
223
|
+
//# sourceMappingURL=client--PC-VXip.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client--PC-VXip.cjs","names":[],"sources":["../src/utils.ts","../src/client.ts"],"sourcesContent":["const CHARS = \"0123456789abcdefghjkmnpqrstvwxyz\";\n\nexport function generateId(): string {\n const ts = Date.now().toString(36);\n let rand = \"\";\n const bytes = new Uint8Array(16);\n try {\n crypto.getRandomValues(bytes);\n } catch {\n for (let i = 0; i < 16; i++) {\n bytes[i] = Math.floor(Math.random() * 256);\n }\n }\n for (let i = 0; i < 16; i++) {\n rand += CHARS[bytes[i] % CHARS.length];\n }\n return ts + rand;\n}\n\nexport function nowISO(): string {\n return new Date().toISOString();\n}\n","import type {\n AuixPrismConfig,\n TraceEndOptions,\n TraceEvent,\n TraceOptions,\n TraceResult,\n} from \"./types\";\nimport { generateId, nowISO } from \"./utils\";\n\nconst FLUSH_INTERVAL_MS = 1000;\nconst FLUSH_BATCH_SIZE = 10;\nconst MAX_BUFFER = 1000;\nconst SDK_VERSION = \"0.0.1\";\n\nfunction normalizeModel(model?: string): string | undefined {\n return model?.trim();\n}\n\nfunction normalizeProvider(provider?: string): string | undefined {\n return provider?.trim().toLowerCase();\n}\n\nexport class AuixPrism {\n private apiKey: string;\n private baseUrl: string;\n private project?: string;\n private sessionId?: string;\n private transport?: (events: TraceEvent[]) => Promise<void>;\n private onFlushError?: (error: unknown, events: TraceEvent[]) => void;\n private events: TraceEvent[] = [];\n private timer: ReturnType<typeof setInterval>;\n private _flushChain: Promise<void> = Promise.resolve();\n private destroyed = false;\n\n constructor(config: AuixPrismConfig) {\n this.apiKey = config.apiKey;\n this.baseUrl = config.baseUrl ?? \"https://api.auix.dev\";\n this.project = config.project;\n this.sessionId = config.sessionId;\n this.transport = config.transport;\n this.onFlushError = config.onFlushError;\n this.timer = setInterval(() => this.flush(), FLUSH_INTERVAL_MS);\n }\n\n enqueue(event: TraceEvent): void {\n if (this.destroyed) {\n console.warn(\"[@auix/prism] enqueue called after destroy\");\n return;\n }\n this.events.push(event);\n if (this.events.length >= FLUSH_BATCH_SIZE) {\n this.flush();\n }\n }\n\n flush(): Promise<void> {\n if (this.events.length === 0) return this._flushChain;\n\n const batch = this.events.splice(0);\n const send = () => {\n if (this.transport) return this.transport(batch);\n return fetch(`${this.baseUrl}/v1/prism/ingest`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.apiKey}`,\n },\n body: JSON.stringify({\n v: 1,\n sdk: SDK_VERSION,\n events: batch,\n }),\n }).then(() => {});\n };\n\n this._flushChain = this._flushChain.then(() =>\n send().catch(() =>\n send().catch((err) => {\n console.warn(\"[@auix/prism] flush failed after retry\", err);\n this.events.unshift(...batch);\n if (this.events.length > MAX_BUFFER) {\n this.events.length = MAX_BUFFER;\n }\n this.onFlushError?.(err, batch);\n }),\n ),\n );\n return this._flushChain;\n }\n\n startTrace(opts: {\n name?: string;\n input?: unknown;\n model?: string;\n provider?: string;\n endUserId?: string;\n metadata?: Record<string, unknown>;\n tags?: string[];\n }): TraceHandle {\n const traceId = generateId();\n const startedAt = nowISO();\n\n this.enqueue({\n v: 1,\n type: \"trace.start\",\n traceId,\n name: opts.name,\n input: opts.input,\n model: normalizeModel(opts.model),\n provider: normalizeProvider(opts.provider),\n endUserId: opts.endUserId,\n metadata: opts.metadata,\n tags: opts.tags,\n project: this.project,\n sessionId: this.sessionId,\n startedAt,\n });\n\n return new TraceHandle(this, traceId);\n }\n\n startSpanOnTrace(\n traceId: string,\n opts: {\n name: string;\n type: \"llm\" | \"tool\" | \"retrieval\" | \"custom\";\n input?: unknown;\n model?: string;\n provider?: string;\n parentSpanId?: string;\n metadata?: Record<string, unknown>;\n },\n ): SpanHandle {\n const spanId = generateId();\n const startedAt = nowISO();\n\n this.enqueue({\n v: 1,\n type: \"span.start\",\n traceId,\n spanId,\n parentSpanId: opts.parentSpanId,\n name: opts.name,\n spanType: opts.type,\n input: opts.input,\n model: normalizeModel(opts.model),\n provider: normalizeProvider(opts.provider),\n metadata: opts.metadata,\n startedAt,\n });\n\n return new SpanHandle(this, traceId, spanId);\n }\n\n trace(opts: TraceOptions): TraceResult {\n const traceHandle = this.startTrace(opts);\n const finish = async (endOpts?: TraceEndOptions) => {\n traceHandle.end(endOpts);\n await this.destroy();\n };\n return { trace: traceHandle, finish };\n }\n\n destroy(): Promise<void> {\n this.destroyed = true;\n clearInterval(this.timer);\n return this.flush();\n }\n}\n\nexport class TraceHandle {\n private startMs = Date.now();\n\n constructor(\n private tracer: AuixPrism,\n readonly traceId: string,\n ) {}\n\n startSpan(opts: {\n name: string;\n type: \"llm\" | \"tool\" | \"retrieval\" | \"custom\";\n input?: unknown;\n model?: string;\n }): SpanHandle {\n const spanId = generateId();\n const startedAt = nowISO();\n\n this.tracer.enqueue({\n v: 1,\n type: \"span.start\",\n traceId: this.traceId,\n spanId,\n name: opts.name,\n spanType: opts.type,\n input: opts.input,\n model: opts.model,\n startedAt,\n });\n\n return new SpanHandle(this.tracer, this.traceId, spanId);\n }\n\n end(opts?: {\n output?: unknown;\n status?: \"completed\" | \"error\";\n error?: string;\n totalTokens?: number;\n promptTokens?: number;\n completionTokens?: number;\n ttftMs?: number;\n }): void {\n const endedAt = nowISO();\n const latencyMs = Date.now() - this.startMs;\n\n this.tracer.enqueue({\n v: 1,\n type: \"trace.end\",\n traceId: this.traceId,\n output: opts?.output,\n status: opts?.status ?? \"completed\",\n error: opts?.error,\n totalTokens: opts?.totalTokens,\n promptTokens: opts?.promptTokens,\n completionTokens: opts?.completionTokens,\n ttftMs: opts?.ttftMs,\n latencyMs,\n endedAt,\n });\n }\n}\n\nexport class SpanHandle {\n private startMs = Date.now();\n\n constructor(\n private tracer: AuixPrism,\n private traceId: string,\n readonly spanId: string,\n ) {}\n\n end(opts?: {\n output?: unknown;\n status?: \"completed\" | \"error\";\n error?: string;\n totalTokens?: number;\n promptTokens?: number;\n completionTokens?: number;\n ttftMs?: number;\n }): void {\n const endedAt = nowISO();\n const latencyMs = Date.now() - this.startMs;\n\n this.tracer.enqueue({\n v: 1,\n type: \"span.end\",\n traceId: this.traceId,\n spanId: this.spanId,\n output: opts?.output,\n status: opts?.status ?? \"completed\",\n error: opts?.error,\n totalTokens: opts?.totalTokens,\n promptTokens: opts?.promptTokens,\n completionTokens: opts?.completionTokens,\n ttftMs: opts?.ttftMs,\n latencyMs,\n endedAt,\n });\n }\n}\n"],"mappings":";;AAAA,MAAM,QAAQ;AAEd,SAAgB,aAAqB;CACnC,MAAM,KAAK,KAAK,KAAK,CAAC,SAAS,GAAG;CAClC,IAAI,OAAO;CACX,MAAM,QAAQ,IAAI,WAAW,GAAG;AAChC,KAAI;AACF,SAAO,gBAAgB,MAAM;SACvB;AACN,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,OAAM,KAAK,KAAK,MAAM,KAAK,QAAQ,GAAG,IAAI;;AAG9C,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,SAAQ,MAAM,MAAM,KAAK;AAE3B,QAAO,KAAK;;AAGd,SAAgB,SAAiB;AAC/B,yBAAO,IAAI,MAAM,EAAC,aAAa;;;;;ACXjC,MAAM,oBAAoB;AAC1B,MAAM,mBAAmB;AACzB,MAAM,aAAa;AACnB,MAAM,cAAc;AAEpB,SAAS,eAAe,OAAoC;AAC1D,QAAO,OAAO,MAAM;;AAGtB,SAAS,kBAAkB,UAAuC;AAChE,QAAO,UAAU,MAAM,CAAC,aAAa;;AAGvC,IAAa,YAAb,MAAuB;CAYrB,YAAY,QAAyB;gBALN,EAAE;qBAEI,QAAQ,SAAS;mBAClC;AAGlB,OAAK,SAAS,OAAO;AACrB,OAAK,UAAU,OAAO,WAAW;AACjC,OAAK,UAAU,OAAO;AACtB,OAAK,YAAY,OAAO;AACxB,OAAK,YAAY,OAAO;AACxB,OAAK,eAAe,OAAO;AAC3B,OAAK,QAAQ,kBAAkB,KAAK,OAAO,EAAE,kBAAkB;;CAGjE,QAAQ,OAAyB;AAC/B,MAAI,KAAK,WAAW;AAClB,WAAQ,KAAK,6CAA6C;AAC1D;;AAEF,OAAK,OAAO,KAAK,MAAM;AACvB,MAAI,KAAK,OAAO,UAAU,iBACxB,MAAK,OAAO;;CAIhB,QAAuB;AACrB,MAAI,KAAK,OAAO,WAAW,EAAG,QAAO,KAAK;EAE1C,MAAM,QAAQ,KAAK,OAAO,OAAO,EAAE;EACnC,MAAM,aAAa;AACjB,OAAI,KAAK,UAAW,QAAO,KAAK,UAAU,MAAM;AAChD,UAAO,MAAM,GAAG,KAAK,QAAQ,mBAAmB;IAC9C,QAAQ;IACR,SAAS;KACP,gBAAgB;KAChB,eAAe,UAAU,KAAK;KAC/B;IACD,MAAM,KAAK,UAAU;KACnB,GAAG;KACH,KAAK;KACL,QAAQ;KACT,CAAC;IACH,CAAC,CAAC,WAAW,GAAG;;AAGnB,OAAK,cAAc,KAAK,YAAY,WAClC,MAAM,CAAC,YACL,MAAM,CAAC,OAAO,QAAQ;AACpB,WAAQ,KAAK,0CAA0C,IAAI;AAC3D,QAAK,OAAO,QAAQ,GAAG,MAAM;AAC7B,OAAI,KAAK,OAAO,SAAS,WACvB,MAAK,OAAO,SAAS;AAEvB,QAAK,eAAe,KAAK,MAAM;IAC/B,CACH,CACF;AACD,SAAO,KAAK;;CAGd,WAAW,MAQK;EACd,MAAM,UAAU,YAAY;EAC5B,MAAM,YAAY,QAAQ;AAE1B,OAAK,QAAQ;GACX,GAAG;GACH,MAAM;GACN;GACA,MAAM,KAAK;GACX,OAAO,KAAK;GACZ,OAAO,eAAe,KAAK,MAAM;GACjC,UAAU,kBAAkB,KAAK,SAAS;GAC1C,WAAW,KAAK;GAChB,UAAU,KAAK;GACf,MAAM,KAAK;GACX,SAAS,KAAK;GACd,WAAW,KAAK;GAChB;GACD,CAAC;AAEF,SAAO,IAAI,YAAY,MAAM,QAAQ;;CAGvC,iBACE,SACA,MASY;EACZ,MAAM,SAAS,YAAY;EAC3B,MAAM,YAAY,QAAQ;AAE1B,OAAK,QAAQ;GACX,GAAG;GACH,MAAM;GACN;GACA;GACA,cAAc,KAAK;GACnB,MAAM,KAAK;GACX,UAAU,KAAK;GACf,OAAO,KAAK;GACZ,OAAO,eAAe,KAAK,MAAM;GACjC,UAAU,kBAAkB,KAAK,SAAS;GAC1C,UAAU,KAAK;GACf;GACD,CAAC;AAEF,SAAO,IAAI,WAAW,MAAM,SAAS,OAAO;;CAG9C,MAAM,MAAiC;EACrC,MAAM,cAAc,KAAK,WAAW,KAAK;EACzC,MAAM,SAAS,OAAO,YAA8B;AAClD,eAAY,IAAI,QAAQ;AACxB,SAAM,KAAK,SAAS;;AAEtB,SAAO;GAAE,OAAO;GAAa;GAAQ;;CAGvC,UAAyB;AACvB,OAAK,YAAY;AACjB,gBAAc,KAAK,MAAM;AACzB,SAAO,KAAK,OAAO;;;AAIvB,IAAa,cAAb,MAAyB;CAGvB,YACE,AAAQ,QACR,AAAS,SACT;EAFQ;EACC;iBAJO,KAAK,KAAK;;CAO5B,UAAU,MAKK;EACb,MAAM,SAAS,YAAY;EAC3B,MAAM,YAAY,QAAQ;AAE1B,OAAK,OAAO,QAAQ;GAClB,GAAG;GACH,MAAM;GACN,SAAS,KAAK;GACd;GACA,MAAM,KAAK;GACX,UAAU,KAAK;GACf,OAAO,KAAK;GACZ,OAAO,KAAK;GACZ;GACD,CAAC;AAEF,SAAO,IAAI,WAAW,KAAK,QAAQ,KAAK,SAAS,OAAO;;CAG1D,IAAI,MAQK;EACP,MAAM,UAAU,QAAQ;EACxB,MAAM,YAAY,KAAK,KAAK,GAAG,KAAK;AAEpC,OAAK,OAAO,QAAQ;GAClB,GAAG;GACH,MAAM;GACN,SAAS,KAAK;GACd,QAAQ,MAAM;GACd,QAAQ,MAAM,UAAU;GACxB,OAAO,MAAM;GACb,aAAa,MAAM;GACnB,cAAc,MAAM;GACpB,kBAAkB,MAAM;GACxB,QAAQ,MAAM;GACd;GACA;GACD,CAAC;;;AAIN,IAAa,aAAb,MAAwB;CAGtB,YACE,AAAQ,QACR,AAAQ,SACR,AAAS,QACT;EAHQ;EACA;EACC;iBALO,KAAK,KAAK;;CAQ5B,IAAI,MAQK;EACP,MAAM,UAAU,QAAQ;EACxB,MAAM,YAAY,KAAK,KAAK,GAAG,KAAK;AAEpC,OAAK,OAAO,QAAQ;GAClB,GAAG;GACH,MAAM;GACN,SAAS,KAAK;GACd,QAAQ,KAAK;GACb,QAAQ,MAAM;GACd,QAAQ,MAAM,UAAU;GACxB,OAAO,MAAM;GACb,aAAa,MAAM;GACnB,cAAc,MAAM;GACpB,kBAAkB,MAAM;GACxB,QAAQ,MAAM;GACd;GACA;GACD,CAAC"}
|
|
@@ -7,7 +7,7 @@ interface AuixPrismConfig {
|
|
|
7
7
|
/** Custom transport — bypasses HTTP when provided. */
|
|
8
8
|
transport?: (events: TraceEvent[]) => Promise<void>;
|
|
9
9
|
/** Called when a flush fails after retry. */
|
|
10
|
-
onFlushError?: (error: unknown) => void;
|
|
10
|
+
onFlushError?: (error: unknown, events: TraceEvent[]) => void;
|
|
11
11
|
}
|
|
12
12
|
interface TraceOptions {
|
|
13
13
|
name: string;
|
|
@@ -29,6 +29,7 @@ interface TraceEndOptions {
|
|
|
29
29
|
completionTokens?: number;
|
|
30
30
|
}
|
|
31
31
|
type TraceEvent = {
|
|
32
|
+
v: 1;
|
|
32
33
|
type: "trace.start";
|
|
33
34
|
traceId: string;
|
|
34
35
|
name?: string;
|
|
@@ -42,6 +43,7 @@ type TraceEvent = {
|
|
|
42
43
|
sessionId?: string;
|
|
43
44
|
startedAt: string;
|
|
44
45
|
} | {
|
|
46
|
+
v: 1;
|
|
45
47
|
type: "trace.end";
|
|
46
48
|
traceId: string;
|
|
47
49
|
output?: unknown;
|
|
@@ -54,6 +56,7 @@ type TraceEvent = {
|
|
|
54
56
|
latencyMs?: number;
|
|
55
57
|
endedAt: string;
|
|
56
58
|
} | {
|
|
59
|
+
v: 1;
|
|
57
60
|
type: "span.start";
|
|
58
61
|
traceId: string;
|
|
59
62
|
spanId: string;
|
|
@@ -66,6 +69,7 @@ type TraceEvent = {
|
|
|
66
69
|
metadata?: Record<string, unknown>;
|
|
67
70
|
startedAt: string;
|
|
68
71
|
} | {
|
|
72
|
+
v: 1;
|
|
69
73
|
type: "span.end";
|
|
70
74
|
traceId: string;
|
|
71
75
|
spanId: string;
|
|
@@ -91,6 +95,7 @@ declare class AuixPrism {
|
|
|
91
95
|
private events;
|
|
92
96
|
private timer;
|
|
93
97
|
private _flushChain;
|
|
98
|
+
private destroyed;
|
|
94
99
|
constructor(config: AuixPrismConfig);
|
|
95
100
|
enqueue(event: TraceEvent): void;
|
|
96
101
|
flush(): Promise<void>;
|
|
@@ -118,8 +123,8 @@ declare class AuixPrism {
|
|
|
118
123
|
declare class TraceHandle {
|
|
119
124
|
private tracer;
|
|
120
125
|
readonly traceId: string;
|
|
121
|
-
private
|
|
122
|
-
constructor(tracer: AuixPrism, traceId: string
|
|
126
|
+
private startMs;
|
|
127
|
+
constructor(tracer: AuixPrism, traceId: string);
|
|
123
128
|
startSpan(opts: {
|
|
124
129
|
name: string;
|
|
125
130
|
type: "llm" | "tool" | "retrieval" | "custom";
|
|
@@ -140,8 +145,8 @@ declare class SpanHandle {
|
|
|
140
145
|
private tracer;
|
|
141
146
|
private traceId;
|
|
142
147
|
readonly spanId: string;
|
|
143
|
-
private
|
|
144
|
-
constructor(tracer: AuixPrism, traceId: string, spanId: string
|
|
148
|
+
private startMs;
|
|
149
|
+
constructor(tracer: AuixPrism, traceId: string, spanId: string);
|
|
145
150
|
end(opts?: {
|
|
146
151
|
output?: unknown;
|
|
147
152
|
status?: "completed" | "error";
|
|
@@ -154,4 +159,4 @@ declare class SpanHandle {
|
|
|
154
159
|
}
|
|
155
160
|
//#endregion
|
|
156
161
|
export { TraceEndOptions as a, TraceResult as c, AuixPrismConfig as i, SpanHandle as n, TraceEvent as o, TraceHandle as r, TraceOptions as s, AuixPrism as t };
|
|
157
|
-
//# sourceMappingURL=client-
|
|
162
|
+
//# sourceMappingURL=client-9E6ncwtH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-9E6ncwtH.d.ts","names":[],"sources":["../src/types.ts","../src/client.ts"],"mappings":";UAAiB,eAAA;EACf,MAAA;EACA,OAAA;EACA,OAAA;EACA,SAAA;EAEsC;EAAtC,SAAA,IAAa,MAAA,EAAQ,UAAA,OAAiB,OAAA;EAEY;EAAlD,YAAA,IAAgB,KAAA,WAAgB,MAAA,EAAQ,UAAA;AAAA;AAAA,UAGzB,YAAA;EACf,IAAA;EACA,KAAA;EACA,QAAA;EACA,SAAA;EACA,IAAA;EACA,QAAA,GAAW,MAAA;AAAA;AAAA,UAGI,WAAA;EACf,KAAA,EAD0B,WAAA;EAE1B,MAAA,GAAS,IAAA,GAAO,eAAA,KAAoB,OAAA;AAAA;AAAA,UAGrB,eAAA;EACf,MAAA;EACA,MAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;AAAA;AAAA,KAGU,UAAA;EAEN,CAAA;EACA,IAAA;EACA,OAAA;EACA,IAAA;EACA,KAAA;EACA,KAAA;EACA,QAAA;EACA,SAAA;EACA,QAAA,GAAW,MAAA;EACX,IAAA;EACA,OAAA;EACA,SAAA;EACA,SAAA;AAAA;EAGA,CAAA;EACA,IAAA;EACA,OAAA;EACA,MAAA;EACA,MAAA;EACA,KAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;AAAA;EAGA,CAAA;EACA,IAAA;EACA,OAAA;EACA,MAAA;EACA,YAAA;EACA,IAAA;EACA,QAAA;EACA,KAAA;EACA,KAAA;EACA,QAAA;EACA,QAAA,GAAW,MAAA;EACX,SAAA;AAAA;EAGA,CAAA;EACA,IAAA;EACA,OAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,KAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;AAAA;;;cCpEO,SAAA;EAAA,QACH,MAAA;EAAA,QACA,OAAA;EAAA,QACA,OAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,YAAA;EAAA,QACA,MAAA;EAAA,QACA,KAAA;EAAA,QACA,WAAA;EAAA,QACA,SAAA;cAEI,MAAA,EAAQ,eAAA;EAUpB,OAAA,CAAQ,KAAA,EAAO,UAAA;EAWf,KAAA,CAAA,GAAS,OAAA;EAmCT,UAAA,CAAW,IAAA;IACT,IAAA;IACA,KAAA;IACA,KAAA;IACA,QAAA;IACA,SAAA;IACA,QAAA,GAAW,MAAA;IACX,IAAA;EAAA,IACE,WAAA;EAuBJ,gBAAA,CACE,OAAA,UACA,IAAA;IACE,IAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;IACA,QAAA;IACA,YAAA;IACA,QAAA,GAAW,MAAA;EAAA,IAEZ,UAAA;EAsBH,KAAA,CAAM,IAAA,EAAM,YAAA,GAAe,WAAA;EAS3B,OAAA,CAAA,GAAW,OAAA;AAAA;AAAA,cAOA,WAAA;EAAA,QAID,MAAA;EAAA,SACC,OAAA;EAAA,QAJH,OAAA;cAGE,MAAA,EAAQ,SAAA,EACP,OAAA;EAGX,SAAA,CAAU,IAAA;IACR,IAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA,IACE,UAAA;EAmBJ,GAAA,CAAI,IAAA;IACF,MAAA;IACA,MAAA;IACA,KAAA;IACA,WAAA;IACA,YAAA;IACA,gBAAA;IACA,MAAA;EAAA;AAAA;AAAA,cAsBS,UAAA;EAAA,QAID,MAAA;EAAA,QACA,OAAA;EAAA,SACC,MAAA;EAAA,QALH,OAAA;cAGE,MAAA,EAAQ,SAAA,EACR,OAAA,UACC,MAAA;EAGX,GAAA,CAAI,IAAA;IACF,MAAA;IACA,MAAA;IACA,KAAA;IACA,WAAA;IACA,YAAA;IACA,gBAAA;IACA,MAAA;EAAA;AAAA"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
//#region src/utils.ts
|
|
2
2
|
const CHARS = "0123456789abcdefghjkmnpqrstvwxyz";
|
|
3
|
-
function
|
|
3
|
+
function generateId() {
|
|
4
4
|
const ts = Date.now().toString(36);
|
|
5
5
|
let rand = "";
|
|
6
|
-
|
|
6
|
+
const bytes = new Uint8Array(16);
|
|
7
|
+
try {
|
|
8
|
+
crypto.getRandomValues(bytes);
|
|
9
|
+
} catch {
|
|
10
|
+
for (let i = 0; i < 16; i++) bytes[i] = Math.floor(Math.random() * 256);
|
|
11
|
+
}
|
|
12
|
+
for (let i = 0; i < 16; i++) rand += CHARS[bytes[i] % 32];
|
|
7
13
|
return ts + rand;
|
|
8
14
|
}
|
|
9
15
|
function nowISO() {
|
|
@@ -14,10 +20,19 @@ function nowISO() {
|
|
|
14
20
|
//#region src/client.ts
|
|
15
21
|
const FLUSH_INTERVAL_MS = 1e3;
|
|
16
22
|
const FLUSH_BATCH_SIZE = 10;
|
|
23
|
+
const MAX_BUFFER = 1e3;
|
|
24
|
+
const SDK_VERSION = "0.0.1";
|
|
25
|
+
function normalizeModel(model) {
|
|
26
|
+
return model?.trim();
|
|
27
|
+
}
|
|
28
|
+
function normalizeProvider(provider) {
|
|
29
|
+
return provider?.trim().toLowerCase();
|
|
30
|
+
}
|
|
17
31
|
var AuixPrism = class {
|
|
18
32
|
constructor(config) {
|
|
19
33
|
this.events = [];
|
|
20
34
|
this._flushChain = Promise.resolve();
|
|
35
|
+
this.destroyed = false;
|
|
21
36
|
this.apiKey = config.apiKey;
|
|
22
37
|
this.baseUrl = config.baseUrl ?? "https://api.auix.dev";
|
|
23
38
|
this.project = config.project;
|
|
@@ -27,6 +42,10 @@ var AuixPrism = class {
|
|
|
27
42
|
this.timer = setInterval(() => this.flush(), FLUSH_INTERVAL_MS);
|
|
28
43
|
}
|
|
29
44
|
enqueue(event) {
|
|
45
|
+
if (this.destroyed) {
|
|
46
|
+
console.warn("[@auix/prism] enqueue called after destroy");
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
30
49
|
this.events.push(event);
|
|
31
50
|
if (this.events.length >= FLUSH_BATCH_SIZE) this.flush();
|
|
32
51
|
}
|
|
@@ -41,25 +60,32 @@ var AuixPrism = class {
|
|
|
41
60
|
"Content-Type": "application/json",
|
|
42
61
|
Authorization: `Bearer ${this.apiKey}`
|
|
43
62
|
},
|
|
44
|
-
body: JSON.stringify({
|
|
63
|
+
body: JSON.stringify({
|
|
64
|
+
v: 1,
|
|
65
|
+
sdk: SDK_VERSION,
|
|
66
|
+
events: batch
|
|
67
|
+
})
|
|
45
68
|
}).then(() => {});
|
|
46
69
|
};
|
|
47
70
|
this._flushChain = this._flushChain.then(() => send().catch(() => send().catch((err) => {
|
|
48
71
|
console.warn("[@auix/prism] flush failed after retry", err);
|
|
49
|
-
this.
|
|
72
|
+
this.events.unshift(...batch);
|
|
73
|
+
if (this.events.length > MAX_BUFFER) this.events.length = MAX_BUFFER;
|
|
74
|
+
this.onFlushError?.(err, batch);
|
|
50
75
|
})));
|
|
51
76
|
return this._flushChain;
|
|
52
77
|
}
|
|
53
78
|
startTrace(opts) {
|
|
54
|
-
const traceId =
|
|
79
|
+
const traceId = generateId();
|
|
55
80
|
const startedAt = nowISO();
|
|
56
81
|
this.enqueue({
|
|
82
|
+
v: 1,
|
|
57
83
|
type: "trace.start",
|
|
58
84
|
traceId,
|
|
59
85
|
name: opts.name,
|
|
60
86
|
input: opts.input,
|
|
61
|
-
model: opts.model,
|
|
62
|
-
provider: opts.provider,
|
|
87
|
+
model: normalizeModel(opts.model),
|
|
88
|
+
provider: normalizeProvider(opts.provider),
|
|
63
89
|
endUserId: opts.endUserId,
|
|
64
90
|
metadata: opts.metadata,
|
|
65
91
|
tags: opts.tags,
|
|
@@ -67,12 +93,13 @@ var AuixPrism = class {
|
|
|
67
93
|
sessionId: this.sessionId,
|
|
68
94
|
startedAt
|
|
69
95
|
});
|
|
70
|
-
return new TraceHandle(this, traceId
|
|
96
|
+
return new TraceHandle(this, traceId);
|
|
71
97
|
}
|
|
72
98
|
startSpanOnTrace(traceId, opts) {
|
|
73
|
-
const spanId =
|
|
99
|
+
const spanId = generateId();
|
|
74
100
|
const startedAt = nowISO();
|
|
75
101
|
this.enqueue({
|
|
102
|
+
v: 1,
|
|
76
103
|
type: "span.start",
|
|
77
104
|
traceId,
|
|
78
105
|
spanId,
|
|
@@ -80,12 +107,12 @@ var AuixPrism = class {
|
|
|
80
107
|
name: opts.name,
|
|
81
108
|
spanType: opts.type,
|
|
82
109
|
input: opts.input,
|
|
83
|
-
model: opts.model,
|
|
84
|
-
provider: opts.provider,
|
|
110
|
+
model: normalizeModel(opts.model),
|
|
111
|
+
provider: normalizeProvider(opts.provider),
|
|
85
112
|
metadata: opts.metadata,
|
|
86
113
|
startedAt
|
|
87
114
|
});
|
|
88
|
-
return new SpanHandle(this, traceId, spanId
|
|
115
|
+
return new SpanHandle(this, traceId, spanId);
|
|
89
116
|
}
|
|
90
117
|
trace(opts) {
|
|
91
118
|
const traceHandle = this.startTrace(opts);
|
|
@@ -99,20 +126,22 @@ var AuixPrism = class {
|
|
|
99
126
|
};
|
|
100
127
|
}
|
|
101
128
|
destroy() {
|
|
129
|
+
this.destroyed = true;
|
|
102
130
|
clearInterval(this.timer);
|
|
103
131
|
return this.flush();
|
|
104
132
|
}
|
|
105
133
|
};
|
|
106
134
|
var TraceHandle = class {
|
|
107
|
-
constructor(tracer, traceId
|
|
135
|
+
constructor(tracer, traceId) {
|
|
108
136
|
this.tracer = tracer;
|
|
109
137
|
this.traceId = traceId;
|
|
110
|
-
this.
|
|
138
|
+
this.startMs = Date.now();
|
|
111
139
|
}
|
|
112
140
|
startSpan(opts) {
|
|
113
|
-
const spanId =
|
|
141
|
+
const spanId = generateId();
|
|
114
142
|
const startedAt = nowISO();
|
|
115
143
|
this.tracer.enqueue({
|
|
144
|
+
v: 1,
|
|
116
145
|
type: "span.start",
|
|
117
146
|
traceId: this.traceId,
|
|
118
147
|
spanId,
|
|
@@ -122,12 +151,13 @@ var TraceHandle = class {
|
|
|
122
151
|
model: opts.model,
|
|
123
152
|
startedAt
|
|
124
153
|
});
|
|
125
|
-
return new SpanHandle(this.tracer, this.traceId, spanId
|
|
154
|
+
return new SpanHandle(this.tracer, this.traceId, spanId);
|
|
126
155
|
}
|
|
127
156
|
end(opts) {
|
|
128
157
|
const endedAt = nowISO();
|
|
129
|
-
const latencyMs =
|
|
158
|
+
const latencyMs = Date.now() - this.startMs;
|
|
130
159
|
this.tracer.enqueue({
|
|
160
|
+
v: 1,
|
|
131
161
|
type: "trace.end",
|
|
132
162
|
traceId: this.traceId,
|
|
133
163
|
output: opts?.output,
|
|
@@ -143,16 +173,17 @@ var TraceHandle = class {
|
|
|
143
173
|
}
|
|
144
174
|
};
|
|
145
175
|
var SpanHandle = class {
|
|
146
|
-
constructor(tracer, traceId, spanId
|
|
176
|
+
constructor(tracer, traceId, spanId) {
|
|
147
177
|
this.tracer = tracer;
|
|
148
178
|
this.traceId = traceId;
|
|
149
179
|
this.spanId = spanId;
|
|
150
|
-
this.
|
|
180
|
+
this.startMs = Date.now();
|
|
151
181
|
}
|
|
152
182
|
end(opts) {
|
|
153
183
|
const endedAt = nowISO();
|
|
154
|
-
const latencyMs =
|
|
184
|
+
const latencyMs = Date.now() - this.startMs;
|
|
155
185
|
this.tracer.enqueue({
|
|
186
|
+
v: 1,
|
|
156
187
|
type: "span.end",
|
|
157
188
|
traceId: this.traceId,
|
|
158
189
|
spanId: this.spanId,
|
|
@@ -171,4 +202,4 @@ var SpanHandle = class {
|
|
|
171
202
|
|
|
172
203
|
//#endregion
|
|
173
204
|
export { SpanHandle as n, TraceHandle as r, AuixPrism as t };
|
|
174
|
-
//# sourceMappingURL=client-
|
|
205
|
+
//# sourceMappingURL=client-B49Ds9fR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-B49Ds9fR.js","names":[],"sources":["../src/utils.ts","../src/client.ts"],"sourcesContent":["const CHARS = \"0123456789abcdefghjkmnpqrstvwxyz\";\n\nexport function generateId(): string {\n const ts = Date.now().toString(36);\n let rand = \"\";\n const bytes = new Uint8Array(16);\n try {\n crypto.getRandomValues(bytes);\n } catch {\n for (let i = 0; i < 16; i++) {\n bytes[i] = Math.floor(Math.random() * 256);\n }\n }\n for (let i = 0; i < 16; i++) {\n rand += CHARS[bytes[i] % CHARS.length];\n }\n return ts + rand;\n}\n\nexport function nowISO(): string {\n return new Date().toISOString();\n}\n","import type {\n AuixPrismConfig,\n TraceEndOptions,\n TraceEvent,\n TraceOptions,\n TraceResult,\n} from \"./types\";\nimport { generateId, nowISO } from \"./utils\";\n\nconst FLUSH_INTERVAL_MS = 1000;\nconst FLUSH_BATCH_SIZE = 10;\nconst MAX_BUFFER = 1000;\nconst SDK_VERSION = \"0.0.1\";\n\nfunction normalizeModel(model?: string): string | undefined {\n return model?.trim();\n}\n\nfunction normalizeProvider(provider?: string): string | undefined {\n return provider?.trim().toLowerCase();\n}\n\nexport class AuixPrism {\n private apiKey: string;\n private baseUrl: string;\n private project?: string;\n private sessionId?: string;\n private transport?: (events: TraceEvent[]) => Promise<void>;\n private onFlushError?: (error: unknown, events: TraceEvent[]) => void;\n private events: TraceEvent[] = [];\n private timer: ReturnType<typeof setInterval>;\n private _flushChain: Promise<void> = Promise.resolve();\n private destroyed = false;\n\n constructor(config: AuixPrismConfig) {\n this.apiKey = config.apiKey;\n this.baseUrl = config.baseUrl ?? \"https://api.auix.dev\";\n this.project = config.project;\n this.sessionId = config.sessionId;\n this.transport = config.transport;\n this.onFlushError = config.onFlushError;\n this.timer = setInterval(() => this.flush(), FLUSH_INTERVAL_MS);\n }\n\n enqueue(event: TraceEvent): void {\n if (this.destroyed) {\n console.warn(\"[@auix/prism] enqueue called after destroy\");\n return;\n }\n this.events.push(event);\n if (this.events.length >= FLUSH_BATCH_SIZE) {\n this.flush();\n }\n }\n\n flush(): Promise<void> {\n if (this.events.length === 0) return this._flushChain;\n\n const batch = this.events.splice(0);\n const send = () => {\n if (this.transport) return this.transport(batch);\n return fetch(`${this.baseUrl}/v1/prism/ingest`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.apiKey}`,\n },\n body: JSON.stringify({\n v: 1,\n sdk: SDK_VERSION,\n events: batch,\n }),\n }).then(() => {});\n };\n\n this._flushChain = this._flushChain.then(() =>\n send().catch(() =>\n send().catch((err) => {\n console.warn(\"[@auix/prism] flush failed after retry\", err);\n this.events.unshift(...batch);\n if (this.events.length > MAX_BUFFER) {\n this.events.length = MAX_BUFFER;\n }\n this.onFlushError?.(err, batch);\n }),\n ),\n );\n return this._flushChain;\n }\n\n startTrace(opts: {\n name?: string;\n input?: unknown;\n model?: string;\n provider?: string;\n endUserId?: string;\n metadata?: Record<string, unknown>;\n tags?: string[];\n }): TraceHandle {\n const traceId = generateId();\n const startedAt = nowISO();\n\n this.enqueue({\n v: 1,\n type: \"trace.start\",\n traceId,\n name: opts.name,\n input: opts.input,\n model: normalizeModel(opts.model),\n provider: normalizeProvider(opts.provider),\n endUserId: opts.endUserId,\n metadata: opts.metadata,\n tags: opts.tags,\n project: this.project,\n sessionId: this.sessionId,\n startedAt,\n });\n\n return new TraceHandle(this, traceId);\n }\n\n startSpanOnTrace(\n traceId: string,\n opts: {\n name: string;\n type: \"llm\" | \"tool\" | \"retrieval\" | \"custom\";\n input?: unknown;\n model?: string;\n provider?: string;\n parentSpanId?: string;\n metadata?: Record<string, unknown>;\n },\n ): SpanHandle {\n const spanId = generateId();\n const startedAt = nowISO();\n\n this.enqueue({\n v: 1,\n type: \"span.start\",\n traceId,\n spanId,\n parentSpanId: opts.parentSpanId,\n name: opts.name,\n spanType: opts.type,\n input: opts.input,\n model: normalizeModel(opts.model),\n provider: normalizeProvider(opts.provider),\n metadata: opts.metadata,\n startedAt,\n });\n\n return new SpanHandle(this, traceId, spanId);\n }\n\n trace(opts: TraceOptions): TraceResult {\n const traceHandle = this.startTrace(opts);\n const finish = async (endOpts?: TraceEndOptions) => {\n traceHandle.end(endOpts);\n await this.destroy();\n };\n return { trace: traceHandle, finish };\n }\n\n destroy(): Promise<void> {\n this.destroyed = true;\n clearInterval(this.timer);\n return this.flush();\n }\n}\n\nexport class TraceHandle {\n private startMs = Date.now();\n\n constructor(\n private tracer: AuixPrism,\n readonly traceId: string,\n ) {}\n\n startSpan(opts: {\n name: string;\n type: \"llm\" | \"tool\" | \"retrieval\" | \"custom\";\n input?: unknown;\n model?: string;\n }): SpanHandle {\n const spanId = generateId();\n const startedAt = nowISO();\n\n this.tracer.enqueue({\n v: 1,\n type: \"span.start\",\n traceId: this.traceId,\n spanId,\n name: opts.name,\n spanType: opts.type,\n input: opts.input,\n model: opts.model,\n startedAt,\n });\n\n return new SpanHandle(this.tracer, this.traceId, spanId);\n }\n\n end(opts?: {\n output?: unknown;\n status?: \"completed\" | \"error\";\n error?: string;\n totalTokens?: number;\n promptTokens?: number;\n completionTokens?: number;\n ttftMs?: number;\n }): void {\n const endedAt = nowISO();\n const latencyMs = Date.now() - this.startMs;\n\n this.tracer.enqueue({\n v: 1,\n type: \"trace.end\",\n traceId: this.traceId,\n output: opts?.output,\n status: opts?.status ?? \"completed\",\n error: opts?.error,\n totalTokens: opts?.totalTokens,\n promptTokens: opts?.promptTokens,\n completionTokens: opts?.completionTokens,\n ttftMs: opts?.ttftMs,\n latencyMs,\n endedAt,\n });\n }\n}\n\nexport class SpanHandle {\n private startMs = Date.now();\n\n constructor(\n private tracer: AuixPrism,\n private traceId: string,\n readonly spanId: string,\n ) {}\n\n end(opts?: {\n output?: unknown;\n status?: \"completed\" | \"error\";\n error?: string;\n totalTokens?: number;\n promptTokens?: number;\n completionTokens?: number;\n ttftMs?: number;\n }): void {\n const endedAt = nowISO();\n const latencyMs = Date.now() - this.startMs;\n\n this.tracer.enqueue({\n v: 1,\n type: \"span.end\",\n traceId: this.traceId,\n spanId: this.spanId,\n output: opts?.output,\n status: opts?.status ?? \"completed\",\n error: opts?.error,\n totalTokens: opts?.totalTokens,\n promptTokens: opts?.promptTokens,\n completionTokens: opts?.completionTokens,\n ttftMs: opts?.ttftMs,\n latencyMs,\n endedAt,\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ interface AuixPrismConfig {
|
|
|
7
7
|
/** Custom transport — bypasses HTTP when provided. */
|
|
8
8
|
transport?: (events: TraceEvent[]) => Promise<void>;
|
|
9
9
|
/** Called when a flush fails after retry. */
|
|
10
|
-
onFlushError?: (error: unknown) => void;
|
|
10
|
+
onFlushError?: (error: unknown, events: TraceEvent[]) => void;
|
|
11
11
|
}
|
|
12
12
|
interface TraceOptions {
|
|
13
13
|
name: string;
|
|
@@ -29,6 +29,7 @@ interface TraceEndOptions {
|
|
|
29
29
|
completionTokens?: number;
|
|
30
30
|
}
|
|
31
31
|
type TraceEvent = {
|
|
32
|
+
v: 1;
|
|
32
33
|
type: "trace.start";
|
|
33
34
|
traceId: string;
|
|
34
35
|
name?: string;
|
|
@@ -42,6 +43,7 @@ type TraceEvent = {
|
|
|
42
43
|
sessionId?: string;
|
|
43
44
|
startedAt: string;
|
|
44
45
|
} | {
|
|
46
|
+
v: 1;
|
|
45
47
|
type: "trace.end";
|
|
46
48
|
traceId: string;
|
|
47
49
|
output?: unknown;
|
|
@@ -54,6 +56,7 @@ type TraceEvent = {
|
|
|
54
56
|
latencyMs?: number;
|
|
55
57
|
endedAt: string;
|
|
56
58
|
} | {
|
|
59
|
+
v: 1;
|
|
57
60
|
type: "span.start";
|
|
58
61
|
traceId: string;
|
|
59
62
|
spanId: string;
|
|
@@ -66,6 +69,7 @@ type TraceEvent = {
|
|
|
66
69
|
metadata?: Record<string, unknown>;
|
|
67
70
|
startedAt: string;
|
|
68
71
|
} | {
|
|
72
|
+
v: 1;
|
|
69
73
|
type: "span.end";
|
|
70
74
|
traceId: string;
|
|
71
75
|
spanId: string;
|
|
@@ -91,6 +95,7 @@ declare class AuixPrism {
|
|
|
91
95
|
private events;
|
|
92
96
|
private timer;
|
|
93
97
|
private _flushChain;
|
|
98
|
+
private destroyed;
|
|
94
99
|
constructor(config: AuixPrismConfig);
|
|
95
100
|
enqueue(event: TraceEvent): void;
|
|
96
101
|
flush(): Promise<void>;
|
|
@@ -118,8 +123,8 @@ declare class AuixPrism {
|
|
|
118
123
|
declare class TraceHandle {
|
|
119
124
|
private tracer;
|
|
120
125
|
readonly traceId: string;
|
|
121
|
-
private
|
|
122
|
-
constructor(tracer: AuixPrism, traceId: string
|
|
126
|
+
private startMs;
|
|
127
|
+
constructor(tracer: AuixPrism, traceId: string);
|
|
123
128
|
startSpan(opts: {
|
|
124
129
|
name: string;
|
|
125
130
|
type: "llm" | "tool" | "retrieval" | "custom";
|
|
@@ -140,8 +145,8 @@ declare class SpanHandle {
|
|
|
140
145
|
private tracer;
|
|
141
146
|
private traceId;
|
|
142
147
|
readonly spanId: string;
|
|
143
|
-
private
|
|
144
|
-
constructor(tracer: AuixPrism, traceId: string, spanId: string
|
|
148
|
+
private startMs;
|
|
149
|
+
constructor(tracer: AuixPrism, traceId: string, spanId: string);
|
|
145
150
|
end(opts?: {
|
|
146
151
|
output?: unknown;
|
|
147
152
|
status?: "completed" | "error";
|
|
@@ -154,4 +159,4 @@ declare class SpanHandle {
|
|
|
154
159
|
}
|
|
155
160
|
//#endregion
|
|
156
161
|
export { TraceEndOptions as a, TraceResult as c, AuixPrismConfig as i, SpanHandle as n, TraceEvent as o, TraceHandle as r, TraceOptions as s, AuixPrism as t };
|
|
157
|
-
//# sourceMappingURL=client-
|
|
162
|
+
//# sourceMappingURL=client-BhQrlPEQ.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-BhQrlPEQ.d.cts","names":[],"sources":["../src/types.ts","../src/client.ts"],"mappings":";UAAiB,eAAA;EACf,MAAA;EACA,OAAA;EACA,OAAA;EACA,SAAA;EAEsC;EAAtC,SAAA,IAAa,MAAA,EAAQ,UAAA,OAAiB,OAAA;EAEY;EAAlD,YAAA,IAAgB,KAAA,WAAgB,MAAA,EAAQ,UAAA;AAAA;AAAA,UAGzB,YAAA;EACf,IAAA;EACA,KAAA;EACA,QAAA;EACA,SAAA;EACA,IAAA;EACA,QAAA,GAAW,MAAA;AAAA;AAAA,UAGI,WAAA;EACf,KAAA,EAD0B,WAAA;EAE1B,MAAA,GAAS,IAAA,GAAO,eAAA,KAAoB,OAAA;AAAA;AAAA,UAGrB,eAAA;EACf,MAAA;EACA,MAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;AAAA;AAAA,KAGU,UAAA;EAEN,CAAA;EACA,IAAA;EACA,OAAA;EACA,IAAA;EACA,KAAA;EACA,KAAA;EACA,QAAA;EACA,SAAA;EACA,QAAA,GAAW,MAAA;EACX,IAAA;EACA,OAAA;EACA,SAAA;EACA,SAAA;AAAA;EAGA,CAAA;EACA,IAAA;EACA,OAAA;EACA,MAAA;EACA,MAAA;EACA,KAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;AAAA;EAGA,CAAA;EACA,IAAA;EACA,OAAA;EACA,MAAA;EACA,YAAA;EACA,IAAA;EACA,QAAA;EACA,KAAA;EACA,KAAA;EACA,QAAA;EACA,QAAA,GAAW,MAAA;EACX,SAAA;AAAA;EAGA,CAAA;EACA,IAAA;EACA,OAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,KAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;AAAA;;;cCpEO,SAAA;EAAA,QACH,MAAA;EAAA,QACA,OAAA;EAAA,QACA,OAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,YAAA;EAAA,QACA,MAAA;EAAA,QACA,KAAA;EAAA,QACA,WAAA;EAAA,QACA,SAAA;cAEI,MAAA,EAAQ,eAAA;EAUpB,OAAA,CAAQ,KAAA,EAAO,UAAA;EAWf,KAAA,CAAA,GAAS,OAAA;EAmCT,UAAA,CAAW,IAAA;IACT,IAAA;IACA,KAAA;IACA,KAAA;IACA,QAAA;IACA,SAAA;IACA,QAAA,GAAW,MAAA;IACX,IAAA;EAAA,IACE,WAAA;EAuBJ,gBAAA,CACE,OAAA,UACA,IAAA;IACE,IAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;IACA,QAAA;IACA,YAAA;IACA,QAAA,GAAW,MAAA;EAAA,IAEZ,UAAA;EAsBH,KAAA,CAAM,IAAA,EAAM,YAAA,GAAe,WAAA;EAS3B,OAAA,CAAA,GAAW,OAAA;AAAA;AAAA,cAOA,WAAA;EAAA,QAID,MAAA;EAAA,SACC,OAAA;EAAA,QAJH,OAAA;cAGE,MAAA,EAAQ,SAAA,EACP,OAAA;EAGX,SAAA,CAAU,IAAA;IACR,IAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA,IACE,UAAA;EAmBJ,GAAA,CAAI,IAAA;IACF,MAAA;IACA,MAAA;IACA,KAAA;IACA,WAAA;IACA,YAAA;IACA,gBAAA;IACA,MAAA;EAAA;AAAA;AAAA,cAsBS,UAAA;EAAA,QAID,MAAA;EAAA,QACA,OAAA;EAAA,SACC,MAAA;EAAA,QALH,OAAA;cAGE,MAAA,EAAQ,SAAA,EACR,OAAA,UACC,MAAA;EAGX,GAAA,CAAI,IAAA;IACF,MAAA;IACA,MAAA;IACA,KAAA;IACA,WAAA;IACA,YAAA;IACA,gBAAA;IACA,MAAA;EAAA;AAAA"}
|
package/dist/core.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_client = require('./client-
|
|
2
|
+
const require_client = require('./client--PC-VXip.cjs');
|
|
3
3
|
|
|
4
4
|
exports.AuixPrism = require_client.AuixPrism;
|
|
5
5
|
exports.SpanHandle = require_client.SpanHandle;
|
package/dist/core.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-
|
|
1
|
+
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-BhQrlPEQ.cjs";
|
|
2
2
|
export { AuixPrism, type AuixPrismConfig, SpanHandle, type TraceEndOptions, type TraceEvent, TraceHandle, type TraceOptions, type TraceResult };
|
package/dist/core.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-
|
|
1
|
+
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-9E6ncwtH.js";
|
|
2
2
|
export { AuixPrism, type AuixPrismConfig, SpanHandle, type TraceEndOptions, type TraceEvent, TraceHandle, type TraceOptions, type TraceResult };
|
package/dist/core.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_client = require('./client-
|
|
2
|
+
const require_client = require('./client--PC-VXip.cjs');
|
|
3
3
|
const require_integrations_ai_sdk = require('./integrations/ai-sdk.cjs');
|
|
4
4
|
const require_integrations_anthropic = require('./integrations/anthropic.cjs');
|
|
5
5
|
const require_integrations_openai = require('./integrations/openai.cjs');
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-
|
|
1
|
+
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-BhQrlPEQ.cjs";
|
|
2
2
|
import { AISDKPrismOptions, AISDKPrismResult, prismAISDK } from "./integrations/ai-sdk.cjs";
|
|
3
3
|
import { AnthropicPrismOptions, prismAnthropic } from "./integrations/anthropic.cjs";
|
|
4
4
|
import { OpenAIPrismOptions, prismOpenAI } from "./integrations/openai.cjs";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-
|
|
1
|
+
import { a as TraceEndOptions, c as TraceResult, i as AuixPrismConfig, n as SpanHandle, o as TraceEvent, r as TraceHandle, s as TraceOptions, t as AuixPrism } from "./client-9E6ncwtH.js";
|
|
2
2
|
import { AISDKPrismOptions, AISDKPrismResult, prismAISDK } from "./integrations/ai-sdk.js";
|
|
3
3
|
import { AnthropicPrismOptions, prismAnthropic } from "./integrations/anthropic.js";
|
|
4
4
|
import { OpenAIPrismOptions, prismOpenAI } from "./integrations/openai.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as SpanHandle, r as TraceHandle, t as AuixPrism } from "./client-
|
|
1
|
+
import { n as SpanHandle, r as TraceHandle, t as AuixPrism } from "./client-B49Ds9fR.js";
|
|
2
2
|
import { prismAISDK } from "./integrations/ai-sdk.js";
|
|
3
3
|
import { prismAnthropic } from "./integrations/anthropic.js";
|
|
4
4
|
import { prismOpenAI } from "./integrations/openai.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_wrapper = require('../wrapper-
|
|
2
|
+
const require_wrapper = require('../wrapper-C9LHP_r5.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/ai-sdk.ts
|
|
5
5
|
function prismAISDK(tracer, model, opts) {
|