@grafana/sigil-sdk-js-core 0.0.0 → 0.7.0

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 (61) hide show
  1. package/LICENSE +2 -200
  2. package/README.md +34 -1
  3. package/dist/cache-diagnostics.d.ts +15 -0
  4. package/dist/cache-diagnostics.d.ts.map +1 -0
  5. package/dist/cache-diagnostics.js +15 -0
  6. package/dist/cache-diagnostics.js.map +1 -0
  7. package/dist/client.d.ts +138 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +1855 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/config.d.ts +17 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +375 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/content_capture.d.ts +34 -0
  16. package/dist/content_capture.d.ts.map +1 -0
  17. package/dist/content_capture.js +121 -0
  18. package/dist/content_capture.js.map +1 -0
  19. package/dist/context.d.ts +11 -0
  20. package/dist/context.d.ts.map +1 -0
  21. package/dist/context.js +80 -0
  22. package/dist/context.js.map +1 -0
  23. package/dist/core.d.ts +14 -0
  24. package/dist/core.d.ts.map +1 -0
  25. package/dist/core.js +13 -0
  26. package/dist/core.js.map +1 -0
  27. package/dist/exporters/default.d.ts +3 -0
  28. package/dist/exporters/default.d.ts.map +1 -0
  29. package/dist/exporters/default.js +77 -0
  30. package/dist/exporters/default.js.map +1 -0
  31. package/dist/exporters/grpc.d.ts +15 -0
  32. package/dist/exporters/grpc.d.ts.map +1 -0
  33. package/dist/exporters/grpc.js +401 -0
  34. package/dist/exporters/grpc.js.map +1 -0
  35. package/dist/exporters/http.d.ts +10 -0
  36. package/dist/exporters/http.d.ts.map +1 -0
  37. package/dist/exporters/http.js +295 -0
  38. package/dist/exporters/http.js.map +1 -0
  39. package/dist/hooks.d.ts +33 -0
  40. package/dist/hooks.d.ts.map +1 -0
  41. package/dist/hooks.js +464 -0
  42. package/dist/hooks.js.map +1 -0
  43. package/dist/redaction.d.ts +16 -0
  44. package/dist/redaction.d.ts.map +1 -0
  45. package/dist/redaction.js +155 -0
  46. package/dist/redaction.js.map +1 -0
  47. package/dist/types.d.ts +597 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +2 -0
  50. package/dist/types.js.map +1 -0
  51. package/dist/utils.d.ts +26 -0
  52. package/dist/utils.d.ts.map +1 -0
  53. package/dist/utils.js +355 -0
  54. package/dist/utils.js.map +1 -0
  55. package/dist/version.d.ts +8 -0
  56. package/dist/version.d.ts.map +1 -0
  57. package/dist/version.js +14 -0
  58. package/dist/version.js.map +1 -0
  59. package/package.json +46 -8
  60. package/proto/sigil/v1/generation_ingest.proto +187 -0
  61. package/index.js +0 -1
