@sema-agent/server 1.185.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 (765) hide show
  1. package/LICENSE +102 -0
  2. package/README.md +207 -0
  3. package/deploy/sema-up/README.md +145 -0
  4. package/deploy/sema-up/chart/Chart.yaml +11 -0
  5. package/deploy/sema-up/chart/templates/gitea.yaml +63 -0
  6. package/deploy/sema-up/chart/templates/minio.yaml +62 -0
  7. package/deploy/sema-up/chart/templates/namespace-sandbox.yaml +9 -0
  8. package/deploy/sema-up/chart/templates/pg-cluster.yaml +57 -0
  9. package/deploy/sema-up/chart/templates/registry.yaml +88 -0
  10. package/deploy/sema-up/chart/templates/sandbox-rbac.yaml +45 -0
  11. package/deploy/sema-up/chart/templates/server-v4pro.yaml +76 -0
  12. package/deploy/sema-up/chart/templates/server.yaml +88 -0
  13. package/deploy/sema-up/chart/values-full-single.yaml +9 -0
  14. package/deploy/sema-up/chart/values.yaml +100 -0
  15. package/deploy/sema-up/cluster-up.sh +432 -0
  16. package/deploy/sema-up/kube-up.sh +377 -0
  17. package/deploy/sema-up/lib/parse-machines.py +117 -0
  18. package/deploy/sema-up/machines.example.yaml +53 -0
  19. package/deploy/sema-up/preflight.sh +168 -0
  20. package/deploy/sema-up/sema-up.sh +758 -0
  21. package/deploy/sema-up/smoke.sh +100 -0
  22. package/deploy/sema-up/stack/compose.dataroot.yaml +16 -0
  23. package/deploy/sema-up/stack/compose.yaml +155 -0
  24. package/deploy/sema-up/stack/sema-stack-cluster.yaml +189 -0
  25. package/dist/approval.d.ts +27 -0
  26. package/dist/approval.d.ts.map +1 -0
  27. package/dist/approval.js +127 -0
  28. package/dist/approval.js.map +1 -0
  29. package/dist/audit.d.ts +29 -0
  30. package/dist/audit.d.ts.map +1 -0
  31. package/dist/audit.js +95 -0
  32. package/dist/audit.js.map +1 -0
  33. package/dist/auth-bridge.d.ts +29 -0
  34. package/dist/auth-bridge.d.ts.map +1 -0
  35. package/dist/auth-bridge.js +145 -0
  36. package/dist/auth-bridge.js.map +1 -0
  37. package/dist/bake-runner/main.d.ts +20 -0
  38. package/dist/bake-runner/main.d.ts.map +1 -0
  39. package/dist/bake-runner/main.js +216 -0
  40. package/dist/bake-runner/main.js.map +1 -0
  41. package/dist/bake-runner/protocol.d.ts +49 -0
  42. package/dist/bake-runner/protocol.d.ts.map +1 -0
  43. package/dist/bake-runner/protocol.js +86 -0
  44. package/dist/bake-runner/protocol.js.map +1 -0
  45. package/dist/bake-runner/runner.d.ts +86 -0
  46. package/dist/bake-runner/runner.d.ts.map +1 -0
  47. package/dist/bake-runner/runner.js +228 -0
  48. package/dist/bake-runner/runner.js.map +1 -0
  49. package/dist/bench/l8/artifact.d.ts +62 -0
  50. package/dist/bench/l8/artifact.d.ts.map +1 -0
  51. package/dist/bench/l8/artifact.js +129 -0
  52. package/dist/bench/l8/artifact.js.map +1 -0
  53. package/dist/bench/l8/escape.d.ts +18 -0
  54. package/dist/bench/l8/escape.d.ts.map +1 -0
  55. package/dist/bench/l8/escape.js +9 -0
  56. package/dist/bench/l8/escape.js.map +1 -0
  57. package/dist/bench/l8/index.d.ts +5 -0
  58. package/dist/bench/l8/index.d.ts.map +1 -0
  59. package/dist/bench/l8/index.js +5 -0
  60. package/dist/bench/l8/index.js.map +1 -0
  61. package/dist/bench/l8/probes.d.ts +75 -0
  62. package/dist/bench/l8/probes.d.ts.map +1 -0
  63. package/dist/bench/l8/probes.js +178 -0
  64. package/dist/bench/l8/probes.js.map +1 -0
  65. package/dist/bench/l8/run-probes.d.ts +21 -0
  66. package/dist/bench/l8/run-probes.d.ts.map +1 -0
  67. package/dist/bench/l8/run-probes.js +130 -0
  68. package/dist/bench/l8/run-probes.js.map +1 -0
  69. package/dist/bench/s1/arms.d.ts +84 -0
  70. package/dist/bench/s1/arms.d.ts.map +1 -0
  71. package/dist/bench/s1/arms.js +329 -0
  72. package/dist/bench/s1/arms.js.map +1 -0
  73. package/dist/bench/s1/live-deps.d.ts +25 -0
  74. package/dist/bench/s1/live-deps.d.ts.map +1 -0
  75. package/dist/bench/s1/live-deps.js +449 -0
  76. package/dist/bench/s1/live-deps.js.map +1 -0
  77. package/dist/bench/s1/oracle.d.ts +34 -0
  78. package/dist/bench/s1/oracle.d.ts.map +1 -0
  79. package/dist/bench/s1/oracle.js +29 -0
  80. package/dist/bench/s1/oracle.js.map +1 -0
  81. package/dist/bench/s1/repair-oracle-adapter.d.ts +9 -0
  82. package/dist/bench/s1/repair-oracle-adapter.d.ts.map +1 -0
  83. package/dist/bench/s1/repair-oracle-adapter.js +27 -0
  84. package/dist/bench/s1/repair-oracle-adapter.js.map +1 -0
  85. package/dist/bench/s1/reviewer.d.ts +31 -0
  86. package/dist/bench/s1/reviewer.d.ts.map +1 -0
  87. package/dist/bench/s1/reviewer.js +26 -0
  88. package/dist/bench/s1/reviewer.js.map +1 -0
  89. package/dist/bench/s1/row.d.ts +29 -0
  90. package/dist/bench/s1/row.d.ts.map +1 -0
  91. package/dist/bench/s1/row.js +55 -0
  92. package/dist/bench/s1/row.js.map +1 -0
  93. package/dist/bench/s1/run-firm.d.ts +49 -0
  94. package/dist/bench/s1/run-firm.d.ts.map +1 -0
  95. package/dist/bench/s1/run-firm.js +291 -0
  96. package/dist/bench/s1/run-firm.js.map +1 -0
  97. package/dist/bench/s1/runner-ctx.d.ts +44 -0
  98. package/dist/bench/s1/runner-ctx.d.ts.map +1 -0
  99. package/dist/bench/s1/runner-ctx.js +59 -0
  100. package/dist/bench/s1/runner-ctx.js.map +1 -0
  101. package/dist/bench/s1/tasks.d.ts +48 -0
  102. package/dist/bench/s1/tasks.d.ts.map +1 -0
  103. package/dist/bench/s1/tasks.js +194 -0
  104. package/dist/bench/s1/tasks.js.map +1 -0
  105. package/dist/boot-reclaim.d.ts +10 -0
  106. package/dist/boot-reclaim.d.ts.map +1 -0
  107. package/dist/boot-reclaim.js +13 -0
  108. package/dist/boot-reclaim.js.map +1 -0
  109. package/dist/brain.d.ts +8 -0
  110. package/dist/brain.d.ts.map +1 -0
  111. package/dist/brain.js +83 -0
  112. package/dist/brain.js.map +1 -0
  113. package/dist/budget.d.ts +25 -0
  114. package/dist/budget.d.ts.map +1 -0
  115. package/dist/budget.js +107 -0
  116. package/dist/budget.js.map +1 -0
  117. package/dist/capabilities/builtin-tools.d.ts +3 -0
  118. package/dist/capabilities/builtin-tools.d.ts.map +1 -0
  119. package/dist/capabilities/builtin-tools.js +11 -0
  120. package/dist/capabilities/builtin-tools.js.map +1 -0
  121. package/dist/capabilities/code-review-council.d.ts +21 -0
  122. package/dist/capabilities/code-review-council.d.ts.map +1 -0
  123. package/dist/capabilities/code-review-council.js +113 -0
  124. package/dist/capabilities/code-review-council.js.map +1 -0
  125. package/dist/capabilities/collab-wire.d.ts +34 -0
  126. package/dist/capabilities/collab-wire.d.ts.map +1 -0
  127. package/dist/capabilities/collab-wire.js +2 -0
  128. package/dist/capabilities/collab-wire.js.map +1 -0
  129. package/dist/capabilities/collab-workflows.d.ts +40 -0
  130. package/dist/capabilities/collab-workflows.d.ts.map +1 -0
  131. package/dist/capabilities/collab-workflows.js +90 -0
  132. package/dist/capabilities/collab-workflows.js.map +1 -0
  133. package/dist/capabilities/oa-tools.d.ts +9 -0
  134. package/dist/capabilities/oa-tools.d.ts.map +1 -0
  135. package/dist/capabilities/oa-tools.js +44 -0
  136. package/dist/capabilities/oa-tools.js.map +1 -0
  137. package/dist/capabilities/prompt.d.ts +3 -0
  138. package/dist/capabilities/prompt.d.ts.map +1 -0
  139. package/dist/capabilities/prompt.js +6 -0
  140. package/dist/capabilities/prompt.js.map +1 -0
  141. package/dist/capabilities/prompts/code-review.d.ts +11 -0
  142. package/dist/capabilities/prompts/code-review.d.ts.map +1 -0
  143. package/dist/capabilities/prompts/code-review.js +39 -0
  144. package/dist/capabilities/prompts/code-review.js.map +1 -0
  145. package/dist/capabilities/prompts/identity.d.ts +2 -0
  146. package/dist/capabilities/prompts/identity.d.ts.map +1 -0
  147. package/dist/capabilities/prompts/identity.js +6 -0
  148. package/dist/capabilities/prompts/identity.js.map +1 -0
  149. package/dist/capabilities/prompts/team.d.ts +6 -0
  150. package/dist/capabilities/prompts/team.d.ts.map +1 -0
  151. package/dist/capabilities/prompts/team.js +6 -0
  152. package/dist/capabilities/prompts/team.js.map +1 -0
  153. package/dist/capabilities/repo-tools.d.ts +19 -0
  154. package/dist/capabilities/repo-tools.d.ts.map +1 -0
  155. package/dist/capabilities/repo-tools.js +98 -0
  156. package/dist/capabilities/repo-tools.js.map +1 -0
  157. package/dist/capabilities/scenarios.d.ts +72 -0
  158. package/dist/capabilities/scenarios.d.ts.map +1 -0
  159. package/dist/capabilities/scenarios.js +241 -0
  160. package/dist/capabilities/scenarios.js.map +1 -0
  161. package/dist/capabilities/select-environment-tool.d.ts +22 -0
  162. package/dist/capabilities/select-environment-tool.d.ts.map +1 -0
  163. package/dist/capabilities/select-environment-tool.js +86 -0
  164. package/dist/capabilities/select-environment-tool.js.map +1 -0
  165. package/dist/capabilities/skills.d.ts +12 -0
  166. package/dist/capabilities/skills.d.ts.map +1 -0
  167. package/dist/capabilities/skills.js +50 -0
  168. package/dist/capabilities/skills.js.map +1 -0
  169. package/dist/capabilities/team.d.ts +31 -0
  170. package/dist/capabilities/team.d.ts.map +1 -0
  171. package/dist/capabilities/team.js +66 -0
  172. package/dist/capabilities/team.js.map +1 -0
  173. package/dist/config-provider.d.ts +47 -0
  174. package/dist/config-provider.d.ts.map +1 -0
  175. package/dist/config-provider.js +156 -0
  176. package/dist/config-provider.js.map +1 -0
  177. package/dist/config.d.ts +272 -0
  178. package/dist/config.d.ts.map +1 -0
  179. package/dist/config.js +605 -0
  180. package/dist/config.js.map +1 -0
  181. package/dist/degenerate-instrument.d.ts +17 -0
  182. package/dist/degenerate-instrument.d.ts.map +1 -0
  183. package/dist/degenerate-instrument.js +113 -0
  184. package/dist/degenerate-instrument.js.map +1 -0
  185. package/dist/elicitation.d.ts +47 -0
  186. package/dist/elicitation.d.ts.map +1 -0
  187. package/dist/elicitation.js +151 -0
  188. package/dist/elicitation.js.map +1 -0
  189. package/dist/env-facts.d.ts +18 -0
  190. package/dist/env-facts.d.ts.map +1 -0
  191. package/dist/env-facts.js +26 -0
  192. package/dist/env-facts.js.map +1 -0
  193. package/dist/finance/cost-taxonomy.d.ts +34 -0
  194. package/dist/finance/cost-taxonomy.d.ts.map +1 -0
  195. package/dist/finance/cost-taxonomy.js +26 -0
  196. package/dist/finance/cost-taxonomy.js.map +1 -0
  197. package/dist/fleet/fleet-bus.d.ts +137 -0
  198. package/dist/fleet/fleet-bus.d.ts.map +1 -0
  199. package/dist/fleet/fleet-bus.js +249 -0
  200. package/dist/fleet/fleet-bus.js.map +1 -0
  201. package/dist/fleet-client.d.ts +50 -0
  202. package/dist/fleet-client.d.ts.map +1 -0
  203. package/dist/fleet-client.js +150 -0
  204. package/dist/fleet-client.js.map +1 -0
  205. package/dist/fleet-lease.d.ts +76 -0
  206. package/dist/fleet-lease.d.ts.map +1 -0
  207. package/dist/fleet-lease.js +124 -0
  208. package/dist/fleet-lease.js.map +1 -0
  209. package/dist/hooks/hook-runner.d.ts +41 -0
  210. package/dist/hooks/hook-runner.d.ts.map +1 -0
  211. package/dist/hooks/hook-runner.js +975 -0
  212. package/dist/hooks/hook-runner.js.map +1 -0
  213. package/dist/http/idempotency.d.ts +12 -0
  214. package/dist/http/idempotency.d.ts.map +1 -0
  215. package/dist/http/idempotency.js +49 -0
  216. package/dist/http/idempotency.js.map +1 -0
  217. package/dist/http/server.d.ts +185 -0
  218. package/dist/http/server.d.ts.map +1 -0
  219. package/dist/http/server.js +4845 -0
  220. package/dist/http/server.js.map +1 -0
  221. package/dist/http/wire-gate.d.ts +3 -0
  222. package/dist/http/wire-gate.d.ts.map +1 -0
  223. package/dist/http/wire-gate.js +6 -0
  224. package/dist/http/wire-gate.js.map +1 -0
  225. package/dist/images/bake-validate.d.ts +41 -0
  226. package/dist/images/bake-validate.d.ts.map +1 -0
  227. package/dist/images/bake-validate.js +183 -0
  228. package/dist/images/bake-validate.js.map +1 -0
  229. package/dist/images/manifest.d.ts +36 -0
  230. package/dist/images/manifest.d.ts.map +1 -0
  231. package/dist/images/manifest.js +69 -0
  232. package/dist/images/manifest.js.map +1 -0
  233. package/dist/index.d.ts +25 -0
  234. package/dist/index.d.ts.map +1 -0
  235. package/dist/index.js +25 -0
  236. package/dist/index.js.map +1 -0
  237. package/dist/key-resolver.d.ts +5 -0
  238. package/dist/key-resolver.d.ts.map +1 -0
  239. package/dist/key-resolver.js +15 -0
  240. package/dist/key-resolver.js.map +1 -0
  241. package/dist/leader/diffout.d.ts +24 -0
  242. package/dist/leader/diffout.d.ts.map +1 -0
  243. package/dist/leader/diffout.js +54 -0
  244. package/dist/leader/diffout.js.map +1 -0
  245. package/dist/leader/diffup.d.ts +14 -0
  246. package/dist/leader/diffup.d.ts.map +1 -0
  247. package/dist/leader/diffup.js +81 -0
  248. package/dist/leader/diffup.js.map +1 -0
  249. package/dist/leader/endpoint.d.ts +30 -0
  250. package/dist/leader/endpoint.d.ts.map +1 -0
  251. package/dist/leader/endpoint.js +76 -0
  252. package/dist/leader/endpoint.js.map +1 -0
  253. package/dist/leader/fanout.d.ts +46 -0
  254. package/dist/leader/fanout.d.ts.map +1 -0
  255. package/dist/leader/fanout.js +109 -0
  256. package/dist/leader/fanout.js.map +1 -0
  257. package/dist/leader/grader-env-factory.d.ts +36 -0
  258. package/dist/leader/grader-env-factory.d.ts.map +1 -0
  259. package/dist/leader/grader-env-factory.js +73 -0
  260. package/dist/leader/grader-env-factory.js.map +1 -0
  261. package/dist/leader/leader.d.ts +102 -0
  262. package/dist/leader/leader.d.ts.map +1 -0
  263. package/dist/leader/leader.js +354 -0
  264. package/dist/leader/leader.js.map +1 -0
  265. package/dist/leader/merge.d.ts +109 -0
  266. package/dist/leader/merge.d.ts.map +1 -0
  267. package/dist/leader/merge.js +184 -0
  268. package/dist/leader/merge.js.map +1 -0
  269. package/dist/leader/planner.d.ts +26 -0
  270. package/dist/leader/planner.d.ts.map +1 -0
  271. package/dist/leader/planner.js +137 -0
  272. package/dist/leader/planner.js.map +1 -0
  273. package/dist/leader/repair-oracle.d.ts +34 -0
  274. package/dist/leader/repair-oracle.d.ts.map +1 -0
  275. package/dist/leader/repair-oracle.js +83 -0
  276. package/dist/leader/repair-oracle.js.map +1 -0
  277. package/dist/leader/repair-wire.d.ts +49 -0
  278. package/dist/leader/repair-wire.d.ts.map +1 -0
  279. package/dist/leader/repair-wire.js +90 -0
  280. package/dist/leader/repair-wire.js.map +1 -0
  281. package/dist/leader/wire.d.ts +66 -0
  282. package/dist/leader/wire.d.ts.map +1 -0
  283. package/dist/leader/wire.js +452 -0
  284. package/dist/leader/wire.js.map +1 -0
  285. package/dist/lsp/e2b-bridge.d.ts +8 -0
  286. package/dist/lsp/e2b-bridge.d.ts.map +1 -0
  287. package/dist/lsp/e2b-bridge.js +71 -0
  288. package/dist/lsp/e2b-bridge.js.map +1 -0
  289. package/dist/lsp/e2b-manager.d.ts +16 -0
  290. package/dist/lsp/e2b-manager.d.ts.map +1 -0
  291. package/dist/lsp/e2b-manager.js +49 -0
  292. package/dist/lsp/e2b-manager.js.map +1 -0
  293. package/dist/lsp/lsp-frames.d.ts +2 -0
  294. package/dist/lsp/lsp-frames.d.ts.map +1 -0
  295. package/dist/lsp/lsp-frames.js +25 -0
  296. package/dist/lsp/lsp-frames.js.map +1 -0
  297. package/dist/lsp/manager.d.ts +41 -0
  298. package/dist/lsp/manager.d.ts.map +1 -0
  299. package/dist/lsp/manager.js +84 -0
  300. package/dist/lsp/manager.js.map +1 -0
  301. package/dist/lsp/types.d.ts +2 -0
  302. package/dist/lsp/types.d.ts.map +1 -0
  303. package/dist/lsp/types.js +2 -0
  304. package/dist/lsp/types.js.map +1 -0
  305. package/dist/lsp/ws-transport.d.ts +28 -0
  306. package/dist/lsp/ws-transport.d.ts.map +1 -0
  307. package/dist/lsp/ws-transport.js +209 -0
  308. package/dist/lsp/ws-transport.js.map +1 -0
  309. package/dist/lsp-evict.d.ts +2 -0
  310. package/dist/lsp-evict.d.ts.map +1 -0
  311. package/dist/lsp-evict.js +14 -0
  312. package/dist/lsp-evict.js.map +1 -0
  313. package/dist/main.d.ts +2 -0
  314. package/dist/main.d.ts.map +1 -0
  315. package/dist/main.js +1526 -0
  316. package/dist/main.js.map +1 -0
  317. package/dist/memory-export.d.ts +3 -0
  318. package/dist/memory-export.d.ts.map +1 -0
  319. package/dist/memory-export.js +8 -0
  320. package/dist/memory-export.js.map +1 -0
  321. package/dist/memory-sync-client.d.ts +29 -0
  322. package/dist/memory-sync-client.d.ts.map +1 -0
  323. package/dist/memory-sync-client.js +133 -0
  324. package/dist/memory-sync-client.js.map +1 -0
  325. package/dist/memory-sync.d.ts +41 -0
  326. package/dist/memory-sync.d.ts.map +1 -0
  327. package/dist/memory-sync.js +183 -0
  328. package/dist/memory-sync.js.map +1 -0
  329. package/dist/model-select.d.ts +8 -0
  330. package/dist/model-select.d.ts.map +1 -0
  331. package/dist/model-select.js +12 -0
  332. package/dist/model-select.js.map +1 -0
  333. package/dist/observability/cost-quota.d.ts +21 -0
  334. package/dist/observability/cost-quota.d.ts.map +1 -0
  335. package/dist/observability/cost-quota.js +42 -0
  336. package/dist/observability/cost-quota.js.map +1 -0
  337. package/dist/observability/logger.d.ts +9 -0
  338. package/dist/observability/logger.d.ts.map +1 -0
  339. package/dist/observability/logger.js +35 -0
  340. package/dist/observability/logger.js.map +1 -0
  341. package/dist/observability/metrics.d.ts +76 -0
  342. package/dist/observability/metrics.d.ts.map +1 -0
  343. package/dist/observability/metrics.js +263 -0
  344. package/dist/observability/metrics.js.map +1 -0
  345. package/dist/observability/otel-exporter.d.ts +37 -0
  346. package/dist/observability/otel-exporter.d.ts.map +1 -0
  347. package/dist/observability/otel-exporter.js +95 -0
  348. package/dist/observability/otel-exporter.js.map +1 -0
  349. package/dist/observability/principal-context.d.ts +5 -0
  350. package/dist/observability/principal-context.d.ts.map +1 -0
  351. package/dist/observability/principal-context.js +9 -0
  352. package/dist/observability/principal-context.js.map +1 -0
  353. package/dist/observability/rate-limit.d.ts +18 -0
  354. package/dist/observability/rate-limit.d.ts.map +1 -0
  355. package/dist/observability/rate-limit.js +30 -0
  356. package/dist/observability/rate-limit.js.map +1 -0
  357. package/dist/observability/tool-trace.d.ts +6 -0
  358. package/dist/observability/tool-trace.d.ts.map +1 -0
  359. package/dist/observability/tool-trace.js +73 -0
  360. package/dist/observability/tool-trace.js.map +1 -0
  361. package/dist/orchestration/hardened-vm-runner.d.ts +26 -0
  362. package/dist/orchestration/hardened-vm-runner.d.ts.map +1 -0
  363. package/dist/orchestration/hardened-vm-runner.js +217 -0
  364. package/dist/orchestration/hardened-vm-runner.js.map +1 -0
  365. package/dist/orchestration/hardened-vm-worker-runner.d.ts +4 -0
  366. package/dist/orchestration/hardened-vm-worker-runner.d.ts.map +1 -0
  367. package/dist/orchestration/hardened-vm-worker-runner.js +79 -0
  368. package/dist/orchestration/hardened-vm-worker-runner.js.map +1 -0
  369. package/dist/orchestration/hardened-vm-worker.d.ts +2 -0
  370. package/dist/orchestration/hardened-vm-worker.d.ts.map +1 -0
  371. package/dist/orchestration/hardened-vm-worker.js +80 -0
  372. package/dist/orchestration/hardened-vm-worker.js.map +1 -0
  373. package/dist/orchestration/subagent-steer.d.ts +12 -0
  374. package/dist/orchestration/subagent-steer.d.ts.map +1 -0
  375. package/dist/orchestration/subagent-steer.js +45 -0
  376. package/dist/orchestration/subagent-steer.js.map +1 -0
  377. package/dist/orchestration/workflow-agent-steer.d.ts +14 -0
  378. package/dist/orchestration/workflow-agent-steer.d.ts.map +1 -0
  379. package/dist/orchestration/workflow-agent-steer.js +41 -0
  380. package/dist/orchestration/workflow-agent-steer.js.map +1 -0
  381. package/dist/orchestration/workflow-completion-inbox.d.ts +101 -0
  382. package/dist/orchestration/workflow-completion-inbox.d.ts.map +1 -0
  383. package/dist/orchestration/workflow-completion-inbox.js +327 -0
  384. package/dist/orchestration/workflow-completion-inbox.js.map +1 -0
  385. package/dist/orchestration/workflow-notify-journal.d.ts +120 -0
  386. package/dist/orchestration/workflow-notify-journal.d.ts.map +1 -0
  387. package/dist/orchestration/workflow-notify-journal.js +297 -0
  388. package/dist/orchestration/workflow-notify-journal.js.map +1 -0
  389. package/dist/per-task-image.d.ts +27 -0
  390. package/dist/per-task-image.d.ts.map +1 -0
  391. package/dist/per-task-image.js +37 -0
  392. package/dist/per-task-image.js.map +1 -0
  393. package/dist/plan-cache-probe.d.ts +21 -0
  394. package/dist/plan-cache-probe.d.ts.map +1 -0
  395. package/dist/plan-cache-probe.js +79 -0
  396. package/dist/plan-cache-probe.js.map +1 -0
  397. package/dist/plugins/approval-exemption-store.d.ts +56 -0
  398. package/dist/plugins/approval-exemption-store.d.ts.map +1 -0
  399. package/dist/plugins/approval-exemption-store.js +216 -0
  400. package/dist/plugins/approval-exemption-store.js.map +1 -0
  401. package/dist/plugins/background-shell-support.d.ts +64 -0
  402. package/dist/plugins/background-shell-support.d.ts.map +1 -0
  403. package/dist/plugins/background-shell-support.js +235 -0
  404. package/dist/plugins/background-shell-support.js.map +1 -0
  405. package/dist/plugins/blob-backend.d.ts +44 -0
  406. package/dist/plugins/blob-backend.d.ts.map +1 -0
  407. package/dist/plugins/blob-backend.js +188 -0
  408. package/dist/plugins/blob-backend.js.map +1 -0
  409. package/dist/plugins/caching-session-store.d.ts +51 -0
  410. package/dist/plugins/caching-session-store.d.ts.map +1 -0
  411. package/dist/plugins/caching-session-store.js +142 -0
  412. package/dist/plugins/caching-session-store.js.map +1 -0
  413. package/dist/plugins/file-outcome-sink.d.ts +20 -0
  414. package/dist/plugins/file-outcome-sink.d.ts.map +1 -0
  415. package/dist/plugins/file-outcome-sink.js +14 -0
  416. package/dist/plugins/file-outcome-sink.js.map +1 -0
  417. package/dist/plugins/file-resume-anchor-store.d.ts +19 -0
  418. package/dist/plugins/file-resume-anchor-store.d.ts.map +1 -0
  419. package/dist/plugins/file-resume-anchor-store.js +103 -0
  420. package/dist/plugins/file-resume-anchor-store.js.map +1 -0
  421. package/dist/plugins/file-run-store.d.ts +95 -0
  422. package/dist/plugins/file-run-store.d.ts.map +1 -0
  423. package/dist/plugins/file-run-store.js +446 -0
  424. package/dist/plugins/file-run-store.js.map +1 -0
  425. package/dist/plugins/file-workflow-journal-store.d.ts +2 -0
  426. package/dist/plugins/file-workflow-journal-store.d.ts.map +1 -0
  427. package/dist/plugins/file-workflow-journal-store.js +2 -0
  428. package/dist/plugins/file-workflow-journal-store.js.map +1 -0
  429. package/dist/plugins/host-platform.d.ts +19 -0
  430. package/dist/plugins/host-platform.d.ts.map +1 -0
  431. package/dist/plugins/host-platform.js +71 -0
  432. package/dist/plugins/host-platform.js.map +1 -0
  433. package/dist/plugins/local-checkpoint-store.d.ts +41 -0
  434. package/dist/plugins/local-checkpoint-store.d.ts.map +1 -0
  435. package/dist/plugins/local-checkpoint-store.js +217 -0
  436. package/dist/plugins/local-checkpoint-store.js.map +1 -0
  437. package/dist/plugins/local-session-store.d.ts +69 -0
  438. package/dist/plugins/local-session-store.d.ts.map +1 -0
  439. package/dist/plugins/local-session-store.js +431 -0
  440. package/dist/plugins/local-session-store.js.map +1 -0
  441. package/dist/plugins/memory-engine-pg.d.ts +47 -0
  442. package/dist/plugins/memory-engine-pg.d.ts.map +1 -0
  443. package/dist/plugins/memory-engine-pg.js +306 -0
  444. package/dist/plugins/memory-engine-pg.js.map +1 -0
  445. package/dist/plugins/memory-engine-tidb.d.ts +40 -0
  446. package/dist/plugins/memory-engine-tidb.d.ts.map +1 -0
  447. package/dist/plugins/memory-engine-tidb.js +296 -0
  448. package/dist/plugins/memory-engine-tidb.js.map +1 -0
  449. package/dist/plugins/memory-engine-vector-util.d.ts +2 -0
  450. package/dist/plugins/memory-engine-vector-util.d.ts.map +1 -0
  451. package/dist/plugins/memory-engine-vector-util.js +2 -0
  452. package/dist/plugins/memory-engine-vector-util.js.map +1 -0
  453. package/dist/plugins/memory-resume-anchor-store.d.ts +12 -0
  454. package/dist/plugins/memory-resume-anchor-store.d.ts.map +1 -0
  455. package/dist/plugins/memory-resume-anchor-store.js +31 -0
  456. package/dist/plugins/memory-resume-anchor-store.js.map +1 -0
  457. package/dist/plugins/memory-run-store.d.ts +75 -0
  458. package/dist/plugins/memory-run-store.d.ts.map +1 -0
  459. package/dist/plugins/memory-run-store.js +267 -0
  460. package/dist/plugins/memory-run-store.js.map +1 -0
  461. package/dist/plugins/memory-sync-store-pg.d.ts +78 -0
  462. package/dist/plugins/memory-sync-store-pg.d.ts.map +1 -0
  463. package/dist/plugins/memory-sync-store-pg.js +152 -0
  464. package/dist/plugins/memory-sync-store-pg.js.map +1 -0
  465. package/dist/plugins/memory-sync-store-tidb.d.ts +32 -0
  466. package/dist/plugins/memory-sync-store-tidb.d.ts.map +1 -0
  467. package/dist/plugins/memory-sync-store-tidb.js +146 -0
  468. package/dist/plugins/memory-sync-store-tidb.js.map +1 -0
  469. package/dist/plugins/pg-approval-store.d.ts +28 -0
  470. package/dist/plugins/pg-approval-store.d.ts.map +1 -0
  471. package/dist/plugins/pg-approval-store.js +107 -0
  472. package/dist/plugins/pg-approval-store.js.map +1 -0
  473. package/dist/plugins/pg-breaker-state.d.ts +20 -0
  474. package/dist/plugins/pg-breaker-state.d.ts.map +1 -0
  475. package/dist/plugins/pg-breaker-state.js +89 -0
  476. package/dist/plugins/pg-breaker-state.js.map +1 -0
  477. package/dist/plugins/pg-checkpoint-store.d.ts +34 -0
  478. package/dist/plugins/pg-checkpoint-store.d.ts.map +1 -0
  479. package/dist/plugins/pg-checkpoint-store.js +193 -0
  480. package/dist/plugins/pg-checkpoint-store.js.map +1 -0
  481. package/dist/plugins/pg-cost-quota.d.ts +18 -0
  482. package/dist/plugins/pg-cost-quota.d.ts.map +1 -0
  483. package/dist/plugins/pg-cost-quota.js +189 -0
  484. package/dist/plugins/pg-cost-quota.js.map +1 -0
  485. package/dist/plugins/pg-file-snapshot-store.d.ts +26 -0
  486. package/dist/plugins/pg-file-snapshot-store.d.ts.map +1 -0
  487. package/dist/plugins/pg-file-snapshot-store.js +181 -0
  488. package/dist/plugins/pg-file-snapshot-store.js.map +1 -0
  489. package/dist/plugins/pg-image-bake.d.ts +42 -0
  490. package/dist/plugins/pg-image-bake.d.ts.map +1 -0
  491. package/dist/plugins/pg-image-bake.js +471 -0
  492. package/dist/plugins/pg-image-bake.js.map +1 -0
  493. package/dist/plugins/pg-image-index.d.ts +23 -0
  494. package/dist/plugins/pg-image-index.d.ts.map +1 -0
  495. package/dist/plugins/pg-image-index.js +252 -0
  496. package/dist/plugins/pg-image-index.js.map +1 -0
  497. package/dist/plugins/pg-outcome-ledger.d.ts +23 -0
  498. package/dist/plugins/pg-outcome-ledger.d.ts.map +1 -0
  499. package/dist/plugins/pg-outcome-ledger.js +102 -0
  500. package/dist/plugins/pg-outcome-ledger.js.map +1 -0
  501. package/dist/plugins/pg-pool.d.ts +7 -0
  502. package/dist/plugins/pg-pool.d.ts.map +1 -0
  503. package/dist/plugins/pg-pool.js +233 -0
  504. package/dist/plugins/pg-pool.js.map +1 -0
  505. package/dist/plugins/pg-rate-limiter.d.ts +49 -0
  506. package/dist/plugins/pg-rate-limiter.d.ts.map +1 -0
  507. package/dist/plugins/pg-rate-limiter.js +193 -0
  508. package/dist/plugins/pg-rate-limiter.js.map +1 -0
  509. package/dist/plugins/pg-resume-anchor-store.d.ts +14 -0
  510. package/dist/plugins/pg-resume-anchor-store.d.ts.map +1 -0
  511. package/dist/plugins/pg-resume-anchor-store.js +23 -0
  512. package/dist/plugins/pg-resume-anchor-store.js.map +1 -0
  513. package/dist/plugins/pg-run-store.d.ts +76 -0
  514. package/dist/plugins/pg-run-store.d.ts.map +1 -0
  515. package/dist/plugins/pg-run-store.js +301 -0
  516. package/dist/plugins/pg-run-store.js.map +1 -0
  517. package/dist/plugins/pg-session-policy-store.d.ts +12 -0
  518. package/dist/plugins/pg-session-policy-store.d.ts.map +1 -0
  519. package/dist/plugins/pg-session-policy-store.js +88 -0
  520. package/dist/plugins/pg-session-policy-store.js.map +1 -0
  521. package/dist/plugins/pg-session-storage.d.ts +59 -0
  522. package/dist/plugins/pg-session-storage.d.ts.map +1 -0
  523. package/dist/plugins/pg-session-storage.js +484 -0
  524. package/dist/plugins/pg-session-storage.js.map +1 -0
  525. package/dist/plugins/pg-session-store.d.ts +2 -0
  526. package/dist/plugins/pg-session-store.d.ts.map +1 -0
  527. package/dist/plugins/pg-session-store.js +2 -0
  528. package/dist/plugins/pg-session-store.js.map +1 -0
  529. package/dist/plugins/pg-tool-result-store.d.ts +16 -0
  530. package/dist/plugins/pg-tool-result-store.d.ts.map +1 -0
  531. package/dist/plugins/pg-tool-result-store.js +52 -0
  532. package/dist/plugins/pg-tool-result-store.js.map +1 -0
  533. package/dist/plugins/pg-workflow-journal-store.d.ts +11 -0
  534. package/dist/plugins/pg-workflow-journal-store.d.ts.map +1 -0
  535. package/dist/plugins/pg-workflow-journal-store.js +28 -0
  536. package/dist/plugins/pg-workflow-journal-store.js.map +1 -0
  537. package/dist/plugins/pg-workflow-run-store.d.ts +55 -0
  538. package/dist/plugins/pg-workflow-run-store.d.ts.map +1 -0
  539. package/dist/plugins/pg-workflow-run-store.js +216 -0
  540. package/dist/plugins/pg-workflow-run-store.js.map +1 -0
  541. package/dist/plugins/remote-env-adb.d.ts +119 -0
  542. package/dist/plugins/remote-env-adb.d.ts.map +1 -0
  543. package/dist/plugins/remote-env-adb.js +502 -0
  544. package/dist/plugins/remote-env-adb.js.map +1 -0
  545. package/dist/plugins/remote-env-e2b.d.ts +162 -0
  546. package/dist/plugins/remote-env-e2b.d.ts.map +1 -0
  547. package/dist/plugins/remote-env-e2b.js +931 -0
  548. package/dist/plugins/remote-env-e2b.js.map +1 -0
  549. package/dist/plugins/remote-env-host.d.ts +141 -0
  550. package/dist/plugins/remote-env-host.d.ts.map +1 -0
  551. package/dist/plugins/remote-env-host.js +868 -0
  552. package/dist/plugins/remote-env-host.js.map +1 -0
  553. package/dist/plugins/remote-env-k8s.d.ts +209 -0
  554. package/dist/plugins/remote-env-k8s.d.ts.map +1 -0
  555. package/dist/plugins/remote-env-k8s.js +1206 -0
  556. package/dist/plugins/remote-env-k8s.js.map +1 -0
  557. package/dist/plugins/remote-env-local-docker.d.ts +124 -0
  558. package/dist/plugins/remote-env-local-docker.d.ts.map +1 -0
  559. package/dist/plugins/remote-env-local-docker.js +597 -0
  560. package/dist/plugins/remote-env-local-docker.js.map +1 -0
  561. package/dist/plugins/remote-env-ssh.d.ts +122 -0
  562. package/dist/plugins/remote-env-ssh.d.ts.map +1 -0
  563. package/dist/plugins/remote-env-ssh.js +511 -0
  564. package/dist/plugins/remote-env-ssh.js.map +1 -0
  565. package/dist/plugins/remote-shell.d.ts +7 -0
  566. package/dist/plugins/remote-shell.d.ts.map +1 -0
  567. package/dist/plugins/remote-shell.js +25 -0
  568. package/dist/plugins/remote-shell.js.map +1 -0
  569. package/dist/plugins/s3-presign.d.ts +13 -0
  570. package/dist/plugins/s3-presign.d.ts.map +1 -0
  571. package/dist/plugins/s3-presign.js +55 -0
  572. package/dist/plugins/s3-presign.js.map +1 -0
  573. package/dist/plugins/scheduler-support.d.ts +39 -0
  574. package/dist/plugins/scheduler-support.d.ts.map +1 -0
  575. package/dist/plugins/scheduler-support.js +141 -0
  576. package/dist/plugins/scheduler-support.js.map +1 -0
  577. package/dist/plugins/session-store.d.ts +7 -0
  578. package/dist/plugins/session-store.d.ts.map +1 -0
  579. package/dist/plugins/session-store.js +14 -0
  580. package/dist/plugins/session-store.js.map +1 -0
  581. package/dist/plugins/store-backend.d.ts +88 -0
  582. package/dist/plugins/store-backend.d.ts.map +1 -0
  583. package/dist/plugins/store-backend.js +197 -0
  584. package/dist/plugins/store-backend.js.map +1 -0
  585. package/dist/plugins/tidb-approval-store.d.ts +39 -0
  586. package/dist/plugins/tidb-approval-store.d.ts.map +1 -0
  587. package/dist/plugins/tidb-approval-store.js +81 -0
  588. package/dist/plugins/tidb-approval-store.js.map +1 -0
  589. package/dist/plugins/tidb-breaker-state.d.ts +18 -0
  590. package/dist/plugins/tidb-breaker-state.d.ts.map +1 -0
  591. package/dist/plugins/tidb-breaker-state.js +75 -0
  592. package/dist/plugins/tidb-breaker-state.js.map +1 -0
  593. package/dist/plugins/tidb-checkpoint-store.d.ts +50 -0
  594. package/dist/plugins/tidb-checkpoint-store.d.ts.map +1 -0
  595. package/dist/plugins/tidb-checkpoint-store.js +196 -0
  596. package/dist/plugins/tidb-checkpoint-store.js.map +1 -0
  597. package/dist/plugins/tidb-cost-quota.d.ts +16 -0
  598. package/dist/plugins/tidb-cost-quota.d.ts.map +1 -0
  599. package/dist/plugins/tidb-cost-quota.js +34 -0
  600. package/dist/plugins/tidb-cost-quota.js.map +1 -0
  601. package/dist/plugins/tidb-file-snapshot-store.d.ts +26 -0
  602. package/dist/plugins/tidb-file-snapshot-store.d.ts.map +1 -0
  603. package/dist/plugins/tidb-file-snapshot-store.js +183 -0
  604. package/dist/plugins/tidb-file-snapshot-store.js.map +1 -0
  605. package/dist/plugins/tidb-image-bake.d.ts +102 -0
  606. package/dist/plugins/tidb-image-bake.d.ts.map +1 -0
  607. package/dist/plugins/tidb-image-bake.js +400 -0
  608. package/dist/plugins/tidb-image-bake.js.map +1 -0
  609. package/dist/plugins/tidb-image-index.d.ts +71 -0
  610. package/dist/plugins/tidb-image-index.d.ts.map +1 -0
  611. package/dist/plugins/tidb-image-index.js +192 -0
  612. package/dist/plugins/tidb-image-index.js.map +1 -0
  613. package/dist/plugins/tidb-outcome-ledger.d.ts +58 -0
  614. package/dist/plugins/tidb-outcome-ledger.d.ts.map +1 -0
  615. package/dist/plugins/tidb-outcome-ledger.js +98 -0
  616. package/dist/plugins/tidb-outcome-ledger.js.map +1 -0
  617. package/dist/plugins/tidb-pool.d.ts +11 -0
  618. package/dist/plugins/tidb-pool.d.ts.map +1 -0
  619. package/dist/plugins/tidb-pool.js +485 -0
  620. package/dist/plugins/tidb-pool.js.map +1 -0
  621. package/dist/plugins/tidb-rate-limiter.d.ts +15 -0
  622. package/dist/plugins/tidb-rate-limiter.d.ts.map +1 -0
  623. package/dist/plugins/tidb-rate-limiter.js +34 -0
  624. package/dist/plugins/tidb-rate-limiter.js.map +1 -0
  625. package/dist/plugins/tidb-resume-anchor-store.d.ts +14 -0
  626. package/dist/plugins/tidb-resume-anchor-store.d.ts.map +1 -0
  627. package/dist/plugins/tidb-resume-anchor-store.js +23 -0
  628. package/dist/plugins/tidb-resume-anchor-store.js.map +1 -0
  629. package/dist/plugins/tidb-run-store.d.ts +107 -0
  630. package/dist/plugins/tidb-run-store.d.ts.map +1 -0
  631. package/dist/plugins/tidb-run-store.js +321 -0
  632. package/dist/plugins/tidb-run-store.js.map +1 -0
  633. package/dist/plugins/tidb-session-policy-store.d.ts +12 -0
  634. package/dist/plugins/tidb-session-policy-store.d.ts.map +1 -0
  635. package/dist/plugins/tidb-session-policy-store.js +88 -0
  636. package/dist/plugins/tidb-session-policy-store.js.map +1 -0
  637. package/dist/plugins/tidb-session-storage.d.ts +15 -0
  638. package/dist/plugins/tidb-session-storage.d.ts.map +1 -0
  639. package/dist/plugins/tidb-session-storage.js +101 -0
  640. package/dist/plugins/tidb-session-storage.js.map +1 -0
  641. package/dist/plugins/tidb-session-store.d.ts +46 -0
  642. package/dist/plugins/tidb-session-store.d.ts.map +1 -0
  643. package/dist/plugins/tidb-session-store.js +360 -0
  644. package/dist/plugins/tidb-session-store.js.map +1 -0
  645. package/dist/plugins/tidb-tool-result-store.d.ts +15 -0
  646. package/dist/plugins/tidb-tool-result-store.d.ts.map +1 -0
  647. package/dist/plugins/tidb-tool-result-store.js +41 -0
  648. package/dist/plugins/tidb-tool-result-store.js.map +1 -0
  649. package/dist/plugins/tidb-workflow-journal-store.d.ts +11 -0
  650. package/dist/plugins/tidb-workflow-journal-store.d.ts.map +1 -0
  651. package/dist/plugins/tidb-workflow-journal-store.js +28 -0
  652. package/dist/plugins/tidb-workflow-journal-store.js.map +1 -0
  653. package/dist/plugins/tidb-workflow-run-store.d.ts +61 -0
  654. package/dist/plugins/tidb-workflow-run-store.d.ts.map +1 -0
  655. package/dist/plugins/tidb-workflow-run-store.js +227 -0
  656. package/dist/plugins/tidb-workflow-run-store.js.map +1 -0
  657. package/dist/plugins/web-search.d.ts +27 -0
  658. package/dist/plugins/web-search.d.ts.map +1 -0
  659. package/dist/plugins/web-search.js +143 -0
  660. package/dist/plugins/web-search.js.map +1 -0
  661. package/dist/plugins/workflow-journal-limits.d.ts +2 -0
  662. package/dist/plugins/workflow-journal-limits.d.ts.map +1 -0
  663. package/dist/plugins/workflow-journal-limits.js +2 -0
  664. package/dist/plugins/workflow-journal-limits.js.map +1 -0
  665. package/dist/plugins/worktree-isolation.d.ts +16 -0
  666. package/dist/plugins/worktree-isolation.d.ts.map +1 -0
  667. package/dist/plugins/worktree-isolation.js +55 -0
  668. package/dist/plugins/worktree-isolation.js.map +1 -0
  669. package/dist/plugins/write-behind-counter.d.ts +43 -0
  670. package/dist/plugins/write-behind-counter.d.ts.map +1 -0
  671. package/dist/plugins/write-behind-counter.js +144 -0
  672. package/dist/plugins/write-behind-counter.js.map +1 -0
  673. package/dist/project-memory.d.ts +14 -0
  674. package/dist/project-memory.d.ts.map +1 -0
  675. package/dist/project-memory.js +96 -0
  676. package/dist/project-memory.js.map +1 -0
  677. package/dist/question.d.ts +42 -0
  678. package/dist/question.d.ts.map +1 -0
  679. package/dist/question.js +140 -0
  680. package/dist/question.js.map +1 -0
  681. package/dist/resource-suspend.d.ts +11 -0
  682. package/dist/resource-suspend.d.ts.map +1 -0
  683. package/dist/resource-suspend.js +6 -0
  684. package/dist/resource-suspend.js.map +1 -0
  685. package/dist/router/route-orchestration.d.ts +31 -0
  686. package/dist/router/route-orchestration.d.ts.map +1 -0
  687. package/dist/router/route-orchestration.js +49 -0
  688. package/dist/router/route-orchestration.js.map +1 -0
  689. package/dist/run-local.d.ts +26 -0
  690. package/dist/run-local.d.ts.map +1 -0
  691. package/dist/run-local.js +337 -0
  692. package/dist/run-local.js.map +1 -0
  693. package/dist/runs.d.ts +39 -0
  694. package/dist/runs.d.ts.map +1 -0
  695. package/dist/runs.js +392 -0
  696. package/dist/runs.js.map +1 -0
  697. package/dist/runtime-caps-resolver.d.ts +32 -0
  698. package/dist/runtime-caps-resolver.d.ts.map +1 -0
  699. package/dist/runtime-caps-resolver.js +134 -0
  700. package/dist/runtime-caps-resolver.js.map +1 -0
  701. package/dist/runtime-governance.d.ts +18 -0
  702. package/dist/runtime-governance.d.ts.map +1 -0
  703. package/dist/runtime-governance.js +103 -0
  704. package/dist/runtime-governance.js.map +1 -0
  705. package/dist/sandbox-pkg-source.d.ts +11 -0
  706. package/dist/sandbox-pkg-source.d.ts.map +1 -0
  707. package/dist/sandbox-pkg-source.js +56 -0
  708. package/dist/sandbox-pkg-source.js.map +1 -0
  709. package/dist/sealed-key.d.ts +29 -0
  710. package/dist/sealed-key.d.ts.map +1 -0
  711. package/dist/sealed-key.js +122 -0
  712. package/dist/sealed-key.js.map +1 -0
  713. package/dist/security.d.ts +153 -0
  714. package/dist/security.d.ts.map +1 -0
  715. package/dist/security.js +292 -0
  716. package/dist/security.js.map +1 -0
  717. package/dist/sema-registry.d.ts +187 -0
  718. package/dist/sema-registry.d.ts.map +1 -0
  719. package/dist/sema-registry.js +456 -0
  720. package/dist/sema-registry.js.map +1 -0
  721. package/dist/session-sync.d.ts +96 -0
  722. package/dist/session-sync.d.ts.map +1 -0
  723. package/dist/session-sync.js +181 -0
  724. package/dist/session-sync.js.map +1 -0
  725. package/dist/session-titler.d.ts +30 -0
  726. package/dist/session-titler.d.ts.map +1 -0
  727. package/dist/session-titler.js +77 -0
  728. package/dist/session-titler.js.map +1 -0
  729. package/dist/spec-fields.d.ts +5 -0
  730. package/dist/spec-fields.d.ts.map +1 -0
  731. package/dist/spec-fields.js +43 -0
  732. package/dist/spec-fields.js.map +1 -0
  733. package/dist/task-cwd.d.ts +15 -0
  734. package/dist/task-cwd.d.ts.map +1 -0
  735. package/dist/task-cwd.js +33 -0
  736. package/dist/task-cwd.js.map +1 -0
  737. package/dist/task-mcp.d.ts +20 -0
  738. package/dist/task-mcp.d.ts.map +1 -0
  739. package/dist/task-mcp.js +93 -0
  740. package/dist/task-mcp.js.map +1 -0
  741. package/dist/task-settings.d.ts +36 -0
  742. package/dist/task-settings.d.ts.map +1 -0
  743. package/dist/task-settings.js +141 -0
  744. package/dist/task-settings.js.map +1 -0
  745. package/dist/task-workflow.d.ts +25 -0
  746. package/dist/task-workflow.d.ts.map +1 -0
  747. package/dist/task-workflow.js +43 -0
  748. package/dist/task-workflow.js.map +1 -0
  749. package/dist/trace/artifacts.d.ts +17 -0
  750. package/dist/trace/artifacts.d.ts.map +1 -0
  751. package/dist/trace/artifacts.js +65 -0
  752. package/dist/trace/artifacts.js.map +1 -0
  753. package/dist/trace/project.d.ts +170 -0
  754. package/dist/trace/project.d.ts.map +1 -0
  755. package/dist/trace/project.js +239 -0
  756. package/dist/trace/project.js.map +1 -0
  757. package/dist/trace/redact.d.ts +5 -0
  758. package/dist/trace/redact.d.ts.map +1 -0
  759. package/dist/trace/redact.js +83 -0
  760. package/dist/trace/redact.js.map +1 -0
  761. package/dist/usage-analytics.d.ts +36 -0
  762. package/dist/usage-analytics.d.ts.map +1 -0
  763. package/dist/usage-analytics.js +89 -0
  764. package/dist/usage-analytics.js.map +1 -0
  765. package/package.json +78 -0
