@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.
Files changed (2) hide show
  1. package/README.md +40 -0
  2. 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
+ }