@noodleseed/one 0.161.2 → 0.163.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/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/billing-catalog-ops.d.ts +4 -0
- package/dist/commands/billing-catalog-ops.d.ts.map +1 -0
- package/dist/commands/billing-catalog-ops.js +58 -0
- package/dist/commands/billing-catalog-ops.js.map +1 -0
- package/dist/commands/billing-ops.d.ts.map +1 -1
- package/dist/commands/billing-ops.js +3 -0
- package/dist/commands/billing-ops.js.map +1 -1
- package/dist/commands/catalog.d.ts.map +1 -1
- package/dist/commands/catalog.js +3 -0
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/config-values.d.ts.map +1 -1
- package/dist/commands/config-values.js +16 -0
- package/dist/commands/config-values.js.map +1 -1
- package/dist/commands/installation-variables.d.ts +26 -0
- package/dist/commands/installation-variables.d.ts.map +1 -0
- package/dist/commands/installation-variables.js +171 -0
- package/dist/commands/installation-variables.js.map +1 -0
- package/dist/commands/solutions-activity.d.ts +5 -0
- package/dist/commands/solutions-activity.d.ts.map +1 -0
- package/dist/commands/solutions-activity.js +116 -0
- package/dist/commands/solutions-activity.js.map +1 -0
- package/dist/commands/solutions-connections.d.ts +7 -0
- package/dist/commands/solutions-connections.d.ts.map +1 -0
- package/dist/commands/solutions-connections.js +88 -0
- package/dist/commands/solutions-connections.js.map +1 -0
- package/dist/commands/solutions-installation-options.d.ts +5 -0
- package/dist/commands/solutions-installation-options.d.ts.map +1 -0
- package/dist/commands/solutions-installation-options.js +52 -0
- package/dist/commands/solutions-installation-options.js.map +1 -0
- package/dist/commands/solutions-onboarding.d.ts +5 -0
- package/dist/commands/solutions-onboarding.d.ts.map +1 -0
- package/dist/commands/solutions-onboarding.js +113 -0
- package/dist/commands/solutions-onboarding.js.map +1 -0
- package/dist/commands/solutions-ops.d.ts +7 -0
- package/dist/commands/solutions-ops.d.ts.map +1 -0
- package/dist/commands/solutions-ops.js +544 -0
- package/dist/commands/solutions-ops.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/admission-limits/dist/counter-store.d.ts +21 -2
- package/node_modules/@noodle-borg/admission-limits/dist/counter-store.js +10 -1
- package/node_modules/@noodle-borg/admission-limits/dist/in-memory-counter-store.d.ts +5 -1
- package/node_modules/@noodle-borg/admission-limits/dist/in-memory-counter-store.js +31 -2
- package/node_modules/@noodle-borg/admission-limits/dist/portable.d.ts +3 -0
- package/node_modules/@noodle-borg/admission-limits/dist/portable.js +3 -0
- package/node_modules/@noodle-borg/admission-limits/dist/public-admission-assertion.d.ts +28 -0
- package/node_modules/@noodle-borg/admission-limits/dist/public-admission-assertion.js +124 -0
- package/node_modules/@noodle-borg/admission-limits/dist/public-record-admission.d.ts +54 -0
- package/node_modules/@noodle-borg/admission-limits/dist/public-record-admission.js +74 -0
- package/node_modules/@noodle-borg/admission-limits/dist/request-attribution.d.ts +11 -0
- package/node_modules/@noodle-borg/admission-limits/dist/request-attribution.js +19 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +4 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +4 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +5 -5
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +6 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +21 -2
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-configuration.d.ts +9 -1
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-configuration.js +33 -2
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-execution-bound.d.ts +3 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-execution-bound.js +29 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-interaction-state.d.ts +5 -3
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-interaction-state.js +21 -10
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-store.d.ts +1 -1
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-store.js +3 -3
- package/node_modules/@noodle-borg/assistant-gateway/dist/portable.d.ts +1 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/portable.js +1 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/session-target.js +5 -4
- package/node_modules/@noodle-borg/authoring/dist/config.d.ts +20 -0
- package/node_modules/@noodle-borg/authoring/dist/config.js +29 -2
- package/node_modules/@noodle-borg/authoring/dist/connectors.d.ts +6 -1
- package/node_modules/@noodle-borg/authoring/dist/connectors.js +5 -0
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/authoring/dist/index.js +1 -0
- package/node_modules/@noodle-borg/authoring/dist/json-schema.d.ts +1 -1
- package/node_modules/@noodle-borg/authoring/dist/json-schema.js +15 -2
- package/node_modules/@noodle-borg/authoring/dist/load-authored.js +1 -1
- package/node_modules/@noodle-borg/authoring/dist/managed-collection.d.ts +40 -0
- package/node_modules/@noodle-borg/authoring/dist/managed-collection.js +39 -0
- package/node_modules/@noodle-borg/authoring/dist/platform.d.ts +3 -0
- package/node_modules/@noodle-borg/authoring/dist/platform.js +4 -0
- package/node_modules/@noodle-borg/authoring/dist/server-presentation.js +43 -0
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts +6 -1
- package/node_modules/@noodle-borg/authoring/dist/server.js +5 -43
- package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-billing.js +18 -0
- package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-config.js +31 -4
- package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-solutions.js +778 -0
- package/node_modules/@noodle-borg/cli-catalog/dist/catalog-types.js +7 -0
- package/node_modules/@noodle-borg/cli-catalog/dist/index.js +20 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js +5 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/catalog-emission.js +3 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/config.js +3 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +26 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.d.ts +9 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.js +9 -1
- package/node_modules/@noodle-borg/compiler/dist/business-variables.d.ts +27 -0
- package/node_modules/@noodle-borg/compiler/dist/business-variables.js +230 -0
- package/node_modules/@noodle-borg/compiler/dist/compile.js +9 -0
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts +5 -1
- package/node_modules/@noodle-borg/compiler/dist/index.js +4 -0
- package/node_modules/@noodle-borg/compiler/dist/managed-collection-controls.d.ts +52 -0
- package/node_modules/@noodle-borg/compiler/dist/managed-collection-controls.js +92 -0
- package/node_modules/@noodle-borg/compiler/dist/managed-collections.d.ts +50 -0
- package/node_modules/@noodle-borg/compiler/dist/managed-collections.js +373 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +114 -36
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +5 -0
- package/node_modules/@noodle-borg/compiler/dist/native-record-operations.d.ts +7 -0
- package/node_modules/@noodle-borg/compiler/dist/native-record-operations.js +59 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-http.js +83 -8
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +31 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js +16 -0
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +12 -3
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +41 -2
- package/node_modules/@noodle-borg/connector-http/dist/http-response.js +3 -2
- package/node_modules/@noodle-borg/connector-http/dist/mcp/config.js +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/url-resolution.js +1 -1
- package/node_modules/@noodle-borg/control-plane/dist/contracts.d.ts +2 -1
- package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.d.ts +3 -0
- package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.js +11 -0
- package/node_modules/@noodle-borg/control-plane/dist/organization-agreements.d.ts +45 -0
- package/node_modules/@noodle-borg/control-plane/dist/organization-agreements.js +74 -0
- package/node_modules/@noodle-borg/control-plane/dist/portable.d.ts +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/portable.js +1 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +20 -0
- package/node_modules/@noodle-borg/module/dist/platform-human-identity.d.ts +2 -0
- package/node_modules/@noodle-borg/protocol/dist/request-deps.js +1 -0
- package/node_modules/@noodle-borg/protocol/dist/request-state.d.ts +1 -0
- package/node_modules/@noodle-borg/protocol/dist/request-state.js +11 -2
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +2 -0
- package/node_modules/@noodle-borg/protocol/dist/v2/input-required.js +2 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/server.js +2 -1
- package/node_modules/@noodle-borg/runtime/dist/ambient-context.js +6 -1
- package/node_modules/@noodle-borg/runtime/dist/broker/types.d.ts +2 -0
- package/node_modules/@noodle-borg/runtime/dist/business-variables.d.ts +15 -0
- package/node_modules/@noodle-borg/runtime/dist/business-variables.js +75 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation-continuation.js +2 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js +23 -3
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +17 -1
- package/node_modules/@noodle-borg/runtime/dist/connector-snapshot.js +6 -0
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +18 -3
- package/node_modules/@noodle-borg/runtime/dist/execute.js +13 -3
- package/node_modules/@noodle-borg/runtime/dist/index.d.ts +2 -0
- package/node_modules/@noodle-borg/runtime/dist/index.js +1 -0
- package/node_modules/@noodle-borg/runtime/dist/interactive.js +11 -0
- package/node_modules/@noodle-borg/runtime/dist/managed-origins.d.ts +3 -1
- package/node_modules/@noodle-borg/runtime/dist/managed-origins.js +32 -7
- package/node_modules/@noodle-borg/runtime/dist/operation-credential.js +6 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-evidence.d.ts +30 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-evidence.js +68 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.d.ts +2 -2
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.js +142 -71
- package/node_modules/@noodle-borg/runtime/dist/result.d.ts +6 -4
- package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.d.ts +7 -0
- package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.js +48 -4
- package/node_modules/@noodle-borg/service/dist/admission.js +2 -1
- package/node_modules/@noodle-borg/service/dist/application-activity.js +236 -0
- package/node_modules/@noodle-borg/service/dist/application-business-notice.js +28 -0
- package/node_modules/@noodle-borg/service/dist/application-runtime-target.js +141 -0
- package/node_modules/@noodle-borg/service/dist/application-settings-targets.js +72 -0
- package/node_modules/@noodle-borg/service/dist/application-settings.js +210 -0
- package/node_modules/@noodle-borg/service/dist/business-api-admission.js +121 -0
- package/node_modules/@noodle-borg/service/dist/business-information/activity-pagination.js +73 -0
- package/node_modules/@noodle-borg/service/dist/business-information/business-notice.d.ts +24 -0
- package/node_modules/@noodle-borg/service/dist/business-information/business-notice.js +18 -0
- package/node_modules/@noodle-borg/service/dist/business-information/collection-controls.js +51 -0
- package/node_modules/@noodle-borg/service/dist/business-information/contracts.d.ts +439 -0
- package/node_modules/@noodle-borg/service/dist/business-information/contracts.js +5 -0
- package/node_modules/@noodle-borg/service/dist/business-information/definition-resolver.js +94 -0
- package/node_modules/@noodle-borg/service/dist/business-information/in-memory-installation-lifecycle.js +136 -0
- package/node_modules/@noodle-borg/service/dist/business-information/in-memory-invitations.js +160 -0
- package/node_modules/@noodle-borg/service/dist/business-information/in-memory-locks.js +23 -0
- package/node_modules/@noodle-borg/service/dist/business-information/in-memory-store.js +557 -0
- package/node_modules/@noodle-borg/service/dist/business-information/installation-capacity.js +10 -0
- package/node_modules/@noodle-borg/service/dist/business-information/invitations.js +68 -0
- package/node_modules/@noodle-borg/service/dist/business-information/legacy-request-migration.js +60 -0
- package/node_modules/@noodle-borg/service/dist/business-information/managed-releases.js +245 -0
- package/node_modules/@noodle-borg/service/dist/business-information/managed-solution-blueprints.js +51 -0
- package/node_modules/@noodle-borg/service/dist/business-information/managed-solution-executable.js +76 -0
- package/node_modules/@noodle-borg/service/dist/business-information/model.js +393 -0
- package/node_modules/@noodle-borg/service/dist/business-information/native-query.js +162 -0
- package/node_modules/@noodle-borg/service/dist/business-information/native-storage-budget.js +60 -0
- package/node_modules/@noodle-borg/service/dist/business-information/pagination.js +78 -0
- package/node_modules/@noodle-borg/service/dist/business-information/portable.js +15 -0
- package/node_modules/@noodle-borg/service/dist/business-information/principal-authority.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/business-information/principal-authority.js +42 -0
- package/node_modules/@noodle-borg/service/dist/business-information/profiles.js +252 -0
- package/node_modules/@noodle-borg/service/dist/business-information/reader-floor.js +26 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-credential-fence.js +79 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-custody-budget.js +30 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-custody-memory.js +122 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-executor.js +191 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-contracts.js +2 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-coordinator.js +136 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-failures.js +32 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-state.js +154 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-store.js +568 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-types.js +26 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-values.js +59 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-pagination.js +54 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-validation.js +163 -0
- package/node_modules/@noodle-borg/service/dist/business-information/source-refresh-retention.js +29 -0
- package/node_modules/@noodle-borg/service/dist/business-information/validation.js +200 -0
- package/node_modules/@noodle-borg/service/dist/business-information-runtime.js +80 -0
- package/node_modules/@noodle-borg/service/dist/business-onboarding.js +73 -0
- package/node_modules/@noodle-borg/service/dist/connections/types.js +8 -0
- package/node_modules/@noodle-borg/service/dist/credential-binding-index.js +38 -33
- package/node_modules/@noodle-borg/service/dist/deployment-execution.js +275 -0
- package/node_modules/@noodle-borg/service/dist/external-credential-binding-broker.js +19 -1
- package/node_modules/@noodle-borg/service/dist/external-credential-exchange.d.ts +16 -1
- package/node_modules/@noodle-borg/service/dist/modules/host.js +4 -1
- package/node_modules/@noodle-borg/service/dist/native-record-connector.d.ts +20 -0
- package/node_modules/@noodle-borg/service/dist/native-record-connector.js +206 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +5 -2
- package/node_modules/@noodle-borg/service/dist/operation-evidence.js +89 -0
- package/node_modules/@noodle-borg/service/dist/recovery-quarantine.js +49 -0
- package/node_modules/@noodle-borg/service/dist/registry-compile.js +60 -11
- package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.js +18 -0
- package/node_modules/@noodle-borg/service/dist/registry-rollback.js +2 -1
- package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-state.js +6 -3
- package/node_modules/@noodle-borg/service/dist/registry-targets.js +49 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/registry.d.ts +15 -3
- package/node_modules/@noodle-borg/service/dist/registry.js +177 -137
- package/node_modules/@noodle-borg/service/dist/routes/assistant-appearance.js +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/assistant-clients.js +2 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-doctor.js +2 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-embeds.js +8 -3
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.js +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js +48 -36
- package/node_modules/@noodle-borg/service/dist/routes/assistant-public-configuration.js +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/assistant-public-session.js +10 -10
- package/node_modules/@noodle-borg/service/dist/routes/assistant-session-target.js +32 -3
- package/node_modules/@noodle-borg/service/dist/routes/assistant-suggestions.js +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-transcript.js +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js +10 -10
- package/node_modules/@noodle-borg/service/dist/routes/business-information-activity.js +83 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-admission.js +26 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-channels.js +153 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-connections.js +107 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-dispatch.js +131 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-external.js +79 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-installation.js +24 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-notice.js +69 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-onboarding.js +58 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-paths.js +168 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-public.js +151 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-reader-floor.js +15 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-record-create.js +29 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-record-reads.js +36 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-request.js +64 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-settings.js +64 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-source.js +249 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-staff.js +258 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information-wire.js +317 -0
- package/node_modules/@noodle-borg/service/dist/routes/business-information.js +592 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-dispatch.js +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/config-values.js +26 -4
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +19 -233
- package/node_modules/@noodle-borg/service/dist/routes/deployment-activation-response.js +13 -4
- package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js +6 -0
- package/node_modules/@noodle-borg/service/dist/service.js +77 -6
- package/node_modules/@noodle-borg/service/dist/solution-installation-activation.js +149 -0
- package/node_modules/@noodle-borg/service/dist/source-configuration-authority.js +94 -0
- package/node_modules/@noodle-borg/service/dist/state-catalog.js +6 -5
- package/node_modules/@noodle-borg/service/dist/store/config-values.d.ts +42 -17
- package/node_modules/@noodle-borg/service/dist/store/config-values.js +123 -24
- package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/store/in-memory.js +3 -0
- package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/store/json-file.js +3 -0
- package/node_modules/@noodle-borg/service/dist/store.d.ts +3 -1
- package/node_modules/@noodle-borg/service/package.json +2 -2
- package/node_modules/@noodle-borg/transport-http/dist/serve-request.js +9 -0
- package/node_modules/@noodle-borg/transport-http/package.json +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-activity.d.ts +143 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-activity.js +90 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.d.ts +130 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.js +77 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-connections.d.ts +105 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-connections.js +67 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-onboarding.d.ts +27 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-onboarding.js +28 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-settings.d.ts +112 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-settings.js +88 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +1 -1
- package/node_modules/@noodle-borg/wire-contracts/dist/billing-catalog.d.ts +62 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/billing-catalog.js +57 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/billing-enforcement.d.ts +12 -12
- package/node_modules/@noodle-borg/wire-contracts/dist/billing-metering.d.ts +4 -4
- package/node_modules/@noodle-borg/wire-contracts/dist/billing-org-transfer.d.ts +3 -3
- package/node_modules/@noodle-borg/wire-contracts/dist/business-information-query.d.ts +25 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/business-information-query.js +37 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/business-information.d.ts +2241 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/business-information.js +580 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/control-plane.d.ts +2 -2
- package/node_modules/@noodle-borg/wire-contracts/dist/distribution.d.ts +5 -5
- package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +12 -3
- package/node_modules/@noodle-borg/wire-contracts/dist/index.js +9 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/knowledge.d.ts +6 -6
- package/node_modules/@noodle-borg/wire-contracts/dist/managed-assistant-sponsorship.d.ts +15 -15
- package/node_modules/@noodle-borg/wire-contracts/dist/platform-account-reset.d.ts +5 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/platform-account-reset.js +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/platform-auth.d.ts +66 -66
- package/node_modules/@noodle-borg/wire-contracts/dist/solution-onboarding.d.ts +143 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/solution-onboarding.js +94 -0
- package/node_modules/@noodleseed/assistant/README.md +5 -0
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the CLI's declarative command catalog (`catalog.ts`). Pure type definitions — no
|
|
3
|
+
* runtime code — so this module has zero import cost for anything that only needs the shapes
|
|
4
|
+
* (including the doc/skill generator scripts, which read the sibling data modules directly).
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=catalog-types.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './catalog-data-account.js';
|
|
2
|
+
export * from './catalog-data-assistant.js';
|
|
3
|
+
export * from './catalog-data-auth-discovery.js';
|
|
4
|
+
export * from './catalog-data-billing.js';
|
|
5
|
+
export * from './catalog-data-bootstrap-authoring.js';
|
|
6
|
+
export * from './catalog-data-bootstrap-pre-auth.js';
|
|
7
|
+
export * from './catalog-data-config.js';
|
|
8
|
+
export * from './catalog-data-core.js';
|
|
9
|
+
export * from './catalog-data-distributions.js';
|
|
10
|
+
export * from './catalog-data-hosted-deployment.js';
|
|
11
|
+
export * from './catalog-data-hosted-governance.js';
|
|
12
|
+
export * from './catalog-data-hosted-observability.js';
|
|
13
|
+
export * from './catalog-data-local-authoring.js';
|
|
14
|
+
export * from './catalog-data-platform-auth.js';
|
|
15
|
+
export * from './catalog-data-policy.js';
|
|
16
|
+
export * from './catalog-data-solutions.js';
|
|
17
|
+
export * from './catalog-data-tenant-admin.js';
|
|
18
|
+
export * from './catalog-data-tenant-resources.js';
|
|
19
|
+
export * from './catalog-types.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { artifactConfig } from './config.js';
|
|
2
2
|
import { ARTIFACT_SCHEMA_VERSION, } from './types.js';
|
|
3
|
-
export function assembleRuntimeArtifact({ manifest, options, runtimeBranding, runtimeShell, artifactAmbientContext, state, artifactTools, allResources, artifactPrompts, packagedAssets, requirements, declared, customerEndpoints, knowledge, }) {
|
|
3
|
+
export function assembleRuntimeArtifact({ manifest, options, runtimeBranding, runtimeShell, artifactAmbientContext, state, artifactTools, allResources, artifactPrompts, packagedAssets, requirements, declared, customerEndpoints, knowledge, managedCollections, variables, }) {
|
|
4
4
|
// 4. Assemble the artifact. `resources`/`prompts` and their capability lists are emitted only when
|
|
5
5
|
// present, keeping a tools-only artifact byte-identical to before this slice.
|
|
6
6
|
const capabilities = {
|
|
@@ -40,6 +40,10 @@ export function assembleRuntimeArtifact({ manifest, options, runtimeBranding, ru
|
|
|
40
40
|
: {}),
|
|
41
41
|
...(manifest.server.auth !== undefined ? { auth: manifest.server.auth } : {}),
|
|
42
42
|
...(knowledge !== undefined && knowledge.length > 0 ? { knowledge } : {}),
|
|
43
|
+
...(variables !== undefined && variables.length > 0 ? { variables } : {}),
|
|
44
|
+
...(managedCollections !== undefined && managedCollections.length > 0
|
|
45
|
+
? { managedCollections }
|
|
46
|
+
: {}),
|
|
43
47
|
...(manifest.server.assistant !== undefined ? { assistant: manifest.server.assistant } : {}),
|
|
44
48
|
...(runtimeBranding !== undefined ? { branding: runtimeBranding } : {}),
|
|
45
49
|
...(runtimeShell !== undefined ? { shell: runtimeShell } : {}),
|
|
@@ -5,7 +5,9 @@ import { requiresToolConfirmation } from './consent.js';
|
|
|
5
5
|
/** Resolve connector references and emit catalog-dependent artifact surfaces. */
|
|
6
6
|
export function emitCatalogArtifactSurfaces({ manifest, catalog, structuralAmbientContext, structuralTools, structuralResources, structuralPrompts, toolUiMetaByName, errors, }) {
|
|
7
7
|
const declared = manifest.connectors ?? {};
|
|
8
|
-
const usedAliases = new Set(
|
|
8
|
+
const usedAliases = new Set(manifest.manifestVersion === '2'
|
|
9
|
+
? (manifest.server.collections ?? []).flatMap((collection) => collection.source === undefined ? [] : [collection.source.connector])
|
|
10
|
+
: []);
|
|
9
11
|
const customerRouting = catalog === undefined ? undefined : new CustomerRoutingCollector(manifest.server.auth, errors);
|
|
10
12
|
const artifactAmbientContext = emitAmbientContext(structuralAmbientContext, catalog, declared, usedAliases, errors, customerRouting);
|
|
11
13
|
const artifactTools = structuralTools.map((s) => {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export function artifactConfig(manifest, tools, resources, prompts, connectorBindings, ambientFulfilment) {
|
|
2
2
|
const variables = new Set();
|
|
3
|
+
if (manifest.manifestVersion === '2')
|
|
4
|
+
for (const declaration of manifest.server.variables ?? [])
|
|
5
|
+
variables.add(declaration.name);
|
|
3
6
|
collectVariablesFromManagedOrigins(manifest, variables);
|
|
4
7
|
for (const tool of tools)
|
|
5
8
|
collectVariablesFromFulfilment(tool.fulfilment, variables);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { CapabilityRequirementName } from '@noodle-borg/capabilities';
|
|
2
2
|
import type { CompiledKnowledgeComponent } from '@noodle-borg/knowledge/portable';
|
|
3
|
+
import type { ArtifactVariableDeclaration } from '../business-variables.js';
|
|
3
4
|
import type { CustomerEndpointPolicy } from '../customer-endpoint.js';
|
|
5
|
+
import type { ManagedCollectionControls } from '../managed-collection-controls.js';
|
|
4
6
|
import type { CondNode, ExprNode } from '../manifest/expression.js';
|
|
5
7
|
import type { Manifest } from '../manifest/schema.js';
|
|
6
8
|
import type { OperationRef } from './operation-ref.js';
|
|
@@ -165,6 +167,26 @@ export interface ArtifactServerContext {
|
|
|
165
167
|
readonly fulfilment: ArtifactFulfilment;
|
|
166
168
|
};
|
|
167
169
|
}
|
|
170
|
+
export interface ArtifactManagedCollection extends ManagedCollectionControls {
|
|
171
|
+
readonly name: string;
|
|
172
|
+
readonly title: string;
|
|
173
|
+
readonly description: string;
|
|
174
|
+
readonly schemaVersion: number;
|
|
175
|
+
readonly schemaDigest: string;
|
|
176
|
+
readonly recordSchema: JsonSchema;
|
|
177
|
+
readonly behavior?: {
|
|
178
|
+
readonly kind: 'request';
|
|
179
|
+
};
|
|
180
|
+
readonly source: {
|
|
181
|
+
readonly authority: 'native';
|
|
182
|
+
} | {
|
|
183
|
+
readonly authority: 'external';
|
|
184
|
+
readonly connectorAlias: string;
|
|
185
|
+
readonly connectorId: string;
|
|
186
|
+
readonly connectorVersion: string;
|
|
187
|
+
readonly scan: OperationRef;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
168
190
|
interface ArtifactOidcAuth {
|
|
169
191
|
readonly kind?: 'oidc' | undefined;
|
|
170
192
|
readonly issuer: string;
|
|
@@ -227,6 +249,10 @@ export interface ArtifactServer {
|
|
|
227
249
|
readonly auth?: ArtifactAuth;
|
|
228
250
|
/** Compiled knowledge components (ADR 0202, Core v2): descriptors + generated tool metadata, never bytes. */
|
|
229
251
|
readonly knowledge?: readonly CompiledKnowledgeComponent[];
|
|
252
|
+
/** Compiled managed-record schema intent; lifecycle and operator state remain outside artifacts. */
|
|
253
|
+
readonly managedCollections?: readonly ArtifactManagedCollection[];
|
|
254
|
+
/** Typed reusable managed-variable declarations, never live operator values. */
|
|
255
|
+
readonly variables?: readonly ArtifactVariableDeclaration[];
|
|
230
256
|
readonly assistant?: {
|
|
231
257
|
readonly model: NonNullable<Manifest['server']['assistant']>['model'];
|
|
232
258
|
readonly allowedOrigins: readonly string[];
|
|
@@ -50,8 +50,16 @@
|
|
|
50
50
|
*
|
|
51
51
|
* `0.16.0` (Anonymous-to-authenticated onboarding): additive — finite caller-scoped state handles may
|
|
52
52
|
* opt into atomic ownership adoption when a single-use assistant sign-in ticket is spent.
|
|
53
|
+
*
|
|
54
|
+
* `0.17.0` (Managed collection declaration): additive — Core v2 reusable managed-record schema intent
|
|
55
|
+
* may be projected under `server.managedCollections`; lifecycle and operator state remain separate.
|
|
56
|
+
*
|
|
57
|
+
* `0.18.0` (Collection authority): additive — every newly compiled managed collection identifies native
|
|
58
|
+
* authority or exact resolved read-only connector operations for an external replica.
|
|
59
|
+
*
|
|
60
|
+
* `0.19.0` (Business settings): optional typed managed-variable declarations and definition digests.
|
|
53
61
|
*/
|
|
54
|
-
export declare const ARTIFACT_SCHEMA_VERSION = "0.
|
|
62
|
+
export declare const ARTIFACT_SCHEMA_VERSION = "0.19.0";
|
|
55
63
|
/** mimeType for an MCP Apps UI resource (SEP-1865). Widgets are served under this profile. */
|
|
56
64
|
export declare const MCP_APP_MIME_TYPE = "text/html;profile=mcp-app";
|
|
57
65
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -50,8 +50,16 @@
|
|
|
50
50
|
*
|
|
51
51
|
* `0.16.0` (Anonymous-to-authenticated onboarding): additive — finite caller-scoped state handles may
|
|
52
52
|
* opt into atomic ownership adoption when a single-use assistant sign-in ticket is spent.
|
|
53
|
+
*
|
|
54
|
+
* `0.17.0` (Managed collection declaration): additive — Core v2 reusable managed-record schema intent
|
|
55
|
+
* may be projected under `server.managedCollections`; lifecycle and operator state remain separate.
|
|
56
|
+
*
|
|
57
|
+
* `0.18.0` (Collection authority): additive — every newly compiled managed collection identifies native
|
|
58
|
+
* authority or exact resolved read-only connector operations for an external replica.
|
|
59
|
+
*
|
|
60
|
+
* `0.19.0` (Business settings): optional typed managed-variable declarations and definition digests.
|
|
53
61
|
*/
|
|
54
|
-
export const ARTIFACT_SCHEMA_VERSION = '0.
|
|
62
|
+
export const ARTIFACT_SCHEMA_VERSION = '0.19.0';
|
|
55
63
|
/** mimeType for an MCP Apps UI resource (SEP-1865). Widgets are served under this profile. */
|
|
56
64
|
export const MCP_APP_MIME_TYPE = 'text/html;profile=mcp-app';
|
|
57
65
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CompileError } from './errors.js';
|
|
3
|
+
export declare const MAX_VARIABLE_DECLARATIONS = 64;
|
|
4
|
+
export declare const MAX_VARIABLE_SCHEMA_BYTES: number;
|
|
5
|
+
export declare const MAX_VARIABLE_VALUE_BYTES: number;
|
|
6
|
+
export declare const MAX_VARIABLE_SCHEMA_DEPTH = 6;
|
|
7
|
+
export declare const variableDeclarationManifestSchema: z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
10
|
+
valueSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
11
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
12
|
+
portal: z.ZodOptional<z.ZodObject<{
|
|
13
|
+
label: z.ZodString;
|
|
14
|
+
help: z.ZodOptional<z.ZodString>;
|
|
15
|
+
group: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strict>>;
|
|
17
|
+
requiredFor: z.ZodArray<z.ZodString>;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
export type VariableDeclarationManifest = z.infer<typeof variableDeclarationManifestSchema>;
|
|
20
|
+
export interface ArtifactVariableDeclaration extends VariableDeclarationManifest {
|
|
21
|
+
/** Hash of the complete declaration; metadata, default and capability changes are revision-visible. */
|
|
22
|
+
readonly schemaDigest: string;
|
|
23
|
+
}
|
|
24
|
+
/** The one declaration validator used by TypeScript authoring, compilation and activation. */
|
|
25
|
+
export declare function validateVariableDeclaration(declaration: VariableDeclarationManifest): readonly CompileError[];
|
|
26
|
+
export declare function compileVariableDeclarations(declarations: readonly VariableDeclarationManifest[], toolNames: readonly string[], errors: CompileError[]): readonly ArtifactVariableDeclaration[];
|
|
27
|
+
//# sourceMappingURL=business-variables.d.ts.map
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { canonicalJson, sensitiveContentFinding, sha256Canonical, validateJsonSchema, } from '@noodle-borg/app-package';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export const MAX_VARIABLE_DECLARATIONS = 64;
|
|
4
|
+
export const MAX_VARIABLE_SCHEMA_BYTES = 16 * 1024;
|
|
5
|
+
export const MAX_VARIABLE_VALUE_BYTES = 16 * 1024;
|
|
6
|
+
export const MAX_VARIABLE_SCHEMA_DEPTH = 6;
|
|
7
|
+
const plainText = (max) => z
|
|
8
|
+
.string()
|
|
9
|
+
.trim()
|
|
10
|
+
.min(1)
|
|
11
|
+
.max(max)
|
|
12
|
+
.regex(/^[^<>\p{Cc}]+$/u, 'must be plain text without markup or control characters');
|
|
13
|
+
export const variableDeclarationManifestSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
name: z
|
|
16
|
+
.string()
|
|
17
|
+
.min(1)
|
|
18
|
+
.max(128)
|
|
19
|
+
.regex(/^(?!(?:__proto__|prototype|constructor)$)[A-Za-z0-9_]+$/),
|
|
20
|
+
schemaVersion: z.literal(1),
|
|
21
|
+
valueSchema: z.record(z.string(), z.unknown()),
|
|
22
|
+
default: z.unknown().optional(),
|
|
23
|
+
portal: z
|
|
24
|
+
.object({
|
|
25
|
+
label: plainText(120),
|
|
26
|
+
help: plainText(1000).optional(),
|
|
27
|
+
group: plainText(80).optional(),
|
|
28
|
+
})
|
|
29
|
+
.strict()
|
|
30
|
+
.optional(),
|
|
31
|
+
requiredFor: z.array(z.string().regex(/^[a-z][a-z0-9_]*$/)).max(128),
|
|
32
|
+
})
|
|
33
|
+
.strict();
|
|
34
|
+
/** The one declaration validator used by TypeScript authoring, compilation and activation. */
|
|
35
|
+
export function validateVariableDeclaration(declaration) {
|
|
36
|
+
const errors = [];
|
|
37
|
+
const parsed = variableDeclarationManifestSchema.safeParse(declaration);
|
|
38
|
+
if (!parsed.success)
|
|
39
|
+
return [
|
|
40
|
+
{
|
|
41
|
+
code: 'invalid_variable_declaration',
|
|
42
|
+
path: '',
|
|
43
|
+
message: 'invalid variable declaration metadata or version',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
const fail = (path, message) => errors.push({ code: 'invalid_variable_declaration', path, message });
|
|
47
|
+
if (!isBoundedJson(declaration.valueSchema, MAX_VARIABLE_SCHEMA_BYTES)) {
|
|
48
|
+
fail('valueSchema', 'value schema must be bounded JSON');
|
|
49
|
+
return errors;
|
|
50
|
+
}
|
|
51
|
+
validateValueSchema(declaration.valueSchema, 'valueSchema', 0, { fields: 0 }, fail);
|
|
52
|
+
if (errors.length > 0)
|
|
53
|
+
return errors;
|
|
54
|
+
const schemaIssues = validateJsonSchema(declaration.valueSchema, undefined);
|
|
55
|
+
if (schemaIssues.some((issue) => issue.keyword === 'schema'))
|
|
56
|
+
fail('valueSchema', 'invalid JSON Schema');
|
|
57
|
+
if (Object.hasOwn(declaration, 'default')) {
|
|
58
|
+
if (!isBoundedJson(declaration.default, MAX_VARIABLE_VALUE_BYTES))
|
|
59
|
+
fail('default', 'default must be bounded JSON');
|
|
60
|
+
else if (validateJsonSchema(declaration.valueSchema, declaration.default).length > 0)
|
|
61
|
+
fail('default', 'default does not match the declared value schema');
|
|
62
|
+
}
|
|
63
|
+
if (sensitiveContentFinding({ portal: declaration.portal, default: declaration.default }) !==
|
|
64
|
+
undefined) {
|
|
65
|
+
fail('', 'variable metadata/default must not contain credentials');
|
|
66
|
+
}
|
|
67
|
+
return errors;
|
|
68
|
+
}
|
|
69
|
+
export function compileVariableDeclarations(declarations, toolNames, errors) {
|
|
70
|
+
const seen = new Map();
|
|
71
|
+
for (const [index, declaration] of declarations.entries()) {
|
|
72
|
+
const path = `server.variables.${index}`;
|
|
73
|
+
const issues = validateVariableDeclaration(declaration);
|
|
74
|
+
if (issues.length > 0) {
|
|
75
|
+
errors.push(...issues.map((issue) => ({ ...issue, path: issue.path ? `${path}.${issue.path}` : path })));
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const normalized = {
|
|
79
|
+
...declaration,
|
|
80
|
+
requiredFor: [...new Set(declaration.requiredFor)].sort(),
|
|
81
|
+
};
|
|
82
|
+
const schemaDigest = sha256Canonical(normalized);
|
|
83
|
+
const previous = seen.get(declaration.name);
|
|
84
|
+
if (previous !== undefined && previous.schemaDigest !== schemaDigest) {
|
|
85
|
+
errors.push({
|
|
86
|
+
code: 'invalid_variable_declaration',
|
|
87
|
+
path,
|
|
88
|
+
message: 'conflicting duplicate variable declaration',
|
|
89
|
+
});
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
for (const name of normalized.requiredFor) {
|
|
93
|
+
if (!toolNames.includes(name))
|
|
94
|
+
errors.push({
|
|
95
|
+
code: 'invalid_variable_declaration',
|
|
96
|
+
path: `${path}.requiredFor`,
|
|
97
|
+
message: `required capability "${name}" is not a declared tool`,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
seen.set(declaration.name, { ...normalized, schemaDigest });
|
|
101
|
+
}
|
|
102
|
+
return [...seen.values()].sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
|
|
103
|
+
}
|
|
104
|
+
const commonKeys = ['$schema', 'type', 'title', 'description'];
|
|
105
|
+
const typeKeys = {
|
|
106
|
+
string: ['minLength', 'maxLength', 'enum', 'format'],
|
|
107
|
+
boolean: [],
|
|
108
|
+
number: ['minimum', 'maximum', 'exclusiveMinimum', 'exclusiveMaximum', 'multipleOf'],
|
|
109
|
+
integer: ['minimum', 'maximum', 'exclusiveMinimum', 'exclusiveMaximum', 'multipleOf'],
|
|
110
|
+
array: ['items', 'minItems', 'maxItems', 'uniqueItems'],
|
|
111
|
+
object: ['properties', 'required', 'additionalProperties'],
|
|
112
|
+
};
|
|
113
|
+
function validateValueSchema(schema, path, depth, count, fail) {
|
|
114
|
+
if (depth > MAX_VARIABLE_SCHEMA_DEPTH) {
|
|
115
|
+
fail(path, 'value schema exceeds maximum nesting depth');
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const type = schema.type;
|
|
119
|
+
if (typeof type !== 'string' || !Object.hasOwn(typeKeys, type)) {
|
|
120
|
+
fail(path, 'unsupported setting value type');
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const allowed = new Set([...commonKeys, ...(typeKeys[type] ?? [])]);
|
|
124
|
+
for (const key of Object.keys(schema))
|
|
125
|
+
if (!allowed.has(key))
|
|
126
|
+
fail(`${path}.${key}`, 'unsupported setting schema keyword');
|
|
127
|
+
for (const key of ['title', 'description']) {
|
|
128
|
+
if (schema[key] !== undefined && !plainText(1000).safeParse(schema[key]).success)
|
|
129
|
+
fail(`${path}.${key}`, 'schema metadata must be bounded plain text');
|
|
130
|
+
}
|
|
131
|
+
if (schema.$schema !== undefined &&
|
|
132
|
+
schema.$schema !== 'https://json-schema.org/draft/2020-12/schema')
|
|
133
|
+
fail(`${path}.$schema`, 'unsupported JSON Schema dialect');
|
|
134
|
+
if (type === 'string')
|
|
135
|
+
validateStringSchema(schema, path, fail);
|
|
136
|
+
if (type === 'number' || type === 'integer') {
|
|
137
|
+
if (!finiteBound(schema.minimum ?? schema.exclusiveMinimum) ||
|
|
138
|
+
!finiteBound(schema.maximum ?? schema.exclusiveMaximum))
|
|
139
|
+
fail(path, 'numbers require finite minimum and maximum');
|
|
140
|
+
const lower = schema.minimum ?? schema.exclusiveMinimum;
|
|
141
|
+
const upper = schema.maximum ?? schema.exclusiveMaximum;
|
|
142
|
+
if (typeof lower === 'number' &&
|
|
143
|
+
typeof upper === 'number' &&
|
|
144
|
+
(lower > upper ||
|
|
145
|
+
(lower === upper &&
|
|
146
|
+
(schema.exclusiveMinimum !== undefined || schema.exclusiveMaximum !== undefined))))
|
|
147
|
+
fail(path, 'numeric bounds must permit at least one value');
|
|
148
|
+
}
|
|
149
|
+
if (type === 'array') {
|
|
150
|
+
if (!boundedCount(schema.maxItems, 100))
|
|
151
|
+
fail(`${path}.maxItems`, 'arrays require maxItems between 0 and 100');
|
|
152
|
+
if (typeof schema.minItems === 'number' &&
|
|
153
|
+
typeof schema.maxItems === 'number' &&
|
|
154
|
+
schema.minItems > schema.maxItems)
|
|
155
|
+
fail(path, 'array bounds must permit at least one value');
|
|
156
|
+
if (!isObject(schema.items))
|
|
157
|
+
fail(`${path}.items`, 'arrays require one item schema');
|
|
158
|
+
else
|
|
159
|
+
validateValueSchema(schema.items, `${path}.items`, depth + 1, count, fail);
|
|
160
|
+
}
|
|
161
|
+
if (type === 'object') {
|
|
162
|
+
if (schema.additionalProperties !== false)
|
|
163
|
+
fail(`${path}.additionalProperties`, 'objects must be closed');
|
|
164
|
+
if (!isObject(schema.properties)) {
|
|
165
|
+
fail(`${path}.properties`, 'objects require explicit properties');
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
for (const [key, child] of Object.entries(schema.properties)) {
|
|
169
|
+
count.fields++;
|
|
170
|
+
if (count.fields > 128) {
|
|
171
|
+
fail(path, 'value schema exceeds 128 total properties');
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key) ||
|
|
175
|
+
['__proto__', 'prototype', 'constructor'].includes(key))
|
|
176
|
+
fail(`${path}.properties`, 'unsafe property name');
|
|
177
|
+
if (!isObject(child))
|
|
178
|
+
fail(`${path}.properties.${key}`, 'property requires a value schema');
|
|
179
|
+
else
|
|
180
|
+
validateValueSchema(child, `${path}.properties.${key}`, depth + 1, count, fail);
|
|
181
|
+
}
|
|
182
|
+
if (schema.required !== undefined &&
|
|
183
|
+
(!Array.isArray(schema.required) ||
|
|
184
|
+
schema.required.some((key) => typeof key !== 'string' || !Object.hasOwn(schema.properties, key))))
|
|
185
|
+
fail(`${path}.required`, 'required must name declared properties');
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function validateStringSchema(schema, path, fail) {
|
|
189
|
+
if (schema.enum !== undefined) {
|
|
190
|
+
if (!Array.isArray(schema.enum) ||
|
|
191
|
+
schema.enum.length === 0 ||
|
|
192
|
+
schema.enum.length > 100 ||
|
|
193
|
+
schema.enum.some((item) => typeof item !== 'string' || item.length > 200 || /[\p{Cc}<>]/u.test(item)))
|
|
194
|
+
fail(`${path}.enum`, 'enums require 1 to 100 bounded plain string choices');
|
|
195
|
+
}
|
|
196
|
+
else if (!boundedCount(schema.maxLength, 4096))
|
|
197
|
+
fail(`${path}.maxLength`, 'strings require maxLength between 0 and 4096');
|
|
198
|
+
if (schema.format !== undefined &&
|
|
199
|
+
!['email', 'date', 'date-time', 'time', 'uuid'].includes(String(schema.format)))
|
|
200
|
+
fail(`${path}.format`, 'unsupported setting string format');
|
|
201
|
+
}
|
|
202
|
+
function isObject(value) {
|
|
203
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
204
|
+
}
|
|
205
|
+
function boundedCount(value, max) {
|
|
206
|
+
return typeof value === 'number' && Number.isInteger(value) && value >= 0 && value <= max;
|
|
207
|
+
}
|
|
208
|
+
function finiteBound(value) {
|
|
209
|
+
return (typeof value === 'number' &&
|
|
210
|
+
Number.isFinite(value) &&
|
|
211
|
+
Math.abs(value) <= Number.MAX_SAFE_INTEGER);
|
|
212
|
+
}
|
|
213
|
+
function isBoundedJson(value, maxBytes) {
|
|
214
|
+
try {
|
|
215
|
+
const rejectUndefined = (node, depth) => {
|
|
216
|
+
if (node === undefined || depth > 16)
|
|
217
|
+
return false;
|
|
218
|
+
if (Array.isArray(node))
|
|
219
|
+
return Array.from(node).every((child) => rejectUndefined(child, depth + 1));
|
|
220
|
+
if (node !== null && typeof node === 'object')
|
|
221
|
+
return Object.values(node).every((child) => rejectUndefined(child, depth + 1));
|
|
222
|
+
return true;
|
|
223
|
+
};
|
|
224
|
+
return rejectUndefined(value, 0) && Buffer.byteLength(canonicalJson(value)) <= maxBytes;
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=business-variables.js.map
|
|
@@ -9,9 +9,11 @@ import { emitCatalogArtifactSurfaces, isContextProvider, } from './artifact/cata
|
|
|
9
9
|
import { MCP_APP_MIME_TYPE, } from './artifact/types.js';
|
|
10
10
|
import { rewriteHostedAssets, rewriteLocalAssets, } from './assets.js';
|
|
11
11
|
import { brandingWarnings, normalizeRuntimeBranding } from './branding.js';
|
|
12
|
+
import { compileVariableDeclarations } from './business-variables.js';
|
|
12
13
|
import { validateInteractiveFlow } from './confirmation-flow.js';
|
|
13
14
|
import { parseAmbientContext } from './context-compile.js';
|
|
14
15
|
import { findExternalRef, parseFulfilment } from './fulfilment-structural.js';
|
|
16
|
+
import { compileManagedCollections } from './managed-collections.js';
|
|
15
17
|
import { cspOriginFaults } from './manifest/csp-origins.js';
|
|
16
18
|
import { parseManifestDocument } from './manifest/parse-document.js';
|
|
17
19
|
import { manifestSchema } from './manifest/schema.js';
|
|
@@ -143,6 +145,11 @@ export function compileManifest(raw, options = {}) {
|
|
|
143
145
|
// 2. Structural passes (catalog-independent): duplicate names, `$use` resolution, external refs,
|
|
144
146
|
// fulfilment parsing. `$use` is resolved first so external-ref detection also scans bundled defs.
|
|
145
147
|
const errors = widgetHtmlSizeErrors(manifest, runtimeBranding);
|
|
148
|
+
const variables = compileVariableDeclarations(manifest.manifestVersion === '2' ? (manifest.server.variables ?? []) : [], manifest.tools.map((tool) => tool.name), errors);
|
|
149
|
+
const managedCollections = compileManagedCollections(manifest.manifestVersion === '2' ? (manifest.server.collections ?? []) : [], manifest.tools.map((tool) => tool.name), errors, {
|
|
150
|
+
...(options.catalog === undefined ? {} : { catalog: options.catalog }),
|
|
151
|
+
declared: manifest.connectors ?? {},
|
|
152
|
+
});
|
|
146
153
|
const requirements = parseCapabilityRequirements(manifest.requires, errors);
|
|
147
154
|
const seen = new Set();
|
|
148
155
|
const schemasMap = manifest.schemas ?? {};
|
|
@@ -434,6 +441,8 @@ export function compileManifest(raw, options = {}) {
|
|
|
434
441
|
declared,
|
|
435
442
|
customerEndpoints,
|
|
436
443
|
...(knowledge.length > 0 ? { knowledge } : {}),
|
|
444
|
+
...(managedCollections.length > 0 ? { managedCollections } : {}),
|
|
445
|
+
...(variables.length > 0 ? { variables } : {}),
|
|
437
446
|
});
|
|
438
447
|
const warnings = [
|
|
439
448
|
...brandingWarnings(manifest.server.branding),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AppPackageArtifactV1 } from '@noodle-borg/app-package';
|
|
2
2
|
import type { RuntimeArtifact } from './artifact/types.js';
|
|
3
3
|
import type { PackagedAsset } from './assets.js';
|
|
4
|
-
export type CompileErrorCode = 'invalid_context_provider' | 'yaml_parse_error' | 'invalid_shape' | 'invalid_name' | 'duplicate_name' | 'reserved_name' | 'unsupported_manifest_version' | 'reserved_for_future_version' | 'invalid_operation_ref' | 'external_ref' | 'invalid_schema_ref' | 'unknown_schema_ref' | 'schema_ref_conflict' | 'invalid_expression' | 'expr_unknown_root' | 'expr_root_unavailable' | 'expr_operator_not_allowed' | 'expr_if_not_boolean' | 'unknown_step_ref' | 'forward_step_ref' | 'self_step_ref' | 'duplicate_step_id' | 'invalid_fulfilment' | 'invalid_elicitation_schema' | 'invalid_elicitation_flow' | 'invalid_confirmation_flow' | 'arg_type_mismatch' | 'ambient_context_action' | 'duplicate_resource' | 'duplicate_prompt' | 'duplicate_resource_uri' | 'unsupported_uri_template' | 'duplicate_widget' | 'unknown_widget_tool' | 'unknown_widget_action_tool' | 'duplicate_widget_tool' | 'invalid_widget_binding' | 'invalid_widget_state_handle' | 'widget_html_too_large' | 'widget_html_total_too_large' | 'invalid_asset' | 'invalid_capability_requirement' | 'state_secret_field' | 'invalid_knowledge' | 'knowledge_unhashed' | 'unknown_connector_alias' | 'connector_not_in_catalog' | 'unknown_operation' | 'connector_binding_required' | 'unsupported_credential_profile' | 'credential_scope_mismatch' | 'credential_audience_mismatch' | 'customer_endpoint_auth_required' | 'customer_endpoint_mapping_required' | 'customer_endpoint_unknown_mapping' | 'customer_endpoint_bridge_unsupported' | 'assistant_capability_unknown' | 'assistant_public_user_reference' | 'assistant_public_effect_unconfirmed' | 'customer_endpoint_action_unsupported' | 'customer_endpoint_surface_unsupported' | 'customer_endpoint_credential_source_unsupported' | 'customer_endpoint_policy_conflict' | 'customer_endpoint_routing_inconsistent' | 'unused_connector_alias' | 'arg_mismatch' | 'agent_guide_invalid' | 'agent_guide_duplicate_workflow' | 'agent_guide_duplicate_example' | 'agent_guide_example_workflow_missing' | 'agent_guide_capability_missing' | 'agent_guide_capability_kind' | 'app_package_sensitive_content';
|
|
4
|
+
export type CompileErrorCode = 'invalid_context_provider' | 'yaml_parse_error' | 'invalid_shape' | 'invalid_name' | 'duplicate_name' | 'reserved_name' | 'unsupported_manifest_version' | 'reserved_for_future_version' | 'invalid_operation_ref' | 'external_ref' | 'invalid_schema_ref' | 'unknown_schema_ref' | 'schema_ref_conflict' | 'invalid_expression' | 'expr_unknown_root' | 'expr_root_unavailable' | 'expr_operator_not_allowed' | 'expr_if_not_boolean' | 'unknown_step_ref' | 'forward_step_ref' | 'self_step_ref' | 'duplicate_step_id' | 'invalid_fulfilment' | 'invalid_elicitation_schema' | 'invalid_elicitation_flow' | 'invalid_confirmation_flow' | 'arg_type_mismatch' | 'ambient_context_action' | 'duplicate_resource' | 'duplicate_prompt' | 'duplicate_resource_uri' | 'unsupported_uri_template' | 'duplicate_widget' | 'unknown_widget_tool' | 'unknown_widget_action_tool' | 'duplicate_widget_tool' | 'invalid_widget_binding' | 'invalid_widget_state_handle' | 'widget_html_too_large' | 'widget_html_total_too_large' | 'invalid_asset' | 'invalid_capability_requirement' | 'state_secret_field' | 'invalid_knowledge' | 'knowledge_unhashed' | 'invalid_managed_collection' | 'invalid_variable_declaration' | 'invalid_managed_collection_source' | 'unknown_connector_alias' | 'connector_not_in_catalog' | 'unknown_operation' | 'connector_binding_required' | 'unsupported_credential_profile' | 'credential_scope_mismatch' | 'credential_audience_mismatch' | 'customer_endpoint_auth_required' | 'customer_endpoint_mapping_required' | 'customer_endpoint_unknown_mapping' | 'customer_endpoint_bridge_unsupported' | 'assistant_capability_unknown' | 'assistant_public_user_reference' | 'assistant_public_effect_unconfirmed' | 'customer_endpoint_action_unsupported' | 'customer_endpoint_surface_unsupported' | 'customer_endpoint_credential_source_unsupported' | 'customer_endpoint_policy_conflict' | 'customer_endpoint_routing_inconsistent' | 'unused_connector_alias' | 'arg_mismatch' | 'agent_guide_invalid' | 'agent_guide_duplicate_workflow' | 'agent_guide_duplicate_example' | 'agent_guide_example_workflow_missing' | 'agent_guide_capability_missing' | 'agent_guide_capability_kind' | 'app_package_sensitive_content';
|
|
5
5
|
export interface CompileError {
|
|
6
6
|
readonly code: CompileErrorCode;
|
|
7
7
|
/** Dotted path to the offending location (e.g. `tools.1.name`); empty string for the document root. */
|
|
@@ -3,8 +3,9 @@ export { APP_PACKAGE_V1_VALIDATION_LIMITS, appPackageArtifactV1Schema, canonical
|
|
|
3
3
|
export { type ParsedUri, type ParseUriResult, parseUriTemplate, type TemplateUri, } from '@noodle-borg/uri-template';
|
|
4
4
|
export { compileAppPackage } from './app-package/compile.js';
|
|
5
5
|
export { isSafeReadTool, requiresToolConfirmation } from './artifact/consent.js';
|
|
6
|
-
export { ARTIFACT_SCHEMA_VERSION, type ArtifactConnectionSource, type ArtifactConnectorBinding, type ArtifactCustomerAuthRouting, type ArtifactFulfilment, type ArtifactMeta, type ArtifactPackagedAsset, type ArtifactPrompt, type ArtifactPromptArgument, type ArtifactResource, type ArtifactServer, type ArtifactServerContext, type ArtifactState, type ArtifactStateHandle, type ArtifactStateHandleKind, type ArtifactStateHandleScope, type ArtifactStep, type ArtifactTool, type ArtifactToolAuthorization, type ExprMap, type JsonSchema, MCP_APP_MIME_TYPE, type OperationRef, type ResolvedCredentialBinding, type ResolvedOperationRef, type RuntimeArtifact, type UnresolvedOperationRef, type WidgetUiMeta, } from './artifact/types.js';
|
|
6
|
+
export { ARTIFACT_SCHEMA_VERSION, type ArtifactConnectionSource, type ArtifactConnectorBinding, type ArtifactCustomerAuthRouting, type ArtifactFulfilment, type ArtifactManagedCollection, type ArtifactMeta, type ArtifactPackagedAsset, type ArtifactPrompt, type ArtifactPromptArgument, type ArtifactResource, type ArtifactServer, type ArtifactServerContext, type ArtifactState, type ArtifactStateHandle, type ArtifactStateHandleKind, type ArtifactStateHandleScope, type ArtifactStep, type ArtifactTool, type ArtifactToolAuthorization, type ExprMap, type JsonSchema, MCP_APP_MIME_TYPE, type OperationRef, type ResolvedCredentialBinding, type ResolvedOperationRef, type RuntimeArtifact, type UnresolvedOperationRef, type WidgetUiMeta, } from './artifact/types.js';
|
|
7
7
|
export { assetReference, type HostedAssetOptions, type HostedPackagedAsset, isPackagedAssetReference, type LocalAssetOptions, localAssetRoutePrefix, type PackagedAsset, type PackagedAssetReference, type PreparedPackagedAsset, prepareLocalAssets, } from './assets.js';
|
|
8
|
+
export { type ArtifactVariableDeclaration, compileVariableDeclarations, MAX_VARIABLE_DECLARATIONS, MAX_VARIABLE_SCHEMA_BYTES, MAX_VARIABLE_SCHEMA_DEPTH, MAX_VARIABLE_VALUE_BYTES, type VariableDeclarationManifest, validateVariableDeclaration, variableDeclarationManifestSchema, } from './business-variables.js';
|
|
8
9
|
export { InMemoryCatalog } from './catalog/in-memory.js';
|
|
9
10
|
export { isLegacyFieldMap, normalizeOperationIoSchema } from './catalog/io-schema.js';
|
|
10
11
|
export { computeSignatureHash } from './catalog/signature.js';
|
|
@@ -13,6 +14,8 @@ export { type CompileOptions, compile, compileManifest, type ValidateResult, val
|
|
|
13
14
|
export { type CustomerEndpointPolicy, type CustomerEndpointRef, isCustomerEndpointRef, isValidCustomerEndpointName, normalizeCustomerEndpointPolicy, resolveCustomerEndpointBaseUrl, } from './customer-endpoint.js';
|
|
14
15
|
export type { CompileError, CompileErrorCode, CompileResult } from './errors.js';
|
|
15
16
|
export { computeConnectionConfigRevision } from './fulfilment-emit.js';
|
|
17
|
+
export { type ManagedCollectionControls, projectManagedCollectionControls, validateManagedCollectionControls, } from './managed-collection-controls.js';
|
|
18
|
+
export { MAX_MANAGED_COLLECTION_DESCRIPTION_LENGTH, MAX_MANAGED_COLLECTION_NAME_LENGTH, MAX_MANAGED_COLLECTION_RECORD_FIELDS, MAX_MANAGED_COLLECTION_RECORD_SCHEMA_BYTES, MAX_MANAGED_COLLECTION_RECORD_SCHEMA_DEPTH, MAX_MANAGED_COLLECTION_SCHEMA_VERSION, MAX_MANAGED_COLLECTION_TITLE_LENGTH, MAX_MANAGED_COLLECTIONS, type ManagedCollectionManifest, } from './managed-collections.js';
|
|
16
19
|
export { type CspFault, type CspList, cspFaultsInManifest, cspOriginFaults, isHonorableCspOrigin, } from './manifest/csp-origins.js';
|
|
17
20
|
export { type ArrayNode, type CoalesceNode, type CondNode, type ExprNode, type ObjectEntry, type ObjectNode, type PathNode, type PathSegment, parseCondition, parseValue, } from './manifest/expression.js';
|
|
18
21
|
export { isValidName, parseOperationRef } from './manifest/naming.js';
|
|
@@ -20,6 +23,7 @@ export { type Manifest, manifestSchema } from './manifest/schema.js';
|
|
|
20
23
|
export { type ResolveSchemaResult, resolveSchemaUses, type SchemasMap, } from './manifest/schema-refs.js';
|
|
21
24
|
export { anonymousBehavior } from './manifest/website-projection.js';
|
|
22
25
|
export { type SniffedImage, sniffImageBytes } from './mime-sniffing.js';
|
|
26
|
+
export { BUILTIN_RECORD_CATALOG_CONNECTOR, RECORD_CONNECTOR_ID, RECORD_CONNECTOR_VERSION, RECORD_OPERATION_SIGNATURES, } from './native-record-operations.js';
|
|
23
27
|
export { manifestJsonSchema } from './schema-export.js';
|
|
24
28
|
export { MAX_COMPILED_WIDGET_HTML_BYTES, MAX_RAW_WIDGET_HTML_BYTES, MAX_TOTAL_WIDGET_HTML_BYTES, RECOMMENDED_COMPILED_WIDGET_HTML_BYTES, } from './widget-limits.js';
|
|
25
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -4,12 +4,15 @@ export { compileAppPackage } from './app-package/compile.js';
|
|
|
4
4
|
export { isSafeReadTool, requiresToolConfirmation } from './artifact/consent.js';
|
|
5
5
|
export { ARTIFACT_SCHEMA_VERSION, MCP_APP_MIME_TYPE, } from './artifact/types.js';
|
|
6
6
|
export { assetReference, isPackagedAssetReference, localAssetRoutePrefix, prepareLocalAssets, } from './assets.js';
|
|
7
|
+
export { compileVariableDeclarations, MAX_VARIABLE_DECLARATIONS, MAX_VARIABLE_SCHEMA_BYTES, MAX_VARIABLE_SCHEMA_DEPTH, MAX_VARIABLE_VALUE_BYTES, validateVariableDeclaration, variableDeclarationManifestSchema, } from './business-variables.js';
|
|
7
8
|
export { InMemoryCatalog } from './catalog/in-memory.js';
|
|
8
9
|
export { isLegacyFieldMap, normalizeOperationIoSchema } from './catalog/io-schema.js';
|
|
9
10
|
export { computeSignatureHash } from './catalog/signature.js';
|
|
10
11
|
export { compile, compileManifest, validateManifest, } from './compile.js';
|
|
11
12
|
export { isCustomerEndpointRef, isValidCustomerEndpointName, normalizeCustomerEndpointPolicy, resolveCustomerEndpointBaseUrl, } from './customer-endpoint.js';
|
|
12
13
|
export { computeConnectionConfigRevision } from './fulfilment-emit.js';
|
|
14
|
+
export { projectManagedCollectionControls, validateManagedCollectionControls, } from './managed-collection-controls.js';
|
|
15
|
+
export { MAX_MANAGED_COLLECTION_DESCRIPTION_LENGTH, MAX_MANAGED_COLLECTION_NAME_LENGTH, MAX_MANAGED_COLLECTION_RECORD_FIELDS, MAX_MANAGED_COLLECTION_RECORD_SCHEMA_BYTES, MAX_MANAGED_COLLECTION_RECORD_SCHEMA_DEPTH, MAX_MANAGED_COLLECTION_SCHEMA_VERSION, MAX_MANAGED_COLLECTION_TITLE_LENGTH, MAX_MANAGED_COLLECTIONS, } from './managed-collections.js';
|
|
13
16
|
export { cspFaultsInManifest, cspOriginFaults, isHonorableCspOrigin, } from './manifest/csp-origins.js';
|
|
14
17
|
export { parseCondition, parseValue, } from './manifest/expression.js';
|
|
15
18
|
export { isValidName, parseOperationRef } from './manifest/naming.js';
|
|
@@ -17,6 +20,7 @@ export { manifestSchema } from './manifest/schema.js';
|
|
|
17
20
|
export { resolveSchemaUses, } from './manifest/schema-refs.js';
|
|
18
21
|
export { anonymousBehavior } from './manifest/website-projection.js';
|
|
19
22
|
export { sniffImageBytes } from './mime-sniffing.js';
|
|
23
|
+
export { BUILTIN_RECORD_CATALOG_CONNECTOR, RECORD_CONNECTOR_ID, RECORD_CONNECTOR_VERSION, RECORD_OPERATION_SIGNATURES, } from './native-record-operations.js';
|
|
20
24
|
export { manifestJsonSchema } from './schema-export.js';
|
|
21
25
|
export { MAX_COMPILED_WIDGET_HTML_BYTES, MAX_RAW_WIDGET_HTML_BYTES, MAX_TOTAL_WIDGET_HTML_BYTES, RECOMMENDED_COMPILED_WIDGET_HTML_BYTES, } from './widget-limits.js';
|
|
22
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CompileError } from './errors.js';
|
|
3
|
+
export declare const managedCollectionControlFields: {
|
|
4
|
+
management: z.ZodOptional<z.ZodObject<{
|
|
5
|
+
assignment: z.ZodOptional<z.ZodLiteral<true>>;
|
|
6
|
+
notes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
7
|
+
}, z.core.$strict>>;
|
|
8
|
+
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
9
|
+
label: z.ZodOptional<z.ZodString>;
|
|
10
|
+
help: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, z.core.$strict>>>;
|
|
12
|
+
publicFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
|
+
editableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
|
+
summaryFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
+
filterFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
|
+
sortFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
|
+
};
|
|
18
|
+
declare const controlsSchema: z.ZodObject<{
|
|
19
|
+
management: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
assignment: z.ZodOptional<z.ZodLiteral<true>>;
|
|
21
|
+
notes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
22
|
+
}, z.core.$strict>>;
|
|
23
|
+
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
24
|
+
label: z.ZodOptional<z.ZodString>;
|
|
25
|
+
help: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strict>>>;
|
|
27
|
+
publicFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28
|
+
editableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
29
|
+
summaryFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
30
|
+
filterFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
31
|
+
sortFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
}, z.core.$strict>;
|
|
33
|
+
export interface ManagedCollectionControls {
|
|
34
|
+
readonly management?: {
|
|
35
|
+
readonly assignment?: true | undefined;
|
|
36
|
+
readonly notes?: true | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
readonly fields?: Readonly<Record<string, {
|
|
39
|
+
readonly label?: string | undefined;
|
|
40
|
+
readonly help?: string | undefined;
|
|
41
|
+
}>> | undefined;
|
|
42
|
+
readonly publicFields?: readonly string[] | undefined;
|
|
43
|
+
readonly editableFields?: readonly string[] | undefined;
|
|
44
|
+
readonly summaryFields?: readonly string[] | undefined;
|
|
45
|
+
readonly filterFields?: readonly string[] | undefined;
|
|
46
|
+
readonly sortFields?: readonly string[] | undefined;
|
|
47
|
+
}
|
|
48
|
+
/** Validate presentation/exposure against actual record fields, independently of application names. */
|
|
49
|
+
export declare function validateManagedCollectionControls(controls: ManagedCollectionControls, schema: Readonly<Record<string, unknown>>, external: boolean, path: string, errors: CompileError[]): void;
|
|
50
|
+
export declare function projectManagedCollectionControls(value: ManagedCollectionControls): z.infer<typeof controlsSchema>;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=managed-collection-controls.d.ts.map
|