@nobulex/sdk 0.1.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 (81) hide show
  1. package/dist/adapters/express.d.ts +322 -0
  2. package/dist/adapters/express.d.ts.map +1 -0
  3. package/dist/adapters/express.js +356 -0
  4. package/dist/adapters/express.js.map +1 -0
  5. package/dist/adapters/index.d.ts +15 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/index.js +15 -0
  8. package/dist/adapters/index.js.map +1 -0
  9. package/dist/adapters/langchain.d.ts +183 -0
  10. package/dist/adapters/langchain.d.ts.map +1 -0
  11. package/dist/adapters/langchain.js +203 -0
  12. package/dist/adapters/langchain.js.map +1 -0
  13. package/dist/adapters/vercel-ai.d.ts +122 -0
  14. package/dist/adapters/vercel-ai.d.ts.map +1 -0
  15. package/dist/adapters/vercel-ai.js +128 -0
  16. package/dist/adapters/vercel-ai.js.map +1 -0
  17. package/dist/benchmarks.d.ts +164 -0
  18. package/dist/benchmarks.d.ts.map +1 -0
  19. package/dist/benchmarks.js +327 -0
  20. package/dist/benchmarks.js.map +1 -0
  21. package/dist/benchmarks.test.d.ts +2 -0
  22. package/dist/benchmarks.test.d.ts.map +1 -0
  23. package/dist/benchmarks.test.js +71 -0
  24. package/dist/benchmarks.test.js.map +1 -0
  25. package/dist/conformance.d.ts +160 -0
  26. package/dist/conformance.d.ts.map +1 -0
  27. package/dist/conformance.js +1242 -0
  28. package/dist/conformance.js.map +1 -0
  29. package/dist/events.d.ts +176 -0
  30. package/dist/events.d.ts.map +1 -0
  31. package/dist/events.js +208 -0
  32. package/dist/events.js.map +1 -0
  33. package/dist/index.d.ts +384 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +695 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/index.test.d.ts +2 -0
  38. package/dist/index.test.d.ts.map +1 -0
  39. package/dist/index.test.js +986 -0
  40. package/dist/index.test.js.map +1 -0
  41. package/dist/middleware.d.ts +104 -0
  42. package/dist/middleware.d.ts.map +1 -0
  43. package/dist/middleware.js +222 -0
  44. package/dist/middleware.js.map +1 -0
  45. package/dist/middleware.test.d.ts +5 -0
  46. package/dist/middleware.test.d.ts.map +1 -0
  47. package/dist/middleware.test.js +735 -0
  48. package/dist/middleware.test.js.map +1 -0
  49. package/dist/plugins/auth.d.ts +49 -0
  50. package/dist/plugins/auth.d.ts.map +1 -0
  51. package/dist/plugins/auth.js +82 -0
  52. package/dist/plugins/auth.js.map +1 -0
  53. package/dist/plugins/cache.d.ts +40 -0
  54. package/dist/plugins/cache.d.ts.map +1 -0
  55. package/dist/plugins/cache.js +191 -0
  56. package/dist/plugins/cache.js.map +1 -0
  57. package/dist/plugins/index.d.ts +16 -0
  58. package/dist/plugins/index.d.ts.map +1 -0
  59. package/dist/plugins/index.js +12 -0
  60. package/dist/plugins/index.js.map +1 -0
  61. package/dist/plugins/metrics-plugin.d.ts +32 -0
  62. package/dist/plugins/metrics-plugin.d.ts.map +1 -0
  63. package/dist/plugins/metrics-plugin.js +61 -0
  64. package/dist/plugins/metrics-plugin.js.map +1 -0
  65. package/dist/plugins/plugins.test.d.ts +8 -0
  66. package/dist/plugins/plugins.test.d.ts.map +1 -0
  67. package/dist/plugins/plugins.test.js +640 -0
  68. package/dist/plugins/plugins.test.js.map +1 -0
  69. package/dist/plugins/retry-plugin.d.ts +55 -0
  70. package/dist/plugins/retry-plugin.d.ts.map +1 -0
  71. package/dist/plugins/retry-plugin.js +133 -0
  72. package/dist/plugins/retry-plugin.js.map +1 -0
  73. package/dist/telemetry.d.ts +183 -0
  74. package/dist/telemetry.d.ts.map +1 -0
  75. package/dist/telemetry.js +241 -0
  76. package/dist/telemetry.js.map +1 -0
  77. package/dist/types.d.ts +200 -0
  78. package/dist/types.d.ts.map +1 -0
  79. package/dist/types.js +8 -0
  80. package/dist/types.js.map +1 -0
  81. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.test.js","sourceRoot":"","sources":["../../src/plugins/plugins.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Retry middleware plugin for the Stele SDK.
