@amodalai/core 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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/dist/.last_build +0 -0
  3. package/dist/src/amodal-config.d.ts +194 -0
  4. package/dist/src/amodal-config.js +326 -0
  5. package/dist/src/amodal-config.js.map +1 -0
  6. package/dist/src/audit/audit-logger.d.ts +52 -0
  7. package/dist/src/audit/audit-logger.js +137 -0
  8. package/dist/src/audit/audit-logger.js.map +1 -0
  9. package/dist/src/audit/audit-outputs.d.ts +34 -0
  10. package/dist/src/audit/audit-outputs.js +73 -0
  11. package/dist/src/audit/audit-outputs.js.map +1 -0
  12. package/dist/src/audit/audit-redact.d.ts +14 -0
  13. package/dist/src/audit/audit-redact.js +55 -0
  14. package/dist/src/audit/audit-redact.js.map +1 -0
  15. package/dist/src/audit/audit-types.d.ts +122 -0
  16. package/dist/src/audit/audit-types.js +64 -0
  17. package/dist/src/audit/audit-types.js.map +1 -0
  18. package/dist/src/audit/index.d.ts +10 -0
  19. package/dist/src/audit/index.js +10 -0
  20. package/dist/src/audit/index.js.map +1 -0
  21. package/dist/src/eval/eval-cost.d.ts +33 -0
  22. package/dist/src/eval/eval-cost.js +73 -0
  23. package/dist/src/eval/eval-cost.js.map +1 -0
  24. package/dist/src/eval/eval-diff.d.ts +11 -0
  25. package/dist/src/eval/eval-diff.js +97 -0
  26. package/dist/src/eval/eval-diff.js.map +1 -0
  27. package/dist/src/eval/eval-formatter.d.ts +23 -0
  28. package/dist/src/eval/eval-formatter.js +221 -0
  29. package/dist/src/eval/eval-formatter.js.map +1 -0
  30. package/dist/src/eval/eval-judge.d.ts +26 -0
  31. package/dist/src/eval/eval-judge.js +76 -0
  32. package/dist/src/eval/eval-judge.js.map +1 -0
  33. package/dist/src/eval/eval-run-builder.d.ts +25 -0
  34. package/dist/src/eval/eval-run-builder.js +78 -0
  35. package/dist/src/eval/eval-run-builder.js.map +1 -0
  36. package/dist/src/eval/eval-runner.d.ts +36 -0
  37. package/dist/src/eval/eval-runner.js +92 -0
  38. package/dist/src/eval/eval-runner.js.map +1 -0
  39. package/dist/src/eval/eval-session-provider.d.ts +40 -0
  40. package/dist/src/eval/eval-session-provider.js +46 -0
  41. package/dist/src/eval/eval-session-provider.js.map +1 -0
  42. package/dist/src/eval/eval-types.d.ts +146 -0
  43. package/dist/src/eval/eval-types.js +7 -0
  44. package/dist/src/eval/eval-types.js.map +1 -0
  45. package/dist/src/eval/experiment-runner.d.ts +16 -0
  46. package/dist/src/eval/experiment-runner.js +73 -0
  47. package/dist/src/eval/experiment-runner.js.map +1 -0
  48. package/dist/src/eval/experiment-types.d.ts +56 -0
  49. package/dist/src/eval/experiment-types.js +7 -0
  50. package/dist/src/eval/experiment-types.js.map +1 -0
  51. package/dist/src/eval/index.d.ts +22 -0
  52. package/dist/src/eval/index.js +18 -0
  53. package/dist/src/eval/index.js.map +1 -0
  54. package/dist/src/eval/multi-model-runner.d.ts +42 -0
  55. package/dist/src/eval/multi-model-runner.js +70 -0
  56. package/dist/src/eval/multi-model-runner.js.map +1 -0
  57. package/dist/src/eval/platform-eval-client.d.ts +105 -0
  58. package/dist/src/eval/platform-eval-client.js +155 -0
  59. package/dist/src/eval/platform-eval-client.js.map +1 -0
  60. package/dist/src/index.d.ts +41 -0
  61. package/dist/src/index.js +68 -0
  62. package/dist/src/index.js.map +1 -0
  63. package/dist/src/knowledge/index.d.ts +11 -0
  64. package/dist/src/knowledge/index.js +12 -0
  65. package/dist/src/knowledge/index.js.map +1 -0
  66. package/dist/src/knowledge/kb-formatter.d.ts +15 -0
  67. package/dist/src/knowledge/kb-formatter.js +78 -0
  68. package/dist/src/knowledge/kb-formatter.js.map +1 -0
  69. package/dist/src/knowledge/kb-index.d.ts +27 -0
  70. package/dist/src/knowledge/kb-index.js +66 -0
  71. package/dist/src/knowledge/kb-index.js.map +1 -0
  72. package/dist/src/knowledge/kb-types.d.ts +54 -0
  73. package/dist/src/knowledge/kb-types.js +7 -0
  74. package/dist/src/knowledge/kb-types.js.map +1 -0
  75. package/dist/src/knowledge/knowledge-store.d.ts +56 -0
  76. package/dist/src/knowledge/knowledge-store.js +141 -0
  77. package/dist/src/knowledge/knowledge-store.js.map +1 -0
  78. package/dist/src/knowledge/load-knowledge.d.ts +30 -0
  79. package/dist/src/knowledge/load-knowledge.js +161 -0
  80. package/dist/src/knowledge/load-knowledge.js.map +1 -0
  81. package/dist/src/knowledge/propose-kb-update.d.ts +32 -0
  82. package/dist/src/knowledge/propose-kb-update.js +148 -0
  83. package/dist/src/knowledge/propose-kb-update.js.map +1 -0
  84. package/dist/src/knowledge/propose-knowledge.d.ts +34 -0
  85. package/dist/src/knowledge/propose-knowledge.js +163 -0
  86. package/dist/src/knowledge/propose-knowledge.js.map +1 -0
  87. package/dist/src/mcp/index.d.ts +7 -0
  88. package/dist/src/mcp/index.js +7 -0
  89. package/dist/src/mcp/index.js.map +1 -0
  90. package/dist/src/mcp/mcp-manager.d.ts +96 -0
  91. package/dist/src/mcp/mcp-manager.js +192 -0
  92. package/dist/src/mcp/mcp-manager.js.map +1 -0
  93. package/dist/src/packages/config-deps.d.ts +20 -0
  94. package/dist/src/packages/config-deps.js +77 -0
  95. package/dist/src/packages/config-deps.js.map +1 -0
  96. package/dist/src/packages/env-file.d.ts +28 -0
  97. package/dist/src/packages/env-file.js +143 -0
  98. package/dist/src/packages/env-file.js.map +1 -0
  99. package/dist/src/packages/frontmatter.d.ts +28 -0
  100. package/dist/src/packages/frontmatter.js +77 -0
  101. package/dist/src/packages/frontmatter.js.map +1 -0
  102. package/dist/src/packages/index.d.ts +16 -0
  103. package/dist/src/packages/index.js +17 -0
  104. package/dist/src/packages/index.js.map +1 -0
  105. package/dist/src/packages/lock-file.d.ts +35 -0
  106. package/dist/src/packages/lock-file.js +117 -0
  107. package/dist/src/packages/lock-file.js.map +1 -0
  108. package/dist/src/packages/manifest-reader.d.ts +19 -0
  109. package/dist/src/packages/manifest-reader.js +91 -0
  110. package/dist/src/packages/manifest-reader.js.map +1 -0
  111. package/dist/src/packages/merge-engine.d.ts +63 -0
  112. package/dist/src/packages/merge-engine.js +357 -0
  113. package/dist/src/packages/merge-engine.js.map +1 -0
  114. package/dist/src/packages/npm-context.d.ts +56 -0
  115. package/dist/src/packages/npm-context.js +235 -0
  116. package/dist/src/packages/npm-context.js.map +1 -0
  117. package/dist/src/packages/npm-registry.d.ts +35 -0
  118. package/dist/src/packages/npm-registry.js +107 -0
  119. package/dist/src/packages/npm-registry.js.map +1 -0
  120. package/dist/src/packages/package-error.d.ts +16 -0
  121. package/dist/src/packages/package-error.js +17 -0
  122. package/dist/src/packages/package-error.js.map +1 -0
  123. package/dist/src/packages/package-types.d.ts +477 -0
  124. package/dist/src/packages/package-types.js +156 -0
  125. package/dist/src/packages/package-types.js.map +1 -0
  126. package/dist/src/packages/resolver.d.ts +41 -0
  127. package/dist/src/packages/resolver.js +353 -0
  128. package/dist/src/packages/resolver.js.map +1 -0
  129. package/dist/src/platform/config-builder.d.ts +24 -0
  130. package/dist/src/platform/config-builder.js +70 -0
  131. package/dist/src/platform/config-builder.js.map +1 -0
  132. package/dist/src/platform/index.d.ts +8 -0
  133. package/dist/src/platform/index.js +9 -0
  134. package/dist/src/platform/index.js.map +1 -0
  135. package/dist/src/platform/platform-client.d.ts +160 -0
  136. package/dist/src/platform/platform-client.js +486 -0
  137. package/dist/src/platform/platform-client.js.map +1 -0
  138. package/dist/src/platform/platform-types.d.ts +81 -0
  139. package/dist/src/platform/platform-types.js +18 -0
  140. package/dist/src/platform/platform-types.js.map +1 -0
  141. package/dist/src/providers/content-generator/google-to-llm.d.ts +87 -0
  142. package/dist/src/providers/content-generator/google-to-llm.js +226 -0
  143. package/dist/src/providers/content-generator/google-to-llm.js.map +1 -0
  144. package/dist/src/providers/content-generator/index.d.ts +10 -0
  145. package/dist/src/providers/content-generator/index.js +9 -0
  146. package/dist/src/providers/content-generator/index.js.map +1 -0
  147. package/dist/src/providers/content-generator/llm-to-google.d.ts +59 -0
  148. package/dist/src/providers/content-generator/llm-to-google.js +178 -0
  149. package/dist/src/providers/content-generator/llm-to-google.js.map +1 -0
  150. package/dist/src/providers/content-generator/multi-provider-content-generator.d.ts +61 -0
  151. package/dist/src/providers/content-generator/multi-provider-content-generator.js +144 -0
  152. package/dist/src/providers/content-generator/multi-provider-content-generator.js.map +1 -0
  153. package/dist/src/providers/runtime/anthropic-provider.d.ts +18 -0
  154. package/dist/src/providers/runtime/anthropic-provider.js +253 -0
  155. package/dist/src/providers/runtime/anthropic-provider.js.map +1 -0
  156. package/dist/src/providers/runtime/azure-provider.d.ts +25 -0
  157. package/dist/src/providers/runtime/azure-provider.js +206 -0
  158. package/dist/src/providers/runtime/azure-provider.js.map +1 -0
  159. package/dist/src/providers/runtime/bedrock-provider.d.ts +22 -0
  160. package/dist/src/providers/runtime/bedrock-provider.js +276 -0
  161. package/dist/src/providers/runtime/bedrock-provider.js.map +1 -0
  162. package/dist/src/providers/runtime/failover-provider.d.ts +30 -0
  163. package/dist/src/providers/runtime/failover-provider.js +124 -0
  164. package/dist/src/providers/runtime/failover-provider.js.map +1 -0
  165. package/dist/src/providers/runtime/google-provider.d.ts +17 -0
  166. package/dist/src/providers/runtime/google-provider.js +239 -0
  167. package/dist/src/providers/runtime/google-provider.js.map +1 -0
  168. package/dist/src/providers/runtime/index.d.ts +16 -0
  169. package/dist/src/providers/runtime/index.js +16 -0
  170. package/dist/src/providers/runtime/index.js.map +1 -0
  171. package/dist/src/providers/runtime/openai-provider.d.ts +21 -0
  172. package/dist/src/providers/runtime/openai-provider.js +266 -0
  173. package/dist/src/providers/runtime/openai-provider.js.map +1 -0
  174. package/dist/src/providers/runtime/provider-errors.d.ts +39 -0
  175. package/dist/src/providers/runtime/provider-errors.js +50 -0
  176. package/dist/src/providers/runtime/provider-errors.js.map +1 -0
  177. package/dist/src/providers/runtime/provider-factory.d.ts +19 -0
  178. package/dist/src/providers/runtime/provider-factory.js +45 -0
  179. package/dist/src/providers/runtime/provider-factory.js.map +1 -0
  180. package/dist/src/providers/runtime/runtime-provider-types.d.ts +63 -0
  181. package/dist/src/providers/runtime/runtime-provider-types.js +7 -0
  182. package/dist/src/providers/runtime/runtime-provider-types.js.map +1 -0
  183. package/dist/src/providers/runtime/streaming-types.d.ts +40 -0
  184. package/dist/src/providers/runtime/streaming-types.js +7 -0
  185. package/dist/src/providers/runtime/streaming-types.js.map +1 -0
  186. package/dist/src/repo/config-schema.d.ts +238 -0
  187. package/dist/src/repo/config-schema.js +155 -0
  188. package/dist/src/repo/config-schema.js.map +1 -0
  189. package/dist/src/repo/connection-schemas.d.ts +449 -0
  190. package/dist/src/repo/connection-schemas.js +109 -0
  191. package/dist/src/repo/connection-schemas.js.map +1 -0
  192. package/dist/src/repo/connection-types.d.ts +29 -0
  193. package/dist/src/repo/connection-types.js +7 -0
  194. package/dist/src/repo/connection-types.js.map +1 -0
  195. package/dist/src/repo/drift-detector.d.ts +26 -0
  196. package/dist/src/repo/drift-detector.js +66 -0
  197. package/dist/src/repo/drift-detector.js.map +1 -0
  198. package/dist/src/repo/graphql-drift-detector.d.ts +27 -0
  199. package/dist/src/repo/graphql-drift-detector.js +66 -0
  200. package/dist/src/repo/graphql-drift-detector.js.map +1 -0
  201. package/dist/src/repo/graphql-parser.d.ts +30 -0
  202. package/dist/src/repo/graphql-parser.js +125 -0
  203. package/dist/src/repo/graphql-parser.js.map +1 -0
  204. package/dist/src/repo/graphql-surface-parser.d.ts +20 -0
  205. package/dist/src/repo/graphql-surface-parser.js +74 -0
  206. package/dist/src/repo/graphql-surface-parser.js.map +1 -0
  207. package/dist/src/repo/index.d.ts +30 -0
  208. package/dist/src/repo/index.js +29 -0
  209. package/dist/src/repo/index.js.map +1 -0
  210. package/dist/src/repo/local-reader.d.ts +10 -0
  211. package/dist/src/repo/local-reader.js +299 -0
  212. package/dist/src/repo/local-reader.js.map +1 -0
  213. package/dist/src/repo/openapi-parser.d.ts +35 -0
  214. package/dist/src/repo/openapi-parser.js +93 -0
  215. package/dist/src/repo/openapi-parser.js.map +1 -0
  216. package/dist/src/repo/parsers.d.ts +91 -0
  217. package/dist/src/repo/parsers.js +454 -0
  218. package/dist/src/repo/parsers.js.map +1 -0
  219. package/dist/src/repo/platform-reader.d.ts +10 -0
  220. package/dist/src/repo/platform-reader.js +206 -0
  221. package/dist/src/repo/platform-reader.js.map +1 -0
  222. package/dist/src/repo/repo-loader.d.ts +14 -0
  223. package/dist/src/repo/repo-loader.js +25 -0
  224. package/dist/src/repo/repo-loader.js.map +1 -0
  225. package/dist/src/repo/repo-types.d.ts +159 -0
  226. package/dist/src/repo/repo-types.js +17 -0
  227. package/dist/src/repo/repo-types.js.map +1 -0
  228. package/dist/src/repo/spec-syncer.d.ts +30 -0
  229. package/dist/src/repo/spec-syncer.js +85 -0
  230. package/dist/src/repo/spec-syncer.js.map +1 -0
  231. package/dist/src/repo/store-loader.d.ts +19 -0
  232. package/dist/src/repo/store-loader.js +94 -0
  233. package/dist/src/repo/store-loader.js.map +1 -0
  234. package/dist/src/repo/store-schemas.d.ts +313 -0
  235. package/dist/src/repo/store-schemas.js +103 -0
  236. package/dist/src/repo/store-schemas.js.map +1 -0
  237. package/dist/src/repo/store-tool-schema.d.ts +29 -0
  238. package/dist/src/repo/store-tool-schema.js +103 -0
  239. package/dist/src/repo/store-tool-schema.js.map +1 -0
  240. package/dist/src/repo/store-types.d.ts +91 -0
  241. package/dist/src/repo/store-types.js +7 -0
  242. package/dist/src/repo/store-types.js.map +1 -0
  243. package/dist/src/repo/surface-parser.d.ts +17 -0
  244. package/dist/src/repo/surface-parser.js +75 -0
  245. package/dist/src/repo/surface-parser.js.map +1 -0
  246. package/dist/src/repo/tool-loader.d.ts +33 -0
  247. package/dist/src/repo/tool-loader.js +240 -0
  248. package/dist/src/repo/tool-loader.js.map +1 -0
  249. package/dist/src/repo/tool-types.d.ts +205 -0
  250. package/dist/src/repo/tool-types.js +61 -0
  251. package/dist/src/repo/tool-types.js.map +1 -0
  252. package/dist/src/roles/index.d.ts +7 -0
  253. package/dist/src/roles/index.js +8 -0
  254. package/dist/src/roles/index.js.map +1 -0
  255. package/dist/src/roles/role-filter.d.ts +33 -0
  256. package/dist/src/roles/role-filter.js +55 -0
  257. package/dist/src/roles/role-filter.js.map +1 -0
  258. package/dist/src/roles/role-types.d.ts +76 -0
  259. package/dist/src/roles/role-types.js +38 -0
  260. package/dist/src/roles/role-types.js.map +1 -0
  261. package/dist/src/runtime/connection-bridge.d.ts +19 -0
  262. package/dist/src/runtime/connection-bridge.js +103 -0
  263. package/dist/src/runtime/connection-bridge.js.map +1 -0
  264. package/dist/src/runtime/context-compiler.d.ts +35 -0
  265. package/dist/src/runtime/context-compiler.js +183 -0
  266. package/dist/src/runtime/context-compiler.js.map +1 -0
  267. package/dist/src/runtime/default-prompt.d.ts +28 -0
  268. package/dist/src/runtime/default-prompt.js +71 -0
  269. package/dist/src/runtime/default-prompt.js.map +1 -0
  270. package/dist/src/runtime/explore-tool.d.ts +96 -0
  271. package/dist/src/runtime/explore-tool.js +111 -0
  272. package/dist/src/runtime/explore-tool.js.map +1 -0
  273. package/dist/src/runtime/index.d.ts +26 -0
  274. package/dist/src/runtime/index.js +19 -0
  275. package/dist/src/runtime/index.js.map +1 -0
  276. package/dist/src/runtime/output-pipeline.d.ts +62 -0
  277. package/dist/src/runtime/output-pipeline.js +69 -0
  278. package/dist/src/runtime/output-pipeline.js.map +1 -0
  279. package/dist/src/runtime/plan-mode.d.ts +39 -0
  280. package/dist/src/runtime/plan-mode.js +81 -0
  281. package/dist/src/runtime/plan-mode.js.map +1 -0
  282. package/dist/src/runtime/preference-client.d.ts +39 -0
  283. package/dist/src/runtime/preference-client.js +70 -0
  284. package/dist/src/runtime/preference-client.js.map +1 -0
  285. package/dist/src/runtime/preference-detector.d.ts +22 -0
  286. package/dist/src/runtime/preference-detector.js +95 -0
  287. package/dist/src/runtime/preference-detector.js.map +1 -0
  288. package/dist/src/runtime/request-integration.d.ts +18 -0
  289. package/dist/src/runtime/request-integration.js +36 -0
  290. package/dist/src/runtime/request-integration.js.map +1 -0
  291. package/dist/src/runtime/runtime-types.d.ts +48 -0
  292. package/dist/src/runtime/runtime-types.js +7 -0
  293. package/dist/src/runtime/runtime-types.js.map +1 -0
  294. package/dist/src/runtime/session-setup.d.ts +53 -0
  295. package/dist/src/runtime/session-setup.js +90 -0
  296. package/dist/src/runtime/session-setup.js.map +1 -0
  297. package/dist/src/runtime/telemetry-client.d.ts +39 -0
  298. package/dist/src/runtime/telemetry-client.js +87 -0
  299. package/dist/src/runtime/telemetry-client.js.map +1 -0
  300. package/dist/src/runtime/telemetry-hooks.d.ts +47 -0
  301. package/dist/src/runtime/telemetry-hooks.js +115 -0
  302. package/dist/src/runtime/telemetry-hooks.js.map +1 -0
  303. package/dist/src/runtime/token-allocator.d.ts +34 -0
  304. package/dist/src/runtime/token-allocator.js +86 -0
  305. package/dist/src/runtime/token-allocator.js.map +1 -0
  306. package/dist/src/runtime/user-context.d.ts +49 -0
  307. package/dist/src/runtime/user-context.js +135 -0
  308. package/dist/src/runtime/user-context.js.map +1 -0
  309. package/dist/src/sdk.d.ts +57 -0
  310. package/dist/src/sdk.js +377 -0
  311. package/dist/src/sdk.js.map +1 -0
  312. package/dist/src/security/action-gate.d.ts +23 -0
  313. package/dist/src/security/action-gate.js +78 -0
  314. package/dist/src/security/action-gate.js.map +1 -0
  315. package/dist/src/security/field-scrubber.d.ts +27 -0
  316. package/dist/src/security/field-scrubber.js +152 -0
  317. package/dist/src/security/field-scrubber.js.map +1 -0
  318. package/dist/src/security/index.d.ts +14 -0
  319. package/dist/src/security/index.js +15 -0
  320. package/dist/src/security/index.js.map +1 -0
  321. package/dist/src/security/leak-detector.d.ts +23 -0
  322. package/dist/src/security/leak-detector.js +51 -0
  323. package/dist/src/security/leak-detector.js.map +1 -0
  324. package/dist/src/security/output-guard.d.ts +33 -0
  325. package/dist/src/security/output-guard.js +118 -0
  326. package/dist/src/security/output-guard.js.map +1 -0
  327. package/dist/src/security/pattern-scanner.d.ts +19 -0
  328. package/dist/src/security/pattern-scanner.js +66 -0
  329. package/dist/src/security/pattern-scanner.js.map +1 -0
  330. package/dist/src/security/scope-checker.d.ts +27 -0
  331. package/dist/src/security/scope-checker.js +52 -0
  332. package/dist/src/security/scope-checker.js.map +1 -0
  333. package/dist/src/security/scrub-tracker.d.ts +21 -0
  334. package/dist/src/security/scrub-tracker.js +39 -0
  335. package/dist/src/security/scrub-tracker.js.map +1 -0
  336. package/dist/src/security/security-types.d.ts +69 -0
  337. package/dist/src/security/security-types.js +17 -0
  338. package/dist/src/security/security-types.js.map +1 -0
  339. package/dist/src/security/threshold-evaluator.d.ts +13 -0
  340. package/dist/src/security/threshold-evaluator.js +44 -0
  341. package/dist/src/security/threshold-evaluator.js.map +1 -0
  342. package/dist/src/snapshot/index.d.ts +8 -0
  343. package/dist/src/snapshot/index.js +9 -0
  344. package/dist/src/snapshot/index.js.map +1 -0
  345. package/dist/src/snapshot/snapshot-builder.d.ts +37 -0
  346. package/dist/src/snapshot/snapshot-builder.js +152 -0
  347. package/dist/src/snapshot/snapshot-builder.js.map +1 -0
  348. package/dist/src/snapshot/snapshot-loader.d.ts +29 -0
  349. package/dist/src/snapshot/snapshot-loader.js +188 -0
  350. package/dist/src/snapshot/snapshot-loader.js.map +1 -0
  351. package/dist/src/snapshot/snapshot-types.d.ts +1940 -0
  352. package/dist/src/snapshot/snapshot-types.js +145 -0
  353. package/dist/src/snapshot/snapshot-types.js.map +1 -0
  354. package/dist/src/stores/index.d.ts +6 -0
  355. package/dist/src/stores/index.js +7 -0
  356. package/dist/src/stores/index.js.map +1 -0
  357. package/dist/src/stores/store-backend.d.ts +135 -0
  358. package/dist/src/stores/store-backend.js +7 -0
  359. package/dist/src/stores/store-backend.js.map +1 -0
  360. package/dist/src/templates/connections.d.ts +14 -0
  361. package/dist/src/templates/connections.js +7 -0
  362. package/dist/src/templates/connections.js.map +1 -0
  363. package/dist/src/templates/index.d.ts +7 -0
  364. package/dist/src/templates/index.js +8 -0
  365. package/dist/src/templates/index.js.map +1 -0
  366. package/dist/src/templates/template-resolver.d.ts +45 -0
  367. package/dist/src/templates/template-resolver.js +121 -0
  368. package/dist/src/templates/template-resolver.js.map +1 -0
  369. package/dist/src/tool-context.d.ts +33 -0
  370. package/dist/src/tool-context.js +7 -0
  371. package/dist/src/tool-context.js.map +1 -0
  372. package/dist/src/tool-registration.d.ts +14 -0
  373. package/dist/src/tool-registration.js +51 -0
  374. package/dist/src/tool-registration.js.map +1 -0
  375. package/dist/src/tools/amodal-tool-errors.d.ts +24 -0
  376. package/dist/src/tools/amodal-tool-errors.js +28 -0
  377. package/dist/src/tools/amodal-tool-errors.js.map +1 -0
  378. package/dist/src/tools/amodal-tool-names.d.ts +14 -0
  379. package/dist/src/tools/amodal-tool-names.js +15 -0
  380. package/dist/src/tools/amodal-tool-names.js.map +1 -0
  381. package/dist/src/tools/chain-tool-registry.d.ts +20 -0
  382. package/dist/src/tools/chain-tool-registry.js +49 -0
  383. package/dist/src/tools/chain-tool-registry.js.map +1 -0
  384. package/dist/src/tools/chain-tool-types.d.ts +190 -0
  385. package/dist/src/tools/chain-tool-types.js +50 -0
  386. package/dist/src/tools/chain-tool-types.js.map +1 -0
  387. package/dist/src/tools/chain-tool.d.ts +34 -0
  388. package/dist/src/tools/chain-tool.js +294 -0
  389. package/dist/src/tools/chain-tool.js.map +1 -0
  390. package/dist/src/tools/custom-tool-registrar.d.ts +8 -0
  391. package/dist/src/tools/custom-tool-registrar.js +10 -0
  392. package/dist/src/tools/custom-tool-registrar.js.map +1 -0
  393. package/dist/src/tools/definitions/amodal-tools.d.ts +9 -0
  394. package/dist/src/tools/definitions/amodal-tools.js +192 -0
  395. package/dist/src/tools/definitions/amodal-tools.js.map +1 -0
  396. package/dist/src/tools/function-tool-registry.d.ts +22 -0
  397. package/dist/src/tools/function-tool-registry.js +45 -0
  398. package/dist/src/tools/function-tool-registry.js.map +1 -0
  399. package/dist/src/tools/function-tool-types.d.ts +76 -0
  400. package/dist/src/tools/function-tool-types.js +27 -0
  401. package/dist/src/tools/function-tool-types.js.map +1 -0
  402. package/dist/src/tools/function-tool.d.ts +34 -0
  403. package/dist/src/tools/function-tool.js +97 -0
  404. package/dist/src/tools/function-tool.js.map +1 -0
  405. package/dist/src/tools/http-tool-registry.d.ts +20 -0
  406. package/dist/src/tools/http-tool-registry.js +34 -0
  407. package/dist/src/tools/http-tool-registry.js.map +1 -0
  408. package/dist/src/tools/http-tool-types.d.ts +92 -0
  409. package/dist/src/tools/http-tool-types.js +44 -0
  410. package/dist/src/tools/http-tool-types.js.map +1 -0
  411. package/dist/src/tools/http-tool.d.ts +32 -0
  412. package/dist/src/tools/http-tool.js +176 -0
  413. package/dist/src/tools/http-tool.js.map +1 -0
  414. package/dist/src/tools/merge-template.d.ts +33 -0
  415. package/dist/src/tools/merge-template.js +65 -0
  416. package/dist/src/tools/merge-template.js.map +1 -0
  417. package/dist/src/tools/request-tool-types.d.ts +46 -0
  418. package/dist/src/tools/request-tool-types.js +20 -0
  419. package/dist/src/tools/request-tool-types.js.map +1 -0
  420. package/dist/src/tools/request-tool.d.ts +29 -0
  421. package/dist/src/tools/request-tool.js +268 -0
  422. package/dist/src/tools/request-tool.js.map +1 -0
  423. package/dist/src/tools/store-query-tool.d.ts +29 -0
  424. package/dist/src/tools/store-query-tool.js +82 -0
  425. package/dist/src/tools/store-query-tool.js.map +1 -0
  426. package/dist/src/tools/store-write-tool.d.ts +26 -0
  427. package/dist/src/tools/store-write-tool.js +84 -0
  428. package/dist/src/tools/store-write-tool.js.map +1 -0
  429. package/dist/src/tools/tool-definition-types.d.ts +21 -0
  430. package/dist/src/tools/tool-definition-types.js +7 -0
  431. package/dist/src/tools/tool-definition-types.js.map +1 -0
  432. package/dist/src/tools/tool-utils.d.ts +29 -0
  433. package/dist/src/tools/tool-utils.js +66 -0
  434. package/dist/src/tools/tool-utils.js.map +1 -0
  435. package/dist/src/versions/bundle-loader.d.ts +37 -0
  436. package/dist/src/versions/bundle-loader.js +99 -0
  437. package/dist/src/versions/bundle-loader.js.map +1 -0
  438. package/dist/src/versions/dependency-manager.d.ts +54 -0
  439. package/dist/src/versions/dependency-manager.js +132 -0
  440. package/dist/src/versions/dependency-manager.js.map +1 -0
  441. package/dist/src/versions/handler-loader.d.ts +27 -0
  442. package/dist/src/versions/handler-loader.js +62 -0
  443. package/dist/src/versions/handler-loader.js.map +1 -0
  444. package/dist/src/versions/index.d.ts +10 -0
  445. package/dist/src/versions/index.js +11 -0
  446. package/dist/src/versions/index.js.map +1 -0
  447. package/dist/src/versions/version-bundle-types.d.ts +1278 -0
  448. package/dist/src/versions/version-bundle-types.js +207 -0
  449. package/dist/src/versions/version-bundle-types.js.map +1 -0
  450. package/dist/src/versions/version-manager.d.ts +89 -0
  451. package/dist/src/versions/version-manager.js +124 -0
  452. package/dist/src/versions/version-manager.js.map +1 -0
  453. package/dist/src/widgets/index.d.ts +8 -0
  454. package/dist/src/widgets/index.js +8 -0
  455. package/dist/src/widgets/index.js.map +1 -0
  456. package/dist/src/widgets/present-tool.d.ts +21 -0
  457. package/dist/src/widgets/present-tool.js +107 -0
  458. package/dist/src/widgets/present-tool.js.map +1 -0
  459. package/dist/src/widgets/widget-types.d.ts +78 -0
  460. package/dist/src/widgets/widget-types.js +28 -0
  461. package/dist/src/widgets/widget-types.js.map +1 -0
  462. package/dist/tsconfig.tsbuildinfo +1 -0
  463. package/package.json +50 -0
