@lssm/lib.contracts 1.11.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/_virtual/rolldown_runtime.js +1 -0
- package/dist/app-config/app-config.feature.js +1 -0
- package/dist/app-config/contracts.js +1 -2
- package/dist/app-config/docs/app-config.docblock.js +220 -0
- package/dist/app-config/events.js +1 -2
- package/dist/app-config/index.js +1 -1
- package/dist/app-config/lifecycle-contracts.js +1 -2
- package/dist/app-config/runtime.js +1 -2
- package/dist/app-config/spec.js +1 -2
- package/dist/app-config/validation.js +1 -2
- package/dist/capabilities/docs/capabilities.docblock.js +1 -0
- package/dist/capabilities/openbanking.js +1 -2
- package/dist/capabilities.js +1 -2
- package/dist/client/react/drivers/rn-reusables.js +1 -2
- package/dist/client/react/drivers/shadcn.js +1 -2
- package/dist/client/react/feature-render.js +1 -2
- package/dist/client/react/form-render.js +1 -2
- package/dist/contract-registry/index.js +1 -0
- package/dist/contract-registry/schemas.js +1 -0
- package/dist/contract-registry/types.js +0 -0
- package/dist/contracts-adapter-hydration.js +1 -2
- package/dist/contracts-adapter-input.js +1 -2
- package/dist/data-views/docs/data-views.docblock.js +1 -0
- package/dist/data-views/query-generator.js +1 -2
- package/dist/data-views/runtime.js +1 -2
- package/dist/data-views.js +1 -2
- package/dist/docs/PUBLISHING.docblock.js +76 -0
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
- package/dist/docs/index.js +1 -0
- package/dist/docs/meta.docs.js +13 -0
- package/dist/docs/presentations.js +1 -0
- package/dist/docs/registry.js +1 -0
- package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
- package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
- package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
- package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
- package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
- package/dist/docs/tech/contracts/README.docblock.js +1 -0
- package/dist/docs/tech/contracts/create-subscription.docblock.js +1 -0
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +180 -0
- package/dist/docs/tech/contracts/migrations.docblock.js +1 -0
- package/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +62 -0
- package/dist/docs/tech/contracts/overlays.docblock.js +68 -0
- package/dist/docs/tech/contracts/tests.docblock.js +132 -0
- package/dist/docs/tech/contracts/themes.docblock.js +1 -0
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +106 -0
- package/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
- package/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
- package/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
- package/dist/docs/tech/presentation-runtime.docblock.js +1 -0
- package/dist/docs/tech/schema/README.docblock.js +262 -0
- package/dist/docs/tech/studio/learning-events.docblock.js +1 -0
- package/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
- package/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
- package/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
- package/dist/docs/tech/studio/project-routing.docblock.js +1 -0
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
- package/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
- package/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
- package/dist/docs/tech/studio/workspaces.docblock.js +41 -0
- package/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
- package/dist/docs/tech/templates/runtime.docblock.js +1 -0
- package/dist/docs/tech/vscode-extension.docblock.js +68 -0
- package/dist/docs/tech/workflows/overview.docblock.js +1 -0
- package/dist/docs/tech-contracts.docs.js +76 -0
- package/dist/docs/types.js +0 -0
- package/dist/events.js +1 -2
- package/dist/experiments/docs/experiments.docblock.js +128 -0
- package/dist/experiments/evaluator.js +1 -2
- package/dist/experiments/spec.js +1 -2
- package/dist/features.js +1 -2
- package/dist/forms/docs/forms.docblock.js +1 -0
- package/dist/forms.js +1 -2
- package/dist/index.js +1 -1
- package/dist/install.js +1 -2
- package/dist/integrations/contracts.js +1 -2
- package/dist/integrations/docs/integrations.docblock.js +1 -0
- package/dist/integrations/health.js +1 -2
- package/dist/integrations/index.js +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js +1 -2
- package/dist/integrations/openbanking/contracts/balances.js +1 -2
- package/dist/integrations/openbanking/contracts/index.js +1 -2
- package/dist/integrations/openbanking/contracts/transactions.js +1 -2
- package/dist/integrations/openbanking/guards.js +1 -2
- package/dist/integrations/openbanking/models.js +1 -2
- package/dist/integrations/openbanking/openbanking.feature.js +1 -0
- package/dist/integrations/openbanking/telemetry.js +1 -2
- package/dist/integrations/providers/elevenlabs.js +1 -2
- package/dist/integrations/providers/gcs-storage.js +1 -2
- package/dist/integrations/providers/gmail.js +1 -2
- package/dist/integrations/providers/google-calendar.js +1 -2
- package/dist/integrations/providers/impls/elevenlabs-voice.js +1 -2
- package/dist/integrations/providers/impls/gcs-storage.js +1 -2
- package/dist/integrations/providers/impls/gmail-inbound.js +1 -2
- package/dist/integrations/providers/impls/gmail-outbound.js +1 -2
- package/dist/integrations/providers/impls/google-calendar.js +1 -2
- package/dist/integrations/providers/impls/index.js +1 -1
- package/dist/integrations/providers/impls/mistral-embedding.js +1 -2
- package/dist/integrations/providers/impls/mistral-llm.js +1 -2
- package/dist/integrations/providers/impls/postmark-email.js +1 -2
- package/dist/integrations/providers/impls/powens-client.js +1 -2
- package/dist/integrations/providers/impls/powens-openbanking.js +1 -2
- package/dist/integrations/providers/impls/provider-factory.js +1 -2
- package/dist/integrations/providers/impls/qdrant-vector.js +1 -2
- package/dist/integrations/providers/impls/stripe-payments.js +1 -2
- package/dist/integrations/providers/impls/twilio-sms.js +1 -2
- package/dist/integrations/providers/index.js +1 -1
- package/dist/integrations/providers/mistral.js +1 -2
- package/dist/integrations/providers/postmark.js +1 -2
- package/dist/integrations/providers/powens.js +1 -2
- package/dist/integrations/providers/qdrant.js +1 -2
- package/dist/integrations/providers/registry.js +1 -0
- package/dist/integrations/providers/stripe.js +1 -2
- package/dist/integrations/providers/twilio-sms.js +1 -2
- package/dist/integrations/runtime.js +1 -2
- package/dist/integrations/secrets/aws-secret-manager.js +1 -0
- package/dist/integrations/secrets/env-secret-provider.js +1 -2
- package/dist/integrations/secrets/gcp-secret-manager.js +1 -2
- package/dist/integrations/secrets/index.js +1 -1
- package/dist/integrations/secrets/manager.js +1 -2
- package/dist/integrations/secrets/provider.js +1 -2
- package/dist/integrations/secrets/scaleway-secret-manager.js +1 -0
- package/dist/integrations/spec.js +1 -2
- package/dist/jobs/define-job.js +1 -0
- package/dist/jobs/gcp-cloud-tasks.js +1 -2
- package/dist/jobs/gcp-pubsub.js +1 -2
- package/dist/jobs/handlers/gmail-sync-handler.js +1 -2
- package/dist/jobs/handlers/index.js +1 -1
- package/dist/jobs/handlers/ping-handler.js +1 -0
- package/dist/jobs/handlers/storage-document-handler.js +1 -2
- package/dist/jobs/index.js +1 -1
- package/dist/jobs/memory-queue.js +1 -2
- package/dist/jobs/queue.js +1 -0
- package/dist/jobs/scaleway-sqs-queue.js +1 -0
- package/dist/jsonschema.js +1 -2
- package/dist/knowledge/contracts.js +1 -2
- package/dist/knowledge/docs/knowledge.docblock.js +138 -0
- package/dist/knowledge/ingestion/document-processor.js +1 -2
- package/dist/knowledge/ingestion/embedding-service.js +1 -2
- package/dist/knowledge/ingestion/gmail-adapter.js +1 -2
- package/dist/knowledge/ingestion/storage-adapter.js +1 -2
- package/dist/knowledge/ingestion/vector-indexer.js +1 -2
- package/dist/knowledge/query/service.js +1 -2
- package/dist/knowledge/runtime.js +1 -2
- package/dist/knowledge/spaces/email-threads.js +1 -2
- package/dist/knowledge/spaces/financial-docs.js +1 -2
- package/dist/knowledge/spaces/financial-overview.js +1 -2
- package/dist/knowledge/spaces/product-canon.js +1 -2
- package/dist/knowledge/spaces/support-faq.js +1 -2
- package/dist/knowledge/spaces/uploaded-docs.js +1 -2
- package/dist/knowledge/spec.js +1 -2
- package/dist/llm/exporters.js +8 -0
- package/dist/llm/index.js +1 -0
- package/dist/llm/prompts.js +220 -0
- package/dist/llm/types.js +0 -0
- package/dist/markdown.js +1 -2
- package/dist/migrations.js +1 -2
- package/dist/node_modules/@pothos/plugin-complexity/esm/calculate-complexity.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/defaults.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/types.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/util.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/validator.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/field-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/interface.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/node.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/object.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/union.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/schema-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/util.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/connection-helpers.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/field-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/interface-ref.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/model-loader.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/node-ref.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/object-ref.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/prisma-field-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/schema-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/types.js +0 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/cursors.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/datamodel.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/deep-equal.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/description.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/get-client.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/loader-map.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/map-query.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/relation-map.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/selections.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/usage.js +1 -0
- package/dist/node_modules/@pothos/plugin-tracing/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-tracing/esm/util.js +1 -0
- package/dist/node_modules/dataloader/index.js +7 -0
- package/dist/node_modules/graphql/error/GraphQLError.js +5 -0
- package/dist/node_modules/graphql/error/index.js +1 -0
- package/dist/node_modules/graphql/error/locatedError.js +1 -0
- package/dist/node_modules/graphql/error/syntaxError.js +1 -0
- package/dist/node_modules/graphql/execution/collectFields.js +1 -0
- package/dist/node_modules/graphql/execution/execute.js +1 -0
- package/dist/node_modules/graphql/execution/index.js +1 -0
- package/dist/node_modules/graphql/execution/mapAsyncIterator.js +1 -0
- package/dist/node_modules/graphql/execution/subscribe.js +1 -0
- package/dist/node_modules/graphql/execution/values.js +1 -0
- package/dist/node_modules/graphql/graphql.js +1 -0
- package/dist/node_modules/graphql/index.js +1 -0
- package/dist/node_modules/graphql/jsutils/Path.js +1 -0
- package/dist/node_modules/graphql/jsutils/devAssert.js +1 -0
- package/dist/node_modules/graphql/jsutils/didYouMean.js +1 -0
- package/dist/node_modules/graphql/jsutils/groupBy.js +1 -0
- package/dist/node_modules/graphql/jsutils/identityFunc.js +1 -0
- package/dist/node_modules/graphql/jsutils/inspect.js +1 -0
- package/dist/node_modules/graphql/jsutils/instanceOf.js +12 -0
- package/dist/node_modules/graphql/jsutils/invariant.js +1 -0
- package/dist/node_modules/graphql/jsutils/isAsyncIterable.js +1 -0
- package/dist/node_modules/graphql/jsutils/isIterableObject.js +1 -0
- package/dist/node_modules/graphql/jsutils/isObjectLike.js +1 -0
- package/dist/node_modules/graphql/jsutils/isPromise.js +1 -0
- package/dist/node_modules/graphql/jsutils/keyMap.js +1 -0
- package/dist/node_modules/graphql/jsutils/keyValMap.js +1 -0
- package/dist/node_modules/graphql/jsutils/mapValue.js +1 -0
- package/dist/node_modules/graphql/jsutils/memoize3.js +1 -0
- package/dist/node_modules/graphql/jsutils/naturalCompare.js +1 -0
- package/dist/node_modules/graphql/jsutils/printPathArray.js +1 -0
- package/dist/node_modules/graphql/jsutils/promiseForObject.js +1 -0
- package/dist/node_modules/graphql/jsutils/promiseReduce.js +1 -0
- package/dist/node_modules/graphql/jsutils/suggestionList.js +1 -0
- package/dist/node_modules/graphql/jsutils/toError.js +1 -0
- package/dist/node_modules/graphql/jsutils/toObjMap.js +1 -0
- package/dist/node_modules/graphql/language/ast.js +1 -0
- package/dist/node_modules/graphql/language/blockString.js +3 -0
- package/dist/node_modules/graphql/language/characterClasses.js +1 -0
- package/dist/node_modules/graphql/language/directiveLocation.js +1 -0
- package/dist/node_modules/graphql/language/index.js +1 -0
- package/dist/node_modules/graphql/language/kinds.js +1 -0
- package/dist/node_modules/graphql/language/lexer.js +3 -0
- package/dist/node_modules/graphql/language/location.js +1 -0
- package/dist/node_modules/graphql/language/parser.js +1 -0
- package/dist/node_modules/graphql/language/predicates.js +1 -0
- package/dist/node_modules/graphql/language/printLocation.js +2 -0
- package/dist/node_modules/graphql/language/printString.js +1 -0
- package/dist/node_modules/graphql/language/printer.js +34 -0
- package/dist/node_modules/graphql/language/schemaCoordinateLexer.js +1 -0
- package/dist/node_modules/graphql/language/source.js +1 -0
- package/dist/node_modules/graphql/language/tokenKind.js +1 -0
- package/dist/node_modules/graphql/language/visitor.js +1 -0
- package/dist/node_modules/graphql/type/assertName.js +1 -0
- package/dist/node_modules/graphql/type/definition.js +1 -0
- package/dist/node_modules/graphql/type/directives.js +1 -0
- package/dist/node_modules/graphql/type/index.js +1 -0
- package/dist/node_modules/graphql/type/introspection.js +3 -0
- package/dist/node_modules/graphql/type/scalars.js +1 -0
- package/dist/node_modules/graphql/type/schema.js +1 -0
- package/dist/node_modules/graphql/type/validate.js +3 -0
- package/dist/node_modules/graphql/utilities/TypeInfo.js +1 -0
- package/dist/node_modules/graphql/utilities/assertValidName.js +1 -0
- package/dist/node_modules/graphql/utilities/astFromValue.js +1 -0
- package/dist/node_modules/graphql/utilities/buildASTSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/buildClientSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/coerceInputValue.js +1 -0
- package/dist/node_modules/graphql/utilities/concatAST.js +1 -0
- package/dist/node_modules/graphql/utilities/extendSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/findBreakingChanges.js +1 -0
- package/dist/node_modules/graphql/utilities/getIntrospectionQuery.js +107 -0
- package/dist/node_modules/graphql/utilities/getOperationAST.js +1 -0
- package/dist/node_modules/graphql/utilities/getOperationRootType.js +1 -0
- package/dist/node_modules/graphql/utilities/index.js +1 -0
- package/dist/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/lexicographicSortSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/printSchema.js +13 -0
- package/dist/node_modules/graphql/utilities/resolveSchemaCoordinate.js +1 -0
- package/dist/node_modules/graphql/utilities/separateOperations.js +1 -0
- package/dist/node_modules/graphql/utilities/sortValueNode.js +1 -0
- package/dist/node_modules/graphql/utilities/stripIgnoredCharacters.js +1 -0
- package/dist/node_modules/graphql/utilities/typeComparators.js +1 -0
- package/dist/node_modules/graphql/utilities/typeFromAST.js +1 -0
- package/dist/node_modules/graphql/utilities/valueFromAST.js +1 -0
- package/dist/node_modules/graphql/utilities/valueFromASTUntyped.js +1 -0
- package/dist/node_modules/graphql/validation/ValidationContext.js +1 -0
- package/dist/node_modules/graphql/validation/index.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownDirectivesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ScalarLeafsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +1 -0
- package/dist/node_modules/graphql/validation/specifiedRules.js +1 -0
- package/dist/node_modules/graphql/validation/validate.js +5 -0
- package/dist/node_modules/graphql/version.js +1 -0
- package/dist/onboarding-base.js +1 -2
- package/dist/openapi.js +1 -0
- package/dist/openbanking/docs/openbanking.docblock.js +109 -0
- package/dist/ownership.js +1 -2
- package/dist/policy/docs/policy.docblock.js +1 -0
- package/dist/policy/engine.js +1 -2
- package/dist/policy/opa-adapter.js +1 -2
- package/dist/policy/spec.js +1 -2
- package/dist/presentations/docs/presentations-conventions.docblock.js +8 -0
- package/dist/presentations.backcompat.js +1 -2
- package/dist/presentations.js +1 -2
- package/dist/presentations.v2.js +7 -2
- package/dist/prompt.js +1 -2
- package/dist/promptRegistry.js +1 -2
- package/dist/regenerator/docs/regenerator.docblock.js +184 -0
- package/dist/regenerator/executor.js +1 -2
- package/dist/regenerator/service.js +1 -2
- package/dist/regenerator/sinks.js +1 -2
- package/dist/regenerator/utils.js +1 -2
- package/dist/registry.js +1 -2
- package/dist/resources.js +1 -2
- package/dist/schema-to-markdown.js +10 -0
- package/dist/server/graphql-pothos.js +1 -2
- package/dist/server/index.js +1 -1
- package/dist/server/mcp/createMcpServer.js +1 -0
- package/dist/server/mcp/mcpTypes.js +0 -0
- package/dist/server/mcp/registerPresentations.js +1 -0
- package/dist/server/mcp/registerPrompts.js +3 -0
- package/dist/server/mcp/registerResources.js +1 -0
- package/dist/server/mcp/registerTools.js +1 -0
- package/dist/server/provider-mcp.js +1 -2
- package/dist/server/rest-elysia.js +1 -2
- package/dist/server/rest-express.js +1 -2
- package/dist/server/rest-generic.js +1 -2
- package/dist/server/rest-next-app.js +1 -2
- package/dist/server/rest-next-mcp.js +1 -2
- package/dist/server/rest-next-pages.js +1 -2
- package/dist/spec.js +1 -2
- package/dist/telemetry/anomaly.js +1 -2
- package/dist/telemetry/docs/telemetry.docblock.js +139 -0
- package/dist/telemetry/spec.js +1 -2
- package/dist/telemetry/tracker.js +1 -2
- package/dist/tests/runner.js +1 -2
- package/dist/tests/spec.js +1 -2
- package/dist/themes.js +1 -2
- package/dist/workflow/adapters/db-adapter.js +1 -2
- package/dist/workflow/adapters/file-adapter.js +1 -2
- package/dist/workflow/adapters/memory-store.js +1 -2
- package/dist/workflow/expression.js +1 -2
- package/dist/workflow/runner.js +1 -2
- package/dist/workflow/sla-monitor.js +1 -2
- package/dist/workflow/spec.js +1 -2
- package/dist/workflow/validation.js +1 -2
- package/package.json +353 -193
- package/dist/app-config/branding.d.ts +0 -56
- package/dist/app-config/branding.d.ts.map +0 -1
- package/dist/app-config/contracts.d.ts +0 -245
- package/dist/app-config/contracts.d.ts.map +0 -1
- package/dist/app-config/contracts.js.map +0 -1
- package/dist/app-config/events.d.ts +0 -123
- package/dist/app-config/events.d.ts.map +0 -1
- package/dist/app-config/events.js.map +0 -1
- package/dist/app-config/index.d.ts +0 -8
- package/dist/app-config/lifecycle-contracts.d.ts +0 -383
- 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 +0 -28
- package/dist/app-config/lifecycle.d.ts.map +0 -1
- package/dist/app-config/runtime.d.ts +0 -115
- 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 +0 -176
- 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 +0 -48
- package/dist/app-config/validation.d.ts.map +0 -1
- package/dist/app-config/validation.js.map +0 -1
- package/dist/capabilities/openbanking.d.ts +0 -10
- package/dist/capabilities/openbanking.d.ts.map +0 -1
- package/dist/capabilities/openbanking.js.map +0 -1
- package/dist/capabilities.d.ts +0 -46
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js.map +0 -1
- package/dist/client/index.d.ts +0 -6
- package/dist/client/react/drivers/rn-reusables.d.ts +0 -23
- 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 +0 -13
- 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 +0 -21
- 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 +0 -92
- package/dist/client/react/form-render.d.ts.map +0 -1
- package/dist/client/react/form-render.js.map +0 -1
- package/dist/client/react/index.d.ts +0 -5
- package/dist/contracts-adapter-hydration.d.ts +0 -16
- 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 +0 -11
- package/dist/contracts-adapter-input.d.ts.map +0 -1
- package/dist/contracts-adapter-input.js.map +0 -1
- package/dist/data-views/query-generator.d.ts +0 -40
- 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 +0 -27
- 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 +0 -132
- package/dist/data-views.d.ts.map +0 -1
- package/dist/data-views.js.map +0 -1
- package/dist/events.d.ts +0 -45
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/experiments/evaluator.d.ts +0 -38
- package/dist/experiments/evaluator.d.ts.map +0 -1
- package/dist/experiments/evaluator.js.map +0 -1
- package/dist/experiments/spec-resolver.d.ts +0 -17
- package/dist/experiments/spec-resolver.d.ts.map +0 -1
- package/dist/experiments/spec.d.ts +0 -90
- package/dist/experiments/spec.d.ts.map +0 -1
- package/dist/experiments/spec.js.map +0 -1
- package/dist/features.d.ts +0 -88
- package/dist/features.d.ts.map +0 -1
- package/dist/features.js.map +0 -1
- package/dist/forms.d.ts +0 -259
- package/dist/forms.d.ts.map +0 -1
- package/dist/forms.js.map +0 -1
- package/dist/graphql-federation/dist/index.js +0 -2
- package/dist/graphql-federation/dist/index.js.map +0 -1
- package/dist/index.d.ts +0 -130
- package/dist/install.d.ts +0 -77
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js.map +0 -1
- package/dist/integrations/binding.d.ts +0 -18
- package/dist/integrations/binding.d.ts.map +0 -1
- package/dist/integrations/connection.d.ts +0 -52
- package/dist/integrations/connection.d.ts.map +0 -1
- package/dist/integrations/contracts.d.ts +0 -436
- package/dist/integrations/contracts.d.ts.map +0 -1
- package/dist/integrations/contracts.js.map +0 -1
- package/dist/integrations/health.d.ts +0 -22
- package/dist/integrations/health.d.ts.map +0 -1
- package/dist/integrations/health.js.map +0 -1
- package/dist/integrations/index.d.ts +0 -53
- package/dist/integrations/openbanking/contracts/accounts.d.ts +0 -288
- 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 +0 -164
- 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 +0 -10
- 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 +0 -212
- 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 +0 -13
- 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 +0 -229
- package/dist/integrations/openbanking/models.d.ts.map +0 -1
- package/dist/integrations/openbanking/models.js.map +0 -1
- package/dist/integrations/openbanking/telemetry.d.ts +0 -16
- 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 +0 -79
- package/dist/integrations/providers/calendar.d.ts.map +0 -1
- package/dist/integrations/providers/elevenlabs.d.ts +0 -8
- 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 +0 -87
- package/dist/integrations/providers/email.d.ts.map +0 -1
- package/dist/integrations/providers/embedding.d.ts +0 -25
- package/dist/integrations/providers/embedding.d.ts.map +0 -1
- package/dist/integrations/providers/gcs-storage.d.ts +0 -8
- 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 +0 -8
- 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 +0 -8
- 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 +0 -21
- 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 +0 -25
- 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 +0 -27
- 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 +0 -19
- 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 +0 -24
- 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/index.d.ts +0 -15
- package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -24
- 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 +0 -32
- 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 +0 -20
- 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 +0 -125
- 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 +0 -28
- 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 +0 -27
- 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 +0 -25
- 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 +0 -29
- 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 +0 -21
- 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/index.d.ts +0 -36
- package/dist/integrations/providers/llm.d.ts +0 -83
- package/dist/integrations/providers/llm.d.ts.map +0 -1
- package/dist/integrations/providers/mistral.d.ts +0 -8
- 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 +0 -129
- package/dist/integrations/providers/openbanking.d.ts.map +0 -1
- package/dist/integrations/providers/payments.d.ts +0 -110
- package/dist/integrations/providers/payments.d.ts.map +0 -1
- package/dist/integrations/providers/postmark.d.ts +0 -8
- 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 +0 -8
- 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 +0 -8
- package/dist/integrations/providers/qdrant.d.ts.map +0 -1
- package/dist/integrations/providers/qdrant.js.map +0 -1
- package/dist/integrations/providers/sms.d.ts +0 -35
- package/dist/integrations/providers/sms.d.ts.map +0 -1
- package/dist/integrations/providers/storage.d.ts +0 -61
- package/dist/integrations/providers/storage.d.ts.map +0 -1
- package/dist/integrations/providers/stripe.d.ts +0 -8
- 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 +0 -8
- 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 +0 -44
- package/dist/integrations/providers/vector-store.d.ts.map +0 -1
- package/dist/integrations/providers/voice.d.ts +0 -35
- package/dist/integrations/providers/voice.d.ts.map +0 -1
- package/dist/integrations/runtime.d.ts +0 -100
- package/dist/integrations/runtime.d.ts.map +0 -1
- package/dist/integrations/runtime.js.map +0 -1
- package/dist/integrations/secrets/env-secret-provider.d.ts +0 -32
- 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 +0 -33
- 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/index.d.ts +0 -5
- package/dist/integrations/secrets/manager.d.ts +0 -48
- 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 +0 -53
- package/dist/integrations/secrets/provider.d.ts.map +0 -1
- package/dist/integrations/secrets/provider.js.map +0 -1
- package/dist/integrations/spec.d.ts +0 -80
- package/dist/integrations/spec.d.ts.map +0 -1
- package/dist/integrations/spec.js.map +0 -1
- package/dist/jobs/gcp-cloud-tasks.d.ts +0 -42
- 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 +0 -26
- 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 +0 -10
- 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 +0 -3
- package/dist/jobs/handlers/storage-document-handler.d.ts +0 -13
- 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/index.d.ts +0 -7
- package/dist/jobs/memory-queue.d.ts +0 -19
- 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 +0 -27
- package/dist/jobs/queue.d.ts.map +0 -1
- package/dist/jsonschema.d.ts +0 -27
- package/dist/jsonschema.d.ts.map +0 -1
- package/dist/jsonschema.js.map +0 -1
- package/dist/knowledge/binding.d.ts +0 -26
- package/dist/knowledge/binding.d.ts.map +0 -1
- package/dist/knowledge/contracts.d.ts +0 -317
- package/dist/knowledge/contracts.d.ts.map +0 -1
- package/dist/knowledge/contracts.js.map +0 -1
- package/dist/knowledge/index.d.ts +0 -10
- package/dist/knowledge/ingestion/document-processor.d.ts +0 -25
- 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 +0 -13
- 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 +0 -19
- 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/index.d.ts +0 -6
- package/dist/knowledge/ingestion/storage-adapter.d.ts +0 -16
- 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 +0 -19
- 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/index.d.ts +0 -2
- package/dist/knowledge/query/service.d.ts +0 -30
- 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 +0 -33
- package/dist/knowledge/runtime.d.ts.map +0 -1
- package/dist/knowledge/runtime.js.map +0 -1
- package/dist/knowledge/source.d.ts +0 -33
- package/dist/knowledge/source.d.ts.map +0 -1
- package/dist/knowledge/spaces/email-threads.d.ts +0 -8
- 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 +0 -8
- 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 +0 -8
- 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/index.d.ts +0 -7
- package/dist/knowledge/spaces/product-canon.d.ts +0 -8
- 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 +0 -8
- 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 +0 -8
- 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 +0 -53
- package/dist/knowledge/spec.d.ts.map +0 -1
- package/dist/knowledge/spec.js.map +0 -1
- package/dist/markdown.d.ts +0 -22
- package/dist/markdown.d.ts.map +0 -1
- package/dist/markdown.js.map +0 -1
- package/dist/migrations.d.ts +0 -53
- package/dist/migrations.d.ts.map +0 -1
- package/dist/migrations.js.map +0 -1
- package/dist/onboarding-base.d.ts +0 -138
- package/dist/onboarding-base.d.ts.map +0 -1
- package/dist/onboarding-base.js.map +0 -1
- package/dist/ownership.d.ts +0 -76
- package/dist/ownership.d.ts.map +0 -1
- package/dist/ownership.js.map +0 -1
- package/dist/policy/engine.d.ts +0 -40
- package/dist/policy/engine.d.ts.map +0 -1
- package/dist/policy/engine.js.map +0 -1
- package/dist/policy/opa-adapter.d.ts +0 -46
- 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 +0 -115
- package/dist/policy/spec.d.ts.map +0 -1
- package/dist/policy/spec.js.map +0 -1
- package/dist/presentations.backcompat.d.ts +0 -8
- package/dist/presentations.backcompat.d.ts.map +0 -1
- package/dist/presentations.backcompat.js.map +0 -1
- package/dist/presentations.d.ts +0 -97
- package/dist/presentations.d.ts.map +0 -1
- package/dist/presentations.js.map +0 -1
- package/dist/presentations.v2.d.ts +0 -96
- package/dist/presentations.v2.d.ts.map +0 -1
- package/dist/presentations.v2.js.map +0 -1
- package/dist/prompt.d.ts +0 -61
- package/dist/prompt.d.ts.map +0 -1
- package/dist/prompt.js.map +0 -1
- package/dist/promptRegistry.d.ts +0 -16
- package/dist/promptRegistry.d.ts.map +0 -1
- package/dist/promptRegistry.js.map +0 -1
- package/dist/regenerator/adapters.d.ts +0 -20
- package/dist/regenerator/adapters.d.ts.map +0 -1
- package/dist/regenerator/executor.d.ts +0 -71
- package/dist/regenerator/executor.d.ts.map +0 -1
- package/dist/regenerator/executor.js.map +0 -1
- package/dist/regenerator/index.d.ts +0 -7
- package/dist/regenerator/service.d.ts +0 -34
- package/dist/regenerator/service.d.ts.map +0 -1
- package/dist/regenerator/service.js.map +0 -1
- package/dist/regenerator/sinks.d.ts +0 -27
- package/dist/regenerator/sinks.d.ts.map +0 -1
- package/dist/regenerator/sinks.js.map +0 -1
- package/dist/regenerator/types.d.ts +0 -108
- package/dist/regenerator/types.d.ts.map +0 -1
- package/dist/regenerator/utils.d.ts +0 -10
- package/dist/regenerator/utils.d.ts.map +0 -1
- package/dist/regenerator/utils.js.map +0 -1
- package/dist/registry.d.ts +0 -73
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js.map +0 -1
- package/dist/resources.d.ts +0 -65
- package/dist/resources.d.ts.map +0 -1
- package/dist/resources.js.map +0 -1
- package/dist/schema/dist/EnumType.js +0 -1
- package/dist/schema/dist/FieldType.js +0 -2
- package/dist/schema/dist/FieldType.js.map +0 -1
- package/dist/schema/dist/ScalarTypeEnum.js +0 -2
- package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
- package/dist/schema/dist/SchemaModel.js +0 -2
- package/dist/schema/dist/SchemaModel.js.map +0 -1
- package/dist/schema/dist/index.js +0 -1
- package/dist/server/graphql-pothos.d.ts +0 -32
- package/dist/server/graphql-pothos.d.ts.map +0 -1
- package/dist/server/graphql-pothos.js.map +0 -1
- package/dist/server/graphql-schema-export.d.ts +0 -7
- package/dist/server/graphql-schema-export.d.ts.map +0 -1
- package/dist/server/graphql-schema-export.js +0 -2
- package/dist/server/graphql-schema-export.js.map +0 -1
- package/dist/server/index.d.ts +0 -9
- package/dist/server/provider-mcp.d.ts +0 -52
- package/dist/server/provider-mcp.d.ts.map +0 -1
- package/dist/server/provider-mcp.js.map +0 -1
- package/dist/server/rest-elysia.d.ts +0 -41
- 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 +0 -17
- 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 +0 -33
- 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 +0 -36
- 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 +0 -12
- 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 +0 -10
- 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 +0 -172
- package/dist/spec.d.ts.map +0 -1
- package/dist/spec.js.map +0 -1
- package/dist/telemetry/anomaly.d.ts +0 -28
- package/dist/telemetry/anomaly.d.ts.map +0 -1
- package/dist/telemetry/anomaly.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -4
- package/dist/telemetry/spec.d.ts +0 -99
- package/dist/telemetry/spec.d.ts.map +0 -1
- package/dist/telemetry/spec.js.map +0 -1
- package/dist/telemetry/tracker.d.ts +0 -52
- package/dist/telemetry/tracker.d.ts.map +0 -1
- package/dist/telemetry/tracker.js.map +0 -1
- package/dist/tests/index.d.ts +0 -3
- package/dist/tests/runner.d.ts +0 -44
- package/dist/tests/runner.d.ts.map +0 -1
- package/dist/tests/runner.js.map +0 -1
- package/dist/tests/spec.d.ts +0 -90
- package/dist/tests/spec.d.ts.map +0 -1
- package/dist/tests/spec.js.map +0 -1
- package/dist/themes.d.ts +0 -56
- package/dist/themes.d.ts.map +0 -1
- package/dist/themes.js.map +0 -1
- package/dist/translations/catalog.d.ts +0 -29
- package/dist/translations/catalog.d.ts.map +0 -1
- package/dist/translations/tenant.d.ts +0 -16
- package/dist/translations/tenant.d.ts.map +0 -1
- package/dist/types/all.d.ts +0 -60
- package/dist/types.d.ts +0 -89
- package/dist/types.d.ts.map +0 -1
- package/dist/workflow/adapters/db-adapter.d.ts +0 -35
- 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 +0 -15
- 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/index.d.ts +0 -4
- package/dist/workflow/adapters/memory-store.d.ts +0 -19
- 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 +0 -10
- package/dist/workflow/expression.d.ts.map +0 -1
- package/dist/workflow/expression.js.map +0 -1
- package/dist/workflow/index.d.ts +0 -10
- package/dist/workflow/runner.d.ts +0 -75
- package/dist/workflow/runner.d.ts.map +0 -1
- package/dist/workflow/runner.js.map +0 -1
- package/dist/workflow/sla-monitor.d.ts +0 -21
- 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 +0 -100
- package/dist/workflow/spec.d.ts.map +0 -1
- package/dist/workflow/spec.js.map +0 -1
- package/dist/workflow/state.d.ts +0 -36
- package/dist/workflow/state.d.ts.map +0 -1
- package/dist/workflow/validation.d.ts +0 -29
- package/dist/workflow/validation.d.ts.map +0 -1
- package/dist/workflow/validation.js.map +0 -1
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { PresentationDescriptorV2, PresentationTarget, TransformEngine } from "../../presentations.v2.js";
|
|
2
|
-
import { FeatureModuleSpec, FeatureRegistry } from "../../features.js";
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { BlockConfig } from "@blocknote/core";
|
|
5
|
-
|
|
6
|
-
//#region src/client/react/feature-render.d.ts
|
|
7
|
-
type ComponentMap = Record<string, React.ComponentType<any>>;
|
|
8
|
-
declare function createEngineWithDefaults(): TransformEngine;
|
|
9
|
-
declare function renderFeaturePresentation(engine: TransformEngine, target: PresentationTarget, desc: PresentationDescriptorV2, options?: {
|
|
10
|
-
componentMap?: ComponentMap;
|
|
11
|
-
reactProps?: Record<string, unknown>;
|
|
12
|
-
renderBlockNote?: (docJson: unknown, blockConfig?: BlockConfig) => React.ReactElement;
|
|
13
|
-
}): Promise<React.ReactElement | {
|
|
14
|
-
mimeType: string;
|
|
15
|
-
body: string;
|
|
16
|
-
} | null>;
|
|
17
|
-
declare function createFeatureModule(meta: FeatureModuleSpec['meta'], refs: Partial<Pick<FeatureModuleSpec, 'operations' | 'events' | 'presentations' | 'presentationsTargets'>>): FeatureModuleSpec;
|
|
18
|
-
declare function registerFeature(registry: FeatureRegistry, feature: FeatureModuleSpec): FeatureRegistry;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { ComponentMap, createEngineWithDefaults, createFeatureModule, registerFeature, renderFeaturePresentation };
|
|
21
|
-
//# sourceMappingURL=feature-render.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature-render.d.ts","names":[],"sources":["../../../src/client/react/feature-render.ts"],"sourcesContent":[],"mappings":";;;;;;KAaY,YAAA,GAAe,eAAe,KAAA,CAAM;iBAEhC,wBAAA,CAAA,GAA4B;AAFhC,iBAQU,yBAAA,CAR0B,MAArB,EASjB,eATuB,EAAA,MAAA,EAUvB,kBAVuB,EAAA,IAAA,EAWzB,wBAXyB,EAAA,OAUvB,CAVuB,EAAA;EAEjB,YAAA,CAAA,EAWG,YAXqB;EAMlB,UAAA,CAAA,EAML,MANK,CAAA,MAAA,EAAyB,OAAA,CAAA;EACrC,eAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAQU,WARV,EAAA,GASD,KAAA,CAAM,YATL;CACA,CAAA,EAUP,OAVO,CAUC,KAAA,CAAM,YAVP,GAAA;EACF,QAAA,EAAA,MAAA;EAEW,IAAA,EAAA,MAAA;CACF,GAAA,IAAA,CAAA;AAGG,iBAkCJ,mBAAA,CAlCI,IAAA,EAmCZ,iBAnCY,CAAA,MAAA,CAAA,EAAA,IAAA,EAoCZ,OApCY,CAqChB,IArCgB,CAsCd,iBAtCc,EAAA,YAAA,GAAA,QAAA,GAAA,eAAA,GAAA,sBAAA,CAAA,CAAA,CAAA,EA0CjB,iBA1CiB;AACL,iBA6CC,eAAA,CA7CD,QAAA,EA8CH,eA9CG,EAAA,OAAA,EA+CJ,iBA/CI,CAAA,EA+Ca,eA/Cb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature-render.js","names":[],"sources":["../../../src/client/react/feature-render.ts"],"sourcesContent":["import React from 'react';\nimport {\n createDefaultTransformEngine,\n type PresentationDescriptorV2,\n type PresentationTarget,\n type ReactRenderDescriptor,\n registerBasicValidation,\n registerDefaultReactRenderer,\n TransformEngine,\n} from '../../presentations.v2';\nimport { type FeatureModuleSpec, FeatureRegistry } from '../../features';\nimport type { BlockConfig } from '@blocknote/core';\n\nexport type ComponentMap = Record<string, React.ComponentType<any>>;\n\nexport function createEngineWithDefaults(): TransformEngine {\n return registerBasicValidation(\n registerDefaultReactRenderer(createDefaultTransformEngine())\n );\n}\n\nexport async function renderFeaturePresentation(\n engine: TransformEngine,\n target: PresentationTarget,\n desc: PresentationDescriptorV2,\n options?: {\n componentMap?: ComponentMap;\n reactProps?: Record<string, unknown>;\n renderBlockNote?: (\n docJson: unknown,\n blockConfig?: BlockConfig\n ) => React.ReactElement;\n }\n): Promise<React.ReactElement | { mimeType: string; body: string } | null> {\n if (target === 'react') {\n const rd = await engine.render<ReactRenderDescriptor>('react', desc);\n if (rd.kind === 'react_component') {\n const map = options?.componentMap ?? {};\n const C = map[rd.componentKey];\n if (!C) return null;\n const merged = {\n ...(rd.props ?? {}),\n ...(options?.reactProps ?? {}),\n } as any;\n return React.createElement(C, merged);\n }\n if (rd.kind === 'blocknotejs') {\n if (options?.renderBlockNote)\n return options.renderBlockNote(rd.docJson, rd.blockConfig);\n return React.createElement(\n 'div',\n {},\n '[BlockNote renderer not configured]'\n );\n }\n return null;\n }\n // Non-react targets\n if (target === 'markdown') return engine.render(target, desc);\n if (target === 'application/json') return engine.render(target, desc);\n if (target === 'application/xml') return engine.render(target, desc);\n return null;\n}\n\nexport function createFeatureModule(\n meta: FeatureModuleSpec['meta'],\n refs: Partial<\n Pick<\n FeatureModuleSpec,\n 'operations' | 'events' | 'presentations' | 'presentationsTargets'\n >\n >\n): FeatureModuleSpec {\n return { meta, ...refs };\n}\n\nexport function registerFeature(\n registry: FeatureRegistry,\n feature: FeatureModuleSpec\n) {\n registry.register(feature);\n return registry;\n}\n"],"mappings":"6JAeA,SAAgB,GAA4C,CAC1D,OAAO,EACL,EAA6B,GAA8B,CAAC,CAC7D,CAGH,eAAsB,EACpB,EACA,EACA,EACA,EAQyE,CACzE,GAAI,IAAW,QAAS,CACtB,IAAM,EAAK,MAAM,EAAO,OAA8B,QAAS,EAAK,CACpE,GAAI,EAAG,OAAS,kBAAmB,CAEjC,IAAM,GADM,GAAS,cAAgB,EAAE,EACzB,EAAG,cACjB,GAAI,CAAC,EAAG,OAAO,KACf,IAAM,EAAS,CACb,GAAI,EAAG,OAAS,EAAE,CAClB,GAAI,GAAS,YAAc,EAAE,CAC9B,CACD,OAAO,EAAM,cAAc,EAAG,EAAO,CAWvC,OATI,EAAG,OAAS,cACV,GAAS,gBACJ,EAAQ,gBAAgB,EAAG,QAAS,EAAG,YAAY,CACrD,EAAM,cACX,MACA,EAAE,CACF,sCACD,CAEI,KAMT,OAHI,IAAW,YACX,IAAW,oBACX,IAAW,kBAA0B,EAAO,OAAO,EAAQ,EAAK,CAC7D,KAGT,SAAgB,EACd,EACA,EAMmB,CACnB,MAAO,CAAE,OAAM,GAAG,EAAM,CAG1B,SAAgB,EACd,EACA,EACA,CAEA,OADA,EAAS,SAAS,EAAQ,CACnB"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { FormOption, FormSpec, FormValuesFor } from "../../forms.js";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
import { AnySchemaModel } from "@lssm/lib.schema";
|
|
5
|
-
|
|
6
|
-
//#region src/client/react/form-render.d.ts
|
|
7
|
-
interface DriverSlots {
|
|
8
|
-
Field: React.ComponentType<React.PropsWithChildren<{
|
|
9
|
-
'data-invalid'?: boolean;
|
|
10
|
-
hidden?: boolean;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
}>>;
|
|
13
|
-
FieldLabel: React.ComponentType<React.PropsWithChildren<{
|
|
14
|
-
htmlFor?: string;
|
|
15
|
-
}>>;
|
|
16
|
-
FieldDescription: React.ComponentType<React.PropsWithChildren<{}>>;
|
|
17
|
-
FieldError: React.ComponentType<{
|
|
18
|
-
errors: {
|
|
19
|
-
message?: string;
|
|
20
|
-
}[];
|
|
21
|
-
}>;
|
|
22
|
-
FieldGroup?: React.ComponentType<React.PropsWithChildren<{
|
|
23
|
-
className?: string;
|
|
24
|
-
}>>;
|
|
25
|
-
FieldSet?: React.ComponentType<React.PropsWithChildren<{
|
|
26
|
-
className?: string;
|
|
27
|
-
}>>;
|
|
28
|
-
FieldLegend?: React.ComponentType<React.PropsWithChildren<{
|
|
29
|
-
variant?: 'label' | 'default';
|
|
30
|
-
}>>;
|
|
31
|
-
Input: React.ComponentType<React.InputHTMLAttributes<HTMLInputElement>>;
|
|
32
|
-
Textarea: React.ComponentType<React.TextareaHTMLAttributes<HTMLTextAreaElement>>;
|
|
33
|
-
Select: React.ComponentType<{
|
|
34
|
-
id?: string;
|
|
35
|
-
name?: string;
|
|
36
|
-
value?: unknown;
|
|
37
|
-
onChange?: (v: any) => void;
|
|
38
|
-
disabled?: boolean;
|
|
39
|
-
'aria-invalid'?: boolean;
|
|
40
|
-
options: FormOption[];
|
|
41
|
-
} & Record<string, unknown>>;
|
|
42
|
-
Checkbox: React.ComponentType<{
|
|
43
|
-
id?: string;
|
|
44
|
-
name?: string;
|
|
45
|
-
checked?: boolean;
|
|
46
|
-
onCheckedChange?: (v: boolean) => void;
|
|
47
|
-
disabled?: boolean;
|
|
48
|
-
} & Record<string, unknown>>;
|
|
49
|
-
RadioGroup: React.ComponentType<{
|
|
50
|
-
id?: string;
|
|
51
|
-
name?: string;
|
|
52
|
-
value?: unknown;
|
|
53
|
-
onValueChange?: (v: any) => void;
|
|
54
|
-
disabled?: boolean;
|
|
55
|
-
options: FormOption[];
|
|
56
|
-
} & Record<string, unknown>>;
|
|
57
|
-
Switch: React.ComponentType<{
|
|
58
|
-
id?: string;
|
|
59
|
-
name?: string;
|
|
60
|
-
checked?: boolean;
|
|
61
|
-
onCheckedChange?: (v: boolean) => void;
|
|
62
|
-
disabled?: boolean;
|
|
63
|
-
} & Record<string, unknown>>;
|
|
64
|
-
Button: React.ComponentType<React.PropsWithChildren<{
|
|
65
|
-
type?: 'button' | 'submit' | 'reset';
|
|
66
|
-
variant?: string;
|
|
67
|
-
size?: string;
|
|
68
|
-
onClick?: () => void;
|
|
69
|
-
disabled?: boolean;
|
|
70
|
-
}>>;
|
|
71
|
-
}
|
|
72
|
-
type ResolverMap<TValues> = Record<string, (values: TValues, args?: any) => Promise<FormOption[]> | FormOption[]>;
|
|
73
|
-
type ComputationMap<TValues> = Record<string, (values: TValues) => any>;
|
|
74
|
-
interface CreateRendererOptions<TValues = any> {
|
|
75
|
-
driver: DriverSlots;
|
|
76
|
-
formOptions?: Record<string, unknown>;
|
|
77
|
-
onSubmitOverride?: (values: TValues, actionKey: string) => Promise<void> | void;
|
|
78
|
-
activeFlags?: string[];
|
|
79
|
-
resolvers?: ResolverMap<TValues>;
|
|
80
|
-
computations?: ComputationMap<TValues>;
|
|
81
|
-
unmountStrategy?: 'keep' | 'clear';
|
|
82
|
-
}
|
|
83
|
-
interface RenderOptions<TValues = any> {
|
|
84
|
-
defaultValues?: Partial<TValues>;
|
|
85
|
-
overrides?: Partial<CreateRendererOptions<TValues>>;
|
|
86
|
-
}
|
|
87
|
-
declare function createFormRenderer<M extends AnySchemaModel = AnySchemaModel>(base: CreateRendererOptions<FormValuesFor<M>>): {
|
|
88
|
-
render: (spec: FormSpec<M>, options?: RenderOptions<FormValuesFor<M>>) => react_jsx_runtime0.JSX.Element;
|
|
89
|
-
};
|
|
90
|
-
//#endregion
|
|
91
|
-
export { ComputationMap, CreateRendererOptions, DriverSlots, RenderOptions, ResolverMap, createFormRenderer };
|
|
92
|
-
//# sourceMappingURL=form-render.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-render.d.ts","names":[],"sources":["../../../src/client/react/form-render.tsx"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-render.js","names":["cur: any","Button"],"sources":["../../../src/client/react/form-render.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Controller, useFieldArray, useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type {\n ArrayFieldSpec,\n FieldSpec,\n FormOption,\n FormSpec,\n OptionsSource,\n FormValuesFor,\n} from '../../forms';\nimport { buildZodWithRelations, evalPredicate } from '../../forms';\nimport type { AnySchemaModel } from '@lssm/lib.schema';\n\n// Minimal, library-agnostic driver slots. Hosts can provide any UI lib via this interface.\nexport interface DriverSlots {\n Field: React.ComponentType<\n React.PropsWithChildren<{\n 'data-invalid'?: boolean;\n hidden?: boolean;\n disabled?: boolean;\n }>\n >;\n FieldLabel: React.ComponentType<\n React.PropsWithChildren<{ htmlFor?: string }>\n >;\n FieldDescription: React.ComponentType<React.PropsWithChildren<{}>>;\n FieldError: React.ComponentType<{ errors: { message?: string }[] }>;\n FieldGroup?: React.ComponentType<\n React.PropsWithChildren<{ className?: string }>\n >;\n FieldSet?: React.ComponentType<\n React.PropsWithChildren<{ className?: string }>\n >;\n FieldLegend?: React.ComponentType<\n React.PropsWithChildren<{ variant?: 'label' | 'default' }>\n >;\n\n Input: React.ComponentType<React.InputHTMLAttributes<HTMLInputElement>>;\n Textarea: React.ComponentType<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>\n >;\n // Select receives resolved options for simplicity\n Select: React.ComponentType<\n {\n id?: string;\n name?: string;\n value?: unknown;\n onChange?: (v: any) => void;\n disabled?: boolean;\n 'aria-invalid'?: boolean;\n options: FormOption[];\n } & Record<string, unknown>\n >;\n Checkbox: React.ComponentType<\n {\n id?: string;\n name?: string;\n checked?: boolean;\n onCheckedChange?: (v: boolean) => void;\n disabled?: boolean;\n } & Record<string, unknown>\n >;\n RadioGroup: React.ComponentType<\n {\n id?: string;\n name?: string;\n value?: unknown;\n onValueChange?: (v: any) => void;\n disabled?: boolean;\n options: FormOption[];\n } & Record<string, unknown>\n >;\n Switch: React.ComponentType<\n {\n id?: string;\n name?: string;\n checked?: boolean;\n onCheckedChange?: (v: boolean) => void;\n disabled?: boolean;\n } & Record<string, unknown>\n >;\n Button: React.ComponentType<\n React.PropsWithChildren<{\n type?: 'button' | 'submit' | 'reset';\n variant?: string;\n size?: string;\n onClick?: () => void;\n disabled?: boolean;\n }>\n >;\n}\n\nexport type ResolverMap<TValues> = Record<\n string,\n (values: TValues, args?: any) => Promise<FormOption[]> | FormOption[]\n>;\nexport type ComputationMap<TValues> = Record<string, (values: TValues) => any>;\n\nexport interface CreateRendererOptions<TValues = any> {\n driver: DriverSlots;\n formOptions?: Record<string, unknown>;\n onSubmitOverride?: (\n values: TValues,\n actionKey: string\n ) => Promise<void> | void;\n activeFlags?: string[];\n resolvers?: ResolverMap<TValues>;\n computations?: ComputationMap<TValues>;\n unmountStrategy?: 'keep' | 'clear';\n}\n\nexport interface RenderOptions<TValues = any> {\n defaultValues?: Partial<TValues>;\n overrides?: Partial<CreateRendererOptions<TValues>>;\n}\n\nfunction toOptionsArray(\n src: OptionsSource | FormOption[] | undefined\n): OptionsSource | undefined {\n if (!src) return undefined;\n if (Array.isArray(src)) return { kind: 'static', options: src };\n return src;\n}\n\nfunction getAtPath(values: unknown, path: string): unknown {\n if (!path) return undefined;\n const segs = path\n .replace(/\\[(\\d+)\\]/g, '.$1')\n .split('.')\n .filter(Boolean);\n let cur: any = values;\n for (const s of segs) {\n if (cur == null) return undefined;\n cur = cur[s as keyof typeof cur];\n }\n return cur;\n}\n\nfunction makeDepsKey(values: unknown, deps: string[] | undefined) {\n if (!deps || deps.length === 0) return '[]';\n try {\n return JSON.stringify(deps.map((d) => getAtPath(values, d)));\n } catch {\n return '[]';\n }\n}\n\nfunction useResolvedOptions<TValues>(\n values: TValues,\n source: OptionsSource | undefined,\n resolvers?: ResolverMap<TValues>\n): FormOption[] {\n const [opts, setOpts] = useState<FormOption[]>([]);\n const depKey = useMemo(() => {\n if (!source) return 'nil';\n if (source.kind === 'static') return JSON.stringify(source.options ?? []);\n return makeDepsKey(values, source.deps);\n }, [source, values]);\n\n useEffect(() => {\n let mounted = true;\n const run = async () => {\n if (!source) return setOpts([]);\n if (source.kind === 'static') return setOpts([...(source.options ?? [])]);\n const fn = resolvers?.[source.resolverKey];\n if (!fn) return setOpts([]);\n const res = await fn(values as any, source.args);\n if (mounted) setOpts([...(res ?? [])]);\n };\n run();\n return () => {\n mounted = false;\n };\n }, [depKey, source && (source as any).resolverKey]);\n return opts;\n}\n\nfunction fieldPath(\n parent: string | undefined,\n name?: string,\n arrayIndex?: number\n) {\n if (!name) return parent ?? '';\n const child =\n typeof arrayIndex === 'number'\n ? `${name.replace(/^\\$index$/, String(arrayIndex))}`\n : name;\n return parent\n ? `${parent}${typeof arrayIndex === 'number' ? `.${arrayIndex}` : ''}.${child}`.replace(\n /\\.+/g,\n '.'\n )\n : child;\n}\n\nexport function createFormRenderer<M extends AnySchemaModel = AnySchemaModel>(\n base: CreateRendererOptions<FormValuesFor<M>>\n) {\n const conf = base;\n const { driver } = conf;\n\n function InternalForm(props: {\n spec: FormSpec<M>;\n options?: RenderOptions<FormValuesFor<M>>;\n merged: CreateRendererOptions<FormValuesFor<M>>;\n }): React.ReactElement {\n const { spec, options, merged } = props;\n const baseZod = useMemo(() => buildZodWithRelations(spec), [spec]);\n const form = useForm<FormValuesFor<M>>({\n ...merged.formOptions,\n resolver: zodResolver(baseZod as any),\n defaultValues: options?.defaultValues as any,\n });\n\n const values = form.watch();\n\n const renderOne = (\n f: FieldSpec,\n parent?: string,\n arrayIndex?: number\n ): React.ReactElement | null => {\n const DriverField = driver.Field;\n const DriverLabel = driver.FieldLabel;\n const DriverDesc = driver.FieldDescription;\n const DriverError = driver.FieldError;\n const name = fieldPath(parent, f.name, arrayIndex);\n const visible = evalPredicate(values, f.visibleWhen);\n const enabled = evalPredicate(values, f.enabledWhen);\n const invalid = Boolean(form.getFieldState(name as any)?.invalid);\n\n if (!visible) return null;\n\n const id = name?.replace(/\\./g, '-');\n\n const commonWrapProps = {\n 'data-invalid': invalid,\n hidden: !visible,\n disabled: !enabled,\n } as any;\n const labelNode = f.labelI18n ? (\n <DriverLabel htmlFor={id}>{f.labelI18n}</DriverLabel>\n ) : null;\n const descNode = f.descriptionI18n ? (\n <DriverDesc>{f.descriptionI18n}</DriverDesc>\n ) : null;\n\n if (f.kind === 'group') {\n const children = f.fields.map((c: FieldSpec, i: number) => (\n <React.Fragment key={`${name}-${i}`}>\n {renderOne(c, name, arrayIndex)}\n </React.Fragment>\n ));\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n {children}\n {descNode}\n </DriverField>\n );\n }\n\n if (f.kind === 'array') {\n return renderArray(f as ArrayFieldSpec, parent);\n }\n\n // Leaf controls\n return (\n <Controller\n key={name}\n name={name as any}\n control={form.control}\n render={({ field, fieldState }) => {\n const err = fieldState.error ? [fieldState.error] : [];\n const ariaInvalid = fieldState.invalid || undefined;\n\n if (f.kind === 'text') {\n const Input = driver.Input;\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n <Input\n id={id}\n aria-invalid={ariaInvalid}\n placeholder={f.placeholderI18n}\n autoComplete={(f as any).autoComplete as any}\n inputMode={(f as any).inputMode as any}\n maxLength={(f as any).maxLength as any}\n minLength={(f as any).minLength as any}\n disabled={!enabled}\n {...field}\n {...(f.uiProps as any)}\n // Pass keyboard/autocomplete hints down for adapters that support them\n {...({\n keyboard: (f as any).keyboard,\n autoComplete:\n (f as any).keyboard?.autoComplete ??\n (f as any).autoComplete,\n } as any)}\n />\n {descNode}\n {fieldState.invalid ? (\n <DriverError errors={err as any} />\n ) : null}\n </DriverField>\n );\n }\n if (f.kind === 'textarea') {\n const Textarea = driver.Textarea;\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n <Textarea\n id={id}\n aria-invalid={ariaInvalid}\n placeholder={f.placeholderI18n}\n rows={(f as any).rows as any}\n maxLength={(f as any).maxLength as any}\n disabled={!enabled}\n {...field}\n {...(f.uiProps as any)}\n {...({\n keyboard: (f as any).keyboard,\n autoComplete:\n (f as any).keyboard?.autoComplete ??\n (f as any).autoComplete,\n } as any)}\n />\n {descNode}\n {fieldState.invalid ? (\n <DriverError errors={err as any} />\n ) : null}\n </DriverField>\n );\n }\n if (f.kind === 'select') {\n const Select = driver.Select;\n const src = toOptionsArray((f as any).options);\n const opts = useResolvedOptions(values, src, merged.resolvers);\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n <Select\n id={id}\n name={name}\n aria-invalid={ariaInvalid}\n disabled={!enabled}\n value={field.value}\n onChange={(v: any) => field.onChange(v)}\n options={opts}\n {...(f.uiProps as any)}\n />\n {descNode}\n {fieldState.invalid ? (\n <DriverError errors={err as any} />\n ) : null}\n </DriverField>\n );\n }\n if (f.kind === 'checkbox') {\n const Checkbox = driver.Checkbox;\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n <Checkbox\n id={id}\n name={name}\n disabled={!enabled}\n checked={!!field.value}\n onCheckedChange={(v: boolean) => field.onChange(v)}\n {...(f.uiProps as any)}\n />\n {descNode}\n {fieldState.invalid ? (\n <DriverError errors={err as any} />\n ) : null}\n </DriverField>\n );\n }\n if (f.kind === 'radio') {\n const RadioGroup = driver.RadioGroup;\n const src = toOptionsArray((f as any).options);\n const opts = useResolvedOptions(values, src, merged.resolvers);\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n <RadioGroup\n id={id}\n name={name}\n disabled={!enabled}\n value={field.value}\n onValueChange={(v: any) => field.onChange(v)}\n options={opts}\n {...(f.uiProps as any)}\n />\n {descNode}\n {fieldState.invalid ? (\n <DriverError errors={err as any} />\n ) : null}\n </DriverField>\n );\n }\n if (f.kind === 'switch') {\n const Switch = driver.Switch;\n return (\n <DriverField {...commonWrapProps}>\n {labelNode}\n <Switch\n id={id}\n name={name}\n disabled={!enabled}\n checked={!!field.value}\n onCheckedChange={(v: boolean) => field.onChange(v)}\n {...(f.uiProps as any)}\n />\n {descNode}\n {fieldState.invalid ? (\n <DriverError errors={err as any} />\n ) : null}\n </DriverField>\n );\n }\n return <></>;\n }}\n />\n );\n };\n\n const renderArray = (f: ArrayFieldSpec, parent?: string) => {\n const name = fieldPath(parent, f.name);\n const { fields, append, remove } = useFieldArray({\n control: form.control as any,\n name: name as any,\n });\n const canAdd = f.max == null || fields.length < f.max;\n const canRemove = (idx: number) =>\n (f.min == null ? fields.length > 0 : fields.length > f.min) && idx >= 0;\n const Button = driver.Button;\n const Label = driver.FieldLabel;\n return (\n <div key={name}>\n {f.labelI18n ? <Label>{f.labelI18n}</Label> : null}\n {fields.map((row, idx) => (\n <div key={row.id ?? idx}>\n {renderOne(f.of as FieldSpec, name, idx)}\n {canRemove(idx) ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => remove(idx)}\n >\n Remove\n </Button>\n ) : null}\n </div>\n ))}\n {canAdd ? (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n onClick={() => append({})}\n >\n Add\n </Button>\n ) : null}\n </div>\n );\n };\n\n const onSubmit = async (data: FormValuesFor<M>) => {\n const actionKey = spec.actions?.[0]?.key ?? 'submit';\n if (merged.onSubmitOverride) {\n return merged.onSubmitOverride(data, actionKey);\n }\n // default: noop\n };\n\n const Button = driver.Button;\n return (\n <form onSubmit={form.handleSubmit(onSubmit)}>\n {(spec.fields || []).map((f: FieldSpec, i: number) => (\n <React.Fragment key={i}>{renderOne(f)}</React.Fragment>\n ))}\n {spec.actions && spec.actions.length ? (\n <div>\n {spec.actions.map((a: { key: string; labelI18n: string }) => (\n <Button key={a.key} type=\"submit\">\n {a.labelI18n}\n </Button>\n ))}\n </div>\n ) : null}\n </form>\n );\n }\n\n return {\n render: (spec: FormSpec<M>, options?: RenderOptions<FormValuesFor<M>>) => (\n <InternalForm\n spec={spec}\n options={options}\n merged={{\n ...conf,\n ...(options?.overrides ?? {}),\n }}\n />\n ),\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ComponentMap, createEngineWithDefaults, createFeatureModule, registerFeature, renderFeaturePresentation } from "./feature-render.js";
|
|
2
|
-
import { ComputationMap, CreateRendererOptions, DriverSlots, RenderOptions, ResolverMap, createFormRenderer } from "./form-render.js";
|
|
3
|
-
import { ShadcnDriver, shadcnDriver } from "./drivers/shadcn.js";
|
|
4
|
-
import { RnReusablesDriver, rnReusablesDriver } from "./drivers/rn-reusables.js";
|
|
5
|
-
export { ComponentMap, ComputationMap, CreateRendererOptions, DriverSlots, RenderOptions, ResolverMap, RnReusablesDriver, ShadcnDriver, createEngineWithDefaults, createFeatureModule, createFormRenderer, registerFeature, renderFeaturePresentation, rnReusablesDriver, shadcnDriver };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ResourceRegistry } from "./resources.js";
|
|
2
|
-
|
|
3
|
-
//#region src/contracts-adapter-hydration.d.ts
|
|
4
|
-
interface ReturnsDecl {
|
|
5
|
-
isList: boolean;
|
|
6
|
-
inner: string;
|
|
7
|
-
}
|
|
8
|
-
declare function parseReturns(returnsLike: string): ReturnsDecl;
|
|
9
|
-
declare function hydrateResourceIfNeeded(resources: ResourceRegistry | undefined, result: unknown, opts: {
|
|
10
|
-
template?: string;
|
|
11
|
-
varName?: string;
|
|
12
|
-
returns: ReturnsDecl;
|
|
13
|
-
}): Promise<unknown>;
|
|
14
|
-
//#endregion
|
|
15
|
-
export { ReturnsDecl, hydrateResourceIfNeeded, parseReturns };
|
|
16
|
-
//# sourceMappingURL=contracts-adapter-hydration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts-adapter-hydration.d.ts","names":[],"sources":["../src/contracts-adapter-hydration.ts"],"sourcesContent":[],"mappings":";;;UAEiB,WAAA;;EAAA,KAAA,EAAA,MAAA;AAKjB;AASsB,iBATN,YAAA,CAS6B,WAAA,EAAA,MAAA,CAAA,EATM,WASN;AAChC,iBADS,uBAAA,CACT,SAAA,EAAA,gBAAA,GAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,EAAA;EAE2C,QAAA,CAAA,EAAA,MAAA;EACrD,OAAA,CAAA,EAAA,MAAA;EAAO,OAAA,EAD8C,WAC9C;IAAP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts-adapter-hydration.js","names":[],"sources":["../src/contracts-adapter-hydration.ts"],"sourcesContent":["import type { ResourceRegistry } from './resources';\n\nexport interface ReturnsDecl {\n isList: boolean;\n inner: string;\n}\n\nexport function parseReturns(returnsLike: string): ReturnsDecl {\n if (!returnsLike) return { isList: false, inner: 'JSON' };\n const trimmed = String(returnsLike).trim();\n if (trimmed.startsWith('[') && trimmed.endsWith(']')) {\n return { isList: true, inner: trimmed.slice(1, -1).trim() };\n }\n return { isList: false, inner: trimmed };\n}\n\nexport async function hydrateResourceIfNeeded(\n resources: ResourceRegistry | undefined,\n result: unknown,\n opts: { template?: string; varName?: string; returns: ReturnsDecl }\n): Promise<unknown> {\n if (!resources || !opts.template) return result;\n const varName = opts.varName ?? 'id';\n\n const hydrateOne = async (item: any) => {\n if (item && typeof item[varName] !== 'undefined') {\n const key = String(item[varName]);\n const uri = opts.template!.replace('{id}', key);\n const match = resources.match(uri);\n if (match) {\n const resolved = await match.tmpl.resolve(\n match.params as unknown as Record<string, string>,\n {}\n );\n try {\n return JSON.parse(String(resolved.data || 'null'));\n } catch {\n return resolved.data;\n }\n }\n }\n return item;\n };\n\n if (opts.returns.isList && Array.isArray(result)) {\n const hydrated = await Promise.all(result.map((x) => hydrateOne(x)));\n return hydrated;\n }\n return await hydrateOne(result as any);\n}\n"],"mappings":"AAOA,SAAgB,EAAa,EAAkC,CAC7D,GAAI,CAAC,EAAa,MAAO,CAAE,OAAQ,GAAO,MAAO,OAAQ,CACzD,IAAM,EAAU,OAAO,EAAY,CAAC,MAAM,CAI1C,OAHI,EAAQ,WAAW,IAAI,EAAI,EAAQ,SAAS,IAAI,CAC3C,CAAE,OAAQ,GAAM,MAAO,EAAQ,MAAM,EAAG,GAAG,CAAC,MAAM,CAAE,CAEtD,CAAE,OAAQ,GAAO,MAAO,EAAS,CAG1C,eAAsB,EACpB,EACA,EACA,EACkB,CAClB,GAAI,CAAC,GAAa,CAAC,EAAK,SAAU,OAAO,EACzC,IAAM,EAAU,EAAK,SAAW,KAE1B,EAAa,KAAO,IAAc,CACtC,GAAI,GAAe,EAAK,KAAa,OAAa,CAChD,IAAM,EAAM,OAAO,EAAK,GAAS,CAC3B,EAAM,EAAK,SAAU,QAAQ,OAAQ,EAAI,CACzC,EAAQ,EAAU,MAAM,EAAI,CAClC,GAAI,EAAO,CACT,IAAM,EAAW,MAAM,EAAM,KAAK,QAChC,EAAM,OACN,EAAE,CACH,CACD,GAAI,CACF,OAAO,KAAK,MAAM,OAAO,EAAS,MAAQ,OAAO,CAAC,MAC5C,CACN,OAAO,EAAS,OAItB,OAAO,GAOT,OAJI,EAAK,QAAQ,QAAU,MAAM,QAAQ,EAAO,CAC7B,MAAM,QAAQ,IAAI,EAAO,IAAK,GAAM,EAAW,EAAE,CAAC,CAAC,CAG/D,MAAM,EAAW,EAAc"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { SchemaTypes } from "@pothos/core";
|
|
2
|
-
import { AnySchemaModel } from "@lssm/lib.schema";
|
|
3
|
-
|
|
4
|
-
//#region src/contracts-adapter-input.d.ts
|
|
5
|
-
declare function isSchemaModel(x: unknown): x is AnySchemaModel;
|
|
6
|
-
declare function createInputTypeBuilder<T extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<T>): {
|
|
7
|
-
buildInputFieldArgs: (model: AnySchemaModel | null) => null;
|
|
8
|
-
};
|
|
9
|
-
//#endregion
|
|
10
|
-
export { createInputTypeBuilder, isSchemaModel };
|
|
11
|
-
//# sourceMappingURL=contracts-adapter-input.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts-adapter-input.d.ts","names":[],"sources":["../src/contracts-adapter-input.ts"],"sourcesContent":[],"mappings":";;;;iBAOgB,aAAA,mBAAgC;iBAgChC,iCAAiC,sBACtC,iBAAA,CAAkB,cAAc;EAjC3B,mBAAa,EAAA,CAAA,KAAA,EA8HS,cA9HwB,GAAA,IAAA,EAAA,GAAA,IAAA;AAgC9D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts-adapter-input.js","names":["acc: Record<string, unknown>","typeName"],"sources":["../src/contracts-adapter-input.ts"],"sourcesContent":["import type {\n AnyEnumType,\n AnyFieldType,\n AnySchemaModel,\n} from '@lssm/lib.schema';\nimport type { SchemaTypes } from '@pothos/core';\n\nexport function isSchemaModel(x: unknown): x is AnySchemaModel {\n return (\n typeof (x as AnySchemaModel | undefined)?.getPothosInput === 'function' &&\n typeof (x as AnySchemaModel | undefined)?.getZod === 'function'\n );\n}\n\ninterface PothosNamed {\n getPothos: () => { name: string };\n}\nfunction isFieldType(\n x: unknown\n): x is AnyFieldType | AnyEnumType | PothosNamed {\n return typeof (x as { getPothos?: unknown })?.getPothos === 'function';\n}\n\nfunction isEnumType(x: unknown): x is AnyEnumType {\n return (\n typeof (x as { getEnumValues?: unknown })?.getEnumValues === 'function' &&\n typeof (x as { getPothos?: unknown })?.getPothos === 'function'\n );\n}\n\nfunction mapScalarName(name: string): string {\n if (name === 'Boolean_unsecure') return 'Boolean';\n if (name === 'ID_unsecure') return 'ID';\n if (name === 'String_unsecure') return 'String';\n if (name === 'Int_unsecure') return 'Int';\n if (name === 'Float_unsecure') return 'Float';\n return name;\n}\n\nexport function createInputTypeBuilder<T extends SchemaTypes>(\n builder: PothosSchemaTypes.SchemaBuilder<T>\n) {\n const inputTypeCache = new Map<string, unknown>();\n const enumTypeCache = new Set<string>();\n\n function registerEnumsForModel(model: AnySchemaModel) {\n const entries = Object.entries(model.config.fields) as [\n string,\n {\n type:\n | AnySchemaModel['config']['fields'][string]['type']\n | AnySchemaModel;\n isOptional: boolean;\n isArray?: boolean;\n },\n ][];\n for (const [, field] of entries) {\n if (isSchemaModel(field.type as unknown)) {\n registerEnumsForModel(field.type as unknown as AnySchemaModel);\n } else if (isEnumType((field as { type: unknown }).type)) {\n const enumObj = field.type as unknown as AnyEnumType;\n const name =\n (enumObj as { getName?: () => string }).getName?.() ??\n enumObj.getPothos().name;\n if (!enumTypeCache.has(name)) {\n builder.enumType(name as any, {\n values: enumObj.getEnumValues() as any,\n });\n enumTypeCache.add(name);\n }\n }\n }\n }\n\n function ensureInputTypeForModel(model: AnySchemaModel) {\n const typeName = String(model.config?.name ?? 'Input');\n const cached = inputTypeCache.get(typeName) as unknown;\n if (cached) return cached;\n // Pre-register any enum types used within this model (including nested models)\n registerEnumsForModel(model);\n const created = builder.inputType(model.getPothosInput(), {\n fields: (t) => {\n const entries = Object.entries(model.config.fields) as [\n string,\n {\n type:\n | AnySchemaModel['config']['fields'][string]['type']\n | AnySchemaModel;\n isOptional: boolean;\n isArray?: boolean;\n },\n ][];\n const acc: Record<string, unknown> = {};\n for (const [key, field] of entries) {\n if (isSchemaModel(field.type as unknown)) {\n const nested = ensureInputTypeForModel(\n field.type as unknown as AnySchemaModel\n );\n const typeRef = field.isArray\n ? ([nested] as never)\n : (nested as never);\n acc[key] = t.field({\n type: typeRef,\n required: !field.isOptional,\n });\n } else if (isFieldType((field as { type: unknown }).type)) {\n const typeName = mapScalarName(\n String((field.type as PothosNamed).getPothos().name)\n );\n const typeRef = field.isArray\n ? ([typeName] as never)\n : (typeName as never);\n acc[key] = t.field({\n type: typeRef,\n required: !field.isOptional,\n });\n } else {\n const typeRef = field.isArray\n ? (['JSON'] as never)\n : ('JSON' as never);\n acc[key] = t.field({\n type: typeRef,\n required: !field.isOptional,\n });\n }\n }\n return acc as never;\n },\n });\n inputTypeCache.set(typeName, created);\n return created;\n }\n\n function buildInputFieldArgs(model: AnySchemaModel | null) {\n if (!model) return null;\n if (\n !model.config?.fields ||\n Object.keys(model.config.fields).length === 0\n ) {\n return null;\n }\n const ref = ensureInputTypeForModel(model);\n return ref as never;\n }\n\n return { buildInputFieldArgs };\n}\n"],"mappings":"AAOA,SAAgB,EAAc,EAAiC,CAC7D,OACE,OAAQ,GAAkC,gBAAmB,YAC7D,OAAQ,GAAkC,QAAW,WAOzD,SAAS,EACP,EAC+C,CAC/C,OAAO,OAAQ,GAA+B,WAAc,WAG9D,SAAS,EAAW,EAA8B,CAChD,OACE,OAAQ,GAAmC,eAAkB,YAC7D,OAAQ,GAA+B,WAAc,WAIzD,SAAS,EAAc,EAAsB,CAM3C,OALI,IAAS,mBAA2B,UACpC,IAAS,cAAsB,KAC/B,IAAS,kBAA0B,SACnC,IAAS,eAAuB,MAChC,IAAS,iBAAyB,QAC/B,EAGT,SAAgB,EACd,EACA,CACA,IAAM,EAAiB,IAAI,IACrB,EAAgB,IAAI,IAE1B,SAAS,EAAsB,EAAuB,CACpD,IAAM,EAAU,OAAO,QAAQ,EAAM,OAAO,OAAO,CAUnD,IAAK,GAAM,EAAG,KAAU,EACtB,GAAI,EAAc,EAAM,KAAgB,CACtC,EAAsB,EAAM,KAAkC,SACrD,EAAY,EAA4B,KAAK,CAAE,CACxD,IAAM,EAAU,EAAM,KAChB,EACH,EAAuC,WAAW,EACnD,EAAQ,WAAW,CAAC,KACjB,EAAc,IAAI,EAAK,GAC1B,EAAQ,SAAS,EAAa,CAC5B,OAAQ,EAAQ,eAAe,CAChC,CAAC,CACF,EAAc,IAAI,EAAK,GAM/B,SAAS,EAAwB,EAAuB,CACtD,IAAM,EAAW,OAAO,EAAM,QAAQ,MAAQ,QAAQ,CAChD,EAAS,EAAe,IAAI,EAAS,CAC3C,GAAI,EAAQ,OAAO,EAEnB,EAAsB,EAAM,CAC5B,IAAM,EAAU,EAAQ,UAAU,EAAM,gBAAgB,CAAE,CACxD,OAAS,GAAM,CACb,IAAM,EAAU,OAAO,QAAQ,EAAM,OAAO,OAAO,CAU7CA,EAA+B,EAAE,CACvC,IAAK,GAAM,CAAC,EAAK,KAAU,EACzB,GAAI,EAAc,EAAM,KAAgB,CAAE,CACxC,IAAM,EAAS,EACb,EAAM,KACP,CACK,EAAU,EAAM,QACjB,CAAC,EAAO,CACR,EACL,EAAI,GAAO,EAAE,MAAM,CACjB,KAAM,EACN,SAAU,CAAC,EAAM,WAClB,CAAC,SACO,EAAa,EAA4B,KAAK,CAAE,CACzD,IAAMC,EAAW,EACf,OAAQ,EAAM,KAAqB,WAAW,CAAC,KAAK,CACrD,CACK,EAAU,EAAM,QACjB,CAACA,EAAS,CACVA,EACL,EAAI,GAAO,EAAE,MAAM,CACjB,KAAM,EACN,SAAU,CAAC,EAAM,WAClB,CAAC,KACG,CACL,IAAM,EAAU,EAAM,QACjB,CAAC,OAAO,CACR,OACL,EAAI,GAAO,EAAE,MAAM,CACjB,KAAM,EACN,SAAU,CAAC,EAAM,WAClB,CAAC,CAGN,OAAO,GAEV,CAAC,CAEF,OADA,EAAe,IAAI,EAAU,EAAQ,CAC9B,EAGT,SAAS,EAAoB,EAA8B,CASzD,MARI,CAAC,GAEH,CAAC,EAAM,QAAQ,QACf,OAAO,KAAK,EAAM,OAAO,OAAO,CAAC,SAAW,EAErC,KAEG,EAAwB,EAAM,CAI5C,MAAO,CAAE,sBAAqB"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { DataViewSpec } from "../data-views.js";
|
|
2
|
-
|
|
3
|
-
//#region src/data-views/query-generator.d.ts
|
|
4
|
-
interface DataViewQueryParams {
|
|
5
|
-
filters?: Record<string, any>;
|
|
6
|
-
sort?: {
|
|
7
|
-
field: string;
|
|
8
|
-
direction: 'asc' | 'desc';
|
|
9
|
-
};
|
|
10
|
-
pagination?: {
|
|
11
|
-
page: number;
|
|
12
|
-
pageSize: number;
|
|
13
|
-
};
|
|
14
|
-
search?: string;
|
|
15
|
-
}
|
|
16
|
-
interface DataViewQuery {
|
|
17
|
-
operationName: string;
|
|
18
|
-
input: Record<string, any>;
|
|
19
|
-
meta: {
|
|
20
|
-
pagination: {
|
|
21
|
-
page: number;
|
|
22
|
-
pageSize: number;
|
|
23
|
-
skip: number;
|
|
24
|
-
take: number;
|
|
25
|
-
};
|
|
26
|
-
sorting?: {
|
|
27
|
-
field: string;
|
|
28
|
-
direction: 'asc' | 'desc';
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
declare class DataViewQueryGenerator {
|
|
33
|
-
private spec;
|
|
34
|
-
constructor(spec: DataViewSpec);
|
|
35
|
-
generate(params: DataViewQueryParams): DataViewQuery;
|
|
36
|
-
validateParams(params: DataViewQueryParams): string[];
|
|
37
|
-
}
|
|
38
|
-
//#endregion
|
|
39
|
-
export { DataViewQuery, DataViewQueryGenerator, DataViewQueryParams };
|
|
40
|
-
//# sourceMappingURL=query-generator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-generator.d.ts","names":[],"sources":["../../src/data-views/query-generator.ts"],"sourcesContent":[],"mappings":";;;UAEiB,mBAAA;YACL;EADK,IAAA,CAAA,EAAA;IAOA,KAAA,EAAA,MAAa;IASjB,SAAA,EAAA,KAAA,GAAA,MAAsB;EACP,CAAA;EAET,UAAA,CAAA,EAAA;IAAsB,IAAA,EAAA,MAAA;IAiChB,QAAA,EAAA,MAAA;EAAmB,CAAA;;;UA7C3B,aAAA;;SAER;;;;;;;;;;;;;;cAOI,sBAAA;;oBACe;mBAET,sBAAsB;yBAiChB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-generator.js","names":["spec: DataViewSpec","input: Record<string, any>","errors: string[]"],"sources":["../../src/data-views/query-generator.ts"],"sourcesContent":["import type { DataViewSpec } from '../data-views';\n\nexport interface DataViewQueryParams {\n filters?: Record<string, any>;\n sort?: { field: string; direction: 'asc' | 'desc' };\n pagination?: { page: number; pageSize: number };\n search?: string;\n}\n\nexport interface DataViewQuery {\n operationName: string;\n input: Record<string, any>;\n meta: {\n pagination: { page: number; pageSize: number; skip: number; take: number };\n sorting?: { field: string; direction: 'asc' | 'desc' };\n };\n}\n\nexport class DataViewQueryGenerator {\n constructor(private spec: DataViewSpec) {}\n\n generate(params: DataViewQueryParams): DataViewQuery {\n const { primary } = this.spec.source;\n const page = params.pagination?.page ?? 1;\n const pageSize = params.pagination?.pageSize ?? 20;\n const skip = (page - 1) * pageSize;\n const take = pageSize;\n\n const input: Record<string, any> = {\n skip,\n take,\n ...params.filters,\n };\n\n if (params.search) {\n input.search = params.search;\n }\n\n if (params.sort) {\n input.orderBy = {\n [params.sort.field]: params.sort.direction,\n };\n }\n\n return {\n operationName: primary.name,\n input,\n meta: {\n pagination: { page, pageSize, skip, take },\n sorting: params.sort,\n },\n };\n }\n\n validateParams(params: DataViewQueryParams): string[] {\n const errors: string[] = [];\n\n // Validate filters against spec\n if (params.filters && this.spec.view.filters) {\n for (const key of Object.keys(params.filters)) {\n const defined = this.spec.view.filters.find((f) => f.key === key);\n if (!defined) {\n errors.push(`Unknown filter key: ${key}`);\n }\n }\n }\n\n // Validate sort field\n if (params.sort) {\n const field = this.spec.view.fields.find(\n (f) => f.key === params.sort!.field\n );\n if (!field) {\n errors.push(`Unknown sort field: ${params.sort.field}`);\n } else if (field.sortable === false) {\n errors.push(`Field is not sortable: ${params.sort.field}`);\n }\n }\n\n return errors;\n }\n}\n"],"mappings":"AAkBA,IAAa,EAAb,KAAoC,CAClC,YAAY,EAA4B,CAApB,KAAA,KAAA,EAEpB,SAAS,EAA4C,CACnD,GAAM,CAAE,WAAY,KAAK,KAAK,OACxB,EAAO,EAAO,YAAY,MAAQ,EAClC,EAAW,EAAO,YAAY,UAAY,GAC1C,GAAQ,EAAO,GAAK,EACpB,EAAO,EAEPC,EAA6B,CACjC,OACA,OACA,GAAG,EAAO,QACX,CAYD,OAVI,EAAO,SACT,EAAM,OAAS,EAAO,QAGpB,EAAO,OACT,EAAM,QAAU,EACb,EAAO,KAAK,OAAQ,EAAO,KAAK,UAClC,EAGI,CACL,cAAe,EAAQ,KACvB,QACA,KAAM,CACJ,WAAY,CAAE,OAAM,WAAU,OAAM,OAAM,CAC1C,QAAS,EAAO,KACjB,CACF,CAGH,eAAe,EAAuC,CACpD,IAAMC,EAAmB,EAAE,CAG3B,GAAI,EAAO,SAAW,KAAK,KAAK,KAAK,YAC9B,IAAM,KAAO,OAAO,KAAK,EAAO,QAAQ,CAC3B,KAAK,KAAK,KAAK,QAAQ,KAAM,GAAM,EAAE,MAAQ,EAAI,EAE/D,EAAO,KAAK,uBAAuB,IAAM,CAM/C,GAAI,EAAO,KAAM,CACf,IAAM,EAAQ,KAAK,KAAK,KAAK,OAAO,KACjC,GAAM,EAAE,MAAQ,EAAO,KAAM,MAC/B,CACI,EAEM,EAAM,WAAa,IAC5B,EAAO,KAAK,0BAA0B,EAAO,KAAK,QAAQ,CAF1D,EAAO,KAAK,uBAAuB,EAAO,KAAK,QAAQ,CAM3D,OAAO"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { DataViewRegistry, DataViewSpec } from "../data-views.js";
|
|
2
|
-
|
|
3
|
-
//#region src/data-views/runtime.d.ts
|
|
4
|
-
interface DataViewRuntimeConfig {
|
|
5
|
-
registry: DataViewRegistry;
|
|
6
|
-
}
|
|
7
|
-
interface DataViewResult<T = any> {
|
|
8
|
-
data: T[];
|
|
9
|
-
total: number;
|
|
10
|
-
loading: boolean;
|
|
11
|
-
error?: Error;
|
|
12
|
-
}
|
|
13
|
-
declare class DataViewRuntime {
|
|
14
|
-
private config;
|
|
15
|
-
private cache;
|
|
16
|
-
private subscriptions;
|
|
17
|
-
constructor(config: DataViewRuntimeConfig);
|
|
18
|
-
register(spec: DataViewSpec): void;
|
|
19
|
-
getSpec(name: string, version?: number): DataViewSpec | undefined;
|
|
20
|
-
executeQuery(specName: string, params: any): Promise<DataViewResult>;
|
|
21
|
-
invalidate(specName: string): void;
|
|
22
|
-
subscribe(specName: string, callback: () => void): () => void;
|
|
23
|
-
private notifySubscribers;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { DataViewResult, DataViewRuntime, DataViewRuntimeConfig };
|
|
27
|
-
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","names":[],"sources":["../../src/data-views/runtime.ts"],"sourcesContent":[],"mappings":";;;UAEiB,qBAAA;YACL;AADZ;AAKiB,UAAA,cAAc,CAAA,IACvB,GAGE,CAAA,CAAA;EAGG,IAAA,EANL,CAMK,EAAA;EAIiB,KAAA,EAAA,MAAA;EAEb,OAAA,EAAA,OAAA;EAIuB,KAAA,CAAA,EAb9B,KAa8B;;AAMa,cAhBxC,eAAA,CAgBwC;EAAO,QAAA,MAAA;;;sBAZ9B;iBAEb;2CAIuB;+CAMa,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","names":["config: DataViewRuntimeConfig"],"sources":["../../src/data-views/runtime.ts"],"sourcesContent":["import { DataViewRegistry, type DataViewSpec } from '../data-views';\n\nexport interface DataViewRuntimeConfig {\n registry: DataViewRegistry;\n // eventBus?: EventBus; // To be integrated with actual bus implementation\n}\n\nexport interface DataViewResult<T = any> {\n data: T[];\n total: number;\n loading: boolean;\n error?: Error;\n}\n\nexport class DataViewRuntime {\n private cache = new Map<string, { data: any[]; timestamp: number }>();\n private subscriptions = new Map<string, Set<() => void>>();\n\n constructor(private config: DataViewRuntimeConfig) {}\n\n register(spec: DataViewSpec) {\n this.config.registry.register(spec);\n }\n\n getSpec(name: string, version?: number) {\n return this.config.registry.get(name, version);\n }\n\n // Simulating query execution for now as we don't have a full backend context here\n // In a real app, this would call the backend API via an adapter\n async executeQuery(specName: string, params: any): Promise<DataViewResult> {\n const spec = this.getSpec(specName);\n if (!spec) {\n throw new Error(`DataView spec not found: ${specName}`);\n }\n\n // TODO: Implement actual data fetching via Operation runtime\n // For now, return empty or cached data\n\n return {\n data: [],\n total: 0,\n loading: false,\n };\n }\n\n invalidate(specName: string) {\n this.cache.delete(specName);\n this.notifySubscribers(specName);\n }\n\n subscribe(specName: string, callback: () => void) {\n if (!this.subscriptions.has(specName)) {\n this.subscriptions.set(specName, new Set());\n }\n this.subscriptions.get(specName)!.add(callback);\n return () => {\n this.subscriptions.get(specName)?.delete(callback);\n };\n }\n\n private notifySubscribers(specName: string) {\n this.subscriptions.get(specName)?.forEach((cb) => cb());\n }\n}\n"],"mappings":"AAcA,IAAa,EAAb,KAA6B,CAC3B,MAAgB,IAAI,IACpB,cAAwB,IAAI,IAE5B,YAAY,EAAuC,CAA/B,KAAA,OAAA,EAEpB,SAAS,EAAoB,CAC3B,KAAK,OAAO,SAAS,SAAS,EAAK,CAGrC,QAAQ,EAAc,EAAkB,CACtC,OAAO,KAAK,OAAO,SAAS,IAAI,EAAM,EAAQ,CAKhD,MAAM,aAAa,EAAkB,EAAsC,CAEzE,GAAI,CADS,KAAK,QAAQ,EAAS,CAEjC,MAAU,MAAM,4BAA4B,IAAW,CAMzD,MAAO,CACL,KAAM,EAAE,CACR,MAAO,EACP,QAAS,GACV,CAGH,WAAW,EAAkB,CAC3B,KAAK,MAAM,OAAO,EAAS,CAC3B,KAAK,kBAAkB,EAAS,CAGlC,UAAU,EAAkB,EAAsB,CAKhD,OAJK,KAAK,cAAc,IAAI,EAAS,EACnC,KAAK,cAAc,IAAI,EAAU,IAAI,IAAM,CAE7C,KAAK,cAAc,IAAI,EAAS,CAAE,IAAI,EAAS,KAClC,CACX,KAAK,cAAc,IAAI,EAAS,EAAE,OAAO,EAAS,EAItD,kBAA0B,EAAkB,CAC1C,KAAK,cAAc,IAAI,EAAS,EAAE,QAAS,GAAO,GAAI,CAAC"}
|
package/dist/data-views.d.ts
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { OwnerShipMeta } from "./ownership.js";
|
|
2
|
-
import { ExperimentRef } from "./experiments/spec.js";
|
|
3
|
-
import { EventRef, OpRef, PresentationRef } from "./features.js";
|
|
4
|
-
|
|
5
|
-
//#region src/data-views.d.ts
|
|
6
|
-
type DataViewKind = 'list' | 'detail' | 'table' | 'grid';
|
|
7
|
-
interface DataViewMeta extends OwnerShipMeta {
|
|
8
|
-
/** Fully-qualified data view name (e.g., "sigil.spaces.admin_list"). */
|
|
9
|
-
name: string;
|
|
10
|
-
/** Version of this data view. Increment on breaking changes. */
|
|
11
|
-
version: number;
|
|
12
|
-
/** Canonical entity slug (e.g., "space", "resident"). */
|
|
13
|
-
entity: string;
|
|
14
|
-
}
|
|
15
|
-
interface DataViewSource {
|
|
16
|
-
/** Primary query used to fetch items for this view. */
|
|
17
|
-
primary: OpRef;
|
|
18
|
-
/** Optional operation used to fetch a single item (detail views). */
|
|
19
|
-
item?: OpRef;
|
|
20
|
-
/** Optional record mutation operations (used for inline editing or actions). */
|
|
21
|
-
mutations?: {
|
|
22
|
-
create?: OpRef;
|
|
23
|
-
update?: OpRef;
|
|
24
|
-
delete?: OpRef;
|
|
25
|
-
};
|
|
26
|
-
/** Events that should trigger refresh when emitted. */
|
|
27
|
-
refreshEvents?: EventRef[];
|
|
28
|
-
}
|
|
29
|
-
type DataViewFieldFormat = 'text' | 'number' | 'currency' | 'percentage' | 'date' | 'dateTime' | 'boolean' | 'badge';
|
|
30
|
-
interface DataViewField {
|
|
31
|
-
/** Unique identifier for the field within the view. */
|
|
32
|
-
key: string;
|
|
33
|
-
/** Human-friendly label for headers/tooltips. */
|
|
34
|
-
label: string;
|
|
35
|
-
/** Dot-path into the data item (e.g., "address.city"). */
|
|
36
|
-
dataPath: string;
|
|
37
|
-
/** Optional description surfaced in tooltips or docs. */
|
|
38
|
-
description?: string;
|
|
39
|
-
/** Optional formatting hint for renderers. */
|
|
40
|
-
format?: DataViewFieldFormat;
|
|
41
|
-
/** When true, the field can be used for sorting. */
|
|
42
|
-
sortable?: boolean;
|
|
43
|
-
/** When true, the field can be used for filtering. */
|
|
44
|
-
filterable?: boolean;
|
|
45
|
-
/** Optional width hint for table layouts. */
|
|
46
|
-
width?: 'auto' | 'xs' | 'sm' | 'md' | 'lg';
|
|
47
|
-
/** Optional presentation override (e.g., card component). */
|
|
48
|
-
presentation?: PresentationRef;
|
|
49
|
-
}
|
|
50
|
-
interface DataViewFilter {
|
|
51
|
-
key: string;
|
|
52
|
-
label: string;
|
|
53
|
-
field: string;
|
|
54
|
-
type: 'search' | 'enum' | 'number' | 'date' | 'boolean';
|
|
55
|
-
options?: {
|
|
56
|
-
value: string;
|
|
57
|
-
label: string;
|
|
58
|
-
}[];
|
|
59
|
-
}
|
|
60
|
-
interface DataViewAction {
|
|
61
|
-
key: string;
|
|
62
|
-
label: string;
|
|
63
|
-
kind: 'navigation' | 'operation';
|
|
64
|
-
/** Operation invoked when kind === 'operation'. */
|
|
65
|
-
operation?: OpRef;
|
|
66
|
-
/** Optional feature flag gating the action. */
|
|
67
|
-
requiresFlag?: string;
|
|
68
|
-
}
|
|
69
|
-
interface DataViewSections {
|
|
70
|
-
title?: string;
|
|
71
|
-
description?: string;
|
|
72
|
-
fields: string[];
|
|
73
|
-
}
|
|
74
|
-
interface DataViewBaseConfig {
|
|
75
|
-
kind: DataViewKind;
|
|
76
|
-
fields: DataViewField[];
|
|
77
|
-
primaryField?: string;
|
|
78
|
-
secondaryFields?: string[];
|
|
79
|
-
filters?: DataViewFilter[];
|
|
80
|
-
actions?: DataViewAction[];
|
|
81
|
-
}
|
|
82
|
-
interface DataViewListConfig extends DataViewBaseConfig {
|
|
83
|
-
kind: 'list';
|
|
84
|
-
layout?: 'card' | 'compact';
|
|
85
|
-
}
|
|
86
|
-
interface DataViewDetailConfig extends DataViewBaseConfig {
|
|
87
|
-
kind: 'detail';
|
|
88
|
-
sections?: DataViewSections[];
|
|
89
|
-
}
|
|
90
|
-
interface DataViewTableColumn {
|
|
91
|
-
field: string;
|
|
92
|
-
label?: string;
|
|
93
|
-
width?: 'auto' | 'xs' | 'sm' | 'md' | 'lg';
|
|
94
|
-
align?: 'left' | 'center' | 'right';
|
|
95
|
-
}
|
|
96
|
-
interface DataViewTableConfig extends DataViewBaseConfig {
|
|
97
|
-
kind: 'table';
|
|
98
|
-
columns?: DataViewTableColumn[];
|
|
99
|
-
rowSelectable?: boolean;
|
|
100
|
-
density?: 'comfortable' | 'compact';
|
|
101
|
-
}
|
|
102
|
-
interface DataViewGridConfig extends DataViewBaseConfig {
|
|
103
|
-
kind: 'grid';
|
|
104
|
-
columns?: number;
|
|
105
|
-
}
|
|
106
|
-
type DataViewConfig = DataViewListConfig | DataViewDetailConfig | DataViewTableConfig | DataViewGridConfig;
|
|
107
|
-
interface DataViewStates {
|
|
108
|
-
empty?: PresentationRef;
|
|
109
|
-
error?: PresentationRef;
|
|
110
|
-
loading?: PresentationRef;
|
|
111
|
-
}
|
|
112
|
-
interface DataViewSpec {
|
|
113
|
-
meta: DataViewMeta;
|
|
114
|
-
source: DataViewSource;
|
|
115
|
-
view: DataViewConfig;
|
|
116
|
-
states?: DataViewStates;
|
|
117
|
-
policy?: {
|
|
118
|
-
flags?: string[];
|
|
119
|
-
pii?: string[];
|
|
120
|
-
};
|
|
121
|
-
experiments?: ExperimentRef[];
|
|
122
|
-
}
|
|
123
|
-
declare class DataViewRegistry {
|
|
124
|
-
private readonly items;
|
|
125
|
-
register(spec: DataViewSpec): this;
|
|
126
|
-
list(): DataViewSpec[];
|
|
127
|
-
get(name: string, version?: number): DataViewSpec | undefined;
|
|
128
|
-
}
|
|
129
|
-
declare function dataViewKey(spec: DataViewSpec): string;
|
|
130
|
-
//#endregion
|
|
131
|
-
export { DataViewAction, DataViewBaseConfig, DataViewConfig, DataViewDetailConfig, DataViewField, DataViewFieldFormat, DataViewFilter, DataViewGridConfig, DataViewKind, DataViewListConfig, DataViewMeta, DataViewRegistry, DataViewSections, DataViewSource, DataViewSpec, DataViewStates, DataViewTableColumn, DataViewTableConfig, dataViewKey };
|
|
132
|
-
//# sourceMappingURL=data-views.d.ts.map
|
package/dist/data-views.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-views.d.ts","names":[],"sources":["../src/data-views.ts"],"sourcesContent":[],"mappings":";;;;;KAIY,YAAA;UAEK,YAAA,SAAqB;EAF1B;EAEK,IAAA,EAAA,MAAA;EASA;EAEN,OAAA,EAAA,MAAA;EAEF;EAGI,MAAA,EAAA,MAAA;;AAEA,UATI,cAAA,CASJ;EAGK;EAAQ,OAAA,EAVf,KAUe;EAGd;EAUK,IAAA,CAAA,EArBR,KAqBQ;EAqBA;EAQA,SAAA,CAAA,EAAA;IAUA,MAAA,CAAA,EAzDJ,KAyDI;IAMA,MAAA,CAAA,EA9DJ,KA8DI;IACT,MAAA,CAAA,EA9DK,KA8DL;EACE,CAAA;EAGE;EACA,aAAA,CAAA,EAhEM,QAgEN,EAAA;;AAGK,KAhEL,mBAAA,GAgEwB,MAAQ,GAAA,QAAA,GAAA,UAAkB,GAAA,YAAA,GAAA,MAAA,GAAA,UAAA,GAAA,SAAA,GAAA,OAAA;AAK7C,UA3DA,aAAA,CA2DqB;EAKrB;EAOA,GAAA,EAAA,MAAA;EAOA;EAKL,KAAA,EAAA,MAAA;EACR;EACA,QAAA,EAAA,MAAA;EACA;EACA,WAAA,CAAA,EAAA,MAAA;EAAkB;EAEL,MAAA,CAAA,EA/EN,mBA+EoB;EACrB;EACA,QAAA,CAAA,EAAA,OAAA;EACE;EAAe,UAAA,CAAA,EAAA,OAAA;EAGV;EACT,KAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA;EACE;EACF,YAAA,CAAA,EAhFS,eAgFT;;AAGQ,UAhFC,cAAA,CAgFD;EAAa,GAAA,EAAA,MAAA;EAOhB,KAAA,EAAA,MAAA;EAGI,KAAA,EAAA,MAAA;EAOP,IAAA,EAAA,QAAA,GAAA,MAAA,GAAA,QAAA,GAAA,MAAA,GAAA,SAAA;EAI6B,OAAA,CAAA,EAAA;IAAY,KAAA,EAAA,MAAA;IAenC,KAAA,EAAA,MAAW;;;UA5GV,cAAA;;;;;cAKH;;;;UAKG,gBAAA;;;;;UAMA,kBAAA;QACT;UACE;;;YAGE;YACA;;UAGK,kBAAA,SAA2B;;;;UAK3B,oBAAA,SAA6B;;aAEjC;;UAGI,mBAAA;;;;;;UAOA,mBAAA,SAA4B;;YAEjC;;;;UAKK,kBAAA,SAA2B;;;;KAKhC,cAAA,GACR,qBACA,uBACA,sBACA;UAEa,cAAA;UACP;UACA;YACE;;UAGK,YAAA;QACT;UACE;QACF;WACG;;;;;gBAEK;;cAOH,gBAAA;;iBAGI;UAOP;uCAI6B;;iBAevB,WAAA,OAAkB"}
|
package/dist/data-views.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-views.js","names":["candidate: DataViewSpec | undefined"],"sources":["../src/data-views.ts"],"sourcesContent":["import type { OwnerShipMeta } from './ownership';\nimport type { OpRef, EventRef, PresentationRef } from './features';\nimport type { ExperimentRef } from './experiments/spec';\n\nexport type DataViewKind = 'list' | 'detail' | 'table' | 'grid';\n\nexport interface DataViewMeta extends OwnerShipMeta {\n /** Fully-qualified data view name (e.g., \"sigil.spaces.admin_list\"). */\n name: string;\n /** Version of this data view. Increment on breaking changes. */\n version: number;\n /** Canonical entity slug (e.g., \"space\", \"resident\"). */\n entity: string;\n}\n\nexport interface DataViewSource {\n /** Primary query used to fetch items for this view. */\n primary: OpRef;\n /** Optional operation used to fetch a single item (detail views). */\n item?: OpRef;\n /** Optional record mutation operations (used for inline editing or actions). */\n mutations?: {\n create?: OpRef;\n update?: OpRef;\n delete?: OpRef;\n };\n /** Events that should trigger refresh when emitted. */\n refreshEvents?: EventRef[];\n}\n\nexport type DataViewFieldFormat =\n | 'text'\n | 'number'\n | 'currency'\n | 'percentage'\n | 'date'\n | 'dateTime'\n | 'boolean'\n | 'badge';\n\nexport interface DataViewField {\n /** Unique identifier for the field within the view. */\n key: string;\n /** Human-friendly label for headers/tooltips. */\n label: string;\n /** Dot-path into the data item (e.g., \"address.city\"). */\n dataPath: string;\n /** Optional description surfaced in tooltips or docs. */\n description?: string;\n /** Optional formatting hint for renderers. */\n format?: DataViewFieldFormat;\n /** When true, the field can be used for sorting. */\n sortable?: boolean;\n /** When true, the field can be used for filtering. */\n filterable?: boolean;\n /** Optional width hint for table layouts. */\n width?: 'auto' | 'xs' | 'sm' | 'md' | 'lg';\n /** Optional presentation override (e.g., card component). */\n presentation?: PresentationRef;\n}\n\nexport interface DataViewFilter {\n key: string;\n label: string;\n field: string;\n type: 'search' | 'enum' | 'number' | 'date' | 'boolean';\n options?: { value: string; label: string }[];\n}\n\nexport interface DataViewAction {\n key: string;\n label: string;\n kind: 'navigation' | 'operation';\n /** Operation invoked when kind === 'operation'. */\n operation?: OpRef;\n /** Optional feature flag gating the action. */\n requiresFlag?: string;\n}\n\nexport interface DataViewSections {\n title?: string;\n description?: string;\n fields: string[];\n}\n\nexport interface DataViewBaseConfig {\n kind: DataViewKind;\n fields: DataViewField[];\n primaryField?: string;\n secondaryFields?: string[];\n filters?: DataViewFilter[];\n actions?: DataViewAction[];\n}\n\nexport interface DataViewListConfig extends DataViewBaseConfig {\n kind: 'list';\n layout?: 'card' | 'compact';\n}\n\nexport interface DataViewDetailConfig extends DataViewBaseConfig {\n kind: 'detail';\n sections?: DataViewSections[];\n}\n\nexport interface DataViewTableColumn {\n field: string;\n label?: string;\n width?: 'auto' | 'xs' | 'sm' | 'md' | 'lg';\n align?: 'left' | 'center' | 'right';\n}\n\nexport interface DataViewTableConfig extends DataViewBaseConfig {\n kind: 'table';\n columns?: DataViewTableColumn[];\n rowSelectable?: boolean;\n density?: 'comfortable' | 'compact';\n}\n\nexport interface DataViewGridConfig extends DataViewBaseConfig {\n kind: 'grid';\n columns?: number;\n}\n\nexport type DataViewConfig =\n | DataViewListConfig\n | DataViewDetailConfig\n | DataViewTableConfig\n | DataViewGridConfig;\n\nexport interface DataViewStates {\n empty?: PresentationRef;\n error?: PresentationRef;\n loading?: PresentationRef;\n}\n\nexport interface DataViewSpec {\n meta: DataViewMeta;\n source: DataViewSource;\n view: DataViewConfig;\n states?: DataViewStates;\n policy?: { flags?: string[]; pii?: string[] };\n experiments?: ExperimentRef[];\n}\n\nfunction keyOf(spec: DataViewSpec) {\n return `${spec.meta.name}.v${spec.meta.version}`;\n}\n\nexport class DataViewRegistry {\n private readonly items = new Map<string, DataViewSpec>();\n\n register(spec: DataViewSpec): this {\n const key = keyOf(spec);\n if (this.items.has(key)) throw new Error(`Duplicate data view ${key}`);\n this.items.set(key, spec);\n return this;\n }\n\n list(): DataViewSpec[] {\n return [...this.items.values()];\n }\n\n get(name: string, version?: number): DataViewSpec | undefined {\n if (version != null) return this.items.get(`${name}.v${version}`);\n let candidate: DataViewSpec | undefined;\n let max = -Infinity;\n for (const spec of this.items.values()) {\n if (spec.meta.name !== name) continue;\n if (spec.meta.version > max) {\n max = spec.meta.version;\n candidate = spec;\n }\n }\n return candidate;\n }\n}\n\nexport function dataViewKey(spec: DataViewSpec) {\n return keyOf(spec);\n}\n"],"mappings":"AAgJA,SAAS,EAAM,EAAoB,CACjC,MAAO,GAAG,EAAK,KAAK,KAAK,IAAI,EAAK,KAAK,UAGzC,IAAa,EAAb,KAA8B,CAC5B,MAAyB,IAAI,IAE7B,SAAS,EAA0B,CACjC,IAAM,EAAM,EAAM,EAAK,CACvB,GAAI,KAAK,MAAM,IAAI,EAAI,CAAE,MAAU,MAAM,uBAAuB,IAAM,CAEtE,OADA,KAAK,MAAM,IAAI,EAAK,EAAK,CAClB,KAGT,MAAuB,CACrB,MAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC,CAGjC,IAAI,EAAc,EAA4C,CAC5D,GAAI,GAAW,KAAM,OAAO,KAAK,MAAM,IAAI,GAAG,EAAK,IAAI,IAAU,CACjE,IAAIA,EACA,EAAM,KACV,IAAK,IAAM,KAAQ,KAAK,MAAM,QAAQ,CAChC,EAAK,KAAK,OAAS,GACnB,EAAK,KAAK,QAAU,IACtB,EAAM,EAAK,KAAK,QAChB,EAAY,GAGhB,OAAO,IAIX,SAAgB,EAAY,EAAoB,CAC9C,OAAO,EAAM,EAAK"}
|
package/dist/events.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { OwnerShipMeta } from "./ownership.js";
|
|
2
|
-
import { AnySchemaModel } from "@lssm/lib.schema";
|
|
3
|
-
|
|
4
|
-
//#region src/events.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Typed event specification. Declare once, validate payloads at publish time,
|
|
8
|
-
* and guard emissions via the contracts runtime.
|
|
9
|
-
*/
|
|
10
|
-
interface EventSpec<T extends AnySchemaModel> {
|
|
11
|
-
/** Fully-qualified event name, e.g. "sigil.magic_link.created". */
|
|
12
|
-
name: string;
|
|
13
|
-
/** Event payload version. Bump on any breaking payload change. */
|
|
14
|
-
version: number;
|
|
15
|
-
/** Short human-friendly summary. */
|
|
16
|
-
description?: string;
|
|
17
|
-
/** JSON-like paths to redact from logs/exports. */
|
|
18
|
-
pii?: string[];
|
|
19
|
-
/** Event payload schema from @lssm/lib.schema. */
|
|
20
|
-
payload: T;
|
|
21
|
-
/** Optional ownership metadata for governance and docs. */
|
|
22
|
-
ownership?: OwnerShipMeta;
|
|
23
|
-
}
|
|
24
|
-
/** Identity function to keep type inference when declaring events. */
|
|
25
|
-
declare function defineEvent<T extends AnySchemaModel>(e: EventSpec<T>): EventSpec<T>;
|
|
26
|
-
interface EventEnvelope<T> {
|
|
27
|
-
/** Unique identifier for the published event (UUID recommended). */
|
|
28
|
-
id: string;
|
|
29
|
-
/** ISO timestamp when the event occurred. */
|
|
30
|
-
occurredAt: string;
|
|
31
|
-
/** Optional trace identifier for correlating across services. */
|
|
32
|
-
traceId?: string;
|
|
33
|
-
/** Event name as published (should match spec.name). */
|
|
34
|
-
name: string;
|
|
35
|
-
/** Event version as published (should match spec.version). */
|
|
36
|
-
version: number;
|
|
37
|
-
/** Validated payload. */
|
|
38
|
-
payload: T;
|
|
39
|
-
}
|
|
40
|
-
type EventKey = `${string}.v${number}`;
|
|
41
|
-
/** Build a stable string key for an event name/version pair. */
|
|
42
|
-
declare const eventKey: (name: string, version: number) => EventKey;
|
|
43
|
-
//#endregion
|
|
44
|
-
export { EventEnvelope, EventKey, EventSpec, defineEvent, eventKey };
|
|
45
|
-
//# sourceMappingURL=events.d.ts.map
|
package/dist/events.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","names":[],"sources":["../src/events.ts"],"sourcesContent":[],"mappings":";;;;;;;AAOA;;AAUW,UAVM,SAUN,CAAA,UAV0B,cAU1B,CAAA,CAAA;EAEG;EAAa,IAAA,EAAA,MAAA;EAIX;EAAsB,OAAA,EAAA,MAAA;EACvB;EAAV,WAAA,CAAA,EAAA,MAAA;EACQ;EAAV,GAAA,CAAA,EAAA,MAAA,EAAA;EAAS;EAIK,OAAA,EAZN,CAYM;EAeL;EAEC,SAAA,CAAA,EA3BC,aA2B2C;;;iBAvBzC,sBAAsB,mBACjC,UAAU,KACZ,UAAU;UAII;;;;;;;;;;;;WAYN;;KAGC,QAAA;;cAEC,6CAA4C"}
|
package/dist/events.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { type AnySchemaModel } from '@lssm/lib.schema';\nimport type { OwnerShipMeta } from './ownership';\n\n/**\n * Typed event specification. Declare once, validate payloads at publish time,\n * and guard emissions via the contracts runtime.\n */\nexport interface EventSpec<T extends AnySchemaModel> {\n /** Fully-qualified event name, e.g. \"sigil.magic_link.created\". */\n name: string;\n /** Event payload version. Bump on any breaking payload change. */\n version: number;\n /** Short human-friendly summary. */\n description?: string;\n /** JSON-like paths to redact from logs/exports. */\n pii?: string[];\n /** Event payload schema from @lssm/lib.schema. */\n payload: T;\n /** Optional ownership metadata for governance and docs. */\n ownership?: OwnerShipMeta;\n}\n\n/** Identity function to keep type inference when declaring events. */\nexport function defineEvent<T extends AnySchemaModel>(\n e: EventSpec<T>\n): EventSpec<T> {\n return e;\n}\n\nexport interface EventEnvelope<T> {\n /** Unique identifier for the published event (UUID recommended). */\n id: string;\n /** ISO timestamp when the event occurred. */\n occurredAt: string;\n /** Optional trace identifier for correlating across services. */\n traceId?: string;\n /** Event name as published (should match spec.name). */\n name: string;\n /** Event version as published (should match spec.version). */\n version: number;\n /** Validated payload. */\n payload: T;\n}\n\nexport type EventKey = `${string}.v${number}`;\n/** Build a stable string key for an event name/version pair. */\nexport const eventKey = (name: string, version: number): EventKey =>\n `${name}.v${version}`;\n"],"mappings":"+BAuBA,SAAgB,EACd,EACc,CACd,OAAO,EAoBT,MAAa,GAAY,EAAc,IACrC,GAAG,EAAK,IAAI"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { PolicyRef } from "../policy/spec.js";
|
|
2
|
-
import { ExperimentRegistry, ExperimentVariant } from "./spec.js";
|
|
3
|
-
|
|
4
|
-
//#region src/experiments/evaluator.d.ts
|
|
5
|
-
interface ExperimentContext {
|
|
6
|
-
experiment: string;
|
|
7
|
-
version?: number;
|
|
8
|
-
userId?: string | null;
|
|
9
|
-
organizationId?: string | null;
|
|
10
|
-
sessionId?: string | null;
|
|
11
|
-
attributes?: Record<string, unknown>;
|
|
12
|
-
flags?: string[];
|
|
13
|
-
}
|
|
14
|
-
interface ExperimentEvaluation {
|
|
15
|
-
variant: ExperimentVariant;
|
|
16
|
-
reason: 'control' | 'random' | 'sticky' | 'targeted';
|
|
17
|
-
}
|
|
18
|
-
interface ExperimentEvaluatorConfig {
|
|
19
|
-
registry: ExperimentRegistry;
|
|
20
|
-
policyChecker?: (policy: PolicyRef, context: ExperimentContext) => Promise<boolean> | boolean;
|
|
21
|
-
expressionEvaluator?: (expression: string, context: ExperimentContext) => boolean;
|
|
22
|
-
}
|
|
23
|
-
declare class ExperimentEvaluator {
|
|
24
|
-
private readonly registry;
|
|
25
|
-
private readonly policyChecker?;
|
|
26
|
-
private readonly expressionEvaluator?;
|
|
27
|
-
constructor(config: ExperimentEvaluatorConfig);
|
|
28
|
-
chooseVariant(context: ExperimentContext): Promise<ExperimentEvaluation | null>;
|
|
29
|
-
private pickByWeight;
|
|
30
|
-
private randomSeed;
|
|
31
|
-
private stickySeed;
|
|
32
|
-
private hashToUnitInterval;
|
|
33
|
-
private evaluateTargeting;
|
|
34
|
-
private matchesRule;
|
|
35
|
-
}
|
|
36
|
-
//#endregion
|
|
37
|
-
export { ExperimentContext, ExperimentEvaluation, ExperimentEvaluator, ExperimentEvaluatorConfig };
|
|
38
|
-
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","names":[],"sources":["../../src/experiments/evaluator.ts"],"sourcesContent":[],"mappings":";;;;UASiB,iBAAA;;EAAA,OAAA,CAAA,EAAA,MAAA;EAUA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAKA,cAAA,CAAA,EAAA,MAAA,GAAA,IAAyB;EAC9B,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEA,UAAA,CAAA,EAZG,MAYH,CAAA,MAAA,EAAA,OAAA,CAAA;EACC,KAAA,CAAA,EAAA,MAAA,EAAA;;AAIA,UAbI,oBAAA,CAaJ;EAAiB,OAAA,EAZnB,iBAYmB;EAIjB,MAAA,EAAA,SAAA,GAAA,QAAmB,GAAA,QAAA,GAAA,UAAA;;AAYnB,UAxBI,yBAAA,CAwBJ;EACA,QAAA,EAxBD,kBAwBC;EAAR,aAAA,CAAA,EAAA,CAAA,MAAA,EAtBO,SAsBP,EAAA,OAAA,EArBQ,iBAqBR,EAAA,GApBE,OAoBF,CAAA,OAAA,CAAA,GAAA,OAAA;EAAO,mBAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAjBC,iBAiBD,EAAA,GAAA,OAAA;;cAbC,mBAAA;;;;sBAKS;yBAOT,oBACR,QAAQ"}
|