openxiangda-cli 2.0.0-alpha.17 → 2.0.0-alpha.170

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 (278) hide show
  1. package/README.md +51 -15
  2. package/bin/run.js +79 -1
  3. package/dist/base.d.ts +59 -5
  4. package/dist/base.d.ts.map +1 -1
  5. package/dist/base.js +213 -10
  6. package/dist/base.js.map +1 -1
  7. package/dist/commands/accept.d.ts +28 -0
  8. package/dist/commands/accept.d.ts.map +1 -0
  9. package/dist/commands/accept.js +21 -0
  10. package/dist/commands/accept.js.map +1 -0
  11. package/dist/commands/cancel.d.ts +19 -1
  12. package/dist/commands/cancel.d.ts.map +1 -1
  13. package/dist/commands/cancel.js +1 -1
  14. package/dist/commands/cancel.js.map +1 -1
  15. package/dist/commands/check.d.ts +22 -1
  16. package/dist/commands/check.d.ts.map +1 -1
  17. package/dist/commands/check.js +17 -4
  18. package/dist/commands/check.js.map +1 -1
  19. package/dist/commands/create.d.ts +39 -0
  20. package/dist/commands/create.d.ts.map +1 -0
  21. package/dist/commands/create.js +457 -0
  22. package/dist/commands/create.js.map +1 -0
  23. package/dist/commands/deploy.d.ts +26 -8
  24. package/dist/commands/deploy.d.ts.map +1 -1
  25. package/dist/commands/deploy.js +31 -17
  26. package/dist/commands/deploy.js.map +1 -1
  27. package/dist/commands/dev.d.ts +23 -1
  28. package/dist/commands/dev.d.ts.map +1 -1
  29. package/dist/commands/dev.js +28 -4
  30. package/dist/commands/dev.js.map +1 -1
  31. package/dist/commands/login.d.ts +29 -0
  32. package/dist/commands/login.d.ts.map +1 -0
  33. package/dist/commands/{auth/login.js → login.js} +27 -9
  34. package/dist/commands/login.js.map +1 -0
  35. package/dist/commands/logs.d.ts +22 -2
  36. package/dist/commands/logs.d.ts.map +1 -1
  37. package/dist/commands/logs.js +9 -5
  38. package/dist/commands/logs.js.map +1 -1
  39. package/dist/commands/retry.d.ts +19 -1
  40. package/dist/commands/retry.d.ts.map +1 -1
  41. package/dist/commands/retry.js +5 -2
  42. package/dist/commands/retry.js.map +1 -1
  43. package/dist/commands/rollback.d.ts +23 -4
  44. package/dist/commands/rollback.d.ts.map +1 -1
  45. package/dist/commands/rollback.js +18 -5
  46. package/dist/commands/rollback.js.map +1 -1
  47. package/dist/commands/skill.d.ts +31 -0
  48. package/dist/commands/skill.d.ts.map +1 -0
  49. package/dist/commands/skill.js +43 -0
  50. package/dist/commands/skill.js.map +1 -0
  51. package/dist/commands/spec.d.ts +39 -0
  52. package/dist/commands/spec.d.ts.map +1 -0
  53. package/dist/commands/spec.js +117 -0
  54. package/dist/commands/spec.js.map +1 -0
  55. package/dist/commands/start.d.ts +28 -0
  56. package/dist/commands/start.d.ts.map +1 -0
  57. package/dist/commands/start.js +18 -0
  58. package/dist/commands/start.js.map +1 -0
  59. package/dist/commands/status.d.ts +19 -1
  60. package/dist/commands/status.d.ts.map +1 -1
  61. package/dist/commands/status.js +1 -1
  62. package/dist/commands/status.js.map +1 -1
  63. package/dist/commands/stop.d.ts +28 -0
  64. package/dist/commands/stop.d.ts.map +1 -0
  65. package/dist/commands/stop.js +18 -0
  66. package/dist/commands/stop.js.map +1 -0
  67. package/dist/create-workspace.d.ts +67 -0
  68. package/dist/create-workspace.d.ts.map +1 -0
  69. package/dist/create-workspace.js +631 -0
  70. package/dist/create-workspace.js.map +1 -0
  71. package/dist/studio-events.d.ts +9 -0
  72. package/dist/studio-events.d.ts.map +1 -0
  73. package/dist/studio-events.js +30 -0
  74. package/dist/studio-events.js.map +1 -0
  75. package/dist/toolchain-capsule.d.ts +4 -0
  76. package/dist/toolchain-capsule.d.ts.map +1 -0
  77. package/dist/toolchain-capsule.js +116 -0
  78. package/dist/toolchain-capsule.js.map +1 -0
  79. package/package.json +16 -9
  80. package/template/.dockerignore +23 -0
  81. package/template/.env.example +3 -0
  82. package/template/AGENTS.md +62 -0
  83. package/template/README.md +70 -0
  84. package/template/_gitignore +14 -0
  85. package/template/apps/web/data-api-live.e2e.html +15 -0
  86. package/template/apps/web/e2e/client-fixture.ts +5 -0
  87. package/template/apps/web/e2e/component-defaults-fixture.css +15 -0
  88. package/template/apps/web/e2e/data-api-live-fixture.tsx +162 -0
  89. package/template/apps/web/e2e/data-api-live.spec.ts +144 -0
  90. package/template/apps/web/e2e/field-protocol-fixture.tsx +387 -0
  91. package/template/apps/web/e2e/field-protocol.spec.ts +285 -0
  92. package/template/apps/web/e2e/mobile-files.spec.ts +93 -0
  93. package/template/apps/web/e2e/mobile-reference-fixture.tsx +314 -0
  94. package/template/apps/web/e2e/mobile-reference.spec.ts +360 -0
  95. package/template/apps/web/e2e/mobile-selection.spec.ts +199 -0
  96. package/template/apps/web/e2e/resource-experience-fixture.tsx +491 -0
  97. package/template/apps/web/e2e/resource-platform-mock.ts +202 -0
  98. package/template/apps/web/e2e/resources.spec.ts +477 -0
  99. package/template/apps/web/e2e/standard-admin.spec.ts +441 -0
  100. package/template/apps/web/e2e/workflow-experience-fixture.tsx +338 -0
  101. package/template/apps/web/e2e/workflow.spec.ts +1173 -0
  102. package/template/apps/web/field-protocol.e2e.html +22 -0
  103. package/template/apps/web/index.html +12 -0
  104. package/template/apps/web/mobile-reference.e2e.html +27 -0
  105. package/template/apps/web/package.json +34 -0
  106. package/template/apps/web/playwright.config.ts +47 -0
  107. package/template/apps/web/resource-experience.e2e.html +16 -0
  108. package/template/apps/web/scripts/check.mjs +43 -0
  109. package/template/apps/web/scripts/verify-build.mjs +6 -0
  110. package/template/apps/web/src/document.css +5 -0
  111. package/template/apps/web/src/main.tsx +66 -0
  112. package/template/apps/web/src/user-end/tailwind.css +5 -0
  113. package/template/apps/web/test/contracts.test.ts +162 -0
  114. package/template/apps/web/test/loopback.test.ts +68 -0
  115. package/template/apps/web/test/standard-user-surfaces.typecheck.tsx +27 -0
  116. package/template/apps/web/tsconfig.json +12 -0
  117. package/template/apps/web/vite.config.ts +42 -0
  118. package/template/apps/web/workflow-experience.e2e.html +15 -0
  119. package/template/appspec/app.md +62 -0
  120. package/template/openxiangda.config.ts +55 -0
  121. package/template/package.json +28 -0
  122. package/template/packages/contracts/package.json +23 -0
  123. package/template/packages/contracts/src/generated.ts +265 -0
  124. package/template/packages/contracts/src/index.ts +1 -0
  125. package/template/packages/contracts/tsconfig.json +9 -0
  126. package/template/pnpm-workspace.yaml +7 -0
  127. package/template/tsconfig.base.json +13 -0
  128. package/dist/commands/app/create.d.ts +0 -15
  129. package/dist/commands/app/create.d.ts.map +0 -1
  130. package/dist/commands/app/create.js +0 -42
  131. package/dist/commands/app/create.js.map +0 -1
  132. package/dist/commands/app/info.d.ts +0 -9
  133. package/dist/commands/app/info.d.ts.map +0 -1
  134. package/dist/commands/app/info.js +0 -10
  135. package/dist/commands/app/info.js.map +0 -1
  136. package/dist/commands/app/link.d.ts +0 -10
  137. package/dist/commands/app/link.d.ts.map +0 -1
  138. package/dist/commands/app/link.js +0 -16
  139. package/dist/commands/app/link.js.map +0 -1
  140. package/dist/commands/app/provision.d.ts +0 -9
  141. package/dist/commands/app/provision.d.ts.map +0 -1
  142. package/dist/commands/app/provision.js +0 -10
  143. package/dist/commands/app/provision.js.map +0 -1
  144. package/dist/commands/auth/login.d.ts +0 -11
  145. package/dist/commands/auth/login.d.ts.map +0 -1
  146. package/dist/commands/auth/login.js.map +0 -1
  147. package/dist/commands/auth/logout.d.ts +0 -6
  148. package/dist/commands/auth/logout.d.ts.map +0 -1
  149. package/dist/commands/auth/logout.js +0 -30
  150. package/dist/commands/auth/logout.js.map +0 -1
  151. package/dist/commands/auth/status.d.ts +0 -6
  152. package/dist/commands/auth/status.d.ts.map +0 -1
  153. package/dist/commands/auth/status.js +0 -60
  154. package/dist/commands/auth/status.js.map +0 -1
  155. package/dist/commands/build.d.ts +0 -11
  156. package/dist/commands/build.d.ts.map +0 -1
  157. package/dist/commands/build.js +0 -23
  158. package/dist/commands/build.js.map +0 -1
  159. package/dist/commands/doctor.d.ts +0 -9
  160. package/dist/commands/doctor.d.ts.map +0 -1
  161. package/dist/commands/doctor.js +0 -7
  162. package/dist/commands/doctor.js.map +0 -1
  163. package/dist/commands/event/delivery/list.d.ts +0 -10
  164. package/dist/commands/event/delivery/list.d.ts.map +0 -1
  165. package/dist/commands/event/delivery/list.js +0 -14
  166. package/dist/commands/event/delivery/list.js.map +0 -1
  167. package/dist/commands/event/delivery/replay.d.ts +0 -13
  168. package/dist/commands/event/delivery/replay.d.ts.map +0 -1
  169. package/dist/commands/event/delivery/replay.js +0 -16
  170. package/dist/commands/event/delivery/replay.js.map +0 -1
  171. package/dist/commands/event/subscription/list.d.ts +0 -9
  172. package/dist/commands/event/subscription/list.d.ts.map +0 -1
  173. package/dist/commands/event/subscription/list.js +0 -10
  174. package/dist/commands/event/subscription/list.js.map +0 -1
  175. package/dist/commands/event/subscription/rotate-secret.d.ts +0 -15
  176. package/dist/commands/event/subscription/rotate-secret.d.ts.map +0 -1
  177. package/dist/commands/event/subscription/rotate-secret.js +0 -33
  178. package/dist/commands/event/subscription/rotate-secret.js.map +0 -1
  179. package/dist/commands/event/subscription/status.d.ts +0 -14
  180. package/dist/commands/event/subscription/status.d.ts.map +0 -1
  181. package/dist/commands/event/subscription/status.js +0 -19
  182. package/dist/commands/event/subscription/status.js.map +0 -1
  183. package/dist/commands/event/timer/list.d.ts +0 -9
  184. package/dist/commands/event/timer/list.d.ts.map +0 -1
  185. package/dist/commands/event/timer/list.js +0 -10
  186. package/dist/commands/event/timer/list.js.map +0 -1
  187. package/dist/commands/event/timer/status.d.ts +0 -14
  188. package/dist/commands/event/timer/status.d.ts.map +0 -1
  189. package/dist/commands/event/timer/status.js +0 -19
  190. package/dist/commands/event/timer/status.js.map +0 -1
  191. package/dist/commands/generate.d.ts +0 -10
  192. package/dist/commands/generate.d.ts.map +0 -1
  193. package/dist/commands/generate.js +0 -8
  194. package/dist/commands/generate.js.map +0 -1
  195. package/dist/commands/oauth/audit/list.d.ts +0 -12
  196. package/dist/commands/oauth/audit/list.d.ts.map +0 -1
  197. package/dist/commands/oauth/audit/list.js +0 -20
  198. package/dist/commands/oauth/audit/list.js.map +0 -1
  199. package/dist/commands/oauth/client/create.d.ts +0 -13
  200. package/dist/commands/oauth/client/create.d.ts.map +0 -1
  201. package/dist/commands/oauth/client/create.js +0 -34
  202. package/dist/commands/oauth/client/create.js.map +0 -1
  203. package/dist/commands/oauth/client/list.d.ts +0 -9
  204. package/dist/commands/oauth/client/list.d.ts.map +0 -1
  205. package/dist/commands/oauth/client/list.js +0 -10
  206. package/dist/commands/oauth/client/list.js.map +0 -1
  207. package/dist/commands/oauth/client/revoke.d.ts +0 -12
  208. package/dist/commands/oauth/client/revoke.d.ts.map +0 -1
  209. package/dist/commands/oauth/client/revoke.js +0 -12
  210. package/dist/commands/oauth/client/revoke.js.map +0 -1
  211. package/dist/commands/oauth/client/rotate.d.ts +0 -13
  212. package/dist/commands/oauth/client/rotate.d.ts.map +0 -1
  213. package/dist/commands/oauth/client/rotate.js +0 -20
  214. package/dist/commands/oauth/client/rotate.js.map +0 -1
  215. package/dist/commands/oauth/client/update.d.ts +0 -15
  216. package/dist/commands/oauth/client/update.d.ts.map +0 -1
  217. package/dist/commands/oauth/client/update.js +0 -23
  218. package/dist/commands/oauth/client/update.js.map +0 -1
  219. package/dist/commands/oauth/runtime/rotate.d.ts +0 -12
  220. package/dist/commands/oauth/runtime/rotate.d.ts.map +0 -1
  221. package/dist/commands/oauth/runtime/rotate.js +0 -31
  222. package/dist/commands/oauth/runtime/rotate.js.map +0 -1
  223. package/dist/commands/oauth/runtime/status.d.ts +0 -10
  224. package/dist/commands/oauth/runtime/status.d.ts.map +0 -1
  225. package/dist/commands/oauth/runtime/status.js +0 -17
  226. package/dist/commands/oauth/runtime/status.js.map +0 -1
  227. package/dist/commands/promote.d.ts +0 -13
  228. package/dist/commands/promote.d.ts.map +0 -1
  229. package/dist/commands/promote.js +0 -9
  230. package/dist/commands/promote.js.map +0 -1
  231. package/dist/commands/secret/audit/list.d.ts +0 -14
  232. package/dist/commands/secret/audit/list.d.ts.map +0 -1
  233. package/dist/commands/secret/audit/list.js +0 -16
  234. package/dist/commands/secret/audit/list.js.map +0 -1
  235. package/dist/commands/secret/create.d.ts +0 -18
  236. package/dist/commands/secret/create.d.ts.map +0 -1
  237. package/dist/commands/secret/create.js +0 -33
  238. package/dist/commands/secret/create.js.map +0 -1
  239. package/dist/commands/secret/delete.d.ts +0 -15
  240. package/dist/commands/secret/delete.d.ts.map +0 -1
  241. package/dist/commands/secret/delete.js +0 -20
  242. package/dist/commands/secret/delete.js.map +0 -1
  243. package/dist/commands/secret/list.d.ts +0 -10
  244. package/dist/commands/secret/list.d.ts.map +0 -1
  245. package/dist/commands/secret/list.js +0 -14
  246. package/dist/commands/secret/list.js.map +0 -1
  247. package/dist/commands/secret/rotate.d.ts +0 -18
  248. package/dist/commands/secret/rotate.d.ts.map +0 -1
  249. package/dist/commands/secret/rotate.js +0 -30
  250. package/dist/commands/secret/rotate.js.map +0 -1
  251. package/dist/commands/secret/update.d.ts +0 -17
  252. package/dist/commands/secret/update.d.ts.map +0 -1
  253. package/dist/commands/secret/update.js +0 -37
  254. package/dist/commands/secret/update.js.map +0 -1
  255. package/dist/commands/skill/install.d.ts +0 -11
  256. package/dist/commands/skill/install.d.ts.map +0 -1
  257. package/dist/commands/skill/install.js +0 -52
  258. package/dist/commands/skill/install.js.map +0 -1
  259. package/dist/commands/skill/validate.d.ts +0 -9
  260. package/dist/commands/skill/validate.d.ts.map +0 -1
  261. package/dist/commands/skill/validate.js +0 -32
  262. package/dist/commands/skill/validate.js.map +0 -1
  263. package/dist/commands/test.d.ts +0 -9
  264. package/dist/commands/test.d.ts.map +0 -1
  265. package/dist/commands/test.js +0 -7
  266. package/dist/commands/test.js.map +0 -1
  267. package/dist/commands/workflow/provider/list.d.ts +0 -10
  268. package/dist/commands/workflow/provider/list.d.ts.map +0 -1
  269. package/dist/commands/workflow/provider/list.js +0 -14
  270. package/dist/commands/workflow/provider/list.js.map +0 -1
  271. package/dist/commands/workflow/provider/rotate.d.ts +0 -15
  272. package/dist/commands/workflow/provider/rotate.d.ts.map +0 -1
  273. package/dist/commands/workflow/provider/rotate.js +0 -24
  274. package/dist/commands/workflow/provider/rotate.js.map +0 -1
  275. package/dist/secret-value.d.ts +0 -5
  276. package/dist/secret-value.d.ts.map +0 -1
  277. package/dist/secret-value.js +0 -15
  278. package/dist/secret-value.js.map +0 -1
