@lark-base-open/base-database-cli 1.1.1 → 1.3.7

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 (222) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/LICENSE +6 -0
  3. package/README.md +45 -27
  4. package/dist/ai-functions.d.ts +42 -0
  5. package/dist/ai-functions.d.ts.map +1 -0
  6. package/dist/ai-functions.js +327 -0
  7. package/dist/ai-functions.js.map +1 -0
  8. package/dist/archive.d.ts +21 -0
  9. package/dist/archive.d.ts.map +1 -1
  10. package/dist/archive.js +65 -10
  11. package/dist/archive.js.map +1 -1
  12. package/dist/auth.d.ts +5 -0
  13. package/dist/auth.d.ts.map +1 -1
  14. package/dist/auth.js +26 -3
  15. package/dist/auth.js.map +1 -1
  16. package/dist/check.d.ts +74 -0
  17. package/dist/check.d.ts.map +1 -0
  18. package/dist/check.js +283 -0
  19. package/dist/check.js.map +1 -0
  20. package/dist/dependency-policy.d.ts +10 -0
  21. package/dist/dependency-policy.d.ts.map +1 -0
  22. package/dist/dependency-policy.js +162 -0
  23. package/dist/dependency-policy.js.map +1 -0
  24. package/dist/deploy.d.ts +1 -0
  25. package/dist/deploy.d.ts.map +1 -1
  26. package/dist/deploy.js +122 -175
  27. package/dist/deploy.js.map +1 -1
  28. package/dist/environment-variables.d.ts +52 -0
  29. package/dist/environment-variables.d.ts.map +1 -0
  30. package/dist/environment-variables.js +563 -0
  31. package/dist/environment-variables.js.map +1 -0
  32. package/dist/environment.d.ts +1 -1
  33. package/dist/environment.js +1 -1
  34. package/dist/environment.js.map +1 -1
  35. package/dist/function-input-types.d.ts +10 -0
  36. package/dist/function-input-types.d.ts.map +1 -0
  37. package/dist/function-input-types.js +160 -0
  38. package/dist/function-input-types.js.map +1 -0
  39. package/dist/function-schema.d.ts.map +1 -1
  40. package/dist/function-schema.js +89 -36
  41. package/dist/function-schema.js.map +1 -1
  42. package/dist/init-field-retry.d.ts +17 -0
  43. package/dist/init-field-retry.d.ts.map +1 -0
  44. package/dist/init-field-retry.js +127 -0
  45. package/dist/init-field-retry.js.map +1 -0
  46. package/dist/init-journal.d.ts +98 -0
  47. package/dist/init-journal.d.ts.map +1 -0
  48. package/dist/init-journal.js +492 -0
  49. package/dist/init-journal.js.map +1 -0
  50. package/dist/init-schema.d.ts +8 -0
  51. package/dist/init-schema.d.ts.map +1 -0
  52. package/dist/init-schema.js +423 -0
  53. package/dist/init-schema.js.map +1 -0
  54. package/dist/init.d.ts +14 -0
  55. package/dist/init.d.ts.map +1 -1
  56. package/dist/init.js +883 -261
  57. package/dist/init.js.map +1 -1
  58. package/dist/lark-cli-error.d.ts +46 -0
  59. package/dist/lark-cli-error.d.ts.map +1 -0
  60. package/dist/lark-cli-error.js +171 -0
  61. package/dist/lark-cli-error.js.map +1 -0
  62. package/dist/lark-cli.d.ts +1 -1
  63. package/dist/lark-cli.d.ts.map +1 -1
  64. package/dist/lark-cli.js +66 -18
  65. package/dist/lark-cli.js.map +1 -1
  66. package/dist/mutation-schema.d.ts +146 -0
  67. package/dist/mutation-schema.d.ts.map +1 -0
  68. package/dist/mutation-schema.js +153 -0
  69. package/dist/mutation-schema.js.map +1 -0
  70. package/dist/mutation.d.ts +10 -0
  71. package/dist/mutation.d.ts.map +1 -0
  72. package/dist/mutation.js +131 -0
  73. package/dist/mutation.js.map +1 -0
  74. package/dist/npm.d.ts +1 -0
  75. package/dist/npm.d.ts.map +1 -1
  76. package/dist/npm.js +2 -2
  77. package/dist/npm.js.map +1 -1
  78. package/dist/preview-receipt.d.ts.map +1 -1
  79. package/dist/preview-receipt.js +15 -5
  80. package/dist/preview-receipt.js.map +1 -1
  81. package/dist/process.d.ts +3 -1
  82. package/dist/process.d.ts.map +1 -1
  83. package/dist/process.js +16 -4
  84. package/dist/process.js.map +1 -1
  85. package/dist/program.d.ts.map +1 -1
  86. package/dist/program.js +240 -41
  87. package/dist/program.js.map +1 -1
  88. package/dist/project-build.d.ts +25 -0
  89. package/dist/project-build.d.ts.map +1 -0
  90. package/dist/project-build.js +229 -0
  91. package/dist/project-build.js.map +1 -0
  92. package/dist/project-context.d.ts +344 -0
  93. package/dist/project-context.d.ts.map +1 -0
  94. package/dist/project-context.js +485 -0
  95. package/dist/project-context.js.map +1 -0
  96. package/dist/project-layout.d.ts +5 -0
  97. package/dist/project-layout.d.ts.map +1 -0
  98. package/dist/project-layout.js +24 -0
  99. package/dist/project-layout.js.map +1 -0
  100. package/dist/public-sql-error.d.ts +25 -0
  101. package/dist/public-sql-error.d.ts.map +1 -0
  102. package/dist/public-sql-error.js +81 -0
  103. package/dist/public-sql-error.js.map +1 -0
  104. package/dist/pull.d.ts.map +1 -1
  105. package/dist/pull.js +54 -15
  106. package/dist/pull.js.map +1 -1
  107. package/dist/site-readme.d.ts +3 -0
  108. package/dist/site-readme.d.ts.map +1 -0
  109. package/dist/site-readme.js +83 -0
  110. package/dist/site-readme.js.map +1 -0
  111. package/dist/workspace-fingerprint.d.ts +21 -1
  112. package/dist/workspace-fingerprint.d.ts.map +1 -1
  113. package/dist/workspace-fingerprint.js +81 -2
  114. package/dist/workspace-fingerprint.js.map +1 -1
  115. package/package.json +2 -1
  116. package/skills/lark-base-database/SKILL.md +66 -50
  117. package/skills/lark-base-database/references/ai-function.md +471 -0
  118. package/skills/lark-base-database/references/base-capability-routing.md +3 -3
  119. package/skills/lark-base-database/references/database-function-limitations.md +46 -0
  120. package/skills/lark-base-database/references/database-function.md +349 -0
  121. package/skills/lark-base-database/references/design/components/actions-fields.md +16 -0
  122. package/skills/lark-base-database/references/design/components/code/controls.css +122 -0
  123. package/skills/lark-base-database/references/design/components/code/controls.tsx +73 -0
  124. package/skills/lark-base-database/references/design/components/code/date-picker.tsx +42 -0
  125. package/skills/lark-base-database/references/design/components/code/floating.tsx +41 -0
  126. package/skills/lark-base-database/references/design/components/code/overlays.tsx +19 -0
  127. package/skills/lark-base-database/references/design/components/code/select.tsx +34 -0
  128. package/skills/lark-base-database/references/design/components/code/styles.d.ts +1 -0
  129. package/skills/lark-base-database/references/design/components/code/theme.css +49 -0
  130. package/skills/lark-base-database/references/design/components/code/usage.tsx +38 -0
  131. package/skills/lark-base-database/references/design/components/date-time-number.md +9 -0
  132. package/skills/lark-base-database/references/design/components/feedback-navigation.md +9 -0
  133. package/skills/lark-base-database/references/design/components/index.md +18 -0
  134. package/skills/lark-base-database/references/design/components/overlays.md +9 -0
  135. package/skills/lark-base-database/references/design/components/patterns/flat-business.md +7 -0
  136. package/skills/lark-base-database/references/design/components/selection.md +24 -0
  137. package/skills/lark-base-database/references/design/components.md +91 -0
  138. package/skills/lark-base-database/references/design/composition.md +90 -0
  139. package/skills/lark-base-database/references/design/control-recipes.md +107 -0
  140. package/skills/lark-base-database/references/design/examples.md +172 -0
  141. package/skills/lark-base-database/references/design/foundations.md +126 -0
  142. package/skills/lark-base-database/references/design/review.md +82 -0
  143. package/skills/lark-base-database/references/design/scenes/analysis-report.md +66 -0
  144. package/skills/lark-base-database/references/design/scenes/brand-showcase.md +70 -0
  145. package/skills/lark-base-database/references/design/scenes/business-operations.md +85 -0
  146. package/skills/lark-base-database/references/design/scenes/campaign-report.md +66 -0
  147. package/skills/lark-base-database/references/design/scenes/dashboard.md +77 -0
  148. package/skills/lark-base-database/references/design/scenes/festive-campaign.md +69 -0
  149. package/skills/lark-base-database/references/design/theme.md +27 -0
  150. package/skills/lark-base-database/references/design/typography.md +56 -0
  151. package/skills/lark-base-database/references/development.md +165 -32
  152. package/skills/lark-base-database/references/environment-variables.md +55 -0
  153. package/skills/lark-base-database/references/faas.md +41 -48
  154. package/skills/lark-base-database/references/file-transfer.md +25 -25
  155. package/skills/lark-base-database/references/frontend-design-guide.md +33 -77
  156. package/skills/lark-base-database/references/mutations.md +295 -0
  157. package/skills/lark-base-database/references/permission-design.md +24 -24
  158. package/skills/lark-base-database/references/release.md +51 -24
  159. package/skills/lark-base-database/references/style-guide.md +10 -67
  160. package/skills/lark-base-database/references/verification.md +15 -11
  161. package/skills/lark-base-database/references/workspace.md +46 -8
  162. package/templates/database-starter/README.md +34 -4
  163. package/templates/database-starter/database-functions/README.md +8 -0
  164. package/templates/database-starter/mutations/README.md +19 -0
  165. package/templates/database-starter/page/README.md +25 -19
  166. package/templates/database-starter/page/package-lock.json +8 -16
  167. package/templates/database-starter/page/package.json +2 -3
  168. package/templates/database-starter/page/src/App.tsx +23 -3
  169. package/templates/database-starter/page/src/components/UserSelectorEditor/index.tsx +32 -4
  170. package/templates/database-starter/page/src/components/UserSelectorPanel/index.tsx +104 -34
  171. package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.test.ts +55 -11
  172. package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.ts +68 -25
  173. package/templates/database-starter/page/src/components/database-runtime-ready.tsx +1 -1
  174. package/templates/database-starter/page/src/components/database-user-menu/index.tsx +4 -7
  175. package/templates/database-starter/page/src/components/feedback/page-state.tsx +40 -5
  176. package/templates/database-starter/page/src/components/floating-button/assets/edit-active.svg +3 -0
  177. package/templates/database-starter/page/src/components/floating-button/assets/edit-default.svg +3 -0
  178. package/templates/database-starter/page/src/components/floating-button/index.tsx +75 -112
  179. package/templates/database-starter/page/src/components/floating-button/utils/project-meta.test.ts +107 -37
  180. package/templates/database-starter/page/src/components/floating-button/utils/project-meta.ts +13 -50
  181. package/templates/database-starter/page/src/components/ui-language.test.tsx +101 -0
  182. package/templates/database-starter/page/src/examples/ai-function/ImageTaskOperation.tsx +202 -0
  183. package/templates/database-starter/page/src/examples/ai-function/README.md +14 -0
  184. package/templates/database-starter/page/src/examples/ai-function/TextStreamOperation.tsx +184 -0
  185. package/templates/database-starter/page/src/examples/ai-function/ai-copy.ts +173 -0
  186. package/templates/database-starter/page/src/examples/ai-function/ai-delta.test.ts +30 -0
  187. package/templates/database-starter/page/src/examples/ai-function/ai-delta.ts +26 -0
  188. package/templates/database-starter/page/src/examples/ai-function/ai-language.test.tsx +86 -0
  189. package/templates/database-starter/page/src/examples/ai-function/ai-media-panel.test.ts +201 -0
  190. package/templates/database-starter/page/src/examples/ai-function/ai-media-panel.tsx +382 -0
  191. package/templates/database-starter/page/src/lib/attachment-image.tsx +144 -0
  192. package/templates/database-starter/page/src/lib/database-function-inputs.generated.ts +4 -0
  193. package/templates/database-starter/page/src/lib/database-runtime-attachment.test.ts +180 -76
  194. package/templates/database-starter/page/src/lib/database-runtime.test.ts +130 -10
  195. package/templates/database-starter/page/src/lib/database-runtime.ts +484 -51
  196. package/templates/database-starter/page/src/lib/date-time.ts +61 -0
  197. package/templates/database-starter/page/src/lib/ui-language.ts +86 -0
  198. package/templates/database-starter/page/src/main.tsx +1 -1
  199. package/templates/database-starter/page/tsconfig.json +2 -2
  200. package/templates/database-starter/page/vite.config.ts +1 -2
  201. package/templates/database-starter/prettierignore +1 -1
  202. package/templates/database-starter/server-functions/README.md +2 -2
  203. package/templates/database-starter/server-functions/package-lock.json +4 -4
  204. package/templates/database-starter/server-functions/package.json +1 -1
  205. package/dist/agent-guide.d.ts +0 -19
  206. package/dist/agent-guide.d.ts.map +0 -1
  207. package/dist/agent-guide.js +0 -31
  208. package/dist/agent-guide.js.map +0 -1
  209. package/dist/database-skill.d.ts +0 -24
  210. package/dist/database-skill.d.ts.map +0 -1
  211. package/dist/database-skill.js +0 -148
  212. package/dist/database-skill.js.map +0 -1
  213. package/skills/lark-base-database/references/base-sql-unsupported.md +0 -42
  214. package/skills/lark-base-database/references/database-capability-skill.md +0 -40
  215. package/skills/lark-base-database/references/sql-function.md +0 -289
  216. package/templates/database-capability/SKILL.md.tmpl +0 -58
  217. package/templates/database-starter/page/src/components/floating-button/chatbot-entry.test.ts +0 -23
  218. package/templates/database-starter/page/src/components/floating-button/chatbot-entry.tsx +0 -873
  219. package/templates/database-starter/page/src/components/floating-button/local-chat-panel.test.ts +0 -25
  220. package/templates/database-starter/page/src/components/floating-button/local-chat-panel.tsx +0 -197
  221. package/templates/database-starter/page/src/components/floating-button/utils/env.ts +0 -18
  222. package/templates/database-starter/sql/README.md +0 -8
