@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.
Files changed (89) hide show
  1. package/dist/connection/connection.enum.js +1 -29
  2. package/dist/connection/connection.operation.js +1 -124
  3. package/dist/connection/connection.presentation.js +1 -125
  4. package/dist/connection/connection.schema.js +1 -71
  5. package/dist/connection/index.js +1 -127
  6. package/dist/docs/index.js +5 -49
  7. package/dist/docs/integration-hub.docblock.js +5 -49
  8. package/dist/events.js +1 -211
  9. package/dist/example.js +1 -42
  10. package/dist/handlers/index.js +5 -292
  11. package/dist/handlers/integration.handlers.js +5 -292
  12. package/dist/index.js +8 -2355
  13. package/dist/integration/index.js +1 -92
  14. package/dist/integration/integration.enum.js +1 -12
  15. package/dist/integration/integration.operations.js +1 -89
  16. package/dist/integration/integration.presentation.js +1 -120
  17. package/dist/integration/integration.schema.js +1 -42
  18. package/dist/integration-hub.capability.js +1 -43
  19. package/dist/integration-hub.feature.js +1 -330
  20. package/dist/mcp-example.js +1 -154
  21. package/dist/node/connection/connection.enum.js +1 -29
  22. package/dist/node/connection/connection.operation.js +1 -124
  23. package/dist/node/connection/connection.presentation.js +1 -125
  24. package/dist/node/connection/connection.schema.js +1 -71
  25. package/dist/node/connection/index.js +1 -127
  26. package/dist/node/docs/index.js +5 -49
  27. package/dist/node/docs/integration-hub.docblock.js +5 -49
  28. package/dist/node/events.js +1 -211
  29. package/dist/node/example.js +1 -42
  30. package/dist/node/handlers/index.js +5 -292
  31. package/dist/node/handlers/integration.handlers.js +5 -292
  32. package/dist/node/index.js +8 -2355
  33. package/dist/node/integration/index.js +1 -92
  34. package/dist/node/integration/integration.enum.js +1 -12
  35. package/dist/node/integration/integration.operations.js +1 -89
  36. package/dist/node/integration/integration.presentation.js +1 -120
  37. package/dist/node/integration/integration.schema.js +1 -42
  38. package/dist/node/integration-hub.capability.js +1 -43
  39. package/dist/node/integration-hub.feature.js +1 -330
  40. package/dist/node/mcp-example.js +1 -154
  41. package/dist/node/run-mcp.js +1 -159
  42. package/dist/node/seeders/index.js +6 -60
  43. package/dist/node/sync/index.js +1 -332
  44. package/dist/node/sync/sync.enum.js +1 -26
  45. package/dist/node/sync/sync.operations.js +1 -321
  46. package/dist/node/sync/sync.presentation.js +1 -301
  47. package/dist/node/sync/sync.schema.js +1 -154
  48. package/dist/node/sync-engine/index.js +1 -186
  49. package/dist/node/tests/operations.test-spec.js +1 -85
  50. package/dist/node/ui/IntegrationDashboard.js +1 -886
  51. package/dist/node/ui/IntegrationDashboard.visualizations.js +1 -250
  52. package/dist/node/ui/IntegrationHubChat.js +1 -34
  53. package/dist/node/ui/hooks/index.js +1 -57
  54. package/dist/node/ui/hooks/useIntegrationData.js +1 -54
  55. package/dist/node/ui/index.js +4 -1173
  56. package/dist/node/ui/renderers/index.js +4 -484
  57. package/dist/node/ui/renderers/integration.markdown.js +4 -484
  58. package/dist/node/ui/tables/ConnectionsTable.js +1 -211
  59. package/dist/node/ui/tables/IntegrationTables.js +1 -361
  60. package/dist/node/ui/tables/SyncConfigsTable.js +1 -230
  61. package/dist/node/ui/tables/integration-table.shared.js +1 -84
  62. package/dist/node/visualizations/catalog.js +1 -137
  63. package/dist/node/visualizations/index.js +1 -211
  64. package/dist/node/visualizations/selectors.js +1 -204
  65. package/dist/run-mcp.js +1 -159
  66. package/dist/seeders/index.js +6 -60
  67. package/dist/sync/index.js +1 -332
  68. package/dist/sync/sync.enum.js +1 -26
  69. package/dist/sync/sync.operations.js +1 -321
  70. package/dist/sync/sync.presentation.js +1 -301
  71. package/dist/sync/sync.schema.js +1 -154
  72. package/dist/sync-engine/index.js +1 -186
  73. package/dist/tests/operations.test-spec.js +1 -85
  74. package/dist/ui/IntegrationDashboard.js +1 -886
  75. package/dist/ui/IntegrationDashboard.visualizations.js +1 -250
  76. package/dist/ui/IntegrationHubChat.js +1 -34
  77. package/dist/ui/hooks/index.js +1 -57
  78. package/dist/ui/hooks/useIntegrationData.js +1 -54
  79. package/dist/ui/index.js +4 -1173
  80. package/dist/ui/renderers/index.js +4 -484
  81. package/dist/ui/renderers/integration.markdown.js +4 -484
  82. package/dist/ui/tables/ConnectionsTable.js +1 -211
  83. package/dist/ui/tables/IntegrationTables.js +1 -361
  84. package/dist/ui/tables/SyncConfigsTable.js +1 -230
  85. package/dist/ui/tables/integration-table.shared.js +1 -84
  86. package/dist/visualizations/catalog.js +1 -137
  87. package/dist/visualizations/index.js +1 -211
  88. package/dist/visualizations/selectors.js +1 -204
  89. package/package.json +14 -14
@@ -1,93 +1,2 @@
1
1
  // @bun
2
- // src/integration/integration.enum.ts
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
- // src/integration/integration.enum.ts
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
- // src/integration/integration.enum.ts
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
- // src/integration/integration.enum.ts
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
- // src/integration/integration.enum.ts
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
- // src/integration-hub.capability.ts
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};