@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
package/LICENSE ADDED
@@ -0,0 +1,102 @@
1
+ Business Source License 1.1
2
+
3
+ Parameters
4
+
5
+ Licensor: clay (github.com/clayboby)
6
+ Licensed Work: @sema-ai/server (sema-server)
7
+ The Licensed Work is (c) 2026 clay.
8
+ Additional Use Grant: You may make production use of the Licensed Work for
9
+ personal, educational, research, or other
10
+ non-commercial purposes. Commercial production use
11
+ requires a commercial license from the Licensor.
12
+ Change Date: 2030-07-13
13
+ Change License: Apache License, Version 2.0
14
+
15
+ For information about alternative licensing arrangements for the Licensed
16
+ Work, please contact the Licensor.
17
+
18
+ Notice
19
+
20
+ The Business Source License (this document, or the "License") is not an Open
21
+ Source license. However, the Licensed Work will eventually be made available
22
+ under an Open Source License, as stated in this License.
23
+
24
+ License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
25
+ "Business Source License" is a trademark of MariaDB Corporation Ab.
26
+
27
+ -----------------------------------------------------------------------------
28
+
29
+ Terms
30
+
31
+ The Licensor hereby grants you the right to copy, modify, create derivative
32
+ works, redistribute, and make non-production use of the Licensed Work. The
33
+ Licensor may make an Additional Use Grant, above, permitting limited
34
+ production use.
35
+
36
+ Effective on the Change Date, or the fourth anniversary of the first publicly
37
+ available distribution of a specific version of the Licensed Work under this
38
+ License, whichever comes first, the Licensor hereby grants you rights under
39
+ the terms of the Change License, and the rights granted in the paragraph
40
+ above terminate.
41
+
42
+ If your use of the Licensed Work does not comply with the requirements
43
+ currently in effect as described in this License, you must purchase a
44
+ commercial license from the Licensor, its affiliated entities, or authorized
45
+ resellers, or you must refrain from using the Licensed Work.
46
+
47
+ All copies of the original and modified Licensed Work, and derivative works
48
+ of the Licensed Work, are subject to this License. This License applies
49
+ separately for each version of the Licensed Work and the Change Date may vary
50
+ for each version of the Licensed Work released by Licensor.
51
+
52
+ You must conspicuously display this License on each original or modified copy
53
+ of the Licensed Work. If you receive the Licensed Work in original or
54
+ modified form from a third party, the terms and conditions set forth in this
55
+ License apply to your use of that work.
56
+
57
+ Any use of the Licensed Work in violation of this License will automatically
58
+ terminate your rights under this License for the current and all other
59
+ versions of the Licensed Work.
60
+
61
+ This License does not grant you any right in any trademark or logo of
62
+ Licensor or its affiliates (provided that you may use a trademark or logo of
63
+ Licensor as expressly required by this License).
64
+
65
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
66
+ AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
67
+ EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
68
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
69
+ TITLE.
70
+
71
+ MariaDB hereby grants you permission to use this License's text to license
72
+ your works, and to refer to it using the trademark "Business Source License",
73
+ as long as you comply with the Covenants of Licensor below.
74
+
75
+ Covenants of Licensor
76
+
77
+ In consideration of the right to use this License's text and the "Business
78
+ Source License" name and trademark, Licensor covenants to MariaDB, and to all
79
+ other recipients of the licensed work to be provided by Licensor:
80
+
81
+ 1. To specify as the Change License the GPL Version 2.0 or any later version,
82
+ or a license that is compatible with GPL Version 2.0 or a later version,
83
+ where "compatible" means that software provided under the Change License can
84
+ be included in a program with software provided under GPL Version 2.0 or a
85
+ later version. Licensor may specify additional Change Licenses without
86
+ limitation.
87
+
88
+ 2. To either: (a) specify an additional grant of rights to use that does not
89
+ impose any additional restriction on the right granted in this License, as
90
+ the Additional Use Grant; or (b) insert the text "None".
91
+
92
+ 3. To specify a Change Date.
93
+
94
+ 4. Not to modify this License in any other way.
95
+
96
+ -----------------------------------------------------------------------------
97
+
98
+ Third-party notices
99
+
100
+ Versions of this package up to and including 1.180.1 were published under the
101
+ MIT License; those published copies remain governed by the license they were
102
+ distributed under.
package/README.md ADDED
@@ -0,0 +1,207 @@
1
+ # @sema-agent/server
2
+
3
+ **Sema Server** 是 Sema 的服务端/API 实现层 —— 连接 core、registry、模型 provider、以及云端 agent 运行能力。
4
+
5
+ ## 快速开始(公开分发)
6
+
7
+ ```bash
8
+ # A) npm(需 node 22+)
9
+ npm install @sema-agent/server
10
+ MODEL_GATEWAY_BASEURL=https://api.deepseek.com MODEL_ID=deepseek-chat \
11
+ MODEL_API_KEY=<你的-key> SERVICE_AUTH_TOKEN=<自定> \
12
+ node node_modules/@sema-agent/server/dist/main.js # → :8090
13
+
14
+ # B) 容器(零依赖,匿名可拉)
15
+ docker run -p 8090:8090 \
16
+ -e MODEL_GATEWAY_BASEURL=https://api.deepseek.com -e MODEL_ID=deepseek-chat \
17
+ -e MODEL_API_KEY=<你的-key> -e SERVICE_AUTH_TOKEN=<自定> \
18
+ ghcr.io/clayboby/sema-server:latest # 或 docker.io/claybobby/sema-server:latest
19
+
20
+ # 提交一个任务
21
+ curl -s localhost:8090/v1/tasks -H "Authorization: Bearer <SERVICE_AUTH_TOKEN>" \
22
+ -H 'content-type: application/json' -d '{"objective":"用一句话回答:1+1 等于几?"}'
23
+ # 带指定模型:body 加 "model":"<catalog id>";可用模型见 GET /v1/capabilities
24
+ ```
25
+
26
+ - **一键部署**(DB+MinIO+registry 网站+沙箱池,docker/k8s 双路径):独立仓
27
+ [`clayboby/sema-deploy`](https://github.com/clayboby/sema-deploy)。
28
+ - **分发坐标**:npm=`@sema-agent/server`(npmjs 公开)· 镜像=`ghcr.io/clayboby/sema-server` +
29
+ `docker.io/claybobby/sema-server`(均 public,`:latest` 滚动 / `:<sha>` 钉版)。
30
+ - **版本策略**:1.x=快速迭代期,BREAKING 变更可能落在 minor(见 [`MIGRATION.md`](MIGRATION.md))——
31
+ **生产部署请锁精确版本**(`@sema-agent/server@1.184.0`);GA 后切 2.0 起严格 semver。
32
+ - **许可**:[BUSL-1.1](LICENSE)(个人/教育/研究/非商用生产随意;**商用生产需商业授权**;
33
+ 2030-07-13 起自动转 Apache-2.0)。≤1.180.1 的已发布副本仍受其发布时的 MIT 约束。
34
+ - **沙箱装包源**:缺省=官方源(pypi/npmjs/crates.io/…,海外为准)。中国大陆部署配
35
+ `SANDBOX_PKG_SOURCE=cn` 切国内镜像源(tuna/npmmirror/rsproxy/aliyun),自定义源用
36
+ `SANDBOX_PKG_SOURCE=custom` + `SEMA_*_MIRROR/INDEX/REGISTRY` 显式 URL。
37
+
38
+ 中心化、容器化的 **Managed-Agents 服务**,构建于 [`@sema-agent/core`](https://www.npmjs.com/package/@sema-agent/core)。
39
+
40
+ - **它是什么**:一个**无状态的 runner 服务**(Brain 平面 + HTTP/SSE 契约)。`docker run` 即起一个,可多开。
41
+ - **它不是什么**:不是持久化中心。**真相/记忆在外部 TiDB**(Session 事件日志 L1 + 长期记忆 L2)。容器是手脚,TiDB 是记忆。
42
+ - 与 core 的关系:core 是 npm 依赖(出机制+接口),本仓出部署物+后端插件+服务契约。**两仓路线图分开维护**(见 `design/ROADMAP.md`)。
43
+
44
+ > 架构依据(三平面解耦 brain/hands/session、多层记忆 L0-L3)见 core 仓库 `design/00-03`。
45
+
46
+ > 🧭 **接手/最新真相(2026-06-15 架构师交叉验证)**:从代码反推、纠正了过时文档。先读 **[`HANDOFF.md`](HANDOFF.md)**(单一入口),它索引到:
47
+ > [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)(架构+图)· [`docs/ROADMAP.md`](docs/ROADMAP.md)(前瞻路线)· [`docs/ORCHESTRATION-STATUS.md`](docs/ORCHESTRATION-STATUS.md)(编排矩阵+效果)·
48
+ > [`docs/SERVICE-AI-GUIDE.md`](docs/SERVICE-AI-GUIDE.md)(对外使用+重点分析)· [`docs/REFERENCES.md`](docs/REFERENCES.md)(论文文献)· [`docs/DOC-CORRECTIONS.md`](docs/DOC-CORRECTIONS.md)(文档修正项+证据)· [`BUG-LEDGER.md`](BUG-LEDGER.md)(当前 bug 台账)。
49
+ > **当前版本 = service `1.1.0` / core `^1.99.1`**;**v2 leader 编排器已建成并接线**(`LEADER_ENABLED`,默认关),不再 HOLD。
50
+
51
+ ## 跑起来(本地 dev)
52
+
53
+ ```bash
54
+ cp .npmrc.example .npmrc # 填一个 read:package 的 Gitea token,用于装 @sema-agent/core
55
+ npm install
56
+ MODEL_GATEWAY_BASEURL=http://127.0.0.1:8000/v1 MODEL_ID=Qwen3.5-35B npm run dev
57
+ # → POST /v1/tasks · POST /v1/tasks/stream (SSE) · GET /health
58
+ ```
59
+
60
+ ```bash
61
+ curl -s localhost:8090/health
62
+ curl -s localhost:8090/v1/tasks -H 'content-type: application/json' \
63
+ -d '{"objective":"用一句话自我介绍"}'
64
+ ```
65
+
66
+ ## Docker(运行时 = **Bun**)
67
+
68
+ 镜像用 Bun **直接跑 TypeScript**(无 build/transpile,冷启动快、无 dist)。token 仅在构建装依赖阶段用,**不进终镜像**(多阶段)。
69
+
70
+ ```bash
71
+ # 直接 build/run
72
+ docker build --build-arg GITEA_NPM_TOKEN=<read:package token> -t sema-server .
73
+ docker run -p 8090:8090 \
74
+ -e MODEL_GATEWAY_BASEURL=http://127.0.0.1:8000/v1 -e MODEL_ID=Qwen3.5-35B \
75
+ -e DB_BACKEND=mysql -e MYSQL_HOST=... -e MYSQL_USER=... -e MYSQL_PASSWORD=... -e MYSQL_DATABASE=sema_server \
76
+ -e SERVICE_AUTH_TOKEN=xxx sema-server
77
+
78
+ # 或 compose:一条命令起「LB + worker 集群」。OA 只认 LB 一个地址 http://<host>:8090
79
+ GITEA_NPM_TOKEN=<read:package token> TIDB_HOST=... TIDB_USER=... TIDB_PASSWORD=... docker compose up --build
80
+ docker compose up --build --scale service=4 # 4 个无状态 worker,nginx LB 扇发,TiDB 协调
81
+ # 本地 throwaway TiDB:加 -e TIDB_HOST=tidb 并 `docker compose --profile localdb up --build`
82
+ ```
83
+
84
+ > **拓扑**:没有单独的"中心化调度 API"。**中心化 = TiDB(数据)**;**统一入口 = LB(`deploy/nginx.conf`)**;worker 无状态可多开,跨 worker 靠 TiDB 协调(`task_active` 抢占防双跑、session CAS、事件日志重放、心跳+reaper),**无中央大脑**。任意 worker 都能服务任意 run 的 `/v1/runs/:id/events`(断线重连经 LB 落到别的 worker 也能接上)。
85
+
86
+ > ⚠️ **大陆拉不动 Docker Hub**:基础镜像 `oven/bun:1-slim` 走 Docker Hub,大陆常连不上。三种解法:
87
+ > 1. `--build-arg BUN_IMAGE=<镜像站>/oven/bun:1-slim`(或 compose:`BUN_IMAGE=… docker compose build`);
88
+ > 2. 配 dockerd `registry-mirrors`,让 `oven/bun:1-slim` 自动走镜像站;
89
+ > 3. **推荐(一次镜像,处处可用)**:在能访问 Docker Hub 的机器上跑 `deploy/mirror-base-images.sh`,把 bun-slim + nginx-alpine(+可选 tidb)一把镜像进你的内网 registry,之后所有构建/部署都 `--build-arg BUN_IMAGE=…/bun:1-slim`、compose `LB_IMAGE=…/nginx:1.27-alpine`,再不碰 Docker Hub。脚本顶部有用法。
90
+
91
+ CI:`.gitea/workflows/ci.yml`(Node 跑确定性测试 → 构建 Bun 镜像 → 推 Gitea registry)。
92
+ > 镜像基底默认 `oven/bun:1-slim`(`ARG BUN_IMAGE` 可覆盖);要更小可换 `oven/bun:1-distroless`(无 shell,用编排层 `httpGet /health` 探针)或后续 `bun build --compile` 出单二进制(待验证)。
93
+
94
+ ## 配置(env)
95
+
96
+ | 变量 | 默认 | 说明 |
97
+ |------|------|------|
98
+ | `PORT` | 8090 | 监听端口 |
99
+ | `MODEL_GATEWAY_BASEURL` | http://127.0.0.1:8000/v1 | OpenAI 兼容网关(不带 /chat/completions) |
100
+ | `MODEL_ID` | Qwen3.5-35B | 模型 id |
101
+ | `MODEL_API_KEY` | — | 网关 key(可选) |
102
+ | `DB_BACKEND` | mysql | SQL 引擎:`mysql`(任何 MySQL 协议库:MySQL/TiDB/MariaDB;`tidb` 为兼容别名)/ `pg`(PostgreSQL)/ `local`(免 DB 文件持久化)。**显式设置 mysql/pg 时 session 自动转 durable(2026-07-06 收编)** |
103
+ | `SESSION_BACKEND` | memory* | `memory` / `mysql`(durable L1 中心;`tidb` 别名)/ `auto`(探测 DB host,连不上退 memory)。*显式 `DB_BACKEND=mysql/pg` 时默认转 durable |
104
+ | `MEMORY_ENGINE` / `MEMORY_ENGINE_DIR` | on / `~/.ai-agent` | 长期记忆 = core 注入式**文件记忆引擎**(design/138;单用户默认开,`off` 显式关;多租户恒关)。旧 `MEMORY_BACKEND`/`EMBEDDING_*` SQL 记忆面已退役(数据不迁移,升级后跑 `scripts/drop-memory-tables.sql`) |
105
+ | `MYSQL_HOST/PORT/USER/PASSWORD/DATABASE` | — | MySQL 协议连接(`TIDB_*` 同名别名仍认;缺省端口:MYSQL_HOST→3306,TIDB_HOST→4000) |
106
+ | `SESSION_CACHE_TTL_SEC` | 300 | warm 缓存 idle TTL(需会话亲和);0 关 |
107
+ | `SERVICE_AUTH_TOKEN` | — | 调用方需带 `Authorization: Bearer <token>` |
108
+ | `PRINCIPAL_HEADER` / `REQUIRE_PRINCIPAL` | `x-agent-principal` / false | S6 身份头 / 多租户生产置 true |
109
+ | `APPROVAL_REQUIRE` / `APPROVAL_DENY` / `APPROVAL_TIMEOUT_SEC` | — / — / 0 | F4 审批门控工具名 / 永拒 / 待审超时 |
110
+ | `RATE_LIMIT_RPM` | 0 | 每 principal 每分钟请求上限(task/run 端点);0 关 |
111
+ | `REAP_RUN_STALE_SEC` / `REAP_INTERVAL_SEC` | 120 / 60 | run 心跳超此判僵尸(须 > 30s 心跳;启动断言)/ reaper 周期 |
112
+ | `LOG_LEVEL` | info | `debug`/`info`/`warn`/`error`(结构化 JSON 日志) |
113
+ | `DEFAULT_SCENARIO` / `SKILLS_DIR` | default / skills | 缺省场景 / 烘焙 skill 目录 |
114
+ | `SESSION_AUTO_TITLE` | true | session 自动起题(首次提交后用 cheap 档模型[`MODEL_CHEAP_ID`,未配则主模型]生成一次 title,每 session 一次调用;`false` 关) |
115
+ | `GIT_API_BASEURL` / `GIT_API_TOKEN` | — | code-review 场景的只读 Git API(token 仅服务端) |
116
+ | `CORS_ORIGIN` | — | 如 `https://oa.内网` |
117
+
118
+ > **进阶 env(完整说明见 [`USAGE.md`](USAGE.md))**,按域分组:
119
+ > - 成本/限额:`MAX_TASK_COST_USD` · `MAX_PRINCIPAL_COST_USD` · `MODEL_DEGRADE_TO`/`_AT_COST_FRACTION`/`_REACTIVE` · `MODEL_CASCADE_LADDER`
120
+ > - 韧性:`MODEL_CONNECT_TIMEOUT_MS` · `MODEL_FIRST_TOKEN_TIMEOUT_MS` · `MODEL_IDLE_TIMEOUT_MS` · `MODEL_CIRCUIT_BREAKER`(+ 阈值)· `MODEL_GATEWAY_FALLBACK_URLS`
121
+ > - 多模型:`MODEL_CHEAP_ID` · `MODEL_CODE_ROLES` · `ANTHROPIC_API_KEY`(云路由)
122
+ > - 落盘/可观测:`TOOL_RESULT_TTL_SEC` · `OTEL_EXPORTER_OTLP_ENDPOINT`
123
+ > - 安全/控制面:`OPERATOR_PRINCIPALS` · `SEMA_REGISTRY_URL`/`_TOKEN`/`_DRY_RUN`/`_WORKER`(新名,orchestrator 注入;旧名 `CONFIG_CENTER_*` 仍兼容回退)
124
+ > - 远端执行(code-agent worker):`REMOTE_EXEC`(`e2b`/`k8s`/`ssh`/`adb`)· `E2B_API_KEY`/`E2B_TEMPLATE`/`E2B_LIVENESS_MS` · **`E2B_SANDBOX_ENV`**(本 worker env 变量名 CSV → 带外注入沙箱,口令不进 prompt/命令/日志;见 [`docs/CONSUMER-SANDBOX-SKILLS.md`](docs/CONSUMER-SANDBOX-SKILLS.md))
125
+
126
+ > **场景/能力层**:一份镜像服务多场景。请求体可带 `scenario`(默认 `DEFAULT_SCENARIO`),服务端按场景**装配一次**好的 {工具(含 subagent 角色册)+ 整套 harness 提示词 + skill};**身份/会话/策略仍服务端注入,不信 body**。
127
+ > - `default`:`now` 等通用工具。
128
+ > - `code-review`:请求体带 `repo`(`owner/name` 或 URL);注入**只读 repo 工具**(`repo_tree`/`repo_read_file`/`repo_pull_diff`,走 Git API、token 服务端)+ 镜头 **subagent**(6 个:security / correctness / performance / api-contract / tests / readability,可用 `lenses:N` 取前 N 个,各自隔离上下文 + repo 访问)+ 评审 promptProvider + 评审 skill。lead 规划→派发→汇总成分级评审(`council:true` 开;`debate:true` 加平级辩论)。跑测试/lint(沙箱 ExecutionEnv)是后续扩展位。
129
+
130
+ > **可观测**:`GET /metrics`(Prometheus)+ 结构化 JSON 日志(stdout)。指标:`http_requests_total`、`http_request_duration_seconds`、`tasks_total{status}`、`task_tokens_total`、`task_duration_seconds`、`runs_active`、`sessions_warm`、`rate_limited_total`。多实例下计数 per-instance,在 scraper 聚合。
131
+
132
+ ## 服务契约(当前 / 目标)
133
+
134
+ | 端点 | 现状 |
135
+ |------|------|
136
+ | `GET /health` | ✅ |
137
+ | `GET /metrics` · `/metrics/summary` · `/metrics/plan-cache` | ✅ Prometheus 文本 / 精炼健康 JSON(Fleet 卡片)/ plan-cache 复现率;`SERVICE_AUTH_TOKEN` **或**只读 `METRICS_TOKEN` |
138
+ | `GET /v1/capabilities` | ✅ 部署能力发现(asyncRuns/artifacts/approvals/leader/memory/scenarios/version)——免 501 探测 |
139
+ | `GET /v1/models` | ✅ `@-model` 目录(仅名字,不含 baseUrl/key) |
140
+ | `POST /v1/tasks` | ✅ 同步:跑到结束返回 `TaskResult`(短轮对话用);支持 `verify`/`cascade` |
141
+ | `POST /v1/tasks/stream` | ✅ 同步 SSE:逐 token 流式 `TaskEvent`(同实例) |
142
+ | `POST /v1/runs` | ✅ **异步(S1)**:立即 `202 {taskId, sessionId, status}`,后台续跑;同 session 已有活跃 run → `409` |
143
+ | `GET /v1/runs/:id` | ✅ run 状态 + 结果(轮询;owner 校验) |
144
+ | `GET /v1/runs/:id/events` | ✅ **可重放 SSE(S2)**:`Last-Event-ID` 续订,任意实例可服务(事件在 TiDB);文本按 turn 粒度合并 |
145
+ | `POST /v1/runs/:id/cancel` | ✅ 协作式取消(本机即时;跨副本经 durable flag + 心跳)→ failed + errorCode `cancelled` |
146
+ | `GET /v1/tasks` · `/:id/turns` · `/:id/stream` · `/:id/artifacts` | ✅ **Task Trace API(S1)**:CC 式轨迹 UI;`authToken` 或只读 `TRACE_TOKEN`(舰队级) |
147
+ | `GET /v1/tasks/source-summary` | ✅ 按 (来源,状态) COUNT 的用量汇总 |
148
+ | `POST /v1/leader` · `GET /v1/leader/:id` | ✅ **v2 leader 编排器**(异步;仅 `LEADER_ENABLED`)——见 [`docs/ORCHESTRATION-STATUS.md`](docs/ORCHESTRATION-STATUS.md) |
149
+ | `GET /v1/approvals` | ✅ **F4**:operator 待审队列(operator RBAC = `OPERATOR_PRINCIPALS`);仅当审批/durable 开启时有意义 |
150
+ | `GET /v1/approvals/:id` | ✅ 单条审批状态 |
151
+ | `POST /v1/approvals/:id` | ✅ operator 批/否:`{decision:"approve"\|"deny", reason?}`;CAS,重复决议 → `409` |
152
+ | `POST /v1/sessions/:id/wake` | ✅ 501 *by design*:无需显式 wake——用同 `sessionId` 再发任务即自动恢复(并 reconcile) |
153
+ | `GET /v1/sessions/:id`(审计回溯) | ✅ 返回当前上下文 + 摘要(floor 有界窗口,非全量逐条);owner 校验 |
154
+
155
+ > **F4 人工确认闸**:`APPROVAL_REQUIRE=delete_order,...` 配置需审批的工具名;命中的工具调用挂起,**待审状态落 TiDB**,任意实例的 operator 批复都能解开它(异步 run + LB 下决策与运行常不在同一实例);任务到 deadline 自动释放(deny)。`approve` 的 OA 接线见 `src/main.ts` 的 `resolveSpec`。
156
+
157
+ > **异步 vs 同步**:`/v1/runs` 是无状态多实例的正路(长跑/自治、断线重连、崩溃不丢);`/v1/tasks*` 保留给短轮、要逐 token 即时反馈的场景。异步路径的文本流是 **turn 粒度**(delta 合并);跨实例逐 token 直播需共享低延迟总线(Redis Stream),暂缓。
158
+
159
+ ## 重要:工具/MCP/策略 由部署方注入
160
+ 请求体只带内容(`objective/sessionId/images`),**model、tools、以及安全策略由服务端 `resolveSpec`(见 `src/main.ts`)注入**——
161
+ 工具的 `execute` 是函数,不过网络。在那里注入:
162
+ - `tools`:`createSqlTool({ query: mysqlQuery(只读TiDB池) })`、任务级 `mcp`、`skills`。
163
+ - `toolPolicy`(core 1.0):**高危写操作的人工确认闸**就是它——`createApprovalPolicy({ requireApproval:["delete_*"], approve: 接OA审批 })`,
164
+ `approve` 是 async,把 promise 挂到 OA 审批回调即可(`limits.timeoutSec` 兜底)。**这条等于把 ROADMAP P0-6 从"自研"降级为"接线"。**
165
+ - `promptProvider`(core 1.1):一个 Runner 服务多场景时,**按任务热插拔整套 harness 提示词**(如审查/客服/数据分析各一套)。
166
+ - 凭据(DB 池、token)只活在服务端闭包里,**不进模型、不进请求体、不进沙箱**。
167
+
168
+ ## 能力总览(已落地,core 依赖 `^1.99.1`,service `1.1.0`)
169
+
170
+ P0-MVP 早就完成;现在是成熟期 + v2 编排期。详细 env/用法见 [`USAGE.md`](USAGE.md) 与 [`docs/SERVICE-AI-GUIDE.md`](docs/SERVICE-AI-GUIDE.md),逐项设计依据见 `design/`。
171
+
172
+ - **持久化(跨副本)**:TiDB L1 session(F1 reconcile + F2 CAS)/ L2 记忆 / 异步 run 注册表 + 可重放事件日志(S1/S2)/ warm 会话缓存。无状态副本 + nginx LB 横向扩。
173
+ - **多租户安全**:S6 owner 隔离;`REQUIRE_PRINCIPAL`;operator RBAC(`OPERATOR_PRINCIPALS`)守 F4 审批队列。
174
+ - **韧性(全 opt-in)**:分级超时(connect/first-token/idle)+ 断路器 + failover + 反应式降级;断路器状态跨副本共享(TiDB)。
175
+ - **成本治理**:每任务 `maxCostUsd`/`maxTokens` 上限、每 principal 跨副本累计配额、近预算前瞻降级、`/metrics` 权威 spend;**每模型定价**(`MODEL_COST_*`,USD/1M tokens → 真实 `costUsd`);请求限流跨副本(软)。
176
+ - **多模型**:角色册 + `@-model`;**per-model key**(sema-registry `apiKeyEnv` → `getApiKeyAndHeaders`);质量门 **cascade**(便宜→强)、开发者 **verify** 门;**生成调参透传**(core 1.60 `Model.extraBody`,`MODEL_FREQUENCY_PENALTY`/`MODEL_PRESENCE_PENALTY`/`MODEL_EXTRA_BODY` — 源头压退化循环)。
177
+ - **记忆**:core 文件记忆引擎(design/138 注入式:materialize→文件操作→harvest 门;`# Memory` 指令 + 派生索引,无 remember/recall 工具)——记忆就是模型的普通文件技能;单用户默认开(`MEMORY_ENGINE=off` 关)。
178
+ - **大工具结果落盘**:durable `TiDBToolResultStore`(跨副本 wake 取回全文;TTL 回收)。
179
+ - **可观测**:Prometheus `/metrics` + 可选 OTLP 导出;**`/metrics/summary`** 精炼健康 JSON(给 sema-registry Fleet 卡片,`METRICS_TOKEN` 只读门禁,与业务同端口 :8090)。退化任务 core 回 `salvagedOutput` + `errorCode="output.degenerate"`(整段打捞,非裁尾)。
180
+ - **控制面**:`sema-registry`(控制面仓) 集中管理模型/角色/团队(`SEMA_REGISTRY_*` env 族,`DRY_RUN` 安全灰度;env 兜底;旧名 `CONFIG_CENTER_*` 仍兼容回退)。
181
+ - **场景/能力**:`default` / `code-review`(direct/council/debate,镜头子 agent **代码驱动**,见 `design/35`)/ `scan`(中性只读 repo)/ `oa` / `team`;sema-registry 可声明组合场景。
182
+ - **远端执行 Hands(可选,`REMOTE_EXEC`)**:`e2b`(Firecracker VM,默认 code-agent worker,可挂起)/ `k8s`(Kata pod,自托管;配 MinIO 可工作区快照挂起)/ `ssh`(真机,HITL 门控)/ `adb`(真机/真设备,App 测试);+ 可选 **LSP sidecar**(`LSP_ENABLED`)。
183
+ - **v2 leader 编排器(`LEADER_ENABLED`,默认关)**:难度路由 → 扇出隔离 worker → 3-way merge + **隐藏 oracle 正确性门(B-2)** + 有界集成修复(B-1)→ Coordinator force-with-lease push;replan-lite 自恢复、资源切片挂起/续跑、belt-diff 打捞。已 live 跑通完整自治闭环(auto2/auto3)。见 [`docs/ORCHESTRATION-STATUS.md`](docs/ORCHESTRATION-STATUS.md)。
184
+
185
+ 剩余前瞻见 [`docs/ROADMAP.md`](docs/ROADMAP.md)(最新)+ `design/30+`(历史)。
186
+
187
+ ## 参考:core 仓库重要文档(架构依据)
188
+
189
+ 本服务的架构/设计依据都在 core 仓库,建议接手前先读:
190
+
191
+ - **设计入口/开放问题**:`design/00 设计索引与开放问题`(core 仓 `design/00-设计索引与开放问题.md`)(术语/已定决策/开放问题)
192
+ - **服务化(Managed Agents 三平面)**:`design/02 服务化路线图`(core 仓 `design/02-服务化路线图.md`)(部署拓扑 + 服务契约)
193
+ - **记忆与上下文**:`design/03 记忆与上下文架构`(core 仓 `design/03-记忆与上下文架构.md`)(L0-L3 多层记忆)
194
+ - **双仓拆分 / core 路线图 / 谁改谁**:`design/04`(core 仓 `design/04-双仓拆分与core路线图.md`)
195
+ - **1.0 完整设计 / 抽象层**:`design/06 core-1.0设计`(core 仓 `design/06-core-1.0设计.md`)(六个注入 seam + 注入/覆盖语义)
196
+ - **core 用法/API/安全契约/零配置默认表**:`README`(core 仓 `README.md`) · **变更**:`CHANGELOG`(core 仓 `CHANGELOG.md`)
197
+
198
+ ### 一手调研(蒸馏期,做 P1/P2 时的底层依据)
199
+ core 仓库 `research/` 是从 openclaw 蒸馏时的原始调研,接手 service 的高阶能力时直接参考:
200
+ - **执行环境分离**(做 P2 远程/沙箱 Hands SSH/Docker 时):`research/07 执行环境分离`(core 仓 `research/07-执行环境分离.md`)
201
+ - **LLM provider 与 native 工具**(做 P1 多 provider/failover 时):`research/04`(core 仓 `research/04-LLM-provider与native工具.md`)
202
+ - **session 与内存化**(TiDB 中心的语义依据):`research/05`(core 仓 `research/05-session与内存化.md`) · **自动压缩/裁剪**:`research/06`(core 仓 `research/06-自动压缩与裁剪.md`)
203
+ - **subagent/team/mcp**(做 P2 orchestrator 蜂群时):`research/08`(core 仓 `research/08-subagent-team-mcp.md`) · **调研总览**:`research/00`(core 仓 `research/00-总览与阅读指南.md`)
204
+
205
+ ### 怎么实现 TiDB 后端(core 已给出接法)
206
+ - **Session 中心**:实现 core 的 `SessionStore`;底层 `extends BaseSessionStorage`(override `appendEntry`/`setLeafId` 落 TiDB)→ `new Session(storage)`;`acquire` 从事件日志重建(= wake)。core 的 `test/sessions.test.ts` 有完整 "DB rehearsal + wake" 范例。
207
+ - **记忆**:不走 DB——design/138 文件记忆引擎(`RunnerDeps.memoryBackend`,单用户文件基座);旧 `MemoryStore`/`memory` 表已退役(`scripts/drop-memory-tables.sql`)。
@@ -0,0 +1,145 @@
1
+ # sema-up — 一键部署 sema 栈
2
+
3
+ `sema-up` 把 sema 智能体服务端(`@sema-agent/server`)连同数据面(PG+MinIO)、配置中心
4
+ (sema-registry)、可选 git 服务(Gitea)一键装到单机 docker 或 k8s 上。
5
+
6
+ ```bash
7
+ # npm 分发姿势(package.json bin 已挂)
8
+ npx -p @sema-agent/server sema-up --profile=full-single --gateway=https://api.deepseek.com/v1 \
9
+ --model=deepseek-v4-flash --model-key=sk-… -f site.env --yes
10
+ # 或直接跑仓内脚本
11
+ deploy/sema-up/sema-up.sh
12
+ ```
13
+
14
+ ## 三入口 × 部署形态矩阵
15
+
16
+ 三个入口进的是**同一引擎**(同一交互协议、同一 site.env 词表):
17
+
18
+ | 入口 | 用法 | 适合 |
19
+ |---|---|---|
20
+ | TTY 交互 | `sema-up.sh`(无参) | 人在终端,一问一答(每问带「为什么问」) |
21
+ | JSON 协议 | `sema-up.sh --interactive=json` | `sema cloud deploy` 等上层 UI 渲染决策点 |
22
+ | 无人值守 | `sema-up.sh -f site.env --yes` | CI/脚本;缺必填直接 fail-loud 不猜 |
23
+
24
+ | 形态(--profile) | 装什么 | 底座 | 状态 |
25
+ |---|---|---|---|
26
+ | `full-single` | 引擎+PG+MinIO(+registry+git) | 单机 docker compose | 可用 |
27
+ | `data-center` | 只数据面 PG+MinIO(+registry+git),agent 在别处连 | 单机 docker compose | 可用 |
28
+ | `local-plus` | 本机只跑 agent,连远端 data-center 数据面 | 单机 docker compose | 可用 |
29
+ | `full-cluster --kube=existing` | 全栈上已有 k8s(kubeconfig 指向;kind/k3d/云商托管) | helm chart(`chart/`) | 可用 |
30
+ | `full-cluster --kube=k3s` | 本机装 k3s 单机再 helm 装栈 | k3s+helm | 可用(Linux) |
31
+ | `full-cluster --kube=machines` | 多机 ssh 装配 k3s HA(embedded etcd) | `cluster-up.sh` | 可用(≥3 机) |
32
+
33
+ **配置中心(sema-registry)各档默认带上**;`--registry=false` 显式关。例外:`local-plus`
34
+ 默认不带(数据面在远端,配置中心应随数据面部署;本机再起一个=两个配置中心)。
35
+
36
+ ## git 面三态(--git)
37
+
38
+ | 态 | 含义 | registry 集成 |
39
+ |---|---|---|
40
+ | `none`(默认) | 跳过 | — |
41
+ | `provision` | 一键自建 Gitea(引导管理员+access token+持久卷) | **自动**:创建 OAuth app,registry 可用 Gitea 账号登录 |
42
+ | `connect --git-url=… --git-token=…` | 接已有 git 服务 | Gitea:自动建 OAuth app;GitHub:无法自动(registry 只支持 Gitea OAuth),summary 打印待人工项 |
43
+
44
+ 自动化的边界(诚实声明):sema-registry 没有「git 服务器」持久化配置——能自动接的只有
45
+ OAuth 登录(env:`GITEA_BASE_URL`/`GITEA_OAUTH_CLIENT_ID`/`GITEA_OAUTH_CLIENT_SECRET`);
46
+ git 凭据按契约**不进配置中心**(worker 侧自管)。自动建 OAuth app 失败时不装成功,
47
+ summary 会打印手动接法。
48
+
49
+ ## 全部 flag
50
+
51
+ | flag | 默认 | 说明 |
52
+ |---|---|---|
53
+ | `--profile=P` | 交互问 | `full-single`/`data-center`/`local-plus`/`full-cluster` |
54
+ | `--users=U` | `single` | `single`(超管 turnkey)/`multi`(身份隔离 REQUIRE_PRINCIPAL=true) |
55
+ | `--region=R` | `auto` | `cn`/`global`;auto=对 aliyun/npmjs 探测延迟 |
56
+ | `--project=NAME` | `sema` | compose project 名;并行试验/多套共存用 |
57
+ | `--dry-run` | — | 只打印执行计划,不写 .env、不起容器 |
58
+ | `--yes` | — | 无人值守(全默认;缺必填 fail-loud) |
59
+ | `--interactive=json` | — | 机器可读交互协议 |
60
+ | `-f FILE` | — | site 配置(env 形式;`machines.yaml` 走固定形状 mini-parser) |
61
+ | `--port=N` | 8090 | 引擎端口;`--pg-port`(5432)/`--minio-port`(9000)/`--minio-console-port`(9001)同理 |
62
+ | `--gateway=URL` | — | 模型网关 baseURL(OpenAI 兼容);带 agent 的档必需 |
63
+ | `--model=ID` | `deepseek-v4-flash` | 模型 id |
64
+ | `--model-key=K` | — | 模型 API key(也可 -f 里 MODEL_API_KEY) |
65
+ | `--sandbox=LANE` | kvm 有→`kata` | `kata`/`e2b-cloud`/`runc`(full-single) |
66
+ | `--registry=BOOL` | `true`(local-plus `false`) | 配置中心网站开关 |
67
+ | `--registry-image=REF` | — | sema-registry 镜像(registry=true 必需) |
68
+ | `--git=MODE` | `none` | `none`/`provision`/`connect` |
69
+ | `--git-url=URL --git-token=T` | — | connect 态的已有服务(Gitea/GitHub/任意三方 git,自动识别;证书不校验) |
70
+ | `--pg-url=URL` | — | 外接第三方 PG(`postgres://user:pass@host:port/db`);给了就不部署本地 PG,装配前真连检 |
71
+ | `--s3-endpoint=URL --s3-access-key= --s3-secret-key=` | — | 外接第三方 S3(兼容协议:MinIO/OSS/COS/R2…);不部署本地 MinIO,装配前 ls+建桶检(`--insecure`) |
72
+ | `--data-root=DIR` | 多盘机自动选大盘 | 数据卷 bind 到指定盘;首装落定不漂移(换盘=teardown-volumes 后重装) |
73
+ | `--git-http-port=N` | 3300 | 自建 Gitea HTTP 口;`--git-ssh-port`(2222)同理 |
74
+ | `--gitea-image=REF` | `gitea/gitea:1.24` | 自建 Gitea 镜像 |
75
+ | `--pg-host= --pg-password= --minio-endpoint= --minio-password=` | — | local-plus 的远端数据面(data-center summary 里有) |
76
+ | `--kube=MODE` | 交互问 | full-cluster:`existing`/`k3s`/`machines` |
77
+ | `--kubeconfig=PATH` | `$KUBECONFIG`→`~/.kube/config` | `--kube=existing` 用 |
78
+ | `--teardown` / `--teardown-volumes` | — | 卸载(留数据 / 连卷删) |
79
+ | `--skip-preflight` | — | 跳过预检(不建议) |
80
+
81
+ site.env 词表 = 上表的 env 形式(`PROFILE`/`SEMA_SERVER_IMAGE`/`SEMA_REGISTRY_IMAGE`/
82
+ `GIT_MODE`/`GIT_URL`/`GIT_TOKEN`/`MODEL_API_KEY`/`E2B_API_KEY`/`IMAGE_PULL_USER`/`IMAGE_PULL_TOKEN` …);
83
+ 命令行显式参数赢过文件。k8s 路径额外:`STORAGE_CLASS`(缺省用集群默认 SC)、`NAMESPACE`(sema)。
84
+
85
+ ## 性能/磁盘:测量→建议(不强求)→硬底线
86
+
87
+ preflight 实测 CPU/RAM/磁盘并分两档:**推荐值**(full:4c/8G/80G——4C8G 能部署全部)以下只给
88
+ WARN+建议(data-center 档/local-plus/外接 S3+DB/换大盘),照样部署;**硬底线**(full:2c/3G/40G,
89
+ data-center:2c/2G/20G)以下 BLOCK——确实无法稳定部署,提前警告不推进。多盘机自动扫描真实
90
+ 块设备挂载,存在明显更大的数据盘(>2× 根盘可用)时自动把数据卷 bind 过去(`--data-root` 可
91
+ 覆盖;macOS 只建议不自动)。k8s 路径同理:建议 3 节点(HA),少于 3 节点按缩放形态跑;
92
+ 单节点 allocatable <1c/2G 才拦。凡带 URL 的外接面(PG/S3/git)装配前都做真连接检测,
93
+ 一律忽略证书(内网自签是常态),验的是协议兼容与可达。
94
+
95
+ ## 镜像从哪来
96
+
97
+ - **server**:`SEMA_SERVER_IMAGE`(`ghcr.io/clayboby/sema-server:<tag>`,public 匿名可拉;
98
+ CN 兜底=内网 Gitea 仓。SWR 已弃用 2026-07-13)。
99
+ - **registry**:`SEMA_REGISTRY_IMAGE`(GHCR/Hub 的 `sema-registry` 镜像,迁移中,公开仓匿名可拉;
100
+ SWR 已弃用;仅换 private 仓时才需 k8s 路径凭据=env `IMAGE_PULL_USER`/`IMAGE_PULL_TOKEN`)。
101
+ - 公共镜像(postgres/minio/gitea)直接拉;国内网络不通时配 dockerd `registry-mirrors`。
102
+
103
+ ## 凭据纪律
104
+
105
+ 全部凭据生成一次、落 `~/.sema-up/<project>/.env`(0600),重跑**绝不轮换**;
106
+ summary 里管理员密码只显示一次(新生成那次),不进日志不进 git。
107
+
108
+ ## 验收
109
+
110
+ ```bash
111
+ deploy/sema-up/smoke.sh --project=sema # 数据面直验+registry/gitea+引擎
112
+ deploy/sema-up/smoke.sh --url=http://host:8090 --token=$SERVICE_AUTH_TOKEN # 远程引擎面
113
+ ```
114
+
115
+ ## 常见错误排查
116
+
117
+ | 症状 | 原因 | 下一步 |
118
+ |---|---|---|
119
+ | `⛔ registry=true 需要 sema-registry 镜像` | 各档默认带 registry 了 | `--registry-image=…` 或 `--registry=false` |
120
+ | `compose up 失败` + 拉镜像超时 | 镜像仓不可达/私仓没登录 | `docker login`;国内配 registry-mirrors;`docker compose -p <project> logs` |
121
+ | preflight `port-XXXX occupied` | 端口被占 | `--port`/`--pg-port`/`--git-http-port` 换口,或停占用进程 |
122
+ | preflight `BLOCK os` | 不在支持面 | Debian 12/13、Ubuntu 22.04/24.04、Rocky 9/10、macOS+docker |
123
+ | `没有可用的 compose` | docker CLI 无 compose 插件 | 装 Docker Desktop/OrbStack 或 `brew install docker-compose` |
124
+ | `docker-credential-desktop not found` | 卸载 Docker Desktop 后 `~/.docker/config.json` 残留 `credsStore` | 删掉该文件里的 `"credsStore": "desktop"` 行(或临时 `DOCKER_CONFIG` 指向干净目录) |
125
+ | k8s:`集群没有默认 StorageClass` | PVC 会永久 Pending | `kubectl get sc` 后 `STORAGE_CLASS=<名>` 重跑 |
126
+ | k8s:PG 一直不 healthy | 镜像在拉/PVC Pending/内存不足 | `kubectl -n sema describe cluster sema-pg` |
127
+ | k8s:server `CreateContainerConfigError` | runner-token 复制晚于 pod 创建 | 重跑 kube-up(幂等);已内置先复制后等待 |
128
+ | Gitea OAuth app 创建失败 | token 缺 `write:user` scope | summary 的待人工项有手动接法 |
129
+ | smoke `auth 门` FAIL | SERVICE_AUTH_TOKEN 未生效=公网裸奔 | 立刻查 .env 与容器 env |
130
+ | 模型面 402/401 | 余额耗尽/key 无效 | 充值/换 key 后重跑 smoke |
131
+ | NodePort 不可达(kind/远程) | kind 节点是容器,宿主到 NodePort 不通 | `kubectl -n sema port-forward svc/sema-server 8090:8090` |
132
+
133
+ ## 文件地图
134
+
135
+ ```
136
+ sema-up.sh 入口(决策/预检/凭据/装配/验证/summary)
137
+ preflight.sh 单机预检(--json;BLOCK 带原因+建议)
138
+ smoke.sh 验收(project 模式=数据面直验;--url 模式=引擎面)
139
+ kube-up.sh k8s 单机两态(existing kubeconfig / 本机 k3s)→ helm chart
140
+ cluster-up.sh 多机 ssh k3s HA 装配(machines.yaml)
141
+ chart/ helm chart(server/CNPG PG/MinIO/registry/gitea/沙箱 RBAC)
142
+ stack/compose.yaml 单机 Layer 1(profiles: data/agent/registry/git)
143
+ machines.example.yaml 多机清单模板
144
+ lib/parse-machines.py machines.yaml mini-parser(标准库零依赖,fail-loud)
145
+ ```
@@ -0,0 +1,11 @@
1
+ apiVersion: v2
2
+ name: sema-stack
3
+ description: >-
4
+ sema-stack — sema-server 引擎 + CNPG PG HA + MinIO + kata 沙箱 RBAC(DEPLOY-OVERSEAS-PILOT
5
+ Layer 1 正式 chart 化;对象名与 as-built 渲染清单(stack/sema-stack-cluster.yaml)完全一致,
6
+ 便于从 kubectl-apply 存量 adoption)。前置(cluster-up.sh 负责,不在 chart 内):Longhorn 默认
7
+ SC、kata-deploy(runtimeclass)、CNPG operator、runner-token 跨 ns 复制、MinIO 建桶、
8
+ imagePullSecret(sema-regcred)。
9
+ type: application
10
+ version: 0.3.0
11
+ appVersion: "1.156.1"
@@ -0,0 +1,63 @@
1
+ # ── 自建 Gitea(--git=provision;仓库+SQLite 同一 PVC;引导管理员/token/OAuth app
2
+ # 是一次性动作,归 kube-up.sh,不进清单)────────────────────────────────────────
3
+ {{- if .Values.gitea.enabled }}
4
+ apiVersion: v1
5
+ kind: PersistentVolumeClaim
6
+ metadata:
7
+ name: sema-gitea-data
8
+ namespace: {{ .Release.Namespace }}
9
+ spec:
10
+ accessModes: [ReadWriteOnce]
11
+ {{- if .Values.gitea.storageClass }}
12
+ storageClassName: {{ .Values.gitea.storageClass }}
13
+ {{- end }}
14
+ resources:
15
+ requests:
16
+ storage: {{ .Values.gitea.storageSize }}
17
+ ---
18
+ apiVersion: apps/v1
19
+ kind: Deployment
20
+ metadata:
21
+ name: sema-gitea
22
+ namespace: {{ .Release.Namespace }}
23
+ spec:
24
+ replicas: 1
25
+ strategy: { type: Recreate } # RWO PVC 同 registry
26
+ selector:
27
+ matchLabels: { app: sema-gitea }
28
+ template:
29
+ metadata:
30
+ labels: { app: sema-gitea }
31
+ spec:
32
+ containers:
33
+ - name: gitea
34
+ image: {{ .Values.gitea.image | quote }}
35
+ ports: [{ containerPort: 3000 }, { containerPort: 22 }]
36
+ env:
37
+ - { name: GITEA__security__INSTALL_LOCK, value: "true" }
38
+ - { name: GITEA__database__DB_TYPE, value: sqlite3 }
39
+ - { name: GITEA__server__DOMAIN, value: {{ .Values.gitea.domain | default "localhost" | quote }} }
40
+ - { name: GITEA__server__ROOT_URL, value: "http://{{ .Values.gitea.domain | default "localhost" }}:{{ .Values.gitea.httpNodePort }}/" }
41
+ - { name: GITEA__server__SSH_PORT, value: {{ .Values.gitea.sshNodePort | quote }} }
42
+ - { name: GITEA__service__DISABLE_REGISTRATION, value: "true" }
43
+ volumeMounts: [{ name: data, mountPath: /data }]
44
+ readinessProbe:
45
+ httpGet: { path: /api/healthz, port: 3000 }
46
+ initialDelaySeconds: 5
47
+ periodSeconds: 5
48
+ volumes:
49
+ - name: data
50
+ persistentVolumeClaim: { claimName: sema-gitea-data }
51
+ ---
52
+ apiVersion: v1
53
+ kind: Service
54
+ metadata:
55
+ name: sema-gitea
56
+ namespace: {{ .Release.Namespace }}
57
+ spec:
58
+ type: NodePort
59
+ selector: { app: sema-gitea }
60
+ ports:
61
+ - { name: http, port: 3000, targetPort: 3000, nodePort: {{ .Values.gitea.httpNodePort }} }
62
+ - { name: ssh, port: 22, targetPort: 22, nodePort: {{ .Values.gitea.sshNodePort }} }
63
+ {{- end }}
@@ -0,0 +1,62 @@
1
+ # ── MinIO(单副本 on Longhorn=盘冗余在下层;集群 EC 形态后续档)────────────────
2
+ apiVersion: v1
3
+ kind: Secret
4
+ metadata:
5
+ name: sema-minio
6
+ namespace: {{ .Release.Namespace }}
7
+ stringData:
8
+ rootUser: {{ .Values.minio.rootUser | quote }}
9
+ rootPassword: {{ required "minio.rootPassword is required" .Values.minio.rootPassword | quote }}
10
+ ---
11
+ apiVersion: v1
12
+ kind: PersistentVolumeClaim
13
+ metadata:
14
+ name: sema-minio-data
15
+ namespace: {{ .Release.Namespace }}
16
+ spec:
17
+ accessModes: [ReadWriteOnce]
18
+ {{- if .Values.minio.storageClass }}
19
+ storageClassName: {{ .Values.minio.storageClass }}
20
+ {{- end }}
21
+ resources:
22
+ requests:
23
+ storage: {{ .Values.minio.storageSize }}
24
+ ---
25
+ apiVersion: apps/v1
26
+ kind: Deployment
27
+ metadata:
28
+ name: sema-minio
29
+ namespace: {{ .Release.Namespace }}
30
+ spec:
31
+ replicas: 1
32
+ selector:
33
+ matchLabels: { app: sema-minio }
34
+ template:
35
+ metadata:
36
+ labels: { app: sema-minio }
37
+ spec:
38
+ containers:
39
+ - name: minio
40
+ image: {{ .Values.minio.image }}
41
+ args: ["server", "/data", "--console-address", ":9001"]
42
+ env:
43
+ - name: MINIO_ROOT_USER
44
+ valueFrom: { secretKeyRef: { name: sema-minio, key: rootUser } }
45
+ - name: MINIO_ROOT_PASSWORD
46
+ valueFrom: { secretKeyRef: { name: sema-minio, key: rootPassword } }
47
+ ports: [{ containerPort: 9000 }, { containerPort: 9001 }]
48
+ volumeMounts: [{ name: data, mountPath: /data }]
49
+ volumes:
50
+ - name: data
51
+ persistentVolumeClaim: { claimName: sema-minio-data }
52
+ ---
53
+ apiVersion: v1
54
+ kind: Service
55
+ metadata:
56
+ name: sema-minio
57
+ namespace: {{ .Release.Namespace }}
58
+ spec:
59
+ selector: { app: sema-minio }
60
+ ports:
61
+ - { name: s3, port: 9000 }
62
+ - { name: console, port: 9001 }
@@ -0,0 +1,9 @@
1
+ # 沙箱 ns(release 本体装进 -n sema --create-namespace;sandbox ns 是第二个,chart 负责)
2
+ # resource-policy: keep(build-host 真机验出):无它则 `helm uninstall sema-stack` 连带删本 ns——
3
+ # 里面是 API 起的用户沙箱 pod + 6b 的 regcred,不该被卸栈操作级联杀。代价=卸栈后 ns 留待手清。
4
+ apiVersion: v1
5
+ kind: Namespace
6
+ metadata:
7
+ name: {{ .Values.sandbox.namespace }}
8
+ annotations:
9
+ helm.sh/resource-policy: keep