3
+ *
4
+ * Automatically retries failed operations with exponential backoff
5
+ * and configurable jitter. Records retry count in context metadata.
6
+ */
7
+ import type { SteleMiddleware } from '../middleware.js';
8
+ /** Configuration options for the retry middleware. */
9
+ export interface RetryPluginOptions {
10
+ /** Maximum number of retry attempts. Default: 3. */
11
+ maxRetries?: number;
12
+ /** Base delay in milliseconds for exponential backoff. Default: 100. */
13
+ baseDelayMs?: number;
14
+ /**
15
+ * Predicate that determines whether an error should be retried.
16
+ * If not provided, all errors are retried.
17
+ */
18
+ shouldRetry?: (error: Error) => boolean;
19
+ }
20
+ /**
21
+ * Create a retry middleware that automatically retries failed operations.
22
+ *
23
+ * The middleware wraps the operation execution by intercepting errors and
24
+ * re-executing the operation function up to `maxRetries` times. Uses
25
+ * exponential backoff with full jitter to avoid thundering herd.
26
+ *
27
+ * After execution (success or final failure), `ctx.metadata.retryCount`
28
+ * contains the number of retries that were performed.
29
+ *
30
+ * **Important**: This middleware works at the `before` and `onError` level.
31
+ * Because the MiddlewarePipeline executes the operation function internally
32
+ * and the retry middleware cannot re-invoke it directly, the retry logic
33
+ * is implemented using a wrapper approach: it stores retry state in
34
+ * context metadata and signals retry intent through the pipeline.
35
+ *
36
+ * @param options - Optional retry configuration.
37
+ * @returns A SteleMiddleware that implements retry logic.
38
+ */
39
+ export declare function retryMiddleware(options?: RetryPluginOptions): SteleMiddleware;
40
+ /**
41
+ * Execute a function with retry logic, independent of the middleware pipeline.
42
+ *
43
+ * This provides a standalone retry wrapper that can be used directly around
44
+ * operations. It implements exponential backoff with full jitter.
45
+ *
46
+ * @param fn - The async function to execute with retries.
47
+ * @param options - Retry configuration.
48
+ * @returns The result of the function on success.
49
+ * @throws The last error if all retries are exhausted.
50
+ */
51
+ export declare function executeWithRetry<T>(fn: () => Promise<T>, options?: RetryPluginOptions): Promise<{
52
+ result: T;
53
+ retryCount: number;
54
+ }>;
55
+ //# sourceMappingURL=retry-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/retry-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAI3E,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CACzC;AAsBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAsE7E;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B5C"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Retry middleware plugin for the Stele SDK.
3
+ *
4
+ * Automatically retries failed operations with exponential backoff
5
+ * and configurable jitter. Records retry count in context metadata.
6
+ */
7
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
8
+ /**
9
+ * Compute delay with exponential backoff and jitter.
10
+ *
11
+ * Uses full jitter: delay = random(0, baseDelay * 2^attempt)
12
+ */
13
+ function computeDelay(baseDelayMs, attempt) {
14
+ const exponentialDelay = baseDelayMs * Math.pow(2, attempt);
15
+ // Full jitter: random value between 0 and the exponential delay
16
+ return Math.random() * exponentialDelay;
17
+ }
18
+ /** Sleep for the given number of milliseconds. */
19
+ function sleep(ms) {
20
+ return new Promise((resolve) => setTimeout(resolve, ms));
21
+ }
22
+ // ─── Middleware factory ──────────────────────────────────────────────────────
23
+ /**
24
+ * Create a retry middleware that automatically retries failed operations.
25
+ *
26
+ * The middleware wraps the operation execution by intercepting errors and
27
+ * re-executing the operation function up to `maxRetries` times. Uses
28
+ * exponential backoff with full jitter to avoid thundering herd.
29
+ *
30
+ * After execution (success or final failure), `ctx.metadata.retryCount`
31
+ * contains the number of retries that were performed.
32
+ *
33
+ * **Important**: This middleware works at the `before` and `onError` level.
34
+ * Because the MiddlewarePipeline executes the operation function internally
35
+ * and the retry middleware cannot re-invoke it directly, the retry logic
36
+ * is implemented using a wrapper approach: it stores retry state in
37
+ * context metadata and signals retry intent through the pipeline.
38
+ *
39
+ * @param options - Optional retry configuration.
40
+ * @returns A SteleMiddleware that implements retry logic.
41
+ */
42
+ export function retryMiddleware(options) {
43
+ const maxRetries = options?.maxRetries ?? 3;
44
+ const baseDelayMs = options?.baseDelayMs ?? 100;
45
+ const shouldRetry = options?.shouldRetry ?? (() => true);
46
+ // Track retry state per-operation using a WeakMap-like approach keyed on context
47
+ // Since the pipeline creates a new context per execute() call, we track by reference.
48
+ const retryState = new Map();
49
+ return {
50
+ name: 'retry',
51
+ async before(ctx) {
52
+ // Initialize retry state for this execution
53
+ if (!retryState.has(ctx)) {
54
+ retryState.set(ctx, { count: 0, lastError: null, operationFn: null });
55
+ }
56
+ ctx.metadata.retryCount = 0;
57
+ return { proceed: true };
58
+ },
59
+ async after(ctx, result) {
60
+ // Clean up retry state
61
+ const state = retryState.get(ctx);
62
+ if (state) {
63
+ ctx.metadata.retryCount = state.count;
64
+ retryState.delete(ctx);
65
+ }
66
+ return result;
67
+ },
68
+ async onError(ctx, error) {
69
+ const state = retryState.get(ctx);
70
+ if (!state) {
71
+ return;
72
+ }
73
+ // Record the retry count in metadata even on final failure
74
+ ctx.metadata.retryCount = state.count;
75
+ // Check if we should retry
76
+ if (state.count >= maxRetries) {
77
+ retryState.delete(ctx);
78
+ return; // Let the error propagate
79
+ }
80
+ if (!shouldRetry(error)) {
81
+ retryState.delete(ctx);
82
+ return; // Let the error propagate
83
+ }
84
+ state.count++;
85
+ ctx.metadata.retryCount = state.count;
86
+ // Wait with exponential backoff + jitter
87
+ const delay = computeDelay(baseDelayMs, state.count - 1);
88
+ await sleep(delay);
89
+ // Note: The onError hook cannot re-invoke the operation in the current
90
+ // pipeline architecture. The retry count is recorded for the caller
91
+ // to act on. The actual retry logic must be driven externally or
92
+ // the pipeline must be re-executed. This middleware records retry
93
+ // intent and delay behavior for composition with higher-level retry
94
+ // wrappers.
95
+ },
96
+ };
97
+ }
98
+ // ─── Standalone retry utility ────────────────────────────────────────────────
99
+ /**
100
+ * Execute a function with retry logic, independent of the middleware pipeline.
101
+ *
102
+ * This provides a standalone retry wrapper that can be used directly around
103
+ * operations. It implements exponential backoff with full jitter.
104
+ *
105
+ * @param fn - The async function to execute with retries.
106
+ * @param options - Retry configuration.
107
+ * @returns The result of the function on success.
108
+ * @throws The last error if all retries are exhausted.
109
+ */
110
+ export async function executeWithRetry(fn, options) {
111
+ const maxRetries = options?.maxRetries ?? 3;
112
+ const baseDelayMs = options?.baseDelayMs ?? 100;
113
+ const shouldRetry = options?.shouldRetry ?? (() => true);
114
+ let lastError;
115
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
116
+ try {
117
+ const result = await fn();
118
+ return { result, retryCount: attempt };
119
+ }
120
+ catch (err) {
121
+ lastError = err instanceof Error ? err : new Error(String(err));
122
+ if (attempt >= maxRetries || !shouldRetry(lastError)) {
123
+ throw lastError;
124
+ }
125
+ // Wait with exponential backoff + jitter
126
+ const delay = computeDelay(baseDelayMs, attempt);
127
+ await sleep(delay);
128
+ }
129
+ }
130
+ // Should never reach here, but TypeScript needs it
131
+ throw lastError;
132
+ }
133
+ //# sourceMappingURL=retry-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-plugin.js","sourceRoot":"","sources":["../../src/plugins/retry-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * OpenTelemetry-compatible instrumentation for the Stele SDK.
3
+ *
4
+ * Follows the "bring your own tracer" pattern: all OTel interfaces are
5
+ * defined inline so consumers can plug in their own OTel SDK without
6
+ * introducing any external dependency on `@opentelemetry/*` packages.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import type { SteleMiddleware } from './middleware.js';
11
+ import type { SteleEventType, SteleEventMap, SteleEvent } from './types.js';
12
+ /** Status code constants compatible with @opentelemetry/api SpanStatusCode. */
13
+ export declare const SpanStatusCode: {
14
+ readonly UNSET: 0;
15
+ readonly OK: 1;
16
+ readonly ERROR: 2;
17
+ };
18
+ /** Minimal Span interface compatible with @opentelemetry/api. */
19
+ export interface Span {
20
+ setAttribute(key: string, value: string | number | boolean): void;
21
+ setStatus(status: {
22
+ code: number;
23
+ message?: string;
24
+ }): void;
25
+ recordException(error: Error): void;
26
+ end(): void;
27
+ }
28
+ /** Minimal Tracer interface compatible with @opentelemetry/api. */
29
+ export interface Tracer {
30
+ startSpan(name: string, options?: {
31
+ attributes?: Record<string, string | number | boolean>;
32
+ }): Span;
33
+ }
34
+ /** Minimal Counter interface compatible with @opentelemetry/api. */
35
+ export interface Counter {
36
+ add(value: number, attributes?: Record<string, string>): void;
37
+ }
38
+ /** Minimal Histogram interface compatible with @opentelemetry/api. */
39
+ export interface Histogram {
40
+ record(value: number, attributes?: Record<string, string>): void;
41
+ }
42
+ /** Minimal Meter interface compatible with @opentelemetry/api. */
43
+ export interface Meter {
44
+ createCounter(name: string, options?: {
45
+ description?: string;
46
+ }): Counter;
47
+ createHistogram(name: string, options?: {
48
+ description?: string;
49
+ }): Histogram;
50
+ }
51
+ /** No-op Span that silently discards all calls. */
52
+ export declare class NoopSpan implements Span {
53
+ setAttribute(_key: string, _value: string | number | boolean): void;
54
+ setStatus(_status: {
55
+ code: number;
56
+ message?: string;
57
+ }): void;
58
+ recordException(_error: Error): void;
59
+ end(): void;
60
+ }
61
+ /** No-op Counter that silently discards all calls. */
62
+ export declare class NoopCounter implements Counter {
63
+ add(_value: number, _attributes?: Record<string, string>): void;
64
+ }
65
+ /** No-op Histogram that silently discards all calls. */
66
+ export declare class NoopHistogram implements Histogram {
67
+ record(_value: number, _attributes?: Record<string, string>): void;
68
+ }
69
+ /** No-op Tracer that returns NoopSpan instances. */
70
+ export declare class NoopTracer implements Tracer {
71
+ startSpan(_name: string, _options?: {
72
+ attributes?: Record<string, string | number | boolean>;
73
+ }): Span;
74
+ }
75
+ /** No-op Meter that returns NoopCounter and NoopHistogram instances. */
76
+ export declare class NoopMeter implements Meter {
77
+ createCounter(_name: string, _options?: {
78
+ description?: string;
79
+ }): Counter;
80
+ createHistogram(_name: string, _options?: {
81
+ description?: string;
82
+ }): Histogram;
83
+ }
84
+ /** Options for the telemetry middleware. */
85
+ export interface TelemetryMiddlewareOptions {
86
+ /** Tracer instance for creating spans. Defaults to NoopTracer. */
87
+ tracer?: Tracer;
88
+ }
89
+ /**
90
+ * Create a SteleMiddleware that wraps each operation with an OTel span.
91
+ *
92
+ * For every operation that passes through the middleware pipeline, this
93
+ * middleware:
94
+ * - Creates a span named after the operation (e.g. `stele.createCovenant`)
95
+ * - Sets attributes: `stele.operation`, and any result-specific attributes
96
+ * such as `stele.covenant.id`, `stele.evaluation.permitted`
97
+ * - Records duration via `stele.duration_ms`
98
+ * - Sets the span status to OK or ERROR
99
+ * - Records exceptions on failure
100
+ *
101
+ * @param options - Optional configuration with a custom tracer.
102
+ * @returns A SteleMiddleware instance.
103
+ */
104
+ export declare function telemetryMiddleware(options?: TelemetryMiddlewareOptions): SteleMiddleware;
105
+ /**
106
+ * A minimal interface for an object that exposes `on()` for event subscription.
107
+ *
108
+ * This matches SteleClient's public API without importing the class directly,
109
+ * keeping the telemetry module loosely coupled.
110
+ */
111
+ export interface EventSource {
112
+ on<T extends SteleEventType>(event: T, handler: (data: SteleEventMap[T]) => void): () => void;
113
+ }
114
+ /**
115
+ * Metrics collector for Stele SDK operations.
116
+ *
117
+ * Creates OTel-compatible counters and histograms and exposes a `record()`
118
+ * method to update them from SteleClient lifecycle events.
119
+ */
120
+ export declare class SteleMetrics {
121
+ private readonly _covenantsCreated;
122
+ private readonly _covenantsVerified;
123
+ private readonly _evaluationsTotal;
124
+ private readonly _evaluationsDenied;
125
+ private readonly _operationDuration;
126
+ constructor(meter: Meter);
127
+ /**
128
+ * Record a SteleClient event, updating the appropriate metrics.
129
+ *
130
+ * @param event - A SteleClient lifecycle event (from the `on()` callback).
131
+ */
132
+ record(event: SteleEvent): void;
133
+ /**
134
+ * Record an operation duration.
135
+ *
136
+ * @param durationMs - Duration in milliseconds.
137
+ * @param attributes - Optional attributes to attach to the measurement.
138
+ */
139
+ recordDuration(durationMs: number, attributes?: Record<string, string>): void;
140
+ /**
141
+ * Subscribe to all SteleClient events and automatically record metrics.
142
+ *
143
+ * @param client - An object with an `on()` method matching SteleClient's API.
144
+ * @returns An array of disposal functions that unsubscribe all listeners.
145
+ */
146
+ bindToClient(client: EventSource): (() => void)[];
147
+ }
148
+ /** Options for the `createTelemetry` factory. */
149
+ export interface CreateTelemetryOptions {
150
+ /** Tracer for span creation. Defaults to NoopTracer. */
151
+ tracer?: Tracer;
152
+ /** Meter for metrics collection. Defaults to NoopMeter. */
153
+ meter?: Meter;
154
+ }
155
+ /**
156
+ * Create a matched pair of telemetry middleware and metrics collector.
157
+ *
158
+ * This is the recommended entry point for instrumenting the Stele SDK.
159
+ * If no tracer or meter is provided, no-op implementations are used
160
+ * so that application code compiles and runs without any OTel dependency.
161
+ *
162
+ * @param options - Optional tracer and meter instances.
163
+ * @returns An object containing the middleware and metrics instances.
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * import { createTelemetry } from '@nobulex/sdk';
168
+ *
169
+ * // With real OTel SDK:
170
+ * const { middleware, metrics } = createTelemetry({
171
+ * tracer: otelTrace.getTracer('my-app'),
172
+ * meter: otelMetrics.getMeter('my-app'),
173
+ * });
174
+ *
175
+ * // Without OTel (no-op, zero overhead):
176
+ * const { middleware, metrics } = createTelemetry();
177
+ * ```
178
+ */
179
+ export declare function createTelemetry(options?: CreateTelemetryOptions): {
180
+ middleware: SteleMiddleware;
181
+ metrics: SteleMetrics;
182
+ };
183
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}