@mesh-tech/mesh-cli 0.1.1 → 0.12.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 (504) hide show
  1. package/assets/intent/agents-fence.md +10 -0
  2. package/assets/intent/intent-claude-gate.mjs +255 -0
  3. package/assets/log-shipper.mjs +94 -0
  4. package/bin/mesh.mjs +80 -0
  5. package/dist/bin/mesh.d.ts +7 -9
  6. package/dist/bin/mesh.d.ts.map +1 -1
  7. package/dist/bin/mesh.js +20826 -37
  8. package/dist/bin/mesh.js.map +7 -1
  9. package/dist/build-info.json +4 -0
  10. package/dist/src/commands/agent-api-client.d.ts +79 -0
  11. package/dist/src/commands/agent-api-client.d.ts.map +1 -0
  12. package/dist/src/commands/agent-api-client.js +170 -0
  13. package/dist/src/commands/agent-api-client.js.map +1 -0
  14. package/dist/src/commands/artifacts.d.ts +13 -0
  15. package/dist/src/commands/artifacts.d.ts.map +1 -0
  16. package/dist/src/commands/artifacts.js +140 -0
  17. package/dist/src/commands/artifacts.js.map +1 -0
  18. package/dist/src/commands/cluster.d.ts +45 -0
  19. package/dist/src/commands/cluster.d.ts.map +1 -0
  20. package/dist/src/commands/cluster.js +259 -0
  21. package/dist/src/commands/cluster.js.map +1 -0
  22. package/dist/src/commands/conversations.d.ts +61 -0
  23. package/dist/src/commands/conversations.d.ts.map +1 -0
  24. package/dist/src/commands/conversations.js +239 -0
  25. package/dist/src/commands/conversations.js.map +1 -0
  26. package/dist/src/commands/create-app.d.ts +26 -3
  27. package/dist/src/commands/create-app.d.ts.map +1 -1
  28. package/dist/src/commands/create-app.js +465 -107
  29. package/dist/src/commands/create-app.js.map +1 -1
  30. package/dist/src/commands/deploy.d.ts +19 -0
  31. package/dist/src/commands/deploy.d.ts.map +1 -1
  32. package/dist/src/commands/deploy.js +83 -142
  33. package/dist/src/commands/deploy.js.map +1 -1
  34. package/dist/src/commands/dev-doctor.d.ts +137 -0
  35. package/dist/src/commands/dev-doctor.d.ts.map +1 -0
  36. package/dist/src/commands/dev-doctor.js +671 -0
  37. package/dist/src/commands/dev-doctor.js.map +1 -0
  38. package/dist/src/commands/dev-launch.d.ts +59 -0
  39. package/dist/src/commands/dev-launch.d.ts.map +1 -0
  40. package/dist/src/commands/dev-launch.js +118 -0
  41. package/dist/src/commands/dev-launch.js.map +1 -0
  42. package/dist/src/commands/dev-token-server.d.ts +32 -0
  43. package/dist/src/commands/dev-token-server.d.ts.map +1 -0
  44. package/dist/src/commands/dev-token-server.js +68 -0
  45. package/dist/src/commands/dev-token-server.js.map +1 -0
  46. package/dist/src/commands/dev.d.ts +289 -2
  47. package/dist/src/commands/dev.d.ts.map +1 -1
  48. package/dist/src/commands/dev.js +2501 -574
  49. package/dist/src/commands/dev.js.map +1 -1
  50. package/dist/src/commands/docs.d.ts +3 -0
  51. package/dist/src/commands/docs.d.ts.map +1 -0
  52. package/dist/src/commands/docs.js +262 -0
  53. package/dist/src/commands/docs.js.map +1 -0
  54. package/dist/src/commands/hub/index.d.ts +99 -0
  55. package/dist/src/commands/hub/index.d.ts.map +1 -0
  56. package/dist/src/commands/hub/index.js +452 -0
  57. package/dist/src/commands/hub/index.js.map +1 -0
  58. package/dist/src/commands/init.d.ts +65 -0
  59. package/dist/src/commands/init.d.ts.map +1 -0
  60. package/dist/src/commands/init.js +370 -0
  61. package/dist/src/commands/init.js.map +1 -0
  62. package/dist/src/commands/install-shim.d.ts +21 -0
  63. package/dist/src/commands/install-shim.d.ts.map +1 -0
  64. package/dist/src/commands/install-shim.js +132 -0
  65. package/dist/src/commands/install-shim.js.map +1 -0
  66. package/dist/src/commands/local/auth-provision.d.ts +71 -0
  67. package/dist/src/commands/local/auth-provision.d.ts.map +1 -0
  68. package/dist/src/commands/local/auth-provision.js +286 -0
  69. package/dist/src/commands/local/auth-provision.js.map +1 -0
  70. package/dist/src/commands/local/dev-local.d.ts +97 -0
  71. package/dist/src/commands/local/dev-local.d.ts.map +1 -0
  72. package/dist/src/commands/local/dev-local.js +306 -0
  73. package/dist/src/commands/local/dev-local.js.map +1 -0
  74. package/dist/src/commands/local/docker-runner.d.ts +37 -0
  75. package/dist/src/commands/local/docker-runner.d.ts.map +1 -0
  76. package/dist/src/commands/local/docker-runner.js +104 -0
  77. package/dist/src/commands/local/docker-runner.js.map +1 -0
  78. package/dist/src/commands/local/helpers.d.ts +22 -0
  79. package/dist/src/commands/local/helpers.d.ts.map +1 -0
  80. package/dist/src/commands/local/helpers.js +46 -0
  81. package/dist/src/commands/local/helpers.js.map +1 -0
  82. package/dist/src/commands/local/hub-local.d.ts +51 -0
  83. package/dist/src/commands/local/hub-local.d.ts.map +1 -0
  84. package/dist/src/commands/local/hub-local.js +197 -0
  85. package/dist/src/commands/local/hub-local.js.map +1 -0
  86. package/dist/src/commands/local/index.d.ts +23 -0
  87. package/dist/src/commands/local/index.d.ts.map +1 -0
  88. package/dist/src/commands/local/index.js +386 -0
  89. package/dist/src/commands/local/index.js.map +1 -0
  90. package/dist/src/commands/local/mocks.d.ts +361 -0
  91. package/dist/src/commands/local/mocks.d.ts.map +1 -0
  92. package/dist/src/commands/local/mocks.js +756 -0
  93. package/dist/src/commands/local/mocks.js.map +1 -0
  94. package/dist/src/commands/local/seed-zitadel.d.ts +151 -0
  95. package/dist/src/commands/local/seed-zitadel.d.ts.map +1 -0
  96. package/dist/src/commands/local/seed-zitadel.js +408 -0
  97. package/dist/src/commands/local/seed-zitadel.js.map +1 -0
  98. package/dist/src/commands/local/seed.d.ts +106 -0
  99. package/dist/src/commands/local/seed.d.ts.map +1 -0
  100. package/dist/src/commands/local/seed.js +252 -0
  101. package/dist/src/commands/local/seed.js.map +1 -0
  102. package/dist/src/commands/local/stack.d.ts +173 -0
  103. package/dist/src/commands/local/stack.d.ts.map +1 -0
  104. package/dist/src/commands/local/stack.js +499 -0
  105. package/dist/src/commands/local/stack.js.map +1 -0
  106. package/dist/src/commands/login.d.ts +256 -12
  107. package/dist/src/commands/login.d.ts.map +1 -1
  108. package/dist/src/commands/login.js +978 -50
  109. package/dist/src/commands/login.js.map +1 -1
  110. package/dist/src/commands/peer-addressing.d.ts +51 -0
  111. package/dist/src/commands/peer-addressing.d.ts.map +1 -0
  112. package/dist/src/commands/peer-addressing.js +64 -0
  113. package/dist/src/commands/peer-addressing.js.map +1 -0
  114. package/dist/src/commands/port-ownership.d.ts +69 -0
  115. package/dist/src/commands/port-ownership.d.ts.map +1 -0
  116. package/dist/src/commands/port-ownership.js +161 -0
  117. package/dist/src/commands/port-ownership.js.map +1 -0
  118. package/dist/src/commands/registry-publish.d.ts +3 -0
  119. package/dist/src/commands/registry-publish.d.ts.map +1 -0
  120. package/dist/src/commands/registry-publish.js +161 -0
  121. package/dist/src/commands/registry-publish.js.map +1 -0
  122. package/dist/src/commands/registry.d.ts +146 -2
  123. package/dist/src/commands/registry.d.ts.map +1 -1
  124. package/dist/src/commands/registry.js +541 -85
  125. package/dist/src/commands/registry.js.map +1 -1
  126. package/dist/src/commands/secrets/index.d.ts.map +1 -1
  127. package/dist/src/commands/secrets/index.js +15 -1
  128. package/dist/src/commands/secrets/index.js.map +1 -1
  129. package/dist/src/commands/secrets/migrate-config.d.ts +24 -0
  130. package/dist/src/commands/secrets/migrate-config.d.ts.map +1 -0
  131. package/dist/src/commands/secrets/migrate-config.js +277 -0
  132. package/dist/src/commands/secrets/migrate-config.js.map +1 -0
  133. package/dist/src/commands/secrets/set.d.ts +1 -0
  134. package/dist/src/commands/secrets/set.d.ts.map +1 -1
  135. package/dist/src/commands/secrets/set.js +96 -2
  136. package/dist/src/commands/secrets/set.js.map +1 -1
  137. package/dist/src/commands/skills.d.ts +34 -0
  138. package/dist/src/commands/skills.d.ts.map +1 -0
  139. package/dist/src/commands/skills.js +207 -0
  140. package/dist/src/commands/skills.js.map +1 -0
  141. package/dist/src/commands/stack.d.ts.map +1 -1
  142. package/dist/src/commands/stack.js +361 -23
  143. package/dist/src/commands/stack.js.map +1 -1
  144. package/dist/src/commands/temporal.d.ts +15 -0
  145. package/dist/src/commands/temporal.d.ts.map +1 -0
  146. package/dist/src/commands/temporal.js +781 -0
  147. package/dist/src/commands/temporal.js.map +1 -0
  148. package/dist/src/commands/tenant.d.ts +56 -0
  149. package/dist/src/commands/tenant.d.ts.map +1 -0
  150. package/dist/src/commands/tenant.js +233 -0
  151. package/dist/src/commands/tenant.js.map +1 -0
  152. package/dist/src/commands/tunnel/index.d.ts +49 -3
  153. package/dist/src/commands/tunnel/index.d.ts.map +1 -1
  154. package/dist/src/commands/tunnel/index.js +331 -8
  155. package/dist/src/commands/tunnel/index.js.map +1 -1
  156. package/dist/src/commands/vcs/clone.d.ts +3 -0
  157. package/dist/src/commands/vcs/clone.d.ts.map +1 -0
  158. package/dist/src/commands/vcs/clone.js +20 -0
  159. package/dist/src/commands/vcs/clone.js.map +1 -0
  160. package/dist/src/commands/vcs/common.d.ts +21 -0
  161. package/dist/src/commands/vcs/common.d.ts.map +1 -0
  162. package/dist/src/commands/vcs/common.js +62 -0
  163. package/dist/src/commands/vcs/common.js.map +1 -0
  164. package/dist/src/commands/vcs/drafts.d.ts +13 -0
  165. package/dist/src/commands/vcs/drafts.d.ts.map +1 -0
  166. package/dist/src/commands/vcs/drafts.js +45 -0
  167. package/dist/src/commands/vcs/drafts.js.map +1 -0
  168. package/dist/src/commands/vcs/get.d.ts +8 -0
  169. package/dist/src/commands/vcs/get.d.ts.map +1 -0
  170. package/dist/src/commands/vcs/get.js +61 -0
  171. package/dist/src/commands/vcs/get.js.map +1 -0
  172. package/dist/src/commands/vcs/index.d.ts +3 -0
  173. package/dist/src/commands/vcs/index.d.ts.map +1 -0
  174. package/dist/src/commands/vcs/index.js +58 -0
  175. package/dist/src/commands/vcs/index.js.map +1 -0
  176. package/dist/src/commands/vcs/propose.d.ts +23 -0
  177. package/dist/src/commands/vcs/propose.d.ts.map +1 -0
  178. package/dist/src/commands/vcs/propose.js +94 -0
  179. package/dist/src/commands/vcs/propose.js.map +1 -0
  180. package/dist/src/commands/vcs/review.d.ts +15 -0
  181. package/dist/src/commands/vcs/review.d.ts.map +1 -0
  182. package/dist/src/commands/vcs/review.js +35 -0
  183. package/dist/src/commands/vcs/review.js.map +1 -0
  184. package/dist/src/commands/vcs-enrich.d.ts +15 -0
  185. package/dist/src/commands/vcs-enrich.d.ts.map +1 -0
  186. package/dist/src/commands/vcs-enrich.js +28 -0
  187. package/dist/src/commands/vcs-enrich.js.map +1 -0
  188. package/dist/src/commands/vpn/index.d.ts +24 -0
  189. package/dist/src/commands/vpn/index.d.ts.map +1 -0
  190. package/dist/src/commands/vpn/index.js +543 -0
  191. package/dist/src/commands/vpn/index.js.map +1 -0
  192. package/dist/src/commands/vpn/tunnel.d.ts +11 -0
  193. package/dist/src/commands/vpn/tunnel.d.ts.map +1 -0
  194. package/dist/src/commands/vpn/tunnel.js +188 -0
  195. package/dist/src/commands/vpn/tunnel.js.map +1 -0
  196. package/dist/src/commands/workflow.d.ts +24 -0
  197. package/dist/src/commands/workflow.d.ts.map +1 -0
  198. package/dist/src/commands/workflow.js +577 -0
  199. package/dist/src/commands/workflow.js.map +1 -0
  200. package/dist/src/docs/assemble.d.ts +217 -0
  201. package/dist/src/docs/assemble.d.ts.map +1 -0
  202. package/dist/src/docs/assemble.js +739 -0
  203. package/dist/src/docs/assemble.js.map +1 -0
  204. package/dist/src/docs/cli-reference.d.ts +93 -0
  205. package/dist/src/docs/cli-reference.d.ts.map +1 -0
  206. package/dist/src/docs/cli-reference.js +256 -0
  207. package/dist/src/docs/cli-reference.js.map +1 -0
  208. package/dist/src/docs/discover.d.ts +60 -0
  209. package/dist/src/docs/discover.d.ts.map +1 -0
  210. package/dist/src/docs/discover.js +233 -0
  211. package/dist/src/docs/discover.js.map +1 -0
  212. package/dist/src/docs/portal.d.ts +79 -0
  213. package/dist/src/docs/portal.d.ts.map +1 -0
  214. package/dist/src/docs/portal.js +242 -0
  215. package/dist/src/docs/portal.js.map +1 -0
  216. package/dist/src/docs/registry-docs.d.ts +43 -0
  217. package/dist/src/docs/registry-docs.d.ts.map +1 -0
  218. package/dist/src/docs/registry-docs.js +138 -0
  219. package/dist/src/docs/registry-docs.js.map +1 -0
  220. package/dist/src/docs/schema.d.ts +48 -0
  221. package/dist/src/docs/schema.d.ts.map +1 -0
  222. package/dist/src/docs/schema.js +96 -0
  223. package/dist/src/docs/schema.js.map +1 -0
  224. package/dist/src/docs/serve.d.ts +27 -0
  225. package/dist/src/docs/serve.d.ts.map +1 -0
  226. package/dist/src/docs/serve.js +102 -0
  227. package/dist/src/docs/serve.js.map +1 -0
  228. package/dist/src/docs/start.d.ts +80 -0
  229. package/dist/src/docs/start.d.ts.map +1 -0
  230. package/dist/src/docs/start.js +313 -0
  231. package/dist/src/docs/start.js.map +1 -0
  232. package/dist/src/eval/agent-eval.d.mts +14 -0
  233. package/dist/src/eval/agent-eval.d.mts.map +1 -0
  234. package/dist/src/eval/agent-eval.mjs +273 -0
  235. package/dist/src/eval/agent-eval.mjs.map +1 -0
  236. package/dist/src/index.js +624 -7
  237. package/dist/src/index.js.map +7 -1
  238. package/dist/src/program.d.ts +26 -0
  239. package/dist/src/program.d.ts.map +1 -0
  240. package/dist/src/program.js +76 -0
  241. package/dist/src/program.js.map +1 -0
  242. package/dist/src/utils/auth-preflight.d.ts +159 -0
  243. package/dist/src/utils/auth-preflight.d.ts.map +1 -0
  244. package/dist/src/utils/auth-preflight.js +298 -0
  245. package/dist/src/utils/auth-preflight.js.map +1 -0
  246. package/dist/src/utils/aws-auth.d.ts +181 -0
  247. package/dist/src/utils/aws-auth.d.ts.map +1 -0
  248. package/dist/src/utils/aws-auth.js +527 -0
  249. package/dist/src/utils/aws-auth.js.map +1 -0
  250. package/dist/src/utils/bastion.d.ts +1 -1
  251. package/dist/src/utils/bastion.d.ts.map +1 -1
  252. package/dist/src/utils/bastion.js +29 -8
  253. package/dist/src/utils/bastion.js.map +1 -1
  254. package/dist/src/utils/build-info.d.ts +33 -0
  255. package/dist/src/utils/build-info.d.ts.map +1 -0
  256. package/dist/src/utils/build-info.js +102 -0
  257. package/dist/src/utils/build-info.js.map +1 -0
  258. package/dist/src/utils/capture-history.d.ts +62 -0
  259. package/dist/src/utils/capture-history.d.ts.map +1 -0
  260. package/dist/src/utils/capture-history.js +94 -0
  261. package/dist/src/utils/capture-history.js.map +1 -0
  262. package/dist/src/utils/deploy-preflight.d.ts +52 -0
  263. package/dist/src/utils/deploy-preflight.d.ts.map +1 -0
  264. package/dist/src/utils/deploy-preflight.js +183 -0
  265. package/dist/src/utils/deploy-preflight.js.map +1 -0
  266. package/dist/src/utils/errors.d.ts +75 -0
  267. package/dist/src/utils/errors.d.ts.map +1 -0
  268. package/dist/src/utils/errors.js +106 -0
  269. package/dist/src/utils/errors.js.map +1 -0
  270. package/dist/src/utils/first-party-contexts.d.ts +40 -0
  271. package/dist/src/utils/first-party-contexts.d.ts.map +1 -0
  272. package/dist/src/utils/first-party-contexts.js +53 -0
  273. package/dist/src/utils/first-party-contexts.js.map +1 -0
  274. package/dist/src/utils/index.d.ts +2 -0
  275. package/dist/src/utils/index.d.ts.map +1 -1
  276. package/dist/src/utils/index.js +2 -0
  277. package/dist/src/utils/index.js.map +1 -1
  278. package/dist/src/utils/kubeconfig.d.ts +62 -0
  279. package/dist/src/utils/kubeconfig.d.ts.map +1 -0
  280. package/dist/src/utils/kubeconfig.js +118 -0
  281. package/dist/src/utils/kubeconfig.js.map +1 -0
  282. package/dist/src/utils/log.d.ts +27 -1
  283. package/dist/src/utils/log.d.ts.map +1 -1
  284. package/dist/src/utils/log.js +59 -5
  285. package/dist/src/utils/log.js.map +1 -1
  286. package/dist/src/utils/pid.d.ts +47 -0
  287. package/dist/src/utils/pid.d.ts.map +1 -0
  288. package/dist/src/utils/pid.js +83 -0
  289. package/dist/src/utils/pid.js.map +1 -0
  290. package/dist/src/utils/pulumi-run.d.ts +23 -0
  291. package/dist/src/utils/pulumi-run.d.ts.map +1 -0
  292. package/dist/src/utils/pulumi-run.js +112 -0
  293. package/dist/src/utils/pulumi-run.js.map +1 -0
  294. package/dist/src/utils/pulumi.d.ts +15 -0
  295. package/dist/src/utils/pulumi.d.ts.map +1 -1
  296. package/dist/src/utils/pulumi.js +35 -0
  297. package/dist/src/utils/pulumi.js.map +1 -1
  298. package/dist/src/utils/reachability.d.ts +29 -0
  299. package/dist/src/utils/reachability.d.ts.map +1 -0
  300. package/dist/src/utils/reachability.js +81 -0
  301. package/dist/src/utils/reachability.js.map +1 -0
  302. package/dist/src/utils/recover-conversation.d.ts +154 -0
  303. package/dist/src/utils/recover-conversation.d.ts.map +1 -0
  304. package/dist/src/utils/recover-conversation.js +314 -0
  305. package/dist/src/utils/recover-conversation.js.map +1 -0
  306. package/dist/src/utils/registry-broker.d.ts +148 -0
  307. package/dist/src/utils/registry-broker.d.ts.map +1 -0
  308. package/dist/src/utils/registry-broker.js +180 -0
  309. package/dist/src/utils/registry-broker.js.map +1 -0
  310. package/dist/src/utils/socks-forward.d.ts +40 -0
  311. package/dist/src/utils/socks-forward.d.ts.map +1 -0
  312. package/dist/src/utils/socks-forward.js +97 -0
  313. package/dist/src/utils/socks-forward.js.map +1 -0
  314. package/dist/src/utils/stack-flag.d.ts +23 -0
  315. package/dist/src/utils/stack-flag.d.ts.map +1 -0
  316. package/dist/src/utils/stack-flag.js +41 -0
  317. package/dist/src/utils/stack-flag.js.map +1 -0
  318. package/dist/src/utils/tailscale-targets.d.ts +52 -0
  319. package/dist/src/utils/tailscale-targets.d.ts.map +1 -0
  320. package/dist/src/utils/tailscale-targets.js +93 -0
  321. package/dist/src/utils/tailscale-targets.js.map +1 -0
  322. package/dist/src/utils/tailscale.d.ts +277 -0
  323. package/dist/src/utils/tailscale.d.ts.map +1 -0
  324. package/dist/src/utils/tailscale.js +1007 -0
  325. package/dist/src/utils/tailscale.js.map +1 -0
  326. package/dist/src/utils/temporal-auth.d.ts +43 -0
  327. package/dist/src/utils/temporal-auth.d.ts.map +1 -0
  328. package/dist/src/utils/temporal-auth.js +176 -0
  329. package/dist/src/utils/temporal-auth.js.map +1 -0
  330. package/dist/src/utils/temporal-codec.d.ts +101 -0
  331. package/dist/src/utils/temporal-codec.d.ts.map +1 -0
  332. package/dist/src/utils/temporal-codec.js +319 -0
  333. package/dist/src/utils/temporal-codec.js.map +1 -0
  334. package/dist/src/utils/tunnel-ownership.d.ts +130 -0
  335. package/dist/src/utils/tunnel-ownership.d.ts.map +1 -0
  336. package/dist/src/utils/tunnel-ownership.js +274 -0
  337. package/dist/src/utils/tunnel-ownership.js.map +1 -0
  338. package/dist/src/utils/vpn-join.d.ts +32 -0
  339. package/dist/src/utils/vpn-join.d.ts.map +1 -0
  340. package/dist/src/utils/vpn-join.js +62 -0
  341. package/dist/src/utils/vpn-join.js.map +1 -0
  342. package/dist/src/utils/vpn.d.ts +62 -0
  343. package/dist/src/utils/vpn.d.ts.map +1 -0
  344. package/dist/src/utils/vpn.js +183 -0
  345. package/dist/src/utils/vpn.js.map +1 -0
  346. package/dist/src/utils/workflow-fingerprint.d.ts +49 -0
  347. package/dist/src/utils/workflow-fingerprint.d.ts.map +1 -0
  348. package/dist/src/utils/workflow-fingerprint.js +135 -0
  349. package/dist/src/utils/workflow-fingerprint.js.map +1 -0
  350. package/dist/src/utils/worktree-identity.d.ts +86 -0
  351. package/dist/src/utils/worktree-identity.d.ts.map +1 -0
  352. package/dist/src/utils/worktree-identity.js +164 -0
  353. package/dist/src/utils/worktree-identity.js.map +1 -0
  354. package/fragments/agents/AGENTS.md.hbs +92 -0
  355. package/fragments/agents/CLAUDE.md.hbs +8 -0
  356. package/fragments/base/Pulumi.dev.yaml.hbs +10 -0
  357. package/fragments/base/Pulumi.yaml.hbs +9 -0
  358. package/fragments/base/index.ts.hbs +107 -0
  359. package/fragments/base/package.json.hbs +22 -0
  360. package/{templates/api-web-db/api → fragments/base}/tsconfig.json +3 -4
  361. package/fragments/bucket/api/src/storage.ts.hbs +81 -0
  362. package/fragments/database/api/src/db.ts.hbs +23 -0
  363. package/fragments/database/prisma/schema.prisma.hbs +18 -0
  364. package/{templates/api-web-db → fragments/service}/api/.dockerignore +2 -0
  365. package/fragments/service/api/package.json.hbs +40 -0
  366. package/fragments/service/api/src/index.ts.hbs +58 -0
  367. package/{templates/api-web-db → fragments/service/api}/tsconfig.json +5 -3
  368. package/fragments/temporal/worker/.dockerignore +4 -0
  369. package/fragments/temporal/worker/Dockerfile +15 -0
  370. package/{templates/temporal-api-worker → fragments/temporal}/worker/package.json.hbs +3 -2
  371. package/fragments/temporal/worker/src/activities.ts.hbs +14 -0
  372. package/fragments/temporal/worker/src/worker.ts.hbs +27 -0
  373. package/fragments/temporal/worker/src/workflows.ts.hbs +24 -0
  374. package/fragments/temporal/worker/tsconfig.json +13 -0
  375. package/package.json +36 -22
  376. package/skills/core/SKILL.md +365 -0
  377. package/skills/pull-remote-agent-context/SKILL.md +194 -0
  378. package/stack/docker-compose.hub.yml +134 -0
  379. package/stack/docker-compose.yml +447 -0
  380. package/stack/hub/Dockerfile.api +18 -0
  381. package/stack/hub/Dockerfile.auth +10 -0
  382. package/stack/hub/Dockerfile.ui +10 -0
  383. package/stack/init/01-databases.sql +12 -0
  384. package/stack/observability/blackbox.yml +20 -0
  385. package/stack/observability/otel-collector.yaml +73 -0
  386. package/stack/observability/prometheus.yml +36 -0
  387. package/stack/observability/tempo.yaml +25 -0
  388. package/stack/temporal/local.yaml +44 -0
  389. package/templates/api-auth/AGENTS.md.hbs +16 -0
  390. package/templates/api-auth/Pulumi.dev.yaml.hbs +8 -0
  391. package/templates/api-auth/Pulumi.yaml.hbs +8 -0
  392. package/templates/api-auth/README.md.hbs +67 -0
  393. package/templates/api-auth/api/package.json.hbs +28 -0
  394. package/templates/api-auth/api/src/index.ts.hbs +96 -0
  395. package/templates/api-auth/api/src/schema.ts.hbs +35 -0
  396. package/templates/api-auth/api/src/seed-authz.ts.hbs +48 -0
  397. package/templates/api-auth/api/src/spicedb-http-provider.ts.hbs +89 -0
  398. package/templates/api-auth/index.ts.hbs +65 -0
  399. package/templates/api-auth/package.json.hbs +20 -0
  400. package/templates/api-auth/skills/develop/SKILL.md.hbs +32 -0
  401. package/templates/api-role-gating/AGENTS.md.hbs +20 -0
  402. package/templates/api-role-gating/Pulumi.dev.yaml.hbs +8 -0
  403. package/templates/api-role-gating/Pulumi.yaml.hbs +8 -0
  404. package/templates/api-role-gating/README.md.hbs +64 -0
  405. package/templates/api-role-gating/api/Dockerfile +17 -0
  406. package/templates/api-role-gating/api/package.json.hbs +28 -0
  407. package/templates/api-role-gating/api/src/authn.ts.hbs +29 -0
  408. package/templates/api-role-gating/api/src/authz.ts.hbs +12 -0
  409. package/templates/api-role-gating/api/src/main.ts.hbs +58 -0
  410. package/templates/api-role-gating/api/src/schema.ts.hbs +22 -0
  411. package/templates/api-role-gating/api/tsconfig.json +13 -0
  412. package/templates/api-role-gating/index.ts.hbs +107 -0
  413. package/templates/api-role-gating/package.json.hbs +21 -0
  414. package/templates/api-role-gating/skills/develop/SKILL.md.hbs +60 -0
  415. package/templates/api-role-gating/tsconfig.json +10 -0
  416. package/templates/apps-repo/README.md.hbs +24 -0
  417. package/templates/apps-repo/gitignore +41 -0
  418. package/templates/apps-repo/npmrc.hbs +7 -0
  419. package/templates/apps-repo/package.json.hbs +15 -0
  420. package/templates/apps-repo/pnpm-workspace.yaml +3 -0
  421. package/templates/apps-repo/tsconfig.json +18 -0
  422. package/templates/external-service/AGENTS.md.hbs +20 -0
  423. package/templates/external-service/Pulumi.dev.yaml.hbs +8 -0
  424. package/templates/external-service/Pulumi.yaml.hbs +8 -0
  425. package/templates/external-service/README.md.hbs +56 -0
  426. package/templates/external-service/api/Dockerfile +15 -0
  427. package/templates/external-service/api/package.json.hbs +25 -0
  428. package/templates/external-service/api/src/index.ts.hbs +81 -0
  429. package/templates/external-service/index.ts.hbs +82 -0
  430. package/templates/external-service/mocks/vendorpay/package.json.hbs +9 -0
  431. package/templates/external-service/mocks/vendorpay/server.mjs.hbs +61 -0
  432. package/templates/external-service/package.json.hbs +34 -0
  433. package/templates/external-service/skills/develop/SKILL.md.hbs +55 -0
  434. package/templates/external-service/tsconfig.json +10 -0
  435. package/templates/platform-repo/AGENTS.md.hbs +18 -0
  436. package/templates/platform-repo/README.md.hbs +38 -0
  437. package/templates/platform-repo/core/Pulumi.yaml.hbs +12 -0
  438. package/templates/platform-repo/core/Pulumi.{{tenant}}-{{env}}.yaml.hbs +57 -0
  439. package/templates/platform-repo/core/index.ts +62 -0
  440. package/templates/platform-repo/core/package.json.hbs +22 -0
  441. package/templates/platform-repo/core/tsconfig.json +8 -0
  442. package/templates/platform-repo/package.json.hbs +15 -0
  443. package/templates/platform-repo/platform/Pulumi.yaml.hbs +12 -0
  444. package/templates/platform-repo/platform/Pulumi.{{tenant}}-{{env}}.yaml.hbs +59 -0
  445. package/templates/platform-repo/platform/index.ts +95 -0
  446. package/templates/platform-repo/platform/package.json.hbs +26 -0
  447. package/templates/platform-repo/platform/tsconfig.json +8 -0
  448. package/templates/platform-repo/pnpm-workspace.yaml +3 -0
  449. package/templates/workflow/AGENTS.md.hbs +15 -0
  450. package/templates/workflow/Pulumi.dev.yaml.hbs +8 -0
  451. package/templates/workflow/Pulumi.yaml.hbs +8 -0
  452. package/templates/workflow/README.md.hbs +45 -0
  453. package/templates/workflow/api/.dockerignore +4 -0
  454. package/templates/workflow/api/Dockerfile +15 -0
  455. package/templates/{temporal-api-worker → workflow}/api/package.json.hbs +8 -6
  456. package/templates/workflow/api/src/index.ts.hbs +130 -0
  457. package/templates/workflow/api/tsconfig.json +14 -0
  458. package/templates/workflow/index.ts.hbs +67 -0
  459. package/templates/workflow/package.json.hbs +20 -0
  460. package/templates/workflow/skills/develop/SKILL.md.hbs +32 -0
  461. package/templates/workflow/tsconfig.json +10 -0
  462. package/templates/workflow/worker/.dockerignore +4 -0
  463. package/templates/workflow/worker/Dockerfile +13 -0
  464. package/templates/workflow/worker/package.json.hbs +25 -0
  465. package/templates/workflow/worker/src/worker.ts.hbs +24 -0
  466. package/templates/workflow/worker/tsconfig.json +14 -0
  467. package/dist/src/commands/devbox.d.ts +0 -22
  468. package/dist/src/commands/devbox.d.ts.map +0 -1
  469. package/dist/src/commands/devbox.js +0 -463
  470. package/dist/src/commands/devbox.js.map +0 -1
  471. package/templates/api-web-db/api/Dockerfile +0 -16
  472. package/templates/api-web-db/api/package.json.hbs +0 -21
  473. package/templates/api-web-db/api/src/index.ts.hbs +0 -123
  474. package/templates/api-web-db/package.json.hbs +0 -27
  475. package/templates/api-web-db/sst.config.ts.hbs +0 -151
  476. package/templates/api-web-db/web/.dockerignore +0 -3
  477. package/templates/api-web-db/web/Dockerfile +0 -17
  478. package/templates/api-web-db/web/app/lib/db.server.ts +0 -36
  479. package/templates/api-web-db/web/app/root.tsx +0 -29
  480. package/templates/api-web-db/web/app/routes/home.tsx.hbs +0 -114
  481. package/templates/api-web-db/web/app/routes.ts +0 -3
  482. package/templates/api-web-db/web/package.json.hbs +0 -30
  483. package/templates/api-web-db/web/prisma/schema.prisma +0 -25
  484. package/templates/api-web-db/web/prisma.config.ts +0 -18
  485. package/templates/api-web-db/web/react-router.config.ts +0 -5
  486. package/templates/api-web-db/web/tsconfig.json +0 -19
  487. package/templates/api-web-db/web/vite.config.ts +0 -9
  488. package/templates/temporal-api-worker/README.md.hbs +0 -133
  489. package/templates/temporal-api-worker/api/src/index.ts.hbs +0 -145
  490. package/templates/temporal-api-worker/package.json.hbs +0 -29
  491. package/templates/temporal-api-worker/sst.config.ts.hbs +0 -161
  492. package/templates/temporal-api-worker/worker/Dockerfile +0 -11
  493. package/templates/temporal-api-worker/worker/src/bundle-workflows.ts +0 -38
  494. package/templates/temporal-api-worker/worker/src/worker.ts.hbs +0 -93
  495. /package/templates/{temporal-api-worker → api-auth}/api/.dockerignore +0 -0
  496. /package/templates/{temporal-api-worker → api-auth}/api/Dockerfile +0 -0
  497. /package/templates/{temporal-api-worker → api-auth}/api/tsconfig.json +0 -0
  498. /package/templates/{temporal-api-worker → api-auth}/tsconfig.json +0 -0
  499. /package/templates/{temporal-api-worker/worker → api-role-gating/api}/.dockerignore +0 -0
  500. /package/templates/{temporal-api-worker/worker → external-service/api}/tsconfig.json +0 -0
  501. /package/templates/{temporal-api-worker → workflow}/api/src/encryption-codec.ts +0 -0
  502. /package/templates/{temporal-api-worker → workflow}/worker/src/activities.ts.hbs +0 -0
  503. /package/templates/{temporal-api-worker → workflow}/worker/src/encryption-codec.ts +0 -0
  504. /package/templates/{temporal-api-worker → workflow}/worker/src/workflows.ts.hbs +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/local/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,361 @@
