@lssm/example.pocket-family-office 0.0.0-canary-20251216062412
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/README.md +40 -0
- package/package.json +77 -0
package/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Pocket Family Office Vertical
|
|
2
|
+
|
|
3
|
+
This vertical demonstrates how a spec-first application orchestrates
|
|
4
|
+
financial document automation, payment reminders, and AI summarisation
|
|
5
|
+
using ContractSpec. It is designed for multi-tenant deployments where
|
|
6
|
+
each household configures its own integrations while reusing a shared
|
|
7
|
+
blueprint.
|
|
8
|
+
|
|
9
|
+
## Contents
|
|
10
|
+
|
|
11
|
+
- `blueprint.ts` – the global `AppBlueprintSpec` describing required
|
|
12
|
+
capabilities, integration slots, workflows, and telemetry.
|
|
13
|
+
- `tenant.sample.ts` – example `TenantAppConfig` showing per-tenant
|
|
14
|
+
bindings to integrations, knowledge spaces, and locales.
|
|
15
|
+
- `connections/` – sample `IntegrationConnection` descriptors for the
|
|
16
|
+
nine priority providers (Mistral, Qdrant, GCS, Gmail, Google Calendar,
|
|
17
|
+
Postmark, ElevenLabs, Stripe, Twilio).
|
|
18
|
+
- `knowledge/` – example `KnowledgeSourceConfig` entries wiring Gmail
|
|
19
|
+
threads and uploaded documents into canonical knowledge spaces.
|
|
20
|
+
- `contracts/` – command specs powering document ingestion, reminders,
|
|
21
|
+
financial summaries, and Gmail synchronisation.
|
|
22
|
+
- `workflows/` – workflow specs orchestrating end-to-end automation for
|
|
23
|
+
uploads, reminders, financial overviews, and email ingestion.
|
|
24
|
+
- `tests/` – Vitest scenarios covering blueprint validation, config
|
|
25
|
+
composition, and a full end-to-end ingestion/query flow.
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
The files are designed for direct consumption inside tests, CLI
|
|
30
|
+
generators, or documentation tooling. They depend exclusively on the
|
|
31
|
+
public APIs exported by `@lssm/lib.contracts`, making them safe to copy
|
|
32
|
+
into downstream projects or use as a reference implementation during the
|
|
33
|
+
Pocket Family Office hackathon.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
package/package.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lssm/example.pocket-family-office",
|
|
3
|
+
"version": "0.0.0-canary-20251216062412",
|
|
4
|
+
"description": "Pocket Family Office example - personal finance automation with open banking",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
|
|
10
|
+
"build:off": "bun build:bundle && bun build:types",
|
|
11
|
+
"build:bundle": "tsdown",
|
|
12
|
+
"build:types": "tsc --noEmit",
|
|
13
|
+
"dev": "bun build:bundle --watch",
|
|
14
|
+
"clean": "rimraf dist .turbo",
|
|
15
|
+
"lint": "bun lint:fix",
|
|
16
|
+
"lint:fix": "eslint . --fix",
|
|
17
|
+
"lint:check": "eslint ."
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@lssm/lib.schema": "workspace:*",
|
|
21
|
+
"@lssm/lib.contracts": "workspace:*",
|
|
22
|
+
"zod": "^4.1.13"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@lssm/tool.typescript": "workspace:*",
|
|
26
|
+
"@lssm/tool.tsdown": "workspace:*",
|
|
27
|
+
"typescript": "^5.9.3"
|
|
28
|
+
},
|
|
29
|
+
"exports": {
|
|
30
|
+
".": "./src/index.ts",
|
|
31
|
+
"./blueprint": "./src/blueprint.ts",
|
|
32
|
+
"./connections/samples": "./src/connections/samples.ts",
|
|
33
|
+
"./contracts": "./src/contracts/index.ts",
|
|
34
|
+
"./knowledge/sources.sample": "./src/knowledge/sources.sample.ts",
|
|
35
|
+
"./pocket-family-office.feature": "./src/pocket-family-office.feature.ts",
|
|
36
|
+
"./telemetry": "./src/telemetry.ts",
|
|
37
|
+
"./tenant.sample": "./src/tenant.sample.ts",
|
|
38
|
+
"./workflows": "./src/workflows/index.ts",
|
|
39
|
+
"./workflows/generate-financial-summary": "./src/workflows/generate-financial-summary.ts",
|
|
40
|
+
"./workflows/generate-openbanking-overview": "./src/workflows/generate-openbanking-overview.ts",
|
|
41
|
+
"./workflows/ingest-email-threads": "./src/workflows/ingest-email-threads.ts",
|
|
42
|
+
"./workflows/process-uploaded-document": "./src/workflows/process-uploaded-document.ts",
|
|
43
|
+
"./workflows/refresh-openbanking-balances": "./src/workflows/refresh-openbanking-balances.ts",
|
|
44
|
+
"./workflows/sync-openbanking-accounts": "./src/workflows/sync-openbanking-accounts.ts",
|
|
45
|
+
"./workflows/sync-openbanking-transactions": "./src/workflows/sync-openbanking-transactions.ts",
|
|
46
|
+
"./workflows/upcoming-payments-reminder": "./src/workflows/upcoming-payments-reminder.ts",
|
|
47
|
+
"./*": "./*"
|
|
48
|
+
},
|
|
49
|
+
"module": "./dist/index.js",
|
|
50
|
+
"files": [
|
|
51
|
+
"dist",
|
|
52
|
+
"README.md"
|
|
53
|
+
],
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public",
|
|
56
|
+
"exports": {
|
|
57
|
+
".": "./dist/index.js",
|
|
58
|
+
"./blueprint": "./dist/blueprint.js",
|
|
59
|
+
"./connections/samples": "./dist/connections/samples.js",
|
|
60
|
+
"./contracts": "./dist/contracts/index.js",
|
|
61
|
+
"./knowledge/sources.sample": "./dist/knowledge/sources.sample.js",
|
|
62
|
+
"./pocket-family-office.feature": "./dist/pocket-family-office.feature.js",
|
|
63
|
+
"./telemetry": "./dist/telemetry.js",
|
|
64
|
+
"./tenant.sample": "./dist/tenant.sample.js",
|
|
65
|
+
"./workflows": "./dist/workflows/index.js",
|
|
66
|
+
"./workflows/generate-financial-summary": "./dist/workflows/generate-financial-summary.js",
|
|
67
|
+
"./workflows/generate-openbanking-overview": "./dist/workflows/generate-openbanking-overview.js",
|
|
68
|
+
"./workflows/ingest-email-threads": "./dist/workflows/ingest-email-threads.js",
|
|
69
|
+
"./workflows/process-uploaded-document": "./dist/workflows/process-uploaded-document.js",
|
|
70
|
+
"./workflows/refresh-openbanking-balances": "./dist/workflows/refresh-openbanking-balances.js",
|
|
71
|
+
"./workflows/sync-openbanking-accounts": "./dist/workflows/sync-openbanking-accounts.js",
|
|
72
|
+
"./workflows/sync-openbanking-transactions": "./dist/workflows/sync-openbanking-transactions.js",
|
|
73
|
+
"./workflows/upcoming-payments-reminder": "./dist/workflows/upcoming-payments-reminder.js",
|
|
74
|
+
"./*": "./*"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|