@semiont/cli 0.4.9 → 0.4.12

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 (216) hide show
  1. package/dist/cli.mjs +281 -317
  2. package/dist/frontend/README.md +50 -0
  3. package/dist/frontend/dist/assets/ArrowsRightLeftIcon-CMDe963r.js +2 -0
  4. package/dist/frontend/dist/assets/ArrowsRightLeftIcon-CMDe963r.js.map +1 -0
  5. package/dist/frontend/dist/assets/AuthContext-CUx-cP7W.js +2 -0
  6. package/dist/frontend/dist/assets/AuthContext-CUx-cP7W.js.map +1 -0
  7. package/dist/frontend/dist/assets/ChevronLeftIcon-CMXd_XZQ.js +2 -0
  8. package/dist/frontend/dist/assets/ChevronLeftIcon-CMXd_XZQ.js.map +1 -0
  9. package/dist/frontend/dist/assets/CommandLineIcon-BBerq9Nd.js +2 -0
  10. package/dist/frontend/dist/assets/CommandLineIcon-BBerq9Nd.js.map +1 -0
  11. package/dist/frontend/dist/assets/CookiePreferences-BuRvkBwM.js +2 -0
  12. package/dist/frontend/dist/assets/CookiePreferences-BuRvkBwM.js.map +1 -0
  13. package/dist/frontend/dist/assets/KnowledgeBaseContext-CgnF8K-_.js +2 -0
  14. package/dist/frontend/dist/assets/KnowledgeBaseContext-CgnF8K-_.js.map +1 -0
  15. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CW6SKH2U-CjRY6TID.js +2 -0
  16. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CW6SKH2U-CjRY6TID.js.map +1 -0
  17. package/dist/frontend/dist/assets/PlusIcon-qGFPUzg0.js +2 -0
  18. package/dist/frontend/dist/assets/PlusIcon-qGFPUzg0.js.map +1 -0
  19. package/dist/frontend/dist/assets/StreamStatusContext-BuPATpTz.js +2 -0
  20. package/dist/frontend/dist/assets/StreamStatusContext-BuPATpTz.js.map +1 -0
  21. package/dist/frontend/dist/assets/ToolbarPanels-Drd8QG61.js +2 -0
  22. package/dist/frontend/dist/assets/ToolbarPanels-Drd8QG61.js.map +1 -0
  23. package/dist/frontend/dist/assets/ar-R4CRNXEF-Ca4TvZQX.js +2 -0
  24. package/dist/frontend/dist/assets/ar-R4CRNXEF-Ca4TvZQX.js.map +1 -0
  25. package/dist/frontend/dist/assets/bn-CZKGRHTA-BYgoliLL.js +2 -0
  26. package/dist/frontend/dist/assets/bn-CZKGRHTA-BYgoliLL.js.map +1 -0
  27. package/dist/frontend/dist/assets/browser-ponyfill-DkbQZCyF.js +3 -0
  28. package/dist/frontend/dist/assets/browser-ponyfill-DkbQZCyF.js.map +1 -0
  29. package/dist/frontend/dist/assets/client-BbPyO59A.js +2 -0
  30. package/dist/frontend/dist/assets/client-BbPyO59A.js.map +1 -0
  31. package/dist/frontend/dist/assets/client-BsHptwGn.js +2 -0
  32. package/dist/frontend/dist/assets/client-BsHptwGn.js.map +1 -0
  33. package/dist/frontend/dist/assets/client-COY1ucYF.js +2 -0
  34. package/dist/frontend/dist/assets/client-COY1ucYF.js.map +1 -0
  35. package/dist/frontend/dist/assets/client-DZ-DNAU-.js +2 -0
  36. package/dist/frontend/dist/assets/client-DZ-DNAU-.js.map +1 -0
  37. package/dist/frontend/dist/assets/cs-4WIB2IHH-C7kYZeeH.js +2 -0
  38. package/dist/frontend/dist/assets/cs-4WIB2IHH-C7kYZeeH.js.map +1 -0
  39. package/dist/frontend/dist/assets/da-JWYEUYPX-ZaU3NHTl.js +2 -0
  40. package/dist/frontend/dist/assets/da-JWYEUYPX-ZaU3NHTl.js.map +1 -0
  41. package/dist/frontend/dist/assets/de-GWUQZGER-DsO9vSRx.js +2 -0
  42. package/dist/frontend/dist/assets/de-GWUQZGER-DsO9vSRx.js.map +1 -0
  43. package/dist/frontend/dist/assets/el-DM2GT7P5-Baqj4u37.js +2 -0
  44. package/dist/frontend/dist/assets/el-DM2GT7P5-Baqj4u37.js.map +1 -0
  45. package/dist/frontend/dist/assets/en-IUV4ZXKH-eHunUM2g.js +135 -0
  46. package/dist/frontend/dist/assets/en-IUV4ZXKH-eHunUM2g.js.map +1 -0
  47. package/dist/frontend/dist/assets/es-6LVQIM3D-iPWrspyh.js +2 -0
  48. package/dist/frontend/dist/assets/es-6LVQIM3D-iPWrspyh.js.map +1 -0
  49. package/dist/frontend/dist/assets/fa-IRUJY3QI-D7jhkhZq.js +2 -0
  50. package/dist/frontend/dist/assets/fa-IRUJY3QI-D7jhkhZq.js.map +1 -0
  51. package/dist/frontend/dist/assets/fi-53FBOEVT-DyL1QG5i.js +2 -0
  52. package/dist/frontend/dist/assets/fi-53FBOEVT-DyL1QG5i.js.map +1 -0
  53. package/dist/frontend/dist/assets/fr-Q5KY7QL6-CGM9feO_.js +2 -0
  54. package/dist/frontend/dist/assets/fr-Q5KY7QL6-CGM9feO_.js.map +1 -0
  55. package/dist/frontend/dist/assets/he-HJNKULBY-CiS3ww0i.js +2 -0
  56. package/dist/frontend/dist/assets/he-HJNKULBY-CiS3ww0i.js.map +1 -0
  57. package/dist/frontend/dist/assets/hi-UYZ4X6CR-Cb3OYOtm.js +2 -0
  58. package/dist/frontend/dist/assets/hi-UYZ4X6CR-Cb3OYOtm.js.map +1 -0
  59. package/dist/frontend/dist/assets/i18n-BYxb14hm.js +2 -0
  60. package/dist/frontend/dist/assets/i18n-BYxb14hm.js.map +1 -0
  61. package/dist/frontend/dist/assets/id-UAQMH6U2-CgqnTJaj.js +2 -0
  62. package/dist/frontend/dist/assets/id-UAQMH6U2-CgqnTJaj.js.map +1 -0
  63. package/dist/frontend/dist/assets/index-CwQxZp6g.css +1 -0
  64. package/dist/frontend/dist/assets/index-DKq_l4UW.js +27 -0
  65. package/dist/frontend/dist/assets/index-DKq_l4UW.js.map +1 -0
  66. package/dist/frontend/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  67. package/dist/frontend/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  68. package/dist/frontend/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  69. package/dist/frontend/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  70. package/dist/frontend/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  71. package/dist/frontend/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  72. package/dist/frontend/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  73. package/dist/frontend/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  74. package/dist/frontend/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  75. package/dist/frontend/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  76. package/dist/frontend/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  77. package/dist/frontend/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  78. package/dist/frontend/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  79. package/dist/frontend/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  80. package/dist/frontend/dist/assets/it-C7QEBNFA-BP64tE9N.js +2 -0
  81. package/dist/frontend/dist/assets/it-C7QEBNFA-BP64tE9N.js.map +1 -0
  82. package/dist/frontend/dist/assets/ja-THS6AOSJ-BlrsrgpZ.js +2 -0
  83. package/dist/frontend/dist/assets/ja-THS6AOSJ-BlrsrgpZ.js.map +1 -0
  84. package/dist/frontend/dist/assets/ko-XKK3TWQG-BnscEkav.js +2 -0
  85. package/dist/frontend/dist/assets/ko-XKK3TWQG-BnscEkav.js.map +1 -0
  86. package/dist/frontend/dist/assets/layout-6uvM-QPR.js +6 -0
  87. package/dist/frontend/dist/assets/layout-6uvM-QPR.js.map +1 -0
  88. package/dist/frontend/dist/assets/layout-CvaTeY53.js +2 -0
  89. package/dist/frontend/dist/assets/layout-CvaTeY53.js.map +1 -0
  90. package/dist/frontend/dist/assets/layout-D5Pjl6Q-.js +2 -0
  91. package/dist/frontend/dist/assets/layout-D5Pjl6Q-.js.map +1 -0
  92. package/dist/frontend/dist/assets/layout-QZ56PNLk.js +2 -0
  93. package/dist/frontend/dist/assets/layout-QZ56PNLk.js.map +1 -0
  94. package/dist/frontend/dist/assets/ms-GSK7LIF7-BWJ-3eXy.js +2 -0
  95. package/dist/frontend/dist/assets/ms-GSK7LIF7-BWJ-3eXy.js.map +1 -0
  96. package/dist/frontend/dist/assets/nl-KUBWITGY-DeqIcEFQ.js +2 -0
  97. package/dist/frontend/dist/assets/nl-KUBWITGY-DeqIcEFQ.js.map +1 -0
  98. package/dist/frontend/dist/assets/no-ECWZUHT6-DMgg097w.js +2 -0
  99. package/dist/frontend/dist/assets/no-ECWZUHT6-DMgg097w.js.map +1 -0
  100. package/dist/frontend/dist/assets/not-found-CudKZDad.js +2 -0
  101. package/dist/frontend/dist/assets/not-found-CudKZDad.js.map +1 -0
  102. package/dist/frontend/dist/assets/orbitron-latin-400-normal-DBk4Dmer.woff +0 -0
  103. package/dist/frontend/dist/assets/orbitron-latin-400-normal-U6xZUhur.woff2 +0 -0
  104. package/dist/frontend/dist/assets/page-4gaXuuoi.js +5 -0
  105. package/dist/frontend/dist/assets/page-4gaXuuoi.js.map +1 -0
  106. package/dist/frontend/dist/assets/page-B9hPrBrN.js +2 -0
  107. package/dist/frontend/dist/assets/page-B9hPrBrN.js.map +1 -0
  108. package/dist/frontend/dist/assets/page-BH5HMa4o.js +2 -0
  109. package/dist/frontend/dist/assets/page-BH5HMa4o.js.map +1 -0
  110. package/dist/frontend/dist/assets/page-Bz2r7ufy.js +2 -0
  111. package/dist/frontend/dist/assets/page-Bz2r7ufy.js.map +1 -0
  112. package/dist/frontend/dist/assets/page-C44nBk5U.js +20 -0
  113. package/dist/frontend/dist/assets/page-C44nBk5U.js.map +1 -0
  114. package/dist/frontend/dist/assets/page-CE8hOJlL.js +2 -0
  115. package/dist/frontend/dist/assets/page-CE8hOJlL.js.map +1 -0
  116. package/dist/frontend/dist/assets/page-CGEmB0mm.js +2 -0
  117. package/dist/frontend/dist/assets/page-CGEmB0mm.js.map +1 -0
  118. package/dist/frontend/dist/assets/page-CJFp0ZpS.js +2 -0
  119. package/dist/frontend/dist/assets/page-CJFp0ZpS.js.map +1 -0
  120. package/dist/frontend/dist/assets/page-D1Di1cx-.js +2 -0
  121. package/dist/frontend/dist/assets/page-D1Di1cx-.js.map +1 -0
  122. package/dist/frontend/dist/assets/page-DIv5j5nE.js +2 -0
  123. package/dist/frontend/dist/assets/page-DIv5j5nE.js.map +1 -0
  124. package/dist/frontend/dist/assets/page-DK5bpgp9.js +2 -0
  125. package/dist/frontend/dist/assets/page-DK5bpgp9.js.map +1 -0
  126. package/dist/frontend/dist/assets/page-DVRMfAkS.js +2 -0
  127. package/dist/frontend/dist/assets/page-DVRMfAkS.js.map +1 -0
  128. package/dist/frontend/dist/assets/page-DjkPUxlb.js +2 -0
  129. package/dist/frontend/dist/assets/page-DjkPUxlb.js.map +1 -0
  130. package/dist/frontend/dist/assets/page-ESjXBvXd.js +2 -0
  131. package/dist/frontend/dist/assets/page-ESjXBvXd.js.map +1 -0
  132. package/dist/frontend/dist/assets/page-lbZaKDJf.js +2 -0
  133. package/dist/frontend/dist/assets/page-lbZaKDJf.js.map +1 -0
  134. package/dist/frontend/dist/assets/page-tb55k9Ji.js +8 -0
  135. package/dist/frontend/dist/assets/page-tb55k9Ji.js.map +1 -0
  136. package/dist/frontend/dist/assets/page-uukho-t7.js +2 -0
  137. package/dist/frontend/dist/assets/page-uukho-t7.js.map +1 -0
  138. package/dist/frontend/dist/assets/page-vzoIwpsS.js +2 -0
  139. package/dist/frontend/dist/assets/page-vzoIwpsS.js.map +1 -0
  140. package/dist/frontend/dist/assets/pl-PLVWSZWS-B9TKLToJ.js +2 -0
  141. package/dist/frontend/dist/assets/pl-PLVWSZWS-B9TKLToJ.js.map +1 -0
  142. package/dist/frontend/dist/assets/privacy-W9SxWfL5.js +2 -0
  143. package/dist/frontend/dist/assets/privacy-W9SxWfL5.js.map +1 -0
  144. package/dist/frontend/dist/assets/pt-AL74ZTKB-dm40issX.js +2 -0
  145. package/dist/frontend/dist/assets/pt-AL74ZTKB-dm40issX.js.map +1 -0
  146. package/dist/frontend/dist/assets/query-ATBhtd3K.js +10 -0
  147. package/dist/frontend/dist/assets/query-ATBhtd3K.js.map +1 -0
  148. package/dist/frontend/dist/assets/ro-WTPHLHGS-42q4gQmg.js +2 -0
  149. package/dist/frontend/dist/assets/ro-WTPHLHGS-42q4gQmg.js.map +1 -0
  150. package/dist/frontend/dist/assets/routing-6lnx-g5H.js +2 -0
  151. package/dist/frontend/dist/assets/routing-6lnx-g5H.js.map +1 -0
  152. package/dist/frontend/dist/assets/routing-BLuuVVPN.js +2 -0
  153. package/dist/frontend/dist/assets/routing-BLuuVVPN.js.map +1 -0
  154. package/dist/frontend/dist/assets/sv-QCLI7SG4-KVnre_zY.js +2 -0
  155. package/dist/frontend/dist/assets/sv-QCLI7SG4-KVnre_zY.js.map +1 -0
  156. package/dist/frontend/dist/assets/th-WCKVZU6U-CfRhC_Eg.js +2 -0
  157. package/dist/frontend/dist/assets/th-WCKVZU6U-CfRhC_Eg.js.map +1 -0
  158. package/dist/frontend/dist/assets/tr-2CAFS2XS-425EzbTD.js +2 -0
  159. package/dist/frontend/dist/assets/tr-2CAFS2XS-425EzbTD.js.map +1 -0
  160. package/dist/frontend/dist/assets/uk-TDE4JLCY-BUQpzvxx.js +2 -0
  161. package/dist/frontend/dist/assets/uk-TDE4JLCY-BUQpzvxx.js.map +1 -0
  162. package/dist/frontend/dist/assets/useAuth-CAJolYxw.js +2 -0
  163. package/dist/frontend/dist/assets/useAuth-CAJolYxw.js.map +1 -0
  164. package/dist/frontend/dist/assets/vendor-EnoIVk-c.js +29 -0
  165. package/dist/frontend/dist/assets/vendor-EnoIVk-c.js.map +1 -0
  166. package/dist/frontend/dist/assets/vi-KKXZ4PCX-BqlhZbBi.js +2 -0
  167. package/dist/frontend/dist/assets/vi-KKXZ4PCX-BqlhZbBi.js.map +1 -0
  168. package/dist/frontend/dist/assets/zh-VH4XN5PV-TNQ5FOx-.js +2 -0
  169. package/dist/frontend/dist/assets/zh-VH4XN5PV-TNQ5FOx-.js.map +1 -0
  170. package/dist/frontend/dist/favicons/android-chrome-192x192.png +0 -0
  171. package/dist/frontend/dist/favicons/android-chrome-512x512.png +0 -0
  172. package/dist/frontend/dist/favicons/apple-touch-icon.png +0 -0
  173. package/dist/frontend/dist/favicons/favicon-128x128.png +0 -0
  174. package/dist/frontend/dist/favicons/favicon-16x16.png +0 -0
  175. package/dist/frontend/dist/favicons/favicon-32x32.png +0 -0
  176. package/dist/frontend/dist/favicons/favicon-48x48.png +0 -0
  177. package/dist/frontend/dist/favicons/favicon-64x64.png +0 -0
  178. package/dist/frontend/dist/favicons/favicon-96x96.png +0 -0
  179. package/dist/frontend/dist/favicons/favicon.ico +0 -0
  180. package/dist/frontend/dist/favicons/favicon.svg +47 -0
  181. package/dist/frontend/dist/favicons/site.webmanifest +19 -0
  182. package/dist/frontend/dist/index.html +23 -0
  183. package/dist/frontend/dist/messages/ar.json +958 -0
  184. package/dist/frontend/dist/messages/bn.json +958 -0
  185. package/dist/frontend/dist/messages/cs.json +958 -0
  186. package/dist/frontend/dist/messages/da.json +958 -0
  187. package/dist/frontend/dist/messages/de.json +958 -0
  188. package/dist/frontend/dist/messages/el.json +958 -0
  189. package/dist/frontend/dist/messages/en.json +958 -0
  190. package/dist/frontend/dist/messages/es.json +958 -0
  191. package/dist/frontend/dist/messages/fa.json +958 -0
  192. package/dist/frontend/dist/messages/fi.json +958 -0
  193. package/dist/frontend/dist/messages/fr.json +958 -0
  194. package/dist/frontend/dist/messages/he.json +958 -0
  195. package/dist/frontend/dist/messages/hi.json +958 -0
  196. package/dist/frontend/dist/messages/id.json +958 -0
  197. package/dist/frontend/dist/messages/it.json +958 -0
  198. package/dist/frontend/dist/messages/ja.json +958 -0
  199. package/dist/frontend/dist/messages/ko.json +958 -0
  200. package/dist/frontend/dist/messages/ms.json +958 -0
  201. package/dist/frontend/dist/messages/nl.json +958 -0
  202. package/dist/frontend/dist/messages/no.json +958 -0
  203. package/dist/frontend/dist/messages/pl.json +958 -0
  204. package/dist/frontend/dist/messages/pt.json +958 -0
  205. package/dist/frontend/dist/messages/ro.json +958 -0
  206. package/dist/frontend/dist/messages/sv.json +958 -0
  207. package/dist/frontend/dist/messages/th.json +958 -0
  208. package/dist/frontend/dist/messages/tr.json +958 -0
  209. package/dist/frontend/dist/messages/uk.json +958 -0
  210. package/dist/frontend/dist/messages/vi.json +958 -0
  211. package/dist/frontend/dist/messages/zh.json +958 -0
  212. package/dist/frontend/dist/pdfjs/pdf.min.mjs +21 -0
  213. package/dist/frontend/dist/pdfjs/pdf.worker.min.mjs +21 -0
  214. package/dist/frontend/package.json +26 -0
  215. package/dist/frontend/server.js +82 -0
  216. package/package.json +7 -7
