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

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 (199) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/LICENSE +6 -0
  3. package/README.md +47 -27
  4. package/dist/ai-functions.d.ts +53 -0
  5. package/dist/ai-functions.d.ts.map +1 -0
  6. package/dist/ai-functions.js +436 -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 +69 -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 +5 -0
  25. package/dist/deploy.d.ts.map +1 -1
  26. package/dist/deploy.js +141 -176
  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 +15 -1
  55. package/dist/init.d.ts.map +1 -1
  56. package/dist/init.js +884 -261
  57. package/dist/init.js.map +1 -1
  58. package/dist/lark-cli-error.d.ts +47 -0
  59. package/dist/lark-cli-error.d.ts.map +1 -0
  60. package/dist/lark-cli-error.js +201 -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 +78 -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 +246 -42
  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 +65 -0
  103. package/dist/public-sql-error.js.map +1 -0
  104. package/dist/pull.d.ts +1 -0
  105. package/dist/pull.d.ts.map +1 -1
  106. package/dist/pull.js +67 -15
  107. package/dist/pull.js.map +1 -1
  108. package/dist/site-readme.d.ts +3 -0
  109. package/dist/site-readme.d.ts.map +1 -0
  110. package/dist/site-readme.js +83 -0
  111. package/dist/site-readme.js.map +1 -0
  112. package/dist/workspace-fingerprint.d.ts +21 -1
  113. package/dist/workspace-fingerprint.d.ts.map +1 -1
  114. package/dist/workspace-fingerprint.js +81 -2
  115. package/dist/workspace-fingerprint.js.map +1 -1
  116. package/package.json +2 -1
  117. package/skills/lark-base-database/SKILL.md +86 -52
  118. package/skills/lark-base-database/references/ai-function.md +479 -0
  119. package/skills/lark-base-database/references/base-capability-routing.md +7 -7
  120. package/skills/lark-base-database/references/base-sql-errors.generated.md +403 -0
  121. package/skills/lark-base-database/references/database-function-limitations.md +29 -0
  122. package/skills/lark-base-database/references/database-function.md +323 -0
  123. package/skills/lark-base-database/references/development.md +166 -33
  124. package/skills/lark-base-database/references/environment-variables.md +55 -0
  125. package/skills/lark-base-database/references/faas.md +46 -53
  126. package/skills/lark-base-database/references/file-transfer.md +25 -25
  127. package/skills/lark-base-database/references/frontend-design-guide.md +151 -65
  128. package/skills/lark-base-database/references/mutations.md +295 -0
  129. package/skills/lark-base-database/references/notifications.md +9 -9
  130. package/skills/lark-base-database/references/permission-design.md +24 -24
  131. package/skills/lark-base-database/references/release.md +57 -30
  132. package/skills/lark-base-database/references/style-guide.md +10 -67
  133. package/skills/lark-base-database/references/verification.md +19 -13
  134. package/skills/lark-base-database/references/workspace.md +57 -17
  135. package/templates/database-starter/README.md +34 -4
  136. package/templates/database-starter/database-functions/README.md +8 -0
  137. package/templates/database-starter/gitignore +7 -0
  138. package/templates/database-starter/mutations/README.md +19 -0
  139. package/templates/database-starter/page/README.md +25 -19
  140. package/templates/database-starter/page/package-lock.json +8 -16
  141. package/templates/database-starter/page/package.json +2 -3
  142. package/templates/database-starter/page/src/App.tsx +23 -3
  143. package/templates/database-starter/page/src/components/UserSelectorEditor/index.tsx +32 -4
  144. package/templates/database-starter/page/src/components/UserSelectorPanel/index.tsx +104 -34
  145. package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.test.ts +55 -11
  146. package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.ts +68 -25
  147. package/templates/database-starter/page/src/components/database-runtime-ready.tsx +1 -1
  148. package/templates/database-starter/page/src/components/database-user-menu/index.tsx +4 -7
  149. package/templates/database-starter/page/src/components/feedback/page-state.tsx +40 -5
  150. package/templates/database-starter/page/src/components/floating-button/assets/edit-active.svg +3 -0
  151. package/templates/database-starter/page/src/components/floating-button/assets/edit-default.svg +3 -0
  152. package/templates/database-starter/page/src/components/floating-button/assets/toast-close.svg +3 -0
  153. package/templates/database-starter/page/src/components/floating-button/assets/toast-info.svg +5 -0
  154. package/templates/database-starter/page/src/components/floating-button/assets/tooltip-caret.svg +3 -0
  155. package/templates/database-starter/page/src/components/floating-button/index.tsx +193 -113
  156. package/templates/database-starter/page/src/components/floating-button/utils/project-meta.test.ts +107 -37
  157. package/templates/database-starter/page/src/components/floating-button/utils/project-meta.ts +13 -50
  158. package/templates/database-starter/page/src/components/ui-language.test.tsx +101 -0
  159. package/templates/database-starter/page/src/examples/ai-function/ImageTaskOperation.tsx +202 -0
  160. package/templates/database-starter/page/src/examples/ai-function/README.md +14 -0
  161. package/templates/database-starter/page/src/examples/ai-function/TextStreamOperation.tsx +184 -0
  162. package/templates/database-starter/page/src/examples/ai-function/ai-copy.ts +173 -0
  163. package/templates/database-starter/page/src/examples/ai-function/ai-delta.test.ts +30 -0
  164. package/templates/database-starter/page/src/examples/ai-function/ai-delta.ts +26 -0
  165. package/templates/database-starter/page/src/examples/ai-function/ai-language.test.tsx +86 -0
  166. package/templates/database-starter/page/src/examples/ai-function/ai-media-panel.test.ts +201 -0
  167. package/templates/database-starter/page/src/examples/ai-function/ai-media-panel.tsx +382 -0
  168. package/templates/database-starter/page/src/lib/attachment-image.tsx +144 -0
  169. package/templates/database-starter/page/src/lib/database-function-inputs.generated.ts +4 -0
  170. package/templates/database-starter/page/src/lib/database-runtime-attachment.test.ts +180 -76
  171. package/templates/database-starter/page/src/lib/database-runtime.test.ts +130 -10
  172. package/templates/database-starter/page/src/lib/database-runtime.ts +484 -51
  173. package/templates/database-starter/page/src/lib/date-time.ts +61 -0
  174. package/templates/database-starter/page/src/lib/ui-language.ts +86 -0
  175. package/templates/database-starter/page/src/main.tsx +1 -1
  176. package/templates/database-starter/page/tsconfig.json +2 -2
  177. package/templates/database-starter/page/vite.config.ts +1 -2
  178. package/templates/database-starter/prettierignore +1 -1
  179. package/templates/database-starter/server-functions/README.md +2 -2
  180. package/templates/database-starter/server-functions/package-lock.json +4 -4
  181. package/templates/database-starter/server-functions/package.json +1 -1
  182. package/dist/agent-guide.d.ts +0 -19
  183. package/dist/agent-guide.d.ts.map +0 -1
  184. package/dist/agent-guide.js +0 -31
  185. package/dist/agent-guide.js.map +0 -1
  186. package/dist/database-skill.d.ts +0 -24
  187. package/dist/database-skill.d.ts.map +0 -1
  188. package/dist/database-skill.js +0 -148
  189. package/dist/database-skill.js.map +0 -1
  190. package/skills/lark-base-database/references/base-sql-unsupported.md +0 -42
  191. package/skills/lark-base-database/references/database-capability-skill.md +0 -40
  192. package/skills/lark-base-database/references/sql-function.md +0 -289
  193. package/templates/database-capability/SKILL.md.tmpl +0 -58
  194. package/templates/database-starter/page/src/components/floating-button/chatbot-entry.test.ts +0 -23
  195. package/templates/database-starter/page/src/components/floating-button/chatbot-entry.tsx +0 -873
  196. package/templates/database-starter/page/src/components/floating-button/local-chat-panel.test.ts +0 -25
  197. package/templates/database-starter/page/src/components/floating-button/local-chat-panel.tsx +0 -197
  198. package/templates/database-starter/page/src/components/floating-button/utils/env.ts +0 -18
  199. 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 === '') {
@@ -217,6 +157,21 @@ function publishId(data) {
217
157
  }
218
158
  return value;
219
159
  }