package/dist/deploy.js CHANGED
@@ -1,18 +1,22 @@
1
- import { createHash } from 'node:crypto';
2
- import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from 'node:fs';
3
- import { dirname, join, relative, resolve } from 'node:path';
1
+ import { readPublicSQLError, formatPublicSQLError, } from './public-sql-error.js';
2
+ import { existsSync, statSync } from 'node:fs';
3
+ import { join, relative, resolve } from 'node:path';
4
4
  import { createInterface } from 'node:readline/promises';
5
5
  import { archiveDatabase, prepareDatabaseMetadata, } from './archive.js';
6
- import { deploymentAgentGuide } from './agent-guide.js';
6
+ import { collectLocalAIFunctions, syncAIFunctionsForDeploy, } from './ai-functions.js';
7
7
  import { readConfig } from './config.js';
8
8
  import { assertProjectRuntimeProfile, ONLINE_RUNTIME_PROFILE, } from './environment.js';
9
+ import { validatePreviewEnvironmentVariableDeclarations, validatePreviewEnvironmentVariableValues, validateProdEnvironmentVariables, } from './environment-variables.js';
10
+ import { syncDatabaseFunctionInputTypes } from './function-input-types.js';
9
11
  import { responseData, runLarkCli, runLarkCliOutput, resolveLarkProfileEnvironment, } from './lark-cli.js';
