@miller-tech/uap 1.0.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 (660) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +888 -0
  3. package/dist/analyzers/index.d.ts +3 -0
  4. package/dist/analyzers/index.d.ts.map +1 -0
  5. package/dist/analyzers/index.js +684 -0
  6. package/dist/analyzers/index.js.map +1 -0
  7. package/dist/benchmarks/agents/naive-agent.d.ts +60 -0
  8. package/dist/benchmarks/agents/naive-agent.d.ts.map +1 -0
  9. package/dist/benchmarks/agents/naive-agent.js +144 -0
  10. package/dist/benchmarks/agents/naive-agent.js.map +1 -0
  11. package/dist/benchmarks/agents/uap-agent.d.ts +167 -0
  12. package/dist/benchmarks/agents/uap-agent.d.ts.map +1 -0
  13. package/dist/benchmarks/agents/uap-agent.js +437 -0
  14. package/dist/benchmarks/agents/uap-agent.js.map +1 -0
  15. package/dist/benchmarks/benchmark.d.ts +328 -0
  16. package/dist/benchmarks/benchmark.d.ts.map +1 -0
  17. package/dist/benchmarks/benchmark.js +112 -0
  18. package/dist/benchmarks/benchmark.js.map +1 -0
  19. package/dist/benchmarks/execution-verifier.d.ts +41 -0
  20. package/dist/benchmarks/execution-verifier.d.ts.map +1 -0
  21. package/dist/benchmarks/execution-verifier.js +340 -0
  22. package/dist/benchmarks/execution-verifier.js.map +1 -0
  23. package/dist/benchmarks/hierarchical-prompting.d.ts +37 -0
  24. package/dist/benchmarks/hierarchical-prompting.d.ts.map +1 -0
  25. package/dist/benchmarks/hierarchical-prompting.js +246 -0
  26. package/dist/benchmarks/hierarchical-prompting.js.map +1 -0
  27. package/dist/benchmarks/improved-benchmark.d.ts +89 -0
  28. package/dist/benchmarks/improved-benchmark.d.ts.map +1 -0
  29. package/dist/benchmarks/improved-benchmark.js +585 -0
  30. package/dist/benchmarks/improved-benchmark.js.map +1 -0
  31. package/dist/benchmarks/index.d.ts +11 -0
  32. package/dist/benchmarks/index.d.ts.map +1 -0
  33. package/dist/benchmarks/index.js +11 -0
  34. package/dist/benchmarks/index.js.map +1 -0
  35. package/dist/benchmarks/model-integration.d.ts +111 -0
  36. package/dist/benchmarks/model-integration.d.ts.map +1 -0
  37. package/dist/benchmarks/model-integration.js +904 -0
  38. package/dist/benchmarks/model-integration.js.map +1 -0
  39. package/dist/benchmarks/multi-turn-agent.d.ts +44 -0
  40. package/dist/benchmarks/multi-turn-agent.d.ts.map +1 -0
  41. package/dist/benchmarks/multi-turn-agent.js +254 -0
  42. package/dist/benchmarks/multi-turn-agent.js.map +1 -0
  43. package/dist/benchmarks/multi-turn-loop.d.ts +57 -0
  44. package/dist/benchmarks/multi-turn-loop.d.ts.map +1 -0
  45. package/dist/benchmarks/multi-turn-loop.js +167 -0
  46. package/dist/benchmarks/multi-turn-loop.js.map +1 -0
  47. package/dist/benchmarks/tasks.d.ts +19 -0
  48. package/dist/benchmarks/tasks.d.ts.map +1 -0
  49. package/dist/benchmarks/tasks.js +435 -0
  50. package/dist/benchmarks/tasks.js.map +1 -0
  51. package/dist/bin/cli.d.ts +3 -0
  52. package/dist/bin/cli.d.ts.map +1 -0
  53. package/dist/bin/cli.js +546 -0
  54. package/dist/bin/cli.js.map +1 -0
  55. package/dist/bin/llama-server-optimize.d.ts +18 -0
  56. package/dist/bin/llama-server-optimize.d.ts.map +1 -0
  57. package/dist/bin/llama-server-optimize.js +708 -0
  58. package/dist/bin/llama-server-optimize.js.map +1 -0
  59. package/dist/bin/policy.d.ts +3 -0
  60. package/dist/bin/policy.d.ts.map +1 -0
  61. package/dist/bin/policy.js +143 -0
  62. package/dist/bin/policy.js.map +1 -0
  63. package/dist/bin/tool-calls.d.ts +3 -0
  64. package/dist/bin/tool-calls.d.ts.map +1 -0
  65. package/dist/bin/tool-calls.js +4 -0
  66. package/dist/bin/tool-calls.js.map +1 -0
  67. package/dist/browser/index.d.ts +2 -0
  68. package/dist/browser/index.d.ts.map +1 -0
  69. package/dist/browser/index.js +2 -0
  70. package/dist/browser/index.js.map +1 -0
  71. package/dist/browser/web-browser.d.ts +30 -0
  72. package/dist/browser/web-browser.d.ts.map +1 -0
  73. package/dist/browser/web-browser.js +93 -0
  74. package/dist/browser/web-browser.js.map +1 -0
  75. package/dist/cli/agent.d.ts +20 -0
  76. package/dist/cli/agent.d.ts.map +1 -0
  77. package/dist/cli/agent.js +474 -0
  78. package/dist/cli/agent.js.map +1 -0
  79. package/dist/cli/analyze.d.ts +7 -0
  80. package/dist/cli/analyze.d.ts.map +1 -0
  81. package/dist/cli/analyze.js +103 -0
  82. package/dist/cli/analyze.js.map +1 -0
  83. package/dist/cli/completion-gates.d.ts +51 -0
  84. package/dist/cli/completion-gates.d.ts.map +1 -0
  85. package/dist/cli/completion-gates.js +201 -0
  86. package/dist/cli/completion-gates.js.map +1 -0
  87. package/dist/cli/compliance.d.ts +8 -0
  88. package/dist/cli/compliance.d.ts.map +1 -0
  89. package/dist/cli/compliance.js +509 -0
  90. package/dist/cli/compliance.js.map +1 -0
  91. package/dist/cli/coord.d.ts +7 -0
  92. package/dist/cli/coord.d.ts.map +1 -0
  93. package/dist/cli/coord.js +138 -0
  94. package/dist/cli/coord.js.map +1 -0
  95. package/dist/cli/dashboard.d.ts +21 -0
  96. package/dist/cli/dashboard.d.ts.map +1 -0
  97. package/dist/cli/dashboard.js +1508 -0
  98. package/dist/cli/dashboard.js.map +1 -0
  99. package/dist/cli/deploy.d.ts +19 -0
  100. package/dist/cli/deploy.d.ts.map +1 -0
  101. package/dist/cli/deploy.js +387 -0
  102. package/dist/cli/deploy.js.map +1 -0
  103. package/dist/cli/droids.d.ts +9 -0
  104. package/dist/cli/droids.d.ts.map +1 -0
  105. package/dist/cli/droids.js +227 -0
  106. package/dist/cli/droids.js.map +1 -0
  107. package/dist/cli/generate.d.ts +17 -0
  108. package/dist/cli/generate.d.ts.map +1 -0
  109. package/dist/cli/generate.js +432 -0
  110. package/dist/cli/generate.js.map +1 -0
  111. package/dist/cli/hooks.d.ts +9 -0
  112. package/dist/cli/hooks.d.ts.map +1 -0
  113. package/dist/cli/hooks.js +464 -0
  114. package/dist/cli/hooks.js.map +1 -0
  115. package/dist/cli/init.d.ts +12 -0
  116. package/dist/cli/init.d.ts.map +1 -0
  117. package/dist/cli/init.js +364 -0
  118. package/dist/cli/init.js.map +1 -0
  119. package/dist/cli/mcp-router.d.ts +16 -0
  120. package/dist/cli/mcp-router.d.ts.map +1 -0
  121. package/dist/cli/mcp-router.js +143 -0
  122. package/dist/cli/mcp-router.js.map +1 -0
  123. package/dist/cli/memory.d.ts +24 -0
  124. package/dist/cli/memory.d.ts.map +1 -0
  125. package/dist/cli/memory.js +885 -0
  126. package/dist/cli/memory.js.map +1 -0
  127. package/dist/cli/model.d.ts +15 -0
  128. package/dist/cli/model.d.ts.map +1 -0
  129. package/dist/cli/model.js +290 -0
  130. package/dist/cli/model.js.map +1 -0
  131. package/dist/cli/patterns.d.ts +26 -0
  132. package/dist/cli/patterns.d.ts.map +1 -0
  133. package/dist/cli/patterns.js +862 -0
  134. package/dist/cli/patterns.js.map +1 -0
  135. package/dist/cli/rtk-validation.d.ts +9 -0
  136. package/dist/cli/rtk-validation.d.ts.map +1 -0
  137. package/dist/cli/rtk-validation.js +9 -0
  138. package/dist/cli/rtk-validation.js.map +1 -0
  139. package/dist/cli/rtk.d.ts +34 -0
  140. package/dist/cli/rtk.d.ts.map +1 -0
  141. package/dist/cli/rtk.js +401 -0
  142. package/dist/cli/rtk.js.map +1 -0
  143. package/dist/cli/schema-diff.d.ts +7 -0
  144. package/dist/cli/schema-diff.d.ts.map +1 -0
  145. package/dist/cli/schema-diff.js +11 -0
  146. package/dist/cli/schema-diff.js.map +1 -0
  147. package/dist/cli/setup-mcp-router.d.ts +8 -0
  148. package/dist/cli/setup-mcp-router.d.ts.map +1 -0
  149. package/dist/cli/setup-mcp-router.js +163 -0
  150. package/dist/cli/setup-mcp-router.js.map +1 -0
  151. package/dist/cli/setup-wizard.d.ts +2 -0
  152. package/dist/cli/setup-wizard.d.ts.map +1 -0
  153. package/dist/cli/setup-wizard.js +806 -0
  154. package/dist/cli/setup-wizard.js.map +1 -0
  155. package/dist/cli/setup.d.ts +15 -0
  156. package/dist/cli/setup.d.ts.map +1 -0
  157. package/dist/cli/setup.js +154 -0
  158. package/dist/cli/setup.js.map +1 -0
  159. package/dist/cli/sync.d.ts +8 -0
  160. package/dist/cli/sync.d.ts.map +1 -0
  161. package/dist/cli/sync.js +395 -0
  162. package/dist/cli/sync.js.map +1 -0
  163. package/dist/cli/task.d.ts +33 -0
  164. package/dist/cli/task.d.ts.map +1 -0
  165. package/dist/cli/task.js +672 -0
  166. package/dist/cli/task.js.map +1 -0
  167. package/dist/cli/tool-calls.d.ts +20 -0
  168. package/dist/cli/tool-calls.d.ts.map +1 -0
  169. package/dist/cli/tool-calls.js +605 -0
  170. package/dist/cli/tool-calls.js.map +1 -0
  171. package/dist/cli/uap.d.ts +10 -0
  172. package/dist/cli/uap.d.ts.map +1 -0
  173. package/dist/cli/uap.js +398 -0
  174. package/dist/cli/uap.js.map +1 -0
  175. package/dist/cli/update.d.ts +10 -0
  176. package/dist/cli/update.d.ts.map +1 -0
  177. package/dist/cli/update.js +300 -0
  178. package/dist/cli/update.js.map +1 -0
  179. package/dist/cli/visualize.d.ts +77 -0
  180. package/dist/cli/visualize.d.ts.map +1 -0
  181. package/dist/cli/visualize.js +287 -0
  182. package/dist/cli/visualize.js.map +1 -0
  183. package/dist/cli/worktree.d.ts +9 -0
  184. package/dist/cli/worktree.d.ts.map +1 -0
  185. package/dist/cli/worktree.js +213 -0
  186. package/dist/cli/worktree.js.map +1 -0
  187. package/dist/coordination/adaptive-patterns.d.ts +65 -0
  188. package/dist/coordination/adaptive-patterns.d.ts.map +1 -0
  189. package/dist/coordination/adaptive-patterns.js +108 -0
  190. package/dist/coordination/adaptive-patterns.js.map +1 -0
  191. package/dist/coordination/auto-agent.d.ts +82 -0
  192. package/dist/coordination/auto-agent.d.ts.map +1 -0
  193. package/dist/coordination/auto-agent.js +145 -0
  194. package/dist/coordination/auto-agent.js.map +1 -0
  195. package/dist/coordination/capability-router.d.ts +79 -0
  196. package/dist/coordination/capability-router.d.ts.map +1 -0
  197. package/dist/coordination/capability-router.js +334 -0
  198. package/dist/coordination/capability-router.js.map +1 -0
  199. package/dist/coordination/database.d.ts +13 -0
  200. package/dist/coordination/database.d.ts.map +1 -0
  201. package/dist/coordination/database.js +136 -0
  202. package/dist/coordination/database.js.map +1 -0
  203. package/dist/coordination/deploy-batcher.d.ts +122 -0
  204. package/dist/coordination/deploy-batcher.d.ts.map +1 -0
  205. package/dist/coordination/deploy-batcher.js +718 -0
  206. package/dist/coordination/deploy-batcher.js.map +1 -0
  207. package/dist/coordination/droid-validator.d.ts +59 -0
  208. package/dist/coordination/droid-validator.d.ts.map +1 -0
  209. package/dist/coordination/droid-validator.js +142 -0
  210. package/dist/coordination/droid-validator.js.map +1 -0
  211. package/dist/coordination/index.d.ts +10 -0
  212. package/dist/coordination/index.d.ts.map +1 -0
  213. package/dist/coordination/index.js +10 -0
  214. package/dist/coordination/index.js.map +1 -0
  215. package/dist/coordination/pattern-router.d.ts +50 -0
  216. package/dist/coordination/pattern-router.d.ts.map +1 -0
  217. package/dist/coordination/pattern-router.js +118 -0
  218. package/dist/coordination/pattern-router.js.map +1 -0
  219. package/dist/coordination/service.d.ts +81 -0
  220. package/dist/coordination/service.d.ts.map +1 -0
  221. package/dist/coordination/service.js +619 -0
  222. package/dist/coordination/service.js.map +1 -0
  223. package/dist/coordination/worktree-enforcer.d.ts +22 -0
  224. package/dist/coordination/worktree-enforcer.d.ts.map +1 -0
  225. package/dist/coordination/worktree-enforcer.js +71 -0
  226. package/dist/coordination/worktree-enforcer.js.map +1 -0
  227. package/dist/generators/claude-md.d.ts +3 -0
  228. package/dist/generators/claude-md.d.ts.map +1 -0
  229. package/dist/generators/claude-md.js +1020 -0
  230. package/dist/generators/claude-md.js.map +1 -0
  231. package/dist/generators/template-loader.d.ts +105 -0
  232. package/dist/generators/template-loader.d.ts.map +1 -0
  233. package/dist/generators/template-loader.js +291 -0
  234. package/dist/generators/template-loader.js.map +1 -0
  235. package/dist/index.d.ts +49 -0
  236. package/dist/index.d.ts.map +1 -0
  237. package/dist/index.js +63 -0
  238. package/dist/index.js.map +1 -0
  239. package/dist/mcp-router/config/parser.d.ts +9 -0
  240. package/dist/mcp-router/config/parser.d.ts.map +1 -0
  241. package/dist/mcp-router/config/parser.js +174 -0
  242. package/dist/mcp-router/config/parser.js.map +1 -0
  243. package/dist/mcp-router/executor/client.d.ts +31 -0
  244. package/dist/mcp-router/executor/client.d.ts.map +1 -0
  245. package/dist/mcp-router/executor/client.js +189 -0
  246. package/dist/mcp-router/executor/client.js.map +1 -0
  247. package/dist/mcp-router/index.d.ts +22 -0
  248. package/dist/mcp-router/index.d.ts.map +1 -0
  249. package/dist/mcp-router/index.js +18 -0
  250. package/dist/mcp-router/index.js.map +1 -0
  251. package/dist/mcp-router/output-compressor.d.ts +26 -0
  252. package/dist/mcp-router/output-compressor.d.ts.map +1 -0
  253. package/dist/mcp-router/output-compressor.js +236 -0
  254. package/dist/mcp-router/output-compressor.js.map +1 -0
  255. package/dist/mcp-router/search/fuzzy.d.ts +26 -0
  256. package/dist/mcp-router/search/fuzzy.d.ts.map +1 -0
  257. package/dist/mcp-router/search/fuzzy.js +94 -0
  258. package/dist/mcp-router/search/fuzzy.js.map +1 -0
  259. package/dist/mcp-router/server.d.ts +50 -0
  260. package/dist/mcp-router/server.d.ts.map +1 -0
  261. package/dist/mcp-router/server.js +229 -0
  262. package/dist/mcp-router/server.js.map +1 -0
  263. package/dist/mcp-router/session-stats.d.ts +37 -0
  264. package/dist/mcp-router/session-stats.d.ts.map +1 -0
  265. package/dist/mcp-router/session-stats.js +56 -0
  266. package/dist/mcp-router/session-stats.js.map +1 -0
  267. package/dist/mcp-router/tools/discover.d.ts +37 -0
  268. package/dist/mcp-router/tools/discover.d.ts.map +1 -0
  269. package/dist/mcp-router/tools/discover.js +65 -0
  270. package/dist/mcp-router/tools/discover.js.map +1 -0
  271. package/dist/mcp-router/tools/execute.d.ts +43 -0
  272. package/dist/mcp-router/tools/execute.d.ts.map +1 -0
  273. package/dist/mcp-router/tools/execute.js +144 -0
  274. package/dist/mcp-router/tools/execute.js.map +1 -0
  275. package/dist/mcp-router/types.d.ts +62 -0
  276. package/dist/mcp-router/types.d.ts.map +1 -0
  277. package/dist/mcp-router/types.js +6 -0
  278. package/dist/mcp-router/types.js.map +1 -0
  279. package/dist/memory/adaptive-context.d.ts +149 -0
  280. package/dist/memory/adaptive-context.d.ts.map +1 -0
  281. package/dist/memory/adaptive-context.js +1095 -0
  282. package/dist/memory/adaptive-context.js.map +1 -0
  283. package/dist/memory/agent-scoped-memory.d.ts +67 -0
  284. package/dist/memory/agent-scoped-memory.d.ts.map +1 -0
  285. package/dist/memory/agent-scoped-memory.js +126 -0
  286. package/dist/memory/agent-scoped-memory.js.map +1 -0
  287. package/dist/memory/ambiguity-detector.d.ts +54 -0
  288. package/dist/memory/ambiguity-detector.d.ts.map +1 -0
  289. package/dist/memory/ambiguity-detector.js +401 -0
  290. package/dist/memory/ambiguity-detector.js.map +1 -0
  291. package/dist/memory/backends/base.d.ts +18 -0
  292. package/dist/memory/backends/base.d.ts.map +1 -0
  293. package/dist/memory/backends/base.js +2 -0
  294. package/dist/memory/backends/base.js.map +1 -0
  295. package/dist/memory/backends/factory.d.ts +4 -0
  296. package/dist/memory/backends/factory.d.ts.map +1 -0
  297. package/dist/memory/backends/factory.js +53 -0
  298. package/dist/memory/backends/factory.js.map +1 -0
  299. package/dist/memory/backends/github.d.ts +27 -0
  300. package/dist/memory/backends/github.d.ts.map +1 -0
  301. package/dist/memory/backends/github.js +134 -0
  302. package/dist/memory/backends/github.js.map +1 -0
  303. package/dist/memory/backends/qdrant-cloud.d.ts +32 -0
  304. package/dist/memory/backends/qdrant-cloud.d.ts.map +1 -0
  305. package/dist/memory/backends/qdrant-cloud.js +167 -0
  306. package/dist/memory/backends/qdrant-cloud.js.map +1 -0
  307. package/dist/memory/context-compressor.d.ts +116 -0
  308. package/dist/memory/context-compressor.d.ts.map +1 -0
  309. package/dist/memory/context-compressor.js +430 -0
  310. package/dist/memory/context-compressor.js.map +1 -0
  311. package/dist/memory/context-pruner.d.ts +55 -0
  312. package/dist/memory/context-pruner.d.ts.map +1 -0
  313. package/dist/memory/context-pruner.js +85 -0
  314. package/dist/memory/context-pruner.js.map +1 -0
  315. package/dist/memory/correction-propagator.d.ts +44 -0
  316. package/dist/memory/correction-propagator.d.ts.map +1 -0
  317. package/dist/memory/correction-propagator.js +156 -0
  318. package/dist/memory/correction-propagator.js.map +1 -0
  319. package/dist/memory/daily-log.d.ts +67 -0
  320. package/dist/memory/daily-log.d.ts.map +1 -0
  321. package/dist/memory/daily-log.js +143 -0
  322. package/dist/memory/daily-log.js.map +1 -0
  323. package/dist/memory/dynamic-retrieval.d.ts +112 -0
  324. package/dist/memory/dynamic-retrieval.d.ts.map +1 -0
  325. package/dist/memory/dynamic-retrieval.js +908 -0
  326. package/dist/memory/dynamic-retrieval.js.map +1 -0
  327. package/dist/memory/embeddings.d.ts +172 -0
  328. package/dist/memory/embeddings.d.ts.map +1 -0
  329. package/dist/memory/embeddings.js +780 -0
  330. package/dist/memory/embeddings.js.map +1 -0
  331. package/dist/memory/generic-uap-patterns.d.ts +7 -0
  332. package/dist/memory/generic-uap-patterns.d.ts.map +1 -0
  333. package/dist/memory/generic-uap-patterns.js +43 -0
  334. package/dist/memory/generic-uap-patterns.js.map +1 -0
  335. package/dist/memory/hierarchical-memory.d.ts +141 -0
  336. package/dist/memory/hierarchical-memory.d.ts.map +1 -0
  337. package/dist/memory/hierarchical-memory.js +485 -0
  338. package/dist/memory/hierarchical-memory.js.map +1 -0
  339. package/dist/memory/knowledge-graph.d.ts +98 -0
  340. package/dist/memory/knowledge-graph.d.ts.map +1 -0
  341. package/dist/memory/knowledge-graph.js +275 -0
  342. package/dist/memory/knowledge-graph.js.map +1 -0
  343. package/dist/memory/memory-consolidator.d.ts +124 -0
  344. package/dist/memory/memory-consolidator.d.ts.map +1 -0
  345. package/dist/memory/memory-consolidator.js +514 -0
  346. package/dist/memory/memory-consolidator.js.map +1 -0
  347. package/dist/memory/memory-maintenance.d.ts +39 -0
  348. package/dist/memory/memory-maintenance.d.ts.map +1 -0
  349. package/dist/memory/memory-maintenance.js +336 -0
  350. package/dist/memory/memory-maintenance.js.map +1 -0
  351. package/dist/memory/model-router.d.ts +105 -0
  352. package/dist/memory/model-router.d.ts.map +1 -0
  353. package/dist/memory/model-router.js +474 -0
  354. package/dist/memory/model-router.js.map +1 -0
  355. package/dist/memory/multi-view-memory.d.ts +134 -0
  356. package/dist/memory/multi-view-memory.d.ts.map +1 -0
  357. package/dist/memory/multi-view-memory.js +430 -0
  358. package/dist/memory/multi-view-memory.js.map +1 -0
  359. package/dist/memory/predictive-memory.d.ts +79 -0
  360. package/dist/memory/predictive-memory.d.ts.map +1 -0
  361. package/dist/memory/predictive-memory.js +294 -0
  362. package/dist/memory/predictive-memory.js.map +1 -0
  363. package/dist/memory/prepopulate.d.ts +76 -0
  364. package/dist/memory/prepopulate.d.ts.map +1 -0
  365. package/dist/memory/prepopulate.js +832 -0
  366. package/dist/memory/prepopulate.js.map +1 -0
  367. package/dist/memory/semantic-compression.d.ts +77 -0
  368. package/dist/memory/semantic-compression.d.ts.map +1 -0
  369. package/dist/memory/semantic-compression.js +359 -0
  370. package/dist/memory/semantic-compression.js.map +1 -0
  371. package/dist/memory/serverless-qdrant.d.ts +102 -0
  372. package/dist/memory/serverless-qdrant.d.ts.map +1 -0
  373. package/dist/memory/serverless-qdrant.js +369 -0
  374. package/dist/memory/serverless-qdrant.js.map +1 -0
  375. package/dist/memory/short-term/factory.d.ts +26 -0
  376. package/dist/memory/short-term/factory.d.ts.map +1 -0
  377. package/dist/memory/short-term/factory.js +28 -0
  378. package/dist/memory/short-term/factory.js.map +1 -0
  379. package/dist/memory/short-term/indexeddb.d.ts +25 -0
  380. package/dist/memory/short-term/indexeddb.d.ts.map +1 -0
  381. package/dist/memory/short-term/indexeddb.js +64 -0
  382. package/dist/memory/short-term/indexeddb.js.map +1 -0
  383. package/dist/memory/short-term/schema.d.ts +6 -0
  384. package/dist/memory/short-term/schema.d.ts.map +1 -0
  385. package/dist/memory/short-term/schema.js +141 -0
  386. package/dist/memory/short-term/schema.js.map +1 -0
  387. package/dist/memory/short-term/sqlite.d.ts +64 -0
  388. package/dist/memory/short-term/sqlite.d.ts.map +1 -0
  389. package/dist/memory/short-term/sqlite.js +274 -0
  390. package/dist/memory/short-term/sqlite.js.map +1 -0
  391. package/dist/memory/speculative-cache.d.ts +111 -0
  392. package/dist/memory/speculative-cache.d.ts.map +1 -0
  393. package/dist/memory/speculative-cache.js +457 -0
  394. package/dist/memory/speculative-cache.js.map +1 -0
  395. package/dist/memory/task-classifier.d.ts +40 -0
  396. package/dist/memory/task-classifier.d.ts.map +1 -0
  397. package/dist/memory/task-classifier.js +342 -0
  398. package/dist/memory/task-classifier.js.map +1 -0
  399. package/dist/memory/terminal-bench-knowledge.d.ts +48 -0
  400. package/dist/memory/terminal-bench-knowledge.d.ts.map +1 -0
  401. package/dist/memory/terminal-bench-knowledge.js +622 -0
  402. package/dist/memory/terminal-bench-knowledge.js.map +1 -0
  403. package/dist/memory/write-gate.d.ts +39 -0
  404. package/dist/memory/write-gate.d.ts.map +1 -0
  405. package/dist/memory/write-gate.js +190 -0
  406. package/dist/memory/write-gate.js.map +1 -0
  407. package/dist/models/api-client.d.ts +46 -0
  408. package/dist/models/api-client.d.ts.map +1 -0
  409. package/dist/models/api-client.js +182 -0
  410. package/dist/models/api-client.js.map +1 -0
  411. package/dist/models/execution-profiles.d.ts +64 -0
  412. package/dist/models/execution-profiles.d.ts.map +1 -0
  413. package/dist/models/execution-profiles.js +403 -0
  414. package/dist/models/execution-profiles.js.map +1 -0
  415. package/dist/models/executor.d.ts +130 -0
  416. package/dist/models/executor.d.ts.map +1 -0
  417. package/dist/models/executor.js +382 -0
  418. package/dist/models/executor.js.map +1 -0
  419. package/dist/models/index.d.ts +19 -0
  420. package/dist/models/index.d.ts.map +1 -0
  421. package/dist/models/index.js +23 -0
  422. package/dist/models/index.js.map +1 -0
  423. package/dist/models/plan-validator.d.ts +37 -0
  424. package/dist/models/plan-validator.d.ts.map +1 -0
  425. package/dist/models/plan-validator.js +179 -0
  426. package/dist/models/plan-validator.js.map +1 -0
  427. package/dist/models/planner.d.ts +73 -0
  428. package/dist/models/planner.d.ts.map +1 -0
  429. package/dist/models/planner.js +375 -0
  430. package/dist/models/planner.js.map +1 -0
  431. package/dist/models/router.d.ts +96 -0
  432. package/dist/models/router.d.ts.map +1 -0
  433. package/dist/models/router.js +523 -0
  434. package/dist/models/router.js.map +1 -0
  435. package/dist/models/types.d.ts +370 -0
  436. package/dist/models/types.d.ts.map +1 -0
  437. package/dist/models/types.js +232 -0
  438. package/dist/models/types.js.map +1 -0
  439. package/dist/models/unified-router.d.ts +152 -0
  440. package/dist/models/unified-router.d.ts.map +1 -0
  441. package/dist/models/unified-router.js +313 -0
  442. package/dist/models/unified-router.js.map +1 -0
  443. package/dist/policies/convert-policy-to-claude.d.ts +3 -0
  444. package/dist/policies/convert-policy-to-claude.d.ts.map +1 -0
  445. package/dist/policies/convert-policy-to-claude.js +87 -0
  446. package/dist/policies/convert-policy-to-claude.js.map +1 -0
  447. package/dist/policies/database-manager.d.ts +27 -0
  448. package/dist/policies/database-manager.d.ts.map +1 -0
  449. package/dist/policies/database-manager.js +198 -0
  450. package/dist/policies/database-manager.js.map +1 -0
  451. package/dist/policies/enforced-tool-router.d.ts +53 -0
  452. package/dist/policies/enforced-tool-router.d.ts.map +1 -0
  453. package/dist/policies/enforced-tool-router.js +80 -0
  454. package/dist/policies/enforced-tool-router.js.map +1 -0
  455. package/dist/policies/index.d.ts +10 -0
  456. package/dist/policies/index.d.ts.map +1 -0
  457. package/dist/policies/index.js +8 -0
  458. package/dist/policies/index.js.map +1 -0
  459. package/dist/policies/policy-gate.d.ts +59 -0
  460. package/dist/policies/policy-gate.d.ts.map +1 -0
  461. package/dist/policies/policy-gate.js +171 -0
  462. package/dist/policies/policy-gate.js.map +1 -0
  463. package/dist/policies/policy-memory.d.ts +18 -0
  464. package/dist/policies/policy-memory.d.ts.map +1 -0
  465. package/dist/policies/policy-memory.js +126 -0
  466. package/dist/policies/policy-memory.js.map +1 -0
  467. package/dist/policies/policy-tools.d.ts +11 -0
  468. package/dist/policies/policy-tools.d.ts.map +1 -0
  469. package/dist/policies/policy-tools.js +66 -0
  470. package/dist/policies/policy-tools.js.map +1 -0
  471. package/dist/policies/schemas/policy.d.ts +69 -0
  472. package/dist/policies/schemas/policy.d.ts.map +1 -0
  473. package/dist/policies/schemas/policy.js +31 -0
  474. package/dist/policies/schemas/policy.js.map +1 -0
  475. package/dist/tasks/coordination.d.ts +83 -0
  476. package/dist/tasks/coordination.d.ts.map +1 -0
  477. package/dist/tasks/coordination.js +291 -0
  478. package/dist/tasks/coordination.js.map +1 -0
  479. package/dist/tasks/database.d.ts +19 -0
  480. package/dist/tasks/database.d.ts.map +1 -0
  481. package/dist/tasks/database.js +149 -0
  482. package/dist/tasks/database.js.map +1 -0
  483. package/dist/tasks/decoder-gate.d.ts +64 -0
  484. package/dist/tasks/decoder-gate.d.ts.map +1 -0
  485. package/dist/tasks/decoder-gate.js +268 -0
  486. package/dist/tasks/decoder-gate.js.map +1 -0
  487. package/dist/tasks/index.d.ts +6 -0
  488. package/dist/tasks/index.d.ts.map +1 -0
  489. package/dist/tasks/index.js +6 -0
  490. package/dist/tasks/index.js.map +1 -0
  491. package/dist/tasks/service.d.ts +40 -0
  492. package/dist/tasks/service.d.ts.map +1 -0
  493. package/dist/tasks/service.js +671 -0
  494. package/dist/tasks/service.js.map +1 -0
  495. package/dist/tasks/types.d.ts +238 -0
  496. package/dist/tasks/types.d.ts.map +1 -0
  497. package/dist/tasks/types.js +74 -0
  498. package/dist/tasks/types.js.map +1 -0
  499. package/dist/telemetry/index.d.ts +2 -0
  500. package/dist/telemetry/index.d.ts.map +1 -0
  501. package/dist/telemetry/index.js +2 -0
  502. package/dist/telemetry/index.js.map +1 -0
  503. package/dist/telemetry/session-telemetry.d.ts +56 -0
  504. package/dist/telemetry/session-telemetry.d.ts.map +1 -0
  505. package/dist/telemetry/session-telemetry.js +807 -0
  506. package/dist/telemetry/session-telemetry.js.map +1 -0
  507. package/dist/types/analysis.d.ts +82 -0
  508. package/dist/types/analysis.d.ts.map +1 -0
  509. package/dist/types/analysis.js +2 -0
  510. package/dist/types/analysis.js.map +1 -0
  511. package/dist/types/config.d.ts +3324 -0
  512. package/dist/types/config.d.ts.map +1 -0
  513. package/dist/types/config.js +418 -0
  514. package/dist/types/config.js.map +1 -0
  515. package/dist/types/coordination.d.ts +240 -0
  516. package/dist/types/coordination.d.ts.map +1 -0
  517. package/dist/types/coordination.js +43 -0
  518. package/dist/types/coordination.js.map +1 -0
  519. package/dist/types/index.d.ts +4 -0
  520. package/dist/types/index.d.ts.map +1 -0
  521. package/dist/types/index.js +4 -0
  522. package/dist/types/index.js.map +1 -0
  523. package/dist/uap-droids-strict.d.ts +59 -0
  524. package/dist/uap-droids-strict.d.ts.map +1 -0
  525. package/dist/uap-droids-strict.js +200 -0
  526. package/dist/uap-droids-strict.js.map +1 -0
  527. package/dist/utils/config-manager.d.ts +30 -0
  528. package/dist/utils/config-manager.d.ts.map +1 -0
  529. package/dist/utils/config-manager.js +41 -0
  530. package/dist/utils/config-manager.js.map +1 -0
  531. package/dist/utils/fetch-with-retry.d.ts +5 -0
  532. package/dist/utils/fetch-with-retry.d.ts.map +1 -0
  533. package/dist/utils/fetch-with-retry.js +61 -0
  534. package/dist/utils/fetch-with-retry.js.map +1 -0
  535. package/dist/utils/merge-claude-md.d.ts +28 -0
  536. package/dist/utils/merge-claude-md.d.ts.map +1 -0
  537. package/dist/utils/merge-claude-md.js +342 -0
  538. package/dist/utils/merge-claude-md.js.map +1 -0
  539. package/dist/utils/rate-limiter.d.ts +58 -0
  540. package/dist/utils/rate-limiter.d.ts.map +1 -0
  541. package/dist/utils/rate-limiter.js +100 -0
  542. package/dist/utils/rate-limiter.js.map +1 -0
  543. package/dist/utils/string-similarity.d.ts +37 -0
  544. package/dist/utils/string-similarity.d.ts.map +1 -0
  545. package/dist/utils/string-similarity.js +114 -0
  546. package/dist/utils/string-similarity.js.map +1 -0
  547. package/dist/utils/validate-json.d.ts +51 -0
  548. package/dist/utils/validate-json.d.ts.map +1 -0
  549. package/dist/utils/validate-json.js +94 -0
  550. package/dist/utils/validate-json.js.map +1 -0
  551. package/docs/INDEX.md +66 -0
  552. package/docs/architecture/MULTI_MODEL.md +224 -0
  553. package/docs/architecture/SYSTEM_ANALYSIS.md +1117 -0
  554. package/docs/architecture/UAP_COMPLIANCE.md +217 -0
  555. package/docs/architecture/UAP_PROTOCOL.md +339 -0
  556. package/docs/architecture/UAP_STRICT_DROIDS.md +172 -0
  557. package/docs/archive/BALLS_MODE_SELF_ANALYSIS.md +260 -0
  558. package/docs/archive/FAILING_TASKS_SOLUTION_PLAN.md +668 -0
  559. package/docs/archive/JINJA2-SYSTEM-MESSAGE-FIX.md +209 -0
  560. package/docs/archive/NPM-PUBLISH-V0.9.1.md +240 -0
  561. package/docs/archive/OPTIMIZATION_OPTIONS.md +334 -0
  562. package/docs/archive/SETUP_IMPROVEMENTS.md +213 -0
  563. package/docs/archive/UAP_GENERIC_OPTIMIZATION_PLAN.md +270 -0
  564. package/docs/archive/UAP_V103_PATTERN_DESIGN.md +315 -0
  565. package/docs/archive/UAP_V104_COMPLIANCE_DESIGN.md +223 -0
  566. package/docs/archive/changelog/2026-03-10_uap-100-compliance.md +77 -0
  567. package/docs/archive/changelog/2026-03-10_uap-full-system-verification.md +109 -0
  568. package/docs/benchmarks/ACCURACY_ANALYSIS.md +471 -0
  569. package/docs/benchmarks/TOKEN_OPTIMIZATION.md +572 -0
  570. package/docs/benchmarks/VALIDATION_PLAN.md +568 -0
  571. package/docs/benchmarks/VALIDATION_RESULTS.md +161 -0
  572. package/docs/deployment/DEPLOYMENT.md +895 -0
  573. package/docs/deployment/DEPLOYMENT_STRATEGIES.md +518 -0
  574. package/docs/deployment/DEPLOY_BATCHER_ANALYSIS.md +856 -0
  575. package/docs/deployment/DEPLOY_BATCHING.md +273 -0
  576. package/docs/deployment/DEPLOY_BUCKETING_ANALYSIS.md +420 -0
  577. package/docs/deployment/QWEN35_LLAMA_CPP.md +265 -0
  578. package/docs/getting-started/INTEGRATION.md +449 -0
  579. package/docs/getting-started/OVERVIEW.md +344 -0
  580. package/docs/getting-started/SETUP.md +203 -0
  581. package/docs/integrations/MCP_ROUTER_SETUP.md +445 -0
  582. package/docs/integrations/RTK_INTEGRATION.md +468 -0
  583. package/docs/operations/TROUBLESHOOTING.md +660 -0
  584. package/docs/reference/API_REFERENCE.md +903 -0
  585. package/docs/reference/FEATURES.md +472 -0
  586. package/docs/reference/HARNESS-MATRIX.md +318 -0
  587. package/docs/reference/UAP_CLI_REFERENCE.md +600 -0
  588. package/docs/research/BEHAVIORAL_PATTERNS.md +228 -0
  589. package/docs/research/DOMAIN_STRATEGIES.md +316 -0
  590. package/docs/research/MEMORY_SYSTEMS_COMPARISON.md +812 -0
  591. package/docs/research/PATTERN_ANALYSIS_2026-01-18.md +436 -0
  592. package/docs/research/PERFORMANCE_ANALYSIS_2026-01-18.md +209 -0
  593. package/docs/research/PERFORMANCE_TEST_PLAN.md +383 -0
  594. package/docs/research/TERMINAL_BENCH_LEARNINGS.md +217 -0
  595. package/package.json +113 -0
  596. package/scripts/README.md +161 -0
  597. package/templates/CLAUDE.template.md +10 -0
  598. package/templates/CLAUDE_ARCHITECTURE.template.md +103 -0
  599. package/templates/CLAUDE_CODING.template.md +127 -0
  600. package/templates/CLAUDE_DROIDS.template.md +109 -0
  601. package/templates/CLAUDE_MEMORY.template.md +131 -0
  602. package/templates/CLAUDE_WORKFLOWS.template.md +139 -0
  603. package/templates/PROJECT.template.md +209 -0
  604. package/templates/SCHEMA.md +57 -0
  605. package/templates/archive/CLAUDE.template.root-v6.md +534 -0
  606. package/templates/archive/CLAUDE.template.v6.md +534 -0
  607. package/templates/hooks/forgecode/pre-compact.sh +68 -0
  608. package/templates/hooks/forgecode/session-start.sh +169 -0
  609. package/templates/hooks/forgecode.plugin.sh +128 -0
  610. package/templates/hooks/pre-compact.sh +74 -0
  611. package/templates/hooks/session-start.sh +366 -0
  612. package/tools/agents/README.md +224 -0
  613. package/tools/agents/UAP/README.md +386 -0
  614. package/tools/agents/UAP/__init__.py +9 -0
  615. package/tools/agents/UAP/cli.py +901 -0
  616. package/tools/agents/UAP/compliance_verify.sh +108 -0
  617. package/tools/agents/UAP/full_verification.sh +126 -0
  618. package/tools/agents/UAP/version.py +32 -0
  619. package/tools/agents/benchmarks/benchmark_memory_systems.py +730 -0
  620. package/tools/agents/benchmarks/results/benchmark_20260106_064817.json +170 -0
  621. package/tools/agents/benchmarks/results/benchmark_20260106_064817.md +51 -0
  622. package/tools/agents/config/chat_template.jinja +77 -0
  623. package/tools/agents/config/tool-call-schema.json +19 -0
  624. package/tools/agents/config/tool-call.gbnf +58 -0
  625. package/tools/agents/docker/Dockerfile.python +52 -0
  626. package/tools/agents/docker/Dockerfile.ubuntu +55 -0
  627. package/tools/agents/docker-compose.qdrant.yml +24 -0
  628. package/tools/agents/install-opencode-local.sh.j2 +135 -0
  629. package/tools/agents/migrations/apply.py +256 -0
  630. package/tools/agents/opencode_uap_agent.py +1505 -0
  631. package/tools/agents/plugin/README.md +91 -0
  632. package/tools/agents/plugin/index.ts +46 -0
  633. package/tools/agents/plugin/pre-compact.sh +68 -0
  634. package/tools/agents/plugin/session-start.sh +175 -0
  635. package/tools/agents/plugin/uap-commands.ts +45 -0
  636. package/tools/agents/plugin/uap-droids.ts +54 -0
  637. package/tools/agents/plugin/uap-patterns.ts +54 -0
  638. package/tools/agents/plugin/uap-skills.ts +52 -0
  639. package/tools/agents/plugins/uap-enforce.ts +314 -0
  640. package/tools/agents/scripts/__pycache__/tool_call_wrapper.cpython-313.pyc +0 -0
  641. package/tools/agents/scripts/chat_template_verifier.py +343 -0
  642. package/tools/agents/scripts/fix-qwen-template.js +38 -0
  643. package/tools/agents/scripts/fix_qwen_chat_template.py +316 -0
  644. package/tools/agents/scripts/generate_lora_training_data.py +412 -0
  645. package/tools/agents/scripts/init_qdrant.py +151 -0
  646. package/tools/agents/scripts/memory_migration.py +560 -0
  647. package/tools/agents/scripts/migrate_memory_to_qdrant.py +110 -0
  648. package/tools/agents/scripts/prepare_lora.sh +512 -0
  649. package/tools/agents/scripts/query_memory.py +200 -0
  650. package/tools/agents/scripts/qwen-tool-call-test.js +38 -0
  651. package/tools/agents/scripts/qwen-tool-call-wrapper.js +38 -0
  652. package/tools/agents/scripts/qwen_tool_call_test.py +464 -0
  653. package/tools/agents/scripts/qwen_tool_call_wrapper.py +686 -0
  654. package/tools/agents/scripts/start-services.sh +96 -0
  655. package/tools/agents/scripts/tool-choice-proxy.cjs +296 -0
  656. package/tools/agents/scripts/tool_call_test.py +656 -0
  657. package/tools/agents/scripts/tool_call_wrapper.py +799 -0
  658. package/tools/agents/tests/test_uap_compliance.py +257 -0
  659. package/tools/agents/uap_agent.py +122 -0
  660. package/tools/agents/uap_agent_install.sh +12 -0
