@contractspec/example.pocket-family-office 3.7.16 → 3.7.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/blueprint.js +1 -197
  2. package/dist/browser/blueprint.js +1 -197
  3. package/dist/browser/connections/samples.js +1 -197
  4. package/dist/browser/docs/index.js +3 -48
  5. package/dist/browser/docs/pocket-family-office.docblock.js +3 -48
  6. package/dist/browser/example.js +1 -42
  7. package/dist/browser/index.js +4 -1660
  8. package/dist/browser/knowledge/sources.sample.js +1 -70
  9. package/dist/browser/operations/index.js +1 -314
  10. package/dist/browser/pocket-family-office.capability.js +1 -19
  11. package/dist/browser/pocket-family-office.feature.js +2 -86
  12. package/dist/browser/telemetry.js +1 -176
  13. package/dist/browser/tenant.sample.js +1 -71
  14. package/dist/browser/workflows/generate-financial-summary.js +1 -58
  15. package/dist/browser/workflows/generate-openbanking-overview.js +1 -52
  16. package/dist/browser/workflows/index.js +1 -467
  17. package/dist/browser/workflows/ingest-email-threads.js +1 -56
  18. package/dist/browser/workflows/process-uploaded-document.js +1 -54
  19. package/dist/browser/workflows/refresh-openbanking-balances.js +1 -64
  20. package/dist/browser/workflows/sync-openbanking-accounts.js +1 -64
  21. package/dist/browser/workflows/sync-openbanking-transactions.js +1 -64
  22. package/dist/browser/workflows/upcoming-payments-reminder.js +1 -62
  23. package/dist/connections/samples.js +1 -197
  24. package/dist/docs/index.js +3 -48
  25. package/dist/docs/pocket-family-office.docblock.js +3 -48
  26. package/dist/example.js +1 -42
  27. package/dist/index.js +4 -1660
  28. package/dist/knowledge/sources.sample.js +1 -70
  29. package/dist/node/blueprint.js +1 -197
  30. package/dist/node/connections/samples.js +1 -197
  31. package/dist/node/docs/index.js +3 -48
  32. package/dist/node/docs/pocket-family-office.docblock.js +3 -48
  33. package/dist/node/example.js +1 -42
  34. package/dist/node/index.js +4 -1660
  35. package/dist/node/knowledge/sources.sample.js +1 -70
  36. package/dist/node/operations/index.js +1 -314
  37. package/dist/node/pocket-family-office.capability.js +1 -19
  38. package/dist/node/pocket-family-office.feature.js +2 -86
  39. package/dist/node/telemetry.js +1 -176
  40. package/dist/node/tenant.sample.js +1 -71
  41. package/dist/node/workflows/generate-financial-summary.js +1 -58
  42. package/dist/node/workflows/generate-openbanking-overview.js +1 -52
  43. package/dist/node/workflows/index.js +1 -467
  44. package/dist/node/workflows/ingest-email-threads.js +1 -56
  45. package/dist/node/workflows/process-uploaded-document.js +1 -54
  46. package/dist/node/workflows/refresh-openbanking-balances.js +1 -64
  47. package/dist/node/workflows/sync-openbanking-accounts.js +1 -64
  48. package/dist/node/workflows/sync-openbanking-transactions.js +1 -64
  49. package/dist/node/workflows/upcoming-payments-reminder.js +1 -62
  50. package/dist/operations/index.js +1 -314
  51. package/dist/pocket-family-office.capability.js +1 -19
  52. package/dist/pocket-family-office.feature.js +2 -86
  53. package/dist/telemetry.js +1 -176
  54. package/dist/tenant.sample.js +1 -71
  55. package/dist/workflows/generate-financial-summary.d.ts +1 -1
  56. package/dist/workflows/generate-financial-summary.js +1 -58
  57. package/dist/workflows/generate-openbanking-overview.d.ts +1 -1
  58. package/dist/workflows/generate-openbanking-overview.js +1 -52
  59. package/dist/workflows/index.js +1 -467
  60. package/dist/workflows/ingest-email-threads.d.ts +1 -1
  61. package/dist/workflows/ingest-email-threads.js +1 -56
  62. package/dist/workflows/process-uploaded-document.d.ts +1 -1
  63. package/dist/workflows/process-uploaded-document.js +1 -54
  64. package/dist/workflows/refresh-openbanking-balances.d.ts +1 -1
  65. package/dist/workflows/refresh-openbanking-balances.js +1 -64
  66. package/dist/workflows/sync-openbanking-accounts.d.ts +1 -1
  67. package/dist/workflows/sync-openbanking-accounts.js +1 -64
  68. package/dist/workflows/sync-openbanking-transactions.d.ts +1 -1
  69. package/dist/workflows/sync-openbanking-transactions.js +1 -64
  70. package/dist/workflows/upcoming-payments-reminder.d.ts +1 -1
  71. package/dist/workflows/upcoming-payments-reminder.js +1 -62
  72. package/package.json +9 -9