10
12
  import { validatePageTitle } from './page-title.js';
11
- import { lockRepairHint, resolveWorkspaceNpm, validateDependencyLock, } from './npm.js';
13
+ import { requireDatabaseFunctionsDirectory } from './project-layout.js';
14
+ import { validateSiteReadme } from './site-readme.js';
15
+ import { resolveWorkspaceNpm } from './npm.js';
16
+ import { buildProject, installDependencies, validateProjectDependencyLocks, } from './project-build.js';
17
+ import { parsePackageDependencyPolicy, validateWorkspacePackageDependencies, } from './dependency-policy.js';
12
18
  import { finalizePreviewReceipt, previewArtifact, readPreviewReceiptForProduction, writePendingPreviewReceipt, } from './preview-receipt.js';
13
- import { CommandExecutionError } from './process.js';
14
- import { workspaceInputFingerprint } from './workspace-fingerprint.js';
15
- const dependencyDirectories = ['page', 'server-functions'];
19
+ import { DEPLOYMENT_INPUT_FINGERPRINT_ALGORITHM, deploymentInputFingerprint, } from './workspace-fingerprint.js';
16
20
  function isRecord(value) {
17
21
  return typeof value === 'object' && value !== null && !Array.isArray(value);
18
22
  }
@@ -65,21 +69,59 @@ export function collectBaseBinding(config, warn = (message) => process.stderr.wr
65
69
  }
