@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.
- package/CHANGELOG.md +75 -0
- package/README.md +119 -15
- package/THIRD_PARTY_LICENSES.json +1662 -0
- package/config-schema.json +64 -3
- package/data/template-hmr-scripts.json +9 -0
- package/data/template-index-html/17e698eef687ece8f1628e3e2c4801da5e7233faa87076b3424acde8df57b825.html +24 -0
- package/dist/agent-tools-guide.d.ts +29 -0
- package/dist/agent-tools-guide.d.ts.map +1 -0
- package/dist/agent-tools-guide.js +169 -0
- package/dist/agent-tools-guide.js.map +1 -0
- package/dist/agent-tools-skill.d.ts +16 -0
- package/dist/agent-tools-skill.d.ts.map +1 -0
- package/dist/agent-tools-skill.js +183 -0
- package/dist/agent-tools-skill.js.map +1 -0
- package/dist/agent-tools.d.ts +20 -0
- package/dist/agent-tools.d.ts.map +1 -0
- package/dist/agent-tools.js +137 -0
- package/dist/agent-tools.js.map +1 -0
- package/dist/ai-functions.d.ts +10 -0
- package/dist/ai-functions.d.ts.map +1 -1
- package/dist/ai-functions.js +264 -212
- package/dist/ai-functions.js.map +1 -1
- package/dist/app-builder/core.d.mts +37 -0
- package/dist/app-builder/core.d.mts.map +1 -0
- package/dist/app-builder/core.mjs +673 -0
- package/dist/app-builder/core.mjs.map +1 -0
- package/dist/app-builder/package.json +1 -0
- package/dist/app-builder/schema.d.ts +4 -0
- package/dist/app-builder/schema.d.ts.map +1 -0
- package/dist/app-builder/schema.js +72 -0
- package/dist/app-builder/schema.js.map +1 -0
- package/dist/archive.d.ts +22 -2
- package/dist/archive.d.ts.map +1 -1
- package/dist/archive.js +311 -74
- package/dist/archive.js.map +1 -1
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +13 -8
- package/dist/auth.js.map +1 -1
- package/dist/build-server.d.ts +25 -0
- package/dist/build-server.d.ts.map +1 -0
- package/dist/build-server.js +32 -0
- package/dist/build-server.js.map +1 -0
- package/dist/business-update-notice.d.ts +37 -0
- package/dist/business-update-notice.d.ts.map +1 -0
- package/dist/business-update-notice.js +24 -0
- package/dist/business-update-notice.js.map +1 -0
- package/dist/check.d.ts +11 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +85 -15
- package/dist/check.js.map +1 -1
- package/dist/cloud-build-diagnostic.d.ts +9 -0
- package/dist/cloud-build-diagnostic.d.ts.map +1 -0
- package/dist/cloud-build-diagnostic.js +65 -0
- package/dist/cloud-build-diagnostic.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +41 -11
- package/dist/config.js.map +1 -1
- package/dist/contract-extractor.d.ts +21 -0
- package/dist/contract-extractor.d.ts.map +1 -0
- package/dist/contract-extractor.js +260 -0
- package/dist/contract-extractor.js.map +1 -0
- package/dist/contract-worker.d.ts +12 -0
- package/dist/contract-worker.d.ts.map +1 -0
- package/dist/contract-worker.js +90 -0
- package/dist/contract-worker.js.map +1 -0
- package/dist/dependency-policy.d.ts.map +1 -1
- package/dist/dependency-policy.js +6 -1
- package/dist/dependency-policy.js.map +1 -1
- package/dist/deploy.d.ts +20 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +181 -52
- package/dist/deploy.js.map +1 -1
- package/dist/dev-bootstrap.d.ts +5 -0
- package/dist/dev-bootstrap.d.ts.map +1 -0
- package/dist/dev-bootstrap.js +185 -0
- package/dist/dev-bootstrap.js.map +1 -0
- package/dist/dev-events.d.ts +24 -0
- package/dist/dev-events.d.ts.map +1 -0
- package/dist/dev-events.js +67 -0
- package/dist/dev-events.js.map +1 -0
- package/dist/dev-pairing.d.ts +4 -0
- package/dist/dev-pairing.d.ts.map +1 -0
- package/dist/dev-pairing.js +54 -0
- package/dist/dev-pairing.js.map +1 -0
- package/dist/dev-url.d.ts +4 -0
- package/dist/dev-url.d.ts.map +1 -0
- package/dist/dev-url.js +29 -0
- package/dist/dev-url.js.map +1 -0
- package/dist/dev-vite.d.ts +9 -0
- package/dist/dev-vite.d.ts.map +1 -0
- package/dist/dev-vite.js +237 -0
- package/dist/dev-vite.js.map +1 -0
- package/dist/dev-watch.d.ts +33 -0
- package/dist/dev-watch.d.ts.map +1 -0
- package/dist/dev-watch.js +246 -0
- package/dist/dev-watch.js.map +1 -0
- package/dist/dev.d.ts +24 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +244 -0
- package/dist/dev.js.map +1 -0
- package/dist/development-pairing.generated.d.ts +12 -0
- package/dist/development-pairing.generated.d.ts.map +1 -0
- package/dist/development-pairing.generated.js +13 -0
- package/dist/development-pairing.generated.js.map +1 -0
- package/dist/diagnostic-platforms.d.ts +3 -0
- package/dist/diagnostic-platforms.d.ts.map +1 -0
- package/dist/diagnostic-platforms.js +3 -0
- package/dist/diagnostic-platforms.js.map +1 -0
- package/dist/diagnostic-schema.d.ts +151 -0
- package/dist/diagnostic-schema.d.ts.map +1 -0
- package/dist/diagnostic-schema.js +129 -0
- package/dist/diagnostic-schema.js.map +1 -0
- package/dist/diagnostics.d.ts +78 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +333 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/distribution-commands.d.ts.map +1 -1
- package/dist/distribution-commands.js +6 -2
- package/dist/distribution-commands.js.map +1 -1
- package/dist/distribution-npm.d.ts +2 -2
- package/dist/distribution-npm.d.ts.map +1 -1
- package/dist/distribution-npm.js +14 -1
- package/dist/distribution-npm.js.map +1 -1
- package/dist/environment-variables.d.ts.map +1 -1
- package/dist/environment-variables.js +2 -1
- package/dist/environment-variables.js.map +1 -1
- package/dist/function-contracts.d.ts +40 -0
- package/dist/function-contracts.d.ts.map +1 -0
- package/dist/function-contracts.js +357 -0
- package/dist/function-contracts.js.map +1 -0
- package/dist/function-description.d.ts +11 -4
- package/dist/function-description.d.ts.map +1 -1
- package/dist/function-description.js +22 -12
- package/dist/function-description.js.map +1 -1
- package/dist/function-input-types.d.ts +6 -4
- package/dist/function-input-types.d.ts.map +1 -1
- package/dist/function-input-types.js +97 -135
- package/dist/function-input-types.js.map +1 -1
- package/dist/function-params.d.ts +53 -0
- package/dist/function-params.d.ts.map +1 -0
- package/dist/function-params.js +184 -0
- package/dist/function-params.js.map +1 -0
- package/dist/function-schema.d.ts +14 -0
- package/dist/function-schema.d.ts.map +1 -1
- package/dist/function-schema.js +99 -9
- package/dist/function-schema.js.map +1 -1
- package/dist/init-journal.d.ts +1 -0
- package/dist/init-journal.d.ts.map +1 -1
- package/dist/init-journal.js +21 -7
- package/dist/init-journal.js.map +1 -1
- package/dist/init.d.ts +1 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +55 -5
- package/dist/init.js.map +1 -1
- package/dist/lark-cli-error.d.ts +13 -2
- package/dist/lark-cli-error.d.ts.map +1 -1
- package/dist/lark-cli-error.js +54 -13
- package/dist/lark-cli-error.js.map +1 -1
- package/dist/lark-cli-passthrough.d.ts +9 -0
- package/dist/lark-cli-passthrough.d.ts.map +1 -0
- package/dist/lark-cli-passthrough.js +101 -0
- package/dist/lark-cli-passthrough.js.map +1 -0
- package/dist/lark-cli.d.ts +5 -2
- package/dist/lark-cli.d.ts.map +1 -1
- package/dist/lark-cli.js +96 -29
- package/dist/lark-cli.js.map +1 -1
- package/dist/legacy-function-input-renderer.d.ts +6 -0
- package/dist/legacy-function-input-renderer.d.ts.map +1 -0
- package/dist/legacy-function-input-renderer.js +175 -0
- package/dist/legacy-function-input-renderer.js.map +1 -0
- package/dist/link-guard-check.d.ts +12 -0
- package/dist/link-guard-check.d.ts.map +1 -0
- package/dist/link-guard-check.js +138 -0
- package/dist/link-guard-check.js.map +1 -0
- package/dist/managed-agent-docs.d.ts +14 -0
- package/dist/managed-agent-docs.d.ts.map +1 -0
- package/dist/managed-agent-docs.js +172 -0
- package/dist/managed-agent-docs.js.map +1 -0
- package/dist/mutation-schema.d.ts +6 -0
- package/dist/mutation-schema.d.ts.map +1 -1
- package/dist/mutation-schema.js +6 -0
- package/dist/mutation-schema.js.map +1 -1
- package/dist/mutation.d.ts +4 -1
- package/dist/mutation.d.ts.map +1 -1
- package/dist/mutation.js +17 -2
- package/dist/mutation.js.map +1 -1
- package/dist/npm.d.ts +1 -0
- package/dist/npm.d.ts.map +1 -1
- package/dist/npm.js +28 -0
- package/dist/npm.js.map +1 -1
- package/dist/preview-receipt.d.ts +0 -2
- package/dist/preview-receipt.d.ts.map +1 -1
- package/dist/preview-receipt.js +0 -28
- package/dist/preview-receipt.js.map +1 -1
- package/dist/process.d.ts +1 -0
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +25 -0
- package/dist/process.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +239 -26
- package/dist/program.js.map +1 -1
- package/dist/project-build.d.ts +2 -1
- package/dist/project-build.d.ts.map +1 -1
- package/dist/project-build.js +53 -16
- package/dist/project-build.js.map +1 -1
- package/dist/project-capabilities.d.ts +8 -0
- package/dist/project-capabilities.d.ts.map +1 -0
- package/dist/project-capabilities.js +47 -0
- package/dist/project-capabilities.js.map +1 -0
- package/dist/project-context.d.ts +66 -0
- package/dist/project-context.d.ts.map +1 -1
- package/dist/project-context.js +68 -6
- package/dist/project-context.js.map +1 -1
- package/dist/project-layout.d.ts +11 -0
- package/dist/project-layout.d.ts.map +1 -1
- package/dist/project-layout.js +63 -1
- package/dist/project-layout.js.map +1 -1
- package/dist/public-exports.d.ts +5 -0
- package/dist/public-exports.d.ts.map +1 -0
- package/dist/public-exports.js +76 -0
- package/dist/public-exports.js.map +1 -0
- package/dist/public-sql-error.d.ts +3 -1
- package/dist/public-sql-error.d.ts.map +1 -1
- package/dist/public-sql-error.js +5 -2
- package/dist/public-sql-error.js.map +1 -1
- package/dist/pull.d.ts +1 -0
- package/dist/pull.d.ts.map +1 -1
- package/dist/pull.js +103 -20
- package/dist/pull.js.map +1 -1
- package/dist/sdk-codegen.d.ts +16 -0
- package/dist/sdk-codegen.d.ts.map +1 -0
- package/dist/sdk-codegen.js +181 -0
- package/dist/sdk-codegen.js.map +1 -0
- package/dist/sdk-install.d.ts +4 -0
- package/dist/sdk-install.d.ts.map +1 -0
- package/dist/sdk-install.js +33 -0
- package/dist/sdk-install.js.map +1 -0
- package/dist/skill-frontmatter.d.ts +5 -0
- package/dist/skill-frontmatter.d.ts.map +1 -0
- package/dist/skill-frontmatter.js +28 -0
- package/dist/skill-frontmatter.js.map +1 -0
- package/dist/skill.d.ts +2 -1
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +18 -12
- package/dist/skill.js.map +1 -1
- package/dist/source-format.d.ts +10 -0
- package/dist/source-format.d.ts.map +1 -0
- package/dist/source-format.js +49 -0
- package/dist/source-format.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/unified-functions.d.ts +22 -0
- package/dist/unified-functions.d.ts.map +1 -0
- package/dist/unified-functions.js +114 -0
- package/dist/unified-functions.js.map +1 -0
- package/dist/updates.d.ts +13 -1
- package/dist/updates.d.ts.map +1 -1
- package/dist/updates.js +65 -29
- package/dist/updates.js.map +1 -1
- package/dist/workspace-fingerprint.d.ts.map +1 -1
- package/dist/workspace-fingerprint.js +5 -0
- package/dist/workspace-fingerprint.js.map +1 -1
- package/package.json +17 -5
- package/skills/lark-base-database/SKILL.md +21 -55
- package/skills/lark-base-database/references/agent-tool-design.md +181 -0
- package/skills/lark-base-database/references/agent-tools.md +101 -0
- package/skills/lark-base-database/references/ai-function.md +80 -186
- package/skills/lark-base-database/references/database-function-limitations.md +12 -4
- package/skills/lark-base-database/references/database-function.md +49 -21
- package/skills/lark-base-database/references/development.md +81 -109
- package/skills/lark-base-database/references/environment-variables.md +2 -2
- package/skills/lark-base-database/references/faas.md +43 -16
- package/skills/lark-base-database/references/file-transfer.md +10 -33
- package/skills/lark-base-database/references/frontend-design-guide.md +1 -1
- package/skills/lark-base-database/references/legacy-ai-function.md +120 -0
- package/skills/lark-base-database/references/legacy-development.md +156 -0
- package/skills/lark-base-database/references/legacy-file-transfer.md +68 -0
- package/skills/lark-base-database/references/mutations.md +38 -29
- package/skills/lark-base-database/references/notifications.md +1 -1
- package/skills/lark-base-database/references/permission-design.md +11 -5
- package/skills/lark-base-database/references/release.md +22 -7
- package/skills/lark-base-database/references/verification.md +55 -16
- package/skills/lark-base-database/references/workspace-migration.md +86 -0
- package/skills/lark-base-database/references/workspace.md +55 -44
- package/templates/database-starter/README.md +2 -0
- package/templates/database-starter/database-functions/README.md +2 -2
- package/templates/database-starter/mutations/README.md +2 -2
- package/templates/database-starter/page/README.md +5 -4
- package/templates/database-starter/page/src/examples/ai-function/TextStreamOperation.tsx +6 -6
- package/templates/database-starter/page/src/lib/attachment-image.tsx +19 -5
- package/templates/database-starter/page/src/lib/database-runtime-attachment.test.ts +124 -5
- package/templates/database-starter/page/src/lib/database-runtime.test.ts +2 -2
- package/templates/database-starter/page/src/lib/database-runtime.ts +77 -13
- package/templates/database-starter/server-functions/scripts/run-tsc.mjs +3 -2
- package/templates/database-starter-v2/README.md +25 -0
- package/templates/database-starter-v2/base-app.config.ts +10 -0
- package/templates/database-starter-v2/database-functions/README.md +1 -0
- package/templates/database-starter-v2/gitignore +6 -0
- package/templates/database-starter-v2/mutations/README.md +1 -0
- package/templates/database-starter-v2/package-lock.json +2239 -0
- package/templates/database-starter-v2/package.json +18 -0
- package/templates/database-starter-v2/page/index.html +2 -0
- package/templates/database-starter-v2/page/package.json +25 -0
- package/templates/database-starter-v2/page/src/App.tsx +12 -0
- package/templates/database-starter-v2/page/src/generated/README.md +1 -0
- package/templates/database-starter-v2/page/src/index.css +1 -0
- package/templates/database-starter-v2/page/src/lib/date-time.ts +61 -0
- package/templates/database-starter-v2/page/src/main.tsx +6 -0
- package/templates/database-starter-v2/page/tsconfig.json +19 -0
- package/templates/database-starter-v2/page/vite.config.ts +3 -0
- package/templates/database-starter-v2/prettierignore +3 -0
- package/templates/database-starter-v2/server/functions/README.md +1 -0
- package/templates/database-starter-v2/server/functions/hello/contract.ts +5 -0
- package/templates/database-starter-v2/server/functions/hello/index.ts +7 -0
- package/templates/database-starter-v2/server/functions/hello/meta.json +1 -0
- package/templates/database-starter-v2/server/generated/runtime-profile.ts +5 -0
- package/templates/database-starter-v2/server/package.json +17 -0
- 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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"}
|
package/dist/project-layout.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/project-layout.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
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;
|
|
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
|
|
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,
|
|
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"}
|
package/dist/public-sql-error.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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;
|
package/dist/pull.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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',
|
|
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(
|
|
312
|
+
await cp(join(sourceRoot, 'README.md'), readme);
|
|
278
313
|
}
|
|
279
|
-
await cp(join(
|
|
280
|
-
await cp(join(
|
|
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);
|