@auxx/sdk 0.0.17 → 0.0.19
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/define-data-connector.d.ts.map +1 -1
- 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 +44 -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 +73 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-data-connector.d.ts","sourceRoot":"","sources":["../../../src/root/data-connectors/define-data-connector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"define-data-connector.d.ts","sourceRoot":"","sources":["../../../src/root/data-connectors/define-data-connector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAyDzD,wBAAgB,mBAAmB,CAAC,aAAa,SAAS,CAAC,CAAC,UAAU,EACpE,SAAS,EAAE,uBAAuB,CAAC,aAAa,CAAC,GAChD,uBAAuB,CAAC,aAAa,CAAC,CA6CxC"}
|
|
@@ -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,14 +68,29 @@ 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>;
|
|
89
|
+
webhookTrigger?: {
|
|
90
|
+
filter?: Record<string, unknown>;
|
|
91
|
+
paths: string[];
|
|
92
|
+
debounceMs?: number;
|
|
93
|
+
};
|
|
57
94
|
}
|
|
58
95
|
export interface ConnectorExecuteArgs<TConfig = Record<string, unknown>> {
|
|
59
96
|
streamKey: string;
|
|
@@ -61,6 +98,7 @@ export interface ConnectorExecuteArgs<TConfig = Record<string, unknown>> {
|
|
|
61
98
|
state: ConnectorStreamState;
|
|
62
99
|
connection: ConnectorConnection | null;
|
|
63
100
|
config: TConfig;
|
|
101
|
+
triggerContext?: Record<string, string>;
|
|
64
102
|
}
|
|
65
103
|
export interface ConnectorConnection {
|
|
66
104
|
value: string;
|
|
@@ -71,10 +109,15 @@ export type ConnectorExecute<TConfig = Record<string, unknown>> = (args: Connect
|
|
|
71
109
|
export interface DataConnectorDefinition<TConfigSchema extends z.ZodTypeAny = z.ZodTypeAny> {
|
|
72
110
|
id: string;
|
|
73
111
|
label: string;
|
|
112
|
+
description?: string;
|
|
74
113
|
requiresConnection: boolean;
|
|
75
114
|
config: TConfigSchema;
|
|
115
|
+
configOptions?: Record<string, ActionInputHint>;
|
|
76
116
|
streams: ConnectorStreamDecl[];
|
|
77
117
|
iconKey?: string;
|
|
118
|
+
webhookTrigger?: {
|
|
119
|
+
triggerId: string;
|
|
120
|
+
};
|
|
78
121
|
execute: ConnectorExecute<z.output<TConfigSchema>>;
|
|
79
122
|
}
|
|
80
123
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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":"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"}
|
|
@@ -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,17 +392,24 @@ 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,
|
|
401
|
+
webhookTrigger: stream.webhookTrigger,
|
|
340
402
|
}));
|
|
341
403
|
cataloguedDataConnectors.push({
|
|
342
404
|
id: connector.id,
|
|
343
405
|
label: connector.label,
|
|
406
|
+
description: connector.description ?? null,
|
|
344
407
|
requiresConnection: Boolean(connector.requiresConnection),
|
|
345
408
|
iconKey: connector.iconKey ?? null,
|
|
346
409
|
configJsonSchema,
|
|
410
|
+
...(connector.configOptions ? { configOptionHints: connector.configOptions } : {}),
|
|
347
411
|
streams,
|
|
412
|
+
webhookTrigger: connector.webhookTrigger,
|
|
348
413
|
});
|
|
349
414
|
}
|
|
350
415
|
const catalog = {
|
|
@@ -376,10 +441,16 @@ export async function compileAndExtractCatalog() {
|
|
|
376
441
|
return complete(catalog);
|
|
377
442
|
}
|
|
378
443
|
function serializeWorkflowSchemaInputs(schema) {
|
|
379
|
-
|
|
444
|
+
return serializeWorkflowSchemaFields(schema?.inputs);
|
|
445
|
+
}
|
|
446
|
+
function serializeWorkflowSchemaOutputs(schema) {
|
|
447
|
+
return serializeWorkflowSchemaFields(schema?.outputs);
|
|
448
|
+
}
|
|
449
|
+
function serializeWorkflowSchemaFields(fields) {
|
|
450
|
+
if (!fields || typeof fields !== 'object')
|
|
380
451
|
return {};
|
|
381
452
|
const out = {};
|
|
382
|
-
for (const [key, field] of Object.entries(
|
|
453
|
+
for (const [key, field] of Object.entries(fields)) {
|
|
383
454
|
const fieldNode = field;
|
|
384
455
|
out[key] = typeof fieldNode?.toJSON === 'function' ? fieldNode.toJSON() : field;
|
|
385
456
|
}
|