@scrawn/core 0.0.2 → 0.0.6

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 (126) hide show
  1. package/README.md +40 -0
  2. package/dist/config.d.ts +17 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +9 -2
  5. package/dist/config.js.map +1 -1
  6. package/dist/core/auth/apiKeyAuth.d.ts +4 -13
  7. package/dist/core/auth/apiKeyAuth.d.ts.map +1 -1
  8. package/dist/core/auth/apiKeyAuth.js +12 -17
  9. package/dist/core/auth/apiKeyAuth.js.map +1 -1
  10. package/dist/core/auth/baseAuth.d.ts +14 -36
  11. package/dist/core/auth/baseAuth.d.ts.map +1 -1
  12. package/dist/core/auth/baseAuth.js +0 -6
  13. package/dist/core/auth/baseAuth.js.map +1 -1
  14. package/dist/core/errors/index.d.ts +192 -0
  15. package/dist/core/errors/index.d.ts.map +1 -0
  16. package/dist/core/errors/index.js +280 -0
  17. package/dist/core/errors/index.js.map +1 -0
  18. package/dist/core/grpc/callContext.d.ts +18 -0
  19. package/dist/core/grpc/callContext.d.ts.map +1 -0
  20. package/dist/core/grpc/callContext.js +35 -0
  21. package/dist/core/grpc/callContext.js.map +1 -0
  22. package/dist/core/grpc/client.d.ts +13 -123
  23. package/dist/core/grpc/client.d.ts.map +1 -1
  24. package/dist/core/grpc/client.js +23 -131
  25. package/dist/core/grpc/client.js.map +1 -1
  26. package/dist/core/grpc/index.d.ts +5 -3
  27. package/dist/core/grpc/index.d.ts.map +1 -1
  28. package/dist/core/grpc/index.js +4 -2
  29. package/dist/core/grpc/index.js.map +1 -1
  30. package/dist/core/grpc/requestBuilder.d.ts +12 -113
  31. package/dist/core/grpc/requestBuilder.d.ts.map +1 -1
  32. package/dist/core/grpc/requestBuilder.js +36 -126
  33. package/dist/core/grpc/requestBuilder.js.map +1 -1
  34. package/dist/core/grpc/streamRequestBuilder.d.ts +13 -0
  35. package/dist/core/grpc/streamRequestBuilder.d.ts.map +1 -0
  36. package/dist/core/grpc/streamRequestBuilder.js +60 -0
  37. package/dist/core/grpc/streamRequestBuilder.js.map +1 -0
  38. package/dist/core/grpc/types.d.ts +5 -52
  39. package/dist/core/grpc/types.d.ts.map +1 -1
  40. package/dist/core/grpc/types.js +0 -7
  41. package/dist/core/grpc/types.js.map +1 -1
  42. package/dist/core/pricing/builders.d.ts +157 -0
  43. package/dist/core/pricing/builders.d.ts.map +1 -0
  44. package/dist/core/pricing/builders.js +218 -0
  45. package/dist/core/pricing/builders.js.map +1 -0
  46. package/dist/core/pricing/index.d.ts +30 -0
  47. package/dist/core/pricing/index.d.ts.map +1 -0
  48. package/dist/core/pricing/index.js +32 -0
  49. package/dist/core/pricing/index.js.map +1 -0
  50. package/dist/core/pricing/resolve.d.ts +39 -0
  51. package/dist/core/pricing/resolve.d.ts.map +1 -0
  52. package/dist/core/pricing/resolve.js +50 -0
  53. package/dist/core/pricing/resolve.js.map +1 -0
  54. package/dist/core/pricing/serialize.d.ts +55 -0
  55. package/dist/core/pricing/serialize.d.ts.map +1 -0
  56. package/dist/core/pricing/serialize.js +127 -0
  57. package/dist/core/pricing/serialize.js.map +1 -0
  58. package/dist/core/pricing/types.d.ts +122 -0
  59. package/dist/core/pricing/types.d.ts.map +1 -0
  60. package/dist/core/pricing/types.js +17 -0
  61. package/dist/core/pricing/types.js.map +1 -0
  62. package/dist/core/pricing/validate.d.ts +56 -0
  63. package/dist/core/pricing/validate.d.ts.map +1 -0
  64. package/dist/core/pricing/validate.js +162 -0
  65. package/dist/core/pricing/validate.js.map +1 -0
  66. package/dist/core/scrawn.d.ts +218 -17
  67. package/dist/core/scrawn.d.ts.map +1 -1
  68. package/dist/core/scrawn.js +469 -71
  69. package/dist/core/scrawn.js.map +1 -1
  70. package/dist/core/types/auth.d.ts +1 -1
  71. package/dist/core/types/event.d.ts +182 -18
  72. package/dist/core/types/event.d.ts.map +1 -1
  73. package/dist/core/types/event.js +133 -5
  74. package/dist/core/types/event.js.map +1 -1
  75. package/dist/gen/auth/v1/auth_grpc_pb.d.ts +3 -0
  76. package/dist/gen/auth/v1/auth_grpc_pb.js +45 -0
  77. package/dist/gen/auth/v1/auth_pb.d.ts +63 -57
  78. package/dist/gen/auth/v1/auth_pb.js +471 -86
  79. package/dist/gen/data/v1/data_grpc_pb.d.ts +5 -0
  80. package/dist/gen/data/v1/data_grpc_pb.js +44 -0
  81. package/dist/gen/data/v1/data_pb.d.ts +254 -0
  82. package/dist/gen/data/v1/data_pb.js +1530 -0
  83. package/dist/gen/event/v1/event_grpc_pb.d.ts +3 -0
  84. package/dist/gen/event/v1/event_grpc_pb.js +79 -0
  85. package/dist/gen/event/v1/event_pb.d.ts +273 -100
  86. package/dist/gen/event/v1/event_pb.js +1862 -138
  87. package/dist/gen/package.json +3 -0
  88. package/dist/gen/payment/v1/payment_grpc_pb.d.ts +3 -0
  89. package/dist/gen/payment/v1/payment_grpc_pb.js +45 -0
  90. package/dist/gen/payment/v1/payment_pb.d.ts +43 -35
  91. package/dist/gen/payment/v1/payment_pb.js +321 -59
  92. package/dist/gen/query/v1/query_grpc_pb.d.ts +5 -0
  93. package/dist/gen/query/v1/query_grpc_pb.js +44 -0
  94. package/dist/gen/query/v1/query_pb.d.ts +359 -0
  95. package/dist/gen/query/v1/query_pb.js +2327 -0
  96. package/dist/index.d.ts +19 -10
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +20 -10
  99. package/dist/index.js.map +1 -1
  100. package/dist/utils/forkAsyncIterable.d.ts +13 -0
  101. package/dist/utils/forkAsyncIterable.d.ts.map +1 -0
  102. package/dist/utils/forkAsyncIterable.js +78 -0
  103. package/dist/utils/forkAsyncIterable.js.map +1 -0
  104. package/dist/utils/logger.d.ts.map +1 -1
  105. package/dist/utils/logger.js +19 -19
  106. package/dist/utils/logger.js.map +1 -1
  107. package/dist/utils/pathMatcher.js +5 -5
  108. package/package.json +19 -15
  109. package/dist/gen/auth/v1/auth_connect.d.ts +0 -22
  110. package/dist/gen/auth/v1/auth_connect.d.ts.map +0 -1
  111. package/dist/gen/auth/v1/auth_connect.js +0 -26
  112. package/dist/gen/auth/v1/auth_connect.js.map +0 -1
  113. package/dist/gen/auth/v1/auth_pb.d.ts.map +0 -1
  114. package/dist/gen/auth/v1/auth_pb.js.map +0 -1
  115. package/dist/gen/event/v1/event_connect.d.ts +0 -22
  116. package/dist/gen/event/v1/event_connect.d.ts.map +0 -1
  117. package/dist/gen/event/v1/event_connect.js +0 -26
  118. package/dist/gen/event/v1/event_connect.js.map +0 -1
  119. package/dist/gen/event/v1/event_pb.d.ts.map +0 -1
  120. package/dist/gen/event/v1/event_pb.js.map +0 -1
  121. package/dist/gen/payment/v1/payment_connect.d.ts +0 -22
  122. package/dist/gen/payment/v1/payment_connect.d.ts.map +0 -1
  123. package/dist/gen/payment/v1/payment_connect.js +0 -26
  124. package/dist/gen/payment/v1/payment_connect.js.map +0 -1
  125. package/dist/gen/payment/v1/payment_pb.d.ts.map +0 -1
  126. package/dist/gen/payment/v1/payment_pb.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scrawn.js","sourceRoot":"","sources":["../../src/core/scrawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrawn.js","sourceRoot":"","sources":["../../src/core/scrawn.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ApiKeyAuthCreds } from '../auth/apiKeyAuth.js';
