@lssm/lib.contracts 0.0.0-canary-20251221132705 → 0.0.0-canary-20251221144710

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 (111) hide show
  1. package/dist/app-config/contracts.d.ts +56 -55
  2. package/dist/app-config/contracts.js +5 -4
  3. package/dist/app-config/docs/app-config.docblock.js +0 -1
  4. package/dist/app-config/events.d.ts +27 -27
  5. package/dist/app-config/lifecycle-contracts.d.ts +83 -82
  6. package/dist/app-config/lifecycle-contracts.js +2 -1
  7. package/dist/app-config/runtime.d.ts +4 -2
  8. package/dist/app-config/spec.d.ts +2 -1
  9. package/dist/app-config/validation.d.ts +4 -2
  10. package/dist/{capabilities.d.ts → capabilities/capabilities.d.ts} +3 -3
  11. package/dist/{capabilities.js → capabilities/capabilities.js} +1 -1
  12. package/dist/capabilities/docs/capabilities.docblock.js +0 -1
  13. package/dist/capabilities/index.d.ts +3 -0
  14. package/dist/capabilities/index.js +4 -0
  15. package/dist/capabilities/openbanking.d.ts +2 -1
  16. package/dist/client/react/feature-render.d.ts +3 -1
  17. package/dist/client/react/feature-render.js +2 -1
  18. package/dist/client/react/form-render.d.ts +1 -1
  19. package/dist/client/react/form-render.js +1 -1
  20. package/dist/{data-views.d.ts → data-views/data-views.d.ts} +5 -5
  21. package/dist/{data-views.js → data-views/data-views.js} +3 -3
  22. package/dist/data-views/docs/data-views.docblock.js +0 -1
  23. package/dist/data-views/index.d.ts +4 -0
  24. package/dist/data-views/index.js +5 -0
  25. package/dist/data-views/query-generator.d.ts +2 -1
  26. package/dist/data-views/runtime.d.ts +2 -1
  27. package/dist/docs/presentations.d.ts +3 -2
  28. package/dist/docs/registry.d.ts +3 -2
  29. package/dist/docs/tech/llm/llm-integration.docblock.js +2 -2
  30. package/dist/experiments/docs/experiments.docblock.js +0 -1
  31. package/dist/experiments/spec-resolver.d.ts +2 -1
  32. package/dist/features.d.ts +8 -5
  33. package/dist/forms/docs/forms.docblock.js +0 -1
  34. package/dist/{forms.d.ts → forms/forms.d.ts} +3 -3
  35. package/dist/{forms.js → forms/forms.js} +3 -3
  36. package/dist/forms/index.d.ts +2 -0
  37. package/dist/forms/index.js +3 -0
  38. package/dist/index.d.ts +19 -12
  39. package/dist/index.js +20 -15
  40. package/dist/install.d.ts +3 -2
  41. package/dist/install.js +1 -1
  42. package/dist/integrations/docs/integrations.docblock.js +0 -1
  43. package/dist/integrations/openbanking/contracts/accounts.d.ts +69 -68
  44. package/dist/integrations/openbanking/contracts/accounts.js +2 -1
  45. package/dist/integrations/openbanking/contracts/balances.d.ts +37 -36
  46. package/dist/integrations/openbanking/contracts/balances.js +2 -1
  47. package/dist/integrations/openbanking/contracts/index.d.ts +1 -1
  48. package/dist/integrations/openbanking/contracts/transactions.d.ts +51 -50
  49. package/dist/integrations/openbanking/contracts/transactions.js +2 -1
  50. package/dist/integrations/openbanking/models.d.ts +55 -55
  51. package/dist/integrations/operations.d.ts +437 -0
  52. package/dist/integrations/{contracts.js → operations.js} +3 -2
  53. package/dist/integrations/spec.d.ts +2 -1
  54. package/dist/jsonschema.d.ts +5 -4
  55. package/dist/knowledge/docs/knowledge.docblock.js +0 -1
  56. package/dist/knowledge/{contracts.d.ts → operations.d.ts} +70 -69
  57. package/dist/knowledge/{contracts.js → operations.js} +3 -2
  58. package/dist/llm/exporters.d.ts +10 -8
  59. package/dist/llm/exporters.js +11 -10
  60. package/dist/llm/index.d.ts +2 -2
  61. package/dist/llm/index.js +2 -2
  62. package/dist/llm/prompts.d.ts +2 -1
  63. package/dist/llm/prompts.js +8 -8
  64. package/dist/llm/types.d.ts +3 -2
  65. package/dist/markdown.d.ts +5 -4
  66. package/dist/markdown.js +6 -5
  67. package/dist/onboarding-base.d.ts +31 -30
  68. package/dist/onboarding-base.js +2 -1
  69. package/dist/openapi.d.ts +1 -1
  70. package/dist/operations/index.d.ts +3 -0
  71. package/dist/operations/index.js +4 -0
  72. package/dist/{operation.d.ts → operations/operation.d.ts} +7 -7
  73. package/dist/{operation.js → operations/operation.js} +1 -1
  74. package/dist/{registry.d.ts → operations/registry.d.ts} +6 -7
  75. package/dist/{registry.js → operations/registry.js} +5 -6
  76. package/dist/policy/docs/policy.docblock.js +0 -1
  77. package/dist/presentations/docs/presentations-conventions.docblock.js +0 -1
  78. package/dist/presentations/index.d.ts +4 -0
  79. package/dist/presentations/index.js +4 -0
  80. package/dist/{presentations.d.ts → presentations/presentations.d.ts} +6 -6
  81. package/dist/{presentations.js → presentations/presentations.js} +3 -3
  82. package/dist/presentations/presentations.v2.d.ts +54 -0
  83. package/dist/presentations/presentations.v2.js +0 -0
  84. package/dist/{presentations.v2.d.ts → presentations/transform-engine.d.ts} +3 -51
  85. package/dist/{presentations.v2.js → presentations/transform-engine.js} +2 -2
  86. package/dist/regenerator/docs/regenerator.docblock.js +0 -1
  87. package/dist/{contracts-adapter-hydration.d.ts → server/contracts-adapter-hydration.d.ts} +2 -2
  88. package/dist/{contracts-adapter-hydration.js → server/contracts-adapter-hydration.js} +1 -1
  89. package/dist/{contracts-adapter-input.d.ts → server/contracts-adapter-input.d.ts} +2 -3
  90. package/dist/{contracts-adapter-input.js → server/contracts-adapter-input.js} +2 -2
  91. package/dist/server/graphql-pothos.d.ts +1 -1
  92. package/dist/server/graphql-pothos.js +2 -2
  93. package/dist/server/mcp/createMcpServer.d.ts +1 -1
  94. package/dist/server/mcp/mcpTypes.d.ts +3 -2
  95. package/dist/server/mcp/registerPresentations.js +3 -2
  96. package/dist/server/mcp/registerTools.d.ts +1 -1
  97. package/dist/server/rest-elysia.d.ts +1 -1
  98. package/dist/server/rest-express.d.ts +1 -1
  99. package/dist/server/rest-generic.d.ts +1 -1
  100. package/dist/server/rest-next-app.d.ts +1 -1
  101. package/dist/server/rest-next-mcp.d.ts +1 -1
  102. package/dist/server/rest-next-pages.d.ts +1 -1
  103. package/dist/telemetry/docs/telemetry.docblock.js +0 -1
  104. package/dist/tests/runner.d.ts +1 -1
  105. package/dist/workflow/spec.d.ts +2 -1
  106. package/dist/workflow/validation.d.ts +2 -2
  107. package/dist/workspace-config/contractsrc-schema.d.ts +1 -1
  108. package/package.json +22 -17
  109. package/dist/integrations/contracts.d.ts +0 -436
  110. package/dist/openbanking/docs/openbanking.docblock.d.ts +0 -6
  111. package/dist/openbanking/docs/openbanking.docblock.js +0 -22
