@sean.holung/minicode 0.3.8 → 0.3.10

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 (752) hide show
  1. package/README.md +9 -0
  2. package/dist/scripts/run-ts-bench-smoke.js +268 -0
  3. package/dist/scripts/ts-bench-adapter.js +251 -0
  4. package/dist/src/agent/config.js +2 -2
  5. package/dist/src/auto-allow.js +28 -0
  6. package/dist/src/benchmark/config.js +197 -0
  7. package/dist/src/benchmark/index.js +2 -0
  8. package/dist/src/benchmark/workspace-changes.js +125 -0
  9. package/dist/src/cli/args.js +13 -0
  10. package/dist/src/cli/benchmark-run.js +432 -0
  11. package/dist/src/cli/permissions-slash-command.js +50 -0
  12. package/dist/src/index.js +9 -2
  13. package/dist/src/indexer/plugin-loader.js +19 -1
  14. package/dist/src/indexer/project-index.js +35 -21
  15. package/dist/src/serve/agent-bridge.js +132 -2
  16. package/dist/src/serve/openai-compat.js +2 -2
  17. package/dist/src/serve/server.js +14 -0
  18. package/dist/src/serve/websocket.js +11 -0
  19. package/dist/src/session/session-store.js +11 -1
  20. package/dist/src/tools/registry.js +10 -2
  21. package/dist/src/ui/app.js +8 -2
  22. package/dist/src/ui/cli-ink.js +13 -2
  23. package/dist/src/ui/components/permission-prompt.js +53 -0
  24. package/dist/src/ui/permission-gate.js +42 -0
  25. package/dist/src/ui/state/ui-store.js +13 -0
  26. package/dist/src/web/app.js +217 -28
  27. package/dist/src/web/index.html +63 -2
  28. package/dist/src/web/style.css +986 -1699
  29. package/dist/tests/agent.test.js +110 -0
  30. package/dist/tests/benchmark-config.test.js +80 -0
  31. package/dist/tests/benchmark-run.test.js +180 -0
  32. package/dist/tests/cli-args.test.js +22 -0
  33. package/dist/tests/cli-oneshot.integration.test.js +5 -0
  34. package/dist/tests/config.test.js +21 -0
  35. package/dist/tests/context-indicator.test.js +9 -0
  36. package/dist/tests/file-tools.test.js +36 -0
  37. package/dist/tests/harbor-adapter.test.js +57 -0
  38. package/dist/tests/indexer.test.js +1 -1
  39. package/dist/tests/permission-gate-cli.test.js +126 -0
  40. package/dist/tests/permission-gate.test.js +196 -0
  41. package/dist/tests/python-plugin.test.js +357 -0
  42. package/dist/tests/serve.integration.test.js +31 -0
  43. package/dist/tests/session-store.test.js +18 -1
  44. package/dist/tests/session-ui.test.js +6 -0
  45. package/dist/tests/system-prompt.test.js +44 -9
  46. package/dist/tests/ts-bench-adapter.test.js +186 -0
  47. package/dist/tests/workspace-changes.test.js +82 -0
  48. package/node_modules/@minicode/agent-sdk/README.md +286 -90
  49. package/node_modules/@minicode/agent-sdk/dist/src/agent/agent.d.ts +40 -4
  50. package/node_modules/@minicode/agent-sdk/dist/src/agent/agent.d.ts.map +1 -1
  51. package/node_modules/@minicode/agent-sdk/dist/src/agent/agent.js +134 -27
  52. package/node_modules/@minicode/agent-sdk/dist/src/agent/agent.js.map +1 -1
  53. package/node_modules/@minicode/agent-sdk/dist/src/agent/structured-output.d.ts +42 -0
  54. package/node_modules/@minicode/agent-sdk/dist/src/agent/structured-output.d.ts.map +1 -0
  55. package/node_modules/@minicode/agent-sdk/dist/src/agent/structured-output.js +97 -0
  56. package/node_modules/@minicode/agent-sdk/dist/src/agent/structured-output.js.map +1 -0
  57. package/node_modules/@minicode/agent-sdk/dist/src/agent/types.d.ts +97 -2
  58. package/node_modules/@minicode/agent-sdk/dist/src/agent/types.d.ts.map +1 -1
  59. package/node_modules/@minicode/agent-sdk/dist/src/agent/types.js +15 -1
  60. package/node_modules/@minicode/agent-sdk/dist/src/agent/types.js.map +1 -1
  61. package/node_modules/@minicode/agent-sdk/dist/src/index.d.ts +10 -8
  62. package/node_modules/@minicode/agent-sdk/dist/src/index.d.ts.map +1 -1
  63. package/node_modules/@minicode/agent-sdk/dist/src/index.js +10 -6
  64. package/node_modules/@minicode/agent-sdk/dist/src/index.js.map +1 -1
  65. package/node_modules/@minicode/agent-sdk/dist/src/indexer/types.d.ts +8 -3
  66. package/node_modules/@minicode/agent-sdk/dist/src/indexer/types.d.ts.map +1 -1
  67. package/node_modules/@minicode/agent-sdk/dist/src/mcp/client-registry.d.ts +109 -0
  68. package/node_modules/@minicode/agent-sdk/dist/src/mcp/client-registry.d.ts.map +1 -0
  69. package/node_modules/@minicode/agent-sdk/dist/src/mcp/client-registry.js +237 -0
  70. package/node_modules/@minicode/agent-sdk/dist/src/mcp/client-registry.js.map +1 -0
  71. package/node_modules/@minicode/agent-sdk/dist/src/model/client.d.ts +5 -1
  72. package/node_modules/@minicode/agent-sdk/dist/src/model/client.d.ts.map +1 -1
  73. package/node_modules/@minicode/agent-sdk/dist/src/model/client.js +100 -8
  74. package/node_modules/@minicode/agent-sdk/dist/src/model/client.js.map +1 -1
  75. package/node_modules/@minicode/agent-sdk/dist/src/prompt/system-prompt.d.ts +31 -1
  76. package/node_modules/@minicode/agent-sdk/dist/src/prompt/system-prompt.d.ts.map +1 -1
  77. package/node_modules/@minicode/agent-sdk/dist/src/prompt/system-prompt.js +8 -7
  78. package/node_modules/@minicode/agent-sdk/dist/src/prompt/system-prompt.js.map +1 -1
  79. package/node_modules/@minicode/agent-sdk/dist/src/session/session.d.ts +8 -0
  80. package/node_modules/@minicode/agent-sdk/dist/src/session/session.d.ts.map +1 -1
  81. package/node_modules/@minicode/agent-sdk/dist/src/session/session.js +2 -0
  82. package/node_modules/@minicode/agent-sdk/dist/src/session/session.js.map +1 -1
  83. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.d.ts +10 -3
  84. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.d.ts.map +1 -1
  85. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.js +3 -3
  86. package/node_modules/@minicode/agent-sdk/dist/src/tools/edit-file.js.map +1 -1
  87. package/node_modules/@minicode/agent-sdk/dist/src/tools/list-files.d.ts +9 -2
  88. package/node_modules/@minicode/agent-sdk/dist/src/tools/list-files.d.ts.map +1 -1
  89. package/node_modules/@minicode/agent-sdk/dist/src/tools/list-files.js +2 -2
  90. package/node_modules/@minicode/agent-sdk/dist/src/tools/list-files.js.map +1 -1
  91. package/node_modules/@minicode/agent-sdk/dist/src/tools/read-file.d.ts +12 -2
  92. package/node_modules/@minicode/agent-sdk/dist/src/tools/read-file.d.ts.map +1 -1
  93. package/node_modules/@minicode/agent-sdk/dist/src/tools/read-file.js +3 -3
  94. package/node_modules/@minicode/agent-sdk/dist/src/tools/read-file.js.map +1 -1
  95. package/node_modules/@minicode/agent-sdk/dist/src/tools/run-command.d.ts +12 -2
  96. package/node_modules/@minicode/agent-sdk/dist/src/tools/run-command.d.ts.map +1 -1
  97. package/node_modules/@minicode/agent-sdk/dist/src/tools/run-command.js +5 -5
  98. package/node_modules/@minicode/agent-sdk/dist/src/tools/run-command.js.map +1 -1
  99. package/node_modules/@minicode/agent-sdk/dist/src/tools/search.d.ts +10 -2
  100. package/node_modules/@minicode/agent-sdk/dist/src/tools/search.d.ts.map +1 -1
  101. package/node_modules/@minicode/agent-sdk/dist/src/tools/search.js +5 -5
  102. package/node_modules/@minicode/agent-sdk/dist/src/tools/search.js.map +1 -1
  103. package/node_modules/@minicode/agent-sdk/dist/src/tools/write-file.d.ts +10 -3
  104. package/node_modules/@minicode/agent-sdk/dist/src/tools/write-file.d.ts.map +1 -1
  105. package/node_modules/@minicode/agent-sdk/dist/src/tools/write-file.js +3 -3
  106. package/node_modules/@minicode/agent-sdk/dist/src/tools/write-file.js.map +1 -1
  107. package/node_modules/@minicode/agent-sdk/dist/tests/agent.test.js +342 -0
  108. package/node_modules/@minicode/agent-sdk/dist/tests/agent.test.js.map +1 -1
  109. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.d.ts +2 -0
  110. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.d.ts.map +1 -0
  111. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.js +64 -0
  112. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.integration.test.js.map +1 -0
  113. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.d.ts +2 -0
  114. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.d.ts.map +1 -0
  115. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.js +350 -0
  116. package/node_modules/@minicode/agent-sdk/dist/tests/mcp-client.test.js.map +1 -0
  117. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.d.ts +2 -0
  118. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.d.ts.map +1 -0
  119. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.js +211 -0
  120. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-anthropic-structured-output.test.js.map +1 -0
  121. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.js +88 -0
  122. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.js.map +1 -1
  123. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.d.ts +2 -0
  124. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.d.ts.map +1 -0
  125. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.js +171 -0
  126. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-structured-output.test.js.map +1 -0
  127. package/node_modules/@minicode/agent-sdk/dist/tests/session.test.js +34 -0
  128. package/node_modules/@minicode/agent-sdk/dist/tests/session.test.js.map +1 -1
  129. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.d.ts +2 -0
  130. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.d.ts.map +1 -0
  131. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.js +212 -0
  132. package/node_modules/@minicode/agent-sdk/dist/tests/structured-output.test.js.map +1 -0
  133. package/node_modules/@minicode/agent-sdk/dist/tests/system-prompt.test.js +7 -7
  134. package/node_modules/@minicode/agent-sdk/dist/tests/system-prompt.test.js.map +1 -1
  135. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.d.ts +2 -0
  136. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.d.ts.map +1 -0
  137. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.js +72 -0
  138. package/node_modules/@minicode/agent-sdk/dist/tests/tool-factory-options.test.js.map +1 -0
  139. package/node_modules/@minicode/agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  140. package/node_modules/@minicode/agent-sdk/package.json +5 -2
  141. package/node_modules/minicode-plugin-python/dist/src/index.d.ts +9 -0
  142. package/node_modules/minicode-plugin-python/dist/src/index.d.ts.map +1 -0
  143. package/node_modules/minicode-plugin-python/dist/src/index.js +679 -0
  144. package/node_modules/minicode-plugin-python/dist/src/index.js.map +1 -0
  145. package/node_modules/minicode-plugin-python/dist/tsconfig.tsbuildinfo +1 -0
  146. package/node_modules/minicode-plugin-python/package.json +37 -0
  147. package/node_modules/node-addon-api/LICENSE.md +9 -0
  148. package/node_modules/node-addon-api/README.md +95 -0
  149. package/node_modules/node-addon-api/common.gypi +21 -0
  150. package/node_modules/node-addon-api/except.gypi +25 -0
  151. package/node_modules/node-addon-api/index.js +14 -0
  152. package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  153. package/node_modules/node-addon-api/napi-inl.h +7165 -0
  154. package/node_modules/node-addon-api/napi.h +3364 -0
  155. package/node_modules/node-addon-api/node_addon_api.gyp +42 -0
  156. package/node_modules/node-addon-api/node_api.gyp +9 -0
  157. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  158. package/node_modules/node-addon-api/nothing.c +0 -0
  159. package/node_modules/node-addon-api/package-support.json +21 -0
  160. package/node_modules/node-addon-api/package.json +480 -0
  161. package/node_modules/node-addon-api/tools/README.md +73 -0
  162. package/node_modules/node-addon-api/tools/check-napi.js +99 -0
  163. package/node_modules/node-addon-api/tools/clang-format.js +71 -0
  164. package/node_modules/node-addon-api/tools/conversion.js +301 -0
  165. package/node_modules/node-gyp-build/LICENSE +21 -0
  166. package/node_modules/node-gyp-build/README.md +58 -0
  167. package/node_modules/node-gyp-build/SECURITY.md +5 -0
  168. package/node_modules/node-gyp-build/bin.js +84 -0
  169. package/node_modules/node-gyp-build/build-test.js +19 -0
  170. package/node_modules/node-gyp-build/index.js +6 -0
  171. package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  172. package/node_modules/node-gyp-build/optional.js +7 -0
  173. package/node_modules/node-gyp-build/package.json +43 -0
  174. package/node_modules/tree-sitter/LICENSE +21 -0
  175. package/node_modules/tree-sitter/README.md +128 -0
  176. package/node_modules/tree-sitter/binding.gyp +80 -0
  177. package/node_modules/tree-sitter/index.js +916 -0
  178. package/node_modules/tree-sitter/package.json +76 -0
  179. package/node_modules/tree-sitter/src/addon_data.h +47 -0
  180. package/node_modules/tree-sitter/src/binding.cc +35 -0
  181. package/node_modules/tree-sitter/src/conversions.cc +140 -0
  182. package/node_modules/tree-sitter/src/conversions.h +22 -0
  183. package/node_modules/tree-sitter/src/language.cc +106 -0
  184. package/node_modules/tree-sitter/src/language.h +17 -0
  185. package/node_modules/tree-sitter/src/logger.cc +70 -0
  186. package/node_modules/tree-sitter/src/logger.h +19 -0
  187. package/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
  188. package/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
  189. package/node_modules/tree-sitter/src/node.cc +1088 -0
  190. package/node_modules/tree-sitter/src/node.h +30 -0
  191. package/node_modules/tree-sitter/src/parser.cc +306 -0
  192. package/node_modules/tree-sitter/src/parser.h +35 -0
  193. package/node_modules/tree-sitter/src/query.cc +397 -0
  194. package/node_modules/tree-sitter/src/query.h +40 -0
  195. package/node_modules/tree-sitter/src/tree.cc +316 -0
  196. package/node_modules/tree-sitter/src/tree.h +45 -0
  197. package/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
  198. package/node_modules/tree-sitter/src/tree_cursor.h +52 -0
  199. package/node_modules/tree-sitter/tree-sitter.d.ts +1042 -0
  200. package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1478 -0
  201. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
  202. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
  203. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +291 -0
  204. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
  205. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
  206. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
  207. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +523 -0
  208. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
  209. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
  210. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +293 -0
  211. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +293 -0
  212. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
  213. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +483 -0
  214. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +54 -0
  215. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +12 -0
  216. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +875 -0
  217. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2293 -0
  218. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +286 -0
  219. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +48 -0
  220. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +239 -0
  221. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4350 -0
  222. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
  223. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
  224. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +911 -0
  225. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
  226. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1034 -0
  227. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +399 -0
  228. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +170 -0
  229. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
  230. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +717 -0
  231. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
  232. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +11 -0
  233. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
  234. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
  235. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
  236. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
  237. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
  238. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
  239. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
  240. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
  241. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
  242. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +75 -0
  243. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +24 -0
  244. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +113 -0
  245. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1314 -0
  246. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1935 -0
  247. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
  248. package/node_modules/tree-sitter-python/LICENSE +21 -0
  249. package/node_modules/tree-sitter-python/README.md +24 -0
  250. package/node_modules/tree-sitter-python/binding.gyp +35 -0
  251. package/node_modules/tree-sitter-python/bindings/node/binding.cc +19 -0
  252. package/node_modules/tree-sitter-python/bindings/node/binding_test.js +9 -0
  253. package/node_modules/tree-sitter-python/bindings/node/index.d.ts +27 -0
  254. package/node_modules/tree-sitter-python/bindings/node/index.js +11 -0
  255. package/node_modules/tree-sitter-python/grammar.js +1225 -0
  256. package/node_modules/tree-sitter-python/package.json +60 -0
  257. package/node_modules/tree-sitter-python/prebuilds/darwin-arm64/tree-sitter-python.node +0 -0
  258. package/node_modules/tree-sitter-python/prebuilds/darwin-x64/tree-sitter-python.node +0 -0
  259. package/node_modules/tree-sitter-python/prebuilds/linux-arm64/tree-sitter-python.node +0 -0
  260. package/node_modules/tree-sitter-python/prebuilds/linux-x64/tree-sitter-python.node +0 -0
  261. package/node_modules/tree-sitter-python/prebuilds/win32-arm64/tree-sitter-python.node +0 -0
  262. package/node_modules/tree-sitter-python/prebuilds/win32-x64/tree-sitter-python.node +0 -0
  263. package/node_modules/tree-sitter-python/queries/highlights.scm +137 -0
  264. package/node_modules/tree-sitter-python/queries/tags.scm +14 -0
  265. package/node_modules/tree-sitter-python/src/grammar.json +6435 -0
  266. package/node_modules/tree-sitter-python/src/node-types.json +3746 -0
  267. package/node_modules/tree-sitter-python/src/parser.c +129742 -0
  268. package/node_modules/tree-sitter-python/src/scanner.c +437 -0
  269. package/node_modules/tree-sitter-python/src/tree_sitter/alloc.h +54 -0
  270. package/node_modules/tree-sitter-python/src/tree_sitter/array.h +291 -0
  271. package/node_modules/tree-sitter-python/src/tree_sitter/parser.h +286 -0
  272. package/node_modules/tree-sitter-python/tree-sitter-python.wasm +0 -0
  273. package/node_modules/tree-sitter-python/tree-sitter.json +42 -0
  274. package/package.json +13 -7
  275. package/packages/agent-sdk/node_modules/ajv/.runkit_example.js +23 -0
  276. package/packages/agent-sdk/node_modules/ajv/LICENSE +22 -0
  277. package/packages/agent-sdk/node_modules/ajv/README.md +207 -0
  278. package/packages/agent-sdk/node_modules/ajv/dist/2019.d.ts +19 -0
  279. package/packages/agent-sdk/node_modules/ajv/dist/2019.js +61 -0
  280. package/packages/agent-sdk/node_modules/ajv/dist/2019.js.map +1 -0
  281. package/packages/agent-sdk/node_modules/ajv/dist/2020.d.ts +19 -0
  282. package/packages/agent-sdk/node_modules/ajv/dist/2020.js +55 -0
  283. package/packages/agent-sdk/node_modules/ajv/dist/2020.js.map +1 -0
  284. package/packages/agent-sdk/node_modules/ajv/dist/ajv.d.ts +18 -0
  285. package/packages/agent-sdk/node_modules/ajv/dist/ajv.js +50 -0
  286. package/packages/agent-sdk/node_modules/ajv/dist/ajv.js.map +1 -0
  287. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
  288. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  289. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  290. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  291. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  292. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  293. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  294. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  295. package/packages/agent-sdk/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  296. package/packages/agent-sdk/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  297. package/packages/agent-sdk/node_modules/ajv/dist/compile/errors.js +123 -0
  298. package/packages/agent-sdk/node_modules/ajv/dist/compile/errors.js.map +1 -0
  299. package/packages/agent-sdk/node_modules/ajv/dist/compile/index.d.ts +80 -0
  300. package/packages/agent-sdk/node_modules/ajv/dist/compile/index.js +242 -0
  301. package/packages/agent-sdk/node_modules/ajv/dist/compile/index.js.map +1 -0
  302. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  303. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  304. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  305. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  306. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/serialize.js +236 -0
  307. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  308. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  309. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  310. package/packages/agent-sdk/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  311. package/packages/agent-sdk/node_modules/ajv/dist/compile/names.d.ts +20 -0
  312. package/packages/agent-sdk/node_modules/ajv/dist/compile/names.js +28 -0
  313. package/packages/agent-sdk/node_modules/ajv/dist/compile/names.js.map +1 -0
  314. package/packages/agent-sdk/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
  315. package/packages/agent-sdk/node_modules/ajv/dist/compile/ref_error.js +12 -0
  316. package/packages/agent-sdk/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  317. package/packages/agent-sdk/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  318. package/packages/agent-sdk/node_modules/ajv/dist/compile/resolve.js +155 -0
  319. package/packages/agent-sdk/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  320. package/packages/agent-sdk/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  321. package/packages/agent-sdk/node_modules/ajv/dist/compile/rules.js +26 -0
  322. package/packages/agent-sdk/node_modules/ajv/dist/compile/rules.js.map +1 -0
  323. package/packages/agent-sdk/node_modules/ajv/dist/compile/util.d.ts +40 -0
  324. package/packages/agent-sdk/node_modules/ajv/dist/compile/util.js +178 -0
  325. package/packages/agent-sdk/node_modules/ajv/dist/compile/util.js.map +1 -0
  326. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  327. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  328. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  329. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  330. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  331. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  332. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  333. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  334. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  335. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  336. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  337. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  338. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  339. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/index.js +520 -0
  340. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  341. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  342. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  343. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  344. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  345. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  346. package/packages/agent-sdk/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  347. package/packages/agent-sdk/node_modules/ajv/dist/core.d.ts +174 -0
  348. package/packages/agent-sdk/node_modules/ajv/dist/core.js +618 -0
  349. package/packages/agent-sdk/node_modules/ajv/dist/core.js.map +1 -0
  350. package/packages/agent-sdk/node_modules/ajv/dist/jtd.d.ts +47 -0
  351. package/packages/agent-sdk/node_modules/ajv/dist/jtd.js +72 -0
  352. package/packages/agent-sdk/node_modules/ajv/dist/jtd.js.map +1 -0
  353. package/packages/agent-sdk/node_modules/ajv/dist/refs/data.json +13 -0
  354. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  355. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  356. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  357. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  358. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  359. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  360. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  361. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  362. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  363. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  364. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  365. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  366. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  367. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  368. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  369. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  370. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  371. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  372. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  373. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  374. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  375. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  376. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  377. package/packages/agent-sdk/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  378. package/packages/agent-sdk/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  379. package/packages/agent-sdk/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  380. package/packages/agent-sdk/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  381. package/packages/agent-sdk/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  382. package/packages/agent-sdk/node_modules/ajv/dist/runtime/equal.js +7 -0
  383. package/packages/agent-sdk/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  384. package/packages/agent-sdk/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  385. package/packages/agent-sdk/node_modules/ajv/dist/runtime/parseJson.js +185 -0
  386. package/packages/agent-sdk/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  387. package/packages/agent-sdk/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  388. package/packages/agent-sdk/node_modules/ajv/dist/runtime/quote.js +30 -0
  389. package/packages/agent-sdk/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  390. package/packages/agent-sdk/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  391. package/packages/agent-sdk/node_modules/ajv/dist/runtime/re2.js +6 -0
  392. package/packages/agent-sdk/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  393. package/packages/agent-sdk/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  394. package/packages/agent-sdk/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  395. package/packages/agent-sdk/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  396. package/packages/agent-sdk/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  397. package/packages/agent-sdk/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  398. package/packages/agent-sdk/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  399. package/packages/agent-sdk/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
  400. package/packages/agent-sdk/node_modules/ajv/dist/runtime/uri.js +6 -0
  401. package/packages/agent-sdk/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  402. package/packages/agent-sdk/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  403. package/packages/agent-sdk/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  404. package/packages/agent-sdk/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  405. package/packages/agent-sdk/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  406. package/packages/agent-sdk/node_modules/ajv/dist/standalone/index.js +90 -0
  407. package/packages/agent-sdk/node_modules/ajv/dist/standalone/index.js.map +1 -0
  408. package/packages/agent-sdk/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  409. package/packages/agent-sdk/node_modules/ajv/dist/standalone/instance.js +35 -0
  410. package/packages/agent-sdk/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  411. package/packages/agent-sdk/node_modules/ajv/dist/types/index.d.ts +183 -0
  412. package/packages/agent-sdk/node_modules/ajv/dist/types/index.js +3 -0
  413. package/packages/agent-sdk/node_modules/ajv/dist/types/index.js.map +1 -0
  414. package/packages/agent-sdk/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
  415. package/packages/agent-sdk/node_modules/ajv/dist/types/json-schema.js +3 -0
  416. package/packages/agent-sdk/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  417. package/packages/agent-sdk/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
  418. package/packages/agent-sdk/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  419. package/packages/agent-sdk/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  420. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  421. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  422. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  423. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  424. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  425. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  426. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  427. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  428. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  429. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  430. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  431. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  432. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  433. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  434. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  435. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  436. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  437. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  438. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  439. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  440. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  441. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  442. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  443. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  444. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  445. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  446. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  447. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  448. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  449. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  450. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  451. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  452. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  453. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  454. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  455. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  456. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  457. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  458. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  459. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  460. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  461. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  462. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  463. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  464. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  465. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  466. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  467. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  468. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  469. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  470. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  471. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  472. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  473. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  474. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  475. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/code.js +131 -0
  476. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  477. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  478. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  479. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  480. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  481. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  482. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  483. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  484. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  485. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  486. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  487. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  488. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  489. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  490. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  491. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  492. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  493. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  494. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  495. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  496. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  497. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  498. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  499. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  500. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  501. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  502. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  503. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  504. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  505. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  506. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  507. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  508. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  509. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  510. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  511. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  512. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  513. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  514. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  515. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  516. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  517. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  518. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  519. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  520. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  521. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  522. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  523. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  524. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  525. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  526. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  527. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  528. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  529. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  530. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  531. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  532. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  533. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  534. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  535. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  536. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  537. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  538. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  539. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  540. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  541. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  542. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  543. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  544. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  545. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  546. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  547. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
  548. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  549. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  550. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
  551. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  552. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  553. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  554. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  555. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  556. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  557. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  558. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  559. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
  560. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  561. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  562. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  563. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  564. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  565. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/next.js +8 -0
  566. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  567. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  568. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  569. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  570. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  571. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  572. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  573. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  574. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  575. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  576. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  577. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  578. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  579. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  580. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  581. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  582. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  583. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  584. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  585. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  586. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  587. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  588. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  589. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  590. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  591. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  592. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  593. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  594. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  595. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  596. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  597. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  598. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  599. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  600. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  601. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  602. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  603. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  604. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  605. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  606. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  607. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
  608. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  609. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  610. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  611. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  612. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  613. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  614. package/packages/agent-sdk/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  615. package/packages/agent-sdk/node_modules/ajv/lib/2019.ts +81 -0
  616. package/packages/agent-sdk/node_modules/ajv/lib/2020.ts +75 -0
  617. package/packages/agent-sdk/node_modules/ajv/lib/ajv.ts +70 -0
  618. package/packages/agent-sdk/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
  619. package/packages/agent-sdk/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
  620. package/packages/agent-sdk/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  621. package/packages/agent-sdk/node_modules/ajv/lib/compile/errors.ts +184 -0
  622. package/packages/agent-sdk/node_modules/ajv/lib/compile/index.ts +324 -0
  623. package/packages/agent-sdk/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  624. package/packages/agent-sdk/node_modules/ajv/lib/compile/jtd/serialize.ts +277 -0
  625. package/packages/agent-sdk/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  626. package/packages/agent-sdk/node_modules/ajv/lib/compile/names.ts +27 -0
  627. package/packages/agent-sdk/node_modules/ajv/lib/compile/ref_error.ts +13 -0
  628. package/packages/agent-sdk/node_modules/ajv/lib/compile/resolve.ts +149 -0
  629. package/packages/agent-sdk/node_modules/ajv/lib/compile/rules.ts +50 -0
  630. package/packages/agent-sdk/node_modules/ajv/lib/compile/util.ts +213 -0
  631. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  632. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  633. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
  634. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  635. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/index.ts +582 -0
  636. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  637. package/packages/agent-sdk/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  638. package/packages/agent-sdk/node_modules/ajv/lib/core.ts +892 -0
  639. package/packages/agent-sdk/node_modules/ajv/lib/jtd.ts +132 -0
  640. package/packages/agent-sdk/node_modules/ajv/lib/refs/data.json +13 -0
  641. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  642. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  643. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  644. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  645. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  646. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  647. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  648. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  649. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  650. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  651. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  652. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  653. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  654. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  655. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  656. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  657. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  658. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  659. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  660. package/packages/agent-sdk/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  661. package/packages/agent-sdk/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  662. package/packages/agent-sdk/node_modules/ajv/lib/runtime/equal.ts +7 -0
  663. package/packages/agent-sdk/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
  664. package/packages/agent-sdk/node_modules/ajv/lib/runtime/quote.ts +31 -0
  665. package/packages/agent-sdk/node_modules/ajv/lib/runtime/re2.ts +6 -0
  666. package/packages/agent-sdk/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  667. package/packages/agent-sdk/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  668. package/packages/agent-sdk/node_modules/ajv/lib/runtime/uri.ts +6 -0
  669. package/packages/agent-sdk/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  670. package/packages/agent-sdk/node_modules/ajv/lib/standalone/index.ts +100 -0
  671. package/packages/agent-sdk/node_modules/ajv/lib/standalone/instance.ts +36 -0
  672. package/packages/agent-sdk/node_modules/ajv/lib/types/index.ts +244 -0
  673. package/packages/agent-sdk/node_modules/ajv/lib/types/json-schema.ts +187 -0
  674. package/packages/agent-sdk/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
  675. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  676. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  677. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  678. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  679. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  680. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  681. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  682. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  683. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  684. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  685. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  686. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  687. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  688. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  689. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  690. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  691. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  692. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  693. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  694. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  695. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  696. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  697. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
  698. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  699. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  700. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  701. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  702. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  703. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  704. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  705. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  706. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  707. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  708. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  709. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  710. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  711. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  712. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  713. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  714. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  715. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  716. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  717. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
  718. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
  719. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  720. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  721. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
  722. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  723. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  724. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  725. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  726. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  727. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  728. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  729. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
  730. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  731. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  732. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  733. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  734. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  735. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  736. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  737. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/pattern.ts +39 -0
  738. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  739. package/packages/agent-sdk/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  740. package/packages/agent-sdk/node_modules/ajv/package.json +126 -0
  741. package/packages/agent-sdk/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  742. package/packages/agent-sdk/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  743. package/packages/agent-sdk/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  744. package/packages/agent-sdk/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  745. package/packages/agent-sdk/node_modules/json-schema-traverse/LICENSE +21 -0
  746. package/packages/agent-sdk/node_modules/json-schema-traverse/README.md +95 -0
  747. package/packages/agent-sdk/node_modules/json-schema-traverse/index.d.ts +40 -0
  748. package/packages/agent-sdk/node_modules/json-schema-traverse/index.js +93 -0
  749. package/packages/agent-sdk/node_modules/json-schema-traverse/package.json +43 -0
  750. package/packages/agent-sdk/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  751. package/packages/agent-sdk/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  752. package/packages/agent-sdk/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
