@lark-base-open/base-database-cli 1.3.9 → 1.4.3

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 (320) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +119 -15
  3. package/THIRD_PARTY_LICENSES.json +1662 -0
  4. package/config-schema.json +64 -3
  5. package/data/template-hmr-scripts.json +9 -0
  6. package/data/template-index-html/17e698eef687ece8f1628e3e2c4801da5e7233faa87076b3424acde8df57b825.html +24 -0
  7. package/dist/agent-tools-guide.d.ts +29 -0
  8. package/dist/agent-tools-guide.d.ts.map +1 -0
  9. package/dist/agent-tools-guide.js +169 -0
  10. package/dist/agent-tools-guide.js.map +1 -0
  11. package/dist/agent-tools-skill.d.ts +16 -0
  12. package/dist/agent-tools-skill.d.ts.map +1 -0
  13. package/dist/agent-tools-skill.js +183 -0
  14. package/dist/agent-tools-skill.js.map +1 -0
  15. package/dist/agent-tools.d.ts +20 -0
  16. package/dist/agent-tools.d.ts.map +1 -0
  17. package/dist/agent-tools.js +137 -0
  18. package/dist/agent-tools.js.map +1 -0
  19. package/dist/ai-functions.d.ts +10 -0
  20. package/dist/ai-functions.d.ts.map +1 -1
  21. package/dist/ai-functions.js +264 -212
  22. package/dist/ai-functions.js.map +1 -1
  23. package/dist/app-builder/core.d.mts +37 -0
  24. package/dist/app-builder/core.d.mts.map +1 -0
  25. package/dist/app-builder/core.mjs +673 -0
  26. package/dist/app-builder/core.mjs.map +1 -0
  27. package/dist/app-builder/package.json +1 -0
  28. package/dist/app-builder/schema.d.ts +4 -0
  29. package/dist/app-builder/schema.d.ts.map +1 -0
  30. package/dist/app-builder/schema.js +72 -0
  31. package/dist/app-builder/schema.js.map +1 -0
  32. package/dist/archive.d.ts +22 -2
  33. package/dist/archive.d.ts.map +1 -1
  34. package/dist/archive.js +311 -74
  35. package/dist/archive.js.map +1 -1
  36. package/dist/auth.d.ts +2 -2
  37. package/dist/auth.d.ts.map +1 -1
  38. package/dist/auth.js +13 -8
  39. package/dist/auth.js.map +1 -1
  40. package/dist/build-server.d.ts +25 -0
  41. package/dist/build-server.d.ts.map +1 -0
  42. package/dist/build-server.js +32 -0
  43. package/dist/build-server.js.map +1 -0
  44. package/dist/business-update-notice.d.ts +37 -0
  45. package/dist/business-update-notice.d.ts.map +1 -0
  46. package/dist/business-update-notice.js +24 -0
  47. package/dist/business-update-notice.js.map +1 -0
  48. package/dist/check.d.ts +11 -0
  49. package/dist/check.d.ts.map +1 -1
  50. package/dist/check.js +85 -15
  51. package/dist/check.js.map +1 -1
  52. package/dist/cloud-build-diagnostic.d.ts +9 -0
  53. package/dist/cloud-build-diagnostic.d.ts.map +1 -0
  54. package/dist/cloud-build-diagnostic.js +65 -0
  55. package/dist/cloud-build-diagnostic.js.map +1 -0
  56. package/dist/config.d.ts +6 -0
  57. package/dist/config.d.ts.map +1 -1
  58. package/dist/config.js +41 -11
  59. package/dist/config.js.map +1 -1
  60. package/dist/contract-extractor.d.ts +21 -0
  61. package/dist/contract-extractor.d.ts.map +1 -0
  62. package/dist/contract-extractor.js +260 -0
  63. package/dist/contract-extractor.js.map +1 -0
  64. package/dist/contract-worker.d.ts +12 -0
  65. package/dist/contract-worker.d.ts.map +1 -0
  66. package/dist/contract-worker.js +90 -0
  67. package/dist/contract-worker.js.map +1 -0
  68. package/dist/dependency-policy.d.ts.map +1 -1
  69. package/dist/dependency-policy.js +6 -1
  70. package/dist/dependency-policy.js.map +1 -1
  71. package/dist/deploy.d.ts +20 -1
  72. package/dist/deploy.d.ts.map +1 -1
  73. package/dist/deploy.js +181 -52
  74. package/dist/deploy.js.map +1 -1
  75. package/dist/dev-bootstrap.d.ts +5 -0
  76. package/dist/dev-bootstrap.d.ts.map +1 -0
  77. package/dist/dev-bootstrap.js +185 -0
  78. package/dist/dev-bootstrap.js.map +1 -0
  79. package/dist/dev-events.d.ts +24 -0
  80. package/dist/dev-events.d.ts.map +1 -0
  81. package/dist/dev-events.js +67 -0
  82. package/dist/dev-events.js.map +1 -0
  83. package/dist/dev-pairing.d.ts +4 -0
  84. package/dist/dev-pairing.d.ts.map +1 -0
  85. package/dist/dev-pairing.js +54 -0
  86. package/dist/dev-pairing.js.map +1 -0
  87. package/dist/dev-url.d.ts +4 -0
  88. package/dist/dev-url.d.ts.map +1 -0
  89. package/dist/dev-url.js +29 -0
  90. package/dist/dev-url.js.map +1 -0
  91. package/dist/dev-vite.d.ts +9 -0
  92. package/dist/dev-vite.d.ts.map +1 -0
  93. package/dist/dev-vite.js +237 -0
  94. package/dist/dev-vite.js.map +1 -0
  95. package/dist/dev-watch.d.ts +33 -0
  96. package/dist/dev-watch.d.ts.map +1 -0
  97. package/dist/dev-watch.js +246 -0
  98. package/dist/dev-watch.js.map +1 -0
  99. package/dist/dev.d.ts +24 -0
  100. package/dist/dev.d.ts.map +1 -0
  101. package/dist/dev.js +244 -0
  102. package/dist/dev.js.map +1 -0
  103. package/dist/development-pairing.generated.d.ts +12 -0
  104. package/dist/development-pairing.generated.d.ts.map +1 -0
  105. package/dist/development-pairing.generated.js +13 -0
  106. package/dist/development-pairing.generated.js.map +1 -0
  107. package/dist/diagnostic-platforms.d.ts +3 -0
  108. package/dist/diagnostic-platforms.d.ts.map +1 -0
  109. package/dist/diagnostic-platforms.js +3 -0
  110. package/dist/diagnostic-platforms.js.map +1 -0
  111. package/dist/diagnostic-schema.d.ts +151 -0
  112. package/dist/diagnostic-schema.d.ts.map +1 -0
  113. package/dist/diagnostic-schema.js +129 -0
  114. package/dist/diagnostic-schema.js.map +1 -0
  115. package/dist/diagnostics.d.ts +78 -0
  116. package/dist/diagnostics.d.ts.map +1 -0
  117. package/dist/diagnostics.js +333 -0
  118. package/dist/diagnostics.js.map +1 -0
  119. package/dist/distribution-commands.d.ts.map +1 -1
  120. package/dist/distribution-commands.js +6 -2
  121. package/dist/distribution-commands.js.map +1 -1
  122. package/dist/distribution-npm.d.ts +2 -2
  123. package/dist/distribution-npm.d.ts.map +1 -1
  124. package/dist/distribution-npm.js +14 -1
  125. package/dist/distribution-npm.js.map +1 -1
  126. package/dist/environment-variables.d.ts.map +1 -1
  127. package/dist/environment-variables.js +2 -1
  128. package/dist/environment-variables.js.map +1 -1
  129. package/dist/function-contracts.d.ts +40 -0
  130. package/dist/function-contracts.d.ts.map +1 -0
  131. package/dist/function-contracts.js +357 -0
  132. package/dist/function-contracts.js.map +1 -0
  133. package/dist/function-description.d.ts +11 -4
  134. package/dist/function-description.d.ts.map +1 -1
  135. package/dist/function-description.js +22 -12
  136. package/dist/function-description.js.map +1 -1
  137. package/dist/function-input-types.d.ts +6 -4
  138. package/dist/function-input-types.d.ts.map +1 -1
  139. package/dist/function-input-types.js +97 -135
  140. package/dist/function-input-types.js.map +1 -1
  141. package/dist/function-params.d.ts +53 -0
  142. package/dist/function-params.d.ts.map +1 -0
  143. package/dist/function-params.js +184 -0
  144. package/dist/function-params.js.map +1 -0
  145. package/dist/function-schema.d.ts +14 -0
  146. package/dist/function-schema.d.ts.map +1 -1
  147. package/dist/function-schema.js +99 -9
  148. package/dist/function-schema.js.map +1 -1
  149. package/dist/init-journal.d.ts +1 -0
  150. package/dist/init-journal.d.ts.map +1 -1
  151. package/dist/init-journal.js +21 -7
  152. package/dist/init-journal.js.map +1 -1
  153. package/dist/init.d.ts +1 -0
  154. package/dist/init.d.ts.map +1 -1
  155. package/dist/init.js +55 -5
  156. package/dist/init.js.map +1 -1
  157. package/dist/lark-cli-error.d.ts +13 -2
  158. package/dist/lark-cli-error.d.ts.map +1 -1
  159. package/dist/lark-cli-error.js +54 -13
  160. package/dist/lark-cli-error.js.map +1 -1
  161. package/dist/lark-cli-passthrough.d.ts +9 -0
  162. package/dist/lark-cli-passthrough.d.ts.map +1 -0
  163. package/dist/lark-cli-passthrough.js +101 -0
  164. package/dist/lark-cli-passthrough.js.map +1 -0
  165. package/dist/lark-cli.d.ts +5 -2
  166. package/dist/lark-cli.d.ts.map +1 -1
  167. package/dist/lark-cli.js +96 -29
  168. package/dist/lark-cli.js.map +1 -1
  169. package/dist/legacy-function-input-renderer.d.ts +6 -0
  170. package/dist/legacy-function-input-renderer.d.ts.map +1 -0
  171. package/dist/legacy-function-input-renderer.js +175 -0
  172. package/dist/legacy-function-input-renderer.js.map +1 -0
  173. package/dist/link-guard-check.d.ts +12 -0
  174. package/dist/link-guard-check.d.ts.map +1 -0
  175. package/dist/link-guard-check.js +138 -0
  176. package/dist/link-guard-check.js.map +1 -0
  177. package/dist/managed-agent-docs.d.ts +14 -0
  178. package/dist/managed-agent-docs.d.ts.map +1 -0
  179. package/dist/managed-agent-docs.js +172 -0
  180. package/dist/managed-agent-docs.js.map +1 -0
  181. package/dist/mutation-schema.d.ts +6 -0
  182. package/dist/mutation-schema.d.ts.map +1 -1
  183. package/dist/mutation-schema.js +6 -0
  184. package/dist/mutation-schema.js.map +1 -1
  185. package/dist/mutation.d.ts +4 -1
  186. package/dist/mutation.d.ts.map +1 -1
  187. package/dist/mutation.js +17 -2
  188. package/dist/mutation.js.map +1 -1
  189. package/dist/npm.d.ts +1 -0
  190. package/dist/npm.d.ts.map +1 -1
  191. package/dist/npm.js +28 -0
  192. package/dist/npm.js.map +1 -1
  193. package/dist/preview-receipt.d.ts +0 -2
  194. package/dist/preview-receipt.d.ts.map +1 -1
  195. package/dist/preview-receipt.js +0 -28
  196. package/dist/preview-receipt.js.map +1 -1
  197. package/dist/process.d.ts +1 -0
  198. package/dist/process.d.ts.map +1 -1
  199. package/dist/process.js +25 -0
  200. package/dist/process.js.map +1 -1
  201. package/dist/program.d.ts.map +1 -1
  202. package/dist/program.js +239 -26
  203. package/dist/program.js.map +1 -1
  204. package/dist/project-build.d.ts +2 -1
  205. package/dist/project-build.d.ts.map +1 -1
  206. package/dist/project-build.js +53 -16
  207. package/dist/project-build.js.map +1 -1
  208. package/dist/project-capabilities.d.ts +8 -0
  209. package/dist/project-capabilities.d.ts.map +1 -0
  210. package/dist/project-capabilities.js +47 -0
  211. package/dist/project-capabilities.js.map +1 -0
  212. package/dist/project-context.d.ts +66 -0
  213. package/dist/project-context.d.ts.map +1 -1
  214. package/dist/project-context.js +68 -6
  215. package/dist/project-context.js.map +1 -1
  216. package/dist/project-layout.d.ts +11 -0
  217. package/dist/project-layout.d.ts.map +1 -1
  218. package/dist/project-layout.js +63 -1
  219. package/dist/project-layout.js.map +1 -1
  220. package/dist/public-exports.d.ts +5 -0
  221. package/dist/public-exports.d.ts.map +1 -0
  222. package/dist/public-exports.js +76 -0
  223. package/dist/public-exports.js.map +1 -0
  224. package/dist/public-sql-error.d.ts +3 -1
  225. package/dist/public-sql-error.d.ts.map +1 -1
  226. package/dist/public-sql-error.js +5 -2
  227. package/dist/public-sql-error.js.map +1 -1
  228. package/dist/pull.d.ts +1 -0
  229. package/dist/pull.d.ts.map +1 -1
  230. package/dist/pull.js +103 -20
  231. package/dist/pull.js.map +1 -1
  232. package/dist/sdk-codegen.d.ts +16 -0
  233. package/dist/sdk-codegen.d.ts.map +1 -0
  234. package/dist/sdk-codegen.js +181 -0
  235. package/dist/sdk-codegen.js.map +1 -0
  236. package/dist/sdk-install.d.ts +4 -0
  237. package/dist/sdk-install.d.ts.map +1 -0
  238. package/dist/sdk-install.js +33 -0
  239. package/dist/sdk-install.js.map +1 -0
  240. package/dist/skill-frontmatter.d.ts +5 -0
  241. package/dist/skill-frontmatter.d.ts.map +1 -0
  242. package/dist/skill-frontmatter.js +28 -0
  243. package/dist/skill-frontmatter.js.map +1 -0
  244. package/dist/skill.d.ts +2 -1
  245. package/dist/skill.d.ts.map +1 -1
  246. package/dist/skill.js +18 -12
  247. package/dist/skill.js.map +1 -1
  248. package/dist/source-format.d.ts +10 -0
  249. package/dist/source-format.d.ts.map +1 -0
  250. package/dist/source-format.js +49 -0
  251. package/dist/source-format.js.map +1 -0
  252. package/dist/types.d.ts +6 -0
  253. package/dist/types.d.ts.map +1 -1
  254. package/dist/unified-functions.d.ts +22 -0
  255. package/dist/unified-functions.d.ts.map +1 -0
  256. package/dist/unified-functions.js +114 -0
  257. package/dist/unified-functions.js.map +1 -0
  258. package/dist/updates.d.ts +13 -1
  259. package/dist/updates.d.ts.map +1 -1
  260. package/dist/updates.js +65 -29
  261. package/dist/updates.js.map +1 -1
  262. package/dist/workspace-fingerprint.d.ts.map +1 -1
  263. package/dist/workspace-fingerprint.js +5 -0
  264. package/dist/workspace-fingerprint.js.map +1 -1
  265. package/package.json +17 -5
  266. package/skills/lark-base-database/SKILL.md +21 -55
  267. package/skills/lark-base-database/references/agent-tool-design.md +181 -0
  268. package/skills/lark-base-database/references/agent-tools.md +101 -0
  269. package/skills/lark-base-database/references/ai-function.md +80 -186
  270. package/skills/lark-base-database/references/database-function-limitations.md +12 -4
  271. package/skills/lark-base-database/references/database-function.md +49 -21
  272. package/skills/lark-base-database/references/development.md +81 -109
  273. package/skills/lark-base-database/references/environment-variables.md +2 -2
  274. package/skills/lark-base-database/references/faas.md +43 -16
  275. package/skills/lark-base-database/references/file-transfer.md +10 -33
  276. package/skills/lark-base-database/references/frontend-design-guide.md +1 -1
  277. package/skills/lark-base-database/references/legacy-ai-function.md +120 -0
  278. package/skills/lark-base-database/references/legacy-development.md +156 -0
  279. package/skills/lark-base-database/references/legacy-file-transfer.md +68 -0
  280. package/skills/lark-base-database/references/mutations.md +38 -29
  281. package/skills/lark-base-database/references/notifications.md +1 -1
  282. package/skills/lark-base-database/references/permission-design.md +11 -5
  283. package/skills/lark-base-database/references/release.md +22 -7
  284. package/skills/lark-base-database/references/verification.md +55 -16
  285. package/skills/lark-base-database/references/workspace-migration.md +86 -0
  286. package/skills/lark-base-database/references/workspace.md +55 -44
  287. package/templates/database-starter/README.md +2 -0
  288. package/templates/database-starter/database-functions/README.md +2 -2
  289. package/templates/database-starter/mutations/README.md +2 -2
  290. package/templates/database-starter/page/README.md +5 -4
  291. package/templates/database-starter/page/src/examples/ai-function/TextStreamOperation.tsx +6 -6
  292. package/templates/database-starter/page/src/lib/attachment-image.tsx +19 -5
  293. package/templates/database-starter/page/src/lib/database-runtime-attachment.test.ts +124 -5
  294. package/templates/database-starter/page/src/lib/database-runtime.test.ts +2 -2
  295. package/templates/database-starter/page/src/lib/database-runtime.ts +77 -13
  296. package/templates/database-starter/server-functions/scripts/run-tsc.mjs +3 -2
  297. package/templates/database-starter-v2/README.md +25 -0
  298. package/templates/database-starter-v2/base-app.config.ts +10 -0
  299. package/templates/database-starter-v2/database-functions/README.md +1 -0
  300. package/templates/database-starter-v2/gitignore +6 -0
  301. package/templates/database-starter-v2/mutations/README.md +1 -0
  302. package/templates/database-starter-v2/package-lock.json +2239 -0
  303. package/templates/database-starter-v2/package.json +18 -0
  304. package/templates/database-starter-v2/page/index.html +2 -0
  305. package/templates/database-starter-v2/page/package.json +25 -0
  306. package/templates/database-starter-v2/page/src/App.tsx +12 -0
  307. package/templates/database-starter-v2/page/src/generated/README.md +1 -0
  308. package/templates/database-starter-v2/page/src/index.css +1 -0
  309. package/templates/database-starter-v2/page/src/lib/date-time.ts +61 -0
  310. package/templates/database-starter-v2/page/src/main.tsx +6 -0
  311. package/templates/database-starter-v2/page/tsconfig.json +19 -0
  312. package/templates/database-starter-v2/page/vite.config.ts +3 -0
  313. package/templates/database-starter-v2/prettierignore +3 -0
  314. package/templates/database-starter-v2/server/functions/README.md +1 -0
  315. package/templates/database-starter-v2/server/functions/hello/contract.ts +5 -0
  316. package/templates/database-starter-v2/server/functions/hello/index.ts +7 -0
  317. package/templates/database-starter-v2/server/functions/hello/meta.json +1 -0
  318. package/templates/database-starter-v2/server/generated/runtime-profile.ts +5 -0
  319. package/templates/database-starter-v2/server/package.json +17 -0
  320. package/templates/database-starter-v2/server/tsconfig.json +14 -0
