@lark-base-open/base-database-cli 1.4.6 → 1.4.9
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 +57 -0
- package/README.md +18 -28
- package/dist/ai-functions.d.ts +7 -13
- package/dist/ai-functions.d.ts.map +1 -1
- package/dist/ai-functions.js +253 -105
- package/dist/ai-functions.js.map +1 -1
- package/dist/archive.d.ts +5 -4
- package/dist/archive.d.ts.map +1 -1
- package/dist/archive.js +39 -42
- package/dist/archive.js.map +1 -1
- package/dist/auth.d.ts +10 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +23 -1
- package/dist/auth.js.map +1 -1
- package/dist/check.d.ts +23 -7
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +149 -20
- package/dist/check.js.map +1 -1
- package/dist/contract-conversion.d.ts +39 -0
- package/dist/contract-conversion.d.ts.map +1 -0
- package/dist/contract-conversion.js +92 -0
- package/dist/contract-conversion.js.map +1 -0
- package/dist/contract-extractor.d.ts +2 -5
- package/dist/contract-extractor.d.ts.map +1 -1
- package/dist/contract-extractor.js +68 -80
- package/dist/contract-extractor.js.map +1 -1
- package/dist/dependency-policy.d.ts +2 -0
- package/dist/dependency-policy.d.ts.map +1 -1
- package/dist/dependency-policy.js +42 -22
- package/dist/dependency-policy.js.map +1 -1
- package/dist/deploy.d.ts +1 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +147 -118
- package/dist/deploy.js.map +1 -1
- package/dist/dev-watch.d.ts.map +1 -1
- package/dist/dev-watch.js +5 -1
- package/dist/dev-watch.js.map +1 -1
- package/dist/draft-publication.d.ts +9 -0
- package/dist/draft-publication.d.ts.map +1 -0
- package/dist/draft-publication.js +36 -0
- package/dist/draft-publication.js.map +1 -0
- package/dist/draft-state.d.ts +48 -0
- package/dist/draft-state.d.ts.map +1 -0
- package/dist/draft-state.js +167 -0
- package/dist/draft-state.js.map +1 -0
- package/dist/draft-submit.d.ts +39 -0
- package/dist/draft-submit.d.ts.map +1 -0
- package/dist/draft-submit.js +101 -0
- package/dist/draft-submit.js.map +1 -0
- package/dist/function-contracts.d.ts.map +1 -1
- package/dist/function-contracts.js +5 -5
- package/dist/function-contracts.js.map +1 -1
- package/dist/function-input-types.d.ts.map +1 -1
- package/dist/function-input-types.js +1 -15
- package/dist/function-input-types.js.map +1 -1
- package/dist/function-write-request.d.ts +17 -0
- package/dist/function-write-request.d.ts.map +1 -0
- package/dist/function-write-request.js +39 -0
- package/dist/function-write-request.js.map +1 -0
- package/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +32 -5
- package/dist/init.js.map +1 -1
- package/dist/lark-cli-error.d.ts +3 -0
- package/dist/lark-cli-error.d.ts.map +1 -1
- package/dist/lark-cli-error.js +60 -0
- package/dist/lark-cli-error.js.map +1 -1
- package/dist/lark-cli.d.ts.map +1 -1
- package/dist/lark-cli.js +5 -5
- package/dist/lark-cli.js.map +1 -1
- package/dist/link-guard-check.d.ts +1 -1
- package/dist/link-guard-check.d.ts.map +1 -1
- package/dist/link-guard-check.js.map +1 -1
- package/dist/managed-agent-docs.js +1 -1
- package/dist/managed-agent-docs.js.map +1 -1
- package/dist/npm.d.ts +13 -0
- package/dist/npm.d.ts.map +1 -1
- package/dist/npm.js +99 -0
- package/dist/npm.js.map +1 -1
- package/dist/preview-receipt.d.ts +7 -2
- package/dist/preview-receipt.d.ts.map +1 -1
- package/dist/preview-receipt.js +21 -1
- package/dist/preview-receipt.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +59 -33
- package/dist/program.js.map +1 -1
- package/dist/project-context.d.ts.map +1 -1
- package/dist/project-context.js +7 -14
- package/dist/project-context.js.map +1 -1
- package/dist/pull.d.ts +21 -1
- package/dist/pull.d.ts.map +1 -1
- package/dist/pull.js +67 -10
- package/dist/pull.js.map +1 -1
- package/dist/sdk-compatibility.d.ts +23 -0
- package/dist/sdk-compatibility.d.ts.map +1 -0
- package/dist/sdk-compatibility.js +75 -0
- package/dist/sdk-compatibility.js.map +1 -0
- package/dist/sdk-install.d.ts +2 -1
- package/dist/sdk-install.d.ts.map +1 -1
- package/dist/sdk-install.js +8 -5
- package/dist/sdk-install.js.map +1 -1
- package/dist/source-alignment.d.ts +3 -0
- package/dist/source-alignment.d.ts.map +1 -0
- package/dist/source-alignment.js +124 -0
- package/dist/source-alignment.js.map +1 -0
- package/dist/source-archive-inputs.d.ts +10 -0
- package/dist/source-archive-inputs.d.ts.map +1 -0
- package/dist/source-archive-inputs.js +85 -0
- package/dist/source-archive-inputs.js.map +1 -0
- package/dist/source-format.d.ts +3 -0
- package/dist/source-format.d.ts.map +1 -1
- package/dist/source-format.js +6 -0
- package/dist/source-format.js.map +1 -1
- package/dist/unified-functions.d.ts +10 -1
- package/dist/unified-functions.d.ts.map +1 -1
- package/dist/unified-functions.js +27 -7
- package/dist/unified-functions.js.map +1 -1
- package/package.json +1 -1
- package/skills/lark-base-database/SKILL.md +6 -6
- package/skills/lark-base-database/references/agent-tool-design.md +1 -1
- package/skills/lark-base-database/references/agent-tools.md +4 -6
- package/skills/lark-base-database/references/ai-function.md +143 -277
- package/skills/lark-base-database/references/base-capability-routing.md +2 -2
- package/skills/lark-base-database/references/database-function.md +7 -3
- package/skills/lark-base-database/references/development.md +29 -11
- package/skills/lark-base-database/references/faas.md +1 -2
- package/skills/lark-base-database/references/legacy-ai-function.md +3 -3
- package/skills/lark-base-database/references/legacy-development.md +2 -2
- package/skills/lark-base-database/references/mutations.md +14 -9
- package/skills/lark-base-database/references/release.md +18 -7
- package/skills/lark-base-database/references/verification.md +12 -21
- package/skills/lark-base-database/references/workspace-migration.md +5 -14
- package/skills/lark-base-database/references/workspace.md +19 -3
- package/templates/database-starter/page/README.md +1 -1
- package/templates/database-starter-v2/README.md +2 -2
- package/templates/database-starter-v2/package-lock.json +5 -5
- package/templates/database-starter-v2/page/package.json +1 -1
- package/templates/database-starter-v2/server/package.json +1 -1
package/dist/source-format.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare const SOURCE_FORMAT = 1;
|
|
2
|
+
export declare const MAX_SOURCE_ARCHIVE_MIB = 50;
|
|
3
|
+
export declare const MAX_SOURCE_ARCHIVE_BYTES: number;
|
|
4
|
+
export declare function compressedSourceArchiveSizeError(size: number): string;
|
|
2
5
|
interface SourceFormat {
|
|
3
6
|
format: number;
|
|
4
7
|
minCli: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-format.d.ts","sourceRoot":"","sources":["../src/source-format.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"source-format.d.ts","sourceRoot":"","sources":["../src/source-format.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,wBAAwB,QAAuC,CAAC;AAG7E,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAe7C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAgC1E"}
|
package/dist/source-format.js
CHANGED
|
@@ -2,7 +2,13 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { packageRoot } from './assets.js';
|
|
4
4
|
export const SOURCE_FORMAT = 1;
|
|
5
|
+
// Keep publishing and restoring aligned with UploadArtifact on the server.
|
|
6
|
+
export const MAX_SOURCE_ARCHIVE_MIB = 50;
|
|
7
|
+
export const MAX_SOURCE_ARCHIVE_BYTES = MAX_SOURCE_ARCHIVE_MIB * 1024 * 1024;
|
|
5
8
|
const MIN_SOURCE_CLI = '1.4.1';
|
|
9
|
+
export function compressedSourceArchiveSizeError(size) {
|
|
10
|
+
return `Compressed source archive is ${size} bytes, exceeds ${MAX_SOURCE_ARCHIVE_MIB} MiB (${MAX_SOURCE_ARCHIVE_BYTES} bytes)`;
|
|
11
|
+
}
|
|
6
12
|
export function sourceArchiveComment() {
|
|
7
13
|
// 内部分发的共享源码位于 dist/src,包版本在 dist 的上一级。
|
|
8
14
|
const root = existsSync(join(packageRoot, 'package.json'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-format.js","sourceRoot":"","sources":["../src/source-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,cAAc,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"source-format.js","sourceRoot":"","sources":["../src/source-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7E,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,OAAO,gCAAgC,IAAI,mBAAmB,sBAAsB,SAAS,wBAAwB,SAAS,CAAC;AACjI,CAAC;AAQD,MAAM,UAAU,oBAAoB;IAClC,uCAAuC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACjD,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,kBAAkB,EAAE;YAClB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,cAAc;YACtB,GAAG,EAAE,OAAO;SACb;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,EAAE,kBAAkB,CAAC;QACzC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM,KAAK,SAAS;YAEpB,OAAO,SAAS,CAAC;QACnB,IACE,CAAC,MAAM;YACP,OAAO,MAAM,KAAK,QAAQ;YAC1B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACrB,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YACjC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACrB,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC9B,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;YAElB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;QAC5B,OAAO,CAAC,IAAI,CACV,iGAAiG,CAClG,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -6,11 +6,20 @@ export interface FunctionWrite {
|
|
|
6
6
|
functionType: FunctionKind;
|
|
7
7
|
spec: string;
|
|
8
8
|
}
|
|
9
|
+
export interface PutFunctionsOptions {
|
|
10
|
+
token: string;
|
|
11
|
+
kinds: FunctionKind[];
|
|
12
|
+
functions: FunctionWrite[];
|
|
13
|
+
env: NodeJS.ProcessEnv;
|
|
14
|
+
cwd?: string;
|
|
15
|
+
}
|
|
16
|
+
export type ValidateFunctionsOptions = PutFunctionsOptions;
|
|
9
17
|
export declare function functionEnv(value?: string): 'preview' | 'prod';
|
|
10
18
|
export declare function assertFunctionResults(data: Record<string, unknown>, expectedIds: readonly string[]): string[];
|
|
11
|
-
export declare function putFunctions(
|
|
19
|
+
export declare function putFunctions(options: PutFunctionsOptions): Record<string, unknown> & {
|
|
12
20
|
deletedFunctionIds: string[];
|
|
13
21
|
};
|
|
22
|
+
export declare function validateFunctions(options: ValidateFunctionsOptions): Record<string, unknown>;
|
|
14
23
|
export interface FunctionPageState {
|
|
15
24
|
pages: number;
|
|
16
25
|
snapshot?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-functions.d.ts","sourceRoot":"","sources":["../src/unified-functions.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAC9D,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAkB,GAAG,SAAS,GAAG,MAAM,CAIzE;AACD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"unified-functions.d.ts","sourceRoot":"","sources":["../src/unified-functions.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAC9D,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AACD,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAC3D,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAkB,GAAG,SAAS,GAAG,MAAM,CAIzE;AACD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,MAAM,EAAE,CA6BV;AACD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,CAsB5D;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AACD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,iBAAiB,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,SAAsB,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA0C3B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,SAAsB,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAoC3B;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB"}
|
|
@@ -17,14 +17,15 @@ export function assertFunctionResults(data, expectedIds) {
|
|
|
17
17
|
const seen = new Set();
|
|
18
18
|
const deletedFunctionIds = [];
|
|
19
19
|
for (const item of data.results) {
|
|
20
|
+
const requested = expected.has(item?.functionId);
|
|
20
21
|
if (!item ||
|
|
21
22
|
typeof item.functionId !== 'string' ||
|
|
22
23
|
!Number.isSafeInteger(item.code) ||
|
|
23
24
|
seen.has(item.functionId) ||
|
|
24
|
-
(
|
|
25
|
+
(requested ? item.action === 'delete' : item.action !== 'delete'))
|
|
25
26
|
return unknown();
|
|
26
27
|
seen.add(item.functionId);
|
|
27
|
-
if (
|
|
28
|
+
if (!requested)
|
|
28
29
|
deletedFunctionIds.push(item.functionId);
|
|
29
30
|
}
|
|
30
31
|
if (expectedIds.some((id) => !seen.has(id)))
|
|
@@ -34,17 +35,36 @@ export function assertFunctionResults(data, expectedIds) {
|
|
|
34
35
|
throw new Error(`Function batch failed: ${JSON.stringify(failures)}`);
|
|
35
36
|
return deletedFunctionIds;
|
|
36
37
|
}
|
|
37
|
-
export function putFunctions(
|
|
38
|
+
export function putFunctions(options) {
|
|
38
39
|
const data = responseData(runLarkCli([
|
|
39
40
|
'api',
|
|
40
41
|
'PUT',
|
|
41
|
-
`/open-apis/base/v3/sites/${encodeURIComponent(token)}/functions`,
|
|
42
|
+
`/open-apis/base/v3/sites/${encodeURIComponent(options.token)}/functions`,
|
|
42
43
|
'--data',
|
|
43
|
-
JSON.stringify({
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
JSON.stringify({
|
|
45
|
+
kinds: options.kinds,
|
|
46
|
+
functions: options.functions,
|
|
47
|
+
}),
|
|
48
|
+
], options.env, options.cwd));
|
|
49
|
+
const deletedFunctionIds = assertFunctionResults(data, options.functions.map((item) => item.functionId));
|
|
46
50
|
return { ...data, deletedFunctionIds };
|
|
47
51
|
}
|
|
52
|
+
export function validateFunctions(options) {
|
|
53
|
+
const data = responseData(runLarkCli([
|
|
54
|
+
'api',
|
|
55
|
+
'POST',
|
|
56
|
+
`/open-apis/base/v3/sites/${encodeURIComponent(options.token)}/functions/validate`,
|
|
57
|
+
'--data',
|
|
58
|
+
JSON.stringify({
|
|
59
|
+
kinds: options.kinds,
|
|
60
|
+
functions: options.functions,
|
|
61
|
+
}),
|
|
62
|
+
], options.env, options.cwd));
|
|
63
|
+
assertFunctionResults(data, options.functions.map((item) => item.functionId));
|
|
64
|
+
if (data.valid !== true)
|
|
65
|
+
throw new Error('Function validation failed without item diagnostics');
|
|
66
|
+
return data;
|
|
67
|
+
}
|
|
48
68
|
export function functionPage(data, state, logId, cli = 'base-database-cli') {
|
|
49
69
|
if (data.apiVersion !== 2)
|
|
50
70
|
throw new LarkCliError({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-functions.js","sourceRoot":"","sources":["../src/unified-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"unified-functions.js","sourceRoot":"","sources":["../src/unified-functions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
|
|
12
12
|
本 Skill 面向开发者 Agent,用于搭建、修改和发布应用;`skill install` 安装这份随 CLI 分发的开发者 Skill。让外部 Agent 使用某个已发布站点的业务功能时,使用 `agent-tools skill install` 安装该站点的 Skill,见[外部 Agent 工具策略](references/agent-tools.md#安装到本地-agent)。
|
|
13
13
|
|
|
14
|
-
新建 init 仅生成 workspace
|
|
14
|
+
新建 init 仅生成 workspace,并用空 `ai/` 根记录“已知没有 AI Function”的声明集;需求不涉及 AI 时不向其中添加 Function。存量 classic 的 SDK 接入和工程迁移按[工程与环境](references/workspace.md)与[Page 开发](references/development.md)执行。工程迁移按[迁移指南](references/workspace-migration.md)由 coding agent 执行;`dev` 仅在用户选择时使用。
|
|
15
15
|
|
|
16
16
|
账号选择遵守[工程与环境的 profile 约定](references/workspace.md#账号选择);直接调用原生 lark-cli 时也使用同一个 profile。
|
|
17
17
|
`lark-cli` 的账号管理和文档命令按环境提供,不是所有宿主的必备能力;首次选择入口及缺少命令时按[环境与依赖](references/workspace.md#环境与依赖)处理。
|
|
@@ -37,7 +37,7 @@ metadata:
|
|
|
37
37
|
|
|
38
38
|
## 开发阶段路由
|
|
39
39
|
|
|
40
|
-
新增或修改 Database Function、Mutation、FaaS 时,先按[面向 Agent 的函数与参数设计](references/agent-tool-design.md)写函数说明和参数声明(`name`、`description`、可选 `enum`),使[外部 Agent](#术语) 能选对函数并填对参数;按[外部 Agent 工具策略](references/agent-tools.md)确定需要排除的内部函数。
|
|
40
|
+
新增或修改 Database Function、Mutation、FaaS、AI Function 时,先按[面向 Agent 的函数与参数设计](references/agent-tool-design.md)写函数说明和参数声明(`name`、`description`、可选 `enum`),使[外部 Agent](#术语) 能选对函数并填对参数;按[外部 Agent 工具策略](references/agent-tools.md)确定需要排除的内部函数。
|
|
41
41
|
|
|
42
42
|
| 需要完成的工作 | 必读协议 |
|
|
43
43
|
| ----------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
@@ -63,7 +63,7 @@ metadata:
|
|
|
63
63
|
|
|
64
64
|
新建或整体改版先在内部规划中确定视觉方案,再实现设计变量和组件。业务建模与通用工程取舍按[工程质量](references/style-guide.md)执行;默认不创建额外设计文件。新建站点或修改业务能力时,按[站点 README](references/release.md#站点-readme)维护随源码制品上传的项目说明;用户要求其他文档时按要求交付。
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
恢复远端工程统一按[工程与环境](references/workspace.md#先选择工程来源)执行 `pull`;各类 Function 的发布与失败恢复统一见[发布参考](references/release.md#function-发布顺序与错误边界)。
|
|
67
67
|
|
|
68
68
|
## 关键约束
|
|
69
69
|
|
|
@@ -71,9 +71,9 @@ metadata:
|
|
|
71
71
|
2. Base 是业务数据事实源,`catalog.json` 是已绑定表的 schema 事实源。表、字段、ID、类型、选项和关系来自真实结果,不由名称或建模输入猜测。
|
|
72
72
|
3. **权限边界**:应用以 owner 身份访问 Base。访问者通过已发布 Function 使用业务能力;浏览器直接记录 CRUD 已关闭,固定写入由 Mutation 声明约束。FaaS 通过[固定记录写入路由](references/faas.md#应用记录写入协议)写入,不受 Mutation 声明约束,须在 FaaS 内校验输入与调用者身份。读取身份通过 Database Function 中的 `CURRENT_USER_ID()` 获取,Mutation 使用服务端 `current_user`。自定义角色和统一行列权限尚未接入。绑定与权限设计必须遵守[权限边界](references/permission-design.md)。
|
|
73
73
|
4. Page 读取走 Database Function;普通单表创建、按记录 ID 更新和删除(含批量及附件写入)优先使用 Mutation;需要声明之外的服务端业务校验、计算或编排时使用 FaaS,边界见[写入方式选择](references/mutations.md#写入方式选择)。Database Function 必须引用至少一个已绑定 Catalog 真实表;纯常量与无表依赖计算按[SQL 外实现放在哪](references/database-function-limitations.md#sql-外实现放在哪)选择位置。SQL 无法表达的计算,不得把查看者无权看到的明细发给 Page 处理,拿不准时放 FaaS。输入只能进入声明的业务参数,不能决定查询语句、URL、method、Base token、table ID、字段名、Function ID 或凭证。
|
|
74
|
-
5. Database Function、Mutation 与
|
|
75
|
-
6. AI 对话、生成、分类、总结、文生图或文生视频,使用 Page 侧 AI Function,不建 FaaS 模型代理、不直连模型域名。AI 是按需能力:需求不涉及时不创建 `
|
|
76
|
-
7. 修改保留需求外源码、Base schema、metadata、bindings 和 Function
|
|
74
|
+
5. Database Function、Mutation、FaaS 与 AI Function 的参数、返回值不同。Page SDK API 以工程已安装版本的包内 docs 和示例为准;修改已有工程先按[SDK 版本与升级](references/development.md#工程迁移与-sdk-升级)核对 CLI 诊断。AI 按能力判定文本或媒体任务结果。统一调用与输出分层见[Page 开发](references/development.md#function-调用契约),部分成功与重试按 [Mutation 结果](references/mutations.md#调用与结果)、[FaaS 记录协议](references/faas.md#应用记录写入协议)或[AI 调用入口](references/ai-function.md#能力与调用入口)处理。
|
|
75
|
+
6. AI 对话、生成、分类、总结、文生图或文生视频,使用 Page 侧 AI Function,不建 FaaS 模型代理、不直连模型域名。AI 是按需能力:需求不涉及时不创建 AI Function。AI 写入被 feature gate 拒绝时默认发布失败;只有用户明确接受本次不对齐远端 AI Function 后才能使用 `deploy --skip-ai-functions`,不得自动追加参数重试。模型参数、页面调用与失败边界见[AI Function](references/ai-function.md)。
|
|
76
|
+
7. 修改保留需求外源码、Base schema、metadata、bindings 和 Function。各类 Function 都以本地项目声明作为完整事实源;新增、修改和删除先体现在对应本地目录,再由普通 Preview deploy 全量覆盖远端草稿。AI 的 `ai/` 根存在时才表示本地声明集:空根是明确空集合;旧工程缺少整个根时 check/deploy 保留远端 AI 并提示先用公共 `pull` 恢复,不能把缺失根解释成删除授权。
|
|
77
77
|
8. 保留 starter 的 ready 上报及宿主组件接入。附件能力取决于目标环境的父页面、所选写入方式和服务端协议;按[文件传输](references/file-transfer.md)实现,不以模拟成功代替真实能力。
|
|
78
78
|
9. 第三方 npm 依赖必须使用目标应用的服务端依赖策略判断;普通 registry 版本默认可用,受限来源只有被 `allowedValues` 中某条正则完整匹配时可用。详见[第三方依赖策略](references/development.md#第三方依赖策略)。
|
|
79
79
|
10. **交付边界**:常规发布先 Preview。新建 Base 的示例记录必须写入真实 Base,并用页面实际调用的 Database Function 回读;不以静态 fixture、`localStorage` 或页面自动播种代替。之后完成相关通知配置再交付。完整顺序只在[发布与交付](references/release.md)维护。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 面向 Agent 的函数与参数设计
|
|
2
2
|
|
|
3
|
-
写或修改 Database Function、Mutation、FaaS 的函数说明和参数声明前读取本文;`check` 或 `deploy` 返回 `functionHints` 时回到本文自查。执行、权限与返回协议仍以 [Database Function](database-function.md)、[Mutation](mutations.md)、[FaaS](faas.md) 为准。
|
|
3
|
+
写或修改 Database Function、Mutation、FaaS、AI Function 的函数说明和参数声明前读取本文;`check` 或 `deploy` 返回 `functionHints` 时回到本文自查。执行、权限与返回协议仍以 [Database Function](database-function.md)、[Mutation](mutations.md)、[FaaS](faas.md)、[AI Function](ai-function.md) 为准。
|
|
4
4
|
|
|
5
5
|
[外部 Agent](../SKILL.md#术语) 看不到页面源码,只根据函数 `name`、`description` 和服务端按参数声明生成的 `inputSchema`、`parameters[]` 选择函数并填写参数。目标是调用者一次选对函数、一次填对参数。
|
|
6
6
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
|
|
30
30
|
执行 `base-database-cli check` 校验声明,在 `agentTools.tools` 与 `agentTools.exclude` 中核对本地计划。准备跳过 AI 同步时,先执行 `base-database-cli check --skip-ai-functions`,再执行 `base-database-cli deploy --skip-ai-functions`:本地 AI ID 仍合法,但本次本地计划不包含这些 AI 的排除项,也不将其列入本地开放清单;两条命令均提示“AI Function 本次未同步,相关 agent-tools 配置未生效”。本地文件保留原声明,后续正常同步 AI 时排除项重新生效。跳过 AI 不解析其配置内容。
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
未同步 AI 时,deploy 在同份草稿基线上保留远端 AI 的现有排除项;SQL、Mutation、FaaS 仍应用本地策略。跳过的本地 AI 排除项不修改远端 AI 的开放状态。本地计划不代表已发布开放清单。正式版开放能力按[调用站点函数](#调用站点函数)读取实时清单;Prod 提升已确认 Preview,不重新读取本地策略。
|
|
33
33
|
|
|
34
34
|
业务能力说明与安装引导统一按[交付结果](release.md#交付结果)。
|
|
35
35
|
|
|
@@ -37,11 +37,9 @@
|
|
|
37
37
|
|
|
38
38
|
## 发布
|
|
39
39
|
|
|
40
|
-
声明随 `site.zip` 保存,`pull` 恢复,并计入 Preview
|
|
40
|
+
声明随 `site.zip` 保存,`pull` 恢复,并计入 Preview 制品的输入指纹。Preview 将 Function、工具策略、源码及新增绑定一次原子提交;策略校验失败或基线冲突时整次拒绝。修改后须重新发布 Preview,再按原有流程确认 Prod;Prod 不读取本地声明。
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
策略写入与源码上传不是原子操作。中途失败时,草稿策略与远端源码包可能暂不一致;保留本地工程并核对失败阶段,不盲目重试结果未知的写入。此时从旧源码包 `pull` 后直接部署,可能把排除清单恢复为空,应先恢复预期声明再重新部署。
|
|
42
|
+
缺基线、冲突或写入结果未知时,按[远端更新与冲突恢复](workspace.md#远端更新与冲突恢复)处理,不回退逐接口写入。
|
|
45
43
|
|
|
46
44
|
## 调用站点函数
|
|
47
45
|
|
|
@@ -59,7 +57,7 @@
|
|
|
59
57
|
|
|
60
58
|
判定与默认路径:
|
|
61
59
|
|
|
62
|
-
-
|
|
60
|
+
- 调用前读取该函数的最新说明。`requestExample` 是完整请求体模板;复制后按 `replacePaths` 替换占位值,不把示例 ID 当成真实记录,也不删除模板中的其他顶层字段。`inputSchema` 只描述 `requestExample.params`,参数按 `name` 传对象,不按位置传数组;Database Function、Mutation 与 FaaS 通常只需要 `params`,AI text/vision 还需要 `messages`,AI image/video 还需要 `input`。调用 AI Function 时必须保留 `messages` 或 `input`,不能只发送 `{"params":{…}}`。
|
|
63
61
|
- `parameters[]` 中的 `reference` 表示参数是某张表的记录 ID,`valueHint` 是作者写的取值步骤,`optionSummary` 是有界的选项提示而非完整选项集合;取值按作者说明先调用相应只读函数,不从字段名或表名猜测调用顺序。
|
|
64
62
|
- 写入类函数每次调用前重新读取说明;同一身份、站点、环境和版本下紧邻的只读调用可复用刚读到的说明,调用失败或说明变化后重新读取。
|
|
65
63
|
|