160
+ export function publishStatusText(status) {
161
+ const value = typeof status === 'string' ? Number(status) : status;
162
+ switch (value) {
163
+ case 0:
164
+ return 'pending';
165
+ case 1:
166
+ return 'processing';
167
+ case 10:
168
+ return 'succeeded';
169
+ case 20:
170
+ return 'failed';
171
+ default:
172
+ return 'unknown';
173
+ }
174
+ }
220
175
  async function waitForPublish(appToken, id, env) {
221
176
  const path = `/open-apis/base/v3/sites/${encodeURIComponent(appToken)}/publish_status`;
222
177
  for (let attempt = 0; attempt < 36; attempt += 1) {
@@ -245,8 +200,7 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
245
200
  const { env, larkProfile } = resolveLarkProfileEnvironment(await runtimeProfile.commandEnvironment(), selectedLarkProfile, config.larkProfile, runtimeProfile);
246
201
  if (wait) {
247
202
  const data = await waitForPublish(config.appToken, id, env);
248
- const target = data.env === 'preview' ? 'preview' : 'prod';
249
- const canonicalBaseAppURL = requiredBaseAppUrl(data);
203
+ const baseAppUrl = requiredBaseAppUrl(data);
250
204
  const artifact = join(workspace, '.base-database-cli/state/artifacts/site.zip');
251
205
  if (data.env === 'preview' && existsSync(artifact)) {
252
206
  const url = staticUrl(data);
@@ -259,7 +213,8 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
259
213
  appToken: config.appToken,
260
214
  publishId: id,
261
215
  status: data.status,
262
- baseAppUrl: environmentBaseAppUrl(canonicalBaseAppURL, target),
216
+ statusText: publishStatusText(data.status),
217
+ baseAppUrl,
263
218
  };
264
219
  }
265
220
  const response = runLarkCli([
@@ -272,8 +227,7 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
272
227
  const data = responseData(response);
273
228
  const publish = data.publish;
274
229
  const normalized = publish ? { ...data, ...publish } : data;
275
- const target = normalized.env === 'preview' ? 'preview' : 'prod';
276
- const canonicalBaseAppURL = publishedBaseAppUrl(normalized);
230
+ const baseAppUrl = publishedBaseAppUrl(normalized);
277
231
  return {
278
232
  ok: true,
279
233
  environment,
@@ -281,11 +235,8 @@ export async function deploymentStatus(directory, id, wait, runtimeProfile = ONL
281
235
  appToken: config.appToken,
282
236
  publishId: id,
283
237
  status: normalized.status,
284
- ...(canonicalBaseAppURL
285
- ? {
286
- baseAppUrl: environmentBaseAppUrl(canonicalBaseAppURL, target),
287
- }
288
- : {}),
238
+ statusText: publishStatusText(normalized.status),
239
+ ...(baseAppUrl ? { baseAppUrl } : {}),
289
240
  };
290
241
  }
291
242
  function publish(appToken, target, env) {
@@ -306,7 +257,7 @@ async function confirmProduction() {
306
257
  output: process.stdout,
307
258
  });
308
259
  try {
309
- const answer = await prompt.question('Preview 已发布。确认使用同一制品继续发布到 Prod? [y/N] ');
260
+ const answer = await prompt.question('Preview is published. Publish the same artifact to Prod? [y/N] ');
310
261
  return /^(y|yes)$/i.test(answer.trim());
311
262
  }
312
263
  finally {
@@ -330,9 +281,16 @@ function staticUrl(data) {
330
281
  function publishedBaseAppUrl(data) {
331
282
  const result = publishResult(data);
332
283
  const value = result?.baseAppUrl ?? result?.base_app_url;
333
- return typeof value === 'string' && value.trim() !== ''
334
- ? value.trim()
335
- : undefined;
284
+ if (typeof value !== 'string' || value.trim() === '')
285
+ return undefined;
286
+ const baseAppUrl = value.trim();
287
+ try {
288
+ new URL(baseAppUrl);
289
+ }
290
+ catch {
291
+ throw new Error(`Invalid baseAppUrl: ${baseAppUrl}`);
292
+ }
293
+ return baseAppUrl;
336
294
  }
337
295
  function requiredBaseAppUrl(data) {
338
296
  const value = publishedBaseAppUrl(data);
@@ -341,21 +299,6 @@ function requiredBaseAppUrl(data) {
341
299
  }
342
300
  return value;
343
301
  }
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
- }
358
- }
359
302
  export async function deployProject(options, suppliedNpm) {
360
303
  if (!options.install && options.forceInstall) {
361
304
  throw new Error('--no-install cannot be combined with --force-install');
@@ -368,38 +311,51 @@ export async function deployProject(options, suppliedNpm) {
368
311
  const runtimeProfile = options.runtimeProfile ?? ONLINE_RUNTIME_PROFILE;
369
312
  assertProjectRuntimeProfile(config.runtimeProfile, runtimeProfile);
370
313
  const baseBinding = collectBaseBinding(config);
371
- for (const directory of ['page', 'server-functions', 'sql']) {
314
+ for (const directory of ['page', 'server-functions']) {
372
315
  if (!existsSync(join(workspace, directory))) {
373
316
  throw new Error(`Required project directory is missing: ${directory}`);
374
317
  }
375
318
  }
319
+ requireDatabaseFunctionsDirectory(workspace);
376
320
  if (!options.production) {
377
321
  validatePageTitle(workspace);
322
+ syncDatabaseFunctionInputTypes(workspace);
378
323
  }
379
324
  // Validate local inputs before even constructing a remote/auth environment.
380
325
  const npm = options.production
381
326
  ? undefined
382
327
  : (suppliedNpm ?? resolveWorkspaceNpm());
383
328
  if (options.install && npm) {
384
- for (const directory of dependencyDirectories) {
385
- validateDependencyLock(join(workspace, directory), directory, npm.version);
386
- }
329
+ validateProjectDependencyLocks(workspace, npm);
387
330
  }
331
+ validateSiteReadme(workspace);
388
332
  const environment = runtimeProfile.name;
389
333
  const { env, larkProfile } = resolveLarkProfileEnvironment(await runtimeProfile.commandEnvironment(), options.larkProfile, config.larkProfile, runtimeProfile);
390
334
  const buildEnv = runtimeProfile.pageBuildEnvironment();
391
335
  if (options.production) {
392
- readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
336
+ const previewReceipt = readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
337
+ if (previewReceipt.workspaceInputFingerprintAlgorithm !==
338
+ DEPLOYMENT_INPUT_FINGERPRINT_ALGORITHM) {
339
+ throw new Error('The Preview artifact predates README validation; deploy a new Preview before publishing Production');
340
+ }
341
+ await validateProdEnvironmentVariables(workspace, runtimeProfile, larkProfile);
393
342
  const confirmed = options.yes || (await confirmProduction());
394
343
  if (!confirmed) {
395
344
  throw new Error('Prod publishing was not confirmed; Preview remains available');
396
345
  }
397
- const receipt = readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
346
+ const confirmedPreviewReceipt = readPreviewReceiptForProduction(workspace, config.appToken, larkProfile);
347
+ if (confirmedPreviewReceipt.workspaceInputFingerprintAlgorithm !==
348
+ DEPLOYMENT_INPUT_FINGERPRINT_ALGORITHM) {
349
+ throw new Error('The Preview artifact predates README validation; deploy a new Preview before publishing Production');
350
+ }
398
351
  syncBaseBinding(config.appToken, baseBinding, env);
352
+ if (!options.skipAIFunctions) {
353
+ // 本地存在 AI Function 声明时,随发布走全量覆盖同步。
354
+ syncAIFunctionsForDeploy(config.appToken, collectLocalAIFunctions(workspace), env, workspace);
355
+ }
399
356
  const productionId = publish(config.appToken, 'prod', env);
400
357
  const productionStatus = await waitForPublish(config.appToken, productionId, env);
401
- const canonicalBaseAppURL = requiredBaseAppUrl(productionStatus);
402
- const productionBaseAppURL = environmentBaseAppUrl(canonicalBaseAppURL, 'prod');
358
+ const productionBaseAppURL = requiredBaseAppUrl(productionStatus);
403
359
  return {
404
360
  ok: true,
405
361
  environment,
@@ -407,32 +363,45 @@ export async function deployProject(options, suppliedNpm) {
407
363
  appToken: config.appToken,
408
364
  baseAppUrl: productionBaseAppURL,
409
365
  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
- }),
366
+ ...(options.skipAIFunctions ? { aiFunctionsSkipped: true } : {}),
367
+ // Production promotes the server-selected latest Preview, which may belong to
368
+ // another user. The local Preview receipt is only an eligibility guard and
369
+ // cannot truthfully describe the promoted Production artifact.
418
370
  };
419
371
  }
420
- const metadata = prepareDatabaseMetadata(workspace);
421
- syncBaseBinding(config.appToken, baseBinding, env);
422
- validateSQLFunctions(workspace, config.appToken, metadata.sqlValidation, env);
372
+ const policyResponse = runLarkCli([
373
+ 'api',
374
+ 'GET',
375
+ `/open-apis/base/v3/sites/${encodeURIComponent(config.appToken)}/get`,
376
+ '--params',
377
+ JSON.stringify({ withDependencyPolicy: true }),
378
+ ], env, workspace);
379
+ const policy = parsePackageDependencyPolicy(responseData(policyResponse).dependencyPolicy);
380
+ validateWorkspacePackageDependencies(workspace, policy);
423
381
  if (!npm)
424
382
  throw new Error('Preview npm toolchain was not initialized');
383
+ const metadata = prepareDatabaseMetadata(workspace);
384
+ await validatePreviewEnvironmentVariableDeclarations(workspace, runtimeProfile, larkProfile);
385
+ syncBaseBinding(config.appToken, baseBinding, env);
386
+ validateDatabaseFunctions(workspace, config.appToken, metadata.sqlValidation, env);
425
387
  if (options.install) {
426
388
  await installDependencies(workspace, options.forceInstall ?? false, npm);
427
389
  }
428
- const workspaceInputBeforeBuild = workspaceInputFingerprint(workspace);
390
+ const workspaceInputBeforeBuild = deploymentInputFingerprint(workspace);
429
391
  await buildProject(workspace, buildEnv, npm);
392
+ validateWorkspacePackageDependencies(workspace, policy);
430
393
  const artifact = await archiveDatabase(workspace, metadata);
431
- const workspaceInputAfterBuild = workspaceInputFingerprint(workspace);
394
+ const workspaceInputAfterBuild = deploymentInputFingerprint(workspace);
432
395
  if (workspaceInputAfterBuild.sha256 !== workspaceInputBeforeBuild.sha256) {
433
396
  throw new Error('The application workspace changed while building Preview; run `deploy` again');
434
397
  }
435
398
  const token = encodeURIComponent(config.appToken);
399
+ if (!options.skipAIFunctions) {
400
+ // update_functions 只接受 Database Function/FaaS Function;本地存在 AI Function 声明时另行同步。
401
+ // 先同步 AI Function:未开通 AI Function 的用户会在此处收到 800004011,此时尚未写入任何远端 Function,
402
+ // 可直接改用 --skip-ai-functions 重跑,不留下"Function 已更新但未发布"的中间态。
403
+ syncAIFunctionsForDeploy(config.appToken, collectLocalAIFunctions(workspace), env, workspace);
404
+ }
436
405
  runLarkCli([
437
406
  'api',
438
407
  'POST',
@@ -452,13 +421,13 @@ export async function deployProject(options, suppliedNpm) {
452
421
  if (!existsSync(remoteSource) || statSync(remoteSource).size === 0) {
453
422
  throw new Error('Artifact upload succeeded but source_code returned no file');
454
423
  }
424
+ await validatePreviewEnvironmentVariableValues(workspace, runtimeProfile, larkProfile);
455
425
  const previewId = publish(config.appToken, 'preview', env);
456
426
  const pendingPreview = previewArtifact(config.appToken, artifact.archive, previewId, larkProfile);
457
427
  writePendingPreviewReceipt(workspace, pendingPreview, workspaceInputAfterBuild);
458
428
  const previewStatus = await waitForPublish(config.appToken, previewId, env);
459
429
  const previewStaticUrl = staticUrl(previewStatus);
460
- const canonicalBaseAppURL = requiredBaseAppUrl(previewStatus);
461
- const previewBaseAppURL = environmentBaseAppUrl(canonicalBaseAppURL, 'preview');
430
+ const previewBaseAppURL = requiredBaseAppUrl(previewStatus);
462
431
  const receipt = finalizePreviewReceipt(workspace, config.appToken, previewId, previewStaticUrl, larkProfile);
463
432
  const result = {
464
433
  ok: true,
@@ -470,12 +439,8 @@ export async function deployProject(options, suppliedNpm) {
470
439
  artifact: artifact.displayArchive,
471
440
  bytes: receipt.bytes,
472
441
  sha256: receipt.sha256,
473
- agentGuide: deploymentAgentGuide(config.appToken, 'preview', {
474
- workspace,
475
- profile: runtimeProfile,
476
- larkProfile,
477
- }),
478
- nextAction: '先完成本次约定的 Preview 示例数据回读、通知收尾和 Skill 安装结果说明,再交付 baseAppUrl 等待用户体验。“部署正式版”是针对同一制品确认的示例;未经确认不发布 Prod,也不因安装 Skill 额外调用正式版业务能力。',
442
+ ...(options.skipAIFunctions ? { aiFunctionsSkipped: true } : {}),
443
+ 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
444
  };
480
445
  return result;
481
446
  }
@@ -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"}