@@ -1,64 +1 @@
1
- // src/workflows/sync-openbanking-accounts.ts
2
- import {
3
- OwnersEnum,
4
- StabilityEnum,
5
- TagsEnum
6
- } from "@contractspec/lib.contracts-spec";
7
- import { defineWorkflow } from "@contractspec/lib.contracts-spec/workflow";
8
- var ACCOUNT_CAPABILITY = {
9
- key: "openbanking.accounts.read",
10
- version: "1.0.0"
11
- };
12
- var syncOpenBankingAccountsWorkflow = defineWorkflow({
13
- meta: {
14
- key: "pfo.workflow.sync-openbanking-accounts",
15
- version: "1.0.0",
16
- title: "Synchronise Open Banking Accounts",
17
- description: "Validates Powens connectivity and synchronises bank account metadata into the canonical ledger.",
18
- domain: "finance",
19
- owners: [OwnersEnum.PlatformFinance],
20
- tags: ["open-banking", "powens", TagsEnum.Automation],
21
- stability: StabilityEnum.Experimental
22
- },
23
- definition: {
24
- entryStepId: "sync-accounts",
25
- steps: [
26
- {
27
- id: "sync-accounts",
28
- type: "automation",
29
- label: "Sync Accounts",
30
- description: "Refresh linked bank accounts via Powens and upsert canonical BankAccount records.",
31
- action: {
32
- operation: { key: "openbanking.accounts.sync", version: "1.0.0" }
33
- },
34
- requiredIntegrations: ["primaryOpenBanking"],
35
- requiredCapabilities: [ACCOUNT_CAPABILITY],
36
- retry: {
37
- maxAttempts: 3,
38
- backoff: "exponential",
39
- delayMs: 1000
40
- }
41
- },
42
- {
43
- id: "fetch-accounts",
44
- type: "automation",
45
- label: "Fetch Accounts",
46
- description: "Retrieve the latest canonical account snapshot for downstream consumers.",
47
- action: {
48
- operation: { key: "openbanking.accounts.list", version: "1.0.0" }
49
- },
50
- requiredIntegrations: ["primaryOpenBanking"],
51
- requiredCapabilities: [ACCOUNT_CAPABILITY],
52
- retry: {
53
- maxAttempts: 2,
54
- backoff: "linear",
55
- delayMs: 750
56
- }
57
- }
58
- ],
59
- transitions: [{ from: "sync-accounts", to: "fetch-accounts" }]
60
- }
61
- });
62
- export {
63
- syncOpenBankingAccountsWorkflow
64
- };
1
+ import{OwnersEnum as j,StabilityEnum as q,TagsEnum as v}from"@contractspec/lib.contracts-spec";import{defineWorkflow as x}from"@contractspec/lib.contracts-spec/workflow/spec";var h={key:"openbanking.accounts.read",version:"1.0.0"},F=x({meta:{key:"pfo.workflow.sync-openbanking-accounts",version:"1.0.0",title:"Synchronise Open Banking Accounts",description:"Validates Powens connectivity and synchronises bank account metadata into the canonical ledger.",domain:"finance",owners:[j.PlatformFinance],tags:["open-banking","powens",v.Automation],stability:q.Experimental},definition:{entryStepId:"sync-accounts",steps:[{id:"sync-accounts",type:"automation",label:"Sync Accounts",description:"Refresh linked bank accounts via Powens and upsert canonical BankAccount records.",action:{operation:{key:"openbanking.accounts.sync",version:"1.0.0"}},requiredIntegrations:["primaryOpenBanking"],requiredCapabilities:[h],retry:{maxAttempts:3,backoff:"exponential",delayMs:1000}},{id:"fetch-accounts",type:"automation",label:"Fetch Accounts",description:"Retrieve the latest canonical account snapshot for downstream consumers.",action:{operation:{key:"openbanking.accounts.list",version:"1.0.0"}},requiredIntegrations:["primaryOpenBanking"],requiredCapabilities:[h],retry:{maxAttempts:2,backoff:"linear",delayMs:750}}],transitions:[{from:"sync-accounts",to:"fetch-accounts"}]}});export{F as syncOpenBankingAccountsWorkflow};
@@ -1,64 +1 @@
1
- // src/workflows/sync-openbanking-transactions.ts
2
- import {
3
- OwnersEnum,
4
- StabilityEnum,
5
- TagsEnum
6
- } from "@contractspec/lib.contracts-spec";
7
- import { defineWorkflow } from "@contractspec/lib.contracts-spec/workflow";
8
- var TRANSACTION_CAPABILITY = {
9
- key: "openbanking.transactions.read",
10
- version: "1.0.0"
11
- };
12
- var syncOpenBankingTransactionsWorkflow = defineWorkflow({
13
- meta: {
14
- key: "pfo.workflow.sync-openbanking-transactions",
15
- version: "1.0.0",
16
- title: "Synchronise Open Banking Transactions",
17
- description: "Fetches recent transactions from Powens for each linked account and stores them in the canonical ledger.",
18
- domain: "finance",
19
- owners: [OwnersEnum.PlatformFinance],
20
- tags: ["open-banking", "powens", TagsEnum.Automation],
21
- stability: StabilityEnum.Experimental
22
- },
23
- definition: {
24
- entryStepId: "sync-transactions",
25
- steps: [
26
- {
27
- id: "sync-transactions",
28
- type: "automation",
29
- label: "Sync Transactions",
30
- description: "Call the Powens provider to pull incremental transactions for active accounts.",
31
- action: {
32
- operation: { key: "openbanking.transactions.sync", version: "1.0.0" }
33
- },
34
- requiredIntegrations: ["primaryOpenBanking"],
35
- requiredCapabilities: [TRANSACTION_CAPABILITY],
36
- retry: {
37
- maxAttempts: 4,
38
- backoff: "exponential",
39
- delayMs: 1500
40
- }
41
- },
42
- {
43
- id: "list-transactions",
44
- type: "automation",
45
- label: "List Transactions",
46
- description: "Retrieve the canonical transaction list for reporting and downstream analytics.",
47
- action: {
48
- operation: { key: "openbanking.transactions.list", version: "1.0.0" }
49
- },
50
- requiredIntegrations: ["primaryOpenBanking"],
51
- requiredCapabilities: [TRANSACTION_CAPABILITY],
52
- retry: {
53
- maxAttempts: 2,
54
- backoff: "linear",
55
- delayMs: 1000
56
- }
57
- }
58
- ],
59
- transitions: [{ from: "sync-transactions", to: "list-transactions" }]
60
- }
61
- });
62
- export {
63
- syncOpenBankingTransactionsWorkflow
64
- };
1
+ import{OwnersEnum as j,StabilityEnum as q,TagsEnum as v}from"@contractspec/lib.contracts-spec";import{defineWorkflow as x}from"@contractspec/lib.contracts-spec/workflow/spec";var h={key:"openbanking.transactions.read",version:"1.0.0"},F=x({meta:{key:"pfo.workflow.sync-openbanking-transactions",version:"1.0.0",title:"Synchronise Open Banking Transactions",description:"Fetches recent transactions from Powens for each linked account and stores them in the canonical ledger.",domain:"finance",owners:[j.PlatformFinance],tags:["open-banking","powens",v.Automation],stability:q.Experimental},definition:{entryStepId:"sync-transactions",steps:[{id:"sync-transactions",type:"automation",label:"Sync Transactions",description:"Call the Powens provider to pull incremental transactions for active accounts.",action:{operation:{key:"openbanking.transactions.sync",version:"1.0.0"}},requiredIntegrations:["primaryOpenBanking"],requiredCapabilities:[h],retry:{maxAttempts:4,backoff:"exponential",delayMs:1500}},{id:"list-transactions",type:"automation",label:"List Transactions",description:"Retrieve the canonical transaction list for reporting and downstream analytics.",action:{operation:{key:"openbanking.transactions.list",version:"1.0.0"}},requiredIntegrations:["primaryOpenBanking"],requiredCapabilities:[h],retry:{maxAttempts:2,backoff:"linear",delayMs:1000}}],transitions:[{from:"sync-transactions",to:"list-transactions"}]}});export{F as syncOpenBankingTransactionsWorkflow};
@@ -1,62 +1 @@
1
- // src/workflows/upcoming-payments-reminder.ts
2
- import {
3
- OwnersEnum,
4
- StabilityEnum,
5
- TagsEnum
6
- } from "@contractspec/lib.contracts-spec";
7
- import { defineWorkflow } from "@contractspec/lib.contracts-spec/workflow";
8
- var upcomingPaymentsReminderWorkflow = defineWorkflow({
9
- meta: {
10
- key: "pfo.workflow.upcoming-payments-reminder",
11
- version: "1.0.0",
12
- title: "Schedule Upcoming Payment Reminder",
13
- description: "Collects payment metadata and schedules multi-channel reminders for bills that are due soon.",
14
- domain: "finance",
15
- owners: [OwnersEnum.PlatformFinance],
16
- tags: ["payments", "reminders", TagsEnum.Automation],
17
- stability: StabilityEnum.Beta
18
- },
19
- definition: {
20
- entryStepId: "collect",
21
- steps: [
22
- {
23
- id: "collect",
24
- type: "human",
25
- label: "Review Upcoming Bill",
26
- description: "Confirm amount, due date, and preferred delivery channels before scheduling reminder."
27
- },
28
- {
29
- id: "schedule",
30
- type: "automation",
31
- label: "Schedule Reminder",
32
- action: {
33
- operation: {
34
- key: "pfo.reminders.schedule-payment",
35
- version: "1.0.0"
36
- }
37
- },
38
- requiredIntegrations: [
39
- "emailOutbound",
40
- "smsNotifications",
41
- "calendarScheduling"
42
- ],
43
- retry: {
44
- maxAttempts: 2,
45
- backoff: "linear",
46
- delayMs: 1000
47
- }
48
- }
49
- ],
50
- transitions: [
51
- {
52
- from: "collect",
53
- to: "schedule",
54
- condition: "output?.confirmed === true",
55
- label: "Reminder confirmed"
56
- }
57
- ]
58
- }
59
- });
60
- export {
61
- upcomingPaymentsReminderWorkflow
62
- };
1
+ import{OwnersEnum as h,StabilityEnum as j,TagsEnum as q}from"@contractspec/lib.contracts-spec";import{defineWorkflow as v}from"@contractspec/lib.contracts-spec/workflow/spec";var A=v({meta:{key:"pfo.workflow.upcoming-payments-reminder",version:"1.0.0",title:"Schedule Upcoming Payment Reminder",description:"Collects payment metadata and schedules multi-channel reminders for bills that are due soon.",domain:"finance",owners:[h.PlatformFinance],tags:["payments","reminders",q.Automation],stability:j.Beta},definition:{entryStepId:"collect",steps:[{id:"collect",type:"human",label:"Review Upcoming Bill",description:"Confirm amount, due date, and preferred delivery channels before scheduling reminder."},{id:"schedule",type:"automation",label:"Schedule Reminder",action:{operation:{key:"pfo.reminders.schedule-payment",version:"1.0.0"}},requiredIntegrations:["emailOutbound","smsNotifications","calendarScheduling"],retry:{maxAttempts:2,backoff:"linear",delayMs:1000}}],transitions:[{from:"collect",to:"schedule",condition:"output?.confirmed === true",label:"Reminder confirmed"}]}});export{A as upcomingPaymentsReminderWorkflow};
@@ -1,198 +1,2 @@
1
1
  // @bun