package/README.md CHANGED
@@ -1,17 +1,53 @@
1
1
  # openxiangda-cli
2
2
 
3
- The thin OpenXiangda 2.0 CLI exposes only application-level commands. Each
4
- command parses input, calls one `OpenXiangdaApplicationServices` use case and
5
- renders its `DevkitResult`; commands never invoke other commands or parse their
6
- stdout. React, Ant Design and editor runtimes are intentionally absent.
7
-
8
- The CLI includes application creation, deterministic contract generation,
9
- checks/tests/build/deploy, OAuth2 client lifecycle, platform-managed runtime
10
- credential status/rotation, environment Secret management, event operations
11
- and staged Workflow Provider rotation. Runtime rotation stages a credential by
12
- CAS and promotes the currently active immutable AppVersion, so no secret is
13
- returned to the CLI and retries reuse one idempotency key. Secret
14
- values are read only from an environment variable or file and are never
15
- accepted as a command argument or rendered in output. A disposable application
16
- can use `app create --local-sdk <openxiangda-v2-root>` to test unpublished
17
- packages through pnpm link overrides.
3
+ OpenXiangda 2.0 installs one developer CLI for application creation, connected development, checks, deployment status and logs, explicit retry/cancel, environment start/stop, rollback, login, AppSpec and Skill installation.
4
+
5
+ Deployment recovery is server-authoritative. `status` exposes the root and
6
+ latest failures, candidate identity/state, recovery decision and append-only
7
+ attempt ledger; `logs` preserves those fields. The CLI follows only the
8
+ published recovery command and never advertises cancel after activation.
9
+
10
+ The CLI disables user, development and JIT plugin loading. A clean build removes orphaned command output before TypeScript compilation. `--json` emits one stable result envelope and never mixes progress logs into machine output.
11
+
12
+ Studio clients use `--json-events` on `create`, `dev`, `check`, `deploy`,
13
+ `logs`, and `rollback`. Each stdout line is one
14
+ `openxiangda.cli-event/v1` event with a stable AgentRun `--run-id`, ordered
15
+ sequence, timestamp and payload; terminal events carry the existing
16
+ `openxiangda.cli-result/v2` envelope. `--json` and `--json-events` are mutually
17
+ exclusive. `check` remains the only public check entry and reports its internal
18
+ test/build stages instead of adding public `test` or `build` commands.
19
+
20
+ Studio can create an application with explicit `--app-code` and `--name`.
21
+ Custom `--template-ref` and `--template-digest` values must be supplied
22
+ together. The reference is either `builtin:application` or a local directory
23
+ already materialized by the caller, and the digest is
24
+ `sha256:<64 lowercase hex>`. The CLI never fetches a remote template and writes
25
+ the verified binding to `.openxiangda/template.json` before installation.
26
+
27
+ When the customer site has already created the Application through a Studio
28
+ `ProjectProvisioningRun`, use the explicit site-bound mode:
29
+
30
+ ```bash
31
+ openxiangda create <directory> \
32
+ --app-code <platform-app-type> --name <name> \
33
+ --template-ref <ref> --template-digest <sha256:digest> \
34
+ --studio-project-id <uuid> --provisioning-run-id <uuid> \
35
+ --json-events --run-id <execution-uuid>
36
+ ```
37
+
38
+ This mode never calls application provision and never accepts repository
39
+ identity or credentials. It writes a secret-free, fail-closed
40
+ `.openxiangda/studio-binding.json` and returns the verified template plus
41
+ configuration, contract, AI Catalog and compiler summaries. The site Project
42
+ saga remains authoritative for Application and Git readback.
43
+
44
+ AI-native development clients use the same pinned executable in pre-command
45
+ stdio mode: `pnpm exec openxiangda --mcp-stdio --cwd <workspace>`. They can read
46
+ `openxiangda://workspace/contracts` or call `contract_describe` to obtain the
47
+ compiler-owned `aiCatalog`, `aiCatalogDigest` and the typed copy-once
48
+ `adminNavigationAuthoring.suggestion`. Copy its expression into
49
+ `frontend.admin.navigation`; runtime never applies it automatically. This
50
+ transport does not add another executable and applications must not implement
51
+ a second MCP server.
52
+
53
+ `dev` starts local Web/Nest hot reload and a loopback connected proxy. `deploy` defaults to test; production explicitly reuses a successful test AppVersion. Application binding, initialization, generation, tests and builds are internal stages rather than separate commands.
package/bin/run.js CHANGED
@@ -1,4 +1,82 @@
1
1
  #!/usr/bin/env node