1
+ import type { ApiKeyAuthCreds } from "../auth/apiKeyAuth.js";
2
2
  /**
3
3
  * Registry of all authentication methods and their credential types.
4
4
  *
@@ -1,4 +1,6 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
+ import type { PriceExpr, ScrawnExpr } from "../pricing/types.js";
3
+ import type { ScrawnError } from "../errors/index.js";
2
4
  /**
3
5
  * Zod schema for event payload validation.
4
6
  *
@@ -6,29 +8,76 @@ import { z } from 'zod';
6
8
  *
7
9
  * Validates:
8
10
  * - userId: non-empty string
9
- * - debitAmount: positive number
11
+ * - Exactly one of: debitAmount (number), debitTag (string), or debitExpr (PriceExpr)
10
12
  */
11
13
  export declare const EventPayloadSchema: z.ZodObject<{
12
14
  userId: z.ZodString;
13
- debitAmount: z.ZodNumber;
15
+ debitAmount: z.ZodOptional<z.ZodNumber>;
16
+ debitTag: z.ZodOptional<z.ZodString>;
17
+ debitExpr: z.ZodOptional<z.ZodCustom<PriceExpr<string>, PriceExpr<string>>>;
14
18
  }, z.core.$strip>;
19
+ /**
20
+ * Debit field for pricing — exactly one of amount, tag, or expr.
21
+ *
22
+ * @typeParam TTag - The specific tag name literal type (defaults to `string`)
23
+ */
24
+ export type DebitField<TTag extends string = string> = {
25
+ amount: number;
26
+ tag?: never;
27
+ expr?: never;
28
+ } | {
29
+ amount?: never;
30
+ tag: TTag;
31
+ expr?: never;
32
+ } | {
33
+ amount?: never;
34
+ tag?: never;
35
+ expr: ScrawnExpr<TTag>;
36
+ };
15
37
  /**
16
38
  * Payload structure for event tracking.
17
39
  *
18
40
  * Used by both sdkCallEventConsumer and middlewareEventConsumer.
19
41
  *
42
+ * @typeParam TTag - The valid tag name union (defaults to `string` for untyped usage)
43
+ *
20
44
  * @property userId - The user ID associated with this event
21
- * @property debitAmount - Amount to debit for billing tracking
45
+ * @property debitAmount - (Optional) Direct amount to debit in cents
46
+ * @property debitTag - (Optional) Named price tag to look up amount from backend
47
+ * @property debitExpr - (Optional) Pricing expression for complex calculations
48
+ *
49
+ * Note: Exactly one of debitAmount, debitTag, or debitExpr must be provided.
22
50
  *
23
51
  * @example
24
52
  * ```typescript
25
- * const payload: EventPayload = {
53
+ * import { add, mul } from '@scrawn/core';
54
+ * import { biller } from './scrawn/biller';
55
+ *
56
+ * // Using direct amount
57
+ * const payload1: EventPayload = {
58
+ * userId: 'u123',
59
+ * debitAmount: 500 // 500 cents = $5.00
60
+ * };
61
+ *
62
+ * // Using price tag (compile-time checked)
63
+ * const payload2: EventPayload = {
64
+ * userId: 'u123',
65
+ * debitTag: 'PREMIUM_FEATURE'
66
+ * };
67
+ *
68
+ * // Using pricing expression
69
+ * const payload3: EventPayload = {
26
70
  * userId: 'u123',
27
- * debitAmount: 5
71
+ * debitExpr: add(mul(biller.tag('PREMIUM_CALL'), 3), biller.tag('EXTRA_FEE'), 250)
28
72
  * };
29
73
  * ```
30
74
  */