66
70
  return bases.values().next().value;
67
71
  }
72
+ export function baseBindingToSync(binding, remoteProject) {
73
+ if (!binding)
74
+ return undefined;
75
+ if (!isRecord(remoteProject) || !Array.isArray(remoteProject.baseBindings)) {
76
+ return binding;
77
+ }
78
+ for (const value of remoteProject.baseBindings) {
79
+ if (!isRecord(value))
80
+ continue;
81
+ const baseToken = value.baseToken ?? value.base_token;
82
+ if (baseToken !== binding.baseToken)
83
+ continue;
84
+ const tableIds = value.tableIds ?? value.table_ids;
85
+ if (!Array.isArray(tableIds) ||
86
+ tableIds.some((tableId) => typeof tableId !== 'string')) {
87
+ return binding;
88
+ }
89
+ const remoteTableIds = new Set(tableIds);
90
+ const missingTableIds = binding.tableIds.filter((tableId) => !remoteTableIds.has(tableId));
91
+ return missingTableIds.length === 0
92
+ ? undefined
93
+ : { ...binding, tableIds: missingTableIds };
94
+ }
95
+ return binding;
96
+ }
68
97
  function syncBaseBinding(appToken, binding, env) {
69
98
  if (!binding)
70
99
  return;
100
+ // The plain project read returns the draft binding that bind_base would update.
101
+ const projectResponse = runLarkCli([
102
+ 'api',
103
+ 'GET',
104
+ `/open-apis/base/v3/sites/${encodeURIComponent(appToken)}/get`,
105
+ ], env);
106
+ const project = responseData(projectResponse).project;
107
+ if (isRecord(project) && project.token !== appToken) {
108
+ throw new Error('Application readback returned a different token');
109
+ }
110
+ const bindingToSync = baseBindingToSync(binding, project);
111
+ if (!bindingToSync)
112
+ return;
71
113
  runLarkCli([
72
114
  'api',
73
115
  'POST',
74
116
  `/open-apis/base/v3/sites/${encodeURIComponent(appToken)}/bind_base`,
75
117
  '--data',
76
118
  JSON.stringify({
77
- baseToken: binding.baseToken,
78
- tableIds: binding.tableIds,
119
+ baseToken: bindingToSync.baseToken,
120
+ tableIds: bindingToSync.tableIds,
79
121
  }),
80
122
  ], env);
81
123
  }
82
- function validateSQLFunctions(workspace, appToken, validations, env) {
124
+ function validateDatabaseFunctions(workspace, appToken, validations, env) {
83
125
  const failures = [];
84
126
  const token = encodeURIComponent(appToken);
85
127
  for (const validation of validations) {
@@ -92,124 +134,22 @@ function validateSQLFunctions(workspace, appToken, validations, env) {
92
134
  ], env, workspace);
93
135
  const data = responseData(response);
94
136
  if (data.isSuccess !== true) {
137
+ const publicError = readPublicSQLError(data.error);
95
138
  failures.push({
96
139
  functionId: validation.functionId,
97
- diagnostics: String(data.errMsg ?? ''),
140
+ diagnostics: publicError
141
+ ? formatPublicSQLError(publicError)
142
+ : String(data.errMsg ?? ''),
98
143
  });
99
144
  }
100
145
  }
101
146
  if (failures.length === 0)
102
147
  return;
103
148
  throw new Error([
104
- `SQL validation failed for ${failures.length}/${validations.length} functions:`,
149
+ `Database Function query validation failed for ${failures.length}/${validations.length} functions:`,
105
150
  ...failures.map((failure) => `- ${failure.functionId}: ${failure.diagnostics}`),
106
151
  ].join('\n'));
107
152
  }