2
2
  import { execute } from '@oclif/core';
3
+ import { readFileSync } from 'node:fs';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { DEVKIT_COMMANDS } from 'openxiangda-devkit-core';
3
6
 
4
- await execute({ dir: import.meta.url });
7
+ const publicCommands = new Set(DEVKIT_COMMANDS.map(command => command.id));
8
+ const args = process.argv.slice(2);
9
+
10
+ if (args.includes('--mcp-stdio')) {
11
+ const allowed = new Set(['--mcp-stdio', '--cwd']);
12
+ for (let index = 0; index < args.length; index += 1) {
13
+ const argument = args[index];
14
+ if (argument === '--cwd') {
15
+ index += 1;
16
+ if (!args[index]) throw new Error('OPENXIANGDA_MCP_CWD_REQUIRED');
17
+ continue;
18
+ }
19
+ if (!allowed.has(argument)) {
20
+ throw new Error(`OPENXIANGDA_MCP_ARGUMENT_INVALID: ${argument}`);
21
+ }
22
+ }
23
+ const cwdIndex = args.indexOf('--cwd');
24
+ const root = cwdIndex >= 0 ? args[cwdIndex + 1] : undefined;
25
+ const { runStdioServer } = await import('openxiangda-mcp');
26
+ await runStdioServer(root ? { root } : {});
27
+ } else {
28
+ const command = args.find(argument => !argument.startsWith('-'));
29
+
30
+ if (command && !publicCommands.has(command)) {
31
+ const nextCommand = 'openxiangda --help';
32
+ if (args.includes('--json')) {
33
+ process.stdout.write(`${JSON.stringify({
34
+ schemaVersion: 'openxiangda.cli-result/v2',
35
+ ok: false,
36
+ operation: command,
37
+ workspace: null,
38
+ data: null,
39
+ error: {
40
+ code: 'OPENXIANGDA_COMMAND_NOT_FOUND',
41
+ message: `未知命令: ${command}`,
42
+ retryable: false,
43
+ remediation: `运行 ${nextCommand}`,
44
+ nextCommand,
45
+ },
46
+ })}\n`);
47
+ } else {
48
+ process.stderr.write(`未知命令: ${command}\n运行 ${nextCommand}\n`);
49
+ }
50
+ process.exitCode = 2;
51
+ } else {
52
+ const root = fileURLToPath(new URL('../', import.meta.url));
53
+ const cliManifest = JSON.parse(
54
+ readFileSync(new URL('../package.json', import.meta.url), 'utf8')
55
+ );
56
+ const distributionManifest = process.env.OPENXIANGDA_DISTRIBUTION_NAME
57
+ ? {
58
+ ...cliManifest,
59
+ name: process.env.OPENXIANGDA_DISTRIBUTION_NAME,
60
+ version:
61
+ process.env.OPENXIANGDA_DISTRIBUTION_VERSION ||
62
+ cliManifest.version,
63
+ }
64
+ : undefined;
65
+ await execute({
66
+ args,
67
+ loadOptions: {
68
+ root,
69
+ ...(distributionManifest ? { pjson: distributionManifest } : {}),
70
+ ...(process.env.OPENXIANGDA_DISTRIBUTION_NAME
71
+ ? { name: process.env.OPENXIANGDA_DISTRIBUTION_NAME }
72
+ : {}),
73
+ ...(process.env.OPENXIANGDA_DISTRIBUTION_VERSION
74
+ ? { version: process.env.OPENXIANGDA_DISTRIBUTION_VERSION }
75
+ : {}),
76
+ userPlugins: false,
77
+ devPlugins: false,
78
+ jitPlugins: false,
79
+ },
80
+ });
81
+ }
82
+ }
package/dist/base.d.ts CHANGED
@@ -1,13 +1,67 @@
1
- import { Command } from '@oclif/core';
2
- import type { DevkitResult } from 'openxiangda-contracts';
3
- import { OpenXiangdaApplicationServices } from 'openxiangda-devkit-core';
1
+ import { Command } from "@oclif/core";
2
+ import { type DevkitResult } from "openxiangda-contracts";
3
+ import { OpenXiangdaApplicationServices } from "openxiangda-devkit-core";
4
4
  export declare const workspaceFlags: {
5
5
  cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
6
  };
