@mondaydotcomorg/atp-runtime 0.17.16 → 0.18.4-rc.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.
@@ -8,283 +8,283 @@
8
8
  */
9
9
  export const GENERATED_METADATA = [
10
10
  {
11
- "name": "approval",
12
- "description": "Approval API - Request explicit human approval for sensitive operations",
13
- "methods": [
11
+ name: 'approval',
12
+ description: 'Approval API - Request explicit human approval for sensitive operations',
13
+ methods: [
14
14
  {
15
- "name": "request",
16
- "description": "Request approval from a human",
17
- "params": [
15
+ name: 'request',
16
+ description: 'Request approval from a human',
17
+ params: [
18
18
  {
19
- "name": "message",
20
- "type": "string",
21
- "description": "The message to display to the user",
22
- "optional": false
19
+ name: 'message',
20
+ type: 'string',
21
+ description: 'The message to display to the user',
22
+ optional: false,
23
23
  },
24
24
  {
25
- "name": "context",
26
- "type": "Record<string, unknown>",
27
- "description": "Optional context information about what needs approval",
28
- "optional": true
29
- }
25
+ name: 'context',
26
+ type: 'Record<string, unknown>',
27
+ description: 'Optional context information about what needs approval',
28
+ optional: true,
29
+ },
30
30
  ],
31
- "returns": "Promise<ApprovalResponse>"
32
- }
33
- ]
31
+ returns: 'Promise<ApprovalResponse>',
32
+ },
33
+ ],
34
34
  },
35
35
  {
36
- "name": "cache",
37
- "description": "Cache API - Store and retrieve data with optional TTL",
38
- "methods": [
36
+ name: 'cache',
37
+ description: 'Cache API - Store and retrieve data with optional TTL',
38
+ methods: [
39
39
  {
40
- "name": "get",
41
- "description": "Get a value from cache by key",
42
- "params": [
40
+ name: 'get',
41
+ description: 'Get a value from cache by key',
42
+ params: [
43
43
  {
44
- "name": "key",
45
- "type": "string",
46
- "description": "Cache key",
47
- "optional": false
48
- }
44
+ name: 'key',
45
+ type: 'string',
46
+ description: 'Cache key',
47
+ optional: false,
48
+ },
49
49
  ],
50
- "returns": "Promise<T | null>"
50
+ returns: 'Promise<T | null>',
51
51
  },
52
52
  {
53
- "name": "set",
54
- "description": "Set a value in cache with optional TTL",
55
- "params": [
53
+ name: 'set',
54
+ description: 'Set a value in cache with optional TTL',
55
+ params: [
56
56
  {
57
- "name": "key",
58
- "type": "string",
59
- "description": "Cache key",
60
- "optional": false
57
+ name: 'key',
58
+ type: 'string',
59
+ description: 'Cache key',
60
+ optional: false,
61
61
  },
62
62
  {
63
- "name": "value",
64
- "type": "unknown",
65
- "description": "Value to cache",
66
- "optional": false
63
+ name: 'value',
64
+ type: 'unknown',
65
+ description: 'Value to cache',
66
+ optional: false,
67
67
  },
68
68
  {
69
- "name": "ttl",
70
- "type": "number",
71
- "description": "Time to live in seconds",
72
- "optional": true
73
- }
69
+ name: 'ttl',
70
+ type: 'number',
71
+ description: 'Time to live in seconds',
72
+ optional: true,
73
+ },
74
74
  ],
75
- "returns": "Promise<void>"
75
+ returns: 'Promise<void>',
76
76
  },
77
77
  {
78
- "name": "delete",
79
- "description": "Delete a value from cache",
80
- "params": [
78
+ name: 'delete',
79
+ description: 'Delete a value from cache',
80
+ params: [
81
81
  {
82
- "name": "key",
83
- "type": "string",
84
- "description": "Cache key to delete",
85
- "optional": false
86
- }
82
+ name: 'key',
83
+ type: 'string',
84
+ description: 'Cache key to delete',
85
+ optional: false,
86
+ },
87
87
  ],
88
- "returns": "Promise<void>"
88
+ returns: 'Promise<void>',
89
89
  },
90
90
  {
91
- "name": "has",
92
- "description": "Check if a key exists in cache",
93
- "params": [
91
+ name: 'has',
92
+ description: 'Check if a key exists in cache',
93
+ params: [
94
94
  {
95
- "name": "key",
96
- "type": "string",
97
- "description": "Cache key to check",
98
- "optional": false
99
- }
95
+ name: 'key',
96
+ type: 'string',
97
+ description: 'Cache key to check',
98
+ optional: false,
99
+ },
100
100
  ],
101
- "returns": "Promise<boolean>"
101
+ returns: 'Promise<boolean>',
102
102
  },
103
103
  {
104
- "name": "clear",
105
- "description": "Clear all cache entries",
106
- "params": [],
107
- "returns": "Promise<void>"
108
- }
109
- ]
104
+ name: 'clear',
105
+ description: 'Clear all cache entries',
106
+ params: [],
107
+ returns: 'Promise<void>',
108
+ },
109
+ ],
110
110
  },