@@ -0,0 +1,432 @@
1
+ #!/usr/bin/env bash
2
+ # cluster-up — sema-up 的 full-cluster 装配(Phase 1b as-built 的编码化)。
3
+ # 由 sema-up.sh 在 PROFILE=full-cluster 时调用,也可单独跑(env 见下)。
4
+ # 流程:机器互达检 → k3s HA(embedded etcd)→ VXLAN 守卫 → Longhorn → kata-deploy →
5
+ # CNPG operator → 镜像分发 → 渲染 sema-stack-cluster.yaml → apply → token 复制 →
6
+ # 建桶 → smoke。全程幂等 check-then-apply;凭据不轮换;密码不入日志。
7
+ #
8
+ # 输入(sema-up.sh 解析 machines.yaml 后注入):
9
+ # MACHINE_COUNT + MACHINE_<i>_{HOST,USER,SSH_KEY,NAME,ROLE,PRIVATE_IP,PUBLIC_IFACE}
10
+ # WORK(状态目录,.env 在此)REGION PROJECT
11
+ # SEMA_SERVER_IMAGE(registry 引用)或 SEMA_SERVER_IMAGE_TAR(本地 docker save tar[.gz])二选一
12
+ # MODEL_GATEWAY_BASEURL MODEL_ID MODEL_API_KEY
13
+ # ALLOW_SMALL_CLUSTER=true 放行 <3 机(dev/CI 单节点验流程;生产必须 >=3 奇数)
14
+ set -euo pipefail
15
+ HERE="$(cd "$(dirname "$0")" && pwd)"
16
+ log() { printf '[cluster-up] %s\n' "$*" >&2; }
17
+ die() { log "⛔ $*"; exit 1; }
18
+
19
+ : "${WORK:?WORK 未设置(状态目录)}"
20
+ : "${MACHINE_COUNT:?MACHINE_COUNT 未设置(machines.yaml 未解析?)}"
21
+ REGION="${REGION:-global}"
22
+ K3S_CHANNEL="${K3S_CHANNEL:-stable}"
23
+ CNPG_VERSION="${CNPG_VERSION:-1.30.0}" # ⚠ in-tree barman 1.31 移除;升版前先迁 barman-cloud plugin
24
+ LONGHORN_VERSION="${LONGHORN_VERSION:-1.10.0}"
25
+ KATA_VERSION="${KATA_VERSION:-3.21.0}"
26
+ NODEPORT=30890
27
+
28
+ # <3 机=建议不强求(clay 2026-07-12:有建议的 3 节点配置,仍能处理;某台机器过小才拦——
29
+ # 那个由 0/8 每机预检的 8G/40G 硬底线负责)。ALLOW_SMALL_CLUSTER 保留兼容,不再必需。
30
+ if [ "$MACHINE_COUNT" -lt 3 ]; then
31
+ log "⚠ 建议:准生产=3 机(embedded etcd HA+PG 反亲和);当前 $MACHINE_COUNT 机能跑但 etcd 无 HA(单点/双机 quorum 脆),形态按机器数缩放"
32
+ fi
33
+ if [ $((MACHINE_COUNT % 2)) -eq 0 ]; then
34
+ log "⚠ 偶数台($MACHINE_COUNT)etcd 容错不增反险(quorum=$((MACHINE_COUNT/2+1))),建议奇数"
35
+ fi
36
+
37
+ # ── ssh 帮手(role 无关,i 从 0)────────────────────────────────────────────────
38
+ mvar() { local n="MACHINE_$1_$2"; printf '%s' "${!n:-}"; }
39
+ mssh() { # mssh <i> <cmd…>;远端跑 sudo bash -s 读 stdin 时用 msshs
40
+ local i="$1"; shift
41
+ local key; key="$(mvar "$i" SSH_KEY)"
42
+ ssh -o ConnectTimeout=15 -o ServerAliveInterval=15 -o ServerAliveCountMax=8 \
43
+ -o StrictHostKeyChecking=accept-new ${key:+-i "${key/#\~/$HOME}"} \
44
+ "$(mvar "$i" USER)@$(mvar "$i" HOST)" "$@"
45
+ }
46
+ mscp() { # mscp <i> <local> <remote>
47
+ local i="$1"; local key; key="$(mvar "$i" SSH_KEY)"
48
+ scp -o ConnectTimeout=15 -o StrictHostKeyChecking=accept-new ${key:+-i "${key/#\~/$HOME}"} \
49
+ "$2" "$(mvar "$i" USER)@$(mvar "$i" HOST):$3"
50
+ }
51
+ # 远端 root 执行:user=root 直跑,否则要求 passwordless sudo(预检里验)
52
+ rsudo() { local i="$1"; shift; if [ "$(mvar "$i" USER)" = "root" ]; then mssh "$i" bash -s -- "$@"; else mssh "$i" sudo bash -s -- "$@"; fi; }
53
+ # 远端单命令(stdin 归命令用,如 kubectl apply -f -)
54
+ rrun() { local i="$1"; shift; if [ "$(mvar "$i" USER)" = "root" ]; then mssh "$i" "$@"; else mssh "$i" sudo "$@"; fi; }
55
+
56
+ # ── 0. 互达 + sudo + 硬件预检(在目标机上,§3d-2:错误带原因+建议)+ hostname 告警 ──
57
+ log "0/8 机器预检($MACHINE_COUNT 台)"
58
+ declare -a SYS_HOSTNAMES=()
59
+ for ((i=0; i<MACHINE_COUNT; i++)); do
60
+ out=$(rsudo "$i" <<'EOF'
61
+ set -e
62
+ command -v curl >/dev/null || { echo "FAIL curl 缺失——建议:apt-get install -y curl"; exit 1; }
63
+ [ "$(uname -m)" = "x86_64" ] || [ "$(uname -m)" = "aarch64" ] || { echo "FAIL 架构 $(uname -m) 不支持——建议:x86_64/aarch64 机器"; exit 1; }
64
+ ram=$(awk '/MemTotal/{printf "%d", $2/1024}' /proc/meminfo)
65
+ [ "$ram" -ge 8192 ] || { echo "FAIL 内存 ${ram}MB < 8G——建议:full-cluster 节点至少 8G(数据面+沙箱同机)"; exit 1; }
66
+ disk=$(df -m / | awk 'NR==2{print $4}')
67
+ [ "$disk" -ge 40960 ] || { echo "FAIL 根盘可用 ${disk}MB < 40G——建议:Longhorn/镜像要空间,清盘或换机"; exit 1; }
68
+ [ -e /dev/kvm ] || echo "WARN 无 /dev/kvm——kata VM 沙箱在本节点不可用(建议:开嵌套虚拟化/裸机;或全集群改 e2b lane)"
69
+ hostname
70
+ EOF
71
+ ) || die "机器 $i($(mvar "$i" HOST))预检失败:${out:-ssh/sudo 不通——需要 key 互信 + passwordless sudo}"
72
+ case "$out" in *WARN*) log " ⚠ $(mvar "$i" HOST):${out%%$'\n'*}" ;; esac
73
+ SYS_HOSTNAMES+=("$(printf '%s\n' "$out" | tail -1)")
74
+ done
75
+ if [ "$(printf '%s\n' "${SYS_HOSTNAMES[@]}" | sort -u | wc -l)" -lt "$MACHINE_COUNT" ]; then
76
+ log "⚠ 系统 hostname 有重复(${SYS_HOSTNAMES[*]})——裸机批次常见;k3s 一律用唯一 --node-name 注册,不依赖系统名(Phase 1b etcd 撞名教训)"
77
+ fi
78
+
79
+ # region=auto:从目标机(不是操作员机)探测网络亲和
80
+ if [ "$REGION" = "auto" ]; then
81
+ REGION=$(rsudo 0 <<'EOF'
82
+ a=$(curl -m3 -so /dev/null -w '%{time_total}' https://mirrors.aliyun.com 2>/dev/null || echo 99)
83
+ b=$(curl -m3 -so /dev/null -w '%{time_total}' https://registry.npmjs.org 2>/dev/null || echo 99)
84
+ awk -v a="$a" -v b="$b" 'BEGIN{print (a<b)?"cn":"global"}'
85
+ EOF
86
+ )
87
+ log "region=auto → $REGION(目标机探测)"
88
+ fi
89
+
90
+ # ── 1. k3s HA ────────────────────────────────────────────────────────────────────
91
+ # 每台的 --node-ip:private_ip 优先(东西向走 VLAN);NodePort 限私网段;servicelb 关(入口=外部 LB)
92
+ k3s_install_env() { # k3s 安装的 region 化(cn 走 rancher 国内镜像)
93
+ if [ "$REGION" = "cn" ]; then printf 'INSTALL_K3S_MIRROR=cn '; fi
94
+ }
95
+ node_flags() { # node_flags <i> → 该机的 k3s server 通用 flag(字段已在 parser 层严格校验)
96
+ local i="$1" ip cidr flags=""
97
+ ip="$(mvar "$i" PRIVATE_IP)"; [ -z "$ip" ] && ip="$(mvar "$i" HOST)"
98
+ flags="--node-name $(mvar "$i" NAME) --node-ip $ip --advertise-address $ip --disable servicelb"
99
+ # NodePort 限网段:private_cidr 显式优先;IPv4 才推断 /24;FQDN/IPv6 不加(全监听,由外层防火墙管)
100
+ cidr="$(mvar "$i" PRIVATE_CIDR)"
101
+ if [ -z "$cidr" ] && [[ "$ip" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then cidr="${ip%.*}.0/24"; fi
102
+ [ -n "$cidr" ] && flags="$flags --kube-proxy-arg nodeport-addresses=$cidr"
103
+ printf '%s' "$flags"
104
+ }
105
+ K3S0_IP="$(mvar 0 PRIVATE_IP)"; [ -z "$K3S0_IP" ] && K3S0_IP="$(mvar 0 HOST)"
106
+
107
+ if rsudo 0 <<<'test -f /usr/local/bin/k3s && systemctl is-active --quiet k3s' 2>/dev/null; then
108
+ log "1/8 k3s 首节点已在跑,跳过安装"
109
+ else
110
+ log "1/8 k3s 首节点($(mvar 0 NAME) @ $(mvar 0 HOST))"
111
+ rsudo 0 <<EOF
112
+ set -e
113
+ curl -sfL https://get.k3s.io | $(k3s_install_env)INSTALL_K3S_CHANNEL=$K3S_CHANNEL \
114
+ INSTALL_K3S_EXEC="server --cluster-init $(node_flags 0)" sh -
115
+ EOF
116
+ fi
117
+ TOKEN="$(rsudo 0 <<<'cat /var/lib/rancher/k3s/server/node-token')" || die "读不到 k3s node-token"
118
+ for ((i=1; i<MACHINE_COUNT; i++)); do
119
+ if rsudo "$i" <<<'test -f /usr/local/bin/k3s && systemctl is-active --quiet k3s' 2>/dev/null; then
120
+ # 活着 ≠ 属于本集群:被复用的机器可能挂在别的集群上,静默跳过=幽灵成员
121
+ if rsudo 0 <<<"k3s kubectl get node $(mvar "$i" NAME) --no-headers >/dev/null 2>&1"; then
122
+ log "1/8 节点 $(mvar "$i" NAME) 已是本集群成员,跳过"
123
+ continue
124
+ fi
125
+ die "机器 $(mvar "$i" HOST) 上 k3s 在跑但不是本集群成员($(mvar "$i" NAME) 不在)——先在该机跑 k3s-uninstall.sh 再重来"
126
+ fi
127
+ log "1/8 加入节点 $(mvar "$i" NAME) @ $(mvar "$i" HOST)"
128
+ rsudo "$i" <<EOF
129
+ set -e
130
+ curl -sfL https://get.k3s.io | $(k3s_install_env)INSTALL_K3S_CHANNEL=$K3S_CHANNEL \
131
+ K3S_TOKEN='$TOKEN' INSTALL_K3S_EXEC="server --server https://$K3S0_IP:6443 $(node_flags "$i")" sh -
132
+ EOF
133
+ done
134
+ # Ready 等待(embedded etcd 首次选主可能要 ~1min)
135
+ rsudo 0 <<EOF || die "k3s 节点未全 Ready"
136
+ set -e
137
+ for t in \$(seq 1 60); do
138
+ n=\$(k3s kubectl get nodes --no-headers 2>/dev/null | grep -cw Ready || true)
139
+ [ "\$n" -ge "$MACHINE_COUNT" ] && { k3s kubectl get nodes -o wide; exit 0; }
140
+ sleep 5
141
+ done
142
+ k3s kubectl get nodes -o wide; exit 1
143
+ EOF
144
+
145
+ # ── 2. VXLAN 守卫(有公网口的机器:flannel 8472 只许私网,公网口 DROP;systemd 常驻,
146
+ # k3s 重装会重置 iptables——unit 常驻保证 reboot/重装后规则还在)────────────────
147
+ log "2/8 VXLAN 公网口守卫"
148
+ for ((i=0; i<MACHINE_COUNT; i++)); do
149
+ iface="$(mvar "$i" PUBLIC_IFACE)"; [ -z "$iface" ] && continue
150
+ rsudo "$i" <<EOF
151
+ set -e
152
+ cat > /etc/systemd/system/sema-vxlan-guard.service <<'UNIT'
153
+ [Unit]
154
+ Description=Drop flannel VXLAN on public iface (sema isolation invariant)
155
+ After=network-online.target k3s.service
156
+ [Service]
157
+ Type=oneshot
158
+ RemainAfterExit=yes
159
+ ExecStart=/bin/sh -c 'iptables -C INPUT -i $iface -p udp --dport 8472 -j DROP 2>/dev/null || iptables -I INPUT -i $iface -p udp --dport 8472 -j DROP'
160
+ [Install]
161
+ WantedBy=multi-user.target
162
+ UNIT
163
+ systemctl daemon-reload && systemctl enable --now sema-vxlan-guard.service
164
+ iptables -C INPUT -i $iface -p udp --dport 8472 -j DROP
165
+ EOF
166
+ log " $(mvar "$i" NAME):8472/udp DROP on $iface ✓"
167
+ done
168
+
169
+ # ── 3. helm(装配工具,仅首节点)────────────────────────────────────────────────
170
+ log "3/8 helm + 基础组件"
171
+ rsudo 0 <<'EOF'
172
+ set -e
173
+ command -v helm >/dev/null && exit 0
174
+ curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash >/dev/null
175
+ EOF
176
+ KC="--kubeconfig /etc/rancher/k3s/k3s.yaml"
177
+
178
+ # Longhorn(分布式存储;replica 数=min(机器数,2)——RAID1 之上跨机冗余)
179
+ LH_REPLICAS=$(( MACHINE_COUNT < 2 ? 1 : 2 ))
180
+ rsudo 0 <<EOF
181
+ set -e
182
+ if ! k3s kubectl get storageclass longhorn >/dev/null 2>&1; then
183
+ helm $KC repo add longhorn https://charts.longhorn.io >/dev/null
184
+ helm $KC repo update >/dev/null
185
+ # ⚠ defaultSettings.* 必须 --set-string(chart 模板校验字符串型,int 直接 install 失败——真踩);
186
+ # upgrade --install:半途失败的 release 重跑可修复(裸 install 会撞已存在)
187
+ helm $KC upgrade --install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace \
188
+ --version $LONGHORN_VERSION --set-string defaultSettings.defaultReplicaCount=$LH_REPLICAS \
189
+ --set persistence.defaultClassReplicaCount=$LH_REPLICAS --wait --timeout 10m >/dev/null
190
+ fi
191
+ # longhorn=默认 SC,local-path 摘掉 default 标(两个 default 会让 PVC 行为不定)
192
+ k3s kubectl patch storageclass local-path -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}' >/dev/null 2>&1 || true
193
+ k3s kubectl patch storageclass longhorn -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' >/dev/null
194
+ echo LONGHORN_OK
195
+ EOF
196
+
197
+ # kata-deploy(官方 helm chart;kustomize remote base 老路径已失效——真踩)
198
+ log "4/8 kata-deploy(VM 沙箱运行时)"
199
+ rsudo 0 <<EOF
200
+ set -e
201
+ k3s kubectl get runtimeclass kata-qemu >/dev/null 2>&1 && { echo KATA_ALREADY; exit 0; }
202
+ helm $KC upgrade --install kata-deploy oci://ghcr.io/kata-containers/kata-deploy-charts/kata-deploy \
203
+ --version $KATA_VERSION --namespace kube-system --set k8sDistribution=k3s --wait --timeout 10m >/dev/null
204
+ for t in \$(seq 1 36); do k3s kubectl get runtimeclass kata-qemu >/dev/null 2>&1 && break; sleep 5; done
205
+ k3s kubectl get runtimeclass kata-qemu >/dev/null
206
+ echo KATA_OK
207
+ EOF
208
+
209
+ # CNPG operator(钉 $CNPG_VERSION)
210
+ log "5/8 CNPG operator $CNPG_VERSION"
211
+ rsudo 0 <<EOF
212
+ set -e
213
+ if ! k3s kubectl get deployment -n cnpg-system cnpg-controller-manager >/dev/null 2>&1; then
214
+ # 组件刚装完 apiserver 聚合 openapi 可能未就绪(瞬时 "unable to handle the request")——重试非降级
215
+ ok=0
216
+ for t in 1 2 3 4 5; do
217
+ k3s kubectl apply --server-side -f \
218
+ "https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/release-${CNPG_VERSION%.*}/releases/cnpg-$CNPG_VERSION.yaml" >/dev/null && { ok=1; break; }
219
+ sleep 15
220
+ done
221
+ [ "\$ok" = 1 ] || { echo "CNPG manifest apply 重试耗尽" >&2; exit 1; }
222
+ fi
223
+ k3s kubectl rollout status deployment/cnpg-controller-manager -n cnpg-system --timeout=300s >/dev/null
224
+ echo CNPG_OK
225
+ EOF
226
+
227
+ # ── 6. server 镜像:registry 引用 or tar 预灌 ─────────────────────────────────────
228
+ log "6/8 server 镜像"
229
+ SERVER_IMAGE="" PULL_POLICY=""
230
+ if [ -n "${SEMA_SERVER_IMAGE:-}" ]; then
231
+ SERVER_IMAGE="$SEMA_SERVER_IMAGE"; PULL_POLICY="IfNotPresent"
232
+ log " registry 引用:$SERVER_IMAGE(节点自行拉取)"
233
+ elif [ -n "${SEMA_SERVER_IMAGE_TAR:-}" ]; then
234
+ [ -r "$SEMA_SERVER_IMAGE_TAR" ] || die "SEMA_SERVER_IMAGE_TAR 不可读:$SEMA_SERVER_IMAGE_TAR"
235
+ SERVER_IMAGE="docker.io/library/sema-server:local"; PULL_POLICY="Never"
236
+ for ((i=0; i<MACHINE_COUNT; i++)); do
237
+ # ⚠ 每台都灌,包括"看起来已有"的——k3s-uninstall 重装过的节点镜像会被清(复审真抓)
238
+ log " 预灌 $(mvar "$i" NAME) …"
239
+ mscp "$i" "$SEMA_SERVER_IMAGE_TAR" /tmp/sema-server-image.tar.upload
240
+ rsudo "$i" <<'EOF'
241
+ set -e
242
+ trap 'rm -f /tmp/sema-server-image.tar.upload /tmp/sema-server-image.tar' EXIT
243
+ f=/tmp/sema-server-image.tar.upload
244
+ case "$(head -c2 "$f" | od -An -tx1 | tr -d ' ')" in 1f8b) gunzip -c "$f" > /tmp/sema-server-image.tar && f=/tmp/sema-server-image.tar ;; esac
245
+ k3s ctr images import "$f" >/dev/null
246
+ k3s ctr images ls | grep -q sema-server
247
+ EOF
248
+ done
249
+ else
250
+ die "需要 SEMA_SERVER_IMAGE(registry 引用)或 SEMA_SERVER_IMAGE_TAR(docker save 包)之一"
251
+ fi
252
+
253
+ # ── 6b. 私有 registry 拉取凭据(可选。SWR 已弃用 2026-07-13:现行镜像池=docker.io/claybobby 公开仓、
254
+ # sema-server=ghcr.io/clayboby/sema-server,均 public 匿名可拉,CN 兜底=内网 Gitea registry——
255
+ # 公开池部署本步冗余无害,regcred 仅在镜像换成 private 仓时才需要;未设 env 即整段跳过)──
256
+ # 凭据只走 env:IMAGE_PULL_USER + IMAGE_PULL_TOKEN(+可选 IMAGE_PULL_REGISTRY,默认 Docker Hub)。
257
+ # 值不进仓、不进 argv(/proc cmdline 同机可见——渲染同款纪律):dockerconfigjson 本地拼好经 stdin apply。
258
+ # secret 建在 sema + sema-sandbox 两个 ns 并 patch default SA 的 imagePullSecrets:
259
+ # - sema:server Deployment(default SA)拉 private 仓镜像(现行 GHCR/Hub 公开镜像无需凭据);
260
+ # - sema-sandbox:server 经 API 起的沙箱 pod(K8S_SANDBOX_IMAGE 换成 private 池镜像时)免改 adapter。
261
+ # ⚠ SA 的 imagePullSecrets 在 pod 创建时快照——先建 secret/patch SA,再 apply 栈(顺序有意)。
262
+ if [ -n "${IMAGE_PULL_USER:-}" ] && [ -n "${IMAGE_PULL_TOKEN:-}" ]; then
263
+ log "6b/8 imagePullSecret(registry=${IMAGE_PULL_REGISTRY:-https://index.docker.io/v1/})"
264
+ for ns in sema sema-sandbox; do
265
+ rrun 0 k3s kubectl create namespace "$ns" --dry-run=client -o yaml | rrun 0 k3s kubectl apply -f - >/dev/null
266
+ # helm adoption:chart 声明 Namespace/sema-sandbox——6b 先建了它,不打 helm 属主标记
267
+ # 的话 `helm upgrade --install` 拒绝接管(fresh helm 装直接失败)。render 路径不受影响(仅 helm 时打)。
268
+ if [ "$ns" = sema-sandbox ] && [ "${STACK_ENGINE:-render}" = "helm" ]; then
269
+ rrun 0 k3s kubectl label ns "$ns" app.kubernetes.io/managed-by=Helm --overwrite >/dev/null
270
+ rrun 0 k3s kubectl annotate ns "$ns" meta.helm.sh/release-name=sema-stack meta.helm.sh/release-namespace=sema --overwrite >/dev/null
271
+ fi
272
+ IPS_NS="$ns" IPS_REG="${IMAGE_PULL_REGISTRY:-https://index.docker.io/v1/}" \
273
+ IPS_USER="$IMAGE_PULL_USER" IPS_TOKEN="$IMAGE_PULL_TOKEN" python3 - <<'PY' | rrun 0 k3s kubectl apply -f - >/dev/null
274
+ import base64, json, os
275
+ u, p = os.environ["IPS_USER"], os.environ["IPS_TOKEN"]
276
+ cfg = {"auths": {os.environ["IPS_REG"]: {"username": u, "password": p,
277
+ "auth": base64.b64encode(f"{u}:{p}".encode()).decode()}}}
278
+ b64 = base64.b64encode(json.dumps(cfg).encode()).decode()
279
+ print(json.dumps({"apiVersion": "v1", "kind": "Secret", "type": "kubernetes.io/dockerconfigjson",
280
+ "metadata": {"name": "sema-regcred", "namespace": os.environ["IPS_NS"]},
281
+ "data": {".dockerconfigjson": b64}}))
282
+ PY
283
+ # default SA 由 ns 控制器异步建——等它出现再 patch(幂等)
284
+ rsudo 0 <<EOF
285
+ set -e
286
+ for t in \$(seq 1 12); do k3s kubectl get sa default -n $ns >/dev/null 2>&1 && break; sleep 5; done
287
+ k3s kubectl patch sa default -n $ns -p '{"imagePullSecrets":[{"name":"sema-regcred"}]}' >/dev/null
288
+ EOF
289
+ done
290
+ elif [ -n "${IMAGE_PULL_USER:-}${IMAGE_PULL_TOKEN:-}" ]; then
291
+ die "IMAGE_PULL_USER/IMAGE_PULL_TOKEN 只给了一个——两个都要(或都不给=公共镜像)"
292
+ fi
293
+
294
+ # ── 7. sema-stack 装配:helm chart(STACK_ENGINE=helm)或渲染 apply(默认,as-built)──
295
+ # chart/ 与 stack/sema-stack-cluster.yaml 同构(对象名一致,可从存量 adoption);helm 路径
296
+ # 验收等价后再翻默认。
297
+ log "7/8 sema-stack 渲染+apply(engine=${STACK_ENGINE:-render})"
298
+ : "${MODEL_GATEWAY_BASEURL:?模型面必需(--gateway)}"; : "${MODEL_ID:?模型面必需(--model)}"
299
+ ENVF="$WORK/.env"; touch "$ENVF"; chmod 600 "$ENVF"
300
+ setk() { grep -q "^$1=" "$ENVF" || printf '%s=%s\n' "$1" "$2" >> "$ENVF"; }
301
+ setk MINIO_PASSWORD "$(openssl rand -hex 24)"
302
+ setk SERVICE_AUTH_TOKEN "$(openssl rand -hex 24)"
303
+ # openssl 失败会被 $() 吞成空串写进 .env(set -e 不管参数位替换)——断言长度,fail-loud
304
+ for k in MINIO_PASSWORD SERVICE_AUTH_TOKEN; do
305
+ grep -q "^$k=.\{32,\}$" "$ENVF" || die "$k 生成失败(openssl rand?)——检查 $ENVF"
306
+ done
307
+ . "$ENVF"
308
+ [ -n "${MODEL_API_KEY:-}" ] || die "需要 MODEL_API_KEY(-f 配置或 --model-key)"
309
+ # PG 实例数/反亲和/副本数按机器数缩放(<3 机=dev:preferred,required 会永久 Pending)
310
+ PG_INSTANCES=$(( MACHINE_COUNT >= 3 ? 3 : MACHINE_COUNT ))
311
+ PG_AA=$([ "$MACHINE_COUNT" -ge 3 ] && echo required || echo preferred)
312
+ SERVER_REPLICAS=$(( MACHINE_COUNT >= 3 ? 3 : 2 ))
313
+ if [ "${STACK_ENGINE:-render}" = "helm" ]; then
314
+ # ── helm 路径:chart tar 经 stdin 上载(不落敏感值;chart 本身无凭据),values 本地生成
315
+ # (umask 077)经 stdin 给 helm -f -(凭据不进 argv、不落远端盘——与渲染路径同纪律)──
316
+ tar -C "$HERE" -czf - chart | mssh 0 'rm -rf /tmp/sema-stack-chart && mkdir -p /tmp/sema-stack-chart && tar xzf - -C /tmp/sema-stack-chart'
317
+ VALSF="$WORK/sema-stack-values.yaml"
318
+ ( umask 077
319
+ V_MINIO_PW="$MINIO_PASSWORD" V_SVC_TOKEN="$SERVICE_AUTH_TOKEN" V_MODEL_KEY="$MODEL_API_KEY" \
320
+ V_MODEL_GATEWAY="$MODEL_GATEWAY_BASEURL" V_MODEL_ID="$MODEL_ID" \
321
+ V_SERVER_IMAGE="$SERVER_IMAGE" V_PULL_POLICY="$PULL_POLICY" \
322
+ V_PKG_SOURCE="$([ "$REGION" = "global" ] && echo global || echo '')" \
323
+ V_PG_INSTANCES="$PG_INSTANCES" V_PG_AA="$PG_AA" V_REPLICAS="$SERVER_REPLICAS" \
324
+ python3 - > "$VALSF" <<'PY'
325
+ import json, os
326
+ e = os.environ
327
+ # json 是合法 yaml;json.dumps 对任意凭据字符安全(引号/反斜杠/换行都正确转义)
328
+ print(json.dumps({
329
+ "pg": {"instances": int(e["V_PG_INSTANCES"]), "antiAffinity": e["V_PG_AA"]},
330
+ "minio": {"rootPassword": e["V_MINIO_PW"]},
331
+ "server": {
332
+ "image": e["V_SERVER_IMAGE"], "pullPolicy": e["V_PULL_POLICY"],
333
+ "replicas": int(e["V_REPLICAS"]), "serviceAuthToken": e["V_SVC_TOKEN"],
334
+ "modelGatewayBaseurl": e["V_MODEL_GATEWAY"], "modelId": e["V_MODEL_ID"],
335
+ "modelApiKey": e["V_MODEL_KEY"], "sandboxPkgSource": e["V_PKG_SOURCE"],
336
+ },
337
+ # chart 0.3.0 起 registry.enabled 默认 true(单机档语义)——machines 多机路径的 registry/git
338
+ # 面还没接线,必须显式关,不然 helm 撞 registry.image required(2026-07-12 自查)
339
+ "registry": {"enabled": False},
340
+ "gitea": {"enabled": False},
341
+ }))
342
+ PY
343
+ )
344
+ [ -s "$VALSF" ] || die "helm values 生成失败"
345
+ # 失败也删 values 文件(die 在 rm 之前退出会把含 MODEL_API_KEY 的 0600 文件留在 WORK)
346
+ rrun 0 helm --kubeconfig /etc/rancher/k3s/k3s.yaml upgrade --install sema-stack \
347
+ /tmp/sema-stack-chart/chart -n sema --create-namespace -f - < "$VALSF" >/dev/null \
348
+ || { rm -f "$VALSF"; die "helm upgrade --install sema-stack 失败"; }
349
+ rm -f "$VALSF"
350
+ rrun 0 rm -rf /tmp/sema-stack-chart
351
+ else
352
+ RENDERED="$WORK/sema-stack-cluster.rendered.yaml"
353
+ # python 逐字替换而非 sed:①密钥/URL 含 & | \ 时 sed 会注入/静默毁 YAML
354
+ # ②值走 env 不走 argv(/proc/*/cmdline 对同机进程可见)。占位符缺值=fail-loud。
355
+ ( umask 077
356
+ R_MINIO_PW="$MINIO_PASSWORD" R_SVC_TOKEN="$SERVICE_AUTH_TOKEN" R_MODEL_KEY="$MODEL_API_KEY" \
357
+ R_MODEL_GATEWAY="$MODEL_GATEWAY_BASEURL" R_MODEL_ID="$MODEL_ID" \
358
+ R_SERVER_IMAGE="$SERVER_IMAGE" R_PULL_POLICY="$PULL_POLICY" \
359
+ R_PKG_SOURCE="$([ "$REGION" = "global" ] && echo global || echo '')" \
360
+ R_PG_INSTANCES="$PG_INSTANCES" R_PG_AA="$PG_AA" R_REPLICAS="$SERVER_REPLICAS" \
361
+ python3 - "$HERE/stack/sema-stack-cluster.yaml" > "$RENDERED" <<'PY'
362
+ import os, sys
363
+ MAP = {"__MINIO_PW__":"R_MINIO_PW", "__SVC_TOKEN__":"R_SVC_TOKEN", "__MODEL_KEY__":"R_MODEL_KEY",
364
+ "__MODEL_GATEWAY__":"R_MODEL_GATEWAY", "__MODEL_ID__":"R_MODEL_ID",
365
+ "__SERVER_IMAGE__":"R_SERVER_IMAGE", "__SERVER_PULL_POLICY__":"R_PULL_POLICY",
366
+ "__PKG_SOURCE__":"R_PKG_SOURCE", "__PG_INSTANCES__":"R_PG_INSTANCES",
367
+ "__PG_ANTI_AFFINITY__":"R_PG_AA", "__SERVER_REPLICAS__":"R_REPLICAS"}
368
+ t = open(sys.argv[1], encoding="utf-8").read()
369
+ for ph, env in MAP.items():
370
+ v = os.environ.get(env)
371
+ if v is None: raise SystemExit(f"渲染缺 {env}({ph})")
372
+ if any(c in v for c in "\n\"\\"): raise SystemExit(f"{env} 含 YAML 危险字符(换行/引号/反斜杠)")
373
+ t = t.replace(ph, v)
374
+ import re
375
+ left = sorted(set(re.findall(r"__[A-Z_]+__", t)))
376
+ if left: raise SystemExit(f"未渲染占位符残留: {left}")
377
+ sys.stdout.write(t)
378
+ PY
379
+ )
380
+ [ -s "$RENDERED" ] || die "sema-stack 渲染失败"
381
+ # 凭据清单经 stdin 直接 apply,不落远端盘(落 /tmp 失败时会残留)
382
+ rrun 0 k3s kubectl apply -f - < "$RENDERED" >/dev/null
383
+ fi
384
+ rsudo 0 <<'EOF'
385
+ set -e
386
+ # runner token 跨 ns 复制要赶在 server 起 pod 前(晚了=CreateContainerConfigError 干等——真踩);
387
+ # SA token secret 由控制器异步填充,先等它有值
388
+ TOK=""
389
+ for t in $(seq 1 24); do
390
+ TOK=$(k3s kubectl get secret sema-runner-token -n sema-sandbox -o jsonpath='{.data.token}' 2>/dev/null || true)
391
+ [ -n "$TOK" ] && break; sleep 5
392
+ done
393
+ [ -n "$TOK" ] || { echo "sema-runner-token 未被控制器填充" >&2; exit 1; }
394
+ k3s kubectl create secret generic sema-runner-token-copy -n sema --from-literal=token="$(printf '%s' "$TOK" | base64 -d)" \
395
+ --dry-run=client -o yaml | k3s kubectl apply -f - >/dev/null
396
+ # PG healthy(冷启拉镜像+init 可要几分钟)
397
+ for t in $(seq 1 120); do
398
+ s=$(k3s kubectl get cluster sema-pg -n sema -o jsonpath='{.status.phase}' 2>/dev/null || true)
399
+ [ "$s" = "Cluster in healthy state" ] && break; sleep 5
400
+ done
401
+ [ "$s" = "Cluster in healthy state" ] || { k3s kubectl get cluster -n sema; echo "PG 未达 healthy" >&2; exit 1; }
402
+ k3s kubectl rollout status deployment/sema-server -n sema --timeout=300s >/dev/null
403
+ # MinIO 建桶(备份桶+对象桶)
404
+ PW=$(k3s kubectl get secret sema-minio -n sema -o jsonpath='{.data.rootPassword}' | base64 -d)
405
+ k3s kubectl exec deploy/sema-minio -n sema -- sh -c \
406
+ "mc alias set local http://localhost:9000 sema '$PW' >/dev/null && mc mb --ignore-existing local/sema-pg-backup local/workspaces local/blobs" >/dev/null
407
+ echo STACK_OK
408
+ EOF
409
+
410
+ # ── 8. smoke(节点内经 NodePort;外网入口=LB 在云商侧配,打印指引)────────────────
411
+ log "8/8 smoke"
412
+ # NodePort 被 nodeport-addresses 钉在节点网段——loopback 不在其内,必须打 node-ip(真踩 curl exit 7)
413
+ SMOKE=$(rsudo 0 <<EOF
414
+ H=\$(curl -m5 -s -o /dev/null -w '%{http_code}' "http://$K3S0_IP:$NODEPORT/health" || echo 000)
415
+ A=\$(curl -m5 -s -o /dev/null -w '%{http_code}' "http://$K3S0_IP:$NODEPORT/v1/runs" || echo 000)
416
+ echo "health=\$H auth=\$A"
417
+ EOF
418
+ )
419
+ case "$SMOKE" in *"health=200 auth=401"*) : ;; *) die "smoke 失败:$SMOKE(期望 health=200 auth=401)" ;; esac
420
+ log "smoke ✓ $SMOKE"
421
+ cat >&2 <<EOF
422
+
423
+ ══════════ cluster-up 完成($MACHINE_COUNT 节点)══════════
424
+ 入口 NodePort $NODEPORT(限私网段)。公网入口在云商 LB 上配:
425
+ listener TCP:8090 → pool(每节点 private_ip:$NODEPORT,member 必带 subnet_id——Gcore 真踩)
426
+ 数据 CNPG sema-pg($PG_INSTANCES 实例,反亲和 $PG_AA)+ MinIO;WAL 归档+每日基备→ s3://sema-pg-backup/
427
+ (⚠ 若手工毁重建 PG:app secret 会换,必须 kubectl rollout restart deploy/sema-server)
428
+ 沙箱 kata-qemu runtimeclass(ns sema-sandbox,SA sema-runner)
429
+ 凭据 $ENVF(0600;SERVICE_AUTH_TOKEN=API 门)
430
+ 管理 ssh 隧道 6443(kubeconfig 在首节点 /etc/rancher/k3s/k3s.yaml,server 改 127.0.0.1)
431
+ ═══════════════════════════════════════════════════════════
432
+ EOF