31
- export type EventPayload = z.infer<typeof EventPayloadSchema>;
75
+ export type EventPayload<TTag extends string = string> = {
76
+ userId: string;
77
+ debitAmount?: number;
78
+ debitTag?: TTag;
79
+ debitExpr?: ScrawnExpr<TTag>;
80
+ };
32
81
  /**
33
82
  * Generic request object type for middleware compatibility.
34
83
  * Supports Express, Fastify, and other Node.js frameworks.
@@ -69,51 +118,166 @@ export interface MiddlewareResponse {
69
118
  */
70
119
  export type MiddlewareNext = (error?: any) => void;
71
120
  /**
72
- * Extractor function that derives userId and debitAmount from a request.
121
+ * Extractor function that derives userId and debit info from a request.
73
122
  *
74
123
  * @param req - The incoming request object
75
- * @returns An object containing userId and debitAmount, a Promise resolving to it, or null to skip tracking
124
+ * @returns An object containing userId and either debitAmount or debitTag, a Promise resolving to it, or null to skip tracking
76
125
  *
77
126
  * @example
78
127
  * ```typescript
128
+ * // Using direct amount
79
129
  * const extractor: PayloadExtractor = (req) => ({
80
130
  * userId: req.headers['x-user-id'] as string,
81
131
  * debitAmount: 1
82
132
  * });
83
133
  *
84
- * // Return null to skip tracking
134
+ * // Using price tag
135
+ * const extractor: PayloadExtractor = (req) => ({
136
+ * userId: req.user.id,
137
+ * debitTag: 'STANDARD_API_CALL'
138
+ * });
139
+ *
140
+ * // Dynamic tag based on route
85
141
  * const extractor: PayloadExtractor = (req) => {
86
142
  * if (req.path === '/health') return null;
87
- * return { userId: req.user.id, debitAmount: 1 };
143
+ * return {
144
+ * userId: req.user.id,
145
+ * debitTag: req.path.startsWith('/premium') ? 'PREMIUM_API' : 'STANDARD_API'
146
+ * };
88
147
  * };
89
148
  * ```
90
149
  */