111
111
  {
112
- "name": "embedding",
113
- "description": "Embedding API - Client-side embedding with server-side vector storage",
114
- "methods": [
112
+ name: 'embedding',
113
+ description: 'Embedding API - Client-side embedding with server-side vector storage',
114
+ methods: [
115
115
  {
116
- "name": "embed",
117
- "description": "Request client to generate and store embeddings",
118
- "params": [
116
+ name: 'embed',
117
+ description: 'Request client to generate and store embeddings',
118
+ params: [
119
119
  {
120
- "name": "input",
121
- "type": "string | string[]",
122
- "description": "Text(s) to embed",
123
- "optional": false
120
+ name: 'input',
121
+ type: 'string | string[]',
122
+ description: 'Text(s) to embed',
123
+ optional: false,
124
124
  },
125
125
  {
126
- "name": "metadata",
127
- "type": "Record<string, unknown>",
128
- "description": "Optional metadata to store with embeddings",
129
- "optional": true
130
- }
126
+ name: 'metadata',
127
+ type: 'Record<string, unknown>',
128
+ description: 'Optional metadata to store with embeddings',
129
+ optional: true,
130
+ },
131
131
  ],
132
- "returns": "Promise<string | string[]>"
132
+ returns: 'Promise<string | string[]>',
133
133
  },
134
134
  {
135
- "name": "search",
136
- "description": "Search stored embeddings by similarity",
137
- "params": [
135
+ name: 'search',
136
+ description: 'Search stored embeddings by similarity',
137
+ params: [
138
138
  {
139
- "name": "query",
140
- "type": "string",
141
- "description": "Search query text (will be embedded by client)",
142
- "optional": false
139
+ name: 'query',
140
+ type: 'string',
141
+ description: 'Search query text (will be embedded by client)',
142
+ optional: false,
143
143
  },
144
144
  {
145
- "name": "options",
146
- "type": "Omit<SearchOptions, 'query'>",
147
- "description": "Search options (topK, minSimilarity, filter)",
148
- "optional": true
149
- }
145
+ name: 'options',
146
+ type: "Omit<SearchOptions, 'query'>",
147
+ description: 'Search options (topK, minSimilarity, filter)',
148
+ optional: true,
149
+ },
150
150
  ],
151
- "returns": "Promise<SearchResult[]>"
151
+ returns: 'Promise<SearchResult[]>',
152
152
  },
153
153
  {
154
- "name": "similarity",
155
- "description": "Calculate cosine similarity between two embedding vectors",
156
- "params": [
154
+ name: 'similarity',
155
+ description: 'Calculate cosine similarity between two embedding vectors',
156
+ params: [
157
157
  {
158
- "name": "embedding1",
159
- "type": "number[]",
160
- "description": "First embedding vector",
161
- "optional": false
158
+ name: 'embedding1',
159
+ type: 'number[]',
160
+ description: 'First embedding vector',
161
+ optional: false,
162
162
  },
163
163
  {
164
- "name": "embedding2",
165
- "type": "number[]",
166
- "description": "Second embedding vector",
167
- "optional": false
168
- }
164
+ name: 'embedding2',
165
+ type: 'number[]',
166
+ description: 'Second embedding vector',
167
+ optional: false,
168
+ },
169
169
  ],
170
- "returns": "number"
170
+ returns: 'number',
171
171
  },
172
172
  {
173
- "name": "getAll",
174
- "description": "Get all stored embeddings",
175
- "params": [],
176
- "returns": "EmbeddingRecord[]"
173
+ name: 'getAll',
174
+ description: 'Get all stored embeddings',
175
+ params: [],
176
+ returns: 'EmbeddingRecord[]',
177
177
  },
178
178
  {
179
- "name": "count",
180
- "description": "Get count of stored embeddings",
181
- "params": [],
182
- "returns": "number"
183
- }
184
- ]
179
+ name: 'count',
180
+ description: 'Get count of stored embeddings',
181
+ params: [],
182
+ returns: 'number',
183
+ },
184
+ ],
185
185
  },
