@lssm/lib.contracts 1.7.1 → 1.7.3
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/app-config/contracts.d.ts +49 -51
- package/dist/app-config/contracts.d.ts.map +1 -1
- package/dist/app-config/contracts.js +1 -1
- package/dist/app-config/contracts.js.map +1 -1
- package/dist/app-config/events.d.ts +26 -28
- package/dist/app-config/events.d.ts.map +1 -1
- package/dist/app-config/events.js +1 -1
- package/dist/app-config/events.js.map +1 -1
- package/dist/app-config/lifecycle-contracts.d.ts +79 -81
- package/dist/app-config/lifecycle-contracts.d.ts.map +1 -1
- package/dist/app-config/lifecycle-contracts.js +1 -1
- package/dist/app-config/lifecycle-contracts.js.map +1 -1
- package/dist/capabilities/openbanking.js.map +1 -1
- package/dist/client/react/form-render.d.ts +0 -1
- package/dist/client/react/form-render.d.ts.map +1 -1
- package/dist/contracts-adapter-input.d.ts +0 -1
- package/dist/contracts-adapter-input.d.ts.map +1 -1
- package/dist/events.d.ts +0 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/forms.d.ts +0 -1
- package/dist/forms.d.ts.map +1 -1
- package/dist/install.d.ts +0 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/integrations/contracts.d.ts +101 -103
- package/dist/integrations/contracts.d.ts.map +1 -1
- package/dist/integrations/contracts.js +1 -1
- package/dist/integrations/contracts.js.map +1 -1
- package/dist/integrations/openbanking/contracts/accounts.d.ts +65 -67
- package/dist/integrations/openbanking/contracts/accounts.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
- package/dist/integrations/openbanking/contracts/balances.d.ts +33 -35
- package/dist/integrations/openbanking/contracts/balances.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/balances.js +1 -1
- package/dist/integrations/openbanking/contracts/balances.js.map +1 -1
- package/dist/integrations/openbanking/contracts/index.js.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts +47 -49
- package/dist/integrations/openbanking/contracts/transactions.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.js +1 -1
- package/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
- package/dist/integrations/openbanking/guards.js.map +1 -1
- package/dist/integrations/openbanking/models.d.ts +54 -57
- package/dist/integrations/openbanking/models.d.ts.map +1 -1
- package/dist/integrations/openbanking/models.js +1 -1
- package/dist/integrations/openbanking/models.js.map +1 -1
- package/dist/integrations/openbanking/telemetry.js.map +1 -1
- package/dist/integrations/providers/powens.js.map +1 -1
- package/dist/jsonschema.d.ts +1 -1
- package/dist/jsonschema.d.ts.map +1 -1
- package/dist/knowledge/contracts.d.ts +65 -67
- package/dist/knowledge/contracts.d.ts.map +1 -1
- package/dist/knowledge/contracts.js +1 -1
- package/dist/knowledge/contracts.js.map +1 -1
- package/dist/knowledge/spaces/product-canon.js.map +1 -1
- package/dist/knowledge/spaces/support-faq.js.map +1 -1
- package/dist/knowledge/spec.js.map +1 -1
- package/dist/onboarding-base.d.ts +28 -30
- package/dist/onboarding-base.d.ts.map +1 -1
- package/dist/onboarding-base.js +1 -1
- package/dist/onboarding-base.js.map +1 -1
- package/dist/presentations.d.ts +0 -1
- package/dist/presentations.d.ts.map +1 -1
- package/dist/presentations.v2.d.ts +0 -1
- package/dist/presentations.v2.d.ts.map +1 -1
- package/dist/regenerator/executor.js.map +1 -1
- package/dist/regenerator/service.js.map +1 -1
- package/dist/regenerator/sinks.js.map +1 -1
- package/dist/regenerator/utils.js.map +1 -1
- package/dist/registry.d.ts +0 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/resources.d.ts.map +1 -1
- package/dist/schema/{dist → src}/FieldType.js +1 -1
- package/dist/schema/src/FieldType.js.map +1 -0
- package/dist/schema/src/ScalarTypeEnum.js +2 -0
- package/dist/schema/src/ScalarTypeEnum.js.map +1 -0
- package/dist/schema/{dist → src}/SchemaModel.js +1 -1
- package/dist/schema/src/SchemaModel.js.map +1 -0
- package/dist/schema/src/index.js +1 -0
- package/dist/spec.d.ts +0 -1
- package/dist/spec.d.ts.map +1 -1
- package/dist/workflow/spec.d.ts.map +1 -1
- package/package.json +339 -168
- package/dist/schema/dist/FieldType.js.map +0 -1
- package/dist/schema/dist/ScalarTypeEnum.js +0 -2
- package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
- package/dist/schema/dist/SchemaModel.js.map +0 -1
- package/dist/schema/dist/index.js +0 -1
- /package/dist/schema/{dist → src}/EnumType.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","names":[],"sources":["../../src/integrations/contracts.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","names":[],"sources":["../../src/integrations/contracts.ts"],"sourcesContent":[],"mappings":";;;;cAgJa,6BAA2B,aAAA;EAA3B,QAAA,EAAA;IAoBX,IAAA,EAAA,KAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;IApBsC,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAA,KAAA;;EAAA,CAAA;EAAA,QAAA,EAAA;IAsB3B,IAAA,QAoBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;EApBsC,KAAA,EAAA;IAAA,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,CAAA;EAAA,eAAA,EAAA;IAsB3B,IAAA,QAoBX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EApBsC,CAAA;EAAA,eAAA,EAAA;;IAAA,UAAA,EAAA,IAAA;EAAA,CAAA;EAsB3B,eAAA,EAAA;IAoBX,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;EApBqC,kBAAA,EAAA;IAAA,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,SAAA,EAAA;IAAA,IAAA,QAAA,KAAA,EAAA,MAAA,CAAA;IAsB1B,UAAA,EAAA,IAAA;EAoBX,CAAA;CApBoC,CAAA,EAAA,SAAA,CAAA;AAAA,cAlEzB,2BAkEyB,EAlEE,YAkEF,CAlEE,WAkEF,CAAA;;UA9CpC,KAAA;;;;IA8CoC,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EAsBzB,CAAA;EAWG,MAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;UAnGwB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsB3B,6BAA2B,aAAA;;UAoBtC,KAAA;;;;;UApBsC,KAAA;;;;cAsB3B,4BAA0B,aAAA;;UAoBrC,KAAA;;;;;;;;;;;;;;;cApBqC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsB1B,2BAAyB,aAAA;;UAoBpC,KAAA;;;;;UApBoC,KAAA;;;;;;;;;;;;;;;;;;;;cAsBzB,sBAAsB,eAEjC;iBASc,4BAAA,WAAuC,eAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ScalarTypeEnum as e}from"../schema/src/ScalarTypeEnum.js";import{SchemaModel as t}from"../schema/src/SchemaModel.js";import"../schema/src/index.js";import{defineCommand as n,defineQuery as r}from"../spec.js";const i=new t({name:`IntegrationConnectionRecord`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},integrationKey:{type:e.NonEmptyString(),isOptional:!1},integrationVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},ownershipMode:{type:e.String_unsecure(),isOptional:!1},externalAccountId:{type:e.String_unsecure(),isOptional:!0},secretProvider:{type:e.String_unsecure(),isOptional:!1},secretRef:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},healthStatus:{type:e.String_unsecure(),isOptional:!0},healthCheckedAt:{type:e.DateTime(),isOptional:!0},healthLatencyMs:{type:e.Float_unsecure(),isOptional:!0},healthErrorCode:{type:e.String_unsecure(),isOptional:!0},healthErrorMessage:{type:e.String_unsecure(),isOptional:!0},usageRequestCount:{type:e.Int_unsecure(),isOptional:!0},usageSuccessCount:{type:e.Int_unsecure(),isOptional:!0},usageErrorCount:{type:e.Int_unsecure(),isOptional:!0},usageLastUsedAt:{type:e.DateTime(),isOptional:!0},usageLastErrorAt:{type:e.DateTime(),isOptional:!0},usageLastErrorCode:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!0}}}),a=new t({name:`CreateIntegrationConnectionInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},integrationKey:{type:e.NonEmptyString(),isOptional:!1},integrationVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},ownershipMode:{type:e.String_unsecure(),isOptional:!1},externalAccountId:{type:e.String_unsecure(),isOptional:!0},secretProvider:{type:e.String_unsecure(),isOptional:!1},secretRef:{type:e.String_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},config:{type:e.JSONObject(),isOptional:!1}}}),o=new t({name:`UpdateIntegrationConnectionInput`,fields:{connectionId:{type:e.ID(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!0},status:{type:e.String_unsecure(),isOptional:!0},ownershipMode:{type:e.String_unsecure(),isOptional:!0},externalAccountId:{type:e.String_unsecure(),isOptional:!0},secretProvider:{type:e.String_unsecure(),isOptional:!0},secretRef:{type:e.String_unsecure(),isOptional:!0},config:{type:e.JSONObject(),isOptional:!0}}}),s=new t({name:`DeleteIntegrationConnectionInput`,fields:{connectionId:{type:e.ID(),isOptional:!1}}}),c=new t({name:`ListIntegrationConnectionsInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},category:{type:e.String_unsecure(),isOptional:!0},status:{type:e.String_unsecure(),isOptional:!0}}}),l=new t({name:`ListIntegrationConnectionsOutput`,fields:{connections:{type:i,isOptional:!1,isArray:!0}}}),u=new t({name:`TestIntegrationConnectionInput`,fields:{connectionId:{type:e.ID(),isOptional:!1}}}),d=new t({name:`TestIntegrationConnectionOutput`,fields:{success:{type:e.Boolean(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!0},latencyMs:{type:e.Float_unsecure(),isOptional:!0},error:{type:e.String_unsecure(),isOptional:!0},errorCode:{type:e.String_unsecure(),isOptional:!0}}}),f=new t({name:`DeleteIntegrationConnectionOutput`,fields:{success:{type:e.Boolean(),isOptional:!1}}}),p=n({meta:{name:`integrations.connection.create`,version:1,description:`Create a new integration connection for a tenant.`,goal:`Provision a tenant-scoped connection to an external provider.`,context:`Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:a,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),m=n({meta:{name:`integrations.connection.update`,version:1,description:`Update metadata or credentials for an integration connection.`,goal:`Allow secure rotation of credentials and metadata adjustments.`,context:`Supports rotating API keys, toggling status, or updating labels for tenant integrations.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:o,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),h=n({meta:{name:`integrations.connection.delete`,version:1,description:`Delete an integration connection for a tenant.`,goal:`Safely remove credentials and disable connector usage.`,context:`Ensures connections are de-provisioned when no longer needed or breached.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:s,output:f},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),g=r({meta:{name:`integrations.connection.list`,version:1,description:`List integration connections for a tenant.`,goal:`Provide visibility into configured integrations and their status.`,context:`Used by the App Studio and Ops flows to show bindings and health.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.integration.read`,version:1}]}}),_=n({meta:{name:`integrations.connection.test`,version:1,description:`Run a health check against a configured integration connection.`,goal:`Validate credentials and connectivity for external providers.`,context:`Triggered manually or by background monitors to confirm provider availability.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),v={CreateIntegrationConnection:p,UpdateIntegrationConnection:m,DeleteIntegrationConnection:h,ListIntegrationConnections:g,TestIntegrationConnection:_};function y(e){return e.register(p).register(m).register(h).register(g).register(_)}export{p as CreateIntegrationConnection,h as DeleteIntegrationConnection,g as ListIntegrationConnections,_ as TestIntegrationConnection,m as UpdateIntegrationConnection,v as integrationContracts,y as registerIntegrationContracts};
|
|
2
2
|
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","names":["SchemaModel","ScalarTypeEnum","integrationContracts: Record<\n string,\n ContractSpec<any, any>\n>"],"sources":["../../src/integrations/contracts.ts"],"sourcesContent":["import {\n ScalarTypeEnum,\n SchemaModel,\n} from '@lssm/lib.schema';\nimport {\n defineCommand,\n defineQuery,\n type ContractSpec,\n} from '../spec';\nimport type { SpecRegistry } from '../registry';\n\nconst IntegrationConnectionRecord = new SchemaModel({\n name: 'IntegrationConnectionRecord',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n integrationKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n integrationVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownershipMode: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n externalAccountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretProvider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n secretRef: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n healthStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n healthCheckedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n healthLatencyMs: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n healthErrorCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n healthErrorMessage: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n usageRequestCount: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n },\n usageSuccessCount: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n },\n usageErrorCount: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n },\n usageLastUsedAt: {\n type: ScalarTypeEnum.DateTime(),\n isOptional: true,\n },\n usageLastErrorAt: {\n type: ScalarTypeEnum.DateTime(),\n isOptional: true,\n },\n usageLastErrorCode: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\nconst CreateIntegrationConnectionInput = new SchemaModel({\n name: 'CreateIntegrationConnectionInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n integrationKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n integrationVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownershipMode: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n externalAccountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretProvider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n secretRef: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: false },\n },\n});\n\nconst UpdateIntegrationConnectionInput = new SchemaModel({\n name: 'UpdateIntegrationConnectionInput',\n fields: {\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n ownershipMode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n externalAccountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretProvider: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretRef: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n },\n});\n\nconst DeleteIntegrationConnectionInput = new SchemaModel({\n name: 'DeleteIntegrationConnectionInput',\n fields: {\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst ListIntegrationConnectionsInput = new SchemaModel({\n name: 'ListIntegrationConnectionsInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst ListIntegrationConnectionsOutput = new SchemaModel({\n name: 'ListIntegrationConnectionsOutput',\n fields: {\n connections: {\n type: IntegrationConnectionRecord,\n isOptional: false,\n isArray: true,\n },\n },\n});\n\nconst TestIntegrationConnectionInput = new SchemaModel({\n name: 'TestIntegrationConnectionInput',\n fields: {\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst TestIntegrationConnectionOutput = new SchemaModel({\n name: 'TestIntegrationConnectionOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n latencyMs: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n error: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n errorCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst DeleteIntegrationConnectionOutput = new SchemaModel({\n name: 'DeleteIntegrationConnectionOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nexport const CreateIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.create',\n version: 1,\n description: 'Create a new integration connection for a tenant.',\n goal: 'Provision a tenant-scoped connection to an external provider.',\n context:\n 'Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: CreateIntegrationConnectionInput,\n output: IntegrationConnectionRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const UpdateIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.update',\n version: 1,\n description: 'Update metadata or credentials for an integration connection.',\n goal: 'Allow secure rotation of credentials and metadata adjustments.',\n context:\n 'Supports rotating API keys, toggling status, or updating labels for tenant integrations.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: UpdateIntegrationConnectionInput,\n output: IntegrationConnectionRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const DeleteIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.delete',\n version: 1,\n description: 'Delete an integration connection for a tenant.',\n goal: 'Safely remove credentials and disable connector usage.',\n context:\n 'Ensures connections are de-provisioned when no longer needed or breached.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: DeleteIntegrationConnectionInput,\n output: DeleteIntegrationConnectionOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const ListIntegrationConnections = defineQuery({\n meta: {\n name: 'integrations.connection.list',\n version: 1,\n description: 'List integration connections for a tenant.',\n goal: 'Provide visibility into configured integrations and their status.',\n context:\n 'Used by the App Studio and Ops flows to show bindings and health.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: ListIntegrationConnectionsInput,\n output: ListIntegrationConnectionsOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.read', version: 1 }],\n },\n});\n\nexport const TestIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.test',\n version: 1,\n description: 'Run a health check against a configured integration connection.',\n goal: 'Validate credentials and connectivity for external providers.',\n context:\n 'Triggered manually or by background monitors to confirm provider availability.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: TestIntegrationConnectionInput,\n output: TestIntegrationConnectionOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const integrationContracts: Record<\n string,\n ContractSpec<any, any>\n> = {\n CreateIntegrationConnection,\n UpdateIntegrationConnection,\n DeleteIntegrationConnection,\n ListIntegrationConnections,\n TestIntegrationConnection,\n};\n\nexport function registerIntegrationContracts(registry: SpecRegistry) {\n return registry\n .register(CreateIntegrationConnection)\n .register(UpdateIntegrationConnection)\n .register(DeleteIntegrationConnection)\n .register(ListIntegrationConnections)\n .register(TestIntegrationConnection);\n}\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.js","names":["integrationContracts: Record<\n string,\n ContractSpec<any, any>\n>"],"sources":["../../src/integrations/contracts.ts"],"sourcesContent":["import {\n ScalarTypeEnum,\n SchemaModel,\n} from '@lssm/lib.schema';\nimport {\n defineCommand,\n defineQuery,\n type ContractSpec,\n} from '../spec';\nimport type { SpecRegistry } from '../registry';\n\nconst IntegrationConnectionRecord = new SchemaModel({\n name: 'IntegrationConnectionRecord',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n integrationKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n integrationVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownershipMode: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n externalAccountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretProvider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n secretRef: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n healthStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n healthCheckedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n healthLatencyMs: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n healthErrorCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n healthErrorMessage: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n usageRequestCount: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n },\n usageSuccessCount: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n },\n usageErrorCount: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n },\n usageLastUsedAt: {\n type: ScalarTypeEnum.DateTime(),\n isOptional: true,\n },\n usageLastErrorAt: {\n type: ScalarTypeEnum.DateTime(),\n isOptional: true,\n },\n usageLastErrorCode: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\nconst CreateIntegrationConnectionInput = new SchemaModel({\n name: 'CreateIntegrationConnectionInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n integrationKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n integrationVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownershipMode: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n externalAccountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretProvider: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n secretRef: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: false },\n },\n});\n\nconst UpdateIntegrationConnectionInput = new SchemaModel({\n name: 'UpdateIntegrationConnectionInput',\n fields: {\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n ownershipMode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n externalAccountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretProvider: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n secretRef: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n },\n});\n\nconst DeleteIntegrationConnectionInput = new SchemaModel({\n name: 'DeleteIntegrationConnectionInput',\n fields: {\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst ListIntegrationConnectionsInput = new SchemaModel({\n name: 'ListIntegrationConnectionsInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst ListIntegrationConnectionsOutput = new SchemaModel({\n name: 'ListIntegrationConnectionsOutput',\n fields: {\n connections: {\n type: IntegrationConnectionRecord,\n isOptional: false,\n isArray: true,\n },\n },\n});\n\nconst TestIntegrationConnectionInput = new SchemaModel({\n name: 'TestIntegrationConnectionInput',\n fields: {\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst TestIntegrationConnectionOutput = new SchemaModel({\n name: 'TestIntegrationConnectionOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n latencyMs: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n error: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n errorCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst DeleteIntegrationConnectionOutput = new SchemaModel({\n name: 'DeleteIntegrationConnectionOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nexport const CreateIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.create',\n version: 1,\n description: 'Create a new integration connection for a tenant.',\n goal: 'Provision a tenant-scoped connection to an external provider.',\n context:\n 'Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: CreateIntegrationConnectionInput,\n output: IntegrationConnectionRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const UpdateIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.update',\n version: 1,\n description: 'Update metadata or credentials for an integration connection.',\n goal: 'Allow secure rotation of credentials and metadata adjustments.',\n context:\n 'Supports rotating API keys, toggling status, or updating labels for tenant integrations.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: UpdateIntegrationConnectionInput,\n output: IntegrationConnectionRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const DeleteIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.delete',\n version: 1,\n description: 'Delete an integration connection for a tenant.',\n goal: 'Safely remove credentials and disable connector usage.',\n context:\n 'Ensures connections are de-provisioned when no longer needed or breached.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: DeleteIntegrationConnectionInput,\n output: DeleteIntegrationConnectionOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const ListIntegrationConnections = defineQuery({\n meta: {\n name: 'integrations.connection.list',\n version: 1,\n description: 'List integration connections for a tenant.',\n goal: 'Provide visibility into configured integrations and their status.',\n context:\n 'Used by the App Studio and Ops flows to show bindings and health.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: ListIntegrationConnectionsInput,\n output: ListIntegrationConnectionsOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.read', version: 1 }],\n },\n});\n\nexport const TestIntegrationConnection = defineCommand({\n meta: {\n name: 'integrations.connection.test',\n version: 1,\n description: 'Run a health check against a configured integration connection.',\n goal: 'Validate credentials and connectivity for external providers.',\n context:\n 'Triggered manually or by background monitors to confirm provider availability.',\n owners: ['platform.integrations'],\n tags: ['integration', 'connections'],\n stability: 'experimental',\n },\n io: {\n input: TestIntegrationConnectionInput,\n output: TestIntegrationConnectionOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.integration.manage', version: 1 }],\n },\n});\n\nexport const integrationContracts: Record<\n string,\n ContractSpec<any, any>\n> = {\n CreateIntegrationConnection,\n UpdateIntegrationConnection,\n DeleteIntegrationConnection,\n ListIntegrationConnections,\n TestIntegrationConnection,\n};\n\nexport function registerIntegrationContracts(registry: SpecRegistry) {\n return registry\n .register(CreateIntegrationConnection)\n .register(UpdateIntegrationConnection)\n .register(DeleteIntegrationConnection)\n .register(ListIntegrationConnections)\n .register(TestIntegrationConnection);\n}\n\n"],"mappings":"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"}
|
|
@@ -1,123 +1,121 @@
|
|
|
1
1
|
import { ContractSpec } from "../../../spec.js";
|
|
2
2
|
import { SpecRegistry } from "../../../registry.js";
|
|
3
|
-
import * as _lssm_lib_schema300 from "@lssm/lib.schema";
|
|
4
|
-
import { SchemaModel } from "@lssm/lib.schema";
|
|
5
3
|
|
|
6
4
|
//#region src/integrations/openbanking/contracts/accounts.d.ts
|
|
7
5
|
declare const OpenBankingListAccounts: ContractSpec<SchemaModel<{
|
|
8
6
|
tenantId: {
|
|
9
|
-
type:
|
|
7
|
+
type: void 0<string, string>;
|
|
10
8
|
isOptional: false;
|
|
11
9
|
};
|
|
12
10
|
userId: {
|
|
13
|
-
type:
|
|
11
|
+
type: void 0<string, string>;
|
|
14
12
|
isOptional: false;
|
|
15
13
|
};
|
|
16
14
|
connectionId: {
|
|
17
|
-
type:
|
|
15
|
+
type: void 0<string, string>;
|
|
18
16
|
isOptional: true;
|
|
19
17
|
};
|
|
20
18
|
includeBalances: {
|
|
21
|
-
type:
|
|
19
|
+
type: void 0<boolean, boolean>;
|
|
22
20
|
isOptional: true;
|
|
23
21
|
};
|
|
24
22
|
institutionId: {
|
|
25
|
-
type:
|
|
23
|
+
type: void 0<string, string>;
|
|
26
24
|
isOptional: true;
|
|
27
25
|
};
|
|
28
26
|
cursor: {
|
|
29
|
-
type:
|
|
27
|
+
type: void 0<string, string>;
|
|
30
28
|
isOptional: true;
|
|
31
29
|
};
|
|
32
30
|
pageSize: {
|
|
33
|
-
type:
|
|
31
|
+
type: void 0<number, number>;
|
|
34
32
|
isOptional: true;
|
|
35
33
|
};
|
|
36
34
|
}>, SchemaModel<{
|
|
37
35
|
accounts: {
|
|
38
36
|
type: SchemaModel<{
|
|
39
37
|
id: {
|
|
40
|
-
type:
|
|
38
|
+
type: void 0<string, string>;
|
|
41
39
|
isOptional: false;
|
|
42
40
|
};
|
|
43
41
|
tenantId: {
|
|
44
|
-
type:
|
|
42
|
+
type: void 0<string, string>;
|
|
45
43
|
isOptional: false;
|
|
46
44
|
};
|
|
47
45
|
userId: {
|
|
48
|
-
type:
|
|
46
|
+
type: void 0<string, string>;
|
|
49
47
|
isOptional: false;
|
|
50
48
|
};
|
|
51
49
|
connectionId: {
|
|
52
|
-
type:
|
|
50
|
+
type: void 0<string, string>;
|
|
53
51
|
isOptional: false;
|
|
54
52
|
};
|
|
55
53
|
externalId: {
|
|
56
|
-
type:
|
|
54
|
+
type: void 0<string, string>;
|
|
57
55
|
isOptional: false;
|
|
58
56
|
};
|
|
59
57
|
institutionId: {
|
|
60
|
-
type:
|
|
58
|
+
type: void 0<string, string>;
|
|
61
59
|
isOptional: false;
|
|
62
60
|
};
|
|
63
61
|
institutionName: {
|
|
64
|
-
type:
|
|
62
|
+
type: void 0<string, string>;
|
|
65
63
|
isOptional: false;
|
|
66
64
|
};
|
|
67
65
|
institutionLogoUrl: {
|
|
68
|
-
type:
|
|
66
|
+
type: void 0<string, string>;
|
|
69
67
|
isOptional: true;
|
|
70
68
|
};
|
|
71
69
|
iban: {
|
|
72
|
-
type:
|
|
70
|
+
type: void 0<string, string>;
|
|
73
71
|
isOptional: true;
|
|
74
72
|
};
|
|
75
73
|
bic: {
|
|
76
|
-
type:
|
|
74
|
+
type: void 0<string, string>;
|
|
77
75
|
isOptional: true;
|
|
78
76
|
};
|
|
79
77
|
accountType: {
|
|
80
|
-
type:
|
|
78
|
+
type: void 0<string, string>;
|
|
81
79
|
isOptional: false;
|
|
82
80
|
};
|
|
83
81
|
currency: {
|
|
84
|
-
type:
|
|
82
|
+
type: void 0<string, string>;
|
|
85
83
|
isOptional: false;
|
|
86
84
|
};
|
|
87
85
|
displayName: {
|
|
88
|
-
type:
|
|
86
|
+
type: void 0<string, string>;
|
|
89
87
|
isOptional: false;
|
|
90
88
|
};
|
|
91
89
|
accountNumberMasked: {
|
|
92
|
-
type:
|
|
90
|
+
type: void 0<string, string>;
|
|
93
91
|
isOptional: true;
|
|
94
92
|
};
|
|
95
93
|
productCode: {
|
|
96
|
-
type:
|
|
94
|
+
type: void 0<string, string>;
|
|
97
95
|
isOptional: true;
|
|
98
96
|
};
|
|
99
97
|
balance: {
|
|
100
|
-
type:
|
|
98
|
+
type: void 0<number, number>;
|
|
101
99
|
isOptional: true;
|
|
102
100
|
};
|
|
103
101
|
availableBalance: {
|
|
104
|
-
type:
|
|
102
|
+
type: void 0<number, number>;
|
|
105
103
|
isOptional: true;
|
|
106
104
|
};
|
|
107
105
|
lastSyncedAt: {
|
|
108
|
-
type:
|
|
106
|
+
type: void 0<Date, string>;
|
|
109
107
|
isOptional: false;
|
|
110
108
|
};
|
|
111
109
|
createdAt: {
|
|
112
|
-
type:
|
|
110
|
+
type: void 0<Date, string>;
|
|
113
111
|
isOptional: false;
|
|
114
112
|
};
|
|
115
113
|
updatedAt: {
|
|
116
|
-
type:
|
|
114
|
+
type: void 0<Date, string>;
|
|
117
115
|
isOptional: false;
|
|
118
116
|
};
|
|
119
117
|
metadata: {
|
|
120
|
-
type:
|
|
118
|
+
type: void 0<Record<string, unknown>, Record<string, unknown>>;
|
|
121
119
|
isOptional: true;
|
|
122
120
|
};
|
|
123
121
|
}>;
|
|
@@ -125,159 +123,159 @@ declare const OpenBankingListAccounts: ContractSpec<SchemaModel<{
|
|
|
125
123
|
isArray: true;
|
|
126
124
|
};
|
|
127
125
|
nextCursor: {
|
|
128
|
-
type:
|
|
126
|
+
type: void 0<string, string>;
|
|
129
127
|
isOptional: true;
|
|
130
128
|
};
|
|
131
129
|
hasMore: {
|
|
132
|
-
type:
|
|
130
|
+
type: void 0<boolean, boolean>;
|
|
133
131
|
isOptional: true;
|
|
134
132
|
};
|
|
135
133
|
}>, undefined>;
|
|
136
134
|
declare const OpenBankingGetAccount: ContractSpec<SchemaModel<{
|
|
137
135
|
tenantId: {
|
|
138
|
-
type:
|
|
136
|
+
type: void 0<string, string>;
|
|
139
137
|
isOptional: false;
|
|
140
138
|
};
|
|
141
139
|
accountId: {
|
|
142
|
-
type:
|
|
140
|
+
type: void 0<string, string>;
|
|
143
141
|
isOptional: false;
|
|
144
142
|
};
|
|
145
143
|
includeBalances: {
|
|
146
|
-
type:
|
|
144
|
+
type: void 0<boolean, boolean>;
|
|
147
145
|
isOptional: true;
|
|
148
146
|
};
|
|
149
147
|
includeLatestTransactions: {
|
|
150
|
-
type:
|
|
148
|
+
type: void 0<boolean, boolean>;
|
|
151
149
|
isOptional: true;
|
|
152
150
|
};
|
|
153
151
|
}>, SchemaModel<{
|
|
154
152
|
id: {
|
|
155
|
-
type:
|
|
153
|
+
type: void 0<string, string>;
|
|
156
154
|
isOptional: false;
|
|
157
155
|
};
|
|
158
156
|
tenantId: {
|
|
159
|
-
type:
|
|
157
|
+
type: void 0<string, string>;
|
|
160
158
|
isOptional: false;
|
|
161
159
|
};
|
|
162
160
|
userId: {
|
|
163
|
-
type:
|
|
161
|
+
type: void 0<string, string>;
|
|
164
162
|
isOptional: false;
|
|
165
163
|
};
|
|
166
164
|
connectionId: {
|
|
167
|
-
type:
|
|
165
|
+
type: void 0<string, string>;
|
|
168
166
|
isOptional: false;
|
|
169
167
|
};
|
|
170
168
|
externalId: {
|
|
171
|
-
type:
|
|
169
|
+
type: void 0<string, string>;
|
|
172
170
|
isOptional: false;
|
|
173
171
|
};
|
|
174
172
|
institutionId: {
|
|
175
|
-
type:
|
|
173
|
+
type: void 0<string, string>;
|
|
176
174
|
isOptional: false;
|
|
177
175
|
};
|
|
178
176
|
institutionName: {
|
|
179
|
-
type:
|
|
177
|
+
type: void 0<string, string>;
|
|
180
178
|
isOptional: false;
|
|
181
179
|
};
|
|
182
180
|
institutionLogoUrl: {
|
|
183
|
-
type:
|
|
181
|
+
type: void 0<string, string>;
|
|
184
182
|
isOptional: true;
|
|
185
183
|
};
|
|
186
184
|
iban: {
|
|
187
|
-
type:
|
|
185
|
+
type: void 0<string, string>;
|
|
188
186
|
isOptional: true;
|
|
189
187
|
};
|
|
190
188
|
bic: {
|
|
191
|
-
type:
|
|
189
|
+
type: void 0<string, string>;
|
|
192
190
|
isOptional: true;
|
|
193
191
|
};
|
|
194
192
|
accountType: {
|
|
195
|
-
type:
|
|
193
|
+
type: void 0<string, string>;
|
|
196
194
|
isOptional: false;
|
|
197
195
|
};
|
|
198
196
|
currency: {
|
|
199
|
-
type:
|
|
197
|
+
type: void 0<string, string>;
|
|
200
198
|
isOptional: false;
|
|
201
199
|
};
|
|
202
200
|
displayName: {
|
|
203
|
-
type:
|
|
201
|
+
type: void 0<string, string>;
|
|
204
202
|
isOptional: false;
|
|
205
203
|
};
|
|
206
204
|
accountNumberMasked: {
|
|
207
|
-
type:
|
|
205
|
+
type: void 0<string, string>;
|
|
208
206
|
isOptional: true;
|
|
209
207
|
};
|
|
210
208
|
productCode: {
|
|
211
|
-
type:
|
|
209
|
+
type: void 0<string, string>;
|
|
212
210
|
isOptional: true;
|
|
213
211
|
};
|
|
214
212
|
balance: {
|
|
215
|
-
type:
|
|
213
|
+
type: void 0<number, number>;
|
|
216
214
|
isOptional: true;
|
|
217
215
|
};
|
|
218
216
|
availableBalance: {
|
|
219
|
-
type:
|
|
217
|
+
type: void 0<number, number>;
|
|
220
218
|
isOptional: true;
|
|
221
219
|
};
|
|
222
220
|
lastSyncedAt: {
|
|
223
|
-
type:
|
|
221
|
+
type: void 0<Date, string>;
|
|
224
222
|
isOptional: false;
|
|
225
223
|
};
|
|
226
224
|
createdAt: {
|
|
227
|
-
type:
|
|
225
|
+
type: void 0<Date, string>;
|
|
228
226
|
isOptional: false;
|
|
229
227
|
};
|
|
230
228
|
updatedAt: {
|
|
231
|
-
type:
|
|
229
|
+
type: void 0<Date, string>;
|
|
232
230
|
isOptional: false;
|
|
233
231
|
};
|
|
234
232
|
metadata: {
|
|
235
|
-
type:
|
|
233
|
+
type: void 0<Record<string, unknown>, Record<string, unknown>>;
|
|
236
234
|
isOptional: true;
|
|
237
235
|
};
|
|
238
236
|
}>, undefined>;
|
|
239
237
|
declare const OpenBankingSyncAccounts: ContractSpec<SchemaModel<{
|
|
240
238
|
tenantId: {
|
|
241
|
-
type:
|
|
239
|
+
type: void 0<string, string>;
|
|
242
240
|
isOptional: false;
|
|
243
241
|
};
|
|
244
242
|
userId: {
|
|
245
|
-
type:
|
|
243
|
+
type: void 0<string, string>;
|
|
246
244
|
isOptional: true;
|
|
247
245
|
};
|
|
248
246
|
connectionId: {
|
|
249
|
-
type:
|
|
247
|
+
type: void 0<string, string>;
|
|
250
248
|
isOptional: false;
|
|
251
249
|
};
|
|
252
250
|
accountIds: {
|
|
253
|
-
type:
|
|
251
|
+
type: void 0<string, string>;
|
|
254
252
|
isArray: true;
|
|
255
253
|
isOptional: true;
|
|
256
254
|
};
|
|
257
255
|
forceFullRefresh: {
|
|
258
|
-
type:
|
|
256
|
+
type: void 0<boolean, boolean>;
|
|
259
257
|
isOptional: true;
|
|
260
258
|
};
|
|
261
259
|
triggerWorkflows: {
|
|
262
|
-
type:
|
|
260
|
+
type: void 0<boolean, boolean>;
|
|
263
261
|
isOptional: true;
|
|
264
262
|
};
|
|
265
263
|
}>, SchemaModel<{
|
|
266
264
|
synced: {
|
|
267
|
-
type:
|
|
265
|
+
type: void 0<number, number>;
|
|
268
266
|
isOptional: false;
|
|
269
267
|
};
|
|
270
268
|
failed: {
|
|
271
|
-
type:
|
|
269
|
+
type: void 0<number, number>;
|
|
272
270
|
isOptional: false;
|
|
273
271
|
};
|
|
274
272
|
errors: {
|
|
275
|
-
type:
|
|
273
|
+
type: void 0<string, string>;
|
|
276
274
|
isArray: true;
|
|
277
275
|
isOptional: true;
|
|
278
276
|
};
|
|
279
277
|
nextSyncSuggestedAt: {
|
|
280
|
-
type:
|
|
278
|
+
type: void 0<Date, string>;
|
|
281
279
|
isOptional: true;
|
|
282
280
|
};
|
|
283
281
|
}>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","names":[],"sources":["../../../../src/integrations/openbanking/contracts/accounts.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","names":[],"sources":["../../../../src/integrations/openbanking/contracts/accounts.ts"],"sourcesContent":[],"mappings":";;;;cA2Fa,yBAAuB,aAAA;EAAvB,QAAA,EAAA;IAmBX,IAAA,EAAA,KAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;EAnBkC,YAAA,EAAA;IAAA,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;cAAA,KAAA;;;;;;;MAAA,MAAA,EAAA;QAAA,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;QAqBvB,UAAA,EAmBX,KAAA;MAAA,CAAA;;;;MAnBgC,CAAA;MAAA,UAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,CAAA;MAAA,QAAA,EAAA;QAqBrB,IAAA,QAsDX,CAAA,MAAA,EAAA,MAAA,CAAA;QAAA,UAAA,EAAA,KAAA;;;;;;MAtDkC,mBAAA,EAAA;QAAA,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;MAAA,CAAA;MAAA,OAAA,EAAA;QAwDvB,IAAA,QAA4C,CAAA,MAAf,EAAA,MAAM,CAAA;QAOhC,UAAA,EAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cApFH,uBAAqB,aAAA;;UAmBhC,KAAA;;;;;;;;;;;;;;;;;UAnBgC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqBrB,yBAAuB,aAAA;;UAsDlC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;UAtDkC,KAAA;;;;;;;;;;;;;;;;;cAwDvB,6BAA6B,eAAe;iBAOzC,mCAAA,WACJ,eACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ScalarTypeEnum as e}from"../../../schema/src/ScalarTypeEnum.js";import{SchemaModel as t}from"../../../schema/src/SchemaModel.js";import"../../../schema/src/index.js";import{defineCommand as n,defineQuery as r}from"../../../spec.js";import{BankAccountRecord as i}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as a}from"../telemetry.js";const o=new t({name:`OpenBankingListAccountsInput`,description:`Parameters for listing bank accounts through the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!0},includeBalances:{type:e.Boolean(),isOptional:!0},institutionId:{type:e.String_unsecure(),isOptional:!0},cursor:{type:e.String_unsecure(),isOptional:!0},pageSize:{type:e.Int_unsecure(),isOptional:!0}}}),s=new t({name:`OpenBankingListAccountsOutput`,description:`Paginated list of bank accounts available to the tenant and user.`,fields:{accounts:{type:i,isOptional:!1,isArray:!0},nextCursor:{type:e.String_unsecure(),isOptional:!0},hasMore:{type:e.Boolean(),isOptional:!0}}}),c=new t({name:`OpenBankingGetAccountInput`,description:`Parameters for retrieving a specific bank account.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},includeBalances:{type:e.Boolean(),isOptional:!0},includeLatestTransactions:{type:e.Boolean(),isOptional:!0}}}),l=new t({name:`OpenBankingSyncAccountsInput`,description:`Command payload to trigger an account synchronisation against the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!0},connectionId:{type:e.ID(),isOptional:!1},accountIds:{type:e.ID(),isArray:!0,isOptional:!0},forceFullRefresh:{type:e.Boolean(),isOptional:!0},triggerWorkflows:{type:e.Boolean(),isOptional:!0}}}),u=new t({name:`OpenBankingSyncAccountsOutput`,description:`Result of a bank account synchronisation run.`,fields:{synced:{type:e.Int_unsecure(),isOptional:!1},failed:{type:e.Int_unsecure(),isOptional:!1},errors:{type:e.String_unsecure(),isArray:!0,isOptional:!0},nextSyncSuggestedAt:{type:e.DateTime(),isOptional:!0}}}),d=r({meta:{name:`openbanking.accounts.list`,version:1,description:`List bank accounts available to a tenant/user via Powens Open Banking.`,goal:`Provide downstream workflows with the set of accounts accessible via the configured open banking connection.`,context:`Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),f=r({meta:{name:`openbanking.accounts.get`,version:1,description:`Retrieve the canonical bank account record for the given account identifier.`,goal:`Allow user-facing experiences and automations to display up-to-date account metadata.`,context:`Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:c,output:i},policy:{auth:`user`}}),p=n({meta:{name:`openbanking.accounts.sync`,version:1,description:`Initiate a synchronisation run to refresh bank account metadata from Powens.`,goal:`Keep canonical bank account records aligned with the external open banking provider.`,context:`Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:l,output:u},policy:{auth:`admin`},telemetry:{success:{event:{name:a.accountsSynced},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,connectionId:n?.connectionId,synced:r?.synced,failed:r?.failed}}},failure:{event:{name:a.accountsSyncFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,connectionId:n?.connectionId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),m={OpenBankingListAccounts:d,OpenBankingGetAccount:f,OpenBankingSyncAccounts:p};function h(e){return e.register(d).register(f).register(p)}export{f as OpenBankingGetAccount,d as OpenBankingListAccounts,p as OpenBankingSyncAccounts,m as openBankingAccountContracts,h as registerOpenBankingAccountContracts};
|
|
2
2
|
//# sourceMappingURL=accounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","names":["
|
|
1
|
+
{"version":3,"file":"accounts.js","names":["openBankingAccountContracts: Record<string, ContractSpec<any, any>>"],"sources":["../../../../src/integrations/openbanking/contracts/accounts.ts"],"sourcesContent":["import {\n ScalarTypeEnum,\n SchemaModel,\n} from '@lssm/lib.schema';\nimport {\n defineCommand,\n defineQuery,\n type ContractSpec,\n} from '../../../spec';\nimport type { SpecRegistry } from '../../../registry';\nimport { BankAccountRecord } from '../models';\nimport { OPENBANKING_TELEMETRY_EVENTS } from '../telemetry';\n\nconst OpenBankingListAccountsInput = new SchemaModel({\n name: 'OpenBankingListAccountsInput',\n description: 'Parameters for listing bank accounts through the open banking provider.',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n userId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: true },\n includeBalances: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n institutionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n cursor: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n pageSize: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n },\n});\n\nconst OpenBankingListAccountsOutput = new SchemaModel({\n name: 'OpenBankingListAccountsOutput',\n description: 'Paginated list of bank accounts available to the tenant and user.',\n fields: {\n accounts: {\n type: BankAccountRecord,\n isOptional: false,\n isArray: true,\n },\n nextCursor: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n hasMore: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n },\n});\n\nconst OpenBankingGetAccountInput = new SchemaModel({\n name: 'OpenBankingGetAccountInput',\n description: 'Parameters for retrieving a specific bank account.',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n accountId: { type: ScalarTypeEnum.ID(), isOptional: false },\n includeBalances: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n includeLatestTransactions: {\n type: ScalarTypeEnum.Boolean(),\n isOptional: true,\n },\n },\n});\n\nconst OpenBankingSyncAccountsInput = new SchemaModel({\n name: 'OpenBankingSyncAccountsInput',\n description:\n 'Command payload to trigger an account synchronisation against the open banking provider.',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n userId: { type: ScalarTypeEnum.ID(), isOptional: true },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n accountIds: {\n type: ScalarTypeEnum.ID(),\n isArray: true,\n isOptional: true,\n },\n forceFullRefresh: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n triggerWorkflows: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n },\n});\n\nconst OpenBankingSyncAccountsOutput = new SchemaModel({\n name: 'OpenBankingSyncAccountsOutput',\n description: 'Result of a bank account synchronisation run.',\n fields: {\n synced: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n failed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n errors: {\n type: ScalarTypeEnum.String_unsecure(),\n isArray: true,\n isOptional: true,\n },\n nextSyncSuggestedAt: {\n type: ScalarTypeEnum.DateTime(),\n isOptional: true,\n },\n },\n});\n\nexport const OpenBankingListAccounts = defineQuery({\n meta: {\n name: 'openbanking.accounts.list',\n version: 1,\n description: 'List bank accounts available to a tenant/user via Powens Open Banking.',\n goal: 'Provide downstream workflows with the set of accounts accessible via the configured open banking connection.',\n context:\n 'Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.',\n owners: ['platform.finance'],\n tags: ['open-banking', 'powens', 'accounts'],\n stability: 'experimental',\n },\n io: {\n input: OpenBankingListAccountsInput,\n output: OpenBankingListAccountsOutput,\n },\n policy: {\n auth: 'user',\n },\n});\n\nexport const OpenBankingGetAccount = defineQuery({\n meta: {\n name: 'openbanking.accounts.get',\n version: 1,\n description: 'Retrieve the canonical bank account record for the given account identifier.',\n goal: 'Allow user-facing experiences and automations to display up-to-date account metadata.',\n context:\n 'Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.',\n owners: ['platform.finance'],\n tags: ['open-banking', 'powens', 'accounts'],\n stability: 'experimental',\n },\n io: {\n input: OpenBankingGetAccountInput,\n output: BankAccountRecord,\n },\n policy: {\n auth: 'user',\n },\n});\n\nexport const OpenBankingSyncAccounts = defineCommand({\n meta: {\n name: 'openbanking.accounts.sync',\n version: 1,\n description: 'Initiate a synchronisation run to refresh bank account metadata from Powens.',\n goal: 'Keep canonical bank account records aligned with the external open banking provider.',\n context:\n 'Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.',\n owners: ['platform.finance'],\n tags: ['open-banking', 'powens', 'accounts'],\n stability: 'experimental',\n },\n io: {\n input: OpenBankingSyncAccountsInput,\n output: OpenBankingSyncAccountsOutput,\n },\n policy: {\n auth: 'admin',\n },\n telemetry: {\n success: {\n event: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSynced },\n properties: ({ input, output }) => {\n const payload = input as {\n tenantId?: string;\n connectionId?: string;\n };\n const result = output as {\n synced?: number;\n failed?: number;\n } | null;\n return {\n tenantId: payload?.tenantId,\n connectionId: payload?.connectionId,\n synced: result?.synced,\n failed: result?.failed,\n };\n },\n },\n failure: {\n event: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSyncFailed },\n properties: ({ input, error }) => {\n const payload = input as {\n tenantId?: string;\n connectionId?: string;\n };\n return {\n tenantId: payload?.tenantId,\n connectionId: payload?.connectionId,\n error: error instanceof Error ? error.message : String(error ?? 'unknown'),\n };\n },\n },\n },\n});\n\nexport const openBankingAccountContracts: Record<string, ContractSpec<any, any>> =\n {\n OpenBankingListAccounts,\n OpenBankingGetAccount,\n OpenBankingSyncAccounts,\n };\n\nexport function registerOpenBankingAccountContracts(\n registry: SpecRegistry\n): SpecRegistry {\n return registry\n .register(OpenBankingListAccounts)\n .register(OpenBankingGetAccount)\n .register(OpenBankingSyncAccounts);\n}\n\n"],"mappings":"+VAaA,MAAM,EAA+B,IAAI,EAAY,CACnD,KAAM,+BACN,YAAa,0EACb,OAAQ,CACN,SAAU,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAO,CAC1D,OAAQ,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAO,CACxD,aAAc,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAM,CAC7D,gBAAiB,CAAE,KAAM,EAAe,SAAS,CAAE,WAAY,GAAM,CACrE,cAAe,CAAE,KAAM,EAAe,iBAAiB,CAAE,WAAY,GAAM,CAC3E,OAAQ,CAAE,KAAM,EAAe,iBAAiB,CAAE,WAAY,GAAM,CACpE,SAAU,CAAE,KAAM,EAAe,cAAc,CAAE,WAAY,GAAM,CACpE,CACF,CAAC,CAEI,EAAgC,IAAI,EAAY,CACpD,KAAM,gCACN,YAAa,oEACb,OAAQ,CACN,SAAU,CACR,KAAM,EACN,WAAY,GACZ,QAAS,GACV,CACD,WAAY,CAAE,KAAM,EAAe,iBAAiB,CAAE,WAAY,GAAM,CACxE,QAAS,CAAE,KAAM,EAAe,SAAS,CAAE,WAAY,GAAM,CAC9D,CACF,CAAC,CAEI,EAA6B,IAAI,EAAY,CACjD,KAAM,6BACN,YAAa,qDACb,OAAQ,CACN,SAAU,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAO,CAC1D,UAAW,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAO,CAC3D,gBAAiB,CAAE,KAAM,EAAe,SAAS,CAAE,WAAY,GAAM,CACrE,0BAA2B,CACzB,KAAM,EAAe,SAAS,CAC9B,WAAY,GACb,CACF,CACF,CAAC,CAEI,EAA+B,IAAI,EAAY,CACnD,KAAM,+BACN,YACE,2FACF,OAAQ,CACN,SAAU,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAO,CAC1D,OAAQ,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAM,CACvD,aAAc,CAAE,KAAM,EAAe,IAAI,CAAE,WAAY,GAAO,CAC9D,WAAY,CACV,KAAM,EAAe,IAAI,CACzB,QAAS,GACT,WAAY,GACb,CACD,iBAAkB,CAAE,KAAM,EAAe,SAAS,CAAE,WAAY,GAAM,CACtE,iBAAkB,CAAE,KAAM,EAAe,SAAS,CAAE,WAAY,GAAM,CACvE,CACF,CAAC,CAEI,EAAgC,IAAI,EAAY,CACpD,KAAM,gCACN,YAAa,gDACb,OAAQ,CACN,OAAQ,CAAE,KAAM,EAAe,cAAc,CAAE,WAAY,GAAO,CAClE,OAAQ,CAAE,KAAM,EAAe,cAAc,CAAE,WAAY,GAAO,CAClE,OAAQ,CACN,KAAM,EAAe,iBAAiB,CACtC,QAAS,GACT,WAAY,GACb,CACD,oBAAqB,CACnB,KAAM,EAAe,UAAU,CAC/B,WAAY,GACb,CACF,CACF,CAAC,CAEW,EAA0B,EAAY,CACjD,KAAM,CACJ,KAAM,4BACN,QAAS,EACT,YAAa,yEACb,KAAM,+GACN,QACE,mIACF,OAAQ,CAAC,mBAAmB,CAC5B,KAAM,CAAC,eAAgB,SAAU,WAAW,CAC5C,UAAW,eACZ,CACD,GAAI,CACF,MAAO,EACP,OAAQ,EACT,CACD,OAAQ,CACN,KAAM,OACP,CACF,CAAC,CAEW,EAAwB,EAAY,CAC/C,KAAM,CACJ,KAAM,2BACN,QAAS,EACT,YAAa,+EACb,KAAM,wFACN,QACE,mHACF,OAAQ,CAAC,mBAAmB,CAC5B,KAAM,CAAC,eAAgB,SAAU,WAAW,CAC5C,UAAW,eACZ,CACD,GAAI,CACF,MAAO,EACP,OAAQ,EACT,CACD,OAAQ,CACN,KAAM,OACP,CACF,CAAC,CAEW,EAA0B,EAAc,CACnD,KAAM,CACJ,KAAM,4BACN,QAAS,EACT,YAAa,+EACb,KAAM,uFACN,QACE,gIACF,OAAQ,CAAC,mBAAmB,CAC5B,KAAM,CAAC,eAAgB,SAAU,WAAW,CAC5C,UAAW,eACZ,CACD,GAAI,CACF,MAAO,EACP,OAAQ,EACT,CACD,OAAQ,CACN,KAAM,QACP,CACD,UAAW,CACT,QAAS,CACP,MAAO,CAAE,KAAM,EAA6B,eAAgB,CAC5D,YAAa,CAAE,QAAO,YAAa,CACjC,IAAM,EAAU,EAIV,EAAS,EAIf,MAAO,CACL,SAAU,GAAS,SACnB,aAAc,GAAS,aACvB,OAAQ,GAAQ,OAChB,OAAQ,GAAQ,OACjB,EAEJ,CACD,QAAS,CACP,MAAO,CAAE,KAAM,EAA6B,mBAAoB,CAChE,YAAa,CAAE,QAAO,WAAY,CAChC,IAAM,EAAU,EAIhB,MAAO,CACL,SAAU,GAAS,SACnB,aAAc,GAAS,aACvB,MAAO,aAAiB,MAAQ,EAAM,QAAU,OAAO,GAAS,UAAU,CAC3E,EAEJ,CACF,CACF,CAAC,CAEWA,EACX,CACE,0BACA,wBACA,0BACD,CAEH,SAAgB,EACd,EACc,CACd,OAAO,EACJ,SAAS,EAAwB,CACjC,SAAS,EAAsB,CAC/B,SAAS,EAAwB"}
|