@@ -0,0 +1,121 @@
1
+ export const metadataKeyContentCaptureMode = 'sigil.sdk.content_capture_mode';
2
+ /**
3
+ * Returns the effective mode from an override and a fallback. `'default'` is
4
+ * transparent — it falls through to the fallback.
5
+ */
6
+ export function resolveContentCaptureMode(override, fallback) {
7
+ if (override !== 'default') {
8
+ return override;
9
+ }
10
+ return fallback;
11
+ }
12
+ /**
13
+ * Resolves the effective mode at the client level. `'default'` resolves to
14
+ * `'no_tool_content'` for backward compatibility.
15
+ */
16
+ export function resolveClientContentCaptureMode(mode) {
17
+ if (mode === 'default') {
18
+ return 'no_tool_content';
19
+ }
20
+ return mode;
21
+ }
22
+ /**
23
+ * Invokes the resolver callback safely, catching thrown errors. Returns
24
+ * `'default'` when the resolver is undefined. Errors are treated as
25
+ * `'metadata_only'` (fail-closed).
26
+ */
27
+ export function callContentCaptureResolver(resolver, metadata) {
28
+ if (resolver === undefined) {
29
+ return 'default';
30
+ }
31
+ try {
32
+ return resolver(metadata);
33
+ }
34
+ catch {
35
+ return 'metadata_only';
36
+ }
37
+ }
38
+ /** Sets the content capture mode marker on the generation metadata. */
39
+ export function stampContentCaptureMetadata(generation, mode) {
40
+ if (generation.metadata === undefined) {
41
+ generation.metadata = {};
42
+ }
43
+ generation.metadata[metadataKeyContentCaptureMode] = mode;
44
+ }
45
+ /**
46
+ * Strips sensitive content from a generation while preserving message
47
+ * structure (roles, part types), tool names/IDs, usage, timing, and all
48
+ * other metadata fields. `errorCategory` is the classified error category
49
+ * used to replace the raw `callError` text.
50
+ */
51
+ export function stripContent(generation, errorCategory) {
52
+ generation.systemPrompt = '';
53
+ generation.conversationTitle = '';
54
+ generation.artifacts = null;
55
+ if (generation.callError !== undefined) {
56
+ generation.callError = errorCategory.length > 0 ? errorCategory : 'sdk_error';
57
+ }
58
+ if (generation.metadata !== undefined) {
59
+ delete generation.metadata.call_error;
60
+ delete generation.metadata['sigil.conversation.title'];
61
+ }
62
+ if (generation.input !== undefined) {
63
+ for (const message of generation.input) {
64
+ stripMessageContent(message);
65
+ }
66
+ }
67
+ if (generation.output !== undefined) {
68
+ for (const message of generation.output) {
69
+ stripMessageContent(message);
70
+ }
71
+ }
72
+ if (generation.tools !== undefined) {
73
+ for (const tool of generation.tools) {
74
+ tool.description = '';
75
+ tool.inputSchemaJSON = '';
76
+ }
77
+ }
78
+ }
79
+ function stripMessageContent(message) {
80
+ if (message.parts === undefined) {
81
+ message.content = '';
82
+ return;
83
+ }
84
+ message.content = '';
85
+ for (const part of message.parts) {
86
+ switch (part.type) {
87
+ case 'text':
88
+ part.text = '';
89
+ break;
90
+ case 'thinking':
91
+ part.thinking = '';
92
+ break;
93
+ case 'tool_call':
94
+ part.toolCall.inputJSON = '';
95
+ break;
96
+ case 'tool_result':
97
+ part.toolResult.content = '';
98
+ part.toolResult.contentJSON = '';
99
+ break;
100
+ }
101
+ }
102
+ }
103
+ /**
104
+ * Determines whether tool execution content (arguments, results) should be
105
+ * included in span attributes given the already-resolved content capture
106
+ * mode and the legacy `includeContent` opt-in.
107
+ */
108
+ export function shouldIncludeToolContent(resolvedMode, legacyInclude) {
109
+ switch (resolvedMode) {
110
+ case 'metadata_only':
111
+ case 'full_with_metadata_spans':
112
+ // Tools have no separate gRPC export — full_with_metadata_spans
113
+ // behaves like metadata_only for tool spans.
114
+ return false;
115
+ case 'full':
116
+ return true;
117
+ default:
118
+ return legacyInclude;
119
+ }
120
+ }
121
+ //# sourceMappingURL=content_capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content_capture.js","sourceRoot":"","sources":["../../js/src/content_capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare function withConversationId<T>(conversationId: string, callback: () => T): T;
2
+ export declare function withConversationTitle<T>(conversationTitle: string, callback: () => T): T;
3
+ export declare function withUserId<T>(userId: string, callback: () => T): T;
4
+ export declare function withAgentName<T>(agentName: string, callback: () => T): T;
5
+ export declare function withAgentVersion<T>(agentVersion: string, callback: () => T): T;
6
+ export declare function conversationIdFromContext(): string | undefined;
7
+ export declare function conversationTitleFromContext(): string | undefined;
8
+ export declare function userIdFromContext(): string | undefined;
9
+ export declare function agentNameFromContext(): string | undefined;
10
+ export declare function agentVersionFromContext(): string | undefined;
11
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../js/src/context.ts"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAElF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAExF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAElE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAExE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAE9E;AAED,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAEzD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAE5D"}
@@ -0,0 +1,80 @@
1
+ export function withConversationId(conversationId, callback) {
2
+ return runWithContext({ conversationId }, callback);
3
+ }
4
+ export function withConversationTitle(conversationTitle, callback) {
5
+ return runWithContext({ conversationTitle }, callback);
6
+ }
7
+ export function withUserId(userId, callback) {
8
+ return runWithContext({ userId }, callback);
9
+ }
10
+ export function withAgentName(agentName, callback) {
11
+ return runWithContext({ agentName }, callback);
12
+ }
13
+ export function withAgentVersion(agentVersion, callback) {
14
+ return runWithContext({ agentVersion }, callback);
15
+ }
16
+ export function conversationIdFromContext() {
17
+ return normalizedString(storage.getStore()?.conversationId);
18
+ }
19
+ export function conversationTitleFromContext() {
20
+ return normalizedString(storage.getStore()?.conversationTitle);
21
+ }
22
+ export function userIdFromContext() {
23
+ return normalizedString(storage.getStore()?.userId);
24
+ }
25
+ export function agentNameFromContext() {
26
+ return normalizedString(storage.getStore()?.agentName);
27
+ }
28
+ export function agentVersionFromContext() {
29
+ return normalizedString(storage.getStore()?.agentVersion);
30
+ }
31
+ function runWithContext(nextValues, callback) {
32
+ const currentValues = storage.getStore() ?? {};
33
+ const mergedValues = { ...currentValues };
34
+ for (const [key, value] of Object.entries(nextValues)) {
35
+ const normalized = normalizedString(value);
36
+ if (normalized === undefined) {
37
+ delete mergedValues[key];
38
+ continue;
39
+ }
40
+ mergedValues[key] = normalized;
41
+ }
42
+ return storage.run(mergedValues, callback);
43
+ }
44
+ function normalizedString(value) {
45
+ if (value === undefined) {
46
+ return undefined;
47
+ }
48
+ const trimmed = value.trim();
49
+ return trimmed.length > 0 ? trimmed : undefined;
50
+ }
51
+ function resolveNodeAsyncLocalStorage() {
52
+ const processWithBuiltins = globalThis.process;
53
+ const module = processWithBuiltins?.getBuiltinModule?.('async_hooks');
54
+ return module?.AsyncLocalStorage;
55
+ }
56
+ // NoopContextStorage is used when the runtime does not expose Node's
57
+ // AsyncLocalStorage (for example some edge runtimes). A naive mutable-global
58
+ // fallback would silently mix contexts across concurrent async chains, which
59
+ // is worse than no propagation at all because telemetry would attribute
60
+ // records to the wrong conversation/user. Disabling propagation makes the
61
+ // limitation observable: callers must pass identifiers explicitly via the
62
+ // generation/tool start fields when running in such a runtime.
63
+ class NoopContextStorage {
64
+ getStore() {
65
+ return undefined;
66
+ }
67
+ run(_store, callback) {
68
+ return callback();
69
+ }
70
+ }
71
+ const AsyncLocalStorage = resolveNodeAsyncLocalStorage();
72
+ const storage = AsyncLocalStorage !== undefined
73
+ ? new AsyncLocalStorage()
74
+ : new NoopContextStorage();
75
+ if (AsyncLocalStorage === undefined && typeof console !== 'undefined' && typeof console.warn === 'function') {
76
+ console.warn('sigil: AsyncLocalStorage is not available in this runtime; context helpers ' +
77
+ '(withConversationId, withUserId, withAgentName, ...) are disabled. ' +
78
+ 'Pass identifiers explicitly on each startGeneration / startToolExecution call.');
79
+ }
80
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../js/src/context.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export { CACHE_DIAGNOSTICS_MISS_REASON_KEY, CACHE_DIAGNOSTICS_MISSED_INPUT_TOKENS_KEY, CACHE_DIAGNOSTICS_PREVIOUS_MESSAGE_ID_KEY, setCacheDiagnostics, } from './cache-diagnostics.js';
2
+ export { SigilClient } from './client.js';
3
+ export { configFromEnv, defaultConfig, mergeConfig } from './config.js';
4
+ export { agentNameFromContext, agentVersionFromContext, conversationIdFromContext, conversationTitleFromContext, userIdFromContext, withAgentName, withAgentVersion, withConversationId, withConversationTitle, withUserId, } from './context.js';
5
+ export { HookDeniedError } from './hooks.js';
6
+ export type { SecretRedactionOptions } from './redaction.js';
7
+ export { createSecretRedactionSanitizer } from './redaction.js';
8
+ export type { ApiConfig, Artifact, ContentCaptureMode, ContentCaptureResolver, ConversationRating, ConversationRatingInput, ConversationRatingSummary, ConversationRatingValue, EmbeddingCaptureConfig, EmbeddingRecorder, EmbeddingResult, EmbeddingStart, ExecuteToolCallsOptions, ExportGenerationResult, ExportGenerationsRequest, ExportGenerationsResponse, Generation, GenerationExportConfig, GenerationExporter, GenerationExportProtocol, GenerationMode, GenerationRecorder, GenerationResult, GenerationSanitizer, GenerationStart, HookAction, HookContext, HookEvaluateRequest, HookEvaluateResponse, HookEvaluation, HookInput, HookModel, HookPhase, HooksConfig, Message, MessagePart, ModelRef, PartMetadata, RecorderCallback, SigilDebugSnapshot, SigilLogger, SigilSdkConfig, SigilSdkConfigInput, SubmitConversationRatingResponse, TokenUsage, ToolCallPart, ToolDefinition, ToolExecution, ToolExecutionRecorder, ToolExecutionResult, ToolExecutionStart, ToolResultPart, } from './types.js';
9
+ export { SDK_VERSION, userAgent } from './version.js';
10
+ import { SigilClient } from './client.js';
11
+ import type { SigilSdkConfigInput } from './types.js';
12
+ /** Convenience factory equivalent to `new SigilClient(config)`. */
13
+ export declare function createSigilClient(config?: SigilSdkConfigInput): SigilClient;
14
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../js/src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,yCAAyC,EACzC,yCAAyC,EACzC,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EACV,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,OAAO,EACP,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,gCAAgC,EAChC,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,mBAAwB,GAAG,WAAW,CAE/E"}
package/dist/core.js ADDED
@@ -0,0 +1,13 @@
1
+ export { CACHE_DIAGNOSTICS_MISS_REASON_KEY, CACHE_DIAGNOSTICS_MISSED_INPUT_TOKENS_KEY, CACHE_DIAGNOSTICS_PREVIOUS_MESSAGE_ID_KEY, setCacheDiagnostics, } from './cache-diagnostics.js';
2
+ export { SigilClient } from './client.js';
3
+ export { configFromEnv, defaultConfig, mergeConfig } from './config.js';
4
+ export { agentNameFromContext, agentVersionFromContext, conversationIdFromContext, conversationTitleFromContext, userIdFromContext, withAgentName, withAgentVersion, withConversationId, withConversationTitle, withUserId, } from './context.js';
5
+ export { HookDeniedError } from './hooks.js';
6
+ export { createSecretRedactionSanitizer } from './redaction.js';
7
+ export { SDK_VERSION, userAgent } from './version.js';
8
+ import { SigilClient } from './client.js';
9
+ /** Convenience factory equivalent to `new SigilClient(config)`. */
10
+ export function createSigilClient(config = {}) {
11
+ return new SigilClient(config);
12
+ }
13
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../js/src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,yCAAyC,EACzC,yCAAyC,EACzC,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAuDhE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,SAA8B,EAAE;IAChE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GenerationExportConfig, GenerationExporter } from '../types.js';
2
+ export declare function createDefaultGenerationExporter(config: GenerationExportConfig): GenerationExporter;
3
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../js/src/exporters/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,sBAAsB,GAAG,kBAAkB,CAalG"}
@@ -0,0 +1,77 @@
1
+ import { HTTPGenerationExporter } from './http.js';
2
+ export function createDefaultGenerationExporter(config) {
3
+ switch (config.protocol) {
4
+ case 'http':
5
+ return new HTTPGenerationExporter(config.endpoint, config.headers);
6
+ case 'grpc':
7
+ return new LazyGRPCGenerationExporter(config.endpoint, config.headers, config.insecure);
8
+ case 'none':
9
+ return new NoopGenerationExporter();
10
+ default:
11
+ return new UnavailableGenerationExporter(new Error(`unsupported generation export protocol: ${config.protocol}`));
12
+ }
13
+ }
14
+ class NoopGenerationExporter {
15
+ async exportGenerations(request) {
16
+ return {
17
+ results: request.generations.map((generation) => ({
18
+ generationId: generation.id,
19
+ accepted: true,
20
+ })),
21
+ };
22
+ }
23
+ }
24
+ class UnavailableGenerationExporter {
25
+ reason;
26
+ constructor(reason) {
27
+ this.reason = reason;
28
+ }
29
+ async exportGenerations() {
30
+ throw this.reason;
31
+ }
32
+ }
33
+ /**
34
+ * Lazily loads the Node/gRPC exporter only when protocol=grpc is used.
35
+ *
36
+ * This keeps edge runtimes (for example Cloudflare Workers) on the HTTP/none
37
+ * path from evaluating Node-only gRPC modules during startup.
38
+ */
39
+ class LazyGRPCGenerationExporter {
40
+ endpoint;
41
+ headers;
42
+ insecure;
43
+ initPromise;
44
+ exporter;
45
+ constructor(endpoint, headers, insecure) {
46
+ this.endpoint = endpoint;
47
+ this.headers = headers;
48
+ this.insecure = insecure;
49
+ }
50
+ async exportGenerations(request) {
51
+ const exporter = await this.getExporter();
52
+ return exporter.exportGenerations(request);
53
+ }
54
+ async shutdown() {
55
+ if (this.initPromise === undefined && this.exporter === undefined) {
56
+ return;
57
+ }
58
+ const exporter = await this.getExporter();
59
+ await exporter.shutdown?.();
60
+ }
61
+ async getExporter() {
62
+ if (this.exporter !== undefined) {
63
+ return this.exporter;
64
+ }
65
+ if (this.initPromise !== undefined) {
66
+ return this.initPromise;
67
+ }
68
+ this.initPromise = this.initializeExporter();
69
+ this.exporter = await this.initPromise;
70
+ return this.exporter;
71
+ }
72
+ async initializeExporter() {
73
+ const grpc = await import('./grpc.js');
74
+ return new grpc.GRPCGenerationExporter(this.endpoint, this.headers, this.insecure);
75
+ }
76
+ }
77
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../js/src/exporters/default.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,UAAU,+BAA+B,CAAC,MAA8B;IAC5E,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1F,KAAK,MAAM;YACT,OAAO,IAAI,sBAAsB,EAAE,CAAC;QACtC;YACE,OAAO,IAAI,6BAA6B,CACtC,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,QAAkB,EAAE,CAAC,CAClF,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB;IAC1B,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChD,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,6BAA6B;IACJ;IAA7B,YAA6B,MAAa;QAAb,WAAM,GAAN,MAAM,CAAO;IAAG,CAAC;IAE9C,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,0BAA0B;IAKX;IACA;IACA;IANX,WAAW,CAA0C;IACrD,QAAQ,CAAiC;IAEjD,YACmB,QAAgB,EAChB,OAA2C,EAC3C,QAAiB;QAFjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAoC;QAC3C,aAAQ,GAAR,QAAQ,CAAS;IACjC,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrF,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import type { ExportGenerationsRequest, ExportGenerationsResponse, GenerationExporter } from '../types.js';
2
+ export declare class GRPCGenerationExporter implements GenerationExporter {
3
+ private readonly endpoint;
4
+ private readonly headers;
5
+ private readonly insecure;
6
+ private readonly userAgent;
7
+ private initPromise;
8
+ private client;
9
+ constructor(endpoint: string, headers?: Record<string, string>, insecure?: boolean);
10
+ exportGenerations(request: ExportGenerationsRequest): Promise<ExportGenerationsResponse>;
11
+ shutdown(): Promise<void>;
12
+ private ensureClient;
13
+ private initializeClient;
14
+ }
15
+ //# sourceMappingURL=grpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.d.ts","sourceRoot":"","sources":["../../../js/src/exporters/grpc.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,wBAAwB,EACxB,yBAAyB,EAEzB,kBAAkB,EAKnB,MAAM,aAAa,CAAC;AAkCrB,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAgC;gBAElC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,UAAQ;IAY1E,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA6BxF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,YAAY;YAcZ,gBAAgB;CAa/B"}