@contractspec/example.integration-hub 3.8.8 → 3.8.10
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.js +1 -29
- package/dist/connection/connection.operation.js +1 -124
- package/dist/connection/connection.presentation.js +1 -125
- package/dist/connection/connection.schema.js +1 -71
- package/dist/connection/index.js +1 -127
- package/dist/docs/index.js +5 -49
- package/dist/docs/integration-hub.docblock.js +5 -49
- package/dist/events.js +1 -211
- package/dist/example.js +1 -42
- package/dist/handlers/index.js +5 -292
- package/dist/handlers/integration.handlers.js +5 -292
- package/dist/index.js +8 -2355
- package/dist/integration/index.js +1 -92
- package/dist/integration/integration.enum.js +1 -12
- package/dist/integration/integration.operations.js +1 -89
- package/dist/integration/integration.presentation.js +1 -120
- package/dist/integration/integration.schema.js +1 -42
- package/dist/integration-hub.capability.js +1 -43
- package/dist/integration-hub.feature.js +1 -330
- package/dist/mcp-example.js +1 -154
- package/dist/node/connection/connection.enum.js +1 -29
- package/dist/node/connection/connection.operation.js +1 -124
- package/dist/node/connection/connection.presentation.js +1 -125
- package/dist/node/connection/connection.schema.js +1 -71
- package/dist/node/connection/index.js +1 -127
- package/dist/node/docs/index.js +5 -49
- package/dist/node/docs/integration-hub.docblock.js +5 -49
- package/dist/node/events.js +1 -211
- package/dist/node/example.js +1 -42
- package/dist/node/handlers/index.js +5 -292
- package/dist/node/handlers/integration.handlers.js +5 -292
- package/dist/node/index.js +8 -2355
- package/dist/node/integration/index.js +1 -92
- package/dist/node/integration/integration.enum.js +1 -12
- package/dist/node/integration/integration.operations.js +1 -89
- package/dist/node/integration/integration.presentation.js +1 -120
- package/dist/node/integration/integration.schema.js +1 -42
- package/dist/node/integration-hub.capability.js +1 -43
- package/dist/node/integration-hub.feature.js +1 -330
- package/dist/node/mcp-example.js +1 -154
- package/dist/node/run-mcp.js +1 -159
- package/dist/node/seeders/index.js +6 -60
- package/dist/node/sync/index.js +1 -332
- package/dist/node/sync/sync.enum.js +1 -26
- package/dist/node/sync/sync.operations.js +1 -321
- package/dist/node/sync/sync.presentation.js +1 -301
- package/dist/node/sync/sync.schema.js +1 -154
- package/dist/node/sync-engine/index.js +1 -186
- package/dist/node/tests/operations.test-spec.js +1 -85
- package/dist/node/ui/IntegrationDashboard.js +1 -886
- package/dist/node/ui/IntegrationDashboard.visualizations.js +1 -250
- package/dist/node/ui/IntegrationHubChat.js +1 -34
- package/dist/node/ui/hooks/index.js +1 -57
- package/dist/node/ui/hooks/useIntegrationData.js +1 -54
- package/dist/node/ui/index.js +4 -1173
- package/dist/node/ui/renderers/index.js +4 -484
- package/dist/node/ui/renderers/integration.markdown.js +4 -484
- package/dist/node/ui/tables/ConnectionsTable.js +1 -211
- package/dist/node/ui/tables/IntegrationTables.js +1 -361
- package/dist/node/ui/tables/SyncConfigsTable.js +1 -230
- package/dist/node/ui/tables/integration-table.shared.js +1 -84
- package/dist/node/visualizations/catalog.js +1 -137
- package/dist/node/visualizations/index.js +1 -211
- package/dist/node/visualizations/selectors.js +1 -204
- package/dist/run-mcp.js +1 -159
- package/dist/seeders/index.js +6 -60
- package/dist/sync/index.js +1 -332
- package/dist/sync/sync.enum.js +1 -26
- package/dist/sync/sync.operations.js +1 -321
- package/dist/sync/sync.presentation.js +1 -301
- package/dist/sync/sync.schema.js +1 -154
- package/dist/sync-engine/index.js +1 -186
- package/dist/tests/operations.test-spec.js +1 -85
- package/dist/ui/IntegrationDashboard.js +1 -886
- package/dist/ui/IntegrationDashboard.visualizations.js +1 -250
- package/dist/ui/IntegrationHubChat.js +1 -34
- package/dist/ui/hooks/index.js +1 -57
- package/dist/ui/hooks/useIntegrationData.js +1 -54
- package/dist/ui/index.js +4 -1173
- package/dist/ui/renderers/index.js +4 -484
- package/dist/ui/renderers/integration.markdown.js +4 -484
- package/dist/ui/tables/ConnectionsTable.js +1 -211
- package/dist/ui/tables/IntegrationTables.js +1 -361
- package/dist/ui/tables/SyncConfigsTable.js +1 -230
- package/dist/ui/tables/integration-table.shared.js +1 -84
- package/dist/visualizations/catalog.js +1 -137
- package/dist/visualizations/index.js +1 -211
- package/dist/visualizations/selectors.js +1 -204
- package/package.json +14 -14
|
@@ -1,93 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import { defineEnum } from "@contractspec/lib.schema";
|
|
4
|
-
var IntegrationStatusEnum = defineEnum("IntegrationStatus", [
|
|
5
|
-
"DRAFT",
|
|
6
|
-
"ACTIVE",
|
|
7
|
-
"PAUSED",
|
|
8
|
-
"ERROR",
|
|
9
|
-
"ARCHIVED"
|
|
10
|
-
]);
|
|
11
|
-
|
|
12
|
-
// src/integration/integration.schema.ts
|
|
13
|
-
import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
|
|
14
|
-
var IntegrationModel = defineSchemaModel({
|
|
15
|
-
name: "IntegrationModel",
|
|
16
|
-
fields: {
|
|
17
|
-
id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
18
|
-
name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
19
|
-
slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
20
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
21
|
-
provider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
22
|
-
status: { type: IntegrationStatusEnum, isOptional: false },
|
|
23
|
-
createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
var CreateIntegrationInputModel = defineSchemaModel({
|
|
27
|
-
name: "CreateIntegrationInput",
|
|
28
|
-
fields: {
|
|
29
|
-
name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
30
|
-
slug: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
31
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
32
|
-
provider: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
33
|
-
config: { type: ScalarTypeEnum.JSON(), isOptional: true },
|
|
34
|
-
featureFlagKey: {
|
|
35
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
36
|
-
isOptional: true
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
// src/integration/integration.operations.ts
|
|
42
|
-
import { defineCommand } from "@contractspec/lib.contracts-spec/operations";
|
|
43
|
-
var CreateIntegrationContract = defineCommand({
|
|
44
|
-
meta: {
|
|
45
|
-
key: "integration.create",
|
|
46
|
-
version: "1.0.0",
|
|
47
|
-
stability: "stable",
|
|
48
|
-
owners: ["@example.integration-hub"],
|
|
49
|
-
tags: ["integration", "create"],
|
|
50
|
-
description: "Create a new integration.",
|
|
51
|
-
goal: "Allow users to set up integrations with external systems.",
|
|
52
|
-
context: "Integration setup."
|
|
53
|
-
},
|
|
54
|
-
io: { input: CreateIntegrationInputModel, output: IntegrationModel },
|
|
55
|
-
policy: { auth: "user" },
|
|
56
|
-
sideEffects: {
|
|
57
|
-
emits: [
|
|
58
|
-
{
|
|
59
|
-
key: "integration.created",
|
|
60
|
-
version: "1.0.0",
|
|
61
|
-
when: "Integration created",
|
|
62
|
-
payload: IntegrationModel
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
audit: ["integration.created"]
|
|
66
|
-
},
|
|
67
|
-
acceptance: {
|
|
68
|
-
scenarios: [
|
|
69
|
-
{
|
|
70
|
-
key: "create-integration-happy-path",
|
|
71
|
-
given: ["User is admin"],
|
|
72
|
-
when: ["User defines new integration type"],
|
|
73
|
-
then: [
|
|
74
|
-
"Integration definition is created",
|
|
75
|
-
"IntegrationCreated event is emitted"
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
],
|
|
79
|
-
examples: [
|
|
80
|
-
{
|
|
81
|
-
key: "create-slack",
|
|
82
|
-
input: { name: "Slack", category: "communication", authType: "oauth2" },
|
|
83
|
-
output: { id: "slack", status: "active" }
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
export {
|
|
89
|
-
IntegrationStatusEnum,
|
|
90
|
-
IntegrationModel,
|
|
91
|
-
CreateIntegrationInputModel,
|
|
92
|
-
CreateIntegrationContract
|
|
93
|
-
};
|
|
2
|
+
import{defineEnum as v}from"@contractspec/lib.schema";var j=v("IntegrationStatus",["DRAFT","ACTIVE","PAUSED","ERROR","ARCHIVED"]);import{defineSchemaModel as q,ScalarTypeEnum as x}from"@contractspec/lib.schema";var C=q({name:"IntegrationModel",fields:{id:{type:x.String_unsecure(),isOptional:!1},name:{type:x.String_unsecure(),isOptional:!1},slug:{type:x.String_unsecure(),isOptional:!1},description:{type:x.String_unsecure(),isOptional:!0},provider:{type:x.String_unsecure(),isOptional:!1},status:{type:j,isOptional:!1},createdAt:{type:x.DateTime(),isOptional:!1}}}),k=q({name:"CreateIntegrationInput",fields:{name:{type:x.NonEmptyString(),isOptional:!1},slug:{type:x.NonEmptyString(),isOptional:!1},description:{type:x.String_unsecure(),isOptional:!0},provider:{type:x.NonEmptyString(),isOptional:!1},config:{type:x.JSON(),isOptional:!0},featureFlagKey:{type:x.String_unsecure(),isOptional:!0}}});import{defineCommand as w}from"@contractspec/lib.contracts-spec/operations";var z=w({meta:{key:"integration.create",version:"1.0.0",stability:"stable",owners:["@example.integration-hub"],tags:["integration","create"],description:"Create a new integration.",goal:"Allow users to set up integrations with external systems.",context:"Integration setup."},io:{input:k,output:C},policy:{auth:"user"},sideEffects:{emits:[{key:"integration.created",version:"1.0.0",when:"Integration created",payload:C}],audit:["integration.created"]},acceptance:{scenarios:[{key:"create-integration-happy-path",given:["User is admin"],when:["User defines new integration type"],then:["Integration definition is created","IntegrationCreated event is emitted"]}],examples:[{key:"create-slack",input:{name:"Slack",category:"communication",authType:"oauth2"},output:{id:"slack",status:"active"}}]}});export{j as IntegrationStatusEnum,C as IntegrationModel,k as CreateIntegrationInputModel,z as CreateIntegrationContract};
|
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import { defineEnum } from "@contractspec/lib.schema";
|
|
4
|
-
var IntegrationStatusEnum = defineEnum("IntegrationStatus", [
|
|
5
|
-
"DRAFT",
|
|
6
|
-
"ACTIVE",
|
|
7
|
-
"PAUSED",
|
|
8
|
-
"ERROR",
|
|
9
|
-
"ARCHIVED"
|
|
10
|
-
]);
|
|
11
|
-
export {
|
|
12
|
-
IntegrationStatusEnum
|
|
13
|
-
};
|
|
2
|
+
import{defineEnum as j}from"@contractspec/lib.schema";var q=j("IntegrationStatus",["DRAFT","ACTIVE","PAUSED","ERROR","ARCHIVED"]);export{q as IntegrationStatusEnum};
|
|
@@ -1,90 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import { defineEnum } from "@contractspec/lib.schema";
|
|
4
|
-
var IntegrationStatusEnum = defineEnum("IntegrationStatus", [
|
|
5
|
-
"DRAFT",
|
|
6
|
-
"ACTIVE",
|
|
7
|
-
"PAUSED",
|
|
8
|
-
"ERROR",
|
|
9
|
-
"ARCHIVED"
|
|
10
|
-
]);
|
|
11
|
-
|
|
12
|
-
// src/integration/integration.schema.ts
|
|
13
|
-
import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
|
|
14
|
-
var IntegrationModel = defineSchemaModel({
|
|
15
|
-
name: "IntegrationModel",
|
|
16
|
-
fields: {
|
|
17
|
-
id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
18
|
-
name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
19
|
-
slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
20
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
21
|
-
provider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
22
|
-
status: { type: IntegrationStatusEnum, isOptional: false },
|
|
23
|
-
createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
var CreateIntegrationInputModel = defineSchemaModel({
|
|
27
|
-
name: "CreateIntegrationInput",
|
|
28
|
-
fields: {
|
|
29
|
-
name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
30
|
-
slug: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
31
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
32
|
-
provider: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
33
|
-
config: { type: ScalarTypeEnum.JSON(), isOptional: true },
|
|
34
|
-
featureFlagKey: {
|
|
35
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
36
|
-
isOptional: true
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
// src/integration/integration.operations.ts
|
|
42
|
-
import { defineCommand } from "@contractspec/lib.contracts-spec/operations";
|
|
43
|
-
var CreateIntegrationContract = defineCommand({
|
|
44
|
-
meta: {
|
|
45
|
-
key: "integration.create",
|
|
46
|
-
version: "1.0.0",
|
|
47
|
-
stability: "stable",
|
|
48
|
-
owners: ["@example.integration-hub"],
|
|
49
|
-
tags: ["integration", "create"],
|
|
50
|
-
description: "Create a new integration.",
|
|
51
|
-
goal: "Allow users to set up integrations with external systems.",
|
|
52
|
-
context: "Integration setup."
|
|
53
|
-
},
|
|
54
|
-
io: { input: CreateIntegrationInputModel, output: IntegrationModel },
|
|
55
|
-
policy: { auth: "user" },
|
|
56
|
-
sideEffects: {
|
|
57
|
-
emits: [
|
|
58
|
-
{
|
|
59
|
-
key: "integration.created",
|
|
60
|
-
version: "1.0.0",
|
|
61
|
-
when: "Integration created",
|
|
62
|
-
payload: IntegrationModel
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
audit: ["integration.created"]
|
|
66
|
-
},
|
|
67
|
-
acceptance: {
|
|
68
|
-
scenarios: [
|
|
69
|
-
{
|
|
70
|
-
key: "create-integration-happy-path",
|
|
71
|
-
given: ["User is admin"],
|
|
72
|
-
when: ["User defines new integration type"],
|
|
73
|
-
then: [
|
|
74
|
-
"Integration definition is created",
|
|
75
|
-
"IntegrationCreated event is emitted"
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
],
|
|
79
|
-
examples: [
|
|
80
|
-
{
|
|
81
|
-
key: "create-slack",
|
|
82
|
-
input: { name: "Slack", category: "communication", authType: "oauth2" },
|
|
83
|
-
output: { id: "slack", status: "active" }
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
export {
|
|
89
|
-
CreateIntegrationContract
|
|
90
|
-
};
|
|
2
|
+
import{defineEnum as x}from"@contractspec/lib.schema";var q=x("IntegrationStatus",["DRAFT","ACTIVE","PAUSED","ERROR","ARCHIVED"]);import{defineSchemaModel as v,ScalarTypeEnum as j}from"@contractspec/lib.schema";var k=v({name:"IntegrationModel",fields:{id:{type:j.String_unsecure(),isOptional:!1},name:{type:j.String_unsecure(),isOptional:!1},slug:{type:j.String_unsecure(),isOptional:!1},description:{type:j.String_unsecure(),isOptional:!0},provider:{type:j.String_unsecure(),isOptional:!1},status:{type:q,isOptional:!1},createdAt:{type:j.DateTime(),isOptional:!1}}}),w=v({name:"CreateIntegrationInput",fields:{name:{type:j.NonEmptyString(),isOptional:!1},slug:{type:j.NonEmptyString(),isOptional:!1},description:{type:j.String_unsecure(),isOptional:!0},provider:{type:j.NonEmptyString(),isOptional:!1},config:{type:j.JSON(),isOptional:!0},featureFlagKey:{type:j.String_unsecure(),isOptional:!0}}});import{defineCommand as z}from"@contractspec/lib.contracts-spec/operations";var K=z({meta:{key:"integration.create",version:"1.0.0",stability:"stable",owners:["@example.integration-hub"],tags:["integration","create"],description:"Create a new integration.",goal:"Allow users to set up integrations with external systems.",context:"Integration setup."},io:{input:w,output:k},policy:{auth:"user"},sideEffects:{emits:[{key:"integration.created",version:"1.0.0",when:"Integration created",payload:k}],audit:["integration.created"]},acceptance:{scenarios:[{key:"create-integration-happy-path",given:["User is admin"],when:["User defines new integration type"],then:["Integration definition is created","IntegrationCreated event is emitted"]}],examples:[{key:"create-slack",input:{name:"Slack",category:"communication",authType:"oauth2"},output:{id:"slack",status:"active"}}]}});export{K as CreateIntegrationContract};
|
|
@@ -1,121 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import { defineEnum } from "@contractspec/lib.schema";
|
|
4
|
-
var IntegrationStatusEnum = defineEnum("IntegrationStatus", [
|
|
5
|
-
"DRAFT",
|
|
6
|
-
"ACTIVE",
|
|
7
|
-
"PAUSED",
|
|
8
|
-
"ERROR",
|
|
9
|
-
"ARCHIVED"
|
|
10
|
-
]);
|
|
11
|
-
|
|
12
|
-
// src/integration/integration.schema.ts
|
|
13
|
-
import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
|
|
14
|
-
var IntegrationModel = defineSchemaModel({
|
|
15
|
-
name: "IntegrationModel",
|
|
16
|
-
fields: {
|
|
17
|
-
id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
18
|
-
name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
19
|
-
slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
20
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
21
|
-
provider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
22
|
-
status: { type: IntegrationStatusEnum, isOptional: false },
|
|
23
|
-
createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
var CreateIntegrationInputModel = defineSchemaModel({
|
|
27
|
-
name: "CreateIntegrationInput",
|
|
28
|
-
fields: {
|
|
29
|
-
name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
30
|
-
slug: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
31
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
32
|
-
provider: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
33
|
-
config: { type: ScalarTypeEnum.JSON(), isOptional: true },
|
|
34
|
-
featureFlagKey: {
|
|
35
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
36
|
-
isOptional: true
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
// src/integration/integration.presentation.ts
|
|
42
|
-
import {
|
|
43
|
-
definePresentation,
|
|
44
|
-
StabilityEnum
|
|
45
|
-
} from "@contractspec/lib.contracts-spec";
|
|
46
|
-
var IntegrationListPresentation = definePresentation({
|
|
47
|
-
meta: {
|
|
48
|
-
key: "integration.list",
|
|
49
|
-
version: "1.0.0",
|
|
50
|
-
title: "Integration List",
|
|
51
|
-
description: "List of available integrations",
|
|
52
|
-
domain: "integration",
|
|
53
|
-
owners: ["@integration-team"],
|
|
54
|
-
tags: ["integration", "list"],
|
|
55
|
-
stability: StabilityEnum.Experimental,
|
|
56
|
-
goal: "Show users available integrations they can connect to.",
|
|
57
|
-
context: "The marketplace of integrations within the hub."
|
|
58
|
-
},
|
|
59
|
-
source: {
|
|
60
|
-
type: "component",
|
|
61
|
-
framework: "react",
|
|
62
|
-
componentKey: "IntegrationList",
|
|
63
|
-
props: IntegrationModel
|
|
64
|
-
},
|
|
65
|
-
targets: ["react", "markdown"],
|
|
66
|
-
policy: {
|
|
67
|
-
flags: ["integration.enabled"]
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
var IntegrationDetailPresentation = definePresentation({
|
|
71
|
-
meta: {
|
|
72
|
-
key: "integration.detail",
|
|
73
|
-
version: "1.0.0",
|
|
74
|
-
title: "Integration Details",
|
|
75
|
-
description: "Detailed view of an integration",
|
|
76
|
-
domain: "integration",
|
|
77
|
-
owners: ["@integration-team"],
|
|
78
|
-
tags: ["integration", "detail"],
|
|
79
|
-
stability: StabilityEnum.Experimental,
|
|
80
|
-
goal: "Show capabilities and documentation for a specific integration.",
|
|
81
|
-
context: "Integration showcase and support page."
|
|
82
|
-
},
|
|
83
|
-
source: {
|
|
84
|
-
type: "component",
|
|
85
|
-
framework: "react",
|
|
86
|
-
componentKey: "IntegrationDetail",
|
|
87
|
-
props: IntegrationModel
|
|
88
|
-
},
|
|
89
|
-
targets: ["react", "markdown"],
|
|
90
|
-
policy: {
|
|
91
|
-
flags: ["integration.enabled"]
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
var IntegrationHealthPresentation = definePresentation({
|
|
95
|
-
meta: {
|
|
96
|
-
key: "integration.health",
|
|
97
|
-
version: "1.0.0",
|
|
98
|
-
title: "Integration Health",
|
|
99
|
-
description: "Integration health monitoring dashboard",
|
|
100
|
-
domain: "integration",
|
|
101
|
-
owners: ["@integration-team"],
|
|
102
|
-
tags: ["integration", "health", "monitoring"],
|
|
103
|
-
stability: StabilityEnum.Experimental,
|
|
104
|
-
goal: "Monitor connectivity and error rates for active integrations.",
|
|
105
|
-
context: "Operations dashboard for integration hub health."
|
|
106
|
-
},
|
|
107
|
-
source: {
|
|
108
|
-
type: "component",
|
|
109
|
-
framework: "react",
|
|
110
|
-
componentKey: "IntegrationHealth"
|
|
111
|
-
},
|
|
112
|
-
targets: ["react", "markdown"],
|
|
113
|
-
policy: {
|
|
114
|
-
flags: ["integration.monitoring.enabled"]
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
export {
|
|
118
|
-
IntegrationListPresentation,
|
|
119
|
-
IntegrationHealthPresentation,
|
|
120
|
-
IntegrationDetailPresentation
|
|
121
|
-
};
|
|
2
|
+
import{defineEnum as z}from"@contractspec/lib.schema";var w=z("IntegrationStatus",["DRAFT","ACTIVE","PAUSED","ERROR","ARCHIVED"]);import{defineSchemaModel as x,ScalarTypeEnum as j}from"@contractspec/lib.schema";var k=x({name:"IntegrationModel",fields:{id:{type:j.String_unsecure(),isOptional:!1},name:{type:j.String_unsecure(),isOptional:!1},slug:{type:j.String_unsecure(),isOptional:!1},description:{type:j.String_unsecure(),isOptional:!0},provider:{type:j.String_unsecure(),isOptional:!1},status:{type:w,isOptional:!1},createdAt:{type:j.DateTime(),isOptional:!1}}}),F=x({name:"CreateIntegrationInput",fields:{name:{type:j.NonEmptyString(),isOptional:!1},slug:{type:j.NonEmptyString(),isOptional:!1},description:{type:j.String_unsecure(),isOptional:!0},provider:{type:j.NonEmptyString(),isOptional:!1},config:{type:j.JSON(),isOptional:!0},featureFlagKey:{type:j.String_unsecure(),isOptional:!0}}});import{definePresentation as q,StabilityEnum as v}from"@contractspec/lib.contracts-spec";var K=q({meta:{key:"integration.list",version:"1.0.0",title:"Integration List",description:"List of available integrations",domain:"integration",owners:["@integration-team"],tags:["integration","list"],stability:v.Experimental,goal:"Show users available integrations they can connect to.",context:"The marketplace of integrations within the hub."},source:{type:"component",framework:"react",componentKey:"IntegrationList",props:k},targets:["react","markdown"],policy:{flags:["integration.enabled"]}}),L=q({meta:{key:"integration.detail",version:"1.0.0",title:"Integration Details",description:"Detailed view of an integration",domain:"integration",owners:["@integration-team"],tags:["integration","detail"],stability:v.Experimental,goal:"Show capabilities and documentation for a specific integration.",context:"Integration showcase and support page."},source:{type:"component",framework:"react",componentKey:"IntegrationDetail",props:k},targets:["react","markdown"],policy:{flags:["integration.enabled"]}}),N=q({meta:{key:"integration.health",version:"1.0.0",title:"Integration Health",description:"Integration health monitoring dashboard",domain:"integration",owners:["@integration-team"],tags:["integration","health","monitoring"],stability:v.Experimental,goal:"Monitor connectivity and error rates for active integrations.",context:"Operations dashboard for integration hub health."},source:{type:"component",framework:"react",componentKey:"IntegrationHealth"},targets:["react","markdown"],policy:{flags:["integration.monitoring.enabled"]}});export{K as IntegrationListPresentation,N as IntegrationHealthPresentation,L as IntegrationDetailPresentation};
|
|
@@ -1,43 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import { defineEnum } from "@contractspec/lib.schema";
|
|
4
|
-
var IntegrationStatusEnum = defineEnum("IntegrationStatus", [
|
|
5
|
-
"DRAFT",
|
|
6
|
-
"ACTIVE",
|
|
7
|
-
"PAUSED",
|
|
8
|
-
"ERROR",
|
|
9
|
-
"ARCHIVED"
|
|
10
|
-
]);
|
|
11
|
-
|
|
12
|
-
// src/integration/integration.schema.ts
|
|
13
|
-
import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
|
|
14
|
-
var IntegrationModel = defineSchemaModel({
|
|
15
|
-
name: "IntegrationModel",
|
|
16
|
-
fields: {
|
|
17
|
-
id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
18
|
-
name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
19
|
-
slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
20
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
21
|
-
provider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
|
|
22
|
-
status: { type: IntegrationStatusEnum, isOptional: false },
|
|
23
|
-
createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
var CreateIntegrationInputModel = defineSchemaModel({
|
|
27
|
-
name: "CreateIntegrationInput",
|
|
28
|
-
fields: {
|
|
29
|
-
name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
30
|
-
slug: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
31
|
-
description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
|
|
32
|
-
provider: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
|
|
33
|
-
config: { type: ScalarTypeEnum.JSON(), isOptional: true },
|
|
34
|
-
featureFlagKey: {
|
|
35
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
36
|
-
isOptional: true
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
export {
|
|
41
|
-
IntegrationModel,
|
|
42
|
-
CreateIntegrationInputModel
|
|
43
|
-
};
|
|
2
|
+
import{defineEnum as v}from"@contractspec/lib.schema";var k=v("IntegrationStatus",["DRAFT","ACTIVE","PAUSED","ERROR","ARCHIVED"]);import{defineSchemaModel as q,ScalarTypeEnum as j}from"@contractspec/lib.schema";var B=q({name:"IntegrationModel",fields:{id:{type:j.String_unsecure(),isOptional:!1},name:{type:j.String_unsecure(),isOptional:!1},slug:{type:j.String_unsecure(),isOptional:!1},description:{type:j.String_unsecure(),isOptional:!0},provider:{type:j.String_unsecure(),isOptional:!1},status:{type:k,isOptional:!1},createdAt:{type:j.DateTime(),isOptional:!1}}}),C=q({name:"CreateIntegrationInput",fields:{name:{type:j.NonEmptyString(),isOptional:!1},slug:{type:j.NonEmptyString(),isOptional:!1},description:{type:j.String_unsecure(),isOptional:!0},provider:{type:j.NonEmptyString(),isOptional:!1},config:{type:j.JSON(),isOptional:!0},featureFlagKey:{type:j.String_unsecure(),isOptional:!0}}});export{B as IntegrationModel,C as CreateIntegrationInputModel};
|
|
@@ -1,44 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
defineCapability,
|
|
5
|
-
StabilityEnum
|
|
6
|
-
} from "@contractspec/lib.contracts-spec";
|
|
7
|
-
var IntegrationCapability = defineCapability({
|
|
8
|
-
meta: {
|
|
9
|
-
key: "integration",
|
|
10
|
-
version: "1.0.0",
|
|
11
|
-
kind: "integration",
|
|
12
|
-
stability: StabilityEnum.Experimental,
|
|
13
|
-
description: "Third-party integration connections",
|
|
14
|
-
owners: ["platform.core"],
|
|
15
|
-
tags: ["integration", "connections"]
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
var SyncCapability = defineCapability({
|
|
19
|
-
meta: {
|
|
20
|
-
key: "sync",
|
|
21
|
-
version: "1.0.0",
|
|
22
|
-
kind: "api",
|
|
23
|
-
stability: StabilityEnum.Experimental,
|
|
24
|
-
description: "Data synchronization between systems",
|
|
25
|
-
owners: ["platform.core"],
|
|
26
|
-
tags: ["sync", "data"]
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
var EtlCapability = defineCapability({
|
|
30
|
-
meta: {
|
|
31
|
-
key: "etl",
|
|
32
|
-
version: "1.0.0",
|
|
33
|
-
kind: "api",
|
|
34
|
-
stability: StabilityEnum.Experimental,
|
|
35
|
-
description: "Extract, transform, load data pipelines",
|
|
36
|
-
owners: ["platform.core"],
|
|
37
|
-
tags: ["etl", "data", "pipeline"]
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
export {
|
|
41
|
-
SyncCapability,
|
|
42
|
-
IntegrationCapability,
|
|
43
|
-
EtlCapability
|
|
44
|
-
};
|
|
2
|
+
import{defineCapability as g,StabilityEnum as h}from"@contractspec/lib.contracts-spec";var k=g({meta:{key:"integration",version:"1.0.0",kind:"integration",stability:h.Experimental,description:"Third-party integration connections",owners:["platform.core"],tags:["integration","connections"]}}),q=g({meta:{key:"sync",version:"1.0.0",kind:"api",stability:h.Experimental,description:"Data synchronization between systems",owners:["platform.core"],tags:["sync","data"]}}),v=g({meta:{key:"etl",version:"1.0.0",kind:"api",stability:h.Experimental,description:"Extract, transform, load data pipelines",owners:["platform.core"],tags:["etl","data","pipeline"]}});export{q as SyncCapability,k as IntegrationCapability,v as EtlCapability};
|