@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
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../src/project-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../src/project-context.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,15 @@ export declare const DATABASE_FUNCTIONS_DIRECTORY = "database-functions";
2
2
  export declare const LEGACY_DATABASE_FUNCTIONS_DIRECTORY = "sql";
3
3
  export declare function databaseFunctionsDirectory(workspace: string): typeof DATABASE_FUNCTIONS_DIRECTORY | typeof LEGACY_DATABASE_FUNCTIONS_DIRECTORY | undefined;
4
4
  export declare function requireDatabaseFunctionsDirectory(workspace: string): typeof DATABASE_FUNCTIONS_DIRECTORY | typeof LEGACY_DATABASE_FUNCTIONS_DIRECTORY;
5
+ /** Explicit configuration selects the layout; dependencies never select it. */
6
+ export declare function projectLayout(workspace: string): {
7
+ version: 1;
8
+ server: string;
9
+ dependencies: string[];
10
+ } | {
11
+ version: 2;
12
+ server: string;
13
+ dependencies: string[];
14
+ };
15
+ export declare function serverDirectory(workspace: string): string;
5
16
  //# sourceMappingURL=project-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-layout.d.ts","sourceRoot":"","sources":["../src/project-layout.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,mCAAmC,QAAQ,CAAC;AAEzD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,GAEf,OAAO,4BAA4B,GACnC,OAAO,mCAAmC,GAC1C,SAAS,CAaZ;AAED,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,GAEf,OAAO,4BAA4B,GACnC,OAAO,mCAAmC,CAQ7C"}