@@ -0,0 +1,353 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { readFile, readdir, stat } from 'node:fs/promises';
7
+ import * as path from 'node:path';
8
+ import { parseConnection, parseSkill, parseKnowledge, parseAutomation } from '../repo/parsers.js';
9
+ import { parseJsonImport, parseMarkdownFrontmatter } from './frontmatter.js';
10
+ import { mergeAccessJson, mergeConcatenation, mergeEntities, mergeSpecJson, mergeSurface } from './merge-engine.js';
11
+ import { readPackageFile } from './manifest-reader.js';
12
+ import { getPackageDir } from './npm-context.js';
13
+ import { makePackageRef, parsePackageKey } from './package-types.js';
14
+ // --- Helpers ---
15
+ async function readOptionalFile(filePath) {
16
+ try {
17
+ return await readFile(filePath, 'utf-8');
18
+ }
19
+ catch (err) {
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
21
+ if (err.code === 'ENOENT')
22
+ return null;
23
+ throw err;
24
+ }
25
+ }
26
+ async function dirExists(dirPath) {
27
+ try {
28
+ const s = await stat(dirPath);
29
+ return s.isDirectory();
30
+ }
31
+ catch {
32
+ return false;
33
+ }
34
+ }
35
+ async function listSubdirs(dirPath) {
36
+ try {
37
+ const entries = await readdir(dirPath, { withFileTypes: true });
38
+ return entries.filter((e) => e.isDirectory()).map((e) => e.name);
39
+ }
40
+ catch {
41
+ return [];
42
+ }
43
+ }
44
+ function hasImportHeader(content) {
45
+ // JSON import
46
+ if (content.trim().startsWith('{')) {
47
+ try {
48
+ const { import: imp } = parseJsonImport(content);
49
+ return imp !== undefined;
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ }
55
+ // Markdown import
56
+ const { frontmatter } = parseMarkdownFrontmatter(content);
57
+ return frontmatter !== null && typeof frontmatter['import'] === 'string';
58
+ }
59
+ // --- Connection resolution ---
60
+ /**
61
+ * Resolve a single connection by merging package + repo files.
62
+ */
63
+ export async function resolveConnection(name, repoDir, packageDir) {
64
+ if (!repoDir && !packageDir)
65
+ return null;
66
+ const location = repoDir ?? packageDir;
67
+ // Helper to read from package
68
+ async function readPkg(filename) {
69
+ if (!packageDir)
70
+ return null;
71
+ return readPackageFile(packageDir, filename);
72
+ }
73
+ // Helper to read from repo
74
+ async function readRepo(filename) {
75
+ if (!repoDir)
76
+ return null;
77
+ return readOptionalFile(path.join(repoDir, filename));
78
+ }
79
+ // Resolve each file type with merge logic
80
+ const repoSpec = await readRepo('spec.json');
81
+ const pkgSpec = await readPkg('spec.json');
82
+ let specJson;
83
+ if (repoSpec && pkgSpec && hasImportHeader(repoSpec)) {
84
+ const merged = mergeSpecJson(pkgSpec, repoSpec);
85
+ specJson = JSON.stringify(merged);
86
+ }
87
+ else if (repoSpec) {
88
+ specJson = repoSpec;
89
+ }
90
+ else if (pkgSpec) {
91
+ specJson = pkgSpec;
92
+ }
93
+ else {
94
+ return null; // spec.json is required
95
+ }
96
+ const repoAccess = await readRepo('access.json');
97
+ const pkgAccess = await readPkg('access.json');
98
+ let accessJson;
99
+ if (repoAccess && pkgAccess && hasImportHeader(repoAccess)) {
100
+ const merged = mergeAccessJson(pkgAccess, repoAccess);
101
+ accessJson = JSON.stringify(merged);
102
+ }
103
+ else if (repoAccess) {
104
+ accessJson = repoAccess;
105
+ }
106
+ else if (pkgAccess) {
107
+ accessJson = pkgAccess;
108
+ }
109
+ else {
110
+ return null; // access.json is required
111
+ }
112
+ // surface.md (optional)
113
+ const repoSurface = await readRepo('surface.md');
114
+ const pkgSurface = await readPkg('surface.md');
115
+ let surfaceMd;
116
+ if (repoSurface && pkgSurface && hasImportHeader(repoSurface)) {
117
+ surfaceMd = mergeSurface(pkgSurface, repoSurface);
118
+ }
119
+ else if (repoSurface) {
120
+ surfaceMd = repoSurface;
121
+ }
122
+ else if (pkgSurface) {
123
+ surfaceMd = pkgSurface;
124
+ }
125
+ // entities.md (optional)
126
+ const repoEntities = await readRepo('entities.md');
127
+ const pkgEntities = await readPkg('entities.md');
128
+ let entitiesMd;
129
+ if (repoEntities && pkgEntities && hasImportHeader(repoEntities)) {
130
+ entitiesMd = mergeEntities(pkgEntities, repoEntities);
131
+ }
132
+ else if (repoEntities) {
133
+ entitiesMd = repoEntities;
134
+ }
135
+ else if (pkgEntities) {
136
+ entitiesMd = pkgEntities;
137
+ }
138
+ // rules.md (optional, concatenation)
139
+ const repoRules = await readRepo('rules.md');
140
+ const pkgRules = await readPkg('rules.md');
141
+ let rulesMd;
142
+ if (repoRules && pkgRules && hasImportHeader(repoRules)) {
143
+ rulesMd = mergeConcatenation(pkgRules, repoRules);
144
+ }
145
+ else if (repoRules) {
146
+ rulesMd = repoRules;
147
+ }
148
+ else if (pkgRules) {
149
+ rulesMd = pkgRules;
150
+ }
151
+ return parseConnection(name, { specJson, accessJson, surfaceMd, entitiesMd, rulesMd }, location);
152
+ }
153
+ // --- Skill resolution ---
154
+ /**
155
+ * Resolve a single skill by merging package + repo files.
156
+ */
157
+ export async function resolveSkill(name, repoDir, packageDir) {
158
+ if (!repoDir && !packageDir)
159
+ return null;
160
+ const location = repoDir ?? packageDir;
161
+ const repoContent = repoDir
162
+ ? await readOptionalFile(path.join(repoDir, 'SKILL.md'))
163
+ : null;
164
+ const pkgContent = packageDir
165
+ ? await readPackageFile(packageDir, 'SKILL.md')
166
+ : null;
167
+ let content = null;
168
+ if (repoContent && pkgContent && hasImportHeader(repoContent)) {
169
+ content = mergeConcatenation(pkgContent, repoContent);
170
+ }
171
+ else if (repoContent) {
172
+ content = repoContent;
173
+ }
174
+ else if (pkgContent) {
175
+ content = pkgContent;
176
+ }
177
+ if (!content)
178
+ return null;
179
+ return parseSkill(content, location);
180
+ }
181
+ // --- Automation resolution ---
182
+ /**
183
+ * Resolve a single automation by merging package + repo file.
184
+ */
185
+ export async function resolveAutomation(name, repoDir, packageDir) {
186
+ if (!repoDir && !packageDir)
187
+ return null;
188
+ const location = repoDir ?? packageDir;
189
+ const repoContent = repoDir
190
+ ? await readOptionalFile(path.join(repoDir, `${name}.md`))
191
+ : null;
192
+ const pkgContent = packageDir
193
+ ? await readPackageFile(packageDir, `${name}.md`)
194
+ : null;
195
+ let content = null;
196
+ if (repoContent && pkgContent && hasImportHeader(repoContent)) {
197
+ content = mergeConcatenation(pkgContent, repoContent);
198
+ }
199
+ else if (repoContent) {
200
+ content = repoContent;
201
+ }
202
+ else if (pkgContent) {
203
+ content = pkgContent;
204
+ }
205
+ if (!content)
206
+ return null;
207
+ return parseAutomation(content, name, location);
208
+ }
209
+ // --- Knowledge resolution ---
210
+ /**
211
+ * Resolve a single knowledge file by merging package + repo file.
212
+ */
213
+ export async function resolveKnowledge(name, repoDir, packageDir) {
214
+ if (!repoDir && !packageDir)
215
+ return null;
216
+ const location = repoDir ?? packageDir;
217
+ const repoContent = repoDir
218
+ ? await readOptionalFile(path.join(repoDir, `${name}.md`))
219
+ : null;
220
+ const pkgContent = packageDir
221
+ ? await readPackageFile(packageDir, `${name}.md`)
222
+ : null;
223
+ let content = null;
224
+ if (repoContent && pkgContent && hasImportHeader(repoContent)) {
225
+ content = mergeConcatenation(pkgContent, repoContent);
226
+ }
227
+ else if (repoContent) {
228
+ content = repoContent;
229
+ }
230
+ else if (pkgContent) {
231
+ content = pkgContent;
232
+ }
233
+ if (!content)
234
+ return null;
235
+ return parseKnowledge(content, name, location);
236
+ }
237
+ // --- Full resolution ---
238
+ /**
239
+ * Resolve all packages: merge lock file packages with repo directories.
240
+ */
241
+ export async function resolveAllPackages(options) {
242
+ const { repoPath, lockFile } = options;
243
+ const warnings = [];
244
+ const connections = new Map();
245
+ const skills = [];
246
+ const automations = [];
247
+ const knowledge = [];
248
+ // Build union of names from lock file + repo directories
249
+ const connectionNames = new Set();
250
+ const skillNames = new Set();
251
+ const automationNames = new Set();
252
+ const knowledgeNames = new Set();
253
+ // From lock file
254
+ if (lockFile) {
255
+ for (const key of Object.keys(lockFile.packages)) {
256
+ const parsed = parsePackageKey(key);
257
+ switch (parsed.type) {
258
+ case 'connection':
259
+ connectionNames.add(parsed.name);
260
+ break;
261
+ case 'skill':
262
+ skillNames.add(parsed.name);
263
+ break;
264
+ case 'automation':
265
+ automationNames.add(parsed.name);
266
+ break;
267
+ case 'knowledge':
268
+ knowledgeNames.add(parsed.name);
269
+ break;
270
+ default:
271
+ break;
272
+ }
273
+ }
274
+ }
275
+ // From repo directories
276
+ const connDirs = await listSubdirs(path.join(repoPath, 'connections'));
277
+ for (const d of connDirs)
278
+ connectionNames.add(d);
279
+ const skillDirs = await listSubdirs(path.join(repoPath, 'skills'));
280
+ for (const d of skillDirs)
281
+ skillNames.add(d);
282
+ // For automations and knowledge, list .md files
283
+ const autoDir = path.join(repoPath, 'automations');
284
+ const knowledgeDir = path.join(repoPath, 'knowledge');
285
+ try {
286
+ const autoFiles = await readdir(autoDir);
287
+ for (const f of autoFiles) {
288
+ if (f.endsWith('.md'))
289
+ automationNames.add(f.replace(/\.md$/, ''));
290
+ }
291
+ }
292
+ catch {
293
+ // Directory doesn't exist
294
+ }
295
+ try {
296
+ const knowledgeFiles = await readdir(knowledgeDir);
297
+ for (const f of knowledgeFiles) {
298
+ if (f.endsWith('.md'))
299
+ knowledgeNames.add(f.replace(/\.md$/, ''));
300
+ }
301
+ }
302
+ catch {
303
+ // Directory doesn't exist
304
+ }
305
+ // Helper to get package directory for a name
306
+ async function getPkgDir(type, name) {
307
+ const ref = makePackageRef(type, name);
308
+ const dir = await getPackageDir(repoPath, ref);
309
+ if (!dir && lockFile && lockFile.packages[ref.key]) {
310
+ warnings.push(`Package ${ref.key} is in lock file but not installed (broken symlink?)`);
311
+ }
312
+ return dir;
313
+ }
314
+ // Resolve connections
315
+ const connTasks = [...connectionNames].map(async (name) => {
316
+ const repoDir = path.join(repoPath, 'connections', name);
317
+ const repoDirExists = await dirExists(repoDir);
318
+ const pkgDir = await getPkgDir('connection', name);
319
+ const result = await resolveConnection(name, repoDirExists ? repoDir : null, pkgDir);
320
+ if (result)
321
+ connections.set(name, result);
322
+ });
323
+ // Resolve skills
324
+ const skillTasks = [...skillNames].map(async (name) => {
325
+ const repoDir = path.join(repoPath, 'skills', name);
326
+ const repoDirExists = await dirExists(repoDir);
327
+ const pkgDir = await getPkgDir('skill', name);
328
+ const result = await resolveSkill(name, repoDirExists ? repoDir : null, pkgDir);
329
+ if (result)
330
+ skills.push(result);
331
+ });
332
+ // Resolve automations
333
+ const autoTasks = [...automationNames].map(async (name) => {
334
+ const repoDir = path.join(repoPath, 'automations');
335
+ const repoDirExists = await dirExists(repoDir);
336
+ const pkgDir = await getPkgDir('automation', name);
337
+ const result = await resolveAutomation(name, repoDirExists ? repoDir : null, pkgDir);
338
+ if (result)
339
+ automations.push(result);
340
+ });
341
+ // Resolve knowledge
342
+ const knowledgeTasks = [...knowledgeNames].map(async (name) => {
343
+ const repoDir = path.join(repoPath, 'knowledge');
344
+ const repoDirExists = await dirExists(repoDir);
345
+ const pkgDir = await getPkgDir('knowledge', name);
346
+ const result = await resolveKnowledge(name, repoDirExists ? repoDir : null, pkgDir);
347
+ if (result)
348
+ knowledge.push(result);
349
+ });
350
+ await Promise.all([...connTasks, ...skillTasks, ...autoTasks, ...knowledgeTasks]);
351
+ return { connections, skills, automations, knowledge, warnings };
352
+ }
353
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/packages/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import type { AmodalConfigExtensions } from '../amodal-config.js';
7
+ import type { VersionManager } from '../versions/version-manager.js';
8
+ import type { AgentSDKConfig } from './platform-types.js';
9
+ /**
10
+ * The subset of AmodalConfigExtensions that comes from version bundles
11
+ * and SDK-level settings, plus a versionBundleVersion string.
12
+ */
13
+ export type PlatformConfigParams = AmodalConfigExtensions & {
14
+ versionBundleVersion?: string;
15
+ };
16
+ /**
17
+ * Merge version config (from VersionManager) and SDK config into
18
+ * fields suitable for the AmodalConfig constructor.
19
+ *
20
+ * Bundle-derived fields (tools, roles, handlers) come from versionConfig.
21
+ * Operational fields (connections, audit, activeRole) come from sdkConfig.
22
+ * The bundle version string is used as auditVersion.
23
+ */
24
+ export declare function buildPlatformConfigParams(versionConfig: ReturnType<VersionManager['getVersionConfig']>, sdkConfig: AgentSDKConfig): Partial<PlatformConfigParams>;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Merge version config (from VersionManager) and SDK config into
8
+ * fields suitable for the AmodalConfig constructor.
9
+ *
10
+ * Bundle-derived fields (tools, roles, handlers) come from versionConfig.
11
+ * Operational fields (connections, audit, activeRole) come from sdkConfig.
12
+ * The bundle version string is used as auditVersion.
13
+ */
14
+ export function buildPlatformConfigParams(versionConfig, sdkConfig) {
15
+ const params = {};
16
+ // Platform API credentials from SDK config
17
+ if (sdkConfig.platform) {
18
+ params.platformApiUrl = sdkConfig.platform.apiUrl;
19
+ params.platformApiKey = sdkConfig.platform.apiKey;
20
+ }
21
+ // Application and tenant IDs
22
+ if (sdkConfig.applicationId) {
23
+ params.applicationId = sdkConfig.applicationId;
24
+ }
25
+ if (sdkConfig.tenantId) {
26
+ params.tenantId = sdkConfig.tenantId;
27
+ }
28
+ // Agent context from SDK config (may be auto-detected from org)
29
+ if (sdkConfig.agentContext) {
30
+ params.agentContext = sdkConfig.agentContext;
31
+ }
32
+ // Disabled platform tools from SDK config (fetched from application)
33
+ if (sdkConfig.disabledPlatformTools && sdkConfig.disabledPlatformTools.length > 0) {
34
+ params.disabledBuiltInTools = sdkConfig.disabledPlatformTools;
35
+ }
36
+ // Connections from SDK config (local secrets, never from platform)
37
+ if (sdkConfig.connections) {
38
+ params.connections = sdkConfig.connections;
39
+ }
40
+ // Active role from SDK config
41
+ if (sdkConfig.activeRole) {
42
+ params.activeRole = sdkConfig.activeRole;
43
+ }
44
+ // Audit config from SDK config
45
+ if (sdkConfig.auditConfig != null) {
46
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- audit config from SDK
47
+ params.auditConfig = sdkConfig.auditConfig;
48
+ }
49
+ if (sdkConfig.auditUser) {
50
+ params.auditUser = sdkConfig.auditUser;
51
+ }
52
+ if (sdkConfig.auditSource) {
53
+ params.auditSource = sdkConfig.auditSource;
54
+ }
55
+ // Version bundle fields
56
+ if (versionConfig) {
57
+ params.httpToolConfigs = versionConfig.httpToolConfigs;
58
+ params.chainToolConfigs = versionConfig.chainToolConfigs;
59
+ params.functionToolConfigs = versionConfig.functionToolConfigs;
60
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- handler map from version manager
61
+ params.functionToolHandlers = versionConfig.functionToolHandlers;
62
+ params.roleDefinitions = versionConfig.roleDefinitions;
63
+ params.auditVersion = versionConfig.version;
64
+ params.versionBundleVersion = versionConfig.version;
65
+ params.bundleSkills = versionConfig.skills;
66
+ params.automationDefinitions = versionConfig.automations;
67
+ }
68
+ return params;
69
+ }
70
+ //# sourceMappingURL=config-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../../src/platform/config-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA6D,EAC7D,SAAyB;IAEzB,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,2CAA2C;IAC3C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClD,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IACjD,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,gEAAgE;IAChE,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,qEAAqE;IACrE,IAAI,SAAS,CAAC,qBAAqB,IAAI,SAAS,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,oBAAoB,GAAG,SAAS,CAAC,qBAAqB,CAAC;IAChE,CAAC;IAED,mEAAmE;IACnE,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED,+BAA+B;IAC/B,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAClC,gGAAgG;QAChG,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAoD,CAAC;IACtF,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACzC,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,wBAAwB;IACxB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACvD,MAAM,CAAC,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC;QACzD,MAAM,CAAC,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;QAC/D,2GAA2G;QAC3G,MAAM,CAAC,oBAAoB,GAAG,aAAa,CAAC,oBAA0D,CAAC;QAEvG,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,eAA4B,CAAC;QACpE,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC;QAC5C,MAAM,CAAC,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC;QACpD,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;QAE3C,MAAM,CAAC,qBAAqB,GAAG,aAAa,CAAC,WAAwB,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export * from './platform-types.js';
7
+ export * from './platform-client.js';
8
+ export * from './config-builder.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export * from './platform-types.js';
7
+ export * from './platform-client.js';
8
+ export * from './config-builder.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import type { VersionBundle, BundleToolConfig, BundleSkill, SubagentConfig } from '../versions/version-bundle-types.js';
7
+ import type { PlatformConfig, ConnectionInfo } from './platform-types.js';
8
+ import type { KBDocument, ScopeType } from '../knowledge/kb-types.js';
9
+ /**
10
+ * Organization record returned by the platform API.
11
+ */
12
+ export interface OrgRecord {
13
+ id: string;
14
+ name: string;
15
+ agent_context?: string;
16
+ }
17
+ /**
18
+ * Application record returned by the platform API.
19
+ */
20
+ export interface AppRecord {
21
+ id: string;
22
+ org_id: string;
23
+ name: string;
24
+ base_prompt?: string;
25
+ agent_context?: string;
26
+ disabled_platform_tools?: string[];
27
+ model?: string;
28
+ simple_model?: string;
29
+ advanced_model?: string;
30
+ provider?: string;
31
+ provider_base_url?: string;
32
+ provider_api_key?: string;
33
+ }
34
+ /**
35
+ * A resolved secret (name + decrypted value) returned by the platform API.
36
+ */
37
+ export interface ResolvedSecret {
38
+ name: string;
39
+ value: string;
40
+ }
41
+ /**
42
+ * Request config for a connection, describing how to build HTTP requests.
43
+ */
44
+ export interface RequestConfigRecord {
45
+ base_url_field: string;
46
+ auth: Array<{
47
+ header: string;
48
+ value_template: string;
49
+ }>;
50
+ default_headers: Record<string, string>;
51
+ }
52
+ /**
53
+ * A resolved connection with credentials and optional request config.
54
+ */
55
+ export interface ResolvedConnection {
56
+ credentials: Record<string, string>;
57
+ request_config?: RequestConfigRecord;
58
+ }
59
+ /**
60
+ * Map of connection names to their resolved credentials and request config.
61
+ */
62
+ export type ResolvedConnectionMap = Record<string, ResolvedConnection>;
63
+ /**
64
+ * Client for communicating with the platform API.
65
+ * Fetches version bundles for a specific deployment.
66
+ */
67
+ export declare class PlatformClient {
68
+ private readonly config;
69
+ constructor(config: PlatformConfig);
70
+ /**
71
+ * Fetch the latest version bundle for this deployment.
72
+ */
73
+ fetchLatestBundle(timeout?: number): Promise<VersionBundle>;
74
+ /**
75
+ * Fetch knowledge base documents for a given scope.
76
+ *
77
+ * @param scopeType 'application' or 'tenant'
78
+ * @param scopeId The application or tenant ID
79
+ * @param timeout Request timeout in ms (default 30000)
80
+ */
81
+ fetchDocuments(scopeType: ScopeType, scopeId: string, sessionType?: string, timeout?: number): Promise<KBDocument[]>;
82
+ /**
83
+ * Fetch documents matching any of the given tags.
84
+ */
85
+ fetchDocumentsByTags(scopeType: ScopeType, scopeId: string, tags: string[], timeout?: number): Promise<KBDocument[]>;
86
+ /**
87
+ * Search documents by title keyword.
88
+ */
89
+ searchDocuments(scopeType: ScopeType, scopeId: string, query: string, timeout?: number): Promise<KBDocument[]>;
90
+ /**
91
+ * Fetch specific documents by their IDs.
92
+ */
93
+ fetchDocumentsByIds(scopeType: ScopeType, scopeId: string, ids: string[], timeout?: number): Promise<KBDocument[]>;
94
+ /**
95
+ * Internal helper: fetch documents with optional query params.
96
+ */
97
+ private fetchDocumentsWithParams;
98
+ /**
99
+ * Fetch organization details.
100
+ *
101
+ * @param orgId The organization ID
102
+ * @param timeout Request timeout in ms (default 30000)
103
+ */
104
+ fetchOrganization(orgId: string, timeout?: number): Promise<OrgRecord>;
105
+ /**
106
+ * Fetch application details (including base_prompt and agent_context).
107
+ *
108
+ * @param appId The application ID
109
+ * @param timeout Request timeout in ms (default 30000)
110
+ */
111
+ fetchApplication(appId: string, timeout?: number): Promise<AppRecord>;
112
+ /**
113
+ * Fetch the active deployment snapshot blob.
114
+ * Returns the raw snapshot record or null if none is active.
115
+ */
116
+ fetchActiveSnapshot(timeout?: number, deployId?: string): Promise<Record<string, unknown> | null>;
117
+ /**
118
+ * Resolve decrypted secrets for a tenant.
119
+ *
120
+ * @param tenantId The tenant ID
121
+ * @param timeout Request timeout in ms (default 30000)
122
+ */
123
+ resolveSecrets(tenantId: string, timeout?: number): Promise<ResolvedSecret[]>;
124
+ /**
125
+ * Resolve connections for a tenant — returns per-connection credentials + request_config.
126
+ *
127
+ * @param tenantId The tenant ID
128
+ * @param timeout Request timeout in ms (default 30000)
129
+ */
130
+ resolveConnections(tenantId: string, timeout?: number): Promise<ResolvedConnectionMap>;
131
+ /**
132
+ * Fetch custom tools for a deployment (application).
133
+ *
134
+ * @param appId The application/deployment ID
135
+ * @param timeout Request timeout in ms (default 30000)
136
+ */
137
+ fetchTools(appId: string, sessionType?: string, timeout?: number): Promise<BundleToolConfig[]>;
138
+ /**
139
+ * Fetch skills for a deployment (application).
140
+ *
141
+ * @param appId The application/deployment ID
142
+ * @param timeout Request timeout in ms (default 30000)
143
+ */
144
+ fetchSkills(appId: string, sessionType?: string, timeout?: number): Promise<BundleSkill[]>;
145
+ /**
146
+ * Fetch subagent (task agent) configurations for a deployment.
147
+ *
148
+ * @param appId The application/deployment ID
149
+ * @param timeout Request timeout in ms (default 30000)
150
+ */
151
+ fetchSubagents(appId: string, sessionType?: string, timeout?: number): Promise<SubagentConfig[]>;
152
+ /**
153
+ * Fetch connection metadata for an application.
154
+ * Returns name, provider, and description for each connection — no credentials.
155
+ *
156
+ * @param appId The application ID
157
+ * @param timeout Request timeout in ms (default 30000)
158
+ */
159
+ fetchConnections(appId: string, sessionType?: string, timeout?: number): Promise<ConnectionInfo[]>;
160
+ }