186
186
  {
187
- "name": "llm",
188
- "description": "LLM API - Large Language Model calls using client-provided LLM (requires client.provideLLM())",
189
- "methods": [
187
+ name: 'llm',
188
+ description: 'LLM API - Large Language Model calls using client-provided LLM (requires client.provideLLM())',
189
+ methods: [
190
190
  {
191
- "name": "call",
192
- "description": "Make an LLM call with a prompt",
193
- "params": [
191
+ name: 'call',
192
+ description: 'Make an LLM call with a prompt',
193
+ params: [
194
194
  {
195
- "name": "options",
196
- "type": "LLMCallOptions",
197
- "description": "LLM call options including prompt",
198
- "optional": false
199
- }
195
+ name: 'options',
196
+ type: 'LLMCallOptions',
197
+ description: 'LLM call options including prompt',
198
+ optional: false,
199
+ },
200
200
  ],
201
- "returns": "Promise<string>"
201
+ returns: 'Promise<string>',
202
202
  },
203
203
  {
204
- "name": "extract",
205
- "description": "Extract structured data from text using an LLM",
206
- "params": [
204
+ name: 'extract',
205
+ description: 'Extract structured data from text using an LLM',
206
+ params: [
207
207
  {
208
- "name": "options",
209
- "type": "LLMExtractOptions",
210
- "description": "Extraction options with JSON schema",
211
- "optional": false
212
- }
208
+ name: 'options',
209
+ type: 'LLMExtractOptions',
210
+ description: 'Extraction options with JSON schema',
211
+ optional: false,
212
+ },
213
213
  ],
214
- "returns": "Promise<T>"
214
+ returns: 'Promise<T>',
215
215
  },
216
216
  {
217
- "name": "classify",
218
- "description": "Classify text into one of the provided categories",
219
- "params": [
217
+ name: 'classify',
218
+ description: 'Classify text into one of the provided categories',
219
+ params: [
220
220
  {
221
- "name": "options",
222
- "type": "LLMClassifyOptions",
223
- "description": "Classification options with categories",
224
- "optional": false
225
- }
221
+ name: 'options',
222
+ type: 'LLMClassifyOptions',
223
+ description: 'Classification options with categories',
224
+ optional: false,
225
+ },
226
226
  ],
227
- "returns": "Promise<string>"
228
- }
229
- ]
227
+ returns: 'Promise<string>',
228
+ },
229
+ ],
230
230
  },
231
231
  {
232
- "name": "progress",
233
- "description": "Progress API - Report execution progress to clients",
234
- "methods": [
232
+ name: 'progress',
233
+ description: 'Progress API - Report execution progress to clients',
234
+ methods: [
235
235
  {
236
- "name": "report",
237
- "description": "Report progress with message and completion fraction",
238
- "params": [
236
+ name: 'report',
237
+ description: 'Report progress with message and completion fraction',
238
+ params: [
239
239
  {
240
- "name": "message",
241
- "type": "string",
242
- "description": "Progress message",
243
- "optional": false
240
+ name: 'message',
241
+ type: 'string',
242
+ description: 'Progress message',
243
+ optional: false,
244
244
  },
245
245
  {
246
- "name": "fraction",
247
- "type": "number",
248
- "description": "Completion fraction (0-1)",
249
- "optional": false
250
- }
246
+ name: 'fraction',
247
+ type: 'number',
248
+ description: 'Completion fraction (0-1)',
249
+ optional: false,
250
+ },
251
251
  ],
252
- "returns": "void"
253
- }
254
- ]
255
- }
252
+ returns: 'void',
253
+ },
254
+ ],
255
+ },
256
256
  ];
257
257
  /**
258
258
  * Type definitions extracted using ts-json-schema-generator
259
259
  */