1
+ {"version":3,"file":"project-layout.d.ts","sourceRoot":"","sources":["../src/project-layout.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,mCAAmC,QAAQ,CAAC;AAEzD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,GAEf,OAAO,4BAA4B,GACnC,OAAO,mCAAmC,GAC1C,SAAS,CAaZ;AAED,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,GAEf,OAAO,4BAA4B,GACnC,OAAO,mCAAmC,CAQ7C;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM;aAqBhC,CAAC;;;;aAyCI,CAAC;;;EACpB;AACD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -1,4 +1,5 @@
1
- import { existsSync } from 'node:fs';
1
+ import { parseProjectConfig } from './app-builder/core.mjs';
2
+ import { existsSync, readFileSync, lstatSync } from 'node:fs';
2
3
  import { join } from 'node:path';
3
4
  export const DATABASE_FUNCTIONS_DIRECTORY = 'database-functions';
4
5
  export const LEGACY_DATABASE_FUNCTIONS_DIRECTORY = 'sql';
@@ -21,4 +22,65 @@ export function requireDatabaseFunctionsDirectory(workspace) {
21
22
  }
22
23
  return directory;
23
24
  }
25
+ /** Explicit configuration selects the layout; dependencies never select it. */
26
+ export function projectLayout(workspace) {
27
+ const configPath = join(workspace, 'base-database.jsonc');
28
+ const config = existsSync(configPath)
29
+ ? parseProjectConfig(readFileSync(configPath, 'utf8'), configPath)
30
+ : {};
31
+ const version = config?.template === undefined ? 1 : config.template?.version;
32
+ const fail = (message) => {
33
+ throw new Error(`TEMPLATE_LAYOUT_CONFLICT: ${message}`);
34
+ };
35
+ if (version !== 1 && version !== 2)
36
+ fail(`Unsupported template version ${String(version)}`);
37
+ if (version === 1) {
38
+ if (existsSync(join(workspace, 'server')))
39
+ fail('Template 1 cannot contain server/');
40
+ const rootManifest = join(workspace, 'package.json');
41
+ if (existsSync(rootManifest) &&
42
+ JSON.parse(readFileSync(rootManifest, 'utf8')).workspaces)
43
+ fail('Template 1 cannot contain root workspaces');
44
+ return {
45
+ version: 1,
46
+ server: 'server-functions',
47
+ dependencies: ['page', 'server-functions'],
48
+ };
49
+ }
50
+ if (existsSync(join(workspace, 'server-functions')))
51
+ fail('Template 2 cannot contain server-functions/');
52
+ for (const directory of ['page', 'server']) {
53
+ if (!existsSync(join(workspace, directory)) ||
54
+ !lstatSync(join(workspace, directory)).isDirectory())
55
+ fail(`Missing or non-regular ${directory}/`);
56
+ for (const lock of [
57
+ 'package-lock.json',
58
+ 'npm-shrinkwrap.json',
59
+ 'pnpm-lock.yaml',
60
+ 'yarn.lock',
61
+ ])
62
+ if (existsSync(join(workspace, directory, lock)))
63
+ fail(`Nested lock: ${directory}/${lock}`);
64
+ }
65
+ for (const lock of ['npm-shrinkwrap.json', 'pnpm-lock.yaml', 'yarn.lock'])
66
+ if (existsSync(join(workspace, lock)))
67
+ fail(`Template 2 requires a single package-lock.json: ${lock}`);
68
+ let manifest;
69
+ try {
70
+ manifest = JSON.parse(readFileSync(join(workspace, 'package.json'), 'utf8'));
71
+ }
72
+ catch {
73
+ return fail('Missing or invalid root package.json');
74
+ }
75
+ if (!Array.isArray(manifest.workspaces) ||
76
+ JSON.stringify(manifest.workspaces.slice().sort()) !==
77
+ '["page","server"]' ||
78
+ manifest.type !== 'module' ||
79
+ manifest.private !== true)
80
+ fail('Root must be private ESM with workspaces [page, server]');
81
+ return { version: 2, server: 'server', dependencies: ['.'] };
82
+ }
83
+ export function serverDirectory(workspace) {
84
+ return projectLayout(workspace).server;
85
+ }
24
86
  //# sourceMappingURL=project-layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-layout.js","sourceRoot":"","sources":["../src/project-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAEzD,MAAM,UAAU,0BAA0B,CACxC,SAAiB;IAKjB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,UAAU,CACvB,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CACrD,CAAC;IACF,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,+BAA+B,4BAA4B,gBAAgB,mCAAmC,eAAe,CAC9H,CAAC;IACJ,CAAC;IACD,IAAI,SAAS;QAAE,OAAO,4BAA4B,CAAC;IACnD,IAAI,MAAM;QAAE,OAAO,mCAAmC,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,SAAiB;IAIjB,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0CAA0C,4BAA4B,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"project-layout.js","sourceRoot":"","sources":["../src/project-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Read declarations without executing project or SDK code. Unknown wildcard
2
+ * resolution fails closed instead of assuming its exports are covered. */
3
+ export declare function publicExports(file: string, seen?: Set<string>): Set<string>;
4
+ export declare function resolveDeclaration(from: string, specifier: string): string;
5
+ //# sourceMappingURL=public-exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-exports.d.ts","sourceRoot":"","sources":["../src/public-exports.ts"],"names":[],"mappings":"AAKA;0EAC0E;AAC1E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,cAAoB,GACvB,GAAG,CAAC,MAAM,CAAC,CAoCb;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA+B1E"}
@@ -0,0 +1,76 @@
1
+ import { parse } from '@babel/parser';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
+ import { dirname, join, resolve } from 'node:path';
4
+ import { createRequire } from 'node:module';
5
+ /** Read declarations without executing project or SDK code. Unknown wildcard
6
+ * resolution fails closed instead of assuming its exports are covered. */
7
+ export function publicExports(file, seen = new Set()) {
8
+ if (seen.has(file))
9
+ return new Set();
10
+ seen.add(file);
11
+ const names = new Set();
12
+ const ast = parse(readFileSync(file, 'utf8'), {
13
+ sourceType: 'module',
14
+ allowUndeclaredExports: true,
15
+ plugins: [['typescript', { dts: file.endsWith('.d.ts') }], 'jsx'],
16
+ });
17
+ for (const node of ast.program.body) {
18
+ if (node.type === 'ExportDefaultDeclaration')
19
+ names.add('default');
20
+ if (node.type === 'ExportNamedDeclaration') {
21
+ for (const spec of node.specifiers)
22
+ names.add(spec.exported.type === 'Identifier'
23
+ ? spec.exported.name
24
+ : spec.exported.value);
25
+ const d = node.declaration;
26
+ if (d && 'id' in d && d.id?.type === 'Identifier')
27
+ names.add(d.id.name);
28
+ if (d?.type === 'VariableDeclaration')
29
+ for (const v of d.declarations) {
30
+ if (v.id.type !== 'Identifier')
31
+ throw new Error('Unsupported exported binding');
32
+ names.add(v.id.name);
33
+ }
34
+ }
35
+ if (node.type === 'ExportAllDeclaration') {
36
+ for (const name of publicExports(resolveDeclaration(file, node.source.value), seen))
37
+ if (name !== 'default')
38
+ names.add(name);
39
+ }
40
+ }
41
+ return names;
42
+ }
43
+ export function resolveDeclaration(from, specifier) {
44
+ if (specifier.startsWith('.')) {
45
+ const path = resolve(dirname(from), specifier);
46
+ for (const candidate of [
47
+ path.replace(/\.js$/, '.d.ts'),
48
+ path + '.d.ts',
49
+ path + '.ts',
50
+ join(path, 'index.d.ts'),
51
+ path,
52
+ ])
53
+ if (existsSync(candidate))
54
+ return candidate;
55
+ }
56
+ else {
57
+ const parts = specifier.split('/');
58
+ const name = parts.splice(0, specifier.startsWith('@') ? 2 : 1).join('/');
59
+ for (const search of createRequire(resolve(from)).resolve.paths(name) ??
60
+ []) {
61
+ const root = join(search, name);
62
+ if (!existsSync(join(root, 'package.json')))
63
+ continue;
64
+ const pkg = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'));
65
+ const entry = pkg.exports?.[parts.length ? './' + parts.join('/') : '.'];
66
+ const target = typeof entry === 'string'
67
+ ? entry
68
+ : (entry?.types ?? entry?.import?.types);
69
+ const path = target ?? (parts.length ? parts.join('/') + '.d.ts' : pkg.types);
70
+ if (typeof path === 'string' && existsSync(join(root, path)))
71
+ return join(root, path);
72
+ }
73
+ }
74
+ throw new Error(`Cannot resolve declarations: ${specifier}`);
75
+ }
76
+ //# sourceMappingURL=public-exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-exports.js","sourceRoot":"","sources":["../src/public-exports.ts"],"names":[],"mappings":"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"}
@@ -21,5 +21,7 @@ export interface PublicSQLError {
21
21
  retryable: boolean;
22
22
  }
23
23
  export declare function readPublicSQLError(value: unknown): PublicSQLError | undefined;
24
- export declare function formatPublicSQLError(error: PublicSQLError): string;
24
+ export declare function formatPublicSQLError(error: PublicSQLError, options?: {
25
+ namedParameters?: boolean;
26
+ }): string;
25
27
  //# sourceMappingURL=public-sql-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-sql-error.d.ts","sourceRoot":"","sources":["../src/public-sql-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAsD7E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"public-sql-error.d.ts","sourceRoot":"","sources":["../src/public-sql-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAsD7E;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,MAAM,CAMR"}
@@ -59,7 +59,10 @@ export function readPublicSQLError(value) {
59
59
  return result;
60
60
  }
61
61
  // The server owns the complete agent-facing message, including semantic code and LogID.
62
- export function formatPublicSQLError(error) {
63
- return error.message;
62
+ export function formatPublicSQLError(error, options = {}) {
63
+ const compatibilityHint = error.code === 'BASE_SQL_STORED_QUERY_INVALID' && options.namedParameters
64
+ ? '\n目标环境后端可能尚不支持命名参数,请确认泳道和后端版本。'
65
+ : '';
66
+ return error.message + compatibilityHint;
64
67
  }
65
68
  //# sourceMappingURL=public-sql-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-sql-error.js","sourceRoot":"","sources":["../src/public-sql-error.ts"],"names":[],"mappings":"AAsBA,SAAS,MAAM,CAAC,CAAU;IACxB,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AACD,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AACD,iCAAiC;AACjC,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IACE,CAAC,MAAM,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACnC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;QAEpC,OAAO,SAAS,CAAC;IACnB,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;IACF,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAmB,EAAE;YACvE,IACE,CAAC,MAAM,CAAC,IAAI,CAAC;gBACb,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAEhC,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;QAC1B,MAAM,CAAC,SAAS,GAAG;YACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"public-sql-error.js","sourceRoot":"","sources":["../src/public-sql-error.ts"],"names":[],"mappings":"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"}
package/dist/pull.d.ts CHANGED
@@ -6,6 +6,7 @@ interface PullOptions {
6
6
  environment: string;
7
7
  runtimeProfile?: RuntimeProfile;
8
8
  }
9
+ export declare function replaceEmptyWorkspace(workspace: string, staging: string, existed: boolean): Promise<void>;
9
10
  export declare function pullProject(options: PullOptions): Promise<{
10
11
  ok: true;
11
12
  environment: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsCvD,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAiaD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW;;;;;;YA6GxC,UAAU;;;;GAUvB"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAwCvD,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAobD,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW;;;;;;YAwHxC,UAAU;;;;GAUvB"}
package/dist/pull.js CHANGED
@@ -1,12 +1,15 @@
1
+ import { readSourceFormat, SOURCE_FORMAT } from './source-format.js';
2
+ import { projectLayout, serverDirectory } from './project-layout.js';
1
3
  import { createWriteStream } from 'node:fs';
2
4
  import { cp, lstat, mkdir, mkdtemp, readFile, readdir, rename, rm, stat, writeFile, } from 'node:fs/promises';
3
5
  import { basename, dirname, join, posix, resolve } from 'node:path';
6
+ import { Writable } from 'node:stream';
4
7
  import { pipeline } from 'node:stream/promises';
5
8
  import CRC32 from 'crc-32';
6
9
  import yauzl from 'yauzl';
7
10
  import { restoreRemoteAIFunctions } from './ai-functions.js';
8
11
  import { starterRoot } from './assets.js';
9
- import { CONFIG_FILE_NAME, writeConfig } from './config.js';
12
+ import { CONFIG_FILE_NAME, writeConfig, readPortableProjectContract, } from './config.js';
10
13
  import { ONLINE_RUNTIME_PROFILE, resolveRuntimeProfile, } from './environment.js';
11
14
  import { responseData, runLarkCli, runLarkCliOutput, resolveLarkProfileEnvironment, } from './lark-cli.js';
12
15
  import { DATABASE_FUNCTIONS_DIRECTORY, LEGACY_DATABASE_FUNCTIONS_DIRECTORY, } from './project-layout.js';
@@ -22,7 +25,9 @@ const PACKAGE_MANAGER_CONFIG_FILES = new Set([
22
25
  const ALLOWED_ROOTS = new Set([
23
26
  'page',
24
27
  'server-functions',
28
+ 'server',
25
29
  'mutations',
30
+ 'ai',
26
31
  DATABASE_FUNCTIONS_DIRECTORY,
27
32
  LEGACY_DATABASE_FUNCTIONS_DIRECTORY,
28
33
  ]);
@@ -50,7 +55,7 @@ async function assertEmptyWorkspace(workspace) {
50
55
  throw error;
51
56
  }
52
57
  }
53
- function validateEntryName(fileName, directory) {
58
+ function validateEntryName(fileName, directory, futureFormat = false) {
54
59
  if (fileName === '' ||
55
60
  fileName.includes('\0') ||
56
61
  fileName.includes('\\') ||
@@ -71,21 +76,33 @@ function validateEntryName(fileName, directory) {
71
76
  .some((part) => part === '' || part === '.' || part === '..')) {
72
77
  throw pullError('UNSAFE_SOURCE_ARCHIVE', `Unsafe ZIP entry path: ${fileName}`);
73
78
  }
74
- if (normalized === 'README.md' && !directory)
79
+ if (normalized
80
+ .split('/')
81
+ .some((part) => part === '.env' || part.startsWith('.env.'))) {
82
+ throw pullError('UNSAFE_SOURCE_ARCHIVE', `Environment files are not allowed in source archives: ${fileName}`);
83
+ }
84
+ if (normalized.split('/').some((part) => PACKAGE_MANAGER_CONFIG_FILES.has(part))) {
85
+ throw pullError('UNSAFE_SOURCE_ARCHIVE', `Package manager config files are not allowed in source archives: ${fileName}`);
86
+ }
87
+ if ([
88
+ 'README.md',
89
+ 'agent-tools.json',
90
+ 'package.json',
91
+ 'package-lock.json',
92
+ 'base-database.jsonc',
93
+ 'base-app.config.ts',
94
+ ].includes(normalized) &&
95
+ !directory)
75
96
  return normalized;
76
97
  const [root, ...rest] = normalized.split('/');
77
98
  if (!root || !ALLOWED_ROOTS.has(root)) {
78
- throw pullError('UNSUPPORTED_SOURCE_ENTRY', `ZIP entry is outside the supported source roots: ${fileName}`);
99
+ if (futureFormat)
100
+ return normalized;
101
+ throw pullError('UNSUPPORTED_SOURCE_ENTRY', `ZIP entry is outside the supported source roots: ${fileName} This archive may have been published by a newer CLI; upgrade the CLI and retry.`);
79
102
  }
80
103
  if (!directory && rest.length === 0) {
81
104
  throw pullError('UNSAFE_SOURCE_ARCHIVE', `Source root must be a directory: ${fileName}`);
82
105
  }
83
- if (rest.some((part) => part === '.env' || part.startsWith('.env.'))) {
84
- throw pullError('UNSAFE_SOURCE_ARCHIVE', `Environment files are not allowed in source archives: ${fileName}`);
85
- }
86
- if (rest.some((part) => PACKAGE_MANAGER_CONFIG_FILES.has(part))) {
87
- throw pullError('UNSAFE_SOURCE_ARCHIVE', `Package manager config files are not allowed in source archives: ${fileName}`);
88
- }
89
106
  return normalized;
90
107
  }
91
108
  function entryKind(entry) {
@@ -130,6 +147,8 @@ function openEntryStream(zipFile, entry) {
130
147
  }
131
148
  async function extractZip(archive, staging) {
132
149
  const zipFile = await openZip(archive);
150
+ const marker = readSourceFormat(zipFile.comment);
151
+ const futureFormat = marker !== undefined && marker.format > SOURCE_FORMAT;
133
152
  const paths = new Set();
134
153
  let files = 0;
135
154
  let expandedBytes = 0;
@@ -147,19 +166,20 @@ async function extractZip(archive, staging) {
147
166
  resolvePromise();
148
167
  }
149
168
  };
150
- zipFile.once('error', finish);
169
+ zipFile.once('error', (error) => finish(pullError('UNSAFE_SOURCE_ARCHIVE', error.message)));
151
170
  zipFile.once('end', () => finish());
152
171
  zipFile.on('entry', (entry) => {
153
172
  void (async () => {
154
173
  const kind = entryKind(entry);
155
- const relativePath = validateEntryName(entry.fileName, kind === 'directory');
174
+ const relativePath = validateEntryName(entry.fileName, kind === 'directory', futureFormat);
156
175
  if (paths.has(relativePath)) {
157
176
  throw pullError('UNSAFE_SOURCE_ARCHIVE', `ZIP contains a duplicate path: ${relativePath}`);
158
177
  }
159
178
  paths.add(relativePath);
160
179
  const destination = join(staging, ...relativePath.split('/'));
161
180
  if (kind === 'directory') {
162
- await mkdir(destination, { recursive: true });
181
+ if (!futureFormat)
182
+ await mkdir(destination, { recursive: true });
163
183
  zipFile.readEntry();
164
184
  return;
165
185
  }
@@ -175,7 +195,8 @@ async function extractZip(archive, staging) {
175
195
  if (expandedBytes > MAX_EXPANDED_BYTES) {
176
196
  throw pullError('SOURCE_ARCHIVE_TOO_LARGE', 'Expanded source archive exceeds 512 MiB');
177
197
  }
178
- await mkdir(dirname(destination), { recursive: true });
198
+ if (!futureFormat)
199
+ await mkdir(dirname(destination), { recursive: true });
179
200
  const stream = await openEntryStream(zipFile, entry);
180
201
  let actualBytes = 0;
181
202
  let crc = 0;
@@ -188,7 +209,15 @@ async function extractZip(archive, staging) {
188
209
  }
189
210
  crc = CRC32.buf(chunk, crc);
190
211
  });
191
- await pipeline(stream, createWriteStream(destination, { flags: 'wx', mode: 0o644 }));
212
+ await pipeline(stream,
213
+ // 未支持的格式只做安全与完整性校验,不将任何源码解压到磁盘。
214
+ futureFormat
215
+ ? new Writable({
216
+ write(_chunk, _encoding, callback) {
217
+ callback();
218
+ },
219
+ })
220
+ : createWriteStream(destination, { flags: 'wx', mode: 0o644 }));
192
221
  if (actualBytes !== entry.uncompressedSize ||
193
222
  crc >>> 0 !== entry.crc32) {
194
223
  throw pullError('UNSAFE_SOURCE_ARCHIVE', `ZIP entry integrity check failed: ${entry.fileName}`);
@@ -198,6 +227,9 @@ async function extractZip(archive, staging) {
198
227
  });
199
228
  zipFile.readEntry();
200
229
  });
230
+ if (futureFormat) {
231
+ throw pullError('SOURCE_FORMAT_UNSUPPORTED', `This app was published by a newer CLI (${marker.cli}). Upgrade to >= ${marker.minCli} and retry.`);
232
+ }
201
233
  }
202
234
  async function validateSourceDirectory(staging, directory) {
203
235
  let metadata;
@@ -212,7 +244,7 @@ async function validateSourceDirectory(staging, directory) {
212
244
  }
213
245
  }
214
246
  async function validateAndNormalizeSourceTree(staging) {
215
- for (const directory of ['page', 'server-functions']) {
247
+ for (const directory of ['page', serverDirectory(staging)]) {
216
248
  await validateSourceDirectory(staging, directory);
217
249
  }
218
250
  const canonical = await lstat(join(staging, DATABASE_FUNCTIONS_DIRECTORY))
@@ -267,6 +299,9 @@ function catalogBinding(value) {
267
299
  return { catalog, baseToken: baseTokens[0], tableIds };
268
300
  }
269
301
  async function addAuxiliaryFiles(staging) {
302
+ const sourceRoot = projectLayout(staging).version === 2
303
+ ? join(starterRoot, '../database-starter-v2')
304
+ : starterRoot;
270
305
  const readme = join(staging, 'README.md');
271
306
  try {
272
307
  await lstat(readme);
@@ -274,12 +309,12 @@ async function addAuxiliaryFiles(staging) {
274
309
  catch (error) {
275
310
  if (error.code !== 'ENOENT')
276
311
  throw error;
277
- await cp(join(starterRoot, 'README.md'), readme);
312
+ await cp(join(sourceRoot, 'README.md'), readme);
278
313
  }
279
- await cp(join(starterRoot, 'gitignore'), join(staging, '.gitignore'));
280
- await cp(join(starterRoot, 'prettierignore'), join(staging, '.prettierignore'));
314
+ await cp(join(sourceRoot, 'gitignore'), join(staging, '.gitignore'));
315
+ await cp(join(sourceRoot, 'prettierignore'), join(staging, '.prettierignore'));
281
316
  }
282
- async function replaceEmptyWorkspace(workspace, staging, existed) {
317
+ export async function replaceEmptyWorkspace(workspace, staging, existed) {
283
318
  if (!existed) {
284
319
  await rename(staging, workspace);
285
320
  return;
@@ -287,6 +322,43 @@ async function replaceEmptyWorkspace(workspace, staging, existed) {
287
322
  if ((await readdir(workspace)).length !== 0) {
288
323
  throw pullError('WORKSPACE_NOT_EMPTY', 'Pull target changed while source was being restored');
289
324
  }
325
+ // Windows locks a process's current directory, so that directory cannot be
326
+ // renamed. Moving its children also keeps the caller's cwd attached to the
327
+ // restored project on other platforms.
328
+ if (workspace === resolve(process.cwd())) {
329
+ const moved = [];
330
+ try {
331
+ for (const name of (await readdir(staging)).sort()) {
332
+ const destination = join(workspace, name);
333
+ try {
334
+ await lstat(destination);
335
+ throw pullError('WORKSPACE_NOT_EMPTY', 'Pull target changed while source was being restored');
336
+ }
337
+ catch (error) {
338
+ if (error.code !== 'ENOENT')
339
+ throw error;
340
+ }
341
+ await rename(join(staging, name), destination);
342
+ moved.push(name);
343
+ }
344
+ }
345
+ catch (error) {
346
+ const rollbackFailures = [];
347
+ for (const name of moved.reverse()) {
348
+ try {
349
+ await rename(join(workspace, name), join(staging, name));
350
+ }
351
+ catch {
352
+ rollbackFailures.push(name);
353
+ }
354
+ }
355
+ if (rollbackFailures.length > 0) {
356
+ throw new Error(`WORKSPACE_RESTORE_PARTIAL: Pull target contains restored entries that could not be rolled back: ${rollbackFailures.join(', ')}`, { cause: error });
357
+ }
358
+ throw error;
359
+ }
360
+ return;
361
+ }
290
362
  const backup = `${workspace}.pull-backup-${process.pid}-${Date.now()}`;
291
363
  await rename(workspace, backup);
292
364
  try {
@@ -332,6 +404,7 @@ export async function pullProject(options) {
332
404
  }
333
405
  await extractZip(archive, staging);
334
406
  await validateAndNormalizeSourceTree(staging);
407
+ const projectContract = readPortableProjectContract(staging);
335
408
  const catalogResponse = runLarkCli([
336
409
  'api',
337
410
  'GET',
@@ -340,7 +413,16 @@ export async function pullProject(options) {
340
413
  const binding = catalogBinding(responseData(catalogResponse));
341
414
  await writeFile(join(staging, 'catalog.json'), `${JSON.stringify(binding.catalog, null, 2)}\n`);
342
415
  writeConfig(staging, {
416
+ ...projectContract,
343
417
  configVersion: 1,
418
+ ...(projectLayout(staging).version === 2
419
+ ? {
420
+ template: {
421
+ name: 'database-starter',
422
+ version: 2,
423
+ },
424
+ }
425
+ : {}),
344
426
  ...(larkProfile ? { larkProfile } : {}),
345
427
  name: basename(workspace),
346
428
  ...(runtimeProfile.name === ONLINE_RUNTIME_PROFILE.name
@@ -356,6 +438,7 @@ export async function pullProject(options) {
356
438
  },
357
439
  });
358
440
  // AI Function 配置不在源码制品里;由 pull 直接恢复,避免要求 Agent 自行判断何时 list/pull。
441
+ await rm(join(staging, 'ai'), { recursive: true, force: true });
359
442
  const aiFunctions = restoreRemoteAIFunctions(appToken, staging, env, staging);
360
443
  await addAuxiliaryFiles(staging);
361
444
  await replaceEmptyWorkspace(workspace, staging, workspaceExisted);