@lssm/lib.contracts 0.0.0-canary-20251219202229 → 0.0.0-canary-20251220002821
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/app-config/app-config.feature.d.ts +1 -2
- package/dist/app-config/app-config.feature.js +1 -2
- package/dist/app-config/branding.d.ts +1 -2
- package/dist/app-config/contracts.d.ts +51 -52
- package/dist/app-config/contracts.js +1 -2
- package/dist/app-config/docs/app-config.docblock.d.ts +1 -2
- package/dist/app-config/docs/app-config.docblock.js +1 -2
- package/dist/app-config/events.d.ts +28 -29
- package/dist/app-config/events.js +1 -2
- package/dist/app-config/lifecycle-contracts.d.ts +81 -82
- package/dist/app-config/lifecycle-contracts.js +1 -2
- package/dist/app-config/lifecycle.d.ts +1 -2
- package/dist/app-config/runtime.d.ts +1 -2
- package/dist/app-config/runtime.js +1 -2
- package/dist/app-config/spec.d.ts +1 -2
- package/dist/app-config/spec.js +1 -2
- package/dist/app-config/validation.d.ts +1 -2
- package/dist/app-config/validation.js +1 -2
- package/dist/capabilities/docs/capabilities.docblock.d.ts +1 -2
- package/dist/capabilities/docs/capabilities.docblock.js +1 -2
- package/dist/capabilities/openbanking.d.ts +1 -2
- package/dist/capabilities/openbanking.js +1 -2
- package/dist/capabilities.d.ts +1 -2
- package/dist/capabilities.js +1 -2
- package/dist/client/react/drivers/rn-reusables.d.ts +1 -2
- package/dist/client/react/drivers/rn-reusables.js +1 -2
- package/dist/client/react/drivers/shadcn.d.ts +1 -2
- package/dist/client/react/drivers/shadcn.js +1 -2
- package/dist/client/react/feature-render.d.ts +1 -2
- package/dist/client/react/feature-render.js +1 -2
- package/dist/client/react/form-render.d.ts +1 -2
- package/dist/client/react/form-render.js +1 -2
- package/dist/contract-registry/schemas.d.ts +1 -2
- package/dist/contract-registry/schemas.js +1 -2
- package/dist/contract-registry/types.d.ts +1 -2
- package/dist/contracts-adapter-hydration.d.ts +1 -2
- package/dist/contracts-adapter-hydration.js +3 -4
- package/dist/contracts-adapter-input.d.ts +1 -2
- package/dist/contracts-adapter-input.js +1 -2
- package/dist/data-views/docs/data-views.docblock.d.ts +1 -2
- package/dist/data-views/docs/data-views.docblock.js +1 -2
- package/dist/data-views/query-generator.d.ts +3 -4
- package/dist/data-views/query-generator.js +2 -3
- package/dist/data-views/runtime.d.ts +3 -4
- package/dist/data-views/runtime.js +3 -4
- package/dist/data-views.d.ts +1 -2
- package/dist/data-views.js +1 -2
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +1 -2
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +1 -2
- package/dist/docs/meta.docs.d.ts +1 -2
- package/dist/docs/meta.docs.js +1 -2
- package/dist/docs/presentations.d.ts +1 -2
- package/dist/docs/presentations.js +1 -2
- package/dist/docs/registry.d.ts +1 -2
- package/dist/docs/registry.js +1 -2
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +1 -2
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +1 -2
- package/dist/docs/tech/contracts/README.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/README.docblock.js +1 -2
- package/dist/docs/tech/contracts/create-subscription.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/create-subscription.docblock.js +1 -2
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +1 -2
- package/dist/docs/tech/contracts/migrations.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/migrations.docblock.js +1 -2
- package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/openapi-export.docblock.js +1 -2
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +1 -2
- package/dist/docs/tech/contracts/overlays.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/overlays.docblock.js +1 -2
- package/dist/docs/tech/contracts/tests.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/tests.docblock.js +1 -2
- package/dist/docs/tech/contracts/themes.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/themes.docblock.js +1 -2
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +1 -2
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +1 -2
- package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +1 -2
- package/dist/docs/tech/lifecycle-stage-system.docblock.js +1 -2
- package/dist/docs/tech/llm/llm-integration.docblock.d.ts +1 -2
- package/dist/docs/tech/llm/llm-integration.docblock.js +1 -2
- package/dist/docs/tech/mcp-endpoints.docblock.d.ts +1 -2
- package/dist/docs/tech/mcp-endpoints.docblock.js +1 -2
- package/dist/docs/tech/presentation-runtime.docblock.d.ts +1 -2
- package/dist/docs/tech/presentation-runtime.docblock.js +1 -2
- package/dist/docs/tech/schema/README.docblock.d.ts +1 -2
- package/dist/docs/tech/schema/README.docblock.js +1 -2
- package/dist/docs/tech/studio/learning-events.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/learning-events.docblock.js +1 -2
- package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/learning-journeys.docblock.js +1 -2
- package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/platform-admin-panel.docblock.js +1 -2
- package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/project-access-teams.docblock.js +1 -2
- package/dist/docs/tech/studio/project-routing.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/project-routing.docblock.js +1 -2
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +1 -2
- package/dist/docs/tech/studio/team-invitations.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/team-invitations.docblock.js +1 -2
- package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/workspace-ops.docblock.js +1 -2
- package/dist/docs/tech/studio/workspaces.docblock.d.ts +1 -2
- package/dist/docs/tech/studio/workspaces.docblock.js +1 -2
- package/dist/docs/tech/telemetry-ingest.docblock.d.ts +1 -2
- package/dist/docs/tech/telemetry-ingest.docblock.js +1 -2
- package/dist/docs/tech/templates/runtime.docblock.d.ts +1 -2
- package/dist/docs/tech/templates/runtime.docblock.js +1 -2
- package/dist/docs/tech/vscode-extension.docblock.d.ts +1 -2
- package/dist/docs/tech/vscode-extension.docblock.js +1 -2
- package/dist/docs/tech/workflows/overview.docblock.d.ts +1 -2
- package/dist/docs/tech/workflows/overview.docblock.js +1 -2
- package/dist/docs/tech-contracts.docs.d.ts +1 -2
- package/dist/docs/tech-contracts.docs.js +1 -2
- package/dist/docs/types.d.ts +1 -2
- package/dist/events.d.ts +1 -2
- package/dist/events.js +1 -2
- package/dist/experiments/docs/experiments.docblock.d.ts +1 -2
- package/dist/experiments/docs/experiments.docblock.js +1 -2
- package/dist/experiments/evaluator.d.ts +1 -2
- package/dist/experiments/evaluator.js +1 -2
- package/dist/experiments/spec-resolver.d.ts +1 -2
- package/dist/experiments/spec.d.ts +1 -2
- package/dist/experiments/spec.js +1 -2
- package/dist/features.d.ts +1 -2
- package/dist/features.js +1 -2
- package/dist/forms/docs/forms.docblock.d.ts +1 -2
- package/dist/forms/docs/forms.docblock.js +1 -2
- package/dist/forms.d.ts +5 -6
- package/dist/forms.js +4 -4
- package/dist/install.d.ts +1 -2
- package/dist/install.js +1 -2
- package/dist/integrations/binding.d.ts +1 -2
- package/dist/integrations/connection.d.ts +1 -2
- package/dist/integrations/contracts.d.ts +106 -106
- package/dist/integrations/contracts.js +1 -2
- package/dist/integrations/docs/integrations.docblock.d.ts +1 -2
- package/dist/integrations/docs/integrations.docblock.js +1 -2
- package/dist/integrations/health.d.ts +1 -2
- package/dist/integrations/health.js +1 -2
- package/dist/integrations/openbanking/contracts/accounts.d.ts +70 -70
- package/dist/integrations/openbanking/contracts/accounts.js +1 -2
- package/dist/integrations/openbanking/contracts/balances.d.ts +38 -38
- package/dist/integrations/openbanking/contracts/balances.js +1 -2
- package/dist/integrations/openbanking/contracts/index.d.ts +1 -2
- package/dist/integrations/openbanking/contracts/index.js +1 -2
- package/dist/integrations/openbanking/contracts/transactions.d.ts +52 -52
- package/dist/integrations/openbanking/contracts/transactions.js +1 -2
- package/dist/integrations/openbanking/guards.d.ts +1 -2
- package/dist/integrations/openbanking/guards.js +2 -2
- package/dist/integrations/openbanking/models.d.ts +56 -57
- package/dist/integrations/openbanking/models.js +1 -2
- package/dist/integrations/openbanking/openbanking.feature.d.ts +1 -2
- package/dist/integrations/openbanking/openbanking.feature.js +1 -2
- package/dist/integrations/openbanking/telemetry.d.ts +1 -2
- package/dist/integrations/openbanking/telemetry.js +1 -2
- package/dist/integrations/providers/calendar.d.ts +1 -2
- package/dist/integrations/providers/elevenlabs.d.ts +1 -2
- package/dist/integrations/providers/elevenlabs.js +1 -2
- package/dist/integrations/providers/email.d.ts +1 -2
- package/dist/integrations/providers/embedding.d.ts +1 -2
- package/dist/integrations/providers/gcs-storage.d.ts +1 -2
- package/dist/integrations/providers/gcs-storage.js +1 -2
- package/dist/integrations/providers/gmail.d.ts +1 -2
- package/dist/integrations/providers/gmail.js +1 -2
- package/dist/integrations/providers/google-calendar.d.ts +1 -2
- package/dist/integrations/providers/google-calendar.js +1 -2
- package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +1 -2
- package/dist/integrations/providers/impls/elevenlabs-voice.js +1 -2
- package/dist/integrations/providers/impls/gcs-storage.d.ts +1 -2
- package/dist/integrations/providers/impls/gcs-storage.js +1 -2
- package/dist/integrations/providers/impls/gmail-inbound.d.ts +1 -2
- package/dist/integrations/providers/impls/gmail-inbound.js +2 -3
- package/dist/integrations/providers/impls/gmail-outbound.d.ts +1 -2
- package/dist/integrations/providers/impls/gmail-outbound.js +5 -6
- package/dist/integrations/providers/impls/google-calendar.d.ts +1 -2
- package/dist/integrations/providers/impls/google-calendar.js +1 -2
- package/dist/integrations/providers/impls/mistral-embedding.d.ts +1 -2
- package/dist/integrations/providers/impls/mistral-embedding.js +1 -2
- package/dist/integrations/providers/impls/mistral-llm.d.ts +2 -3
- package/dist/integrations/providers/impls/mistral-llm.js +2 -3
- package/dist/integrations/providers/impls/postmark-email.d.ts +1 -2
- package/dist/integrations/providers/impls/postmark-email.js +1 -2
- package/dist/integrations/providers/impls/powens-client.d.ts +1 -2
- package/dist/integrations/providers/impls/powens-client.js +1 -2
- package/dist/integrations/providers/impls/powens-openbanking.d.ts +2 -3
- package/dist/integrations/providers/impls/powens-openbanking.js +1 -2
- package/dist/integrations/providers/impls/provider-factory.d.ts +1 -2
- package/dist/integrations/providers/impls/provider-factory.js +5 -3
- package/dist/integrations/providers/impls/qdrant-vector.d.ts +1 -2
- package/dist/integrations/providers/impls/qdrant-vector.js +3 -4
- package/dist/integrations/providers/impls/stripe-payments.d.ts +1 -2
- package/dist/integrations/providers/impls/stripe-payments.js +1 -2
- package/dist/integrations/providers/impls/twilio-sms.d.ts +1 -2
- package/dist/integrations/providers/impls/twilio-sms.js +1 -2
- package/dist/integrations/providers/llm.d.ts +1 -2
- package/dist/integrations/providers/mistral.d.ts +1 -2
- package/dist/integrations/providers/mistral.js +1 -2
- package/dist/integrations/providers/openbanking.d.ts +1 -2
- package/dist/integrations/providers/payments.d.ts +1 -2
- package/dist/integrations/providers/postmark.d.ts +1 -2
- package/dist/integrations/providers/postmark.js +1 -2
- package/dist/integrations/providers/powens.d.ts +1 -2
- package/dist/integrations/providers/powens.js +1 -2
- package/dist/integrations/providers/qdrant.d.ts +1 -2
- package/dist/integrations/providers/qdrant.js +1 -2
- package/dist/integrations/providers/registry.d.ts +1 -2
- package/dist/integrations/providers/registry.js +1 -2
- package/dist/integrations/providers/sms.d.ts +1 -2
- package/dist/integrations/providers/storage.d.ts +1 -2
- package/dist/integrations/providers/stripe.d.ts +1 -2
- package/dist/integrations/providers/stripe.js +1 -2
- package/dist/integrations/providers/twilio-sms.d.ts +1 -2
- package/dist/integrations/providers/twilio-sms.js +1 -2
- package/dist/integrations/providers/vector-store.d.ts +1 -2
- package/dist/integrations/providers/voice.d.ts +1 -2
- package/dist/integrations/runtime.d.ts +2 -3
- package/dist/integrations/runtime.js +2 -3
- package/dist/integrations/secrets/aws-secret-manager.d.ts +1 -2
- package/dist/integrations/secrets/aws-secret-manager.js +1 -2
- package/dist/integrations/secrets/env-secret-provider.d.ts +1 -2
- package/dist/integrations/secrets/env-secret-provider.js +1 -2
- package/dist/integrations/secrets/gcp-secret-manager.d.ts +1 -2
- package/dist/integrations/secrets/gcp-secret-manager.js +1 -2
- package/dist/integrations/secrets/manager.d.ts +1 -2
- package/dist/integrations/secrets/manager.js +2 -3
- package/dist/integrations/secrets/provider.d.ts +1 -2
- package/dist/integrations/secrets/provider.js +1 -2
- package/dist/integrations/secrets/scaleway-secret-manager.d.ts +1 -2
- package/dist/integrations/secrets/scaleway-secret-manager.js +1 -2
- package/dist/integrations/spec.d.ts +1 -2
- package/dist/integrations/spec.js +1 -2
- package/dist/jobs/define-job.d.ts +1 -2
- package/dist/jobs/define-job.js +1 -2
- package/dist/jobs/gcp-cloud-tasks.d.ts +1 -2
- package/dist/jobs/gcp-cloud-tasks.js +1 -2
- package/dist/jobs/gcp-pubsub.d.ts +1 -2
- package/dist/jobs/gcp-pubsub.js +1 -2
- package/dist/jobs/handlers/gmail-sync-handler.d.ts +2 -3
- package/dist/jobs/handlers/gmail-sync-handler.js +1 -2
- package/dist/jobs/handlers/index.d.ts +1 -2
- package/dist/jobs/handlers/index.js +1 -2
- package/dist/jobs/handlers/ping-handler.d.ts +1 -2
- package/dist/jobs/handlers/ping-handler.js +1 -2
- package/dist/jobs/handlers/storage-document-handler.d.ts +1 -2
- package/dist/jobs/handlers/storage-document-handler.js +1 -2
- package/dist/jobs/memory-queue.d.ts +1 -2
- package/dist/jobs/memory-queue.js +1 -2
- package/dist/jobs/queue.d.ts +1 -2
- package/dist/jobs/queue.js +1 -2
- package/dist/jobs/scaleway-sqs-queue.d.ts +1 -2
- package/dist/jobs/scaleway-sqs-queue.js +1 -2
- package/dist/jsonschema.d.ts +4 -5
- package/dist/jsonschema.js +1 -2
- package/dist/knowledge/binding.d.ts +1 -2
- package/dist/knowledge/contracts.d.ts +70 -70
- package/dist/knowledge/contracts.js +1 -2
- package/dist/knowledge/docs/knowledge.docblock.d.ts +1 -2
- package/dist/knowledge/docs/knowledge.docblock.js +1 -2
- package/dist/knowledge/ingestion/document-processor.d.ts +1 -2
- package/dist/knowledge/ingestion/document-processor.js +1 -2
- package/dist/knowledge/ingestion/embedding-service.d.ts +1 -2
- package/dist/knowledge/ingestion/embedding-service.js +1 -2
- package/dist/knowledge/ingestion/gmail-adapter.d.ts +1 -2
- package/dist/knowledge/ingestion/gmail-adapter.js +1 -2
- package/dist/knowledge/ingestion/storage-adapter.d.ts +1 -2
- package/dist/knowledge/ingestion/storage-adapter.js +1 -2
- package/dist/knowledge/ingestion/vector-indexer.d.ts +1 -2
- package/dist/knowledge/ingestion/vector-indexer.js +1 -2
- package/dist/knowledge/query/service.d.ts +1 -2
- package/dist/knowledge/query/service.js +1 -2
- package/dist/knowledge/runtime.d.ts +1 -2
- package/dist/knowledge/runtime.js +1 -2
- package/dist/knowledge/source.d.ts +1 -2
- package/dist/knowledge/spaces/email-threads.d.ts +1 -2
- package/dist/knowledge/spaces/email-threads.js +1 -2
- package/dist/knowledge/spaces/financial-docs.d.ts +1 -2
- package/dist/knowledge/spaces/financial-docs.js +1 -2
- package/dist/knowledge/spaces/financial-overview.d.ts +1 -2
- package/dist/knowledge/spaces/financial-overview.js +1 -2
- package/dist/knowledge/spaces/product-canon.d.ts +1 -2
- package/dist/knowledge/spaces/product-canon.js +1 -2
- package/dist/knowledge/spaces/support-faq.d.ts +1 -2
- package/dist/knowledge/spaces/support-faq.js +1 -2
- package/dist/knowledge/spaces/uploaded-docs.d.ts +1 -2
- package/dist/knowledge/spaces/uploaded-docs.js +1 -2
- package/dist/knowledge/spec.d.ts +1 -2
- package/dist/knowledge/spec.js +1 -2
- package/dist/llm/exporters.d.ts +1 -2
- package/dist/llm/exporters.js +1 -2
- package/dist/llm/prompts.d.ts +1 -2
- package/dist/llm/prompts.js +1 -2
- package/dist/llm/types.d.ts +1 -2
- package/dist/markdown.d.ts +2 -3
- package/dist/markdown.js +2 -3
- package/dist/migrations.d.ts +1 -2
- package/dist/migrations.js +1 -2
- package/dist/onboarding-base.d.ts +30 -31
- package/dist/onboarding-base.js +1 -2
- package/dist/openapi.d.ts +1 -2
- package/dist/openapi.js +1 -2
- package/dist/openbanking/docs/openbanking.docblock.d.ts +1 -2
- package/dist/openbanking/docs/openbanking.docblock.js +1 -2
- package/dist/ownership.d.ts +1 -2
- package/dist/ownership.js +1 -2
- package/dist/policy/docs/policy.docblock.d.ts +1 -2
- package/dist/policy/docs/policy.docblock.js +1 -2
- package/dist/policy/engine.d.ts +1 -2
- package/dist/policy/engine.js +1 -2
- package/dist/policy/opa-adapter.d.ts +1 -2
- package/dist/policy/opa-adapter.js +1 -2
- package/dist/policy/spec.d.ts +1 -2
- package/dist/policy/spec.js +1 -2
- package/dist/presentations/docs/presentations-conventions.docblock.d.ts +1 -2
- package/dist/presentations/docs/presentations-conventions.docblock.js +1 -2
- package/dist/presentations.backcompat.d.ts +1 -2
- package/dist/presentations.backcompat.js +1 -2
- package/dist/presentations.d.ts +4 -5
- package/dist/presentations.js +1 -2
- package/dist/presentations.v2.d.ts +1 -2
- package/dist/presentations.v2.js +6 -4
- package/dist/prompt.d.ts +1 -2
- package/dist/prompt.js +1 -2
- package/dist/promptRegistry.d.ts +3 -4
- package/dist/promptRegistry.js +1 -2
- package/dist/regenerator/adapters.d.ts +1 -2
- package/dist/regenerator/docs/regenerator.docblock.d.ts +1 -2
- package/dist/regenerator/docs/regenerator.docblock.js +1 -2
- package/dist/regenerator/executor.d.ts +1 -2
- package/dist/regenerator/executor.js +1 -2
- package/dist/regenerator/service.d.ts +1 -2
- package/dist/regenerator/service.js +1 -2
- package/dist/regenerator/sinks.d.ts +1 -2
- package/dist/regenerator/sinks.js +1 -2
- package/dist/regenerator/types.d.ts +1 -2
- package/dist/regenerator/utils.d.ts +1 -2
- package/dist/regenerator/utils.js +1 -2
- package/dist/registry.d.ts +2 -3
- package/dist/registry.js +2 -2
- package/dist/resources.d.ts +1 -2
- package/dist/resources.js +5 -3
- package/dist/schema/dist/index.js +1 -2
- package/dist/schema-to-markdown.d.ts +2 -3
- package/dist/schema-to-markdown.js +2 -3
- package/dist/server/graphql-pothos.d.ts +1 -2
- package/dist/server/graphql-pothos.js +1 -3
- package/dist/server/mcp/createMcpServer.d.ts +1 -2
- package/dist/server/mcp/createMcpServer.js +1 -2
- package/dist/server/mcp/mcpTypes.d.ts +1 -2
- package/dist/server/mcp/registerPresentations.d.ts +1 -2
- package/dist/server/mcp/registerPresentations.js +1 -2
- package/dist/server/mcp/registerPrompts.d.ts +1 -2
- package/dist/server/mcp/registerPrompts.js +1 -2
- package/dist/server/mcp/registerResources.d.ts +1 -2
- package/dist/server/mcp/registerResources.js +1 -2
- package/dist/server/mcp/registerTools.d.ts +1 -2
- package/dist/server/mcp/registerTools.js +1 -2
- package/dist/server/rest-elysia.d.ts +2 -3
- package/dist/server/rest-elysia.js +1 -2
- package/dist/server/rest-express.d.ts +1 -2
- package/dist/server/rest-express.js +1 -5
- package/dist/server/rest-generic.d.ts +2 -3
- package/dist/server/rest-generic.js +1 -3
- package/dist/server/rest-next-app.d.ts +1 -2
- package/dist/server/rest-next-app.js +1 -2
- package/dist/server/rest-next-mcp.d.ts +1 -2
- package/dist/server/rest-next-mcp.js +2 -3
- package/dist/server/rest-next-pages.d.ts +1 -2
- package/dist/server/rest-next-pages.js +1 -5
- package/dist/spec.d.ts +1 -2
- package/dist/spec.js +1 -2
- package/dist/telemetry/anomaly.d.ts +1 -2
- package/dist/telemetry/anomaly.js +1 -2
- package/dist/telemetry/docs/telemetry.docblock.d.ts +1 -2
- package/dist/telemetry/docs/telemetry.docblock.js +1 -2
- package/dist/telemetry/spec.d.ts +1 -2
- package/dist/telemetry/spec.js +1 -2
- package/dist/telemetry/tracker.d.ts +1 -2
- package/dist/telemetry/tracker.js +1 -2
- package/dist/tests/runner.d.ts +1 -2
- package/dist/tests/runner.js +1 -2
- package/dist/tests/spec.d.ts +1 -2
- package/dist/tests/spec.js +1 -2
- package/dist/themes.d.ts +1 -2
- package/dist/themes.js +1 -2
- package/dist/translations/catalog.d.ts +1 -2
- package/dist/translations/tenant.d.ts +1 -2
- package/dist/types.d.ts +1 -2
- package/dist/workflow/adapters/db-adapter.d.ts +1 -2
- package/dist/workflow/adapters/db-adapter.js +1 -2
- package/dist/workflow/adapters/file-adapter.d.ts +1 -2
- package/dist/workflow/adapters/file-adapter.js +1 -2
- package/dist/workflow/adapters/memory-store.d.ts +1 -2
- package/dist/workflow/adapters/memory-store.js +1 -2
- package/dist/workflow/expression.d.ts +1 -2
- package/dist/workflow/expression.js +4 -4
- package/dist/workflow/runner.d.ts +1 -2
- package/dist/workflow/runner.js +1 -2
- package/dist/workflow/sla-monitor.d.ts +1 -2
- package/dist/workflow/sla-monitor.js +1 -2
- package/dist/workflow/spec.d.ts +1 -2
- package/dist/workflow/spec.js +1 -2
- package/dist/workflow/state.d.ts +1 -2
- package/dist/workflow/validation.d.ts +1 -2
- package/dist/workflow/validation.js +2 -2
- package/package.json +14 -8
- package/dist/app-config/app-config.feature.d.ts.map +0 -1
- package/dist/app-config/app-config.feature.js.map +0 -1
- package/dist/app-config/branding.d.ts.map +0 -1
- package/dist/app-config/contracts.d.ts.map +0 -1
- package/dist/app-config/contracts.js.map +0 -1
- package/dist/app-config/docs/app-config.docblock.d.ts.map +0 -1
- package/dist/app-config/docs/app-config.docblock.js.map +0 -1
- package/dist/app-config/events.d.ts.map +0 -1
- package/dist/app-config/events.js.map +0 -1
- package/dist/app-config/lifecycle-contracts.d.ts.map +0 -1
- package/dist/app-config/lifecycle-contracts.js.map +0 -1
- package/dist/app-config/lifecycle.d.ts.map +0 -1
- package/dist/app-config/runtime.d.ts.map +0 -1
- package/dist/app-config/runtime.js.map +0 -1
- package/dist/app-config/spec.d.ts.map +0 -1
- package/dist/app-config/spec.js.map +0 -1
- package/dist/app-config/validation.d.ts.map +0 -1
- package/dist/app-config/validation.js.map +0 -1
- package/dist/capabilities/docs/capabilities.docblock.d.ts.map +0 -1
- package/dist/capabilities/docs/capabilities.docblock.js.map +0 -1
- package/dist/capabilities/openbanking.d.ts.map +0 -1
- package/dist/capabilities/openbanking.js.map +0 -1
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js.map +0 -1
- package/dist/client/react/drivers/rn-reusables.d.ts.map +0 -1
- package/dist/client/react/drivers/rn-reusables.js.map +0 -1
- package/dist/client/react/drivers/shadcn.d.ts.map +0 -1
- package/dist/client/react/drivers/shadcn.js.map +0 -1
- package/dist/client/react/feature-render.d.ts.map +0 -1
- package/dist/client/react/feature-render.js.map +0 -1
- package/dist/client/react/form-render.d.ts.map +0 -1
- package/dist/client/react/form-render.js.map +0 -1
- package/dist/contract-registry/schemas.d.ts.map +0 -1
- package/dist/contract-registry/schemas.js.map +0 -1
- package/dist/contract-registry/types.d.ts.map +0 -1
- package/dist/contracts-adapter-hydration.d.ts.map +0 -1
- package/dist/contracts-adapter-hydration.js.map +0 -1
- package/dist/contracts-adapter-input.d.ts.map +0 -1
- package/dist/contracts-adapter-input.js.map +0 -1
- package/dist/data-views/docs/data-views.docblock.d.ts.map +0 -1
- package/dist/data-views/docs/data-views.docblock.js.map +0 -1
- package/dist/data-views/query-generator.d.ts.map +0 -1
- package/dist/data-views/query-generator.js.map +0 -1
- package/dist/data-views/runtime.d.ts.map +0 -1
- package/dist/data-views/runtime.js.map +0 -1
- package/dist/data-views.d.ts.map +0 -1
- package/dist/data-views.js.map +0 -1
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts.map +0 -1
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +0 -1
- package/dist/docs/meta.docs.d.ts.map +0 -1
- package/dist/docs/meta.docs.js.map +0 -1
- package/dist/docs/presentations.d.ts.map +0 -1
- package/dist/docs/presentations.js.map +0 -1
- package/dist/docs/registry.d.ts.map +0 -1
- package/dist/docs/registry.js.map +0 -1
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts.map +0 -1
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/README.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/README.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/create-subscription.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/create-subscription.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/migrations.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/migrations.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/openapi-export.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/openapi-export.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/overlays.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/overlays.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/tests.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/tests.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/themes.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/themes.docblock.js.map +0 -1
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts.map +0 -1
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js.map +0 -1
- package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts.map +0 -1
- package/dist/docs/tech/lifecycle-stage-system.docblock.js.map +0 -1
- package/dist/docs/tech/llm/llm-integration.docblock.d.ts.map +0 -1
- package/dist/docs/tech/llm/llm-integration.docblock.js.map +0 -1
- package/dist/docs/tech/mcp-endpoints.docblock.d.ts.map +0 -1
- package/dist/docs/tech/mcp-endpoints.docblock.js.map +0 -1
- package/dist/docs/tech/presentation-runtime.docblock.d.ts.map +0 -1
- package/dist/docs/tech/presentation-runtime.docblock.js.map +0 -1
- package/dist/docs/tech/schema/README.docblock.d.ts.map +0 -1
- package/dist/docs/tech/schema/README.docblock.js.map +0 -1
- package/dist/docs/tech/studio/learning-events.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/learning-events.docblock.js.map +0 -1
- package/dist/docs/tech/studio/learning-journeys.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/learning-journeys.docblock.js.map +0 -1
- package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +0 -1
- package/dist/docs/tech/studio/project-access-teams.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/project-access-teams.docblock.js.map +0 -1
- package/dist/docs/tech/studio/project-routing.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/project-routing.docblock.js.map +0 -1
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +0 -1
- package/dist/docs/tech/studio/team-invitations.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/team-invitations.docblock.js.map +0 -1
- package/dist/docs/tech/studio/workspace-ops.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/workspace-ops.docblock.js.map +0 -1
- package/dist/docs/tech/studio/workspaces.docblock.d.ts.map +0 -1
- package/dist/docs/tech/studio/workspaces.docblock.js.map +0 -1
- package/dist/docs/tech/telemetry-ingest.docblock.d.ts.map +0 -1
- package/dist/docs/tech/telemetry-ingest.docblock.js.map +0 -1
- package/dist/docs/tech/templates/runtime.docblock.d.ts.map +0 -1
- package/dist/docs/tech/templates/runtime.docblock.js.map +0 -1
- package/dist/docs/tech/vscode-extension.docblock.d.ts.map +0 -1
- package/dist/docs/tech/vscode-extension.docblock.js.map +0 -1
- package/dist/docs/tech/workflows/overview.docblock.d.ts.map +0 -1
- package/dist/docs/tech/workflows/overview.docblock.js.map +0 -1
- package/dist/docs/tech-contracts.docs.d.ts.map +0 -1
- package/dist/docs/tech-contracts.docs.js.map +0 -1
- package/dist/docs/types.d.ts.map +0 -1
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/experiments/docs/experiments.docblock.d.ts.map +0 -1
- package/dist/experiments/docs/experiments.docblock.js.map +0 -1
- package/dist/experiments/evaluator.d.ts.map +0 -1
- package/dist/experiments/evaluator.js.map +0 -1
- package/dist/experiments/spec-resolver.d.ts.map +0 -1
- package/dist/experiments/spec.d.ts.map +0 -1
- package/dist/experiments/spec.js.map +0 -1
- package/dist/features.d.ts.map +0 -1
- package/dist/features.js.map +0 -1
- package/dist/forms/docs/forms.docblock.d.ts.map +0 -1
- package/dist/forms/docs/forms.docblock.js.map +0 -1
- package/dist/forms.d.ts.map +0 -1
- package/dist/forms.js.map +0 -1
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js.map +0 -1
- package/dist/integrations/binding.d.ts.map +0 -1
- package/dist/integrations/connection.d.ts.map +0 -1
- package/dist/integrations/contracts.d.ts.map +0 -1
- package/dist/integrations/contracts.js.map +0 -1
- package/dist/integrations/docs/integrations.docblock.d.ts.map +0 -1
- package/dist/integrations/docs/integrations.docblock.js.map +0 -1
- package/dist/integrations/health.d.ts.map +0 -1
- package/dist/integrations/health.js.map +0 -1
- package/dist/integrations/openbanking/contracts/accounts.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
- package/dist/integrations/openbanking/contracts/balances.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/balances.js.map +0 -1
- package/dist/integrations/openbanking/contracts/index.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/index.js.map +0 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
- package/dist/integrations/openbanking/guards.d.ts.map +0 -1
- package/dist/integrations/openbanking/guards.js.map +0 -1
- package/dist/integrations/openbanking/models.d.ts.map +0 -1
- package/dist/integrations/openbanking/models.js.map +0 -1
- package/dist/integrations/openbanking/openbanking.feature.d.ts.map +0 -1
- package/dist/integrations/openbanking/openbanking.feature.js.map +0 -1
- package/dist/integrations/openbanking/telemetry.d.ts.map +0 -1
- package/dist/integrations/openbanking/telemetry.js.map +0 -1
- package/dist/integrations/providers/calendar.d.ts.map +0 -1
- package/dist/integrations/providers/elevenlabs.d.ts.map +0 -1
- package/dist/integrations/providers/elevenlabs.js.map +0 -1
- package/dist/integrations/providers/email.d.ts.map +0 -1
- package/dist/integrations/providers/embedding.d.ts.map +0 -1
- package/dist/integrations/providers/gcs-storage.d.ts.map +0 -1
- package/dist/integrations/providers/gcs-storage.js.map +0 -1
- package/dist/integrations/providers/gmail.d.ts.map +0 -1
- package/dist/integrations/providers/gmail.js.map +0 -1
- package/dist/integrations/providers/google-calendar.d.ts.map +0 -1
- package/dist/integrations/providers/google-calendar.js.map +0 -1
- package/dist/integrations/providers/impls/elevenlabs-voice.d.ts.map +0 -1
- package/dist/integrations/providers/impls/elevenlabs-voice.js.map +0 -1
- package/dist/integrations/providers/impls/gcs-storage.d.ts.map +0 -1
- package/dist/integrations/providers/impls/gcs-storage.js.map +0 -1
- package/dist/integrations/providers/impls/gmail-inbound.d.ts.map +0 -1
- package/dist/integrations/providers/impls/gmail-inbound.js.map +0 -1
- package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +0 -1
- package/dist/integrations/providers/impls/gmail-outbound.js.map +0 -1
- package/dist/integrations/providers/impls/google-calendar.d.ts.map +0 -1
- package/dist/integrations/providers/impls/google-calendar.js.map +0 -1
- package/dist/integrations/providers/impls/mistral-embedding.d.ts.map +0 -1
- package/dist/integrations/providers/impls/mistral-embedding.js.map +0 -1
- package/dist/integrations/providers/impls/mistral-llm.d.ts.map +0 -1
- package/dist/integrations/providers/impls/mistral-llm.js.map +0 -1
- package/dist/integrations/providers/impls/postmark-email.d.ts.map +0 -1
- package/dist/integrations/providers/impls/postmark-email.js.map +0 -1
- package/dist/integrations/providers/impls/powens-client.d.ts.map +0 -1
- package/dist/integrations/providers/impls/powens-client.js.map +0 -1
- package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +0 -1
- package/dist/integrations/providers/impls/powens-openbanking.js.map +0 -1
- package/dist/integrations/providers/impls/provider-factory.d.ts.map +0 -1
- package/dist/integrations/providers/impls/provider-factory.js.map +0 -1
- package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +0 -1
- package/dist/integrations/providers/impls/qdrant-vector.js.map +0 -1
- package/dist/integrations/providers/impls/stripe-payments.d.ts.map +0 -1
- package/dist/integrations/providers/impls/stripe-payments.js.map +0 -1
- package/dist/integrations/providers/impls/twilio-sms.d.ts.map +0 -1
- package/dist/integrations/providers/impls/twilio-sms.js.map +0 -1
- package/dist/integrations/providers/llm.d.ts.map +0 -1
- package/dist/integrations/providers/mistral.d.ts.map +0 -1
- package/dist/integrations/providers/mistral.js.map +0 -1
- package/dist/integrations/providers/openbanking.d.ts.map +0 -1
- package/dist/integrations/providers/payments.d.ts.map +0 -1
- package/dist/integrations/providers/postmark.d.ts.map +0 -1
- package/dist/integrations/providers/postmark.js.map +0 -1
- package/dist/integrations/providers/powens.d.ts.map +0 -1
- package/dist/integrations/providers/powens.js.map +0 -1
- package/dist/integrations/providers/qdrant.d.ts.map +0 -1
- package/dist/integrations/providers/qdrant.js.map +0 -1
- package/dist/integrations/providers/registry.d.ts.map +0 -1
- package/dist/integrations/providers/registry.js.map +0 -1
- package/dist/integrations/providers/sms.d.ts.map +0 -1
- package/dist/integrations/providers/storage.d.ts.map +0 -1
- package/dist/integrations/providers/stripe.d.ts.map +0 -1
- package/dist/integrations/providers/stripe.js.map +0 -1
- package/dist/integrations/providers/twilio-sms.d.ts.map +0 -1
- package/dist/integrations/providers/twilio-sms.js.map +0 -1
- package/dist/integrations/providers/vector-store.d.ts.map +0 -1
- package/dist/integrations/providers/voice.d.ts.map +0 -1
- package/dist/integrations/runtime.d.ts.map +0 -1
- package/dist/integrations/runtime.js.map +0 -1
- package/dist/integrations/secrets/aws-secret-manager.d.ts.map +0 -1
- package/dist/integrations/secrets/aws-secret-manager.js.map +0 -1
- package/dist/integrations/secrets/env-secret-provider.d.ts.map +0 -1
- package/dist/integrations/secrets/env-secret-provider.js.map +0 -1
- package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +0 -1
- package/dist/integrations/secrets/gcp-secret-manager.js.map +0 -1
- package/dist/integrations/secrets/manager.d.ts.map +0 -1
- package/dist/integrations/secrets/manager.js.map +0 -1
- package/dist/integrations/secrets/provider.d.ts.map +0 -1
- package/dist/integrations/secrets/provider.js.map +0 -1
- package/dist/integrations/secrets/scaleway-secret-manager.d.ts.map +0 -1
- package/dist/integrations/secrets/scaleway-secret-manager.js.map +0 -1
- package/dist/integrations/spec.d.ts.map +0 -1
- package/dist/integrations/spec.js.map +0 -1
- package/dist/jobs/define-job.d.ts.map +0 -1
- package/dist/jobs/define-job.js.map +0 -1
- package/dist/jobs/gcp-cloud-tasks.d.ts.map +0 -1
- package/dist/jobs/gcp-cloud-tasks.js.map +0 -1
- package/dist/jobs/gcp-pubsub.d.ts.map +0 -1
- package/dist/jobs/gcp-pubsub.js.map +0 -1
- package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +0 -1
- package/dist/jobs/handlers/gmail-sync-handler.js.map +0 -1
- package/dist/jobs/handlers/index.d.ts.map +0 -1
- package/dist/jobs/handlers/index.js.map +0 -1
- package/dist/jobs/handlers/ping-handler.d.ts.map +0 -1
- package/dist/jobs/handlers/ping-handler.js.map +0 -1
- package/dist/jobs/handlers/storage-document-handler.d.ts.map +0 -1
- package/dist/jobs/handlers/storage-document-handler.js.map +0 -1
- package/dist/jobs/memory-queue.d.ts.map +0 -1
- package/dist/jobs/memory-queue.js.map +0 -1
- package/dist/jobs/queue.d.ts.map +0 -1
- package/dist/jobs/queue.js.map +0 -1
- package/dist/jobs/scaleway-sqs-queue.d.ts.map +0 -1
- package/dist/jobs/scaleway-sqs-queue.js.map +0 -1
- package/dist/jsonschema.d.ts.map +0 -1
- package/dist/jsonschema.js.map +0 -1
- package/dist/knowledge/binding.d.ts.map +0 -1
- package/dist/knowledge/contracts.d.ts.map +0 -1
- package/dist/knowledge/contracts.js.map +0 -1
- package/dist/knowledge/docs/knowledge.docblock.d.ts.map +0 -1
- package/dist/knowledge/docs/knowledge.docblock.js.map +0 -1
- package/dist/knowledge/ingestion/document-processor.d.ts.map +0 -1
- package/dist/knowledge/ingestion/document-processor.js.map +0 -1
- package/dist/knowledge/ingestion/embedding-service.d.ts.map +0 -1
- package/dist/knowledge/ingestion/embedding-service.js.map +0 -1
- package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +0 -1
- package/dist/knowledge/ingestion/gmail-adapter.js.map +0 -1
- package/dist/knowledge/ingestion/storage-adapter.d.ts.map +0 -1
- package/dist/knowledge/ingestion/storage-adapter.js.map +0 -1
- package/dist/knowledge/ingestion/vector-indexer.d.ts.map +0 -1
- package/dist/knowledge/ingestion/vector-indexer.js.map +0 -1
- package/dist/knowledge/query/service.d.ts.map +0 -1
- package/dist/knowledge/query/service.js.map +0 -1
- package/dist/knowledge/runtime.d.ts.map +0 -1
- package/dist/knowledge/runtime.js.map +0 -1
- package/dist/knowledge/source.d.ts.map +0 -1
- package/dist/knowledge/spaces/email-threads.d.ts.map +0 -1
- package/dist/knowledge/spaces/email-threads.js.map +0 -1
- package/dist/knowledge/spaces/financial-docs.d.ts.map +0 -1
- package/dist/knowledge/spaces/financial-docs.js.map +0 -1
- package/dist/knowledge/spaces/financial-overview.d.ts.map +0 -1
- package/dist/knowledge/spaces/financial-overview.js.map +0 -1
- package/dist/knowledge/spaces/product-canon.d.ts.map +0 -1
- package/dist/knowledge/spaces/product-canon.js.map +0 -1
- package/dist/knowledge/spaces/support-faq.d.ts.map +0 -1
- package/dist/knowledge/spaces/support-faq.js.map +0 -1
- package/dist/knowledge/spaces/uploaded-docs.d.ts.map +0 -1
- package/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
- package/dist/knowledge/spec.d.ts.map +0 -1
- package/dist/knowledge/spec.js.map +0 -1
- package/dist/llm/exporters.d.ts.map +0 -1
- package/dist/llm/exporters.js.map +0 -1
- package/dist/llm/prompts.d.ts.map +0 -1
- package/dist/llm/prompts.js.map +0 -1
- package/dist/llm/types.d.ts.map +0 -1
- package/dist/markdown.d.ts.map +0 -1
- package/dist/markdown.js.map +0 -1
- package/dist/migrations.d.ts.map +0 -1
- package/dist/migrations.js.map +0 -1
- package/dist/onboarding-base.d.ts.map +0 -1
- package/dist/onboarding-base.js.map +0 -1
- package/dist/openapi.d.ts.map +0 -1
- package/dist/openapi.js.map +0 -1
- package/dist/openbanking/docs/openbanking.docblock.d.ts.map +0 -1
- package/dist/openbanking/docs/openbanking.docblock.js.map +0 -1
- package/dist/ownership.d.ts.map +0 -1
- package/dist/ownership.js.map +0 -1
- package/dist/policy/docs/policy.docblock.d.ts.map +0 -1
- package/dist/policy/docs/policy.docblock.js.map +0 -1
- package/dist/policy/engine.d.ts.map +0 -1
- package/dist/policy/engine.js.map +0 -1
- package/dist/policy/opa-adapter.d.ts.map +0 -1
- package/dist/policy/opa-adapter.js.map +0 -1
- package/dist/policy/spec.d.ts.map +0 -1
- package/dist/policy/spec.js.map +0 -1
- package/dist/presentations/docs/presentations-conventions.docblock.d.ts.map +0 -1
- package/dist/presentations/docs/presentations-conventions.docblock.js.map +0 -1
- package/dist/presentations.backcompat.d.ts.map +0 -1
- package/dist/presentations.backcompat.js.map +0 -1
- package/dist/presentations.d.ts.map +0 -1
- package/dist/presentations.js.map +0 -1
- package/dist/presentations.v2.d.ts.map +0 -1
- package/dist/presentations.v2.js.map +0 -1
- package/dist/prompt.d.ts.map +0 -1
- package/dist/prompt.js.map +0 -1
- package/dist/promptRegistry.d.ts.map +0 -1
- package/dist/promptRegistry.js.map +0 -1
- package/dist/regenerator/adapters.d.ts.map +0 -1
- package/dist/regenerator/docs/regenerator.docblock.d.ts.map +0 -1
- package/dist/regenerator/docs/regenerator.docblock.js.map +0 -1
- package/dist/regenerator/executor.d.ts.map +0 -1
- package/dist/regenerator/executor.js.map +0 -1
- package/dist/regenerator/service.d.ts.map +0 -1
- package/dist/regenerator/service.js.map +0 -1
- package/dist/regenerator/sinks.d.ts.map +0 -1
- package/dist/regenerator/sinks.js.map +0 -1
- package/dist/regenerator/types.d.ts.map +0 -1
- package/dist/regenerator/utils.d.ts.map +0 -1
- package/dist/regenerator/utils.js.map +0 -1
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js.map +0 -1
- package/dist/resources.d.ts.map +0 -1
- package/dist/resources.js.map +0 -1
- package/dist/schema/dist/index.js.map +0 -1
- package/dist/schema-to-markdown.d.ts.map +0 -1
- package/dist/schema-to-markdown.js.map +0 -1
- package/dist/server/graphql-pothos.d.ts.map +0 -1
- package/dist/server/graphql-pothos.js.map +0 -1
- package/dist/server/mcp/createMcpServer.d.ts.map +0 -1
- package/dist/server/mcp/createMcpServer.js.map +0 -1
- package/dist/server/mcp/mcpTypes.d.ts.map +0 -1
- package/dist/server/mcp/registerPresentations.d.ts.map +0 -1
- package/dist/server/mcp/registerPresentations.js.map +0 -1
- package/dist/server/mcp/registerPrompts.d.ts.map +0 -1
- package/dist/server/mcp/registerPrompts.js.map +0 -1
- package/dist/server/mcp/registerResources.d.ts.map +0 -1
- package/dist/server/mcp/registerResources.js.map +0 -1
- package/dist/server/mcp/registerTools.d.ts.map +0 -1
- package/dist/server/mcp/registerTools.js.map +0 -1
- package/dist/server/rest-elysia.d.ts.map +0 -1
- package/dist/server/rest-elysia.js.map +0 -1
- package/dist/server/rest-express.d.ts.map +0 -1
- package/dist/server/rest-express.js.map +0 -1
- package/dist/server/rest-generic.d.ts.map +0 -1
- package/dist/server/rest-generic.js.map +0 -1
- package/dist/server/rest-next-app.d.ts.map +0 -1
- package/dist/server/rest-next-app.js.map +0 -1
- package/dist/server/rest-next-mcp.d.ts.map +0 -1
- package/dist/server/rest-next-mcp.js.map +0 -1
- package/dist/server/rest-next-pages.d.ts.map +0 -1
- package/dist/server/rest-next-pages.js.map +0 -1
- package/dist/spec.d.ts.map +0 -1
- package/dist/spec.js.map +0 -1
- package/dist/telemetry/anomaly.d.ts.map +0 -1
- package/dist/telemetry/anomaly.js.map +0 -1
- package/dist/telemetry/docs/telemetry.docblock.d.ts.map +0 -1
- package/dist/telemetry/docs/telemetry.docblock.js.map +0 -1
- package/dist/telemetry/spec.d.ts.map +0 -1
- package/dist/telemetry/spec.js.map +0 -1
- package/dist/telemetry/tracker.d.ts.map +0 -1
- package/dist/telemetry/tracker.js.map +0 -1
- package/dist/tests/runner.d.ts.map +0 -1
- package/dist/tests/runner.js.map +0 -1
- package/dist/tests/spec.d.ts.map +0 -1
- package/dist/tests/spec.js.map +0 -1
- package/dist/themes.d.ts.map +0 -1
- package/dist/themes.js.map +0 -1
- package/dist/translations/catalog.d.ts.map +0 -1
- package/dist/translations/tenant.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/workflow/adapters/db-adapter.d.ts.map +0 -1
- package/dist/workflow/adapters/db-adapter.js.map +0 -1
- package/dist/workflow/adapters/file-adapter.d.ts.map +0 -1
- package/dist/workflow/adapters/file-adapter.js.map +0 -1
- package/dist/workflow/adapters/memory-store.d.ts.map +0 -1
- package/dist/workflow/adapters/memory-store.js.map +0 -1
- package/dist/workflow/expression.d.ts.map +0 -1
- package/dist/workflow/expression.js.map +0 -1
- package/dist/workflow/runner.d.ts.map +0 -1
- package/dist/workflow/runner.js.map +0 -1
- package/dist/workflow/sla-monitor.d.ts.map +0 -1
- package/dist/workflow/sla-monitor.js.map +0 -1
- package/dist/workflow/spec.d.ts.map +0 -1
- package/dist/workflow/spec.js.map +0 -1
- package/dist/workflow/state.d.ts.map +0 -1
- package/dist/workflow/validation.d.ts.map +0 -1
- package/dist/workflow/validation.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","names":[],"sources":["../../src/regenerator/executor.ts"],"sourcesContent":[],"mappings":";;;KAMY,eAAA;UAEK,qBAAA;EAFL,KAAA,EAAA,MAAA;EAEK,MAAA,EAEP,cAFO;EAEP,MAAA,EACA,eADA;EACA,SAAA,EACG,IADH;EACG,UAAA,EACC,IADD;EACC,MAAA,CAAA,EAAA,MAAA;EAEJ,KAAA,CAAA,EAAA,KAAA;EAAK,MAAA,CAAA,EAAA,OAAA;AAIf;AAGa,UAHI,uBAAA,CAGJ;EACC,UAAA,EAAA,MAAA;EAEH,SAAA,EAAA,MAAA;EAAqB,SAAA,EAHnB,IAGmB;EAGpB,UAAA,EALE,IAKF;EAIA,MAAA,EAAA,SAAA,GAAA,SAAwB,GAAA,QAClC;EAGU,OAAA,EAXD,qBAW0B,EAAA;AACrC;AAIY,KAbA,qBAAA,GAAwB,OAaC,CAZnC,cAaA,EAAA;EAIe,IAAA,EAAA,kBAAgB;CAEpB,CAAA;AACC,KAjBF,wBAAA,GAA2B,OAiBzB,CAhBZ,cAgBY,EAAA;EACF,IAAA,EAAA,sBAAA;CACP,CAAA;AAAO,KAfA,cAAA,GAAiB,OAejB,CAfyB,cAezB,EAAA;EAGK,IAAA,EAAA,WAAA;CAEJ,CAAA;AACC,KApBF,mBAAA,GAAsB,OAoBpB,CAnBZ,cAmBY,EAAA;EACF,IAAA,EAAA,gBAAA;CACP,CAAA;AAAO,KAlBA,yBAAA,GAA4B,OAkB5B,CAjBV,cAiBU,EAAA;EAGK,IAAA,EAAA,sBAAY;CAEhB,CAAA;AACC,UAnBG,gBAAA,CAmBH;EACF,oBAAA,CAAA,OAAA,EAlBC,mBAkBD,EAAA,QAAA,EAjBE,kBAiBF,EAAA,MAAA,EAhBA,qBAgBA,CAAA,EAfP,OAeO,CAAA,OAAA,CAAA;;AACA,UAbK,mBAAA,CAaL;EAGK,uBAAiB,CAAA,OAAA,EAdrB,mBAcqB,EAAA,QAAA,EAbpB,kBAaoB,EAAA,MAAA,EAZtB,wBAYsB,CAAA,EAX7B,OAW6B,CAAA,OAAA,CAAA;;AAGpB,UAXG,YAAA,CAWH;EACF,QAAA,CAAA,OAAA,EAVC,mBAUD,EAAA,QAAA,EATE,kBASF,EAAA,MAAA,EARA,cAQA,CAAA,EAPP,OAOO,CAAA,OAAA,CAAA;;AACA,UALK,iBAAA,CAKL;EAGK,aAAA,CAAA,OAAA,EANJ,mBAMuB,EAAA,QAAA,EALtB,kBAKsB,EAAA,MAAA,EAJxB,mBAIwB,CAAA,EAH/B,OAG+B,CAAA,OAAA,CAAA;;AAGtB,UAHG,mBAAA,CAGH;EACF,mBAAA,CAAA,OAAA,EAFC,mBAED,EAAA,QAAA,EADE,kBACF,EAAA,MAAA,EAAA,yBAAA,CAAA,EACP,OADO,CAAA,OAAA,CAAA;;AACA,UAGK,uBAAA,CAHL;EAGK,MAAA,CAAA,EAAA,OAAA;AAIjB;AACqB,UADJ,oBAAA,CACI;EACG,gBAAA,CAAA,EADH,gBACG;EACP,mBAAA,CAAA,EADO,mBACP;EACK,YAAA,CAAA,EADL,YACK;EACE,iBAAA,CAAA,EADF,iBACE;EAAmB,mBAAA,CAAA,EAAnB,mBAAmB;AAG3C;AACqC,cADxB,gBAAA,CACwB;EAGxB,iBAAA,IAAA;EACC,WAAA,CAAA,IAAA,CAAA,EAJuB,oBAIvB;EACD,OAAA,CAAA,OAAA,EAFA,mBAEA,EAAA,QAAA,EADC,kBACD,EAAA,OAAA,CAAA,EAAA,uBAAA,CAAA,EACR,OADQ,CACA,uBADA,CAAA;EACA,QAAA,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","names":["deps: ProposalExecutorDeps","actionResults: ActionExecutionResult[]"],"sources":["../../src/regenerator/executor.ts"],"sourcesContent":["import type {\n SpecChangeProposal,\n ProposalAction,\n RegenerationContext,\n} from './types';\n\nexport type ExecutionStatus = 'success' | 'skipped' | 'failed';\n\nexport interface ActionExecutionResult {\n index: number;\n action: ProposalAction;\n status: ExecutionStatus;\n startedAt: Date;\n finishedAt: Date;\n reason?: string;\n error?: Error;\n output?: unknown;\n}\n\nexport interface ProposalExecutionResult {\n proposalId: string;\n contextId: string;\n startedAt: Date;\n finishedAt: Date;\n status: 'success' | 'partial' | 'failed';\n actions: ActionExecutionResult[];\n}\n\nexport type UpdateBlueprintAction = Extract<\n ProposalAction,\n { kind: 'update_blueprint' }\n>;\nexport type UpdateTenantConfigAction = Extract<\n ProposalAction,\n { kind: 'update_tenant_config' }\n>;\nexport type RunTestsAction = Extract<ProposalAction, { kind: 'run_tests' }>;\nexport type RunMigrationsAction = Extract<\n ProposalAction,\n { kind: 'run_migrations' }\n>;\nexport type TriggerRegenerationAction = Extract<\n ProposalAction,\n { kind: 'trigger_regeneration' }\n>;\n\nexport interface BlueprintUpdater {\n applyBlueprintUpdate(\n context: RegenerationContext,\n proposal: SpecChangeProposal,\n action: UpdateBlueprintAction\n ): Promise<unknown>;\n}\n\nexport interface TenantConfigUpdater {\n applyTenantConfigUpdate(\n context: RegenerationContext,\n proposal: SpecChangeProposal,\n action: UpdateTenantConfigAction\n ): Promise<unknown>;\n}\n\nexport interface TestExecutor {\n runTests(\n context: RegenerationContext,\n proposal: SpecChangeProposal,\n action: RunTestsAction\n ): Promise<unknown>;\n}\n\nexport interface MigrationExecutor {\n runMigrations(\n context: RegenerationContext,\n proposal: SpecChangeProposal,\n action: RunMigrationsAction\n ): Promise<unknown>;\n}\n\nexport interface RegenerationTrigger {\n triggerRegeneration(\n context: RegenerationContext,\n proposal: SpecChangeProposal,\n action: TriggerRegenerationAction\n ): Promise<unknown>;\n}\n\nexport interface ProposalExecutorOptions {\n dryRun?: boolean;\n}\n\nexport interface ProposalExecutorDeps {\n blueprintUpdater?: BlueprintUpdater;\n tenantConfigUpdater?: TenantConfigUpdater;\n testExecutor?: TestExecutor;\n migrationExecutor?: MigrationExecutor;\n regenerationTrigger?: RegenerationTrigger;\n}\n\nexport class ProposalExecutor {\n constructor(private readonly deps: ProposalExecutorDeps = {}) {}\n\n async execute(\n context: RegenerationContext,\n proposal: SpecChangeProposal,\n options: ProposalExecutorOptions = {}\n ): Promise<ProposalExecutionResult> {\n const startedAt = new Date();\n const actionResults: ActionExecutionResult[] = [];\n\n for (const [index, action] of proposal.actions.entries()) {\n const result = await this.executeAction({\n index,\n action,\n context,\n proposal,\n options,\n });\n actionResults.push(result);\n }\n\n const finishedAt = new Date();\n const summaryStatus = summarizeStatus(actionResults);\n\n return {\n proposalId: proposal.id,\n contextId: context.id,\n startedAt,\n finishedAt,\n status: summaryStatus,\n actions: actionResults,\n };\n }\n\n private async executeAction({\n index,\n action,\n context,\n proposal,\n options,\n }: {\n index: number;\n action: ProposalAction;\n context: RegenerationContext;\n proposal: SpecChangeProposal;\n options: ProposalExecutorOptions;\n }): Promise<ActionExecutionResult> {\n const startedAt = new Date();\n const dryRun = options.dryRun ?? false;\n\n const complete = (\n status: ExecutionStatus,\n params: {\n reason?: string;\n output?: unknown;\n error?: Error;\n } = {}\n ): ActionExecutionResult => ({\n index,\n action,\n status,\n startedAt,\n finishedAt: new Date(),\n reason: params.reason,\n output: params.output,\n error: params.error,\n });\n\n if (dryRun) {\n return complete('skipped', { reason: 'dry_run' });\n }\n\n try {\n switch (action.kind) {\n case 'update_blueprint': {\n const updater = this.deps.blueprintUpdater;\n if (!updater) {\n return complete('skipped', { reason: 'missing_blueprint_updater' });\n }\n const output = await updater.applyBlueprintUpdate(\n context,\n proposal,\n action\n );\n return complete('success', { output });\n }\n case 'update_tenant_config': {\n const updater = this.deps.tenantConfigUpdater;\n if (!updater) {\n return complete('skipped', {\n reason: 'missing_tenant_config_updater',\n });\n }\n const output = await updater.applyTenantConfigUpdate(\n context,\n proposal,\n action\n );\n return complete('success', { output });\n }\n case 'run_tests': {\n const executor = this.deps.testExecutor;\n if (!executor) {\n return complete('skipped', { reason: 'missing_test_executor' });\n }\n const output = await executor.runTests(context, proposal, action);\n return complete('success', { output });\n }\n case 'run_migrations': {\n const executor = this.deps.migrationExecutor;\n if (!executor) {\n return complete('skipped', {\n reason: 'missing_migration_executor',\n });\n }\n const output = await executor.runMigrations(\n context,\n proposal,\n action\n );\n return complete('success', { output });\n }\n case 'trigger_regeneration': {\n const trigger = this.deps.regenerationTrigger;\n if (!trigger) {\n return complete('skipped', {\n reason: 'missing_regeneration_trigger',\n });\n }\n const output = await trigger.triggerRegeneration(\n context,\n proposal,\n action\n );\n return complete('success', { output });\n }\n default: {\n return complete('skipped', { reason: 'unknown_action' });\n }\n }\n } catch (error) {\n return complete('failed', {\n error: error instanceof Error ? error : new Error(String(error)),\n });\n }\n }\n}\n\nfunction summarizeStatus(\n actionResults: ActionExecutionResult[]\n): ProposalExecutionResult['status'] {\n if (actionResults.some((result) => result.status === 'failed')) {\n return 'failed';\n }\n if (\n actionResults.some((result) => result.status === 'success') &&\n actionResults.some((result) => result.status === 'skipped')\n ) {\n return 'partial';\n }\n if (actionResults.every((result) => result.status === 'skipped')) {\n return 'partial';\n }\n return 'success';\n}\n"],"mappings":";AAkGA,IAAa,mBAAb,MAA8B;CAC5B,YAAY,AAAiBA,OAA6B,EAAE,EAAE;EAAjC;;CAE7B,MAAM,QACJ,SACA,UACA,UAAmC,EAAE,EACH;EAClC,MAAM,4BAAY,IAAI,MAAM;EAC5B,MAAMC,gBAAyC,EAAE;AAEjD,OAAK,MAAM,CAAC,OAAO,WAAW,SAAS,QAAQ,SAAS,EAAE;GACxD,MAAM,SAAS,MAAM,KAAK,cAAc;IACtC;IACA;IACA;IACA;IACA;IACD,CAAC;AACF,iBAAc,KAAK,OAAO;;EAG5B,MAAM,6BAAa,IAAI,MAAM;EAC7B,MAAM,gBAAgB,gBAAgB,cAAc;AAEpD,SAAO;GACL,YAAY,SAAS;GACrB,WAAW,QAAQ;GACnB;GACA;GACA,QAAQ;GACR,SAAS;GACV;;CAGH,MAAc,cAAc,EAC1B,OACA,QACA,SACA,UACA,WAOiC;EACjC,MAAM,4BAAY,IAAI,MAAM;EAC5B,MAAM,SAAS,QAAQ,UAAU;EAEjC,MAAM,YACJ,QACA,SAII,EAAE,MACqB;GAC3B;GACA;GACA;GACA;GACA,4BAAY,IAAI,MAAM;GACtB,QAAQ,OAAO;GACf,QAAQ,OAAO;GACf,OAAO,OAAO;GACf;AAED,MAAI,OACF,QAAO,SAAS,WAAW,EAAE,QAAQ,WAAW,CAAC;AAGnD,MAAI;AACF,WAAQ,OAAO,MAAf;IACE,KAAK,oBAAoB;KACvB,MAAM,UAAU,KAAK,KAAK;AAC1B,SAAI,CAAC,QACH,QAAO,SAAS,WAAW,EAAE,QAAQ,6BAA6B,CAAC;AAOrE,YAAO,SAAS,WAAW,EAAE,QALd,MAAM,QAAQ,qBAC3B,SACA,UACA,OACD,EACoC,CAAC;;IAExC,KAAK,wBAAwB;KAC3B,MAAM,UAAU,KAAK,KAAK;AAC1B,SAAI,CAAC,QACH,QAAO,SAAS,WAAW,EACzB,QAAQ,iCACT,CAAC;AAOJ,YAAO,SAAS,WAAW,EAAE,QALd,MAAM,QAAQ,wBAC3B,SACA,UACA,OACD,EACoC,CAAC;;IAExC,KAAK,aAAa;KAChB,MAAM,WAAW,KAAK,KAAK;AAC3B,SAAI,CAAC,SACH,QAAO,SAAS,WAAW,EAAE,QAAQ,yBAAyB,CAAC;AAGjE,YAAO,SAAS,WAAW,EAAE,QADd,MAAM,SAAS,SAAS,SAAS,UAAU,OAAO,EAC5B,CAAC;;IAExC,KAAK,kBAAkB;KACrB,MAAM,WAAW,KAAK,KAAK;AAC3B,SAAI,CAAC,SACH,QAAO,SAAS,WAAW,EACzB,QAAQ,8BACT,CAAC;AAOJ,YAAO,SAAS,WAAW,EAAE,QALd,MAAM,SAAS,cAC5B,SACA,UACA,OACD,EACoC,CAAC;;IAExC,KAAK,wBAAwB;KAC3B,MAAM,UAAU,KAAK,KAAK;AAC1B,SAAI,CAAC,QACH,QAAO,SAAS,WAAW,EACzB,QAAQ,gCACT,CAAC;AAOJ,YAAO,SAAS,WAAW,EAAE,QALd,MAAM,QAAQ,oBAC3B,SACA,UACA,OACD,EACoC,CAAC;;IAExC,QACE,QAAO,SAAS,WAAW,EAAE,QAAQ,kBAAkB,CAAC;;WAGrD,OAAO;AACd,UAAO,SAAS,UAAU,EACxB,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC,EACjE,CAAC;;;;AAKR,SAAS,gBACP,eACmC;AACnC,KAAI,cAAc,MAAM,WAAW,OAAO,WAAW,SAAS,CAC5D,QAAO;AAET,KACE,cAAc,MAAM,WAAW,OAAO,WAAW,UAAU,IAC3D,cAAc,MAAM,WAAW,OAAO,WAAW,UAAU,CAE3D,QAAO;AAET,KAAI,cAAc,OAAO,WAAW,OAAO,WAAW,UAAU,CAC9D,QAAO;AAET,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","names":[],"sources":["../../src/regenerator/service.ts"],"sourcesContent":[],"mappings":";;;;UAeiB,kBAAA;YACL;EADK,QAAA,EAEL,cAFuB;EACvB,KAAA,EAEH,gBAFG,EAAA;EACA,IAAA,EAEJ,YAFI;EACH,cAAA,CAAA,EAAA,MAAA;EACD,eAAA,CAAA,EAAA,MAAA;EAGQ,KAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;AAMH,cAAA,kBAAA,CAS2B;;;;;;;;;uBAAA;;;aA4BrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","names":["options: RegeneratorOptions","proposals: SpecChangeProposal[]","envelopes: RegeneratorSignal[]","delay"],"sources":["../../src/regenerator/service.ts"],"sourcesContent":["import { setTimeout as delay } from 'node:timers/promises';\nimport type {\n ProposalSink,\n RegeneratorSignal,\n RegenerationRule,\n RegenerationContext,\n SpecChangeProposal,\n} from './types';\nimport type { SignalAdapters } from './adapters';\nimport {\n telemetryToEnvelope,\n errorToEnvelope,\n behaviorToEnvelope,\n} from './utils';\n\nexport interface RegeneratorOptions {\n contexts: RegenerationContext[];\n adapters: SignalAdapters;\n rules: RegenerationRule[];\n sink: ProposalSink;\n pollIntervalMs?: number;\n batchDurationMs?: number;\n clock?: () => Date;\n}\n\nconst DEFAULT_POLL_INTERVAL = 60_000;\nconst DEFAULT_BATCH_DURATION = 5 * 60_000;\n\nexport class RegeneratorService {\n private readonly contexts: Map<string, RegenerationContext>;\n private readonly lastPoll = new Map<string, Date>();\n private timer?: NodeJS.Timeout | number;\n private running = false;\n private readonly pollInterval: number;\n private readonly batchDuration: number;\n private readonly clock: () => Date;\n\n constructor(private readonly options: RegeneratorOptions) {\n this.contexts = new Map(options.contexts.map((ctx) => [ctx.id, ctx]));\n this.pollInterval = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL;\n this.batchDuration = options.batchDurationMs ?? DEFAULT_BATCH_DURATION;\n this.clock = options.clock ?? (() => new Date());\n if (this.options.rules.length === 0) {\n throw new Error('RegeneratorService requires at least one rule');\n }\n }\n\n start() {\n if (this.running) return;\n this.running = true;\n void this.tick();\n this.timer = setInterval(() => {\n void this.tick();\n }, this.pollInterval);\n }\n\n stop() {\n if (!this.running) return;\n this.running = false;\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n }\n\n async runOnce(): Promise<void> {\n await this.tick();\n }\n\n private async tick(): Promise<void> {\n const now = this.clock();\n const sinceDefault = new Date(now.getTime() - this.batchDuration);\n for (const context of this.contexts.values()) {\n const last = this.lastPoll.get(context.id) ?? sinceDefault;\n await this.evaluateContext(context, last, now);\n this.lastPoll.set(context.id, now);\n }\n }\n\n private async evaluateContext(\n context: RegenerationContext,\n since: Date,\n until: Date\n ): Promise<void> {\n const signals = await this.collectSignals(context, since, until);\n if (signals.length === 0) return;\n\n for (const rule of this.options.rules) {\n let proposals: SpecChangeProposal[] = [];\n try {\n proposals = await rule.evaluate(context, signals);\n } catch (error) {\n console.error(\n `[regenerator] rule ${rule.id} failed`,\n error instanceof Error ? error : new Error(String(error))\n );\n continue;\n }\n await this.flushProposals(context, proposals);\n }\n }\n\n private async collectSignals(\n context: RegenerationContext,\n since: Date,\n until: Date\n ): Promise<RegeneratorSignal[]> {\n const envelopes: RegeneratorSignal[] = [];\n const { adapters } = this.options;\n if (adapters.telemetry) {\n const telemetrySignals = await adapters.telemetry.pollTelemetry(\n context,\n since,\n until\n );\n envelopes.push(\n ...telemetrySignals.map((signal) =>\n telemetryToEnvelope(context.id, signal, this.clock)\n )\n );\n }\n if (adapters.errors) {\n const errorSignals = await adapters.errors.pollErrors(\n context,\n since,\n until\n );\n envelopes.push(\n ...errorSignals.map((signal) =>\n errorToEnvelope(context.id, signal, this.clock)\n )\n );\n }\n if (adapters.behavior) {\n const behaviorSignals = await adapters.behavior.pollBehavior(\n context,\n since,\n until\n );\n envelopes.push(\n ...behaviorSignals.map((signal) =>\n behaviorToEnvelope(context.id, signal, this.clock)\n )\n );\n }\n return envelopes;\n }\n\n private async flushProposals(\n context: RegenerationContext,\n proposals: SpecChangeProposal[]\n ): Promise<void> {\n for (const proposal of proposals) {\n if (proposal.signalIds.length === 0) continue;\n await this.options.sink.submit(context, proposal);\n // allow event loop to breathe when large volumes\n if (proposals.length > 10) {\n await delay(0);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sinks.d.ts","names":[],"sources":["../../src/regenerator/sinks.ts"],"sourcesContent":[],"mappings":";;;;UAQiB,qBAAA;EAAA,OAAA,EACN,mBAD2B;EAC3B,QAAA,EACC,kBADD;EACC,MAAA,EACF,uBADE;;AACqB,UAGhB,kBAAA,CAHgB;EAGhB,IAAA,CAAA,EAAA,CAAA,OAAA,EAAA,MAAkB,EAAA,IAAA,CAAA,EACD,MADC,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAAA;EACD,KAAA,CAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAGvB,KAHuB,EAAA,IAAA,CAAA,EAIvB,MAJuB,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAAA;;AAIvB,UAIM,mBAAA,CAJN;EAAM,MAAA,CAAA,EAAA,OAAA;EAIA,QAAA,CAAA,EAAA,CAAA,OAAA,EAEM,qBAFa,EAAA,GAAA,IAAA,GAEoB,OAFpB,CAAA,IAAA,CAAA;EAEb,MAAA,CAAA,EACZ,kBADY;;AACZ,cAGE,oBAAA,YAAgC,YAHlC,CAAA;EAAkB,iBAAA,QAAA;EAGhB,iBAAA,OAAqB;EAEH,WAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EACD,mBADC;EACD,MAAA,CAAA,OAAA,EAIjB,mBAJiB,EAAA,QAAA,EAKhB,kBALgB,CAAA,EAMzB,OANyB,CAAA,IAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sinks.js","names":["executor: ProposalExecutor","options: ExecutorSinkOptions"],"sources":["../../src/regenerator/sinks.ts"],"sourcesContent":["import type {\n ProposalSink,\n RegenerationContext,\n SpecChangeProposal,\n} from './types';\nimport { ProposalExecutor } from './executor';\nimport type { ProposalExecutionResult } from './executor';\n\nexport interface ExecutorResultPayload {\n context: RegenerationContext;\n proposal: SpecChangeProposal;\n result: ProposalExecutionResult;\n}\n\nexport interface ExecutorSinkLogger {\n info?: (message: string, meta?: Record<string, unknown>) => void;\n error?: (\n message: string,\n error: Error,\n meta?: Record<string, unknown>\n ) => void;\n}\n\nexport interface ExecutorSinkOptions {\n dryRun?: boolean;\n onResult?: (payload: ExecutorResultPayload) => void | Promise<void>;\n logger?: ExecutorSinkLogger;\n}\n\nexport class ExecutorProposalSink implements ProposalSink {\n constructor(\n private readonly executor: ProposalExecutor,\n private readonly options: ExecutorSinkOptions = {}\n ) {}\n\n async submit(\n context: RegenerationContext,\n proposal: SpecChangeProposal\n ): Promise<void> {\n const dryRun = this.options.dryRun ?? false;\n try {\n const result = await this.executor.execute(context, proposal, { dryRun });\n if (this.options.logger?.info) {\n this.options.logger.info('[regenerator] proposal executed', {\n proposalId: proposal.id,\n contextId: context.id,\n status: result.status,\n });\n }\n if (this.options.onResult) {\n await this.options.onResult({ context, proposal, result });\n }\n } catch (error) {\n if (this.options.logger?.error) {\n this.options.logger.error(\n '[regenerator] proposal execution failed',\n error instanceof Error ? error : new Error(String(error)),\n { proposalId: proposal.id, contextId: context.id }\n );\n }\n throw error instanceof Error ? error : new Error(String(error));\n }\n }\n}\n"],"mappings":";AA6BA,IAAa,uBAAb,MAA0D;CACxD,YACE,AAAiBA,UACjB,AAAiBC,UAA+B,EAAE,EAClD;EAFiB;EACA;;CAGnB,MAAM,OACJ,SACA,UACe;EACf,MAAM,SAAS,KAAK,QAAQ,UAAU;AACtC,MAAI;GACF,MAAM,SAAS,MAAM,KAAK,SAAS,QAAQ,SAAS,UAAU,EAAE,QAAQ,CAAC;AACzE,OAAI,KAAK,QAAQ,QAAQ,KACvB,MAAK,QAAQ,OAAO,KAAK,mCAAmC;IAC1D,YAAY,SAAS;IACrB,WAAW,QAAQ;IACnB,QAAQ,OAAO;IAChB,CAAC;AAEJ,OAAI,KAAK,QAAQ,SACf,OAAM,KAAK,QAAQ,SAAS;IAAE;IAAS;IAAU;IAAQ,CAAC;WAErD,OAAO;AACd,OAAI,KAAK,QAAQ,QAAQ,MACvB,MAAK,QAAQ,OAAO,MAClB,2CACA,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC,EACzD;IAAE,YAAY,SAAS;IAAI,WAAW,QAAQ;IAAI,CACnD;AAEH,SAAM,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/regenerator/types.ts"],"sourcesContent":[],"mappings":";;;;;KAIY,iBAAA,GACR,0BACA,sBACA;UAEa,uBAAA;EALL,IAAA,EAAA,WAAA;EACR,SAAA,EAAA,MAAA;EACA,MAAA,EAMM,eANN;;AACsB,UAQT,eAAA,CARS;EAET,SAAA,EAAA,MAAA;EAMA,YAAA,EAAA,MAAe;EAIjB,KAAA,EAAA,MAAA;EACF,WAAA,EADE,IACF;EAGA,SAAA,EAHA,IAGA;EACK,YAAA,CAAA,EAAA,MAAA;EAAa,cAAA,CAAA,EAAA,QAAA,GAAA,SAAA,GAAA,UAAA;EAGd,QAAA,CAAA,EAJJ,MAII,CAAA,MAAmB,EAAA,OAAA,CAAA;EAMnB,aAAA,CAAW,EATV,aAaJ;AAKd;AAMiB,UArBA,mBAAA,CAqBc;EAKhB,IAAA,EAAA,OAAA;EACF,SAAA,EAAA,MAAA;EACA,MAAA,EAzBH,WAyBG;;AAGI,UAzBA,WAAA,CAyBkB;EAIrB,EAAA,EAAA,MAAA;EAEJ,cAAA,EAAA,SAAA,GAAA,QAAA,GAAA,UAAA,GAAA,SAAA;EAEC,OAAA,EAAA,MAAA;EACE,UAAA,EA9BC,IA8BD;EACA,KAAA,EAAA,MAAA;EAAI,QAAA,CAAA,EA7BJ,MA6BI,CAAA,MAAA,EAAA,OAAA,CAAA;AAIjB;AAEiB,UAhCA,sBAAA,CAgCc;EAiBnB,IAAA,EAAA,UAAA;EAsBK,SAAA,EAAA,MAAA;EASA,MAAA,EA7EP,cA6E0B;;AAGpB,UA7EC,cAAA,CA6ED;EACJ,OAAA,EAAA,MAAA;EAAiB,MAAA,EAAA,OAAA,GAAA,YAAA,GAAA,SAAA,GAAA,QAAA;EAGZ,KAAA,EAAA,MAAA;EAIJ,QAAA,CAAA,EAAA,MAAA;EACA,WAAA,EAjFE,IAiFF;EACA,SAAA,EAjFA,IAiFA;EAAR,QAAA,CAAA,EAhFQ,MAgFR,CAAA,MAAA,EAAA,OAAA,CAAA;;AAGY,UAhFA,kBAAA,CAgFY;EAEhB,EAAA,EAAA,MAAA;EACC,KAAA,EAAA,MAAA;EACT,OAAA,EAAA,MAAA;EAAO,UAAA,EAhFE,kBAgFF;;UA9EF;;WAEC;aACE;aACA;;;KAID,kBAAA;UAEK,cAAA;;;;;;;;KAiBL,cAAA;;;;;;;;;;;;;;;;UAsBK,eAAA;;;;UASA,mBAAA;;aAEJ;gBACG;YACJ;;UAGK,gBAAA;;;oBAIJ,8BACA,sBACR,QAAQ;;UAGI,YAAA;kBAEJ,+BACC,qBACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/regenerator/utils.ts"],"sourcesContent":[],"mappings":";;;KASK,KAAA,SAAc;iBAEH,mBAAA,4BAEN,wBACD,QACN;AANE,iBAcW,eAAA,CAdO,SAAA,EAAA,MAAA,EAAA,MAAA,EAgBb,WAhBa,EAAA,KAAA,EAiBd,KAjBc,CAAA,EAkBpB,mBAlBoB;AAEP,iBAwBA,kBAAA,CAxBmB,SAAA,EAAA,MAAA,EAAA,MAAA,EA0BzB,cA1ByB,EAAA,KAAA,EA2B1B,KA3B0B,CAAA,EA4BhC,sBA5BgC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../src/regenerator/utils.ts"],"sourcesContent":["import type {\n BehaviorSignal,\n BehaviorSignalEnvelope,\n ErrorSignal,\n ErrorSignalEnvelope,\n TelemetrySignal,\n TelemetrySignalEnvelope,\n} from './types';\n\ntype Clock = () => Date;\n\nexport function telemetryToEnvelope(\n contextId: string,\n signal: TelemetrySignal,\n clock: Clock\n): TelemetrySignalEnvelope {\n return {\n type: 'telemetry',\n contextId,\n signal: normalizeTelemetryDates(signal, clock),\n };\n}\n\nexport function errorToEnvelope(\n contextId: string,\n signal: ErrorSignal,\n clock: Clock\n): ErrorSignalEnvelope {\n return {\n type: 'error',\n contextId,\n signal: normalizeErrorDates(signal, clock),\n };\n}\n\nexport function behaviorToEnvelope(\n contextId: string,\n signal: BehaviorSignal,\n clock: Clock\n): BehaviorSignalEnvelope {\n return {\n type: 'behavior',\n contextId,\n signal: normalizeBehaviorDates(signal, clock),\n };\n}\n\nfunction normalizeTelemetryDates(\n signal: TelemetrySignal,\n clock: Clock\n): TelemetrySignal {\n return {\n ...signal,\n windowStart: toDate(signal.windowStart, clock),\n windowEnd: toDate(signal.windowEnd, clock),\n };\n}\n\nfunction normalizeErrorDates(signal: ErrorSignal, clock: Clock): ErrorSignal {\n return {\n ...signal,\n occurredAt: toDate(signal.occurredAt, clock),\n };\n}\n\nfunction normalizeBehaviorDates(\n signal: BehaviorSignal,\n clock: Clock\n): BehaviorSignal {\n return {\n ...signal,\n windowStart: toDate(signal.windowStart, clock),\n windowEnd: toDate(signal.windowEnd, clock),\n };\n}\n\nfunction toDate(value: Date | string, clock: Clock): Date {\n if (value instanceof Date) return value;\n const parsed = new Date(value);\n if (Number.isNaN(parsed.getTime())) {\n return clock();\n }\n return parsed;\n}\n"],"mappings":";AAWA,SAAgB,oBACd,WACA,QACA,OACyB;AACzB,QAAO;EACL,MAAM;EACN;EACA,QAAQ,wBAAwB,QAAQ,MAAM;EAC/C;;AAGH,SAAgB,gBACd,WACA,QACA,OACqB;AACrB,QAAO;EACL,MAAM;EACN;EACA,QAAQ,oBAAoB,QAAQ,MAAM;EAC3C;;AAGH,SAAgB,mBACd,WACA,QACA,OACwB;AACxB,QAAO;EACL,MAAM;EACN;EACA,QAAQ,uBAAuB,QAAQ,MAAM;EAC9C;;AAGH,SAAS,wBACP,QACA,OACiB;AACjB,QAAO;EACL,GAAG;EACH,aAAa,OAAO,OAAO,aAAa,MAAM;EAC9C,WAAW,OAAO,OAAO,WAAW,MAAM;EAC3C;;AAGH,SAAS,oBAAoB,QAAqB,OAA2B;AAC3E,QAAO;EACL,GAAG;EACH,YAAY,OAAO,OAAO,YAAY,MAAM;EAC7C;;AAGH,SAAS,uBACP,QACA,OACgB;AAChB,QAAO;EACL,GAAG;EACH,aAAa,OAAO,OAAO,aAAa,MAAM;EAC9C,WAAW,OAAO,OAAO,WAAW,MAAM;EAC3C;;AAGH,SAAS,OAAO,OAAsB,OAAoB;AACxD,KAAI,iBAAiB,KAAM,QAAO;CAClC,MAAM,SAAS,IAAI,KAAK,MAAM;AAC9B,KAAI,OAAO,MAAM,OAAO,SAAS,CAAC,CAChC,QAAO,OAAO;AAEhB,QAAO"}
|
package/dist/registry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","names":[],"sources":["../src/registry.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA0Be,KANH,YAAA,GAMG,GAAA,MAAA,KAAA,MAAA,EAAA;AAAY,iBAJX,KAAA,CAIW,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAJ2B,YAI3B;AAAA,KAAtB,OAAA,GAAU,YAIA,CAHb,cAGgD,EAFhD,cAEuD,GAFtC,qBAEsC,CAAA,OAAA,CAAA,CAAA;AAMzD,KANK,UAAA,GAMQ,CAAY,IAAA,EAAA,GAAA,EAAA,GAAA,EANU,UAMV,EAAA,GANyB,OAMzB,CAAA,OAAA,CAAA;;;;;AAcC,cAdb,YAAA,CAca;EAAhB,QAAA,KAAA;EAgBI,QAAA,QAAA;EACA;;;;;;;EACoC,QAAA,CAAA,UApBpC,cAoBoC,EAAA,UAnBpC,cAmBoC,GAnBnB,qBAmBmB,CAAA,OAAA,CAAA,CAAA,CAAA,IAAA,EAlBxC,YAkBwC,CAlB3B,CAkB2B,EAlBxB,CAkBwB,CAAA,CAAA,EAAA,IAAA;EAAX;;;;;;;;EA2E3B,IAAA,CAAA,UA7EE,cA6EF,EAAA,UA5EE,cA4EF,GA5EmB,qBA4EnB,CAAA,OAAA,CAAA,CAAA,CAAA,IAAA,EA3EF,YA2EE,CA3EW,CA2EX,EA3Ec,CA2Ed,CAAA,EAAA,OAAA,EA3E2B,UA2E3B,CA3EsC,YA2EtC,CA3EmD,CA2EnD,EA3EsD,CA2EtD,CAAA,CAAA,CAAA,EAAA,IAAA;;;;;;;;2CAzD+B;;;;8CAkBG;;eAO/B;;;UAKQ;aAAkB;;;;;;;;;;;;;;;6EA0BhC,aACJ"}
|
package/dist/registry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","names":["key: OperationKey","found: AnySpec | undefined","out: { spec: AnySpec; handler: AnyHandler }[]","key","result: unknown"],"sources":["../src/registry.ts"],"sourcesContent":["/**\n * SpecRegistry:\n * - Registers ContractSpecs (unique by name+version)\n * - Binds runtime handlers to specs\n * - Provides lookup, iteration, and a safe execute() with validation/policy/enforcement\n *\n * Includes a minimal OpRegistry shim for backward-compat (deprecated).\n */\nimport {\n type ContractSpec,\n type TelemetryTrigger,\n isEmitDeclRef,\n} from './spec';\nimport type { ResourceRefDescriptor } from './resources';\nimport type { HandlerCtx } from './types';\nimport { eventKey } from './events';\nimport type { AnySchemaModel, ZodSchemaModel } from '@lssm/lib.schema';\nimport type { HandlerFor } from './install';\nexport { registerDocBlocks, defaultDocRegistry, docId } from './docs/registry';\n\nexport type OperationKey = `${string}.v${number}`;\n\nexport function opKey(name: string, version: number): OperationKey {\n return `${name}.v${version}`;\n}\n\ntype AnySpec = ContractSpec<\n AnySchemaModel,\n AnySchemaModel | ResourceRefDescriptor<boolean>\n>;\ntype AnyHandler = (args: any, ctx: HandlerCtx) => Promise<unknown>;\n\n/**\n * In-memory registry for ContractSpecs and their bound handlers.\n * Provides validation, policy enforcement, and guarded event emission at execute time.\n */\nexport class SpecRegistry {\n private specs = new Map<OperationKey, AnySpec>();\n private handlers = new Map<OperationKey, AnyHandler>();\n\n /**\n * Registers a ContractSpec definition.\n *\n * @param spec - The contract specification to register.\n * @returns The registry instance for chaining.\n * @throws If a spec with the same name and version is already registered.\n */\n register<\n I extends AnySchemaModel,\n O extends AnySchemaModel | ResourceRefDescriptor<boolean>,\n >(spec: ContractSpec<I, O>): this {\n const key = opKey(spec.meta.name, spec.meta.version);\n if (this.specs.has(key)) throw new Error(`Duplicate spec ${key}`);\n this.specs.set(key, spec as AnySpec);\n return this;\n }\n\n /**\n * Binds a runtime handler implementation to a previously registered spec.\n *\n * @param spec - The spec to bind to.\n * @param handler - The async function implementing the business logic.\n * @returns The registry instance for chaining.\n * @throws If the spec is not found or a handler is already bound.\n */\n bind<\n I extends AnySchemaModel,\n O extends AnySchemaModel | ResourceRefDescriptor<boolean>,\n >(spec: ContractSpec<I, O>, handler: HandlerFor<ContractSpec<I, O>>): this {\n const key: OperationKey = opKey(spec.meta.name, spec.meta.version);\n\n if (!this.specs.has(key))\n throw new Error(`Cannot bind; spec not found: ${key}`);\n if (this.handlers.has(key))\n throw new Error(`Handler already bound for ${key}`);\n this.handlers.set(key, handler);\n return this;\n }\n\n /**\n * Retrieves a registered spec by name and version.\n * If version is omitted, returns the highest version found.\n *\n * @param name - Operation name.\n * @param version - (Optional) Specific version.\n */\n getSpec(name: string, version?: number): AnySpec | undefined {\n if (version != null) return this.specs.get(opKey(name, version));\n // find highest version by scanning keys of the same name\n let found: AnySpec | undefined;\n let maxV = -Infinity;\n for (const [k, s] of this.specs.entries()) {\n if (!k.startsWith(`${name}.v`)) continue;\n if (s.meta.version > maxV) {\n maxV = s.meta.version;\n found = s;\n }\n }\n return found;\n }\n\n /**\n * Retrieves the bound handler for a spec.\n */\n getHandler(name: string, version?: number): AnyHandler | undefined {\n const spec = this.getSpec(name, version);\n if (!spec) return undefined;\n return this.handlers.get(opKey(spec.meta.name, spec.meta.version));\n }\n\n /** Iterate all registered specs. */\n listSpecs(): AnySpec[] {\n return [...this.specs.values()];\n }\n\n /** Iterate all bound operations (spec+handler). */\n listBound(): { spec: AnySpec; handler: AnyHandler }[] {\n const out: { spec: AnySpec; handler: AnyHandler }[] = [];\n for (const [k, spec] of this.specs.entries()) {\n const h = this.handlers.get(k);\n if (h) out.push({ spec, handler: h });\n }\n return out;\n }\n\n /**\n * Execute an operation by name/version with full runtime protections:\n * 1. Validates input against Zod schema.\n * 2. Enforces policy (Auth, RBAC, Rate Limits) via PDP.\n * 3. Guards event emission to ensure only declared events are sent.\n * 4. Validates output against Zod schema (if applicable).\n * 5. Tracks telemetry (success/failure).\n *\n * @param name - Operation name.\n * @param version - Operation version (optional, defaults to latest).\n * @param rawInput - The raw input payload (e.g. from JSON body).\n * @param ctx - The runtime context (actor, tenant, etc.).\n */\n async execute(\n name: string,\n version: number | undefined,\n rawInput: unknown,\n ctx: HandlerCtx\n ): Promise<unknown> {\n const baseSpec = this.getSpec(name, version);\n if (!baseSpec)\n throw new Error(\n `Spec not found for ${name}${version ? `.v${version}` : ''}`\n );\n const spec =\n (await ctx.specVariantResolver?.resolve(\n {\n name: baseSpec.meta.name,\n version: baseSpec.meta.version,\n kind: baseSpec.meta.kind,\n },\n ctx\n )) ?? baseSpec;\n\n let key = opKey(spec.meta.name, spec.meta.version);\n let handler = this.handlers.get(key);\n if (!handler) {\n const fallbackKey = opKey(baseSpec.meta.name, baseSpec.meta.version);\n handler = this.handlers.get(fallbackKey);\n key = fallbackKey;\n }\n if (!handler) throw new Error(`No handler bound for ${key}`);\n\n // 1) Validate input\n const parsedInput = spec.io.input?.getZod().parse(rawInput);\n\n // 2) Policy enforcement\n if (ctx.decide) {\n const [service, command] = spec.meta.name.split('.');\n const decision = await ctx.decide({\n service: service!,\n command: command!,\n version: spec.meta.version,\n actor: ctx.actor ?? 'anonymous',\n channel: ctx.channel,\n roles: ctx.roles,\n organizationId: ctx.organizationId,\n userId: ctx.userId,\n flags: [], // adapter may fill flags from request\n });\n if (decision.effect === 'deny') {\n throw new Error(\n `PolicyDenied: ${spec.meta.name}.v${spec.meta.version}`\n );\n }\n if (decision.rateLimit && ctx.rateLimit) {\n const key = decision.rateLimit.key ?? 'default';\n const rpm = decision.rateLimit.rpm ?? 60;\n await ctx.rateLimit(key, 1, rpm);\n }\n // escalations are advisory; adapter may short-circuit if needed\n }\n\n // 3) Event emission guard\n const allowedEvents = new Map<string, AnySchemaModel>();\n if (spec.sideEffects?.emits) {\n for (const e of spec.sideEffects.emits) {\n if (isEmitDeclRef(e)) {\n allowedEvents.set(`${e.ref.name}.v${e.ref.version}`, e.ref.payload);\n } else {\n allowedEvents.set(`${e.name}.v${e.version}`, e.payload);\n }\n }\n }\n\n const emitGuard = async (\n eventName: string,\n eventVersion: number,\n payload: unknown\n ) => {\n const key2 = eventKey(eventName, eventVersion);\n const schema = allowedEvents.get(key2);\n if (!schema)\n throw new Error(\n `UndeclaredEvent: ${key2} not allowed by ${opKey(spec.meta.name, spec.meta.version)}`\n );\n const parsed = schema.getZod().parse(payload);\n // Delegate to service publisher if present\n await ctx.eventPublisher?.({\n name: eventName,\n version: eventVersion,\n payload: parsed,\n traceId: ctx.traceId,\n });\n };\n\n // 4) Execute handler with guarded ctx\n if (ctx.appConfig) {\n if (!ctx.branding) {\n ctx.branding = ctx.appConfig.branding;\n }\n if (!ctx.translation) {\n ctx.translation = { config: ctx.appConfig.translation };\n } else if (!ctx.translation.config) {\n ctx.translation = {\n ...ctx.translation,\n config: ctx.appConfig.translation,\n };\n }\n }\n const telemetryContext = ctx.telemetry;\n const trackTelemetry = async (\n trigger: TelemetryTrigger | undefined,\n details: { input: unknown; output?: unknown; error?: unknown }\n ) => {\n if (!telemetryContext || !trigger?.event) return;\n try {\n const props = trigger.properties?.(details) ?? {};\n await telemetryContext.track(\n trigger.event.name,\n trigger.event.version ?? 1,\n props,\n {\n tenantId: ctx.organizationId ?? undefined,\n organizationId: ctx.organizationId,\n userId: ctx.userId,\n actor: ctx.actor,\n channel: ctx.channel,\n metadata: ctx.traceId ? { traceId: ctx.traceId } : undefined,\n }\n );\n } catch (_error) {\n // Best-effort telemetry: swallow errors to avoid breaking the handler.\n }\n };\n\n let result: unknown;\n try {\n result = await handler(parsedInput, {\n ...ctx,\n __emitGuard__: emitGuard,\n });\n } catch (error) {\n if (spec.telemetry?.failure) {\n await trackTelemetry(spec.telemetry.failure, {\n input: parsedInput ?? rawInput,\n error,\n });\n }\n throw error;\n }\n\n if (spec.telemetry?.success) {\n await trackTelemetry(spec.telemetry.success, {\n input: parsedInput ?? rawInput,\n output: result,\n });\n }\n\n // 5) Validate output when the spec declares a SchemaModel output.\n const outputModel = spec.io.output as\n | AnySchemaModel\n | ResourceRefDescriptor<boolean>;\n if ((outputModel as AnySchemaModel)?.getZod) {\n const parsedOutput = (outputModel as AnySchemaModel)\n .getZod()\n .parse(result);\n return parsedOutput;\n }\n // ResourceRefDescriptor path: adapter may hydrate entity; leave as-is\n return result;\n }\n}\n"],"mappings":"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"}
|
package/dist/resources.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","names":[],"sources":["../src/resources.ts"],"sourcesContent":[],"mappings":";;;;UAGiB,YAAA;;EAAA,WAAA,EAAA,MAAY;EAaZ;EAA+B,KAAE,EAAA,MAAA;EAC1C;EAEC,WAAA,CAAA,EAAA,MAAA;EAMS;EAAR,QAAE,EAAA,MAAA;EAE2C;EAAhD,IAAA,CAAA,EAdE,GAcF,EAAA;;AAGS,UAdC,oBAcqB,CAAA,UAdU,GAAA,CAAE,OAcZ,CAAA,CAAA;EAAW,IAAE,EAb3C,YAa2C;EACtB;EAArB,KAAA,EAZC,CAYD;EACgB;;;AAIxB;EAGqB,OAAE,EAAA,CAAA,IAAA,EAdb,GAAA,CAAE,KAcW,CAdL,CAcK,CAAA,EAAA,GAAA,EAAA;IAAoC,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAArB,KAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAKvB,MAAA,CAAA,EAAA,MAAA;EASD,CAAA,EAAA,GA1BP,OA0BO,CAAA;IAAmC,GAAA,EAAA,MAAA;IAAM,QAAA,CAAA,EAAA,MAAA;IAoBtC,IAAA,EA9CsC,UA8CtC,GAAA,MAAqB;EAYtB,CAAA,CAAA;;AAGS,iBA1DT,sBA0DS,CAAA,UA1DwB,GAAA,CAAE,OA0D1B,CAAA,CAAA,IAAA,EAzDjB,oBAyDiB,CAzDI,CAyDJ,CAAA,CAAA,EAxDtB,oBAwDsB,CAxDD,CAwDC,CAAA;AAAtB,cApDU,gBAAA,CAoDV;EAAqB,QAAA,SAAA;EAUR,QAAA,CAAA,UA3DK,GAAA,CAAE,OA2DM,CAAmB,CAAA,IAAA,EA3DV,oBA2D+B,CA3DV,CA2DU,CAAA,CAAA,EAAA,IAAA;mBAtDtD;;;UASD;YAAmC;;;UAoBhC;;;;;;;;;QAST;;iBAGQ;;;QAEuC;IACpD,sBAAsB;iBAUT,aAAA,mBAAgC"}
|
package/dist/resources.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","names":["params: Record<string, string>"],"sources":["../src/resources.ts"],"sourcesContent":["import * as z from 'zod';\nimport type { Tag } from './ownership';\n\nexport interface ResourceMeta {\n /** URI scheme, e.g. \"content://doc/{id}\" or \"marketplace://offers/{city}/{tag}\" */\n uriTemplate: string;\n /** Human title for discovery */\n title: string;\n /** Short description */\n description?: string;\n /** MIME type for resource body */\n mimeType: string; // e.g., \"application/json\" | \"text/markdown\"\n /** Tags for filtering/grouping */\n tags?: Tag[];\n}\n\nexport interface ResourceTemplateSpec<I extends z.ZodType> {\n meta: ResourceMeta;\n /** Arguments to materialize the URI (zod validates input) */\n input: I;\n /**\n * Resolve returns the resource body and a resolved URI.\n * It MUST be read-only (no side effects).\n */\n resolve: (\n args: z.infer<I>,\n ctx: { userId?: string | null; orgId?: string | null; locale?: string }\n ) => Promise<{ uri: string; mimeType?: string; data: Uint8Array | string }>;\n}\n\nexport function defineResourceTemplate<I extends z.ZodType>(\n spec: ResourceTemplateSpec<I>\n): ResourceTemplateSpec<I> {\n return spec;\n}\n\nexport class ResourceRegistry {\n private templates: ResourceTemplateSpec<any>[] = [];\n\n register<I extends z.ZodType>(tmpl: ResourceTemplateSpec<I>): this {\n this.templates.push(tmpl);\n return this;\n }\n\n listTemplates() {\n return [...this.templates];\n }\n\n /** Try to match a concrete URI to a template by naive pattern substitution */\n // MVP: simple matcher; replace {param} with (.+) and capture\n match(\n uri: string\n ):\n | { tmpl: ResourceTemplateSpec<any>; params: Record<string, string> }\n | undefined {\n for (const tmpl of this.templates) {\n const re = new RegExp(\n '^' + tmpl.meta.uriTemplate.replace(/\\{[^}]+\\}/g, '([^/]+)') + '$'\n );\n const m = uri.match(re);\n if (!m) continue;\n const names = [...tmpl.meta.uriTemplate.matchAll(/\\{([^}]+)\\}/g)].map(\n (x) => x[1]\n );\n const params: Record<string, string> = {};\n names.forEach((n, i) => (params[n!] = decodeURIComponent(m[i + 1]!)));\n return { tmpl, params };\n }\n return undefined;\n }\n}\n\n// ResourceRef (output descriptor for ContractSpecs)\nexport interface ResourceRefDescriptor<Many extends boolean> {\n kind: 'resource_ref';\n /** URI template, e.g. 'strit://spot/{id}' */\n uriTemplate: string;\n /** Variable name inside result payload to substitute into template; defaults to 'id' */\n varName?: string;\n /** Optional GraphQL type name to use when exposing over GraphQL (e.g., 'Spot') */\n graphQLType: string;\n /** Cardinality: when present and true, the handler returns an array of resources */\n many: Many;\n}\n\nexport function resourceRef<Many extends boolean>(\n uriTemplate: string,\n opts: { varName?: string; graphQLType: string; many: Many }\n): ResourceRefDescriptor<Many> {\n return {\n kind: 'resource_ref',\n uriTemplate,\n varName: opts.varName ?? 'id',\n graphQLType: opts.graphQLType,\n many: opts.many,\n };\n}\n\nexport function isResourceRef(x: unknown): x is ResourceRefDescriptor<boolean> {\n const o = x as any;\n return !!o && o.kind === 'resource_ref' && typeof o.uriTemplate === 'string';\n}\n"],"mappings":";;;AA8BA,SAAgB,uBACd,MACyB;AACzB,QAAO;;AAGT,IAAa,mBAAb,MAA8B;CAC5B,AAAQ,YAAyC,EAAE;CAEnD,SAA8B,MAAqC;AACjE,OAAK,UAAU,KAAK,KAAK;AACzB,SAAO;;CAGT,gBAAgB;AACd,SAAO,CAAC,GAAG,KAAK,UAAU;;;CAK5B,MACE,KAGY;AACZ,OAAK,MAAM,QAAQ,KAAK,WAAW;GACjC,MAAM,qBAAK,IAAI,OACb,MAAM,KAAK,KAAK,YAAY,QAAQ,cAAc,UAAU,GAAG,IAChE;GACD,MAAM,IAAI,IAAI,MAAM,GAAG;AACvB,OAAI,CAAC,EAAG;GACR,MAAM,QAAQ,CAAC,GAAG,KAAK,KAAK,YAAY,SAAS,eAAe,CAAC,CAAC,KAC/D,MAAM,EAAE,GACV;GACD,MAAMA,SAAiC,EAAE;AACzC,SAAM,SAAS,GAAG,MAAO,OAAO,KAAM,mBAAmB,EAAE,IAAI,GAAI,CAAE;AACrE,UAAO;IAAE;IAAM;IAAQ;;;;AAmB7B,SAAgB,YACd,aACA,MAC6B;AAC7B,QAAO;EACL,MAAM;EACN;EACA,SAAS,KAAK,WAAW;EACzB,aAAa,KAAK;EAClB,MAAM,KAAK;EACZ;;AAGH,SAAgB,cAAc,GAAiD;CAC7E,MAAM,IAAI;AACV,QAAO,CAAC,CAAC,KAAK,EAAE,SAAS,kBAAkB,OAAO,EAAE,gBAAgB"}
|