7
- export declare const backendImageFlag: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ export declare const studioEventFlags: {
8
+ "json-events": import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ "run-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ export declare const studioWorkspaceFlags: {
12
+ "json-events": import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ "run-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ };
8
16
  export declare abstract class OpenXiangdaCommand extends Command {
9
17
  static enableJsonFlag: boolean;
10
18
  protected readonly services: OpenXiangdaApplicationServices;
11
- protected present(result: DevkitResult<unknown>): DevkitResult<unknown>;
19
+ private studioEventStream?;
20
+ private studioEventStarted;
21
+ protected catch(error: Error & {
22
+ exitCode?: number;
23
+ }): Promise<void>;
24
+ protected present(result: DevkitResult<unknown>): DevkitResult<unknown> | {
25
+ schemaVersion: "openxiangda.cli-result/v2";
26
+ ok: boolean;
27
+ operation: string;
28
+ workspace: import("openxiangda-contracts").WorkspaceIdentity | {
29
+ appCode: string;
30
+ name: string | undefined;
31
+ };
32
+ data: {} | null;
33
+ error: {
34
+ details?: Record<string, unknown>;
35
+ pointer?: string;
36
+ code: string;
37
+ message: string;
38
+ retryable: boolean;
39
+ remediation: string;
40
+ nextCommand: string | null;
41
+ } | null;
42
+ } | undefined;
43
+ protected machineOutputEnabled(): boolean;
44
+ protected beginStudioEvents(operation?: string): void;
45
+ protected emitStudioStatus(message: string, details?: Record<string, unknown>): void;
46
+ protected toErrorJson(error: unknown): {
47
+ schemaVersion: "openxiangda.cli-result/v2";
48
+ ok: boolean;
49
+ operation: string;
50
+ workspace: null;
51
+ data: null;
52
+ error: {
53
+ details?: Record<string, unknown>;
54
+ pointer?: string;
55
+ code: string;
56
+ message: string;
57
+ retryable: boolean;
58
+ remediation: string;
59
+ nextCommand: string;
60
+ };
61
+ };
62
+ private envelope;
63
+ private studioEventsEnabled;
64
+ private studioRunId;
65
+ private errorNextCommand;
12
66
  }
13
67
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,iHAI3B,CAAC;AAEH,8BAAsB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,UAAQ;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,iCAAwC;IAEnE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;CAYhD"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAE7C,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAE/B,MAAM,yBAAyB,CAAC;AAIjC,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAmB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;CAGhC,CAAC;AAEF,8BAAsB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,UAAQ;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,iCAExB;IACH,OAAO,CAAC,iBAAiB,CAAC,CAAuB;IACjD,OAAO,CAAC,kBAAkB,CAAS;cAEnB,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAiB1D,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;IAuB/C,SAAS,CAAC,oBAAoB;IAI9B,SAAS,CAAC,iBAAiB,CAAC,SAAS,SAAuB;IAa5D,SAAS,CAAC,gBAAgB,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAWvC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;IAqDpC,OAAO,CAAC,QAAQ;IAoChB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,gBAAgB;CAoCzB"}
package/dist/base.js CHANGED
@@ -1,20 +1,68 @@
1
- import { Command, Flags } from '@oclif/core';
2
- import { OpenXiangdaApplicationServices } from 'openxiangda-devkit-core';
1
+ import { Command, Flags } from "@oclif/core";
2
+ import { randomUUID } from "node:crypto";
3
+ import { STUDIO_CLI_RESULT_SCHEMA_VERSION, } from "openxiangda-contracts";
4
+ import { OpenXiangdaApplicationServices, commandDefinition, } from "openxiangda-devkit-core";
5
+ import { StudioCliEventStream } from "./studio-events.js";
6
+ import { resolveCliToolchainCapsule } from "./toolchain-capsule.js";
3
7
  export const workspaceFlags = {
4
- cwd: Flags.string({ summary: '应用工作区目录', helpValue: '<directory>' }),
8
+ cwd: Flags.string({ summary: "应用工作区目录", helpValue: "<directory>" }),
9
+ };
10
+ export const studioEventFlags = {
11
+ "json-events": Flags.boolean({
12
+ summary: "按 openxiangda.cli-event/v1 输出 JSONL 事件",
13
+ exclusive: ["json"],
14
+ }),
15
+ "run-id": Flags.string({
16
+ summary: "Studio AgentRun ID;仅与 --json-events 一起使用",
17
+ helpValue: "<run-id>",
18
+ dependsOn: ["json-events"],
19
+ parse: async (input) => {
20
+ if (!input || input.length > 256) {
21
+ throw Object.assign(new Error("STUDIO_RUN_ID_INVALID: runId 必须为 1 到 256 个字符"), { code: "STUDIO_RUN_ID_INVALID", retryable: false });
22
+ }
23
+ return input;
24
+ },
25
+ }),
26
+ };
27
+ export const studioWorkspaceFlags = {
28
+ ...workspaceFlags,
29
+ ...studioEventFlags,
5
30
  };