package/dist/cli.mjs CHANGED
@@ -7737,7 +7737,6 @@ var init_backend_start = __esm({
7737
7737
  const databaseUrl = `postgresql://${dbUser}:${dbPassword}@${dbHost}:${dbPort}/${dbName}`;
7738
7738
  const nodeEnv = envConfig.env?.NODE_ENV ?? "development";
7739
7739
  const enableLocalAuth = envConfig.app?.security?.enableLocalAuth ?? nodeEnv === "development";
7740
- const frontendUrl = envConfig.services.frontend.publicURL;
7741
7740
  const backendUrl = config.publicURL;
7742
7741
  const siteDomain = envConfig.site.domain;
7743
7742
  const allowedDomains = envConfig.site.oauthAllowedDomains.join(",");
@@ -7748,7 +7747,6 @@ var init_backend_start = __esm({
7748
7747
  HOST: "0.0.0.0",
7749
7748
  DATABASE_URL: databaseUrl,
7750
7749
  LOG_DIR: logsDir,
7751
- FRONTEND_URL: frontendUrl,
7752
7750
  BACKEND_URL: backendUrl,
7753
7751
  ENABLE_LOCAL_AUTH: enableLocalAuth.toString(),
7754
7752
  SITE_DOMAIN: siteDomain,
@@ -8519,7 +8517,7 @@ var init_backend_provision = __esm({
8519
8517
  init_cli_logger();
8520
8518
  init_backend_paths();
8521
8519
  init_preflight_utils();
8522
- SEMIONT_VERSION = "0.4.9";
8520
+ SEMIONT_VERSION = "0.4.12";
8523
8521
  provisionBackendService = async (context) => {
8524
8522
  const { service, options } = context;
8525
8523
  const projectRoot = service.projectRoot;
@@ -15037,17 +15035,19 @@ var init_platform3 = __esm({
15037
15035
  * Helper method to detect container runtime
15038
15036
  */
15039
15037
  detectContainerRuntime() {
15040
- try {
15041
- execFileSync30("docker", ["--version"], { stdio: "ignore" });
15042
- return "docker";
15043
- } catch {
15038
+ const candidates = ["container", "docker", "podman"];
15039
+ if (process.env.CONTAINER_RUNTIME) {
15040
+ const env = process.env.CONTAINER_RUNTIME.toLowerCase();
15041
+ if (candidates.includes(env)) return env;
15042
+ }
15043
+ for (const runtime of candidates) {
15044
15044
  try {
15045
- execFileSync30("podman", ["--version"], { stdio: "ignore" });
15046
- return "podman";
15045
+ execFileSync30(runtime, ["--version"], { stdio: "ignore" });
15046
+ return runtime;
15047
15047
  } catch {
15048
- throw new Error("No container runtime (Docker or Podman) found");
15049
15048
  }
15050
15049
  }
15050
+ throw new Error("No container runtime found. Install Apple Container, Docker, or Podman.");
15051
15051
  }
15052
15052
  /**
15053
15053
  * Get standardized resource name for container
@@ -15106,7 +15106,7 @@ var init_platform3 = __esm({
15106
15106
  }
15107
15107
  /**
15108
15108
  * Collect logs for a container service
15109
- * Uses docker/podman logs command
15109
+ * Uses container runtime logs command
15110
15110
  */
15111
15111
  async collectLogs(service, options) {
15112
15112
  const serviceType = this.determineServiceType(service);
@@ -15157,7 +15157,7 @@ var init_platform3 = __esm({
15157
15157
  }
15158
15158
  /**
15159
15159
  * Parse a container log line
15160
- * Docker/Podman format with --timestamps: 2024-01-01T12:00:00.000000000Z message
15160
+ * Container log format with --timestamps: 2024-01-01T12:00:00.000000000Z message
15161
15161
  */
15162
15162
  parseContainerLogLine(line, serviceType) {
15163
15163
  const timestampMatch = line.match(/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.[\d]+Z)\s+(.*)$/);
@@ -24686,37 +24686,34 @@ var init_check = __esm({
24686
24686
  "semiont check --service frontend",
24687
24687
  "semiont check --all",
24688
24688
  "semiont check --deep --wait"
24689
- ).args({
24690
- args: {
24691
- "--service": {
24692
- type: "string",
24693
- description: 'Service to check (or "all" for all services)'
24694
- },
24695
- "--all": {
24696
- type: "boolean",
24697
- description: "Check all services",
24698
- default: false
24699
- },
24700
- "--deep": {
24701
- type: "boolean",
24702
- description: "Run deep health checks",
24703
- default: false
24704
- },
24705
- "--wait": {
24706
- type: "boolean",
24707
- description: "Wait for services to become healthy",
24708
- default: false
24709
- },
24710
- "--timeout": {
24711
- type: "number",
24712
- description: "Timeout in seconds when using --wait",
24713
- default: 60
24714
- }
24689
+ ).args(withOpsArgs({
24690
+ "--service": {
24691
+ type: "string",
24692
+ description: 'Service to check (or "all" for all services)'
24693
+ },
24694
+ "--all": {
24695
+ type: "boolean",
24696
+ description: "Check all services",
24697
+ default: false
24698
+ },
24699
+ "--deep": {
24700
+ type: "boolean",
24701
+ description: "Run deep health checks",
24702
+ default: false
24703
+ },
24704
+ "--wait": {
24705
+ type: "boolean",
24706
+ description: "Wait for services to become healthy",
24707
+ default: false
24715
24708
  },
24716
- aliases: {
24717
- "-s": "--service"
24709
+ "--timeout": {
24710
+ type: "number",
24711
+ description: "Timeout in seconds when using --wait",
24712
+ default: 60
24718
24713
  }
24719
- }).schema(CheckOptionsSchema).handler(check).build();
24714
+ }, {
24715
+ "-s": "--service"
24716
+ })).schema(CheckOptionsSchema).handler(check).build();
24720
24717
  }
24721
24718
  });
24722
24719
 
@@ -25795,7 +25792,7 @@ var require_package = __commonJS({
25795
25792
  "package.json"(exports, module) {
25796
25793
  module.exports = {
25797
25794
  name: "@semiont/cli",
25798
- version: "0.4.9",
25795
+ version: "0.4.12",
25799
25796
  description: "Semiont CLI - Unified environment management tool",
25800
25797
  _comment: "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
25801
25798
  type: "module",
@@ -25858,12 +25855,12 @@ var require_package = __commonJS({
25858
25855
  "@aws-sdk/client-secrets-manager": "^3.600.0",
25859
25856
  "@aws-sdk/client-sts": "^3.859.0",
25860
25857
  "@aws-sdk/client-wafv2": "^3.859.0",
25861
- "@semiont/api-client": "^0.4.9",
25862
- "@semiont/content": "^0.4.9",
25863
- "@semiont/core": "^0.4.9",
25864
- "@semiont/event-sourcing": "^0.4.9",
25865
- "@semiont/graph": "^0.4.9",
25866
- "@semiont/make-meaning": "^0.4.9",
25858
+ "@semiont/api-client": "0.4.11",
25859
+ "@semiont/content": "0.4.11",
25860
+ "@semiont/core": "0.4.11",
25861
+ "@semiont/event-sourcing": "0.4.11",
25862
+ "@semiont/graph": "0.4.11",
25863
+ "@semiont/make-meaning": "0.4.11",
25867
25864
  arg: "^5.0.2",
25868
25865
  argon2: "^0.44.0",
25869
25866
  express: "^5.2.1",
@@ -26248,22 +26245,19 @@ var startCommand = new CommandBuilder().name("start").description("Start service
26248
26245
  "semiont start --service frontend",
26249
26246
  "semiont start --service backend --verbose",
26250
26247
  "semiont start --all"
26251
- ).args({
26252
- args: {
26253
- "--service": {
26254
- type: "string",
26255
- description: 'Service to start (or "all" for all services)'
26256
- },
26257
- "--all": {
26258
- type: "boolean",
26259
- description: "Start all services",
26260
- default: false
26261
- }
26248
+ ).args(withOpsArgs({
26249
+ "--service": {
26250
+ type: "string",
26251
+ description: 'Service to start (or "all" for all services)'
26262
26252
  },
26263
- aliases: {
26264
- "-s": "--service"
26253
+ "--all": {
26254
+ type: "boolean",
26255
+ description: "Start all services",
26256
+ default: false
26265
26257
  }
26266
- }).schema(StartOptionsSchema).handler(start).build();
26258
+ }, {
26259
+ "-s": "--service"
26260
+ })).schema(StartOptionsSchema).handler(start).build();
26267
26261
 
26268
26262
  // src/core/commands/stop.ts
26269
26263
  init_zod();
@@ -26332,34 +26326,31 @@ var stopCommand = new CommandBuilder().name("stop").description("Stop services o
26332
26326
  "semiont stop --service frontend",
26333
26327
  "semiont stop --service backend --force",
26334
26328
  "semiont stop --all"
26335
- ).args({
26336
- args: {
26337
- "--service": {
26338
- type: "string",
26339
- description: 'Service to stop (or "all" for all services)'
26340
- },
26341
- "--all": {
26342
- type: "boolean",
26343
- description: "Stop all services",
26344
- default: false
26345
- },
26346
- "--force": {
26347
- type: "boolean",
26348
- description: "Force stop without graceful shutdown",
26349
- default: false
26350
- },
26351
- "--timeout": {
26352
- type: "number",
26353
- description: "Timeout for graceful shutdown in seconds",
26354
- default: 3
26355
- }
26329
+ ).args(withOpsArgs({
26330
+ "--service": {
26331
+ type: "string",
26332
+ description: 'Service to stop (or "all" for all services)'
26356
26333
  },
26357
- aliases: {
26358
- "-s": "--service",
26359
- "-f": "--force",
26360
- "-t": "--timeout"
26334
+ "--all": {
26335
+ type: "boolean",
26336
+ description: "Stop all services",
26337
+ default: false
26338
+ },
26339
+ "--force": {
26340
+ type: "boolean",
26341
+ description: "Force stop without graceful shutdown",
26342
+ default: false
26343
+ },
26344
+ "--timeout": {
26345
+ type: "number",
26346
+ description: "Timeout for graceful shutdown in seconds",
26347
+ default: 3
26361
26348
  }
26362
- }).schema(StopOptionsSchema).handler(stop).build();
26349
+ }, {
26350
+ "-s": "--service",
26351
+ "-f": "--force",
26352
+ "-t": "--timeout"
26353
+ })).schema(StopOptionsSchema).handler(stop).build();
26363
26354
 
26364
26355
  // src/core/command-discovery.ts
26365
26356
  init_check();
@@ -26456,47 +26447,44 @@ var provisionCommand = new CommandBuilder().name("provision").description("Provi
26456
26447
  "semiont provision --all",
26457
26448
  "semiont provision --stack data",
26458
26449
  "semiont provision --stack app --force"
26459
- ).args({
26460
- args: {
26461
- "--service": {
26462
- type: "string",
26463
- description: 'Service to provision (or "all" for all services)'
26464
- },
26465
- "--all": {
26466
- type: "boolean",
26467
- description: "Provision all services",
26468
- default: false
26469
- },
26470
- "--stack": {
26471
- type: "string",
26472
- description: "AWS CDK stack to provision (data or app)",
26473
- choices: ["data", "app"]
26474
- },
26475
- "--force": {
26476
- type: "boolean",
26477
- description: "Force provision without prompts",
26478
- default: false
26479
- },
26480
- "--destroy": {
26481
- type: "boolean",
26482
- description: "Destroy provisioned resources",
26483
- default: false
26484
- },
26485
- "--skip-dependencies": {
26486
- type: "boolean",
26487
- description: "Skip provisioning service dependencies",
26488
- default: false
26489
- },
26490
- "--rotate-secret": {
26491
- type: "boolean",
26492
- description: "Force generation of a new JWT_SECRET. Has no effect on other services. Warns if the peer service will be left out of sync.",
26493
- default: false
26494
- }
26450
+ ).args(withOpsArgs({
26451
+ "--service": {
26452
+ type: "string",
26453
+ description: 'Service to provision (or "all" for all services)'
26454
+ },
26455
+ "--all": {
26456
+ type: "boolean",
26457
+ description: "Provision all services",
26458
+ default: false
26459
+ },
26460
+ "--stack": {
26461
+ type: "string",
26462
+ description: "AWS CDK stack to provision (data or app)",
26463
+ choices: ["data", "app"]
26464
+ },
26465
+ "--force": {
26466
+ type: "boolean",
26467
+ description: "Force provision without prompts",
26468
+ default: false
26469
+ },
26470
+ "--destroy": {
26471
+ type: "boolean",
26472
+ description: "Destroy provisioned resources",
26473
+ default: false
26495
26474
  },
26496
- aliases: {
26497
- "-s": "--service"
26475
+ "--skip-dependencies": {
26476
+ type: "boolean",
26477
+ description: "Skip provisioning service dependencies",
26478
+ default: false
26479
+ },
26480
+ "--rotate-secret": {
26481
+ type: "boolean",
26482
+ description: "Force generation of a new JWT_SECRET. Has no effect on other services. Warns if the peer service will be left out of sync.",
26483
+ default: false
26498
26484
  }
26499
- }).schema(ProvisionOptionsSchema).handler(provision).build();
26485
+ }, {
26486
+ "-s": "--service"
26487
+ })).schema(ProvisionOptionsSchema).handler(provision).build();
26500
26488
 
26501
26489
  // src/core/commands/publish.ts
26502
26490
  init_zod();
@@ -26568,35 +26556,32 @@ var publishCommand = new CommandBuilder().name("publish").description("Publish s
26568
26556
  "semiont publish --service frontend --tag v1.2.3",
26569
26557
  "semiont publish --service backend --no-cache",
26570
26558
  "semiont publish --all --registry my-registry.com"
26571
- ).args({
26572
- args: {
26573
- "--service": {
26574
- type: "string",
26575
- description: 'Service to publish (or "all" for all services)'
26576
- },
26577
- "--all": {
26578
- type: "boolean",
26579
- description: "Publish all services",
26580
- default: false
26581
- },
26582
- "--tag": {
26583
- type: "string",
26584
- description: "Custom version tag"
26585
- },
26586
- "--registry": {
26587
- type: "string",
26588
- description: "Override default registry"
26589
- },
26590
- "--no-cache": {
26591
- type: "boolean",
26592
- description: "Skip Docker cache",
26593
- default: false
26594
- }
26559
+ ).args(withOpsArgs({
26560
+ "--service": {
26561
+ type: "string",
26562
+ description: 'Service to publish (or "all" for all services)'
26563
+ },
26564
+ "--all": {
26565
+ type: "boolean",
26566
+ description: "Publish all services",
26567
+ default: false
26595
26568
  },
26596
- aliases: {
26597
- "-s": "--service"
26569
+ "--tag": {
26570
+ type: "string",
26571
+ description: "Custom version tag"
26572
+ },
26573
+ "--registry": {
26574
+ type: "string",
26575
+ description: "Override default registry"
26576
+ },
26577
+ "--no-cache": {
26578
+ type: "boolean",
26579
+ description: "Skip Docker cache",
26580
+ default: false
26598
26581
  }
26599
- }).schema(PublishOptionsSchema).handler(publish).build();
26582
+ }, {
26583
+ "-s": "--service"
26584
+ })).schema(PublishOptionsSchema).handler(publish).build();
26600
26585
 
26601
26586
  // src/core/commands/update.ts
26602
26587
  init_zod();
@@ -26676,50 +26661,47 @@ var updateCommand = new CommandBuilder().name("update").description("Update runn
26676
26661
  "semiont update --service frontend --force",
26677
26662
  "semiont update --service backend --wait --timeout 300",
26678
26663
  "semiont update --all --skip-tests"
26679
- ).args({
26680
- args: {
26681
- "--service": {
26682
- type: "string",
26683
- description: 'Service to update (or "all" for all services)'
26684
- },
26685
- "--all": {
26686
- type: "boolean",
26687
- description: "Update all services",
26688
- default: false
26689
- },
26690
- "--force": {
26691
- type: "boolean",
26692
- description: "Force update without prompts",
26693
- default: false
26694
- },
26695
- "--wait": {
26696
- type: "boolean",
26697
- description: "Wait for update to complete",
26698
- default: false
26699
- },
26700
- "--timeout": {
26701
- type: "number",
26702
- description: "Timeout in seconds when using --wait"
26703
- },
26704
- "--skip-tests": {
26705
- type: "boolean",
26706
- description: "Skip running tests during update",
26707
- default: false
26708
- },
26709
- "--skip-build": {
26710
- type: "boolean",
26711
- description: "Skip building during update",
26712
- default: false
26713
- },
26714
- "--grace-period": {
26715
- type: "number",
26716
- description: "Grace period in seconds for graceful shutdown"
26717
- }
26664
+ ).args(withOpsArgs({
26665
+ "--service": {
26666
+ type: "string",
26667
+ description: 'Service to update (or "all" for all services)'
26668
+ },
26669
+ "--all": {
26670
+ type: "boolean",
26671
+ description: "Update all services",
26672
+ default: false
26673
+ },
26674
+ "--force": {
26675
+ type: "boolean",
26676
+ description: "Force update without prompts",
26677
+ default: false
26678
+ },
26679
+ "--wait": {
26680
+ type: "boolean",
26681
+ description: "Wait for update to complete",
26682
+ default: false
26683
+ },
26684
+ "--timeout": {
26685
+ type: "number",
26686
+ description: "Timeout in seconds when using --wait"
26718
26687
  },
26719
- aliases: {
26720
- "-s": "--service"
26688
+ "--skip-tests": {
26689
+ type: "boolean",
26690
+ description: "Skip running tests during update",
26691
+ default: false
26692
+ },
26693
+ "--skip-build": {
26694
+ type: "boolean",
26695
+ description: "Skip building during update",
26696
+ default: false
26697
+ },
26698
+ "--grace-period": {
26699
+ type: "number",
26700
+ description: "Grace period in seconds for graceful shutdown"
26721
26701
  }
26722
- }).schema(UpdateOptionsSchema).handler(update).build();
26702
+ }, {
26703
+ "-s": "--service"
26704
+ })).schema(UpdateOptionsSchema).handler(update).build();
26723
26705
 
26724
26706
  // src/core/commands/watch.tsx
26725
26707
  init_zod();
@@ -27116,56 +27098,53 @@ var useraddCommand = new CommandBuilder().name("useradd").description("Create or
27116
27098
  "semiont useradd --email user@example.com --generate-password --admin",
27117
27099
  "semiont useradd --email user@example.com --password mypass123",
27118
27100
  "semiont useradd --email user@example.com --update --password newpass"
27119
- ).args({
27120
- args: {
27121
- "--email": {
27122
- type: "string",
27123
- description: "User email address (required)"
27124
- },
27125
- "--name": {
27126
- type: "string",
27127
- description: "User display name"
27128
- },
27129
- "--password": {
27130
- type: "string",
27131
- description: "Password (prompts if not provided)"
27132
- },
27133
- "--generate-password": {
27134
- type: "boolean",
27135
- description: "Generate random 16-char password",
27136
- default: false
27137
- },
27138
- "--admin": {
27139
- type: "boolean",
27140
- description: "Grant admin privileges",
27141
- default: false
27142
- },
27143
- "--moderator": {
27144
- type: "boolean",
27145
- description: "Grant moderator privileges",
27146
- default: false
27147
- },
27148
- "--inactive": {
27149
- type: "boolean",
27150
- description: "Create inactive user",
27151
- default: false
27152
- },
27153
- "--update": {
27154
- type: "boolean",
27155
- description: "Update existing user",
27156
- default: false
27157
- },
27158
- "--upsert": {
27159
- type: "boolean",
27160
- description: "Create user if absent, skip silently if already exists",
27161
- default: false
27162
- }
27101
+ ).args(withOpsArgs({
27102
+ "--email": {
27103
+ type: "string",
27104
+ description: "User email address (required)"
27105
+ },
27106
+ "--name": {
27107
+ type: "string",
27108
+ description: "User display name"
27109
+ },
27110
+ "--password": {
27111
+ type: "string",
27112
+ description: "Password (prompts if not provided)"
27113
+ },
27114
+ "--generate-password": {
27115
+ type: "boolean",
27116
+ description: "Generate random 16-char password",
27117
+ default: false
27118
+ },
27119
+ "--admin": {
27120
+ type: "boolean",
27121
+ description: "Grant admin privileges",
27122
+ default: false
27123
+ },
27124
+ "--moderator": {
27125
+ type: "boolean",
27126
+ description: "Grant moderator privileges",
27127
+ default: false
27163
27128
  },
27164
- aliases: {
27165
- "-p": "--password",
27166
- "-g": "--generate-password"
27129
+ "--inactive": {
27130
+ type: "boolean",
27131
+ description: "Create inactive user",
27132
+ default: false
27133
+ },
27134
+ "--update": {
27135
+ type: "boolean",
27136
+ description: "Update existing user",
27137
+ default: false
27138
+ },
27139
+ "--upsert": {
27140
+ type: "boolean",
27141
+ description: "Create user if absent, skip silently if already exists",
27142
+ default: false
27167
27143
  }
27168
- }).schema(UseraddOptionsSchema).handler(useradd).build();
27144
+ }, {
27145
+ "-p": "--password",
27146
+ "-g": "--generate-password"
27147
+ })).schema(UseraddOptionsSchema).handler(useradd).build();
27169
27148
 
27170
27149
  // src/core/commands/backup.ts
27171
27150
  init_zod();
@@ -27242,15 +27221,12 @@ async function runBackup(options) {
27242
27221
  }
27243
27222
  var backupCmd = new CommandBuilder().name("backup").description("Create a lossless backup of the knowledge base").requiresEnvironment(true).requiresServices(false).examples(
27244
27223
  "semiont backup --out backup.tar.gz"
27245
- ).args({
27246
- args: {
27247
- "--out": {
27248
- type: "string",
27249
- description: "Output file path (required)"
27250
- }
27251
- },
27252
- aliases: {}
27253
- }).schema(BackupOptionsSchema).handler(runBackup).build();
27224
+ ).args(withOpsArgs({
27225
+ "--out": {
27226
+ type: "string",
27227
+ description: "Output file path (required)"
27228
+ }
27229
+ })).schema(BackupOptionsSchema).handler(runBackup).build();
27254
27230
 
27255
27231
  // src/core/commands/restore.ts
27256
27232
  init_zod();
@@ -27373,17 +27349,14 @@ async function runRestore(options) {
27373
27349
  }
27374
27350
  var restoreCmd = new CommandBuilder().name("restore").description("Restore a knowledge base from a backup archive").requiresEnvironment(true).requiresServices(false).examples(
27375
27351
  "semiont restore --file backup.tar.gz"
27376
- ).args({
27377
- args: {
27378
- "--file": {
27379
- type: "string",
27380
- description: "Input file path (required)"
27381
- }
27382
- },
27383
- aliases: {
27384
- "-f": "--file"
27352
+ ).args(withOpsArgs({
27353
+ "--file": {
27354
+ type: "string",
27355
+ description: "Input file path (required)"
27385
27356
  }
27386
- }).schema(RestoreOptionsSchema).handler(runRestore).build();
27357
+ }, {
27358
+ "-f": "--file"
27359
+ })).schema(RestoreOptionsSchema).handler(runRestore).build();
27387
27360
 
27388
27361
  // src/core/commands/verify.ts
27389
27362
  init_zod();
@@ -27546,17 +27519,14 @@ async function runVerify(options) {
27546
27519
  }
27547
27520
  var verifyCmd = new CommandBuilder().name("verify").description("Verify a backup archive integrity").requiresEnvironment(false).requiresServices(false).examples(
27548
27521
  "semiont verify --file backup.tar.gz"
27549
- ).args({
27550
- args: {
27551
- "--file": {
27552
- type: "string",
27553
- description: "Backup file to verify (required)"
27554
- }
27555
- },
27556
- aliases: {
27557
- "-f": "--file"
27522
+ ).args(withOpsArgs({
27523
+ "--file": {
27524
+ type: "string",
27525
+ description: "Backup file to verify (required)"
27558
27526
  }
27559
- }).schema(VerifyOptionsSchema).handler(runVerify).build();
27527
+ }, {
27528
+ "-f": "--file"
27529
+ })).schema(VerifyOptionsSchema).handler(runVerify).build();
27560
27530
 
27561
27531
  // src/core/commands/export.ts
27562
27532
  init_zod();
@@ -27646,19 +27616,16 @@ async function runExport(options) {
27646
27616
  var exportCmd = new CommandBuilder().name("export").description("Export the knowledge base as JSON-LD Linked Data").requiresEnvironment(true).requiresServices(false).examples(
27647
27617
  "semiont export --out export.tar.gz",
27648
27618
  "semiont export --include-archived --out full-export.tar.gz"
27649
- ).args({
27650
- args: {
27651
- "--out": {
27652
- type: "string",
27653
- description: "Output file path (required)"
27654
- },
27655
- "--include-archived": {
27656
- type: "boolean",
27657
- description: "Include archived resources in export"
27658
- }
27619
+ ).args(withOpsArgs({
27620
+ "--out": {
27621
+ type: "string",
27622
+ description: "Output file path (required)"
27659
27623
  },
27660
- aliases: {}
27661
- }).schema(ExportOptionsSchema).handler(runExport).build();
27624
+ "--include-archived": {
27625
+ type: "boolean",
27626
+ description: "Include archived resources in export"
27627
+ }
27628
+ })).schema(ExportOptionsSchema).handler(runExport).build();
27662
27629
 
27663
27630
  // src/core/commands/import.ts
27664
27631
  init_zod();
@@ -27785,21 +27752,18 @@ async function runImport(options) {
27785
27752
  var importCmd = new CommandBuilder().name("import").description("Import resources from a JSON-LD Linked Data archive").requiresEnvironment(true).requiresServices(false).examples(
27786
27753
  "semiont import --file export.tar.gz",
27787
27754
  "semiont import --file export.tar.gz --user-id did:web:example.com:users:alice"
27788
- ).args({
27789
- args: {
27790
- "--file": {
27791
- type: "string",
27792
- description: "Input file path (required)"
27793
- },
27794
- "--user-id": {
27795
- type: "string",
27796
- description: "User identity for imported resources (default: current user)"
27797
- }
27755
+ ).args(withOpsArgs({
27756
+ "--file": {
27757
+ type: "string",
27758
+ description: "Input file path (required)"
27798
27759
  },
27799
- aliases: {
27800
- "-f": "--file"
27760
+ "--user-id": {
27761
+ type: "string",
27762
+ description: "User identity for imported resources (default: current user)"
27801
27763
  }
27802
- }).schema(ImportOptionsSchema).handler(runImport).build();
27764
+ }, {
27765
+ "-f": "--file"
27766
+ })).schema(ImportOptionsSchema).handler(runImport).build();
27803
27767
 
27804
27768
  // src/core/commands/serve.ts
27805
27769
  init_zod();
@@ -28159,7 +28123,10 @@ function listDir(dir) {
28159
28123
  }
28160
28124
  }
28161
28125
  function containerRuntime() {
28162
- for (const rt of ["docker", "podman"]) {
28126
+ if (process.env.CONTAINER_RUNTIME) {
28127
+ return process.env.CONTAINER_RUNTIME.toLowerCase();
28128
+ }
28129
+ for (const rt of ["container", "docker", "podman"]) {
28163
28130
  try {
28164
28131
  execFileSync39(rt, ["info"], { stdio: "ignore" });
28165
28132
  return rt;
@@ -28276,7 +28243,7 @@ async function clean(options) {
28276
28243
  });
28277
28244
  } else if (cleanVolumes && !runtime) {
28278
28245
  if (!options.quiet) {
28279
- console.log(`${colors.yellow}\u26A0\uFE0F No container runtime found (docker/podman) \u2014 skipping volumes${colors.reset}`);
28246
+ console.log(`${colors.yellow}\u26A0\uFE0F No container runtime found \u2014 skipping volumes${colors.reset}`);
28280
28247
  }
28281
28248
  }
28282
28249
  if (targets.length === 0) {
@@ -28525,23 +28492,20 @@ async function runMv(options) {
28525
28492
  var mvCmd = new CommandBuilder().name("mv").description("Move (rename) a tracked resource file and record the move in the event log").requiresEnvironment(true).requiresServices(false).examples(
28526
28493
  "semiont mv docs/old-name.md docs/new-name.md",
28527
28494
  "semiont mv file://docs/old.md file://docs/new.md"
28528
- ).args({
28529
- args: {
28530
- "--from": {
28531
- type: "string",
28532
- description: "Source path or file:// URI"
28533
- },
28534
- "--to": {
28535
- type: "string",
28536
- description: "Destination path or file:// URI"
28537
- },
28538
- "--no-git": {
28539
- type: "boolean",
28540
- description: "Skip git mv even when inside a git repository"
28541
- }
28495
+ ).args(withOpsArgs({
28496
+ "--from": {
28497
+ type: "string",
28498
+ description: "Source path or file:// URI"
28542
28499
  },
28543
- aliases: {}
28544
- }).schema(MvOptionsSchema).handler(runMv).build();
28500
+ "--to": {
28501
+ type: "string",
28502
+ description: "Destination path or file:// URI"
28503
+ },
28504
+ "--no-git": {
28505
+ type: "boolean",
28506
+ description: "Skip git mv even when inside a git repository"
28507
+ }
28508
+ })).schema(MvOptionsSchema).handler(runMv).build();
28545
28509
 
28546
28510
  // src/core/commands/yield.ts
28547
28511
  init_zod();
@@ -31086,7 +31050,7 @@ async function generateGlobalHelp() {
31086
31050
  }
31087
31051
 
31088
31052
  // src/cli.ts
31089
- var VERSION2 = "0.4.9";
31053
+ var VERSION2 = "0.4.12";
31090
31054
  function printVersion() {
31091
31055
  console.log(`Semiont CLI v${VERSION2}`);
31092
31056
  }