2
- // src/connections/samples.ts
3
- var now = new Date;
4
- var baseMeta = {
5
- tenantId: "tenant.family-office",
6
- createdAt: now,
7
- updatedAt: now
8
- };
9
- var pocketFamilyOfficeConnections = [
10
- {
11
- meta: {
12
- ...baseMeta,
13
- id: "conn-mistral-primary",
14
- integrationKey: "ai-llm.mistral",
15
- integrationVersion: "1.0.0",
16
- label: "Mistral Primary"
17
- },
18
- ownershipMode: "managed",
19
- config: {
20
- model: "mistral-large-latest",
21
- embeddingModel: "mistral-embed"
22
- },
23
- secretProvider: "gcp-secret-manager",
24
- secretRef: "gcp://projects/pfo-hackathon/secrets/mistral-api-key/versions/latest",
25
- status: "connected",
26
- health: {
27
- status: "connected",
28
- checkedAt: now,
29
- latencyMs: 180
30
- }
31
- },
32
- {
33
- meta: {
34
- ...baseMeta,
35
- id: "conn-qdrant-finance",
36
- integrationKey: "vectordb.qdrant",
37
- integrationVersion: "1.0.0",
38
- label: "Qdrant Finance Cluster"
39
- },
40
- ownershipMode: "managed",
41
- config: {
42
- apiUrl: "https://qdrant.pfo.internal",
43
- collectionPrefix: "tenant-family-office"
44
- },
45
- secretProvider: "gcp-secret-manager",
46
- secretRef: "gcp://projects/pfo-hackathon/secrets/qdrant-api-key/versions/latest",
47
- status: "connected",
48
- health: { status: "connected", checkedAt: now, latencyMs: 95 }
49
- },
50
- {
51
- meta: {
52
- ...baseMeta,
53
- id: "conn-gcs-documents",
54
- integrationKey: "storage.gcs",
55
- integrationVersion: "1.0.0",
56
- label: "GCS Documents Bucket"
57
- },
58
- ownershipMode: "managed",
59
- config: {
60
- bucket: "pfo-uploads",
61
- prefix: "financial-docs/"
62
- },
63
- secretProvider: "gcp-secret-manager",
64
- secretRef: "gcp://projects/pfo-hackathon/secrets/gcs-service-account/versions/latest",
65
- status: "connected",
66
- health: { status: "connected", checkedAt: now, latencyMs: 60 }
67
- },
68
- {
69
- meta: {
70
- ...baseMeta,
71
- id: "conn-gmail-threads",
72
- integrationKey: "email.gmail",
73
- integrationVersion: "1.0.0",
74
- label: "Gmail Household Threads"
75
- },
76
- ownershipMode: "byok",
77
- config: {
78
- labelIds: ["FINANCE", "INBOX"],
79
- includeSpamTrash: false
80
- },
81
- secretProvider: "gcp-secret-manager",
82
- secretRef: "gcp://projects/pfo-hackathon/secrets/gmail-refresh-token/versions/latest",
83
- status: "connected",
84
- health: { status: "connected", checkedAt: now, latencyMs: 320 }
85
- },
86
- {
87
- meta: {
88
- ...baseMeta,
89
- id: "conn-postmark-outbound",
90
- integrationKey: "email.postmark",
91
- integrationVersion: "1.0.0",
92
- label: "Postmark Transactional"
93
- },
94
- ownershipMode: "managed",
95
- config: {
96
- messageStream: "outbound",
97
- fromEmail: "family.office@pfo.dev"
98
- },
99
- secretProvider: "gcp-secret-manager",
100
- secretRef: "gcp://projects/pfo-hackathon/secrets/postmark-server-token/versions/latest",
101
- status: "connected",
102
- health: { status: "connected", checkedAt: now, latencyMs: 210 }
103
- },
104
- {
105
- meta: {
106
- ...baseMeta,
107
- id: "conn-google-calendar",
108
- integrationKey: "calendar.google",
109
- integrationVersion: "1.0.0",
110
- label: "Household Calendar"
111
- },
112
- ownershipMode: "managed",
113
- config: {
114
- calendarId: "primary"
115
- },
116
- secretProvider: "gcp-secret-manager",
117
- secretRef: "gcp://projects/pfo-hackathon/secrets/google-calendar-service-account/versions/latest",
118
- status: "connected",
119
- health: { status: "connected", checkedAt: now, latencyMs: 140 }
120
- },
121
- {
122
- meta: {
123
- ...baseMeta,
124
- id: "conn-elevenlabs-voice",
125
- integrationKey: "ai-voice.elevenlabs",
126
- integrationVersion: "1.0.0",
127
- label: "ElevenLabs Voice"
128
- },
129
- ownershipMode: "byok",
130
- config: {
131
- defaultVoiceId: "pNInz6obpgDQGcFmaJgB"
132
- },
133
- secretProvider: "gcp-secret-manager",
134
- secretRef: "gcp://projects/pfo-hackathon/secrets/elevenlabs-api-key/versions/latest",
135
- status: "connected",
136
- health: { status: "connected", checkedAt: now, latencyMs: 250 }
137
- },
138
- {
139
- meta: {
140
- ...baseMeta,
141
- id: "conn-twilio-sms",
142
- integrationKey: "sms.twilio",
143
- integrationVersion: "1.0.0",
144
- label: "Twilio SMS"
145
- },
146
- ownershipMode: "managed",
147
- config: {
148
- fromNumber: "+15552340000"
149
- },
150
- secretProvider: "gcp-secret-manager",
151
- secretRef: "gcp://projects/pfo-hackathon/secrets/twilio-auth-token/versions/latest",
152
- status: "connected",
153
- health: { status: "connected", checkedAt: now, latencyMs: 180 }
154
- },
155
- {
156
- meta: {
157
- ...baseMeta,
158
- id: "conn-stripe-recurring",
159
- integrationKey: "payments.stripe",
160
- integrationVersion: "1.0.0",
161
- label: "Stripe Recurring Billing"
162
- },
163
- ownershipMode: "managed",
164
- config: {
165
- accountId: "acct_1PFOHACKATHON",
166
- region: "eu-west-1"
167
- },
168
- secretProvider: "gcp-secret-manager",
169
- secretRef: "gcp://projects/pfo-hackathon/secrets/stripe-secret-key/versions/latest",
170
- status: "connected",
171
- health: { status: "connected", checkedAt: now, latencyMs: 220 }
172
- },
173
- {
174
- meta: {
175
- ...baseMeta,
176
- id: "conn-powens-primary",
177
- integrationKey: "openbanking.powens",
178
- integrationVersion: "1.0.0",
179
- label: "Powens Open Banking"
180
- },
181
- ownershipMode: "byok",
182
- config: {
183
- environment: "sandbox",
184
- baseUrl: "https://api-sandbox.powens.com/v2"
185
- },
186
- secretProvider: "gcp-secret-manager",
187
- secretRef: "gcp://projects/pfo-hackathon/secrets/powens-credentials/versions/latest",
188
- status: "connected",
189
- health: { status: "connected", checkedAt: now, latencyMs: 410 }
190
- }
191
- ];
192
- function getPocketFamilyOfficeConnection(connectionId) {
193
- return pocketFamilyOfficeConnections.find((connection) => connection.meta.id === connectionId);
194
- }
195
- export {
196
- pocketFamilyOfficeConnections,
197
- getPocketFamilyOfficeConnection
198
- };
2
+ var e=new Date,t={tenantId:"tenant.family-office",createdAt:e,updatedAt:e},o=[{meta:{...t,id:"conn-mistral-primary",integrationKey:"ai-llm.mistral",integrationVersion:"1.0.0",label:"Mistral Primary"},ownershipMode:"managed",config:{model:"mistral-large-latest",embeddingModel:"mistral-embed"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/mistral-api-key/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:180}},{meta:{...t,id:"conn-qdrant-finance",integrationKey:"vectordb.qdrant",integrationVersion:"1.0.0",label:"Qdrant Finance Cluster"},ownershipMode:"managed",config:{apiUrl:"https://qdrant.pfo.internal",collectionPrefix:"tenant-family-office"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/qdrant-api-key/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:95}},{meta:{...t,id:"conn-gcs-documents",integrationKey:"storage.gcs",integrationVersion:"1.0.0",label:"GCS Documents Bucket"},ownershipMode:"managed",config:{bucket:"pfo-uploads",prefix:"financial-docs/"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/gcs-service-account/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:60}},{meta:{...t,id:"conn-gmail-threads",integrationKey:"email.gmail",integrationVersion:"1.0.0",label:"Gmail Household Threads"},ownershipMode:"byok",config:{labelIds:["FINANCE","INBOX"],includeSpamTrash:!1},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/gmail-refresh-token/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:320}},{meta:{...t,id:"conn-postmark-outbound",integrationKey:"email.postmark",integrationVersion:"1.0.0",label:"Postmark Transactional"},ownershipMode:"managed",config:{messageStream:"outbound",fromEmail:"family.office@pfo.dev"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/postmark-server-token/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:210}},{meta:{...t,id:"conn-google-calendar",integrationKey:"calendar.google",integrationVersion:"1.0.0",label:"Household Calendar"},ownershipMode:"managed",config:{calendarId:"primary"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/google-calendar-service-account/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:140}},{meta:{...t,id:"conn-elevenlabs-voice",integrationKey:"ai-voice.elevenlabs",integrationVersion:"1.0.0",label:"ElevenLabs Voice"},ownershipMode:"byok",config:{defaultVoiceId:"pNInz6obpgDQGcFmaJgB"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/elevenlabs-api-key/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:250}},{meta:{...t,id:"conn-twilio-sms",integrationKey:"sms.twilio",integrationVersion:"1.0.0",label:"Twilio SMS"},ownershipMode:"managed",config:{fromNumber:"+15552340000"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/twilio-auth-token/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:180}},{meta:{...t,id:"conn-stripe-recurring",integrationKey:"payments.stripe",integrationVersion:"1.0.0",label:"Stripe Recurring Billing"},ownershipMode:"managed",config:{accountId:"acct_1PFOHACKATHON",region:"eu-west-1"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/stripe-secret-key/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:220}},{meta:{...t,id:"conn-powens-primary",integrationKey:"openbanking.powens",integrationVersion:"1.0.0",label:"Powens Open Banking"},ownershipMode:"byok",config:{environment:"sandbox",baseUrl:"https://api-sandbox.powens.com/v2"},secretProvider:"gcp-secret-manager",secretRef:"gcp://projects/pfo-hackathon/secrets/powens-credentials/versions/latest",status:"connected",health:{status:"connected",checkedAt:e,latencyMs:410}}];function c(n){return o.find((a)=>a.meta.id===n)}export{o as pocketFamilyOfficeConnections,c as getPocketFamilyOfficeConnection};
@@ -1,16 +1,5 @@
1
1
  // @bun