6
- export const backendImageFlag = Flags.string({
7
- summary: '已经推送的不可变后端 OCI image',
8
- helpValue: '<registry/repository@sha256:digest>',
9
- env: 'OPENXIANGDA_BACKEND_IMAGE',
10
- });
11
31
  export class OpenXiangdaCommand extends Command {
12
32
  static enableJsonFlag = true;
13
- services = new OpenXiangdaApplicationServices();
33
+ services = new OpenXiangdaApplicationServices({
34
+ toolchainCapsule: resolveCliToolchainCapsule(),
35
+ });
36
+ studioEventStream;
37
+ studioEventStarted = false;
38
+ async catch(error) {
39
+ process.exitCode = error.exitCode ?? 1;
40
+ if (this.studioEventsEnabled()) {
41
+ this.beginStudioEvents();
42
+ this.studioEventStream.emit("command.failed", {
43
+ operation: this.id || "unknown",
44
+ result: this.toErrorJson(error),
45
+ });
46
+ return;
47
+ }
48
+ if (this.jsonEnabled()) {
49
+ this.logJson(this.toErrorJson(error));
50
+ return;
51
+ }
52
+ throw error;
53
+ }
14
54
  present(result) {
15
55
  if (!result.ok)
16
56
  process.exitCode = 1;
17
- this.log(`${result.ok ? '✓' : '✗'} ${result.operation}`);
57
+ if (this.studioEventsEnabled()) {
58
+ this.beginStudioEvents(result.operation);
59
+ const envelope = this.envelope(result);
60
+ this.studioEventStream.emit(result.ok ? "command.completed" : "command.failed", { operation: result.operation, result: envelope });
61
+ return;
62
+ }
63
+ if (this.jsonEnabled())
64
+ return this.envelope(result);
65
+ this.log(`${result.ok ? "✓" : "✗"} ${result.operation}`);
18
66
  for (const diagnostic of result.diagnostics) {
19
67
  this.log(` ${diagnostic.code}: ${diagnostic.message}`);
20
68
  if (diagnostic.remediation)
@@ -25,5 +73,160 @@ export class OpenXiangdaCommand extends Command {
25
73
  }
26
74
  return result;
27
75
  }
76
+ machineOutputEnabled() {
77
+ return this.jsonEnabled() || this.studioEventsEnabled();
78
+ }
79
+ beginStudioEvents(operation = this.id || "unknown") {
80
+ if (!this.studioEventsEnabled())
81
+ return;
82
+ if (!this.studioEventStream) {
83
+ this.studioEventStream = new StudioCliEventStream(this.studioRunId() || randomUUID());
84
+ }
85
+ if (!this.studioEventStarted) {
86
+ this.studioEventStarted = true;
87
+ this.studioEventStream.emit("command.started", { operation });
88
+ }
89
+ }
90
+ emitStudioStatus(message, details = {}) {
91
+ if (!this.studioEventsEnabled())
92
+ return;
93
+ this.beginStudioEvents();
94
+ this.studioEventStream.emit("command.status", {
95
+ operation: this.id || "unknown",
96
+ message,
97
+ ...details,
98
+ });
99
+ }
100
+ toErrorJson(error) {
101
+ const message = error instanceof Error ? error.message : String(error || "未知错误");
102
+ const code = String(error?.code ||
103
+ message.match(/^([A-Z][A-Z0-9_]+)/)?.[1] ||
104
+ "OPENXIANGDA_COMMAND_FAILED");
105
+ const nextCommand = this.errorNextCommand(code);
106
+ const declaredRemediation = error?.remote?.remediation ||
107
+ error?.data?.remediation;
108
+ const retryable = Boolean(error?.retryable ||
109
+ error?.remote?.retryable ||
110
+ (error?.status &&
111
+ Number(error.status) >= 500) ||
112
+ /NETWORK|TIMEOUT|UNAVAILABLE|RATE_LIMIT/.test(code));
113
+ const details = error?.data &&
114
+ typeof error.data === "object" &&
115
+ !Array.isArray(error.data)
116
+ ? (error.data)
117
+ : undefined;
118
+ const pointer = (details && typeof details.pointer === "string"
119
+ ? details.pointer
120
+ : undefined) ||
121
+ error?.remote?.path;
122
+ return {
123
+ schemaVersion: STUDIO_CLI_RESULT_SCHEMA_VERSION,
124
+ ok: false,
125
+ operation: this.id || "unknown",
126
+ workspace: null,
127
+ data: null,
128
+ error: {
129
+ code,
130
+ message: message.replace(/^([A-Z][A-Z0-9_]+):\s*/, ""),
131
+ retryable,
132
+ remediation: typeof declaredRemediation === "string"
133
+ ? declaredRemediation
134
+ : `运行 ${nextCommand}`,
135
+ nextCommand,
136
+ ...(pointer ? { pointer } : {}),
137
+ ...(details ? { details } : {}),
138
+ },
139
+ };
140
+ }
141
+ envelope(result) {
142
+ const diagnostic = result.diagnostics.find(item => item.severity === "error");
143
+ const nextCommand = result.nextActions.find(action => action.command?.startsWith("openxiangda "))
144
+ ?.command || (diagnostic ? this.errorNextCommand(diagnostic.code) : null);
145
+ const studioInitialization = result.data &&
146
+ typeof result.data === "object" &&
147
+ "studioInitialization" in result.data;
148
+ return {
149
+ schemaVersion: STUDIO_CLI_RESULT_SCHEMA_VERSION,
150
+ ok: result.ok,
151
+ operation: result.operation,
152
+ workspace: studioInitialization
153
+ ? {
154
+ appCode: result.workspace.appCode,
155
+ name: result.workspace.name,
156
+ }
157
+ : result.workspace,
158
+ data: result.data ?? null,
159
+ error: diagnostic
160
+ ? {
161
+ code: diagnostic.code,
162
+ message: diagnostic.message,
163
+ retryable: diagnostic.retryable,
164
+ remediation: diagnostic.remediation ||
165
+ (nextCommand ? `运行 ${nextCommand}` : "检查错误后重试"),
166
+ nextCommand,
167
+ ...(diagnostic.path ? { pointer: diagnostic.path } : {}),
168
+ ...(diagnostic.details ? { details: diagnostic.details } : {}),
169
+ }
170
+ : null,
171
+ };
172
+ }
173
+ studioEventsEnabled() {
174
+ if (!this.argv.includes("--json-events"))
175
+ return false;
176
+ const command = commandDefinition(this.id || "");
177
+ return Boolean(command &&
178
+ "studioJsonEvents" in command &&
179
+ command.studioJsonEvents === true);
180
+ }
181
+ studioRunId() {
182
+ const inline = this.argv.find(argument => argument.startsWith("--run-id="));
183
+ if (inline) {
184
+ const value = inline.slice("--run-id=".length);
185
+ return value && value.length <= 256 ? value : undefined;
186
+ }
187
+ const index = this.argv.indexOf("--run-id");
188
+ const value = index >= 0 ? this.argv[index + 1] : undefined;
189
+ return value && value.length <= 256 ? value : undefined;
190
+ }
191
+ errorNextCommand(code) {
192
+ if (/AUTH|LOGIN|SESSION|TOKEN/.test(code)) {
193
+ return "openxiangda login --base-url <platform>";
194
+ }
195
+ if (/PRODUCTION|PROMOTION/.test(code)) {
196
+ return "openxiangda deploy --environment production --from <test-deployment-id>";
197
+ }
198
+ if (code === "DELIVERY_RUN_ALREADY_ACTIVE") {
199
+ return "openxiangda status";
200
+ }
201
+ const currentCommand = {
202
+ create: "openxiangda create <directory>",
203
+ dev: "openxiangda dev",
204
+ check: "openxiangda check",
205
+ accept: "openxiangda accept --plan <file>",
206
+ deploy: "openxiangda deploy",
207
+ status: "openxiangda status",
208
+ logs: "openxiangda logs",
209
+ cancel: "openxiangda cancel <deployment-id>",
210
+ retry: "openxiangda retry <deployment-id>",
211
+ start: "openxiangda start",
212
+ stop: "openxiangda stop",
213
+ rollback: "openxiangda rollback --to <app-version-id>",
214
+ login: "openxiangda login --base-url <platform>",
215
+ spec: "openxiangda spec context --json",
216
+ };
217
+ const currentId = this.id;
218
+ if (currentId && currentCommand[currentId])
219
+ return currentCommand[currentId];
220
+ if (/LINK|WORKSPACE|APP_CODE|APP_NAME|TARGET_DIRECTORY/.test(code)) {
221
+ return "openxiangda create <directory>";
222
+ }
223
+ if (/DEPLOYMENT|STATUS|LOG/.test(code))
224
+ return "openxiangda status";
225
+ if (/APPSPEC/.test(code))
226
+ return "openxiangda spec check";
227
+ if (/DEV/.test(code))
228
+ return "openxiangda dev";
229
+ return "openxiangda check";
230
+ }
28
231
  }
29
232
  //# sourceMappingURL=base.js.map
package/dist/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,sBAAsB;IAC/B,SAAS,EAAE,qCAAqC;IAChD,GAAG,EAAE,2BAA2B;CACjC,CAAC,CAAC;AAEH,MAAM,OAAgB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAEV,QAAQ,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAEzD,OAAO,CAAC,MAA6B;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,gCAAgC,GAEjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;QAC3B,OAAO,EAAE,wCAAwC;QACjD,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,0CAA0C;QACnD,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,CAAC,aAAa,CAAC;QAC1B,KAAK,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACnB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACjC,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,8CAA8C,CAAC,EACzD,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,KAAK,EAAE,CACpD,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,cAAc;IACjB,GAAG,gBAAgB;CACpB,CAAC;AAEF,MAAM,OAAgB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAEV,QAAQ,GAAG,IAAI,8BAA8B,CAAC;QAC/D,gBAAgB,EAAE,0BAA0B,EAAE;KAC/C,CAAC,CAAC;IACK,iBAAiB,CAAwB;IACzC,kBAAkB,GAAG,KAAK,CAAC;IAEzB,KAAK,CAAC,KAAK,CAAC,KAAoC;QACxD,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,SAAS;gBAC/B,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAES,OAAO,CAAC,MAA6B;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,EAClD,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAClD,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,oBAAoB;QAC5B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC1D,CAAC;IAES,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS;QAC1D,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,oBAAoB,CAC/C,IAAI,CAAC,WAAW,EAAE,IAAI,UAAU,EAAE,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAES,gBAAgB,CACxB,OAAe,EACf,UAAmC,EAAE;QAErC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAAE,OAAO;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC7C,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,SAAS;YAC/B,OAAO;YACP,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAES,WAAW,CAAC,KAAc;QAClC,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,CAChB,KAA4B,EAAE,IAAI;YACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,4BAA4B,CAC/B,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,mBAAmB,GACtB,KAAgD,EAAE,MAAM,EAAE,WAAW;YACrE,KAA8C,EAAE,IAAI,EAAE,WAAW,CAAC;QACrE,MAAM,SAAS,GAAG,OAAO,CACtB,KAAiC,EAAE,SAAS;YAC1C,KAA8C,EAAE,MAAM,EAAE,SAAS;YAClE,CAAE,KAA8B,EAAE,MAAM;gBACtC,MAAM,CAAE,KAA8B,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YACxD,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtD,CAAC;QACF,MAAM,OAAO,GACV,KAA4B,EAAE,IAAI;YACnC,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACtD,CAAC,KAAK,CAAC,OAAO,CAAE,KAA4B,CAAC,IAAI,CAAC;YAChD,CAAC,CAAC,CAAE,KAA2C,CAAC,IAAI,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GACX,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YAC7C,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,SAAS,CAAC;YACZ,KAAyC,EAAE,MAAM,EAAE,IAEvC,CAAC;QACjB,OAAO;YACL,aAAa,EAAE,gCAAgC;YAC/C,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,SAAS;YAC/B,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI;YACV,KAAK,EAAE;gBACL,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBACtD,SAAS;gBACT,WAAW,EACT,OAAO,mBAAmB,KAAK,QAAQ;oBACrC,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,MAAM,WAAW,EAAE;gBACzB,WAAW;gBACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,MAA6B;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QAC9E,MAAM,WAAW,GACf,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3E,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,oBAAoB,GACxB,MAAM,CAAC,IAAI;YACX,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,sBAAsB,IAAI,MAAM,CAAC,IAAI,CAAC;QACxC,OAAO;YACL,aAAa,EAAE,gCAAgC;YAC/C,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,oBAAoB;gBAC7B,CAAC,CAAC;oBACE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;oBACjC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;iBAC5B;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;YACzB,KAAK,EAAE,UAAU;gBACf,CAAC,CAAC;oBACE,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,WAAW,EACT,UAAU,CAAC,WAAW;wBACtB,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjD,WAAW;oBACX,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D;gBACH,CAAC,CAAC,IAAI;SACT,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO,OAAO,CACZ,OAAO;YACL,kBAAkB,IAAI,OAAO;YAC7B,OAAO,CAAC,gBAAgB,KAAK,IAAI,CACpC,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,yCAAyC,CAAC;QACnD,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,yEAAyE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;YAC3C,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QACD,MAAM,cAAc,GAA2B;YAC7C,MAAM,EAAE,gCAAgC;YACxC,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,kCAAkC;YAC1C,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,oCAAoC;YAC5C,KAAK,EAAE,mCAAmC;YAC1C,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,4CAA4C;YACtD,KAAK,EAAE,yCAAyC;YAChD,IAAI,EAAE,iCAAiC;SACxC,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YAAE,OAAO,cAAc,CAAC,SAAS,CAAE,CAAC;QAC9E,IAAI,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,OAAO,gCAAgC,CAAC;QAC1C,CAAC;QACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,oBAAoB,CAAC;QACpE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,wBAAwB,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,iBAAiB,CAAC;QAC/C,OAAO,mBAAmB,CAAC;IAC7B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { OpenXiangdaCommand } from "../base.js";
2
+ export default class Accept extends OpenXiangdaCommand {
3
+ static summary: string;
4
+ static flags: {
5
+ plan: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
6
+ cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<import("openxiangda-contracts").DevkitResult<unknown> | {
9
+ schemaVersion: "openxiangda.cli-result/v2";
10
+ ok: boolean;
11
+ operation: string;
12
+ workspace: import("openxiangda-contracts").WorkspaceIdentity | {
13
+ appCode: string;
14
+ name: string | undefined;
15
+ };
16
+ data: {} | null;
17
+ error: {
18
+ details?: Record<string, unknown>;
19
+ pointer?: string;
20
+ code: string;
21
+ message: string;
22
+ retryable: boolean;
23
+ remediation: string;
24
+ nextCommand: string | null;
25
+ } | null;
26
+ } | undefined>;
27
+ }
28
+ //# sourceMappingURL=accept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IACpD,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,KAAK;;;MAOV;IAEI,GAAG;;;;;;;;;;;;;;;;;;;CASV"}
@@ -0,0 +1,21 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { OpenXiangdaCommand, workspaceFlags } from "../base.js";
3
+ export default class Accept extends OpenXiangdaCommand {
4
+ static summary = "手动准备真实预发身份验收;不属于发布门禁";
5
+ static flags = {
6
+ ...workspaceFlags,
7
+ plan: Flags.string({
8
+ required: true,
9
+ summary: "预发身份验收计划 JSON 文件",
10
+ helpValue: "<file>",
11
+ }),
12
+ };
13
+ async run() {
14
+ const { flags } = await this.parse(Accept);
15
+ return this.present(await this.services.accept({
16
+ ...(flags.cwd ? { root: flags.cwd } : {}),
17
+ planPath: flags.plan,
18
+ }));
19
+ }
20
+ }
21
+ //# sourceMappingURL=accept.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IACpD,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;IACxC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,kBAAkB;YAC3B,SAAS,EAAE,QAAQ;SACpB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,QAAQ,EAAE,KAAK,CAAC,IAAI;SACrB,CAAC,CACH,CAAC;IACJ,CAAC"}
@@ -7,6 +7,24 @@ export default class Cancel extends OpenXiangdaCommand {
7
7
  static flags: {
8
8
  cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
9
  };
10
- run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
10
+ run(): Promise<import("openxiangda-contracts").DevkitResult<unknown> | {
11
+ schemaVersion: "openxiangda.cli-result/v2";
12
+ ok: boolean;
13
+ operation: string;
14
+ workspace: import("openxiangda-contracts").WorkspaceIdentity | {
15
+ appCode: string;
16
+ name: string | undefined;
17
+ };
18
+ data: {} | null;
19
+ error: {
20
+ details?: Record<string, unknown>;
21
+ pointer?: string;
22
+ code: string;
23
+ message: string;
24
+ retryable: boolean;
25
+ remediation: string;
26
+ nextCommand: string | null;
27
+ } | null;
28
+ } | undefined>;
11
29
  }
12
30
  //# sourceMappingURL=cancel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IACpD,MAAM,CAAC,OAAO,SAAwB;IACtC,MAAM,CAAC,IAAI;;MAAqD;IAChE,MAAM,CAAC,KAAK;;MAAkB;IAExB,GAAG;CAMV"}
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IACpD,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,IAAI;;MAAqD;IAChE,MAAM,CAAC,KAAK;;MAAkB;IAExB,GAAG;;;;;;;;;;;;;;;;;;;CAMV"}
@@ -1,7 +1,7 @@
1
1
  import { Args } from '@oclif/core';
2
2
  import { OpenXiangdaCommand, workspaceFlags } from '../base.js';
3
3
  export default class Cancel extends OpenXiangdaCommand {
4
- static summary = '幂等取消 DeploymentRun';
4
+ static summary = '幂等取消尚未提交激活的 DeploymentRun';
5
5
  static args = { deploymentId: Args.string({ required: true }) };
6
6
  static flags = workspaceFlags;
7
7
  async run() {
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IACpD,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;IACtC,MAAM,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;IAE9B,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CACzD,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IACpD,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC;IAC7C,MAAM,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;IAE9B,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CACzD,CAAC;IACJ,CAAC"}
@@ -2,8 +2,29 @@ import { OpenXiangdaCommand } from '../base.js';
2
2
  export default class Check extends OpenXiangdaCommand {
3
3
  static summary: string;
4
4
  static flags: {
5
+ environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
6
+ "json-events": import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ "run-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
5
8
  cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
9
  };
7
- run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
10
+ run(): Promise<import("openxiangda-contracts").DevkitResult<unknown> | {
11
+ schemaVersion: "openxiangda.cli-result/v2";
12
+ ok: boolean;
13
+ operation: string;
14
+ workspace: import("openxiangda-contracts").WorkspaceIdentity | {
15
+ appCode: string;
16
+ name: string | undefined;
17
+ };
18
+ data: {} | null;
19
+ error: {
20
+ details?: Record<string, unknown>;
21
+ pointer?: string;
22
+ code: string;
23
+ message: string;
24
+ retryable: boolean;
25
+ remediation: string;
26
+ nextCommand: string | null;
27
+ } | null;
28
+ } | undefined>;
8
29
  }
9
30
  //# sourceMappingURL=check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAChE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,kBAAkB;IACnD,MAAM,CAAC,OAAO,SAAe;IAC7B,MAAM,CAAC,KAAK;;MAAkB;IACxB,GAAG;CACV"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAwB,MAAM,YAAY,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,kBAAkB;IACnD,MAAM,CAAC,OAAO,SAAqB;IACnC,MAAM,CAAC,KAAK;;;;;MAOV;IAEI,GAAG;;;;;;;;;;;;;;;;;;;CAOV"}