@cargo-ai/cdk 1.0.10 → 1.0.11
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/build/src/cli/commands/inputTypes.d.ts +7 -0
- package/build/src/cli/commands/inputTypes.d.ts.map +1 -1
- package/build/src/cli/commands/inputTypes.js +23 -0
- package/build/src/cli/commands/types.d.ts.map +1 -1
- package/build/src/cli/commands/types.js +43 -2
- package/build/src/index.d.ts +1 -1
- package/build/src/index.d.ts.map +1 -1
- package/build/src/resources/model.d.ts +11 -4
- package/build/src/resources/model.d.ts.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -23,6 +23,13 @@ export declare function printJsonSchemaType(schema: unknown): string;
|
|
|
23
23
|
* would not.
|
|
24
24
|
*/
|
|
25
25
|
export declare function printJsonSchemaOutput(schema: unknown): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* The top-level property names of an object JSON Schema — e.g. the column
|
|
28
|
+
* slugs an extractor's `columns.schema` declares. `allOf`/`anyOf`/`oneOf`
|
|
29
|
+
* members contribute the union of their keys; anything that isn't
|
|
30
|
+
* object-shaped contributes none.
|
|
31
|
+
*/
|
|
32
|
+
export declare function jsonSchemaPropertyKeys(schema: unknown): string[];
|
|
26
33
|
/**
|
|
27
34
|
* Print a tool release's `formFields` as a TS input type. Returns
|
|
28
35
|
* `undefined` when the fields can't be interpreted (caller falls back to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputTypes.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/inputTypes.ts"],"names":[],"mappings":"AAqCA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAE+D,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAM5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQzE;
|
|
1
|
+
{"version":3,"file":"inputTypes.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/inputTypes.ts"],"names":[],"mappings":"AAqCA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAE+D,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAM5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQzE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAGhE;AAgVD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAU5E"}
|
|
@@ -65,6 +65,29 @@ export function printJsonSchemaOutput(schema) {
|
|
|
65
65
|
? undefined
|
|
66
66
|
: printed;
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* The top-level property names of an object JSON Schema — e.g. the column
|
|
70
|
+
* slugs an extractor's `columns.schema` declares. `allOf`/`anyOf`/`oneOf`
|
|
71
|
+
* members contribute the union of their keys; anything that isn't
|
|
72
|
+
* object-shaped contributes none.
|
|
73
|
+
*/
|
|
74
|
+
export function jsonSchemaPropertyKeys(schema) {
|
|
75
|
+
if (schema === null || typeof schema !== "object")
|
|
76
|
+
return [];
|
|
77
|
+
return [...collectPropertyKeys(schema)];
|
|
78
|
+
}
|
|
79
|
+
function collectPropertyKeys(schema) {
|
|
80
|
+
const keys = new Set(schema.properties === undefined ? [] : Object.keys(schema.properties));
|
|
81
|
+
for (const members of [schema.allOf, schema.anyOf, schema.oneOf]) {
|
|
82
|
+
if (members === undefined)
|
|
83
|
+
continue;
|
|
84
|
+
for (const member of members) {
|
|
85
|
+
for (const key of collectPropertyKeys(member))
|
|
86
|
+
keys.add(key);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return keys;
|
|
90
|
+
}
|
|
68
91
|
// The platform's shared `encryption` schema definition: an object with a `type`
|
|
69
92
|
// const/enum of "encryption" plus `isEncrypted` and `value`. In CDK config types
|
|
70
93
|
// these positions become `EncryptionRef` (see printObject).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoJzC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,IAAI,CAoE7E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { handleApiCall, info, success } from "../io.js";
|
|
4
|
-
import { printJsonSchemaInput, printJsonSchemaOutput, printJsonSchemaType, } from "./inputTypes.js";
|
|
4
|
+
import { jsonSchemaPropertyKeys, printJsonSchemaInput, printJsonSchemaOutput, printJsonSchemaType, } from "./inputTypes.js";
|
|
5
5
|
// Composite natives surfaced via dedicated SDK syntax / scope helpers —
|
|
6
6
|
// excluded so we don't double-register them. Mirrors the codegen exclusion
|
|
7
7
|
// list in `packages/workflow-sdk/scripts/generateNativeIntegration.ts`
|
|
@@ -69,7 +69,7 @@ export function registerTypesCommand(parent, getApi) {
|
|
|
69
69
|
].join("\n"));
|
|
70
70
|
info(``);
|
|
71
71
|
const extractorCount = payload.extractorConfigs.reduce((n, e) => n + e.extractors.length, 0);
|
|
72
|
-
info(`Typed ${String(payload.connectorConfigs.length)} connector config(s), ${String(extractorCount)} extractor config(s), ${String(payload.agentTriggerConfigs.length)} agent trigger config(s), ${String(payload.modelColumns.length)} model column set(s), ${String(payload.integrations.length)} integration(s), ${String(payload.native.length)} native action(s).`);
|
|
72
|
+
info(`Typed ${String(payload.connectorConfigs.length)} connector config(s), ${String(extractorCount)} extractor config(s), ${String(payload.agentTriggerConfigs.length)} agent trigger config(s), ${String(payload.modelColumns.length)} model column set(s), ${String(payload.extractorColumns.reduce((n, e) => n + e.extractors.length, 0))} extractor column set(s), ${String(payload.integrations.length)} integration(s), ${String(payload.native.length)} native action(s).`);
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
async function fetchWorkspaceSurface(api) {
|
|
@@ -82,6 +82,7 @@ async function fetchWorkspaceSurface(api) {
|
|
|
82
82
|
const connectorConfigs = collectConnectorConfigs(rawIntegrations);
|
|
83
83
|
const extractorConfigs = collectExtractorConfigs(rawIntegrations);
|
|
84
84
|
const extractorSlugs = collectExtractorSlugs(rawIntegrations);
|
|
85
|
+
const extractorColumns = collectExtractorColumns(rawIntegrations);
|
|
85
86
|
const agentTriggerConfigs = collectAgentTriggerConfigs(rawIntegrations);
|
|
86
87
|
const modelColumns = collectModelColumns(modelsResult.models);
|
|
87
88
|
return {
|
|
@@ -90,6 +91,7 @@ async function fetchWorkspaceSurface(api) {
|
|
|
90
91
|
connectorConfigs,
|
|
91
92
|
extractorConfigs,
|
|
92
93
|
extractorSlugs,
|
|
94
|
+
extractorColumns,
|
|
93
95
|
agentTriggerConfigs,
|
|
94
96
|
modelColumns,
|
|
95
97
|
};
|
|
@@ -180,6 +182,33 @@ function collectExtractorSlugs(integrations) {
|
|
|
180
182
|
out.sort((a, b) => a.integrationSlug.localeCompare(b.integrationSlug));
|
|
181
183
|
return out;
|
|
182
184
|
}
|
|
185
|
+
// integrationSlug → the column slugs each of its extractors statically
|
|
186
|
+
// declares (`extractor.columns.schema`, one property per column). Skips
|
|
187
|
+
// extractors without a declared schema — most compute their columns from the
|
|
188
|
+
// fetched records — and integrations left with none.
|
|
189
|
+
function collectExtractorColumns(integrations) {
|
|
190
|
+
return integrations
|
|
191
|
+
.map((integration) => ({
|
|
192
|
+
integrationSlug: integration.slug,
|
|
193
|
+
extractors: collectDeclaredColumns(integration),
|
|
194
|
+
}))
|
|
195
|
+
.filter((entry) => entry.extractors.length > 0)
|
|
196
|
+
.sort((a, b) => a.integrationSlug.localeCompare(b.integrationSlug));
|
|
197
|
+
}
|
|
198
|
+
// One `{ slug, columns }` entry per extractor that declares a non-empty
|
|
199
|
+
// `columns.schema`, extractors and columns both sorted.
|
|
200
|
+
function collectDeclaredColumns(integration) {
|
|
201
|
+
const { extractors = {} } = integration;
|
|
202
|
+
return Object.entries(extractors)
|
|
203
|
+
.map(([slug, { columns }]) => ({
|
|
204
|
+
slug,
|
|
205
|
+
columns: columns === undefined
|
|
206
|
+
? []
|
|
207
|
+
: jsonSchemaPropertyKeys(columns.schema).sort((a, b) => a.localeCompare(b)),
|
|
208
|
+
}))
|
|
209
|
+
.filter((extractor) => extractor.columns.length > 0)
|
|
210
|
+
.sort((a, b) => a.slug.localeCompare(b.slug));
|
|
211
|
+
}
|
|
183
212
|
// modelSlug → every column slug it exposes. Additional columns are addressed
|
|
184
213
|
// with their kind as a storage prefix (`computed__score`, `custom__notes`, …) —
|
|
185
214
|
// the same slugs `/storage/columns/list` returns — while original columns stay
|
|
@@ -298,6 +327,18 @@ function renderTypes(payload) {
|
|
|
298
327
|
}
|
|
299
328
|
cdkLines.push(` }`);
|
|
300
329
|
}
|
|
330
|
+
if (payload.extractorColumns.length > 0) {
|
|
331
|
+
cdkLines.push(` interface ExtractorColumns {`);
|
|
332
|
+
for (const e of payload.extractorColumns) {
|
|
333
|
+
cdkLines.push(` ${jsonKey(e.integrationSlug)}: {`);
|
|
334
|
+
for (const x of e.extractors) {
|
|
335
|
+
const union = x.columns.map((c) => JSON.stringify(c)).join(" | ");
|
|
336
|
+
cdkLines.push(` ${jsonKey(x.slug)}: ${union};`);
|
|
337
|
+
}
|
|
338
|
+
cdkLines.push(` };`);
|
|
339
|
+
}
|
|
340
|
+
cdkLines.push(` }`);
|
|
341
|
+
}
|
|
301
342
|
if (payload.modelColumns.length > 0) {
|
|
302
343
|
cdkLines.push(` interface ModelColumns {`);
|
|
303
344
|
for (const m of payload.modelColumns) {
|
package/build/src/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type { FolderHandle, FolderKind, FolderSpec, } from "./resources/folder.j
|
|
|
16
16
|
export { defineFolder } from "./resources/folder.js";
|
|
17
17
|
export type { McpServerHandle, McpServerSpec } from "./resources/mcpServer.js";
|
|
18
18
|
export { defineMcpServer } from "./resources/mcpServer.js";
|
|
19
|
-
export type { ExtractorConfigs, ExtractorSlugs, ModelColumns, ModelHandle, ModelSpec, UnificationColumnSpec, UnificationParentSpec, UnificationSpec, } from "./resources/model.js";
|
|
19
|
+
export type { ExtractorColumns, ExtractorConfigs, ExtractorSlugs, ModelColumns, ModelHandle, ModelSpec, UnificationColumnSpec, UnificationParentSpec, UnificationSpec, } from "./resources/model.js";
|
|
20
20
|
export { defineModel } from "./resources/model.js";
|
|
21
21
|
export type { PlayHandle, PlaySpec } from "./resources/play.js";
|
|
22
22
|
export { definePlay } from "./resources/play.js";
|
package/build/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,11 +45,18 @@ export interface ExtractorSlugs {
|
|
|
45
45
|
type ExtractorSlugFor<S extends string> = S extends keyof ExtractorSlugs ? ExtractorSlugs[S] & string : string;
|
|
46
46
|
export interface ModelColumns {
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
export interface ExtractorColumns {
|
|
49
|
+
}
|
|
50
|
+
type ExtractorColumnsFor<S extends string, E extends string> = S extends keyof ExtractorColumns ? E extends keyof ExtractorColumns[S] ? ExtractorColumns[S][E] & string : never : never;
|
|
51
|
+
type ModelColumnsAccessor<Slug extends string, S extends string, E extends string> = Slug extends keyof ModelColumns ? {
|
|
49
52
|
readonly [C in ModelColumns[Slug] & string]: C;
|
|
50
53
|
} & {
|
|
51
54
|
readonly [columnSlug: string]: string;
|
|
55
|
+
} : [ExtractorColumnsFor<S, E>] extends [never] ? {
|
|
56
|
+
readonly [columnSlug: string]: string;
|
|
52
57
|
} : {
|
|
58
|
+
readonly [C in ExtractorColumnsFor<S, E>]: C;
|
|
59
|
+
} & {
|
|
53
60
|
readonly [columnSlug: string]: string;
|
|
54
61
|
};
|
|
55
62
|
type LiteralUnion<T extends string> = T | (string & {});
|
|
@@ -76,14 +83,14 @@ export type ModelSpec<S extends string = string, E extends LiteralUnion<Extracto
|
|
|
76
83
|
*/
|
|
77
84
|
unification?: UnificationSpec;
|
|
78
85
|
};
|
|
79
|
-
export type ModelHandle<Slug extends string = string> = {
|
|
86
|
+
export type ModelHandle<Slug extends string = string, S extends string = string, E extends string = string> = {
|
|
80
87
|
readonly slug: string;
|
|
81
88
|
readonly uuid: Token;
|
|
82
89
|
readonly resource: "model";
|
|
83
90
|
/** This model's columns — `model.columns.<columnSlug>` yields the slug
|
|
84
91
|
* string, for relationships, unification, and segment column lists. */
|
|
85
|
-
readonly columns: ModelColumnsAccessor<Slug>;
|
|
92
|
+
readonly columns: ModelColumnsAccessor<Slug, S, E>;
|
|
86
93
|
};
|
|
87
|
-
export declare function defineModel<Slug extends string, S extends string, E extends LiteralUnion<ExtractorSlugFor<S>>>(slug: Slug, spec: ModelSpec<S, E>): ModelHandle<Slug>;
|
|
94
|
+
export declare function defineModel<Slug extends string, S extends string, E extends LiteralUnion<ExtractorSlugFor<S>>>(slug: Slug, spec: ModelSpec<S, E>): ModelHandle<Slug, S, E & string>;
|
|
88
95
|
export {};
|
|
89
96
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/resources/model.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAwB,KAAK,KAAK,EAAS,MAAM,YAAY,CAAC;AACrE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,QAAQ,EAEd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAKnC,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAOjE,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC,oBAAoB,CAAC;IACxC,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC;CACnC,CAAC;AAUN,MAAM,WAAW,gBAAgB;CAAG;AAEpC,KAAK,kBAAkB,CACrB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,IACd,CAAC,SAAS,MAAM,gBAAgB,GAChC,CAAC,SAAS,MAAM,gBAAgB,CAAC,CAAC,CAAC,GACjC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAS5B,MAAM,WAAW,cAAc;CAAG;AAElC,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,cAAc,GACpE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAC1B,MAAM,CAAC;AAUX,MAAM,WAAW,YAAY;CAAG;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/resources/model.ts"],"names":[],"mappings":"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"}
|