108
- function dependencyFingerprint(workspace, directory, npmVersion) {
109
- const hash = createHash('sha256');
110
- const project = join(workspace, directory);
111
- for (const filename of [
112
- 'package.json',
113
- 'package-lock.json',
114
- 'npm-shrinkwrap.json',
115
- '.npmrc',
116
- ]) {
117
- const path = join(project, filename);
118
- hash.update(filename);
119
- hash.update('\0');
120
- hash.update(existsSync(path) ? readFileSync(path) : '<missing>');
121
- hash.update('\0');
122
- }
123
- hash.update(process.version);
124
- hash.update('\0');
125
- hash.update(npmVersion);
126
- hash.update('\0');
127
- hash.update(process.platform);
128
- hash.update('\0');
129
- hash.update(process.arch);
130
- return hash.digest('hex');
131
- }
132
- function dependencyStatePath(workspace, directory) {
133
- return join(workspace, '.base-database-cli/state/dependencies', `${directory}.json`);
134
- }
135
- function readDependencyState(path) {
136
- try {
137
- const value = JSON.parse(readFileSync(path, 'utf8'));
138
- if (isRecord(value) &&
139
- typeof value.fingerprint === 'string' &&
140
- typeof value.nodeVersion === 'string' &&
141
- typeof value.npmVersion === 'string' &&
142
- typeof value.platform === 'string' &&
143
- typeof value.arch === 'string') {
144
- return {
145
- fingerprint: value.fingerprint,
146
- nodeVersion: value.nodeVersion,
147
- npmVersion: value.npmVersion,
148
- platform: value.platform,
149
- arch: value.arch,
150
- };
151
- }
152
- }
153
- catch {
154
- // 缓存缺失或损坏时重新安装依赖。
155
- }
156
- return undefined;
157
- }
158
- function writeDependencyState(path, state) {
159
- mkdirSync(dirname(path), { recursive: true });
160
- const temporary = `${path}.${String(process.pid)}.tmp`;
161
- writeFileSync(temporary, `${JSON.stringify(state, null, 2)}\n`);
162
- renameSync(temporary, path);
163
- }
164
- function canReuseDependencies(workspace, directory, fingerprint, npmVersion) {
165
- const state = readDependencyState(dependencyStatePath(workspace, directory));
166
- return (state?.fingerprint === fingerprint &&
167
- state.nodeVersion === process.version &&
168
- state.npmVersion === npmVersion &&
169
- state.platform === process.platform &&
170
- state.arch === process.arch &&
171
- existsSync(join(workspace, directory, 'node_modules')));
172
- }
173
- async function installDependencies(workspace, forceInstall, npm) {
174
- await Promise.all(dependencyDirectories.map(async (directory) => {
175
- const fingerprint = dependencyFingerprint(workspace, directory, npm.version);
176
- if (!forceInstall &&
177
- canReuseDependencies(workspace, directory, fingerprint, npm.version)) {
178
- process.stderr.write(`Dependencies unchanged; skipping npm ci for ${directory}.\n`);
179
- return;
180
- }
181
- const statePath = dependencyStatePath(workspace, directory);
182
- rmSync(statePath, { force: true });
183
- process.stderr.write(`Installing ${directory} dependencies with npm@${npm.version} (Node ${process.version}).\n`);
184
- try {
185
- await npm.run(['ci'], { cwd: join(workspace, directory) });
186
- }
187
- catch (error) {
188
- const diagnostics = error instanceof CommandExecutionError ? error.stderr : '';
189
- const lockFailure = /EUSAGE|Invalid: lock file|Missing: .*from lock file|package\.json and .*lock.*in sync/is.test(diagnostics);
190
- const hint = lockFailure
191
- ? lockRepairHint(directory, npm.version)
192
- : `Check the npm diagnostic above for ${directory}. Fix network, registry, authentication or installer errors before retrying; do not delete the lock or bypass installation.`;
193
- throw new Error(`Dependency installation failed for ${directory} using npm@${npm.version}: ${error instanceof Error ? error.message : String(error)}. ${hint}`, { cause: error });
194
- }
195
- if (!existsSync(join(workspace, directory, 'node_modules'))) {
196
- throw new Error(`npm ci completed without creating node_modules for ${directory}`);
197
- }
198
- writeDependencyState(statePath, {
199
- fingerprint,
200
- nodeVersion: process.version,
201
- npmVersion: npm.version,
202
- platform: process.platform,
203
- arch: process.arch,
204
- });
205
- }));
206
- }
207
- async function buildProject(workspace, env, npm) {
208
- await Promise.all(['page', 'server-functions'].map((directory) => npm.run(['run', 'build'], {
209
- cwd: join(workspace, directory),
210
- env,
211
- })));
212
- }
213
153
  function publishId(data) {
214
154
  const value = data.publishId ?? data.publish_id;
215
155
  if (typeof value !== 'string' || value === '') {
@@ -245,8 +185,7 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
245
185
  const { env, larkProfile } = resolveLarkProfileEnvironment(await runtimeProfile.commandEnvironment(), selectedLarkProfile, config.larkProfile, runtimeProfile);
246
186
  if (wait) {
247
187
  const data = await waitForPublish(config.appToken, id, env);
248
- const target = data.env === 'preview' ? 'preview' : 'prod';
249
- const canonicalBaseAppURL = requiredBaseAppUrl(data);
188
+ const baseAppUrl = requiredBaseAppUrl(data);
250
189
  const artifact = join(workspace, '.base-database-cli/state/artifacts/site.zip');
251
190
  if (data.env === 'preview' && existsSync(artifact)) {
252
191
  const url = staticUrl(data);
@@ -259,7 +198,7 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
259
198
  appToken: config.appToken,
260
199
  publishId: id,
261
200
  status: data.status,
262
- baseAppUrl: environmentBaseAppUrl(canonicalBaseAppURL, target),
201
+ baseAppUrl,
263
202
  };
264
203
  }
265
204
  const response = runLarkCli([
@@ -272,8 +211,7 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
272
211
  const data = responseData(response);
273
212
  const publish = data.publish;
274
213
  const normalized = publish ? { ...data, ...publish } : data;
275
- const target = normalized.env === 'preview' ? 'preview' : 'prod';
276
- const canonicalBaseAppURL = publishedBaseAppUrl(normalized);
214
+ const baseAppUrl = publishedBaseAppUrl(normalized);
277
215
  return {
278
216
  ok: true,
279
217
  environment,
@@ -281,11 +219,7 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
281
219
  appToken: config.appToken,
282
220
  publishId: id,
283
221
  status: normalized.status,
284
- ...(canonicalBaseAppURL
285
- ? {
286
- baseAppUrl: environmentBaseAppUrl(canonicalBaseAppURL, target),
287
- }
288
- : {}),
222
+ ...(baseAppUrl ? { baseAppUrl } : {}),
289
223
  };
290
224
  }
291
225
  function publish(appToken, target, env) {
@@ -306,7 +240,7 @@ async function confirmProduction() {
306
240
  output: process.stdout,
307
241
  });
308
242
  try {
309
- const answer = await prompt.question('Preview 已发布。确认使用同一制品继续发布到 Prod? [y/N] ');
243
+ const answer = await prompt.question('Preview is published. Publish the same artifact to Prod? [y/N] ');
310
244
  return /^(y|yes)$/i.test(answer.trim());
311
245
  }
312
246
  finally {
@@ -330,9 +264,16 @@ function staticUrl(data) {
330
264
  function publishedBaseAppUrl(data) {
331
265
  const result = publishResult(data);
332
266
  const value = result?.baseAppUrl ?? result?.base_app_url;
333
- return typeof value === 'string' && value.trim() !== ''
334
- ? value.trim()
335
- : undefined;
267
+ if (typeof value !== 'string' || value.trim() === '')
268
+ return undefined;
269
+ const baseAppUrl = value.trim();
270
+ try {
271
+ new URL(baseAppUrl);
272
+ }
273
+ catch {
274
+ throw new Error(`Invalid baseAppUrl: ${baseAppUrl}`);
275
+ }
276
+ return baseAppUrl;
336
277
  }
337
278
  function requiredBaseAppUrl(data) {
338
279
  const value = publishedBaseAppUrl(data);
@@ -341,20 +282,8 @@ function requiredBaseAppUrl(data) {
341
282
  }
342
283
  return value;
343
284
  }
344
- function environmentBaseAppUrl(baseAppUrl, target) {
345
- try {
346
- const url = new URL(baseAppUrl);
347
- if (target === 'preview') {
348
- url.searchParams.set('mode', 'edit');
349
- }
350
- else {
351
- url.searchParams.delete('mode');
352
- }
353
- return url.toString();
354
- }
355
- catch {
356
- throw new Error(`Invalid baseAppUrl: ${baseAppUrl}`);
357
- }
285
+ function shouldSkipAIFunctionSync() {
286
+ return process.env.BASE_SITE_SKIP_AI_FUNCTION_SYNC === '1';
358
287
  }
359
288
  export async function deployProject(options, suppliedNpm) {
360
289
  if (!options.install && options.forceInstall) {
@@ -368,38 +297,51 @@ export async function deployProject(options, suppliedNpm) {
368
297
  const runtimeProfile = options.runtimeProfile ?? ONLINE_RUNTIME_PROFILE;
369
298
  assertProjectRuntimeProfile(config.runtimeProfile, runtimeProfile);
370
299
  const baseBinding = collectBaseBinding(config);
371
- for (const directory of ['page', 'server-functions', 'sql']) {
300
+ for (const directory of ['page', 'server-functions']) {
372
301
  if (!existsSync(join(workspace, directory))) {
373
302
  throw new Error(`Required project directory is missing: ${directory}`);
374
303
  }
375
304
  }
305
+ requireDatabaseFunctionsDirectory(workspace);
376
306
  if (!options.production) {
377
307
  validatePageTitle(workspace);
308
+ syncDatabaseFunctionInputTypes(workspace);
378
309
  }
379
310
  // Validate local inputs before even constructing a remote/auth environment.
380
311
  const npm = options.production
381
312
  ? undefined
382
313
  : (suppliedNpm ?? resolveWorkspaceNpm());
383
314
  if (options.install && npm) {
384
- for (const directory of dependencyDirectories) {
385
- validateDependencyLock(join(workspace, directory), directory, npm.version);
386
- }
315
+ validateProjectDependencyLocks(workspace, npm);
387
316
  }
317
+ validateSiteReadme(workspace);
388
318
  const environment = runtimeProfile.name;
389
319
  const { env, larkProfile } = resolveLarkProfileEnvironment(await runtimeProfile.commandEnvironment(), options.larkProfile, config.larkProfile, runtimeProfile);
390
320
  const buildEnv = runtimeProfile.pageBuildEnvironment();
391
321
  if (options.production) {
392
- readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
322
+ const previewReceipt = readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
323
+ if (previewReceipt.workspaceInputFingerprintAlgorithm !==
324
+ DEPLOYMENT_INPUT_FINGERPRINT_ALGORITHM) {
325
+ throw new Error('The Preview artifact predates README validation; deploy a new Preview before publishing Production');
326
+ }
327
+ await validateProdEnvironmentVariables(workspace, runtimeProfile, larkProfile);
393
328
  const confirmed = options.yes || (await confirmProduction());
394
329
  if (!confirmed) {
395
330
  throw new Error('Prod publishing was not confirmed; Preview remains available');
396
331
  }
397
- const receipt = readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
332
+ const confirmedPreviewReceipt = readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
333
+ if (confirmedPreviewReceipt.workspaceInputFingerprintAlgorithm !==
334
+ DEPLOYMENT_INPUT_FINGERPRINT_ALGORITHM) {
335
+ throw new Error('The Preview artifact predates README validation; deploy a new Preview before publishing Production');
336
+ }
398
337
  syncBaseBinding(config.appToken, baseBinding, env);
338
+ if (!shouldSkipAIFunctionSync()) {
339
+ // 本地存在 AI Function 声明时,随发布走全量覆盖同步。
340
+ syncAIFunctionsForDeploy(config.appToken, collectLocalAIFunctions(workspace), env, workspace);
341
+ }
399
342
  const productionId = publish(config.appToken, 'prod', env);
400
343
  const productionStatus = await waitForPublish(config.appToken, productionId, env);
401
- const canonicalBaseAppURL = requiredBaseAppUrl(productionStatus);
402
- const productionBaseAppURL = environmentBaseAppUrl(canonicalBaseAppURL, 'prod');
344
+ const productionBaseAppURL = requiredBaseAppUrl(productionStatus);
403
345
  return {
404
346
  ok: true,
405
347
  environment,
@@ -407,28 +349,34 @@ export async function deployProject(options, suppliedNpm) {
407
349
  appToken: config.appToken,
408
350
  baseAppUrl: productionBaseAppURL,
409
351
  publishId: productionId,
410
- artifact: receipt.artifact,
411
- bytes: receipt.bytes,
412
- sha256: receipt.sha256,
413
- agentGuide: deploymentAgentGuide(config.appToken, 'prod', {
414
- workspace,
415
- profile: runtimeProfile,
416
- larkProfile,
417
- }),
352
+ // Production promotes the server-selected latest Preview, which may belong to
353
+ // another user. The local Preview receipt is only an eligibility guard and
354
+ // cannot truthfully describe the promoted Production artifact.
418
355
  };
419
356
  }
420
- const metadata = prepareDatabaseMetadata(workspace);
421
- syncBaseBinding(config.appToken, baseBinding, env);
422
- validateSQLFunctions(workspace, config.appToken, metadata.sqlValidation, env);
357
+ const policyResponse = runLarkCli([
358
+ 'api',
359
+ 'GET',
360
+ `/open-apis/base/v3/sites/${encodeURIComponent(config.appToken)}/get`,
361
+ '--params',
362
+ JSON.stringify({ withDependencyPolicy: true }),
363
+ ], env, workspace);
364
+ const policy = parsePackageDependencyPolicy(responseData(policyResponse).dependencyPolicy);
365
+ validateWorkspacePackageDependencies(workspace, policy);
423
366
  if (!npm)
424
367
  throw new Error('Preview npm toolchain was not initialized');
368
+ const metadata = prepareDatabaseMetadata(workspace);
369
+ await validatePreviewEnvironmentVariableDeclarations(workspace, runtimeProfile, larkProfile);
370
+ syncBaseBinding(config.appToken, baseBinding, env);
371
+ validateDatabaseFunctions(workspace, config.appToken, metadata.sqlValidation, env);
425
372
  if (options.install) {
426
373
  await installDependencies(workspace, options.forceInstall ?? false, npm);
427
374
  }
428
- const workspaceInputBeforeBuild = workspaceInputFingerprint(workspace);
375
+ const workspaceInputBeforeBuild = deploymentInputFingerprint(workspace);
429
376
  await buildProject(workspace, buildEnv, npm);
377
+ validateWorkspacePackageDependencies(workspace, policy);
430
378
  const artifact = await archiveDatabase(workspace, metadata);
431
- const workspaceInputAfterBuild = workspaceInputFingerprint(workspace);
379
+ const workspaceInputAfterBuild = deploymentInputFingerprint(workspace);
432
380
  if (workspaceInputAfterBuild.sha256 !== workspaceInputBeforeBuild.sha256) {
433
381
  throw new Error('The application workspace changed while building Preview; run `deploy` again');
434
382
  }
@@ -440,6 +388,10 @@ export async function deployProject(options, suppliedNpm) {
440
388
  '--data',
441
389
  `@${relative(workspace, artifact.metaList)}`,
442
390
  ], env, workspace);
391
+ if (!shouldSkipAIFunctionSync()) {
392
+ // update_functions 只接受 Database Function/FaaS Function;本地存在 AI Function 声明时另行同步。
393
+ syncAIFunctionsForDeploy(config.appToken, collectLocalAIFunctions(workspace), env, workspace);
394
+ }
443
395
  runLarkCli([
444
396
  'api',
445
397
  'POST',
@@ -452,13 +404,13 @@ export async function deployProject(options, suppliedNpm) {
452
404
  if (!existsSync(remoteSource) || statSync(remoteSource).size === 0) {
453
405
  throw new Error('Artifact upload succeeded but source_code returned no file');
454
406
  }
407
+ await validatePreviewEnvironmentVariableValues(workspace, runtimeProfile, larkProfile);
455
408
  const previewId = publish(config.appToken, 'preview', env);
456
409
  const pendingPreview = previewArtifact(config.appToken, artifact.archive, previewId, larkProfile);
457
410
  writePendingPreviewReceipt(workspace, pendingPreview, workspaceInputAfterBuild);
458
411
  const previewStatus = await waitForPublish(config.appToken, previewId, env);
459
412
  const previewStaticUrl = staticUrl(previewStatus);
460
- const canonicalBaseAppURL = requiredBaseAppUrl(previewStatus);
461
- const previewBaseAppURL = environmentBaseAppUrl(canonicalBaseAppURL, 'preview');
413
+ const previewBaseAppURL = requiredBaseAppUrl(previewStatus);
462
414
  const receipt = finalizePreviewReceipt(workspace, config.appToken, previewId, previewStaticUrl, larkProfile);
463
415
  const result = {
464
416
  ok: true,
@@ -470,12 +422,7 @@ export async function deployProject(options, suppliedNpm) {
470
422
  artifact: artifact.displayArchive,
471
423
  bytes: receipt.bytes,
472
424
  sha256: receipt.sha256,
473
- agentGuide: deploymentAgentGuide(config.appToken, 'preview', {
474
- workspace,
475
- profile: runtimeProfile,
476
- larkProfile,
477
- }),
478
- nextAction: '先完成本次约定的 Preview 示例数据回读、通知收尾和 Skill 安装结果说明,再交付 baseAppUrl 等待用户体验。“部署正式版”是针对同一制品确认的示例;未经确认不发布 Prod,也不因安装 Skill 额外调用正式版业务能力。',
425
+ nextAction: 'Complete the agreed Preview sample-data readback and notification follow-up before sharing baseAppUrl for user review. Publishing to Prod requires confirmation for this same artifact. Preview publication does not authorize production Function calls.',
479
426
  };
480
427
  return result;
481
428
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { type RuntimeProfile } from './environment.js';
2
+ export declare const ENVIRONMENT_VARIABLE_TARGETS: readonly ['preview', 'prod'];
3
+ export declare const ENVIRONMENT_VARIABLE_TYPES: readonly ['config', 'secret'];
4
+ export type EnvironmentVariableTarget = (typeof ENVIRONMENT_VARIABLE_TARGETS)[number];
5
+ export type EnvironmentVariableType = (typeof ENVIRONMENT_VARIABLE_TYPES)[number];
6
+ export interface EnvironmentVariableView {
7
+ name: string;
8
+ type: EnvironmentVariableType;
9
+ description: string;
10
+ required: boolean;
11
+ configured: boolean;
12
+ configValue?: string;
13
+ secretMask?: string;
14
+ }
15
+ export interface EnvironmentVariablesView {
16
+ target: EnvironmentVariableTarget;
17
+ revision: number;
18
+ variables: EnvironmentVariableView[];
19
+ missingRequiredVariables: string[];
20
+ changed: boolean;
21
+ }
22
+ interface EnvironmentVariableCommandOptions {
23
+ directory: string;
24
+ target: EnvironmentVariableTarget;
25
+ runtimeProfile?: RuntimeProfile;
26
+ larkProfile?: string;
27
+ }
28
+ export interface DeclareEnvironmentVariableOptions extends EnvironmentVariableCommandOptions {
29
+ name: string;
30
+ type: EnvironmentVariableType;
31
+ description: string;
32
+ required: boolean;
33
+ force?: boolean;
34
+ }
35
+ export interface SetEnvironmentVariableOptions extends EnvironmentVariableCommandOptions {
36
+ name: string;
37
+ value: string;
38
+ }
39
+ export interface ClearEnvironmentVariableOptions extends EnvironmentVariableCommandOptions {
40
+ name: string;
41
+ }
42
+ export declare function listEnvironmentVariables(options: EnvironmentVariableCommandOptions): Promise<EnvironmentVariablesView>;
43
+ export declare function declareEnvironmentVariable(options: DeclareEnvironmentVariableOptions): Promise<EnvironmentVariablesView>;
44
+ export declare function setEnvironmentVariable(options: SetEnvironmentVariableOptions): Promise<EnvironmentVariablesView>;
45
+ export declare function clearEnvironmentVariable(options: ClearEnvironmentVariableOptions): Promise<EnvironmentVariablesView>;
46
+ export declare function scanEnvironmentVariableReferences(workspace: string): string[];
47
+ export declare function validatePreviewEnvironmentVariableDeclarations(workspace: string, profile: RuntimeProfile, larkProfile?: string): Promise<void>;
48
+ export declare function validatePreviewEnvironmentVariableValues(workspace: string, profile: RuntimeProfile, larkProfile?: string): Promise<void>;
49
+ export declare function validateProdEnvironmentVariables(workspace: string, profile: RuntimeProfile, larkProfile?: string): Promise<void>;
50
+ export declare function isReservedEnvironmentVariable(name: string): boolean;
51
+ export {};
52
+ //# sourceMappingURL=environment-variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-variables.d.ts","sourceRoot":"","sources":["../src/environment-variables.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAS1B,eAAO,MAAM,4BAA4B,YAAI,SAAS,EAAE,MAAM,CAAU,CAAC;AACzE,eAAO,MAAM,0BAA0B,YAAI,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAExE,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,iCAAiC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,yBAAyB,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iCACf,SAAQ,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,6BACf,SAAQ,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BACf,SAAQ,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAoQD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,wBAAwB,CAAC,CAQnC;AAwBD,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,wBAAwB,CAAC,CAqCnC;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,wBAAwB,CAAC,CAkCnC;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,wBAAwB,CAAC,CAenC;AAyRD,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAqB7E;AAED,wBAAsB,8CAA8C,CAClE,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,wCAAwC,CAC5D,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOnE"}