@@ -0,0 +1,895 @@
1
+ # UAP Deployment Guide
2
+
3
+ **Version:** 1.0.0
4
+ **Last Updated:** 2026-03-13
5
+ **Status:** ✅ Production Ready
6
+
7
+ ---
8
+
9
+ ## Executive Summary
10
+
11
+ This guide provides comprehensive deployment options for Universal Agent Protocol (UAP), including model providers, Infrastructure as Code (IaC) providers, and CI/CD providers. All options include enforcement workflows for production deployments.
12
+
13
+ ### Quick Reference
14
+
15
+ | Category | Default | Alternatives | Recommendation |
16
+ | --------- | --------------------- | -------------------------- | --------------------------------- |
17
+ | **Model** | Local Qwen3.5 35B A3B | Sonnet 4.6 API, OpenRouter | ✅ Local for production |
18
+ | **IaC** | Terraform | Pulumi, Crossplane | ✅ Terraform for most teams |
19
+ | **CI/CD** | GitHub Actions | GitLab CI, CircleCI | ✅ GitHub Actions for integration |
20
+
21
+ ---
22
+
23
+ ## 1. Model Providers
24
+
25
+ ### 1.1 Local Qwen3.5 35B A3B (Recommended)
26
+
27
+ **Provider:** `llama.cpp` via `@ai-sdk/openai-compatible`
28
+
29
+ **Configuration:**
30
+
31
+ ```json
32
+ {
33
+ "provider": {
34
+ "llama.cpp": {
35
+ "npm": "@ai-sdk/openai-compatible",
36
+ "name": "Local Qwen3.5 35B A3B",
37
+ "options": {
38
+ "baseURL": "http://localhost:8080/v1",
39
+ "apiKey": "sk-local",
40
+ "maxVRAM": 16384,
41
+ "quantization": "IQ4_XS",
42
+ "contextWindow": 262144,
43
+ "outputTokens": 16384
44
+ },
45
+ "models": {
46
+ "qwen35-a3b-iq4xs": {
47
+ "name": "Qwen3.5 35B A3B (IQ4_XS)",
48
+ "limit": {
49
+ "context": 262144,
50
+ "output": 16384
51
+ },
52
+ "sonnet4-equivalent": {
53
+ "enabled": true,
54
+ "optimizations": [
55
+ "tool_call_optimization",
56
+ "streaming_efficiency",
57
+ "tool_reference_simulation",
58
+ "parallel_tool_calls",
59
+ "structured_output"
60
+ ],
61
+ "temperature_settings": {
62
+ "build": 0.1,
63
+ "plan": 0.2,
64
+ "memory": 0.0,
65
+ "review": 0.1
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ },
72
+ "model": "llama.cpp/qwen35-a3b-iq4xs"
73
+ }
74
+ ```
75
+
76
+ **Hardware Requirements:**
77
+
78
+ | VRAM | Quantization | Max Context | Recommended Use |
79
+ | -------- | ------------ | ----------- | -------------------- |
80
+ | **16GB** | IQ4_XS | 128K | General purpose |
81
+ | **16GB** | q4_k_m | 32K | Balanced performance |
82
+ | **16GB** | q3_k_m | 256K | Maximum context |
83
+ | **24GB** | q5_k_m | 64K | Best accuracy |
84
+ | **24GB** | q4_k_m | 128K | Balanced |
85
+ | **24GB** | q3_k_m | 256K | Maximum context |
86
+
87
+ **Pros:**
88
+
89
+ - ✅ **Free** - No per-token costs
90
+ - ✅ **100% uptime** - Local control
91
+ - ✅ **256K context** - Full context retention
92
+ - ✅ **Privacy** - Data stays local
93
+ - ✅ **Low latency** - ~50ms first token
94
+
95
+ **Cons:**
96
+
97
+ - ❌ Requires 16-24GB VRAM hardware
98
+ - ❌ Initial setup complexity
99
+ - ❌ Hardware investment
100
+
101
+ **Best For:**
102
+
103
+ - Production deployments
104
+ - Privacy-sensitive applications
105
+ - High-volume usage
106
+ - Cost optimization
107
+
108
+ ### 1.2 Claude 3.5 Sonnet API
109
+
110
+ **Provider:** `anthropic`
111
+
112
+ **Configuration:**
113
+
114
+ ```json
115
+ {
116
+ "provider": {
117
+ "anthropic": {
118
+ "name": "Claude 3.5 Sonnet",
119
+ "options": {
120
+ "apiKey": "${ANTHROPIC_API_KEY}",
121
+ "maxTokens": 8192
122
+ },
123
+ "models": {
124
+ "claude-3-5-sonnet-20241022": {
125
+ "name": "Claude 3.5 Sonnet",
126
+ "limit": {
127
+ "context": 200000,
128
+ "output": 8192
129
+ }
130
+ }
131
+ }
132
+ }
133
+ },
134
+ "model": "anthropic/claude-3-5-sonnet-20241022"
135
+ }
136
+ ```
137
+
138
+ **Hardware Requirements:**
139
+
140
+ - None (cloud-based)
141
+
142
+ **Pros:**
143
+
144
+ - ✅ No hardware required
145
+ - ✅ High quality outputs
146
+ - ✅ Native tool call support
147
+ - ✅ Reliable API
148
+
149
+ **Cons:**
150
+
151
+ - ❌ **$3/1M input tokens** - Significant cost at scale
152
+ - ❌ 200K context limit
153
+ - ❌ ~100ms first token latency
154
+ - ❌ Data leaves local environment
155
+
156
+ **Best For:**
157
+
158
+ - Testing and development
159
+ - Low-volume usage
160
+ - When local hardware unavailable
161
+ - Hybrid deployments
162
+
163
+ ### 1.3 OpenRouter Aggregation
164
+
165
+ **Provider:** `openrouter`
166
+
167
+ **Configuration:**
168
+
169
+ ```json
170
+ {
171
+ "provider": {
172
+ "openrouter": {
173
+ "npm": "@openrouter/ai-sdk-provider",
174
+ "name": "OpenRouter",
175
+ "options": {
176
+ "apiKey": "${OPENROUTER_API_KEY}"
177
+ },
178
+ "models": {
179
+ "qwen/qwen-2.5-35b-instruct:free": {
180
+ "name": "Qwen 2.5 35B (Free)",
181
+ "limit": { "context": 32000, "output": 4096 }
182
+ },
183
+ "mistralai/mistral-large": {
184
+ "name": "Mistral Large",
185
+ "limit": { "context": 32000, "output": 32000 }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
191
+ ```
192
+
193
+ **Hardware Requirements:**
194
+
195
+ - None (cloud-based)
196
+
197
+ **Pros:**
198
+
199
+ - ✅ Multiple model options
200
+ - ✅ Pay-per-use pricing
201
+ - ✅ Free tier available
202
+
203
+ **Cons:**
204
+
205
+ - ❌ **$0.2-2/1M tokens** - Variable pricing
206
+ - ❌ 32K-128K context limits
207
+ - ❌ ~200ms first token latency
208
+ - ❌ Not recommended for production
209
+
210
+ **Best For:**
211
+
212
+ - Experimentation
213
+ - Low-volume testing
214
+ - Model comparison
215
+
216
+ ---
217
+
218
+ ## 2. Infrastructure as Code (IaC) Providers
219
+
220
+ ### 2.1 Terraform (Default - Recommended)
221
+
222
+ **Provider:** `hashicorp/terraform`
223
+
224
+ **Configuration:**
225
+
226
+ ```json
227
+ {
228
+ "iac": {
229
+ "provider": "terraform",
230
+ "version": "1.9.0",
231
+ "backend": {
232
+ "type": "s3",
233
+ "config": {
234
+ "bucket": "${TF_STATE_BUCKET}",
235
+ "key": "infra/terraform.tfstate",
236
+ "region": "us-east-1"
237
+ }
238
+ },
239
+ "workspaces": {
240
+ "enabled": true,
241
+ "prefix": "uap-"
242
+ },
243
+ "enforcement": {
244
+ "mode": "strict",
245
+ "allowDirectInfra": false,
246
+ "rapidIterationAllowed": true,
247
+ "rapidIterationWorkflow": {
248
+ "enableDirectChanges": true,
249
+ "directChangeTypes": ["kubectl", "helm", "terraform apply -target"],
250
+ "rapidIterationPath": ".factory/rapid-iteration/",
251
+ "backportWorkflow": {
252
+ "enabled": true,
253
+ "steps": [
254
+ "Detect direct changes via git diff",
255
+ "Generate Terraform configuration from changes",
256
+ "Validate with terraform fmt && terraform validate",
257
+ "Commit to IaC branch",
258
+ "PR for review",
259
+ "Merge to main after CI passes"
260
+ ]
261
+ }
262
+ }
263
+ }
264
+ }
265
+ }
266
+ ```
267
+
268
+ **Enforcement Hooks:**
269
+
270
+ ```bash
271
+ #!/bin/bash
272
+ # .factory/hooks/pre-commit-iac.sh
273
+
274
+ set -euo pipefail
275
+
276
+ CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACM)
277
+
278
+ # IaC enforcement
279
+ if echo "$CHANGED_FILES" | grep -qE '^(terraform/|\.tf$|pulumi/|crossplane/)'; then
280
+ echo "✅ IaC file detected - validating..."
281
+
282
+ if [ -d "terraform" ]; then
283
+ terraform fmt -check -recursive || {
284
+ echo "❌ Terraform format check failed"
285
+ exit 1
286
+ }
287
+ terraform validate || {
288
+ echo "❌ Terraform validation failed"
289
+ exit 1
290
+ }
291
+ fi
292
+ fi
293
+
294
+ # Block direct infra changes
295
+ if echo "$CHANGED_FILES" | grep -qE '^kubernetes/|^manifests/|^/etc/|^/var/' && \
296
+ ! echo "$CHANGED_FILES" | grep -q '.factory/rapid-iteration/'; then
297
+ echo "❌ ERROR: Direct infrastructure changes are blocked"
298
+ echo "✅ Use IaC: terraform apply"
299
+ echo "✅ Or rapid iteration: .factory/rapid-iteration/ (backport required)"
300
+ exit 1
301
+ fi
302
+
303
+ exit 0
304
+ ```
305
+
306
+ **Pros:**
307
+
308
+ - ✅ **Industry standard** - Mature ecosystem
309
+ - ✅ **State management** - S3 backend
310
+ - ✅ **Workspaces** - Environment isolation
311
+ - ✅ **Strict enforcement** - IaC-only mode
312
+ - ✅ **Rapid iteration** - Backport workflow
313
+
314
+ **Cons:**
315
+
316
+ - ❌ Learning curve for HCL
317
+ - ❌ State file management
318
+ - ❌ Initial setup complexity
319
+
320
+ **Best For:**
321
+
322
+ - Most teams (default recommendation)
323
+ - Production environments
324
+ - Multi-environment setups
325
+
326
+ ### 2.2 Pulumi
327
+
328
+ **Provider:** `pulumi/pulumi`
329
+
330
+ **Configuration:**
331
+
332
+ ```json
333
+ {
334
+ "iac": {
335
+ "provider": "pulumi",
336
+ "version": "3.117.0",
337
+ "language": "typescript",
338
+ "runtime": "node",
339
+ "backend": {
340
+ "url": "pulumi.com/${PULUMI_USER}"
341
+ },
342
+ "enforcement": {
343
+ "mode": "strict",
344
+ "allowDirectInfra": false,
345
+ "rapidIterationAllowed": true
346
+ }
347
+ }
348
+ }
349
+ ```
350
+
351
+ **Pros:**
352
+
353
+ - ✅ **TypeScript/Python** - Full programming language
354
+ - ✅ **Pulumi Hub** - Component library
355
+ - ✅ **State management** - Cloud backend
356
+
357
+ **Cons:**
358
+
359
+ - ❌ Less mature than Terraform
360
+ - ❌ Smaller ecosystem
361
+ - ❌ More complex for simple tasks
362
+
363
+ **Best For:**
364
+
365
+ - TypeScript/Python teams
366
+ - Teams wanting full programming power
367
+ - Complex infrastructure logic
368
+
369
+ ### 2.3 Crossplane
370
+
371
+ **Provider:** `crossplane/crossplane`
372
+
373
+ **Configuration:**
374
+
375
+ ```json
376
+ {
377
+ "iac": {
378
+ "provider": "crossplane",
379
+ "version": "1.14.0",
380
+ "kubernetes": {
381
+ "context": "${KUBE_CONTEXT}"
382
+ },
383
+ "enforcement": {
384
+ "mode": "strict",
385
+ "allowDirectInfra": false,
386
+ "rapidIterationAllowed": true
387
+ }
388
+ }
389
+ }
390
+ ```
391
+
392
+ **Pros:**
393
+
394
+ - ✅ **Kubernetes-native** - CRD-based
395
+ - ✅ **GitOps-friendly** - Declarative
396
+ - ✅ **Multi-cloud** - Unified API
397
+
398
+ **Cons:**
399
+
400
+ - ❌ **Kubernetes-only** - Limited scope
401
+ - ❌ Steep learning curve
402
+ - ❌ Complex setup
403
+
404
+ **Best For:**
405
+
406
+ - Kubernetes-only environments
407
+ - GitOps workflows
408
+ - Multi-cloud K8s deployments
409
+
410
+ ---
411
+
412
+ ## 3. CI/CD Providers
413
+
414
+ ### 3.1 GitHub Actions (Default - Recommended)
415
+
416
+ **Provider:** `github/actions`
417
+
418
+ **Configuration:**
419
+
420
+ ```json
421
+ {
422
+ "cicd": {
423
+ "provider": "github",
424
+ "repository": "${GITHUB_REPO}",
425
+ "workflows": [
426
+ ".github/workflows/terraform-plan.yaml",
427
+ ".github/workflows/terraform-apply.yaml",
428
+ ".github/workflows/backport-iac.yaml"
429
+ ],
430
+ "enforcement": {
431
+ "mode": "strict",
432
+ "requiredChecks": ["terraform-fmt", "terraform-validate", "terraform-plan", "security-scan"],
433
+ "rapidIterationBranch": "rapid-iteration/",
434
+ "backportBranch": "backport-iac/",
435
+ "autoBackport": {
436
+ "enabled": true,
437
+ "triggers": ["rapid-iteration/* -> backport-iac/*", "direct kubectl changes detected"],
438
+ "steps": [
439
+ "Detect changes in .factory/rapid-iteration/",
440
+ "Generate IaC from changes",
441
+ "Create PR to backport",
442
+ "Run CI checks",
443
+ "Merge on approval"
444
+ ]
445
+ }
446
+ }
447
+ }
448
+ }
449
+ ```
450
+
451
+ **GitHub Actions Workflows:**
452
+
453
+ ```yaml
454
+ # .github/workflows/terraform-plan.yaml
455
+ name: Terraform Plan
456
+ on:
457
+ pull_request:
458
+ paths:
459
+ - 'terraform/**'
460
+ - '**.tf'
461
+
462
+ jobs:
463
+ plan:
464
+ runs-on: ubuntu-latest
465
+ steps:
466
+ - uses: actions/checkout@v4
467
+ - uses: hashicorp/setup-terraform@v3
468
+ - run: terraform init
469
+ - run: terraform fmt -check -recursive
470
+ - run: terraform validate
471
+ - run: terraform plan -out=plan.out
472
+ ```
473
+
474
+ ```yaml
475
+ # .github/workflows/backport-iac.yaml
476
+ name: Backport IaC
477
+ on:
478
+ workflow_dispatch:
479
+ push:
480
+ branches:
481
+ - 'rapid-iteration/*'
482
+
483
+ jobs:
484
+ backport:
485
+ runs-on: ubuntu-latest
486
+ steps:
487
+ - uses: actions/checkout@v4
488
+ with:
489
+ fetch-depth: 0
490
+ - name: Detect Direct Changes
491
+ run: |
492
+ git diff --name-only HEAD~1 HEAD | grep -E 'kubectl|helm'
493
+ - name: Generate IaC
494
+ run: |
495
+ python .factory/scripts/extract-iac-from-changes.py
496
+ - name: Create PR
497
+ run: |
498
+ gh pr create --title "Backport IaC: ${{ github.ref_name }}" \
499
+ --body "Auto-generated IaC from rapid iteration" \
500
+ --head backport-iac:${{ github.ref_name }}
501
+ ```
502
+
503
+ **Pros:**
504
+
505
+ - ✅ **Native GitHub integration** - Best integration
506
+ - ✅ **Free tier** - 2,000 minutes/month free
507
+ - ✅ **Actions marketplace** - Vast library
508
+ - ✅ **Auto-backport** - Rapid iteration support
509
+
510
+ **Cons:**
511
+
512
+ - ❌ GitHub-only (no self-hosted alternatives)
513
+ - ❌ Rate limits on free tier
514
+
515
+ **Best For:**
516
+
517
+ - GitHub repositories (default)
518
+ - Most teams
519
+ - Rapid iteration workflows
520
+
521
+ ### 3.2 GitLab CI
522
+
523
+ **Provider:** `gitlab/ci`
524
+
525
+ **Configuration:**
526
+
527
+ ```json
528
+ {
529
+ "cicd": {
530
+ "provider": "gitlab",
531
+ "repository": "${GITLAB_REPO}",
532
+ "enforcement": {
533
+ "mode": "strict",
534
+ "requiredJobs": ["plan", "validate", "scan"],
535
+ "rapidIterationAllowed": true
536
+ }
537
+ }
538
+ }
539
+ ```
540
+
541
+ **Pros:**
542
+
543
+ - ✅ **GitLab integration** - Native for GitLab users
544
+ - ✅ **Built-in CI/CD** - No separate service
545
+ - ✅ **Free tier** - Generous limits
546
+
547
+ **Cons:**
548
+
549
+ - ❌ GitLab ecosystem lock-in
550
+ - ❌ Smaller marketplace than GitHub
551
+
552
+ **Best For:**
553
+
554
+ - GitLab users
555
+ - Teams already using GitLab
556
+
557
+ ### 3.3 CircleCI
558
+
559
+ **Provider:** `circleci/circleci`
560
+
561
+ **Configuration:**
562
+
563
+ ```json
564
+ {
565
+ "cicd": {
566
+ "provider": "circleci",
567
+ "enforcement": {
568
+ "mode": "strict",
569
+ "rapidIterationAllowed": true
570
+ }
571
+ }
572
+ }
573
+ ```
574
+
575
+ **Pros:**
576
+
577
+ - ✅ **Fast execution** - Optimized runners
578
+ - ✅ **Docker-native** - Great for containerized workflows
579
+
580
+ **Cons:**
581
+
582
+ - ❌ More expensive
583
+ - ❌ Complex setup
584
+ - ❌ Not recommended for most users
585
+
586
+ **Best For:**
587
+
588
+ - High-performance needs
589
+ - Docker-heavy workflows
590
+
591
+ ---
592
+
593
+ ## 4. Enforcement Workflows
594
+
595
+ ### 4.1 IaC-Only Mode
596
+
597
+ **Purpose:** Ensure all infrastructure changes go through IaC
598
+
599
+ **Workflow:**
600
+
601
+ ```
602
+ 1. Developer makes direct change (kubectl/helm)
603
+ 2. Hook detects change
604
+ 3. If in .factory/rapid-iteration/: Allow + auto-backport
605
+ 4. If NOT in rapid-iteration: BLOCK with message
606
+ 5. Developer uses rapid iteration path
607
+ 6. Auto-backport creates IaC PR
608
+ 7. PR reviewed and merged
609
+ 8. terraform apply applied via CI/CD
610
+ ```
611
+
612
+ **Pre-Commit Hook:**
613
+
614
+ ```bash
615
+ #!/bin/bash
616
+ # Block direct infra changes except rapid iteration
617
+
618
+ CHANGED_FILES=$(git diff --cached --name-only)
619
+
620
+ if echo "$CHANGED_FILES" | grep -qE '^kubernetes/|^manifests/|^/etc/|^/var/' && \
621
+ ! echo "$CHANGED_FILES" | grep -q '.factory/rapid-iteration/'; then
622
+ echo "❌ Direct infrastructure changes blocked"
623
+ echo "✅ Use IaC: terraform apply"
624
+ echo "✅ Or rapid iteration: .factory/rapid-iteration/"
625
+ exit 1
626
+ fi
627
+ ```
628
+
629
+ ### 4.2 CICD-Only Mode
630
+
631
+ **Purpose:** Ensure all deployments go through CI/CD pipeline
632
+
633
+ **Workflow:**
634
+
635
+ ```
636
+ 1. Developer merges PR to main
637
+ 2. CI/CD triggers on push
638
+ 3. Terraform plan runs
639
+ 4. Security scan runs
640
+ 5. If all checks pass: terraform apply
641
+ 6. Deployment complete
642
+ ```
643
+
644
+ **Exceptions:**
645
+
646
+ - `kubectl --dry-run` - Testing only
647
+ - `.factory/rapid-iteration/` - Backport workflow
648
+
649
+ ### 4.3 Rapid Iteration Workflow
650
+
651
+ **Purpose:** Enable fast local testing with automatic IaC generation
652
+
653
+ **Workflow:**
654
+
655
+ ```
656
+ 1. Create branch: rapid-iteration/<feature>
657
+ 2. Make direct changes (kubectl/helm)
658
+ 3. Test locally
659
+ 4. Commit to rapid-iteration branch
660
+ 5. Post-commit hook triggers
661
+ 6. IaC generated from changes
662
+ 7. Backport branch created
663
+ 8. PR created for review
664
+ 9. CI/CD validates IaC
665
+ 10. Merge to main
666
+ ```
667
+
668
+ **Post-Commit Hook:**
669
+
670
+ ```bash
671
+ #!/bin/bash
672
+ # Auto-backport rapid iteration changes
673
+
674
+ if git diff --cached --name-only | grep -q '.factory/rapid-iteration/'; then
675
+ echo "🔄 Rapid iteration detected - triggering backport..."
676
+
677
+ # Generate IaC
678
+ python .factory/scripts/extract-iac-from-changes.py
679
+
680
+ # Create backport branch
681
+ BACKPORT_BRANCH="backport-iac/$(date +%Y%m%d-%H%M%S)"
682
+ git checkout -b "$BACKPORT_BRANCH"
683
+
684
+ # Commit and PR
685
+ git add terraform/
686
+ git commit -m "Backport IaC: $(git log -1 --format=%s)"
687
+ git push origin "$BACKPORT_BRANCH"
688
+ gh pr create --title "Backport IaC: $(git log -1 --format=%s)" \
689
+ --body "Auto-generated IaC from rapid iteration" \
690
+ --head "$BACKPORT_BRANCH"
691
+ fi
692
+ ```
693
+
694
+ ---
695
+
696
+ ## 5. Deployment Checklist
697
+
698
+ ### 5.1 Pre-Deployment
699
+
700
+ - [ ] Select model provider (Local Qwen3.5 recommended)
701
+ - [ ] Configure hardware (16GB/24GB VRAM)
702
+ - [ ] Select IaC provider (Terraform recommended)
703
+ - [ ] Select CI/CD provider (GitHub Actions recommended)
704
+ - [ ] Set up state backend (S3 for Terraform)
705
+ - [ ] Configure GitHub repository
706
+ - [ ] Install Git hooks
707
+ - [ ] Set up Qdrant for semantic memory
708
+
709
+ ### 5.2 Post-Deployment
710
+
711
+ - [ ] Run `uap task ready`
712
+ - [ ] Run `python agents/scripts/index_patterns_to_qdrant.py`
713
+ - [ ] Verify SessionStart hook enforcement
714
+ - [ ] Test worktree creation
715
+ - [ ] Test memory storage
716
+ - [ ] Test IaC enforcement (try direct change - should block)
717
+ - [ ] Test rapid iteration (should auto-backport)
718
+ - [ ] Verify CI/CD workflows
719
+
720
+ ---
721
+
722
+ ## 6. Provider Comparison Matrix
723
+
724
+ ### 6.1 Model Providers
725
+
726
+ | Feature | Local Qwen3.5 | Sonnet 4.6 API | OpenRouter |
727
+ | --------------- | ------------- | -------------- | ------------------ |
728
+ | Cost | Free | $3/1M input | $0.2-2/1M |
729
+ | VRAM | 16GB required | N/A | N/A |
730
+ | Context | 256K | 200K | 32K-128K |
731
+ | Tool Calls | Simulated | Native | Simulated |
732
+ | Latency | ~50ms | ~100ms | ~200ms |
733
+ | Reliability | 100% (local) | 99.9% | 99.5% |
734
+ | **Recommended** | ✅ Production | ⚠️ Testing | ❌ Not recommended |
735
+
736
+ ### 6.2 IaC Providers
737
+
738
+ | Feature | Terraform | Pulumi | Crossplane |
739
+ | --------------- | ----------- | ----------------- | ----------- |
740
+ | Language | HCL | TypeScript/Python | YAML |
741
+ | State | Remote (S3) | Remote (Pulumi) | CRD-based |
742
+ | Learning Curve | Medium | Low | High |
743
+ | **Recommended** | ✅ Default | ⚠️ TS teams | ❌ K8s-only |
744
+
745
+ ### 6.3 CI/CD Providers
746
+
747
+ | Feature | GitHub Actions | GitLab CI | CircleCI |
748
+ | --------------- | -------------- | --------- | ------------------ |
749
+ | Integration | Native | Native | Plugin |
750
+ | Cost | Free (public) | Free | Free tier |
751
+ | Speed | Fast | Fast | Fastest |
752
+ | **Recommended** | ✅ Default | ⚠️ GitLab | ❌ Not recommended |
753
+
754
+ ---
755
+
756
+ ## 7. Quick Start Examples
757
+
758
+ ### 7.1 Local Qwen3.5 + Terraform + GitHub Actions
759
+
760
+ ```bash
761
+ # 1. Install dependencies
762
+ npm install -g universal-agent-protocol
763
+
764
+ # 2. Initialize UAP
765
+ uap init
766
+
767
+ # 3. Configure for local Qwen3.5
768
+ cat > opencode.json << 'EOF'
769
+ {
770
+ "provider": {
771
+ "llama.cpp": {
772
+ "name": "Local Qwen3.5 35B",
773
+ "options": {
774
+ "baseURL": "http://localhost:8080/v1",
775
+ "apiKey": "sk-local"
776
+ },
777
+ "models": {
778
+ "qwen35-a3b-iq4xs": {
779
+ "name": "Qwen3.5 35B A3B",
780
+ "limit": {
781
+ "context": 262144,
782
+ "output": 16384
783
+ }
784
+ }
785
+ }
786
+ }
787
+ },
788
+ "model": "llama.cpp/qwen35-a3b-iq4xs"
789
+ }
790
+ EOF
791
+
792
+ # 4. Configure Terraform
793
+ cat > .factory/iac-config.json << 'EOF'
794
+ {
795
+ "iac": {
796
+ "provider": "terraform",
797
+ "enforcement": {
798
+ "mode": "strict",
799
+ "allowDirectInfra": false,
800
+ "rapidIterationAllowed": true
801
+ }
802
+ }
803
+ }
804
+ EOF
805
+
806
+ # 5. Install hooks
807
+ uap hooks install all
808
+
809
+ # 6. Start Qdrant
810
+ uap memory start
811
+
812
+ # 7. Verify setup
813
+ uap compliance check
814
+ ```
815
+
816
+ ### 7.2 Sonnet 4.6 + Pulumi + GitLab CI
817
+
818
+ ```bash
819
+ # 1. Install dependencies
820
+ npm install -g universal-agent-protocol
821
+
822
+ # 2. Initialize UAP
823
+ uap init
824
+
825
+ # 3. Configure for Sonnet 4.6
826
+ cat > opencode.json << 'EOF'
827
+ {
828
+ "provider": {
829
+ "anthropic": {
830
+ "name": "Claude 3.5 Sonnet",
831
+ "options": {
832
+ "apiKey": "${ANTHROPIC_API_KEY}"
833
+ },
834
+ "models": {
835
+ "claude-3-5-sonnet-20241022": {
836
+ "name": "Claude 3.5 Sonnet",
837
+ "limit": {
838
+ "context": 200000,
839
+ "output": 8192
840
+ }
841
+ }
842
+ }
843
+ }
844
+ },
845
+ "model": "anthropic/claude-3-5-sonnet-20241022"
846
+ }
847
+ EOF
848
+
849
+ # 4. Configure Pulumi
850
+ cat > .factory/iac-config.json << 'EOF'
851
+ {
852
+ "iac": {
853
+ "provider": "pulumi",
854
+ "language": "typescript",
855
+ "enforcement": {
856
+ "mode": "strict",
857
+ "allowDirectInfra": false
858
+ }
859
+ }
860
+ }
861
+ EOF
862
+
863
+ # 5. Install hooks
864
+ uap hooks install all
865
+ ```
866
+
867
+ ---
868
+
869
+ ## 8. Troubleshooting
870
+
871
+ ### 8.1 Common Issues
872
+
873
+ **Issue:** "Database not found"
874
+ **Solution:** Run `uap init` to create memory database
875
+
876
+ **Issue:** "Qdrant connection failed"
877
+ **Solution:** Run `uap memory start` to start Qdrant
878
+
879
+ **Issue:** "Direct infra changes blocked"
880
+ **Solution:** Use `.factory/rapid-iteration/` or `terraform apply`
881
+
882
+ **Issue:** "Worktree creation failed"
883
+ **Solution:** Check Git configuration and permissions
884
+
885
+ ### 8.2 Getting Help
886
+
887
+ - Documentation: `docs/` directory
888
+ - Issues: GitHub repository issues
889
+ - Community: Join UAP Discord
890
+
891
+ ---
892
+
893
+ **Last Updated:** 2026-03-13
894
+ **Version:** 1.0.0
895
+ **Status:** ✅ Production Ready