@contractspec/example.pocket-family-office 3.7.17 → 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.
- package/dist/blueprint.js +1 -197
- package/dist/browser/blueprint.js +1 -197
- package/dist/browser/connections/samples.js +1 -197
- package/dist/browser/docs/index.js +3 -48
- package/dist/browser/docs/pocket-family-office.docblock.js +3 -48
- package/dist/browser/example.js +1 -42
- package/dist/browser/index.js +4 -1660
- package/dist/browser/knowledge/sources.sample.js +1 -70
- package/dist/browser/operations/index.js +1 -314
- package/dist/browser/pocket-family-office.capability.js +1 -19
- package/dist/browser/pocket-family-office.feature.js +2 -86
- package/dist/browser/telemetry.js +1 -176
- package/dist/browser/tenant.sample.js +1 -71
- package/dist/browser/workflows/generate-financial-summary.js +1 -58
- package/dist/browser/workflows/generate-openbanking-overview.js +1 -52
- package/dist/browser/workflows/index.js +1 -467
- package/dist/browser/workflows/ingest-email-threads.js +1 -56
- package/dist/browser/workflows/process-uploaded-document.js +1 -54
- package/dist/browser/workflows/refresh-openbanking-balances.js +1 -64
- package/dist/browser/workflows/sync-openbanking-accounts.js +1 -64
- package/dist/browser/workflows/sync-openbanking-transactions.js +1 -64
- package/dist/browser/workflows/upcoming-payments-reminder.js +1 -62
- package/dist/connections/samples.js +1 -197
- package/dist/docs/index.js +3 -48
- package/dist/docs/pocket-family-office.docblock.js +3 -48
- package/dist/example.js +1 -42
- package/dist/index.js +4 -1660
- package/dist/knowledge/sources.sample.js +1 -70
- package/dist/node/blueprint.js +1 -197
- package/dist/node/connections/samples.js +1 -197
- package/dist/node/docs/index.js +3 -48
- package/dist/node/docs/pocket-family-office.docblock.js +3 -48
- package/dist/node/example.js +1 -42
- package/dist/node/index.js +4 -1660
- package/dist/node/knowledge/sources.sample.js +1 -70
- package/dist/node/operations/index.js +1 -314
- package/dist/node/pocket-family-office.capability.js +1 -19
- package/dist/node/pocket-family-office.feature.js +2 -86
- package/dist/node/telemetry.js +1 -176
- package/dist/node/tenant.sample.js +1 -71
- package/dist/node/workflows/generate-financial-summary.js +1 -58
- package/dist/node/workflows/generate-openbanking-overview.js +1 -52
- package/dist/node/workflows/index.js +1 -467
- package/dist/node/workflows/ingest-email-threads.js +1 -56
- package/dist/node/workflows/process-uploaded-document.js +1 -54
- package/dist/node/workflows/refresh-openbanking-balances.js +1 -64
- package/dist/node/workflows/sync-openbanking-accounts.js +1 -64
- package/dist/node/workflows/sync-openbanking-transactions.js +1 -64
- package/dist/node/workflows/upcoming-payments-reminder.js +1 -62
- package/dist/operations/index.js +1 -314
- package/dist/pocket-family-office.capability.js +1 -19
- package/dist/pocket-family-office.feature.js +2 -86
- package/dist/telemetry.js +1 -176
- package/dist/tenant.sample.js +1 -71
- package/dist/workflows/generate-financial-summary.js +1 -58
- package/dist/workflows/generate-openbanking-overview.js +1 -52
- package/dist/workflows/index.js +1 -467
- package/dist/workflows/ingest-email-threads.js +1 -56
- package/dist/workflows/process-uploaded-document.js +1 -54
- package/dist/workflows/refresh-openbanking-balances.js +1 -64
- package/dist/workflows/sync-openbanking-accounts.js +1 -64
- package/dist/workflows/sync-openbanking-transactions.js +1 -64
- package/dist/workflows/upcoming-payments-reminder.js +1 -62
- package/package.json +7 -7
|
@@ -1,71 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
var now = new Date;
|
|
4
|
-
var pocketFamilyOfficeKnowledgeSources = [
|
|
5
|
-
{
|
|
6
|
-
meta: {
|
|
7
|
-
id: "source-financial-uploads",
|
|
8
|
-
tenantId: "tenant.family-office",
|
|
9
|
-
spaceKey: "knowledge.financial-docs",
|
|
10
|
-
spaceVersion: "1.0.0",
|
|
11
|
-
label: "Uploaded Financial Documents",
|
|
12
|
-
sourceType: "file_upload",
|
|
13
|
-
createdAt: now,
|
|
14
|
-
updatedAt: now
|
|
15
|
-
},
|
|
16
|
-
config: {
|
|
17
|
-
bucket: "pfo-uploads",
|
|
18
|
-
prefix: "financial-docs/"
|
|
19
|
-
},
|
|
20
|
-
syncSchedule: {
|
|
21
|
-
enabled: true,
|
|
22
|
-
intervalMs: 15 * 60 * 1000
|
|
23
|
-
},
|
|
24
|
-
lastSync: {
|
|
25
|
-
timestamp: now,
|
|
26
|
-
success: true
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
meta: {
|
|
31
|
-
id: "source-gmail-threads",
|
|
32
|
-
tenantId: "tenant.family-office",
|
|
33
|
-
spaceKey: "knowledge.email-threads",
|
|
34
|
-
spaceVersion: "1.0.0",
|
|
35
|
-
label: "Household Gmail Threads",
|
|
36
|
-
sourceType: "email",
|
|
37
|
-
createdAt: now,
|
|
38
|
-
updatedAt: now
|
|
39
|
-
},
|
|
40
|
-
config: {
|
|
41
|
-
labelIds: ["INBOX", "FINANCE"]
|
|
42
|
-
},
|
|
43
|
-
syncSchedule: {
|
|
44
|
-
enabled: true,
|
|
45
|
-
intervalMs: 5 * 60 * 1000
|
|
46
|
-
},
|
|
47
|
-
lastSync: {
|
|
48
|
-
timestamp: now,
|
|
49
|
-
success: true
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
meta: {
|
|
54
|
-
id: "source-financial-overview",
|
|
55
|
-
tenantId: "tenant.family-office",
|
|
56
|
-
spaceKey: "knowledge.financial-overview",
|
|
57
|
-
spaceVersion: "1.0.0",
|
|
58
|
-
label: "Financial Overview",
|
|
59
|
-
sourceType: "api",
|
|
60
|
-
createdAt: now,
|
|
61
|
-
updatedAt: now
|
|
62
|
-
},
|
|
63
|
-
config: {},
|
|
64
|
-
syncSchedule: {
|
|
65
|
-
enabled: false
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
];
|
|
69
|
-
export {
|
|
70
|
-
pocketFamilyOfficeKnowledgeSources
|
|
71
|
-
};
|
|
2
|
+
var e=new Date,a=[{meta:{id:"source-financial-uploads",tenantId:"tenant.family-office",spaceKey:"knowledge.financial-docs",spaceVersion:"1.0.0",label:"Uploaded Financial Documents",sourceType:"file_upload",createdAt:e,updatedAt:e},config:{bucket:"pfo-uploads",prefix:"financial-docs/"},syncSchedule:{enabled:!0,intervalMs:900000},lastSync:{timestamp:e,success:!0}},{meta:{id:"source-gmail-threads",tenantId:"tenant.family-office",spaceKey:"knowledge.email-threads",spaceVersion:"1.0.0",label:"Household Gmail Threads",sourceType:"email",createdAt:e,updatedAt:e},config:{labelIds:["INBOX","FINANCE"]},syncSchedule:{enabled:!0,intervalMs:300000},lastSync:{timestamp:e,success:!0}},{meta:{id:"source-financial-overview",tenantId:"tenant.family-office",spaceKey:"knowledge.financial-overview",spaceVersion:"1.0.0",label:"Financial Overview",sourceType:"api",createdAt:e,updatedAt:e},config:{},syncSchedule:{enabled:!1}}];export{a as pocketFamilyOfficeKnowledgeSources};
|
package/dist/node/blueprint.js
CHANGED
|
@@ -1,197 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
OwnersEnum,
|
|
4
|
-
StabilityEnum,
|
|
5
|
-
TagsEnum
|
|
6
|
-
} from "@contractspec/lib.contracts-spec/ownership";
|
|
7
|
-
var cap = (key, version) => ({ key, version });
|
|
8
|
-
var pocketFamilyOfficeBlueprint = {
|
|
9
|
-
meta: {
|
|
10
|
-
key: "pocket-family-office.app",
|
|
11
|
-
version: "1.0.0",
|
|
12
|
-
appId: "pocket-family-office",
|
|
13
|
-
title: "Pocket Family Office",
|
|
14
|
-
description: "Household finance automation: ingest documents, track bills, remind payments, and summarise cashflow.",
|
|
15
|
-
domain: "finance",
|
|
16
|
-
owners: [OwnersEnum.PlatformFinance],
|
|
17
|
-
tags: [TagsEnum.Guide, "finance", "automation"],
|
|
18
|
-
stability: StabilityEnum.Experimental
|
|
19
|
-
},
|
|
20
|
-
capabilities: {
|
|
21
|
-
enabled: [
|
|
22
|
-
cap("ai.chat", "1.0.0"),
|
|
23
|
-
cap("ai.embeddings", "1.0.0"),
|
|
24
|
-
cap("vector-db.search", "1.0.0"),
|
|
25
|
-
cap("vector-db.storage", "1.0.0"),
|
|
26
|
-
cap("storage.objects", "1.0.0"),
|
|
27
|
-
cap("email.inbound", "1.0.0"),
|
|
28
|
-
cap("email.transactional", "1.0.0"),
|
|
29
|
-
cap("calendar.events", "1.0.0"),
|
|
30
|
-
cap("sms.outbound", "1.0.0"),
|
|
31
|
-
cap("ai.voice.tts", "1.0.0"),
|
|
32
|
-
cap("payments.psp", "1.0.0"),
|
|
33
|
-
cap("openbanking.accounts.read", "1.0.0"),
|
|
34
|
-
cap("openbanking.transactions.read", "1.0.0"),
|
|
35
|
-
cap("openbanking.balances.read", "1.0.0")
|
|
36
|
-
]
|
|
37
|
-
},
|
|
38
|
-
integrationSlots: [
|
|
39
|
-
{
|
|
40
|
-
slotId: "primaryLLM",
|
|
41
|
-
requiredCategory: "ai-llm",
|
|
42
|
-
allowedModes: ["managed", "byok"],
|
|
43
|
-
requiredCapabilities: [cap("ai.chat", "1.0.0")],
|
|
44
|
-
required: true,
|
|
45
|
-
description: "Chat completion provider powering summarisation, explanations, and insights."
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
slotId: "primaryVectorDb",
|
|
49
|
-
requiredCategory: "vector-db",
|
|
50
|
-
allowedModes: ["managed", "byok"],
|
|
51
|
-
requiredCapabilities: [cap("vector-db.search", "1.0.0")],
|
|
52
|
-
required: true,
|
|
53
|
-
description: "Vector database storing embeddings for financial documents and email threads."
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
slotId: "primaryStorage",
|
|
57
|
-
requiredCategory: "storage",
|
|
58
|
-
allowedModes: ["managed", "byok"],
|
|
59
|
-
requiredCapabilities: [cap("storage.objects", "1.0.0")],
|
|
60
|
-
required: true,
|
|
61
|
-
description: "Object storage used for raw uploads and normalised documents."
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
slotId: "primaryOpenBanking",
|
|
65
|
-
requiredCategory: "open-banking",
|
|
66
|
-
allowedModes: ["byok"],
|
|
67
|
-
requiredCapabilities: [
|
|
68
|
-
cap("openbanking.accounts.read", "1.0.0"),
|
|
69
|
-
cap("openbanking.transactions.read", "1.0.0"),
|
|
70
|
-
cap("openbanking.balances.read", "1.0.0")
|
|
71
|
-
],
|
|
72
|
-
required: true,
|
|
73
|
-
description: "Powens BYOK connection powering bank account, transaction, and balance synchronisation."
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
slotId: "emailInbound",
|
|
77
|
-
requiredCategory: "email",
|
|
78
|
-
allowedModes: ["managed", "byok"],
|
|
79
|
-
requiredCapabilities: [cap("email.inbound", "1.0.0")],
|
|
80
|
-
required: true,
|
|
81
|
-
description: "Inbound email/thread sync (Gmail) feeding the knowledge corpus."
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
slotId: "emailOutbound",
|
|
85
|
-
requiredCategory: "email",
|
|
86
|
-
allowedModes: ["managed", "byok"],
|
|
87
|
-
requiredCapabilities: [cap("email.transactional", "1.0.0")],
|
|
88
|
-
required: true,
|
|
89
|
-
description: "Transactional email delivery for reminders and summaries."
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
slotId: "calendarScheduling",
|
|
93
|
-
requiredCategory: "calendar",
|
|
94
|
-
allowedModes: ["managed", "byok"],
|
|
95
|
-
requiredCapabilities: [cap("calendar.events", "1.0.0")],
|
|
96
|
-
required: true,
|
|
97
|
-
description: "Creates calendar holds for bill reviews and handoff meetings."
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
slotId: "voicePlayback",
|
|
101
|
-
requiredCategory: "ai-voice-tts",
|
|
102
|
-
allowedModes: ["managed", "byok"],
|
|
103
|
-
requiredCapabilities: [cap("ai.voice.tts", "1.0.0")],
|
|
104
|
-
required: false,
|
|
105
|
-
description: "Optional voice synthesis for spoken summaries (ElevenLabs)."
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
slotId: "smsNotifications",
|
|
109
|
-
requiredCategory: "sms",
|
|
110
|
-
allowedModes: ["managed", "byok"],
|
|
111
|
-
requiredCapabilities: [cap("sms.outbound", "1.0.0")],
|
|
112
|
-
required: false,
|
|
113
|
-
description: "SMS provider used for urgent reminders."
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
slotId: "paymentsProcessing",
|
|
117
|
-
requiredCategory: "payments",
|
|
118
|
-
allowedModes: ["managed", "byok"],
|
|
119
|
-
requiredCapabilities: [cap("payments.psp", "1.0.0")],
|
|
120
|
-
required: false,
|
|
121
|
-
description: "Optional payments processor enabling bill pay automations."
|
|
122
|
-
}
|
|
123
|
-
],
|
|
124
|
-
workflows: {
|
|
125
|
-
processUploadedDocument: {
|
|
126
|
-
key: "pfo.workflow.process-uploaded-document",
|
|
127
|
-
version: "1.0.0"
|
|
128
|
-
},
|
|
129
|
-
upcomingPaymentsReminder: {
|
|
130
|
-
key: "pfo.workflow.upcoming-payments-reminder",
|
|
131
|
-
version: "1.0.0"
|
|
132
|
-
},
|
|
133
|
-
generateFinancialSummary: {
|
|
134
|
-
key: "pfo.workflow.generate-financial-summary",
|
|
135
|
-
version: "1.0.0"
|
|
136
|
-
},
|
|
137
|
-
ingestEmailThreads: {
|
|
138
|
-
key: "pfo.workflow.ingest-email-threads",
|
|
139
|
-
version: "1.0.0"
|
|
140
|
-
},
|
|
141
|
-
syncOpenBankingAccounts: {
|
|
142
|
-
key: "pfo.workflow.sync-openbanking-accounts",
|
|
143
|
-
version: "1.0.0"
|
|
144
|
-
},
|
|
145
|
-
syncOpenBankingTransactions: {
|
|
146
|
-
key: "pfo.workflow.sync-openbanking-transactions",
|
|
147
|
-
version: "1.0.0"
|
|
148
|
-
},
|
|
149
|
-
refreshOpenBankingBalances: {
|
|
150
|
-
key: "pfo.workflow.refresh-openbanking-balances",
|
|
151
|
-
version: "1.0.0"
|
|
152
|
-
},
|
|
153
|
-
generateOpenBankingOverview: {
|
|
154
|
-
key: "pfo.workflow.generate-openbanking-overview",
|
|
155
|
-
version: "1.0.0"
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
policies: [
|
|
159
|
-
{ key: "pfo.policy.tenancy", version: "1.0.0" },
|
|
160
|
-
{ key: "knowledge.access.financial-docs", version: "1.0.0" }
|
|
161
|
-
],
|
|
162
|
-
telemetry: {
|
|
163
|
-
spec: { key: "pfo.telemetry", version: "1.0.0" }
|
|
164
|
-
},
|
|
165
|
-
featureFlags: [
|
|
166
|
-
{
|
|
167
|
-
key: "voice-summaries",
|
|
168
|
-
enabled: false,
|
|
169
|
-
description: "Enable ElevenLabs spoken summaries in addition to email distribution."
|
|
170
|
-
}
|
|
171
|
-
],
|
|
172
|
-
routes: [
|
|
173
|
-
{
|
|
174
|
-
path: "/dashboard",
|
|
175
|
-
label: "Overview",
|
|
176
|
-
workflow: "pfo.workflow.generate-financial-summary"
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
path: "/documents/upload",
|
|
180
|
-
label: "Upload Document",
|
|
181
|
-
workflow: "pfo.workflow.process-uploaded-document"
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
path: "/communications",
|
|
185
|
-
label: "Inbox",
|
|
186
|
-
workflow: "pfo.workflow.ingest-email-threads"
|
|
187
|
-
}
|
|
188
|
-
],
|
|
189
|
-
notes: "Pocket Family Office blueprint pulling together finance automations for the hackathon reference implementation."
|
|
190
|
-
};
|
|
191
|
-
function registerPocketFamilyOfficeBlueprint(registry) {
|
|
192
|
-
return registry.register(pocketFamilyOfficeBlueprint);
|
|
193
|
-
}
|
|
194
|
-
export {
|
|
195
|
-
registerPocketFamilyOfficeBlueprint,
|
|
196
|
-
pocketFamilyOfficeBlueprint
|
|
197
|
-
};
|
|
1
|
+
import{OwnersEnum as x,StabilityEnum as z,TagsEnum as A}from"@contractspec/lib.contracts-spec/ownership";var d=(j,q)=>({key:j,version:q}),C={meta:{key:"pocket-family-office.app",version:"1.0.0",appId:"pocket-family-office",title:"Pocket Family Office",description:"Household finance automation: ingest documents, track bills, remind payments, and summarise cashflow.",domain:"finance",owners:[x.PlatformFinance],tags:[A.Guide,"finance","automation"],stability:z.Experimental},capabilities:{enabled:[d("ai.chat","1.0.0"),d("ai.embeddings","1.0.0"),d("vector-db.search","1.0.0"),d("vector-db.storage","1.0.0"),d("storage.objects","1.0.0"),d("email.inbound","1.0.0"),d("email.transactional","1.0.0"),d("calendar.events","1.0.0"),d("sms.outbound","1.0.0"),d("ai.voice.tts","1.0.0"),d("payments.psp","1.0.0"),d("openbanking.accounts.read","1.0.0"),d("openbanking.transactions.read","1.0.0"),d("openbanking.balances.read","1.0.0")]},integrationSlots:[{slotId:"primaryLLM",requiredCategory:"ai-llm",allowedModes:["managed","byok"],requiredCapabilities:[d("ai.chat","1.0.0")],required:!0,description:"Chat completion provider powering summarisation, explanations, and insights."},{slotId:"primaryVectorDb",requiredCategory:"vector-db",allowedModes:["managed","byok"],requiredCapabilities:[d("vector-db.search","1.0.0")],required:!0,description:"Vector database storing embeddings for financial documents and email threads."},{slotId:"primaryStorage",requiredCategory:"storage",allowedModes:["managed","byok"],requiredCapabilities:[d("storage.objects","1.0.0")],required:!0,description:"Object storage used for raw uploads and normalised documents."},{slotId:"primaryOpenBanking",requiredCategory:"open-banking",allowedModes:["byok"],requiredCapabilities:[d("openbanking.accounts.read","1.0.0"),d("openbanking.transactions.read","1.0.0"),d("openbanking.balances.read","1.0.0")],required:!0,description:"Powens BYOK connection powering bank account, transaction, and balance synchronisation."},{slotId:"emailInbound",requiredCategory:"email",allowedModes:["managed","byok"],requiredCapabilities:[d("email.inbound","1.0.0")],required:!0,description:"Inbound email/thread sync (Gmail) feeding the knowledge corpus."},{slotId:"emailOutbound",requiredCategory:"email",allowedModes:["managed","byok"],requiredCapabilities:[d("email.transactional","1.0.0")],required:!0,description:"Transactional email delivery for reminders and summaries."},{slotId:"calendarScheduling",requiredCategory:"calendar",allowedModes:["managed","byok"],requiredCapabilities:[d("calendar.events","1.0.0")],required:!0,description:"Creates calendar holds for bill reviews and handoff meetings."},{slotId:"voicePlayback",requiredCategory:"ai-voice-tts",allowedModes:["managed","byok"],requiredCapabilities:[d("ai.voice.tts","1.0.0")],required:!1,description:"Optional voice synthesis for spoken summaries (ElevenLabs)."},{slotId:"smsNotifications",requiredCategory:"sms",allowedModes:["managed","byok"],requiredCapabilities:[d("sms.outbound","1.0.0")],required:!1,description:"SMS provider used for urgent reminders."},{slotId:"paymentsProcessing",requiredCategory:"payments",allowedModes:["managed","byok"],requiredCapabilities:[d("payments.psp","1.0.0")],required:!1,description:"Optional payments processor enabling bill pay automations."}],workflows:{processUploadedDocument:{key:"pfo.workflow.process-uploaded-document",version:"1.0.0"},upcomingPaymentsReminder:{key:"pfo.workflow.upcoming-payments-reminder",version:"1.0.0"},generateFinancialSummary:{key:"pfo.workflow.generate-financial-summary",version:"1.0.0"},ingestEmailThreads:{key:"pfo.workflow.ingest-email-threads",version:"1.0.0"},syncOpenBankingAccounts:{key:"pfo.workflow.sync-openbanking-accounts",version:"1.0.0"},syncOpenBankingTransactions:{key:"pfo.workflow.sync-openbanking-transactions",version:"1.0.0"},refreshOpenBankingBalances:{key:"pfo.workflow.refresh-openbanking-balances",version:"1.0.0"},generateOpenBankingOverview:{key:"pfo.workflow.generate-openbanking-overview",version:"1.0.0"}},policies:[{key:"pfo.policy.tenancy",version:"1.0.0"},{key:"knowledge.access.financial-docs",version:"1.0.0"}],telemetry:{spec:{key:"pfo.telemetry",version:"1.0.0"}},featureFlags:[{key:"voice-summaries",enabled:!1,description:"Enable ElevenLabs spoken summaries in addition to email distribution."}],routes:[{path:"/dashboard",label:"Overview",workflow:"pfo.workflow.generate-financial-summary"},{path:"/documents/upload",label:"Upload Document",workflow:"pfo.workflow.process-uploaded-document"},{path:"/communications",label:"Inbox",workflow:"pfo.workflow.ingest-email-threads"}],notes:"Pocket Family Office blueprint pulling together finance automations for the hackathon reference implementation."};function G(j){return j.register(C)}export{G as registerPocketFamilyOfficeBlueprint,C as pocketFamilyOfficeBlueprint};
|
|
@@ -1,197 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var now = new Date;
|
|
3
|
-
var baseMeta = {
|
|
4
|
-
tenantId: "tenant.family-office",
|
|
5
|
-
createdAt: now,
|
|
6
|
-
updatedAt: now
|
|
7
|
-
};
|
|
8
|
-
var pocketFamilyOfficeConnections = [
|
|
9
|
-
{
|
|
10
|
-
meta: {
|
|
11
|
-
...baseMeta,
|
|
12
|
-
id: "conn-mistral-primary",
|
|
13
|
-
integrationKey: "ai-llm.mistral",
|
|
14
|
-
integrationVersion: "1.0.0",
|
|
15
|
-
label: "Mistral Primary"
|
|
16
|
-
},
|
|
17
|
-
ownershipMode: "managed",
|
|
18
|
-
config: {
|
|
19
|
-
model: "mistral-large-latest",
|
|
20
|
-
embeddingModel: "mistral-embed"
|
|
21
|
-
},
|
|
22
|
-
secretProvider: "gcp-secret-manager",
|
|
23
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/mistral-api-key/versions/latest",
|
|
24
|
-
status: "connected",
|
|
25
|
-
health: {
|
|
26
|
-
status: "connected",
|
|
27
|
-
checkedAt: now,
|
|
28
|
-
latencyMs: 180
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
meta: {
|
|
33
|
-
...baseMeta,
|
|
34
|
-
id: "conn-qdrant-finance",
|
|
35
|
-
integrationKey: "vectordb.qdrant",
|
|
36
|
-
integrationVersion: "1.0.0",
|
|
37
|
-
label: "Qdrant Finance Cluster"
|
|
38
|
-
},
|
|
39
|
-
ownershipMode: "managed",
|
|
40
|
-
config: {
|
|
41
|
-
apiUrl: "https://qdrant.pfo.internal",
|
|
42
|
-
collectionPrefix: "tenant-family-office"
|
|
43
|
-
},
|
|
44
|
-
secretProvider: "gcp-secret-manager",
|
|
45
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/qdrant-api-key/versions/latest",
|
|
46
|
-
status: "connected",
|
|
47
|
-
health: { status: "connected", checkedAt: now, latencyMs: 95 }
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
meta: {
|
|
51
|
-
...baseMeta,
|
|
52
|
-
id: "conn-gcs-documents",
|
|
53
|
-
integrationKey: "storage.gcs",
|
|
54
|
-
integrationVersion: "1.0.0",
|
|
55
|
-
label: "GCS Documents Bucket"
|
|
56
|
-
},
|
|
57
|
-
ownershipMode: "managed",
|
|
58
|
-
config: {
|
|
59
|
-
bucket: "pfo-uploads",
|
|
60
|
-
prefix: "financial-docs/"
|
|
61
|
-
},
|
|
62
|
-
secretProvider: "gcp-secret-manager",
|
|
63
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/gcs-service-account/versions/latest",
|
|
64
|
-
status: "connected",
|
|
65
|
-
health: { status: "connected", checkedAt: now, latencyMs: 60 }
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
meta: {
|
|
69
|
-
...baseMeta,
|
|
70
|
-
id: "conn-gmail-threads",
|
|
71
|
-
integrationKey: "email.gmail",
|
|
72
|
-
integrationVersion: "1.0.0",
|
|
73
|
-
label: "Gmail Household Threads"
|
|
74
|
-
},
|
|
75
|
-
ownershipMode: "byok",
|
|
76
|
-
config: {
|
|
77
|
-
labelIds: ["FINANCE", "INBOX"],
|
|
78
|
-
includeSpamTrash: false
|
|
79
|
-
},
|
|
80
|
-
secretProvider: "gcp-secret-manager",
|
|
81
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/gmail-refresh-token/versions/latest",
|
|
82
|
-
status: "connected",
|
|
83
|
-
health: { status: "connected", checkedAt: now, latencyMs: 320 }
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
meta: {
|
|
87
|
-
...baseMeta,
|
|
88
|
-
id: "conn-postmark-outbound",
|
|
89
|
-
integrationKey: "email.postmark",
|
|
90
|
-
integrationVersion: "1.0.0",
|
|
91
|
-
label: "Postmark Transactional"
|
|
92
|
-
},
|
|
93
|
-
ownershipMode: "managed",
|
|
94
|
-
config: {
|
|
95
|
-
messageStream: "outbound",
|
|
96
|
-
fromEmail: "family.office@pfo.dev"
|
|
97
|
-
},
|
|
98
|
-
secretProvider: "gcp-secret-manager",
|
|
99
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/postmark-server-token/versions/latest",
|
|
100
|
-
status: "connected",
|
|
101
|
-
health: { status: "connected", checkedAt: now, latencyMs: 210 }
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
meta: {
|
|
105
|
-
...baseMeta,
|
|
106
|
-
id: "conn-google-calendar",
|
|
107
|
-
integrationKey: "calendar.google",
|
|
108
|
-
integrationVersion: "1.0.0",
|
|
109
|
-
label: "Household Calendar"
|
|
110
|
-
},
|
|
111
|
-
ownershipMode: "managed",
|
|
112
|
-
config: {
|
|
113
|
-
calendarId: "primary"
|
|
114
|
-
},
|
|
115
|
-
secretProvider: "gcp-secret-manager",
|
|
116
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/google-calendar-service-account/versions/latest",
|
|
117
|
-
status: "connected",
|
|
118
|
-
health: { status: "connected", checkedAt: now, latencyMs: 140 }
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
meta: {
|
|
122
|
-
...baseMeta,
|
|
123
|
-
id: "conn-elevenlabs-voice",
|
|
124
|
-
integrationKey: "ai-voice.elevenlabs",
|
|
125
|
-
integrationVersion: "1.0.0",
|
|
126
|
-
label: "ElevenLabs Voice"
|
|
127
|
-
},
|
|
128
|
-
ownershipMode: "byok",
|
|
129
|
-
config: {
|
|
130
|
-
defaultVoiceId: "pNInz6obpgDQGcFmaJgB"
|
|
131
|
-
},
|
|
132
|
-
secretProvider: "gcp-secret-manager",
|
|
133
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/elevenlabs-api-key/versions/latest",
|
|
134
|
-
status: "connected",
|
|
135
|
-
health: { status: "connected", checkedAt: now, latencyMs: 250 }
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
meta: {
|
|
139
|
-
...baseMeta,
|
|
140
|
-
id: "conn-twilio-sms",
|
|
141
|
-
integrationKey: "sms.twilio",
|
|
142
|
-
integrationVersion: "1.0.0",
|
|
143
|
-
label: "Twilio SMS"
|
|
144
|
-
},
|
|
145
|
-
ownershipMode: "managed",
|
|
146
|
-
config: {
|
|
147
|
-
fromNumber: "+15552340000"
|
|
148
|
-
},
|
|
149
|
-
secretProvider: "gcp-secret-manager",
|
|
150
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/twilio-auth-token/versions/latest",
|
|
151
|
-
status: "connected",
|
|
152
|
-
health: { status: "connected", checkedAt: now, latencyMs: 180 }
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
meta: {
|
|
156
|
-
...baseMeta,
|
|
157
|
-
id: "conn-stripe-recurring",
|
|
158
|
-
integrationKey: "payments.stripe",
|
|
159
|
-
integrationVersion: "1.0.0",
|
|
160
|
-
label: "Stripe Recurring Billing"
|
|
161
|
-
},
|
|
162
|
-
ownershipMode: "managed",
|
|
163
|
-
config: {
|
|
164
|
-
accountId: "acct_1PFOHACKATHON",
|
|
165
|
-
region: "eu-west-1"
|
|
166
|
-
},
|
|
167
|
-
secretProvider: "gcp-secret-manager",
|
|
168
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/stripe-secret-key/versions/latest",
|
|
169
|
-
status: "connected",
|
|
170
|
-
health: { status: "connected", checkedAt: now, latencyMs: 220 }
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
meta: {
|
|
174
|
-
...baseMeta,
|
|
175
|
-
id: "conn-powens-primary",
|
|
176
|
-
integrationKey: "openbanking.powens",
|
|
177
|
-
integrationVersion: "1.0.0",
|
|
178
|
-
label: "Powens Open Banking"
|
|
179
|
-
},
|
|
180
|
-
ownershipMode: "byok",
|
|
181
|
-
config: {
|
|
182
|
-
environment: "sandbox",
|
|
183
|
-
baseUrl: "https://api-sandbox.powens.com/v2"
|
|
184
|
-
},
|
|
185
|
-
secretProvider: "gcp-secret-manager",
|
|
186
|
-
secretRef: "gcp://projects/pfo-hackathon/secrets/powens-credentials/versions/latest",
|
|
187
|
-
status: "connected",
|
|
188
|
-
health: { status: "connected", checkedAt: now, latencyMs: 410 }
|
|
189
|
-
}
|
|
190
|
-
];
|
|
191
|
-
function getPocketFamilyOfficeConnection(connectionId) {
|
|
192
|
-
return pocketFamilyOfficeConnections.find((connection) => connection.meta.id === connectionId);
|
|
193
|
-
}
|
|
194
|
-
export {
|
|
195
|
-
pocketFamilyOfficeConnections,
|
|
196
|
-
getPocketFamilyOfficeConnection
|
|
197
|
-
};
|
|
1
|
+
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};
|
package/dist/node/docs/index.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { registerDocBlocks } from "@contractspec/lib.contracts-spec/docs";
|
|
3
|
-
var pocketFamilyOfficeDocBlocks = [
|
|
4
|
-
{
|
|
5
|
-
id: "docs.examples.pocket-family-office.goal",
|
|
6
|
-
title: "Pocket Family Office — Goal",
|
|
7
|
-
summary: "Secure personal finance automation combining documents and open banking.",
|
|
8
|
-
kind: "goal",
|
|
9
|
-
visibility: "public",
|
|
10
|
-
route: "/docs/examples/pocket-family-office/goal",
|
|
11
|
-
tags: ["finance", "goal"],
|
|
12
|
-
body: `## Why it matters
|
|
1
|
+
import{registerDocBlocks as h}from"@contractspec/lib.contracts-spec/docs";var j=[{id:"docs.examples.pocket-family-office.goal",title:"Pocket Family Office — 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
|
|
13
2
|
- Automate document ingestion (receipts, statements) and link to transactions.
|
|
14
3
|
- Provides a "family office" grade overview for individuals.
|
|
15
4
|
- Uses open banking for real-time data and AI for insights.
|
|
@@ -22,17 +11,7 @@ var pocketFamilyOfficeDocBlocks = [
|
|
|
22
11
|
## Success criteria
|
|
23
12
|
- Successful ingestion and classification of documents.
|
|
24
13
|
- Accurate syncing of open banking data.
|
|
25
|
-
- Generation of useful financial summaries.`
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: "docs.examples.pocket-family-office.usage",
|
|
29
|
-
title: "Pocket Family Office — Usage",
|
|
30
|
-
summary: "How to deploy and use the personal finance automation template.",
|
|
31
|
-
kind: "usage",
|
|
32
|
-
visibility: "public",
|
|
33
|
-
route: "/docs/examples/pocket-family-office/usage",
|
|
34
|
-
tags: ["finance", "usage"],
|
|
35
|
-
body: `## Setup
|
|
14
|
+
- Generation of useful financial summaries.`},{id:"docs.examples.pocket-family-office.usage",title:"Pocket Family Office — 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
|
|
36
15
|
1) Configure Open Banking credentials (e.g., using a provider mock or sandbox).
|
|
37
16
|
2) internalize the 'pocket-family-office' feature into your workspace.
|
|
38
17
|
3) Set up document storage buckets/paths.
|
|
@@ -44,28 +23,4 @@ var pocketFamilyOfficeDocBlocks = [
|
|
|
44
23
|
|
|
45
24
|
## Guardrails
|
|
46
25
|
- PII is redacted in summaries by default.
|
|
47
|
-
- Read-only access to bank data (no write/payment initiation in this template).`
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
id: "docs.examples.pocket-family-office.reference",
|
|
51
|
-
title: "Pocket Family Office — Reference",
|
|
52
|
-
summary: "Key components of the Pocket Family Office system.",
|
|
53
|
-
kind: "reference",
|
|
54
|
-
visibility: "public",
|
|
55
|
-
route: "/docs/examples/pocket-family-office",
|
|
56
|
-
tags: ["finance", "reference"],
|
|
57
|
-
body: `## Workflows
|
|
58
|
-
- \`process-uploaded-document\`: Extracts data from PDFs/Images.
|
|
59
|
-
- \`sync-openbanking-transactions\`: Fetches latest transactions.
|
|
60
|
-
- \`generate-financial-summary\`: AI-driven report generation.
|
|
61
|
-
- \`upcoming-payments-reminder\`: Scans needed actions.
|
|
62
|
-
|
|
63
|
-
## Operations
|
|
64
|
-
- \`pfo.documents.upload\`: Secure upload endpoint for documents.
|
|
65
|
-
|
|
66
|
-
## Capabilities
|
|
67
|
-
- Requires: \`identity\`, \`openbanking\`.
|
|
68
|
-
- Provides: \`pocket-family-office\`.`
|
|
69
|
-
}
|
|
70
|
-
];
|
|
71
|
-
registerDocBlocks(pocketFamilyOfficeDocBlocks);
|
|
26
|
+
- Read-only access to bank data (no write/payment initiation in this template).`},{id:"docs.examples.pocket-family-office.reference",title:"Pocket Family Office — 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,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { registerDocBlocks } from "@contractspec/lib.contracts-spec/docs";
|
|
3
|
-
var pocketFamilyOfficeDocBlocks = [
|
|
4
|
-
{
|
|
5
|
-
id: "docs.examples.pocket-family-office.goal",
|
|
6
|
-
title: "Pocket Family Office — Goal",
|
|
7
|
-
summary: "Secure personal finance automation combining documents and open banking.",
|
|
8
|
-
kind: "goal",
|
|
9
|
-
visibility: "public",
|
|
10
|
-
route: "/docs/examples/pocket-family-office/goal",
|
|
11
|
-
tags: ["finance", "goal"],
|
|
12
|
-
body: `## Why it matters
|
|
1
|
+
import{registerDocBlocks as h}from"@contractspec/lib.contracts-spec/docs";var j=[{id:"docs.examples.pocket-family-office.goal",title:"Pocket Family Office — 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
|
|
13
2
|
- Automate document ingestion (receipts, statements) and link to transactions.
|
|
14
3
|
- Provides a "family office" grade overview for individuals.
|
|
15
4
|
- Uses open banking for real-time data and AI for insights.
|
|
@@ -22,17 +11,7 @@ var pocketFamilyOfficeDocBlocks = [
|
|
|
22
11
|
## Success criteria
|
|
23
12
|
- Successful ingestion and classification of documents.
|
|
24
13
|
- Accurate syncing of open banking data.
|
|
25
|
-
- Generation of useful financial summaries.`
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: "docs.examples.pocket-family-office.usage",
|
|
29
|
-
title: "Pocket Family Office — Usage",
|
|
30
|
-
summary: "How to deploy and use the personal finance automation template.",
|
|
31
|
-
kind: "usage",
|
|
32
|
-
visibility: "public",
|
|
33
|
-
route: "/docs/examples/pocket-family-office/usage",
|
|
34
|
-
tags: ["finance", "usage"],
|
|
35
|
-
body: `## Setup
|
|
14
|
+
- Generation of useful financial summaries.`},{id:"docs.examples.pocket-family-office.usage",title:"Pocket Family Office — 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
|
|
36
15
|
1) Configure Open Banking credentials (e.g., using a provider mock or sandbox).
|
|
37
16
|
2) internalize the 'pocket-family-office' feature into your workspace.
|
|
38
17
|
3) Set up document storage buckets/paths.
|
|
@@ -44,28 +23,4 @@ var pocketFamilyOfficeDocBlocks = [
|
|
|
44
23
|
|
|
45
24
|
## Guardrails
|
|
46
25
|
- PII is redacted in summaries by default.
|
|
47
|
-
- Read-only access to bank data (no write/payment initiation in this template).`
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
id: "docs.examples.pocket-family-office.reference",
|
|
51
|
-
title: "Pocket Family Office — Reference",
|
|
52
|
-
summary: "Key components of the Pocket Family Office system.",
|
|
53
|
-
kind: "reference",
|
|
54
|
-
visibility: "public",
|
|
55
|
-
route: "/docs/examples/pocket-family-office",
|
|
56
|
-
tags: ["finance", "reference"],
|
|
57
|
-
body: `## Workflows
|
|
58
|
-
- \`process-uploaded-document\`: Extracts data from PDFs/Images.
|
|
59
|
-
- \`sync-openbanking-transactions\`: Fetches latest transactions.
|
|
60
|
-
- \`generate-financial-summary\`: AI-driven report generation.
|
|
61
|
-
- \`upcoming-payments-reminder\`: Scans needed actions.
|
|
62
|
-
|
|
63
|
-
## Operations
|
|
64
|
-
- \`pfo.documents.upload\`: Secure upload endpoint for documents.
|
|
65
|
-
|
|
66
|
-
## Capabilities
|
|
67
|
-
- Requires: \`identity\`, \`openbanking\`.
|
|
68
|
-
- Provides: \`pocket-family-office\`.`
|
|
69
|
-
}
|
|
70
|
-
];
|
|
71
|
-
registerDocBlocks(pocketFamilyOfficeDocBlocks);
|
|
26
|
+
- Read-only access to bank data (no write/payment initiation in this template).`},{id:"docs.examples.pocket-family-office.reference",title:"Pocket Family Office — 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/node/example.js
CHANGED
|
@@ -1,42 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { defineExample } from "@contractspec/lib.contracts-spec";
|
|
3
|
-
var example = defineExample({
|
|
4
|
-
meta: {
|
|
5
|
-
key: "pocket-family-office",
|
|
6
|
-
version: "1.0.0",
|
|
7
|
-
title: "Pocket Family Office",
|
|
8
|
-
description: "Personal finance automation with document ingestion, open banking, and AI summaries",
|
|
9
|
-
kind: "template",
|
|
10
|
-
visibility: "public",
|
|
11
|
-
stability: "experimental",
|
|
12
|
-
owners: ["@platform.finance"],
|
|
13
|
-
tags: [
|
|
14
|
-
"finance",
|
|
15
|
-
"open-banking",
|
|
16
|
-
"documents",
|
|
17
|
-
"automation",
|
|
18
|
-
"family-office"
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
docs: {
|
|
22
|
-
rootDocId: "docs.examples.pocket-family-office"
|
|
23
|
-
},
|
|
24
|
-
entrypoints: {
|
|
25
|
-
packageName: "@contractspec/example.pocket-family-office",
|
|
26
|
-
feature: "./feature",
|
|
27
|
-
docs: "./docs"
|
|
28
|
-
},
|
|
29
|
-
surfaces: {
|
|
30
|
-
templates: true,
|
|
31
|
-
sandbox: {
|
|
32
|
-
enabled: true,
|
|
33
|
-
modes: ["playground", "specs", "builder"]
|
|
34
|
-
},
|
|
35
|
-
studio: { enabled: true, installable: true },
|
|
36
|
-
mcp: { enabled: true }
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
var example_default = example;
|
|
40
|
-
export {
|
|
41
|
-
example_default as default
|
|
42
|
-
};
|
|
1
|
+
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};
|