@lssm/lib.contracts 1.41.1 → 1.42.2
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/LICENSE +21 -0
- package/README.md +7 -4
- package/dist/_virtual/rolldown_runtime.js +37 -1
- package/dist/app-config/app-config.feature.d.ts +11 -0
- package/dist/app-config/app-config.feature.js +54 -1
- package/dist/app-config/branding.d.ts +55 -0
- package/dist/app-config/contracts.d.ts +245 -0
- package/dist/app-config/contracts.js +395 -1
- package/dist/app-config/docs/app-config.docblock.d.ts +6 -0
- package/dist/app-config/docs/app-config.docblock.js +21 -220
- package/dist/app-config/events.d.ts +122 -0
- package/dist/app-config/events.js +174 -1
- package/dist/app-config/index.d.ts +9 -0
- package/dist/app-config/index.js +8 -1
- package/dist/app-config/lifecycle-contracts.d.ts +273 -0
- package/dist/app-config/lifecycle-contracts.js +440 -1
- package/dist/app-config/lifecycle.d.ts +27 -0
- package/dist/app-config/runtime.d.ts +117 -0
- package/dist/app-config/runtime.js +617 -1
- package/dist/app-config/spec.d.ts +172 -0
- package/dist/app-config/spec.js +36 -1
- package/dist/app-config/validation.d.ts +49 -0
- package/dist/app-config/validation.js +538 -1
- package/dist/capabilities/capabilities.d.ts +48 -0
- package/dist/capabilities/capabilities.js +50 -0
- package/dist/capabilities/docs/capabilities.docblock.d.ts +6 -0
- package/dist/capabilities/docs/capabilities.docblock.js +21 -1
- package/dist/capabilities/index.d.ts +3 -0
- package/dist/capabilities/index.js +4 -0
- package/dist/capabilities/openbanking.d.ts +10 -0
- package/dist/capabilities/openbanking.js +92 -1
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +9 -1
- package/dist/client/react/drivers/rn-reusables.d.ts +22 -0
- package/dist/client/react/drivers/rn-reusables.js +21 -1
- package/dist/client/react/drivers/shadcn.d.ts +12 -0
- package/dist/client/react/drivers/shadcn.js +11 -1
- package/dist/client/react/feature-render.d.ts +21 -0
- package/dist/client/react/feature-render.js +44 -1
- package/dist/client/react/form-render.d.ts +92 -0
- package/dist/client/react/form-render.js +298 -1
- package/dist/client/react/index.d.ts +5 -0
- package/dist/client/react/index.js +8 -1
- package/dist/contract-registry/index.d.ts +3 -0
- package/dist/contract-registry/index.js +3 -1
- package/dist/contract-registry/schemas.d.ts +124 -0
- package/dist/contract-registry/schemas.js +61 -1
- package/dist/contract-registry/types.d.ts +46 -0
- package/dist/data-views/data-views.d.ts +138 -0
- package/dist/data-views/data-views.js +58 -0
- package/dist/data-views/docs/data-views.docblock.d.ts +6 -0
- package/dist/data-views/docs/data-views.docblock.js +21 -1
- package/dist/data-views/index.d.ts +4 -0
- package/dist/data-views/index.js +5 -0
- package/dist/data-views/query-generator.d.ts +40 -0
- package/dist/data-views/query-generator.js +48 -1
- package/dist/data-views/runtime.d.ts +27 -0
- package/dist/data-views/runtime.js +39 -1
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +6 -0
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +17 -350
- package/dist/docs/index.d.ts +6 -0
- package/dist/docs/index.js +27 -1
- package/dist/docs/meta.docs.d.ts +6 -0
- package/dist/docs/meta.docs.js +18 -2
- package/dist/docs/presentations.d.ts +33 -0
- package/dist/docs/presentations.js +64 -1
- package/dist/docs/registry.d.ts +23 -0
- package/dist/docs/registry.js +51 -1
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +6 -0
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +25 -2
- package/dist/docs/tech/contracts/README.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/README.docblock.js +21 -1
- package/dist/docs/tech/contracts/create-subscription.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/create-subscription.docblock.js +21 -1
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +21 -180
- package/dist/docs/tech/contracts/migrations.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/migrations.docblock.js +21 -1
- package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/openapi-export.docblock.js +25 -5
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +19 -60
- package/dist/docs/tech/contracts/overlays.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/overlays.docblock.js +21 -68
- package/dist/docs/tech/contracts/tests.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/tests.docblock.js +21 -132
- package/dist/docs/tech/contracts/themes.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/themes.docblock.js +21 -1
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +6 -0
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +21 -106
- package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +6 -0
- package/dist/docs/tech/lifecycle-stage-system.docblock.js +17 -213
- package/dist/docs/tech/llm/llm-integration.docblock.d.ts +7 -0
- package/dist/docs/tech/llm/llm-integration.docblock.js +76 -7
- package/dist/docs/tech/mcp-endpoints.docblock.d.ts +6 -0
- package/dist/docs/tech/mcp-endpoints.docblock.js +38 -1
- package/dist/docs/tech/presentation-runtime.docblock.d.ts +6 -0
- package/dist/docs/tech/presentation-runtime.docblock.js +17 -1
- package/dist/docs/tech/schema/README.docblock.d.ts +6 -0
- package/dist/docs/tech/schema/README.docblock.js +21 -262
- package/dist/docs/tech/studio/learning-events.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/learning-events.docblock.js +49 -1
- package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/learning-journeys.docblock.js +25 -2
- package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/platform-admin-panel.docblock.js +24 -2
- package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/project-access-teams.docblock.js +26 -16
- package/dist/docs/tech/studio/project-routing.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/project-routing.docblock.js +68 -1
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +23 -2
- package/dist/docs/tech/studio/team-invitations.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/team-invitations.docblock.js +41 -36
- package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/workspace-ops.docblock.js +48 -1
- package/dist/docs/tech/studio/workspaces.docblock.d.ts +6 -0
- package/dist/docs/tech/studio/workspaces.docblock.js +24 -2
- package/dist/docs/tech/telemetry-ingest.docblock.d.ts +6 -0
- package/dist/docs/tech/telemetry-ingest.docblock.js +37 -3
- package/dist/docs/tech/templates/runtime.docblock.d.ts +6 -0
- package/dist/docs/tech/templates/runtime.docblock.js +21 -1
- package/dist/docs/tech/vscode-extension.docblock.d.ts +6 -0
- package/dist/docs/tech/vscode-extension.docblock.js +37 -3
- package/dist/docs/tech/workflows/overview.docblock.d.ts +6 -0
- package/dist/docs/tech/workflows/overview.docblock.js +21 -1
- package/dist/docs/tech-contracts.docs.d.ts +6 -0
- package/dist/docs/tech-contracts.docs.js +27 -7
- package/dist/docs/types.d.ts +41 -0
- package/dist/events.d.ts +47 -0
- package/dist/events.js +19 -1
- package/dist/experiments/docs/experiments.docblock.d.ts +6 -0
- package/dist/experiments/docs/experiments.docblock.js +21 -128
- package/dist/experiments/evaluator.d.ts +37 -0
- package/dist/experiments/evaluator.js +101 -1
- package/dist/experiments/spec-resolver.d.ts +17 -0
- package/dist/experiments/spec.d.ts +82 -0
- package/dist/experiments/spec.js +33 -1
- package/dist/features.d.ts +104 -0
- package/dist/features.js +91 -1
- package/dist/forms/docs/forms.docblock.d.ts +6 -0
- package/dist/forms/docs/forms.docblock.js +21 -1
- package/dist/forms/forms.d.ts +266 -0
- package/dist/forms/forms.js +146 -0
- package/dist/forms/index.d.ts +2 -0
- package/dist/forms/index.js +3 -0
- package/dist/index.d.ts +142 -0
- package/dist/index.js +119 -1
- package/dist/install.d.ts +77 -0
- package/dist/install.js +40 -1
- package/dist/integrations/binding.d.ts +17 -0
- package/dist/integrations/connection.d.ts +51 -0
- package/dist/integrations/docs/integrations.docblock.d.ts +6 -0
- package/dist/integrations/docs/integrations.docblock.js +94 -1
- package/dist/integrations/health.d.ts +21 -0
- package/dist/integrations/health.js +69 -1
- package/dist/integrations/index.d.ts +34 -0
- package/dist/integrations/index.js +23 -1
- package/dist/integrations/integrations.feature.d.ts +11 -0
- package/dist/integrations/integrations.feature.js +60 -0
- package/dist/integrations/openbanking/contracts/accounts.d.ts +289 -0
- package/dist/integrations/openbanking/contracts/accounts.js +236 -1
- package/dist/integrations/openbanking/contracts/balances.d.ts +165 -0
- package/dist/integrations/openbanking/contracts/balances.js +166 -1
- package/dist/integrations/openbanking/contracts/index.d.ts +10 -0
- package/dist/integrations/openbanking/contracts/index.js +12 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts +213 -0
- package/dist/integrations/openbanking/contracts/transactions.js +217 -1
- package/dist/integrations/openbanking/guards.d.ts +12 -0
- package/dist/integrations/openbanking/guards.js +33 -1
- package/dist/integrations/openbanking/models.d.ts +228 -0
- package/dist/integrations/openbanking/models.js +240 -1
- package/dist/integrations/openbanking/openbanking.feature.d.ts +11 -0
- package/dist/integrations/openbanking/openbanking.feature.js +69 -1
- package/dist/integrations/openbanking/telemetry.d.ts +15 -0
- package/dist/integrations/openbanking/telemetry.js +39 -1
- package/dist/integrations/operations.d.ts +437 -0
- package/dist/integrations/operations.js +392 -0
- package/dist/integrations/providers/calendar.d.ts +78 -0
- package/dist/integrations/providers/elevenlabs.d.ts +7 -0
- package/dist/integrations/providers/elevenlabs.js +55 -1
- package/dist/integrations/providers/email.d.ts +86 -0
- package/dist/integrations/providers/embedding.d.ts +24 -0
- package/dist/integrations/providers/gcs-storage.d.ts +7 -0
- package/dist/integrations/providers/gcs-storage.js +78 -1
- package/dist/integrations/providers/gmail.d.ts +7 -0
- package/dist/integrations/providers/gmail.js +90 -1
- package/dist/integrations/providers/google-calendar.d.ts +7 -0
- package/dist/integrations/providers/google-calendar.js +69 -1
- package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +20 -0
- package/dist/integrations/providers/impls/elevenlabs-voice.js +95 -1
- package/dist/integrations/providers/impls/gcs-storage.d.ts +24 -0
- package/dist/integrations/providers/impls/gcs-storage.js +88 -1
- package/dist/integrations/providers/impls/gmail-inbound.d.ts +26 -0
- package/dist/integrations/providers/impls/gmail-inbound.js +200 -1
- package/dist/integrations/providers/impls/gmail-outbound.d.ts +18 -0
- package/dist/integrations/providers/impls/gmail-outbound.js +104 -5
- package/dist/integrations/providers/impls/google-calendar.d.ts +23 -0
- package/dist/integrations/providers/impls/google-calendar.js +154 -1
- package/dist/integrations/providers/impls/index.d.ts +15 -0
- package/dist/integrations/providers/impls/index.js +16 -1
- package/dist/integrations/providers/impls/mistral-embedding.d.ts +23 -0
- package/dist/integrations/providers/impls/mistral-embedding.js +41 -1
- package/dist/integrations/providers/impls/mistral-llm.d.ts +31 -0
- package/dist/integrations/providers/impls/mistral-llm.js +247 -1
- package/dist/integrations/providers/impls/postmark-email.d.ts +19 -0
- package/dist/integrations/providers/impls/postmark-email.js +55 -1
- package/dist/integrations/providers/impls/powens-client.d.ts +124 -0
- package/dist/integrations/providers/impls/powens-client.js +171 -1
- package/dist/integrations/providers/impls/powens-openbanking.d.ts +27 -0
- package/dist/integrations/providers/impls/powens-openbanking.js +218 -1
- package/dist/integrations/providers/impls/provider-factory.d.ts +26 -0
- package/dist/integrations/providers/impls/provider-factory.js +145 -1
- package/dist/integrations/providers/impls/qdrant-vector.d.ts +24 -0
- package/dist/integrations/providers/impls/qdrant-vector.js +69 -1
- package/dist/integrations/providers/impls/stripe-payments.d.ts +28 -0
- package/dist/integrations/providers/impls/stripe-payments.js +202 -1
- package/dist/integrations/providers/impls/twilio-sms.d.ts +20 -0
- package/dist/integrations/providers/impls/twilio-sms.js +58 -1
- package/dist/integrations/providers/index.d.ts +22 -0
- package/dist/integrations/providers/index.js +13 -1
- package/dist/integrations/providers/llm.d.ts +82 -0
- package/dist/integrations/providers/mistral.d.ts +7 -0
- package/dist/integrations/providers/mistral.js +71 -1
- package/dist/integrations/providers/openbanking.d.ts +128 -0
- package/dist/integrations/providers/payments.d.ts +109 -0
- package/dist/integrations/providers/postmark.d.ts +7 -0
- package/dist/integrations/providers/postmark.js +71 -1
- package/dist/integrations/providers/powens.d.ts +7 -0
- package/dist/integrations/providers/powens.js +119 -1
- package/dist/integrations/providers/qdrant.d.ts +7 -0
- package/dist/integrations/providers/qdrant.js +76 -1
- package/dist/integrations/providers/registry.d.ts +11 -0
- package/dist/integrations/providers/registry.js +34 -1
- package/dist/integrations/providers/sms.d.ts +34 -0
- package/dist/integrations/providers/storage.d.ts +60 -0
- package/dist/integrations/providers/stripe.d.ts +7 -0
- package/dist/integrations/providers/stripe.js +86 -1
- package/dist/integrations/providers/twilio-sms.d.ts +7 -0
- package/dist/integrations/providers/twilio-sms.js +64 -1
- package/dist/integrations/providers/vector-store.d.ts +43 -0
- package/dist/integrations/providers/voice.d.ts +34 -0
- package/dist/integrations/runtime.d.ts +99 -0
- package/dist/integrations/runtime.js +186 -1
- package/dist/integrations/secrets/aws-secret-manager.d.ts +31 -0
- package/dist/integrations/secrets/aws-secret-manager.js +231 -1
- package/dist/integrations/secrets/env-secret-provider.d.ts +31 -0
- package/dist/integrations/secrets/env-secret-provider.js +81 -1
- package/dist/integrations/secrets/gcp-secret-manager.d.ts +32 -0
- package/dist/integrations/secrets/gcp-secret-manager.js +229 -1
- package/dist/integrations/secrets/index.d.ts +7 -0
- package/dist/integrations/secrets/index.js +8 -1
- package/dist/integrations/secrets/manager.d.ts +47 -0
- package/dist/integrations/secrets/manager.js +103 -1
- package/dist/integrations/secrets/provider.d.ts +52 -0
- package/dist/integrations/secrets/provider.js +58 -1
- package/dist/integrations/secrets/scaleway-secret-manager.d.ts +38 -0
- package/dist/integrations/secrets/scaleway-secret-manager.js +247 -1
- package/dist/integrations/secrets-types.d.ts +17 -0
- package/dist/integrations/spec.d.ts +75 -0
- package/dist/integrations/spec.js +39 -1
- package/dist/jobs/define-job.d.ts +18 -0
- package/dist/jobs/define-job.js +16 -1
- package/dist/jobs/gcp-cloud-tasks.d.ts +41 -0
- package/dist/jobs/gcp-cloud-tasks.js +53 -1
- package/dist/jobs/gcp-pubsub.d.ts +25 -0
- package/dist/jobs/gcp-pubsub.js +39 -1
- package/dist/jobs/handlers/gmail-sync-handler.d.ts +9 -0
- package/dist/jobs/handlers/gmail-sync-handler.js +9 -1
- package/dist/jobs/handlers/index.d.ts +9 -0
- package/dist/jobs/handlers/index.js +12 -1
- package/dist/jobs/handlers/ping-handler.d.ts +10 -0
- package/dist/jobs/handlers/ping-handler.js +15 -1
- package/dist/jobs/handlers/storage-document-handler.d.ts +12 -0
- package/dist/jobs/handlers/storage-document-handler.js +14 -1
- package/dist/jobs/index.d.ts +3 -0
- package/dist/jobs/index.js +4 -1
- package/dist/jobs/memory-queue.d.ts +18 -0
- package/dist/jobs/memory-queue.js +71 -1
- package/dist/jobs/queue.d.ts +131 -0
- package/dist/jobs/queue.js +33 -1
- package/dist/jobs/scaleway-sqs-queue.d.ts +30 -0
- package/dist/jobs/scaleway-sqs-queue.js +153 -1
- package/dist/jsonschema.d.ts +28 -0
- package/dist/jsonschema.js +32 -1
- package/dist/knowledge/binding.d.ts +25 -0
- package/dist/knowledge/docs/knowledge.docblock.d.ts +6 -0
- package/dist/knowledge/docs/knowledge.docblock.js +21 -138
- package/dist/knowledge/index.d.ts +11 -0
- package/dist/knowledge/index.js +10 -1
- package/dist/knowledge/ingestion/document-processor.d.ts +24 -0
- package/dist/knowledge/ingestion/document-processor.js +54 -1
- package/dist/knowledge/ingestion/embedding-service.d.ts +12 -0
- package/dist/knowledge/ingestion/embedding-service.js +25 -1
- package/dist/knowledge/ingestion/gmail-adapter.d.ts +18 -0
- package/dist/knowledge/ingestion/gmail-adapter.js +50 -5
- package/dist/knowledge/ingestion/index.d.ts +6 -0
- package/dist/knowledge/ingestion/index.js +7 -1
- package/dist/knowledge/ingestion/storage-adapter.d.ts +15 -0
- package/dist/knowledge/ingestion/storage-adapter.js +26 -1
- package/dist/knowledge/ingestion/vector-indexer.d.ts +18 -0
- package/dist/knowledge/ingestion/vector-indexer.js +32 -1
- package/dist/knowledge/knowledge.feature.d.ts +11 -0
- package/dist/knowledge/knowledge.feature.js +61 -0
- package/dist/knowledge/operations.d.ts +318 -0
- package/dist/knowledge/operations.js +321 -0
- package/dist/knowledge/query/index.d.ts +2 -0
- package/dist/knowledge/query/index.js +3 -1
- package/dist/knowledge/query/service.d.ts +29 -0
- package/dist/knowledge/query/service.js +64 -2
- package/dist/knowledge/runtime.d.ts +32 -0
- package/dist/knowledge/runtime.js +49 -1
- package/dist/knowledge/source.d.ts +32 -0
- package/dist/knowledge/spaces/email-threads.d.ts +7 -0
- package/dist/knowledge/spaces/email-threads.js +37 -1
- package/dist/knowledge/spaces/financial-docs.d.ts +7 -0
- package/dist/knowledge/spaces/financial-docs.js +37 -1
- package/dist/knowledge/spaces/financial-overview.d.ts +7 -0
- package/dist/knowledge/spaces/financial-overview.js +41 -1
- package/dist/knowledge/spaces/index.d.ts +7 -0
- package/dist/knowledge/spaces/index.js +8 -1
- package/dist/knowledge/spaces/product-canon.d.ts +7 -0
- package/dist/knowledge/spaces/product-canon.js +37 -1
- package/dist/knowledge/spaces/support-faq.d.ts +7 -0
- package/dist/knowledge/spaces/support-faq.js +40 -1
- package/dist/knowledge/spaces/uploaded-docs.d.ts +7 -0
- package/dist/knowledge/spaces/uploaded-docs.js +37 -1
- package/dist/knowledge/spec.d.ts +48 -0
- package/dist/knowledge/spec.js +39 -1
- package/dist/llm/exporters.d.ts +69 -0
- package/dist/llm/exporters.js +542 -8
- package/dist/llm/index.d.ts +4 -0
- package/dist/llm/index.js +4 -1
- package/dist/llm/prompts.d.ts +52 -0
- package/dist/llm/prompts.js +246 -56
- package/dist/llm/types.d.ts +214 -0
- package/dist/markdown.d.ts +22 -0
- package/dist/markdown.js +119 -3
- package/dist/migrations.d.ts +52 -0
- package/dist/migrations.js +33 -1
- package/dist/onboarding-base.d.ts +138 -0
- package/dist/onboarding-base.js +195 -1
- package/dist/openapi.d.ts +31 -0
- package/dist/openapi.js +75 -1
- package/dist/operations/index.d.ts +3 -0
- package/dist/operations/index.js +4 -0
- package/dist/operations/operation.d.ts +180 -0
- package/dist/operations/operation.js +35 -0
- package/dist/operations/registry.d.ts +103 -0
- package/dist/operations/registry.js +252 -0
- package/dist/ownership.d.ts +84 -0
- package/dist/ownership.js +38 -1
- package/dist/policy/docs/policy.docblock.d.ts +6 -0
- package/dist/policy/docs/policy.docblock.js +21 -1
- package/dist/policy/engine.d.ts +40 -0
- package/dist/policy/engine.js +223 -1
- package/dist/policy/index.d.ts +5 -0
- package/dist/policy/index.js +5 -0
- package/dist/policy/opa-adapter.d.ts +45 -0
- package/dist/policy/opa-adapter.js +71 -1
- package/dist/policy/registry.d.ts +9 -0
- package/dist/policy/registry.js +11 -0
- package/dist/policy/spec.d.ts +103 -0
- package/dist/policy/spec.js +0 -1
- package/dist/presentations/docs/presentations-conventions.docblock.d.ts +6 -0
- package/dist/presentations/docs/presentations-conventions.docblock.js +20 -7
- package/dist/presentations/index.d.ts +4 -0
- package/dist/presentations/index.js +5 -0
- package/dist/presentations/presentations.d.ts +50 -0
- package/dist/presentations/presentations.js +7 -0
- package/dist/presentations/registry.d.ts +10 -0
- package/dist/presentations/registry.js +12 -0
- package/dist/presentations/transform-engine.d.ts +66 -0
- package/dist/presentations/transform-engine.js +282 -0
- package/dist/prompt.d.ts +60 -0
- package/dist/prompt.js +10 -1
- package/dist/promptRegistry.d.ts +15 -0
- package/dist/promptRegistry.js +34 -1
- package/dist/regenerator/adapters.d.ts +19 -0
- package/dist/regenerator/docs/regenerator.docblock.d.ts +6 -0
- package/dist/regenerator/docs/regenerator.docblock.js +21 -184
- package/dist/regenerator/executor.d.ts +70 -0
- package/dist/regenerator/executor.js +86 -1
- package/dist/regenerator/index.d.ts +7 -0
- package/dist/regenerator/index.js +6 -1
- package/dist/regenerator/service.d.ts +33 -0
- package/dist/regenerator/service.js +92 -1
- package/dist/regenerator/sinks.d.ts +26 -0
- package/dist/regenerator/sinks.js +32 -1
- package/dist/regenerator/types.d.ts +107 -0
- package/dist/regenerator/utils.d.ts +9 -0
- package/dist/regenerator/utils.js +51 -1
- package/dist/registry-utils.d.ts +106 -0
- package/dist/registry-utils.js +122 -0
- package/dist/registry.d.ts +30 -0
- package/dist/registry.js +58 -1
- package/dist/resources.d.ts +64 -0
- package/dist/resources.js +50 -1
- package/dist/schema-to-markdown.d.ts +54 -0
- package/dist/schema-to-markdown.js +214 -10
- package/dist/server/contracts-adapter-hydration.d.ts +15 -0
- package/dist/server/contracts-adapter-hydration.js +41 -0
- package/dist/server/contracts-adapter-input.d.ts +9 -0
- package/dist/server/contracts-adapter-input.js +77 -0
- package/dist/server/graphql-pothos.d.ts +31 -0
- package/dist/server/graphql-pothos.js +127 -1
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.js +10 -1
- package/dist/server/mcp/createMcpServer.d.ts +15 -0
- package/dist/server/mcp/createMcpServer.js +28 -1
- package/dist/server/mcp/mcpTypes.d.ts +30 -0
- package/dist/server/mcp/registerPresentations.d.ts +7 -0
- package/dist/server/mcp/registerPresentations.js +112 -1
- package/dist/server/mcp/registerPrompts.d.ts +8 -0
- package/dist/server/mcp/registerPrompts.js +36 -2
- package/dist/server/mcp/registerResources.d.ts +8 -0
- package/dist/server/mcp/registerResources.js +35 -1
- package/dist/server/mcp/registerTools.d.ts +8 -0
- package/dist/server/mcp/registerTools.js +22 -1
- package/dist/server/provider-mcp.d.ts +2 -0
- package/dist/server/provider-mcp.js +3 -1
- package/dist/server/rest-elysia.d.ts +40 -0
- package/dist/server/rest-elysia.js +20 -1
- package/dist/server/rest-express.d.ts +16 -0
- package/dist/server/rest-express.js +36 -1
- package/dist/server/rest-generic.d.ts +32 -0
- package/dist/server/rest-generic.js +124 -1
- package/dist/server/rest-next-app.d.ts +35 -0
- package/dist/server/rest-next-app.js +38 -1
- package/dist/server/rest-next-mcp.d.ts +11 -0
- package/dist/server/rest-next-mcp.js +45 -1
- package/dist/server/rest-next-pages.d.ts +9 -0
- package/dist/server/rest-next-pages.js +22 -1
- package/dist/telemetry/anomaly.d.ts +27 -0
- package/dist/telemetry/anomaly.js +48 -1
- package/dist/telemetry/docs/telemetry.docblock.d.ts +6 -0
- package/dist/telemetry/docs/telemetry.docblock.js +21 -139
- package/dist/telemetry/index.d.ts +4 -0
- package/dist/telemetry/index.js +5 -1
- package/dist/telemetry/spec.d.ts +91 -0
- package/dist/telemetry/spec.js +69 -1
- package/dist/telemetry/tracker.d.ts +51 -0
- package/dist/telemetry/tracker.js +76 -1
- package/dist/tests/index.d.ts +3 -0
- package/dist/tests/index.js +4 -1
- package/dist/tests/runner.d.ts +43 -0
- package/dist/tests/runner.js +150 -1
- package/dist/tests/spec.d.ts +89 -0
- package/dist/tests/spec.js +33 -1
- package/dist/themes.d.ts +53 -0
- package/dist/themes.js +39 -1
- package/dist/translations/catalog.d.ts +28 -0
- package/dist/translations/tenant.d.ts +15 -0
- package/dist/types.d.ts +92 -0
- package/dist/workflow/adapters/db-adapter.d.ts +46 -0
- package/dist/workflow/adapters/db-adapter.js +83 -1
- package/dist/workflow/adapters/file-adapter.d.ts +14 -0
- package/dist/workflow/adapters/file-adapter.js +11 -1
- package/dist/workflow/adapters/index.d.ts +4 -0
- package/dist/workflow/adapters/index.js +5 -1
- package/dist/workflow/adapters/memory-store.d.ts +18 -0
- package/dist/workflow/adapters/memory-store.js +58 -1
- package/dist/workflow/expression.d.ts +9 -0
- package/dist/workflow/expression.js +99 -1
- package/dist/workflow/index.d.ts +10 -0
- package/dist/workflow/index.js +9 -1
- package/dist/workflow/runner.d.ts +74 -0
- package/dist/workflow/runner.js +337 -1
- package/dist/workflow/sla-monitor.d.ts +20 -0
- package/dist/workflow/sla-monitor.js +47 -1
- package/dist/workflow/spec.d.ts +105 -0
- package/dist/workflow/spec.js +55 -1
- package/dist/workflow/state.d.ts +35 -0
- package/dist/workflow/validation.d.ts +29 -0
- package/dist/workflow/validation.js +176 -1
- package/dist/workspace-config/contractsrc-schema.d.ts +786 -0
- package/dist/workspace-config/contractsrc-schema.js +247 -0
- package/dist/workspace-config/index.d.ts +2 -0
- package/dist/workspace-config/index.js +3 -0
- package/package.json +286 -266
- package/dist/capabilities.js +0 -1
- package/dist/contracts-adapter-hydration.js +0 -1
- package/dist/contracts-adapter-input.js +0 -1
- package/dist/data-views.js +0 -1
- package/dist/docs/PUBLISHING.docblock.js +0 -76
- package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -383
- package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -68
- package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -140
- package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -86
- package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -1
- package/dist/forms.js +0 -1
- package/dist/integrations/contracts.js +0 -1
- package/dist/knowledge/contracts.js +0 -1
- package/dist/openbanking/docs/openbanking.docblock.js +0 -109
- package/dist/presentations.backcompat.js +0 -1
- package/dist/presentations.js +0 -1
- package/dist/presentations.v2.js +0 -7
- package/dist/spec.js +0 -1
- /package/dist/{types/all.js → integrations/secrets-types.js} +0 -0
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import{registerDocBlocks as e}from"../registry.js";const t=[{id:`docs.tech.PHASE_4_PERSONALIZATION_ENGINE`,title:`Phase 4: Personalization Engine`,summary:`**Status**: Complete`,kind:`reference`,visibility:`public`,route:`/docs/tech/PHASE_4_PERSONALIZATION_ENGINE`,tags:[`tech`,`PHASE_4_PERSONALIZATION_ENGINE`],body:`# Phase 4: Personalization Engine
|
|
2
|
-
|
|
3
|
-
**Status**: Complete
|
|
4
|
-
**Last updated**: 2025-11-21
|
|
5
|
-
|
|
6
|
-
Phase 4 unlocks tenant-scoped personalization with zero bespoke code. We shipped three new libraries, a signing-aware Overlay editor, and the persistence layer required to observe usage and apply overlays safely.
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 1. Libraries
|
|
11
|
-
|
|
12
|
-
### @lssm/lib.overlay-engine
|
|
13
|
-
|
|
14
|
-
- OverlaySpec types + validator mirror the public spec.
|
|
15
|
-
- Cryptographic signer (\`ed25519\`, \`rsa-pss-sha256\`) with canonical JSON serialization.
|
|
16
|
-
- Registry that merges tenant/role/user/device overlays with predictable specificity.
|
|
17
|
-
- React hooks (\`useOverlay\`, \`useOverlayFields\`) for client-side rendering.
|
|
18
|
-
- Runtime engine audits every applied overlay for traceability.
|
|
19
|
-
|
|
20
|
-
### @lssm/lib.personalization
|
|
21
|
-
|
|
22
|
-
- Behavior tracker buffers field/feature/workflow events and exports OTel metrics.
|
|
23
|
-
- Analyzer summarizes field usage and workflow drop-offs into actionable insights.
|
|
24
|
-
- Adapter translates insights into overlay suggestions or workflow tweaks.
|
|
25
|
-
- In-memory store implementation + interface for plugging Prisma/ClickHouse later.
|
|
26
|
-
|
|
27
|
-
### @lssm/lib.workflow-composer
|
|
28
|
-
|
|
29
|
-
- \`WorkflowComposer\` merges base workflows with tenant/role/device extensions.
|
|
30
|
-
- Step injection utilities keep transitions intact and validate anchor steps.
|
|
31
|
-
- Template helpers for common tenant review/approval, plus merge helpers for multi-scope extensions.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 2. Overlay Editor App
|
|
36
|
-
|
|
37
|
-
Path: \`packages/apps/overlay-editor\`
|
|
38
|
-
|
|
39
|
-
- Next.js App Router UI for toggling field visibility, renaming labels, and reordering lists.
|
|
40
|
-
- Live JSON preview powered by \`defineOverlay\`.
|
|
41
|
-
- Server action that signs overlays via PEM private keys (Ed25519 by default) using the overlay engine signer.
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## 3. Persistence
|
|
46
|
-
|
|
47
|
-
Added Prisma models (see \`packages/libs/database/prisma/schema.prisma\`):
|
|
48
|
-
|
|
49
|
-
- \`UserBehaviorEvent\` – field/feature/workflow telemetry.
|
|
50
|
-
- \`OverlaySigningKey\` – tenant managed signing keys with revocation timestamps.
|
|
51
|
-
- \`Overlay\` – stored overlays (tenant/user/role/device scope) plus signature metadata.
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 4. Integration Steps
|
|
56
|
-
|
|
57
|
-
1. Track usage inside apps via \`createBehaviorTracker\`.
|
|
58
|
-
2. Periodically run \`BehaviorAnalyzer.analyze\` to generate insights.
|
|
59
|
-
3. Convert insights into OverlaySpecs or Workflow extensions.
|
|
60
|
-
4. Register tenant overlays in \`OverlayRegistry\` and serve via presentation runtimes.
|
|
61
|
-
5. Compose workflows per tenant using \`WorkflowComposer\`.
|
|
62
|
-
|
|
63
|
-
See the \`docs/tech/personalization/*\` guides for concrete examples.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
`}];e(t);export{t as tech_PHASE_4_PERSONALIZATION_ENGINE_DocBlocks};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{registerDocBlocks as e}from"../registry.js";const t=[{id:`docs.tech.PHASE_5_ZERO_TOUCH_OPERATIONS`,title:`Phase 5: Zero-Touch Operations`,summary:`**Status**: In progress`,kind:`reference`,visibility:`public`,route:`/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS`,tags:[`tech`,`PHASE_5_ZERO_TOUCH_OPERATIONS`],body:"# Phase 5: Zero-Touch Operations\n\n**Status**: In progress \n**Last updated**: 2025-11-21\n\nPhase 5 delivers progressive delivery, SLO intelligence, cost attribution, and anomaly-driven remediation so the platform can deploy continuously without pager rotations.\n\n---\n\n## 1. New Libraries\n\n### @lssm/lib.progressive-delivery\n- `DeploymentStrategy` types capture canary vs blue-green rollouts.\n- `CanaryController` + `CanaryAnalyzer` orchestrate stage evaluation against telemetry thresholds.\n- `TrafficShifter` keeps stable/candidate splits in sync with feature-flag or router state.\n- `DeploymentCoordinator` drives stage progression, emits events, and triggers rollbacks.\n- `RollbackManager` encapsulates safe revert hooks (spec version revert, traffic shift, etc.).\n\n### @lssm/lib.slo\n- Declarative `SLODefinition` with latency + availability targets per capability/spec.\n- `SLOTracker` stores rolling snapshots + error budget positions.\n- `BurnRateCalculator` implements multi-window burn computations (fast vs slow burn).\n- `SLOMonitor` pushes incidents to Ops tooling automatically when burn exceeds thresholds.\n\n### @lssm/lib.cost-tracking\n- `CostTracker` normalizes DB/API/compute metrics into per-operation cost totals.\n- `BudgetAlertManager` raises tenant budget warnings (80% default) with contextual payloads.\n- `OptimizationRecommender` suggests batching, caching, or contract tweaks to cut spend.\n\n### Observability Anomaly Toolkit\n- `BaselineCalculator` establishes rolling intent metrics (latency, error rate, throughput).\n- `AnomalyDetector` flags spikes/drops via relative deltas after 10+ samples.\n- `RootCauseAnalyzer` correlates anomalies with recent deployments.\n- `AlertManager` deduplicates notifications and feeds MCP/SRE transports.\n\n---\n\n## 2. Data Model Additions\n\nFile: `packages/libs/database/prisma/schema.prisma`\n\n| Model | Purpose |\n| --- | --- |\n| `SLODefinition`, `SLOSnapshot`, `ErrorBudget`, `SLOIncident` | Persist definitions, rolling windows, and incidents. |\n| `OperationCost`, `TenantBudget`, `CostAlert`, `OptimizationSuggestion` | Track per-operation costs, budgets, and generated recommendations. |\n| `Deployment`, `DeploymentStage`, `RollbackEvent` | Audit progressive delivery runs and automated rollbacks. |\n| `MetricBaseline`, `AnomalyEvent` | Store computed baselines and anomaly evidence for training/analytics. |\n\nRun `bun database generate` after pulling to refresh the Prisma client.\n\n---\n\n## 3. Operational Flow\n\n1. **Deploy**: Define a `DeploymentStrategy` and feed telemetry via `@lssm/lib.observability`. Canary stages run automatically.\n2. **Protect**: `CanaryAnalyzer` evaluates error rate + latency thresholds. Failures trigger `RollbackManager`.\n3. **Observe**: `SLOMonitor` consumes snapshots and opens incidents when burn rate exceeds thresholds.\n4. **Optimize**: `CostTracker` aggregates spend per tenant + capability, while `OptimizationRecommender` surfaces fixes.\n5. **Detect**: Anomaly signals route to `RootCauseAnalyzer`, which links them to specific deployments for auto-rollback.\n\n---\n\n## 4. Integration Checklist\n\n1. Instrument adapters with `createTracingMiddleware({ onSample })` to feed metric points into `AnomalyDetector`.\n2. Register SLOs per critical operation (`billing.charge`, `knowledge.search`) and wire monitors to Ops notifications.\n3. Attach `CostTracker.recordSample` to workflow runners (DB instrumentation + external call wrappers).\n4. Store deployment metadata using the new Prisma models for auditing + UI surfacing.\n5. Update `@lssm/app.ops-console` (next iteration) to list deployments, SLO status, costs, and anomalies in one timeline.\n\n---\n\n## 5. Next Steps\n\n- Wire `DeploymentCoordinator` into the Contracts CLI so `contractspec deploy` can run staged rollouts.\n- Add UI for SLO dashboards (burn rate sparkline + incident feed).\n- Ship budget suggestions into Growth Agent for automated cost optimizations.\n- Connect `AnomalyEvent` stream to MCP agents for root-cause playbooks.\n"}];e(t);export{t as tech_PHASE_5_ZERO_TOUCH_OPERATIONS_DocBlocks};
|
package/dist/forms.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e){return`${e.key}.v${e.version}`}var t=class{items=new Map;register(t){let n=e(t.meta);if(this.items.has(n))throw Error(`Duplicate form ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()]}get(e,t){if(t!=null)return this.items.get(`${e}.v${t}`);let n,r=-1/0;for(let[t,i]of this.items.entries())t.startsWith(`${e}.v`)&&i.meta.version>r&&(r=i.meta.version,n=i);return n}};function n(e,t){if(!t)return;let n=t.replace(/\[(\d+)\]/g,`.$1`).split(`.`).filter(Boolean),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function r(e,t){if(!t)return!0;if(t.not)return!r(e,t.not);if(t.all&&t.all.length)return t.all.every(t=>r(e,t));if(t.any&&t.any.length)return t.any.some(t=>r(e,t));if(t.when){let{path:r,op:i=`truthy`,value:a}=t.when,o=n(e,r);switch(i){case`equals`:return o===a;case`notEquals`:return o!==a;case`in`:return Array.isArray(a)&&a.includes(o);case`notIn`:return Array.isArray(a)&&!a.includes(o);case`gt`:return Number(o)>Number(a);case`gte`:return Number(o)>=Number(a);case`lt`:return Number(o)<Number(a);case`lte`:return Number(o)<=Number(a);case`empty`:return o==null||(Array.isArray(o)?o.length===0:String(o).length===0);case`lengthGt`:return(Array.isArray(o)||typeof o==`string`)&&o.length>Number(a??0);case`lengthGte`:return(Array.isArray(o)||typeof o==`string`)&&o.length>=Number(a??0);case`lengthLt`:return(Array.isArray(o)||typeof o==`string`)&&o.length<Number(a??0);case`lengthLte`:return(Array.isArray(o)||typeof o==`string`)&&o.length<=Number(a??0);case`truthy`:default:return!!o}}return!0}function i(e,t){return e.model.getZod().superRefine((i,a)=>{let o=(e,t)=>{let s=e.name?t?`${t}.${e.name}`:e.name:t??``;if(e.requiredWhen&&r(i,e.requiredWhen)){let e=n(i,s);(e==null||typeof e==`string`&&e.trim().length===0||Array.isArray(e)&&e.length===0)&&a.addIssue({code:`custom`,path:s.split(`.`),message:`required`})}if(e.kind===`array`){let t=n(i,s);e.min!=null&&Array.isArray(t)&&t.length<e.min&&a.addIssue({code:`custom`,path:s.split(`.`),message:`min:${e.min}`}),e.max!=null&&Array.isArray(t)&&t.length>e.max&&a.addIssue({code:`custom`,path:s.split(`.`),message:`max:${e.max}`}),o(e.of,s)}else if(e.kind===`group`)for(let t of e.fields)o(t,s)};for(let t of e.fields)o(t);if(e.constraints&&t)for(let n of e.constraints){let e=t[n.key];if(!e)continue;let r=e(i,n.paths,n.args);r.ok||a.addIssue({code:`custom`,path:(r.path??n.paths[0]??``).split(`.`).filter(Boolean),message:r.message??n.messageI18n})}})}function a(e){return e}export{t as FormRegistry,i as buildZodWithRelations,a as defineFormSpec,r as evalPredicate};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{defineCommand as e,defineQuery as t}from"../spec.js";import{ScalarTypeEnum as n,SchemaModel as r}from"@lssm/lib.schema";const i=new r({name:`IntegrationConnectionRecord`,fields:{id:{type:n.ID(),isOptional:!1},tenantId:{type:n.ID(),isOptional:!1},integrationKey:{type:n.NonEmptyString(),isOptional:!1},integrationVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},ownershipMode:{type:n.String_unsecure(),isOptional:!1},externalAccountId:{type:n.String_unsecure(),isOptional:!0},secretProvider:{type:n.String_unsecure(),isOptional:!1},secretRef:{type:n.String_unsecure(),isOptional:!1},status:{type:n.String_unsecure(),isOptional:!1},environment:{type:n.String_unsecure(),isOptional:!0},healthStatus:{type:n.String_unsecure(),isOptional:!0},healthCheckedAt:{type:n.DateTime(),isOptional:!0},healthLatencyMs:{type:n.Float_unsecure(),isOptional:!0},healthErrorCode:{type:n.String_unsecure(),isOptional:!0},healthErrorMessage:{type:n.String_unsecure(),isOptional:!0},usageRequestCount:{type:n.Int_unsecure(),isOptional:!0},usageSuccessCount:{type:n.Int_unsecure(),isOptional:!0},usageErrorCount:{type:n.Int_unsecure(),isOptional:!0},usageLastUsedAt:{type:n.DateTime(),isOptional:!0},usageLastErrorAt:{type:n.DateTime(),isOptional:!0},usageLastErrorCode:{type:n.String_unsecure(),isOptional:!0},createdAt:{type:n.DateTime(),isOptional:!0},updatedAt:{type:n.DateTime(),isOptional:!0}}}),a=new r({name:`CreateIntegrationConnectionInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},integrationKey:{type:n.NonEmptyString(),isOptional:!1},integrationVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},ownershipMode:{type:n.String_unsecure(),isOptional:!1},externalAccountId:{type:n.String_unsecure(),isOptional:!0},secretProvider:{type:n.String_unsecure(),isOptional:!1},secretRef:{type:n.String_unsecure(),isOptional:!1},environment:{type:n.String_unsecure(),isOptional:!0},config:{type:n.JSONObject(),isOptional:!1}}}),o=new r({name:`UpdateIntegrationConnectionInput`,fields:{connectionId:{type:n.ID(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!0},status:{type:n.String_unsecure(),isOptional:!0},ownershipMode:{type:n.String_unsecure(),isOptional:!0},externalAccountId:{type:n.String_unsecure(),isOptional:!0},secretProvider:{type:n.String_unsecure(),isOptional:!0},secretRef:{type:n.String_unsecure(),isOptional:!0},config:{type:n.JSONObject(),isOptional:!0}}}),s=new r({name:`DeleteIntegrationConnectionInput`,fields:{connectionId:{type:n.ID(),isOptional:!1}}}),c=new r({name:`ListIntegrationConnectionsInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},category:{type:n.String_unsecure(),isOptional:!0},status:{type:n.String_unsecure(),isOptional:!0}}}),l=new r({name:`ListIntegrationConnectionsOutput`,fields:{connections:{type:i,isOptional:!1,isArray:!0}}}),u=new r({name:`TestIntegrationConnectionInput`,fields:{connectionId:{type:n.ID(),isOptional:!1}}}),d=new r({name:`TestIntegrationConnectionOutput`,fields:{success:{type:n.Boolean(),isOptional:!1},status:{type:n.String_unsecure(),isOptional:!0},latencyMs:{type:n.Float_unsecure(),isOptional:!0},error:{type:n.String_unsecure(),isOptional:!0},errorCode:{type:n.String_unsecure(),isOptional:!0}}}),f=new r({name:`DeleteIntegrationConnectionOutput`,fields:{success:{type:n.Boolean(),isOptional:!1}}}),p=e({meta:{name:`integrations.connection.create`,version:1,description:`Create a new integration connection for a tenant.`,goal:`Provision a tenant-scoped connection to an external provider.`,context:`Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:a,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),m=e({meta:{name:`integrations.connection.update`,version:1,description:`Update metadata or credentials for an integration connection.`,goal:`Allow secure rotation of credentials and metadata adjustments.`,context:`Supports rotating API keys, toggling status, or updating labels for tenant integrations.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:o,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),h=e({meta:{name:`integrations.connection.delete`,version:1,description:`Delete an integration connection for a tenant.`,goal:`Safely remove credentials and disable connector usage.`,context:`Ensures connections are de-provisioned when no longer needed or breached.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:s,output:f},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),g=t({meta:{name:`integrations.connection.list`,version:1,description:`List integration connections for a tenant.`,goal:`Provide visibility into configured integrations and their status.`,context:`Used by the App Studio and Ops flows to show bindings and health.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.integration.read`,version:1}]}}),_=e({meta:{name:`integrations.connection.test`,version:1,description:`Run a health check against a configured integration connection.`,goal:`Validate credentials and connectivity for external providers.`,context:`Triggered manually or by background monitors to confirm provider availability.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),v={CreateIntegrationConnection:p,UpdateIntegrationConnection:m,DeleteIntegrationConnection:h,ListIntegrationConnections:g,TestIntegrationConnection:_};function y(e){return e.register(p).register(m).register(h).register(g).register(_)}export{p as CreateIntegrationConnection,h as DeleteIntegrationConnection,g as ListIntegrationConnections,_ as TestIntegrationConnection,m as UpdateIntegrationConnection,v as integrationContracts,y as registerIntegrationContracts};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{defineCommand as e,defineQuery as t}from"../spec.js";import{ScalarTypeEnum as n,SchemaModel as r}from"@lssm/lib.schema";const i=new r({name:`KnowledgeSyncSchedule`,fields:{enabled:{type:n.Boolean(),isOptional:!1},cron:{type:n.String_unsecure(),isOptional:!0},intervalMs:{type:n.Int_unsecure(),isOptional:!0}}}),a=new r({name:`KnowledgeSourceRecord`,fields:{id:{type:n.ID(),isOptional:!1},tenantId:{type:n.ID(),isOptional:!1},spaceKey:{type:n.NonEmptyString(),isOptional:!1},spaceVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},sourceType:{type:n.String_unsecure(),isOptional:!1},syncSchedule:{type:i,isOptional:!0},lastSyncStatus:{type:n.String_unsecure(),isOptional:!0},lastSyncAt:{type:n.DateTime(),isOptional:!0},itemsProcessed:{type:n.Int_unsecure(),isOptional:!0},createdAt:{type:n.DateTime(),isOptional:!0},updatedAt:{type:n.DateTime(),isOptional:!0}}}),o=new r({name:`CreateKnowledgeSourceInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},spaceKey:{type:n.NonEmptyString(),isOptional:!1},spaceVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},sourceType:{type:n.NonEmptyString(),isOptional:!1},config:{type:n.JSONObject(),isOptional:!1},syncSchedule:{type:i,isOptional:!0}}}),s=new r({name:`UpdateKnowledgeSourceInput`,fields:{sourceId:{type:n.ID(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!0},config:{type:n.JSONObject(),isOptional:!0},syncSchedule:{type:i,isOptional:!0}}}),c=new r({name:`DeleteKnowledgeSourceInput`,fields:{sourceId:{type:n.ID(),isOptional:!1}}}),l=new r({name:`DeleteKnowledgeSourceOutput`,fields:{success:{type:n.Boolean(),isOptional:!1}}}),u=new r({name:`ListKnowledgeSourcesInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},spaceKey:{type:n.NonEmptyString(),isOptional:!0}}}),d=new r({name:`ListKnowledgeSourcesOutput`,fields:{sources:{type:a,isOptional:!1,isArray:!0}}}),f=new r({name:`TriggerKnowledgeSyncInput`,fields:{sourceId:{type:n.ID(),isOptional:!1}}}),p=new r({name:`TriggerKnowledgeSyncOutput`,fields:{success:{type:n.Boolean(),isOptional:!1},itemsProcessed:{type:n.Int_unsecure(),isOptional:!0},error:{type:n.String_unsecure(),isOptional:!0}}}),m=e({meta:{name:`knowledge.source.create`,version:1,description:`Create a knowledge source binding for a tenant.`,goal:`Onboard a new knowledge ingestion source such as Notion or uploads.`,context:`Used by Ops and App Studio to configure knowledge ingestion per tenant and space.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:o,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),h=e({meta:{name:`knowledge.source.update`,version:1,description:`Update metadata or configuration for a knowledge source.`,goal:`Allow rotation of credentials, sync schedules, and labels.`,context:`Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:s,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),g=e({meta:{name:`knowledge.source.delete`,version:1,description:`Delete a knowledge source binding for a tenant.`,goal:`Remove obsolete or compromised knowledge ingestion paths.`,context:`Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),_=t({meta:{name:`knowledge.source.list`,version:1,description:`List knowledge sources configured for a tenant.`,goal:`Provide visibility into knowledge ingest configuration and schedules.`,context:`Used by App Studio and Ops flows to surface knowledge sources and their health.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.knowledge.read`,version:1}]}}),v=e({meta:{name:`knowledge.source.triggerSync`,version:1,description:`Trigger an immediate sync for a knowledge source.`,goal:`Support manual or automated sync retries for knowledge ingestion.`,context:`Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:f,output:p},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),y={CreateKnowledgeSource:m,UpdateKnowledgeSource:h,DeleteKnowledgeSource:g,ListKnowledgeSources:_,TriggerKnowledgeSourceSync:v};function b(e){return e.register(m).register(h).register(g).register(_).register(v)}export{m as CreateKnowledgeSource,g as DeleteKnowledgeSource,_ as ListKnowledgeSources,v as TriggerKnowledgeSourceSync,h as UpdateKnowledgeSource,y as knowledgeContracts,b as registerKnowledgeContracts};
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import{registerDocBlocks as e}from"../../docs/registry.js";import"../../registry.js";const t=[{id:`docs.tech.contracts.openbanking`,title:`Open Banking (Powens) Overview`,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.`,kind:`reference`,visibility:`public`,route:`/docs/tech/contracts/openbanking`,tags:[`tech`,`contracts`,`openbanking`],body:`# Open Banking (Powens) Overview
|
|
2
|
-
|
|
3
|
-
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.
|
|
4
|
-
|
|
5
|
-
## Integration Spec
|
|
6
|
-
|
|
7
|
-
Powens is registered under \`openbanking.powens\` with category \`open-banking\` and currently supports the BYOK ownership mode. The spec exposes three read-only capabilities:
|
|
8
|
-
|
|
9
|
-
- \`openbanking.accounts.read\`
|
|
10
|
-
- \`openbanking.transactions.read\`
|
|
11
|
-
- \`openbanking.balances.read\`
|
|
12
|
-
|
|
13
|
-
Configuration and secrets are separated:
|
|
14
|
-
|
|
15
|
-
| Config Field | Description |
|
|
16
|
-
| --- | --- |
|
|
17
|
-
| \`environment\` | Powens environment (\`sandbox\` \\| \`production\`) |
|
|
18
|
-
| \`baseUrl?\` | Optional API base URL override |
|
|
19
|
-
| \`region?\` | Optional Powens region identifier |
|
|
20
|
-
| \`pollingIntervalMs?\` | Optional custom sync cadence |
|
|
21
|
-
|
|
22
|
-
| Secret Field | Description |
|
|
23
|
-
| --- | --- |
|
|
24
|
-
| \`clientId\` | Powens OAuth client identifier |
|
|
25
|
-
| \`clientSecret\` | Powens OAuth client secret |
|
|
26
|
-
| \`apiKey?\` | Optional supplemental Powens API key |
|
|
27
|
-
| \`webhookSecret?\` | Optional webhook signing secret |
|
|
28
|
-
|
|
29
|
-
## Canonical Data Models
|
|
30
|
-
|
|
31
|
-
Canonical schemas live in \`@lssm/lib.contracts/integrations/openbanking/models\`:
|
|
32
|
-
|
|
33
|
-
- \`BankAccountRecord\` – account metadata (institution, IBAN/BIC, masked numbers, balances, sync timestamps)
|
|
34
|
-
- \`BankTransactionRecord\` – transaction ledger (amounts, categories, counterparty, status)
|
|
35
|
-
- \`AccountBalanceRecord\` – balance snapshots per account and balance type
|
|
36
|
-
|
|
37
|
-
These schemas power the vertical contracts and workflows, ensuring downstream features never use raw Powens payloads directly.
|
|
38
|
-
|
|
39
|
-
## Provider Implementation
|
|
40
|
-
|
|
41
|
-
\`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\`.
|
|
42
|
-
|
|
43
|
-
Factory support lives in \`IntegrationProviderFactory.createOpenBankingProvider\`, which validates configuration, loads BYOK secrets, and instantiates the provider.
|
|
44
|
-
|
|
45
|
-
## Contracts
|
|
46
|
-
|
|
47
|
-
Command/query contracts exist under \`integrations/openbanking/contracts\`:
|
|
48
|
-
|
|
49
|
-
- \`openbanking.accounts.sync\` & \`openbanking.accounts.list\`
|
|
50
|
-
- \`openbanking.transactions.sync\` & \`openbanking.transactions.list\`
|
|
51
|
-
- \`openbanking.balances.refresh\` & \`openbanking.balances.get\`
|
|
52
|
-
|
|
53
|
-
The Pocket Family Office bundle also exposes \`pfo.openbanking.generate-overview\`, which aggregates balances and transactions into a derived knowledge document.
|
|
54
|
-
|
|
55
|
-
## Workflows
|
|
56
|
-
|
|
57
|
-
New workflow specs (all requiring the \`primaryOpenBanking\` slot) orchestrate the sync flows:
|
|
58
|
-
|
|
59
|
-
- \`pfo.workflow.sync-openbanking-accounts\`
|
|
60
|
-
- \`pfo.workflow.sync-openbanking-transactions\`
|
|
61
|
-
- \`pfo.workflow.refresh-openbanking-balances\`
|
|
62
|
-
- \`pfo.workflow.generate-openbanking-overview\`
|
|
63
|
-
|
|
64
|
-
Each workflow runs against the Powens provider, persists canonical records, and emits telemetry.
|
|
65
|
-
|
|
66
|
-
## Knowledge & LLM Exposure
|
|
67
|
-
|
|
68
|
-
Raw 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.
|
|
69
|
-
|
|
70
|
-
When exposing data to LLMs or analytics:
|
|
71
|
-
|
|
72
|
-
- Use derived summaries only.
|
|
73
|
-
- Redact PII fields using \`redactOpenBankingTelemetryPayload\`.
|
|
74
|
-
- Never emit IBANs, unmasked account numbers, or counterparty detail in telemetry/logs.
|
|
75
|
-
|
|
76
|
-
## Telemetry
|
|
77
|
-
|
|
78
|
-
Telemetry constants live in \`integrations/openbanking/telemetry\`. Key events:
|
|
79
|
-
|
|
80
|
-
- \`openbanking.accounts.synced\`
|
|
81
|
-
- \`openbanking.transactions.synced\`
|
|
82
|
-
- \`openbanking.balances.refreshed\`
|
|
83
|
-
- \`openbanking.overview.generated\`
|
|
84
|
-
|
|
85
|
-
All events require tenant/app/blueprint/config metadata, and sensitive properties are flagged to avoid accidental leakage.
|
|
86
|
-
|
|
87
|
-
## Guardrails
|
|
88
|
-
|
|
89
|
-
\`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.
|
|
90
|
-
|
|
91
|
-
## Blueprint & Tenant Defaults
|
|
92
|
-
|
|
93
|
-
\`pocketFamilyOfficeBlueprint\` now includes:
|
|
94
|
-
|
|
95
|
-
- \`primaryOpenBanking\` slot (required, BYOK)
|
|
96
|
-
- \`openbanking.*.read\` capabilities enabled by default
|
|
97
|
-
- Workflow bindings for the new sync flows
|
|
98
|
-
|
|
99
|
-
Sample tenant bindings (\`tenant.sample.ts\`) reference \`conn-powens-primary\` and bind the new knowledge space.
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
Follow this doc when extending open banking support (e.g., adding payment initiation, additional providers, or expanded analytics) to keep the integration consistent and audited.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
`}];e(t);export{t as tech_contracts_openbanking_DocBlocks};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e){return e.content.kind===`web_component`?{meta:{...e.meta},policy:e.policy,source:{type:`component`,framework:e.content.framework,componentKey:e.content.componentKey,props:e.content.props},targets:[`react`,`application/json`,`application/xml`]}:e.content.kind===`markdown`?{meta:{...e.meta},policy:e.policy,source:{type:`blocknotejs`,docJson:e.content.content??e.content.resourceUri??``},targets:[`markdown`,`application/json`,`application/xml`]}:{meta:{...e.meta},policy:e.policy,source:{type:`blocknotejs`,docJson:{kind:`data`,mimeType:e.content.mimeType,model:`schema`}},targets:[`application/json`,`application/xml`]}}export{e as toV2FromV1};
|
package/dist/presentations.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"zod";function t(e){return`${e.meta.name}.v${e.meta.version}`}var n=class{items=new Map;constructor(e){e&&e.forEach(e=>this.register(e))}register(e){let n=t(e);if(this.items.has(n))throw Error(`Duplicate presentation ${n}`);return this.items.set(n,e),this}list(){return[...this.items.values()]}get(e,t){if(t!=null)return this.items.get(`${e}.v${t}`);let n,r=-1/0;for(let[t,i]of this.items.entries())t.startsWith(`${e}.v`)&&i.meta.version>r&&(r=i.meta.version,n=i);return n}};function r(t){let n={meta:{name:t.meta.name,version:t.meta.version,stability:t.meta.stability??`stable`,tags:t.meta.tags??[],description:t.meta.description??``},kind:t.content.kind};return t.content.kind===`web_component`?{...n,framework:t.content.framework,componentKey:t.content.componentKey,props:e.toJSONSchema(t.content.props.getZod())}:t.content.kind===`markdown`?{...n,content:t.content.content,resourceUri:t.content.resourceUri}:{...n,mimeType:t.content.mimeType,model:e.toJSONSchema(t.content.model.getZod())}}export{n as PresentationRegistry,r as jsonSchemaForPresentation};
|
package/dist/presentations.v2.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{schemaToMarkdown as e}from"./schema-to-markdown.js";import t from"react";import n from"turndown";const r=new n;function i(e){let t=e.text??``;return!e.marks||e.marks.length===0?t:e.marks.reduce((e,t)=>{switch(t.type){case`bold`:return`**${e}**`;case`italic`:return`*${e}*`;case`underline`:return`__${e}__`;case`strike`:return`~~${e}~~`;case`code`:return`\`${e}\``;case`link`:{let n=t.attrs?.href??``;return n?`[${e}](${n})`:e}default:return e}},t)}function a(e){return e?.length?e.map(e=>s(e)).join(``):``}function o(e,t=!1){if(!e?.length)return``;let n=1;return e.map(e=>{let r=a(e.content??[]);return r?`${t?`${n++}. `:`- `}${r}`:``}).filter(Boolean).join(`
|
|
2
|
-
`)}function s(e){switch(e.type){case`doc`:return a(e.content);case`paragraph`:{let t=a(e.content);return t.trim().length?t:``}case`heading`:{let t=Math.min(Math.max(e.attrs?.level??1,1),6);return`${`#`.repeat(t)} ${a(e.content)}`.trim()}case`bullet_list`:return o(e.content,!1);case`ordered_list`:return o(e.content,!0);case`list_item`:return a(e.content);case`blockquote`:return a(e.content).split(`
|
|
3
|
-
`).map(e=>`> ${e}`).join(`
|
|
4
|
-
`);case`code_block`:{let t=a(e.content);return t?`\`\`\`\n${t}\n\`\`\``:``}case`horizontal_rule`:return`---`;case`hard_break`:return`
|
|
5
|
-
`;case`text`:return i(e);default:return e.text?i(e):``}}function c(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`html`in e){let t=String(e.html);return r.turndown(t)}let t=e;if(t?.type===`doc`||t?.content)return(t.content??[]).map(e=>s(e)).filter(Boolean).join(`
|
|
6
|
-
|
|
7
|
-
`).trim();try{return JSON.stringify(e,null,2)}catch{return String(e)}}var l=class{renderers=new Map;validators=[];register(e){let t=this.renderers.get(e.target)??[];return t.push(e),this.renderers.set(e.target,t),this}prependRegister(e){let t=this.renderers.get(e.target)??[];return t.unshift(e),this.renderers.set(e.target,t),this}addValidator(e){return this.validators.push(e),this}async render(e,t,n){if(!t.targets.includes(e))throw Error(`Target ${e} not declared for ${t.meta.name}.v${t.meta.version}`);for(let r of this.validators)await r.validate(t,e,n);let r=this.renderers.get(e)??[];for(let e of r)try{return await e.render(t,n)}catch{}throw Error(`No renderer available for ${e}`)}};function u(){let t=new l,n=(e,t)=>{let n=JSON.parse(JSON.stringify(t)),r=e.policy?.pii??[],i=(e,t)=>{let n=t.replace(/^\//,``).replace(/\[(\d+)\]/g,`.$1`).split(`.`).filter(Boolean),r=e;for(let e=0;e<n.length-1;e++){let t=n[e];if(r&&typeof r==`object`&&t in r)r=r[t];else return}let i=n[n.length-1];r&&typeof r==`object`&&i&&i in r&&(r[i]=`[REDACTED]`)};for(let e of r)i(n,e);return n};return t.register({target:`markdown`,async render(t,r){let i=r?.data;if(!i&&r?.fetchData&&(i=await r.fetchData()),t.source.type===`component`&&t.source.props&&i!==void 0){let n=Array.isArray(i),r=!n&&typeof i==`object`&&!!i&&!Object.values(i).some(e=>Array.isArray(e)||typeof e==`object`&&!!e);if(n||r)return{mimeType:`text/markdown`,body:e(t.source.props,i,{title:t.meta.description??t.meta.name,description:`${t.meta.name} v${t.meta.version}`})};throw Error(`Complex data structure for ${t.meta.name} - expecting custom renderer`)}if(t.source.type===`blocknotejs`){let e=n(t,{text:c(t.source.docJson)});return{mimeType:`text/markdown`,body:String(e.text)}}if(t.source.type===`component`&&i!==void 0)throw Error(`No schema (source.props) available for ${t.meta.name} - expecting custom renderer`);if(t.source.type===`component`)return{mimeType:`text/markdown`,body:`${`# ${t.meta.name} v${t.meta.version}`}${t.meta.description?`\n\n${t.meta.description}`:``}${t.meta.tags&&t.meta.tags.length?`\n\nTags: ${t.meta.tags.join(`, `)}`:``}${t.meta.owners&&t.meta.owners.length?`\n\nOwners: ${t.meta.owners.join(`, `)}`:``}${`\n\nComponent: \`${t.source.componentKey}\``}${t.policy?.pii?.length?`\n\nRedacted paths: ${t.policy.pii.map(e=>`\`${e}\``).join(`, `)}`:``}`};throw Error(`unsupported`)}}),t.register({target:`application/json`,async render(e){let t=n(e,{meta:e.meta,source:e.source});return{mimeType:`application/json`,body:JSON.stringify(t,null,2)}}}),t.register({target:`application/xml`,async render(e){let t=n(e,{meta:e.meta,source:e.source});return{mimeType:`application/xml`,body:`<presentation name="${e.meta.name}" version="${e.meta.version}"><json>${encodeURIComponent(JSON.stringify(t))}</json></presentation>`}}}),t}function d(e){return e.register({target:`react`,async render(e){if(e.source.type===`component`){let t=e.source.props&&e.source.props.getZod().safeParse({}).success?{}:void 0;return{kind:`react_component`,componentKey:e.source.componentKey,props:t}}return{kind:`blocknotejs`,docJson:e.source.docJson,blockConfig:e.source.blockConfig}}}),e}function f(e){return e.addValidator({validate(e){if(!e.meta.description||e.meta.description.length<3)throw Error(`Presentation ${e.meta.name}.v${e.meta.version} missing meta.description`)}}),e}function p(e,r){let i=new n({headingStyle:`atx`,codeBlockStyle:`fenced`,bulletListMarker:`-`});return i.addRule(`link`,{filter:`a`,replacement:(e,t)=>{let n=t.href;return n&&e?`[${e}](${n})`:e||``}}),e.prependRegister({target:`markdown`,async render(e,n){if(e.source.type!==`component`)throw Error(`React-to-markdown renderer only handles component presentations`);let{renderToStaticMarkup:a}=await import(`react-dom/server`),o=r[e.source.componentKey];if(!o)throw Error(`Component ${e.source.componentKey} not found in componentMap`);let s;try{s=a(t.createElement(o,e.source.props?{}:void 0))}catch(t){throw Error(`Failed to render component ${e.source.componentKey}: ${t instanceof Error?t.message:`Unknown error`}`)}let c;try{c=i.turndown(s)}catch(e){throw Error(`Failed to convert HTML to markdown: ${e instanceof Error?e.message:`Unknown error`}`)}return e.policy?.pii&&e.policy.pii.length>0?{mimeType:`text/markdown`,body:c.replace(/\[REDACTED\]/g,`[REDACTED]`)}:{mimeType:`text/markdown`,body:c}}}),e}export{l as TransformEngine,u as createDefaultTransformEngine,f as registerBasicValidation,d as registerDefaultReactRenderer,p as registerReactToMarkdownRenderer};
|
package/dist/spec.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=e=>`ref`in e,t=e=>({...e,meta:{...e.meta,kind:`command`},policy:{...e.policy,idempotent:e.policy?.policy?.idempotent??!1}}),n=e=>({...e,meta:{...e.meta,kind:`query`},policy:{...e.policy,idempotent:!0}});export{t as defineCommand,n as defineQuery,e as isEmitDeclRef};
|
|
File without changes
|