@modularizer/plat 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 (287) hide show
  1. package/README.md +574 -0
  2. package/bin/z2.js +5 -0
  3. package/dist/args/coerce.d.ts +54 -0
  4. package/dist/args/coerce.d.ts.map +1 -0
  5. package/dist/args/coerce.js +236 -0
  6. package/dist/args/coerce.js.map +1 -0
  7. package/dist/args/index.d.ts +2 -0
  8. package/dist/args/index.d.ts.map +1 -0
  9. package/dist/args/index.js +2 -0
  10. package/dist/args/index.js.map +1 -0
  11. package/dist/args/scalars.d.ts +87 -0
  12. package/dist/args/scalars.d.ts.map +1 -0
  13. package/dist/args/scalars.js +22 -0
  14. package/dist/args/scalars.js.map +1 -0
  15. package/dist/args/validate.d.ts +23 -0
  16. package/dist/args/validate.d.ts.map +1 -0
  17. package/dist/args/validate.js +185 -0
  18. package/dist/args/validate.js.map +1 -0
  19. package/dist/args/z2.d.ts +27 -0
  20. package/dist/args/z2.d.ts.map +1 -0
  21. package/dist/args/z2.js +24 -0
  22. package/dist/args/z2.js.map +1 -0
  23. package/dist/cli/commands/api-proxy.d.ts +9 -0
  24. package/dist/cli/commands/api-proxy.d.ts.map +1 -0
  25. package/dist/cli/commands/api-proxy.js +292 -0
  26. package/dist/cli/commands/api-proxy.js.map +1 -0
  27. package/dist/cli/commands/env.d.ts +32 -0
  28. package/dist/cli/commands/env.d.ts.map +1 -0
  29. package/dist/cli/commands/env.js +157 -0
  30. package/dist/cli/commands/env.js.map +1 -0
  31. package/dist/cli/commands/gen.d.ts +2 -0
  32. package/dist/cli/commands/gen.d.ts.map +1 -0
  33. package/dist/cli/commands/gen.js +88 -0
  34. package/dist/cli/commands/gen.js.map +1 -0
  35. package/dist/cli/commands/init-project.d.ts +9 -0
  36. package/dist/cli/commands/init-project.d.ts.map +1 -0
  37. package/dist/cli/commands/init-project.js +143 -0
  38. package/dist/cli/commands/init-project.js.map +1 -0
  39. package/dist/cli/commands/jwt-cmd.d.ts +10 -0
  40. package/dist/cli/commands/jwt-cmd.d.ts.map +1 -0
  41. package/dist/cli/commands/jwt-cmd.js +33 -0
  42. package/dist/cli/commands/jwt-cmd.js.map +1 -0
  43. package/dist/cli/commands/run.d.ts +5 -0
  44. package/dist/cli/commands/run.d.ts.map +1 -0
  45. package/dist/cli/commands/run.js +31 -0
  46. package/dist/cli/commands/run.js.map +1 -0
  47. package/dist/cli/commands/serve.d.ts +2 -0
  48. package/dist/cli/commands/serve.d.ts.map +1 -0
  49. package/dist/cli/commands/serve.js +43 -0
  50. package/dist/cli/commands/serve.js.map +1 -0
  51. package/dist/cli/commands/watch.d.ts +5 -0
  52. package/dist/cli/commands/watch.d.ts.map +1 -0
  53. package/dist/cli/commands/watch.js +119 -0
  54. package/dist/cli/commands/watch.js.map +1 -0
  55. package/dist/cli/index.d.ts +11 -0
  56. package/dist/cli/index.d.ts.map +1 -0
  57. package/dist/cli/index.js +11 -0
  58. package/dist/cli/index.js.map +1 -0
  59. package/dist/cli/jwt-helper.d.ts +32 -0
  60. package/dist/cli/jwt-helper.d.ts.map +1 -0
  61. package/dist/cli/jwt-helper.js +84 -0
  62. package/dist/cli/jwt-helper.js.map +1 -0
  63. package/dist/cli/proxy.d.ts +40 -0
  64. package/dist/cli/proxy.d.ts.map +1 -0
  65. package/dist/cli/proxy.js +171 -0
  66. package/dist/cli/proxy.js.map +1 -0
  67. package/dist/cli/runtime.d.ts +17 -0
  68. package/dist/cli/runtime.d.ts.map +1 -0
  69. package/dist/cli/runtime.js +286 -0
  70. package/dist/cli/runtime.js.map +1 -0
  71. package/dist/cli/spec-source.d.ts +13 -0
  72. package/dist/cli/spec-source.d.ts.map +1 -0
  73. package/dist/cli/spec-source.js +207 -0
  74. package/dist/cli/spec-source.js.map +1 -0
  75. package/dist/cli/z2.d.ts +7 -0
  76. package/dist/cli/z2.d.ts.map +1 -0
  77. package/dist/cli/z2.js +93 -0
  78. package/dist/cli/z2.js.map +1 -0
  79. package/dist/client/file-transport-plugin.d.ts +25 -0
  80. package/dist/client/file-transport-plugin.d.ts.map +1 -0
  81. package/dist/client/file-transport-plugin.js +80 -0
  82. package/dist/client/file-transport-plugin.js.map +1 -0
  83. package/dist/client/http-transport-plugin.d.ts +27 -0
  84. package/dist/client/http-transport-plugin.d.ts.map +1 -0
  85. package/dist/client/http-transport-plugin.js +48 -0
  86. package/dist/client/http-transport-plugin.js.map +1 -0
  87. package/dist/client/index.d.ts +6 -0
  88. package/dist/client/index.d.ts.map +1 -0
  89. package/dist/client/index.js +6 -0
  90. package/dist/client/index.js.map +1 -0
  91. package/dist/client/openapi-client.d.ts +332 -0
  92. package/dist/client/openapi-client.d.ts.map +1 -0
  93. package/dist/client/openapi-client.js +879 -0
  94. package/dist/client/openapi-client.js.map +1 -0
  95. package/dist/client/proxy.d.ts +5 -0
  96. package/dist/client/proxy.d.ts.map +1 -0
  97. package/dist/client/proxy.js +353 -0
  98. package/dist/client/proxy.js.map +1 -0
  99. package/dist/client/request-builder.d.ts +4 -0
  100. package/dist/client/request-builder.d.ts.map +1 -0
  101. package/dist/client/request-builder.js +88 -0
  102. package/dist/client/request-builder.js.map +1 -0
  103. package/dist/client/rpc-transport-plugin.d.ts +17 -0
  104. package/dist/client/rpc-transport-plugin.d.ts.map +1 -0
  105. package/dist/client/rpc-transport-plugin.js +69 -0
  106. package/dist/client/rpc-transport-plugin.js.map +1 -0
  107. package/dist/client/tools.d.ts +69 -0
  108. package/dist/client/tools.d.ts.map +1 -0
  109. package/dist/client/tools.js +122 -0
  110. package/dist/client/tools.js.map +1 -0
  111. package/dist/client/transport-plugin.d.ts +62 -0
  112. package/dist/client/transport-plugin.d.ts.map +1 -0
  113. package/dist/client/transport-plugin.js +40 -0
  114. package/dist/client/transport-plugin.js.map +1 -0
  115. package/dist/index.d.ts +9 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +8 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/logging.d.ts +9 -0
  120. package/dist/logging.d.ts.map +1 -0
  121. package/dist/logging.js +29 -0
  122. package/dist/logging.js.map +1 -0
  123. package/dist/rpc.d.ts +39 -0
  124. package/dist/rpc.d.ts.map +1 -0
  125. package/dist/rpc.js +2 -0
  126. package/dist/rpc.js.map +1 -0
  127. package/dist/server/auth/index.d.ts +4 -0
  128. package/dist/server/auth/index.d.ts.map +1 -0
  129. package/dist/server/auth/index.js +2 -0
  130. package/dist/server/auth/index.js.map +1 -0
  131. package/dist/server/auth/jwt.d.ts +27 -0
  132. package/dist/server/auth/jwt.d.ts.map +1 -0
  133. package/dist/server/auth/jwt.js +95 -0
  134. package/dist/server/auth/jwt.js.map +1 -0
  135. package/dist/server/cache/index.d.ts +2 -0
  136. package/dist/server/cache/index.d.ts.map +1 -0
  137. package/dist/server/cache/index.js +2 -0
  138. package/dist/server/cache/index.js.map +1 -0
  139. package/dist/server/cache/utils.d.ts +30 -0
  140. package/dist/server/cache/utils.d.ts.map +1 -0
  141. package/dist/server/cache/utils.js +116 -0
  142. package/dist/server/cache/utils.js.map +1 -0
  143. package/dist/server/call-sessions.d.ts +50 -0
  144. package/dist/server/call-sessions.d.ts.map +1 -0
  145. package/dist/server/call-sessions.js +90 -0
  146. package/dist/server/call-sessions.js.map +1 -0
  147. package/dist/server/config/bucket.d.ts +9 -0
  148. package/dist/server/config/bucket.d.ts.map +1 -0
  149. package/dist/server/config/bucket.js +57 -0
  150. package/dist/server/config/bucket.js.map +1 -0
  151. package/dist/server/config/defaults.d.ts +3 -0
  152. package/dist/server/config/defaults.d.ts.map +1 -0
  153. package/dist/server/config/defaults.js +29 -0
  154. package/dist/server/config/defaults.js.map +1 -0
  155. package/dist/server/config/index.d.ts +5 -0
  156. package/dist/server/config/index.d.ts.map +1 -0
  157. package/dist/server/config/index.js +5 -0
  158. package/dist/server/config/index.js.map +1 -0
  159. package/dist/server/config/logger.d.ts +3 -0
  160. package/dist/server/config/logger.d.ts.map +1 -0
  161. package/dist/server/config/logger.js +2 -0
  162. package/dist/server/config/logger.js.map +1 -0
  163. package/dist/server/config/types.d.ts +198 -0
  164. package/dist/server/config/types.d.ts.map +1 -0
  165. package/dist/server/config/types.js +2 -0
  166. package/dist/server/config/types.js.map +1 -0
  167. package/dist/server/core.d.ts +42 -0
  168. package/dist/server/core.d.ts.map +1 -0
  169. package/dist/server/core.js +202 -0
  170. package/dist/server/core.js.map +1 -0
  171. package/dist/server/env.d.ts +39 -0
  172. package/dist/server/env.d.ts.map +1 -0
  173. package/dist/server/env.js +66 -0
  174. package/dist/server/env.js.map +1 -0
  175. package/dist/server/file-queue-protocol-plugin.d.ts +7 -0
  176. package/dist/server/file-queue-protocol-plugin.d.ts.map +1 -0
  177. package/dist/server/file-queue-protocol-plugin.js +150 -0
  178. package/dist/server/file-queue-protocol-plugin.js.map +1 -0
  179. package/dist/server/file-queue.d.ts +25 -0
  180. package/dist/server/file-queue.d.ts.map +1 -0
  181. package/dist/server/file-queue.js +2 -0
  182. package/dist/server/file-queue.js.map +1 -0
  183. package/dist/server/help.d.ts +19 -0
  184. package/dist/server/help.d.ts.map +1 -0
  185. package/dist/server/help.js +91 -0
  186. package/dist/server/help.js.map +1 -0
  187. package/dist/server/index.d.ts +29 -0
  188. package/dist/server/index.d.ts.map +1 -0
  189. package/dist/server/index.js +29 -0
  190. package/dist/server/index.js.map +1 -0
  191. package/dist/server/operation-registry.d.ts +9 -0
  192. package/dist/server/operation-registry.d.ts.map +1 -0
  193. package/dist/server/operation-registry.js +16 -0
  194. package/dist/server/operation-registry.js.map +1 -0
  195. package/dist/server/param-aliases.d.ts +40 -0
  196. package/dist/server/param-aliases.d.ts.map +1 -0
  197. package/dist/server/param-aliases.js +112 -0
  198. package/dist/server/param-aliases.js.map +1 -0
  199. package/dist/server/protocol-plugin.d.ts +72 -0
  200. package/dist/server/protocol-plugin.d.ts.map +1 -0
  201. package/dist/server/protocol-plugin.js +2 -0
  202. package/dist/server/protocol-plugin.js.map +1 -0
  203. package/dist/server/rate-limit/index.d.ts +2 -0
  204. package/dist/server/rate-limit/index.d.ts.map +1 -0
  205. package/dist/server/rate-limit/index.js +2 -0
  206. package/dist/server/rate-limit/index.js.map +1 -0
  207. package/dist/server/rate-limit/utils.d.ts +27 -0
  208. package/dist/server/rate-limit/utils.d.ts.map +1 -0
  209. package/dist/server/rate-limit/utils.js +126 -0
  210. package/dist/server/rate-limit/utils.js.map +1 -0
  211. package/dist/server/routing.d.ts +39 -0
  212. package/dist/server/routing.d.ts.map +1 -0
  213. package/dist/server/routing.js +70 -0
  214. package/dist/server/routing.js.map +1 -0
  215. package/dist/server/rpc-protocol-plugin.d.ts +12 -0
  216. package/dist/server/rpc-protocol-plugin.d.ts.map +1 -0
  217. package/dist/server/rpc-protocol-plugin.js +134 -0
  218. package/dist/server/rpc-protocol-plugin.js.map +1 -0
  219. package/dist/server/server.d.ts +143 -0
  220. package/dist/server/server.d.ts.map +1 -0
  221. package/dist/server/server.js +1161 -0
  222. package/dist/server/server.js.map +1 -0
  223. package/dist/server/token-limit/index.d.ts +2 -0
  224. package/dist/server/token-limit/index.d.ts.map +1 -0
  225. package/dist/server/token-limit/index.js +2 -0
  226. package/dist/server/token-limit/index.js.map +1 -0
  227. package/dist/server/token-limit/utils.d.ts +44 -0
  228. package/dist/server/token-limit/utils.d.ts.map +1 -0
  229. package/dist/server/token-limit/utils.js +260 -0
  230. package/dist/server/token-limit/utils.js.map +1 -0
  231. package/dist/server/tools.d.ts +51 -0
  232. package/dist/server/tools.d.ts.map +1 -0
  233. package/dist/server/tools.js +225 -0
  234. package/dist/server/tools.js.map +1 -0
  235. package/dist/server/transports.d.ts +25 -0
  236. package/dist/server/transports.d.ts.map +1 -0
  237. package/dist/server/transports.js +2 -0
  238. package/dist/server/transports.js.map +1 -0
  239. package/dist/spec/decorators.d.ts +41 -0
  240. package/dist/spec/decorators.d.ts.map +1 -0
  241. package/dist/spec/decorators.js +93 -0
  242. package/dist/spec/decorators.js.map +1 -0
  243. package/dist/spec/index.d.ts +3 -0
  244. package/dist/spec/index.d.ts.map +1 -0
  245. package/dist/spec/index.js +3 -0
  246. package/dist/spec/index.js.map +1 -0
  247. package/dist/spec/metadata.d.ts +5 -0
  248. package/dist/spec/metadata.d.ts.map +1 -0
  249. package/dist/spec/metadata.js +37 -0
  250. package/dist/spec/metadata.js.map +1 -0
  251. package/dist/types/client.d.ts +81 -0
  252. package/dist/types/client.d.ts.map +1 -0
  253. package/dist/types/client.js +14 -0
  254. package/dist/types/client.js.map +1 -0
  255. package/dist/types/endpoints.d.ts +76 -0
  256. package/dist/types/endpoints.d.ts.map +1 -0
  257. package/dist/types/endpoints.js +2 -0
  258. package/dist/types/endpoints.js.map +1 -0
  259. package/dist/types/errors.d.ts +86 -0
  260. package/dist/types/errors.d.ts.map +1 -0
  261. package/dist/types/errors.js +153 -0
  262. package/dist/types/errors.js.map +1 -0
  263. package/dist/types/http.d.ts +80 -0
  264. package/dist/types/http.d.ts.map +1 -0
  265. package/dist/types/http.js +61 -0
  266. package/dist/types/http.js.map +1 -0
  267. package/dist/types/index.d.ts +9 -0
  268. package/dist/types/index.d.ts.map +1 -0
  269. package/dist/types/index.js +9 -0
  270. package/dist/types/index.js.map +1 -0
  271. package/dist/types/openapi.d.ts +220 -0
  272. package/dist/types/openapi.d.ts.map +1 -0
  273. package/dist/types/openapi.js +11 -0
  274. package/dist/types/openapi.js.map +1 -0
  275. package/dist/types/opts.d.ts +46 -0
  276. package/dist/types/opts.d.ts.map +1 -0
  277. package/dist/types/opts.js +2 -0
  278. package/dist/types/opts.js.map +1 -0
  279. package/dist/types/plugins.d.ts +93 -0
  280. package/dist/types/plugins.d.ts.map +1 -0
  281. package/dist/types/plugins.js +5 -0
  282. package/dist/types/plugins.js.map +1 -0
  283. package/dist/types/tools.d.ts +52 -0
  284. package/dist/types/tools.d.ts.map +1 -0
  285. package/dist/types/tools.js +2 -0
  286. package/dist/types/tools.js.map +1 -0
  287. package/package.json +84 -0
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Tool Definition Generation for AI Integrations (Claude, OpenAI, etc)
3
+ *
4
+ * Generates standardized tool definitions from controller metadata
5
+ * Supports multiple formats: Anthropic (Claude), OpenAI, generic JSON Schema
6
+ */
7
+ /**
8
+ * Convert a Zod schema to JSON Schema
9
+ */
10
+ export function zodToJsonSchema(schema) {
11
+ if (!schema) {
12
+ return { type: 'object', properties: {} };
13
+ }
14
+ // Handle different Zod types
15
+ const schemaAny = schema;
16
+ // For object schemas
17
+ if (schemaAny._def?.shape) {
18
+ const shape = schemaAny._def.shape;
19
+ const properties = {};
20
+ const required = [];
21
+ for (const [key, field] of Object.entries(shape)) {
22
+ const fieldSchema = field;
23
+ const fieldAny = fieldSchema;
24
+ // Check if required
25
+ if (fieldAny._def?.innerType === undefined && fieldAny._def?.t !== 'ZodOptional') {
26
+ required.push(key);
27
+ }
28
+ // Get the type
29
+ properties[key] = zodTypeToJsonType(fieldSchema);
30
+ }
31
+ return {
32
+ type: 'object',
33
+ properties,
34
+ required: required.length > 0 ? required : undefined,
35
+ };
36
+ }
37
+ // Fallback
38
+ return { type: 'object', properties: {} };
39
+ }
40
+ /**
41
+ * Convert a single Zod type to JSON Schema type
42
+ */
43
+ function zodTypeToJsonType(schema) {
44
+ const schemaAny = schema;
45
+ const typeName = schemaAny._def?.t;
46
+ switch (typeName) {
47
+ case 'ZodString':
48
+ return { type: 'string' };
49
+ case 'ZodNumber':
50
+ return { type: 'number' };
51
+ case 'ZodBoolean':
52
+ return { type: 'boolean' };
53
+ case 'ZodArray': {
54
+ const elementSchema = schemaAny._def?.type;
55
+ return {
56
+ type: 'array',
57
+ items: elementSchema ? zodTypeToJsonType(elementSchema) : { type: 'object' },
58
+ };
59
+ }
60
+ case 'ZodObject':
61
+ return zodToJsonSchema(schema);
62
+ case 'ZodOptional':
63
+ return zodTypeToJsonType(schemaAny._def?.innerType);
64
+ case 'ZodEnum':
65
+ return {
66
+ type: 'string',
67
+ enum: schemaAny._def?.values || [],
68
+ };
69
+ case 'ZodUnion':
70
+ return { type: 'string' }; // Simplified
71
+ default:
72
+ return { type: 'string' };
73
+ }
74
+ }
75
+ function emptyInputSchema() {
76
+ return { type: 'object', properties: {}, required: [] };
77
+ }
78
+ function normalizeInputSchema(schema) {
79
+ return {
80
+ type: 'object',
81
+ properties: schema?.properties ?? {},
82
+ required: schema?.required ?? [],
83
+ };
84
+ }
85
+ /**
86
+ * Create a tool definition from controller method metadata
87
+ */
88
+ export function createToolDefinition(initOrMethodName, httpMethod, path, description, inputSchema, responseSchema, controller) {
89
+ if (typeof initOrMethodName === 'object') {
90
+ return {
91
+ name: initOrMethodName.name,
92
+ summary: initOrMethodName.summary,
93
+ description: initOrMethodName.description || `${initOrMethodName.method.toUpperCase()} ${initOrMethodName.path}`,
94
+ method: initOrMethodName.method.toUpperCase(),
95
+ path: initOrMethodName.path,
96
+ controller: initOrMethodName.controller,
97
+ tags: initOrMethodName.tags,
98
+ examples: initOrMethodName.examples,
99
+ hidden: initOrMethodName.hidden,
100
+ safe: initOrMethodName.safe,
101
+ idempotent: initOrMethodName.idempotent,
102
+ longRunning: initOrMethodName.longRunning,
103
+ input_schema: normalizeInputSchema(initOrMethodName.input_schema),
104
+ response_schema: initOrMethodName.response_schema,
105
+ };
106
+ }
107
+ const methodName = initOrMethodName;
108
+ const normalizedMethod = (httpMethod || 'GET').toUpperCase();
109
+ const normalizedPath = path || `/${methodName}`;
110
+ const jsonInputSchema = inputSchema ? zodToJsonSchema(inputSchema) : emptyInputSchema();
111
+ return {
112
+ name: methodName,
113
+ description: description || `${normalizedMethod} ${normalizedPath}`,
114
+ method: normalizedMethod,
115
+ path: normalizedPath,
116
+ controller,
117
+ input_schema: normalizeInputSchema(jsonInputSchema),
118
+ response_schema: responseSchema ? zodToJsonSchema(responseSchema) : undefined,
119
+ };
120
+ }
121
+ export function buildInputSchemaFromOpenAPIOperation(operation) {
122
+ const properties = {};
123
+ const required = new Set();
124
+ if (Array.isArray(operation?.parameters)) {
125
+ for (const param of operation.parameters) {
126
+ if (!param?.name || !param?.schema)
127
+ continue;
128
+ properties[param.name] = { ...param.schema };
129
+ if (param.description)
130
+ properties[param.name].description = param.description;
131
+ if (param.required)
132
+ required.add(param.name);
133
+ }
134
+ }
135
+ const bodySchema = operation?.requestBody?.content?.['application/json']?.schema;
136
+ if (bodySchema?.type === 'object' && bodySchema.properties) {
137
+ Object.assign(properties, bodySchema.properties);
138
+ for (const name of bodySchema.required ?? [])
139
+ required.add(name);
140
+ }
141
+ return {
142
+ type: 'object',
143
+ properties,
144
+ required: Array.from(required),
145
+ };
146
+ }
147
+ export function buildResponseSchemaFromOpenAPIOperation(operation) {
148
+ const responses = operation?.responses;
149
+ if (!responses || typeof responses !== 'object')
150
+ return undefined;
151
+ for (const status of ['200', '201', '202', 'default']) {
152
+ const schema = responses[status]?.content?.['application/json']?.schema;
153
+ if (schema)
154
+ return schema;
155
+ }
156
+ for (const response of Object.values(responses)) {
157
+ const schema = response?.content?.['application/json']?.schema;
158
+ if (schema)
159
+ return schema;
160
+ }
161
+ return undefined;
162
+ }
163
+ export function toolDefinitionFromOpenAPIOperation(path, method, operation) {
164
+ if (!operation?.operationId)
165
+ return null;
166
+ return createToolDefinition({
167
+ name: operation.operationId,
168
+ summary: operation.summary,
169
+ description: operation.description || operation.summary || `${method.toUpperCase()} ${path}`,
170
+ method: method.toUpperCase(),
171
+ path,
172
+ controller: operation.tags?.[0],
173
+ tags: Array.isArray(operation.tags) ? operation.tags : undefined,
174
+ input_schema: buildInputSchemaFromOpenAPIOperation(operation),
175
+ response_schema: buildResponseSchemaFromOpenAPIOperation(operation),
176
+ });
177
+ }
178
+ /**
179
+ * Convert tool definition to Claude/Anthropic format
180
+ */
181
+ export function toAnthropicFormat(tool) {
182
+ return {
183
+ name: tool.name,
184
+ description: tool.description,
185
+ input_schema: tool.input_schema,
186
+ };
187
+ }
188
+ /**
189
+ * Convert tool definition to OpenAI format
190
+ */
191
+ export function toOpenAIFormat(tool) {
192
+ return {
193
+ type: 'function',
194
+ function: {
195
+ name: tool.name,
196
+ description: tool.description,
197
+ parameters: {
198
+ type: 'object',
199
+ properties: tool.input_schema.properties,
200
+ required: tool.input_schema.required,
201
+ },
202
+ },
203
+ };
204
+ }
205
+ /**
206
+ * Convert tool definition to generic format (with metadata)
207
+ */
208
+ export function toSchemaFormat(tool) {
209
+ return tool;
210
+ }
211
+ /**
212
+ * Convert tool definition to requested format
213
+ */
214
+ export function formatTool(tool, format) {
215
+ switch (format) {
216
+ case 'claude':
217
+ return toAnthropicFormat(tool);
218
+ case 'openai':
219
+ return toOpenAIFormat(tool);
220
+ case 'schema':
221
+ default:
222
+ return toSchemaFormat(tool);
223
+ }
224
+ }
225
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { RouteContext } from '../types';
2
+ export interface PLATServerResolvedOperation {
3
+ method: string;
4
+ path: string;
5
+ methodName: string;
6
+ boundMethod: Function;
7
+ controllerTag: string;
8
+ routeMeta: any;
9
+ controllerMeta: any;
10
+ }
11
+ export interface PLATServerCallEnvelope {
12
+ protocol: string;
13
+ method: string;
14
+ path: string;
15
+ headers: Record<string, string>;
16
+ input: Record<string, any>;
17
+ ctx: RouteContext;
18
+ operationId?: string;
19
+ requestId?: string;
20
+ req?: unknown;
21
+ res?: unknown;
22
+ allowHelp: boolean;
23
+ helpRequested?: boolean;
24
+ }
25
+ //# sourceMappingURL=transports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../../src/server/transports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,QAAQ,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,GAAG,CAAA;IACd,cAAc,EAAE,GAAG,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,GAAG,EAAE,YAAY,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transports.js","sourceRoot":"","sources":["../../src/server/transports.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { HttpMethod } from "../types";
2
+ import type { AuthMode } from "../types/endpoints";
3
+ import type { RateLimitMeta, TokenLimitMeta, CacheMeta } from "../types/plugins";
4
+ export declare const ROUTE_METADATA_KEY: unique symbol;
5
+ export interface ControllerOpts {
6
+ tag?: string;
7
+ auth?: AuthMode;
8
+ rateLimit?: RateLimitMeta;
9
+ tokenLimit?: TokenLimitMeta;
10
+ cache?: CacheMeta;
11
+ [key: string]: any;
12
+ }
13
+ export interface RouteOpts {
14
+ auth?: AuthMode;
15
+ rateLimit?: RateLimitMeta;
16
+ tokenLimit?: TokenLimitMeta;
17
+ cache?: CacheMeta;
18
+ [key: string]: any;
19
+ }
20
+ export declare const pendingRoutes: Map<any, {
21
+ key: string | symbol;
22
+ method: HttpMethod;
23
+ opts?: RouteOpts;
24
+ }[]>;
25
+ /**
26
+ * Controller decorator
27
+ * Registers a controller class. No base path routing - all methods become flat routes named after the method.
28
+ * The controller name is used only for OpenAPI tagging and documentation.
29
+ *
30
+ * @param controllerName - Name for documentation/OpenAPI tags (e.g., "orders", "users")
31
+ * @param opts - Controller-level options (auth, rate limiting, etc.)
32
+ */
33
+ export declare function Controller(controllerName?: string, opts?: ControllerOpts): ClassDecorator;
34
+ type RouteDecorator = (opts?: RouteOpts) => MethodDecorator;
35
+ export declare const GET: RouteDecorator;
36
+ export declare const POST: RouteDecorator;
37
+ export declare const PUT: RouteDecorator;
38
+ export declare const PATCH: RouteDecorator;
39
+ export declare const DELETE: RouteDecorator;
40
+ export {};
41
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/spec/decorators.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEhF,eAAO,MAAM,kBAAkB,eAAuB,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAID,eAAO,MAAM,aAAa;SAA6B,MAAM,GAAG,MAAM;YAAU,UAAU;WAAS,SAAS;IAAM,CAAA;AAElH;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACtB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,GAAE,cAAmB,GAC1B,cAAc,CA0BhB;AA4DD,KAAK,cAAc,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,eAAe,CAAA;AAE3D,eAAO,MAAM,GAAG,EAAE,cAAsD,CAAA;AACxE,eAAO,MAAM,IAAI,EAAE,cAAuD,CAAA;AAC1E,eAAO,MAAM,GAAG,EAAE,cAAsD,CAAA;AACxE,eAAO,MAAM,KAAK,EAAE,cAAwD,CAAA;AAC5E,eAAO,MAAM,MAAM,EAAE,cAAyD,CAAA"}
@@ -0,0 +1,93 @@
1
+ import { ensureControllerMeta, ensureRouteMeta, } from './metadata';
2
+ export const ROUTE_METADATA_KEY = Symbol('plat:route');
3
+ // Store pending routes for the new decorator proposal (Stage 3)
4
+ // Exported so that register() can process them after instance creation
5
+ export const pendingRoutes = new Map();
6
+ /**
7
+ * Controller decorator
8
+ * Registers a controller class. No base path routing - all methods become flat routes named after the method.
9
+ * The controller name is used only for OpenAPI tagging and documentation.
10
+ *
11
+ * @param controllerName - Name for documentation/OpenAPI tags (e.g., "orders", "users")
12
+ * @param opts - Controller-level options (auth, rate limiting, etc.)
13
+ */
14
+ export function Controller(controllerName, opts = {}) {
15
+ return (target) => {
16
+ const meta = ensureControllerMeta(target);
17
+ // Use provided name or fall back to class name
18
+ meta.basePath = controllerName || target.name;
19
+ meta.tag = opts.tag || controllerName || target.name;
20
+ meta.auth = opts.auth;
21
+ meta.rateLimit = opts.rateLimit;
22
+ meta.tokenLimit = opts.tokenLimit;
23
+ meta.cache = opts.cache;
24
+ // Scan methods for old decorator proposal (metadata on methods)
25
+ for (const key of Object.getOwnPropertyNames(target.prototype)) {
26
+ const method = target.prototype[key];
27
+ if (typeof method === 'function' && method[ROUTE_METADATA_KEY]) {
28
+ const { httpMethod, auth } = method[ROUTE_METADATA_KEY];
29
+ const routeMeta = ensureRouteMeta(target, key);
30
+ routeMeta.method = httpMethod;
31
+ routeMeta.path = '/' + String(key);
32
+ routeMeta.auth = auth;
33
+ }
34
+ }
35
+ // Note: Stage 3 decorator addInitializers will be processed in register()
36
+ // after instance creation, since addInitializers run at that time
37
+ };
38
+ }
39
+ function routeDecorator(method, opts) {
40
+ return (target, propertyKey) => {
41
+ // Handle new decorator proposal (Stage 3)
42
+ // In the new proposal, propertyKey is a context object with kind === 'method'
43
+ if (propertyKey && typeof propertyKey === 'object' && propertyKey.kind === 'method') {
44
+ const methodName = propertyKey.name;
45
+ // Mark the method with route metadata through a different mechanism
46
+ // Use addInitializer to register routes with the class metadata
47
+ if (propertyKey.addInitializer) {
48
+ propertyKey.addInitializer(function () {
49
+ const ctor = this.constructor;
50
+ if (!pendingRoutes.has(ctor)) {
51
+ pendingRoutes.set(ctor, []);
52
+ }
53
+ pendingRoutes.get(ctor).push({
54
+ key: methodName,
55
+ method,
56
+ opts,
57
+ });
58
+ });
59
+ }
60
+ return;
61
+ }
62
+ // Handle old decorator proposal (Stage 1/2)
63
+ if (target && typeof target === 'object' && target.constructor) {
64
+ const ctor = target.constructor;
65
+ const key = propertyKey;
66
+ const method_fn = target[key];
67
+ if (typeof method_fn === 'function') {
68
+ method_fn[ROUTE_METADATA_KEY] = { httpMethod: method, auth: opts?.auth };
69
+ }
70
+ const meta = ensureRouteMeta(ctor, key);
71
+ if (!meta.method) {
72
+ meta.method = method;
73
+ meta.path = '/' + String(key);
74
+ meta.auth = opts?.auth;
75
+ meta.rateLimit = opts?.rateLimit;
76
+ meta.tokenLimit = opts?.tokenLimit;
77
+ meta.cache = opts?.cache;
78
+ meta.summary = opts?.summary;
79
+ meta.description = opts?.description;
80
+ // Store full opts for extensibility
81
+ if (opts) {
82
+ meta.opts = opts;
83
+ }
84
+ }
85
+ }
86
+ };
87
+ }
88
+ export const GET = (opts) => routeDecorator('GET', opts);
89
+ export const POST = (opts) => routeDecorator('POST', opts);
90
+ export const PUT = (opts) => routeDecorator('PUT', opts);
91
+ export const PATCH = (opts) => routeDecorator('PATCH', opts);
92
+ export const DELETE = (opts) => routeDecorator('DELETE', opts);
93
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/spec/decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './decorators';
2
+ export * from './metadata';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './decorators';
2
+ export * from './metadata';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ControllerMeta, RouteMeta } from '../types/endpoints';
2
+ export declare function getControllerMeta(ctor: Function): ControllerMeta | undefined;
3
+ export declare function ensureControllerMeta(ctor: Function): ControllerMeta;
4
+ export declare function ensureRouteMeta(ctor: Function, key: string | symbol): RouteMeta;
5
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/spec/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAK9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS,CAc5E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAYnE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,GAAG,MAAM,GACnB,SAAS,CAUX"}
@@ -0,0 +1,37 @@
1
+ const controllers = new WeakMap();
2
+ const METADATA_KEY = Symbol('plat:controller');
3
+ export function getControllerMeta(ctor) {
4
+ // Try WeakMap first
5
+ let meta = controllers.get(ctor);
6
+ if (meta) {
7
+ return meta;
8
+ }
9
+ // Fall back to property on the class
10
+ meta = ctor[METADATA_KEY];
11
+ if (meta) {
12
+ return meta;
13
+ }
14
+ return undefined;
15
+ }
16
+ export function ensureControllerMeta(ctor) {
17
+ let meta = controllers.get(ctor);
18
+ if (!meta) {
19
+ meta = {
20
+ basePath: '',
21
+ routes: new Map(),
22
+ };
23
+ controllers.set(ctor, meta);
24
+ ctor[METADATA_KEY] = meta;
25
+ }
26
+ return meta;
27
+ }
28
+ export function ensureRouteMeta(ctor, key) {
29
+ const ctrl = ensureControllerMeta(ctor);
30
+ let route = ctrl.routes.get(key);
31
+ if (!route) {
32
+ route = { name: String(key) };
33
+ ctrl.routes.set(key, route);
34
+ }
35
+ return route;
36
+ }
37
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/spec/metadata.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,OAAO,EAA4B,CAAA;AAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAE9C,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,oBAAoB;IACpB,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAI,IAAY,CAAC,YAAY,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG;YACL,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI,GAAG,EAAE;SAClB,CAAA;QACD,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAE1B;QAAC,IAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAc,EACd,GAAoB;IAEpB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { EndpointDef } from "./endpoints";
2
+ import { ClientError, ServerError } from "./errors";
3
+ import type { PLATRPCEventKind } from "../rpc";
4
+ export type ApiClass<T> = abstract new (...args: any[]) => T;
5
+ export interface BuiltRequest {
6
+ url: string;
7
+ headers: HeadersInit;
8
+ body?: string;
9
+ }
10
+ export interface RetryContext {
11
+ attempt: number;
12
+ maxAttempts: number;
13
+ error?: unknown;
14
+ response?: Response;
15
+ route: EndpointDef;
16
+ }
17
+ export interface ClientProxyConfig {
18
+ baseUrl: string;
19
+ fetch?: typeof globalThis.fetch;
20
+ headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
21
+ timeoutMs?: number;
22
+ retry?: false | {
23
+ maxAttempts?: number;
24
+ retryDelayMs?: number | ((ctx: RetryContext) => number);
25
+ shouldRetry?: (ctx: RetryContext) => boolean;
26
+ };
27
+ onUnauthorized?: (error: ClientError) => void | Promise<void>;
28
+ onForbidden?: (error: ClientError) => void | Promise<void>;
29
+ onRateLimited?: (error: ClientError) => void | Promise<void>;
30
+ onServerError?: (error: ServerError) => void | Promise<void>;
31
+ }
32
+ export type Clientified<T> = {
33
+ [K in keyof T as T[K] extends (...args: any[]) => any ? K : never]: T[K] extends (input: infer I, ctx: any) => Promise<infer O> ? (input: I, opts?: ClientCallOptions) => Promise<O> : never;
34
+ };
35
+ export declare const ResponseFormats: {
36
+ readonly JSON: "json";
37
+ readonly TEXT: "text";
38
+ readonly BLOB: "blob";
39
+ readonly ARRAY_BUFFER: "arrayBuffer";
40
+ readonly RAW: "raw";
41
+ };
42
+ export type ResponseFormat = typeof ResponseFormats[keyof typeof ResponseFormats];
43
+ export declare const RequestFormats: {
44
+ readonly JSON: "json";
45
+ readonly FORM: "form";
46
+ readonly MULTIPART: "multipart";
47
+ readonly RAW: "raw";
48
+ };
49
+ export type RequestFormat = typeof RequestFormats[keyof typeof RequestFormats];
50
+ export interface ClientCallOptions {
51
+ headers?: HeadersInit;
52
+ signal?: AbortSignal;
53
+ timeoutMs?: number;
54
+ execution?: 'immediate' | 'deferred';
55
+ pollIntervalMs?: number;
56
+ retry?: false | Partial<NonNullable<Exclude<ClientProxyConfig['retry'], false>>>;
57
+ /** Controls how the response body is parsed. Defaults to 'json'. */
58
+ responseFormat?: ResponseFormat;
59
+ /** Controls how the request body is serialized. Defaults to 'json'.
60
+ * - 'json': JSON.stringify, sets Content-Type: application/json
61
+ * - 'form': URL-encoded, sets Content-Type: application/x-www-form-urlencoded
62
+ * - 'multipart': FormData (supports File/Blob), Content-Type set by browser
63
+ * - 'raw': body passed through as-is (string, ArrayBuffer, ReadableStream, etc.)
64
+ */
65
+ requestFormat?: RequestFormat;
66
+ /** Raw body to send when requestFormat is 'raw'. Bypasses param serialization. */
67
+ body?: BodyInit;
68
+ /** Receives intermediate per-call RPC stream events before the final result. */
69
+ onRpcEvent?: (event: {
70
+ id?: string;
71
+ event: PLATRPCEventKind;
72
+ data?: unknown;
73
+ }) => void | Promise<void>;
74
+ }
75
+ export interface ImmediateCallOptions extends ClientCallOptions {
76
+ execution?: 'immediate';
77
+ }
78
+ export interface DeferredCallOptions extends ClientCallOptions {
79
+ execution: 'deferred';
80
+ }
81
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export const ResponseFormats = {
2
+ JSON: 'json',
3
+ TEXT: 'text',
4
+ BLOB: 'blob',
5
+ ARRAY_BUFFER: 'arrayBuffer',
6
+ RAW: 'raw',
7
+ };
8
+ export const RequestFormats = {
9
+ JSON: 'json',
10
+ FORM: 'form',
11
+ MULTIPART: 'multipart',
12
+ RAW: 'raw',
13
+ };
14
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,aAAa;IAC3B,GAAG,EAAE,KAAK;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;CACJ,CAAC"}