ai-project-manage-cli 2.0.26 → 3.0.1

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 (291) hide show
  1. package/dist/index.js +498 -20
  2. package/package.json +27 -25
  3. package/template/apm.config.json +5 -0
  4. package/template/deploy/README.md +3 -0
  5. package/template/workitems/README.md +19 -0
  6. package/README.md +0 -171
  7. package/dist/api/cli.d.ts +0 -228
  8. package/dist/api/cli.d.ts.map +0 -1
  9. package/dist/api/cli.js +0 -3
  10. package/dist/api/cli.js.map +0 -1
  11. package/dist/api/client.d.ts +0 -5
  12. package/dist/api/client.d.ts.map +0 -1
  13. package/dist/api/client.js +0 -30
  14. package/dist/api/client.js.map +0 -1
  15. package/dist/api/http.d.ts +0 -21
  16. package/dist/api/http.d.ts.map +0 -1
  17. package/dist/api/http.js +0 -108
  18. package/dist/api/http.js.map +0 -1
  19. package/dist/api/index.d.ts +0 -6
  20. package/dist/api/index.d.ts.map +0 -1
  21. package/dist/api/index.js +0 -13
  22. package/dist/api/index.js.map +0 -1
  23. package/dist/api/request-config.d.ts +0 -25
  24. package/dist/api/request-config.d.ts.map +0 -1
  25. package/dist/api/request-config.js +0 -73
  26. package/dist/api/request-config.js.map +0 -1
  27. package/dist/api/requirement.d.ts +0 -1
  28. package/dist/api/requirement.d.ts.map +0 -1
  29. package/dist/api/requirement.js +0 -2
  30. package/dist/api/requirement.js.map +0 -1
  31. package/dist/apm-dotenv.d.ts +0 -8
  32. package/dist/apm-dotenv.d.ts.map +0 -1
  33. package/dist/apm-dotenv.js +0 -73
  34. package/dist/apm-dotenv.js.map +0 -1
  35. package/dist/cli/agent-stream-log.d.ts +0 -41
  36. package/dist/cli/agent-stream-log.d.ts.map +0 -1
  37. package/dist/cli/agent-stream-log.js +0 -364
  38. package/dist/cli/agent-stream-log.js.map +0 -1
  39. package/dist/cli/commands/auth.d.ts +0 -3
  40. package/dist/cli/commands/auth.d.ts.map +0 -1
  41. package/dist/cli/commands/auth.js +0 -51
  42. package/dist/cli/commands/auth.js.map +0 -1
  43. package/dist/cli/commands/chat.d.ts +0 -3
  44. package/dist/cli/commands/chat.d.ts.map +0 -1
  45. package/dist/cli/commands/chat.js +0 -32
  46. package/dist/cli/commands/chat.js.map +0 -1
  47. package/dist/cli/commands/comment.d.ts +0 -3
  48. package/dist/cli/commands/comment.d.ts.map +0 -1
  49. package/dist/cli/commands/comment.js +0 -66
  50. package/dist/cli/commands/comment.js.map +0 -1
  51. package/dist/cli/commands/config.d.ts +0 -3
  52. package/dist/cli/commands/config.d.ts.map +0 -1
  53. package/dist/cli/commands/config.js +0 -39
  54. package/dist/cli/commands/config.js.map +0 -1
  55. package/dist/cli/commands/deploy-backend.d.ts +0 -7
  56. package/dist/cli/commands/deploy-backend.d.ts.map +0 -1
  57. package/dist/cli/commands/deploy-backend.js +0 -77
  58. package/dist/cli/commands/deploy-backend.js.map +0 -1
  59. package/dist/cli/commands/deploy-frontend.d.ts +0 -3
  60. package/dist/cli/commands/deploy-frontend.d.ts.map +0 -1
  61. package/dist/cli/commands/deploy-frontend.js +0 -167
  62. package/dist/cli/commands/deploy-frontend.js.map +0 -1
  63. package/dist/cli/commands/get.d.ts +0 -3
  64. package/dist/cli/commands/get.d.ts.map +0 -1
  65. package/dist/cli/commands/get.js +0 -145
  66. package/dist/cli/commands/get.js.map +0 -1
  67. package/dist/cli/commands/init.d.ts +0 -3
  68. package/dist/cli/commands/init.d.ts.map +0 -1
  69. package/dist/cli/commands/init.js +0 -179
  70. package/dist/cli/commands/init.js.map +0 -1
  71. package/dist/cli/commands/minio.d.ts +0 -3
  72. package/dist/cli/commands/minio.d.ts.map +0 -1
  73. package/dist/cli/commands/minio.js +0 -65
  74. package/dist/cli/commands/minio.js.map +0 -1
  75. package/dist/cli/commands/publish.d.ts +0 -3
  76. package/dist/cli/commands/publish.d.ts.map +0 -1
  77. package/dist/cli/commands/publish.js +0 -130
  78. package/dist/cli/commands/publish.js.map +0 -1
  79. package/dist/cli/commands/release.d.ts +0 -3
  80. package/dist/cli/commands/release.d.ts.map +0 -1
  81. package/dist/cli/commands/release.js +0 -37
  82. package/dist/cli/commands/release.js.map +0 -1
  83. package/dist/cli/commands/requirement.d.ts +0 -3
  84. package/dist/cli/commands/requirement.d.ts.map +0 -1
  85. package/dist/cli/commands/requirement.js +0 -169
  86. package/dist/cli/commands/requirement.js.map +0 -1
  87. package/dist/cli/commands/set.d.ts +0 -3
  88. package/dist/cli/commands/set.d.ts.map +0 -1
  89. package/dist/cli/commands/set.js +0 -103
  90. package/dist/cli/commands/set.js.map +0 -1
  91. package/dist/cli/commands/status.d.ts +0 -3
  92. package/dist/cli/commands/status.d.ts.map +0 -1
  93. package/dist/cli/commands/status.js +0 -42
  94. package/dist/cli/commands/status.js.map +0 -1
  95. package/dist/cli/commands/update.d.ts +0 -3
  96. package/dist/cli/commands/update.d.ts.map +0 -1
  97. package/dist/cli/commands/update.js +0 -36
  98. package/dist/cli/commands/update.js.map +0 -1
  99. package/dist/cli/commands/ws.d.ts +0 -3
  100. package/dist/cli/commands/ws.d.ts.map +0 -1
  101. package/dist/cli/commands/ws.js +0 -25
  102. package/dist/cli/commands/ws.js.map +0 -1
  103. package/dist/cli/credentials.d.ts +0 -30
  104. package/dist/cli/credentials.d.ts.map +0 -1
  105. package/dist/cli/credentials.js +0 -52
  106. package/dist/cli/credentials.js.map +0 -1
  107. package/dist/cli/exit-api-error.d.ts +0 -2
  108. package/dist/cli/exit-api-error.d.ts.map +0 -1
  109. package/dist/cli/exit-api-error.js +0 -18
  110. package/dist/cli/exit-api-error.js.map +0 -1
  111. package/dist/cli/instruction-log-stream-sink.d.ts +0 -31
  112. package/dist/cli/instruction-log-stream-sink.d.ts.map +0 -1
  113. package/dist/cli/instruction-log-stream-sink.js +0 -59
  114. package/dist/cli/instruction-log-stream-sink.js.map +0 -1
  115. package/dist/cli/session.d.ts +0 -26
  116. package/dist/cli/session.d.ts.map +0 -1
  117. package/dist/cli/session.js +0 -41
  118. package/dist/cli/session.js.map +0 -1
  119. package/dist/cli/utils/parse.d.ts +0 -2
  120. package/dist/cli/utils/parse.d.ts.map +0 -1
  121. package/dist/cli/utils/parse.js +0 -12
  122. package/dist/cli/utils/parse.js.map +0 -1
  123. package/dist/cli/ws-run-command.d.ts +0 -13
  124. package/dist/cli/ws-run-command.d.ts.map +0 -1
  125. package/dist/cli/ws-run-command.js +0 -330
  126. package/dist/cli/ws-run-command.js.map +0 -1
  127. package/dist/cli-version.d.ts +0 -9
  128. package/dist/cli-version.d.ts.map +0 -1
  129. package/dist/cli-version.js +0 -61
  130. package/dist/cli-version.js.map +0 -1
  131. package/dist/cli.d.ts +0 -3
  132. package/dist/cli.d.ts.map +0 -1
  133. package/dist/cli.js +0 -36
  134. package/dist/cli.js.map +0 -1
  135. package/dist/config-store.d.ts +0 -38
  136. package/dist/config-store.d.ts.map +0 -1
  137. package/dist/config-store.js +0 -131
  138. package/dist/config-store.js.map +0 -1
  139. package/dist/core/apm-config.d.ts +0 -81
  140. package/dist/core/apm-config.d.ts.map +0 -1
  141. package/dist/core/apm-config.js +0 -147
  142. package/dist/core/apm-config.js.map +0 -1
  143. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts +0 -20
  144. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts.map +0 -1
  145. package/dist/core/backend-deploy/backend-deploy-workflow.js +0 -86
  146. package/dist/core/backend-deploy/backend-deploy-workflow.js.map +0 -1
  147. package/dist/core/backend-deploy/command-runner.d.ts +0 -11
  148. package/dist/core/backend-deploy/command-runner.d.ts.map +0 -1
  149. package/dist/core/backend-deploy/command-runner.js +0 -47
  150. package/dist/core/backend-deploy/command-runner.js.map +0 -1
  151. package/dist/core/backend-deploy/dockerode-client/client.d.ts +0 -18
  152. package/dist/core/backend-deploy/dockerode-client/client.d.ts.map +0 -1
  153. package/dist/core/backend-deploy/dockerode-client/client.js +0 -114
  154. package/dist/core/backend-deploy/dockerode-client/client.js.map +0 -1
  155. package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts +0 -6
  156. package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts.map +0 -1
  157. package/dist/core/backend-deploy/dockerode-client/connection-options.js +0 -62
  158. package/dist/core/backend-deploy/dockerode-client/connection-options.js.map +0 -1
  159. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts +0 -3
  160. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts.map +0 -1
  161. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js +0 -23
  162. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js.map +0 -1
  163. package/dist/core/backend-deploy/dockerode-client/container-options.d.ts +0 -4
  164. package/dist/core/backend-deploy/dockerode-client/container-options.d.ts.map +0 -1
  165. package/dist/core/backend-deploy/dockerode-client/container-options.js +0 -44
  166. package/dist/core/backend-deploy/dockerode-client/container-options.js.map +0 -1
  167. package/dist/core/backend-deploy/dockerode-client/env.d.ts +0 -3
  168. package/dist/core/backend-deploy/dockerode-client/env.d.ts.map +0 -1
  169. package/dist/core/backend-deploy/dockerode-client/env.js +0 -40
  170. package/dist/core/backend-deploy/dockerode-client/env.js.map +0 -1
  171. package/dist/core/backend-deploy/dockerode-client/index.d.ts +0 -8
  172. package/dist/core/backend-deploy/dockerode-client/index.d.ts.map +0 -1
  173. package/dist/core/backend-deploy/dockerode-client/index.js +0 -17
  174. package/dist/core/backend-deploy/dockerode-client/index.js.map +0 -1
  175. package/dist/core/backend-deploy/dockerode-client/ports.d.ts +0 -9
  176. package/dist/core/backend-deploy/dockerode-client/ports.d.ts.map +0 -1
  177. package/dist/core/backend-deploy/dockerode-client/ports.js +0 -35
  178. package/dist/core/backend-deploy/dockerode-client/ports.js.map +0 -1
  179. package/dist/core/backend-deploy/dockerode-client/runtime.d.ts +0 -7
  180. package/dist/core/backend-deploy/dockerode-client/runtime.d.ts.map +0 -1
  181. package/dist/core/backend-deploy/dockerode-client/runtime.js +0 -26
  182. package/dist/core/backend-deploy/dockerode-client/runtime.js.map +0 -1
  183. package/dist/core/backend-deploy/dockerode-client/types.d.ts +0 -64
  184. package/dist/core/backend-deploy/dockerode-client/types.d.ts.map +0 -1
  185. package/dist/core/backend-deploy/dockerode-client/types.js +0 -3
  186. package/dist/core/backend-deploy/dockerode-client/types.js.map +0 -1
  187. package/dist/core/backend-deploy/image-tag.d.ts +0 -2
  188. package/dist/core/backend-deploy/image-tag.d.ts.map +0 -1
  189. package/dist/core/backend-deploy/image-tag.js +0 -15
  190. package/dist/core/backend-deploy/image-tag.js.map +0 -1
  191. package/dist/core/backend-deploy/index.d.ts +0 -3
  192. package/dist/core/backend-deploy/index.d.ts.map +0 -1
  193. package/dist/core/backend-deploy/index.js +0 -6
  194. package/dist/core/backend-deploy/index.js.map +0 -1
  195. package/dist/core/backend-deploy/local-docker-build.d.ts +0 -8
  196. package/dist/core/backend-deploy/local-docker-build.d.ts.map +0 -1
  197. package/dist/core/backend-deploy/local-docker-build.js +0 -25
  198. package/dist/core/backend-deploy/local-docker-build.js.map +0 -1
  199. package/dist/core/backend-deploy/logger.d.ts +0 -10
  200. package/dist/core/backend-deploy/logger.d.ts.map +0 -1
  201. package/dist/core/backend-deploy/logger.js +0 -22
  202. package/dist/core/backend-deploy/logger.js.map +0 -1
  203. package/dist/core/backend-deploy/registry-login-push.d.ts +0 -24
  204. package/dist/core/backend-deploy/registry-login-push.d.ts.map +0 -1
  205. package/dist/core/backend-deploy/registry-login-push.js +0 -37
  206. package/dist/core/backend-deploy/registry-login-push.js.map +0 -1
  207. package/dist/core/backend-deploy/remote-docker-client.d.ts +0 -11
  208. package/dist/core/backend-deploy/remote-docker-client.d.ts.map +0 -1
  209. package/dist/core/backend-deploy/remote-docker-client.js +0 -34
  210. package/dist/core/backend-deploy/remote-docker-client.js.map +0 -1
  211. package/dist/core/backend-deploy/remote-pull-image.d.ts +0 -9
  212. package/dist/core/backend-deploy/remote-pull-image.d.ts.map +0 -1
  213. package/dist/core/backend-deploy/remote-pull-image.js +0 -39
  214. package/dist/core/backend-deploy/remote-pull-image.js.map +0 -1
  215. package/dist/core/backend-deploy/resolve-dockerfile.d.ts +0 -7
  216. package/dist/core/backend-deploy/resolve-dockerfile.d.ts.map +0 -1
  217. package/dist/core/backend-deploy/resolve-dockerfile.js +0 -24
  218. package/dist/core/backend-deploy/resolve-dockerfile.js.map +0 -1
  219. package/dist/core/backend-deploy/run-docker-cli.d.ts +0 -9
  220. package/dist/core/backend-deploy/run-docker-cli.d.ts.map +0 -1
  221. package/dist/core/backend-deploy/run-docker-cli.js +0 -14
  222. package/dist/core/backend-deploy/run-docker-cli.js.map +0 -1
  223. package/dist/core/backend-deploy/types.d.ts +0 -23
  224. package/dist/core/backend-deploy/types.d.ts.map +0 -1
  225. package/dist/core/backend-deploy/types.js +0 -3
  226. package/dist/core/backend-deploy/types.js.map +0 -1
  227. package/dist/core/branch-name.d.ts +0 -8
  228. package/dist/core/branch-name.d.ts.map +0 -1
  229. package/dist/core/branch-name.js +0 -37
  230. package/dist/core/branch-name.js.map +0 -1
  231. package/dist/core/constants.d.ts +0 -4
  232. package/dist/core/constants.d.ts.map +0 -1
  233. package/dist/core/constants.js +0 -16
  234. package/dist/core/constants.js.map +0 -1
  235. package/dist/core/cursor-cmd.d.ts +0 -30
  236. package/dist/core/cursor-cmd.d.ts.map +0 -1
  237. package/dist/core/cursor-cmd.js +0 -193
  238. package/dist/core/cursor-cmd.js.map +0 -1
  239. package/dist/core/minio.d.ts +0 -37
  240. package/dist/core/minio.d.ts.map +0 -1
  241. package/dist/core/minio.js +0 -159
  242. package/dist/core/minio.js.map +0 -1
  243. package/dist/core/parse-testcase-md.d.ts +0 -17
  244. package/dist/core/parse-testcase-md.d.ts.map +0 -1
  245. package/dist/core/parse-testcase-md.js +0 -79
  246. package/dist/core/parse-testcase-md.js.map +0 -1
  247. package/dist/core/std-event-handler.d.ts +0 -25
  248. package/dist/core/std-event-handler.d.ts.map +0 -1
  249. package/dist/core/std-event-handler.js +0 -90
  250. package/dist/core/std-event-handler.js.map +0 -1
  251. package/dist/core/utils.d.ts +0 -19
  252. package/dist/core/utils.d.ts.map +0 -1
  253. package/dist/core/utils.js +0 -71
  254. package/dist/core/utils.js.map +0 -1
  255. package/dist/core/ws-client.d.ts +0 -29
  256. package/dist/core/ws-client.d.ts.map +0 -1
  257. package/dist/core/ws-client.js +0 -81
  258. package/dist/core/ws-client.js.map +0 -1
  259. package/dist/employee-ws-client.d.ts +0 -42
  260. package/dist/employee-ws-client.d.ts.map +0 -1
  261. package/dist/employee-ws-client.js +0 -99
  262. package/dist/employee-ws-client.js.map +0 -1
  263. package/dist/index.d.ts +0 -6
  264. package/dist/index.d.ts.map +0 -1
  265. package/dist/index.js.map +0 -1
  266. package/templates/commands/apm-auto-dev.md +0 -6
  267. package/templates/commands/apm-fixbug.md +0 -6
  268. package/templates/commands/apm-prd-review.md +0 -6
  269. package/templates/commands/apm-prd-sync.md +0 -6
  270. package/templates/skills/apm-apply-change/SKILL.md +0 -191
  271. package/templates/skills/apm-auto-dev/SKILL.md +0 -170
  272. package/templates/skills/apm-fixbug/SKILL.md +0 -97
  273. package/templates/skills/apm-propose/SKILL.md +0 -123
  274. package/templates/skills/apm-propose/design-instruction.md +0 -94
  275. package/templates/skills/apm-propose/propose-instruction.md +0 -81
  276. package/templates/skills/apm-propose/specs-instruction.md +0 -114
  277. package/templates/skills/apm-propose/tasks-instruction.md +0 -90
  278. package/templates/skills/apm-release/SKILL.md +0 -87
  279. package/templates/skills/code-change-summary/SKILL.md +0 -84
  280. package/templates/skills/code-change-summary/summary-template.md +0 -55
  281. package/templates/skills/code-deploy/SKILL.md +0 -39
  282. package/templates/skills/prd-review/SKILL.md +0 -48
  283. package/templates/skills/prd-review/output-template.md +0 -47
  284. package/templates/skills/prd-sync/SKILL.md +0 -74
  285. package/templates/skills/prd-sync/updated-requirement-template.md +0 -39
  286. package/templates/skills/prd-testcase/SKILL.md +0 -82
  287. package/templates/skills/prd-testcase/reference.md +0 -44
  288. package/templates/skills/product-capability-inventory/SKILL.md +0 -131
  289. package/templates/skills/product-capability-inventory/template.md +0 -80
  290. package/templates/skills/product-capability-inventory//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +0 -36
  291. package/templates/skills/product-capability-inventory//347/233/256/345/275/225/350/247/204/350/214/203.md +0 -58
