@auxx/sdk 0.0.17 → 0.0.18
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/lib/root/data-connectors/index.d.ts +1 -1
- package/lib/root/data-connectors/index.d.ts.map +1 -1
- package/lib/root/data-connectors/types.d.ts +34 -1
- package/lib/root/data-connectors/types.d.ts.map +1 -1
- package/lib/root/fields/define-field.d.ts +1 -0
- package/lib/root/fields/define-field.d.ts.map +1 -1
- package/lib/root/fields/define-field.js +20 -0
- package/lib/root/index.d.ts +1 -1
- package/lib/root/index.d.ts.map +1 -1
- package/lib/root/tools/types.d.ts +1 -0
- package/lib/root/tools/types.d.ts.map +1 -1
- package/lib/util/compile-and-extract-catalog.js +70 -2
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { defineDataConnector } from './define-data-connector.js';
|
|
2
|
-
export type { ConnectorConnection, ConnectorDefaultMapping, ConnectorEntityDecl, ConnectorExecute, ConnectorExecuteArgs, ConnectorFetchResult, ConnectorFieldCapabilities, ConnectorFieldDecl, ConnectorRecord, ConnectorStreamDecl, ConnectorStreamState, DataConnectorDefinition, } from './types.js';
|
|
2
|
+
export type { ConnectorConnection, ConnectorDefaultMapping, ConnectorEntityDecl, ConnectorExecute, ConnectorExecuteArgs, ConnectorFetchResult, ConnectorFieldCapabilities, ConnectorFieldDecl, ConnectorRecord, ConnectorRelationshipDecl, ConnectorRelationshipTargetRef, ConnectorStreamDecl, ConnectorStreamState, DataConnectorDefinition, } from './types.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/data-connectors/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/data-connectors/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { z } from 'zod/v4';
|
|
2
|
-
import type { FieldType } from '../fields/field-types.js';
|
|
2
|
+
import type { FieldSelectOption, FieldType } from '../fields/field-types.js';
|
|
3
|
+
import type { ActionInputHint } from '../tools/types.js';
|
|
3
4
|
export interface ConnectorRecord {
|
|
4
5
|
streamKey: string;
|
|
5
6
|
externalId: string;
|
|
@@ -17,6 +18,9 @@ export interface ConnectorStreamState {
|
|
|
17
18
|
export interface ConnectorFetchResult {
|
|
18
19
|
records: ConnectorRecord[] | AsyncIterable<ConnectorRecord>;
|
|
19
20
|
nextState: ConnectorStreamState;
|
|
21
|
+
rateLimited?: {
|
|
22
|
+
retryAfterMs?: number;
|
|
23
|
+
};
|
|
20
24
|
}
|
|
21
25
|
export interface ConnectorFieldCapabilities {
|
|
22
26
|
hidden?: boolean;
|
|
@@ -28,17 +32,35 @@ export interface ConnectorFieldDecl {
|
|
|
28
32
|
name: string;
|
|
29
33
|
pii?: boolean;
|
|
30
34
|
capabilities?: ConnectorFieldCapabilities;
|
|
35
|
+
options?: FieldSelectOption[];
|
|
36
|
+
addressComponents?: string[];
|
|
37
|
+
isExternalId?: boolean;
|
|
31
38
|
}
|
|
32
39
|
export interface ConnectorEntityDecl {
|
|
40
|
+
key: string;
|
|
33
41
|
apiSlug: string;
|
|
34
42
|
singular: string;
|
|
35
43
|
plural: string;
|
|
36
44
|
primaryDisplayField?: string;
|
|
45
|
+
avatarField?: string;
|
|
46
|
+
}
|
|
47
|
+
export type ConnectorRelationshipTargetRef = {
|
|
48
|
+
ownedKey: string;
|
|
49
|
+
} | {
|
|
50
|
+
entityKind: string;
|
|
51
|
+
};
|
|
52
|
+
export interface ConnectorRelationshipDecl {
|
|
53
|
+
fieldKey: string;
|
|
54
|
+
name: string;
|
|
55
|
+
cardinality: 'has_many' | 'has_one' | 'belongs_to' | 'many_to_many';
|
|
56
|
+
inverseName: string;
|
|
57
|
+
targetRef?: ConnectorRelationshipTargetRef;
|
|
37
58
|
}
|
|
38
59
|
export interface ConnectorDefaultMapping {
|
|
39
60
|
rootPath: string;
|
|
40
61
|
linkMode?: 'upsert' | 'reference';
|
|
41
62
|
relationshipFieldKey?: string;
|
|
63
|
+
relationship?: ConnectorRelationshipDecl;
|
|
42
64
|
target: {
|
|
43
65
|
mode: 'owned';
|
|
44
66
|
entity: ConnectorEntityDecl;
|
|
@@ -46,11 +68,21 @@ export interface ConnectorDefaultMapping {
|
|
|
46
68
|
mode: 'contributing';
|
|
47
69
|
entityKind: string;
|
|
48
70
|
matchFieldKeys?: string[];
|
|
71
|
+
fieldBindings?: {
|
|
72
|
+
sourceFieldKey: string;
|
|
73
|
+
targetKey?: string;
|
|
74
|
+
targetAppField?: string;
|
|
75
|
+
}[];
|
|
76
|
+
connectionAppFields?: {
|
|
77
|
+
appFieldKey: string;
|
|
78
|
+
from: string;
|
|
79
|
+
}[];
|
|
49
80
|
};
|
|
50
81
|
}
|
|
51
82
|
export interface ConnectorStreamDecl {
|
|
52
83
|
key: string;
|
|
53
84
|
displayFieldKey: string;
|
|
85
|
+
syncMode?: 'snapshot' | 'incremental';
|
|
54
86
|
fields: Record<string, ConnectorFieldDecl>;
|
|
55
87
|
defaultMappings?: ConnectorDefaultMapping[];
|
|
56
88
|
exampleRecord?: Record<string, unknown>;
|
|
@@ -73,6 +105,7 @@ export interface DataConnectorDefinition<TConfigSchema extends z.ZodTypeAny = z.
|
|
|
73
105
|
label: string;
|
|
74
106
|
requiresConnection: boolean;
|
|
75
107
|
config: TConfigSchema;
|
|
108
|
+
configOptions?: Record<string, ActionInputHint>;
|
|
76
109
|
streams: ConnectorStreamDecl[];
|
|
77
110
|
iconKey?: string;
|
|
78
111
|
execute: ConnectorExecute<z.output<TConfigSchema>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/root/data-connectors/types.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/root/data-connectors/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ interface BaseAppFieldDefinition {
|
|
|
9
9
|
readonly name: string;
|
|
10
10
|
readonly description?: string;
|
|
11
11
|
readonly capabilities?: FieldCapabilities;
|
|
12
|
+
readonly identity?: boolean;
|
|
12
13
|
}
|
|
13
14
|
interface ScalarAppFieldDefinition extends BaseAppFieldDefinition {
|
|
14
15
|
readonly type: ScalarFieldType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-field.d.ts","sourceRoot":"","sources":["../../../src/root/fields/define-field.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAMnG,KAAK,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,CAAA;AAGhE,KAAK,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAO9F,UAAU,sBAAsB;IAE9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAA;IAEpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAE1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"define-field.d.ts","sourceRoot":"","sources":["../../../src/root/fields/define-field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
const APP_FIELD_KEY_RE = /^[a-zA-Z][a-zA-Z0-9_]{0,63}$/;
|
|
2
|
+
const NON_IDENTITY_FIELD_TYPES = new Set([
|
|
3
|
+
'RELATIONSHIP',
|
|
4
|
+
'CALC',
|
|
5
|
+
'SINGLE_SELECT',
|
|
6
|
+
'MULTI_SELECT',
|
|
7
|
+
'TAGS',
|
|
8
|
+
'FILE',
|
|
9
|
+
'JSON',
|
|
10
|
+
'ACTOR',
|
|
11
|
+
]);
|
|
12
|
+
function assertValidIdentityField(field) {
|
|
13
|
+
if (!field.identity)
|
|
14
|
+
return;
|
|
15
|
+
if (NON_IDENTITY_FIELD_TYPES.has(field.type)) {
|
|
16
|
+
throw new Error(`defineField: "${field.appFieldKey}" cannot be identity: true with type "${field.type}" — ` +
|
|
17
|
+
'identity fields must be a scalar single-value type (TEXT unless another scalar is needed)');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
2
20
|
export function defineField(field) {
|
|
3
21
|
if (!APP_FIELD_KEY_RE.test(field.appFieldKey)) {
|
|
4
22
|
throw new Error(`defineField: invalid appFieldKey "${field.appFieldKey}" — must match ${APP_FIELD_KEY_RE.source}`);
|
|
5
23
|
}
|
|
24
|
+
assertValidIdentityField(field);
|
|
6
25
|
return field;
|
|
7
26
|
}
|
|
8
27
|
export function defineFields(fields) {
|
|
@@ -16,6 +35,7 @@ export function defineFields(fields) {
|
|
|
16
35
|
throw new Error(`defineFields: duplicate appFieldKey "${field.appFieldKey}" on entity "${field.targetEntity}"`);
|
|
17
36
|
}
|
|
18
37
|
seen.add(dedupeKey);
|
|
38
|
+
assertValidIdentityField(field);
|
|
19
39
|
}
|
|
20
40
|
return fields;
|
|
21
41
|
}
|
package/lib/root/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { BulkRecordAction, RecordAction, RecordActionContext, } from '../client/record-actions.js';
|
|
2
2
|
export type { TriggerContext, WorkflowContext, WorkflowInput, WorkflowOutput, } from '../server/workflow/index.js';
|
|
3
3
|
export type { App, AppSettings, Permission } from './app.js';
|
|
4
|
-
export type { ConnectorConnection, ConnectorDefaultMapping, ConnectorEntityDecl, ConnectorExecute, ConnectorExecuteArgs, ConnectorFetchResult, ConnectorFieldCapabilities, ConnectorFieldDecl, ConnectorRecord, ConnectorStreamDecl, ConnectorStreamState, DataConnectorDefinition, } from './data-connectors/index.js';
|
|
4
|
+
export type { ConnectorConnection, ConnectorDefaultMapping, ConnectorEntityDecl, ConnectorExecute, ConnectorExecuteArgs, ConnectorFetchResult, ConnectorFieldCapabilities, ConnectorFieldDecl, ConnectorRecord, ConnectorRelationshipDecl, ConnectorRelationshipTargetRef, ConnectorStreamDecl, ConnectorStreamState, DataConnectorDefinition, } from './data-connectors/index.js';
|
|
5
5
|
export { defineDataConnector } from './data-connectors/index.js';
|
|
6
6
|
export { type AppFieldDefinition, type AppFieldValues, defineField, defineFields, FIELD_TYPES, type FieldCapabilities, type FieldScope, type FieldSelectOption, type FieldType, type FieldTypeValueMap, type FieldValueType, } from './fields/index.js';
|
|
7
7
|
export { Settings } from './settings/index.js';
|
package/lib/root/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/root/index.ts"],"names":[],"mappings":"AASA,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AACpC,YAAY,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC5D,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,OAAO,GACR,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AACtD,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EAEZ,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EAEjB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/root/index.ts"],"names":[],"mappings":"AASA,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AACpC,YAAY,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC5D,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,OAAO,GACR,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AACtD,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EAEZ,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EAEjB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -73,6 +73,7 @@ export interface DynamicSelectHint {
|
|
|
73
73
|
readonly labelTemplate: string;
|
|
74
74
|
readonly sublabelTemplate?: string;
|
|
75
75
|
readonly emptyHint?: string;
|
|
76
|
+
readonly allowCustom?: boolean;
|
|
76
77
|
}
|
|
77
78
|
export interface ToolDefinition<TInput extends z.ZodTypeAny = z.ZodTypeAny, TOutput extends z.ZodTypeAny = z.ZodTypeAny> {
|
|
78
79
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/root/tools/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/root/tools/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAO/B,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB,EAAE,MAAM,CAAA;IAE1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IAEnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAKD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IAEnB,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAMD,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,EAAE,MAAM,CAAA;IAGhB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAGzB,YAAY,EAAE,qBAAqB,EAAE,CAAA;IAOrC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAOD,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,CAAA;AAKZ,MAAM,WAAW,UAAU;IAEzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAMrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IAGzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAa7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAQD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAMpE,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAE7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAE7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAE5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAO7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IAQlC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAe/B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EACH;YAAE,IAAI,EAAE,KAAK,CAAC;YAAC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;SAAE,GAChD;YAAE,IAAI,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,GACjC;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;KACtB,CAAC,CAAA;CACH;AAOD,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAAA;IAClD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAA;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAQ1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAClD;AAOD,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAO1F,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAM5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAMvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAE3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAE9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAElC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAQ3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAcD,MAAM,WAAW,cAAc,CAC7B,MAAM,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAC1C,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAG3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAGnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAGrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAG5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;IAGtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAGvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IASzB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAG1C,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAO5B,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,GAAG,EAAE,kBAAkB,KACpB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAG5E,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IAGjC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;CACpC;AAWD,MAAM,WAAW,OAAO;IAEtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;IAEtC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IAMjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAQD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC"}
|
|
@@ -230,6 +230,7 @@ export async function compileAndExtractCatalog() {
|
|
|
230
230
|
return errored({ code: 'CATALOG_VALIDATION_FAILED', message: 'Trigger is missing an id' });
|
|
231
231
|
}
|
|
232
232
|
const triggerInputs = serializeWorkflowSchemaInputs(trigger.schema);
|
|
233
|
+
const triggerOutputs = serializeWorkflowSchemaOutputs(trigger.schema);
|
|
233
234
|
cataloguedTriggers.push({
|
|
234
235
|
id: trigger.id,
|
|
235
236
|
label: trigger.label,
|
|
@@ -237,6 +238,7 @@ export async function compileAndExtractCatalog() {
|
|
|
237
238
|
iconKey: null,
|
|
238
239
|
color: trigger.color,
|
|
239
240
|
inputsJsonSchema: triggerInputs,
|
|
241
|
+
outputsJsonSchema: triggerOutputs,
|
|
240
242
|
refs: [],
|
|
241
243
|
});
|
|
242
244
|
if (trigger.workflow) {
|
|
@@ -247,6 +249,7 @@ export async function compileAndExtractCatalog() {
|
|
|
247
249
|
iconKey: null,
|
|
248
250
|
color: trigger.color,
|
|
249
251
|
inputsJsonSchema: triggerInputs,
|
|
252
|
+
outputsJsonSchema: triggerOutputs,
|
|
250
253
|
refs: [],
|
|
251
254
|
});
|
|
252
255
|
}
|
|
@@ -258,6 +261,7 @@ export async function compileAndExtractCatalog() {
|
|
|
258
261
|
iconKey: null,
|
|
259
262
|
color: trigger.color,
|
|
260
263
|
inputsJsonSchema: triggerInputs,
|
|
264
|
+
outputsJsonSchema: triggerOutputs,
|
|
261
265
|
refs: [],
|
|
262
266
|
});
|
|
263
267
|
}
|
|
@@ -303,6 +307,7 @@ export async function compileAndExtractCatalog() {
|
|
|
303
307
|
relationship: field.relationship,
|
|
304
308
|
calc: field.calc,
|
|
305
309
|
capabilities: field.capabilities,
|
|
310
|
+
identity: field.identity,
|
|
306
311
|
});
|
|
307
312
|
}
|
|
308
313
|
const cataloguedDataConnectors = [];
|
|
@@ -324,9 +329,62 @@ export async function compileAndExtractCatalog() {
|
|
|
324
329
|
const configJsonSchema = connector.config
|
|
325
330
|
? zodToProviderToolSchema(connector.config).jsonSchema
|
|
326
331
|
: {};
|
|
332
|
+
for (const [fieldKey, hint] of Object.entries(connector.configOptions ?? {})) {
|
|
333
|
+
if (hint.kind !== 'dynamic-select')
|
|
334
|
+
continue;
|
|
335
|
+
const ds = hint.dynamicSelect;
|
|
336
|
+
if (!toolIds.has(ds.optionsFrom)) {
|
|
337
|
+
return errored({
|
|
338
|
+
code: 'CATALOG_VALIDATION_FAILED',
|
|
339
|
+
message: `Connector "${connector.id}" config "${fieldKey}": optionsFrom "${ds.optionsFrom}" is not a tool in this app`,
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
if (!ds.valuePath || !ds.labelTemplate) {
|
|
343
|
+
return errored({
|
|
344
|
+
code: 'CATALOG_VALIDATION_FAILED',
|
|
345
|
+
message: `Connector "${connector.id}" config "${fieldKey}": dynamic-select requires valuePath and labelTemplate`,
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
for (const stream of connector.streams ?? []) {
|
|
350
|
+
for (const mapping of stream.defaultMappings ?? []) {
|
|
351
|
+
if (mapping.target.mode !== 'contributing')
|
|
352
|
+
continue;
|
|
353
|
+
const { entityKind, fieldBindings, connectionAppFields } = mapping.target;
|
|
354
|
+
const fieldByKey = new Map(cataloguedFields
|
|
355
|
+
.filter((f) => f.targetEntity === entityKind)
|
|
356
|
+
.map((f) => [f.appFieldKey, f]));
|
|
357
|
+
for (const binding of fieldBindings ?? []) {
|
|
358
|
+
if (!binding.targetAppField)
|
|
359
|
+
continue;
|
|
360
|
+
if (!fieldByKey.has(binding.targetAppField)) {
|
|
361
|
+
return errored({
|
|
362
|
+
code: 'CATALOG_VALIDATION_FAILED',
|
|
363
|
+
message: `Connector "${connector.id}" stream "${stream.key}": targetAppField "${binding.targetAppField}" is not a declared field on "${entityKind}"`,
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
for (const conn of connectionAppFields ?? []) {
|
|
368
|
+
const field = fieldByKey.get(conn.appFieldKey);
|
|
369
|
+
if (!field) {
|
|
370
|
+
return errored({
|
|
371
|
+
code: 'CATALOG_VALIDATION_FAILED',
|
|
372
|
+
message: `Connector "${connector.id}" stream "${stream.key}": connectionAppFields "${conn.appFieldKey}" is not a declared field on "${entityKind}"`,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
if (field.identity) {
|
|
376
|
+
return errored({
|
|
377
|
+
code: 'CATALOG_VALIDATION_FAILED',
|
|
378
|
+
message: `Connector "${connector.id}" stream "${stream.key}": connectionAppFields "${conn.appFieldKey}" targets an identity field — connection metadata cannot fill an identity field`,
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
327
384
|
const streams = (connector.streams ?? []).map((stream) => ({
|
|
328
385
|
key: stream.key,
|
|
329
386
|
displayFieldKey: stream.displayFieldKey,
|
|
387
|
+
syncMode: stream.syncMode,
|
|
330
388
|
fields: Object.entries(stream.fields ?? {}).map(([fieldKey, decl]) => ({
|
|
331
389
|
fieldKey,
|
|
332
390
|
sourcePath: decl.sourcePath,
|
|
@@ -334,6 +392,9 @@ export async function compileAndExtractCatalog() {
|
|
|
334
392
|
name: decl.name,
|
|
335
393
|
pii: decl.pii,
|
|
336
394
|
capabilities: decl.capabilities,
|
|
395
|
+
options: decl.options,
|
|
396
|
+
addressComponents: decl.addressComponents,
|
|
397
|
+
isExternalId: decl.isExternalId,
|
|
337
398
|
})),
|
|
338
399
|
defaultMappings: stream.defaultMappings,
|
|
339
400
|
exampleRecord: stream.exampleRecord,
|
|
@@ -344,6 +405,7 @@ export async function compileAndExtractCatalog() {
|
|
|
344
405
|
requiresConnection: Boolean(connector.requiresConnection),
|
|
345
406
|
iconKey: connector.iconKey ?? null,
|
|
346
407
|
configJsonSchema,
|
|
408
|
+
...(connector.configOptions ? { configOptionHints: connector.configOptions } : {}),
|
|
347
409
|
streams,
|
|
348
410
|
});
|
|
349
411
|
}
|
|
@@ -376,10 +438,16 @@ export async function compileAndExtractCatalog() {
|
|
|
376
438
|
return complete(catalog);
|
|
377
439
|
}
|
|
378
440
|
function serializeWorkflowSchemaInputs(schema) {
|
|
379
|
-
|
|
441
|
+
return serializeWorkflowSchemaFields(schema?.inputs);
|
|
442
|
+
}
|
|
443
|
+
function serializeWorkflowSchemaOutputs(schema) {
|
|
444
|
+
return serializeWorkflowSchemaFields(schema?.outputs);
|
|
445
|
+
}
|
|
446
|
+
function serializeWorkflowSchemaFields(fields) {
|
|
447
|
+
if (!fields || typeof fields !== 'object')
|
|
380
448
|
return {};
|
|
381
449
|
const out = {};
|
|
382
|
-
for (const [key, field] of Object.entries(
|
|
450
|
+
for (const [key, field] of Object.entries(fields)) {
|
|
383
451
|
const fieldNode = field;
|
|
384
452
|
out[key] = typeof fieldNode?.toJSON === 'function' ? fieldNode.toJSON() : field;
|
|
385
453
|
}
|