@@ -0,0 +1,852 @@
1
+ import type {ScopeValueSets, NameValue, ValueScope, ValueScopeName} from "./scope"
2
+ import {_, nil, _Code, Code, Name, UsedNames, CodeItem, addCodeArg, _CodeOrName} from "./code"
3
+ import {Scope, varKinds} from "./scope"
4
+
5
+ export {_, str, strConcat, nil, getProperty, stringify, regexpCode, Name, Code} from "./code"
6
+ export {Scope, ScopeStore, ValueScope, ValueScopeName, ScopeValueSets, varKinds} from "./scope"
7
+
8
+ // type for expressions that can be safely inserted in code without quotes
9
+ export type SafeExpr = Code | number | boolean | null
10
+
11
+ // type that is either Code of function that adds code to CodeGen instance using its methods
12
+ export type Block = Code | (() => void)
13
+
14
+ export const operators = {
15
+ GT: new _Code(">"),
16
+ GTE: new _Code(">="),
17
+ LT: new _Code("<"),
18
+ LTE: new _Code("<="),
19
+ EQ: new _Code("==="),
20
+ NEQ: new _Code("!=="),
21
+ NOT: new _Code("!"),
22
+ OR: new _Code("||"),
23
+ AND: new _Code("&&"),
24
+ ADD: new _Code("+"),
25
+ }
26
+
27
+ abstract class Node {
28
+ abstract readonly names: UsedNames
29
+
30
+ optimizeNodes(): this | ChildNode | ChildNode[] | undefined {
31
+ return this
32
+ }
33
+
34
+ optimizeNames(_names: UsedNames, _constants: Constants): this | undefined {
35
+ return this
36
+ }
37
+
38
+ // get count(): number {
39
+ // return 1
40
+ // }
41
+ }
42
+
43
+ class Def extends Node {
44
+ constructor(
45
+ private readonly varKind: Name,
46
+ private readonly name: Name,
47
+ private rhs?: SafeExpr
48
+ ) {
49
+ super()
50
+ }
51
+
52
+ render({es5, _n}: CGOptions): string {
53
+ const varKind = es5 ? varKinds.var : this.varKind
54
+ const rhs = this.rhs === undefined ? "" : ` = ${this.rhs}`
55
+ return `${varKind} ${this.name}${rhs};` + _n
56
+ }
57
+
58
+ optimizeNames(names: UsedNames, constants: Constants): this | undefined {
59
+ if (!names[this.name.str]) return
60
+ if (this.rhs) this.rhs = optimizeExpr(this.rhs, names, constants)
61
+ return this
62
+ }
63
+
64
+ get names(): UsedNames {
65
+ return this.rhs instanceof _CodeOrName ? this.rhs.names : {}
66
+ }
67
+ }
68
+
69
+ class Assign extends Node {
70
+ constructor(
71
+ readonly lhs: Code,
72
+ public rhs: SafeExpr,
73
+ private readonly sideEffects?: boolean
74
+ ) {
75
+ super()
76
+ }
77
+
78
+ render({_n}: CGOptions): string {
79
+ return `${this.lhs} = ${this.rhs};` + _n
80
+ }
81
+
82
+ optimizeNames(names: UsedNames, constants: Constants): this | undefined {
83
+ if (this.lhs instanceof Name && !names[this.lhs.str] && !this.sideEffects) return
84
+ this.rhs = optimizeExpr(this.rhs, names, constants)
85
+ return this
86
+ }
87
+
88
+ get names(): UsedNames {
89
+ const names = this.lhs instanceof Name ? {} : {...this.lhs.names}
90
+ return addExprNames(names, this.rhs)
91
+ }
92
+ }
93
+
94
+ class AssignOp extends Assign {
95
+ constructor(
96
+ lhs: Code,
97
+ private readonly op: Code,
98
+ rhs: SafeExpr,
99
+ sideEffects?: boolean
100
+ ) {
101
+ super(lhs, rhs, sideEffects)
102
+ }
103
+
104
+ render({_n}: CGOptions): string {
105
+ return `${this.lhs} ${this.op}= ${this.rhs};` + _n
106
+ }
107
+ }
108
+
109
+ class Label extends Node {
110
+ readonly names: UsedNames = {}
111
+ constructor(readonly label: Name) {
112
+ super()
113
+ }
114
+
115
+ render({_n}: CGOptions): string {
116
+ return `${this.label}:` + _n
117
+ }
118
+ }
119
+
120
+ class Break extends Node {
121
+ readonly names: UsedNames = {}
122
+ constructor(readonly label?: Code) {
123
+ super()
124
+ }
125
+
126
+ render({_n}: CGOptions): string {
127
+ const label = this.label ? ` ${this.label}` : ""
128
+ return `break${label};` + _n
129
+ }
130
+ }
131
+
132
+ class Throw extends Node {
133
+ constructor(readonly error: Code) {
134
+ super()
135
+ }
136
+
137
+ render({_n}: CGOptions): string {
138
+ return `throw ${this.error};` + _n
139
+ }
140
+
141
+ get names(): UsedNames {
142
+ return this.error.names
143
+ }
144
+ }
145
+
146
+ class AnyCode extends Node {
147
+ constructor(private code: SafeExpr) {
148
+ super()
149
+ }
150
+
151
+ render({_n}: CGOptions): string {
152
+ return `${this.code};` + _n
153
+ }
154
+
155
+ optimizeNodes(): this | undefined {
156
+ return `${this.code}` ? this : undefined
157
+ }
158
+
159
+ optimizeNames(names: UsedNames, constants: Constants): this {
160
+ this.code = optimizeExpr(this.code, names, constants)
161
+ return this
162
+ }
163
+
164
+ get names(): UsedNames {
165
+ return this.code instanceof _CodeOrName ? this.code.names : {}
166
+ }
167
+ }
168
+
169
+ abstract class ParentNode extends Node {
170
+ constructor(readonly nodes: ChildNode[] = []) {
171
+ super()
172
+ }
173
+
174
+ render(opts: CGOptions): string {
175
+ return this.nodes.reduce((code, n) => code + n.render(opts), "")
176
+ }
177
+
178
+ optimizeNodes(): this | ChildNode | ChildNode[] | undefined {
179
+ const {nodes} = this
180
+ let i = nodes.length
181
+ while (i--) {
182
+ const n = nodes[i].optimizeNodes()
183
+ if (Array.isArray(n)) nodes.splice(i, 1, ...n)
184
+ else if (n) nodes[i] = n
185
+ else nodes.splice(i, 1)
186
+ }
187
+ return nodes.length > 0 ? this : undefined
188
+ }
189
+
190
+ optimizeNames(names: UsedNames, constants: Constants): this | undefined {
191
+ const {nodes} = this
192
+ let i = nodes.length
193
+ while (i--) {
194
+ // iterating backwards improves 1-pass optimization
195
+ const n = nodes[i]
196
+ if (n.optimizeNames(names, constants)) continue
197
+ subtractNames(names, n.names)
198
+ nodes.splice(i, 1)
199
+ }
200
+ return nodes.length > 0 ? this : undefined
201
+ }
202
+
203
+ get names(): UsedNames {
204
+ return this.nodes.reduce((names: UsedNames, n) => addNames(names, n.names), {})
205
+ }
206
+
207
+ // get count(): number {
208
+ // return this.nodes.reduce((c, n) => c + n.count, 1)
209
+ // }
210
+ }
211
+
212
+ abstract class BlockNode extends ParentNode {
213
+ render(opts: CGOptions): string {
214
+ return "{" + opts._n + super.render(opts) + "}" + opts._n
215
+ }
216
+ }
217
+
218
+ class Root extends ParentNode {}
219
+
220
+ class Else extends BlockNode {
221
+ static readonly kind = "else"
222
+ }
223
+
224
+ class If extends BlockNode {
225
+ static readonly kind = "if"
226
+ else?: If | Else
227
+ constructor(
228
+ private condition: Code | boolean,
229
+ nodes?: ChildNode[]
230
+ ) {
231
+ super(nodes)
232
+ }
233
+
234
+ render(opts: CGOptions): string {
235
+ let code = `if(${this.condition})` + super.render(opts)
236
+ if (this.else) code += "else " + this.else.render(opts)
237
+ return code
238
+ }
239
+
240
+ optimizeNodes(): If | ChildNode[] | undefined {
241
+ super.optimizeNodes()
242
+ const cond = this.condition
243
+ if (cond === true) return this.nodes // else is ignored here
244
+ let e = this.else
245
+ if (e) {
246
+ const ns = e.optimizeNodes()
247
+ e = this.else = Array.isArray(ns) ? new Else(ns) : (ns as Else | undefined)
248
+ }
249
+ if (e) {
250
+ if (cond === false) return e instanceof If ? e : e.nodes
251
+ if (this.nodes.length) return this
252
+ return new If(not(cond), e instanceof If ? [e] : e.nodes)
253
+ }
254
+ if (cond === false || !this.nodes.length) return undefined
255
+ return this
256
+ }
257
+
258
+ optimizeNames(names: UsedNames, constants: Constants): this | undefined {
259
+ this.else = this.else?.optimizeNames(names, constants)
260
+ if (!(super.optimizeNames(names, constants) || this.else)) return
261
+ this.condition = optimizeExpr(this.condition, names, constants)
262
+ return this
263
+ }
264
+
265
+ get names(): UsedNames {
266
+ const names = super.names
267
+ addExprNames(names, this.condition)
268
+ if (this.else) addNames(names, this.else.names)
269
+ return names
270
+ }
271
+
272
+ // get count(): number {
273
+ // return super.count + (this.else?.count || 0)
274
+ // }
275
+ }
276
+
277
+ abstract class For extends BlockNode {
278
+ static readonly kind = "for"
279
+ }
280
+
281
+ class ForLoop extends For {
282
+ constructor(private iteration: Code) {
283
+ super()
284
+ }
285
+
286
+ render(opts: CGOptions): string {
287
+ return `for(${this.iteration})` + super.render(opts)
288
+ }
289
+
290
+ optimizeNames(names: UsedNames, constants: Constants): this | undefined {
291
+ if (!super.optimizeNames(names, constants)) return
292
+ this.iteration = optimizeExpr(this.iteration, names, constants)
293
+ return this
294
+ }
295
+
296
+ get names(): UsedNames {
297
+ return addNames(super.names, this.iteration.names)
298
+ }
299
+ }
300
+
301
+ class ForRange extends For {
302
+ constructor(
303
+ private readonly varKind: Name,
304
+ private readonly name: Name,
305
+ private readonly from: SafeExpr,
306
+ private readonly to: SafeExpr
307
+ ) {
308
+ super()
309
+ }
310
+
311
+ render(opts: CGOptions): string {
312
+ const varKind = opts.es5 ? varKinds.var : this.varKind
313
+ const {name, from, to} = this
314
+ return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts)
315
+ }
316
+
317
+ get names(): UsedNames {
318
+ const names = addExprNames(super.names, this.from)
319
+ return addExprNames(names, this.to)
320
+ }
321
+ }
322
+
323
+ class ForIter extends For {
324
+ constructor(
325
+ private readonly loop: "of" | "in",
326
+ private readonly varKind: Name,
327
+ private readonly name: Name,
328
+ private iterable: Code
329
+ ) {
330
+ super()
331
+ }
332
+
333
+ render(opts: CGOptions): string {
334
+ return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts)
335
+ }
336
+
337
+ optimizeNames(names: UsedNames, constants: Constants): this | undefined {
338
+ if (!super.optimizeNames(names, constants)) return
339
+ this.iterable = optimizeExpr(this.iterable, names, constants)
340
+ return this
341
+ }
342
+
343
+ get names(): UsedNames {
344
+ return addNames(super.names, this.iterable.names)
345
+ }
346
+ }
347
+
348
+ class Func extends BlockNode {
349
+ static readonly kind = "func"
350
+ constructor(
351
+ public name: Name,
352
+ public args: Code,
353
+ public async?: boolean
354
+ ) {
355
+ super()
356
+ }
357
+
358
+ render(opts: CGOptions): string {
359
+ const _async = this.async ? "async " : ""
360
+ return `${_async}function ${this.name}(${this.args})` + super.render(opts)
361
+ }
362
+ }
363
+
364
+ class Return extends ParentNode {
365
+ static readonly kind = "return"
366
+
367
+ render(opts: CGOptions): string {
368
+ return "return " + super.render(opts)
369
+ }
370
+ }
371
+
372
+ class Try extends BlockNode {
373
+ catch?: Catch
374
+ finally?: Finally
375
+
376
+ render(opts: CGOptions): string {
377
+ let code = "try" + super.render(opts)
378
+ if (this.catch) code += this.catch.render(opts)
379
+ if (this.finally) code += this.finally.render(opts)
380
+ return code
381
+ }
382
+
383
+ optimizeNodes(): this {
384
+ super.optimizeNodes()
385
+ this.catch?.optimizeNodes() as Catch | undefined
386
+ this.finally?.optimizeNodes() as Finally | undefined
387
+ return this
388
+ }
389
+
390
+ optimizeNames(names: UsedNames, constants: Constants): this {
391
+ super.optimizeNames(names, constants)
392
+ this.catch?.optimizeNames(names, constants)
393
+ this.finally?.optimizeNames(names, constants)
394
+ return this
395
+ }
396
+
397
+ get names(): UsedNames {
398
+ const names = super.names
399
+ if (this.catch) addNames(names, this.catch.names)
400
+ if (this.finally) addNames(names, this.finally.names)
401
+ return names
402
+ }
403
+
404
+ // get count(): number {
405
+ // return super.count + (this.catch?.count || 0) + (this.finally?.count || 0)
406
+ // }
407
+ }
408
+
409
+ class Catch extends BlockNode {
410
+ static readonly kind = "catch"
411
+ constructor(readonly error: Name) {
412
+ super()
413
+ }
414
+
415
+ render(opts: CGOptions): string {
416
+ return `catch(${this.error})` + super.render(opts)
417
+ }
418
+ }
419
+
420
+ class Finally extends BlockNode {
421
+ static readonly kind = "finally"
422
+ render(opts: CGOptions): string {
423
+ return "finally" + super.render(opts)
424
+ }
425
+ }
426
+
427
+ type StartBlockNode = If | For | Func | Return | Try
428
+
429
+ type LeafNode = Def | Assign | Label | Break | Throw | AnyCode
430
+
431
+ type ChildNode = StartBlockNode | LeafNode
432
+
433
+ type EndBlockNodeType =
434
+ | typeof If
435
+ | typeof Else
436
+ | typeof For
437
+ | typeof Func
438
+ | typeof Return
439
+ | typeof Catch
440
+ | typeof Finally
441
+
442
+ type Constants = Record<string, SafeExpr | undefined>
443
+
444
+ export interface CodeGenOptions {
445
+ es5?: boolean
446
+ lines?: boolean
447
+ ownProperties?: boolean
448
+ }
449
+
450
+ interface CGOptions extends CodeGenOptions {
451
+ _n: "\n" | ""
452
+ }
453
+
454
+ export class CodeGen {
455
+ readonly _scope: Scope
456
+ readonly _extScope: ValueScope
457
+ readonly _values: ScopeValueSets = {}
458
+ private readonly _nodes: ParentNode[]
459
+ private readonly _blockStarts: number[] = []
460
+ private readonly _constants: Constants = {}
461
+ private readonly opts: CGOptions
462
+
463
+ constructor(extScope: ValueScope, opts: CodeGenOptions = {}) {
464
+ this.opts = {...opts, _n: opts.lines ? "\n" : ""}
465
+ this._extScope = extScope
466
+ this._scope = new Scope({parent: extScope})
467
+ this._nodes = [new Root()]
468
+ }
469
+
470
+ toString(): string {
471
+ return this._root.render(this.opts)
472
+ }
473
+
474
+ // returns unique name in the internal scope
475
+ name(prefix: string): Name {
476
+ return this._scope.name(prefix)
477
+ }
478
+
479
+ // reserves unique name in the external scope
480
+ scopeName(prefix: string): ValueScopeName {
481
+ return this._extScope.name(prefix)
482
+ }
483
+
484
+ // reserves unique name in the external scope and assigns value to it
485
+ scopeValue(prefixOrName: ValueScopeName | string, value: NameValue): Name {
486
+ const name = this._extScope.value(prefixOrName, value)
487
+ const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set())
488
+ vs.add(name)
489
+ return name
490
+ }
491
+
492
+ getScopeValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined {
493
+ return this._extScope.getValue(prefix, keyOrRef)
494
+ }
495
+
496
+ // return code that assigns values in the external scope to the names that are used internally
497
+ // (same names that were returned by gen.scopeName or gen.scopeValue)
498
+ scopeRefs(scopeName: Name): Code {
499
+ return this._extScope.scopeRefs(scopeName, this._values)
500
+ }
501
+
502
+ scopeCode(): Code {
503
+ return this._extScope.scopeCode(this._values)
504
+ }
505
+
506
+ private _def(
507
+ varKind: Name,
508
+ nameOrPrefix: Name | string,
509
+ rhs?: SafeExpr,
510
+ constant?: boolean
511
+ ): Name {
512
+ const name = this._scope.toName(nameOrPrefix)
513
+ if (rhs !== undefined && constant) this._constants[name.str] = rhs
514
+ this._leafNode(new Def(varKind, name, rhs))
515
+ return name
516
+ }
517
+
518
+ // `const` declaration (`var` in es5 mode)
519
+ const(nameOrPrefix: Name | string, rhs: SafeExpr, _constant?: boolean): Name {
520
+ return this._def(varKinds.const, nameOrPrefix, rhs, _constant)
521
+ }
522
+
523
+ // `let` declaration with optional assignment (`var` in es5 mode)
524
+ let(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {
525
+ return this._def(varKinds.let, nameOrPrefix, rhs, _constant)
526
+ }
527
+
528
+ // `var` declaration with optional assignment
529
+ var(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {
530
+ return this._def(varKinds.var, nameOrPrefix, rhs, _constant)
531
+ }
532
+
533
+ // assignment code
534
+ assign(lhs: Code, rhs: SafeExpr, sideEffects?: boolean): CodeGen {
535
+ return this._leafNode(new Assign(lhs, rhs, sideEffects))
536
+ }
537
+
538
+ // `+=` code
539
+ add(lhs: Code, rhs: SafeExpr): CodeGen {
540
+ return this._leafNode(new AssignOp(lhs, operators.ADD, rhs))
541
+ }
542
+
543
+ // appends passed SafeExpr to code or executes Block
544
+ code(c: Block | SafeExpr): CodeGen {
545
+ if (typeof c == "function") c()
546
+ else if (c !== nil) this._leafNode(new AnyCode(c))
547
+ return this
548
+ }
549
+
550
+ // returns code for object literal for the passed argument list of key-value pairs
551
+ object(...keyValues: [Name | string, SafeExpr | string][]): _Code {
552
+ const code: CodeItem[] = ["{"]
553
+ for (const [key, value] of keyValues) {
554
+ if (code.length > 1) code.push(",")
555
+ code.push(key)
556
+ if (key !== value || this.opts.es5) {
557
+ code.push(":")
558
+ addCodeArg(code, value)
559
+ }
560
+ }
561
+ code.push("}")
562
+ return new _Code(code)
563
+ }
564
+
565
+ // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)
566
+ if(condition: Code | boolean, thenBody?: Block, elseBody?: Block): CodeGen {
567
+ this._blockNode(new If(condition))
568
+
569
+ if (thenBody && elseBody) {
570
+ this.code(thenBody).else().code(elseBody).endIf()
571
+ } else if (thenBody) {
572
+ this.code(thenBody).endIf()
573
+ } else if (elseBody) {
574
+ throw new Error('CodeGen: "else" body without "then" body')
575
+ }
576
+ return this
577
+ }
578
+
579
+ // `else if` clause - invalid without `if` or after `else` clauses
580
+ elseIf(condition: Code | boolean): CodeGen {
581
+ return this._elseNode(new If(condition))
582
+ }
583
+
584
+ // `else` clause - only valid after `if` or `else if` clauses
585
+ else(): CodeGen {
586
+ return this._elseNode(new Else())
587
+ }
588
+
589
+ // end `if` statement (needed if gen.if was used only with condition)
590
+ endIf(): CodeGen {
591
+ return this._endBlockNode(If, Else)
592
+ }
593
+
594
+ private _for(node: For, forBody?: Block): CodeGen {
595
+ this._blockNode(node)
596
+ if (forBody) this.code(forBody).endFor()
597
+ return this
598
+ }
599
+
600
+ // a generic `for` clause (or statement if `forBody` is passed)
601
+ for(iteration: Code, forBody?: Block): CodeGen {
602
+ return this._for(new ForLoop(iteration), forBody)
603
+ }
604
+
605
+ // `for` statement for a range of values
606
+ forRange(
607
+ nameOrPrefix: Name | string,
608
+ from: SafeExpr,
609
+ to: SafeExpr,
610
+ forBody: (index: Name) => void,
611
+ varKind: Code = this.opts.es5 ? varKinds.var : varKinds.let
612
+ ): CodeGen {
613
+ const name = this._scope.toName(nameOrPrefix)
614
+ return this._for(new ForRange(varKind, name, from, to), () => forBody(name))
615
+ }
616
+
617
+ // `for-of` statement (in es5 mode replace with a normal for loop)
618
+ forOf(
619
+ nameOrPrefix: Name | string,
620
+ iterable: Code,
621
+ forBody: (item: Name) => void,
622
+ varKind: Code = varKinds.const
623
+ ): CodeGen {
624
+ const name = this._scope.toName(nameOrPrefix)
625
+ if (this.opts.es5) {
626
+ const arr = iterable instanceof Name ? iterable : this.var("_arr", iterable)
627
+ return this.forRange("_i", 0, _`${arr}.length`, (i) => {
628
+ this.var(name, _`${arr}[${i}]`)
629
+ forBody(name)
630
+ })
631
+ }
632
+ return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name))
633
+ }
634
+
635
+ // `for-in` statement.
636
+ // With option `ownProperties` replaced with a `for-of` loop for object keys
637
+ forIn(
638
+ nameOrPrefix: Name | string,
639
+ obj: Code,
640
+ forBody: (item: Name) => void,
641
+ varKind: Code = this.opts.es5 ? varKinds.var : varKinds.const
642
+ ): CodeGen {
643
+ if (this.opts.ownProperties) {
644
+ return this.forOf(nameOrPrefix, _`Object.keys(${obj})`, forBody)
645
+ }
646
+ const name = this._scope.toName(nameOrPrefix)
647
+ return this._for(new ForIter("in", varKind, name, obj), () => forBody(name))
648
+ }
649
+
650
+ // end `for` loop
651
+ endFor(): CodeGen {
652
+ return this._endBlockNode(For)
653
+ }
654
+
655
+ // `label` statement
656
+ label(label: Name): CodeGen {
657
+ return this._leafNode(new Label(label))
658
+ }
659
+
660
+ // `break` statement
661
+ break(label?: Code): CodeGen {
662
+ return this._leafNode(new Break(label))
663
+ }
664
+
665
+ // `return` statement
666
+ return(value: Block | SafeExpr): CodeGen {
667
+ const node = new Return()
668
+ this._blockNode(node)
669
+ this.code(value)
670
+ if (node.nodes.length !== 1) throw new Error('CodeGen: "return" should have one node')
671
+ return this._endBlockNode(Return)
672
+ }
673
+
674
+ // `try` statement
675
+ try(tryBody: Block, catchCode?: (e: Name) => void, finallyCode?: Block): CodeGen {
676
+ if (!catchCode && !finallyCode) throw new Error('CodeGen: "try" without "catch" and "finally"')
677
+ const node = new Try()
678
+ this._blockNode(node)
679
+ this.code(tryBody)
680
+ if (catchCode) {
681
+ const error = this.name("e")
682
+ this._currNode = node.catch = new Catch(error)
683
+ catchCode(error)
684
+ }
685
+ if (finallyCode) {
686
+ this._currNode = node.finally = new Finally()
687
+ this.code(finallyCode)
688
+ }
689
+ return this._endBlockNode(Catch, Finally)
690
+ }
691
+
692
+ // `throw` statement
693
+ throw(error: Code): CodeGen {
694
+ return this._leafNode(new Throw(error))
695
+ }
696
+
697
+ // start self-balancing block
698
+ block(body?: Block, nodeCount?: number): CodeGen {
699
+ this._blockStarts.push(this._nodes.length)
700
+ if (body) this.code(body).endBlock(nodeCount)
701
+ return this
702
+ }
703
+
704
+ // end the current self-balancing block
705
+ endBlock(nodeCount?: number): CodeGen {
706
+ const len = this._blockStarts.pop()
707
+ if (len === undefined) throw new Error("CodeGen: not in self-balancing block")
708
+ const toClose = this._nodes.length - len
709
+ if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {
710
+ throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`)
711
+ }
712
+ this._nodes.length = len
713
+ return this
714
+ }
715
+
716
+ // `function` heading (or definition if funcBody is passed)
717
+ func(name: Name, args: Code = nil, async?: boolean, funcBody?: Block): CodeGen {
718
+ this._blockNode(new Func(name, args, async))
719
+ if (funcBody) this.code(funcBody).endFunc()
720
+ return this
721
+ }
722
+
723
+ // end function definition
724
+ endFunc(): CodeGen {
725
+ return this._endBlockNode(Func)
726
+ }
727
+
728
+ optimize(n = 1): void {
729
+ while (n-- > 0) {
730
+ this._root.optimizeNodes()
731
+ this._root.optimizeNames(this._root.names, this._constants)
732
+ }
733
+ }
734
+
735
+ private _leafNode(node: LeafNode): CodeGen {
736
+ this._currNode.nodes.push(node)
737
+ return this
738
+ }
739
+
740
+ private _blockNode(node: StartBlockNode): void {
741
+ this._currNode.nodes.push(node)
742
+ this._nodes.push(node)
743
+ }
744
+
745
+ private _endBlockNode(N1: EndBlockNodeType, N2?: EndBlockNodeType): CodeGen {
746
+ const n = this._currNode
747
+ if (n instanceof N1 || (N2 && n instanceof N2)) {
748
+ this._nodes.pop()
749
+ return this
750
+ }
751
+ throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`)
752
+ }
753
+
754
+ private _elseNode(node: If | Else): CodeGen {
755
+ const n = this._currNode
756
+ if (!(n instanceof If)) {
757
+ throw new Error('CodeGen: "else" without "if"')
758
+ }
759
+ this._currNode = n.else = node
760
+ return this
761
+ }
762
+
763
+ private get _root(): Root {
764
+ return this._nodes[0] as Root
765
+ }
766
+
767
+ private get _currNode(): ParentNode {
768
+ const ns = this._nodes
769
+ return ns[ns.length - 1]
770
+ }
771
+
772
+ private set _currNode(node: ParentNode) {
773
+ const ns = this._nodes
774
+ ns[ns.length - 1] = node
775
+ }
776
+
777
+ // get nodeCount(): number {
778
+ // return this._root.count
779
+ // }
780
+ }
781
+
782
+ function addNames(names: UsedNames, from: UsedNames): UsedNames {
783
+ for (const n in from) names[n] = (names[n] || 0) + (from[n] || 0)
784
+ return names
785
+ }
786
+
787
+ function addExprNames(names: UsedNames, from: SafeExpr): UsedNames {
788
+ return from instanceof _CodeOrName ? addNames(names, from.names) : names
789
+ }
790
+
791
+ function optimizeExpr<T extends SafeExpr | Code>(expr: T, names: UsedNames, constants: Constants): T
792
+ function optimizeExpr(expr: SafeExpr, names: UsedNames, constants: Constants): SafeExpr {
793
+ if (expr instanceof Name) return replaceName(expr)
794
+ if (!canOptimize(expr)) return expr
795
+ return new _Code(
796
+ expr._items.reduce((items: CodeItem[], c: SafeExpr | string) => {
797
+ if (c instanceof Name) c = replaceName(c)
798
+ if (c instanceof _Code) items.push(...c._items)
799
+ else items.push(c)
800
+ return items
801
+ }, [])
802
+ )
803
+
804
+ function replaceName(n: Name): SafeExpr {
805
+ const c = constants[n.str]
806
+ if (c === undefined || names[n.str] !== 1) return n
807
+ delete names[n.str]
808
+ return c
809
+ }
810
+
811
+ function canOptimize(e: SafeExpr): e is _Code {
812
+ return (
813
+ e instanceof _Code &&
814
+ e._items.some(
815
+ (c) => c instanceof Name && names[c.str] === 1 && constants[c.str] !== undefined
816
+ )
817
+ )
818
+ }
819
+ }
820
+
821
+ function subtractNames(names: UsedNames, from: UsedNames): void {
822
+ for (const n in from) names[n] = (names[n] || 0) - (from[n] || 0)
823
+ }
824
+
825
+ export function not<T extends Code | SafeExpr>(x: T): T
826
+ export function not(x: Code | SafeExpr): Code | SafeExpr {
827
+ return typeof x == "boolean" || typeof x == "number" || x === null ? !x : _`!${par(x)}`
828
+ }
829
+
830
+ const andCode = mappend(operators.AND)
831
+
832
+ // boolean AND (&&) expression with the passed arguments
833
+ export function and(...args: Code[]): Code {
834
+ return args.reduce(andCode)
835
+ }
836
+
837
+ const orCode = mappend(operators.OR)
838
+
839
+ // boolean OR (||) expression with the passed arguments
840
+ export function or(...args: Code[]): Code {
841
+ return args.reduce(orCode)
842
+ }
843
+
844
+ type MAppend = (x: Code, y: Code) => Code
845
+
846
+ function mappend(op: Code): MAppend {
847
+ return (x, y) => (x === nil ? y : y === nil ? x : _`${par(x)} ${op} ${par(y)}`)
848
+ }
849
+
850
+ function par(x: Code): Code {
851
+ return x instanceof Name ? x : _`(${x})`
852
+ }