@contractspec/module.examples 1.45.0 → 1.45.2
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/index.js +1 -2
- package/dist/registry.d.ts +2 -2
- package/dist/registry.js +2 -3
- package/dist/registry.js.map +1 -1
- package/package.json +38 -37
- package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +0 -6
- package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +0 -1
- package/dist/libs/contracts/dist/app-config/spec.js +0 -1
- package/dist/libs/contracts/dist/capabilities/capabilities.js +0 -1
- package/dist/libs/contracts/dist/capabilities/index.js +0 -2
- package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -89
- package/dist/libs/contracts/dist/capabilities/openbanking.js.map +0 -1
- package/dist/libs/contracts/dist/client/index.js +0 -5
- package/dist/libs/contracts/dist/client/react/feature-render.js +0 -3
- package/dist/libs/contracts/dist/client/react/form-render.js +0 -6
- package/dist/libs/contracts/dist/client/react/index.js +0 -4
- package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -61
- package/dist/libs/contracts/dist/contract-registry/schemas.js.map +0 -1
- package/dist/libs/contracts/dist/data-views/index.js +0 -1
- package/dist/libs/contracts/dist/data-views/registry.js +0 -1
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -17
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/index.js +0 -27
- package/dist/libs/contracts/dist/docs/meta.docs.js +0 -30
- package/dist/libs/contracts/dist/docs/meta.docs.js.map +0 -1
- package/dist/libs/contracts/dist/docs/presentations.js +0 -57
- package/dist/libs/contracts/dist/docs/presentations.js.map +0 -1
- package/dist/libs/contracts/dist/docs/registry.js +0 -45
- package/dist/libs/contracts/dist/docs/registry.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -81
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -58
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-import.docblock.js +0 -65
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-import.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -17
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -358
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -38
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -17
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -21
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -49
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -85
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -46
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -68
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -41
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -70
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -63
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -156
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -21
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -102
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +0 -97
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +0 -1
- package/dist/libs/contracts/dist/events.js +0 -2
- package/dist/libs/contracts/dist/examples/index.js +0 -3
- package/dist/libs/contracts/dist/examples/registry.js +0 -145
- package/dist/libs/contracts/dist/examples/registry.js.map +0 -1
- package/dist/libs/contracts/dist/examples/schema.js +0 -102
- package/dist/libs/contracts/dist/examples/schema.js.map +0 -1
- package/dist/libs/contracts/dist/examples/validation.js +0 -1
- package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
- package/dist/libs/contracts/dist/experiments/spec.js +0 -1
- package/dist/libs/contracts/dist/features/index.js +0 -1
- package/dist/libs/contracts/dist/features/registry.js +0 -7
- package/dist/libs/contracts/dist/features/registry.js.map +0 -1
- package/dist/libs/contracts/dist/forms/forms.js +0 -2
- package/dist/libs/contracts/dist/forms/index.js +0 -1
- package/dist/libs/contracts/dist/index.js +0 -109
- package/dist/libs/contracts/dist/index.js.map +0 -1
- package/dist/libs/contracts/dist/install.js +0 -2
- package/dist/libs/contracts/dist/integrations/index.js +0 -19
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -230
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -161
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -212
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -243
- package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -14
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/operations.js +0 -384
- package/dist/libs/contracts/dist/integrations/operations.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
- package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
- package/dist/libs/contracts/dist/integrations/providers/powens.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
- package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +0 -1
- package/dist/libs/contracts/dist/integrations/spec.js +0 -1
- package/dist/libs/contracts/dist/jsonschema.js +0 -1
- package/dist/libs/contracts/dist/knowledge/index.js +0 -8
- package/dist/libs/contracts/dist/knowledge/operations.js +0 -313
- package/dist/libs/contracts/dist/knowledge/operations.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
- package/dist/libs/contracts/dist/knowledge/spec.js +0 -1
- package/dist/libs/contracts/dist/llm/exporters.js +0 -21
- package/dist/libs/contracts/dist/llm/exporters.js.map +0 -1
- package/dist/libs/contracts/dist/llm/index.js +0 -2
- package/dist/libs/contracts/dist/llm/prompts.js +0 -1
- package/dist/libs/contracts/dist/migrations.js +0 -1
- package/dist/libs/contracts/dist/model-registry.js +0 -1
- package/dist/libs/contracts/dist/onboarding-base.js +0 -198
- package/dist/libs/contracts/dist/onboarding-base.js.map +0 -1
- package/dist/libs/contracts/dist/openapi.js +0 -2
- package/dist/libs/contracts/dist/operations/index.js +0 -2
- package/dist/libs/contracts/dist/operations/operation.js +0 -35
- package/dist/libs/contracts/dist/operations/operation.js.map +0 -1
- package/dist/libs/contracts/dist/operations/registry.js +0 -2
- package/dist/libs/contracts/dist/ownership.js +0 -22
- package/dist/libs/contracts/dist/ownership.js.map +0 -1
- package/dist/libs/contracts/dist/policy/engine.js +0 -1
- package/dist/libs/contracts/dist/policy/index.js +0 -2
- package/dist/libs/contracts/dist/policy/registry.js +0 -1
- package/dist/libs/contracts/dist/presentations/index.js +0 -2
- package/dist/libs/contracts/dist/presentations/registry.js +0 -1
- package/dist/libs/contracts/dist/presentations/transform-engine.js +0 -13
- package/dist/libs/contracts/dist/presentations/transform-engine.js.map +0 -1
- package/dist/libs/contracts/dist/prompt.js +0 -1
- package/dist/libs/contracts/dist/promptRegistry.js +0 -2
- package/dist/libs/contracts/dist/regenerator/index.js +0 -1
- package/dist/libs/contracts/dist/regenerator/service.js +0 -5
- package/dist/libs/contracts/dist/regenerator/service.js.map +0 -1
- package/dist/libs/contracts/dist/registry-utils.js +0 -71
- package/dist/libs/contracts/dist/registry-utils.js.map +0 -1
- package/dist/libs/contracts/dist/registry.js +0 -8
- package/dist/libs/contracts/dist/registry.js.map +0 -1
- package/dist/libs/contracts/dist/resources.js +0 -1
- package/dist/libs/contracts/dist/schema-to-markdown.js +0 -1
- package/dist/libs/contracts/dist/server/contracts-adapter-input.js +0 -1
- package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -8
- package/dist/libs/contracts/dist/server/index.js +0 -8
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
- package/dist/libs/contracts/dist/server/rest-express.js +0 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
- package/dist/libs/contracts/dist/telemetry/index.js +0 -2
- package/dist/libs/contracts/dist/telemetry/spec.js +0 -2
- package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
- package/dist/libs/contracts/dist/tests/index.js +0 -2
- package/dist/libs/contracts/dist/tests/runner.js +0 -2
- package/dist/libs/contracts/dist/tests/spec.js +0 -1
- package/dist/libs/contracts/dist/themes.js +0 -1
- package/dist/libs/contracts/dist/workflow/index.js +0 -2
- package/dist/libs/contracts/dist/workflow/overview.docblock.js +0 -21
- package/dist/libs/contracts/dist/workflow/overview.docblock.js.map +0 -1
- package/dist/libs/contracts/dist/workflow/runner.js +0 -1
- package/dist/libs/contracts/dist/workflow/spec.js +0 -1
- package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +0 -263
- package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +0 -1
- package/dist/libs/contracts/dist/workspace-config/index.js +0 -1
- package/dist/libs/contracts/dist/workspace-config/workspace-config.docblock.js +0 -45
- package/dist/libs/contracts/dist/workspace-config/workspace-config.docblock.js.map +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -2
- package/dist/libs/schema/dist/FieldType.js +0 -50
- package/dist/libs/schema/dist/FieldType.js.map +0 -1
- package/dist/libs/schema/dist/GraphQLSchemaType.js +0 -1
- package/dist/libs/schema/dist/JsonSchemaType.js +0 -1
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -237
- package/dist/libs/schema/dist/ScalarTypeEnum.js.map +0 -1
- package/dist/libs/schema/dist/SchemaModel.js +0 -35
- package/dist/libs/schema/dist/SchemaModel.js.map +0 -1
- package/dist/libs/schema/dist/ZodSchemaType.js +0 -1
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/index.js +0 -9
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/openbanking/telemetry.js"],"sourcesContent":["//#region src/integrations/openbanking/telemetry.ts\nconst OPENBANKING_PII_FIELDS = [\n\t\"iban\",\n\t\"bic\",\n\t\"accountNumberMasked\",\n\t\"accountNumber\",\n\t\"counterpartyName\",\n\t\"counterpartyAccount\",\n\t\"description\",\n\t\"merchantName\",\n\t\"merchantCategoryCode\",\n\t\"reference\"\n];\nconst OPENBANKING_TELEMETRY_EVENTS = {\n\taccountsSynced: \"openbanking.accounts.synced\",\n\taccountsSyncFailed: \"openbanking.accounts.sync_failed\",\n\ttransactionsSynced: \"openbanking.transactions.synced\",\n\ttransactionsSyncFailed: \"openbanking.transactions.sync_failed\",\n\tbalancesRefreshed: \"openbanking.balances.refreshed\",\n\tbalancesRefreshFailed: \"openbanking.balances.refresh_failed\",\n\toverviewGenerated: \"openbanking.overview.generated\"\n};\nfunction redactOpenBankingTelemetryPayload(payload) {\n\tconst redacted = {};\n\tfor (const [key, value] of Object.entries(payload)) if (OPENBANKING_PII_FIELDS.includes(key)) redacted[key] = maskValue(value);\n\telse if (Array.isArray(value)) redacted[key] = value.map((item) => typeof item === \"object\" && item !== null ? redactOpenBankingTelemetryPayload(item) : item);\n\telse if (typeof value === \"object\" && value !== null) redacted[key] = redactOpenBankingTelemetryPayload(value);\n\telse redacted[key] = value;\n\treturn redacted;\n}\nfunction maskValue(value) {\n\tif (value == null) return \"\";\n\tconst str = String(value);\n\tif (str.length <= 4) return \"*\".repeat(str.length);\n\treturn `${\"*\".repeat(Math.max(str.length - 4, 0))}${str.slice(-4)}`;\n}\n\n//#endregion\nexport { OPENBANKING_PII_FIELDS, OPENBANKING_TELEMETRY_EVENTS, redactOpenBankingTelemetryPayload };"],"mappings":";AAaA,MAAM,+BAA+B;CACpC,gBAAgB;CAChB,oBAAoB;CACpB,oBAAoB;CACpB,wBAAwB;CACxB,mBAAmB;CACnB,uBAAuB;CACvB,mBAAmB;CACnB"}
|
|
@@ -1,384 +0,0 @@
|
|
|
1
|
-
import { ScalarTypeEnum } from "../../../schema/dist/ScalarTypeEnum.js";
|
|
2
|
-
import { SchemaModel } from "../../../schema/dist/SchemaModel.js";
|
|
3
|
-
import "../../../schema/dist/index.js";
|
|
4
|
-
import { defineCommand, defineQuery } from "../operations/operation.js";
|
|
5
|
-
import "../operations/index.js";
|
|
6
|
-
|
|
7
|
-
//#region ../../libs/contracts/dist/integrations/operations.js
|
|
8
|
-
const IntegrationConnectionRecord = new SchemaModel({
|
|
9
|
-
name: "IntegrationConnectionRecord",
|
|
10
|
-
fields: {
|
|
11
|
-
id: {
|
|
12
|
-
type: ScalarTypeEnum.ID(),
|
|
13
|
-
isOptional: false
|
|
14
|
-
},
|
|
15
|
-
tenantId: {
|
|
16
|
-
type: ScalarTypeEnum.ID(),
|
|
17
|
-
isOptional: false
|
|
18
|
-
},
|
|
19
|
-
integrationKey: {
|
|
20
|
-
type: ScalarTypeEnum.NonEmptyString(),
|
|
21
|
-
isOptional: false
|
|
22
|
-
},
|
|
23
|
-
integrationVersion: {
|
|
24
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
25
|
-
isOptional: false
|
|
26
|
-
},
|
|
27
|
-
label: {
|
|
28
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
29
|
-
isOptional: false
|
|
30
|
-
},
|
|
31
|
-
ownershipMode: {
|
|
32
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
33
|
-
isOptional: false
|
|
34
|
-
},
|
|
35
|
-
externalAccountId: {
|
|
36
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
37
|
-
isOptional: true
|
|
38
|
-
},
|
|
39
|
-
secretProvider: {
|
|
40
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
41
|
-
isOptional: false
|
|
42
|
-
},
|
|
43
|
-
secretRef: {
|
|
44
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
45
|
-
isOptional: false
|
|
46
|
-
},
|
|
47
|
-
status: {
|
|
48
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
49
|
-
isOptional: false
|
|
50
|
-
},
|
|
51
|
-
environment: {
|
|
52
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
53
|
-
isOptional: true
|
|
54
|
-
},
|
|
55
|
-
healthStatus: {
|
|
56
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
57
|
-
isOptional: true
|
|
58
|
-
},
|
|
59
|
-
healthCheckedAt: {
|
|
60
|
-
type: ScalarTypeEnum.DateTime(),
|
|
61
|
-
isOptional: true
|
|
62
|
-
},
|
|
63
|
-
healthLatencyMs: {
|
|
64
|
-
type: ScalarTypeEnum.Float_unsecure(),
|
|
65
|
-
isOptional: true
|
|
66
|
-
},
|
|
67
|
-
healthErrorCode: {
|
|
68
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
69
|
-
isOptional: true
|
|
70
|
-
},
|
|
71
|
-
healthErrorMessage: {
|
|
72
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
73
|
-
isOptional: true
|
|
74
|
-
},
|
|
75
|
-
usageRequestCount: {
|
|
76
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
77
|
-
isOptional: true
|
|
78
|
-
},
|
|
79
|
-
usageSuccessCount: {
|
|
80
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
81
|
-
isOptional: true
|
|
82
|
-
},
|
|
83
|
-
usageErrorCount: {
|
|
84
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
85
|
-
isOptional: true
|
|
86
|
-
},
|
|
87
|
-
usageLastUsedAt: {
|
|
88
|
-
type: ScalarTypeEnum.DateTime(),
|
|
89
|
-
isOptional: true
|
|
90
|
-
},
|
|
91
|
-
usageLastErrorAt: {
|
|
92
|
-
type: ScalarTypeEnum.DateTime(),
|
|
93
|
-
isOptional: true
|
|
94
|
-
},
|
|
95
|
-
usageLastErrorCode: {
|
|
96
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
97
|
-
isOptional: true
|
|
98
|
-
},
|
|
99
|
-
createdAt: {
|
|
100
|
-
type: ScalarTypeEnum.DateTime(),
|
|
101
|
-
isOptional: true
|
|
102
|
-
},
|
|
103
|
-
updatedAt: {
|
|
104
|
-
type: ScalarTypeEnum.DateTime(),
|
|
105
|
-
isOptional: true
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
const CreateIntegrationConnectionInput = new SchemaModel({
|
|
110
|
-
name: "CreateIntegrationConnectionInput",
|
|
111
|
-
fields: {
|
|
112
|
-
tenantId: {
|
|
113
|
-
type: ScalarTypeEnum.ID(),
|
|
114
|
-
isOptional: false
|
|
115
|
-
},
|
|
116
|
-
integrationKey: {
|
|
117
|
-
type: ScalarTypeEnum.NonEmptyString(),
|
|
118
|
-
isOptional: false
|
|
119
|
-
},
|
|
120
|
-
integrationVersion: {
|
|
121
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
122
|
-
isOptional: false
|
|
123
|
-
},
|
|
124
|
-
label: {
|
|
125
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
126
|
-
isOptional: false
|
|
127
|
-
},
|
|
128
|
-
ownershipMode: {
|
|
129
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
130
|
-
isOptional: false
|
|
131
|
-
},
|
|
132
|
-
externalAccountId: {
|
|
133
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
134
|
-
isOptional: true
|
|
135
|
-
},
|
|
136
|
-
secretProvider: {
|
|
137
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
138
|
-
isOptional: false
|
|
139
|
-
},
|
|
140
|
-
secretRef: {
|
|
141
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
142
|
-
isOptional: false
|
|
143
|
-
},
|
|
144
|
-
environment: {
|
|
145
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
146
|
-
isOptional: true
|
|
147
|
-
},
|
|
148
|
-
config: {
|
|
149
|
-
type: ScalarTypeEnum.JSONObject(),
|
|
150
|
-
isOptional: false
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
const UpdateIntegrationConnectionInput = new SchemaModel({
|
|
155
|
-
name: "UpdateIntegrationConnectionInput",
|
|
156
|
-
fields: {
|
|
157
|
-
connectionId: {
|
|
158
|
-
type: ScalarTypeEnum.ID(),
|
|
159
|
-
isOptional: false
|
|
160
|
-
},
|
|
161
|
-
label: {
|
|
162
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
163
|
-
isOptional: true
|
|
164
|
-
},
|
|
165
|
-
status: {
|
|
166
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
167
|
-
isOptional: true
|
|
168
|
-
},
|
|
169
|
-
ownershipMode: {
|
|
170
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
171
|
-
isOptional: true
|
|
172
|
-
},
|
|
173
|
-
externalAccountId: {
|
|
174
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
175
|
-
isOptional: true
|
|
176
|
-
},
|
|
177
|
-
secretProvider: {
|
|
178
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
179
|
-
isOptional: true
|
|
180
|
-
},
|
|
181
|
-
secretRef: {
|
|
182
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
183
|
-
isOptional: true
|
|
184
|
-
},
|
|
185
|
-
config: {
|
|
186
|
-
type: ScalarTypeEnum.JSONObject(),
|
|
187
|
-
isOptional: true
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
const DeleteIntegrationConnectionInput = new SchemaModel({
|
|
192
|
-
name: "DeleteIntegrationConnectionInput",
|
|
193
|
-
fields: { connectionId: {
|
|
194
|
-
type: ScalarTypeEnum.ID(),
|
|
195
|
-
isOptional: false
|
|
196
|
-
} }
|
|
197
|
-
});
|
|
198
|
-
const ListIntegrationConnectionsInput = new SchemaModel({
|
|
199
|
-
name: "ListIntegrationConnectionsInput",
|
|
200
|
-
fields: {
|
|
201
|
-
tenantId: {
|
|
202
|
-
type: ScalarTypeEnum.ID(),
|
|
203
|
-
isOptional: false
|
|
204
|
-
},
|
|
205
|
-
category: {
|
|
206
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
207
|
-
isOptional: true
|
|
208
|
-
},
|
|
209
|
-
status: {
|
|
210
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
211
|
-
isOptional: true
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
const ListIntegrationConnectionsOutput = new SchemaModel({
|
|
216
|
-
name: "ListIntegrationConnectionsOutput",
|
|
217
|
-
fields: { connections: {
|
|
218
|
-
type: IntegrationConnectionRecord,
|
|
219
|
-
isOptional: false,
|
|
220
|
-
isArray: true
|
|
221
|
-
} }
|
|
222
|
-
});
|
|
223
|
-
const TestIntegrationConnectionInput = new SchemaModel({
|
|
224
|
-
name: "TestIntegrationConnectionInput",
|
|
225
|
-
fields: { connectionId: {
|
|
226
|
-
type: ScalarTypeEnum.ID(),
|
|
227
|
-
isOptional: false
|
|
228
|
-
} }
|
|
229
|
-
});
|
|
230
|
-
const TestIntegrationConnectionOutput = new SchemaModel({
|
|
231
|
-
name: "TestIntegrationConnectionOutput",
|
|
232
|
-
fields: {
|
|
233
|
-
success: {
|
|
234
|
-
type: ScalarTypeEnum.Boolean(),
|
|
235
|
-
isOptional: false
|
|
236
|
-
},
|
|
237
|
-
status: {
|
|
238
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
239
|
-
isOptional: true
|
|
240
|
-
},
|
|
241
|
-
latencyMs: {
|
|
242
|
-
type: ScalarTypeEnum.Float_unsecure(),
|
|
243
|
-
isOptional: true
|
|
244
|
-
},
|
|
245
|
-
error: {
|
|
246
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
247
|
-
isOptional: true
|
|
248
|
-
},
|
|
249
|
-
errorCode: {
|
|
250
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
251
|
-
isOptional: true
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
const DeleteIntegrationConnectionOutput = new SchemaModel({
|
|
256
|
-
name: "DeleteIntegrationConnectionOutput",
|
|
257
|
-
fields: { success: {
|
|
258
|
-
type: ScalarTypeEnum.Boolean(),
|
|
259
|
-
isOptional: false
|
|
260
|
-
} }
|
|
261
|
-
});
|
|
262
|
-
const CreateIntegrationConnection = defineCommand({
|
|
263
|
-
meta: {
|
|
264
|
-
key: "integrations.connection.create",
|
|
265
|
-
title: "Create Integration Connection",
|
|
266
|
-
version: "1.0.0",
|
|
267
|
-
description: "Create a new integration connection for a tenant.",
|
|
268
|
-
goal: "Provision a tenant-scoped connection to an external provider.",
|
|
269
|
-
context: "Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.",
|
|
270
|
-
owners: ["@platform.integrations"],
|
|
271
|
-
tags: ["integration", "connections"],
|
|
272
|
-
stability: "experimental"
|
|
273
|
-
},
|
|
274
|
-
io: {
|
|
275
|
-
input: CreateIntegrationConnectionInput,
|
|
276
|
-
output: IntegrationConnectionRecord
|
|
277
|
-
},
|
|
278
|
-
policy: {
|
|
279
|
-
auth: "admin",
|
|
280
|
-
policies: [{
|
|
281
|
-
key: "platform.integration.manage",
|
|
282
|
-
version: "1.0.0"
|
|
283
|
-
}]
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
const UpdateIntegrationConnection = defineCommand({
|
|
287
|
-
meta: {
|
|
288
|
-
key: "integrations.connection.update",
|
|
289
|
-
title: "Update Integration Connection",
|
|
290
|
-
version: "1.0.0",
|
|
291
|
-
description: "Update metadata or credentials for an integration connection.",
|
|
292
|
-
goal: "Allow secure rotation of credentials and metadata adjustments.",
|
|
293
|
-
context: "Supports rotating API keys, toggling status, or updating labels for tenant integrations.",
|
|
294
|
-
owners: ["@platform.integrations"],
|
|
295
|
-
tags: ["integration", "connections"],
|
|
296
|
-
stability: "experimental"
|
|
297
|
-
},
|
|
298
|
-
io: {
|
|
299
|
-
input: UpdateIntegrationConnectionInput,
|
|
300
|
-
output: IntegrationConnectionRecord
|
|
301
|
-
},
|
|
302
|
-
policy: {
|
|
303
|
-
auth: "admin",
|
|
304
|
-
policies: [{
|
|
305
|
-
key: "platform.integration.manage",
|
|
306
|
-
version: "1.0.0"
|
|
307
|
-
}]
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
const DeleteIntegrationConnection = defineCommand({
|
|
311
|
-
meta: {
|
|
312
|
-
key: "integrations.connection.delete",
|
|
313
|
-
title: "Delete Integration Connection",
|
|
314
|
-
version: "1.0.0",
|
|
315
|
-
description: "Delete an integration connection for a tenant.",
|
|
316
|
-
goal: "Safely remove credentials and disable connector usage.",
|
|
317
|
-
context: "Ensures connections are de-provisioned when no longer needed or breached.",
|
|
318
|
-
owners: ["@platform.integrations"],
|
|
319
|
-
tags: ["integration", "connections"],
|
|
320
|
-
stability: "experimental"
|
|
321
|
-
},
|
|
322
|
-
io: {
|
|
323
|
-
input: DeleteIntegrationConnectionInput,
|
|
324
|
-
output: DeleteIntegrationConnectionOutput
|
|
325
|
-
},
|
|
326
|
-
policy: {
|
|
327
|
-
auth: "admin",
|
|
328
|
-
policies: [{
|
|
329
|
-
key: "platform.integration.manage",
|
|
330
|
-
version: "1.0.0"
|
|
331
|
-
}]
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
const ListIntegrationConnections = defineQuery({
|
|
335
|
-
meta: {
|
|
336
|
-
key: "integrations.connection.list",
|
|
337
|
-
title: "List Integration Connections",
|
|
338
|
-
version: "1.0.0",
|
|
339
|
-
description: "List integration connections for a tenant.",
|
|
340
|
-
goal: "Provide visibility into configured integrations and their status.",
|
|
341
|
-
context: "Used by the App Studio and Ops flows to show bindings and health.",
|
|
342
|
-
owners: ["@platform.integrations"],
|
|
343
|
-
tags: ["integration", "connections"],
|
|
344
|
-
stability: "experimental"
|
|
345
|
-
},
|
|
346
|
-
io: {
|
|
347
|
-
input: ListIntegrationConnectionsInput,
|
|
348
|
-
output: ListIntegrationConnectionsOutput
|
|
349
|
-
},
|
|
350
|
-
policy: {
|
|
351
|
-
auth: "admin",
|
|
352
|
-
policies: [{
|
|
353
|
-
key: "platform.integration.read",
|
|
354
|
-
version: "1.0.0"
|
|
355
|
-
}]
|
|
356
|
-
}
|
|
357
|
-
});
|
|
358
|
-
const TestIntegrationConnection = defineCommand({
|
|
359
|
-
meta: {
|
|
360
|
-
key: "integrations.connection.test",
|
|
361
|
-
title: "Test Integration Connection",
|
|
362
|
-
version: "1.0.0",
|
|
363
|
-
description: "Run a health check against a configured integration connection.",
|
|
364
|
-
goal: "Validate credentials and connectivity for external providers.",
|
|
365
|
-
context: "Triggered manually or by background monitors to confirm provider availability.",
|
|
366
|
-
owners: ["@platform.integrations"],
|
|
367
|
-
tags: ["integration", "connections"],
|
|
368
|
-
stability: "experimental"
|
|
369
|
-
},
|
|
370
|
-
io: {
|
|
371
|
-
input: TestIntegrationConnectionInput,
|
|
372
|
-
output: TestIntegrationConnectionOutput
|
|
373
|
-
},
|
|
374
|
-
policy: {
|
|
375
|
-
auth: "admin",
|
|
376
|
-
policies: [{
|
|
377
|
-
key: "platform.integration.manage",
|
|
378
|
-
version: "1.0.0"
|
|
379
|
-
}]
|
|
380
|
-
}
|
|
381
|
-
});
|
|
382
|
-
|
|
383
|
-
//#endregion
|
|
384
|
-
//# sourceMappingURL=operations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","names":[],"sources":["../../../../../../../libs/contracts/dist/integrations/operations.js"],"sourcesContent":["import { defineCommand, defineQuery } from \"../operations/operation.js\";\nimport \"../operations/index.js\";\nimport { ScalarTypeEnum, SchemaModel } from \"@contractspec/lib.schema\";\n\n//#region src/integrations/operations.ts\nconst IntegrationConnectionRecord = new SchemaModel({\n\tname: \"IntegrationConnectionRecord\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttenantId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: ScalarTypeEnum.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthStatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthCheckedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthLatencyMs: {\n\t\t\ttype: ScalarTypeEnum.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorCode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorMessage: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageRequestCount: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageSuccessCount: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageErrorCount: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastUsedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorCode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tupdatedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst CreateIntegrationConnectionInput = new SchemaModel({\n\tname: \"CreateIntegrationConnectionInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: ScalarTypeEnum.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: ScalarTypeEnum.JSONObject(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst UpdateIntegrationConnectionInput = new SchemaModel({\n\tname: \"UpdateIntegrationConnectionInput\",\n\tfields: {\n\t\tconnectionId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: ScalarTypeEnum.JSONObject(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionInput = new SchemaModel({\n\tname: \"DeleteIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: ScalarTypeEnum.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst ListIntegrationConnectionsInput = new SchemaModel({\n\tname: \"ListIntegrationConnectionsInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tcategory: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst ListIntegrationConnectionsOutput = new SchemaModel({\n\tname: \"ListIntegrationConnectionsOutput\",\n\tfields: { connections: {\n\t\ttype: IntegrationConnectionRecord,\n\t\tisOptional: false,\n\t\tisArray: true\n\t} }\n});\nconst TestIntegrationConnectionInput = new SchemaModel({\n\tname: \"TestIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: ScalarTypeEnum.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst TestIntegrationConnectionOutput = new SchemaModel({\n\tname: \"TestIntegrationConnectionOutput\",\n\tfields: {\n\t\tsuccess: {\n\t\t\ttype: ScalarTypeEnum.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tlatencyMs: {\n\t\t\ttype: ScalarTypeEnum.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terror: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terrorCode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionOutput = new SchemaModel({\n\tname: \"DeleteIntegrationConnectionOutput\",\n\tfields: { success: {\n\t\ttype: ScalarTypeEnum.Boolean(),\n\t\tisOptional: false\n\t} }\n});\nconst CreateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.create\",\n\t\ttitle: \"Create Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Create a new integration connection for a tenant.\",\n\t\tgoal: \"Provision a tenant-scoped connection to an external provider.\",\n\t\tcontext: \"Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: CreateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst UpdateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.update\",\n\t\ttitle: \"Update Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Update metadata or credentials for an integration connection.\",\n\t\tgoal: \"Allow secure rotation of credentials and metadata adjustments.\",\n\t\tcontext: \"Supports rotating API keys, toggling status, or updating labels for tenant integrations.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: UpdateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst DeleteIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.delete\",\n\t\ttitle: \"Delete Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Delete an integration connection for a tenant.\",\n\t\tgoal: \"Safely remove credentials and disable connector usage.\",\n\t\tcontext: \"Ensures connections are de-provisioned when no longer needed or breached.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: DeleteIntegrationConnectionInput,\n\t\toutput: DeleteIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst ListIntegrationConnections = defineQuery({\n\tmeta: {\n\t\tkey: \"integrations.connection.list\",\n\t\ttitle: \"List Integration Connections\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"List integration connections for a tenant.\",\n\t\tgoal: \"Provide visibility into configured integrations and their status.\",\n\t\tcontext: \"Used by the App Studio and Ops flows to show bindings and health.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: ListIntegrationConnectionsInput,\n\t\toutput: ListIntegrationConnectionsOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.read\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst TestIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.test\",\n\t\ttitle: \"Test Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Run a health check against a configured integration connection.\",\n\t\tgoal: \"Validate credentials and connectivity for external providers.\",\n\t\tcontext: \"Triggered manually or by background monitors to confirm provider availability.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: TestIntegrationConnectionInput,\n\t\toutput: TestIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst integrationContracts = {\n\tCreateIntegrationConnection,\n\tUpdateIntegrationConnection,\n\tDeleteIntegrationConnection,\n\tListIntegrationConnections,\n\tTestIntegrationConnection\n};\nfunction registerIntegrationContracts(registry) {\n\treturn registry.register(CreateIntegrationConnection).register(UpdateIntegrationConnection).register(DeleteIntegrationConnection).register(ListIntegrationConnections).register(TestIntegrationConnection);\n}\n\n//#endregion\nexport { CreateIntegrationConnection, DeleteIntegrationConnection, ListIntegrationConnections, TestIntegrationConnection, UpdateIntegrationConnection, integrationContracts, registerIntegrationContracts };"],"mappings":";;;;;;;AAKA,MAAM,8BAA8B,IAAI,YAAY;CACnD,MAAM;CACN,QAAQ;EACP,IAAI;GACH,MAAM,eAAe,IAAI;GACzB,YAAY;GACZ;EACD,UAAU;GACT,MAAM,eAAe,IAAI;GACzB,YAAY;GACZ;EACD,gBAAgB;GACf,MAAM,eAAe,gBAAgB;GACrC,YAAY;GACZ;EACD,oBAAoB;GACnB,MAAM,eAAe,cAAc;GACnC,YAAY;GACZ;EACD,OAAO;GACN,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,eAAe;GACd,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,mBAAmB;GAClB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,gBAAgB;GACf,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,aAAa;GACZ,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,cAAc;GACb,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,iBAAiB;GAChB,MAAM,eAAe,UAAU;GAC/B,YAAY;GACZ;EACD,iBAAiB;GAChB,MAAM,eAAe,gBAAgB;GACrC,YAAY;GACZ;EACD,iBAAiB;GAChB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,oBAAoB;GACnB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,mBAAmB;GAClB,MAAM,eAAe,cAAc;GACnC,YAAY;GACZ;EACD,mBAAmB;GAClB,MAAM,eAAe,cAAc;GACnC,YAAY;GACZ;EACD,iBAAiB;GAChB,MAAM,eAAe,cAAc;GACnC,YAAY;GACZ;EACD,iBAAiB;GAChB,MAAM,eAAe,UAAU;GAC/B,YAAY;GACZ;EACD,kBAAkB;GACjB,MAAM,eAAe,UAAU;GAC/B,YAAY;GACZ;EACD,oBAAoB;GACnB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,UAAU;GAC/B,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,UAAU;GAC/B,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,mCAAmC,IAAI,YAAY;CACxD,MAAM;CACN,QAAQ;EACP,UAAU;GACT,MAAM,eAAe,IAAI;GACzB,YAAY;GACZ;EACD,gBAAgB;GACf,MAAM,eAAe,gBAAgB;GACrC,YAAY;GACZ;EACD,oBAAoB;GACnB,MAAM,eAAe,cAAc;GACnC,YAAY;GACZ;EACD,OAAO;GACN,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,eAAe;GACd,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,mBAAmB;GAClB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,gBAAgB;GACf,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,aAAa;GACZ,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,eAAe,YAAY;GACjC,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,mCAAmC,IAAI,YAAY;CACxD,MAAM;CACN,QAAQ;EACP,cAAc;GACb,MAAM,eAAe,IAAI;GACzB,YAAY;GACZ;EACD,OAAO;GACN,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,eAAe;GACd,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,mBAAmB;GAClB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,gBAAgB;GACf,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,eAAe,YAAY;GACjC,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,mCAAmC,IAAI,YAAY;CACxD,MAAM;CACN,QAAQ,EAAE,cAAc;EACvB,MAAM,eAAe,IAAI;EACzB,YAAY;EACZ,EAAE;CACH,CAAC;AACF,MAAM,kCAAkC,IAAI,YAAY;CACvD,MAAM;CACN,QAAQ;EACP,UAAU;GACT,MAAM,eAAe,IAAI;GACzB,YAAY;GACZ;EACD,UAAU;GACT,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,mCAAmC,IAAI,YAAY;CACxD,MAAM;CACN,QAAQ,EAAE,aAAa;EACtB,MAAM;EACN,YAAY;EACZ,SAAS;EACT,EAAE;CACH,CAAC;AACF,MAAM,iCAAiC,IAAI,YAAY;CACtD,MAAM;CACN,QAAQ,EAAE,cAAc;EACvB,MAAM,eAAe,IAAI;EACzB,YAAY;EACZ,EAAE;CACH,CAAC;AACF,MAAM,kCAAkC,IAAI,YAAY;CACvD,MAAM;CACN,QAAQ;EACP,SAAS;GACR,MAAM,eAAe,SAAS;GAC9B,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,gBAAgB;GACrC,YAAY;GACZ;EACD,OAAO;GACN,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD,WAAW;GACV,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,oCAAoC,IAAI,YAAY;CACzD,MAAM;CACN,QAAQ,EAAE,SAAS;EAClB,MAAM,eAAe,SAAS;EAC9B,YAAY;EACZ,EAAE;CACH,CAAC;AACF,MAAM,8BAA8B,cAAc;CACjD,MAAM;EACL,KAAK;EACL,OAAO;EACP,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,yBAAyB;EAClC,MAAM,CAAC,eAAe,cAAc;EACpC,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ;EACP,MAAM;EACN,UAAU,CAAC;GACV,KAAK;GACL,SAAS;GACT,CAAC;EACF;CACD,CAAC;AACF,MAAM,8BAA8B,cAAc;CACjD,MAAM;EACL,KAAK;EACL,OAAO;EACP,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,yBAAyB;EAClC,MAAM,CAAC,eAAe,cAAc;EACpC,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ;EACP,MAAM;EACN,UAAU,CAAC;GACV,KAAK;GACL,SAAS;GACT,CAAC;EACF;CACD,CAAC;AACF,MAAM,8BAA8B,cAAc;CACjD,MAAM;EACL,KAAK;EACL,OAAO;EACP,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,yBAAyB;EAClC,MAAM,CAAC,eAAe,cAAc;EACpC,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ;EACP,MAAM;EACN,UAAU,CAAC;GACV,KAAK;GACL,SAAS;GACT,CAAC;EACF;CACD,CAAC;AACF,MAAM,6BAA6B,YAAY;CAC9C,MAAM;EACL,KAAK;EACL,OAAO;EACP,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,yBAAyB;EAClC,MAAM,CAAC,eAAe,cAAc;EACpC,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ;EACP,MAAM;EACN,UAAU,CAAC;GACV,KAAK;GACL,SAAS;GACT,CAAC;EACF;CACD,CAAC;AACF,MAAM,4BAA4B,cAAc;CAC/C,MAAM;EACL,KAAK;EACL,OAAO;EACP,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,yBAAyB;EAClC,MAAM,CAAC,eAAe,cAAc;EACpC,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ;EACP,MAAM;EACN,UAAU,CAAC;GACV,KAAK;GACL,SAAS;GACT,CAAC;EACF;CACD,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { StabilityEnum } from "../../ownership.js";
|
|
2
|
-
|
|
3
|
-
//#region ../../libs/contracts/dist/integrations/providers/elevenlabs.js
|
|
4
|
-
const elevenLabsIntegrationSpec = {
|
|
5
|
-
meta: {
|
|
6
|
-
key: "ai-voice.elevenlabs",
|
|
7
|
-
version: "1.0.0",
|
|
8
|
-
category: "ai-voice",
|
|
9
|
-
title: "ElevenLabs Text-to-Speech",
|
|
10
|
-
description: "ElevenLabs integration for neural voice synthesis and voice catalog access.",
|
|
11
|
-
domain: "ai",
|
|
12
|
-
owners: ["platform.ai"],
|
|
13
|
-
tags: ["voice", "tts"],
|
|
14
|
-
stability: StabilityEnum.Beta
|
|
15
|
-
},
|
|
16
|
-
supportedModes: ["managed", "byok"],
|
|
17
|
-
capabilities: { provides: [{
|
|
18
|
-
key: "ai.voice.synthesis",
|
|
19
|
-
version: "1.0.0"
|
|
20
|
-
}] },
|
|
21
|
-
configSchema: {
|
|
22
|
-
schema: {
|
|
23
|
-
type: "object",
|
|
24
|
-
properties: { defaultVoiceId: {
|
|
25
|
-
type: "string",
|
|
26
|
-
description: "Optional default voice identifier for synthesis requests."
|
|
27
|
-
} }
|
|
28
|
-
},
|
|
29
|
-
example: { defaultVoiceId: "pNInz6obpgDQGcFmaJgB" }
|
|
30
|
-
},
|
|
31
|
-
secretSchema: {
|
|
32
|
-
schema: {
|
|
33
|
-
type: "object",
|
|
34
|
-
required: ["apiKey"],
|
|
35
|
-
properties: { apiKey: {
|
|
36
|
-
type: "string",
|
|
37
|
-
description: "ElevenLabs API key with text-to-speech permissions."
|
|
38
|
-
} }
|
|
39
|
-
},
|
|
40
|
-
example: { apiKey: "eleven-***" }
|
|
41
|
-
},
|
|
42
|
-
healthCheck: {
|
|
43
|
-
method: "custom",
|
|
44
|
-
timeoutMs: 4e3
|
|
45
|
-
},
|
|
46
|
-
docsUrl: "https://elevenlabs.io/docs/api-reference/text-to-speech",
|
|
47
|
-
constraints: { rateLimit: { rpm: 120 } },
|
|
48
|
-
byokSetup: { setupInstructions: "Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope." }
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
//#endregion
|
|
52
|
-
//# sourceMappingURL=elevenlabs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elevenlabs.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/elevenlabs.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/elevenlabs.ts\nconst elevenLabsIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"ai-voice.elevenlabs\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"ai-voice\",\n\t\ttitle: \"ElevenLabs Text-to-Speech\",\n\t\tdescription: \"ElevenLabs integration for neural voice synthesis and voice catalog access.\",\n\t\tdomain: \"ai\",\n\t\towners: [\"platform.ai\"],\n\t\ttags: [\"voice\", \"tts\"],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"ai.voice.synthesis\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: { defaultVoiceId: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Optional default voice identifier for synthesis requests.\"\n\t\t\t} }\n\t\t},\n\t\texample: { defaultVoiceId: \"pNInz6obpgDQGcFmaJgB\" }\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"apiKey\"],\n\t\t\tproperties: { apiKey: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"ElevenLabs API key with text-to-speech permissions.\"\n\t\t\t} }\n\t\t},\n\t\texample: { apiKey: \"eleven-***\" }\n\t},\n\thealthCheck: {\n\t\tmethod: \"custom\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://elevenlabs.io/docs/api-reference/text-to-speech\",\n\tconstraints: { rateLimit: { rpm: 120 } },\n\tbyokSetup: { setupInstructions: \"Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope.\" }\n};\nfunction registerElevenLabsIntegration(registry) {\n\treturn registry.register(elevenLabsIntegrationSpec);\n}\n\n//#endregion\nexport { elevenLabsIntegrationSpec, registerElevenLabsIntegration };"],"mappings":";;;AAGA,MAAM,4BAA4B;CACjC,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM,CAAC,SAAS,MAAM;EACtB,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY,EAAE,gBAAgB;IAC7B,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,gBAAgB,wBAAwB;EACnD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,SAAS;GACpB,YAAY,EAAE,QAAQ;IACrB,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,QAAQ,cAAc;EACjC;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE;CACxC,WAAW,EAAE,mBAAmB,+FAA+F;CAC/H"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { StabilityEnum } from "../../ownership.js";
|
|
2
|
-
|
|
3
|
-
//#region ../../libs/contracts/dist/integrations/providers/gcs-storage.js
|
|
4
|
-
const gcsStorageIntegrationSpec = {
|
|
5
|
-
meta: {
|
|
6
|
-
key: "storage.gcs",
|
|
7
|
-
version: "1.0.0",
|
|
8
|
-
category: "storage",
|
|
9
|
-
title: "Google Cloud Storage Buckets",
|
|
10
|
-
description: "Google Cloud Storage integration for object storage and retrieval.",
|
|
11
|
-
domain: "infrastructure",
|
|
12
|
-
owners: ["platform.infrastructure"],
|
|
13
|
-
tags: [
|
|
14
|
-
"storage",
|
|
15
|
-
"gcs",
|
|
16
|
-
"google-cloud"
|
|
17
|
-
],
|
|
18
|
-
stability: StabilityEnum.Beta
|
|
19
|
-
},
|
|
20
|
-
supportedModes: ["managed", "byok"],
|
|
21
|
-
capabilities: { provides: [{
|
|
22
|
-
key: "storage.objects",
|
|
23
|
-
version: "1.0.0"
|
|
24
|
-
}] },
|
|
25
|
-
configSchema: {
|
|
26
|
-
schema: {
|
|
27
|
-
type: "object",
|
|
28
|
-
required: ["bucket"],
|
|
29
|
-
properties: {
|
|
30
|
-
bucket: {
|
|
31
|
-
type: "string",
|
|
32
|
-
description: "Primary bucket name used for storing objects."
|
|
33
|
-
},
|
|
34
|
-
prefix: {
|
|
35
|
-
type: "string",
|
|
36
|
-
description: "Optional prefix applied to object keys."
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
example: {
|
|
41
|
-
bucket: "pfo-tenant-assets",
|
|
42
|
-
prefix: "documents/"
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
secretSchema: {
|
|
46
|
-
schema: {
|
|
47
|
-
type: "object",
|
|
48
|
-
properties: {
|
|
49
|
-
type: {
|
|
50
|
-
type: "string",
|
|
51
|
-
description: "Service account type field from Google credentials JSON (if provided)."
|
|
52
|
-
},
|
|
53
|
-
client_email: { type: "string" },
|
|
54
|
-
private_key: { type: "string" },
|
|
55
|
-
project_id: { type: "string" }
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
example: {
|
|
59
|
-
type: "service_account",
|
|
60
|
-
client_email: "svc-account@example.iam.gserviceaccount.com",
|
|
61
|
-
private_key: "-----BEGIN PRIVATE KEY-----...",
|
|
62
|
-
project_id: "example-project"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
healthCheck: {
|
|
66
|
-
method: "ping",
|
|
67
|
-
timeoutMs: 4e3
|
|
68
|
-
},
|
|
69
|
-
docsUrl: "https://cloud.google.com/storage/docs/apis",
|
|
70
|
-
constraints: { quotas: { storageGb: 5120 } },
|
|
71
|
-
byokSetup: { setupInstructions: "Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store." }
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
//#endregion
|
|
75
|
-
//# sourceMappingURL=gcs-storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gcs-storage.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/gcs-storage.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/gcs-storage.ts\nconst gcsStorageIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"storage.gcs\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"storage\",\n\t\ttitle: \"Google Cloud Storage Buckets\",\n\t\tdescription: \"Google Cloud Storage integration for object storage and retrieval.\",\n\t\tdomain: \"infrastructure\",\n\t\towners: [\"platform.infrastructure\"],\n\t\ttags: [\n\t\t\t\"storage\",\n\t\t\t\"gcs\",\n\t\t\t\"google-cloud\"\n\t\t],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"storage.objects\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"bucket\"],\n\t\t\tproperties: {\n\t\t\t\tbucket: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Primary bucket name used for storing objects.\"\n\t\t\t\t},\n\t\t\t\tprefix: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional prefix applied to object keys.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tbucket: \"pfo-tenant-assets\",\n\t\t\tprefix: \"documents/\"\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: {\n\t\t\t\ttype: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Service account type field from Google credentials JSON (if provided).\"\n\t\t\t\t},\n\t\t\t\tclient_email: { type: \"string\" },\n\t\t\t\tprivate_key: { type: \"string\" },\n\t\t\t\tproject_id: { type: \"string\" }\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\ttype: \"service_account\",\n\t\t\tclient_email: \"svc-account@example.iam.gserviceaccount.com\",\n\t\t\tprivate_key: \"-----BEGIN PRIVATE KEY-----...\",\n\t\t\tproject_id: \"example-project\"\n\t\t}\n\t},\n\thealthCheck: {\n\t\tmethod: \"ping\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://cloud.google.com/storage/docs/apis\",\n\tconstraints: { quotas: { storageGb: 5120 } },\n\tbyokSetup: { setupInstructions: \"Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store.\" }\n};\nfunction registerGcsStorageIntegration(registry) {\n\treturn registry.register(gcsStorageIntegrationSpec);\n}\n\n//#endregion\nexport { gcsStorageIntegrationSpec, registerGcsStorageIntegration };"],"mappings":";;;AAGA,MAAM,4BAA4B;CACjC,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,0BAA0B;EACnC,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,SAAS;GACpB,YAAY;IACX,QAAQ;KACP,MAAM;KACN,aAAa;KACb;IACD,QAAQ;KACP,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,QAAQ;GACR,QAAQ;GACR;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY;IACX,MAAM;KACL,MAAM;KACN,aAAa;KACb;IACD,cAAc,EAAE,MAAM,UAAU;IAChC,aAAa,EAAE,MAAM,UAAU;IAC/B,YAAY,EAAE,MAAM,UAAU;IAC9B;GACD;EACD,SAAS;GACR,MAAM;GACN,cAAc;GACd,aAAa;GACb,YAAY;GACZ;EACD;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,QAAQ,EAAE,WAAW,MAAM,EAAE;CAC5C,WAAW,EAAE,mBAAmB,6HAA6H;CAC7J"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { StabilityEnum } from "../../ownership.js";
|
|
2
|
-
|
|
3
|
-
//#region ../../libs/contracts/dist/integrations/providers/gmail.js
|
|
4
|
-
const gmailIntegrationSpec = {
|
|
5
|
-
meta: {
|
|
6
|
-
key: "email.gmail",
|
|
7
|
-
version: "1.0.0",
|
|
8
|
-
category: "email",
|
|
9
|
-
title: "Google Gmail API",
|
|
10
|
-
description: "Gmail integration supporting inbound thread ingestion and outbound transactional email.",
|
|
11
|
-
domain: "communications",
|
|
12
|
-
owners: ["platform.messaging"],
|
|
13
|
-
tags: ["email", "gmail"],
|
|
14
|
-
stability: StabilityEnum.Beta
|
|
15
|
-
},
|
|
16
|
-
supportedModes: ["managed", "byok"],
|
|
17
|
-
capabilities: { provides: [{
|
|
18
|
-
key: "email.inbound",
|
|
19
|
-
version: "1.0.0"
|
|
20
|
-
}, {
|
|
21
|
-
key: "email.outbound",
|
|
22
|
-
version: "1.0.0"
|
|
23
|
-
}] },
|
|
24
|
-
configSchema: {
|
|
25
|
-
schema: {
|
|
26
|
-
type: "object",
|
|
27
|
-
properties: {
|
|
28
|
-
labelIds: {
|
|
29
|
-
type: "array",
|
|
30
|
-
items: { type: "string" },
|
|
31
|
-
description: "Optional list of label IDs to scope inbound sync."
|
|
32
|
-
},
|
|
33
|
-
includeSpamTrash: {
|
|
34
|
-
type: "boolean",
|
|
35
|
-
description: "Whether to include spam or trash messages during sync."
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
example: {
|
|
40
|
-
labelIds: ["INBOX"],
|
|
41
|
-
includeSpamTrash: false
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
secretSchema: {
|
|
45
|
-
schema: {
|
|
46
|
-
type: "object",
|
|
47
|
-
required: [
|
|
48
|
-
"clientId",
|
|
49
|
-
"clientSecret",
|
|
50
|
-
"refreshToken"
|
|
51
|
-
],
|
|
52
|
-
properties: {
|
|
53
|
-
clientId: {
|
|
54
|
-
type: "string",
|
|
55
|
-
description: "OAuth client ID for the Google Cloud project."
|
|
56
|
-
},
|
|
57
|
-
clientSecret: {
|
|
58
|
-
type: "string",
|
|
59
|
-
description: "OAuth client secret for the Google Cloud project."
|
|
60
|
-
},
|
|
61
|
-
refreshToken: {
|
|
62
|
-
type: "string",
|
|
63
|
-
description: "OAuth refresh token for delegated Gmail access."
|
|
64
|
-
},
|
|
65
|
-
redirectUri: {
|
|
66
|
-
type: "string",
|
|
67
|
-
description: "Optional redirect URI used when issuing the refresh token."
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
example: {
|
|
72
|
-
clientId: "xxx.apps.googleusercontent.com",
|
|
73
|
-
clientSecret: "secret",
|
|
74
|
-
refreshToken: "refresh-token"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
healthCheck: {
|
|
78
|
-
method: "custom",
|
|
79
|
-
timeoutMs: 4e3
|
|
80
|
-
},
|
|
81
|
-
docsUrl: "https://developers.google.com/gmail/api",
|
|
82
|
-
constraints: { rateLimit: { rpm: 600 } },
|
|
83
|
-
byokSetup: { setupInstructions: "Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token." }
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
//#endregion
|
|
87
|
-
//# sourceMappingURL=gmail.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gmail.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/gmail.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/gmail.ts\nconst gmailIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"email.gmail\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"email\",\n\t\ttitle: \"Google Gmail API\",\n\t\tdescription: \"Gmail integration supporting inbound thread ingestion and outbound transactional email.\",\n\t\tdomain: \"communications\",\n\t\towners: [\"platform.messaging\"],\n\t\ttags: [\"email\", \"gmail\"],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"email.inbound\",\n\t\tversion: \"1.0.0\"\n\t}, {\n\t\tkey: \"email.outbound\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: {\n\t\t\t\tlabelIds: {\n\t\t\t\t\ttype: \"array\",\n\t\t\t\t\titems: { type: \"string\" },\n\t\t\t\t\tdescription: \"Optional list of label IDs to scope inbound sync.\"\n\t\t\t\t},\n\t\t\t\tincludeSpamTrash: {\n\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\tdescription: \"Whether to include spam or trash messages during sync.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tlabelIds: [\"INBOX\"],\n\t\t\tincludeSpamTrash: false\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\n\t\t\t\t\"clientId\",\n\t\t\t\t\"clientSecret\",\n\t\t\t\t\"refreshToken\"\n\t\t\t],\n\t\t\tproperties: {\n\t\t\t\tclientId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"OAuth client ID for the Google Cloud project.\"\n\t\t\t\t},\n\t\t\t\tclientSecret: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"OAuth client secret for the Google Cloud project.\"\n\t\t\t\t},\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"OAuth refresh token for delegated Gmail access.\"\n\t\t\t\t},\n\t\t\t\tredirectUri: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional redirect URI used when issuing the refresh token.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tclientId: \"xxx.apps.googleusercontent.com\",\n\t\t\tclientSecret: \"secret\",\n\t\t\trefreshToken: \"refresh-token\"\n\t\t}\n\t},\n\thealthCheck: {\n\t\tmethod: \"custom\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://developers.google.com/gmail/api\",\n\tconstraints: { rateLimit: { rpm: 600 } },\n\tbyokSetup: { setupInstructions: \"Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token.\" }\n};\nfunction registerGmailIntegration(registry) {\n\treturn registry.register(gmailIntegrationSpec);\n}\n\n//#endregion\nexport { gmailIntegrationSpec, registerGmailIntegration };"],"mappings":";;;AAGA,MAAM,uBAAuB;CAC5B,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,qBAAqB;EAC9B,MAAM,CAAC,SAAS,QAAQ;EACxB,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,EAAE;EACF,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY;IACX,UAAU;KACT,MAAM;KACN,OAAO,EAAE,MAAM,UAAU;KACzB,aAAa;KACb;IACD,kBAAkB;KACjB,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,UAAU,CAAC,QAAQ;GACnB,kBAAkB;GAClB;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU;IACT;IACA;IACA;IACA;GACD,YAAY;IACX,UAAU;KACT,MAAM;KACN,aAAa;KACb;IACD,cAAc;KACb,MAAM;KACN,aAAa;KACb;IACD,cAAc;KACb,MAAM;KACN,aAAa;KACb;IACD,aAAa;KACZ,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,UAAU;GACV,cAAc;GACd,cAAc;GACd;EACD;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE;CACxC,WAAW,EAAE,mBAAmB,sJAAsJ;CACtL"}
|