@contractspec/example.integration-hub 1.44.1 → 1.45.0
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/dist/connection/connection.enum.d.ts +2 -2
- package/dist/connection/connection.enum.d.ts.map +1 -1
- package/dist/connection/connection.operation.d.ts +28 -28
- package/dist/connection/connection.operation.d.ts.map +1 -1
- package/dist/connection/connection.operation.js +2 -2
- package/dist/connection/connection.operation.js.map +1 -1
- package/dist/connection/connection.presentation.js +2 -2
- package/dist/connection/connection.presentation.js.map +1 -1
- package/dist/connection/connection.schema.d.ts +16 -16
- package/dist/connection/connection.schema.d.ts.map +1 -1
- package/dist/events.d.ts +43 -43
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +9 -9
- package/dist/events.js.map +1 -1
- package/dist/example.d.ts +3 -36
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +16 -11
- package/dist/example.js.map +1 -1
- package/dist/integration/integration.enum.d.ts +2 -2
- package/dist/integration/integration.operations.d.ts +26 -26
- package/dist/integration/integration.operations.js +2 -2
- package/dist/integration/integration.operations.js.map +1 -1
- package/dist/integration/integration.presentation.js +3 -3
- package/dist/integration/integration.presentation.js.map +1 -1
- package/dist/integration/integration.schema.d.ts +16 -16
- package/dist/integration-hub.feature.js +48 -48
- package/dist/integration-hub.feature.js.map +1 -1
- package/dist/sync/sync.enum.d.ts +4 -4
- package/dist/sync/sync.operations.d.ts +129 -129
- package/dist/sync/sync.operations.d.ts.map +1 -1
- package/dist/sync/sync.operations.js +7 -7
- package/dist/sync/sync.operations.js.map +1 -1
- package/dist/sync/sync.presentation.js +6 -6
- package/dist/sync/sync.presentation.js.map +1 -1
- package/dist/sync/sync.schema.d.ts +85 -85
- package/package.json +12 -12
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema264 from "@contractspec/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/connection/connection.enum.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Connection status enum.
|
|
6
6
|
*/
|
|
7
|
-
declare const ConnectionStatusEnum:
|
|
7
|
+
declare const ConnectionStatusEnum: _contractspec_lib_schema264.EnumType<[string, string, string, string, string]>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { ConnectionStatusEnum };
|
|
10
10
|
//# sourceMappingURL=connection.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.enum.d.ts","names":[],"sources":["../../src/connection/connection.enum.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,oBAMX,EAAA,
|
|
1
|
+
{"version":3,"file":"connection.enum.d.ts","names":[],"sources":["../../src/connection/connection.enum.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,oBAMX,EAAA,2BAAA,CAN+B,QAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA"}
|
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_contracts13 from "@contractspec/lib.contracts";
|
|
2
|
+
import * as _contractspec_lib_schema306 from "@contractspec/lib.schema";
|
|
3
3
|
|
|
4
4
|
//#region src/connection/connection.operation.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Create a connection to an external system.
|
|
7
7
|
*/
|
|
8
|
-
declare const CreateConnectionContract:
|
|
8
|
+
declare const CreateConnectionContract: _contractspec_lib_contracts13.OperationSpec<_contractspec_lib_schema306.SchemaModel<{
|
|
9
9
|
integrationId: {
|
|
10
|
-
type:
|
|
10
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
11
11
|
isOptional: false;
|
|
12
12
|
};
|
|
13
13
|
name: {
|
|
14
|
-
type:
|
|
14
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
15
15
|
isOptional: false;
|
|
16
16
|
};
|
|
17
17
|
authType: {
|
|
18
|
-
type:
|
|
18
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
19
19
|
isOptional: false;
|
|
20
20
|
};
|
|
21
21
|
credentials: {
|
|
22
|
-
type:
|
|
22
|
+
type: _contractspec_lib_schema306.FieldType<unknown, unknown>;
|
|
23
23
|
isOptional: true;
|
|
24
24
|
};
|
|
25
|
-
}>,
|
|
25
|
+
}>, _contractspec_lib_schema306.SchemaModel<{
|
|
26
26
|
id: {
|
|
27
|
-
type:
|
|
27
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
28
28
|
isOptional: false;
|
|
29
29
|
};
|
|
30
30
|
integrationId: {
|
|
31
|
-
type:
|
|
31
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
32
32
|
isOptional: false;
|
|
33
33
|
};
|
|
34
34
|
name: {
|
|
35
|
-
type:
|
|
35
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
36
36
|
isOptional: false;
|
|
37
37
|
};
|
|
38
38
|
status: {
|
|
39
|
-
type:
|
|
39
|
+
type: _contractspec_lib_schema306.EnumType<[string, string, string, string, string]>;
|
|
40
40
|
isOptional: false;
|
|
41
41
|
};
|
|
42
42
|
authType: {
|
|
43
|
-
type:
|
|
43
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
44
44
|
isOptional: false;
|
|
45
45
|
};
|
|
46
46
|
externalAccountName: {
|
|
47
|
-
type:
|
|
47
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
48
48
|
isOptional: true;
|
|
49
49
|
};
|
|
50
50
|
connectedAt: {
|
|
51
|
-
type:
|
|
51
|
+
type: _contractspec_lib_schema306.FieldType<Date, string>;
|
|
52
52
|
isOptional: true;
|
|
53
53
|
};
|
|
54
54
|
lastHealthCheck: {
|
|
55
|
-
type:
|
|
55
|
+
type: _contractspec_lib_schema306.FieldType<Date, string>;
|
|
56
56
|
isOptional: true;
|
|
57
57
|
};
|
|
58
58
|
healthStatus: {
|
|
59
|
-
type:
|
|
59
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
60
60
|
isOptional: true;
|
|
61
61
|
};
|
|
62
62
|
}>, {
|
|
63
63
|
key: string;
|
|
64
|
-
version:
|
|
64
|
+
version: string;
|
|
65
65
|
when: string;
|
|
66
|
-
payload:
|
|
66
|
+
payload: _contractspec_lib_schema306.SchemaModel<{
|
|
67
67
|
id: {
|
|
68
|
-
type:
|
|
68
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
69
69
|
isOptional: false;
|
|
70
70
|
};
|
|
71
71
|
integrationId: {
|
|
72
|
-
type:
|
|
72
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
73
73
|
isOptional: false;
|
|
74
74
|
};
|
|
75
75
|
name: {
|
|
76
|
-
type:
|
|
76
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
77
77
|
isOptional: false;
|
|
78
78
|
};
|
|
79
79
|
status: {
|
|
80
|
-
type:
|
|
80
|
+
type: _contractspec_lib_schema306.EnumType<[string, string, string, string, string]>;
|
|
81
81
|
isOptional: false;
|
|
82
82
|
};
|
|
83
83
|
authType: {
|
|
84
|
-
type:
|
|
84
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
85
85
|
isOptional: false;
|
|
86
86
|
};
|
|
87
87
|
externalAccountName: {
|
|
88
|
-
type:
|
|
88
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
89
89
|
isOptional: true;
|
|
90
90
|
};
|
|
91
91
|
connectedAt: {
|
|
92
|
-
type:
|
|
92
|
+
type: _contractspec_lib_schema306.FieldType<Date, string>;
|
|
93
93
|
isOptional: true;
|
|
94
94
|
};
|
|
95
95
|
lastHealthCheck: {
|
|
96
|
-
type:
|
|
96
|
+
type: _contractspec_lib_schema306.FieldType<Date, string>;
|
|
97
97
|
isOptional: true;
|
|
98
98
|
};
|
|
99
99
|
healthStatus: {
|
|
100
|
-
type:
|
|
100
|
+
type: _contractspec_lib_schema306.FieldType<string, string>;
|
|
101
101
|
isOptional: true;
|
|
102
102
|
};
|
|
103
103
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.operation.d.ts","names":[],"sources":["../../src/connection/connection.operation.ts"],"sourcesContent":[],"mappings":";;;;;;;cAWa,
|
|
1
|
+
{"version":3,"file":"connection.operation.d.ts","names":[],"sources":["../../src/connection/connection.operation.ts"],"sourcesContent":[],"mappings":";;;;;;;cAWa,wDAAwB,0CAAA;EAAxB,aAAA,EAAA;IAiDX,IAAA,EAAA,2BAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;+CAjDmC,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;UAAA,2BAAA,CAAA;;;;;;;;;;;;8CAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;IAAA,UAAA,EAAA,KAAA"}
|
|
@@ -9,7 +9,7 @@ const OWNERS = ["@example.integration-hub"];
|
|
|
9
9
|
const CreateConnectionContract = defineCommand({
|
|
10
10
|
meta: {
|
|
11
11
|
key: "integration.connection.create",
|
|
12
|
-
version: 1,
|
|
12
|
+
version: "1.0.0",
|
|
13
13
|
stability: "stable",
|
|
14
14
|
owners: [...OWNERS],
|
|
15
15
|
tags: [
|
|
@@ -29,7 +29,7 @@ const CreateConnectionContract = defineCommand({
|
|
|
29
29
|
sideEffects: {
|
|
30
30
|
emits: [{
|
|
31
31
|
key: "integration.connection.created",
|
|
32
|
-
version: 1,
|
|
32
|
+
version: "1.0.0",
|
|
33
33
|
when: "Connection created",
|
|
34
34
|
payload: ConnectionModel
|
|
35
35
|
}],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.operation.js","names":[],"sources":["../../src/connection/connection.operation.ts"],"sourcesContent":["import { defineCommand } from '@contractspec/lib.contracts/operations';\nimport {\n ConnectionModel,\n CreateConnectionInputModel,\n} from './connection.schema';\n\nconst OWNERS = ['@example.integration-hub'] as const;\n\n/**\n * Create a connection to an external system.\n */\nexport const CreateConnectionContract = defineCommand({\n meta: {\n key: 'integration.connection.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['integration', 'connection', 'create'],\n description: 'Create a connection to an external system.',\n goal: 'Authenticate with external systems.',\n context: 'Connection setup.',\n },\n io: { input: CreateConnectionInputModel, output: ConnectionModel },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n key: 'integration.connection.created',\n version: 1,\n when: 'Connection created',\n payload: ConnectionModel,\n },\n ],\n audit: ['integration.connection.created'],\n },\n acceptance: {\n scenarios: [\n {\n key: 'create-connection-happy-path',\n given: ['User is authenticated'],\n when: ['User creates connection with valid credentials'],\n then: ['Connection is created', 'ConnectionCreated event is emitted'],\n },\n ],\n examples: [\n {\n key: 'connect-crm',\n input: {\n name: 'Salesforce Prod',\n integrationId: 'salesforce',\n credentials: { clientId: 'xxx' },\n },\n output: {\n id: 'conn-123',\n status: 'connected',\n connectedAt: '2025-01-01T12:00:00Z',\n },\n },\n ],\n },\n});\n"],"mappings":";;;;AAMA,MAAM,SAAS,CAAC,2BAA2B;;;;AAK3C,MAAa,2BAA2B,cAAc;CACpD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAe;GAAc;GAAS;EAC7C,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EAAE,OAAO;EAA4B,QAAQ;EAAiB;CAClE,QAAQ,EAAE,MAAM,QAAQ;CACxB,aAAa;EACX,OAAO,CACL;GACE,KAAK;GACL,SAAS;GACT,MAAM;GACN,SAAS;GACV,CACF;EACD,OAAO,CAAC,iCAAiC;EAC1C;CACD,YAAY;EACV,WAAW,CACT;GACE,KAAK;GACL,OAAO,CAAC,wBAAwB;GAChC,MAAM,CAAC,iDAAiD;GACxD,MAAM,CAAC,yBAAyB,qCAAqC;GACtE,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IACL,MAAM;IACN,eAAe;IACf,aAAa,EAAE,UAAU,OAAO;IACjC;GACD,QAAQ;IACN,IAAI;IACJ,QAAQ;IACR,aAAa;IACd;GACF,CACF;EACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"connection.operation.js","names":[],"sources":["../../src/connection/connection.operation.ts"],"sourcesContent":["import { defineCommand } from '@contractspec/lib.contracts/operations';\nimport {\n ConnectionModel,\n CreateConnectionInputModel,\n} from './connection.schema';\n\nconst OWNERS = ['@example.integration-hub'] as const;\n\n/**\n * Create a connection to an external system.\n */\nexport const CreateConnectionContract = defineCommand({\n meta: {\n key: 'integration.connection.create',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['integration', 'connection', 'create'],\n description: 'Create a connection to an external system.',\n goal: 'Authenticate with external systems.',\n context: 'Connection setup.',\n },\n io: { input: CreateConnectionInputModel, output: ConnectionModel },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n key: 'integration.connection.created',\n version: '1.0.0',\n when: 'Connection created',\n payload: ConnectionModel,\n },\n ],\n audit: ['integration.connection.created'],\n },\n acceptance: {\n scenarios: [\n {\n key: 'create-connection-happy-path',\n given: ['User is authenticated'],\n when: ['User creates connection with valid credentials'],\n then: ['Connection is created', 'ConnectionCreated event is emitted'],\n },\n ],\n examples: [\n {\n key: 'connect-crm',\n input: {\n name: 'Salesforce Prod',\n integrationId: 'salesforce',\n credentials: { clientId: 'xxx' },\n },\n output: {\n id: 'conn-123',\n status: 'connected',\n connectedAt: '2025-01-01T12:00:00Z',\n },\n },\n ],\n },\n});\n"],"mappings":";;;;AAMA,MAAM,SAAS,CAAC,2BAA2B;;;;AAK3C,MAAa,2BAA2B,cAAc;CACpD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAe;GAAc;GAAS;EAC7C,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EAAE,OAAO;EAA4B,QAAQ;EAAiB;CAClE,QAAQ,EAAE,MAAM,QAAQ;CACxB,aAAa;EACX,OAAO,CACL;GACE,KAAK;GACL,SAAS;GACT,MAAM;GACN,SAAS;GACV,CACF;EACD,OAAO,CAAC,iCAAiC;EAC1C;CACD,YAAY;EACV,WAAW,CACT;GACE,KAAK;GACL,OAAO,CAAC,wBAAwB;GAChC,MAAM,CAAC,iDAAiD;GACxD,MAAM,CAAC,yBAAyB,qCAAqC;GACtE,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IACL,MAAM;IACN,eAAe;IACf,aAAa,EAAE,UAAU,OAAO;IACjC;GACD,QAAQ;IACN,IAAI;IACJ,QAAQ;IACR,aAAa;IACd;GACF,CACF;EACF;CACF,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { StabilityEnum } from "@contractspec/lib.contracts";
|
|
|
5
5
|
const ConnectionListPresentation = {
|
|
6
6
|
meta: {
|
|
7
7
|
key: "integration.connection.list",
|
|
8
|
-
version: 1,
|
|
8
|
+
version: "1.0.0",
|
|
9
9
|
title: "Connection List",
|
|
10
10
|
description: "List of integration connections",
|
|
11
11
|
domain: "integration",
|
|
@@ -31,7 +31,7 @@ const ConnectionListPresentation = {
|
|
|
31
31
|
const ConnectionSetupPresentation = {
|
|
32
32
|
meta: {
|
|
33
33
|
key: "integration.connection.setup",
|
|
34
|
-
version: 1,
|
|
34
|
+
version: "1.0.0",
|
|
35
35
|
title: "Connection Setup",
|
|
36
36
|
description: "Setup wizard for creating integration connections",
|
|
37
37
|
domain: "integration",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.presentation.js","names":["ConnectionListPresentation: PresentationSpec","ConnectionSetupPresentation: PresentationSpec"],"sources":["../../src/connection/connection.presentation.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\nimport { ConnectionModel } from './connection.schema';\n\nexport const ConnectionListPresentation: PresentationSpec = {\n meta: {\n key: 'integration.connection.list',\n version: 1,\n title: 'Connection List',\n description: 'List of integration connections',\n domain: 'integration',\n owners: ['@integration-team'],\n tags: ['integration', 'connection', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Provide an overview of all established integration connections.',\n context: 'The primary management view for integration hubs.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ConnectionList',\n props: ConnectionModel,\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['integration.enabled'],\n },\n};\n\nexport const ConnectionSetupPresentation: PresentationSpec = {\n meta: {\n key: 'integration.connection.setup',\n version: 1,\n title: 'Connection Setup',\n description: 'Setup wizard for creating integration connections',\n domain: 'integration',\n owners: ['@integration-team'],\n tags: ['integration', 'connection', 'setup'],\n stability: StabilityEnum.Experimental,\n goal: 'Guide users through the multi-step process of connecting to a new integration.',\n context: 'The onboarding flow for new integrations.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ConnectionSetup',\n props: ConnectionModel,\n },\n targets: ['react'],\n policy: {\n flags: ['integration.enabled'],\n },\n};\n"],"mappings":";;;;AAIA,MAAaA,6BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,oBAAoB;EAC7B,MAAM;GAAC;GAAe;GAAc;GAAO;EAC3C,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,sBAAsB,EAC/B;CACF;AAED,MAAaC,8BAAgD;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,oBAAoB;EAC7B,MAAM;GAAC;GAAe;GAAc;GAAQ;EAC5C,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,sBAAsB,EAC/B;CACF"}
|
|
1
|
+
{"version":3,"file":"connection.presentation.js","names":["ConnectionListPresentation: PresentationSpec","ConnectionSetupPresentation: PresentationSpec"],"sources":["../../src/connection/connection.presentation.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\nimport { ConnectionModel } from './connection.schema';\n\nexport const ConnectionListPresentation: PresentationSpec = {\n meta: {\n key: 'integration.connection.list',\n version: '1.0.0',\n title: 'Connection List',\n description: 'List of integration connections',\n domain: 'integration',\n owners: ['@integration-team'],\n tags: ['integration', 'connection', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Provide an overview of all established integration connections.',\n context: 'The primary management view for integration hubs.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ConnectionList',\n props: ConnectionModel,\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['integration.enabled'],\n },\n};\n\nexport const ConnectionSetupPresentation: PresentationSpec = {\n meta: {\n key: 'integration.connection.setup',\n version: '1.0.0',\n title: 'Connection Setup',\n description: 'Setup wizard for creating integration connections',\n domain: 'integration',\n owners: ['@integration-team'],\n tags: ['integration', 'connection', 'setup'],\n stability: StabilityEnum.Experimental,\n goal: 'Guide users through the multi-step process of connecting to a new integration.',\n context: 'The onboarding flow for new integrations.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ConnectionSetup',\n props: ConnectionModel,\n },\n targets: ['react'],\n policy: {\n flags: ['integration.enabled'],\n },\n};\n"],"mappings":";;;;AAIA,MAAaA,6BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,oBAAoB;EAC7B,MAAM;GAAC;GAAe;GAAc;GAAO;EAC3C,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,sBAAsB,EAC/B;CACF;AAED,MAAaC,8BAAgD;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,oBAAoB;EAC7B,MAAM;GAAC;GAAe;GAAc;GAAQ;EAC5C,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,sBAAsB,EAC/B;CACF"}
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/connection/connection.schema.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* A connection to an external system.
|
|
6
6
|
*/
|
|
7
|
-
declare const ConnectionModel:
|
|
7
|
+
declare const ConnectionModel: _contractspec_lib_schema0.SchemaModel<{
|
|
8
8
|
id: {
|
|
9
|
-
type:
|
|
9
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
10
10
|
isOptional: false;
|
|
11
11
|
};
|
|
12
12
|
integrationId: {
|
|
13
|
-
type:
|
|
13
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
14
14
|
isOptional: false;
|
|
15
15
|
};
|
|
16
16
|
name: {
|
|
17
|
-
type:
|
|
17
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
18
18
|
isOptional: false;
|
|
19
19
|
};
|
|
20
20
|
status: {
|
|
21
|
-
type:
|
|
21
|
+
type: _contractspec_lib_schema0.EnumType<[string, string, string, string, string]>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
authType: {
|
|
25
|
-
type:
|
|
25
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
26
26
|
isOptional: false;
|
|
27
27
|
};
|
|
28
28
|
externalAccountName: {
|
|
29
|
-
type:
|
|
29
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
30
30
|
isOptional: true;
|
|
31
31
|
};
|
|
32
32
|
connectedAt: {
|
|
33
|
-
type:
|
|
33
|
+
type: _contractspec_lib_schema0.FieldType<Date, string>;
|
|
34
34
|
isOptional: true;
|
|
35
35
|
};
|
|
36
36
|
lastHealthCheck: {
|
|
37
|
-
type:
|
|
37
|
+
type: _contractspec_lib_schema0.FieldType<Date, string>;
|
|
38
38
|
isOptional: true;
|
|
39
39
|
};
|
|
40
40
|
healthStatus: {
|
|
41
|
-
type:
|
|
41
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
42
42
|
isOptional: true;
|
|
43
43
|
};
|
|
44
44
|
}>;
|
|
45
45
|
/**
|
|
46
46
|
* Input for creating a connection.
|
|
47
47
|
*/
|
|
48
|
-
declare const CreateConnectionInputModel:
|
|
48
|
+
declare const CreateConnectionInputModel: _contractspec_lib_schema0.SchemaModel<{
|
|
49
49
|
integrationId: {
|
|
50
|
-
type:
|
|
50
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
51
51
|
isOptional: false;
|
|
52
52
|
};
|
|
53
53
|
name: {
|
|
54
|
-
type:
|
|
54
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
55
55
|
isOptional: false;
|
|
56
56
|
};
|
|
57
57
|
authType: {
|
|
58
|
-
type:
|
|
58
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
59
59
|
isOptional: false;
|
|
60
60
|
};
|
|
61
61
|
credentials: {
|
|
62
|
-
type:
|
|
62
|
+
type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
|
|
63
63
|
isOptional: true;
|
|
64
64
|
};
|
|
65
65
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.schema.d.ts","names":[],"sources":["../../src/connection/connection.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAMa,cAAA,eAmBX,
|
|
1
|
+
{"version":3,"file":"connection.schema.d.ts","names":[],"sources":["../../src/connection/connection.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAMa,cAAA,eAmBX,4BAnB0B,WAmB1B,CAAA;EAAA,EAAA,EAAA;UAAA,yBAAA,CAAA;;;;;;;;;;;EAnB0B,MAAA,EAAA;IAwBf,IAAA,oCAWX,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;EAXqC,CAAA;;;;;;;;;;;;;;;;;;;;;cAA1B,sDAA0B;;UAWrC,yBAAA,CAAA"}
|
package/dist/events.d.ts
CHANGED
|
@@ -1,150 +1,150 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_contracts4 from "@contractspec/lib.contracts";
|
|
2
|
+
import * as _contractspec_lib_schema265 from "@contractspec/lib.schema";
|
|
3
3
|
|
|
4
4
|
//#region src/events.d.ts
|
|
5
|
-
declare const IntegrationCreatedEvent:
|
|
5
|
+
declare const IntegrationCreatedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
6
6
|
integrationId: {
|
|
7
|
-
type:
|
|
7
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
8
8
|
isOptional: false;
|
|
9
9
|
};
|
|
10
10
|
type: {
|
|
11
|
-
type:
|
|
11
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
12
12
|
isOptional: false;
|
|
13
13
|
};
|
|
14
14
|
createdAt: {
|
|
15
|
-
type:
|
|
15
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
16
16
|
isOptional: false;
|
|
17
17
|
};
|
|
18
18
|
}>>;
|
|
19
|
-
declare const ConnectionCreatedEvent:
|
|
19
|
+
declare const ConnectionCreatedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
20
20
|
connectionId: {
|
|
21
|
-
type:
|
|
21
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
integrationId: {
|
|
25
|
-
type:
|
|
25
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
26
26
|
isOptional: false;
|
|
27
27
|
};
|
|
28
28
|
status: {
|
|
29
|
-
type:
|
|
29
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
30
30
|
isOptional: false;
|
|
31
31
|
};
|
|
32
32
|
createdAt: {
|
|
33
|
-
type:
|
|
33
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
34
34
|
isOptional: false;
|
|
35
35
|
};
|
|
36
36
|
}>>;
|
|
37
|
-
declare const ConnectionStatusChangedEvent:
|
|
37
|
+
declare const ConnectionStatusChangedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
38
38
|
connectionId: {
|
|
39
|
-
type:
|
|
39
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
40
40
|
isOptional: false;
|
|
41
41
|
};
|
|
42
42
|
previousStatus: {
|
|
43
|
-
type:
|
|
43
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
44
44
|
isOptional: false;
|
|
45
45
|
};
|
|
46
46
|
newStatus: {
|
|
47
|
-
type:
|
|
47
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
48
48
|
isOptional: false;
|
|
49
49
|
};
|
|
50
50
|
changedAt: {
|
|
51
|
-
type:
|
|
51
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
52
52
|
isOptional: false;
|
|
53
53
|
};
|
|
54
54
|
}>>;
|
|
55
|
-
declare const SyncConfigCreatedEvent:
|
|
55
|
+
declare const SyncConfigCreatedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
56
56
|
syncConfigId: {
|
|
57
|
-
type:
|
|
57
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
58
58
|
isOptional: false;
|
|
59
59
|
};
|
|
60
60
|
connectionId: {
|
|
61
|
-
type:
|
|
61
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
62
62
|
isOptional: false;
|
|
63
63
|
};
|
|
64
64
|
createdAt: {
|
|
65
|
-
type:
|
|
65
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
66
66
|
isOptional: false;
|
|
67
67
|
};
|
|
68
68
|
}>>;
|
|
69
|
-
declare const SyncStartedEvent:
|
|
69
|
+
declare const SyncStartedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
70
70
|
syncRunId: {
|
|
71
|
-
type:
|
|
71
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
72
72
|
isOptional: false;
|
|
73
73
|
};
|
|
74
74
|
syncConfigId: {
|
|
75
|
-
type:
|
|
75
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
76
76
|
isOptional: false;
|
|
77
77
|
};
|
|
78
78
|
startedAt: {
|
|
79
|
-
type:
|
|
79
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
80
80
|
isOptional: false;
|
|
81
81
|
};
|
|
82
82
|
}>>;
|
|
83
|
-
declare const SyncCompletedEvent:
|
|
83
|
+
declare const SyncCompletedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
84
84
|
syncRunId: {
|
|
85
|
-
type:
|
|
85
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
86
86
|
isOptional: false;
|
|
87
87
|
};
|
|
88
88
|
syncConfigId: {
|
|
89
|
-
type:
|
|
89
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
90
90
|
isOptional: false;
|
|
91
91
|
};
|
|
92
92
|
recordsProcessed: {
|
|
93
|
-
type:
|
|
93
|
+
type: _contractspec_lib_schema265.FieldType<number, number>;
|
|
94
94
|
isOptional: false;
|
|
95
95
|
};
|
|
96
96
|
completedAt: {
|
|
97
|
-
type:
|
|
97
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
98
98
|
isOptional: false;
|
|
99
99
|
};
|
|
100
100
|
}>>;
|
|
101
|
-
declare const SyncFailedEvent:
|
|
101
|
+
declare const SyncFailedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
102
102
|
syncRunId: {
|
|
103
|
-
type:
|
|
103
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
104
104
|
isOptional: false;
|
|
105
105
|
};
|
|
106
106
|
syncConfigId: {
|
|
107
|
-
type:
|
|
107
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
108
108
|
isOptional: false;
|
|
109
109
|
};
|
|
110
110
|
error: {
|
|
111
|
-
type:
|
|
111
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
112
112
|
isOptional: false;
|
|
113
113
|
};
|
|
114
114
|
failedAt: {
|
|
115
|
-
type:
|
|
115
|
+
type: _contractspec_lib_schema265.FieldType<Date, string>;
|
|
116
116
|
isOptional: false;
|
|
117
117
|
};
|
|
118
118
|
}>>;
|
|
119
|
-
declare const RecordSyncedEvent:
|
|
119
|
+
declare const RecordSyncedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
120
120
|
syncRunId: {
|
|
121
|
-
type:
|
|
121
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
122
122
|
isOptional: false;
|
|
123
123
|
};
|
|
124
124
|
recordId: {
|
|
125
|
-
type:
|
|
125
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
126
126
|
isOptional: false;
|
|
127
127
|
};
|
|
128
128
|
sourceId: {
|
|
129
|
-
type:
|
|
129
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
130
130
|
isOptional: false;
|
|
131
131
|
};
|
|
132
132
|
targetId: {
|
|
133
|
-
type:
|
|
133
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
134
134
|
isOptional: false;
|
|
135
135
|
};
|
|
136
136
|
}>>;
|
|
137
|
-
declare const FieldMappingAddedEvent:
|
|
137
|
+
declare const FieldMappingAddedEvent: _contractspec_lib_contracts4.EventSpec<_contractspec_lib_schema265.SchemaModel<{
|
|
138
138
|
syncConfigId: {
|
|
139
|
-
type:
|
|
139
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
140
140
|
isOptional: false;
|
|
141
141
|
};
|
|
142
142
|
sourceField: {
|
|
143
|
-
type:
|
|
143
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
144
144
|
isOptional: false;
|
|
145
145
|
};
|
|
146
146
|
targetField: {
|
|
147
|
-
type:
|
|
147
|
+
type: _contractspec_lib_schema265.FieldType<string, string>;
|
|
148
148
|
isOptional: false;
|
|
149
149
|
};
|
|
150
150
|
}>>;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","names":[],"sources":["../src/events.ts"],"sourcesContent":[],"mappings":";;;;cAiBa,yBAAuB,4BAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"events.d.ts","names":[],"sources":["../src/events.ts"],"sourcesContent":[],"mappings":";;;;cAiBa,yBAAuB,4BAAA,CAAA,sCAAA;;UAUlC,2BAAA,CAAA;;EAVW,CAAA;EAUX,IAAA,EAAA;;;;;IAVkC,IAAA,uCAAA,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EA2BvB,CAAA;CAUX,CAAA,CAAA;cAVW,wBAAsB,4BAAA,CAAA,sCAAA;;UAUjC,2BAAA,CAAA;;;EAViC,aAAA,EAAA;IAAA,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IA0BtB,UAAA,EAAA,KAAA;EAUX,CAAA;;;;;;IAVuC,IAAA,uCAAA,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAuB5B,CAAA;CAUX,CAAA,CAAA;cAjCW,8BAA4B,4BAAA,CAAA,sCAAA;;UAUvC,2BAAA,CAAA;;EAaiC,CAAA;EAAA,cAAA,EAAA;IAuBtB,IAAA,uCAUX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;EAV2B,CAAA;EAAA,SAAA,EAAA;IA0BhB,IAAA,uCAUX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;cA3DW,wBAAsB,4BAAA,CAAA,sCAAA;;UAUjC,2BAAA,CAAA,SAuC6B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAAA,CAAA;EAuBlB,YAAA,EAAA;IAUX,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;EAV0B,CAAA;CAAA,CAAA,CAAA;AAuBf,cAxEA,gBAkFX,EAlF2B,4BAAA,CAAA,SAkF3B,6BAlF2B,WAkF3B,CAAA;EAAA,SAAA,EAAA;UAxEA,2BAAA,CAAA;;;;IA8D4B,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAsBjB,CAAA;EAUX,SAAA,EAAA;;;;CAViC,CAAA,CAAA;AAAA,cApEtB,kBAoEsB,EApEJ,4BAAA,CAAA,SAoEI,6BApEJ,WAoEI,CAAA;;UA1DjC,2BAAA,CAAA;;;;;;;;;;;;;;;;cAaW,iBAAe,4BAAA,CAAA,sCAAA;;UAU1B,2BAAA,CAAA;;;;;;;;;;;;;;;;cAaW,mBAAiB,4BAAA,CAAA,sCAAA;;UAU5B,2BAAA,CAAA;;;;;;;;;;;;;;;;cAYW,wBAAsB,4BAAA,CAAA,sCAAA;;UAUjC,2BAAA,CAAA"}
|
package/dist/events.js
CHANGED
|
@@ -23,7 +23,7 @@ const IntegrationCreatedPayload = defineSchemaModel({
|
|
|
23
23
|
const IntegrationCreatedEvent = defineEvent({
|
|
24
24
|
meta: {
|
|
25
25
|
key: "integration.created",
|
|
26
|
-
version: 1,
|
|
26
|
+
version: "1.0.0",
|
|
27
27
|
description: "Fired when a new integration is created",
|
|
28
28
|
stability: "experimental",
|
|
29
29
|
owners: ["@integration-team"],
|
|
@@ -56,7 +56,7 @@ const ConnectionCreatedPayload = defineSchemaModel({
|
|
|
56
56
|
const ConnectionCreatedEvent = defineEvent({
|
|
57
57
|
meta: {
|
|
58
58
|
key: "integration.connection.created",
|
|
59
|
-
version: 1,
|
|
59
|
+
version: "1.0.0",
|
|
60
60
|
description: "Fired when a new connection is established",
|
|
61
61
|
stability: "experimental",
|
|
62
62
|
owners: ["@integration-team"],
|
|
@@ -89,7 +89,7 @@ const ConnectionStatusChangedPayload = defineSchemaModel({
|
|
|
89
89
|
const ConnectionStatusChangedEvent = defineEvent({
|
|
90
90
|
meta: {
|
|
91
91
|
key: "integration.connection.statusChanged",
|
|
92
|
-
version: 1,
|
|
92
|
+
version: "1.0.0",
|
|
93
93
|
description: "Fired when a connection status changes",
|
|
94
94
|
stability: "experimental",
|
|
95
95
|
owners: ["@integration-team"],
|
|
@@ -118,7 +118,7 @@ const SyncConfigCreatedPayload = defineSchemaModel({
|
|
|
118
118
|
const SyncConfigCreatedEvent = defineEvent({
|
|
119
119
|
meta: {
|
|
120
120
|
key: "integration.syncConfig.created",
|
|
121
|
-
version: 1,
|
|
121
|
+
version: "1.0.0",
|
|
122
122
|
description: "Fired when a sync configuration is created",
|
|
123
123
|
stability: "experimental",
|
|
124
124
|
owners: ["@integration-team"],
|
|
@@ -147,7 +147,7 @@ const SyncStartedPayload = defineSchemaModel({
|
|
|
147
147
|
const SyncStartedEvent = defineEvent({
|
|
148
148
|
meta: {
|
|
149
149
|
key: "integration.sync.started",
|
|
150
|
-
version: 1,
|
|
150
|
+
version: "1.0.0",
|
|
151
151
|
description: "Fired when a sync run starts",
|
|
152
152
|
stability: "experimental",
|
|
153
153
|
owners: ["@integration-team"],
|
|
@@ -180,7 +180,7 @@ const SyncCompletedPayload = defineSchemaModel({
|
|
|
180
180
|
const SyncCompletedEvent = defineEvent({
|
|
181
181
|
meta: {
|
|
182
182
|
key: "integration.sync.completed",
|
|
183
|
-
version: 1,
|
|
183
|
+
version: "1.0.0",
|
|
184
184
|
description: "Fired when a sync run completes successfully",
|
|
185
185
|
stability: "experimental",
|
|
186
186
|
owners: ["@integration-team"],
|
|
@@ -213,7 +213,7 @@ const SyncFailedPayload = defineSchemaModel({
|
|
|
213
213
|
const SyncFailedEvent = defineEvent({
|
|
214
214
|
meta: {
|
|
215
215
|
key: "integration.sync.failed",
|
|
216
|
-
version: 1,
|
|
216
|
+
version: "1.0.0",
|
|
217
217
|
description: "Fired when a sync run fails",
|
|
218
218
|
stability: "experimental",
|
|
219
219
|
owners: ["@integration-team"],
|
|
@@ -246,7 +246,7 @@ const RecordSyncedPayload = defineSchemaModel({
|
|
|
246
246
|
const RecordSyncedEvent = defineEvent({
|
|
247
247
|
meta: {
|
|
248
248
|
key: "integration.record.synced",
|
|
249
|
-
version: 1,
|
|
249
|
+
version: "1.0.0",
|
|
250
250
|
description: "Fired when a single record is synced",
|
|
251
251
|
stability: "experimental",
|
|
252
252
|
owners: ["@integration-team"],
|
|
@@ -275,7 +275,7 @@ const FieldMappingAddedPayload = defineSchemaModel({
|
|
|
275
275
|
const FieldMappingAddedEvent = defineEvent({
|
|
276
276
|
meta: {
|
|
277
277
|
key: "integration.fieldMapping.added",
|
|
278
|
-
version: 1,
|
|
278
|
+
version: "1.0.0",
|
|
279
279
|
description: "Fired when a field mapping is added to a sync config",
|
|
280
280
|
stability: "experimental",
|
|
281
281
|
owners: ["@integration-team"],
|