@@ -6,33 +6,6 @@ const PREVIEW_RECEIPT_VERSION = 2;
6
6
  function statePath(workspace, name) {
7
7
  return join(workspace, '.base-database-cli/state', name);
8
8
  }
9
- function builderTurnContext() {
10
- const contextPath = process.env.BASE_SITE_BUILDER_TURN_CONTEXT_FILE?.trim();
11
- if (!contextPath)
12
- return undefined;
13
- let value;
14
- try {
15
- value = JSON.parse(readFileSync(contextPath, 'utf8'));
16
- }
17
- catch {
18
- throw new Error('Builder turn context is unavailable or invalid');
19
- }
20
- if (!value || typeof value !== 'object' || Array.isArray(value)) {
21
- throw new Error('Builder turn context must be an object');
22
- }
23
- const context = value;
24
- if (typeof context.builderTurnId !== 'string' ||
25
- context.builderTurnId.trim() === '' ||
26
- context.builderTurnId.length > 256 ||
27
- !Number.isSafeInteger(context.builderTurnGeneration) ||
28
- (context.builderTurnGeneration ?? 0) < 1) {
29
- throw new Error('Builder turn context is missing a valid turn ID or generation');
30
- }
31
- return {
32
- builderTurnId: context.builderTurnId,
33
- builderTurnGeneration: context.builderTurnGeneration,
34
- };
35
- }
36
9
  function receiptForPreview(artifact, workspaceInput) {
37
10
  return {
38
11
  ...artifact,
@@ -40,7 +13,6 @@ function receiptForPreview(artifact, workspaceInput) {
40
13
  workspaceInputFingerprint: workspaceInput.sha256,
41
14
  workspaceInputFingerprintAlgorithm: workspaceInput.algorithm,
42
15
  workspaceInputFileCount: workspaceInput.fileCount,
43
- ...(builderTurnContext() ?? {}),
44
16
  };
45
17
  }
46
18
  function writeJSONAtomically(path, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"preview-receipt.js","sourceRoot":"","sources":["../src/preview-receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview-receipt.js","sourceRoot":"","sources":["../src/preview-receipt.ts"],"names":[],"mappings":"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"}
package/dist/process.d.ts CHANGED
@@ -15,5 +15,6 @@ export declare function runCommandAsync(command: string, args: string[], options
15
15
  env?: NodeJS.ProcessEnv;
16
16
  captureStderr?: boolean;
17
17
  captureOutput?: boolean;
18
+ signal?: AbortSignal;
18
19
  }): Promise<void>;
19
20
  //# sourceMappingURL=process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAEA,qBAAa,qBAAsB,SAAQ,KAAK;IAG5C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAChC,QAAQ,CAAC,MAAM;IAJjB,YACE,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,SAAK,EAIrB;CACF;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,MAAM,CAmBR;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,GACL,OAAO,CAAC,IAAI,CAAC,CAqCf"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAEA,qBAAa,qBAAsB,SAAQ,KAAK;IAG5C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAChC,QAAQ,CAAC,MAAM;IAJjB,YACE,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,SAAK,EAIrB;CACF;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,MAAM,CAmBR;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB,GACL,OAAO,CAAC,IAAI,CAAC,CA4Df"}
package/dist/process.js CHANGED
@@ -32,16 +32,39 @@ export function runCommand(command, args, options = {}) {
32
32
  }
33
33
  export function runCommandAsync(command, args, options = {}) {
34
34
  return new Promise((resolve, reject) => {
35
+ if (options.signal?.aborted) {
36
+ reject(new Error('Command aborted'));
37
+ return;
38
+ }
35
39
  const captureOutput = options.captureOutput === true;
36
40
  const child = spawn(command, args, {
37
41
  cwd: options.cwd,
38
42
  env: options.env,
43
+ detached: Boolean(options.signal) && process.platform !== 'win32',
39
44
  stdio: captureOutput
40
45
  ? ['inherit', 'pipe', 'pipe']
41
46
  : options.captureStderr
42
47
  ? ['inherit', 'inherit', 'pipe']
43
48
  : 'inherit',
44
49
  });
50
+ let killTimer;
51
+ const kill = (signal) => {
52
+ try {
53
+ if (process.platform !== 'win32' && child.pid)
54
+ process.kill(-child.pid, signal);
55
+ else
56
+ child.kill(signal);
57
+ }
58
+ catch (error) {
59
+ if (error.code !== 'ESRCH')
60
+ child.kill(signal);
61
+ }
62
+ };
63
+ const abort = () => {
64
+ kill('SIGTERM');
65
+ killTimer = setTimeout(() => kill('SIGKILL'), 2000);
66
+ };
67
+ options.signal?.addEventListener('abort', abort, { once: true });
45
68
  let stdout = '';
46
69
  let stderr = '';
47
70
  child.stdout?.on('data', (chunk) => {
@@ -54,6 +77,8 @@ export function runCommandAsync(command, args, options = {}) {
54
77
  });
55
78
  child.once('error', reject);
56
79
  child.once('close', (code, signal) => {
80
+ clearTimeout(killTimer);
81
+ options.signal?.removeEventListener('abort', abort);
57
82
  if (code === 0) {
58
83
  resolve();
59
84
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAc5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsBvD,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAaD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CA+pBT;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAW7D"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AAelD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAyBvD,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAaD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CA85BT;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6D7D"}
package/dist/program.js CHANGED
@@ -1,6 +1,16 @@
1
+ import { SDKCodegenError } from './sdk-codegen.js';
2
+ import { CloudBuildError, localBuilderInfo } from './cloud-build-diagnostic.js';
3
+ import { FunctionDeclarationError } from './archive.js';
4
+ import { devProject } from './dev.js';
5
+ import { DIAGNOSTIC_PLATFORMS } from './diagnostic-platforms.js';
6
+ import { resolve } from 'node:path';
7
+ import { diagnosticSummary, queryDiagnostics, importDiagnostics, } from './diagnostics.js';
8
+ import { prepareFunctionContracts } from './function-contracts.js';
9
+ import { LarkCliError } from './lark-cli-error.js';
10
+ import { functionEnv } from './unified-functions.js';
1
11
  import { readFileSync } from 'node:fs';
2
- import { Command, Option } from 'commander';
3
- import { debugAIFunction, getAIFunction, getAIFunctionTask, getAIFunctionUsage, listAIFunctions, syncAIFunctions, validateAIFunction, } from './ai-functions.js';
12
+ import { Command, Help, Option } from 'commander';
13
+ import { debugAIFunction, getAIFunction, pullAIFunction, getAIFunctionTask, getAIFunctionUsage, listAIFunctions, syncAIFunctions, validateAIFunction, } from './ai-functions.js';
4
14
  import { doctor, login, logout, whoami } from './auth.js';
5
15
  import { CheckFailureError, checkProject } from './check.js';
6
16
  import { deploymentStatus, deployProject } from './deploy.js';
@@ -8,10 +18,13 @@ import { clearEnvironmentVariable, declareEnvironmentVariable, ENVIRONMENT_VARIA
8
18
  import { initializeProject } from './init.js';
9
19
  import { InitFailureError } from './init-journal.js';
10
20
  import { runProjectLarkCli } from './lark-cli.js';
21
+ import { LarkCliPassthroughError } from './lark-cli-passthrough.js';
11
22
  import { validateLarkProfile } from './profile-name.js';
12
23
  import { pullProject } from './pull.js';
13
24
  import { getProjectContext, summarizeProjectContext, } from './project-context.js';
14
25
  import { installSkill } from './skill.js';
26
+ import { installAgentToolsSkill } from './agent-tools-skill.js';
27
+ import { businessUpdateNotice } from './business-update-notice.js';
15
28
  function printJson(value) {
16
29
  process.stdout.write(`${JSON.stringify(value, null, 2)}\n`);
17
30
  }
@@ -50,20 +63,76 @@ export function createBaseDatabaseProgram(options) {
50
63
  .option('--profile <name>', 'Use an existing lark-cli profile (overrides project selection)', validateLarkProfile)
51
64
  .showSuggestionAfterError()
52
65
  .showHelpAfterError();
66
+ const printJson = (value) => {
67
+ const update = businessUpdateNotice(program);
68
+ process.stdout.write(`${JSON.stringify(update ? { ...value, update } : value, null, 2)}\n`);
69
+ };
53
70
  const selectedLarkProfile = () => program.opts().profile;
71
+ program
72
+ .command('dev')
73
+ .description('Start loopback Vite and print the editor development URL (preview only)')
74
+ .argument('[directory]', 'Project directory', '.')
75
+ .option('--deploy-preview', 'Allow whole-application Preview deployment after FaaS changes', false)
76
+ .option('--port <number>', 'Loopback port 43100–43109', Number)
77
+ .option('--host-origin <origin>', 'Exact HTTPS origin of the editor host')
78
+ .option('--reset-pairing', 'Regenerate this project’s local pairing token', false)
79
+ .option('--skip-bootstrap-check', 'Skip static SDK startBaseApp entry check (advanced escape hatch)', false)
80
+ .option('--json', 'Machine-readable JSON events (one JSON event per line)', false)
81
+ .addOption(environmentOption())
82
+ .action(async (directory, opts) => devProject({
83
+ ...opts,
84
+ directory,
85
+ skipBootstrapCheck: opts.skipBootstrapCheck,
86
+ runtimeProfile: runtimeProfile(opts.env),
87
+ larkProfile: selectedLarkProfile(),
88
+ }));
89
+ const diagnostics = program
90
+ .command('diagnostics')
91
+ .description('Summarize local diagnostics with explicit source coverage')
92
+ .argument('[directory]', 'Project directory', '.')
93
+ .option('--app-token <id>', 'Filter application token')
94
+ .addOption(new Option('--project-env <environment>', 'Filter project environment').choices(['preview', 'prod']))
95
+ .addOption(new Option('--platform-env <environment>', 'Filter platform environment').choices([...DIAGNOSTIC_PLATFORMS]))
96
+ .option('--since <RFC3339>', 'Window start (default: 24 hours before end)')
97
+ .option('--until <RFC3339>', 'Window end (default: now)')
98
+ .option('--json', 'Machine-readable JSON', false)
99
+ .action((directory, opts) => {
100
+ const report = queryDiagnostics(resolve(directory), opts);
101
+ if (opts.json)
102
+ printJson(report);
103
+ else
104
+ process.stdout.write(diagnosticSummary(report));
105
+ });
106
+ diagnostics
107
+ .command('import <file> [directory]', { hidden: true })
108
+ .description('Import sanitized diagnostic v1 records or agent-browser console JSON')
109
+ .action((file, directory = '.') => printJson(importDiagnostics(resolve(directory), resolve(file))));
110
+ program
111
+ .command('contracts')
112
+ .description('Manage defineFunction contracts')
113
+ .command('generate [directory]')
114
+ .description('Generate isolated contracts, metadata and typed Page clients')
115
+ .option('--runtime-only', 'Omit backend discovery schemas (does not change identity or FG)')
116
+ .action(async (directory = '.', opts) => printJson(await prepareFunctionContracts(resolve(directory), {
117
+ write: true,
118
+ runtimeOnly: opts.runtimeOnly,
119
+ profile: defaultProfile.name,
120
+ })));
54
121
  const auth = program
55
122
  .command('auth')
56
123
  .description('Manage lark-cli user access');
57
124
  auth
58
125
  .command('login')
126
+ .option('--json', 'Machine-readable JSON', false)
59
127
  .description('Authorize the selected lark-cli profile for database applications')
60
128
  .addOption(environmentOption())
61
- .action(async (commandOptions) => login(runtimeProfile(commandOptions.env), selectedLarkProfile()));
129
+ .action(async (commandOptions) => login(runtimeProfile(commandOptions.env), selectedLarkProfile(), commandOptions.json));
62
130
  auth
63
131
  .command('logout')
132
+ .option('--json', 'Machine-readable JSON', false)
64
133
  .description('Revoke the selected lark-cli profile authorization')
65
134
  .addOption(environmentOption())
66
- .action(async (commandOptions) => logout(runtimeProfile(commandOptions.env), selectedLarkProfile()));
135
+ .action(async (commandOptions) => logout(runtimeProfile(commandOptions.env), selectedLarkProfile(), commandOptions.json));
67
136
  auth
68
137
  .command('whoami')
69
138
  .description('Show the authorized user and scopes of the selected profile')
@@ -77,10 +146,10 @@ export function createBaseDatabaseProgram(options) {
77
146
  if (options.includeSkillCommand !== false) {
78
147
  const skill = program
79
148
  .command('skill')
80
- .description('Manage the Agent Skill');
149
+ .description('Manage the developer Skill for building applications');
81
150
  skill
82
151
  .command('install')
83
- .description('Install or update the bundled lark-base-database Skill')
152
+ .description('Install the bundled developer Skill for building and publishing applications')
84
153
  .addOption(new Option('--target <target>', 'Agent skills location')
85
154
  .choices(['codex', 'agents', 'claude', 'all'])
86
155
  .default('codex'))
@@ -98,11 +167,29 @@ export function createBaseDatabaseProgram(options) {
98
167
  printJson({ ok: true, installed });
99
168
  });
100
169
  }
170
+ program
171
+ .command('agent-tools')
172
+ .description('Manage tools for external Agents')
173
+ .command('skill')
174
+ .description('Manage a published site Skill for external Agents')
175
+ .command('install')
176
+ .description('Install a published site Skill for calling its business functions (project or --site)')
177
+ .option('--site <site>', 'Published site baseAppUrl or token; works outside a project directory')
178
+ .addOption(new Option('--target <target>', 'Agent skills location')
179
+ .choices(['codex', 'agents', 'claude', 'all'])
180
+ .default('codex'))
181
+ .option('--dir <directory>', 'Custom Agent skills root')
182
+ .option('--force', 'Replace an existing installation', false)
183
+ .action(async (opts) => {
184
+ if (opts.dir && opts.target !== 'codex')
185
+ throw new Error('Use either --target or --dir, not both');
186
+ printJson(await installAgentToolsSkill({ target: opts.target, directory: opts.dir, force: opts.force }, defaultProfile, opts.site, selectedLarkProfile()));
187
+ });
101
188
  program
102
189
  .command('context')
103
190
  .description('Print a local, read-only database project context snapshot')
104
191
  .argument('[directory]', 'Project directory', '.')
105
- .option('--json', 'Print JSON (accepted for explicit machine-readable use)', false)
192
+ .option('--json', 'Machine-readable JSON (default)', false)
106
193
  .option('--summary', 'Omit workspace paths, fingerprints and per-resource details', false)
107
194
  .addHelpText('after', '\nReads only local project configuration, Catalog, Function metadata and receipts. Does not authenticate, contact application APIs, build or deploy.')
108
195
  .action((directory, commandOptions) => {
@@ -116,7 +203,7 @@ export function createBaseDatabaseProgram(options) {
116
203
  });
117
204
  program
118
205
  .command('init')
119
- .description('Scaffold a database application using a new or existing Base')
206
+ .description('Scaffold a workspace application using a new or existing Base')
120
207
  .argument('[directory]', 'Project directory', '.')
121
208
  .option('--schema <file>', 'Create a Base from this schema JSON file')
122
209
  .option('--base-token <token>', 'Reuse and bind every table in an existing Base')
@@ -165,8 +252,9 @@ export function createBaseDatabaseProgram(options) {
165
252
  .option('--no-install', 'Reuse Page/FaaS dependencies; fail if missing')
166
253
  .option('--force-install', 'Reinstall Page and FaaS dependencies', false)
167
254
  .option('--force-build', 'Ignore successful Page/FaaS build cache', false)
168
- .option('--json', 'Emit one JSON document on success or failure and capture build output', false)
169
- .addHelpText('after', '\nUses the same npm installer and build scripts as deploy. Regenerates Page Function input types from local metadata, may install dependencies and write local build output; does not contact application APIs, change bindings, upload artifacts or publish. Server-side Database Function query validation is not run.')
255
+ .option('--skip-ai-functions', 'Check agent-tools for a deployment without AI synchronization', false)
256
+ .option('--json', 'Machine-readable JSON (success or failure; captures build output)', false)
257
+ .addHelpText('after', '\nUses the same npm installer and build scripts as deploy. Workspace/SDK projects validate existing contracts; run contracts generate when CONTRACT_STALE. Only classic projects without the App SDK regenerate Page input types, using explicit functionInputs or the default positional classic contract. The command may install dependencies and write local build output; does not contact application APIs, change bindings, upload artifacts or publish. Server-side Database Function query validation is not run.')
170
258
  .action(async (directory, commandOptions) => {
171
259
  try {
172
260
  printJson(await checkProject({
@@ -174,6 +262,7 @@ export function createBaseDatabaseProgram(options) {
174
262
  install: commandOptions.install,
175
263
  forceInstall: commandOptions.forceInstall,
176
264
  forceBuild: commandOptions.forceBuild,
265
+ skipAIFunctions: commandOptions.skipAiFunctions,
177
266
  json: commandOptions.json,
178
267
  runtimeProfile: defaultProfile,
179
268
  }));
@@ -188,6 +277,7 @@ export function createBaseDatabaseProgram(options) {
188
277
  program
189
278
  .command('deploy')
190
279
  .description('Build and publish the current database application')
280
+ .option('--json', 'Machine-readable JSON (captures build output)', false)
191
281
  .argument('[directory]', 'Project directory', '.')
192
282
  .option('--no-install', 'Reuse installed Page and FaaS dependencies')
193
283
  .option('--force-install', 'Reinstall Page and FaaS dependencies', false)
@@ -204,6 +294,7 @@ export function createBaseDatabaseProgram(options) {
204
294
  install: commandOptions.install,
205
295
  forceInstall: commandOptions.forceInstall,
206
296
  production: commandOptions.production,
297
+ captureOutput: commandOptions.json,
207
298
  yes: commandOptions.yes,
208
299
  skipAIFunctions: commandOptions.skipAiFunctions,
209
300
  runtimeProfile: defaultProfile,
@@ -316,23 +407,46 @@ export function createBaseDatabaseProgram(options) {
316
407
  .description('Manage AI Functions (function_type=4) declared under ai/');
317
408
  aiFunctions
318
409
  .command('list')
319
- .description('List AI Functions')
410
+ .description('List AI Function contracts; prod reads published functions only')
411
+ .option('--env <env>', 'Function version (preview|prod)', 'preview')
412
+ .argument('[directory]', 'Project directory', '.')
413
+ .action(async (directory, options) => printJson(await listAIFunctions({
414
+ directory,
415
+ env: functionEnv(options.env),
416
+ larkProfile: selectedLarkProfile(),
417
+ runtimeProfile: defaultProfile,
418
+ })));
419
+ aiFunctions
420
+ .command('get')
421
+ .description('Read an AI Function contract and preview config')
422
+ .option('--env <env>', 'Function version (preview|prod)', 'preview')
423
+ .argument('<function-key>', 'AI Function key')
320
424
  .argument('[directory]', 'Project directory', '.')
321
- .action(async (directory) => printJson(await listAIFunctions({ directory, runtimeProfile: defaultProfile })));
425
+ .action(async (functionKey, directory, options) => printJson(await getAIFunction(functionKey, {
426
+ directory,
427
+ env: functionEnv(options.env),
428
+ larkProfile: selectedLarkProfile(),
429
+ runtimeProfile: defaultProfile,
430
+ })));
322
431
  aiFunctions
323
432
  .command('pull')
324
- .description('Read one AI Function config for local editing / diff')
433
+ .description('Restore one preview AI Function to ai/<key>/meta.json')
325
434
  .argument('<function-key>', 'AI Function key')
326
435
  .argument('[directory]', 'Project directory', '.')
327
- .action(async (functionKey, directory) => printJson(await getAIFunction(functionKey, {
436
+ .action(async (functionKey, directory) => printJson(await pullAIFunction(functionKey, {
328
437
  directory,
438
+ larkProfile: selectedLarkProfile(),
329
439
  runtimeProfile: defaultProfile,
330
440
  })));
331
441
  aiFunctions
332
442
  .command('sync')
333
443
  .description('Full-cover sync local ai/ declarations to the application')
334
444
  .argument('[directory]', 'Project directory', '.')
335
- .action(async (directory) => printJson(await syncAIFunctions({ directory, runtimeProfile: defaultProfile })));
445
+ .action(async (directory) => printJson(await syncAIFunctions({
446
+ directory,
447
+ larkProfile: selectedLarkProfile(),
448
+ runtimeProfile: defaultProfile,
449
+ })));
336
450
  aiFunctions
337
451
  .command('validate')
338
452
  .description('Static-validate one local AI Function before saving')
@@ -340,6 +454,7 @@ export function createBaseDatabaseProgram(options) {
340
454
  .argument('[directory]', 'Project directory', '.')
341
455
  .action(async (functionKey, directory) => printJson(await validateAIFunction(functionKey, {
342
456
  directory,
457
+ larkProfile: selectedLarkProfile(),
343
458
  runtimeProfile: defaultProfile,
344
459
  })));
345
460
  aiFunctions
@@ -348,32 +463,44 @@ export function createBaseDatabaseProgram(options) {
348
463
  .argument('<function-key>', 'AI Function key')
349
464
  .argument('[directory]', 'Project directory', '.')
350
465
  .option('--env <env>', 'Runtime env (preview|prod)', 'preview')
351
- .option('--variables <json>', 'Variables JSON object', '{}')
352
- .option('--messages <json>', 'Messages JSON array (text/vision)', '[]')
353
- .option('--input <json>', 'Input JSON object (image/video)', '{}')
466
+ .option('--params <json>', 'AI parameters JSON object')
467
+ .option('--variables <json>', 'Deprecated alias for --params')
468
+ .option('--messages <json>', 'Messages JSON array (text/vision)')
469
+ .option('--input <json>', 'Input JSON object (image/video)')
354
470
  .action(async (functionKey, directory, commandOptions) => {
355
- const env = commandOptions.env === 'prod' ? 'prod' : 'preview';
471
+ const env = functionEnv(commandOptions.env);
356
472
  printJson(await debugAIFunction(functionKey, {
357
473
  directory,
358
474
  env,
359
- input: JSON.parse(commandOptions.input),
360
- messages: JSON.parse(commandOptions.messages),
475
+ input: commandOptions.input === undefined
476
+ ? undefined
477
+ : JSON.parse(commandOptions.input),
478
+ messages: commandOptions.messages === undefined
479
+ ? undefined
480
+ : JSON.parse(commandOptions.messages),
481
+ larkProfile: selectedLarkProfile(),
361
482
  runtimeProfile: defaultProfile,
362
- variables: JSON.parse(commandOptions.variables),
483
+ params: commandOptions.params === undefined
484
+ ? undefined
485
+ : JSON.parse(commandOptions.params),
486
+ variables: commandOptions.variables === undefined
487
+ ? undefined
488
+ : JSON.parse(commandOptions.variables),
363
489
  }));
364
490
  });
365
491
  aiFunctions
366
492
  .command('task')
367
- .description('Get an AI Function image or video task')
493
+ .description('Query original task_id (query success is not generation success); use the submission env')
368
494
  .argument('<function-key>', 'AI Function key')
369
495
  .argument('<task-id>', 'Media task ID')
370
496
  .argument('[directory]', 'Project directory', '.')
371
497
  .option('--env <env>', 'Runtime env (preview|prod)', 'preview')
372
498
  .action(async (functionKey, taskId, directory, commandOptions) => {
373
- const env = commandOptions.env === 'prod' ? 'prod' : 'preview';
499
+ const env = functionEnv(commandOptions.env);
374
500
  printJson(await getAIFunctionTask(functionKey, taskId, {
375
501
  directory,
376
502
  env,
503
+ larkProfile: selectedLarkProfile(),
377
504
  runtimeProfile: defaultProfile,
378
505
  }));
379
506
  });
@@ -395,19 +522,105 @@ export function createBaseDatabaseProgram(options) {
395
522
  from: commandOptions.from,
396
523
  functionKey: commandOptions.functionKey,
397
524
  model: commandOptions.model,
525
+ larkProfile: selectedLarkProfile(),
398
526
  runtimeProfile: defaultProfile,
399
527
  to: commandOptions.to,
400
528
  }));
401
529
  });
530
+ // Preserve workflow order in help, independently of implementation grouping.
531
+ const workflow = [
532
+ 'init',
533
+ 'pull',
534
+ 'dev',
535
+ 'check',
536
+ 'deploy',
537
+ 'deployments',
538
+ 'contracts',
539
+ 'ai-functions',
540
+ 'environment-variables',
541
+ 'lark-cli',
542
+ 'context',
543
+ 'diagnostics',
544
+ 'auth',
545
+ 'doctor',
546
+ 'skill',
547
+ 'agent-tools',
548
+ 'install',
549
+ 'check-update',
550
+ 'update',
551
+ ];
552
+ program.configureHelp({
553
+ sortSubcommands: false,
554
+ visibleCommands(command) {
555
+ const commands = Help.prototype.visibleCommands.call(this, command);
556
+ const rank = (name) => workflow.includes(name) ? workflow.indexOf(name) : workflow.length;
557
+ return command === program
558
+ ? commands.sort((a, b) => rank(a.name()) - rank(b.name()))
559
+ : commands;
560
+ },
561
+ });
562
+ const jsonOutput = (command) => {
563
+ // lark-cli forwards its arguments, including --json, to the upstream CLI.
564
+ if (!command.commands.length &&
565
+ command.name() !== 'lark-cli' &&
566
+ !command.options.some((option) => option.long === '--json'))
567
+ command.option('--json', 'Machine-readable JSON (default)');
568
+ for (const child of command.commands)
569
+ jsonOutput(child);
570
+ };
571
+ for (const command of program.commands)
572
+ jsonOutput(command);
402
573
  return program;
403
574
  }
404
575
  export function runBaseDatabaseProgram(program) {
405
576
  program.parseAsync().catch((error) => {
577
+ const update = businessUpdateNotice(program);
578
+ const withUpdate = (value) => update ? { ...value, update } : value;
579
+ // `lark-cli -- api` 失败:按 lark-cli 原样输出两个流并透传退出码。
580
+ if (error instanceof LarkCliPassthroughError) {
581
+ if (error.stdout)
582
+ process.stdout.write(error.stdout);
583
+ if (error.stderr)
584
+ process.stderr.write(error.stderr);
585
+ process.exitCode = error.exitCode;
586
+ return;
587
+ }
588
+ if (error instanceof CloudBuildError) {
589
+ printJson(withUpdate({
590
+ ok: false,
591
+ outcome: 'failed',
592
+ diagnostics: error.diagnostics,
593
+ ...localBuilderInfo(),
594
+ }));
595
+ process.stderr.write(`${program.name()}: ${error.message}\n`);
596
+ process.exitCode = 1;
597
+ return;
598
+ }
406
599
  if (error instanceof JsonOutputError)
407
- printJson(error.output);
600
+ printJson(withUpdate(error.output));
408
601
  else {
602
+ if (error instanceof SDKCodegenError)
603
+ printJson(withUpdate({ ok: false, error: error.toJSON() }));
604
+ if (error instanceof FunctionDeclarationError)
605
+ printJson(withUpdate({
606
+ ok: false,
607
+ error: {
608
+ code: error.code,
609
+ message: error.message,
610
+ functions: error.functions,
611
+ },
612
+ }));
409
613
  if (error instanceof InitFailureError)
410
- printJson(error.report);
614
+ printJson(withUpdate(error.report));
615
+ if (error instanceof LarkCliError &&
616
+ (error.details.errors || error.details.results)) {
617
+ process.stderr.write(`${JSON.stringify(error.details)}\n`);
618
+ }
619
+ if (update &&
620
+ !(error instanceof InitFailureError) &&
621
+ !(error instanceof SDKCodegenError) &&
622
+ !(error instanceof FunctionDeclarationError))
623
+ process.stderr.write(`${JSON.stringify({ update })}\n`);
411
624
  process.stderr.write(`${program.name()}: ${error instanceof Error ? error.message : String(error)}\n`);
412
625
  }
413
626
  process.exitCode = 1;