@@ -1,18 +0,0 @@
1
- import type { DockerContainerStateSummary, DockerCreateContainerInput, DockerodeClientFactory, DockerodeClientPort, DockerDeployConnectionConfig, DockerPullAuth } from "./types";
2
- export declare class DockerodeClient implements DockerodeClientPort {
3
- private readonly client;
4
- constructor(config: DockerDeployConnectionConfig);
5
- ping(): Promise<void>;
6
- imageExists(image: string): Promise<boolean>;
7
- removeImage(image: string): Promise<void>;
8
- pullImage(image: string, auth?: DockerPullAuth): Promise<void>;
9
- findContainerIdByName(name: string): Promise<string | undefined>;
10
- stopContainer(id: string): Promise<void>;
11
- removeContainer(id: string): Promise<void>;
12
- createContainer(input: DockerCreateContainerInput): Promise<string>;
13
- startContainer(id: string): Promise<void>;
14
- inspectContainer(id: string): Promise<DockerContainerStateSummary>;
15
- getContainerLogs(id: string, tail?: number): Promise<string>;
16
- }
17
- export declare const createDockerodeClient: DockerodeClientFactory;
18
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,4BAA4B;IAK1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B9D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQhE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,eAAe,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAiBlE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAchE;AAED,eAAO,MAAM,qBAAqB,EAAE,sBACP,CAAC"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createDockerodeClient = exports.DockerodeClient = void 0;
7
- const dockerode_1 = __importDefault(require("dockerode"));
8
- const connection_options_1 = require("./connection-options");
9
- const container_inspect_format_1 = require("./container-inspect-format");
10
- const container_options_1 = require("./container-options");
11
- class DockerodeClient {
12
- client;
13
- constructor(config) {
14
- const options = (0, connection_options_1.toDockerConnectionOptions)(config);
15
- this.client = new dockerode_1.default(options);
16
- }
17
- async ping() {
18
- await this.client.ping();
19
- }
20
- async imageExists(image) {
21
- try {
22
- await this.client.getImage(image).inspect();
23
- return true;
24
- }
25
- catch {
26
- return false;
27
- }
28
- }
29
- async removeImage(image) {
30
- await this.client.getImage(image).remove({ force: true });
31
- }
32
- async pullImage(image, auth) {
33
- const stream = await new Promise((resolve, reject) => {
34
- const pullOptions = auth ? { authconfig: auth } : undefined;
35
- this.client.pull(image, pullOptions, (err, output) => {
36
- if (err || !output) {
37
- reject(err ?? new Error("docker pull 返回空输出"));
38
- return;
39
- }
40
- resolve(output);
41
- });
42
- });
43
- await new Promise((resolve, reject) => {
44
- this.client.modem.followProgress(stream, (err) => {
45
- if (err) {
46
- reject(err);
47
- return;
48
- }
49
- resolve();
50
- }, () => undefined);
51
- });
52
- }
53
- async findContainerIdByName(name) {
54
- const containers = await this.client.listContainers({ all: true });
55
- const matched = containers.find((item) => (item.Names ?? []).some((n) => n === `/${name}`));
56
- return matched?.Id;
57
- }
58
- async stopContainer(id) {
59
- const container = this.client.getContainer(id);
60
- try {
61
- await container.stop();
62
- }
63
- catch {
64
- // Container may already be stopped.
65
- }
66
- }
67
- async removeContainer(id) {
68
- const container = this.client.getContainer(id);
69
- await container.remove({ force: true });
70
- }
71
- async createContainer(input) {
72
- const payload = (0, container_options_1.toContainerCreateOptions)(input);
73
- const container = await this.client.createContainer(payload);
74
- return container.id;
75
- }
76
- async startContainer(id) {
77
- const container = this.client.getContainer(id);
78
- await container.start();
79
- }
80
- async inspectContainer(id) {
81
- const container = this.client.getContainer(id);
82
- const inspectInfo = await container.inspect();
83
- const state = inspectInfo?.State;
84
- const portMappings = (0, container_inspect_format_1.formatPortMappings)(inspectInfo);
85
- return {
86
- running: state?.Running,
87
- status: state?.Status,
88
- exitCode: state?.ExitCode,
89
- error: state?.Error,
90
- startedAt: state?.StartedAt,
91
- finishedAt: state?.FinishedAt,
92
- health: state?.Health?.Status,
93
- portMappings,
94
- };
95
- }
96
- async getContainerLogs(id, tail = 100) {
97
- const container = this.client.getContainer(id);
98
- const logs = await container.logs({
99
- stdout: true,
100
- stderr: true,
101
- timestamps: true,
102
- follow: false,
103
- tail,
104
- });
105
- if (typeof logs === "string") {
106
- return logs;
107
- }
108
- return logs.toString("utf8");
109
- }
110
- }
111
- exports.DockerodeClient = DockerodeClient;
112
- const createDockerodeClient = (config) => new DockerodeClient(config);
113
- exports.createDockerodeClient = createDockerodeClient;
114
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { DockerDeployConnectionConfig } from "./types";
2
- /**
3
- * 将通用连接配置转为 dockerode 可用的 modem 选项(含可选 TLS)。
4
- */
5
- export declare function toDockerConnectionOptions(config: DockerDeployConnectionConfig): Record<string, unknown>;
6
- //# sourceMappingURL=connection-options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-options.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/connection-options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAuB5D;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,4BAA4B,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BzB"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.toDockerConnectionOptions = toDockerConnectionOptions;
7
- const node_fs_1 = require("node:fs");
8
- const node_path_1 = __importDefault(require("node:path"));
9
- function asOptionalTlsBuffer(value) {
10
- if (typeof value !== "string") {
11
- console.log("tls filepath not exist");
12
- return undefined;
13
- }
14
- console.log("tls filepath", node_path_1.default.join(process.cwd(), value));
15
- const normalized = value.trim();
16
- if (normalized === "") {
17
- return undefined;
18
- }
19
- if ((0, node_fs_1.existsSync)(normalized)) {
20
- return (0, node_fs_1.readFileSync)(normalized);
21
- }
22
- const looksLikePath = /[\\/]/.test(normalized) || normalized.endsWith(".pem");
23
- if (looksLikePath) {
24
- throw new Error(`TLS 证书文件不存在:${normalized}`);
25
- }
26
- return Buffer.from(normalized);
27
- }
28
- /**
29
- * 将通用连接配置转为 dockerode 可用的 modem 选项(含可选 TLS)。
30
- */
31
- function toDockerConnectionOptions(config) {
32
- const protocol = (config.protocol ?? "https").toLowerCase();
33
- const isHttps = protocol === "https";
34
- const options = {
35
- host: config.host ?? "127.0.0.1",
36
- port: config.port ?? 2376,
37
- protocol,
38
- };
39
- const socketPath = (config.socketPath ?? "").trim();
40
- if (socketPath !== "") {
41
- options.socketPath = socketPath;
42
- }
43
- if (isHttps) {
44
- const tlsOptions = {
45
- ca: asOptionalTlsBuffer(config.ca),
46
- cert: asOptionalTlsBuffer(config.cert),
47
- key: asOptionalTlsBuffer(config.key),
48
- };
49
- if (tlsOptions.ca) {
50
- options.ca = tlsOptions.ca;
51
- }
52
- if (tlsOptions.cert) {
53
- options.cert = tlsOptions.cert;
54
- }
55
- if (tlsOptions.key) {
56
- options.key = tlsOptions.key;
57
- }
58
- options.checkServerIdentity = () => undefined;
59
- }
60
- return options;
61
- }
62
- //# sourceMappingURL=connection-options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-options.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/connection-options.ts"],"names":[],"mappings":";;;;;AA4BA,8DAiCC;AA7DD,qCAAmD;AAGnD,0DAA6B;AAE7B,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,MAAoC;IAEpC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC;IACrC,MAAM,OAAO,GAA4B;QACvC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW;QAChC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;QACzB,QAAQ;KACT,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG;YACjB,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,GAAG,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC;SACrC,CAAC;QACF,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;YAClB,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type Docker from "dockerode";
2
- export declare function formatPortMappings(inspectInfo: Docker.ContainerInspectInfo): string[] | undefined;
3
- //# sourceMappingURL=container-inspect-format.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-inspect-format.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/container-inspect-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAEpC,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,CAAC,oBAAoB,GACvC,MAAM,EAAE,GAAG,SAAS,CAoBtB"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatPortMappings = formatPortMappings;
4
- function formatPortMappings(inspectInfo) {
5
- const ports = inspectInfo?.NetworkSettings?.Ports;
6
- if (!ports || typeof ports !== "object") {
7
- return undefined;
8
- }
9
- const mappings = [];
10
- for (const [containerPort, hostBindings] of Object.entries(ports)) {
11
- if (!hostBindings || hostBindings.length === 0) {
12
- mappings.push(`${containerPort} -> <not-published>`);
13
- continue;
14
- }
15
- for (const binding of hostBindings) {
16
- const hostIp = binding.HostIp || "0.0.0.0";
17
- const hostPort = binding.HostPort || "<unknown>";
18
- mappings.push(`${containerPort} -> ${hostIp}:${hostPort}`);
19
- }
20
- }
21
- return mappings.length > 0 ? mappings : undefined;
22
- }
23
- //# sourceMappingURL=container-inspect-format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-inspect-format.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/container-inspect-format.ts"],"names":[],"mappings":";;AAEA,gDAsBC;AAtBD,SAAgB,kBAAkB,CAChC,WAAwC;IAExC,MAAM,KAAK,GAAG,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,qBAAqB,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;YAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC"}
@@ -1,4 +0,0 @@
1
- import Docker from "dockerode";
2
- import type { DockerCreateContainerInput } from "./types";
3
- export declare function toContainerCreateOptions(input: DockerCreateContainerInput): Docker.ContainerCreateOptions;
4
- //# sourceMappingURL=container-options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-options.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/container-options.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAAC,sBAAsB,CA4C/B"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toContainerCreateOptions = toContainerCreateOptions;
4
- function toContainerCreateOptions(input) {
5
- const hostConfig = {};
6
- let hasHostConfig = false;
7
- if (input.portBindings) {
8
- hostConfig.PortBindings = input.portBindings;
9
- hasHostConfig = true;
10
- }
11
- if (input.binds) {
12
- hostConfig.Binds = input.binds;
13
- hasHostConfig = true;
14
- }
15
- if (typeof input.nanoCpus === "number") {
16
- hostConfig.NanoCpus = input.nanoCpus;
17
- hasHostConfig = true;
18
- }
19
- if (typeof input.memory === "number") {
20
- hostConfig.Memory = Number(input.memory) * 1024 * 1024;
21
- hasHostConfig = true;
22
- }
23
- const payload = {
24
- name: input.name,
25
- Image: input.image,
26
- Env: input.env,
27
- };
28
- if (input.exposedPorts) {
29
- payload.ExposedPorts = input.exposedPorts;
30
- }
31
- if (hasHostConfig) {
32
- payload.HostConfig = hostConfig;
33
- }
34
- const net = input.dockerNetwork?.trim();
35
- if (net) {
36
- payload.NetworkingConfig = {
37
- EndpointsConfig: {
38
- [net]: {},
39
- },
40
- };
41
- }
42
- return payload;
43
- }
44
- //# sourceMappingURL=container-options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-options.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/container-options.ts"],"names":[],"mappings":";;AAIA,4DA8CC;AA9CD,SAAgB,wBAAwB,CACtC,KAAiC;IAEjC,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC7C,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACvD,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAkC;QAC7C,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;IACF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,GAAG,EAAE,CAAC;QACP,OAEC,CAAC,gBAAgB,GAAG;YACpB,eAAe,EAAE;gBACf,CAAC,GAAG,CAAC,EAAE,EAAE;aACV;SACF,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function loadEnvFromFile(envFilePath: string): Record<string, string>;
2
- export declare function toEnvArray(env: Record<string, string>): string[];
3
- //# sourceMappingURL=env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/env.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4B3E;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAEhE"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadEnvFromFile = loadEnvFromFile;
7
- exports.toEnvArray = toEnvArray;
8
- const node_fs_1 = require("node:fs");
9
- const node_path_1 = __importDefault(require("node:path"));
10
- function loadEnvFromFile(envFilePath) {
11
- if (!envFilePath) {
12
- return {};
13
- }
14
- const targetPath = node_path_1.default.resolve(envFilePath);
15
- if (!(0, node_fs_1.existsSync)(targetPath) || !(0, node_fs_1.statSync)(targetPath).isFile()) {
16
- return {};
17
- }
18
- const raw = (0, node_fs_1.readFileSync)(targetPath, "utf-8");
19
- const result = {};
20
- for (const line of raw.split(/\r?\n/)) {
21
- const normalized = line.trim();
22
- if (normalized === "" || normalized.startsWith("#")) {
23
- continue;
24
- }
25
- const eqIndex = normalized.indexOf("=");
26
- if (eqIndex <= 0) {
27
- continue;
28
- }
29
- const key = normalized.slice(0, eqIndex).trim();
30
- const value = normalized.slice(eqIndex + 1);
31
- if (key !== "") {
32
- result[key] = value;
33
- }
34
- }
35
- return result;
36
- }
37
- function toEnvArray(env) {
38
- return Object.entries(env).map(([key, value]) => `${key}=${value}`);
39
- }
40
- //# sourceMappingURL=env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/env.ts"],"names":[],"mappings":";;;;;AAGA,0CA4BC;AAED,gCAEC;AAnCD,qCAA6D;AAC7D,0DAA6B;AAE7B,SAAgB,eAAe,CAAC,WAAmB;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CAAC,GAA2B;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -1,8 +0,0 @@
1
- export type { DockerContainerRuntimeInput, DockerContainerStateSummary, DockerCreateContainerInput, DockerDeployConnectionConfig, DockerodeClientFactory, DockerodeClientPort, DockerPullAuth, } from "./types";
2
- export { DockerodeClient, createDockerodeClient } from "./client";
3
- export { toDockerConnectionOptions } from "./connection-options";
4
- export { formatPortMappings } from "./container-inspect-format";
5
- export { toContainerCreateOptions } from "./container-options";
6
- export { loadEnvFromFile } from "./env";
7
- export { parsePorts } from "./ports";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePorts = exports.loadEnvFromFile = exports.toContainerCreateOptions = exports.formatPortMappings = exports.toDockerConnectionOptions = exports.createDockerodeClient = exports.DockerodeClient = void 0;
4
- var client_1 = require("./client");
5
- Object.defineProperty(exports, "DockerodeClient", { enumerable: true, get: function () { return client_1.DockerodeClient; } });
6
- Object.defineProperty(exports, "createDockerodeClient", { enumerable: true, get: function () { return client_1.createDockerodeClient; } });
7
- var connection_options_1 = require("./connection-options");
8
- Object.defineProperty(exports, "toDockerConnectionOptions", { enumerable: true, get: function () { return connection_options_1.toDockerConnectionOptions; } });
9
- var container_inspect_format_1 = require("./container-inspect-format");
10
- Object.defineProperty(exports, "formatPortMappings", { enumerable: true, get: function () { return container_inspect_format_1.formatPortMappings; } });
11
- var container_options_1 = require("./container-options");
12
- Object.defineProperty(exports, "toContainerCreateOptions", { enumerable: true, get: function () { return container_options_1.toContainerCreateOptions; } });
13
- var env_1 = require("./env");
14
- Object.defineProperty(exports, "loadEnvFromFile", { enumerable: true, get: function () { return env_1.loadEnvFromFile; } });
15
- var ports_1 = require("./ports");
16
- Object.defineProperty(exports, "parsePorts", { enumerable: true, get: function () { return ports_1.parsePorts; } });
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/index.ts"],"names":[],"mappings":";;;AAUA,mCAAkE;AAAzD,yGAAA,eAAe,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAC/C,2DAAiE;AAAxD,+HAAA,yBAAyB,OAAA;AAClC,uEAAgE;AAAvD,8HAAA,kBAAkB,OAAA;AAC3B,yDAA+D;AAAtD,6HAAA,wBAAwB,OAAA;AACjC,6BAAwC;AAA/B,sGAAA,eAAe,OAAA;AACxB,iCAAqC;AAA5B,mGAAA,UAAU,OAAA"}
@@ -1,9 +0,0 @@
1
- import Docker from "dockerode";
2
- /**
3
- * 解析 `hostPort:containerPort[/udp]` 形式的端口列表为 dockerode 的 ExposedPorts / PortBindings。
4
- */
5
- export declare function parsePorts(ports?: string[]): {
6
- exposedPorts?: Docker.ContainerCreateOptions["ExposedPorts"];
7
- portBindings?: Docker.HostConfig["PortBindings"];
8
- };
9
- //# sourceMappingURL=ports.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/ports.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;CAClD,CAgCA"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePorts = parsePorts;
4
- /**
5
- * 解析 `hostPort:containerPort[/udp]` 形式的端口列表为 dockerode 的 ExposedPorts / PortBindings。
6
- */
7
- function parsePorts(ports) {
8
- if (!ports || ports.length === 0) {
9
- return {};
10
- }
11
- const exposedPorts = {};
12
- const portBindings = {};
13
- for (const rawPort of ports) {
14
- const normalized = rawPort.trim();
15
- if (normalized === "") {
16
- continue;
17
- }
18
- const [hostAndContainer, protocolPart] = normalized.split("/");
19
- const protocol = protocolPart?.trim() === "udp" ? "udp" : "tcp";
20
- const segments = hostAndContainer.split(":").map((part) => part.trim());
21
- if (segments.length !== 2 || !segments[0] || !segments[1]) {
22
- throw new Error(`container.ports 配置无效: ${rawPort}`);
23
- }
24
- const hostPort = segments[0];
25
- const containerPort = segments[1];
26
- const key = `${containerPort}/${protocol}`;
27
- exposedPorts[key] = {};
28
- portBindings[key] = [{ HostPort: hostPort }];
29
- }
30
- return {
31
- exposedPorts: Object.keys(exposedPorts).length > 0 ? exposedPorts : undefined,
32
- portBindings: Object.keys(portBindings).length > 0 ? portBindings : undefined,
33
- };
34
- }
35
- //# sourceMappingURL=ports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/ports.ts"],"names":[],"mappings":";;AAKA,gCAmCC;AAtCD;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAgB;IAIzC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAkD,EAAE,CAAC;IACvE,MAAM,YAAY,GAAsC,EAAE,CAAC;IAE3D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,QAAQ,EAAE,CAAC;QAC3C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACvB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC7E,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { DockerContainerRuntimeInput, DockerCreateContainerInput } from "./types";
2
- export declare function toRuntimeContainerInput(input: {
3
- runtime: DockerContainerRuntimeInput;
4
- resolve: (...parts: string[]) => string;
5
- readText: (path: string) => string;
6
- }): DockerCreateContainerInput;
7
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAIvF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,2BAA2B,CAAC;IACrC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC,GAAG,0BAA0B,CAoB7B"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toRuntimeContainerInput = toRuntimeContainerInput;
4
- const env_1 = require("./env");
5
- const ports_1 = require("./ports");
6
- function toRuntimeContainerInput(input) {
7
- const envFromFile = (0, env_1.loadEnvFromFile)({
8
- projectRoot: input.runtime.projectRoot,
9
- envFilePath: input.runtime.envFilePath,
10
- resolve: input.resolve,
11
- readText: input.readText,
12
- });
13
- const env = (0, env_1.mergeEnv)(envFromFile, input.runtime.env, input.runtime.cliEnv);
14
- const ports = (0, ports_1.parsePorts)(input.runtime.ports);
15
- return {
16
- name: input.runtime.name,
17
- image: input.runtime.image,
18
- env,
19
- exposedPorts: ports.exposedPorts,
20
- portBindings: ports.portBindings,
21
- binds: input.runtime.binds,
22
- nanoCpus: input.runtime.nanoCpus,
23
- memory: input.runtime.memory,
24
- };
25
- }
26
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/runtime.ts"],"names":[],"mappings":";;AAIA,0DAwBC;AA3BD,+BAAkD;AAClD,mCAAqC;AAErC,SAAgB,uBAAuB,CAAC,KAIvC;IACC,MAAM,WAAW,GAAG,IAAA,qBAAe,EAAC;QAClC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;QACtC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAA,cAAQ,EAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;QACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,GAAG;QACH,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;QAChC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;KAC7B,CAAC;AACJ,CAAC"}
@@ -1,64 +0,0 @@
1
- import type Docker from "dockerode";
2
- export type DockerDeployConnectionConfig = {
3
- socketPath?: string;
4
- host?: string;
5
- port?: number;
6
- protocol?: string;
7
- ca?: string;
8
- cert?: string;
9
- key?: string;
10
- };
11
- export type DockerodeClientPort = {
12
- ping: () => Promise<void>;
13
- imageExists: (image: string) => Promise<boolean>;
14
- removeImage: (image: string) => Promise<void>;
15
- pullImage: (image: string, auth?: DockerPullAuth) => Promise<void>;
16
- findContainerIdByName: (name: string) => Promise<string | undefined>;
17
- stopContainer: (id: string) => Promise<void>;
18
- removeContainer: (id: string) => Promise<void>;
19
- createContainer: (input: DockerCreateContainerInput) => Promise<string>;
20
- startContainer: (id: string) => Promise<void>;
21
- inspectContainer: (id: string) => Promise<DockerContainerStateSummary>;
22
- getContainerLogs: (id: string, tail?: number) => Promise<string>;
23
- };
24
- export type DockerCreateContainerInput = {
25
- name: string;
26
- image: string;
27
- env: string[];
28
- exposedPorts?: Docker.ContainerCreateOptions["ExposedPorts"];
29
- portBindings?: Docker.HostConfig["PortBindings"];
30
- binds?: Docker.HostConfig["Binds"];
31
- nanoCpus?: Docker.HostConfig["NanoCpus"];
32
- memory?: number;
33
- /** 非空时通过 NetworkingConfig 在创建时加入该网络 */
34
- dockerNetwork?: string;
35
- };
36
- export type DockerContainerRuntimeInput = {
37
- name: string;
38
- image: string;
39
- projectRoot: string;
40
- envFilePath?: string;
41
- env?: Record<string, string>;
42
- cliEnv?: Record<string, string>;
43
- ports?: string[];
44
- binds?: string[];
45
- nanoCpus?: number;
46
- memory?: number;
47
- };
48
- export type DockerPullAuth = {
49
- username?: string;
50
- password?: string;
51
- serveraddress?: string;
52
- };
53
- export type DockerContainerStateSummary = {
54
- running?: boolean;
55
- status?: string;
56
- exitCode?: number;
57
- error?: string;
58
- startedAt?: string;
59
- finishedAt?: string;
60
- health?: string;
61
- portMappings?: string[];
62
- };
63
- export type DockerodeClientFactory = (config: DockerDeployConnectionConfig) => DockerodeClientPort;
64
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/backend-deploy/dockerode-client/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare function assertDeployImageTag(tag: string): void;
2
- //# sourceMappingURL=image-tag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-tag.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/image-tag.ts"],"names":[],"mappings":"AAMA,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAOtD"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertDeployImageTag = assertDeployImageTag;
4
- /**
5
- * 部署用镜像 tag:与 OCI tag 常见规则接近(与分支名片段兼容);不用 semver 版本号作唯一约定。
6
- * 例:test、aaa_bbb、feat-1、prod
7
- */
8
- const DEPLOY_IMAGE_TAG = /^(?!\.|-)[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/;
9
- function assertDeployImageTag(tag) {
10
- const t = tag.trim();
11
- if (!DEPLOY_IMAGE_TAG.test(t)) {
12
- throw new Error(`${t} 须为合法镜像 tag(字母数字及 ._-,不以 . 或 - 开头,最长 128 字符),当前:${JSON.stringify(tag)}`);
13
- }
14
- }
15
- //# sourceMappingURL=image-tag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-tag.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/image-tag.ts"],"names":[],"mappings":";;AAMA,oDAOC;AAbD;;;GAGG;AACH,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAEtE,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,mDAAmD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC"}