2
- // src/docs/pocket-family-office.docblock.ts
3
- import { registerDocBlocks } from "@contractspec/lib.contracts-spec/docs";
4
- var pocketFamilyOfficeDocBlocks = [
5
- {
6
- id: "docs.examples.pocket-family-office.goal",
7
- title: "Pocket Family Office \u2014 Goal",
8
- summary: "Secure personal finance automation combining documents and open banking.",
9
- kind: "goal",
10
- visibility: "public",
11
- route: "/docs/examples/pocket-family-office/goal",
12
- tags: ["finance", "goal"],
13
- body: `## Why it matters
2
+ import{registerDocBlocks as h}from"@contractspec/lib.contracts-spec/docs";var j=[{id:"docs.examples.pocket-family-office.goal",title:"Pocket Family Office \u2014 Goal",summary:"Secure personal finance automation combining documents and open banking.",kind:"goal",visibility:"public",route:"/docs/examples/pocket-family-office/goal",tags:["finance","goal"],body:`## Why it matters
14
3
  - Automate document ingestion (receipts, statements) and link to transactions.
15
4
  - Provides a "family office" grade overview for individuals.
16
5
  - Uses open banking for real-time data and AI for insights.
@@ -23,17 +12,7 @@ var pocketFamilyOfficeDocBlocks = [
23
12
  ## Success criteria
24
13
  - Successful ingestion and classification of documents.
25
14
  - Accurate syncing of open banking data.
26
- - Generation of useful financial summaries.`
27
- },
28
- {
29
- id: "docs.examples.pocket-family-office.usage",
30
- title: "Pocket Family Office \u2014 Usage",
31
- summary: "How to deploy and use the personal finance automation template.",
32
- kind: "usage",
33
- visibility: "public",
34
- route: "/docs/examples/pocket-family-office/usage",
35
- tags: ["finance", "usage"],
36
- body: `## Setup
15
+ - Generation of useful financial summaries.`},{id:"docs.examples.pocket-family-office.usage",title:"Pocket Family Office \u2014 Usage",summary:"How to deploy and use the personal finance automation template.",kind:"usage",visibility:"public",route:"/docs/examples/pocket-family-office/usage",tags:["finance","usage"],body:`## Setup
37
16
  1) Configure Open Banking credentials (e.g., using a provider mock or sandbox).
38
17
  2) internalize the 'pocket-family-office' feature into your workspace.
39
18
  3) Set up document storage buckets/paths.