@@ -1,22 +0,0 @@
1
- import { registerDocBlocks } from "../../docs/registry.js";
2
- import "../../registry.js";
3
-
4
- //#region src/openbanking/docs/openbanking.docblock.ts
5
- const tech_contracts_openbanking_DocBlocks = [{
6
- id: "docs.tech.contracts.openbanking",
7
- title: "Open Banking (Powens) Overview",
8
- summary: "The Pocket Family Office vertical now supports read-only open banking capabilities powered by Powens. This doc summarises the contract surfaces, canonical data models, workflows, telemetry, and guardrails introduced to make Powens a first-class integration.",
9
- kind: "reference",
10
- visibility: "public",
11
- route: "/docs/tech/contracts/openbanking",
12
- tags: [
13
- "tech",
14
- "contracts",
15
- "openbanking"
16
- ],
17
- body: "# Open Banking (Powens) Overview\n\nThe Pocket Family Office vertical now supports read-only open banking capabilities powered by Powens. This doc summarises the contract surfaces, canonical data models, workflows, telemetry, and guardrails introduced to make Powens a first-class integration.\n\n## Integration Spec\n\nPowens is registered under `openbanking.powens` with category `open-banking` and currently supports the BYOK ownership mode. The spec exposes three read-only capabilities:\n\n- `openbanking.accounts.read`\n- `openbanking.transactions.read`\n- `openbanking.balances.read`\n\nConfiguration and secrets are separated:\n\n| Config Field | Description |\n| --- | --- |\n| `environment` | Powens environment (`sandbox` \\| `production`) |\n| `baseUrl?` | Optional API base URL override |\n| `region?` | Optional Powens region identifier |\n| `pollingIntervalMs?` | Optional custom sync cadence |\n\n| Secret Field | Description |\n| --- | --- |\n| `clientId` | Powens OAuth client identifier |\n| `clientSecret` | Powens OAuth client secret |\n| `apiKey?` | Optional supplemental Powens API key |\n| `webhookSecret?` | Optional webhook signing secret |\n\n## Canonical Data Models\n\nCanonical schemas live in `@lssm/lib.contracts/integrations/openbanking/models`:\n\n- `BankAccountRecord` – account metadata (institution, IBAN/BIC, masked numbers, balances, sync timestamps)\n- `BankTransactionRecord` – transaction ledger (amounts, categories, counterparty, status)\n- `AccountBalanceRecord` – balance snapshots per account and balance type\n\nThese schemas power the vertical contracts and workflows, ensuring downstream features never use raw Powens payloads directly.\n\n## Provider Implementation\n\n`PowensOpenBankingProvider` wraps `PowensClient` which handles OAuth token management, request retries, and error mapping. The provider maps Powens payloads to the canonical interfaces exported from `integrations/providers/openbanking`.\n\nFactory support lives in `IntegrationProviderFactory.createOpenBankingProvider`, which validates configuration, loads BYOK secrets, and instantiates the provider.\n\n## Contracts\n\nCommand/query contracts exist under `integrations/openbanking/contracts`:\n\n- `openbanking.accounts.sync` & `openbanking.accounts.list`\n- `openbanking.transactions.sync` & `openbanking.transactions.list`\n- `openbanking.balances.refresh` & `openbanking.balances.get`\n\nThe Pocket Family Office bundle also exposes `pfo.openbanking.generate-overview`, which aggregates balances and transactions into a derived knowledge document.\n\n## Workflows\n\nNew workflow specs (all requiring the `primaryOpenBanking` slot) orchestrate the sync flows:\n\n- `pfo.workflow.sync-openbanking-accounts`\n- `pfo.workflow.sync-openbanking-transactions`\n- `pfo.workflow.refresh-openbanking-balances`\n- `pfo.workflow.generate-openbanking-overview`\n\nEach workflow runs against the Powens provider, persists canonical records, and emits telemetry.\n\n## Knowledge & LLM Exposure\n\nRaw Powens payloads are never stored in knowledge spaces. Instead, `knowledge.financial-overview` captures derived summaries (cashflow, category breakdowns, balance trends) produced by `pfo.openbanking.generate-overview`. The space is `operational` category with 180-day retention and automation write access.\n\nWhen exposing data to LLMs or analytics:\n\n- Use derived summaries only.\n- Redact PII fields using `redactOpenBankingTelemetryPayload`.\n- Never emit IBANs, unmasked account numbers, or counterparty detail in telemetry/logs.\n\n## Telemetry\n\nTelemetry constants live in `integrations/openbanking/telemetry`. Key events:\n\n- `openbanking.accounts.synced`\n- `openbanking.transactions.synced`\n- `openbanking.balances.refreshed`\n- `openbanking.overview.generated`\n\nAll events require tenant/app/blueprint/config metadata, and sensitive properties are flagged to avoid accidental leakage.\n\n## Guardrails\n\n`ensurePrimaryOpenBankingIntegration` verifies `primaryOpenBanking` is bound and healthy before workflows proceed. Runtime pre-flight checks already block workflows when the connection is disconnected or in error status.\n\n## Blueprint & Tenant Defaults\n\n`pocketFamilyOfficeBlueprint` now includes:\n\n- `primaryOpenBanking` slot (required, BYOK)\n- `openbanking.*.read` capabilities enabled by default\n- Workflow bindings for the new sync flows\n\nSample tenant bindings (`tenant.sample.ts`) reference `conn-powens-primary` and bind the new knowledge space.\n\n---\n\nFollow this doc when extending open banking support (e.g., adding payment initiation, additional providers, or expanded analytics) to keep the integration consistent and audited.\n\n\n\n\n\n"
18
- }];
19
- registerDocBlocks(tech_contracts_openbanking_DocBlocks);
20
-
21
- //#endregion
22
- export { tech_contracts_openbanking_DocBlocks };