@nodetool-ai/runtime 0.8.3 → 0.8.4-a24.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.
Files changed (147) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/canvas-codec.d.ts +3 -0
  3. package/dist/canvas-codec.d.ts.map +1 -0
  4. package/dist/canvas-codec.js +12 -0
  5. package/dist/canvas-codec.js.map +1 -0
  6. package/dist/context-packer.d.ts +1 -1
  7. package/dist/context-packer.js +1 -1
  8. package/dist/context.d.ts +3 -0
  9. package/dist/context.d.ts.map +1 -1
  10. package/dist/context.js +13 -3
  11. package/dist/context.js.map +1 -1
  12. package/dist/host-binaries.d.ts.map +1 -1
  13. package/dist/host-binaries.js +4 -3
  14. package/dist/host-binaries.js.map +1 -1
  15. package/dist/http-client-spans.d.ts +9 -0
  16. package/dist/http-client-spans.d.ts.map +1 -0
  17. package/dist/http-client-spans.js +88 -0
  18. package/dist/http-client-spans.js.map +1 -0
  19. package/dist/image-codec.d.ts +6 -3
  20. package/dist/image-codec.d.ts.map +1 -1
  21. package/dist/image-codec.js +17 -17
  22. package/dist/image-codec.js.map +1 -1
  23. package/dist/index.d.ts +3 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/media-ref-bytes.d.ts.map +1 -1
  28. package/dist/media-ref-bytes.js +31 -6
  29. package/dist/media-ref-bytes.js.map +1 -1
  30. package/dist/otlp-json-trace-exporter.d.ts +89 -0
  31. package/dist/otlp-json-trace-exporter.d.ts.map +1 -0
  32. package/dist/otlp-json-trace-exporter.js +155 -0
  33. package/dist/otlp-json-trace-exporter.js.map +1 -0
  34. package/dist/providers/antigravity-provider.d.ts +113 -0
  35. package/dist/providers/antigravity-provider.d.ts.map +1 -0
  36. package/dist/providers/antigravity-provider.js +527 -0
  37. package/dist/providers/antigravity-provider.js.map +1 -0
  38. package/dist/providers/azure-openai-provider.d.ts +69 -0
  39. package/dist/providers/azure-openai-provider.d.ts.map +1 -0
  40. package/dist/providers/azure-openai-provider.js +233 -0
  41. package/dist/providers/azure-openai-provider.js.map +1 -0
  42. package/dist/providers/base-provider.d.ts.map +1 -1
  43. package/dist/providers/base-provider.js +19 -1
  44. package/dist/providers/base-provider.js.map +1 -1
  45. package/dist/providers/bedrock-provider.d.ts +52 -0
  46. package/dist/providers/bedrock-provider.d.ts.map +1 -0
  47. package/dist/providers/bedrock-provider.js +648 -0
  48. package/dist/providers/bedrock-provider.js.map +1 -0
  49. package/dist/providers/bedrock-transport.d.ts +37 -0
  50. package/dist/providers/bedrock-transport.d.ts.map +1 -0
  51. package/dist/providers/bedrock-transport.js +186 -0
  52. package/dist/providers/bedrock-transport.js.map +1 -0
  53. package/dist/providers/chatgpt-provider.d.ts.map +1 -1
  54. package/dist/providers/chatgpt-provider.js +77 -32
  55. package/dist/providers/chatgpt-provider.js.map +1 -1
  56. package/dist/providers/claude-agent-provider.d.ts +29 -51
  57. package/dist/providers/claude-agent-provider.d.ts.map +1 -1
  58. package/dist/providers/claude-agent-provider.js +144 -202
  59. package/dist/providers/claude-agent-provider.js.map +1 -1
  60. package/dist/providers/claude-cli.d.ts +265 -0
  61. package/dist/providers/claude-cli.d.ts.map +1 -0
  62. package/dist/providers/claude-cli.js +488 -0
  63. package/dist/providers/claude-cli.js.map +1 -0
  64. package/dist/providers/codex-provider.d.ts +9 -2
  65. package/dist/providers/codex-provider.d.ts.map +1 -1
  66. package/dist/providers/codex-provider.js +25 -11
  67. package/dist/providers/codex-provider.js.map +1 -1
  68. package/dist/providers/core-tools.d.ts +4 -1
  69. package/dist/providers/core-tools.d.ts.map +1 -1
  70. package/dist/providers/core-tools.js +5 -3
  71. package/dist/providers/core-tools.js.map +1 -1
  72. package/dist/providers/dreamina-pending.d.ts +22 -0
  73. package/dist/providers/dreamina-pending.d.ts.map +1 -0
  74. package/dist/providers/dreamina-pending.js +86 -0
  75. package/dist/providers/dreamina-pending.js.map +1 -0
  76. package/dist/providers/dreamina-provider.d.ts +5 -0
  77. package/dist/providers/dreamina-provider.d.ts.map +1 -1
  78. package/dist/providers/dreamina-provider.js +88 -19
  79. package/dist/providers/dreamina-provider.js.map +1 -1
  80. package/dist/providers/extension-tab.d.ts +18 -5
  81. package/dist/providers/extension-tab.d.ts.map +1 -1
  82. package/dist/providers/extension-tab.js +71 -15
  83. package/dist/providers/extension-tab.js.map +1 -1
  84. package/dist/providers/gemini-provider.d.ts +3 -1
  85. package/dist/providers/gemini-provider.d.ts.map +1 -1
  86. package/dist/providers/gemini-provider.js +32 -1
  87. package/dist/providers/gemini-provider.js.map +1 -1
  88. package/dist/providers/gemini-web-provider.d.ts +14 -14
  89. package/dist/providers/gemini-web-provider.d.ts.map +1 -1
  90. package/dist/providers/gemini-web-provider.js +264 -189
  91. package/dist/providers/gemini-web-provider.js.map +1 -1
  92. package/dist/providers/http-transport.d.ts.map +1 -1
  93. package/dist/providers/http-transport.js +2 -0
  94. package/dist/providers/http-transport.js.map +1 -1
  95. package/dist/providers/index.d.ts +8 -0
  96. package/dist/providers/index.d.ts.map +1 -1
  97. package/dist/providers/index.js +30 -7
  98. package/dist/providers/index.js.map +1 -1
  99. package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -1
  100. package/dist/providers/node-llama-cpp-provider.js +2 -4
  101. package/dist/providers/node-llama-cpp-provider.js.map +1 -1
  102. package/dist/providers/openai-provider.d.ts +2 -0
  103. package/dist/providers/openai-provider.d.ts.map +1 -1
  104. package/dist/providers/openai-provider.js +19 -6
  105. package/dist/providers/openai-provider.js.map +1 -1
  106. package/dist/providers/safe-url.d.ts.map +1 -1
  107. package/dist/providers/safe-url.js +8 -0
  108. package/dist/providers/safe-url.js.map +1 -1
  109. package/dist/providers/vgenv-provider.d.ts +33 -0
  110. package/dist/providers/vgenv-provider.d.ts.map +1 -0
  111. package/dist/providers/vgenv-provider.js +261 -0
  112. package/dist/providers/vgenv-provider.js.map +1 -0
  113. package/dist/python-graph-resolver.d.ts.map +1 -1
  114. package/dist/python-graph-resolver.js +12 -2
  115. package/dist/python-graph-resolver.js.map +1 -1
  116. package/dist/python-stdio-bridge.d.ts.map +1 -1
  117. package/dist/python-stdio-bridge.js +33 -10
  118. package/dist/python-stdio-bridge.js.map +1 -1
  119. package/dist/run-trace-processor.d.ts +3 -0
  120. package/dist/run-trace-processor.d.ts.map +1 -1
  121. package/dist/run-trace-processor.js +56 -40
  122. package/dist/run-trace-processor.js.map +1 -1
  123. package/dist/telemetry.d.ts +2 -2
  124. package/dist/telemetry.d.ts.map +1 -1
  125. package/dist/telemetry.js +33 -34
  126. package/dist/telemetry.js.map +1 -1
  127. package/dist/token-counter.d.ts +4 -13
  128. package/dist/token-counter.d.ts.map +1 -1
  129. package/dist/token-counter.js +68 -18
  130. package/dist/token-counter.js.map +1 -1
  131. package/dist/trace-context-manager.d.ts +12 -0
  132. package/dist/trace-context-manager.d.ts.map +1 -0
  133. package/dist/trace-context-manager.js +30 -0
  134. package/dist/trace-context-manager.js.map +1 -0
  135. package/dist/trace-exporters.d.ts +1 -1
  136. package/dist/trace-exporters.d.ts.map +1 -1
  137. package/dist/trace-exporters.js +4 -5
  138. package/dist/trace-exporters.js.map +1 -1
  139. package/dist/trace-semantic-conventions.d.ts +2 -0
  140. package/dist/trace-semantic-conventions.d.ts.map +1 -0
  141. package/dist/trace-semantic-conventions.js +2 -0
  142. package/dist/trace-semantic-conventions.js.map +1 -0
  143. package/dist/tracing-module.d.ts +3 -0
  144. package/dist/tracing-module.d.ts.map +1 -0
  145. package/dist/tracing-module.js +12 -0
  146. package/dist/tracing-module.js.map +1 -0
  147. package/package.json +35 -18