260
260
  export const TYPE_REGISTRY = [
261
261
  {
262
- "name": "ApprovalResponse",
263
- "definition": "export interface ApprovalResponse<T = unknown> {\n\tapproved: boolean;\n\tresponse?: T;\n\ttimestamp: number;\n}"
262
+ name: 'ApprovalResponse',
263
+ definition: 'export interface ApprovalResponse<T = unknown> {\n\tapproved: boolean;\n\tresponse?: T;\n\ttimestamp: number;\n}',
264
264
  },
265
265
  {
266
- "name": "SearchOptions",
267
- "definition": "interface SearchOptions {\n query: string;\n topK?: number;\n minSimilarity?: number;\n filter?: Record<string, unknown>;\n}"
266
+ name: 'SearchOptions',
267
+ definition: 'interface SearchOptions {\n query: string;\n topK?: number;\n minSimilarity?: number;\n filter?: Record<string, unknown>;\n}',
268
268
  },
269
269
  {
270
- "name": "SearchResult",
271
- "definition": "interface SearchResult {\n id: string;\n text: string;\n similarity: number;\n metadata?: Record<string, unknown>;\n}"
270
+ name: 'SearchResult',
271
+ definition: 'interface SearchResult {\n id: string;\n text: string;\n similarity: number;\n metadata?: Record<string, unknown>;\n}',
272
272
  },
273
273
  {
274
- "name": "EmbeddingRecord",
275
- "definition": "interface EmbeddingRecord {\n id: string;\n text: string;\n embedding: number[];\n metadata?: Record<string, unknown>;\n}"
274
+ name: 'EmbeddingRecord',
275
+ definition: 'interface EmbeddingRecord {\n id: string;\n text: string;\n embedding: number[];\n metadata?: Record<string, unknown>;\n}',
276
276
  },
277
277
  {
278
- "name": "LLMCallOptions",
279
- "definition": "interface LLMCallOptions {\n prompt: string;\n context?: Record<string, unknown>;\n model?: string;\n maxTokens?: number;\n temperature?: number;\n systemPrompt?: string;\n}"
278
+ name: 'LLMCallOptions',
279
+ definition: 'interface LLMCallOptions {\n prompt: string;\n context?: Record<string, unknown>;\n model?: string;\n maxTokens?: number;\n temperature?: number;\n systemPrompt?: string;\n}',
280
280
  },
281
281
  {
282
- "name": "LLMExtractOptions",
283
- "definition": "interface LLMExtractOptions {\n prompt: string;\n context?: Record<string, unknown>;\n schema: unknown;\n}"
282
+ name: 'LLMExtractOptions',
283
+ definition: 'interface LLMExtractOptions {\n prompt: string;\n context?: Record<string, unknown>;\n schema: unknown;\n}',
284
284
  },
285
285
  {
286
- "name": "LLMClassifyOptions",
287
- "definition": "interface LLMClassifyOptions {\n text: string;\n categories: string[];\n context?: Record<string, unknown>;\n}"
288
- }
286
+ name: 'LLMClassifyOptions',
287
+ definition: 'interface LLMClassifyOptions {\n text: string;\n categories: string[];\n context?: Record<string, unknown>;\n}',
288
+ },
289
289
  ];
290
290
  //# sourceMappingURL=generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/metadata/generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/metadata/generated.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,22 @@
3
3
  */
4
4
  export type { RuntimeAPIParam, RuntimeAPIMethod, RuntimeAPIMetadata } from './types.js';
5
5
  export { RuntimeAPI, RuntimeMethod } from './decorators.js';
6
+ export type { RuntimeAPIName } from './generated.js';
6
7
  import type { RuntimeAPIMetadata } from './types.js';
8
+ import type { RuntimeAPIName } from './generated.js';
9
+ interface ClientServices {
10
+ hasLLM: boolean;
11
+ hasApproval: boolean;
12
+ hasEmbedding: boolean;
13
+ hasTools: boolean;
14
+ }
7
15
  /**
8
16
  * Generates TypeScript definitions from runtime API metadata
17
+ * @param apis - Runtime API metadata
18
+ * @param options - Optional filtering options
9
19
  */
10
- export declare function generateRuntimeTypes(apis: RuntimeAPIMetadata[]): string;
20
+ export declare function generateRuntimeTypes(apis: RuntimeAPIMetadata[], options?: {
21
+ clientServices?: ClientServices;
22
+ requestedApis?: RuntimeAPIName[];
23
+ }): string;
11
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAgDvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,UAAU,cAAc;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,kBAAkB,EAAE,EAC1B,OAAO,CAAC,EAAE;IACT,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;CACjC,GACC,MAAM,CAsFR"}
@@ -2,12 +2,54 @@
2
2
  * Metadata and Type Generation Utilities
