@elizaos/shared 2.0.0-beta.1 → 2.0.11-beta.7
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/api/agent-api-types.d.ts +210 -0
- package/api/agent-api-types.d.ts.map +1 -0
- package/api/agent-api-types.js +11 -0
- package/api/agent-api-types.js.map +1 -0
- package/api/http-helpers.d.ts +3 -0
- package/api/http-helpers.d.ts.map +1 -0
- package/api/http-helpers.js +2 -0
- package/api/http-helpers.js.map +1 -0
- package/api/route-helpers.d.ts +2 -0
- package/api/route-helpers.d.ts.map +1 -0
- package/app-hero-art.d.ts.map +1 -0
- package/app-hero-art.js +350 -0
- package/app-hero-art.js.map +1 -0
- package/brand/index.d.ts +130 -0
- package/brand/index.d.ts.map +1 -0
- package/brand/index.js +126 -0
- package/brand/index.js.map +1 -0
- package/brand-classic/index.d.ts +158 -0
- package/brand-classic/index.d.ts.map +1 -0
- package/brand-classic/index.js +91 -0
- package/brand-classic/index.js.map +1 -0
- package/character-language.d.ts +16 -0
- package/character-language.d.ts.map +1 -0
- package/character-language.js +58 -0
- package/character-language.js.map +1 -0
- package/character-presets.characters.d.ts +22 -0
- package/character-presets.characters.d.ts.map +1 -0
- package/character-presets.characters.js +2617 -0
- package/character-presets.characters.js.map +1 -0
- package/character-presets.d.ts +42 -0
- package/character-presets.d.ts.map +1 -0
- package/character-presets.js +176 -0
- package/character-presets.js.map +1 -0
- package/character-presets.shared.d.ts +2 -0
- package/character-presets.shared.d.ts.map +1 -0
- package/character-presets.shared.js +8 -0
- package/character-presets.shared.js.map +1 -0
- package/checkout/index.d.ts +48 -0
- package/checkout/index.d.ts.map +1 -0
- package/checkout/index.js +59 -0
- package/checkout/index.js.map +1 -0
- package/cli/parse-duration.d.ts.map +1 -0
- package/cli/parse-duration.js +26 -0
- package/cli/parse-duration.js.map +1 -0
- package/config/allowed-hosts.js +44 -0
- package/config/allowed-hosts.js.map +1 -0
- package/config/api-key-prefix-hints.d.ts +24 -0
- package/config/api-key-prefix-hints.d.ts.map +1 -0
- package/config/api-key-prefix-hints.js +26 -0
- package/config/api-key-prefix-hints.js.map +1 -0
- package/config/app-config.d.ts +274 -0
- package/config/app-config.d.ts.map +1 -0
- package/config/app-config.js +64 -0
- package/config/app-config.js.map +1 -0
- package/config/app-manifest.d.ts.map +1 -0
- package/config/app-manifest.js +115 -0
- package/config/app-manifest.js.map +1 -0
- package/config/boot-config-store.d.ts +74 -0
- package/config/boot-config-store.d.ts.map +1 -0
- package/config/branding.d.ts +53 -0
- package/config/branding.d.ts.map +1 -0
- package/config/branding.js +23 -0
- package/config/branding.js.map +1 -0
- package/config/cloud-only.d.ts +8 -0
- package/config/cloud-only.d.ts.map +1 -0
- package/config/cloud-only.js +26 -0
- package/config/cloud-only.js.map +1 -0
- package/config/config-catalog.d.ts.map +1 -0
- package/config/config-catalog.js +719 -0
- package/config/config-catalog.js.map +1 -0
- package/config/config.js +23 -0
- package/config/config.js.map +1 -0
- package/config/distribution-profile.js +29 -0
- package/config/distribution-profile.js.map +1 -0
- package/config/env-vars.d.ts.map +1 -0
- package/config/index.d.ts +12 -0
- package/config/index.d.ts.map +1 -0
- package/config/index.js +15 -0
- package/config/index.js.map +1 -0
- package/config/plugin-auto-enable-engine.js +45 -0
- package/config/plugin-auto-enable-engine.js.map +1 -0
- package/config/plugin-manifest.d.ts.map +1 -0
- package/config/plugin-manifest.js +281 -0
- package/config/plugin-manifest.js.map +1 -0
- package/config/runtime-mode.d.ts.map +1 -0
- package/config/runtime-mode.js +107 -0
- package/config/runtime-mode.js.map +1 -0
- package/config/types.agent-defaults.d.ts +388 -0
- package/config/types.agent-defaults.d.ts.map +1 -0
- package/config/types.agents.d.ts +119 -0
- package/config/types.agents.d.ts.map +1 -0
- package/config/types.eliza.d.ts +689 -0
- package/config/types.eliza.d.ts.map +1 -0
- package/config/types.messages.d.ts +176 -0
- package/config/types.messages.d.ts.map +1 -0
- package/config/types.tools.d.ts +400 -0
- package/config/types.tools.d.ts.map +1 -0
- package/config/ui-spec.d.ts +164 -0
- package/config/ui-spec.d.ts.map +1 -0
- package/config/zod-schema.agent-runtime.d.ts +1087 -0
- package/config/zod-schema.core.d.ts +1048 -0
- package/connectors.d.ts +5 -0
- package/connectors.d.ts.map +1 -0
- package/connectors.js +73 -0
- package/connectors.js.map +1 -0
- package/contracts/agent-routes.d.ts +63 -0
- package/contracts/agent-routes.d.ts.map +1 -0
- package/contracts/agent-routes.js +55 -0
- package/contracts/agent-routes.js.map +1 -0
- package/contracts/app-permissions-routes.d.ts +148 -0
- package/contracts/app-permissions-routes.d.ts.map +1 -0
- package/contracts/app-permissions-routes.js +96 -0
- package/contracts/app-permissions-routes.js.map +1 -0
- package/contracts/app-permissions.d.ts +122 -0
- package/contracts/app-permissions.d.ts.map +1 -0
- package/contracts/app-permissions.js +163 -0
- package/contracts/app-permissions.js.map +1 -0
- package/contracts/apps-favorites-routes.d.ts +44 -0
- package/contracts/apps-favorites-routes.d.ts.map +1 -0
- package/contracts/apps-favorites-routes.js +48 -0
- package/contracts/apps-favorites-routes.js.map +1 -0
- package/contracts/apps-lifecycle-routes.d.ts +185 -0
- package/contracts/apps-lifecycle-routes.d.ts.map +1 -0
- package/contracts/apps-lifecycle-routes.js +204 -0
- package/contracts/apps-lifecycle-routes.js.map +1 -0
- package/contracts/apps-loading-routes.d.ts +64 -0
- package/contracts/apps-loading-routes.d.ts.map +1 -0
- package/contracts/apps-loading-routes.js +65 -0
- package/contracts/apps-loading-routes.js.map +1 -0
- package/contracts/apps-runs-routes.d.ts +33 -0
- package/contracts/apps-runs-routes.d.ts.map +1 -0
- package/contracts/apps-runs-routes.js +38 -0
- package/contracts/apps-runs-routes.js.map +1 -0
- package/contracts/apps.d.ts +1152 -0
- package/contracts/apps.d.ts.map +1 -0
- package/contracts/apps.js +457 -0
- package/contracts/apps.js.map +1 -0
- package/contracts/auth-routes.d.ts +23 -0
- package/contracts/auth-routes.d.ts.map +1 -0
- package/contracts/auth-routes.js +25 -0
- package/contracts/auth-routes.js.map +1 -0
- package/contracts/calendar.d.ts +181 -0
- package/contracts/calendar.d.ts.map +1 -0
- package/contracts/calendar.js +19 -0
- package/contracts/calendar.js.map +1 -0
- package/contracts/character-routes.d.ts +70 -0
- package/contracts/character-routes.d.ts.map +1 -0
- package/contracts/character-routes.js +49 -0
- package/contracts/character-routes.js.map +1 -0
- package/contracts/cloud-coding-containers.d.ts +432 -0
- package/contracts/cloud-coding-containers.d.ts.map +1 -0
- package/contracts/cloud-coding-containers.js +135 -0
- package/contracts/cloud-coding-containers.js.map +1 -0
- package/contracts/cloud-topology.js +72 -0
- package/contracts/cloud-topology.js.map +1 -0
- package/contracts/connector-routes.d.ts +39 -0
- package/contracts/connector-routes.d.ts.map +1 -0
- package/contracts/connector-routes.js +50 -0
- package/contracts/connector-routes.js.map +1 -0
- package/contracts/content-pack.d.ts +131 -0
- package/contracts/content-pack.d.ts.map +1 -0
- package/contracts/content-pack.js +103 -0
- package/contracts/conversation-routes.d.ts +195 -0
- package/contracts/conversation-routes.d.ts.map +1 -0
- package/contracts/conversation-routes.js +107 -0
- package/contracts/conversation-routes.js.map +1 -0
- package/contracts/diagnostics-routes.d.ts +33 -0
- package/contracts/diagnostics-routes.d.ts.map +1 -0
- package/contracts/diagnostics-routes.js +26 -0
- package/contracts/diagnostics-routes.js.map +1 -0
- package/contracts/first-run-options.d.ts +531 -0
- package/contracts/first-run-options.d.ts.map +1 -0
- package/contracts/first-run-options.js +1186 -0
- package/contracts/first-run-options.js.map +1 -0
- package/contracts/first-run-routes.d.ts +167 -0
- package/contracts/first-run-routes.d.ts.map +1 -0
- package/contracts/first-run-routes.js +115 -0
- package/contracts/first-run-routes.js.map +1 -0
- package/contracts/health.d.ts +30 -0
- package/contracts/health.d.ts.map +1 -0
- package/contracts/health.js +29 -0
- package/contracts/health.js.map +1 -0
- package/contracts/inbox-routes.d.ts +37 -0
- package/contracts/inbox-routes.d.ts.map +1 -0
- package/contracts/inbox-routes.js +44 -0
- package/contracts/inbox-routes.js.map +1 -0
- package/contracts/index.d.ts +42 -0
- package/contracts/index.d.ts.map +1 -0
- package/contracts/index.js +42 -0
- package/contracts/index.js.map +1 -0
- package/contracts/memory-routes.d.ts +27 -0
- package/contracts/memory-routes.d.ts.map +1 -0
- package/contracts/memory-routes.js +23 -0
- package/contracts/memory-routes.js.map +1 -0
- package/contracts/misc-routes.d.ts +192 -0
- package/contracts/misc-routes.d.ts.map +1 -0
- package/contracts/misc-routes.js +155 -0
- package/contracts/misc-routes.js.map +1 -0
- package/contracts/permissions-routes.d.ts +31 -0
- package/contracts/permissions-routes.d.ts.map +1 -0
- package/contracts/permissions-routes.js +34 -0
- package/contracts/permissions-routes.js.map +1 -0
- package/contracts/permissions.d.ts +109 -0
- package/contracts/permissions.d.ts.map +1 -0
- package/contracts/permissions.js +41 -0
- package/contracts/permissions.js.map +1 -0
- package/contracts/personal-assistant.d.ts +2931 -0
- package/contracts/personal-assistant.d.ts.map +1 -0
- package/contracts/personal-assistant.js +583 -0
- package/contracts/personal-assistant.js.map +1 -0
- package/contracts/plugin-routes.d.ts +105 -0
- package/contracts/plugin-routes.d.ts.map +1 -0
- package/contracts/plugin-routes.js +81 -0
- package/contracts/plugin-routes.js.map +1 -0
- package/contracts/relationships-routes.d.ts +23 -0
- package/contracts/relationships-routes.d.ts.map +1 -0
- package/contracts/relationships-routes.js +22 -0
- package/contracts/relationships-routes.js.map +1 -0
- package/contracts/service-routing.d.ts +49 -0
- package/contracts/service-routing.d.ts.map +1 -0
- package/contracts/service-routing.js +403 -0
- package/contracts/service-routing.js.map +1 -0
- package/contracts/skills-routes.d.ts +116 -0
- package/contracts/skills-routes.d.ts.map +1 -0
- package/contracts/skills-routes.js +115 -0
- package/contracts/skills-routes.js.map +1 -0
- package/contracts/subscription-routes.d.ts +47 -0
- package/contracts/subscription-routes.d.ts.map +1 -0
- package/contracts/subscription-routes.js +50 -0
- package/contracts/subscription-routes.js.map +1 -0
- package/contracts/tail-routes.d.ts +78 -0
- package/contracts/tail-routes.d.ts.map +1 -0
- package/contracts/tail-routes.js +63 -0
- package/contracts/tail-routes.js.map +1 -0
- package/contracts/theme.d.ts +134 -0
- package/contracts/theme.d.ts.map +1 -0
- package/contracts/theme.js +132 -0
- package/contracts/theme.js.map +1 -0
- package/contracts/update-status.d.ts +100 -0
- package/contracts/update-status.d.ts.map +1 -0
- package/contracts/update-status.js +45 -0
- package/contracts/update-status.js.map +1 -0
- package/contracts/wallet-routes.d.ts +82 -0
- package/contracts/wallet-routes.d.ts.map +1 -0
- package/contracts/wallet-routes.js +49 -0
- package/contracts/wallet-routes.js.map +1 -0
- package/contracts/wallet.d.ts +57 -0
- package/contracts/wallet.d.ts.map +1 -0
- package/contracts/wallet.js +200 -0
- package/contracts/wallet.js.map +1 -0
- package/contracts/workbench-routes.d.ts +231 -0
- package/contracts/workbench-routes.d.ts.map +1 -0
- package/contracts/workbench-routes.js +183 -0
- package/contracts/workbench-routes.js.map +1 -0
- package/db/drizzle-database.d.ts +13 -0
- package/db/drizzle-database.d.ts.map +1 -0
- package/db/drizzle-database.js +2 -0
- package/db/drizzle-database.js.map +1 -0
- package/dev-settings-banner-style.d.ts +14 -0
- package/dev-settings-banner-style.js +58 -0
- package/dev-settings-banner-style.js.map +1 -0
- package/dev-settings-figlet-heading.d.ts.map +1 -0
- package/dev-settings-figlet-heading.js +49 -0
- package/dev-settings-figlet-heading.js.map +1 -0
- package/elizacloud/base-url.d.ts +6 -0
- package/elizacloud/base-url.d.ts.map +1 -0
- package/elizacloud/base-url.js +65 -0
- package/elizacloud/base-url.js.map +1 -0
- package/elizacloud/cloud-provisioning.d.ts +9 -0
- package/elizacloud/cloud-provisioning.d.ts.map +1 -0
- package/elizacloud/cloud-provisioning.js +25 -0
- package/elizacloud/cloud-provisioning.js.map +1 -0
- package/elizacloud/cloud-secrets.d.ts +23 -0
- package/elizacloud/cloud-secrets.d.ts.map +1 -0
- package/elizacloud/cloud-secrets.js +51 -0
- package/elizacloud/cloud-secrets.js.map +1 -0
- package/elizacloud/index.d.ts +6 -0
- package/elizacloud/index.d.ts.map +1 -0
- package/elizacloud/index.js +6 -0
- package/elizacloud/index.js.map +1 -0
- package/elizacloud/is-cloud-reachable.d.ts +19 -0
- package/elizacloud/is-cloud-reachable.d.ts.map +1 -0
- package/elizacloud/is-cloud-reachable.js +44 -0
- package/elizacloud/is-cloud-reachable.js.map +1 -0
- package/elizacloud/server-cloud-tts.d.ts +21 -0
- package/elizacloud/server-cloud-tts.d.ts.map +1 -0
- package/elizacloud/server-cloud-tts.js +293 -0
- package/elizacloud/server-cloud-tts.js.map +1 -0
- package/email-classification/email-classifier.d.ts +57 -0
- package/email-classification/email-classifier.d.ts.map +1 -0
- package/email-classification/email-classifier.js +348 -0
- package/email-classification/email-classifier.js.map +1 -0
- package/email-classification/index.d.ts +12 -0
- package/email-classification/index.d.ts.map +1 -0
- package/email-classification/index.js +12 -0
- package/email-classification/index.js.map +1 -0
- package/email-classification/wrap-untrusted-email-content.d.ts +15 -0
- package/email-classification/wrap-untrusted-email-content.d.ts.map +1 -0
- package/email-classification/wrap-untrusted-email-content.js +24 -0
- package/email-classification/wrap-untrusted-email-content.js.map +1 -0
- package/events/index.d.ts +68 -0
- package/events/index.d.ts.map +1 -0
- package/events/index.js +53 -0
- package/events/index.js.map +1 -0
- package/hardware-catalog/index.d.ts +204 -0
- package/hardware-catalog/index.d.ts.map +1 -0
- package/hardware-catalog/index.js +174 -0
- package/hardware-catalog/index.js.map +1 -0
- package/i18n/generated/validation-keyword-data.d.ts +3054 -0
- package/i18n/generated/validation-keyword-data.d.ts.map +1 -0
- package/i18n/generated/validation-keyword-data.js +3058 -0
- package/i18n/generated/validation-keyword-data.js.map +1 -0
- package/i18n/keyword-matching.d.ts.map +1 -0
- package/i18n/keyword-matching.js +116 -0
- package/i18n/keyword-matching.js.map +1 -0
- package/index.d.ts +103 -0
- package/index.d.ts.map +1 -0
- package/index.js +136 -0
- package/index.js.map +1 -0
- package/knowledge-graph/entity-types.d.ts +135 -0
- package/knowledge-graph/entity-types.d.ts.map +1 -0
- package/knowledge-graph/entity-types.js +75 -0
- package/knowledge-graph/entity-types.js.map +1 -0
- package/knowledge-graph/index.d.ts +13 -0
- package/knowledge-graph/index.d.ts.map +1 -0
- package/knowledge-graph/index.js +13 -0
- package/knowledge-graph/index.js.map +1 -0
- package/knowledge-graph/merge.d.ts +76 -0
- package/knowledge-graph/merge.d.ts.map +1 -0
- package/knowledge-graph/merge.js +175 -0
- package/knowledge-graph/merge.js.map +1 -0
- package/knowledge-graph/relationship-types.d.ts +105 -0
- package/knowledge-graph/relationship-types.d.ts.map +1 -0
- package/knowledge-graph/relationship-types.js +114 -0
- package/knowledge-graph/relationship-types.js.map +1 -0
- package/lifeops-constants/index.d.ts +9 -0
- package/lifeops-constants/index.d.ts.map +1 -0
- package/lifeops-constants/index.js +9 -0
- package/lifeops-constants/index.js.map +1 -0
- package/lifeops-constants/service-constants.d.ts +79 -0
- package/lifeops-constants/service-constants.d.ts.map +1 -0
- package/lifeops-constants/service-constants.js +123 -0
- package/lifeops-constants/service-constants.js.map +1 -0
- package/lifeops-normalize/index.d.ts +12 -0
- package/lifeops-normalize/index.d.ts.map +1 -0
- package/lifeops-normalize/index.js +12 -0
- package/lifeops-normalize/index.js.map +1 -0
- package/lifeops-normalize/service-error.d.ts +14 -0
- package/lifeops-normalize/service-error.d.ts.map +1 -0
- package/lifeops-normalize/service-error.js +19 -0
- package/lifeops-normalize/service-error.js.map +1 -0
- package/lifeops-normalize/service-normalize.d.ts +38 -0
- package/lifeops-normalize/service-normalize.d.ts.map +1 -0
- package/lifeops-normalize/service-normalize.js +205 -0
- package/lifeops-normalize/service-normalize.js.map +1 -0
- package/lifeops-normalize/time-zone.d.ts +12 -0
- package/lifeops-normalize/time-zone.d.ts.map +1 -0
- package/lifeops-normalize/time-zone.js +29 -0
- package/lifeops-normalize/time-zone.js.map +1 -0
- package/local-inference/catalog.d.ts +97 -0
- package/local-inference/catalog.d.ts.map +1 -0
- package/local-inference/catalog.js +547 -0
- package/local-inference/catalog.js.map +1 -0
- package/local-inference/gpu-profiles.d.ts +110 -0
- package/local-inference/gpu-profiles.d.ts.map +1 -0
- package/local-inference/gpu-profiles.js +214 -0
- package/local-inference/gpu-profiles.js.map +1 -0
- package/local-inference/index.d.ts +21 -0
- package/local-inference/index.d.ts.map +1 -0
- package/local-inference/index.js +18 -0
- package/local-inference/index.js.map +1 -0
- package/local-inference/manifest-signature.d.ts +61 -0
- package/local-inference/manifest-signature.d.ts.map +1 -0
- package/local-inference/manifest-signature.js +129 -0
- package/local-inference/manifest-signature.js.map +1 -0
- package/local-inference/network-policy.d.ts +115 -0
- package/local-inference/network-policy.d.ts.map +1 -0
- package/local-inference/network-policy.js +154 -0
- package/local-inference/network-policy.js.map +1 -0
- package/local-inference/paths.d.ts +24 -0
- package/local-inference/paths.js +40 -0
- package/local-inference/providers-types.d.ts +56 -0
- package/local-inference/providers-types.d.ts.map +1 -0
- package/local-inference/providers-types.js +19 -0
- package/local-inference/providers-types.js.map +1 -0
- package/local-inference/routing-preferences.js +73 -0
- package/local-inference/routing-preferences.js.map +1 -0
- package/local-inference/throughput.d.ts +74 -0
- package/local-inference/throughput.d.ts.map +1 -0
- package/local-inference/throughput.js +84 -0
- package/local-inference/throughput.js.map +1 -0
- package/local-inference/types.d.ts +510 -0
- package/local-inference/types.d.ts.map +1 -0
- package/local-inference/types.js +22 -0
- package/local-inference/types.js.map +1 -0
- package/local-inference/voice-models.d.ts +156 -0
- package/local-inference/voice-models.d.ts.map +1 -0
- package/local-inference/voice-models.js +746 -0
- package/local-inference/voice-models.js.map +1 -0
- package/local-inference-gpu/gpu-overrides.d.ts +97 -0
- package/local-inference-gpu/gpu-overrides.d.ts.map +1 -0
- package/local-inference-gpu/gpu-overrides.js +76 -0
- package/local-inference-gpu/gpu-overrides.js.map +1 -0
- package/local-inference-gpu/gpu-profile-loader.d.ts +83 -0
- package/local-inference-gpu/gpu-profile-loader.d.ts.map +1 -0
- package/local-inference-gpu/gpu-profile-loader.js +196 -0
- package/local-inference-gpu/gpu-profile-loader.js.map +1 -0
- package/local-inference-gpu/gpu-profile-schema.d.ts +208 -0
- package/local-inference-gpu/gpu-profile-schema.d.ts.map +1 -0
- package/local-inference-gpu/gpu-profile-schema.js +123 -0
- package/local-inference-gpu/gpu-profile-schema.js.map +1 -0
- package/local-inference-gpu/gpu-tier-detect.d.ts +61 -0
- package/local-inference-gpu/gpu-tier-detect.d.ts.map +1 -0
- package/local-inference-gpu/gpu-tier-detect.js +93 -0
- package/local-inference-gpu/gpu-tier-detect.js.map +1 -0
- package/local-inference-gpu/gpu-tier-profiles.d.ts +110 -0
- package/local-inference-gpu/gpu-tier-profiles.d.ts.map +1 -0
- package/local-inference-gpu/gpu-tier-profiles.js +235 -0
- package/local-inference-gpu/gpu-tier-profiles.js.map +1 -0
- package/package.json +127 -30
- package/restart.d.ts +28 -0
- package/restart.d.ts.map +1 -0
- package/restart.js +30 -0
- package/restart.js.map +1 -0
- package/runtime-env.d.ts +84 -0
- package/runtime-env.d.ts.map +1 -0
- package/runtime-env.js +270 -0
- package/runtime-env.js.map +1 -0
- package/self-edit.d.ts +64 -0
- package/self-edit.d.ts.map +1 -0
- package/self-edit.js +133 -0
- package/self-edit.js.map +1 -0
- package/spoken-text.d.ts.map +1 -0
- package/spoken-text.js +58 -0
- package/spoken-text.js.map +1 -0
- package/steward-session-client/index.d.ts +172 -0
- package/steward-session-client/index.d.ts.map +1 -0
- package/steward-session-client/index.js +248 -0
- package/steward-session-client/index.js.map +1 -0
- package/steward-session-client/steward-oauth-pkce.d.ts +24 -0
- package/steward-session-client/steward-oauth-pkce.d.ts.map +1 -0
- package/steward-session-client/steward-oauth-pkce.js +105 -0
- package/steward-session-client/steward-oauth-pkce.js.map +1 -0
- package/test-support/test-helpers.d.ts +79 -0
- package/test-support/test-helpers.d.ts.map +1 -0
- package/test-support/test-helpers.js +341 -0
- package/test-support/test-helpers.js.map +1 -0
- package/transcripts.d.ts +111 -0
- package/transcripts.d.ts.map +1 -0
- package/transcripts.js +106 -0
- package/transcripts.js.map +1 -0
- package/type-guards.d.ts +7 -0
- package/type-guards.d.ts.map +1 -0
- package/type-guards.js +27 -0
- package/type-guards.js.map +1 -0
- package/types/index.d.ts +654 -0
- package/types/index.d.ts.map +1 -0
- package/utils/assistant-text.d.ts +13 -0
- package/utils/assistant-text.d.ts.map +1 -0
- package/utils/assistant-text.js +292 -0
- package/utils/assistant-text.js.map +1 -0
- package/utils/browser-tab-kit-types.d.ts +81 -0
- package/utils/browser-tab-kit-types.js +23 -0
- package/utils/browser-tabs-renderer-registry.d.ts +56 -0
- package/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
- package/utils/browser-tabs-renderer-registry.js +1282 -0
- package/utils/browser-tabs-renderer-registry.js.map +1 -0
- package/utils/documents-upload-image.js +147 -0
- package/utils/documents-upload-image.js.map +1 -0
- package/utils/env.d.ts.map +1 -0
- package/utils/env.js +142 -0
- package/utils/env.js.map +1 -0
- package/utils/exec-safety.d.ts.map +1 -0
- package/utils/exec-safety.js +25 -0
- package/utils/exec-safety.js.map +1 -0
- package/utils/format.d.ts +85 -0
- package/utils/format.d.ts.map +1 -0
- package/utils/format.js +140 -0
- package/utils/format.js.map +1 -0
- package/utils/log-prefix.d.ts.map +1 -0
- package/utils/log-prefix.js +44 -0
- package/utils/log-prefix.js.map +1 -0
- package/utils/name-tokens.d.ts +24 -0
- package/utils/name-tokens.js +37 -0
- package/utils/namespace-defaults.d.ts +10 -0
- package/utils/namespace-defaults.d.ts.map +1 -0
- package/utils/namespace-defaults.js +17 -0
- package/utils/namespace-defaults.js.map +1 -0
- package/utils/number-parsing.d.ts.map +1 -0
- package/utils/number-parsing.js +57 -0
- package/utils/number-parsing.js.map +1 -0
- package/utils/permission-deep-links.d.ts +35 -0
- package/utils/permission-deep-links.d.ts.map +1 -0
- package/utils/permission-deep-links.js +95 -0
- package/utils/permission-deep-links.js.map +1 -0
- package/utils/serialise.js +22 -0
- package/utils/serialise.js.map +1 -0
- package/utils/sql-compat.js +112 -0
- package/utils/sql-compat.js.map +1 -0
- package/utils/streaming-text.d.ts +9 -0
- package/utils/streaming-text.d.ts.map +1 -0
- package/utils/streaming-text.js +116 -0
- package/utils/streaming-text.js.map +1 -0
- package/utils/tts-debug.d.ts +10 -0
- package/utils/tts-debug.d.ts.map +1 -0
- package/utils/tts-debug.js +73 -0
- package/utils/tts-debug.js.map +1 -0
- package/view-hero-art.d.ts +75 -0
- package/view-hero-art.d.ts.map +1 -0
- package/view-hero-art.js +360 -0
- package/view-hero-art.js.map +1 -0
- package/voice/first-sentence-snip.d.ts +68 -0
- package/voice/first-sentence-snip.d.ts.map +1 -0
- package/voice/first-sentence-snip.js +284 -0
- package/voice/first-sentence-snip.js.map +1 -0
- package/voice/voice-cancellation-token.d.ts +127 -0
- package/voice/voice-cancellation-token.d.ts.map +1 -0
- package/voice/voice-cancellation-token.js +186 -0
- package/voice/voice-cancellation-token.js.map +1 -0
- package/voice-wer.d.ts +19 -0
- package/voice-wer.d.ts.map +1 -0
- package/voice-wer.js +42 -0
- package/voice-wer.js.map +1 -0
- package/voice.d.ts +55 -0
- package/voice.d.ts.map +1 -0
- package/voice.js +337 -0
- package/voice.js.map +1 -0
- package/dist/api/chat-contracts.d.ts +0 -2
- package/dist/api/chat-contracts.d.ts.map +0 -1
- package/dist/api/chat-contracts.js +0 -2
- package/dist/api/chat-contracts.js.map +0 -1
- package/dist/api/http-helpers.d.ts +0 -50
- package/dist/api/http-helpers.d.ts.map +0 -1
- package/dist/api/http-helpers.js +0 -168
- package/dist/api/http-helpers.js.map +0 -1
- package/dist/api/route-helpers.d.ts +0 -16
- package/dist/api/route-helpers.d.ts.map +0 -1
- package/dist/app-hero-art.d.ts.map +0 -1
- package/dist/app-hero-art.js +0 -358
- package/dist/app-hero-art.js.map +0 -1
- package/dist/cli/parse-duration.d.ts.map +0 -1
- package/dist/cli/parse-duration.js +0 -28
- package/dist/cli/parse-duration.js.map +0 -1
- package/dist/config/allowed-hosts.js +0 -44
- package/dist/config/allowed-hosts.js.map +0 -1
- package/dist/config/api-key-prefix-hints.d.ts +0 -25
- package/dist/config/api-key-prefix-hints.d.ts.map +0 -1
- package/dist/config/api-key-prefix-hints.js +0 -27
- package/dist/config/api-key-prefix-hints.js.map +0 -1
- package/dist/config/app-config.d.ts +0 -273
- package/dist/config/app-config.d.ts.map +0 -1
- package/dist/config/app-config.js +0 -32
- package/dist/config/app-config.js.map +0 -1
- package/dist/config/app-manifest.d.ts.map +0 -1
- package/dist/config/app-manifest.js +0 -109
- package/dist/config/app-manifest.js.map +0 -1
- package/dist/config/boot-config-react.d.ts +0 -5
- package/dist/config/boot-config-react.d.ts.map +0 -1
- package/dist/config/boot-config-react.js +0 -8
- package/dist/config/boot-config-react.js.map +0 -1
- package/dist/config/boot-config-store.d.ts +0 -74
- package/dist/config/boot-config-store.d.ts.map +0 -1
- package/dist/config/branding-react.d.ts +0 -4
- package/dist/config/branding-react.d.ts.map +0 -1
- package/dist/config/branding-react.js +0 -12
- package/dist/config/branding-react.js.map +0 -1
- package/dist/config/branding.d.ts +0 -53
- package/dist/config/branding.d.ts.map +0 -1
- package/dist/config/branding.js +0 -23
- package/dist/config/branding.js.map +0 -1
- package/dist/config/cloud-only.d.ts +0 -6
- package/dist/config/cloud-only.d.ts.map +0 -1
- package/dist/config/cloud-only.js +0 -16
- package/dist/config/cloud-only.js.map +0 -1
- package/dist/config/config-catalog.d.ts.map +0 -1
- package/dist/config/config-catalog.js +0 -710
- package/dist/config/config-catalog.js.map +0 -1
- package/dist/config/config.js +0 -23
- package/dist/config/config.js.map +0 -1
- package/dist/config/distribution-profile.js +0 -29
- package/dist/config/distribution-profile.js.map +0 -1
- package/dist/config/env-vars.d.ts.map +0 -1
- package/dist/config/index.d.ts +0 -14
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -17
- package/dist/config/index.js.map +0 -1
- package/dist/config/plugin-auto-enable-engine.js +0 -45
- package/dist/config/plugin-auto-enable-engine.js.map +0 -1
- package/dist/config/plugin-manifest.d.ts.map +0 -1
- package/dist/config/plugin-manifest.js +0 -272
- package/dist/config/plugin-manifest.js.map +0 -1
- package/dist/config/runtime-mode.d.ts.map +0 -1
- package/dist/config/runtime-mode.js +0 -103
- package/dist/config/runtime-mode.js.map +0 -1
- package/dist/config/types.agent-defaults.d.ts +0 -383
- package/dist/config/types.agent-defaults.d.ts.map +0 -1
- package/dist/config/types.agents.d.ts +0 -114
- package/dist/config/types.agents.d.ts.map +0 -1
- package/dist/config/types.eliza.d.ts +0 -689
- package/dist/config/types.eliza.d.ts.map +0 -1
- package/dist/config/types.messages.d.ts +0 -176
- package/dist/config/types.messages.d.ts.map +0 -1
- package/dist/config/types.tools.d.ts +0 -400
- package/dist/config/types.tools.d.ts.map +0 -1
- package/dist/config/ui-spec.d.ts +0 -164
- package/dist/config/ui-spec.d.ts.map +0 -1
- package/dist/config/zod-schema.agent-runtime.d.ts +0 -1087
- package/dist/config/zod-schema.core.d.ts +0 -1048
- package/dist/connectors.d.ts +0 -2
- package/dist/connectors.d.ts.map +0 -1
- package/dist/connectors.js +0 -2
- package/dist/connectors.js.map +0 -1
- package/dist/contracts/apps.d.ts +0 -279
- package/dist/contracts/apps.d.ts.map +0 -1
- package/dist/contracts/apps.js +0 -218
- package/dist/contracts/apps.js.map +0 -1
- package/dist/contracts/cloud-topology.js +0 -72
- package/dist/contracts/cloud-topology.js.map +0 -1
- package/dist/contracts/content-pack.d.ts +0 -131
- package/dist/contracts/content-pack.d.ts.map +0 -1
- package/dist/contracts/content-pack.js +0 -103
- package/dist/contracts/health.d.ts +0 -30
- package/dist/contracts/health.d.ts.map +0 -1
- package/dist/contracts/health.js +0 -29
- package/dist/contracts/health.js.map +0 -1
- package/dist/contracts/index.d.ts +0 -16
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/index.js +0 -16
- package/dist/contracts/index.js.map +0 -1
- package/dist/contracts/lifeops.d.ts +0 -3140
- package/dist/contracts/lifeops.d.ts.map +0 -1
- package/dist/contracts/lifeops.js +0 -587
- package/dist/contracts/lifeops.js.map +0 -1
- package/dist/contracts/onboarding.d.ts +0 -507
- package/dist/contracts/onboarding.d.ts.map +0 -1
- package/dist/contracts/onboarding.js +0 -1141
- package/dist/contracts/onboarding.js.map +0 -1
- package/dist/contracts/permissions.d.ts +0 -121
- package/dist/contracts/permissions.d.ts.map +0 -1
- package/dist/contracts/permissions.js +0 -31
- package/dist/contracts/permissions.js.map +0 -1
- package/dist/contracts/service-routing.d.ts +0 -155
- package/dist/contracts/service-routing.d.ts.map +0 -1
- package/dist/contracts/service-routing.js +0 -395
- package/dist/contracts/service-routing.js.map +0 -1
- package/dist/contracts/theme.d.ts +0 -136
- package/dist/contracts/theme.d.ts.map +0 -1
- package/dist/contracts/theme.js +0 -134
- package/dist/contracts/theme.js.map +0 -1
- package/dist/contracts/wallet.d.ts +0 -622
- package/dist/contracts/wallet.d.ts.map +0 -1
- package/dist/contracts/wallet.js +0 -194
- package/dist/contracts/wallet.js.map +0 -1
- package/dist/dev-settings-banner-style.d.ts +0 -14
- package/dist/dev-settings-banner-style.js +0 -58
- package/dist/dev-settings-banner-style.js.map +0 -1
- package/dist/dev-settings-figlet-heading.d.ts.map +0 -1
- package/dist/dev-settings-figlet-heading.js +0 -56
- package/dist/dev-settings-figlet-heading.js.map +0 -1
- package/dist/events/index.d.ts +0 -62
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/index.js +0 -52
- package/dist/events/index.js.map +0 -1
- package/dist/i18n/generated/validation-keyword-data.d.ts +0 -3080
- package/dist/i18n/generated/validation-keyword-data.d.ts.map +0 -1
- package/dist/i18n/generated/validation-keyword-data.js +0 -3084
- package/dist/i18n/generated/validation-keyword-data.js.map +0 -1
- package/dist/i18n/keyword-matching.d.ts.map +0 -1
- package/dist/i18n/keyword-matching.js +0 -113
- package/dist/i18n/keyword-matching.js.map +0 -1
- package/dist/index.d.ts +0 -93
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -105
- package/dist/index.js.map +0 -1
- package/dist/local-inference/index.d.ts +0 -16
- package/dist/local-inference/index.d.ts.map +0 -1
- package/dist/local-inference/index.js +0 -16
- package/dist/local-inference/index.js.map +0 -1
- package/dist/local-inference/paths.d.ts +0 -24
- package/dist/local-inference/paths.js +0 -40
- package/dist/local-inference/routing-preferences.js +0 -73
- package/dist/local-inference/routing-preferences.js.map +0 -1
- package/dist/local-inference/types.d.ts +0 -62
- package/dist/local-inference/types.d.ts.map +0 -1
- package/dist/local-inference/types.js +0 -25
- package/dist/local-inference/types.js.map +0 -1
- package/dist/onboarding-presets.characters.d.ts +0 -22
- package/dist/onboarding-presets.characters.d.ts.map +0 -1
- package/dist/onboarding-presets.characters.js +0 -2617
- package/dist/onboarding-presets.characters.js.map +0 -1
- package/dist/onboarding-presets.d.ts +0 -40
- package/dist/onboarding-presets.d.ts.map +0 -1
- package/dist/onboarding-presets.js +0 -181
- package/dist/onboarding-presets.js.map +0 -1
- package/dist/onboarding-presets.shared.d.ts +0 -2
- package/dist/onboarding-presets.shared.d.ts.map +0 -1
- package/dist/onboarding-presets.shared.js +0 -8
- package/dist/onboarding-presets.shared.js.map +0 -1
- package/dist/package.json +0 -50
- package/dist/restart.d.ts +0 -27
- package/dist/restart.d.ts.map +0 -1
- package/dist/restart.js +0 -29
- package/dist/restart.js.map +0 -1
- package/dist/runtime-env.d.ts +0 -84
- package/dist/runtime-env.d.ts.map +0 -1
- package/dist/runtime-env.js +0 -262
- package/dist/runtime-env.js.map +0 -1
- package/dist/self-edit.d.ts +0 -64
- package/dist/self-edit.d.ts.map +0 -1
- package/dist/self-edit.js +0 -133
- package/dist/self-edit.js.map +0 -1
- package/dist/spoken-text.d.ts.map +0 -1
- package/dist/spoken-text.js +0 -57
- package/dist/spoken-text.js.map +0 -1
- package/dist/test-support/test-helpers.d.ts +0 -112
- package/dist/test-support/test-helpers.d.ts.map +0 -1
- package/dist/test-support/test-helpers.js +0 -416
- package/dist/test-support/test-helpers.js.map +0 -1
- package/dist/themes/index.d.ts +0 -7
- package/dist/themes/index.d.ts.map +0 -1
- package/dist/themes/index.js +0 -6
- package/dist/themes/index.js.map +0 -1
- package/dist/themes/presets.d.ts +0 -15
- package/dist/themes/presets.d.ts.map +0 -1
- package/dist/themes/presets.js +0 -789
- package/dist/themes/presets.js.map +0 -1
- package/dist/type-guards.d.ts +0 -30
- package/dist/type-guards.d.ts.map +0 -1
- package/dist/type-guards.js +0 -50
- package/dist/type-guards.js.map +0 -1
- package/dist/types/index.d.ts +0 -655
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/assistant-text.d.ts +0 -2
- package/dist/utils/assistant-text.d.ts.map +0 -1
- package/dist/utils/assistant-text.js +0 -168
- package/dist/utils/assistant-text.js.map +0 -1
- package/dist/utils/browser-tab-kit-types.d.ts +0 -81
- package/dist/utils/browser-tab-kit-types.js +0 -23
- package/dist/utils/browser-tabs-renderer-registry.d.ts +0 -56
- package/dist/utils/browser-tabs-renderer-registry.d.ts.map +0 -1
- package/dist/utils/browser-tabs-renderer-registry.js +0 -962
- package/dist/utils/browser-tabs-renderer-registry.js.map +0 -1
- package/dist/utils/documents-upload-image.js +0 -147
- package/dist/utils/documents-upload-image.js.map +0 -1
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -131
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/exec-safety.d.ts.map +0 -1
- package/dist/utils/exec-safety.js +0 -22
- package/dist/utils/exec-safety.js.map +0 -1
- package/dist/utils/format.d.ts +0 -66
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js +0 -122
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/index.d.ts +0 -12
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -12
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/log-prefix.d.ts.map +0 -1
- package/dist/utils/log-prefix.js +0 -54
- package/dist/utils/log-prefix.js.map +0 -1
- package/dist/utils/name-tokens.d.ts +0 -24
- package/dist/utils/name-tokens.js +0 -37
- package/dist/utils/namespace-defaults.d.ts +0 -6
- package/dist/utils/namespace-defaults.d.ts.map +0 -1
- package/dist/utils/namespace-defaults.js +0 -16
- package/dist/utils/namespace-defaults.js.map +0 -1
- package/dist/utils/number-parsing.d.ts.map +0 -1
- package/dist/utils/number-parsing.js +0 -52
- package/dist/utils/number-parsing.js.map +0 -1
- package/dist/utils/permission-deep-links.d.ts +0 -34
- package/dist/utils/permission-deep-links.d.ts.map +0 -1
- package/dist/utils/permission-deep-links.js +0 -84
- package/dist/utils/permission-deep-links.js.map +0 -1
- package/dist/utils/serialise.js +0 -22
- package/dist/utils/serialise.js.map +0 -1
- package/dist/utils/sql-compat.js +0 -112
- package/dist/utils/sql-compat.js.map +0 -1
- package/dist/utils/streaming-text.d.ts +0 -9
- package/dist/utils/streaming-text.d.ts.map +0 -1
- package/dist/utils/streaming-text.js +0 -113
- package/dist/utils/streaming-text.js.map +0 -1
- package/dist/utils/tts-debug.d.ts +0 -9
- package/dist/utils/tts-debug.d.ts.map +0 -1
- package/dist/utils/tts-debug.js +0 -70
- package/dist/utils/tts-debug.js.map +0 -1
- package/dist/voice.d.ts +0 -40
- package/dist/voice.d.ts.map +0 -1
- package/dist/voice.js +0 -296
- package/dist/voice.js.map +0 -1
- /package/{dist/api → api}/route-helpers.js +0 -0
- /package/{dist/api → api}/route-helpers.js.map +0 -0
- /package/{dist/app-hero-art.d.ts → app-hero-art.d.ts} +0 -0
- /package/{dist/awareness → awareness}/index.d.ts +0 -0
- /package/{dist/awareness → awareness}/index.d.ts.map +0 -0
- /package/{dist/awareness → awareness}/index.js +0 -0
- /package/{dist/awareness → awareness}/index.js.map +0 -0
- /package/{dist/awareness → awareness}/registry.d.ts +0 -0
- /package/{dist/awareness → awareness}/registry.d.ts.map +0 -0
- /package/{dist/awareness → awareness}/registry.js +0 -0
- /package/{dist/awareness → awareness}/registry.js.map +0 -0
- /package/{dist/cli → cli}/parse-duration.d.ts +0 -0
- /package/{dist/config → config}/allowed-hosts.d.ts +0 -0
- /package/{dist/config → config}/allowed-hosts.d.ts.map +0 -0
- /package/{dist/config → config}/app-manifest.d.ts +0 -0
- /package/{dist/config → config}/boot-config-store.js +0 -0
- /package/{dist/config → config}/boot-config-store.js.map +0 -0
- /package/{dist/config → config}/boot-config.d.ts +0 -0
- /package/{dist/config → config}/boot-config.d.ts.map +0 -0
- /package/{dist/config → config}/boot-config.js +0 -0
- /package/{dist/config → config}/boot-config.js.map +0 -0
- /package/{dist/config → config}/config-catalog.d.ts +0 -0
- /package/{dist/config → config}/config-paths.d.ts +0 -0
- /package/{dist/config → config}/config-paths.d.ts.map +0 -0
- /package/{dist/config → config}/config-paths.js +0 -0
- /package/{dist/config → config}/config-paths.js.map +0 -0
- /package/{dist/config → config}/config.d.ts +0 -0
- /package/{dist/config → config}/config.d.ts.map +0 -0
- /package/{dist/config → config}/distribution-profile.d.ts +0 -0
- /package/{dist/config → config}/distribution-profile.d.ts.map +0 -0
- /package/{dist/config → config}/env-vars.d.ts +0 -0
- /package/{dist/config → config}/env-vars.js +0 -0
- /package/{dist/config → config}/env-vars.js.map +0 -0
- /package/{dist/config → config}/plugin-auto-enable-engine.d.ts +0 -0
- /package/{dist/config → config}/plugin-auto-enable-engine.d.ts.map +0 -0
- /package/{dist/config → config}/plugin-auto-enable.d.ts +0 -0
- /package/{dist/config → config}/plugin-auto-enable.d.ts.map +0 -0
- /package/{dist/config → config}/plugin-auto-enable.js +0 -0
- /package/{dist/config → config}/plugin-auto-enable.js.map +0 -0
- /package/{dist/config → config}/plugin-manifest.d.ts +0 -0
- /package/{dist/config → config}/plugin-ui-spec.d.ts +0 -0
- /package/{dist/config → config}/plugin-ui-spec.d.ts.map +0 -0
- /package/{dist/config → config}/plugin-ui-spec.js +0 -0
- /package/{dist/config → config}/plugin-ui-spec.js.map +0 -0
- /package/{dist/config → config}/runtime-mode.d.ts +0 -0
- /package/{dist/config → config}/runtime-overrides.d.ts +0 -0
- /package/{dist/config → config}/runtime-overrides.d.ts.map +0 -0
- /package/{dist/config → config}/runtime-overrides.js +0 -0
- /package/{dist/config → config}/runtime-overrides.js.map +0 -0
- /package/{dist/config → config}/schema.d.ts +0 -0
- /package/{dist/config → config}/schema.d.ts.map +0 -0
- /package/{dist/config → config}/schema.js +0 -0
- /package/{dist/config → config}/schema.js.map +0 -0
- /package/{dist/config → config}/types.agent-defaults.js +0 -0
- /package/{dist/config → config}/types.agent-defaults.js.map +0 -0
- /package/{dist/config → config}/types.agents.js +0 -0
- /package/{dist/config → config}/types.agents.js.map +0 -0
- /package/{dist/config → config}/types.d.ts +0 -0
- /package/{dist/config → config}/types.d.ts.map +0 -0
- /package/{dist/config → config}/types.eliza.js +0 -0
- /package/{dist/config → config}/types.eliza.js.map +0 -0
- /package/{dist/config → config}/types.gateway.d.ts +0 -0
- /package/{dist/config → config}/types.gateway.d.ts.map +0 -0
- /package/{dist/config → config}/types.gateway.js +0 -0
- /package/{dist/config → config}/types.gateway.js.map +0 -0
- /package/{dist/config → config}/types.hooks.d.ts +0 -0
- /package/{dist/config → config}/types.hooks.d.ts.map +0 -0
- /package/{dist/config → config}/types.hooks.js +0 -0
- /package/{dist/config → config}/types.hooks.js.map +0 -0
- /package/{dist/config → config}/types.js +0 -0
- /package/{dist/config → config}/types.js.map +0 -0
- /package/{dist/config → config}/types.messages.js +0 -0
- /package/{dist/config → config}/types.messages.js.map +0 -0
- /package/{dist/config → config}/types.tools.js +0 -0
- /package/{dist/config → config}/types.tools.js.map +0 -0
- /package/{dist/config → config}/ui-spec.js +0 -0
- /package/{dist/config → config}/ui-spec.js.map +0 -0
- /package/{dist/config → config}/wechat-config.d.ts +0 -0
- /package/{dist/config → config}/wechat-config.d.ts.map +0 -0
- /package/{dist/config → config}/wechat-config.js +0 -0
- /package/{dist/config → config}/wechat-config.js.map +0 -0
- /package/{dist/config → config}/zod-schema.agent-runtime.d.ts.map +0 -0
- /package/{dist/config → config}/zod-schema.agent-runtime.js +0 -0
- /package/{dist/config → config}/zod-schema.agent-runtime.js.map +0 -0
- /package/{dist/config → config}/zod-schema.core.d.ts.map +0 -0
- /package/{dist/config → config}/zod-schema.core.js +0 -0
- /package/{dist/config → config}/zod-schema.core.js.map +0 -0
- /package/{dist/connector-cred-types.d.ts → connector-cred-types.d.ts} +0 -0
- /package/{dist/connector-cred-types.d.ts.map → connector-cred-types.d.ts.map} +0 -0
- /package/{dist/connector-cred-types.js → connector-cred-types.js} +0 -0
- /package/{dist/connector-cred-types.js.map → connector-cred-types.js.map} +0 -0
- /package/{dist/contracts → contracts}/awareness.d.ts +0 -0
- /package/{dist/contracts → contracts}/awareness.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/awareness.js +0 -0
- /package/{dist/contracts → contracts}/awareness.js.map +0 -0
- /package/{dist/contracts → contracts}/cloud-topology.d.ts +0 -0
- /package/{dist/contracts → contracts}/cloud-topology.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/config.d.ts +0 -0
- /package/{dist/contracts → contracts}/config.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/config.js +0 -0
- /package/{dist/contracts → contracts}/config.js.map +0 -0
- /package/{dist/contracts → contracts}/content-pack.js.map +0 -0
- /package/{dist/contracts → contracts}/drop.d.ts +0 -0
- /package/{dist/contracts → contracts}/drop.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/drop.js +0 -0
- /package/{dist/contracts → contracts}/drop.js.map +0 -0
- /package/{dist/contracts → contracts}/feature-result.d.ts +0 -0
- /package/{dist/contracts → contracts}/feature-result.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/feature-result.js +0 -0
- /package/{dist/contracts → contracts}/feature-result.js.map +0 -0
- /package/{dist/contracts → contracts}/inbox.d.ts +0 -0
- /package/{dist/contracts → contracts}/inbox.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/inbox.js +0 -0
- /package/{dist/contracts → contracts}/inbox.js.map +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.d.ts +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.js +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.js.map +0 -0
- /package/{dist/contracts → contracts}/verification.d.ts +0 -0
- /package/{dist/contracts → contracts}/verification.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/verification.js +0 -0
- /package/{dist/contracts → contracts}/verification.js.map +0 -0
- /package/{dist/dev-settings-banner-style.d.ts.map → dev-settings-banner-style.d.ts.map} +0 -0
- /package/{dist/dev-settings-figlet-heading.d.ts → dev-settings-figlet-heading.d.ts} +0 -0
- /package/{dist/dev-settings-table.d.ts → dev-settings-table.d.ts} +0 -0
- /package/{dist/dev-settings-table.d.ts.map → dev-settings-table.d.ts.map} +0 -0
- /package/{dist/dev-settings-table.js → dev-settings-table.js} +0 -0
- /package/{dist/dev-settings-table.js.map → dev-settings-table.js.map} +0 -0
- /package/{dist/env-utils.d.ts → env-utils.d.ts} +0 -0
- /package/{dist/env-utils.d.ts.map → env-utils.d.ts.map} +0 -0
- /package/{dist/env-utils.js → env-utils.js} +0 -0
- /package/{dist/env-utils.js.map → env-utils.js.map} +0 -0
- /package/{dist/format-error.d.ts → format-error.d.ts} +0 -0
- /package/{dist/format-error.d.ts.map → format-error.d.ts.map} +0 -0
- /package/{dist/format-error.js → format-error.js} +0 -0
- /package/{dist/format-error.js.map → format-error.js.map} +0 -0
- /package/{dist/i18n → i18n}/keyword-matching.d.ts +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.d.ts +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.d.ts.map +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.js +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.js.map +0 -0
- /package/{dist/local-inference → local-inference}/paths.d.ts.map +0 -0
- /package/{dist/local-inference → local-inference}/paths.js.map +0 -0
- /package/{dist/local-inference → local-inference}/routing-preferences.d.ts +0 -0
- /package/{dist/local-inference → local-inference}/routing-preferences.d.ts.map +0 -0
- /package/{dist/local-inference → local-inference}/verify.d.ts +0 -0
- /package/{dist/local-inference → local-inference}/verify.d.ts.map +0 -0
- /package/{dist/local-inference → local-inference}/verify.js +0 -0
- /package/{dist/local-inference → local-inference}/verify.js.map +0 -0
- /package/{dist/platform → platform}/is-native-server.d.ts +0 -0
- /package/{dist/platform → platform}/is-native-server.d.ts.map +0 -0
- /package/{dist/platform → platform}/is-native-server.js +0 -0
- /package/{dist/platform → platform}/is-native-server.js.map +0 -0
- /package/{dist/recent-messages-state.d.ts → recent-messages-state.d.ts} +0 -0
- /package/{dist/recent-messages-state.d.ts.map → recent-messages-state.d.ts.map} +0 -0
- /package/{dist/recent-messages-state.js → recent-messages-state.js} +0 -0
- /package/{dist/recent-messages-state.js.map → recent-messages-state.js.map} +0 -0
- /package/{dist/settings-debug.d.ts → settings-debug.d.ts} +0 -0
- /package/{dist/settings-debug.d.ts.map → settings-debug.d.ts.map} +0 -0
- /package/{dist/settings-debug.js → settings-debug.js} +0 -0
- /package/{dist/settings-debug.js.map → settings-debug.js.map} +0 -0
- /package/{dist/spoken-text.d.ts → spoken-text.d.ts} +0 -0
- /package/{dist/terminal → terminal}/links.d.ts +0 -0
- /package/{dist/terminal → terminal}/links.d.ts.map +0 -0
- /package/{dist/terminal → terminal}/links.js +0 -0
- /package/{dist/terminal → terminal}/links.js.map +0 -0
- /package/{dist/terminal → terminal}/palette.d.ts +0 -0
- /package/{dist/terminal → terminal}/palette.d.ts.map +0 -0
- /package/{dist/terminal → terminal}/palette.js +0 -0
- /package/{dist/terminal → terminal}/palette.js.map +0 -0
- /package/{dist/terminal → terminal}/theme.d.ts +0 -0
- /package/{dist/terminal → terminal}/theme.d.ts.map +0 -0
- /package/{dist/terminal → terminal}/theme.js +0 -0
- /package/{dist/terminal → terminal}/theme.js.map +0 -0
- /package/{dist/test-support → test-support}/process-helpers.d.ts +0 -0
- /package/{dist/test-support → test-support}/process-helpers.d.ts.map +0 -0
- /package/{dist/test-support → test-support}/process-helpers.js +0 -0
- /package/{dist/test-support → test-support}/process-helpers.js.map +0 -0
- /package/{dist/types → types}/index.js +0 -0
- /package/{dist/types → types}/index.js.map +0 -0
- /package/{dist/utils → utils}/asset-url.d.ts +0 -0
- /package/{dist/utils → utils}/asset-url.d.ts.map +0 -0
- /package/{dist/utils → utils}/asset-url.js +0 -0
- /package/{dist/utils → utils}/asset-url.js.map +0 -0
- /package/{dist/utils → utils}/browser-tab-kit-types.d.ts.map +0 -0
- /package/{dist/utils → utils}/browser-tab-kit-types.js.map +0 -0
- /package/{dist/utils → utils}/character-message-examples.d.ts +0 -0
- /package/{dist/utils → utils}/character-message-examples.d.ts.map +0 -0
- /package/{dist/utils → utils}/character-message-examples.js +0 -0
- /package/{dist/utils → utils}/character-message-examples.js.map +0 -0
- /package/{dist/utils → utils}/cloud-status.d.ts +0 -0
- /package/{dist/utils → utils}/cloud-status.d.ts.map +0 -0
- /package/{dist/utils → utils}/cloud-status.js +0 -0
- /package/{dist/utils → utils}/cloud-status.js.map +0 -0
- /package/{dist/utils → utils}/documents-upload-image.d.ts +0 -0
- /package/{dist/utils → utils}/documents-upload-image.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.d.ts +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.js +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.js.map +0 -0
- /package/{dist/utils → utils}/eliza-globals.d.ts +0 -0
- /package/{dist/utils → utils}/eliza-globals.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-globals.js +0 -0
- /package/{dist/utils → utils}/eliza-globals.js.map +0 -0
- /package/{dist/utils → utils}/eliza-root.d.ts +0 -0
- /package/{dist/utils → utils}/eliza-root.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-root.js +0 -0
- /package/{dist/utils → utils}/eliza-root.js.map +0 -0
- /package/{dist/utils → utils}/env.d.ts +0 -0
- /package/{dist/utils → utils}/errors.d.ts +0 -0
- /package/{dist/utils → utils}/errors.d.ts.map +0 -0
- /package/{dist/utils → utils}/errors.js +0 -0
- /package/{dist/utils → utils}/errors.js.map +0 -0
- /package/{dist/utils → utils}/exec-safety.d.ts +0 -0
- /package/{dist/utils → utils}/labels.d.ts +0 -0
- /package/{dist/utils → utils}/labels.d.ts.map +0 -0
- /package/{dist/utils → utils}/labels.js +0 -0
- /package/{dist/utils → utils}/labels.js.map +0 -0
- /package/{dist/utils → utils}/log-prefix.d.ts +0 -0
- /package/{dist/utils → utils}/name-tokens.d.ts.map +0 -0
- /package/{dist/utils → utils}/name-tokens.js.map +0 -0
- /package/{dist/utils → utils}/number-parsing.d.ts +0 -0
- /package/{dist/utils → utils}/owner-name.d.ts +0 -0
- /package/{dist/utils → utils}/owner-name.d.ts.map +0 -0
- /package/{dist/utils → utils}/owner-name.js +0 -0
- /package/{dist/utils → utils}/owner-name.js.map +0 -0
- /package/{dist/utils → utils}/rate-limiter.d.ts +0 -0
- /package/{dist/utils → utils}/rate-limiter.d.ts.map +0 -0
- /package/{dist/utils → utils}/rate-limiter.js +0 -0
- /package/{dist/utils → utils}/rate-limiter.js.map +0 -0
- /package/{dist/utils → utils}/serialise.d.ts +0 -0
- /package/{dist/utils → utils}/serialise.d.ts.map +0 -0
- /package/{dist/utils → utils}/sql-compat.d.ts +0 -0
- /package/{dist/utils → utils}/sql-compat.d.ts.map +0 -0
- /package/{dist/utils → utils}/subscription-auth.d.ts +0 -0
- /package/{dist/utils → utils}/subscription-auth.d.ts.map +0 -0
- /package/{dist/utils → utils}/subscription-auth.js +0 -0
- /package/{dist/utils → utils}/subscription-auth.js.map +0 -0
- /package/{dist/utils → utils}/trajectory-format.d.ts +0 -0
- /package/{dist/utils → utils}/trajectory-format.d.ts.map +0 -0
- /package/{dist/utils → utils}/trajectory-format.js +0 -0
- /package/{dist/utils → utils}/trajectory-format.js.map +0 -0
- /package/{dist/validation-keywords.d.ts → validation-keywords.d.ts} +0 -0
- /package/{dist/validation-keywords.d.ts.map → validation-keywords.d.ts.map} +0 -0
- /package/{dist/validation-keywords.js → validation-keywords.js} +0 -0
- /package/{dist/validation-keywords.js.map → validation-keywords.js.map} +0 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Steward session client.
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for:
|
|
5
|
+
* - the storage / cookie / endpoint key names used across os-homepage
|
|
6
|
+
* (`elizaos.ai`), cloud-frontend (`elizacloud.ai`), and the cloud-api
|
|
7
|
+
* `/api/auth/steward-session` route handler;
|
|
8
|
+
* - the request / response / error shapes the route exchanges with the
|
|
9
|
+
* browser;
|
|
10
|
+
* - the small set of helpers each consumer needs (sync, clear, read).
|
|
11
|
+
*
|
|
12
|
+
* Browser-only helpers return cleanly under SSR (`typeof window === "undefined"`).
|
|
13
|
+
*/
|
|
14
|
+
/** localStorage key for the Steward access token (JWT). */
|
|
15
|
+
export declare const STEWARD_TOKEN_KEY = "steward_session_token";
|
|
16
|
+
/**
|
|
17
|
+
* localStorage key for the Steward refresh token.
|
|
18
|
+
*
|
|
19
|
+
* @deprecated Refresh tokens are now persisted only as the HttpOnly
|
|
20
|
+
* `steward-refresh-token` cookie (set by `/api/auth/steward-session` and
|
|
21
|
+
* `/api/auth/steward-nonce-exchange`). The localStorage copy was XSS-
|
|
22
|
+
* reachable and is being removed; only the key constant and the
|
|
23
|
+
* read/write/clear helpers below remain so legacy tabs left over from
|
|
24
|
+
* before the rollout can still drain their stale value via
|
|
25
|
+
* `clearStoredStewardToken()`. Do NOT add new readers/writers.
|
|
26
|
+
*/
|
|
27
|
+
export declare const STEWARD_REFRESH_TOKEN_KEY = "steward_refresh_token";
|
|
28
|
+
/** Non-HttpOnly cookie set to "1" while the server-side session is live. */
|
|
29
|
+
export declare const STEWARD_AUTHED_COOKIE = "steward-authed";
|
|
30
|
+
/** Steward multi-tenant identifier for Eliza Cloud. */
|
|
31
|
+
export declare const STEWARD_TENANT_ID = "elizacloud";
|
|
32
|
+
/** Same-origin endpoint that exchanges the JWT for HttpOnly cookies. */
|
|
33
|
+
export declare const STEWARD_SESSION_ENDPOINT = "/api/auth/steward-session";
|
|
34
|
+
/**
|
|
35
|
+
* Same-origin endpoint that swaps a one-time OAuth `code` (the nonce-exchange
|
|
36
|
+
* flow's `?code=` query param) for HttpOnly cookies. The endpoint calls
|
|
37
|
+
* Steward's `POST /auth/oauth/exchange` server-side so the access and refresh
|
|
38
|
+
* tokens never touch the browser URL.
|
|
39
|
+
*/
|
|
40
|
+
export declare const STEWARD_NONCE_EXCHANGE_ENDPOINT = "/api/auth/steward-nonce-exchange";
|
|
41
|
+
/**
|
|
42
|
+
* Same-origin endpoint that rotates the Steward access + refresh tokens
|
|
43
|
+
* using the HttpOnly `steward-refresh-token` cookie. The browser POSTs
|
|
44
|
+
* with `credentials: "include"`; the cookie travels automatically. Trusted
|
|
45
|
+
* Cloud browser origins receive the short-lived access token so the SPA can
|
|
46
|
+
* refresh its localStorage mirror while route auth remains synchronous.
|
|
47
|
+
*/
|
|
48
|
+
export declare const STEWARD_REFRESH_ENDPOINT = "/api/auth/steward-refresh";
|
|
49
|
+
export interface StewardSessionRequest {
|
|
50
|
+
token: string;
|
|
51
|
+
refreshToken?: string | null;
|
|
52
|
+
}
|
|
53
|
+
export interface StewardSessionResponse {
|
|
54
|
+
ok: true;
|
|
55
|
+
userId: string;
|
|
56
|
+
stewardUserId: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Distinct outcomes the cloud-api route returns. The client uses these to
|
|
60
|
+
* decide whether to wipe localStorage (`invalid_token`) or hold steady
|
|
61
|
+
* (`server_secret_missing`).
|
|
62
|
+
*/
|
|
63
|
+
export type StewardSessionErrorCode = "missing_token" | "invalid_token" | "server_secret_missing" | "steward_user_sync_failed" | "internal_error" | "missing_code" | "code_invalid" | "code_expired" | "code_redirect_mismatch" | "code_tenant_mismatch" | "steward_upstream_unavailable" | "forbidden_origin";
|
|
64
|
+
export declare class StewardSessionError extends Error {
|
|
65
|
+
readonly status: number;
|
|
66
|
+
readonly code: StewardSessionErrorCode | string | null;
|
|
67
|
+
constructor(message: string, status: number, code: StewardSessionErrorCode | string | null);
|
|
68
|
+
}
|
|
69
|
+
export interface SyncOpts {
|
|
70
|
+
/**
|
|
71
|
+
* Absolute or relative URL to POST to. Defaults to STEWARD_SESSION_ENDPOINT
|
|
72
|
+
* (same-origin). Pass an absolute URL when crossing origins
|
|
73
|
+
* (e.g. elizaos.ai -> api.elizacloud.ai).
|
|
74
|
+
*/
|
|
75
|
+
endpoint?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Override the global fetch (mainly for tests and SSR shims).
|
|
78
|
+
*/
|
|
79
|
+
fetchImpl?: typeof fetch;
|
|
80
|
+
}
|
|
81
|
+
export interface ClearOpts {
|
|
82
|
+
/** Endpoints to DELETE. Defaults to [STEWARD_SESSION_ENDPOINT]. */
|
|
83
|
+
endpoints?: string[];
|
|
84
|
+
fetchImpl?: typeof fetch;
|
|
85
|
+
}
|
|
86
|
+
export declare function readStoredStewardToken(): string | null;
|
|
87
|
+
export declare function writeStoredStewardToken(token: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated The refresh token is now persisted only as the HttpOnly
|
|
90
|
+
* `steward-refresh-token` cookie. Reading it from localStorage is XSS-
|
|
91
|
+
* reachable and contradicts the cookie-only model. Callers should POST to
|
|
92
|
+
* `STEWARD_REFRESH_ENDPOINT` with `credentials: "include"` instead — the
|
|
93
|
+
* server reads the cookie and mints fresh tokens with no body payload.
|
|
94
|
+
* This helper is retained for one release window so legacy tabs can still
|
|
95
|
+
* be cleaned up via `clearStoredStewardToken()`; it will be removed once
|
|
96
|
+
* `os-homepage` and `cloud-frontend` have shipped the cookie-only flow.
|
|
97
|
+
*/
|
|
98
|
+
export declare function readStoredStewardRefreshToken(): string | null;
|
|
99
|
+
/**
|
|
100
|
+
* @deprecated Writing the refresh token to localStorage defeats the
|
|
101
|
+
* HttpOnly-cookie protection the server already provides. The cookie is
|
|
102
|
+
* set by `/api/auth/steward-session` and `/api/auth/steward-nonce-exchange`
|
|
103
|
+
* — there is no longer any reason for the browser to hold a copy. This
|
|
104
|
+
* helper intentionally does not write and is kept only for one release
|
|
105
|
+
* window; after that it will be deleted.
|
|
106
|
+
*/
|
|
107
|
+
export declare function writeStoredStewardRefreshToken(_token: string): void;
|
|
108
|
+
export declare function clearStoredStewardToken(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Returns true when the non-HttpOnly `steward-authed=1` marker cookie is
|
|
111
|
+
* present. The JWT cookie itself is HttpOnly, so JS uses this hint to know
|
|
112
|
+
* "there is a server session" without ever touching the token.
|
|
113
|
+
*/
|
|
114
|
+
export declare function hasStewardAuthedCookie(): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* POSTs the Steward JWT (+ optional refresh token) to the session endpoint
|
|
117
|
+
* so the server can set HttpOnly cookies. Throws `StewardSessionError` on
|
|
118
|
+
* non-2xx; caller decides whether to wipe localStorage based on `error.code`.
|
|
119
|
+
*/
|
|
120
|
+
export declare function syncStewardSession(token: string, refreshToken?: string | null, opts?: SyncOpts): Promise<StewardSessionResponse>;
|
|
121
|
+
export interface StewardNonceExchangeRequest {
|
|
122
|
+
/** One-time code from the Steward redirect (`?code=`). */
|
|
123
|
+
code: string;
|
|
124
|
+
/**
|
|
125
|
+
* The `redirect_uri` that was sent to Steward `/authorize`. Steward verifies
|
|
126
|
+
* this matches what was issued. If omitted, the cloud-api route falls back
|
|
127
|
+
* to the value provided server-side via env / convention; in practice the
|
|
128
|
+
* caller should send the same redirect_uri it used originally.
|
|
129
|
+
*/
|
|
130
|
+
redirectUri?: string;
|
|
131
|
+
/** Steward tenant ID (e.g. "elizacloud"). */
|
|
132
|
+
tenantId?: string;
|
|
133
|
+
/** PKCE verifier paired with the `code_challenge` sent to Steward. */
|
|
134
|
+
codeVerifier?: string;
|
|
135
|
+
}
|
|
136
|
+
export interface StewardNonceExchangeResponse extends StewardSessionResponse {
|
|
137
|
+
expiresIn?: number;
|
|
138
|
+
expiresAt?: number;
|
|
139
|
+
/**
|
|
140
|
+
* Steward JWT. Mirrored from the upstream Steward exchange so the SPA can
|
|
141
|
+
* write it to localStorage (required by `@stwd/react`'s `useAuth()` to
|
|
142
|
+
* report `isAuthenticated=true`). HttpOnly cookies are still the canonical
|
|
143
|
+
* session — this is the JS-readable copy that keeps the wallet and OAuth
|
|
144
|
+
* paths symmetric.
|
|
145
|
+
*/
|
|
146
|
+
token?: string;
|
|
147
|
+
refreshToken?: string;
|
|
148
|
+
}
|
|
149
|
+
export interface ExchangeStewardCodeOpts extends SyncOpts {
|
|
150
|
+
/** redirect_uri that was sent to /authorize (must match exactly). */
|
|
151
|
+
redirectUri?: string;
|
|
152
|
+
/** Steward tenant id. */
|
|
153
|
+
tenantId?: string;
|
|
154
|
+
/** PKCE verifier paired with the `code_challenge` sent to Steward. */
|
|
155
|
+
codeVerifier?: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* POSTs the one-time OAuth code to the cloud-api nonce-exchange endpoint.
|
|
159
|
+
* The route calls Steward `POST /auth/oauth/exchange` server-side, sets the
|
|
160
|
+
* HttpOnly steward-token + steward-refresh-token cookies, and returns the
|
|
161
|
+
* Eliza Cloud user id. Some cross-origin checkout callers may also receive a
|
|
162
|
+
* browser bearer token. Throws `StewardSessionError` on non-2xx.
|
|
163
|
+
*/
|
|
164
|
+
export declare function exchangeStewardCode(code: string, opts?: ExchangeStewardCodeOpts): Promise<StewardNonceExchangeResponse>;
|
|
165
|
+
/**
|
|
166
|
+
* Best-effort DELETE of every configured session endpoint. Failures are
|
|
167
|
+
* swallowed — the caller has already wiped localStorage and there's nothing
|
|
168
|
+
* useful to do about a cookie that won't clear.
|
|
169
|
+
*/
|
|
170
|
+
export { buildStewardOAuthAuthorizeUrl, consumeStewardPkceVerifier, createStewardPkceChallenge, createStewardPkcePair, generateStewardPkceVerifier, type StewardOAuthProvider, type StewardPkcePair, storeStewardPkceVerifier, } from "./steward-oauth-pkce.js";
|
|
171
|
+
export declare function clearStewardSession(opts?: ClearOpts): void;
|
|
172
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/steward-session-client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Steward session client.
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for:
|
|
5
|
+
* - the storage / cookie / endpoint key names used across os-homepage
|
|
6
|
+
* (`elizaos.ai`), cloud-frontend (`elizacloud.ai`), and the cloud-api
|
|
7
|
+
* `/api/auth/steward-session` route handler;
|
|
8
|
+
* - the request / response / error shapes the route exchanges with the
|
|
9
|
+
* browser;
|
|
10
|
+
* - the small set of helpers each consumer needs (sync, clear, read).
|
|
11
|
+
*
|
|
12
|
+
* Browser-only helpers return cleanly under SSR (`typeof window === "undefined"`).
|
|
13
|
+
*/
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Constants
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
/** localStorage key for the Steward access token (JWT). */
|
|
18
|
+
export const STEWARD_TOKEN_KEY = "steward_session_token";
|
|
19
|
+
/**
|
|
20
|
+
* localStorage key for the Steward refresh token.
|
|
21
|
+
*
|
|
22
|
+
* @deprecated Refresh tokens are now persisted only as the HttpOnly
|
|
23
|
+
* `steward-refresh-token` cookie (set by `/api/auth/steward-session` and
|
|
24
|
+
* `/api/auth/steward-nonce-exchange`). The localStorage copy was XSS-
|
|
25
|
+
* reachable and is being removed; only the key constant and the
|
|
26
|
+
* read/write/clear helpers below remain so legacy tabs left over from
|
|
27
|
+
* before the rollout can still drain their stale value via
|
|
28
|
+
* `clearStoredStewardToken()`. Do NOT add new readers/writers.
|
|
29
|
+
*/
|
|
30
|
+
export const STEWARD_REFRESH_TOKEN_KEY = "steward_refresh_token";
|
|
31
|
+
/** Non-HttpOnly cookie set to "1" while the server-side session is live. */
|
|
32
|
+
export const STEWARD_AUTHED_COOKIE = "steward-authed";
|
|
33
|
+
/** Steward multi-tenant identifier for Eliza Cloud. */
|
|
34
|
+
export const STEWARD_TENANT_ID = "elizacloud";
|
|
35
|
+
/** Same-origin endpoint that exchanges the JWT for HttpOnly cookies. */
|
|
36
|
+
export const STEWARD_SESSION_ENDPOINT = "/api/auth/steward-session";
|
|
37
|
+
/**
|
|
38
|
+
* Same-origin endpoint that swaps a one-time OAuth `code` (the nonce-exchange
|
|
39
|
+
* flow's `?code=` query param) for HttpOnly cookies. The endpoint calls
|
|
40
|
+
* Steward's `POST /auth/oauth/exchange` server-side so the access and refresh
|
|
41
|
+
* tokens never touch the browser URL.
|
|
42
|
+
*/
|
|
43
|
+
export const STEWARD_NONCE_EXCHANGE_ENDPOINT = "/api/auth/steward-nonce-exchange";
|
|
44
|
+
/**
|
|
45
|
+
* Same-origin endpoint that rotates the Steward access + refresh tokens
|
|
46
|
+
* using the HttpOnly `steward-refresh-token` cookie. The browser POSTs
|
|
47
|
+
* with `credentials: "include"`; the cookie travels automatically. Trusted
|
|
48
|
+
* Cloud browser origins receive the short-lived access token so the SPA can
|
|
49
|
+
* refresh its localStorage mirror while route auth remains synchronous.
|
|
50
|
+
*/
|
|
51
|
+
export const STEWARD_REFRESH_ENDPOINT = "/api/auth/steward-refresh";
|
|
52
|
+
export class StewardSessionError extends Error {
|
|
53
|
+
status;
|
|
54
|
+
code;
|
|
55
|
+
constructor(message, status, code) {
|
|
56
|
+
super(message);
|
|
57
|
+
this.name = "StewardSessionError";
|
|
58
|
+
this.status = status;
|
|
59
|
+
this.code = code;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
// localStorage helpers
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
export function readStoredStewardToken() {
|
|
66
|
+
if (typeof window === "undefined")
|
|
67
|
+
return null;
|
|
68
|
+
try {
|
|
69
|
+
return window.localStorage.getItem(STEWARD_TOKEN_KEY);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export function writeStoredStewardToken(token) {
|
|
76
|
+
if (typeof window === "undefined")
|
|
77
|
+
return;
|
|
78
|
+
try {
|
|
79
|
+
window.localStorage.setItem(STEWARD_TOKEN_KEY, token);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// localStorage may be disabled (private mode, quota, sandboxed iframe);
|
|
83
|
+
// callers that need durability should detect this themselves.
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
let warnedReadRefresh = false;
|
|
87
|
+
let warnedWriteRefresh = false;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated The refresh token is now persisted only as the HttpOnly
|
|
90
|
+
* `steward-refresh-token` cookie. Reading it from localStorage is XSS-
|
|
91
|
+
* reachable and contradicts the cookie-only model. Callers should POST to
|
|
92
|
+
* `STEWARD_REFRESH_ENDPOINT` with `credentials: "include"` instead — the
|
|
93
|
+
* server reads the cookie and mints fresh tokens with no body payload.
|
|
94
|
+
* This helper is retained for one release window so legacy tabs can still
|
|
95
|
+
* be cleaned up via `clearStoredStewardToken()`; it will be removed once
|
|
96
|
+
* `os-homepage` and `cloud-frontend` have shipped the cookie-only flow.
|
|
97
|
+
*/
|
|
98
|
+
export function readStoredStewardRefreshToken() {
|
|
99
|
+
if (typeof window === "undefined")
|
|
100
|
+
return null;
|
|
101
|
+
if (!warnedReadRefresh) {
|
|
102
|
+
warnedReadRefresh = true;
|
|
103
|
+
try {
|
|
104
|
+
console.warn("[steward] readStoredStewardRefreshToken() is deprecated — refresh tokens live in the HttpOnly steward-refresh-token cookie. Use STEWARD_REFRESH_ENDPOINT with credentials: 'include' instead.");
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// ignore
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
return window.localStorage.getItem(STEWARD_REFRESH_TOKEN_KEY);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @deprecated Writing the refresh token to localStorage defeats the
|
|
119
|
+
* HttpOnly-cookie protection the server already provides. The cookie is
|
|
120
|
+
* set by `/api/auth/steward-session` and `/api/auth/steward-nonce-exchange`
|
|
121
|
+
* — there is no longer any reason for the browser to hold a copy. This
|
|
122
|
+
* helper intentionally does not write and is kept only for one release
|
|
123
|
+
* window; after that it will be deleted.
|
|
124
|
+
*/
|
|
125
|
+
export function writeStoredStewardRefreshToken(_token) {
|
|
126
|
+
if (typeof window === "undefined")
|
|
127
|
+
return;
|
|
128
|
+
if (!warnedWriteRefresh) {
|
|
129
|
+
warnedWriteRefresh = true;
|
|
130
|
+
try {
|
|
131
|
+
console.warn("[steward] writeStoredStewardRefreshToken() is deprecated and no longer writes to localStorage. The HttpOnly steward-refresh-token cookie is now the only persistence. This call intentionally leaves storage unchanged.");
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// ignore
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Intentionally do not write — the cookie is the source of truth. We keep
|
|
138
|
+
// the function so existing call sites compile through the rollout window.
|
|
139
|
+
}
|
|
140
|
+
export function clearStoredStewardToken() {
|
|
141
|
+
if (typeof window === "undefined")
|
|
142
|
+
return;
|
|
143
|
+
try {
|
|
144
|
+
window.localStorage.removeItem(STEWARD_TOKEN_KEY);
|
|
145
|
+
window.localStorage.removeItem(STEWARD_REFRESH_TOKEN_KEY);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// ignore
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Returns true when the non-HttpOnly `steward-authed=1` marker cookie is
|
|
153
|
+
* present. The JWT cookie itself is HttpOnly, so JS uses this hint to know
|
|
154
|
+
* "there is a server session" without ever touching the token.
|
|
155
|
+
*/
|
|
156
|
+
export function hasStewardAuthedCookie() {
|
|
157
|
+
if (typeof document === "undefined")
|
|
158
|
+
return false;
|
|
159
|
+
return document.cookie
|
|
160
|
+
.split(";")
|
|
161
|
+
.some((part) => part.trim().startsWith(`${STEWARD_AUTHED_COOKIE}=1`));
|
|
162
|
+
}
|
|
163
|
+
// ---------------------------------------------------------------------------
|
|
164
|
+
// Network helpers
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
166
|
+
async function readErrorBody(response) {
|
|
167
|
+
try {
|
|
168
|
+
return (await response.json());
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* POSTs the Steward JWT (+ optional refresh token) to the session endpoint
|
|
176
|
+
* so the server can set HttpOnly cookies. Throws `StewardSessionError` on
|
|
177
|
+
* non-2xx; caller decides whether to wipe localStorage based on `error.code`.
|
|
178
|
+
*/
|
|
179
|
+
export async function syncStewardSession(token, refreshToken, opts = {}) {
|
|
180
|
+
const endpoint = opts.endpoint ?? STEWARD_SESSION_ENDPOINT;
|
|
181
|
+
const f = opts.fetchImpl ?? fetch;
|
|
182
|
+
// Refresh tokens now live exclusively in the HttpOnly
|
|
183
|
+
// `steward-refresh-token` cookie. We forward whatever the caller passes
|
|
184
|
+
// (e.g. the value still arriving in a legacy URL fragment during the
|
|
185
|
+
// rollout window) so the server can set the cookie on first login, but we
|
|
186
|
+
// do NOT read it back from localStorage — that path is being removed.
|
|
187
|
+
const body = {
|
|
188
|
+
token,
|
|
189
|
+
...(refreshToken ? { refreshToken } : {}),
|
|
190
|
+
};
|
|
191
|
+
const response = await f(endpoint, {
|
|
192
|
+
method: "POST",
|
|
193
|
+
credentials: "include",
|
|
194
|
+
headers: { "Content-Type": "application/json" },
|
|
195
|
+
body: JSON.stringify(body),
|
|
196
|
+
});
|
|
197
|
+
if (!response.ok) {
|
|
198
|
+
const errBody = await readErrorBody(response);
|
|
199
|
+
throw new StewardSessionError(errBody?.error || "Could not establish an Eliza Cloud session.", response.status, errBody?.code ?? null);
|
|
200
|
+
}
|
|
201
|
+
return (await response.json());
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* POSTs the one-time OAuth code to the cloud-api nonce-exchange endpoint.
|
|
205
|
+
* The route calls Steward `POST /auth/oauth/exchange` server-side, sets the
|
|
206
|
+
* HttpOnly steward-token + steward-refresh-token cookies, and returns the
|
|
207
|
+
* Eliza Cloud user id. Some cross-origin checkout callers may also receive a
|
|
208
|
+
* browser bearer token. Throws `StewardSessionError` on non-2xx.
|
|
209
|
+
*/
|
|
210
|
+
export async function exchangeStewardCode(code, opts = {}) {
|
|
211
|
+
const endpoint = opts.endpoint ?? STEWARD_NONCE_EXCHANGE_ENDPOINT;
|
|
212
|
+
const f = opts.fetchImpl ?? fetch;
|
|
213
|
+
const body = {
|
|
214
|
+
code,
|
|
215
|
+
...(opts.redirectUri ? { redirectUri: opts.redirectUri } : {}),
|
|
216
|
+
...(opts.tenantId ? { tenantId: opts.tenantId } : {}),
|
|
217
|
+
...(opts.codeVerifier ? { codeVerifier: opts.codeVerifier } : {}),
|
|
218
|
+
};
|
|
219
|
+
const response = await f(endpoint, {
|
|
220
|
+
method: "POST",
|
|
221
|
+
credentials: "include",
|
|
222
|
+
headers: { "Content-Type": "application/json" },
|
|
223
|
+
body: JSON.stringify(body),
|
|
224
|
+
});
|
|
225
|
+
if (!response.ok) {
|
|
226
|
+
const errBody = await readErrorBody(response);
|
|
227
|
+
throw new StewardSessionError(errBody?.error || "Could not complete Eliza Cloud sign-in.", response.status, errBody?.code ?? null);
|
|
228
|
+
}
|
|
229
|
+
return (await response.json());
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Best-effort DELETE of every configured session endpoint. Failures are
|
|
233
|
+
* swallowed — the caller has already wiped localStorage and there's nothing
|
|
234
|
+
* useful to do about a cookie that won't clear.
|
|
235
|
+
*/
|
|
236
|
+
export { buildStewardOAuthAuthorizeUrl, consumeStewardPkceVerifier, createStewardPkceChallenge, createStewardPkcePair, generateStewardPkceVerifier, storeStewardPkceVerifier, } from "./steward-oauth-pkce.js";
|
|
237
|
+
export function clearStewardSession(opts = {}) {
|
|
238
|
+
const endpoints = opts.endpoints ?? [STEWARD_SESSION_ENDPOINT];
|
|
239
|
+
const f = opts.fetchImpl ?? (typeof fetch !== "undefined" ? fetch : null);
|
|
240
|
+
if (!f)
|
|
241
|
+
return;
|
|
242
|
+
for (const url of endpoints) {
|
|
243
|
+
f(url, { method: "DELETE", credentials: "include" }).catch(() => {
|
|
244
|
+
// ignore — see jsdoc
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steward-session-client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steward OAuth PKCE helpers (RFC 7636).
|
|
3
|
+
*
|
|
4
|
+
* Steward's `/auth/oauth/:provider/authorize` requires a S256 `code_challenge`
|
|
5
|
+
* when `response_type=code`. Mint a verifier/challenge pair, send the challenge
|
|
6
|
+
* at /authorize, stash the verifier in browser storage, and replay it at
|
|
7
|
+
* /exchange via {@link exchangeStewardCode}.
|
|
8
|
+
*/
|
|
9
|
+
export type StewardOAuthProvider = "google" | "discord" | "github" | "twitter";
|
|
10
|
+
export declare function generateStewardPkceVerifier(): string;
|
|
11
|
+
export declare function createStewardPkceChallenge(verifier: string): Promise<string>;
|
|
12
|
+
export interface StewardPkcePair {
|
|
13
|
+
verifier: string;
|
|
14
|
+
challenge: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function createStewardPkcePair(): Promise<StewardPkcePair>;
|
|
17
|
+
export declare function storeStewardPkceVerifier(verifier: string): boolean;
|
|
18
|
+
export declare function consumeStewardPkceVerifier(): string | null;
|
|
19
|
+
export declare function buildStewardOAuthAuthorizeUrl(provider: StewardOAuthProvider, redirectUri: string, options: {
|
|
20
|
+
stewardApiUrl: string;
|
|
21
|
+
stewardTenantId?: string;
|
|
22
|
+
codeChallenge?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
//# sourceMappingURL=steward-oauth-pkce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steward-oauth-pkce.d.ts","sourceRoot":"","sources":["../../src/steward-session-client/steward-oauth-pkce.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAoB/E,wBAAgB,2BAA2B,IAAI,MAAM,CAIpD;AAED,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,CAAC,CAItE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAoBlE;AAED,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAK1D;AA6BD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,MAAM,CAYR"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steward OAuth PKCE helpers (RFC 7636).
|
|
3
|
+
*
|
|
4
|
+
* Steward's `/auth/oauth/:provider/authorize` requires a S256 `code_challenge`
|
|
5
|
+
* when `response_type=code`. Mint a verifier/challenge pair, send the challenge
|
|
6
|
+
* at /authorize, stash the verifier in browser storage, and replay it at
|
|
7
|
+
* /exchange via {@link exchangeStewardCode}.
|
|
8
|
+
*/
|
|
9
|
+
const STEWARD_PKCE_VERIFIER_STORAGE_KEY = "steward.oauth.pkce.verifier";
|
|
10
|
+
const STEWARD_PKCE_VERIFIER_TTL_MS = 10 * 60 * 1000;
|
|
11
|
+
const PKCE_VERIFIER_BYTES = 48;
|
|
12
|
+
function base64UrlEncode(bytes) {
|
|
13
|
+
let binary = "";
|
|
14
|
+
for (const byte of bytes)
|
|
15
|
+
binary += String.fromCharCode(byte);
|
|
16
|
+
return btoa(binary)
|
|
17
|
+
.replace(/\+/g, "-")
|
|
18
|
+
.replace(/\//g, "_")
|
|
19
|
+
.replace(/=+$/, "");
|
|
20
|
+
}
|
|
21
|
+
export function generateStewardPkceVerifier() {
|
|
22
|
+
const bytes = new Uint8Array(PKCE_VERIFIER_BYTES);
|
|
23
|
+
crypto.getRandomValues(bytes);
|
|
24
|
+
return base64UrlEncode(bytes);
|
|
25
|
+
}
|
|
26
|
+
export async function createStewardPkceChallenge(verifier) {
|
|
27
|
+
const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(verifier));
|
|
28
|
+
return base64UrlEncode(new Uint8Array(digest));
|
|
29
|
+
}
|
|
30
|
+
export async function createStewardPkcePair() {
|
|
31
|
+
const verifier = generateStewardPkceVerifier();
|
|
32
|
+
const challenge = await createStewardPkceChallenge(verifier);
|
|
33
|
+
return { verifier, challenge };
|
|
34
|
+
}
|
|
35
|
+
export function storeStewardPkceVerifier(verifier) {
|
|
36
|
+
if (typeof window === "undefined")
|
|
37
|
+
return false;
|
|
38
|
+
const stored = JSON.stringify({
|
|
39
|
+
verifier,
|
|
40
|
+
expiresAt: Date.now() + STEWARD_PKCE_VERIFIER_TTL_MS,
|
|
41
|
+
});
|
|
42
|
+
let storedAnywhere = false;
|
|
43
|
+
try {
|
|
44
|
+
window.sessionStorage.setItem(STEWARD_PKCE_VERIFIER_STORAGE_KEY, stored);
|
|
45
|
+
storedAnywhere = true;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// private mode / disabled storage
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
window.localStorage.setItem(STEWARD_PKCE_VERIFIER_STORAGE_KEY, stored);
|
|
52
|
+
storedAnywhere = true;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// same as above
|
|
56
|
+
}
|
|
57
|
+
return storedAnywhere;
|
|
58
|
+
}
|
|
59
|
+
export function consumeStewardPkceVerifier() {
|
|
60
|
+
if (typeof window === "undefined")
|
|
61
|
+
return null;
|
|
62
|
+
const sessionVerifier = consumeStoredPkceVerifier(window.sessionStorage);
|
|
63
|
+
const localVerifier = consumeStoredPkceVerifier(window.localStorage);
|
|
64
|
+
return sessionVerifier ?? localVerifier;
|
|
65
|
+
}
|
|
66
|
+
function consumeStoredPkceVerifier(storage) {
|
|
67
|
+
try {
|
|
68
|
+
const verifier = storage.getItem(STEWARD_PKCE_VERIFIER_STORAGE_KEY);
|
|
69
|
+
storage.removeItem(STEWARD_PKCE_VERIFIER_STORAGE_KEY);
|
|
70
|
+
return parseStoredPkceVerifier(verifier);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function parseStoredPkceVerifier(value) {
|
|
77
|
+
if (!value)
|
|
78
|
+
return null;
|
|
79
|
+
try {
|
|
80
|
+
const parsed = JSON.parse(value);
|
|
81
|
+
if (typeof parsed.verifier === "string" &&
|
|
82
|
+
typeof parsed.expiresAt === "number" &&
|
|
83
|
+
parsed.expiresAt >= Date.now()) {
|
|
84
|
+
return parsed.verifier;
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return value;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export function buildStewardOAuthAuthorizeUrl(provider, redirectUri, options) {
|
|
93
|
+
const params = new URLSearchParams({
|
|
94
|
+
redirect_uri: redirectUri,
|
|
95
|
+
tenant_id: options.stewardTenantId ?? "elizacloud",
|
|
96
|
+
response_type: "code",
|
|
97
|
+
});
|
|
98
|
+
if (options.codeChallenge) {
|
|
99
|
+
params.set("code_challenge", options.codeChallenge);
|
|
100
|
+
params.set("code_challenge_method", "S256");
|
|
101
|
+
}
|
|
102
|
+
const stewardApiUrl = options.stewardApiUrl.replace(/\/+$/, "");
|
|
103
|
+
return `${stewardApiUrl}/auth/oauth/${provider}/authorize?${params.toString()}`;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=steward-oauth-pkce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steward-oauth-pkce.js","sourceRoot":"","sources":["../../src/steward-session-client/steward-oauth-pkce.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type http from "node:http";
|
|
2
|
+
/** Standardized test result for mocked updater checks. */
|
|
3
|
+
export type MockUpdateCheckResult = {
|
|
4
|
+
updateAvailable: boolean;
|
|
5
|
+
currentVersion: string;
|
|
6
|
+
latestVersion: string | null;
|
|
7
|
+
channel: string;
|
|
8
|
+
distTag: string;
|
|
9
|
+
cached: boolean;
|
|
10
|
+
error: string | null;
|
|
11
|
+
};
|
|
12
|
+
/** Snapshot and restore the configured environment variables around a test. */
|
|
13
|
+
export declare function createEnvSandbox(keys: readonly string[]): {
|
|
14
|
+
clear: () => void;
|
|
15
|
+
restore: () => void;
|
|
16
|
+
};
|
|
17
|
+
export type PluginModuleShape = {
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
default?: unknown;
|
|
20
|
+
plugin?: unknown;
|
|
21
|
+
};
|
|
22
|
+
/** Loose plugin-shape predicate used in dynamic test imports across suites. */
|
|
23
|
+
export declare function looksLikePlugin(value: unknown): value is {
|
|
24
|
+
name: string;
|
|
25
|
+
};
|
|
26
|
+
/** Extract a plugin-like object from a dynamic module export shape. */
|
|
27
|
+
export declare function extractPlugin(mod: PluginModuleShape): {
|
|
28
|
+
name: string;
|
|
29
|
+
} | null;
|
|
30
|
+
export declare function isPackageImportResolvable(packageName: string): boolean;
|
|
31
|
+
export declare function isWorkspaceDependency(version: string | undefined): boolean;
|
|
32
|
+
export declare function resolveDiscordPluginImportSpecifier(): string | null;
|
|
33
|
+
export declare function resolveTelegramPluginImportSpecifier(): string | null;
|
|
34
|
+
export declare function resolveLensPluginImportSpecifier(): string | null;
|
|
35
|
+
export declare function resolveFarcasterPluginImportSpecifier(): string | null;
|
|
36
|
+
export declare function resolveNostrPluginImportSpecifier(): string | null;
|
|
37
|
+
export declare function resolveMatrixPluginImportSpecifier(): string | null;
|
|
38
|
+
export declare function resolveFeishuPluginImportSpecifier(): string | null;
|
|
39
|
+
export declare function resolveWechatPluginImportSpecifier(): string | null;
|
|
40
|
+
/** Build a mock update check result with deterministic defaults. */
|
|
41
|
+
export declare function buildMockUpdateCheckResult(overrides?: Partial<MockUpdateCheckResult>): MockUpdateCheckResult;
|
|
42
|
+
/** Small utility to wait for asynchronous side-effects in tests. */
|
|
43
|
+
export declare function waitMs(ms: number): Promise<void>;
|
|
44
|
+
type MockResponsePayload<T> = {
|
|
45
|
+
res: MockHttpServerResponse;
|
|
46
|
+
getStatus: () => number;
|
|
47
|
+
getJson: () => T;
|
|
48
|
+
};
|
|
49
|
+
type MockHttpServerResponse = http.ServerResponse & {
|
|
50
|
+
_status: number;
|
|
51
|
+
_body: string;
|
|
52
|
+
writeHead: (statusCode: number) => void;
|
|
53
|
+
};
|
|
54
|
+
type MockBodyChunk = string | Buffer;
|
|
55
|
+
export type MockRequestOptions = {
|
|
56
|
+
method?: string;
|
|
57
|
+
url?: string;
|
|
58
|
+
headers?: Record<string, string>;
|
|
59
|
+
body?: unknown;
|
|
60
|
+
bodyChunks?: MockBodyChunk[];
|
|
61
|
+
json?: boolean;
|
|
62
|
+
};
|
|
63
|
+
/** Create a lightweight mocked HTTP response used by handler tests. */
|
|
64
|
+
export declare function createMockHttpResponse<T = unknown>(): MockResponsePayload<T>;
|
|
65
|
+
export declare function createMockHeadersRequest(headers?: Record<string, string>, options?: Omit<MockRequestOptions, "headers" | "body">): http.IncomingMessage & {
|
|
66
|
+
destroy: () => void;
|
|
67
|
+
};
|
|
68
|
+
export declare function createMockIncomingMessage({ method, url, headers, body, bodyChunks, json, }: MockRequestOptions): http.IncomingMessage & {
|
|
69
|
+
destroy: () => void;
|
|
70
|
+
};
|
|
71
|
+
export declare function createMockJsonRequest(body: unknown, options?: Omit<MockRequestOptions, "body" | "json">): http.IncomingMessage & {
|
|
72
|
+
destroy: () => void;
|
|
73
|
+
};
|
|
74
|
+
/** Return true when optional plugin imports are intentionally unavailable in this env. */
|
|
75
|
+
export declare function isOptionalImportError(error: unknown, extraMarkers?: readonly string[]): boolean;
|
|
76
|
+
/** Safely import optional plugin modules while allowing hard failures to bubble. */
|
|
77
|
+
export declare function tryOptionalDynamicImport<T>(moduleName: string, markers?: readonly string[]): Promise<T | null>;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=test-helpers.d.ts.map
|