91
- export type PayloadExtractor = (req: MiddlewareRequest) => EventPayload | Promise<EventPayload> | null | Promise<null>;
150
+ export type PayloadExtractor<TTag extends string = string> = (req: MiddlewareRequest) => EventPayload<TTag> | Promise<EventPayload<TTag>> | null | Promise<null>;
151
+ /**
152
+ * Callback invoked when an event consumer encounters an error.
153
+ */
154
+ export type EventConsumerErrorCallback = (error: ScrawnError) => void;
92
155
  /**
93
156
  * Configuration options for the Express middleware event consumer.
94
157
  *
95
- * @property extractor - Function to extract userId and debitAmount from request. Return null to skip tracking.
158
+ * @property extractor - Function to extract userId and debit info from request. Return null to skip tracking.
96
159
  * @property whitelist - Optional array of endpoint patterns to track. Supports wildcards (* for single segment, ** for multiple segments). Takes precedence over blacklist.
97
160
  * @property blacklist - Optional array of endpoint patterns to exclude from tracking. Same wildcard support as whitelist. Only applies to endpoints not in whitelist.
98
161
  *
99
162
  * @example
100
163
  * ```typescript
101
- * const config: MiddlewareEventConfig = {
164
+ * // Using direct amounts
165
+ * const config1: MiddlewareEventConfig = {
102
166
  * extractor: (req) => ({
103
167
  * userId: req.user?.id,
104
168
  * debitAmount: calculateCost(req)
105
169
  * }),
106
- * whitelist: ['/api/expensive-operation', '/api/premium-feature', '/api/*\/data'],
107
- * blacklist: ['/api/health', '/api/collect-payment', '**.tmp']
170
+ * whitelist: ['/api/expensive-operation', '/api/premium-feature'],
171
+ * blacklist: ['/api/health']
172
+ * };
173
+ *
174
+ * // Using price tags
175
+ * const config2: MiddlewareEventConfig = {
176
+ * extractor: (req) => ({
177
+ * userId: req.user?.id,
178
+ * debitTag: req.path.startsWith('/premium') ? 'PREMIUM_API' : 'STANDARD_API'
179
+ * }),
180
+ * whitelist: ['/api/**'],
181
+ * blacklist: ['**.tmp']
108
182
  * };
109
183
  * ```
110
184
  */