3
3
  */
4
4
  export { RuntimeAPI, RuntimeMethod } from './decorators.js';
5
+ import { TYPE_REGISTRY } from './generated.js';
5
6
  /**
6
7
  * Generates TypeScript definitions from runtime API metadata
8
+ * @param apis - Runtime API metadata
9
+ * @param options - Optional filtering options
7
10
  */
8
- export function generateRuntimeTypes(apis) {
9
- let typescript = '// Runtime SDK\ndeclare const atp: {\n';
10
- for (const api of apis) {
11
+ export function generateRuntimeTypes(apis, options) {
12
+ let filteredApis = apis;
13
+ if (options?.requestedApis && options.requestedApis.length > 0) {
14
+ const requestedApis = options.requestedApis.map((api) => apis.find((a) => a.name === api));
15
+ filteredApis = requestedApis.filter((api) => api !== undefined);
16
+ }
17
+ else if (options?.clientServices) {
18
+ filteredApis = apis.filter((api) => {
19
+ if (api.name === 'llm' && !options.clientServices.hasLLM)
20
+ return false;
21
+ if (api.name === 'approval' && !options.clientServices.hasApproval)
22
+ return false;
23
+ if (api.name === 'embedding' && !options.clientServices.hasEmbedding)
24
+ return false;
25
+ if (api.name === 'progress')
26
+ return false;
27
+ return true;
28
+ });
29
+ }
30
+ else {
31
+ filteredApis = apis.filter((api) => api.name === 'cache');
32
+ }
33
+ let typescript = '// Runtime SDK Type Definitions\n\n';
34
+ const usedTypes = new Set();
35
+ for (const api of filteredApis) {
36
+ for (const method of api.methods) {
37
+ const allTypes = [method.returns, ...method.params.map((p) => p.type)].join(' ');
38
+ const typeMatches = allTypes.match(/\b[A-Z][a-zA-Z]+\b/g);
39
+ if (typeMatches) {
40
+ typeMatches.forEach((t) => usedTypes.add(t));
41
+ }
42
+ }
43
+ }
44
+ for (const type of TYPE_REGISTRY) {
45
+ const typeNameMatch = type.definition.match(/(?:interface|type)\s+([A-Z][a-zA-Z]+)/);
46
+ const typeName = typeNameMatch?.[1];
47
+ if (typeName && usedTypes.has(typeName)) {
48
+ typescript += `${type.definition}\n\n`;
49
+ }
50
+ }
51
+ typescript += '// Runtime SDK\ndeclare const atp: {\n';
52
+ for (const api of filteredApis) {
11
53
  typescript += ` /**\n`;
12
54
  for (const line of api.description.split('\n')) {
13
55
  typescript += ` * ${line}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAI5D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA0B;IAC9D,IAAI,UAAU,GAAG,wCAAwC,CAAC;IAE1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,UAAU,IAAI,SAAS,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,UAAU,IAAI,QAAQ,IAAI,IAAI,CAAC;QAChC,CAAC;QACD,UAAU,IAAI,SAAS,CAAC;QAExB,UAAU,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC;QAEnC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAClC,UAAU,IAAI,WAAW,CAAC;YAC1B,UAAU,IAAI,UAAU,MAAM,CAAC,WAAW,IAAI,CAAC;YAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvB,UAAU,IAAI,iBAAiB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC;gBACtE,CAAC;YACF,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;oBACtD,CAAC,CAAC,6BAA6B;oBAC/B,CAAC,CAAC,cAAc,CAAC;gBAClB,UAAU,IAAI,mBAAmB,UAAU,IAAI,CAAC;YACjD,CAAC;YAED,UAAU,IAAI,WAAW,CAAC;YAE1B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChF,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,UAAU,IAAI,OAAO,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,KAAK,CAAC;YAErF,UAAU,IAAI,IAAI,CAAC;QACpB,CAAC;QAED,UAAU,IAAI,UAAU,CAAC;IAC1B,CAAC;IAED,UAAU,IAAI,QAAQ,CAAC;IAEvB,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"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"}