@@ -1,5 +1,5 @@
1
1
  import { context, trace } from "@opentelemetry/api";
2
- import { resourceFromAttributes } from "@opentelemetry/resources";
2
+ import { loadTracingModule } from "./tracing-module.js";
3
3
  import { isTraceContentKey, splitTraceRecord, TRACE_STRING_LIMIT, TRACE_CONTENT_BYTE_LIMIT } from "@nodetool-ai/protocol";
4
4
  import { createTraceTextRedactor, redactTraceText, setLogHook, safeProcessEnv } from "@nodetool-ai/config";
5
5
  import { spanToRecord } from "./span-record.js";
@@ -33,6 +33,8 @@ function hasOversizedContent(value, depth = 0) {
33
33
  }
34
34
  /** Attach durable storage independently of external sink initialization. */
35
35
  export function configureRunTraceStore(adapter) { store = adapter; }
36
+ /** Whether durable trace storage has been configured as a trace sink. */
37
+ export function hasRunTraceStore() { return store !== null; }
36
38
  function redactRecord(record, options) {
37
39
  if (record.name.length > 200 || record.events.some((event) => event.name.length > 200) || hasOversizedContent(record.attributes) || hasOversizedContent(record.resource) || record.events.some((event) => hasOversizedContent(event.attributes)) || (record.status.message?.length ?? 0) > TRACE_STRING_LIMIT) {
38
40
  record = { ...record, attributes: { ...record.attributes, "nodetool.trace.truncated": true } };
@@ -138,50 +140,64 @@ function otelAttributes(input) {
138
140
  /** Filter before OTLP or the legacy console exporter can inspect an SDK span. */
139
141
  export class ContentFilteringSpanExporter {
140
142
  exporter;
143
+ pending = new Set();
141
144
  constructor(exporter) {
142
145
  this.exporter = exporter;
143
146
  }
144
147
  export(spans, callback) {
145
- this.exporter.export(spans.map((span) => {
146
- const record = externalTraceRecord(spanToRecord(span), scopes.get(span));
147
- const instrumentationScope = { name: redactTraceText(span.instrumentationScope?.name ?? "nodetool", scopes.get(span)?.secretValues) };
148
- if (span.instrumentationScope?.version) {
149
- instrumentationScope.version = redactTraceText(span.instrumentationScope.version, scopes.get(span)?.secretValues);
150
- }
151
- const status = { code: span.status.code };
152
- if (record.status.message) {
153
- status.message = record.status.message;
154
- }
155
- const filtered = {
156
- ...span,
157
- duration: span.duration,
158
- ended: span.ended,
159
- droppedAttributesCount: span.droppedAttributesCount,
160
- droppedEventsCount: span.droppedEventsCount,
161
- droppedLinksCount: span.droppedLinksCount,
162
- spanContext: () => ({ traceId: span.spanContext().traceId, spanId: span.spanContext().spanId, traceFlags: span.spanContext().traceFlags }),
163
- links: (span.links ?? []).map((link) => ({ context: { traceId: link.context.traceId, spanId: link.context.spanId, traceFlags: link.context.traceFlags } })),
164
- instrumentationScope,
165
- name: record.name,
166
- attributes: otelAttributes(record.attributes),
167
- status,
168
- events: record.events.map((event) => {
169
- const filteredEvent = { name: event.name, time: eventTime(event.time_ms) };
170
- if (event.attributes) {
171
- filteredEvent.attributes = otelAttributes(event.attributes);
172
- }
173
- return filteredEvent;
174
- }),
175
- resource: resourceFromAttributes(otelAttributes(record.resource))
176
- };
177
- if (span.parentSpanContext) {
178
- filtered.parentSpanContext = { traceId: span.parentSpanContext.traceId, spanId: span.parentSpanContext.spanId, traceFlags: span.parentSpanContext.traceFlags };
179
- }
180
- return filtered;
181
- }), callback);
148
+ const pending = loadTracingModule("@opentelemetry/resources").then(({ resourceFromAttributes }) => new Promise((resolve) => {
149
+ this.exporter.export(spans.map((span) => {
150
+ const record = externalTraceRecord(spanToRecord(span), scopes.get(span));
151
+ const instrumentationScope = { name: redactTraceText(span.instrumentationScope?.name ?? "nodetool", scopes.get(span)?.secretValues) };
152
+ if (span.instrumentationScope?.version) {
153
+ instrumentationScope.version = redactTraceText(span.instrumentationScope.version, scopes.get(span)?.secretValues);
154
+ }
155
+ const status = { code: span.status.code };
156
+ if (record.status.message) {
157
+ status.message = record.status.message;
158
+ }
159
+ const filtered = {
160
+ ...span,
161
+ duration: span.duration,
162
+ ended: span.ended,
163
+ droppedAttributesCount: span.droppedAttributesCount,
164
+ droppedEventsCount: span.droppedEventsCount,
165
+ droppedLinksCount: span.droppedLinksCount,
166
+ spanContext: () => ({ traceId: span.spanContext().traceId, spanId: span.spanContext().spanId, traceFlags: span.spanContext().traceFlags }),
167
+ links: (span.links ?? []).map((link) => ({ context: { traceId: link.context.traceId, spanId: link.context.spanId, traceFlags: link.context.traceFlags } })),
168
+ instrumentationScope,
169
+ name: record.name,
170
+ attributes: otelAttributes(record.attributes),
171
+ status,
172
+ events: record.events.map((event) => {
173
+ const filteredEvent = { name: event.name, time: eventTime(event.time_ms) };
174
+ if (event.attributes) {
175
+ filteredEvent.attributes = otelAttributes(event.attributes);
176
+ }
177
+ return filteredEvent;
178
+ }),
179
+ resource: resourceFromAttributes(otelAttributes(record.resource))
180
+ };
181
+ if (span.parentSpanContext) {
182
+ filtered.parentSpanContext = { traceId: span.parentSpanContext.traceId, spanId: span.parentSpanContext.spanId, traceFlags: span.parentSpanContext.traceFlags };
183
+ }
184
+ return filtered;
185
+ }), (result) => {
186
+ resolve();
187
+ callback(result);
188
+ });
189
+ })).catch((error) => callback({ code: 1, error: error instanceof Error ? error : new Error(String(error)) }));
190
+ this.pending.add(pending);
191
+ void pending.then(() => this.pending.delete(pending));
192
+ }
193
+ async shutdown() {
194
+ await Promise.all(this.pending);
195
+ await this.exporter.shutdown();
196
+ }
197
+ async forceFlush() {
198
+ await Promise.all(this.pending);
199
+ await this.exporter.forceFlush?.();
182
200
  }
183
- shutdown() { return this.exporter.shutdown(); }
184
- forceFlush() { return this.exporter.forceFlush?.() ?? Promise.resolve(); }
185
201
  }
186
202
  /** Record registered spans with bounded coalescing, preserving final roots under pressure. */
187
203
  export class RunTraceSpanProcessor {
@@ -1 +1 @@
1
- {"version":3,"file":"run-trace-processor.js","sourceRoot":"","sources":["../src/run-trace-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAuD,MAAM,oBAAoB,CAAC;AAEzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,wBAAwB,EAAoE,MAAM,uBAAuB,CAAC;AAC5L,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAC9J,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAwB/F,IAAI,KAAK,GAAyB,IAAI,CAAC;AACvC,MAAM,MAAM,GAAG,IAAI,OAAO,EAA+B,CAAC;AAC1D,MAAM,UAAU,GAAG,IAAI,OAAO,EAAyB,CAAC;AACxD,MAAM,UAAU,GAAwB,IAAI,GAAG,EAAE,CAAC;AAClD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;AACrE,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAAC,CAAC;IAC5E,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACxH,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO,OAAO,CAAC,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAChL,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CAAC,OAAsB,IAAU,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AAEzF,SAAS,YAAY,CAAC,MAAmB,EAAE,OAA8B;IACvE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,kBAAkB,EAAE,CAAC;QAC9S,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,CAAC;IACjG,CAAC;IACD,MAAM,gBAAgB,GAAG,CAAC,UAAmC,EAA2B,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5R,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtJ,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAAC,cAAc,CAAC,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YACzF,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,KAAK,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,CAAC;IACtD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,KAAa,EAAW,EAAE;QACvD,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,wBAAwB,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC;QAAC,CAAC;QAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACxD,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAAC,OAAO,iBAAiB,CAAC;QAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACjG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAAC,CAAC;YAC3J,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAAC,CAAC;IAC3G,MAAM,SAAS,GAAG;QAChB,GAAG,MAAM;QACT,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACvC,MAAM;QACN,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC;QACrD,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;QACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAAC,cAAc,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAC/F,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;KACH,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtG,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B,EAAE,KAAiD;IACzG,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IACtI,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,oEAAoE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1L,CAAC;AAED,SAAS,SAAS,CAAC,YAAoB;IACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;AAChF,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,KAAqB;IAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE;QACrC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,UAAU;QAC/C,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ;QAClC,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,iBAAiB,IAAI,KAAK;KAC5D,CAAC,CAAC;IACH,OAAO,cAAc,EAAE,CAAC,gCAAgC,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB;QACjI,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,IAAkB;IACnD,OAAO,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAAC,CAAC;aAC7G,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAAC,CAAC;IAC5G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,4BAA4B;IACV,QAAQ;IAArC,YAA6B,QAAsB;wBAAtB,QAAQ;IAAiB,CAAC;IACvD,MAAM,CAAC,KAAqB,EAAE,QAA+C;QAC3E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,oBAAoB,GAAuC,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;YAC1K,IAAI,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC;gBAAC,oBAAoB,CAAC,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;YAC9J,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAAC,CAAC;YACtE,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;gBAC1I,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC3J,oBAAoB;gBACpB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC7C,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClC,MAAM,aAAa,GAAmC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3G,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBAAC,aAAa,CAAC,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAAC,CAAC;oBACtF,OAAO,aAAa,CAAC;gBACvB,CAAC,CAAC;gBACF,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAClE,CAAC;YACF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,QAAQ,CAAC,iBAAiB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAAC,CAAC;YAC/L,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChB,CAAC;IACD,QAAQ,KAAoB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,UAAU,KAAoB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CAC1F;AAID,8FAA8F;AAC9F,MAAM,OAAO,qBAAqB;IACf,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvC,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,UAAU,GAAG,CAAC,CAAC;IACf,OAAO,GAAyB,IAAI,CAAC;IAC5B,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3B,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IACpE,UAAU,GAAyB,IAAI,CAAC;IAC/B,iBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAC1C,QAAQ,GAAG,IAAI,OAAO,EAAkB,CAAC;IACzC,aAAa,GAAG,IAAI,OAAO,EAAwB,CAAC;IAErE,OAAO,CAAC,IAAU,EAAE,OAAgB;QAClC,IAAI,oBAAoB,EAAE,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACvC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACvE,IAAI,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxB,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;QAChH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAqC,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAkB,IAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,IAAkB,EAAE,IAA4B;QAC9D,IAAI,CAAC,KAAK,IAAI,oBAAoB,EAAE,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACvB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QAAC,CAAC;QAChG,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YACjG,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC;YACrD,MAAM,CAAC,UAAU,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC7E,MAAM,CAAC,UAAU,CAAC,mCAAmC,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACrF,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,EAAE,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;QAChI,MAAM,KAAK,GAAkB;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,UAAU;YAC/C,iBAAiB,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB;YAC9E,MAAM;SACP,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,eAAe,EAAE,CAAC;YAC7H,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;YACtD,IAAI,MAAM,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,qBAAqB,CAAC,EAAE,CAAC;gBACxG,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC5J,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACvH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,IAAI,KAAK,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,OAAe,EAAE,MAA6B;QACnE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,sBAAsB,EAAE,CAAC;YAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QACtG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,IAAI,CAAC,CAAC;QAAC,CAAC;IAC9G,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACxE,IAAI,CAAC;gBAAC,MAAM,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,gEAAgE,CAAC,CAAC;QAClI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACrE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAoB,EAAE,CAAC;YAClC,KAAK,MAAM,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;oBACvC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACvB,IAAI,UAAU,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;wBAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC;oBAAC,CAAC;oBACnE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAAC,MAAM;gBAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;oBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,OAAO,EAAE,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACzB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuC,CAAC;oBACrE,MAAM,QAAQ,GAAoB,EAAE,CAAC;oBACrC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;wBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;wBAAC,CAAC;wBAC/F,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAChD,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;4BAAC,SAAS;wBAAC,CAAC;wBAC3F,0EAA0E;wBAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvS,CAAC;oBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAAC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,MAAM,OAAO,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAAC,CAAC;YACvI,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,OAAO,CAAC;QAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,QAAQ,KAAoB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;CACxD;AAED,SAAS,aAAa,CAAC,IAAwB;IAC7C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB;IACpC,UAAU,CAAC,CAAC,KAAe,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QACpE,gBAAgB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5J,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC,gCAAgC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC/H,OAAO,EAAE,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrH,CAAC;QACD,MAAM,QAAQ,GAA2B,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAClK,IAAI,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QAAC,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"run-trace-processor.js","sourceRoot":"","sources":["../src/run-trace-processor.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * is appended)
15
15
  * OTEL_EXPORTER_OTLP_TRACES_ENDPOINT — Full traces URL, used as given;
16
16
  * wins over OTEL_EXPORTER_OTLP_ENDPOINT
17
- * OTEL_EXPORTER_OTLP_HEADERS — Extra exporter headers (read by the SDK)
17
+ * OTEL_EXPORTER_OTLP_HEADERS — Extra exporter headers (comma-separated key=value)
18
18
  * OTEL_SERVICE_NAME — Service name tag (default: "nodetool")
19
19
  * OTEL_TRACES_EXPORTER=console — Print spans to stdout via OTel SDK
20
20
  * TRACELOOP_DISABLE_BATCH=true — Flush spans immediately (dev mode)
@@ -52,7 +52,7 @@ export interface TelemetryOptions {
52
52
  * Initialize OpenTelemetry instrumentation.
53
53
  *
54
54
  * Idempotent: calling more than once is a no-op (returns the previous result).
55
- * The durable processor is always active. External sinks remain optional.
55
+ * A configured durable store or external sink enables instrumentation.
56
56
  */
57
57
  export declare function initTelemetry(options?: TelemetryOptions): Promise<boolean>;
58
58
  /** Returns the active tracer, or null if telemetry is not initialized. */
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAA+B,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYzD,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAwHlB;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBvD;AAED,oFAAoF;AACpF,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAS7C"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAA+B,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAkBzD,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAyGlB;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBvD;AAED,oFAAoF;AACpF,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAS7C"}
package/dist/telemetry.js CHANGED
@@ -14,7 +14,7 @@
14
14
  * is appended)
15
15
  * OTEL_EXPORTER_OTLP_TRACES_ENDPOINT — Full traces URL, used as given;
16
16
  * wins over OTEL_EXPORTER_OTLP_ENDPOINT
17
- * OTEL_EXPORTER_OTLP_HEADERS — Extra exporter headers (read by the SDK)
17
+ * OTEL_EXPORTER_OTLP_HEADERS — Extra exporter headers (comma-separated key=value)
18
18
  * OTEL_SERVICE_NAME — Service name tag (default: "nodetool")
19
19
  * OTEL_TRACES_EXPORTER=console — Print spans to stdout via OTel SDK
20
20
  * TRACELOOP_DISABLE_BATCH=true — Flush spans immediately (dev mode)
@@ -28,19 +28,25 @@
28
28
  */
29
29
  import { context, propagation, trace } from "@opentelemetry/api";
30
30
  import { createLogger, setLogHook } from "@nodetool-ai/config";
31
- import { ContentFilteringSpanExporter, RunTraceSpanProcessor, installRunTraceLogHook } from "./run-trace-processor.js";
31
+ import { ContentFilteringSpanExporter, RunTraceSpanProcessor, installRunTraceLogHook, hasRunTraceStore } from "./run-trace-processor.js";
32
+ import { loadTracingModule } from "./tracing-module.js";
32
33
  import { getRunTraceScope } from "./run-trace-context.js";
33
34
  import { TRACE_SPAN_EVENT_LIMIT } from "@nodetool-ai/protocol";
35
+ import { ATTR_SERVICE_NAME } from "./trace-semantic-conventions.js";
36
+ import { NodeTraceContextManager } from "./trace-context-manager.js";
37
+ import { httpClientTracer, installHttpClientSpans } from "./http-client-spans.js";
34
38
  const log = createLogger("nodetool.runtime.telemetry");
35
39
  let _tracer = null;
36
40
  let _initialized = false;
37
41
  let _sdk = null;
42
+ /** Stops the outbound fetch spans that `initTelemetry` started. */
43
+ let _uninstallHttpClientSpans = null;
38
44
  let _processors = [];
39
45
  /**
40
46
  * Initialize OpenTelemetry instrumentation.
41
47
  *
42
48
  * Idempotent: calling more than once is a no-op (returns the previous result).
43
- * The durable processor is always active. External sinks remain optional.
49
+ * A configured durable store or external sink enables instrumentation.
44
50
  */
45
51
  export async function initTelemetry(options = {}) {
46
52
  if (_initialized)
@@ -64,11 +70,12 @@ export async function initTelemetry(options = {}) {
64
70
  })();
65
71
  const traceFilePath = options.traceFile ?? process.env["NODETOOL_TRACE_FILE"];
66
72
  const hasOtlp = !!(traceloopKey || otlpEndpoint || otlpTracesEndpoint);
67
- const { NodeSDK } = await import("@opentelemetry/sdk-node");
68
- const { resourceFromAttributes } = await import("@opentelemetry/resources");
69
- const { ATTR_SERVICE_NAME } = await import("@opentelemetry/semantic-conventions");
70
- const otelApi = await import("@opentelemetry/api");
71
- const { BatchSpanProcessor, SimpleSpanProcessor, ConsoleSpanExporter, RandomIdGenerator, AlwaysOnSampler } = await import("@opentelemetry/sdk-trace-base");
73
+ if (!hasOtlp && !consoleMode && !stdoutFormat && !traceFilePath && !hasRunTraceStore()) {
74
+ return false;
75
+ }
76
+ const { CompositePropagator, W3CTraceContextPropagator, W3CBaggagePropagator } = await loadTracingModule("@opentelemetry/core");
77
+ const { resourceFromAttributes } = await loadTracingModule("@opentelemetry/resources");
78
+ const { BasicTracerProvider, BatchSpanProcessor, SimpleSpanProcessor, ConsoleSpanExporter, RandomIdGenerator, AlwaysOnSampler } = await loadTracingModule("@opentelemetry/sdk-trace-base");
72
79
  const serviceName = options.serviceName ?? process.env["OTEL_SERVICE_NAME"] ?? "nodetool";
73
80
  const disableBatch = options.disableBatch ?? process.env["TRACELOOP_DISABLE_BATCH"] === "true";
74
81
  const processor = new RunTraceSpanProcessor();
@@ -76,19 +83,15 @@ export async function initTelemetry(options = {}) {
76
83
  _processors = processors;
77
84
  const destinations = ["run-store"];
78
85
  if (hasOtlp) {
79
- const { OTLPTraceExporter } = await import("@opentelemetry/exporter-trace-otlp-proto");
80
- const url = otlpTracesEndpoint
81
- ? otlpTracesEndpoint
82
- : otlpEndpoint
83
- ? `${otlpEndpoint.replace(/\/+$/, "")}/v1/traces`
84
- : "https://api.traceloop.com/v1/traces";
85
- const headers = traceloopKey
86
- ? { Authorization: `Bearer ${traceloopKey}` }
87
- : {};
88
- const exporter = new OTLPTraceExporter({ url, headers });
86
+ const { OtlpJsonTraceExporter, otlpExporterConfigFromEnv } = await import("./otlp-json-trace-exporter.js");
87
+ const config = otlpExporterConfigFromEnv(process.env);
88
+ if (!config) {
89
+ throw new Error("OTLP endpoint configuration is missing");
90
+ }
91
+ const exporter = new OtlpJsonTraceExporter(config);
89
92
  const Proc = disableBatch ? SimpleSpanProcessor : BatchSpanProcessor;
90
93
  processors.push(new Proc(new ContentFilteringSpanExporter(exporter)));
91
- destinations.push(traceloopKey ? "traceloop" : `otlp:${url}`);
94
+ destinations.push(traceloopKey ? "traceloop" : `otlp:${config.url}`);
92
95
  }
93
96
  if (consoleMode) {
94
97
  processors.push(new SimpleSpanProcessor(new ContentFilteringSpanExporter(new ConsoleSpanExporter())));
@@ -106,28 +109,22 @@ export async function initTelemetry(options = {}) {
106
109
  processors.push(new SimpleSpanProcessor(new ContentFilteringSpanExporter(new JsonlFileSpanExporter(traceFilePath))));
107
110
  destinations.push(`file:${traceFilePath}`);
108
111
  }
109
- // Outbound `fetch` (provider APIs, S3, Supabase, safeFetch) becomes
110
- // `HTTP <method>` client spans. undici publishes on diagnostics_channel, so
111
- // this works in ESM and in the bundled backend without a loader hook. The
112
- // OTLP exporter sends over `node:http`, so it never traces itself.
113
- const { UndiciInstrumentation } = await import("@opentelemetry/instrumentation-undici");
114
112
  const ids = new RandomIdGenerator();
115
- const sdk = new NodeSDK({
113
+ const sdk = new BasicTracerProvider({
116
114
  resource: resourceFromAttributes({ [ATTR_SERVICE_NAME]: serviceName }),
117
- autoDetectResources: false,
118
115
  spanProcessors: processors,
119
116
  sampler: new AlwaysOnSampler(),
120
117
  spanLimits: { eventCountLimit: TRACE_SPAN_EVENT_LIMIT },
121
- idGenerator: { generateTraceId: () => getRunTraceScope()?.traceId ?? ids.generateTraceId(), generateSpanId: () => ids.generateSpanId() },
122
- instrumentations: [new UndiciInstrumentation()]
118
+ idGenerator: { generateTraceId: () => getRunTraceScope()?.traceId ?? ids.generateTraceId(), generateSpanId: () => ids.generateSpanId() }
123
119
  });
124
- // sdk.start() is typed as void in current SDK versions, but historically
125
- // returned a Promise — `await` is a no-op on non-thenable values, so this
126
- // is safe across versions and avoids racing the first spans on any
127
- // version that does init asynchronously.
128
- await sdk.start();
120
+ context.setGlobalContextManager(new NodeTraceContextManager());
121
+ propagation.setGlobalPropagator(new CompositePropagator({
122
+ propagators: [new W3CTraceContextPropagator(), new W3CBaggagePropagator()]
123
+ }));
124
+ trace.setGlobalTracerProvider(sdk);
125
+ _uninstallHttpClientSpans = installHttpClientSpans(httpClientTracer());
129
126
  _sdk = sdk;
130
- _tracer = otelApi.trace.getTracer("nodetool", "0.1.0");
127
+ _tracer = trace.getTracer("nodetool", "0.1.0");
131
128
  _initialized = true;
132
129
  installRunTraceLogHook();
133
130
  if (!options.silent) {
@@ -150,6 +147,8 @@ export function getTracer() {
150
147
  export async function shutdownTelemetry() {
151
148
  const sdk = _sdk;
152
149
  _sdk = null;
150
+ _uninstallHttpClientSpans?.();
151
+ _uninstallHttpClientSpans = null;
153
152
  _tracer = null;
154
153
  _initialized = false;
155
154
  _processors = [];
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,11 @@
1
+ /** Start one optional load. Async callers can await exact counting readiness. */
2
+ export declare function initializeTokenCounter(): Promise<void>;
1
3
  /**
2
- * Accurate token counting via js-tiktoken.
3
- *
4
- * All token counting in the codebase routes through this module so estimates
5
- * match the BPE tokenization real models use instead of char- or word-based
6
- * approximations. Uses the `cl100k_base` encoding (GPT-3.5/4 family), a good
7
- * general-purpose proxy across providers for budgeting, packing and eviction.
8
- *
9
- * The encoder is built once and cached — `getEncoding` bundles the BPE ranks,
10
- * so there is no I/O after the first call.
11
- */
12
- /**
13
- * Count BPE tokens in a string. Returns 0 for empty/nullish input.
4
+ * Count tokens exactly when ready, otherwise estimate. Empty/nullish input is 0.
14
5
  */
15
6
  export declare function countTokens(text: string | null | undefined): number;
16
7
  /**
17
- * Truncate text to at most `maxTokens` BPE tokens, decoding the kept prefix
8
+ * Truncate text to at most `maxTokens` counted tokens, decoding the exact prefix
18
9
  * back to a string. Returns "" when `maxTokens <= 0`.
19
10
  *
20
11
  * Encodes piece-by-piece (same splitting as {@link countTokens}) and stops once
@@ -1 +1 @@
1
- {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../src/token-counter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA4EH;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAkBxE"}
1
+ {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../src/token-counter.ts"],"names":[],"mappings":"AAcA,iFAAiF;AACjF,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBtD;AAsGD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAWnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA8BxE"}
@@ -1,21 +1,56 @@
1
1
  /**
2
- * Accurate token counting via js-tiktoken.
3
- *
4
- * All token counting in the codebase routes through this module so estimates
5
- * match the BPE tokenization real models use instead of char- or word-based
6
- * approximations. Uses the `cl100k_base` encoding (GPT-3.5/4 family), a good
7
- * general-purpose proxy across providers for budgeting, packing and eviction.
8
- *
9
- * The encoder is built once and cached — `getEncoding` bundles the BPE ranks,
10
- * so there is no I/O after the first call.
2
+ * Synchronous token budgeting with a calibrated estimate until the optional
3
+ * cl100k_base encoder is ready. Long BPE runs remain bounded below.
11
4
  */
12
- import { getEncoding } from "js-tiktoken";
5
+ import { importOptionalModule } from "@nodetool-ai/config";
13
6
  let cachedEncoder = null;
14
- function getEncoder() {
15
- if (cachedEncoder === null) {
16
- cachedEncoder = getEncoding("cl100k_base");
7
+ let initialization;
8
+ /** Start one optional load. Async callers can await exact counting readiness. */
9
+ export function initializeTokenCounter() {
10
+ // Start inside the chain: this runs on module load, so a loader that throws
11
+ // synchronously must reject here instead of failing every importer.
12
+ initialization ??= Promise.resolve()
13
+ .then(() => importOptionalModule("js-tiktoken"))
14
+ .then((library) => {
15
+ cachedEncoder = library.getEncoding("cl100k_base");
16
+ })
17
+ .catch(() => {
18
+ // Token budgeting remains available when the optional encoder cannot load.
19
+ });
20
+ return initialization;
21
+ }
22
+ // Do not block synchronous callers or startup on loading the encoding tables.
23
+ void initializeTokenCounter();
24
+ /**
25
+ * ASCII letters and whitespace use 4.5 chars/token, digits use 3, punctuation uses
26
+ * 2 chars/token. CJK needs separate weights: Han 1, kana 0.8, Hangul 1.25
27
+ * tokens/character. Calibration fixtures stay between exact and 35% over.
28
+ * These are budgeting estimates, not universal BPE upper bounds.
29
+ * Integer units avoid rounding drift in long inputs. No splitting is needed.
30
+ */
31
+ function characterUnits(code) {
32
+ if (code < 128) {
33
+ if (code >= 48 && code <= 57) {
34
+ return 60;
35
+ }
36
+ const letter = (code >= 65 && code <= 90) ||
37
+ (code >= 97 && code <= 122);
38
+ return letter || code === 32 || (code >= 9 && code <= 13) ? 40 : 90;
39
+ }
40
+ if (code >= 0x3040 && code <= 0x30ff) {
41
+ return 144;
42
+ }
43
+ if (code >= 0xac00 && code <= 0xd7af) {
44
+ return 225;
17
45
  }
18
- return cachedEncoder;
46
+ return code > 0xffff ? 540 : 180;
47
+ }
48
+ function estimateTokens(text) {
49
+ let units = 0;
50
+ for (const character of text) {
51
+ units += characterUnits(character.codePointAt(0) ?? 0);
52
+ }
53
+ return Math.ceil(units / 180);
19
54
  }
20
55
  /**
21
56
  * js-tiktoken's pure-JS BPE is O(n²) within a single regex "piece", so a long
@@ -78,12 +113,15 @@ function* encodingPieces(text) {
78
113
  }
79
114
  }
80
115
  /**
81
- * Count BPE tokens in a string. Returns 0 for empty/nullish input.
116
+ * Count tokens exactly when ready, otherwise estimate. Empty/nullish input is 0.
82
117
  */
83
118
  export function countTokens(text) {
84
119
  if (!text)
85
120
  return 0;
86
- const encoder = getEncoder();
121
+ const encoder = cachedEncoder;
122
+ if (encoder === null) {
123
+ return estimateTokens(text);
124
+ }
87
125
  let total = 0;
88
126
  for (const piece of encodingPieces(text)) {
89
127
  total += encoder.encode(piece, [], []).length;
@@ -91,7 +129,7 @@ export function countTokens(text) {
91
129
  return total;
92
130
  }
93
131
  /**
94
- * Truncate text to at most `maxTokens` BPE tokens, decoding the kept prefix
132
+ * Truncate text to at most `maxTokens` counted tokens, decoding the exact prefix
95
133
  * back to a string. Returns "" when `maxTokens <= 0`.
96
134
  *
97
135
  * Encodes piece-by-piece (same splitting as {@link countTokens}) and stops once
@@ -106,7 +144,19 @@ export function countTokens(text) {
106
144
  export function truncateToTokens(text, maxTokens) {
107
145
  if (maxTokens <= 0)
108
146
  return "";
109
- const encoder = getEncoder();
147
+ const encoder = cachedEncoder;
148
+ if (encoder === null) {
149
+ let units = 0;
150
+ let end = 0;
151
+ for (const character of text) {
152
+ units += characterUnits(character.codePointAt(0) ?? 0);
153
+ if (Math.ceil(units / 180) > maxTokens) {
154
+ break;
155
+ }
156
+ end += character.length;
157
+ }
158
+ return stripTrailingPartialChar(text.slice(0, end));
159
+ }
110
160
  const kept = [];
111
161
  let truncated = false;
112
162
  for (const piece of encodingPieces(text)) {
@@ -1 +1 @@
1
- {"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../src/token-counter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../src/token-counter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type Context, type ContextManager } from "@opentelemetry/api";
2
+ /** Preserve active spans across Node promises and timers. */
3
+ export declare class NodeTraceContextManager implements ContextManager {
4
+ private readonly storage;
5
+ constructor();
6
+ active(): Context;
7
+ with<A extends unknown[], F extends (...args: A) => ReturnType<F>>(context: Context, fn: F, thisArg?: ThisParameterType<F>, ...args: A): ReturnType<F>;
8
+ bind<T>(context: Context, target: T): T;
9
+ enable(): this;
10
+ disable(): this;
11
+ }
12
+ //# sourceMappingURL=trace-context-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-context-manager.d.ts","sourceRoot":"","sources":["../src/trace-context-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGrF,6DAA6D;AAC7D,qBAAa,uBAAwB,YAAW,cAAc;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,cAIC;IAED,MAAM,IAAI,OAAO,CAAoD;IAErE,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAC/D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAClE,UAAU,CAAC,CAAC,CAAC,CAEf;IAED,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAOtC;IAED,MAAM,IAAI,IAAI,CAAiB;IAC/B,OAAO,IAAI,IAAI,CAAyC;CACzD"}