1
+ /**
2
+ * `mesh dev --externals` (alias `--mock`) — external-service realizations
3
+ * for a local dev session (MESH-1885, design C4).
4
+ *
5
+ * Apps DECLARE how each external dependency is realized locally in the root
6
+ * package.json under `mesh.externals` (legacy key `mesh.mocks` still read).
7
+ * Every declaration runs in exactly one of three MODES:
8
+ *
9
+ * mock — the service is MIMICKED: no real instance exists locally or
10
+ * remotely. Realized from an OpenAPI spec (`openapi` → Prism
11
+ * mock server) or a hand-written mock process (`src`).
12
+ * local — a LOCAL VERSION of the real service runs on this machine,
13
+ * e.g. a vendor-shaped database replica. Realized from a docker
14
+ * compose file (`compose` + published `port`).
15
+ * remote — the session connects to the ACTUAL external service: either
16
+ * the vendor's real endpoint with inline `credentials` (e.g. a
17
+ * sandbox), or the external service as configured in the app's
18
+ * tenant environment (`remote.env`, e.g. dev — credentials are
19
+ * pulled from that environment's secret).
20
+ *
21
+ * "mesh": {
22
+ * "externals": {
23
+ * "plaid-db": { // ── local (default) ──
24
+ * "mode": "local",
25
+ * "compose": "libs/plaid-db/docker/docker-compose.yml",
26
+ * "port": 1433, // REQUIRED: the published port
27
+ * "probe": "tcp", // non-HTTP uptime probe
28
+ * "external": "plaid-db",
29
+ * "credentials": { // {{host}}/{{port}} → localhost:1433
30
+ * "host": "{{host}}", "port": "{{port}}",
31
+ * "name": "Plaid_Clean", "username": "sa",
32
+ * "password": "{{env:PLAID_DB_PASSWORD}}"
33
+ * },
34
+ * "remote": { "env": "dev" } // `--externals plaid-db=remote`
35
+ * }, // pulls the dev-configured secret
36
+ * "plaid": { // ── remote ──
37
+ * "mode": "remote",
38
+ * "external": "plaid", // the vendor's REAL sandbox
39
+ * "displayName": "Plaid", // the Hub shows the real name…
40
+ * "type": "api", // …and the integration type
41
+ * "docs": "https://plaid.com/docs/api/", // vendor reference docs
42
+ * "credentials": {
43
+ * "endpoint": "https://sandbox.plaid.com",
44
+ * "client_id": "{{env:PLAID_CLIENT_ID}}",
45
+ * "secret": "{{env:PLAID_SECRET}}"
46
+ * }
47
+ * },
48
+ * "vendorpay": { // ── mock ──
49
+ * "mode": "mock",
50
+ * "openapi": "api/docs/spec/openapi.json", // spec → Prism emulation
51
+ * "external": "vendorpay",
52
+ * "credentials": { "baseUrl": "{{url}}", "apiKey": "mock" }
53
+ * }
54
+ * }
55
+ * }
56
+ *
57
+ * `mode` picks the DEFAULT; a declaration may carry more than one
58
+ * realization (e.g. compose + remote.env) and the CLI overrides per
59
+ * external at run time: `mesh dev --externals plaid-db=remote,plaid`.
60
+ * Declarations without `mode` infer it from their fields (compose → local,
61
+ * openapi/src → mock, sandbox/credentials-only → remote), so pre-mode
62
+ * declarations keep working (`sandbox: true` is a deprecated alias for
63
+ * mode remote).
64
+ *
65
+ * All credential values support `{{env:VAR}}` interpolation from the
66
+ * developer's environment, so real secrets (sandbox keys, DB passwords)
67
+ * never land in package.json.
68
+ *
69
+ * Realization: mock externals join the SAME orchestration as services named
70
+ * mock-{name} (ports, env files, tmux windows, Loki log pipeline); local
71
+ * externals come up via `docker compose up -d --wait` before the app's
72
+ * services and are torn down on `mesh dev --kill`; remote externals spawn
73
+ * nothing. In every mode the ExternalService credential secret is seeded at
74
+ * mesh/{tenant}/{env}/external/{name} so the app's resolveCredentials()
75
+ * path runs UNCHANGED, the vendor is registered in the local Hub's
76
+ * external-services view, and a blackbox uptime probe watches the
77
+ * realization — remote endpoints included.
78
+ */
79
+ export interface LocalMockDecl {
80
+ /** Default mode for this external: "mock" (emulate via openapi/src),
81
+ * "local" (docker compose local version), "remote" (the actual service).
82
+ * Inferred from the realization fields when omitted; overridable per run
83
+ * with `mesh dev --externals name=mode`. */
84
+ mode?: ExternalMode;
85
+ /** Mock mode: directory (relative to app root) with a package.json `dev`
86
+ * script — a hand-written mock process. */
87
+ src?: string;
88
+ /** Local mode: docker compose file (relative to app root) running a local
89
+ * version of the external service — e.g. a vendor-shaped database
90
+ * replica. `mesh dev` runs `docker compose up -d --wait` before the
91
+ * app's services and `docker compose down` on `--kill`. Requires `port`. */
92
+ compose?: string;
93
+ /** Mock mode: OpenAPI spec file (relative to app root); the CLI emulates
94
+ * the service with a Prism mock server (`npx @stoplight/prism-cli mock`)
95
+ * as mock-{name}. */
96
+ openapi?: string;
97
+ /** @deprecated alias for `mode: "remote"` (with inline credentials). */
98
+ sandbox?: boolean;
99
+ /** Remote-mode credential source. When the external runs in remote mode,
100
+ * its credentials come from (first match): `remote.credentials` (inline,
101
+ * env-interpolated), the top-level `credentials` if this declaration has
102
+ * no local/mock realization (a pure-remote declaration), or the external
103
+ * service configured in the app's tenant environment `remote.env`
104
+ * (default "dev") — secret mesh/{tenant}/{env}/external/{name}, read
105
+ * with the developer's ambient AWS credentials. `remote.profile` names
106
+ * the AWS profile for that pull when the shell carries no AWS identity
107
+ * (no AWS_ACCESS_KEY_ID / AWS_PROFILE); the MESH_AWS_PROFILE env var
108
+ * overrides it — the same convention repo pull scripts use. */
109
+ remote?: {
110
+ env?: string;
111
+ credentials?: Record<string, string>;
112
+ profile?: string;
113
+ };
114
+ /** Human-facing integration name shown in the Hub (e.g. "Plaid",
115
+ * "Unit21"). @default the external name title-cased ("plaid-db" →
116
+ * "Plaid Db"). */
117
+ displayName?: string;
118
+ /** Vendor reference documentation for the integration, linked from the
119
+ * Hub — a URL string or `{ url, provider }`.
120
+ * @example "https://plaid.com/docs/api/" */
121
+ docs?: string | {
122
+ url: string;
123
+ provider?: string;
124
+ };
125
+ /** Fixed port; omitted = auto-allocated after the app's services.
126
+ * REQUIRED in local (compose) mode — the compose file's published port. */
127
+ port?: number;
128
+ /** Launch command (default: ["pnpm", "dev"]; openapi mocks synthesize a
129
+ * Prism command) */
130
+ command?: string[];
131
+ /** Extra env for the mock process */
132
+ env?: Record<string, string>;
133
+ /** ExternalService name this declaration realizes */
134
+ external?: string;
135
+ /** Credential JSON seeded into the external secret (the local/mock
136
+ * realization's template; also the remote source for pure-remote
137
+ * declarations). Tokens: "{{url}}" → the stand-in's URL, "{{host}}"/
138
+ * "{{port}}" → its host/port, and "{{env:VAR}}" → the developer's
139
+ * environment (all modes). */
140
+ credentials?: Record<string, string>;
141
+ /** Integration type shown in the Hub — api, database, object_storage,
142
+ * sftp, banking_core, … (@default "other"). Display only; derived
143
+ * reachability probes key off the credential fields themselves (a
144
+ * `bucket` credential probes TCP to the bucket endpoint regardless of
145
+ * the declared type). */
146
+ type?: string;
147
+ /** Health endpoint path probed by the platform's blackbox exporter
148
+ * (uptime in the Hub). @default "/health" for local/mock realizations;
149
+ * remote endpoints default to probing the endpoint root ("") since
150
+ * vendors rarely expose /health. */
151
+ healthPath?: string;
152
+ /** Blackbox probe module. "http" (default) GETs the health URL and
153
+ * expects 2xx; "tcp" only checks the port accepts connections — REQUIRED
154
+ * for non-HTTP externals (databases, SFTP, …) whose uptime would
155
+ * otherwise always read down. */
156
+ probe?: "http" | "tcp";
157
+ }
158
+ /** The three ways an external service exists in a local dev session. */
159
+ export type ExternalMode = "mock" | "local" | "remote";
160
+ /**
161
+ * Resolve + validate an external's mode: explicit `mode` (or the one
162
+ * inferred from the realization fields), checked against the fields that
163
+ * mode needs. Pre-mode declarations infer: compose → local, openapi/src →
164
+ * mock, sandbox/credentials-only → remote.
165
+ */
166
+ export declare function externalMode(name: string, decl: LocalMockDecl): ExternalMode;
167
+ /** A parsed `--externals` selection: the externals named, and the per-run
168
+ * mode overrides typed alongside them (`plaid-db=remote`). */
169
+ export interface ExternalsSelection {
170
+ names: string[];
171
+ overrides: Map<string, ExternalMode>;
172
+ }
173
+ /**
174
+ * Parse a `--externals` value — a comma-separated list of `name` or
175
+ * `name=mode` entries. An explicit mode overrides that declaration's
176
+ * default FOR THIS RUN; a bare name keeps the declared default.
177
+ *
178
+ * Names are returned in the order typed, de-duplicated (the last mode
179
+ * given for a name wins, so `--externals plaid,plaid=remote` is remote).
180
+ */
181
+ export declare function parseExternalsSelection(input: string): ExternalsSelection;
182
+ /**
183
+ * The inline credential template a remote-mode run should use, if any:
184
+ * `remote.credentials` always wins; top-level `credentials` count only when
185
+ * the declaration has no local/mock realization (otherwise they are that
186
+ * realization's template, full of {{host}}/{{port}} tokens that only mean
187
+ * something against a local endpoint).
188
+ */
189
+ export declare function remoteInlineCredentials(decl: LocalMockDecl): Record<string, string> | undefined;
190
+ /** Whether this declaration runs as a mock-{name} service in the dev
191
+ * orchestration (mock mode) vs outside it (local compose / remote). */
192
+ export declare function isServiceMode(name: string, decl: LocalMockDecl): boolean;
193
+ /** Endpoint tokens available to credential interpolation. */
194
+ export interface MockEndpoint {
195
+ url: string;
196
+ host: string;
197
+ port: number;
198
+ }
199
+ /**
200
+ * Interpolate one credential value: {{url}}/{{host}}/{{port}} from the
201
+ * stand-in's endpoint, {{env:VAR}} from the developer's environment
202
+ * (missing env vars are a hard error — a half-seeded secret is worse).
203
+ */
204
+ export declare function interpolateCredentialValue(raw: string, endpoint: MockEndpoint | undefined, env?: NodeJS.ProcessEnv): string;
205
+ /** The Prism mock command for an openapi-mode declaration. `$PORT` expands
206
+ * in the service's launch shell (tmux and docker runners both source the
207
+ * env file), so port reallocation keeps working. */
208
+ export declare function openapiMockCommand(decl: LocalMockDecl): string[];
209
+ /** Compose-mode project name — pinned so `--kill` can tear down exactly
210
+ * what `up` created, regardless of the compose file's own `name:`. */
211
+ export declare function composeProjectName(sessionName: string, mockName: string): string;
212
+ /** A compose-mode external recorded in session state for teardown. */
213
+ export interface ComposeExternalRef {
214
+ name: string;
215
+ composeFile: string;
216
+ project: string;
217
+ }
218
+ /** What an existing realization of a compose external means for this run.
219
+ * - `up` → nothing foreign in the way (or the realization is OURS):
220
+ * normal idempotent `up`, ref recorded for `--kill`.
221
+ * - `adopt-served` → ANOTHER realization of THIS compose file already serves
222
+ * the declared port.
223
+ * - `adopt-stopped` → a stopped container from another compose project holds
224
+ * a `container_name` this file pins.
225
+ * - `conflict` → the port is served by something this compose file does
226
+ * not define (a native database, an unrelated container).
227
+ * Never adopted: the app's credentials would be seeded
228
+ * against the wrong service. */
229
+ export type ComposeExternalPlan = {
230
+ action: "up";
231
+ } | {
232
+ action: "adopt-served";
233
+ container: string;
234
+ } | {
235
+ action: "adopt-stopped";
236
+ container: string;
237
+ } | {
238
+ action: "conflict";
239
+ container?: string;
240
+ };
241
+ /** The docker/network lookups `planComposeExternal` needs, injectable so the
242
+ * branch table is unit-testable without a docker daemon. */
243
+ export interface ComposeExternalProbes {
244
+ /** Is a container of OUR compose project already running for this file? */
245
+ ownsRunning(composeFile: string, project: string): boolean;
246
+ /** Does anything accept TCP on the declared port? */
247
+ portServed(port: number): Promise<boolean>;
248
+ /** A pinned `container_name` held by a DIFFERENT compose project. */
249
+ foreignPinned(composeFile: string, project: string): string | undefined;
250
+ /** Who publishes `port`, and is it a service THIS compose file defines?
251
+ * Undefined when nothing in docker publishes it (a native process, or no
252
+ * docker at all) — which is itself disqualifying for adoption. */
253
+ portPublisher(composeFile: string, port: number): {
254
+ container: string;
255
+ definedByFile: boolean;
256
+ } | undefined;
257
+ }
258
+ /**
259
+ * Decide how to realize a compose external, given what already exists.
260
+ *
261
+ * OWNERSHIP FIRST: a port probe can't tell WHO serves the port, and the
262
+ * ordinary flow re-runs `mesh dev` against a session whose compose externals
263
+ * are deliberately left running. Adopting there would drop the ref from
264
+ * session state and permanently orphan the checkout's own container, so our
265
+ * own realization takes the normal `up` path (idempotent, ref re-recorded)
266
+ * and only a foreign one is adopted.
267
+ *
268
+ * IDENTITY SECOND: a foreign publisher is only adopted when it is a service
269
+ * THIS compose file defines. Well-known ports (1433/5432/22) are exactly
270
+ * where a native install or an unrelated container turns up, and adopting one
271
+ * silently seeds the app's credentials against the wrong database.
272
+ */
273
+ export declare function planComposeExternal(composeFile: string, project: string, port: number, probes: ComposeExternalProbes): Promise<ComposeExternalPlan>;
274
+ /**
275
+ * Bring a compose-mode external up (idempotent; waits for healthchecks —
276
+ * vendor DBs restoring seed data can take a while, hence the timeout).
277
+ *
278
+ * ADOPTION: the same external is often realized by more than one checkout —
279
+ * e.g. a vendor-DB compose ported from a legacy repo pins `container_name`
280
+ * and a host port, so whichever checkout created it first blocks every other
281
+ * `docker compose up` (name + port conflicts). An external service is by
282
+ * definition outside the app, so if ANOTHER checkout already serves its
283
+ * published port — or left a stopped container holding the pinned name —
284
+ * this ADOPTS that realization instead of failing: skip/`docker start`, wait
285
+ * for the port, and return undefined so `--kill` never tears down what
286
+ * another checkout owns. Our OWN realization is never adopted (see
287
+ * `planComposeExternal`) — it stays recorded so `--kill` still cleans it up,
288
+ * and a publisher this compose file doesn't define is never adopted either
289
+ * (it would seed the app's credentials against the wrong service).
290
+ */
291
+ export declare function composeExternalUp(appRoot: string, sessionName: string, name: string, decl: LocalMockDecl, probes?: ComposeExternalProbes): Promise<ComposeExternalRef | undefined>;
292
+ /** Tear down compose-mode externals recorded in session state. Volumes are
293
+ * kept (vendor DB data survives sessions, like the cloud external it
294
+ * stands in for); best-effort per project. */
295
+ export declare function composeExternalsDown(refs: ComposeExternalRef[] | undefined): void;
296
+ /** Read the app's declared externals (root package.json → mesh.externals;
297
+ * legacy key mesh.mocks still read, externals wins on name collision). */
298
+ export declare function readLocalMocks(appRoot: string): Record<string, LocalMockDecl>;
299
+ export declare function externalSecretPath(tenant: string, external: string): string;
300
+ /**
301
+ * Pull an external service's credentials as configured in the app's tenant
302
+ * environment (the CLOUD platform, not the local fabric) — secret
303
+ * mesh/{tenant}/{env}/external/{name}, read with the developer's ambient
304
+ * AWS credentials (AWS_PROFILE / SSO session for that tenant's account).
305
+ * When the shell carries no AWS identity at all, `profile` (from the
306
+ * declaration; MESH_AWS_PROFILE overrides) names the profile to use — the
307
+ * same convention repo pull scripts follow.
308
+ */
309
+ export declare function fetchRemoteExternalCredentials(tenant: string, env: string, external: string, profile?: string): Promise<Record<string, string>>;
310
+ /** The blackbox probe target for a realization, by mode: local/mock
311
+ * stand-ins are probed on the host (the prober runs inside the stack →
312
+ * host.docker.internal); remote externals are probed at their REAL
313
+ * endpoint, so the Hub shows actual vendor reachability. Every integration
314
+ * gets AT LEAST a reachability check when its credentials expose a target:
315
+ * an HTTP endpoint, a host(:port), or an S3 bucket (probed via TCP to the
316
+ * bucket endpoint — no SDK/credentials needed, the same technique CSP's
317
+ * network lib used). Undefined = nothing probeable in the credentials.
318
+ *
319
+ * Target and module come from ONE decision here so they can't drift: a
320
+ * misrouted probe just reports probe_success 0, indistinguishable from a
321
+ * genuinely down service. `tcp` yields host:port with no scheme/path and
322
+ * routes the scrape to blackbox's tcp_connect (the scrape config's default
323
+ * stays http_2xx); `http` GETs the target and expects 2xx. */
324
+ export declare function resolveProbeTarget(mode: ExternalMode, decl: LocalMockDecl, endpoint: MockEndpoint | undefined, creds: Record<string, string>): {
325
+ target: string;
326
+ module?: "tcp_connect";
327
+ } | undefined;
328
+ /** Hub display name: explicit `displayName`, else the external name
329
+ * title-cased on word boundaries ("plaid-db" → "Plaid Db"). */
330
+ export declare function externalDisplayName(name: string, decl: LocalMockDecl): string;
331
+ /** Normalize the decl's `docs` (string URL or {url, provider}) for the meta. */
332
+ export declare function externalDocs(decl: LocalMockDecl): {
333
+ url: string;
334
+ provider?: string;
335
+ } | undefined;
336
+ /** Prometheus file_sd target file for one external's uptime probe. One
337
+ * file per (tenant, app, external) so a session's probes can be removed on
338
+ * `--kill` without touching another app's. */
339
+ export declare function localProbeFile(tenant: string, app: string, external: string): string;
340
+ /** Drop probe target files (best effort). Called on `mesh dev --kill` so
341
+ * Prometheus stops scraping stand-ins that no longer exist — otherwise the
342
+ * Hub shows an integration down for a session that isn't running. */
343
+ export declare function localProbesRemove(files: string[] | undefined): void;
344
+ /**
345
+ * Wire a realization into the platform: seed the external-service
346
+ * credential secret and register the vendor in the local Hub's
347
+ * external-services view — the same shapes ExternalService exports in the
348
+ * cloud. `endpoint` is the local stand-in's address (absent in remote
349
+ * mode — the credentials carry the real endpoint).
350
+ *
351
+ * Returns the probe target file this realization registered, if any, so the
352
+ * caller can record it in session state and remove it on `--kill`.
353
+ */
354
+ export declare function seedLocalMock(args: {
355
+ tenant: string;
356
+ app: string;
357
+ name: string;
358
+ decl: LocalMockDecl;
359
+ endpoint?: MockEndpoint;
360
+ }): Promise<string | undefined>;
361
+ //# sourceMappingURL=mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../../../src/commands/local/mocks.ts"],"names":[],"mappings":"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"}