111
- export interface MiddlewareEventConfig {
185
+ export interface MiddlewareEventConfig<TTag extends string = string> {
112
186
  /** Function to extract event payload from request. Return null to skip tracking. */
113
- extractor: PayloadExtractor;
187
+ extractor: PayloadExtractor<TTag>;
114
188
  /** Optional patterns to track (exact match or wildcards: * for single segment, ** for multi-segment). Takes precedence over blacklist. */
115
189
  whitelist?: string[];
116
190
  /** Optional patterns to exclude (exact match or wildcards: * for single segment, ** for multi-segment). Only applies to endpoints not in whitelist. */
117
191
  blacklist?: string[];
192
+ /** Optional callback for handling event consumer errors. */
193
+ onError?: EventConsumerErrorCallback;
118
194
  }
195
+ /**
196
+ * Zod schema for AI token usage payload validation.
197
+ *
198
+ * Used by aiTokenStreamConsumer to validate each token usage event.
199
+ *
200
+ * Validates:
201
+ * - userId: non-empty string
202
+ * - model: non-empty string (e.g., 'gpt-4', 'claude-3')
203
+ * - inputTokens: non-negative integer
204
+ * - outputTokens: non-negative integer
205
+ * - inputDebit: exactly one of amount (number), tag (string), or expr (PriceExpr)
206
+ * - outputDebit: exactly one of amount (number), tag (string), or expr (PriceExpr)
207
+ */
208
+ export declare const AITokenUsagePayloadSchema: z.ZodObject<{
209
+ userId: z.ZodString;
210
+ model: z.ZodString;
211
+ inputTokens: z.ZodNumber;
212
+ outputTokens: z.ZodNumber;
213
+ inputDebit: z.ZodObject<{
214
+ amount: z.ZodOptional<z.ZodNumber>;
215
+ tag: z.ZodOptional<z.ZodString>;
216
+ expr: z.ZodOptional<z.ZodCustom<PriceExpr<string>, PriceExpr<string>>>;
217
+ }, z.core.$strip>;
218
+ outputDebit: z.ZodObject<{
219
+ amount: z.ZodOptional<z.ZodNumber>;
220
+ tag: z.ZodOptional<z.ZodString>;
221
+ expr: z.ZodOptional<z.ZodCustom<PriceExpr<string>, PriceExpr<string>>>;
222
+ }, z.core.$strip>;
223
+ }, z.core.$strip>;
224
+ /**
225
+ * Payload structure for AI token usage tracking.
226
+ *
227
+ * Used by aiTokenStreamConsumer to track AI model token consumption.
228
+ * Each payload represents a single usage event (e.g., one chunk or one request).
229
+ *
230
+ * @typeParam TTag - The valid tag name union (defaults to `string` for untyped usage)
231
+ *
232
+ * @property userId - The user ID associated with this token usage
233
+ * @property model - The AI model identifier (e.g., 'gpt-4', 'claude-3-opus')
234
+ * @property inputTokens - Number of input/prompt tokens consumed
235
+ * @property outputTokens - Number of output/completion tokens consumed
236
+ * @property inputDebit - Billing info for input tokens (amount, tag, or expr)
237
+ * @property outputDebit - Billing info for output tokens (amount, tag, or expr)
238
+ *
239
+ * @example
240
+ * ```typescript
241
+ * import { mul, inputTokens, outputTokens } from '@scrawn/core';
242
+ * import { biller } from './scrawn/biller';
243
+ *
244
+ * // Using direct amounts
245
+ * const payload1: AITokenUsagePayload = {
246
+ * userId: 'u123',
247
+ * model: 'gpt-4',
248
+ * inputTokens: 100,
249
+ * outputTokens: 50,
250
+ * inputDebit: { amount: 3 }, // 3 cents
251
+ * outputDebit: { amount: 6 } // 6 cents
252
+ * };
253
+ *
254
+ * // Using price tags (compile-time checked)
255
+ * const payload2: AITokenUsagePayload = {
256
+ * userId: 'u123',
257
+ * model: 'claude-3-opus',
258
+ * inputTokens: 200,
259
+ * outputTokens: 100,
260
+ * inputDebit: { tag: 'CLAUDE_INPUT' },
261
+ * outputDebit: { tag: 'CLAUDE_OUTPUT' }
262
+ * };
263
+ *
264
+ * // Using pricing expressions (e.g., per-token pricing)
265
+ * const payload3: AITokenUsagePayload = {
266
+ * userId: 'u123',
267
+ * model: 'gpt-4',
268
+ * inputTokens: 100,
269
+ * outputTokens: 50,
270
+ * inputDebit: { expr: mul(biller.tag('GPT_INPUT_RATE'), inputTokens()) },
271
+ * outputDebit: { expr: mul(biller.tag('GPT_OUTPUT_RATE'), outputTokens()) }
272
+ * };
273
+ * ```
274
+ */
275
+ export type AITokenUsagePayload<TTag extends string = string> = {
276
+ userId: string;
277
+ model: string;
278
+ inputTokens: number;
279
+ outputTokens: number;
280
+ inputDebit: DebitField<TTag>;
281
+ outputDebit: DebitField<TTag>;
282
+ };
119
283
  //# sourceMappingURL=event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/core/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,uCAAuC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAC9C,2BAA2B;IAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,oBAAoB;IACpB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,uCAAuC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC3B,GAAG,EAAE,iBAAiB,KACrB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IAClC,oFAAoF;IACpF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,0IAA0I;IAC1I,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uJAAuJ;IACvJ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/core/types/event.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,60 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
+ import { isValidExpr, containsTokenExpr } from "../pricing/validate.js";
3
+ /**
4
+ * Valid expression kinds including token placeholders.
5
+ * Used for AI token usage payloads where token placeholders are allowed.
6
+ */
7
+ const ALL_EXPR_KINDS = ["amount", "tag", "op", "inputTokens", "outputTokens", "exprRef"];
8
+ /**
9
+ * Custom zod schema for PriceExpr validation (allows token placeholders).
10
+ * Used in AI token usage payloads where inputTokens()/outputTokens() are valid.
11
+ */
12
+ const PriceExprSchema = z.custom((val) => {
13
+ if (val === null || val === undefined || typeof val !== "object") {
14
+ return false;
15
+ }
16
+ const expr = val;
17
+ // Check that it has a valid kind (including token placeholders)
18
+ if (!ALL_EXPR_KINDS.includes(expr.kind)) {
19
+ return false;
20
+ }
21
+ // Use the validation function
22
+ return isValidExpr(expr);
23
+ }, {
24
+ message: "Must be a valid pricing expression (use tag(), add(), sub(), mul(), div(), amount(), inputTokens(), or outputTokens())",
25
+ });
26
+ /**
27
+ * Custom zod schema for PriceExpr validation (rejects token placeholders).
28
+ * Used in SDK call / middleware event payloads where inputTokens()/outputTokens()
29
+ * are NOT valid — they only make sense in AI token streaming context.
30
+ */
31
+ const PriceExprNoTokensSchema = z.custom((val) => {
32
+ if (val === null || val === undefined || typeof val !== "object") {
33
+ return false;
34
+ }
35
+ const expr = val;
36
+ // Check that it has a valid kind
37
+ if (!ALL_EXPR_KINDS.includes(expr.kind)) {
38
+ return false;
39
+ }
40
+ // Use the validation function
41
+ if (!isValidExpr(expr)) {
42
+ return false;
43
+ }
44
+ // Reject token placeholders in SDK call context
45
+ if (containsTokenExpr(expr)) {
46
+ return false;
47
+ }
48
+ return true;
49
+ }, {
50
+ message: "Must be a valid pricing expression (use tag(), add(), sub(), mul(), div(), or amount()). " +
51
+ "inputTokens() and outputTokens() are only valid in AI token usage expressions.",
52
+ });
53
+ /**
54
+ * Regex for validating tag names: ALL CAPS with underscores only.
55
+ * No lowercase, digits, or hyphens allowed.
56
+ */
57
+ const TAG_NAME_REGEX = /^[A-Z_]+$/;
2
58
  /**
3
59
  * Zod schema for event payload validation.
4
60
  *
@@ -6,10 +62,82 @@ import { z } from 'zod';
6
62
  *
7
63
  * Validates:
8
64
  * - userId: non-empty string
9
- * - debitAmount: positive number
65
+ * - Exactly one of: debitAmount (number), debitTag (string), or debitExpr (PriceExpr)
66
+ */
67
+ export const EventPayloadSchema = z
68
+ .object({
69
+ userId: z.string().min(1, "userId must be a non-empty string"),
70
+ debitAmount: z
71
+ .number()
72
+ .positive("debitAmount must be a positive number")
73
+ .optional(),
74
+ debitTag: z
75
+ .string()
76
+ .min(1, "debitTag must be a non-empty string")
77
+ .regex(TAG_NAME_REGEX, "debitTag must be ALL CAPS with underscores only (e.g., PREMIUM_CALL, FEE). No lowercase, digits, or hyphens allowed.")
78
+ .optional(),
79
+ debitExpr: PriceExprNoTokensSchema.optional(),
80
+ })
81
+ .refine((data) => {
82
+ const defined = [
83
+ data.debitAmount !== undefined,
84
+ data.debitTag !== undefined,
85
+ data.debitExpr !== undefined,
86
+ ].filter(Boolean).length;
87
+ return defined === 1;
88
+ }, {
89
+ message: "Exactly one of debitAmount, debitTag, or debitExpr must be provided",
90
+ });
91
+ /**
92
+ * Debit field schema for AI token usage.
93
+ *
94
+ * Represents a direct amount, a named price tag, or a pricing expression for billing.
95
+ * Exactly one of amount, tag, or expr must be provided.
96
+ * Tag names must be ALL CAPS with underscores only (e.g., CLAUDE_INPUT, GPT4_OUTPUT_RATE).
97
+ */
98
+ const DebitFieldSchema = z
99
+ .object({
100
+ amount: z.number().nonnegative("amount must be non-negative").optional(),
101
+ tag: z
102
+ .string()
103
+ .min(1, "tag must be a non-empty string")
104
+ .regex(TAG_NAME_REGEX, "tag must be ALL CAPS with underscores only (e.g., CLAUDE_INPUT, FEE). No lowercase, digits, or hyphens allowed.")
105
+ .optional(),
106
+ expr: PriceExprSchema.optional(),
107
+ })
108
+ .refine((data) => {
109
+ const defined = [
110
+ data.amount !== undefined,
111
+ data.tag !== undefined,
112
+ data.expr !== undefined,
113
+ ].filter(Boolean).length;
114
+ return defined === 1;
115
+ }, { message: "Exactly one of amount, tag, or expr must be provided" });
116
+ /**
117
+ * Zod schema for AI token usage payload validation.
118
+ *
119
+ * Used by aiTokenStreamConsumer to validate each token usage event.
120
+ *
121
+ * Validates:
122
+ * - userId: non-empty string
123
+ * - model: non-empty string (e.g., 'gpt-4', 'claude-3')
124
+ * - inputTokens: non-negative integer
125
+ * - outputTokens: non-negative integer
126
+ * - inputDebit: exactly one of amount (number), tag (string), or expr (PriceExpr)
127
+ * - outputDebit: exactly one of amount (number), tag (string), or expr (PriceExpr)
10
128
  */
11
- export const EventPayloadSchema = z.object({
12
- userId: z.string().min(1, 'userId must be a non-empty string'),
13
- debitAmount: z.number().positive('debitAmount must be a positive number'),
129
+ export const AITokenUsagePayloadSchema = z.object({
130
+ userId: z.string().min(1, "userId must be a non-empty string"),
131
+ model: z.string().min(1, "model must be a non-empty string"),
132
+ inputTokens: z
133
+ .number()
134
+ .int("inputTokens must be an integer")
135
+ .nonnegative("inputTokens must be non-negative"),
136
+ outputTokens: z
137
+ .number()
138
+ .int("outputTokens must be an integer")
139
+ .nonnegative("outputTokens must be non-negative"),
140
+ inputDebit: DebitFieldSchema,
141
+ outputDebit: DebitFieldSchema,
14
142
  });
15
143
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/core/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CAC5E,CAAC,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/core/types/event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ServiceClientConstructor } from "@grpc/grpc-js";
2
+
3
+ export const AuthServiceClient: ServiceClientConstructor;
@@ -0,0 +1,45 @@
1
+ // GENERATED CODE -- DO NOT EDIT!
2
+
3
+ 'use strict';
4
+ var grpc = require('@grpc/grpc-js');
5
+ var auth_v1_auth_pb = require('../../auth/v1/auth_pb.js');
6
+
7
+ function serialize_auth_v1_CreateAPIKeyRequest(arg) {
8
+ if (!(arg instanceof auth_v1_auth_pb.CreateAPIKeyRequest)) {
9
+ throw new Error('Expected argument of type auth.v1.CreateAPIKeyRequest');
10
+ }
11
+ return Buffer.from(arg.serializeBinary());
12
+ }
13
+
14
+ function deserialize_auth_v1_CreateAPIKeyRequest(buffer_arg) {
15
+ return auth_v1_auth_pb.CreateAPIKeyRequest.deserializeBinary(new Uint8Array(buffer_arg));
16
+ }
17
+
18
+ function serialize_auth_v1_CreateAPIKeyResponse(arg) {
19
+ if (!(arg instanceof auth_v1_auth_pb.CreateAPIKeyResponse)) {
20
+ throw new Error('Expected argument of type auth.v1.CreateAPIKeyResponse');
21
+ }
22
+ return Buffer.from(arg.serializeBinary());
23
+ }
24
+
25
+ function deserialize_auth_v1_CreateAPIKeyResponse(buffer_arg) {
26
+ return auth_v1_auth_pb.CreateAPIKeyResponse.deserializeBinary(new Uint8Array(buffer_arg));
27
+ }
28
+
29
+
30
+ var AuthServiceService = exports.AuthServiceService = {
31
+ // CreateAPIKey creates a new API key for the authenticated user
32
+ createAPIKey: {
33
+ path: '/auth.v1.AuthService/CreateAPIKey',
34
+ requestStream: false,
35
+ responseStream: false,
36
+ requestType: auth_v1_auth_pb.CreateAPIKeyRequest,
37
+ responseType: auth_v1_auth_pb.CreateAPIKeyResponse,
38
+ requestSerialize: serialize_auth_v1_CreateAPIKeyRequest,
39
+ requestDeserialize: deserialize_auth_v1_CreateAPIKeyRequest,
40
+ responseSerialize: serialize_auth_v1_CreateAPIKeyResponse,
41
+ responseDeserialize: deserialize_auth_v1_CreateAPIKeyResponse,
42
+ },
43
+ };
44
+
45
+ exports.AuthServiceClient = grpc.makeGenericClientConstructor(AuthServiceService, 'AuthService');