@tangle-network/agent-app 0.60.206 → 0.60.207
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/chat-routes/index.js +5 -5
- package/dist/{chunk-PMIM6DE7.js → chunk-2CBRCREL.js} +2 -2
- package/dist/{chunk-J4BZ6NPT.js → chunk-65SDSB6D.js} +5 -4
- package/dist/{chunk-J4BZ6NPT.js.map → chunk-65SDSB6D.js.map} +1 -1
- package/dist/{chunk-HPFROQZS.js → chunk-B673CO6M.js} +3 -3
- package/dist/{chunk-HPFROQZS.js.map → chunk-B673CO6M.js.map} +1 -1
- package/dist/{chunk-T7CWWC3F.js → chunk-J63KUZBE.js} +29 -3
- package/dist/chunk-J63KUZBE.js.map +1 -0
- package/dist/{chunk-7O6UQJJA.js → chunk-N7FGEWZU.js} +3 -3
- package/dist/chunk-N7FGEWZU.js.map +1 -0
- package/dist/public-consultation/index.js +1 -1
- package/dist/runtime/index.js +3 -3
- package/dist/runtime/router-turn.js +2 -2
- package/dist/sandbox/index.js +2 -2
- package/dist/turn-trace/index.js +1 -1
- package/dist/turn-trace/traced-fetch.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-7O6UQJJA.js.map +0 -1
- package/dist/chunk-T7CWWC3F.js.map +0 -1
- /package/dist/{chunk-PMIM6DE7.js.map → chunk-2CBRCREL.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/turn-trace/traced-fetch.ts"],"sourcesContent":["import type { TurnSpan, TurnTrace } from './recorder'\nimport { parseServerTiming, serverTimingAttrs } from './server-timing'\n\nconst counters = new WeakMap<TurnTrace, Map<string, number>>()\n\n/** 1-based count of `name` spans started through {@link nextCallIndex} on this trace. */\nexport function nextCallIndex(trace: TurnTrace, name: string): number {\n const byName = counters.get(trace) ?? new Map<string, number>()\n counters.set(trace, byName)\n const next = (byName.get(name) ?? 0) + 1\n byName.set(name, next)\n return next\n}\n\nexport interface TracedModelFetchOptions {\n /** The span a model call hangs from. Default: the trace's root. */\n parent?: TurnSpan\n /** The model the request asks for. */\n model?: string\n /** Receives each model call's span as it starts, so the engine can add the token counts when usage arrives. */\n onSpan?: (span: TurnSpan) => void\n}\n\n/**\n * `fetch` for a model request, recording one `model.call` span per send: the\n * wall time from the request to the end of its body, the time to the first\n * byte, and the Router's own `Server-Timing` so the wait before the first byte\n * splits into network and server time.\n *\n * Children partition the call:\n * - `network`: the wait for headers, less the Router's server time;\n * - `router.pre_upstream`: the Router's work before its provider fetch\n * (`upstream_start`);\n * - `router.upstream_wait`: the provider's time to response headers\n * (`upstream_headers`);\n * - `model.stream`: headers to the end of the body.\n * Without a `Server-Timing` header the first byte's wait is one `model.wait`\n * span, because the split is not known.\n *\n * The response body is passed through unchanged; the span ends when the body\n * ends, errors or is cancelled.\n */\nexport function tracedModelFetch(trace: TurnTrace, inner: typeof fetch, options: TracedModelFetchOptions = {}): typeof fetch {\n return async (input, init) => {\n const sentAt = Date.now()\n const span = trace.start('model.call', 'model', {\n 'gen_ai.operation.name': 'chat',\n 'call.index': nextCallIndex(trace, 'model.call'),\n ...(options.model ? { 'gen_ai.request.model': options.model } : {}),\n }, options.parent)\n options.onSpan?.(span)\n let response: Response\n try {\n response = await inner(input, init)\n } catch (error) {\n span.end({ 'http.failed': true }, error)\n throw error\n }\n const headersAt = Date.now()\n const timing = parseServerTiming(response.headers.get('server-timing'))\n const stamp = (name: string) => timing.find((entry) => entry.name === name)?.durMs\n const preUpstreamMs = stamp('upstream_start')\n const upstreamWaitMs = stamp('upstream_headers')\n const waitMs = headersAt - sentAt\n span.set({ 'http.status_code': response.status, ttfb_ms: waitMs, ...serverTimingAttrs(timing) })\n\n let firstByteAt: number | undefined\n const finish = (endedAt: number, error?: unknown, cancelled?: boolean) => {\n const known = preUpstreamMs !== undefined || upstreamWaitMs !== undefined\n if (known) {\n const serverMs = Math.min(waitMs, (preUpstreamMs ?? 0) + (upstreamWaitMs ?? 0))\n const networkMs = waitMs - serverMs\n let at = sentAt\n span.record('network', 'network', at, at + networkMs, { 'network.ms': Math.round(networkMs) })\n at += networkMs\n if (preUpstreamMs !== undefined) {\n const end = Math.min(headersAt, at + preUpstreamMs)\n span.record('router.pre_upstream', 'router', at, end)\n at = end\n }\n if (upstreamWaitMs !== undefined) span.record('router.upstream_wait', 'model', at, headersAt)\n span.set({ network_ms: Math.round(networkMs), router_server_ms: Math.round(serverMs) })\n } else {\n span.record('model.wait', 'model', sentAt, headersAt, { split: 'unknown' })\n }\n span.record('model.stream', 'model', headersAt, Math.max(headersAt, endedAt))\n const failure = error ?? (response.status >= 400 ? `http_${response.status}` : undefined)\n span.end({\n ...(firstByteAt !== undefined ? { ttft_ms: firstByteAt - sentAt } : {}),\n ...(cancelled ? { cancelled: true } : {}),\n }, failure)\n }\n\n if (!response.body) {\n finish(headersAt)\n return response\n }\n const reader = response.body.getReader()\n let settled = false\n const settle = (error?: unknown, cancelled?: boolean) => {\n if (settled) return\n settled = true\n finish(Date.now(), error, cancelled)\n }\n const body = new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const { done, value } = await reader.read()\n if (done) {\n settle()\n controller.close()\n return\n }\n firstByteAt ??= Date.now()\n controller.enqueue(value)\n } catch (error) {\n settle(error)\n controller.error(error)\n }\n },\n async cancel(reason) {\n settle(undefined, true)\n await reader.cancel(reason)\n },\n })\n return new Response(body, { status: response.status, statusText: response.statusText, headers: response.headers })\n }\n}\n"],"mappings":";;;;;;AAGA,IAAM,WAAW,oBAAI,QAAwC;AAGtD,SAAS,cAAc,OAAkB,MAAsB;AACpE,QAAM,SAAS,SAAS,IAAI,KAAK,KAAK,oBAAI,IAAoB;AAC9D,WAAS,IAAI,OAAO,MAAM;AAC1B,QAAM,QAAQ,OAAO,IAAI,IAAI,KAAK,KAAK;AACvC,SAAO,IAAI,MAAM,IAAI;AACrB,SAAO;AACT;AA8BO,SAAS,iBAAiB,OAAkB,OAAqB,UAAmC,CAAC,GAAiB;AAC3H,SAAO,OAAO,OAAO,SAAS;AAC5B,UAAM,SAAS,KAAK,IAAI;AACxB,UAAM,OAAO,MAAM,MAAM,cAAc,SAAS;AAAA,MAC9C,yBAAyB;AAAA,MACzB,cAAc,cAAc,OAAO,YAAY;AAAA,MAC/C,GAAI,QAAQ,QAAQ,EAAE,wBAAwB,QAAQ,MAAM,IAAI,CAAC;AAAA,IACnE,GAAG,QAAQ,MAAM;AACjB,YAAQ,SAAS,IAAI;AACrB,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,MAAM,OAAO,IAAI;AAAA,IACpC,SAAS,OAAO;AACd,WAAK,IAAI,EAAE,eAAe,KAAK,GAAG,KAAK;AACvC,YAAM;AAAA,IACR;AACA,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,SAAS,kBAAkB,SAAS,QAAQ,IAAI,eAAe,CAAC;AACtE,UAAM,QAAQ,CAAC,SAAiB,OAAO,KAAK,CAAC,UAAU,MAAM,SAAS,IAAI,GAAG;AAC7E,UAAM,gBAAgB,MAAM,gBAAgB;AAC5C,UAAM,iBAAiB,MAAM,kBAAkB;AAC/C,UAAM,SAAS,YAAY;AAC3B,SAAK,IAAI,EAAE,oBAAoB,SAAS,QAAQ,SAAS,QAAQ,GAAG,kBAAkB,MAAM,EAAE,CAAC;AAE/F,QAAI;AACJ,UAAM,SAAS,CAAC,SAAiB,OAAiB,cAAwB;AACxE,YAAM,QAAQ,kBAAkB,UAAa,mBAAmB;AAChE,UAAI,OAAO;AACT,cAAM,WAAW,KAAK,IAAI,SAAS,iBAAiB,MAAM,kBAAkB,EAAE;AAC9E,cAAM,YAAY,SAAS;AAC3B,YAAI,KAAK;AACT,aAAK,OAAO,WAAW,WAAW,IAAI,KAAK,WAAW,EAAE,cAAc,KAAK,MAAM,SAAS,EAAE,CAAC;AAC7F,cAAM;AACN,YAAI,kBAAkB,QAAW;AAC/B,gBAAM,MAAM,KAAK,IAAI,WAAW,KAAK,aAAa;AAClD,eAAK,OAAO,uBAAuB,UAAU,IAAI,GAAG;AACpD,eAAK;AAAA,QACP;AACA,YAAI,mBAAmB,OAAW,MAAK,OAAO,wBAAwB,SAAS,IAAI,SAAS;AAC5F,aAAK,IAAI,EAAE,YAAY,KAAK,MAAM,SAAS,GAAG,kBAAkB,KAAK,MAAM,QAAQ,EAAE,CAAC;AAAA,MACxF,OAAO;AACL,aAAK,OAAO,cAAc,SAAS,QAAQ,WAAW,EAAE,OAAO,UAAU,CAAC;AAAA,MAC5E;AACA,WAAK,OAAO,gBAAgB,SAAS,WAAW,KAAK,IAAI,WAAW,OAAO,CAAC;AAC5E,YAAM,UAAU,UAAU,SAAS,UAAU,MAAM,QAAQ,SAAS,MAAM,KAAK;AAC/E,WAAK,IAAI;AAAA,QACP,GAAI,gBAAgB,SAAY,EAAE,SAAS,cAAc,OAAO,IAAI,CAAC;AAAA,QACrE,GAAI,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;AAAA,MACzC,GAAG,OAAO;AAAA,IACZ;AAEA,QAAI,CAAC,SAAS,MAAM;AAClB,aAAO,SAAS;AAChB,aAAO;AAAA,IACT;AACA,UAAM,SAAS,SAAS,KAAK,UAAU;AACvC,QAAI,UAAU;AACd,UAAM,SAAS,CAAC,OAAiB,cAAwB;AACvD,UAAI,QAAS;AACb,gBAAU;AACV,aAAO,KAAK,IAAI,GAAG,OAAO,SAAS;AAAA,IACrC;AACA,UAAM,OAAO,IAAI,eAA2B;AAAA,MAC1C,MAAM,KAAK,YAAY;AACrB,YAAI;AACF,gBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,cAAI,MAAM;AACR,mBAAO;AACP,uBAAW,MAAM;AACjB;AAAA,UACF;AACA,0BAAgB,KAAK,IAAI;AACzB,qBAAW,QAAQ,KAAK;AAAA,QAC1B,SAAS,OAAO;AACd,iBAAO,KAAK;AACZ,qBAAW,MAAM,KAAK;AAAA,QACxB;AAAA,MACF;AAAA,MACA,MAAM,OAAO,QAAQ;AACnB,eAAO,QAAW,IAAI;AACtB,cAAM,OAAO,OAAO,MAAM;AAAA,MAC5B;AAAA,IACF,CAAC;AACD,WAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,SAAS,QAAQ,YAAY,SAAS,YAAY,SAAS,SAAS,QAAQ,CAAC;AAAA,EACnH;AACF;","names":[]}
|
|
File without changes
|