@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":"middleware.test.js","sourceRoot":"","sources":["../src/middleware.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Authentication middleware plugin for the Stele SDK.
3
+ *
4
+ * Enforces authentication requirements on operations by validating
5
+ * API keys or key pair credentials before allowing operations to proceed.
6
+ */
7
+ import type { SteleMiddleware } from '../middleware.js';
8
+ /** Configuration options for the authentication middleware. */
9
+ export interface AuthOptions {
10
+ /** API key for simple authentication. */
11
+ apiKey?: string;
12
+ /** Key pair for cryptographic authentication. */
13
+ keyPair?: {
14
+ publicKeyHex: string;
15
+ privateKey: Uint8Array;
16
+ };
17
+ /**
18
+ * Operation names that require authentication.
19
+ * If not provided, all operations require auth.
20
+ */
21
+ requiredFor?: string[];
22
+ }
23
+ /**
24
+ * Create an authentication middleware that enforces auth requirements.
25
+ *
26
+ * Supports two modes of authentication:
27
+ * - **API key**: Validates that a valid API key is configured.
28
+ * - **Key pair**: Validates that a valid key pair with non-empty public key
29
+ * and private key of appropriate size is configured.
30
+ *
31
+ * At least one of `apiKey` or `keyPair` must be provided. When both are
32
+ * present, either one is sufficient for authentication.
33
+ *
34
+ * The middleware can be configured to require auth only for specific
35
+ * operations using the `requiredFor` option. If omitted, auth is required
36
+ * for all operations.
37
+ *
38
+ * On successful authentication, the middleware injects auth metadata into
39
+ * the context:
40
+ * - `ctx.metadata.authenticated` — `true`
41
+ * - `ctx.metadata.authMethod` — `"apiKey"` or `"keyPair"`
42
+ * - `ctx.metadata.publicKeyHex` — the public key hex (key pair auth only)
43
+ *
44
+ * @param options - Authentication configuration.
45
+ * @returns A SteleMiddleware that enforces authentication.
46
+ * @throws Error if neither `apiKey` nor `keyPair` is provided.
47
+ */
48
+ export declare function authMiddleware(options: AuthOptions): SteleMiddleware;
49
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/plugins/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAI3E,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CA6DpE"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Authentication middleware plugin for the Stele SDK.
3
+ *
4
+ * Enforces authentication requirements on operations by validating
5
+ * API keys or key pair credentials before allowing operations to proceed.
6
+ */
7
+ // ─── Middleware factory ──────────────────────────────────────────────────────
8
+ /**
9
+ * Create an authentication middleware that enforces auth requirements.
10
+ *
11
+ * Supports two modes of authentication:
12
+ * - **API key**: Validates that a valid API key is configured.
13
+ * - **Key pair**: Validates that a valid key pair with non-empty public key
14
+ * and private key of appropriate size is configured.
15
+ *
16
+ * At least one of `apiKey` or `keyPair` must be provided. When both are
17
+ * present, either one is sufficient for authentication.
18
+ *
19
+ * The middleware can be configured to require auth only for specific
20
+ * operations using the `requiredFor` option. If omitted, auth is required
21
+ * for all operations.
22
+ *
23
+ * On successful authentication, the middleware injects auth metadata into
24
+ * the context:
25
+ * - `ctx.metadata.authenticated` — `true`
26
+ * - `ctx.metadata.authMethod` — `"apiKey"` or `"keyPair"`
27
+ * - `ctx.metadata.publicKeyHex` — the public key hex (key pair auth only)
28
+ *
29
+ * @param options - Authentication configuration.
30
+ * @returns A SteleMiddleware that enforces authentication.
31
+ * @throws Error if neither `apiKey` nor `keyPair` is provided.
32
+ */
33
+ export function authMiddleware(options) {
34
+ const { apiKey, keyPair, requiredFor } = options;
35
+ if (!apiKey && !keyPair) {
36
+ throw new Error('authMiddleware requires at least one of apiKey or keyPair');
37
+ }
38
+ return {
39
+ name: 'auth',
40
+ async before(ctx) {
41
+ // Check if this operation requires auth
42
+ if (requiredFor && requiredFor.length > 0) {
43
+ if (!requiredFor.includes(ctx.operation)) {
44
+ // This operation does not require auth
45
+ return { proceed: true };
46
+ }
47
+ }
48
+ // Try API key auth
49
+ if (apiKey) {
50
+ if (typeof apiKey === 'string' && apiKey.length > 0) {
51
+ return {
52
+ proceed: true,
53
+ metadata: {
54
+ authenticated: true,
55
+ authMethod: 'apiKey',
56
+ },
57
+ };
58
+ }
59
+ }
60
+ // Try key pair auth
61
+ if (keyPair) {
62
+ const { publicKeyHex, privateKey } = keyPair;
63
+ if (typeof publicKeyHex === 'string' &&
64
+ publicKeyHex.length > 0 &&
65
+ privateKey instanceof Uint8Array &&
66
+ (privateKey.length === 32 || privateKey.length === 64)) {
67
+ return {
68
+ proceed: true,
69
+ metadata: {
70
+ authenticated: true,
71
+ authMethod: 'keyPair',
72
+ publicKeyHex,
73
+ },
74
+ };
75
+ }
76
+ }
77
+ // No valid authentication found
78
+ throw new Error(`Authentication required for operation "${ctx.operation}"`);
79
+ },
80
+ };
81
+ }
82
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/plugins/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QAEZ,KAAK,CAAC,MAAM,CAAC,GAAsB;YACjC,wCAAwC;YACxC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,uCAAuC;oBACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACR,aAAa,EAAE,IAAI;4BACnB,UAAU,EAAE,QAAQ;yBACrB;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;gBAE7C,IACE,OAAO,YAAY,KAAK,QAAQ;oBAChC,YAAY,CAAC,MAAM,GAAG,CAAC;oBACvB,UAAU,YAAY,UAAU;oBAChC,CAAC,UAAU,CAAC,MAAM,KAAK,EAAE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,CAAC,EACtD,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACR,aAAa,EAAE,IAAI;4BACnB,UAAU,EAAE,SAAS;4BACrB,YAAY;yBACb;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,MAAM,IAAI,KAAK,CACb,0CAA0C,GAAG,CAAC,SAAS,GAAG,CAC3D,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Caching middleware plugin for the Stele SDK.
3
+ *
4
+ * Caches verification and evaluation results to avoid redundant crypto
5
+ * operations. Uses LRU eviction and TTL-based expiration.
6
+ */
7
+ import type { SteleMiddleware } from '../middleware.js';
8
+ /** Configuration options for the caching middleware. */
9
+ export interface CacheOptions {
10
+ /** Maximum number of entries in the cache. Default: 1000. */
11
+ maxSize?: number;
12
+ /** Time-to-live in milliseconds for cache entries. Default: 300_000 (5 min). */
13
+ ttlMs?: number;
14
+ }
15
+ /** Statistics about cache performance. */
16
+ export interface CacheStats {
17
+ /** Number of cache hits. */
18
+ hits: number;
19
+ /** Number of cache misses. */
20
+ misses: number;
21
+ /** Current number of entries in the cache. */
22
+ size: number;
23
+ /** Cache hit rate as a number between 0 and 1. */
24
+ hitRate: number;
25
+ }
26
+ /**
27
+ * Create a caching middleware that stores verification and evaluation results.
28
+ *
29
+ * Cached results are keyed by document ID + signature hash for verification,
30
+ * and by constraints hash + action + resource for evaluation. Uses LRU eviction
31
+ * with configurable max size and TTL-based expiration.
32
+ *
33
+ * @param options - Optional cache configuration.
34
+ * @returns A SteleMiddleware with additional `stats()` and `clear()` methods.
35
+ */
36
+ export declare function cachingMiddleware(options?: CacheOptions): SteleMiddleware & {
37
+ stats(): CacheStats;
38
+ clear(): void;
39
+ };
40
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/plugins/cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAI3E,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AA2JD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,GAAG;IAAE,KAAK,IAAI,UAAU,CAAC;IAAC,KAAK,IAAI,IAAI,CAAA;CAAE,CA4D1D"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Caching middleware plugin for the Stele SDK.
3
+ *
4
+ * Caches verification and evaluation results to avoid redundant crypto
5
+ * operations. Uses LRU eviction and TTL-based expiration.
6
+ */
7
+ // ─── LRU Cache ───────────────────────────────────────────────────────────────
8
+ /**
9
+ * Simple LRU cache with TTL-based expiration.
10
+ *
11
+ * Uses a Map to maintain insertion order. On access, entries are
12
+ * deleted and re-inserted to move them to the end (most recently used).
13
+ * On eviction, the first entry (least recently used) is removed.
14
+ */
15
+ class LRUCache {
16
+ _maxSize;
17
+ _ttlMs;
18
+ _entries = new Map();
19
+ _hits = 0;
20
+ _misses = 0;
21
+ constructor(maxSize, ttlMs) {
22
+ this._maxSize = maxSize;
23
+ this._ttlMs = ttlMs;
24
+ }
25
+ get(key) {
26
+ const entry = this._entries.get(key);
27
+ if (!entry) {
28
+ this._misses++;
29
+ return undefined;
30
+ }
31
+ // Check TTL
32
+ if (Date.now() > entry.expiresAt) {
33
+ this._entries.delete(key);
34
+ this._misses++;
35
+ return undefined;
36
+ }
37
+ // Move to end (most recently used)
38
+ this._entries.delete(key);
39
+ this._entries.set(key, entry);
40
+ this._hits++;
41
+ return entry.value;
42
+ }
43
+ set(key, value) {
44
+ // If key already exists, delete so re-insert moves it to end
45
+ if (this._entries.has(key)) {
46
+ this._entries.delete(key);
47
+ }
48
+ // Evict LRU entry if at capacity
49
+ if (this._entries.size >= this._maxSize) {
50
+ const firstKey = this._entries.keys().next().value;
51
+ this._entries.delete(firstKey);
52
+ }
53
+ this._entries.set(key, {
54
+ value,
55
+ expiresAt: Date.now() + this._ttlMs,
56
+ });
57
+ }
58
+ stats() {
59
+ const total = this._hits + this._misses;
60
+ return {
61
+ hits: this._hits,
62
+ misses: this._misses,
63
+ size: this._entries.size,
64
+ hitRate: total === 0 ? 0 : this._hits / total,
65
+ };
66
+ }
67
+ clear() {
68
+ this._entries.clear();
69
+ this._hits = 0;
70
+ this._misses = 0;
71
+ }
72
+ }
73
+ // ─── Cache key generation ────────────────────────────────────────────────────
74
+ /** Operations whose results are cacheable. */
75
+ const CACHEABLE_OPS = new Set([
76
+ 'verifyCovenant',
77
+ 'evaluateAction',
78
+ ]);
79
+ /**
80
+ * Build a cache key from the middleware context.
81
+ *
82
+ * - For verify operations: keyed on document id + signature hash
83
+ * - For evaluate operations: keyed on constraints hash + action + resource
84
+ */
85
+ function buildCacheKey(ctx) {
86
+ const { operation, args } = ctx;
87
+ if (!CACHEABLE_OPS.has(operation)) {
88
+ return undefined;
89
+ }
90
+ if (operation === 'verifyCovenant') {
91
+ const doc = args.doc;
92
+ if (doc && typeof doc.id === 'string' && typeof doc.signature === 'string') {
93
+ return `verify:${doc.id}:${doc.signature}`;
94
+ }
95
+ // Fallback: try to build key from stringified args
96
+ try {
97
+ return `verify:${JSON.stringify(args)}`;
98
+ }
99
+ catch {
100
+ return undefined;
101
+ }
102
+ }
103
+ if (operation === 'evaluateAction') {
104
+ const constraints = args.constraints;
105
+ const action = args.action;
106
+ const resource = args.resource;
107
+ // Also try to get constraints from a doc arg
108
+ const doc = args.doc;
109
+ const constraintsStr = constraints ?? doc?.constraints;
110
+ if (constraintsStr && action && resource) {
111
+ // Use a simple hash of constraints to keep keys manageable
112
+ let hash = 0;
113
+ for (let i = 0; i < constraintsStr.length; i++) {
114
+ const chr = constraintsStr.charCodeAt(i);
115
+ hash = ((hash << 5) - hash + chr) | 0;
116
+ }
117
+ return `eval:${hash}:${action}:${resource}`;
118
+ }
119
+ // Fallback
120
+ try {
121
+ return `eval:${JSON.stringify(args)}`;
122
+ }
123
+ catch {
124
+ return undefined;
125
+ }
126
+ }
127
+ return undefined;
128
+ }
129
+ // ─── Middleware factory ──────────────────────────────────────────────────────
130
+ /**
131
+ * Create a caching middleware that stores verification and evaluation results.
132
+ *
133
+ * Cached results are keyed by document ID + signature hash for verification,
134
+ * and by constraints hash + action + resource for evaluation. Uses LRU eviction
135
+ * with configurable max size and TTL-based expiration.
136
+ *
137
+ * @param options - Optional cache configuration.
138
+ * @returns A SteleMiddleware with additional `stats()` and `clear()` methods.
139
+ */
140
+ export function cachingMiddleware(options) {
141
+ const maxSize = options?.maxSize ?? 1000;
142
+ const ttlMs = options?.ttlMs ?? 300_000;
143
+ const cache = new LRUCache(maxSize, ttlMs);
144
+ const middleware = {
145
+ name: 'cache',
146
+ async before(ctx) {
147
+ const key = buildCacheKey(ctx);
148
+ if (key) {
149
+ const cached = cache.get(key);
150
+ if (cached !== undefined) {
151
+ // Store the cached result in metadata so the after hook can return it
152
+ ctx.metadata._cacheHit = true;
153
+ ctx.metadata._cachedResult = cached;
154
+ ctx.metadata._cacheKey = key;
155
+ }
156
+ else {
157
+ ctx.metadata._cacheHit = false;
158
+ ctx.metadata._cacheKey = key;
159
+ }
160
+ }
161
+ return { proceed: true };
162
+ },
163
+ async after(ctx, result) {
164
+ // If we had a cache hit, return the cached result
165
+ if (ctx.metadata._cacheHit === true) {
166
+ const cachedResult = ctx.metadata._cachedResult;
167
+ // Clean up internal metadata
168
+ delete ctx.metadata._cacheHit;
169
+ delete ctx.metadata._cachedResult;
170
+ delete ctx.metadata._cacheKey;
171
+ return cachedResult;
172
+ }
173
+ // If we have a cache key, store the result
174
+ const key = ctx.metadata._cacheKey;
175
+ if (key) {
176
+ cache.set(key, result);
177
+ delete ctx.metadata._cacheKey;
178
+ delete ctx.metadata._cacheHit;
179
+ }
180
+ return result;
181
+ },
182
+ stats() {
183
+ return cache.stats();
184
+ },
185
+ clear() {
186
+ cache.clear();
187
+ },
188
+ };
189
+ return middleware;
190
+ }
191
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/plugins/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Built-in plugins for the Stele SDK middleware system.
3
+ *
4
+ * Re-exports all plugin factories and their associated types.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { cachingMiddleware } from './cache.js';
9
+ export type { CacheOptions, CacheStats } from './cache.js';
10
+ export { authMiddleware } from './auth.js';
11
+ export type { AuthOptions } from './auth.js';
12
+ export { metricsMiddleware } from './metrics-plugin.js';
13
+ export type { MetricsPluginOptions } from './metrics-plugin.js';
14
+ export { retryMiddleware, executeWithRetry } from './retry-plugin.js';
15
+ export type { RetryPluginOptions } from './retry-plugin.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Built-in plugins for the Stele SDK middleware system.
3
+ *
4
+ * Re-exports all plugin factories and their associated types.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { cachingMiddleware } from './cache.js';
9
+ export { authMiddleware } from './auth.js';
10
+ export { metricsMiddleware } from './metrics-plugin.js';
11
+ export { retryMiddleware, executeWithRetry } from './retry-plugin.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Metrics middleware plugin for the Stele SDK.
3
+ *
4
+ * Automatically records operational metrics using the @nobulex/types
5
+ * MetricsRegistry. Tracks total operations, errors, duration, and
6
+ * active operation count.
7
+ */
8
+ import { MetricsRegistry } from '@nobulex/types';
9
+ import type { SteleMiddleware } from '../middleware.js';
10
+ /** Configuration options for the metrics middleware. */
11
+ export interface MetricsPluginOptions {
12
+ /** Optional pre-existing MetricsRegistry to use. Creates a new one if omitted. */
13
+ registry?: MetricsRegistry;
14
+ /** Prefix for all metric names. Default: "stele". */
15
+ prefix?: string;
16
+ }
17
+ /**
18
+ * Create a metrics middleware that records operational telemetry.
19
+ *
20
+ * Records the following metrics (prefixed with the configured prefix):
21
+ * - `{prefix}.operations.total` — Counter: total operations by name
22
+ * - `{prefix}.operations.errors` — Counter: total errors by name
23
+ * - `{prefix}.operations.duration` — Histogram: operation duration in ms
24
+ * - `{prefix}.operations.active` — Gauge: currently active operations
25
+ *
26
+ * @param options - Optional metrics configuration.
27
+ * @returns A SteleMiddleware with an exposed `registry` property.
28
+ */
29
+ export declare function metricsMiddleware(options?: MetricsPluginOptions): SteleMiddleware & {
30
+ registry: MetricsRegistry;
31
+ };
32
+ //# sourceMappingURL=metrics-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/metrics-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAI3E,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,eAAe,GAAG;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,CA0DjD"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Metrics middleware plugin for the Stele SDK.
3
+ *
4
+ * Automatically records operational metrics using the @nobulex/types
5
+ * MetricsRegistry. Tracks total operations, errors, duration, and
6
+ * active operation count.
7
+ */
8
+ import { createMetricsRegistry } from '@nobulex/types';
9
+ // ─── Middleware factory ──────────────────────────────────────────────────────
10
+ /**
11
+ * Create a metrics middleware that records operational telemetry.
12
+ *
13
+ * Records the following metrics (prefixed with the configured prefix):
14
+ * - `{prefix}.operations.total` — Counter: total operations by name
15
+ * - `{prefix}.operations.errors` — Counter: total errors by name
16
+ * - `{prefix}.operations.duration` — Histogram: operation duration in ms
17
+ * - `{prefix}.operations.active` — Gauge: currently active operations
18
+ *
19
+ * @param options - Optional metrics configuration.
20
+ * @returns A SteleMiddleware with an exposed `registry` property.
21
+ */
22
+ export function metricsMiddleware(options) {
23
+ const registry = options?.registry ?? createMetricsRegistry();
24
+ const prefix = options?.prefix ?? 'stele';
25
+ const totalCounter = registry.counter(`${prefix}.operations.total`, 'Total number of operations');
26
+ const errorCounter = registry.counter(`${prefix}.operations.errors`, 'Total number of operation errors');
27
+ const durationHistogram = registry.histogram(`${prefix}.operations.duration`, [1, 5, 10, 25, 50, 100, 250, 500, 1000], 'Operation duration in milliseconds');
28
+ const activeGauge = registry.gauge(`${prefix}.operations.active`, 'Number of currently active operations');
29
+ const middleware = {
30
+ name: 'metrics',
31
+ async before(ctx) {
32
+ totalCounter.increment();
33
+ activeGauge.increment();
34
+ ctx.metadata._metricsStart = performance.now();
35
+ return { proceed: true };
36
+ },
37
+ async after(ctx, result) {
38
+ activeGauge.decrement();
39
+ const start = ctx.metadata._metricsStart;
40
+ if (typeof start === 'number') {
41
+ const duration = performance.now() - start;
42
+ durationHistogram.observe(duration);
43
+ delete ctx.metadata._metricsStart;
44
+ }
45
+ return result;
46
+ },
47
+ async onError(ctx, _error) {
48
+ errorCounter.increment();
49
+ activeGauge.decrement();
50
+ const start = ctx.metadata._metricsStart;
51
+ if (typeof start === 'number') {
52
+ const duration = performance.now() - start;
53
+ durationHistogram.observe(duration);
54
+ delete ctx.metadata._metricsStart;
55
+ }
56
+ },
57
+ registry,
58
+ };
59
+ return middleware;
60
+ }
61
+ //# sourceMappingURL=metrics-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-plugin.js","sourceRoot":"","sources":["../../src/plugins/metrics-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAmB,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAaxE,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA8B;IAE9B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC;IAE1C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CACnC,GAAG,MAAM,mBAAmB,EAC5B,4BAA4B,CAC7B,CAAC;IACF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CACnC,GAAG,MAAM,oBAAoB,EAC7B,kCAAkC,CACnC,CAAC;IACF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAC1C,GAAG,MAAM,sBAAsB,EAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EACvC,oCAAoC,CACrC,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAChC,GAAG,MAAM,oBAAoB,EAC7B,uCAAuC,CACxC,CAAC;IAEF,MAAM,UAAU,GAAoD;QAClE,IAAI,EAAE,SAAS;QAEf,KAAK,CAAC,MAAM,CAAC,GAAsB;YACjC,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,QAAQ,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAsB,EAAE,MAAe;YACjD,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAuB,CAAC;YACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAC3C,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpC,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YACpC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAsB,EAAE,MAAa;YACjD,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAuB,CAAC;YACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAC3C,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpC,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YACpC,CAAC;QACH,CAAC;QAED,QAAQ;KACT,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Comprehensive tests for all Stele SDK plugins.
3
+ *
4
+ * Tests the caching, authentication, metrics, and retry middleware plugins
5
+ * using the MiddlewarePipeline from middleware.ts.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=plugins.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.test.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}