@@ -45,28 +24,4 @@ var pocketFamilyOfficeDocBlocks = [
45
24
 
46
25
  ## Guardrails
47
26
  - PII is redacted in summaries by default.
48
- - Read-only access to bank data (no write/payment initiation in this template).`
49
- },
50
- {
51
- id: "docs.examples.pocket-family-office.reference",
52
- title: "Pocket Family Office \u2014 Reference",
53
- summary: "Key components of the Pocket Family Office system.",
54
- kind: "reference",
55
- visibility: "public",
56
- route: "/docs/examples/pocket-family-office",
57
- tags: ["finance", "reference"],
58
- body: `## Workflows
59
- - \`process-uploaded-document\`: Extracts data from PDFs/Images.
60
- - \`sync-openbanking-transactions\`: Fetches latest transactions.
61
- - \`generate-financial-summary\`: AI-driven report generation.
62
- - \`upcoming-payments-reminder\`: Scans needed actions.
63
-
64
- ## Operations
65
- - \`pfo.documents.upload\`: Secure upload endpoint for documents.
66
-
67
- ## Capabilities
68
- - Requires: \`identity\`, \`openbanking\`.
69
- - Provides: \`pocket-family-office\`.`
70
- }
71
- ];
72
- registerDocBlocks(pocketFamilyOfficeDocBlocks);
27
+ - Read-only access to bank data (no write/payment initiation in this template).`},{id:"docs.examples.pocket-family-office.reference",title:"Pocket Family Office \u2014 Reference",summary:"Key components of the Pocket Family Office system.",kind:"reference",visibility:"public",route:"/docs/examples/pocket-family-office",tags:["finance","reference"],body:"## Workflows\n- `process-uploaded-document`: Extracts data from PDFs/Images.\n- `sync-openbanking-transactions`: Fetches latest transactions.\n- `generate-financial-summary`: AI-driven report generation.\n- `upcoming-payments-reminder`: Scans needed actions.\n\n## Operations\n- `pfo.documents.upload`: Secure upload endpoint for documents.\n\n## Capabilities\n- Requires: `identity`, `openbanking`.\n- Provides: `pocket-family-office`."}];h(j);
@@ -1,16 +1,5 @@
1
1
  // @bun
2
- // src/docs/pocket-family-office.docblock.ts
3
- import { registerDocBlocks } from "@contractspec/lib.contracts-spec/docs";
4
- var pocketFamilyOfficeDocBlocks = [
5
- {
6
- id: "docs.examples.pocket-family-office.goal",
7
- title: "Pocket Family Office \u2014 Goal",
8
- summary: "Secure personal finance automation combining documents and open banking.",
9
- kind: "goal",
10
- visibility: "public",
11
- route: "/docs/examples/pocket-family-office/goal",
12
- tags: ["finance", "goal"],
13
- body: `## Why it matters
2
+ import{registerDocBlocks as h}from"@contractspec/lib.contracts-spec/docs";var j=[{id:"docs.examples.pocket-family-office.goal",title:"Pocket Family Office \u2014 Goal",summary:"Secure personal finance automation combining documents and open banking.",kind:"goal",visibility:"public",route:"/docs/examples/pocket-family-office/goal",tags:["finance","goal"],body:`## Why it matters
14
3
  - Automate document ingestion (receipts, statements) and link to transactions.
15
4
  - Provides a "family office" grade overview for individuals.
16
5
  - Uses open banking for real-time data and AI for insights.
@@ -23,17 +12,7 @@ var pocketFamilyOfficeDocBlocks = [
23
12
  ## Success criteria
24
13
  - Successful ingestion and classification of documents.
25
14
  - Accurate syncing of open banking data.
26
- - Generation of useful financial summaries.`
27
- },
28
- {
29
- id: "docs.examples.pocket-family-office.usage",
30
- title: "Pocket Family Office \u2014 Usage",
31
- summary: "How to deploy and use the personal finance automation template.",
32
- kind: "usage",
33
- visibility: "public",
34
- route: "/docs/examples/pocket-family-office/usage",
35
- tags: ["finance", "usage"],
36
- body: `## Setup
15
+ - Generation of useful financial summaries.`},{id:"docs.examples.pocket-family-office.usage",title:"Pocket Family Office \u2014 Usage",summary:"How to deploy and use the personal finance automation template.",kind:"usage",visibility:"public",route:"/docs/examples/pocket-family-office/usage",tags:["finance","usage"],body:`## Setup
37
16
  1) Configure Open Banking credentials (e.g., using a provider mock or sandbox).
38
17
  2) internalize the 'pocket-family-office' feature into your workspace.
39
18
  3) Set up document storage buckets/paths.
@@ -45,28 +24,4 @@ var pocketFamilyOfficeDocBlocks = [
45
24
 
46
25
  ## Guardrails
47
26
  - PII is redacted in summaries by default.
48
- - Read-only access to bank data (no write/payment initiation in this template).`
49
- },
50
- {
51
- id: "docs.examples.pocket-family-office.reference",
52
- title: "Pocket Family Office \u2014 Reference",
53
- summary: "Key components of the Pocket Family Office system.",
54
- kind: "reference",
55
- visibility: "public",
56
- route: "/docs/examples/pocket-family-office",
57
- tags: ["finance", "reference"],
58
- body: `## Workflows
59
- - \`process-uploaded-document\`: Extracts data from PDFs/Images.
60
- - \`sync-openbanking-transactions\`: Fetches latest transactions.
61
- - \`generate-financial-summary\`: AI-driven report generation.
62
- - \`upcoming-payments-reminder\`: Scans needed actions.
63
-
64
- ## Operations
65
- - \`pfo.documents.upload\`: Secure upload endpoint for documents.
66
-
67
- ## Capabilities
68
- - Requires: \`identity\`, \`openbanking\`.
69
- - Provides: \`pocket-family-office\`.`
70
- }
71
- ];
72
- registerDocBlocks(pocketFamilyOfficeDocBlocks);
27
+ - Read-only access to bank data (no write/payment initiation in this template).`},{id:"docs.examples.pocket-family-office.reference",title:"Pocket Family Office \u2014 Reference",summary:"Key components of the Pocket Family Office system.",kind:"reference",visibility:"public",route:"/docs/examples/pocket-family-office",tags:["finance","reference"],body:"## Workflows\n- `process-uploaded-document`: Extracts data from PDFs/Images.\n- `sync-openbanking-transactions`: Fetches latest transactions.\n- `generate-financial-summary`: AI-driven report generation.\n- `upcoming-payments-reminder`: Scans needed actions.\n\n## Operations\n- `pfo.documents.upload`: Secure upload endpoint for documents.\n\n## Capabilities\n- Requires: `identity`, `openbanking`.\n- Provides: `pocket-family-office`."}];h(j);
package/dist/example.js CHANGED
@@ -1,43 +1,2 @@
1
1
  // @bun
2
- // src/example.ts
3
- import { defineExample } from "@contractspec/lib.contracts-spec";
4
- var example = defineExample({
5
- meta: {
6
- key: "pocket-family-office",
7
- version: "1.0.0",
8
- title: "Pocket Family Office",
9
- description: "Personal finance automation with document ingestion, open banking, and AI summaries",
10
- kind: "template",
11
- visibility: "public",
12
- stability: "experimental",
13
- owners: ["@platform.finance"],
14
- tags: [
15
- "finance",
16
- "open-banking",
17
- "documents",
18
- "automation",
19
- "family-office"
20
- ]
21
- },
22
- docs: {
23
- rootDocId: "docs.examples.pocket-family-office"
24
- },
25
- entrypoints: {
26
- packageName: "@contractspec/example.pocket-family-office",
27
- feature: "./feature",
28
- docs: "./docs"
29
- },
30
- surfaces: {
31
- templates: true,
32
- sandbox: {
33
- enabled: true,
34
- modes: ["playground", "specs", "builder"]
35
- },
36
- studio: { enabled: true, installable: true },
37
- mcp: { enabled: true }
38
- }
39
- });
40
- var example_default = example;
41
- export {
42
- example_default as default
43
- };
2
+ import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"pocket-family-office",version:"1.0.0",title:"Pocket Family Office",description:"Personal finance automation with document ingestion, open banking, and AI summaries",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.finance"],tags:["finance","open-banking","documents","automation","family-office"]},docs:{rootDocId:"docs.examples.pocket-family-office"},entrypoints:{packageName:"@contractspec/example.pocket-family-office",feature:"./feature",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs","builder"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};