@lssm/example.analytics-dashboard 0.0.0-canary-20251217063201 → 0.0.0-canary-20251217072406
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/dashboard/dashboard.contracts.d.ts +131 -131
- package/dist/dashboard/dashboard.contracts.js +5 -5
- package/dist/dashboard/dashboard.enum.d.ts +4 -4
- package/dist/dashboard/dashboard.enum.js +4 -4
- package/dist/dashboard/dashboard.schema.d.ts +79 -79
- package/dist/dashboard/dashboard.schema.js +43 -43
- package/dist/docs/analytics-dashboard.docblock.js +2 -2
- package/dist/events.d.ts +40 -40
- package/dist/events.js +25 -25
- package/dist/libs/contracts/dist/capabilities/openbanking.js +53 -49
- package/dist/libs/contracts/dist/client/index.js +1 -1
- package/dist/libs/contracts/dist/client/react/index.js +1 -1
- package/dist/libs/contracts/dist/contract-registry/index.js +1 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +52 -49
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +11 -86
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +11 -360
- package/dist/libs/contracts/dist/docs/index.js +2 -2
- package/dist/libs/contracts/dist/docs/presentations.js +48 -44
- package/dist/libs/contracts/dist/docs/registry.js +27 -25
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +11 -393
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +11 -78
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +11 -150
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +11 -96
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +10 -10
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +15 -15
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +12 -12
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +11 -223
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +44 -44
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +30 -14
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +10 -10
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +13 -274
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +41 -15
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +15 -15
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +14 -14
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +16 -28
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +60 -15
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +13 -13
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +31 -48
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +40 -15
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +14 -14
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +22 -22
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +12 -12
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +22 -22
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +11 -11
- package/dist/libs/contracts/dist/events.js +4 -3
- package/dist/libs/contracts/dist/index.js +14 -14
- package/dist/libs/contracts/dist/integrations/contracts.js +205 -199
- package/dist/libs/contracts/dist/integrations/index.js +5 -5
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +133 -130
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +95 -93
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +3 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +120 -118
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +122 -120
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +9 -20
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +25 -25
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +36 -36
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +40 -40
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/powens.js +51 -51
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +35 -35
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +28 -28
- package/dist/libs/contracts/dist/jsonschema.js +1 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +170 -163
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +19 -19
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +17 -17
- package/dist/libs/contracts/dist/llm/exporters.js +13 -12
- package/dist/libs/contracts/dist/onboarding-base.js +116 -99
- package/dist/libs/contracts/dist/ownership.js +18 -33
- package/dist/libs/contracts/dist/presentations.js +1 -1
- package/dist/libs/contracts/dist/presentations.v2.js +6 -2
- package/dist/libs/contracts/dist/regenerator/service.js +5 -0
- package/dist/libs/contracts/dist/registry.js +1 -1
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +24 -14
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +180 -166
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +20 -9
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -1
- package/dist/libs/contracts/dist/spec.js +22 -13
- package/dist/libs/schema/dist/EnumType.js +25 -9
- package/dist/libs/schema/dist/FieldType.js +24 -14
- package/dist/libs/schema/dist/ScalarTypeEnum.js +180 -166
- package/dist/libs/schema/dist/SchemaModel.js +25 -10
- package/dist/libs/schema/dist/index.js +4 -4
- package/dist/query/query.contracts.d.ts +44 -44
- package/dist/query/query.contracts.js +3 -3
- package/dist/query/query.enum.js +2 -2
- package/dist/query/query.schema.js +33 -33
- package/package.json +10 -10
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/integrations/providers/gmail.js
|
|
4
|
-
const
|
|
4
|
+
const gmailIntegrationSpec = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "email.gmail",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
14
|
-
tags: [
|
|
15
|
-
stability:
|
|
8
|
+
category: "email",
|
|
9
|
+
displayName: "Gmail API",
|
|
10
|
+
title: "Google Gmail API",
|
|
11
|
+
description: "Gmail integration supporting inbound thread ingestion and outbound transactional email.",
|
|
12
|
+
domain: "communications",
|
|
13
|
+
owners: ["platform.messaging"],
|
|
14
|
+
tags: ["email", "gmail"],
|
|
15
|
+
stability: StabilityEnum.Beta
|
|
16
16
|
},
|
|
17
|
-
supportedModes: [
|
|
17
|
+
supportedModes: ["managed", "byok"],
|
|
18
18
|
capabilities: { provides: [{
|
|
19
|
-
key:
|
|
19
|
+
key: "email.inbound",
|
|
20
20
|
version: 1
|
|
21
21
|
}, {
|
|
22
|
-
key:
|
|
22
|
+
key: "email.outbound",
|
|
23
23
|
version: 1
|
|
24
24
|
}] },
|
|
25
25
|
configSchema: {
|
|
26
26
|
schema: {
|
|
27
|
-
type:
|
|
27
|
+
type: "object",
|
|
28
28
|
properties: {
|
|
29
29
|
labelIds: {
|
|
30
|
-
type:
|
|
31
|
-
items: { type:
|
|
32
|
-
description:
|
|
30
|
+
type: "array",
|
|
31
|
+
items: { type: "string" },
|
|
32
|
+
description: "Optional list of label IDs to scope inbound sync."
|
|
33
33
|
},
|
|
34
34
|
includeSpamTrash: {
|
|
35
|
-
type:
|
|
36
|
-
description:
|
|
35
|
+
type: "boolean",
|
|
36
|
+
description: "Whether to include spam or trash messages during sync."
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
example: {
|
|
41
|
-
labelIds: [
|
|
42
|
-
includeSpamTrash:
|
|
41
|
+
labelIds: ["INBOX"],
|
|
42
|
+
includeSpamTrash: false
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
45
|
secretSchema: {
|
|
46
46
|
schema: {
|
|
47
|
-
type:
|
|
47
|
+
type: "object",
|
|
48
48
|
required: [
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
"clientId",
|
|
50
|
+
"clientSecret",
|
|
51
|
+
"refreshToken"
|
|
52
52
|
],
|
|
53
53
|
properties: {
|
|
54
54
|
clientId: {
|
|
55
|
-
type:
|
|
56
|
-
description:
|
|
55
|
+
type: "string",
|
|
56
|
+
description: "OAuth client ID for the Google Cloud project."
|
|
57
57
|
},
|
|
58
58
|
clientSecret: {
|
|
59
|
-
type:
|
|
60
|
-
description:
|
|
59
|
+
type: "string",
|
|
60
|
+
description: "OAuth client secret for the Google Cloud project."
|
|
61
61
|
},
|
|
62
62
|
refreshToken: {
|
|
63
|
-
type:
|
|
64
|
-
description:
|
|
63
|
+
type: "string",
|
|
64
|
+
description: "OAuth refresh token for delegated Gmail access."
|
|
65
65
|
},
|
|
66
66
|
redirectUri: {
|
|
67
|
-
type:
|
|
68
|
-
description:
|
|
67
|
+
type: "string",
|
|
68
|
+
description: "Optional redirect URI used when issuing the refresh token."
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
example: {
|
|
73
|
-
clientId:
|
|
74
|
-
clientSecret:
|
|
75
|
-
refreshToken:
|
|
73
|
+
clientId: "xxx.apps.googleusercontent.com",
|
|
74
|
+
clientSecret: "secret",
|
|
75
|
+
refreshToken: "refresh-token"
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
healthCheck: {
|
|
79
|
-
method:
|
|
79
|
+
method: "custom",
|
|
80
80
|
timeoutMs: 4e3
|
|
81
81
|
},
|
|
82
|
-
docsUrl:
|
|
82
|
+
docsUrl: "https://developers.google.com/gmail/api",
|
|
83
83
|
constraints: { rateLimit: { rpm: 600 } },
|
|
84
|
-
byokSetup: { setupInstructions:
|
|
84
|
+
byokSetup: { setupInstructions: "Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token." }
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
//#endregion
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/integrations/providers/google-calendar.js
|
|
4
|
-
const
|
|
4
|
+
const googleCalendarIntegrationSpec = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "calendar.google",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
14
|
-
tags: [
|
|
15
|
-
stability:
|
|
8
|
+
category: "calendar",
|
|
9
|
+
displayName: "Google Calendar",
|
|
10
|
+
title: "Google Calendar API",
|
|
11
|
+
description: "Google Calendar integration for event creation, updates, and scheduling automations.",
|
|
12
|
+
domain: "productivity",
|
|
13
|
+
owners: ["platform.messaging"],
|
|
14
|
+
tags: ["calendar", "google"],
|
|
15
|
+
stability: StabilityEnum.Beta
|
|
16
16
|
},
|
|
17
|
-
supportedModes: [
|
|
17
|
+
supportedModes: ["managed", "byok"],
|
|
18
18
|
capabilities: { provides: [{
|
|
19
|
-
key:
|
|
19
|
+
key: "calendar.events",
|
|
20
20
|
version: 1
|
|
21
21
|
}] },
|
|
22
22
|
configSchema: {
|
|
23
23
|
schema: {
|
|
24
|
-
type:
|
|
24
|
+
type: "object",
|
|
25
25
|
properties: { calendarId: {
|
|
26
|
-
type:
|
|
27
|
-
description:
|
|
26
|
+
type: "string",
|
|
27
|
+
description: "Default calendar identifier (defaults to primary)."
|
|
28
28
|
} }
|
|
29
29
|
},
|
|
30
|
-
example: { calendarId:
|
|
30
|
+
example: { calendarId: "primary" }
|
|
31
31
|
},
|
|
32
32
|
secretSchema: {
|
|
33
33
|
schema: {
|
|
34
|
-
type:
|
|
35
|
-
required: [
|
|
34
|
+
type: "object",
|
|
35
|
+
required: ["clientEmail", "privateKey"],
|
|
36
36
|
properties: {
|
|
37
37
|
clientEmail: {
|
|
38
|
-
type:
|
|
39
|
-
description:
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "Service account client email."
|
|
40
40
|
},
|
|
41
41
|
privateKey: {
|
|
42
|
-
type:
|
|
43
|
-
description:
|
|
42
|
+
type: "string",
|
|
43
|
+
description: "Service account private key."
|
|
44
44
|
},
|
|
45
45
|
projectId: {
|
|
46
|
-
type:
|
|
47
|
-
description:
|
|
46
|
+
type: "string",
|
|
47
|
+
description: "Google Cloud project ID."
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
example: {
|
|
52
|
-
clientEmail:
|
|
53
|
-
privateKey:
|
|
54
|
-
projectId:
|
|
52
|
+
clientEmail: "svc-calendar@example.iam.gserviceaccount.com",
|
|
53
|
+
privateKey: "-----BEGIN PRIVATE KEY-----...",
|
|
54
|
+
projectId: "calendar-project"
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
healthCheck: {
|
|
58
|
-
method:
|
|
58
|
+
method: "custom",
|
|
59
59
|
timeoutMs: 4e3
|
|
60
60
|
},
|
|
61
|
-
docsUrl:
|
|
61
|
+
docsUrl: "https://developers.google.com/calendar/api",
|
|
62
62
|
constraints: {},
|
|
63
|
-
byokSetup: { setupInstructions:
|
|
63
|
+
byokSetup: { setupInstructions: "Create a Google service account with Calendar access and share the target calendars with the service account email." }
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
//#endregion
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/integrations/providers/mistral.js
|
|
4
|
-
const
|
|
4
|
+
const mistralIntegrationSpec = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "ai-llm.mistral",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
8
|
+
category: "ai-llm",
|
|
9
|
+
displayName: "Mistral AI",
|
|
10
|
+
title: "Mistral Large Language Model",
|
|
11
|
+
description: "Mistral integration providing chat completions and embedding generation.",
|
|
12
|
+
domain: "ai",
|
|
13
|
+
owners: ["platform.ai"],
|
|
14
14
|
tags: [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
"ai",
|
|
16
|
+
"llm",
|
|
17
|
+
"embeddings"
|
|
18
18
|
],
|
|
19
|
-
stability:
|
|
19
|
+
stability: StabilityEnum.Experimental
|
|
20
20
|
},
|
|
21
|
-
supportedModes: [
|
|
21
|
+
supportedModes: ["managed", "byok"],
|
|
22
22
|
capabilities: { provides: [{
|
|
23
|
-
key:
|
|
23
|
+
key: "ai.chat",
|
|
24
24
|
version: 1
|
|
25
25
|
}, {
|
|
26
|
-
key:
|
|
26
|
+
key: "ai.embeddings",
|
|
27
27
|
version: 1
|
|
28
28
|
}] },
|
|
29
29
|
configSchema: {
|
|
30
30
|
schema: {
|
|
31
|
-
type:
|
|
31
|
+
type: "object",
|
|
32
32
|
properties: {
|
|
33
33
|
model: {
|
|
34
|
-
type:
|
|
35
|
-
description:
|
|
34
|
+
type: "string",
|
|
35
|
+
description: "Default chat completion model (e.g., mistral-large-latest)."
|
|
36
36
|
},
|
|
37
37
|
embeddingModel: {
|
|
38
|
-
type:
|
|
39
|
-
description:
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "Embedding model identifier."
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
example: {
|
|
44
|
-
model:
|
|
45
|
-
embeddingModel:
|
|
44
|
+
model: "mistral-large-latest",
|
|
45
|
+
embeddingModel: "mistral-embed"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
secretSchema: {
|
|
49
49
|
schema: {
|
|
50
|
-
type:
|
|
51
|
-
required: [
|
|
50
|
+
type: "object",
|
|
51
|
+
required: ["apiKey"],
|
|
52
52
|
properties: { apiKey: {
|
|
53
|
-
type:
|
|
54
|
-
description:
|
|
53
|
+
type: "string",
|
|
54
|
+
description: "Mistral API key with access to chat and embeddings endpoints."
|
|
55
55
|
} }
|
|
56
56
|
},
|
|
57
|
-
example: { apiKey:
|
|
57
|
+
example: { apiKey: "mistral-***" }
|
|
58
58
|
},
|
|
59
59
|
healthCheck: {
|
|
60
|
-
method:
|
|
60
|
+
method: "custom",
|
|
61
61
|
timeoutMs: 5e3
|
|
62
62
|
},
|
|
63
|
-
docsUrl:
|
|
63
|
+
docsUrl: "https://docs.mistral.ai/platform/endpoints",
|
|
64
64
|
constraints: { rateLimit: { rpm: 600 } },
|
|
65
|
-
byokSetup: { setupInstructions:
|
|
65
|
+
byokSetup: { setupInstructions: "Generate an API key within the Mistral console and ensure the selected models are enabled for the account." }
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
//#endregion
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/integrations/providers/postmark.js
|
|
4
|
-
const
|
|
4
|
+
const postmarkIntegrationSpec = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "email.postmark",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
14
|
-
tags: [
|
|
15
|
-
stability:
|
|
8
|
+
category: "email",
|
|
9
|
+
displayName: "Postmark",
|
|
10
|
+
title: "Postmark Transactional Email",
|
|
11
|
+
description: "Postmark integration for transactional email delivery.",
|
|
12
|
+
domain: "communications",
|
|
13
|
+
owners: ["platform.messaging"],
|
|
14
|
+
tags: ["email", "transactional"],
|
|
15
|
+
stability: StabilityEnum.Stable
|
|
16
16
|
},
|
|
17
|
-
supportedModes: [
|
|
17
|
+
supportedModes: ["managed", "byok"],
|
|
18
18
|
capabilities: {
|
|
19
19
|
provides: [{
|
|
20
|
-
key:
|
|
20
|
+
key: "email.transactional",
|
|
21
21
|
version: 1
|
|
22
22
|
}],
|
|
23
23
|
requires: [{
|
|
24
|
-
key:
|
|
25
|
-
optional:
|
|
26
|
-
reason:
|
|
24
|
+
key: "platform.webhooks",
|
|
25
|
+
optional: true,
|
|
26
|
+
reason: "Optional for inbound bounce handling"
|
|
27
27
|
}]
|
|
28
28
|
},
|
|
29
29
|
configSchema: {
|
|
30
30
|
schema: {
|
|
31
|
-
type:
|
|
31
|
+
type: "object",
|
|
32
32
|
properties: {
|
|
33
33
|
messageStream: {
|
|
34
|
-
type:
|
|
35
|
-
description:
|
|
34
|
+
type: "string",
|
|
35
|
+
description: "Optional message stream identifier (e.g., transactional)."
|
|
36
36
|
},
|
|
37
37
|
fromEmail: {
|
|
38
|
-
type:
|
|
39
|
-
description:
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "Default From address used for outbound messages."
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
example: {
|
|
44
|
-
messageStream:
|
|
45
|
-
fromEmail:
|
|
44
|
+
messageStream: "outbound",
|
|
45
|
+
fromEmail: "notifications@example.com"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
secretSchema: {
|
|
49
49
|
schema: {
|
|
50
|
-
type:
|
|
51
|
-
required: [
|
|
50
|
+
type: "object",
|
|
51
|
+
required: ["serverToken"],
|
|
52
52
|
properties: { serverToken: {
|
|
53
|
-
type:
|
|
54
|
-
description:
|
|
53
|
+
type: "string",
|
|
54
|
+
description: "Server token for the Postmark account."
|
|
55
55
|
} }
|
|
56
56
|
},
|
|
57
|
-
example: { serverToken:
|
|
57
|
+
example: { serverToken: "server-***" }
|
|
58
58
|
},
|
|
59
59
|
healthCheck: {
|
|
60
|
-
method:
|
|
60
|
+
method: "ping",
|
|
61
61
|
timeoutMs: 3e3
|
|
62
62
|
},
|
|
63
|
-
docsUrl:
|
|
63
|
+
docsUrl: "https://postmarkapp.com/developer",
|
|
64
64
|
constraints: { rateLimit: { rpm: 500 } },
|
|
65
|
-
byokSetup: { setupInstructions:
|
|
65
|
+
byokSetup: { setupInstructions: "Create a Postmark server token with outbound send permissions and configure allowed from addresses." }
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
//#endregion
|
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/integrations/providers/powens.js
|
|
4
|
-
const
|
|
4
|
+
const powensIntegrationSpec = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "openbanking.powens",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
8
|
+
category: "open-banking",
|
|
9
|
+
displayName: "Powens Open Banking",
|
|
10
|
+
title: "Powens Open Banking (Read)",
|
|
11
|
+
description: "Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.",
|
|
12
|
+
domain: "finance",
|
|
13
|
+
owners: ["platform.finance"],
|
|
14
14
|
tags: [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
"open-banking",
|
|
16
|
+
"powens",
|
|
17
|
+
"finance"
|
|
18
18
|
],
|
|
19
|
-
stability:
|
|
19
|
+
stability: StabilityEnum.Experimental
|
|
20
20
|
},
|
|
21
|
-
supportedModes: [
|
|
21
|
+
supportedModes: ["byok"],
|
|
22
22
|
capabilities: { provides: [
|
|
23
23
|
{
|
|
24
|
-
key:
|
|
24
|
+
key: "openbanking.accounts.read",
|
|
25
25
|
version: 1
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
key:
|
|
28
|
+
key: "openbanking.transactions.read",
|
|
29
29
|
version: 1
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
|
-
key:
|
|
32
|
+
key: "openbanking.balances.read",
|
|
33
33
|
version: 1
|
|
34
34
|
}
|
|
35
35
|
] },
|
|
36
36
|
configSchema: {
|
|
37
37
|
schema: {
|
|
38
|
-
type:
|
|
39
|
-
required: [
|
|
38
|
+
type: "object",
|
|
39
|
+
required: ["environment"],
|
|
40
40
|
properties: {
|
|
41
41
|
environment: {
|
|
42
|
-
type:
|
|
43
|
-
enum: [
|
|
44
|
-
description:
|
|
42
|
+
type: "string",
|
|
43
|
+
enum: ["sandbox", "production"],
|
|
44
|
+
description: "Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints."
|
|
45
45
|
},
|
|
46
46
|
baseUrl: {
|
|
47
|
-
type:
|
|
48
|
-
description:
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "Optional override for the Powens API base URL. Defaults to Powens environment defaults."
|
|
49
49
|
},
|
|
50
50
|
region: {
|
|
51
|
-
type:
|
|
52
|
-
description:
|
|
51
|
+
type: "string",
|
|
52
|
+
description: "Optional Powens region identifier when targeting a specific data residency cluster."
|
|
53
53
|
},
|
|
54
54
|
pollingIntervalMs: {
|
|
55
|
-
type:
|
|
56
|
-
description:
|
|
55
|
+
type: "number",
|
|
56
|
+
description: "Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard)."
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
example: {
|
|
61
|
-
environment:
|
|
62
|
-
baseUrl:
|
|
63
|
-
region:
|
|
61
|
+
environment: "sandbox",
|
|
62
|
+
baseUrl: "https://api-sandbox.powens.com/v2",
|
|
63
|
+
region: "eu-west-1",
|
|
64
64
|
pollingIntervalMs: 3e5
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
secretSchema: {
|
|
68
68
|
schema: {
|
|
69
|
-
type:
|
|
70
|
-
required: [
|
|
69
|
+
type: "object",
|
|
70
|
+
required: ["clientId", "clientSecret"],
|
|
71
71
|
properties: {
|
|
72
72
|
clientId: {
|
|
73
|
-
type:
|
|
74
|
-
description:
|
|
73
|
+
type: "string",
|
|
74
|
+
description: "Powens OAuth client identifier obtained from the Powens Console (BYOK project)."
|
|
75
75
|
},
|
|
76
76
|
clientSecret: {
|
|
77
|
-
type:
|
|
78
|
-
description:
|
|
77
|
+
type: "string",
|
|
78
|
+
description: "Powens OAuth client secret used to exchange for access tokens."
|
|
79
79
|
},
|
|
80
80
|
apiKey: {
|
|
81
|
-
type:
|
|
82
|
-
description:
|
|
81
|
+
type: "string",
|
|
82
|
+
description: "Optional Powens API key (if the tenant project exposes a dedicated API token)."
|
|
83
83
|
},
|
|
84
84
|
webhookSecret: {
|
|
85
|
-
type:
|
|
86
|
-
description:
|
|
85
|
+
type: "string",
|
|
86
|
+
description: "Optional webhook signing secret used to verify Powens webhook payloads."
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
example: {
|
|
91
|
-
clientId:
|
|
92
|
-
clientSecret:
|
|
93
|
-
apiKey:
|
|
94
|
-
webhookSecret:
|
|
91
|
+
clientId: "powens-client-id",
|
|
92
|
+
clientSecret: "powens-client-secret",
|
|
93
|
+
apiKey: "powens-api-key",
|
|
94
|
+
webhookSecret: "powens-webhook-secret"
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
97
|
healthCheck: {
|
|
98
|
-
method:
|
|
98
|
+
method: "ping",
|
|
99
99
|
timeoutMs: 8e3
|
|
100
100
|
},
|
|
101
|
-
docsUrl:
|
|
101
|
+
docsUrl: "https://docs.powens.com/",
|
|
102
102
|
constraints: { rateLimit: {
|
|
103
103
|
rph: 1e4,
|
|
104
104
|
rpm: 600
|
|
105
105
|
} },
|
|
106
106
|
byokSetup: {
|
|
107
|
-
setupInstructions:
|
|
107
|
+
setupInstructions: "Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.",
|
|
108
108
|
requiredScopes: [
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
"accounts:read",
|
|
110
|
+
"transactions:read",
|
|
111
|
+
"balances:read"
|
|
112
112
|
]
|
|
113
113
|
}
|
|
114
114
|
};
|