@nomix-ai/nomix-harness 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -9
- package/dist/assets/web/assets/index-BnapMmQ_.css +1 -0
- package/dist/assets/web/assets/index-Dx7Ws_OC.js +96 -0
- package/dist/assets/web/assets/langs/{php-D-uCvoST.js → php-DDkx9sim.js} +2 -2
- package/dist/{kernel/web-frontend/dist/assets/langs/ruby-DEItuUFs.js → assets/web/assets/langs/ruby-DCxyoPen.js} +2 -2
- package/dist/assets/web/assets/{vendor-Cjbwl5VI.js → vendor-D22_Mp1f.js} +2 -2
- package/dist/assets/web/favicon.svg +8 -0
- package/dist/assets/web/index.html +5 -5
- package/dist/bundles/base/cordis.patch.yml +31 -6
- package/dist/bundles/web-app/cordis.patch.yml +27 -6
- package/dist/cli/bin.js +4 -5
- package/dist/cli/builtin-registry.js +44 -4
- package/dist/cli/{dump-config-d3ECray2.js → dump-config-BEj2GlJo.js} +1 -1
- package/dist/cli/{plugin-Bw9wgrmj.js → plugin-D_gLgCYL.js} +1 -1
- package/dist/cli/profile-boot-BSrYtiQI.js +2 -0
- package/dist/cli/{profile-boot-DFHdh9Xq.js → profile-boot-CByqUxLM.js} +0 -2
- package/dist/cli/profile-boot.d.ts +2 -2
- package/dist/cli/runtime.js +0 -2
- package/dist/config/agent-presets/code/agent.cordis.yml +4 -3
- package/dist/config/agent-presets/cordis/agent.cordis.yml +4 -3
- package/dist/config/agent-presets/cordis/skills/editing-cordis-compositions/SKILL.md +13 -2
- package/dist/config/agent-presets/minimal/agent.cordis.yml +27 -1
- package/dist/config/agent-presets/standard/agent.cordis.yml +4 -3
- package/dist/kernel/acp/lib/index.js +1 -1
- package/dist/kernel/acp/lib/types/content.d.ts +1 -1
- package/dist/kernel/acp/lib/types/index.d.ts +2 -2
- package/dist/kernel/acp/lib/types/index.js +1 -1
- package/dist/kernel/acp/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/acp/package.json +1 -1
- package/dist/kernel/agent/lib/index.js +1 -1
- package/dist/kernel/agent/lib/types/dispatch.d.ts +1 -1
- package/dist/kernel/agent/lib/types/index.d.ts +1 -1
- package/dist/kernel/agent/lib/types/index.js +1 -1
- package/dist/kernel/agent/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/agent/lib/types/model-selection.d.ts +1 -1
- package/dist/kernel/agent/lib/types/runtime-types.d.ts +1 -1
- package/dist/kernel/agent/package.json +1 -1
- package/dist/kernel/agent-default-model/lib/index.js +2 -2
- package/dist/kernel/agent-default-model/lib/types/index.d.ts +2 -2
- package/dist/kernel/agent-default-model/lib/types/index.js +2 -2
- package/dist/kernel/agent-default-model/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/agent-default-model/package.json +1 -1
- package/dist/kernel/agent-instructions/lib/index.js +1 -1
- package/dist/kernel/agent-instructions/lib/types/config.d.ts +1 -1
- package/dist/kernel/agent-instructions/lib/types/config.js +1 -1
- package/dist/kernel/agent-instructions/lib/types/index.d.ts +1 -1
- package/dist/kernel/agent-instructions/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/agent-instructions/package.json +1 -1
- package/dist/kernel/agent-loop/lib/index.js +35 -12
- package/dist/kernel/agent-loop/lib/types/agent.d.ts +1 -1
- package/dist/kernel/agent-loop/lib/types/agent.js +26 -6
- package/dist/kernel/agent-loop/lib/types/index.d.ts +2 -2
- package/dist/kernel/agent-loop/lib/types/index.js +2 -2
- package/dist/kernel/agent-loop/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/agent-loop/lib/types/runtime-context.d.ts +1 -1
- package/dist/kernel/agent-loop/lib/types/tool-calls.d.ts +1 -1
- package/dist/kernel/agent-loop/package.json +1 -1
- package/dist/kernel/agent-presets/lib/index.js +3 -3
- package/dist/kernel/agent-presets/lib/invariant.js +3 -3
- package/dist/kernel/agent-presets/lib/types/discovery.js +1 -1
- package/dist/kernel/agent-presets/lib/types/index.d.ts +2 -2
- package/dist/kernel/agent-presets/lib/types/index.js +2 -2
- package/dist/kernel/agent-presets/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/agent-presets/lib/types/mount.d.ts +2 -2
- package/dist/kernel/agent-presets/lib/types/mount.js +2 -2
- package/dist/kernel/agent-presets/package.json +1 -1
- package/dist/kernel/agent-tool-presentation/lib/index.js +1 -1
- package/dist/kernel/agent-tool-presentation/lib/types/index.d.ts +2 -2
- package/dist/kernel/agent-tool-presentation/lib/types/index.js +1 -1
- package/dist/kernel/agent-tool-presentation/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/agent-tool-presentation/package.json +1 -1
- package/dist/kernel/anonymous-user-id/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/anonymous-user-id/package.json +1 -1
- package/dist/kernel/api-gateway/lib/client.js +84 -55
- package/dist/kernel/api-gateway/lib/index.js +1 -1
- package/dist/kernel/api-gateway/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/api-gateway/lib/types/client/index.js +94 -62
- package/dist/kernel/api-gateway/lib/types/index.d.ts +1 -1
- package/dist/kernel/api-gateway/lib/types/index.js +1 -1
- package/dist/kernel/api-gateway/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/api-gateway/package.json +1 -1
- package/dist/kernel/api-remotes/lib/client.js +166 -27
- package/dist/kernel/api-remotes/lib/index.js +1 -1
- package/dist/kernel/api-remotes/lib/types/agent-lookup.d.ts +1 -1
- package/dist/kernel/api-remotes/lib/types/client/index.d.ts +5 -1
- package/dist/kernel/api-remotes/lib/types/client/index.js +4 -1
- package/dist/kernel/api-remotes/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/api-remotes/lib/types/remote-events.d.ts +1 -1
- package/dist/kernel/api-remotes/lib/types/remote-events.js +1 -1
- package/dist/kernel/api-remotes/package.json +11 -7
- package/dist/kernel/app-boot/lib/index.js +23 -45
- package/dist/kernel/app-boot/lib/types/index.d.ts +3 -4
- package/dist/kernel/app-boot/lib/types/index.js +6 -7
- package/dist/kernel/app-boot/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/app-boot/lib/types/profile.d.ts +17 -14
- package/dist/kernel/app-boot/lib/types/profile.js +17 -27
- package/dist/kernel/app-boot/package.json +1 -1
- package/dist/kernel/atomic-write/lib/index.js +36 -16
- package/dist/kernel/atomic-write/lib/types/index.d.ts +21 -5
- package/dist/kernel/atomic-write/lib/types/index.js +40 -16
- package/dist/kernel/atomic-write/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/atomic-write/package.json +1 -1
- package/dist/kernel/attachment/lib/index.js +63 -4
- package/dist/kernel/attachment/lib/types/admission.d.ts +15 -0
- package/dist/kernel/attachment/lib/types/admission.js +33 -0
- package/dist/kernel/attachment/lib/types/brand.d.ts +8 -0
- package/dist/kernel/attachment/lib/types/brand.js +8 -0
- package/dist/kernel/attachment/lib/types/error.d.ts +2 -2
- package/dist/kernel/attachment/lib/types/error.js +1 -0
- package/dist/kernel/attachment/lib/types/index.d.ts +24 -6
- package/dist/kernel/attachment/lib/types/index.js +25 -3
- package/dist/kernel/attachment/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/attachment/lib/types/types.d.ts +47 -2
- package/dist/kernel/attachment/package.json +3 -2
- package/dist/kernel/attachment-local/lib/index.js +641 -49
- package/dist/kernel/attachment-local/lib/types/compression-limiter.d.ts +18 -0
- package/dist/kernel/attachment-local/lib/types/compression-limiter.js +43 -0
- package/dist/kernel/attachment-local/lib/types/encoding.d.ts +23 -0
- package/dist/kernel/attachment-local/lib/types/encoding.js +33 -0
- package/dist/kernel/attachment-local/lib/types/image.d.ts +31 -2
- package/dist/kernel/attachment-local/lib/types/image.js +43 -4
- package/dist/kernel/attachment-local/lib/types/index.d.ts +47 -12
- package/dist/kernel/attachment-local/lib/types/index.js +141 -11
- package/dist/kernel/attachment-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/attachment-local/lib/types/normalization.d.ts +44 -0
- package/dist/kernel/attachment-local/lib/types/normalization.js +148 -0
- package/dist/kernel/attachment-local/lib/types/request-image.d.ts +35 -0
- package/dist/kernel/attachment-local/lib/types/request-image.js +208 -0
- package/dist/kernel/attachment-local/lib/types/store.d.ts +36 -9
- package/dist/kernel/attachment-local/lib/types/store.js +60 -24
- package/dist/kernel/attachment-local/package.json +1 -1
- package/dist/kernel/authorization/lib/index.js +248 -0
- package/dist/kernel/authorization/lib/invariant.js +36 -0
- package/dist/kernel/authorization/lib/types/index.d.ts +223 -0
- package/dist/kernel/authorization/lib/types/index.js +299 -0
- package/dist/kernel/authorization/lib/types/invariant.d.ts +16 -0
- package/dist/kernel/authorization/lib/types/invariant.js +38 -0
- package/dist/kernel/authorization/lib/types/types.d.ts +83 -0
- package/dist/kernel/authorization/lib/types/types.js +8 -0
- package/dist/kernel/{client-web-react → authorization}/package.json +19 -16
- package/dist/kernel/base/cordis.patch.yml +31 -6
- package/dist/kernel/base/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/base/package.json +3 -1
- package/dist/kernel/bash-local/lib/index.js +1 -1
- package/dist/kernel/bash-local/lib/types/index.d.ts +2 -2
- package/dist/kernel/bash-local/lib/types/index.js +1 -1
- package/dist/kernel/bash-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/bash-local/package.json +1 -1
- package/dist/kernel/bash-sandbox/lib/types/index.d.ts +1 -1
- package/dist/kernel/bash-sandbox/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/bash-sandbox/package.json +1 -1
- package/dist/kernel/brand/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/brand/package.json +1 -1
- package/dist/kernel/client-connection/lib/client.js +148 -28
- package/dist/kernel/client-connection/lib/index.js +6 -6
- package/dist/kernel/client-connection/lib/types/client/fixture.js +112 -20
- package/dist/kernel/client-connection/lib/types/client/index.d.ts +22 -2
- package/dist/kernel/client-connection/lib/types/client/index.js +3 -2
- package/dist/kernel/client-connection/lib/types/client/rpc.d.ts +4 -1
- package/dist/kernel/client-connection/lib/types/client/rpc.js +4 -2
- package/dist/kernel/client-connection/lib/types/http-bridge.d.ts +2 -2
- package/dist/kernel/client-connection/lib/types/http-bridge.js +3 -3
- package/dist/kernel/client-connection/lib/types/index.d.ts +3 -3
- package/dist/kernel/client-connection/lib/types/index.js +1 -1
- package/dist/kernel/client-connection/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-connection/lib/types/rpc-host.d.ts +1 -1
- package/dist/kernel/client-connection/lib/types/rpc-host.js +1 -1
- package/dist/kernel/client-connection/package.json +15 -9
- package/dist/kernel/client-hmr/lib/index.js +1 -1
- package/dist/kernel/client-hmr/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/client-hmr/lib/types/index.d.ts +2 -2
- package/dist/kernel/client-hmr/lib/types/index.js +1 -1
- package/dist/kernel/client-hmr/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-hmr/package.json +1 -1
- package/dist/kernel/client-locale/lib/client.js +49 -10
- package/dist/kernel/client-locale/lib/index.js +1 -1
- package/dist/kernel/client-locale/lib/types/client/index.d.ts +20 -4
- package/dist/kernel/client-locale/lib/types/client/index.js +48 -7
- package/dist/kernel/client-locale/lib/types/index.d.ts +1 -1
- package/dist/kernel/client-locale/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-locale/lib/types/locale-settings.d.ts +1 -1
- package/dist/kernel/client-locale/lib/types/locale-settings.js +1 -1
- package/dist/kernel/client-locale/package.json +6 -6
- package/dist/kernel/client-modules/lib/client.js +188 -123
- package/dist/kernel/client-modules/lib/index.js +178 -32
- package/dist/kernel/client-modules/lib/types/client/index.d.ts +20 -9
- package/dist/kernel/client-modules/lib/types/client/index.js +25 -8
- package/dist/kernel/client-modules/lib/types/client/manifest.d.ts +90 -41
- package/dist/kernel/client-modules/lib/types/client/manifest.js +45 -12
- package/dist/kernel/client-modules/lib/types/client/system.d.ts +15 -17
- package/dist/kernel/client-modules/lib/types/client/system.js +85 -56
- package/dist/kernel/client-modules/lib/types/index.d.ts +30 -14
- package/dist/kernel/client-modules/lib/types/index.js +129 -35
- package/dist/kernel/client-modules/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-modules/package.json +4 -2
- package/dist/kernel/client-runtime/lib/client.js +43 -8
- package/dist/kernel/client-runtime/lib/types/client/agents/scope.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/agents/scope.js +1 -1
- package/dist/kernel/client-runtime/lib/types/client/contract/session.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/contract/sessions.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/contract/store.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/contract/store.js +2 -2
- package/dist/kernel/client-runtime/lib/types/client/conversation/definition-registry.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/conversation/definition-registry.js +1 -1
- package/dist/kernel/client-runtime/lib/types/client/conversation/event-registry.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/conversation/view-registry.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/index.d.ts +3 -3
- package/dist/kernel/client-runtime/lib/types/client/index.js +3 -3
- package/dist/kernel/client-runtime/lib/types/client/sessions/context-provenance.d.ts +8 -0
- package/dist/kernel/client-runtime/lib/types/client/sessions/context-provenance.js +13 -0
- package/dist/kernel/client-runtime/lib/types/client/sessions/conversation.d.ts +11 -7
- package/dist/kernel/client-runtime/lib/types/client/sessions/projection-store.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/sessions/remotes.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/sessions/service.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/client/sessions/session.d.ts +2 -2
- package/dist/kernel/client-runtime/lib/types/client/sessions/session.js +4 -4
- package/dist/kernel/client-runtime/lib/types/client/slots.d.ts +3 -3
- package/dist/kernel/client-runtime/lib/types/client/slots.js +2 -2
- package/dist/kernel/client-runtime/lib/types/client/workspaces/path.d.ts +9 -0
- package/dist/kernel/client-runtime/lib/types/client/workspaces/path.js +27 -1
- package/dist/kernel/client-runtime/lib/types/client/workspaces/service.d.ts +1 -1
- package/dist/kernel/client-runtime/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-runtime/package.json +25 -14
- package/dist/kernel/client-ui-agent-preset/lib/client.js +58 -58
- package/dist/kernel/client-ui-agent-preset/lib/types/client/index.js +2 -2
- package/dist/kernel/client-ui-agent-preset/lib/types/client/settings-store.d.ts +7 -1
- package/dist/kernel/client-ui-agent-preset/lib/types/client/settings-store.js +21 -20
- package/dist/kernel/client-ui-agent-preset/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-agent-preset/package.json +2 -7
- package/dist/kernel/client-ui-attachment/lib/client.js +782 -0
- package/dist/kernel/client-ui-attachment/lib/index.js +5 -505
- package/dist/kernel/client-ui-attachment/lib/invariant.js +2 -3
- package/dist/kernel/client-ui-attachment/lib/types/client/ComposerAttachments.d.ts +4 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/ComposerAttachments.js +85 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/MessageImages.d.ts +4 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/MessageImages.js +8 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/index.d.ts +7 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/index.js +16 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/labels.d.ts +35 -0
- package/dist/kernel/client-ui-attachment/lib/types/client/labels.js +52 -0
- package/dist/kernel/client-ui-attachment/lib/types/index.d.ts +3 -15
- package/dist/kernel/client-ui-attachment/lib/types/index.js +3 -11
- package/dist/kernel/client-ui-attachment/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-attachment/lib/types/invariant.js +2 -3
- package/dist/kernel/client-ui-attachment/package.json +32 -9
- package/dist/kernel/client-ui-brand-official/lib/client.js +50 -0
- package/dist/kernel/client-ui-brand-official/lib/index.js +9 -0
- package/dist/kernel/{client-web-react → client-ui-brand-official}/lib/invariant.js +6 -8
- package/dist/kernel/client-ui-brand-official/lib/types/client/Brand.d.ts +16 -0
- package/dist/kernel/client-ui-brand-official/lib/types/client/Brand.js +18 -0
- package/dist/kernel/client-ui-brand-official/lib/types/client/index.d.ts +10 -0
- package/dist/kernel/client-ui-brand-official/lib/types/client/index.js +17 -0
- package/dist/kernel/client-ui-brand-official/lib/types/index.d.ts +7 -0
- package/dist/kernel/client-ui-brand-official/lib/types/index.js +7 -0
- package/dist/kernel/client-ui-brand-official/lib/types/invariant.d.ts +16 -0
- package/dist/kernel/{client-web-react → client-ui-brand-official}/lib/types/invariant.js +6 -8
- package/dist/kernel/client-ui-brand-official/package.json +72 -0
- package/dist/kernel/client-ui-commands/lib/client.js +46 -17
- package/dist/kernel/client-ui-commands/lib/types/client/locales.d.ts +2 -0
- package/dist/kernel/client-ui-commands/lib/types/client/locales.js +2 -0
- package/dist/kernel/client-ui-commands/lib/types/client/service.d.ts +13 -3
- package/dist/kernel/client-ui-commands/lib/types/client/service.js +40 -8
- package/dist/kernel/client-ui-commands/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-commands/package.json +2 -5
- package/dist/kernel/client-ui-conversation/lib/client.js +952 -534
- package/dist/kernel/client-ui-conversation/lib/index.js +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/apply.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/apply.js +6 -4
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantMarkdown.d.ts +4 -5
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantMarkdown.js +6 -6
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantNodeView.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantNodeView.js +2 -2
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/ChatNodeSeat.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/ChatNodeSeat.js +5 -3
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/ChatView.js +53 -10
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/ContextInjectionRow.js +4 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/MessageItem.d.ts +4 -5
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/MessageItem.js +46 -16
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/StatsLine.d.ts +5 -3
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/StatsLine.js +54 -5
- package/dist/kernel/client-ui-conversation/lib/types/client/chat/register-node-renderers.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/contract/slots.d.ts +90 -8
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/assistant.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/assistant.js +1 -0
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/chat-snapshot-builder.d.ts +2 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/chat-snapshot-builder.js +95 -6
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/command.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/compaction.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/fallback.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/inbox.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/message.d.ts +12 -4
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/register.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/retry.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/tool.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/turn-error.d.ts +7 -4
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/turn-error.js +10 -26
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/turn-max-tokens.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/turn-tail.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/image-labels.d.ts +1 -33
- package/dist/kernel/client-ui-conversation/lib/types/client/image-labels.js +5 -54
- package/dist/kernel/client-ui-conversation/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/input/contract.d.ts +17 -14
- package/dist/kernel/client-ui-conversation/lib/types/client/input/decorations.d.ts +13 -5
- package/dist/kernel/client-ui-conversation/lib/types/client/input/decorations.js +26 -10
- package/dist/kernel/client-ui-conversation/lib/types/client/input/facade.d.ts +34 -14
- package/dist/kernel/client-ui-conversation/lib/types/client/input/facade.js +116 -34
- package/dist/kernel/client-ui-conversation/lib/types/client/input/hub.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/input/hub.js +21 -19
- package/dist/kernel/client-ui-conversation/lib/types/client/input/machine.d.ts +35 -14
- package/dist/kernel/client-ui-conversation/lib/types/client/input/machine.js +71 -34
- package/dist/kernel/client-ui-conversation/lib/types/client/locales.d.ts +16 -0
- package/dist/kernel/client-ui-conversation/lib/types/client/locales.js +16 -0
- package/dist/kernel/client-ui-conversation/lib/types/client/queue/QueueDock.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/reference/ReferenceIcon.d.ts +16 -0
- package/dist/kernel/client-ui-conversation/lib/types/client/reference/ReferenceIcon.js +16 -0
- package/dist/kernel/client-ui-conversation/lib/types/client/service.d.ts +16 -3
- package/dist/kernel/client-ui-conversation/lib/types/client/service.js +27 -7
- package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/ConversationRoot.js +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/ConversationSession.js +18 -3
- package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/EmptyHero.d.ts +3 -1
- package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/EmptyHero.js +4 -2
- package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/InputBar.js +141 -126
- package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/TodoPanel.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/index.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/submission-settings.d.ts +1 -1
- package/dist/kernel/client-ui-conversation/lib/types/submission-settings.js +1 -1
- package/dist/kernel/client-ui-conversation/package.json +9 -8
- package/dist/kernel/client-ui-cordis/lib/client.js +47 -47
- package/dist/kernel/client-ui-cordis/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-cordis/package.json +2 -5
- package/dist/kernel/client-ui-deliverables/lib/client.js +5 -5
- package/dist/kernel/client-ui-deliverables/lib/types/index.d.ts +1 -1
- package/dist/kernel/client-ui-deliverables/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-deliverables/package.json +4 -6
- package/dist/kernel/client-ui-directory-picker-browse/lib/client.js +29 -29
- package/dist/kernel/client-ui-directory-picker-browse/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-directory-picker-browse/package.json +2 -5
- package/dist/kernel/client-ui-directory-picker-native/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-directory-picker-native/package.json +2 -5
- package/dist/kernel/client-ui-goal/lib/client.js +9 -9
- package/dist/kernel/client-ui-goal/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-goal/package.json +6 -5
- package/dist/kernel/client-ui-input-trigger/lib/client.js +83 -27
- package/dist/kernel/client-ui-input-trigger/lib/types/client/MenuView.js +13 -9
- package/dist/kernel/client-ui-input-trigger/lib/types/client/controller.d.ts +5 -3
- package/dist/kernel/client-ui-input-trigger/lib/types/client/controller.js +19 -7
- package/dist/kernel/client-ui-input-trigger/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/client-ui-input-trigger/lib/types/client/service.d.ts +2 -2
- package/dist/kernel/client-ui-input-trigger/lib/types/client/service.js +1 -1
- package/dist/kernel/client-ui-input-trigger/lib/types/core/contract.d.ts +7 -2
- package/dist/kernel/client-ui-input-trigger/lib/types/core/detect.d.ts +4 -4
- package/dist/kernel/client-ui-input-trigger/lib/types/core/detect.js +24 -6
- package/dist/kernel/client-ui-input-trigger/lib/types/core/menu.d.ts +15 -2
- package/dist/kernel/client-ui-input-trigger/lib/types/core/menu.js +13 -4
- package/dist/kernel/client-ui-input-trigger/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-input-trigger/lib/types/types.d.ts +52 -8
- package/dist/kernel/client-ui-input-trigger/package.json +4 -5
- package/dist/kernel/client-ui-jobs/lib/client.js +8 -8
- package/dist/kernel/client-ui-jobs/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-jobs/package.json +3 -7
- package/dist/kernel/client-ui-layout/lib/client.js +2 -2
- package/dist/kernel/client-ui-layout/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-layout/package.json +2 -4
- package/dist/kernel/client-ui-message-feedback/lib/client.js +174 -58
- package/dist/kernel/client-ui-message-feedback/lib/types/client/MessageFeedbackActions.d.ts +9 -3
- package/dist/kernel/client-ui-message-feedback/lib/types/client/MessageFeedbackActions.js +164 -25
- package/dist/kernel/client-ui-message-feedback/lib/types/client/locales.d.ts +2 -0
- package/dist/kernel/client-ui-message-feedback/lib/types/client/locales.js +2 -0
- package/dist/kernel/client-ui-message-feedback/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-message-feedback/package.json +3 -5
- package/dist/kernel/client-ui-model-selection/lib/client.js +19 -19
- package/dist/kernel/client-ui-model-selection/lib/types/client/service.d.ts +2 -2
- package/dist/kernel/client-ui-model-selection/lib/types/client/service.js +1 -1
- package/dist/kernel/client-ui-model-selection/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-model-selection/package.json +7 -9
- package/dist/kernel/client-ui-permission-presets/lib/client.js +98 -84
- package/dist/kernel/client-ui-permission-presets/lib/types/client/index.js +6 -19
- package/dist/kernel/client-ui-permission-presets/lib/types/client/settings-store.d.ts +27 -18
- package/dist/kernel/client-ui-permission-presets/lib/types/client/settings-store.js +95 -68
- package/dist/kernel/client-ui-permission-presets/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-permission-presets/package.json +2 -8
- package/dist/kernel/client-ui-plan/lib/client.js +3 -3
- package/dist/kernel/client-ui-plan/lib/types/client/index.js +1 -1
- package/dist/kernel/client-ui-plan/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-plan/package.json +2 -6
- package/dist/kernel/client-ui-primitives/lib/Button.module.css +79 -0
- package/dist/kernel/client-ui-primitives/lib/ConnectionBanner.module.css +13 -0
- package/dist/kernel/client-ui-primitives/lib/DiffBlock.module.css +107 -0
- package/dist/kernel/client-ui-primitives/lib/DisclosureRow.module.css +69 -0
- package/dist/kernel/client-ui-primitives/lib/HoverCard.module.css +54 -0
- package/dist/kernel/client-ui-primitives/lib/Input.module.css +38 -0
- package/dist/kernel/client-ui-primitives/lib/JsonTree.module.css +222 -0
- package/dist/kernel/client-ui-primitives/lib/Menu.module.css +242 -0
- package/dist/kernel/client-ui-primitives/lib/Modal.module.css +103 -0
- package/dist/kernel/client-ui-primitives/lib/OnboardingSurface.module.css +29 -0
- package/dist/kernel/client-ui-primitives/lib/Pill.module.css +27 -0
- package/dist/kernel/client-ui-primitives/lib/ReadBlock.module.css +117 -0
- package/dist/kernel/client-ui-primitives/lib/RiskConfirmation.module.css +73 -0
- package/dist/kernel/client-ui-primitives/lib/SearchBlock.module.css +120 -0
- package/dist/kernel/client-ui-primitives/lib/StateDot.module.css +65 -0
- package/dist/kernel/client-ui-primitives/lib/TerminalBlock.module.css +211 -0
- package/dist/kernel/client-ui-primitives/lib/Toast.module.css +70 -0
- package/dist/kernel/client-ui-primitives/lib/Tooltip.module.css +49 -0
- package/dist/kernel/client-ui-primitives/lib/WebBlock.module.css +130 -0
- package/dist/kernel/client-ui-primitives/lib/index.js +291 -261
- package/dist/kernel/client-ui-primitives/lib/invariant.js +2 -0
- package/dist/kernel/client-ui-primitives/lib/markdown/CodeBlock.module.css +96 -0
- package/dist/kernel/client-ui-primitives/lib/markdown/JsonBlock.module.css +32 -0
- package/dist/kernel/client-ui-primitives/lib/markdown/MarkdownText.module.css +304 -0
- package/dist/kernel/client-ui-primitives/lib/markdown/MessageText.module.css +9 -0
- package/dist/kernel/client-ui-primitives/lib/types/BrandWordmark.d.ts +7 -1
- package/dist/kernel/client-ui-primitives/lib/types/BrandWordmark.js +4 -2
- package/dist/kernel/client-ui-primitives/lib/types/index.d.ts +4 -1
- package/dist/kernel/client-ui-primitives/lib/types/index.js +2 -1
- package/dist/kernel/client-ui-primitives/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-primitives/lib/types/markdown/render.d.ts +2 -0
- package/dist/kernel/client-ui-primitives/lib/types/markdown/render.js +10 -2
- package/dist/kernel/client-ui-primitives/lib/types/useAnchoredPosition.d.ts +32 -0
- package/dist/kernel/client-ui-primitives/lib/types/useAnchoredPosition.js +69 -0
- package/dist/kernel/client-ui-primitives/package.json +2 -1
- package/dist/kernel/client-ui-reference/lib/client.js +149 -0
- package/dist/kernel/client-ui-reference/lib/index.js +11 -0
- package/dist/kernel/{client-schema-form → client-ui-reference}/lib/invariant.js +7 -8
- package/dist/kernel/client-ui-reference/lib/types/client/index.d.ts +9 -0
- package/dist/kernel/client-ui-reference/lib/types/client/index.js +106 -0
- package/dist/kernel/client-ui-reference/lib/types/client/locales.d.ts +30 -0
- package/dist/kernel/client-ui-reference/lib/types/client/locales.js +22 -0
- package/dist/kernel/client-ui-reference/lib/types/index.d.ts +9 -0
- package/dist/kernel/client-ui-reference/lib/types/index.js +9 -0
- package/dist/kernel/{client-schema-form → client-ui-reference}/lib/types/invariant.d.ts +4 -4
- package/dist/kernel/{client-schema-form → client-ui-reference}/lib/types/invariant.js +7 -8
- package/dist/kernel/client-ui-reference/package.json +77 -0
- package/dist/kernel/client-ui-renderer/lib/client.js +989 -0
- package/dist/kernel/client-ui-renderer/lib/index.js +6 -0
- package/dist/kernel/client-ui-renderer/lib/invariant.js +23 -0
- package/dist/kernel/{client-web/lib/types → client-ui-renderer/lib/types/client}/DocumentTitle.d.ts +4 -4
- package/dist/kernel/client-ui-renderer/lib/types/client/DocumentTitle.js +17 -0
- package/dist/kernel/client-ui-renderer/lib/types/client/app.d.ts +18 -0
- package/dist/kernel/{client-web/lib/types → client-ui-renderer/lib/types/client}/app.js +5 -5
- package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/bind.d.ts +1 -1
- package/dist/kernel/client-ui-renderer/lib/types/client/index.d.ts +29 -0
- package/dist/kernel/client-ui-renderer/lib/types/client/index.js +51 -0
- package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/scoped-slots.d.ts +1 -1
- package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/scoped-slots.js +1 -1
- package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/session-provider.d.ts +1 -1
- package/dist/kernel/client-ui-renderer/lib/types/index.d.ts +4 -0
- package/dist/kernel/client-ui-renderer/lib/types/index.js +4 -0
- package/dist/kernel/{client-web-react → client-ui-renderer}/lib/types/invariant.d.ts +4 -4
- package/dist/kernel/client-ui-renderer/lib/types/invariant.js +22 -0
- package/dist/kernel/client-ui-renderer/package.json +71 -0
- package/dist/kernel/client-ui-settings/lib/client.js +1177 -67
- package/dist/kernel/client-ui-settings/lib/types/client/index.d.ts +20 -12
- package/dist/kernel/client-ui-settings/lib/types/client/index.js +25 -6
- package/dist/kernel/client-ui-settings/lib/types/client/schema.d.ts +72 -0
- package/dist/kernel/client-ui-settings/lib/types/client/schema.js +152 -0
- package/dist/kernel/client-ui-settings/lib/types/client/settings-mirror.d.ts +118 -0
- package/dist/kernel/client-ui-settings/lib/types/client/settings-mirror.js +160 -0
- package/dist/kernel/client-ui-settings/lib/types/client/settings-scope.d.ts +53 -26
- package/dist/kernel/client-ui-settings/lib/types/client/settings-scope.js +89 -72
- package/dist/kernel/client-ui-settings/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-settings/package.json +7 -7
- package/dist/kernel/client-ui-settings-general/lib/client.js +58 -62
- package/dist/kernel/client-ui-settings-general/lib/index.js +1 -1
- package/dist/kernel/client-ui-settings-general/lib/types/client/SettingsDocumentAction.d.ts +7 -6
- package/dist/kernel/client-ui-settings-general/lib/types/client/index.js +10 -11
- package/dist/kernel/client-ui-settings-general/lib/types/client/settings-document-store.d.ts +13 -11
- package/dist/kernel/client-ui-settings-general/lib/types/client/settings-document-store.js +37 -40
- package/dist/kernel/client-ui-settings-general/lib/types/index.d.ts +1 -1
- package/dist/kernel/client-ui-settings-general/lib/types/index.js +1 -1
- package/dist/kernel/client-ui-settings-general/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-settings-general/package.json +4 -8
- package/dist/kernel/client-ui-settings-models/lib/client.js +279 -209
- package/dist/kernel/client-ui-settings-models/lib/types/client/DeepSeekOnboardingDialog.d.ts +3 -0
- package/dist/kernel/client-ui-settings-models/lib/types/client/DeepSeekOnboardingDialog.js +2 -2
- package/dist/kernel/client-ui-settings-models/lib/types/client/ModelListEditor.js +11 -1
- package/dist/kernel/client-ui-settings-models/lib/types/client/ModelsSection.d.ts +10 -5
- package/dist/kernel/client-ui-settings-models/lib/types/client/ModelsSection.js +9 -6
- package/dist/kernel/client-ui-settings-models/lib/types/client/ProviderEditor.d.ts +3 -0
- package/dist/kernel/client-ui-settings-models/lib/types/client/ProviderEditor.js +30 -29
- package/dist/kernel/client-ui-settings-models/lib/types/client/index.js +27 -22
- package/dist/kernel/client-ui-settings-models/lib/types/client/locales.d.ts +2 -0
- package/dist/kernel/client-ui-settings-models/lib/types/client/locales.js +4 -0
- package/dist/kernel/client-ui-settings-models/lib/types/client/schema-operations.d.ts +10 -0
- package/dist/kernel/client-ui-settings-models/lib/types/client/schema-operations.js +17 -0
- package/dist/kernel/client-ui-settings-models/lib/types/client/store.d.ts +15 -7
- package/dist/kernel/client-ui-settings-models/lib/types/client/store.js +30 -21
- package/dist/kernel/client-ui-settings-models/lib/types/client/welcome-store.d.ts +35 -18
- package/dist/kernel/client-ui-settings-models/lib/types/client/welcome-store.js +89 -82
- package/dist/kernel/client-ui-settings-models/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-settings-models/package.json +3 -8
- package/dist/kernel/client-ui-settings-plugin-inventory/lib/client.js +11 -11
- package/dist/kernel/client-ui-settings-plugin-inventory/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-settings-plugin-inventory/package.json +2 -5
- package/dist/kernel/client-ui-settings-plugins/lib/client.js +42 -65
- package/dist/kernel/client-ui-settings-plugins/lib/types/client/index.js +5 -8
- package/dist/kernel/client-ui-settings-plugins/lib/types/client/tab-store.d.ts +8 -17
- package/dist/kernel/client-ui-settings-plugins/lib/types/client/tab-store.js +22 -44
- package/dist/kernel/client-ui-settings-plugins/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-settings-plugins/package.json +2 -7
- package/dist/kernel/client-ui-sidebar/lib/client.js +50 -20
- package/dist/kernel/client-ui-sidebar/lib/types/client/SidebarRoot.js +7 -3
- package/dist/kernel/client-ui-sidebar/lib/types/client/contract/slots.d.ts +30 -1
- package/dist/kernel/client-ui-sidebar/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/client-ui-sidebar/lib/types/client/index.js +2 -0
- package/dist/kernel/client-ui-sidebar/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-sidebar/package.json +2 -4
- package/dist/kernel/client-ui-skill/lib/client.js +12 -12
- package/dist/kernel/client-ui-skill/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-skill/package.json +2 -5
- package/dist/kernel/client-ui-slots/lib/index.js +2 -0
- package/dist/kernel/client-ui-slots/lib/invariant.js +2 -0
- package/dist/kernel/client-ui-slots/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-slots/lib/types/renderer.d.ts +1 -1
- package/dist/kernel/client-ui-slots/lib/types/store.d.ts +1 -1
- package/dist/kernel/client-ui-slots/package.json +1 -1
- package/dist/kernel/client-ui-subagent/lib/client.js +289 -157
- package/dist/kernel/client-ui-subagent/lib/types/client/SubagentHeaderLineage.d.ts +18 -0
- package/dist/kernel/client-ui-subagent/lib/types/client/{SubagentCatalogAction.js → SubagentHeaderLineage.js} +153 -25
- package/dist/kernel/client-ui-subagent/lib/types/client/index.d.ts +4 -16
- package/dist/kernel/client-ui-subagent/lib/types/client/index.js +7 -45
- package/dist/kernel/client-ui-subagent/lib/types/client/locales.d.ts +1 -0
- package/dist/kernel/client-ui-subagent/lib/types/client/locales.js +2 -0
- package/dist/kernel/client-ui-subagent/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-subagent/package.json +6 -8
- package/dist/kernel/client-ui-theme/lib/client.js +47 -4
- package/dist/kernel/client-ui-theme/lib/index.js +23 -24
- package/dist/kernel/client-ui-theme/lib/types/boot-theme.d.ts +9 -10
- package/dist/kernel/client-ui-theme/lib/types/boot-theme.js +12 -19
- package/dist/kernel/client-ui-theme/lib/types/client/index.d.ts +2 -2
- package/dist/kernel/client-ui-theme/lib/types/client/index.js +3 -1
- package/dist/kernel/client-ui-theme/lib/types/client/styles.d.ts +7 -0
- package/dist/kernel/client-ui-theme/lib/types/client/styles.js +32 -0
- package/dist/kernel/client-ui-theme/lib/types/index.d.ts +5 -4
- package/dist/kernel/client-ui-theme/lib/types/index.js +7 -6
- package/dist/kernel/client-ui-theme/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-theme/lib/types/theme-settings.d.ts +1 -1
- package/dist/kernel/client-ui-theme/lib/types/theme-settings.js +1 -1
- package/dist/kernel/client-ui-theme/package.json +4 -6
- package/dist/kernel/client-ui-tool/lib/client.js +100 -60
- package/dist/kernel/client-ui-tool/lib/types/client/apply.d.ts +1 -2
- package/dist/kernel/client-ui-tool/lib/types/client/apply.js +6 -2
- package/dist/kernel/client-ui-tool/lib/types/client/contract/slots.d.ts +13 -3
- package/dist/kernel/client-ui-tool/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolCallTree.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolCallTree.js +8 -6
- package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolDetails.d.ts +2 -9
- package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolDetails.js +4 -3
- package/dist/kernel/client-ui-tool/lib/types/client/tool/models/read-card-model.d.ts +4 -18
- package/dist/kernel/client-ui-tool/lib/types/client/tool/models/read-card-model.js +21 -4
- package/dist/kernel/client-ui-tool/lib/types/client/tool/models/tool-call-model.d.ts +2 -9
- package/dist/kernel/client-ui-tool/lib/types/client/tool/models/tool-call-model.js +22 -2
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/GenericToolCard.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/GenericToolCard.js +3 -3
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/ask-question-row.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/bash-sample.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/file-mutation-row.d.ts +2 -2
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/file-mutation-row.js +2 -2
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/read-row.d.ts +2 -2
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/read-row.js +3 -3
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/search-row.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/todo-row.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/web-row.d.ts +1 -1
- package/dist/kernel/client-ui-tool/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-tool/package.json +4 -6
- package/dist/kernel/client-ui-trajectory/lib/client.js +144 -143
- package/dist/kernel/client-ui-trajectory/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-assistant-definition.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-assistant-definition.js +2 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-compaction-definition.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-message-definitions.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-request-header-definition.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-snapshot-builder.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-tool-definition.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-trajectory/package.json +2 -4
- package/dist/kernel/client-ui-user-questions/lib/client.js +72 -35
- package/dist/kernel/client-ui-user-questions/lib/types/client/QuestionComposer.js +24 -6
- package/dist/kernel/client-ui-user-questions/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-user-questions/package.json +12 -10
- package/dist/kernel/client-ui-workflow-run/lib/client.js +259 -84
- package/dist/kernel/client-ui-workflow-run/lib/types/client/WorkflowRunPanel.js +162 -23
- package/dist/kernel/client-ui-workflow-run/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-workflow-run/package.json +3 -7
- package/dist/kernel/client-ui-workspace/lib/client.js +95 -59
- package/dist/kernel/client-ui-workspace/lib/types/client/WorkspaceBrowser.d.ts +1 -1
- package/dist/kernel/client-ui-workspace/lib/types/client/WorkspaceBrowser.js +38 -6
- package/dist/kernel/client-ui-workspace/lib/types/client/contract/slots.d.ts +9 -7
- package/dist/kernel/client-ui-workspace/lib/types/client/index.js +4 -2
- package/dist/kernel/client-ui-workspace/lib/types/client/rows/Rows.d.ts +4 -1
- package/dist/kernel/client-ui-workspace/lib/types/client/rows/Rows.js +5 -3
- package/dist/kernel/client-ui-workspace/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-ui-workspace/package.json +6 -4
- package/dist/kernel/client-web/lib/base.css +41 -0
- package/dist/kernel/client-web/lib/boot-page.module.css +104 -0
- package/dist/kernel/client-web/lib/index.js +157 -311
- package/dist/kernel/client-web/lib/invariant.js +2 -0
- package/dist/kernel/client-web/lib/types/boot-page.d.ts +46 -0
- package/dist/kernel/client-web/lib/types/boot-page.js +93 -0
- package/dist/kernel/client-web/lib/types/boot.d.ts +20 -33
- package/dist/kernel/client-web/lib/types/boot.js +78 -151
- package/dist/kernel/client-web/lib/types/index.d.ts +5 -11
- package/dist/kernel/client-web/lib/types/index.js +4 -10
- package/dist/kernel/client-web/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/client-web/lib/types/loader-status.d.ts +4 -52
- package/dist/kernel/client-web/lib/types/loader-status.js +0 -35
- package/dist/kernel/client-web/lib/types/platform.d.ts +3 -1
- package/dist/kernel/client-web/lib/types/platform.js +4 -3
- package/dist/kernel/client-web/lib/types/seed.js +1 -7
- package/dist/kernel/client-web/package.json +8 -15
- package/dist/kernel/cmdline/lib/types/index.d.ts +1 -1
- package/dist/kernel/cmdline/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/cmdline/package.json +1 -1
- package/dist/kernel/code-runtime/lib/index.js +1 -1
- package/dist/kernel/code-runtime/lib/types/index.d.ts +1 -1
- package/dist/kernel/code-runtime/lib/types/index.js +1 -1
- package/dist/kernel/code-runtime/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/code-runtime/package.json +1 -1
- package/dist/kernel/code-runtime-python/lib/index.js +413 -0
- package/dist/kernel/code-runtime-python/lib/invariant.js +24 -0
- package/dist/kernel/code-runtime-python/lib/types/index.d.ts +12 -0
- package/dist/kernel/code-runtime-python/lib/types/index.js +11 -0
- package/dist/kernel/code-runtime-python/lib/types/invariant.d.ts +16 -0
- package/dist/kernel/code-runtime-python/lib/types/invariant.js +23 -0
- package/dist/kernel/code-runtime-python/lib/types/protocol.d.ts +329 -0
- package/dist/kernel/code-runtime-python/lib/types/protocol.js +496 -0
- package/dist/kernel/{client-schema-form → code-runtime-python}/package.json +11 -14
- package/dist/kernel/code-runtime-python/py/protocol.py +138 -0
- package/dist/kernel/code-runtime-worker-thread/lib/index.js +1 -1
- package/dist/kernel/code-runtime-worker-thread/lib/types/index.d.ts +2 -2
- package/dist/kernel/code-runtime-worker-thread/lib/types/index.js +1 -1
- package/dist/kernel/code-runtime-worker-thread/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/code-runtime-worker-thread/package.json +1 -1
- package/dist/kernel/command-compact/lib/types/index.d.ts +1 -1
- package/dist/kernel/command-compact/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/command-compact/package.json +1 -1
- package/dist/kernel/command-feedback/lib/types/index.d.ts +1 -1
- package/dist/kernel/command-feedback/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/command-feedback/package.json +1 -1
- package/dist/kernel/command-goal/lib/index.js +40 -6
- package/dist/kernel/command-goal/lib/types/index.d.ts +1 -1
- package/dist/kernel/command-goal/lib/types/index.js +35 -6
- package/dist/kernel/command-goal/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/command-goal/package.json +2 -1
- package/dist/kernel/commands/lib/index.js +78 -21
- package/dist/kernel/commands/lib/typert.host.js +53 -9
- package/dist/kernel/commands/lib/typert.remote-client.d.ts +4 -3
- package/dist/kernel/commands/lib/typert.remote-client.js +18 -2
- package/dist/kernel/commands/lib/types/index.d.ts +21 -2
- package/dist/kernel/commands/lib/types/index.js +77 -20
- package/dist/kernel/commands/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/commands/lib/types/types.d.ts +8 -0
- package/dist/kernel/commands/package.json +5 -1
- package/dist/kernel/compaction/lib/index.js +1 -1
- package/dist/kernel/compaction/lib/types/index.d.ts +1 -1
- package/dist/kernel/compaction/lib/types/index.js +1 -1
- package/dist/kernel/compaction/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/compaction/package.json +1 -1
- package/dist/kernel/compaction-basic/lib/index.js +1 -1
- package/dist/kernel/compaction-basic/lib/types/index.d.ts +2 -2
- package/dist/kernel/compaction-basic/lib/types/index.js +1 -1
- package/dist/kernel/compaction-basic/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/compaction-basic/lib/types/summarizer.d.ts +1 -1
- package/dist/kernel/compaction-basic/package.json +1 -1
- package/dist/kernel/compaction-tool-result-pruner/lib/index.js +2 -2
- package/dist/kernel/compaction-tool-result-pruner/lib/types/index.d.ts +2 -2
- package/dist/kernel/compaction-tool-result-pruner/lib/types/index.js +2 -2
- package/dist/kernel/compaction-tool-result-pruner/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/compaction-tool-result-pruner/package.json +1 -1
- package/dist/kernel/cordis/bin.js +16 -0
- package/dist/kernel/cordis/lib/index.js +1828 -0
- package/dist/kernel/cordis/lib/types/context.d.ts +101 -0
- package/dist/kernel/cordis/lib/types/context.js +99 -0
- package/dist/kernel/cordis/lib/types/events.d.ts +240 -0
- package/dist/kernel/cordis/lib/types/events.js +199 -0
- package/dist/kernel/cordis/lib/types/fiber.d.ts +202 -0
- package/dist/kernel/cordis/lib/types/fiber.js +660 -0
- package/dist/kernel/cordis/lib/types/index.d.ts +15 -0
- package/dist/kernel/cordis/lib/types/index.js +15 -0
- package/dist/kernel/cordis/lib/types/logger.d.ts +105 -0
- package/dist/kernel/cordis/lib/types/logger.js +185 -0
- package/dist/kernel/cordis/lib/types/reflect.d.ts +186 -0
- package/dist/kernel/cordis/lib/types/reflect.js +310 -0
- package/dist/kernel/cordis/lib/types/registry.d.ts +201 -0
- package/dist/kernel/cordis/lib/types/registry.js +218 -0
- package/dist/kernel/cordis/lib/types/service.d.ts +55 -0
- package/dist/kernel/cordis/lib/types/service.js +113 -0
- package/dist/kernel/cordis/lib/types/utils.d.ts +62 -0
- package/dist/kernel/cordis/lib/types/utils.js +271 -0
- package/dist/kernel/cordis/package.json +51 -0
- package/dist/kernel/cordis-client-runner/lib/client.js +171 -37
- package/dist/kernel/cordis-client-runner/lib/types/client/api-catalog.js +3 -3
- package/dist/kernel/cordis-client-runner/lib/types/client/guard.d.ts +1 -1
- package/dist/kernel/cordis-client-runner/lib/types/client/guard.js +1 -1
- package/dist/kernel/cordis-client-runner/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/cordis-client-runner/lib/types/client/inspect-registry.d.ts +1 -1
- package/dist/kernel/cordis-client-runner/lib/types/client/providers.d.ts +1 -1
- package/dist/kernel/cordis-client-runner/lib/types/client/runtime.d.ts +2 -2
- package/dist/kernel/cordis-client-runner/lib/types/client/slot-catalog.js +208 -30
- package/dist/kernel/cordis-client-runner/lib/types/client/timer.d.ts +2 -2
- package/dist/kernel/cordis-client-runner/lib/types/client/timer.js +1 -1
- package/dist/kernel/cordis-client-runner/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/cordis-client-runner/package.json +2 -5
- package/dist/kernel/cordis-host-runner/lib/index.js +30 -7
- package/dist/kernel/cordis-host-runner/lib/typert.host.js +54 -6
- package/dist/kernel/cordis-host-runner/lib/types/guard.d.ts +2 -2
- package/dist/kernel/cordis-host-runner/lib/types/guard.js +1 -1
- package/dist/kernel/cordis-host-runner/lib/types/index.d.ts +3 -3
- package/dist/kernel/cordis-host-runner/lib/types/index.js +1 -1
- package/dist/kernel/cordis-host-runner/lib/types/inspect-registry.d.ts +2 -2
- package/dist/kernel/cordis-host-runner/lib/types/inspect-registry.js +1 -1
- package/dist/kernel/cordis-host-runner/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/cordis-host-runner/lib/types/lifecycle.d.ts +1 -1
- package/dist/kernel/cordis-host-runner/lib/types/registry.d.ts +1 -1
- package/dist/kernel/cordis-host-runner/lib/types/sandbox.d.ts +9 -3
- package/dist/kernel/cordis-host-runner/lib/types/sandbox.js +34 -6
- package/dist/kernel/cordis-host-runner/package.json +1 -1
- package/dist/kernel/cordis-plugin-group/lib/index.js +5 -0
- package/dist/kernel/cordis-plugin-group/lib/types/index.d.ts +3 -0
- package/dist/kernel/cordis-plugin-group/lib/types/index.js +3 -0
- package/dist/kernel/cordis-plugin-group/package.json +36 -0
- package/dist/kernel/cordis-plugin-hmr/lib/index.js +452 -0
- package/dist/kernel/cordis-plugin-hmr/lib/types/error.d.ts +4 -0
- package/dist/kernel/cordis-plugin-hmr/lib/types/error.js +33 -0
- package/dist/kernel/cordis-plugin-hmr/lib/types/index.d.ts +87 -0
- package/dist/kernel/cordis-plugin-hmr/lib/types/index.js +525 -0
- package/dist/kernel/cordis-plugin-hmr/package.json +59 -0
- package/dist/kernel/cordis-plugin-include/lib/index.js +284 -0
- package/dist/kernel/cordis-plugin-include/lib/types/index.d.ts +99 -0
- package/dist/kernel/cordis-plugin-include/lib/types/index.js +331 -0
- package/dist/kernel/cordis-plugin-include/package.json +40 -0
- package/dist/kernel/cordis-plugin-loader/lib/index.js +744 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/entry.d.ts +56 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/entry.js +283 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/group.d.ts +27 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/group.js +139 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/isolate.d.ts +35 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/isolate.js +151 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/tree.d.ts +38 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/tree.js +169 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/utils.d.ts +11 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/config/utils.js +28 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/index.d.ts +73 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/index.js +154 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/internal.d.ts +97 -0
- package/dist/kernel/cordis-plugin-loader/lib/types/internal.js +36 -0
- package/dist/kernel/cordis-plugin-loader/package.json +44 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/browser.js +80 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/index.js +95 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/types/browser.d.ts +10 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/types/browser.js +14 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/types/index.d.ts +15 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/types/index.js +23 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/types/shared.d.ts +45 -0
- package/dist/kernel/cordis-plugin-logger-console/lib/types/shared.js +73 -0
- package/dist/kernel/cordis-plugin-logger-console/package.json +42 -0
- package/dist/kernel/cordis-plugin-timer/lib/index.js +152 -0
- package/dist/kernel/cordis-plugin-timer/lib/types/index.d.ts +30 -0
- package/dist/kernel/cordis-plugin-timer/lib/types/index.js +134 -0
- package/dist/kernel/cordis-plugin-timer/package.json +38 -0
- package/dist/kernel/cosmokit/lib/index.js +325 -0
- package/dist/kernel/cosmokit/lib/types/array.d.ts +15 -0
- package/dist/kernel/cosmokit/lib/types/array.js +37 -0
- package/dist/kernel/cosmokit/lib/types/index.d.ts +11 -0
- package/dist/kernel/cosmokit/lib/types/index.js +11 -0
- package/dist/kernel/cosmokit/lib/types/misc.d.ts +41 -0
- package/dist/kernel/cosmokit/lib/types/misc.js +50 -0
- package/dist/kernel/cosmokit/lib/types/string.d.ts +89 -0
- package/dist/kernel/cosmokit/lib/types/string.js +79 -0
- package/dist/kernel/cosmokit/lib/types/time.d.ts +19 -0
- package/dist/kernel/cosmokit/lib/types/time.js +101 -0
- package/dist/kernel/cosmokit/lib/types/types.d.ts +34 -0
- package/dist/kernel/cosmokit/lib/types/types.js +141 -0
- package/dist/kernel/cosmokit/package.json +32 -0
- package/dist/kernel/credentials/lib/index.js +105 -14
- package/dist/kernel/credentials/lib/invariant.js +3 -3
- package/dist/kernel/credentials/lib/types/index.d.ts +137 -8
- package/dist/kernel/credentials/lib/types/index.js +115 -16
- package/dist/kernel/credentials/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/credentials/lib/types/invariant.js +3 -3
- package/dist/kernel/credentials/lib/types/types.d.ts +58 -5
- package/dist/kernel/credentials/lib/types/types.js +4 -4
- package/dist/kernel/credentials/package.json +1 -1
- package/dist/kernel/credentials-local/lib/index.js +389 -31
- package/dist/kernel/credentials-local/lib/invariant.js +1 -1
- package/dist/kernel/credentials-local/lib/types/index.d.ts +59 -14
- package/dist/kernel/credentials-local/lib/types/index.js +447 -32
- package/dist/kernel/credentials-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/credentials-local/lib/types/invariant.js +1 -1
- package/dist/kernel/credentials-local/package.json +1 -1
- package/dist/kernel/e2b/lib/index.js +2 -2
- package/dist/kernel/e2b/lib/types/index.d.ts +2 -2
- package/dist/kernel/e2b/lib/types/index.js +2 -2
- package/dist/kernel/e2b/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/e2b/package.json +1 -1
- package/dist/kernel/experimental-agent-team/lib/index.js +1728 -0
- package/dist/kernel/experimental-agent-team/lib/invariant.js +354 -0
- package/dist/kernel/experimental-agent-team/lib/types/activity.d.ts +23 -0
- package/dist/kernel/experimental-agent-team/lib/types/activity.js +85 -0
- package/dist/kernel/experimental-agent-team/lib/types/error.d.ts +13 -0
- package/dist/kernel/experimental-agent-team/lib/types/error.js +23 -0
- package/dist/kernel/experimental-agent-team/lib/types/fold.d.ts +44 -0
- package/dist/kernel/experimental-agent-team/lib/types/fold.js +243 -0
- package/dist/kernel/experimental-agent-team/lib/types/index.d.ts +115 -0
- package/dist/kernel/experimental-agent-team/lib/types/index.js +205 -0
- package/dist/kernel/experimental-agent-team/lib/types/invariant.d.ts +9 -0
- package/dist/kernel/experimental-agent-team/lib/types/invariant.js +29 -0
- package/dist/kernel/experimental-agent-team/lib/types/journal.d.ts +39 -0
- package/dist/kernel/experimental-agent-team/lib/types/journal.js +59 -0
- package/dist/kernel/experimental-agent-team/lib/types/lifecycle.d.ts +33 -0
- package/dist/kernel/experimental-agent-team/lib/types/lifecycle.js +85 -0
- package/dist/kernel/experimental-agent-team/lib/types/mailbox.d.ts +79 -0
- package/dist/kernel/experimental-agent-team/lib/types/mailbox.js +303 -0
- package/dist/kernel/experimental-agent-team/lib/types/roster.d.ts +113 -0
- package/dist/kernel/experimental-agent-team/lib/types/roster.js +445 -0
- package/dist/kernel/experimental-agent-team/lib/types/session-message.d.ts +11 -0
- package/dist/kernel/experimental-agent-team/lib/types/session-message.js +23 -0
- package/dist/kernel/experimental-agent-team/lib/types/task-board.d.ts +62 -0
- package/dist/kernel/experimental-agent-team/lib/types/task-board.js +275 -0
- package/dist/kernel/experimental-agent-team/lib/types/task-graph.d.ts +21 -0
- package/dist/kernel/experimental-agent-team/lib/types/task-graph.js +62 -0
- package/dist/kernel/experimental-agent-team/lib/types/types.d.ts +192 -0
- package/dist/kernel/experimental-agent-team/lib/types/types.js +26 -0
- package/dist/kernel/experimental-agent-team/lib/types/validation.d.ts +16 -0
- package/dist/kernel/experimental-agent-team/lib/types/validation.js +33 -0
- package/dist/kernel/experimental-agent-team/package.json +62 -0
- package/dist/kernel/experimental-tool-agent-team/lib/index.js +555 -0
- package/dist/kernel/experimental-tool-agent-team/lib/invariant.js +13 -0
- package/dist/kernel/experimental-tool-agent-team/lib/types/index.d.ts +19 -0
- package/dist/kernel/experimental-tool-agent-team/lib/types/index.js +379 -0
- package/dist/kernel/experimental-tool-agent-team/lib/types/invariant.d.ts +9 -0
- package/dist/kernel/experimental-tool-agent-team/lib/types/invariant.js +11 -0
- package/dist/kernel/experimental-tool-agent-team/package.json +61 -0
- package/dist/kernel/file-reference/lib/index.js +138 -0
- package/dist/kernel/file-reference/lib/invariant.js +23 -0
- package/dist/kernel/file-reference/lib/typert.host.d.ts +3 -0
- package/dist/kernel/file-reference/lib/typert.host.js +436 -0
- package/dist/kernel/file-reference/lib/typert.remote-client.d.ts +26 -0
- package/dist/kernel/file-reference/lib/typert.remote-client.js +59 -0
- package/dist/kernel/file-reference/lib/types/grammar.d.ts +33 -0
- package/dist/kernel/file-reference/lib/types/grammar.js +43 -0
- package/dist/kernel/file-reference/lib/types/index.d.ts +42 -0
- package/dist/kernel/file-reference/lib/types/index.js +75 -0
- package/dist/kernel/file-reference/lib/types/invariant.d.ts +16 -0
- package/dist/kernel/file-reference/lib/types/invariant.js +22 -0
- package/dist/kernel/file-reference/lib/types/types.d.ts +13 -0
- package/dist/kernel/file-reference/lib/types/types.js +7 -0
- package/dist/kernel/file-reference/package.json +70 -0
- package/dist/kernel/file-reference-local/lib/index.js +327 -0
- package/dist/kernel/file-reference-local/lib/invariant.js +23 -0
- package/dist/kernel/file-reference-local/lib/types/index.d.ts +35 -0
- package/dist/kernel/file-reference-local/lib/types/index.js +105 -0
- package/dist/kernel/file-reference-local/lib/types/invariant.d.ts +16 -0
- package/dist/kernel/file-reference-local/lib/types/invariant.js +22 -0
- package/dist/kernel/file-reference-local/lib/types/search.d.ts +52 -0
- package/dist/kernel/file-reference-local/lib/types/search.js +258 -0
- package/dist/kernel/file-reference-local/package.json +58 -0
- package/dist/kernel/fs/lib/index.js +1 -1
- package/dist/kernel/fs/lib/types/index.d.ts +1 -1
- package/dist/kernel/fs/lib/types/index.js +1 -1
- package/dist/kernel/fs/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/fs/package.json +1 -1
- package/dist/kernel/fs-e2b/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/fs-e2b/package.json +1 -1
- package/dist/kernel/fs-local/lib/index.js +1 -1
- package/dist/kernel/fs-local/lib/types/index.d.ts +2 -2
- package/dist/kernel/fs-local/lib/types/index.js +1 -1
- package/dist/kernel/fs-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/fs-local/package.json +1 -1
- package/dist/kernel/fs-observation-policy/lib/types/index.d.ts +1 -1
- package/dist/kernel/fs-observation-policy/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/fs-observation-policy/package.json +1 -1
- package/dist/kernel/fs-sandbox/lib/types/index.d.ts +1 -1
- package/dist/kernel/fs-sandbox/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/fs-sandbox/package.json +1 -1
- package/dist/kernel/goal/lib/index.js +6 -3
- package/dist/kernel/goal/lib/typert.host.js +27 -3
- package/dist/kernel/goal/lib/types/index.d.ts +2 -2
- package/dist/kernel/goal/lib/types/index.js +3 -3
- package/dist/kernel/goal/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/goal/lib/types/types.d.ts +3 -0
- package/dist/kernel/goal/package.json +1 -1
- package/dist/kernel/goal-round-driver/lib/types/index.d.ts +1 -1
- package/dist/kernel/goal-round-driver/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/goal-round-driver/package.json +1 -1
- package/dist/kernel/headless/lib/index.js +1 -1
- package/dist/kernel/headless/lib/types/index.d.ts +2 -2
- package/dist/kernel/headless/lib/types/index.js +1 -1
- package/dist/kernel/headless/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/headless/lib/types/startup.d.ts +1 -1
- package/dist/kernel/headless/package.json +1 -1
- package/dist/kernel/home-paths/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/home-paths/package.json +1 -1
- package/dist/kernel/hook-protocol/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/hook-protocol/package.json +1 -1
- package/dist/kernel/hooks-claude-code/lib/index.js +1 -1
- package/dist/kernel/hooks-claude-code/lib/types/index.d.ts +2 -2
- package/dist/kernel/hooks-claude-code/lib/types/index.js +1 -1
- package/dist/kernel/hooks-claude-code/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/hooks-claude-code/package.json +1 -1
- package/dist/kernel/hooks-codex/lib/index.js +1 -1
- package/dist/kernel/hooks-codex/lib/types/index.d.ts +2 -2
- package/dist/kernel/hooks-codex/lib/types/index.js +1 -1
- package/dist/kernel/hooks-codex/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/hooks-codex/package.json +1 -1
- package/dist/kernel/host-apiproxy/lib/index.js +27 -59
- package/dist/kernel/host-apiproxy/lib/types/api/host.d.ts +2 -0
- package/dist/kernel/host-apiproxy/lib/types/api/host.schema.d.ts +1 -0
- package/dist/kernel/host-apiproxy/lib/types/api/host.schema.js +1 -0
- package/dist/kernel/host-apiproxy/lib/types/api/sessions.d.ts +4 -0
- package/dist/kernel/host-apiproxy/lib/types/api/sessions.schema.js +1 -0
- package/dist/kernel/host-apiproxy/lib/types/api-proxy.d.ts +1 -1
- package/dist/kernel/host-apiproxy/lib/types/api-proxy.js +15 -53
- package/dist/kernel/host-apiproxy/lib/types/index.d.ts +2 -2
- package/dist/kernel/host-apiproxy/lib/types/index.js +2 -2
- package/dist/kernel/host-apiproxy/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-apiproxy/lib/types/session-export.d.ts +1 -1
- package/dist/kernel/host-apiproxy/package.json +1 -1
- package/dist/kernel/host-directory-picker/lib/index.js +1 -1
- package/dist/kernel/host-directory-picker/lib/types/index.d.ts +1 -1
- package/dist/kernel/host-directory-picker/lib/types/index.js +1 -1
- package/dist/kernel/host-directory-picker/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-directory-picker/package.json +1 -1
- package/dist/kernel/host-directory-picker-auto/lib/types/index.d.ts +1 -1
- package/dist/kernel/host-directory-picker-auto/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-directory-picker-auto/package.json +1 -1
- package/dist/kernel/host-directory-picker-browse/lib/index.js +1 -1
- package/dist/kernel/host-directory-picker-browse/lib/types/index.d.ts +2 -2
- package/dist/kernel/host-directory-picker-browse/lib/types/index.js +1 -1
- package/dist/kernel/host-directory-picker-browse/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-directory-picker-browse/package.json +1 -1
- package/dist/kernel/host-directory-picker-native/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-directory-picker-native/package.json +1 -1
- package/dist/kernel/host-frontend-static/lib/index.js +35 -27
- package/dist/kernel/host-frontend-static/lib/types/index.d.ts +12 -12
- package/dist/kernel/host-frontend-static/lib/types/index.js +39 -28
- package/dist/kernel/host-frontend-static/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-frontend-static/package.json +2 -2
- package/dist/kernel/host-plugin-inventory/lib/types/index.d.ts +1 -1
- package/dist/kernel/host-plugin-inventory/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-plugin-inventory/package.json +1 -1
- package/dist/kernel/host-webserver/lib/index.js +104 -8
- package/dist/kernel/host-webserver/lib/types/index.d.ts +35 -7
- package/dist/kernel/host-webserver/lib/types/index.js +30 -7
- package/dist/kernel/host-webserver/lib/types/injections.d.ts +56 -0
- package/dist/kernel/host-webserver/lib/types/injections.js +82 -0
- package/dist/kernel/host-webserver/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/host-webserver/package.json +1 -1
- package/dist/kernel/invariants/lib/index.js +2 -2
- package/dist/kernel/invariants/lib/types/index.d.ts +3 -3
- package/dist/kernel/invariants/lib/types/index.js +2 -2
- package/dist/kernel/invariants/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/invariants/package.json +1 -1
- package/dist/kernel/jobs/lib/index.js +1 -1
- package/dist/kernel/jobs/lib/types/index.d.ts +1 -1
- package/dist/kernel/jobs/lib/types/index.js +1 -1
- package/dist/kernel/jobs/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/jobs/package.json +1 -1
- package/dist/kernel/jobs-local/lib/index.js +1 -1
- package/dist/kernel/jobs-local/lib/types/index.d.ts +2 -2
- package/dist/kernel/jobs-local/lib/types/index.js +1 -1
- package/dist/kernel/jobs-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/jobs-local/package.json +1 -1
- package/dist/kernel/launch-environment/lib/types/index.d.ts +1 -1
- package/dist/kernel/launch-environment/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/launch-environment/package.json +1 -1
- package/dist/kernel/llm/lib/index.js +249 -27
- package/dist/kernel/llm/lib/types/assembler.d.ts +10 -1
- package/dist/kernel/llm/lib/types/assembler.js +20 -1
- package/dist/kernel/llm/lib/types/content.d.ts +59 -0
- package/dist/kernel/llm/lib/types/content.js +149 -0
- package/dist/kernel/llm/lib/types/index.d.ts +25 -2
- package/dist/kernel/llm/lib/types/index.js +62 -9
- package/dist/kernel/llm/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/llm/lib/types/retry-policy.d.ts +2 -2
- package/dist/kernel/llm/lib/types/retry-policy.js +7 -3
- package/dist/kernel/llm/package.json +1 -1
- package/dist/kernel/llm-deepseek/lib/index.js +1101 -71
- package/dist/kernel/llm-deepseek/lib/types/adapter.d.ts +69 -1
- package/dist/kernel/llm-deepseek/lib/types/adapter.js +296 -60
- package/dist/kernel/llm-deepseek/lib/types/file-id.d.ts +19 -0
- package/dist/kernel/llm-deepseek/lib/types/file-id.js +18 -0
- package/dist/kernel/llm-deepseek/lib/types/file-store.d.ts +83 -0
- package/dist/kernel/llm-deepseek/lib/types/file-store.js +261 -0
- package/dist/kernel/llm-deepseek/lib/types/files-api.d.ts +103 -0
- package/dist/kernel/llm-deepseek/lib/types/files-api.js +206 -0
- package/dist/kernel/llm-deepseek/lib/types/index.d.ts +33 -5
- package/dist/kernel/llm-deepseek/lib/types/index.js +140 -4
- package/dist/kernel/llm-deepseek/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/llm-deepseek/lib/types/serialize.d.ts +55 -6
- package/dist/kernel/llm-deepseek/lib/types/serialize.js +179 -23
- package/dist/kernel/llm-deepseek/lib/types/types.d.ts +28 -5
- package/dist/kernel/llm-deepseek/lib/types/upload-index.d.ts +68 -0
- package/dist/kernel/llm-deepseek/lib/types/upload-index.js +171 -0
- package/dist/kernel/llm-deepseek/package.json +9 -1
- package/dist/kernel/llm-pi-ai/lib/index.js +1758 -1171
- package/dist/kernel/llm-pi-ai/lib/types/adapter.d.ts +30 -5
- package/dist/kernel/llm-pi-ai/lib/types/adapter.js +43 -23
- package/dist/kernel/llm-pi-ai/lib/types/auth.d.ts +60 -0
- package/dist/kernel/llm-pi-ai/lib/types/auth.js +196 -0
- package/dist/kernel/llm-pi-ai/lib/types/catalog.d.ts +176 -38
- package/dist/kernel/llm-pi-ai/lib/types/catalog.js +245 -50
- package/dist/kernel/llm-pi-ai/lib/types/config.d.ts +38 -6
- package/dist/kernel/llm-pi-ai/lib/types/config.js +68 -3
- package/dist/kernel/llm-pi-ai/lib/types/context.d.ts +8 -3
- package/dist/kernel/llm-pi-ai/lib/types/context.js +60 -16
- package/dist/kernel/llm-pi-ai/lib/types/index.d.ts +2 -1
- package/dist/kernel/llm-pi-ai/lib/types/index.js +21 -19
- package/dist/kernel/llm-pi-ai/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/llm-pi-ai/lib/types/login.d.ts +21 -0
- package/dist/kernel/llm-pi-ai/lib/types/login.js +154 -0
- package/dist/kernel/llm-pi-ai/lib/types/stream.js +4 -0
- package/dist/kernel/llm-pi-ai/package.json +3 -1
- package/dist/kernel/llm-retry/lib/index.js +1 -1
- package/dist/kernel/llm-retry/lib/types/index.d.ts +2 -2
- package/dist/kernel/llm-retry/lib/types/index.js +1 -1
- package/dist/kernel/llm-retry/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/llm-retry/package.json +1 -1
- package/dist/kernel/lsp/lib/index.js +1 -1
- package/dist/kernel/lsp/lib/types/index.d.ts +1 -1
- package/dist/kernel/lsp/lib/types/index.js +1 -1
- package/dist/kernel/lsp/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/lsp/package.json +1 -1
- package/dist/kernel/lsp-stdio/lib/index.js +1 -1
- package/dist/kernel/lsp-stdio/lib/types/index.d.ts +2 -2
- package/dist/kernel/lsp-stdio/lib/types/index.js +1 -1
- package/dist/kernel/lsp-stdio/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/lsp-stdio/package.json +1 -1
- package/dist/kernel/manifest.json +21 -3
- package/dist/kernel/mcp-client/lib/index.js +1 -1
- package/dist/kernel/mcp-client/lib/types/connection.d.ts +1 -1
- package/dist/kernel/mcp-client/lib/types/index.d.ts +2 -2
- package/dist/kernel/mcp-client/lib/types/index.js +1 -1
- package/dist/kernel/mcp-client/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/mcp-client/lib/types/tools.d.ts +1 -1
- package/dist/kernel/mcp-client/package.json +1 -1
- package/dist/kernel/message-feedback/lib/index.js +2 -2
- package/dist/kernel/message-feedback/lib/types/index.d.ts +2 -2
- package/dist/kernel/message-feedback/lib/types/index.js +2 -2
- package/dist/kernel/message-feedback/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/message-feedback/package.json +1 -1
- package/dist/kernel/native-command/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/native-command/package.json +1 -1
- package/dist/kernel/node-addon-landlock-run/lib/index.d.ts +71 -0
- package/dist/kernel/node-addon-landlock-run/lib/index.js +101 -0
- package/dist/kernel/node-addon-landlock-run/package.json +41 -0
- package/dist/kernel/output-retention/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/output-retention/package.json +1 -1
- package/dist/kernel/permission-presets/lib/index.js +16 -4
- package/dist/kernel/permission-presets/lib/types/index.d.ts +7 -2
- package/dist/kernel/permission-presets/lib/types/index.js +13 -4
- package/dist/kernel/permission-presets/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/permission-presets/package.json +1 -1
- package/dist/kernel/persona/lib/index.js +1 -1
- package/dist/kernel/persona/lib/types/index.d.ts +2 -2
- package/dist/kernel/persona/lib/types/index.js +1 -1
- package/dist/kernel/persona/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/persona/package.json +1 -1
- package/dist/kernel/plan-mode/lib/index.js +50 -16
- package/dist/kernel/plan-mode/lib/types/index.d.ts +23 -1
- package/dist/kernel/plan-mode/lib/types/index.js +46 -20
- package/dist/kernel/plan-mode/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/plan-mode/lib/types/types.d.ts +5 -4
- package/dist/kernel/plan-mode/package.json +1 -1
- package/dist/kernel/pwsh-local/lib/index.js +1 -1
- package/dist/kernel/pwsh-local/lib/types/index.d.ts +2 -2
- package/dist/kernel/pwsh-local/lib/types/index.js +1 -1
- package/dist/kernel/pwsh-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/pwsh-local/package.json +1 -1
- package/dist/kernel/pwsh-sandbox/lib/types/index.d.ts +1 -1
- package/dist/kernel/pwsh-sandbox/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/pwsh-sandbox/package.json +1 -1
- package/dist/kernel/repeat-tool-reminder/lib/index.js +3 -3
- package/dist/kernel/repeat-tool-reminder/lib/types/index.d.ts +2 -2
- package/dist/kernel/repeat-tool-reminder/lib/types/index.js +1 -1
- package/dist/kernel/repeat-tool-reminder/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/repeat-tool-reminder/package.json +1 -1
- package/dist/kernel/sandbox/lib/index.js +1 -1
- package/dist/kernel/sandbox/lib/types/index.d.ts +1 -1
- package/dist/kernel/sandbox/lib/types/index.js +1 -1
- package/dist/kernel/sandbox/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sandbox/package.json +1 -1
- package/dist/kernel/sandbox-local/lib/index.js +10 -15
- package/dist/kernel/sandbox-local/lib/types/index.d.ts +3 -5
- package/dist/kernel/sandbox-local/lib/types/index.js +6 -9
- package/dist/kernel/sandbox-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sandbox-local/lib/types/profiles.js +2 -2
- package/dist/kernel/sandbox-local/package.json +1 -1
- package/dist/kernel/sandbox-policy/lib/index.js +2 -2
- package/dist/kernel/sandbox-policy/lib/types/index.d.ts +2 -2
- package/dist/kernel/sandbox-policy/lib/types/index.js +2 -2
- package/dist/kernel/sandbox-policy/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sandbox-policy/package.json +1 -1
- package/dist/kernel/sandbox-windows-acl/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sandbox-windows-acl/package.json +1 -1
- package/dist/kernel/schedule/lib/types/index.d.ts +1 -1
- package/dist/kernel/schedule/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/schedule/lib/types/persistence.d.ts +1 -1
- package/dist/kernel/schedule/lib/types/runtime.d.ts +1 -1
- package/dist/kernel/schedule/lib/types/tools.d.ts +1 -1
- package/dist/kernel/schedule/package.json +1 -1
- package/dist/kernel/schemastery/lib/index.cjs +596 -0
- package/dist/kernel/schemastery/lib/index.mjs +596 -0
- package/dist/kernel/schemastery/lib/types/index.d.ts +200 -0
- package/dist/kernel/schemastery/lib/types/index.js +714 -0
- package/dist/kernel/schemastery/package.json +39 -0
- package/dist/kernel/scope/lib/index.js +1 -1
- package/dist/kernel/scope/lib/types/index.d.ts +1 -1
- package/dist/kernel/scope/lib/types/index.js +1 -1
- package/dist/kernel/scope/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/scope/lib/types/store.d.ts +1 -1
- package/dist/kernel/scope/package.json +1 -1
- package/dist/kernel/sdk-client/lib/index.js +2 -2
- package/dist/kernel/sdk-client/lib/types/api.js +2 -2
- package/dist/kernel/sdk-client/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sdk-client/lib/types/types.d.ts +4 -4
- package/dist/kernel/sdk-client/package.json +1 -1
- package/dist/kernel/sdk-jsonrpc-server/lib/index.js +13 -6
- package/dist/kernel/sdk-jsonrpc-server/lib/types/index.d.ts +2 -2
- package/dist/kernel/sdk-jsonrpc-server/lib/types/index.js +8 -1
- package/dist/kernel/sdk-jsonrpc-server/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sdk-jsonrpc-server/lib/types/server.d.ts +3 -2
- package/dist/kernel/sdk-jsonrpc-server/lib/types/server.js +15 -6
- package/dist/kernel/sdk-jsonrpc-server/package.json +2 -1
- package/dist/kernel/sdk-protocol/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/sdk-protocol/package.json +1 -1
- package/dist/kernel/session/lib/index.js +5 -1
- package/dist/kernel/session/lib/types/index.d.ts +1 -1
- package/dist/kernel/session/lib/types/index.js +1 -1
- package/dist/kernel/session/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session/lib/types/known-event-types.js +4 -0
- package/dist/kernel/session/lib/types/types.d.ts +6 -1
- package/dist/kernel/session/package.json +1 -1
- package/dist/kernel/session-checkpoint-policy/lib/types/index.d.ts +1 -1
- package/dist/kernel/session-checkpoint-policy/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-checkpoint-policy/package.json +1 -1
- package/dist/kernel/session-log-export/lib/types/index.d.ts +1 -1
- package/dist/kernel/session-log-export/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-log-export/package.json +2 -5
- package/dist/kernel/session-persistence/lib/index.js +2 -2
- package/dist/kernel/session-persistence/lib/types/coordinator.d.ts +1 -1
- package/dist/kernel/session-persistence/lib/types/coordinator.js +2 -1
- package/dist/kernel/session-persistence/lib/types/index.d.ts +1 -1
- package/dist/kernel/session-persistence/lib/types/index.js +1 -1
- package/dist/kernel/session-persistence/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-persistence/package.json +1 -1
- package/dist/kernel/session-persistence-jsonl/lib/index.js +1 -1
- package/dist/kernel/session-persistence-jsonl/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-persistence-jsonl/lib/types/index.js +1 -1
- package/dist/kernel/session-persistence-jsonl/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-persistence-jsonl/package.json +1 -1
- package/dist/kernel/session-persistence-sqlite/lib/index.js +1106 -376
- package/dist/kernel/session-persistence-sqlite/lib/invariant.js +2 -2
- package/dist/kernel/session-persistence-sqlite/lib/types/codec.d.ts +72 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/codec.js +304 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/compression.d.ts +46 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/compression.js +234 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/index.d.ts +23 -81
- package/dist/kernel/session-persistence-sqlite/lib/types/index.js +28 -279
- package/dist/kernel/session-persistence-sqlite/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-persistence-sqlite/lib/types/invariant.js +2 -2
- package/dist/kernel/session-persistence-sqlite/lib/types/schema.d.ts +63 -85
- package/dist/kernel/session-persistence-sqlite/lib/types/schema.js +293 -159
- package/dist/kernel/session-persistence-sqlite/lib/types/sql.d.ts +15 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/sql.js +57 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/store.d.ts +66 -0
- package/dist/kernel/session-persistence-sqlite/lib/types/store.js +394 -0
- package/dist/kernel/session-persistence-sqlite/package.json +9 -3
- package/dist/kernel/session-persistence-sqlite/resources/sql/begin-immediate.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/begin.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/commit.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/delete-events-from.sql +2 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/foreign-keys-on.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/insert-event.sql +3 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/insert-persistence-state.sql +2 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-delete.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-persist.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-truncate.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-wal.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/mmap-off.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/rollback.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/schema.sql +30 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-application-id.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-events-from.sql +4 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-events.sql +4 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-mmap-size.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-packed-predecessors.sql +6 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-schema-objects.sql +4 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-session.sql +4 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-sessions.sql +3 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-store-id.sql +3 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-synchronous.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-tail-events.sql +5 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-trusted-schema.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-user-object-count.sql +3 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/select-user-version.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/set-application-id.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/set-user-version-17.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/synchronous-full.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/trusted-schema-off.sql +1 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/update-session-revision.sql +3 -0
- package/dist/kernel/session-persistence-sqlite/resources/sql/upsert-session.sql +13 -0
- package/dist/kernel/session-projection/lib/index.js +56 -31
- package/dist/kernel/session-projection/lib/types/index.d.ts +58 -35
- package/dist/kernel/session-projection/lib/types/index.js +62 -37
- package/dist/kernel/session-projection/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-projection/lib/types/types.d.ts +11 -4
- package/dist/kernel/session-projection/package.json +1 -1
- package/dist/kernel/session-projection-cache/lib/index.js +3 -3
- package/dist/kernel/session-projection-cache/lib/types/index.d.ts +3 -3
- package/dist/kernel/session-projection-cache/lib/types/index.js +6 -7
- package/dist/kernel/session-projection-cache/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-projection-cache/package.json +1 -1
- package/dist/kernel/session-query/lib/index.js +1 -1
- package/dist/kernel/session-query/lib/types/corpus.d.ts +1 -1
- package/dist/kernel/session-query/lib/types/index.d.ts +1 -1
- package/dist/kernel/session-query/lib/types/index.js +1 -1
- package/dist/kernel/session-query/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-query/package.json +1 -1
- package/dist/kernel/session-query-sqlite/lib/index.js +2 -2
- package/dist/kernel/session-query-sqlite/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-query-sqlite/lib/types/index.js +2 -2
- package/dist/kernel/session-query-sqlite/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-query-sqlite/package.json +1 -1
- package/dist/kernel/session-reference/lib/index.js +233 -111
- package/dist/kernel/session-reference/lib/typert.host.d.ts +3 -0
- package/dist/kernel/session-reference/lib/typert.host.js +458 -0
- package/dist/kernel/session-reference/lib/typert.remote-client.d.ts +26 -0
- package/dist/kernel/session-reference/lib/typert.remote-client.js +62 -0
- package/dist/kernel/session-reference/lib/types/index.d.ts +26 -6
- package/dist/kernel/session-reference/lib/types/index.js +231 -127
- package/dist/kernel/session-reference/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-reference/lib/types/types.d.ts +14 -3
- package/dist/kernel/session-reference/lib/types/types.js +6 -1
- package/dist/kernel/session-reference/package.json +23 -3
- package/dist/kernel/session-stats/lib/index.js +31 -12
- package/dist/kernel/session-stats/lib/types/index.d.ts +1 -1
- package/dist/kernel/session-stats/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-stats/lib/types/projection.d.ts +64 -2
- package/dist/kernel/session-stats/lib/types/projection.js +31 -12
- package/dist/kernel/session-stats/package.json +1 -1
- package/dist/kernel/session-telemetry/lib/index.js +1 -1
- package/dist/kernel/session-telemetry/lib/types/coordinator.d.ts +1 -1
- package/dist/kernel/session-telemetry/lib/types/index.d.ts +1 -1
- package/dist/kernel/session-telemetry/lib/types/index.js +1 -1
- package/dist/kernel/session-telemetry/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-telemetry/package.json +1 -1
- package/dist/kernel/session-telemetry-otel/lib/index.js +1 -1
- package/dist/kernel/session-telemetry-otel/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-telemetry-otel/lib/types/index.js +1 -1
- package/dist/kernel/session-telemetry-otel/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-telemetry-otel/package.json +1 -1
- package/dist/kernel/session-title/lib/index.js +8 -4
- package/dist/kernel/session-title/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-title/lib/types/index.js +5 -4
- package/dist/kernel/session-title/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-title/lib/types/types.d.ts +3 -0
- package/dist/kernel/session-title/package.json +1 -1
- package/dist/kernel/session-title-all-prompts-llm/lib/index.js +1 -1
- package/dist/kernel/session-title-all-prompts-llm/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-title-all-prompts-llm/lib/types/index.js +1 -1
- package/dist/kernel/session-title-all-prompts-llm/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-title-all-prompts-llm/package.json +1 -1
- package/dist/kernel/session-title-first-prompt-llm/lib/index.js +1 -1
- package/dist/kernel/session-title-first-prompt-llm/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-title-first-prompt-llm/lib/types/index.js +1 -1
- package/dist/kernel/session-title-first-prompt-llm/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-title-first-prompt-llm/package.json +1 -1
- package/dist/kernel/session-title-llm/lib/index.js +1 -1
- package/dist/kernel/session-title-llm/lib/types/index.d.ts +2 -2
- package/dist/kernel/session-title-llm/lib/types/index.js +1 -1
- package/dist/kernel/session-title-llm/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/session-title-llm/package.json +1 -1
- package/dist/kernel/settings/lib/index.js +1 -1
- package/dist/kernel/settings/lib/invariant.js +1 -1
- package/dist/kernel/settings/lib/types/index.d.ts +2 -2
- package/dist/kernel/settings/lib/types/index.js +1 -1
- package/dist/kernel/settings/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/settings/lib/types/redact.d.ts +1 -1
- package/dist/kernel/settings/package.json +1 -1
- package/dist/kernel/settings-file/lib/index.js +2 -2
- package/dist/kernel/settings-file/lib/types/index.d.ts +2 -2
- package/dist/kernel/settings-file/lib/types/index.js +2 -2
- package/dist/kernel/settings-file/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/settings-file/package.json +1 -1
- package/dist/kernel/shell/lib/index.js +1 -1
- package/dist/kernel/shell/lib/types/index.d.ts +1 -1
- package/dist/kernel/shell/lib/types/index.js +1 -1
- package/dist/kernel/shell/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/shell/package.json +1 -1
- package/dist/kernel/shell-env/lib/index.js +2 -2
- package/dist/kernel/shell-env/lib/types/index.d.ts +2 -2
- package/dist/kernel/shell-env/lib/types/index.js +2 -2
- package/dist/kernel/shell-env/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/shell-env/package.json +1 -1
- package/dist/kernel/skill/lib/index.js +2 -2
- package/dist/kernel/skill/lib/types/index.d.ts +2 -2
- package/dist/kernel/skill/lib/types/index.js +2 -2
- package/dist/kernel/skill/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/skill/package.json +1 -1
- package/dist/kernel/skill-badge/assets/nomix-badge.md +6 -6
- package/dist/kernel/skill-badge/assets/nomix-badge.png +0 -0
- package/dist/kernel/skill-badge/lib/index.js +1 -1
- package/dist/kernel/skill-badge/lib/types/index.d.ts +1 -1
- package/dist/kernel/skill-badge/lib/types/index.js +1 -1
- package/dist/kernel/skill-badge/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/skill-badge/package.json +1 -1
- package/dist/kernel/skill-filesystem/lib/index.js +1 -1
- package/dist/kernel/skill-filesystem/lib/types/index.d.ts +2 -2
- package/dist/kernel/skill-filesystem/lib/types/index.js +1 -1
- package/dist/kernel/skill-filesystem/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/skill-filesystem/package.json +1 -1
- package/dist/kernel/spill/lib/index.js +1 -1
- package/dist/kernel/spill/lib/types/index.d.ts +1 -1
- package/dist/kernel/spill/lib/types/index.js +1 -1
- package/dist/kernel/spill/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/spill/package.json +1 -1
- package/dist/kernel/spill-local/lib/index.js +1 -1
- package/dist/kernel/spill-local/lib/types/index.d.ts +2 -2
- package/dist/kernel/spill-local/lib/types/index.js +1 -1
- package/dist/kernel/spill-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/spill-local/package.json +1 -1
- package/dist/kernel/spill-policy/lib/index.js +1 -1
- package/dist/kernel/spill-policy/lib/types/index.d.ts +2 -2
- package/dist/kernel/spill-policy/lib/types/index.js +1 -1
- package/dist/kernel/spill-policy/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/spill-policy/package.json +1 -1
- package/dist/kernel/storage/lib/index.js +1 -1
- package/dist/kernel/storage/lib/types/index.d.ts +1 -1
- package/dist/kernel/storage/lib/types/index.js +1 -1
- package/dist/kernel/storage/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/storage/package.json +1 -1
- package/dist/kernel/storage-domain/lib/index.js +1 -1
- package/dist/kernel/storage-domain/lib/types/domain.d.ts +1 -1
- package/dist/kernel/storage-domain/lib/types/index.d.ts +2 -2
- package/dist/kernel/storage-domain/lib/types/index.js +1 -1
- package/dist/kernel/storage-domain/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/storage-domain/package.json +1 -1
- package/dist/kernel/storage-json/lib/index.js +1 -1
- package/dist/kernel/storage-json/lib/types/index.d.ts +2 -2
- package/dist/kernel/storage-json/lib/types/index.js +1 -1
- package/dist/kernel/storage-json/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/storage-json/package.json +1 -1
- package/dist/kernel/storage-sqlite/lib/index.js +1 -1
- package/dist/kernel/storage-sqlite/lib/types/index.d.ts +2 -2
- package/dist/kernel/storage-sqlite/lib/types/index.js +1 -1
- package/dist/kernel/storage-sqlite/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/storage-sqlite/package.json +1 -1
- package/dist/kernel/subagent/lib/index.js +124 -21
- package/dist/kernel/subagent/lib/types/activation-setup-registry.d.ts +1 -1
- package/dist/kernel/subagent/lib/types/child-agent.d.ts +1 -1
- package/dist/kernel/subagent/lib/types/continuation.d.ts +22 -3
- package/dist/kernel/subagent/lib/types/continuation.js +58 -7
- package/dist/kernel/subagent/lib/types/index.d.ts +12 -1
- package/dist/kernel/subagent/lib/types/index.js +17 -1
- package/dist/kernel/subagent/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent/lib/types/lifecycle.d.ts +1 -1
- package/dist/kernel/subagent/lib/types/list-children.d.ts +1 -1
- package/dist/kernel/subagent/lib/types/out-of-process.d.ts +2 -0
- package/dist/kernel/subagent/lib/types/out-of-process.js +31 -1
- package/dist/kernel/subagent/lib/types/projection.d.ts +55 -8
- package/dist/kernel/subagent/lib/types/projection.js +30 -15
- package/dist/kernel/subagent/lib/types/run-settlement.js +10 -3
- package/dist/kernel/subagent/lib/types/types.d.ts +7 -0
- package/dist/kernel/subagent/package.json +1 -1
- package/dist/kernel/subagent-acp/lib/index.js +1 -1
- package/dist/kernel/subagent-acp/lib/types/index.d.ts +2 -2
- package/dist/kernel/subagent-acp/lib/types/index.js +1 -1
- package/dist/kernel/subagent-acp/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-acp/package.json +1 -1
- package/dist/kernel/subagent-claude-code/cordis.patch.yml +6 -0
- package/dist/kernel/subagent-claude-code/lib/index.js +268 -74
- package/dist/kernel/subagent-claude-code/lib/types/index.d.ts +18 -8
- package/dist/kernel/subagent-claude-code/lib/types/index.js +36 -15
- package/dist/kernel/subagent-claude-code/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-claude-code/lib/types/process.d.ts +5 -7
- package/dist/kernel/subagent-claude-code/lib/types/process.js +12 -24
- package/dist/kernel/subagent-claude-code/lib/types/run.d.ts +24 -7
- package/dist/kernel/subagent-claude-code/lib/types/run.js +266 -40
- package/dist/kernel/subagent-claude-code/package.json +10 -2
- package/dist/kernel/subagent-codex/cordis.patch.yml +5 -0
- package/dist/kernel/subagent-codex/lib/index.js +483 -92
- package/dist/kernel/subagent-codex/lib/types/index.d.ts +13 -8
- package/dist/kernel/subagent-codex/lib/types/index.js +34 -13
- package/dist/kernel/subagent-codex/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-codex/lib/types/run.d.ts +17 -8
- package/dist/kernel/subagent-codex/lib/types/run.js +235 -42
- package/dist/kernel/subagent-codex/lib/types/wire.d.ts +49 -1
- package/dist/kernel/subagent-codex/lib/types/wire.js +280 -33
- package/dist/kernel/subagent-codex/package.json +10 -5
- package/dist/kernel/subagent-fork-in-process/lib/index.js +1 -1
- package/dist/kernel/subagent-fork-in-process/lib/types/index.d.ts +2 -2
- package/dist/kernel/subagent-fork-in-process/lib/types/index.js +1 -1
- package/dist/kernel/subagent-fork-in-process/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-fork-in-process/package.json +1 -1
- package/dist/kernel/subagent-in-process-driver/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-in-process-driver/lib/types/structured.d.ts +1 -1
- package/dist/kernel/subagent-in-process-driver/package.json +1 -1
- package/dist/kernel/subagent-nomix-sdk/lib/index.js +1 -1
- package/dist/kernel/subagent-nomix-sdk/lib/types/index.d.ts +2 -2
- package/dist/kernel/subagent-nomix-sdk/lib/types/index.js +1 -1
- package/dist/kernel/subagent-nomix-sdk/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-nomix-sdk/package.json +1 -1
- package/dist/kernel/subagent-spawn-in-process/lib/index.js +1 -1
- package/dist/kernel/subagent-spawn-in-process/lib/types/index.d.ts +2 -2
- package/dist/kernel/subagent-spawn-in-process/lib/types/index.js +1 -1
- package/dist/kernel/subagent-spawn-in-process/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subagent-spawn-in-process/package.json +1 -1
- package/dist/kernel/subprocess/lib/index.js +1 -1
- package/dist/kernel/subprocess/lib/types/index.d.ts +1 -1
- package/dist/kernel/subprocess/lib/types/index.js +1 -1
- package/dist/kernel/subprocess/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subprocess/package.json +1 -1
- package/dist/kernel/subprocess-e2b/lib/index.js +1 -1
- package/dist/kernel/subprocess-e2b/lib/types/index.d.ts +2 -2
- package/dist/kernel/subprocess-e2b/lib/types/index.js +1 -1
- package/dist/kernel/subprocess-e2b/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subprocess-e2b/package.json +1 -1
- package/dist/kernel/subprocess-local/lib/index.js +303 -1
- package/dist/kernel/subprocess-local/lib/types/index.d.ts +1 -1
- package/dist/kernel/subprocess-local/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/subprocess-local/lib/types/process-inspector.js +3 -0
- package/dist/kernel/subprocess-local/lib/types/terminal.d.ts +6 -1
- package/dist/kernel/subprocess-local/lib/types/terminal.js +78 -1
- package/dist/kernel/subprocess-local/lib/types/windows-inspector.d.ts +80 -0
- package/dist/kernel/subprocess-local/lib/types/windows-inspector.js +259 -0
- package/dist/kernel/subprocess-local/package.json +2 -1
- package/dist/kernel/system-prompt/lib/index.js +2 -2
- package/dist/kernel/system-prompt/lib/types/index.d.ts +2 -2
- package/dist/kernel/system-prompt/lib/types/index.js +2 -2
- package/dist/kernel/system-prompt/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/system-prompt/package.json +1 -1
- package/dist/kernel/terminal/lib/index.js +1 -1
- package/dist/kernel/terminal/lib/types/index.d.ts +1 -1
- package/dist/kernel/terminal/lib/types/index.js +1 -1
- package/dist/kernel/terminal/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/terminal/package.json +1 -1
- package/dist/kernel/terminal-bash/lib/index.js +86 -21
- package/dist/kernel/terminal-bash/lib/types/config.d.ts +30 -6
- package/dist/kernel/terminal-bash/lib/types/config.js +34 -4
- package/dist/kernel/terminal-bash/lib/types/index.d.ts +8 -1
- package/dist/kernel/terminal-bash/lib/types/index.js +65 -13
- package/dist/kernel/terminal-bash/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/terminal-bash/package.json +2 -1
- package/dist/kernel/time-context/lib/index.js +3 -3
- package/dist/kernel/time-context/lib/invariant.js +3 -3
- package/dist/kernel/time-context/lib/types/index.d.ts +2 -2
- package/dist/kernel/time-context/lib/types/index.js +1 -1
- package/dist/kernel/time-context/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/time-context/package.json +1 -1
- package/dist/kernel/timeout/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/timeout/package.json +1 -1
- package/dist/kernel/tmux-context/lib/index.js +3 -3
- package/dist/kernel/tmux-context/lib/types/index.d.ts +2 -2
- package/dist/kernel/tmux-context/lib/types/index.js +1 -1
- package/dist/kernel/tmux-context/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tmux-context/package.json +1 -1
- package/dist/kernel/token-meter/lib/index.js +79 -23
- package/dist/kernel/token-meter/lib/types/breakdown-projection.d.ts +76 -9
- package/dist/kernel/token-meter/lib/types/breakdown-projection.js +22 -6
- package/dist/kernel/token-meter/lib/types/index.d.ts +2 -2
- package/dist/kernel/token-meter/lib/types/index.js +2 -2
- package/dist/kernel/token-meter/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/token-meter/lib/types/usage-projection.d.ts +186 -25
- package/dist/kernel/token-meter/lib/types/usage-projection.js +44 -15
- package/dist/kernel/token-meter/package.json +1 -1
- package/dist/kernel/tool-ask-user/lib/types/index.d.ts +1 -1
- package/dist/kernel/tool-ask-user/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-ask-user/package.json +1 -1
- package/dist/kernel/tool-bash/lib/index.js +1 -1
- package/dist/kernel/tool-bash/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-bash/lib/types/index.js +1 -1
- package/dist/kernel/tool-bash/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-bash/package.json +1 -1
- package/dist/kernel/tool-bash-persistent/lib/index.js +16 -6
- package/dist/kernel/tool-bash-persistent/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-bash-persistent/lib/types/index.js +24 -7
- package/dist/kernel/tool-bash-persistent/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-bash-persistent/package.json +1 -1
- package/dist/kernel/tool-call-timeout-policy/lib/types/index.d.ts +1 -1
- package/dist/kernel/tool-call-timeout-policy/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-call-timeout-policy/package.json +1 -1
- package/dist/kernel/tool-cordis/lib/index.js +655 -83
- package/dist/kernel/tool-cordis/lib/types/api-catalog.js +439 -41
- package/dist/kernel/tool-cordis/lib/types/fiber-state.d.ts +1 -1
- package/dist/kernel/tool-cordis/lib/types/index.d.ts +1 -1
- package/dist/kernel/tool-cordis/lib/types/inspect.d.ts +1 -1
- package/dist/kernel/tool-cordis/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-cordis/lib/types/providers.d.ts +1 -1
- package/dist/kernel/tool-cordis/package.json +1 -1
- package/dist/kernel/tool-fs/lib/index.js +81 -53
- package/dist/kernel/tool-fs/lib/types/edit.d.ts +1 -1
- package/dist/kernel/tool-fs/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-fs/lib/types/index.js +1 -1
- package/dist/kernel/tool-fs/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-fs/lib/types/read-image.d.ts +17 -13
- package/dist/kernel/tool-fs/lib/types/read-image.js +73 -29
- package/dist/kernel/tool-fs/lib/types/read-target.d.ts +1 -1
- package/dist/kernel/tool-fs/lib/types/read.d.ts +1 -1
- package/dist/kernel/tool-fs/lib/types/sandbox.d.ts +1 -1
- package/dist/kernel/tool-fs/lib/types/write.d.ts +1 -1
- package/dist/kernel/tool-fs/package.json +1 -1
- package/dist/kernel/tool-fs-search/lib/index.js +12 -8
- package/dist/kernel/tool-fs-search/lib/types/direct-call.d.ts +1 -1
- package/dist/kernel/tool-fs-search/lib/types/glob.d.ts +1 -1
- package/dist/kernel/tool-fs-search/lib/types/grep.d.ts +1 -1
- package/dist/kernel/tool-fs-search/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-fs-search/lib/types/index.js +1 -1
- package/dist/kernel/tool-fs-search/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-fs-search/lib/types/search-core.d.ts +6 -7
- package/dist/kernel/tool-fs-search/lib/types/search-core.js +12 -7
- package/dist/kernel/tool-fs-search/package.json +1 -1
- package/dist/kernel/tool-goal/lib/index.js +1 -1
- package/dist/kernel/tool-goal/lib/types/authority.d.ts +1 -1
- package/dist/kernel/tool-goal/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-goal/lib/types/index.js +1 -1
- package/dist/kernel/tool-goal/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-goal/package.json +1 -1
- package/dist/kernel/tool-jobs/lib/index.js +1 -1
- package/dist/kernel/tool-jobs/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-jobs/lib/types/index.js +1 -1
- package/dist/kernel/tool-jobs/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-jobs/package.json +1 -1
- package/dist/kernel/tool-lsp/lib/index.js +1 -1
- package/dist/kernel/tool-lsp/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-lsp/lib/types/index.js +1 -1
- package/dist/kernel/tool-lsp/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-lsp/package.json +1 -1
- package/dist/kernel/tool-pwsh/lib/index.js +1 -1
- package/dist/kernel/tool-pwsh/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-pwsh/lib/types/index.js +1 -1
- package/dist/kernel/tool-pwsh/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-pwsh/package.json +1 -1
- package/dist/kernel/tool-pwsh-persistent/lib/index.js +407 -0
- package/dist/kernel/tool-pwsh-persistent/lib/invariant.js +24 -0
- package/dist/kernel/tool-pwsh-persistent/lib/types/index.d.ts +24 -0
- package/dist/kernel/tool-pwsh-persistent/lib/types/index.js +465 -0
- package/dist/kernel/tool-pwsh-persistent/lib/types/invariant.d.ts +16 -0
- package/dist/kernel/tool-pwsh-persistent/lib/types/invariant.js +23 -0
- package/dist/kernel/tool-pwsh-persistent/package.json +62 -0
- package/dist/kernel/tool-ralph/lib/index.js +1 -1
- package/dist/kernel/tool-ralph/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-ralph/lib/types/index.js +1 -1
- package/dist/kernel/tool-ralph/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-ralph/package.json +1 -1
- package/dist/kernel/tool-session-query/lib/index.js +1 -1
- package/dist/kernel/tool-session-query/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-session-query/lib/types/index.js +1 -1
- package/dist/kernel/tool-session-query/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-session-query/lib/types/operations.d.ts +1 -1
- package/dist/kernel/tool-session-query/lib/types/service-boundary.d.ts +1 -1
- package/dist/kernel/tool-session-query/lib/types/workspace-access.d.ts +1 -1
- package/dist/kernel/tool-session-query/package.json +1 -1
- package/dist/kernel/tool-skill/lib/index.js +1 -1
- package/dist/kernel/tool-skill/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-skill/lib/types/index.js +1 -1
- package/dist/kernel/tool-skill/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-skill/package.json +1 -1
- package/dist/kernel/tool-str-replace-editor/lib/index.js +1 -1
- package/dist/kernel/tool-str-replace-editor/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-str-replace-editor/lib/types/index.js +1 -1
- package/dist/kernel/tool-str-replace-editor/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-str-replace-editor/package.json +1 -1
- package/dist/kernel/tool-subagent/lib/index.js +11 -9
- package/dist/kernel/tool-subagent/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-subagent/lib/types/index.js +16 -9
- package/dist/kernel/tool-subagent/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-subagent/package.json +1 -1
- package/dist/kernel/tool-subagent-control/lib/types/index.d.ts +1 -1
- package/dist/kernel/tool-subagent-control/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-subagent-control/lib/types/list-agents.d.ts +1 -1
- package/dist/kernel/tool-subagent-control/package.json +1 -1
- package/dist/kernel/tool-subagent-report/lib/index.js +2 -2
- package/dist/kernel/tool-subagent-report/lib/types/index.d.ts +5 -5
- package/dist/kernel/tool-subagent-report/lib/types/index.js +2 -2
- package/dist/kernel/tool-subagent-report/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-subagent-report/package.json +1 -1
- package/dist/kernel/tool-terminal/lib/index.js +1 -1
- package/dist/kernel/tool-terminal/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-terminal/lib/types/index.js +1 -1
- package/dist/kernel/tool-terminal/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-terminal/package.json +1 -1
- package/dist/kernel/tool-todo/lib/index.js +6 -3
- package/dist/kernel/tool-todo/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-todo/lib/types/index.js +3 -3
- package/dist/kernel/tool-todo/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-todo/lib/types/types.d.ts +3 -0
- package/dist/kernel/tool-todo/package.json +1 -1
- package/dist/kernel/tool-web/lib/index.js +102 -27
- package/dist/kernel/tool-web/lib/types/fetch.d.ts +1 -1
- package/dist/kernel/tool-web/lib/types/index.d.ts +6 -4
- package/dist/kernel/tool-web/lib/types/index.js +6 -4
- package/dist/kernel/tool-web/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-web/lib/types/search.d.ts +24 -21
- package/dist/kernel/tool-web/lib/types/search.js +109 -20
- package/dist/kernel/tool-web/package.json +1 -1
- package/dist/kernel/tool-workflow/lib/index.js +1 -1
- package/dist/kernel/tool-workflow/lib/types/index.d.ts +2 -2
- package/dist/kernel/tool-workflow/lib/types/index.js +1 -1
- package/dist/kernel/tool-workflow/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tool-workflow/package.json +1 -1
- package/dist/kernel/tools/lib/index.js +2 -2
- package/dist/kernel/tools/lib/types/index.d.ts +2 -2
- package/dist/kernel/tools/lib/types/index.js +2 -2
- package/dist/kernel/tools/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/tools/package.json +1 -1
- package/dist/kernel/typert-generator/lib/index.js +8 -3
- package/dist/kernel/typert-generator/lib/types/cordis-catalog.js +8 -3
- package/dist/kernel/typert-generator/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/typert-generator/package.json +1 -1
- package/dist/kernel/typert-loader/lib/index.js +1 -1
- package/dist/kernel/typert-loader/lib/types/index.d.ts +2 -2
- package/dist/kernel/typert-loader/lib/types/index.js +1 -1
- package/dist/kernel/typert-loader/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/typert-loader/package.json +1 -1
- package/dist/kernel/typert-protocol/lib/index.js +1 -1
- package/dist/kernel/typert-protocol/lib/types/index.d.ts +1 -1
- package/dist/kernel/typert-protocol/lib/types/index.js +1 -1
- package/dist/kernel/typert-protocol/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/typert-protocol/lib/types/types.d.ts +1 -1
- package/dist/kernel/typert-protocol/package.json +1 -1
- package/dist/kernel/typert-registry/lib/index.js +1 -1
- package/dist/kernel/typert-registry/lib/types/client/index.d.ts +1 -1
- package/dist/kernel/typert-registry/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/typert-registry/lib/types/service.d.ts +1 -1
- package/dist/kernel/typert-registry/lib/types/service.js +1 -1
- package/dist/kernel/typert-registry/package.json +1 -1
- package/dist/kernel/user-approval/lib/index.js +2 -2
- package/dist/kernel/user-approval/lib/invariant.js +2 -2
- package/dist/kernel/user-approval/lib/types/index.d.ts +2 -2
- package/dist/kernel/user-approval/lib/types/index.js +2 -2
- package/dist/kernel/user-approval/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/user-approval/package.json +1 -1
- package/dist/kernel/user-questions/lib/index.js +1 -1
- package/dist/kernel/user-questions/lib/types/index.d.ts +1 -1
- package/dist/kernel/user-questions/lib/types/index.js +1 -1
- package/dist/kernel/user-questions/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/user-questions/package.json +1 -1
- package/dist/kernel/web/lib/index.js +2 -2
- package/dist/kernel/web/lib/types/index.d.ts +2 -2
- package/dist/kernel/web/lib/types/index.js +2 -2
- package/dist/kernel/web/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/web/lib/types/types.d.ts +4 -3
- package/dist/kernel/web/package.json +1 -1
- package/dist/kernel/web-app/cordis.patch.yml +27 -6
- package/dist/kernel/web-app/lib/index.js +112 -16
- package/dist/kernel/web-app/lib/startup.js +4 -2
- package/dist/kernel/web-app/lib/types/index.d.ts +10 -6
- package/dist/kernel/web-app/lib/types/index.js +117 -24
- package/dist/kernel/web-app/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/web-app/lib/types/startup.d.ts +4 -2
- package/dist/kernel/web-app/lib/types/startup.js +4 -1
- package/dist/kernel/web-app/package.json +12 -2
- package/dist/kernel/web-fetch-http/lib/index.js +2 -2
- package/dist/kernel/web-fetch-http/lib/types/index.d.ts +3 -3
- package/dist/kernel/web-fetch-http/lib/types/index.js +2 -2
- package/dist/kernel/web-fetch-http/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/web-fetch-http/package.json +1 -1
- package/dist/kernel/web-frontend/dist/assets/index-BnapMmQ_.css +1 -0
- package/dist/kernel/web-frontend/dist/assets/index-Dx7Ws_OC.js +96 -0
- package/dist/kernel/web-frontend/dist/assets/langs/{php-D-uCvoST.js → php-DDkx9sim.js} +2 -2
- package/dist/{assets/web/assets/langs/ruby-DEItuUFs.js → kernel/web-frontend/dist/assets/langs/ruby-DCxyoPen.js} +2 -2
- package/dist/kernel/web-frontend/dist/assets/{vendor-Cjbwl5VI.js → vendor-D22_Mp1f.js} +2 -2
- package/dist/kernel/web-frontend/dist/favicon.svg +8 -0
- package/dist/kernel/web-frontend/dist/index.html +5 -5
- package/dist/kernel/web-frontend/package.json +5 -8
- package/dist/kernel/web-search-deepseek/lib/index.js +2 -2
- package/dist/kernel/web-search-deepseek/lib/types/index.d.ts +2 -2
- package/dist/kernel/web-search-deepseek/lib/types/index.js +1 -1
- package/dist/kernel/web-search-deepseek/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/web-search-deepseek/lib/types/provider.js +1 -1
- package/dist/kernel/web-search-deepseek/package.json +1 -1
- package/dist/kernel/web-search-exa/lib/index.js +2 -2
- package/dist/kernel/web-search-exa/lib/types/index.d.ts +2 -2
- package/dist/kernel/web-search-exa/lib/types/index.js +1 -1
- package/dist/kernel/web-search-exa/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/web-search-exa/lib/types/provider.js +1 -1
- package/dist/kernel/web-search-exa/package.json +1 -1
- package/dist/kernel/web-search-perplexity/lib/index.js +2 -2
- package/dist/kernel/web-search-perplexity/lib/types/index.d.ts +2 -2
- package/dist/kernel/web-search-perplexity/lib/types/index.js +1 -1
- package/dist/kernel/web-search-perplexity/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/web-search-perplexity/lib/types/provider.js +1 -1
- package/dist/kernel/web-search-perplexity/package.json +1 -1
- package/dist/kernel/workflow/lib/index.js +1 -1
- package/dist/kernel/workflow/lib/types/index.d.ts +1 -1
- package/dist/kernel/workflow/lib/types/index.js +1 -1
- package/dist/kernel/workflow/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/workflow/package.json +1 -1
- package/dist/kernel/workflow-worker-thread/lib/index.js +1 -1
- package/dist/kernel/workflow-worker-thread/lib/types/host.d.ts +1 -1
- package/dist/kernel/workflow-worker-thread/lib/types/index.d.ts +2 -2
- package/dist/kernel/workflow-worker-thread/lib/types/index.js +1 -1
- package/dist/kernel/workflow-worker-thread/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/workflow-worker-thread/package.json +1 -1
- package/dist/kernel/workspace/lib/index.js +1 -1
- package/dist/kernel/workspace/lib/invariant.js +1 -1
- package/dist/kernel/workspace/lib/types/index.d.ts +1 -1
- package/dist/kernel/workspace/lib/types/index.js +1 -1
- package/dist/kernel/workspace/lib/types/invariant.d.ts +1 -1
- package/dist/kernel/workspace/package.json +1 -1
- package/dist/licenses/landlock-run.LICENSE +28 -0
- package/dist/native/landlock-run/linux-arm64/landlock-run +0 -0
- package/dist/native/landlock-run/linux-x64/landlock-run +0 -0
- package/dist/plugins/manifest.json +50 -10
- package/dist/runtime/index.js +0 -2
- package/package.json +14 -17
- package/dist/assets/web/assets/index-B_fSXASy.css +0 -1
- package/dist/assets/web/assets/index-B_sZ-Gsu.js +0 -112
- package/dist/cli/builtin-registry.d.ts +0 -5
- package/dist/cli/profile-boot-CeU09iFc.js +0 -2
- package/dist/kernel/app-boot/lib/types/legacy-branding.d.ts +0 -6
- package/dist/kernel/app-boot/lib/types/legacy-branding.js +0 -18
- package/dist/kernel/client-schema-form/lib/index.js +0 -137
- package/dist/kernel/client-schema-form/lib/types/index.d.ts +0 -10
- package/dist/kernel/client-schema-form/lib/types/index.js +0 -9
- package/dist/kernel/client-schema-form/lib/types/model.d.ts +0 -66
- package/dist/kernel/client-schema-form/lib/types/model.js +0 -153
- package/dist/kernel/client-ui-subagent/lib/types/client/SubagentCatalogAction.d.ts +0 -18
- package/dist/kernel/client-ui-theme/lib/styles/base.css +0 -15
- package/dist/kernel/client-ui-theme/lib/styles/design-platform.css +0 -338
- package/dist/kernel/client-ui-theme/lib/styles/gradient-shadow-text.css +0 -232
- package/dist/kernel/client-ui-theme/lib/styles/scrollbar.css +0 -90
- package/dist/kernel/client-ui-theme/lib/styles/shiki.css +0 -31
- package/dist/kernel/client-web/lib/types/AppRoot.d.ts +0 -16
- package/dist/kernel/client-web/lib/types/AppRoot.js +0 -27
- package/dist/kernel/client-web/lib/types/DocumentTitle.js +0 -16
- package/dist/kernel/client-web/lib/types/app-shell.d.ts +0 -28
- package/dist/kernel/client-web/lib/types/app-shell.js +0 -27
- package/dist/kernel/client-web/lib/types/app.d.ts +0 -21
- package/dist/kernel/client-web-react/lib/index.js +0 -810
- package/dist/kernel/client-web-react/lib/types/index.d.ts +0 -16
- package/dist/kernel/client-web-react/lib/types/index.js +0 -6
- package/dist/kernel/client-web-react/lib/types/use-invoke.d.ts +0 -9
- package/dist/kernel/client-web-react/lib/types/use-invoke.js +0 -52
- package/dist/kernel/skill-badge/assets/nomix-badge.svg +0 -8
- package/dist/kernel/web-frontend/dist/assets/index-B_fSXASy.css +0 -1
- package/dist/kernel/web-frontend/dist/assets/index-B_sZ-Gsu.js +0 -112
- /package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/bind.js +0 -0
- /package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/session-provider.js +0 -0
|
@@ -0,0 +1,1828 @@
|
|
|
1
|
+
import { defineProperty, hyphenate, isNullable } from "../../cosmokit/lib/index.js";
|
|
2
|
+
//#region lib/types/utils.js
|
|
3
|
+
/** Ordered collection of disposable values with O(1) deletion by value. */
|
|
4
|
+
var DisposableList = class {
|
|
5
|
+
sn = 0;
|
|
6
|
+
map = /* @__PURE__ */ new Map();
|
|
7
|
+
weak = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
get length() {
|
|
9
|
+
return this.map.size;
|
|
10
|
+
}
|
|
11
|
+
push(value) {
|
|
12
|
+
const sn = ++this.sn;
|
|
13
|
+
this.map.set(sn, value);
|
|
14
|
+
this.weak.set(value, sn);
|
|
15
|
+
return () => this.map.delete(sn);
|
|
16
|
+
}
|
|
17
|
+
delete(value) {
|
|
18
|
+
const sn = this.weak.get(value);
|
|
19
|
+
if (!sn) return false;
|
|
20
|
+
return this.map.delete(sn);
|
|
21
|
+
}
|
|
22
|
+
clear() {
|
|
23
|
+
const values = [...this.map.values()];
|
|
24
|
+
this.map.clear();
|
|
25
|
+
return values.reverse();
|
|
26
|
+
}
|
|
27
|
+
[Symbol.iterator]() {
|
|
28
|
+
return this.map.values();
|
|
29
|
+
}
|
|
30
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
31
|
+
return [...this];
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/** Shared symbols used to avoid public property-name collisions. */
|
|
35
|
+
const symbols = {
|
|
36
|
+
shadow: Symbol.for("cordis.shadow"),
|
|
37
|
+
receiver: Symbol.for("cordis.receiver"),
|
|
38
|
+
original: Symbol.for("cordis.original"),
|
|
39
|
+
metadata: Symbol.for("cordis.metadata"),
|
|
40
|
+
initHooks: Symbol.for("cordis.initHooks"),
|
|
41
|
+
checkProto: Symbol.for("cordis.checkProto"),
|
|
42
|
+
effect: Symbol.for("cordis.effect"),
|
|
43
|
+
filter: Symbol.for("cordis.filter"),
|
|
44
|
+
isolate: Symbol.for("cordis.isolate"),
|
|
45
|
+
intercept: Symbol.for("cordis.intercept"),
|
|
46
|
+
init: Symbol.for("cordis.init"),
|
|
47
|
+
check: Symbol.for("cordis.check"),
|
|
48
|
+
config: Symbol.for("cordis.config"),
|
|
49
|
+
invoke: Symbol.for("cordis.invoke"),
|
|
50
|
+
extend: Symbol.for("cordis.extend"),
|
|
51
|
+
tracker: Symbol.for("cordis.tracker"),
|
|
52
|
+
resolveConfig: Symbol.for("cordis.resolveConfig")
|
|
53
|
+
};
|
|
54
|
+
const GeneratorFunction = function* () {}.constructor;
|
|
55
|
+
const AsyncGeneratorFunction = async function* () {}.constructor;
|
|
56
|
+
/** Return true when a plugin callback should be constructed with `new`. */
|
|
57
|
+
function isConstructor(func) {
|
|
58
|
+
if (!func.prototype) return false;
|
|
59
|
+
if (func instanceof GeneratorFunction) return false;
|
|
60
|
+
if (AsyncGeneratorFunction !== Function && func instanceof AsyncGeneratorFunction) return false;
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/** Merge two prototype chains while preserving descriptors from `proto1`. */
|
|
64
|
+
function joinPrototype(proto1, proto2) {
|
|
65
|
+
if (proto1 === Object.prototype) return proto2;
|
|
66
|
+
const result = Object.create(joinPrototype(Object.getPrototypeOf(proto1), proto2));
|
|
67
|
+
for (const key of Reflect.ownKeys(proto1)) Object.defineProperty(result, key, Object.getOwnPropertyDescriptor(proto1, key));
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
/** Return true for non-null objects and functions. */
|
|
71
|
+
function isObject(value) {
|
|
72
|
+
return value && (typeof value === "object" || typeof value === "function");
|
|
73
|
+
}
|
|
74
|
+
/** Find a property descriptor by walking an object's prototype chain. */
|
|
75
|
+
function getPropertyDescriptor(target, prop) {
|
|
76
|
+
let proto = target;
|
|
77
|
+
while (proto) {
|
|
78
|
+
const desc = Reflect.getOwnPropertyDescriptor(proto, prop);
|
|
79
|
+
if (desc) return desc;
|
|
80
|
+
proto = Object.getPrototypeOf(proto);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Wrap services/functions so method calls see the caller's active context. */
|
|
84
|
+
function getTraceable(ctx, value) {
|
|
85
|
+
if (!isObject(value)) return value;
|
|
86
|
+
if (Object.hasOwn(value, symbols.shadow)) return Object.getPrototypeOf(value);
|
|
87
|
+
const tracker = value[symbols.tracker];
|
|
88
|
+
if (!tracker) return value;
|
|
89
|
+
return createTraceable(ctx, value, tracker);
|
|
90
|
+
}
|
|
91
|
+
/** Return a proxy that overlays readonly or writable properties onto a target. */
|
|
92
|
+
function withProps(target, props) {
|
|
93
|
+
if (!props) return target;
|
|
94
|
+
return new Proxy(target, {
|
|
95
|
+
get: (target, prop, receiver) => {
|
|
96
|
+
if (prop in props && prop !== "constructor") return Reflect.get(props, prop, receiver);
|
|
97
|
+
return Reflect.get(target, prop, receiver);
|
|
98
|
+
},
|
|
99
|
+
set: (target, prop, value, receiver) => {
|
|
100
|
+
if (prop in props && prop !== "constructor") return Reflect.set(props, prop, value, receiver);
|
|
101
|
+
return Reflect.set(target, prop, value, receiver);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function withProp(target, prop, value) {
|
|
106
|
+
return withProps(target, Object.defineProperty(Object.create(null), prop, {
|
|
107
|
+
value,
|
|
108
|
+
writable: false
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
function createShadow(ctx, target, property, receiver) {
|
|
112
|
+
if (!property) return receiver;
|
|
113
|
+
const origin = Reflect.getOwnPropertyDescriptor(target, property)?.value;
|
|
114
|
+
if (!origin) return receiver;
|
|
115
|
+
return withProp(receiver, property, ctx.extend({ [symbols.shadow]: origin }));
|
|
116
|
+
}
|
|
117
|
+
function createShadowMethod(ctx, value, outer, shadow) {
|
|
118
|
+
return new Proxy(value, { apply: (target, thisArg, args) => {
|
|
119
|
+
if (thisArg === outer) thisArg = shadow;
|
|
120
|
+
return getTraceable(ctx, Reflect.apply(target, thisArg, args));
|
|
121
|
+
} });
|
|
122
|
+
}
|
|
123
|
+
function createTraceable(ctx, value, tracker) {
|
|
124
|
+
if (ctx[symbols.shadow] && !tracker.noShadow) ctx = Object.getPrototypeOf(ctx);
|
|
125
|
+
const proxy = new Proxy(value, {
|
|
126
|
+
get: (target, prop, receiver) => {
|
|
127
|
+
if (prop === symbols.original) return target;
|
|
128
|
+
if (prop === tracker.property) return ctx;
|
|
129
|
+
if (typeof prop === "symbol") return Reflect.get(target, prop, receiver);
|
|
130
|
+
if (tracker.associate && ctx.reflect.props[`${tracker.associate}.${prop}`]) return Reflect.get(ctx, `${tracker.associate}.${prop}`, withProp(ctx, symbols.receiver, receiver));
|
|
131
|
+
let shadow, innerValue;
|
|
132
|
+
const desc = getPropertyDescriptor(target, prop);
|
|
133
|
+
if (desc && "value" in desc) innerValue = desc.value;
|
|
134
|
+
else {
|
|
135
|
+
shadow = createShadow(ctx, target, tracker.property, receiver);
|
|
136
|
+
innerValue = Reflect.get(target, prop, shadow);
|
|
137
|
+
}
|
|
138
|
+
const innerTracker = innerValue?.[symbols.tracker];
|
|
139
|
+
if (innerTracker) return createTraceable(ctx, innerValue, innerTracker);
|
|
140
|
+
else if (!tracker.noShadow && typeof innerValue === "function") {
|
|
141
|
+
shadow ??= createShadow(ctx, target, tracker.property, receiver);
|
|
142
|
+
return createShadowMethod(ctx, innerValue, receiver, shadow);
|
|
143
|
+
} else return innerValue;
|
|
144
|
+
},
|
|
145
|
+
set: (target, prop, value, receiver) => {
|
|
146
|
+
if (prop === symbols.original) return false;
|
|
147
|
+
if (prop === tracker.property) return false;
|
|
148
|
+
if (typeof prop === "symbol") return Reflect.set(target, prop, value, receiver);
|
|
149
|
+
if (tracker.associate && ctx.reflect.props[`${tracker.associate}.${prop}`]) return Reflect.set(ctx, `${tracker.associate}.${prop}`, value, withProp(ctx, symbols.receiver, receiver));
|
|
150
|
+
const shadow = createShadow(ctx, target, tracker.property, receiver);
|
|
151
|
+
return Reflect.set(target, prop, value, shadow);
|
|
152
|
+
},
|
|
153
|
+
apply: (target, thisArg, args) => {
|
|
154
|
+
return applyTraceable(proxy, target, thisArg, args);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
return proxy;
|
|
158
|
+
}
|
|
159
|
+
function applyTraceable(proxy, value, thisArg, args) {
|
|
160
|
+
if (!value[symbols.invoke]) return Reflect.apply(value, thisArg, args);
|
|
161
|
+
return value[symbols.invoke].apply(proxy, args);
|
|
162
|
+
}
|
|
163
|
+
/** Create a callable service object that dispatches through `symbols.invoke`. */
|
|
164
|
+
function createCallable(name, proto, tracker) {
|
|
165
|
+
const self = function(...args) {
|
|
166
|
+
return applyTraceable(createTraceable(self["ctx"], self, tracker), self, this, args);
|
|
167
|
+
};
|
|
168
|
+
defineProperty(self, "name", name);
|
|
169
|
+
return Object.setPrototypeOf(self, proto);
|
|
170
|
+
}
|
|
171
|
+
function handleError(info, reason, getOuterStack) {
|
|
172
|
+
const innerLines = info.error.stack.split("\n");
|
|
173
|
+
if (typeof reason?.stack !== "string") {
|
|
174
|
+
const outerError = new Error(reason);
|
|
175
|
+
const lines = outerError.stack.split("\n");
|
|
176
|
+
lines.splice(1, Infinity, ...getOuterStack());
|
|
177
|
+
outerError.stack = lines.join("\n");
|
|
178
|
+
throw outerError;
|
|
179
|
+
}
|
|
180
|
+
const lines = reason.stack.split("\n");
|
|
181
|
+
let index = lines.indexOf(innerLines[2]);
|
|
182
|
+
if (index === -1) throw reason;
|
|
183
|
+
index -= info.offset;
|
|
184
|
+
while (index > 0) {
|
|
185
|
+
if (!lines[index - 1].endsWith(" (<anonymous>)")) break;
|
|
186
|
+
index -= 1;
|
|
187
|
+
}
|
|
188
|
+
lines.splice(index, Infinity, ...getOuterStack());
|
|
189
|
+
reason.stack = lines.join("\n");
|
|
190
|
+
throw reason;
|
|
191
|
+
}
|
|
192
|
+
/** Run a callback and splice outer call-site frames into thrown async errors. */
|
|
193
|
+
function composeError(callback, getOuterStack = buildOuterStack()) {
|
|
194
|
+
const info = {
|
|
195
|
+
offset: 1,
|
|
196
|
+
error: /* @__PURE__ */ new Error()
|
|
197
|
+
};
|
|
198
|
+
try {
|
|
199
|
+
const result = callback(info);
|
|
200
|
+
if (isObject(result) && "then" in result) return result.then(void 0, (reason) => handleError(info, reason, getOuterStack));
|
|
201
|
+
else return result;
|
|
202
|
+
} catch (reason) {
|
|
203
|
+
handleError(info, reason, getOuterStack);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/** Capture a lazy stack-frame supplier for later error composition. */
|
|
207
|
+
function buildOuterStack(offset = 0) {
|
|
208
|
+
const outerError = /* @__PURE__ */ new Error();
|
|
209
|
+
return () => outerError.stack.split("\n").slice(3 + offset);
|
|
210
|
+
}
|
|
211
|
+
//#endregion
|
|
212
|
+
//#region lib/types/events.js
|
|
213
|
+
/**
|
|
214
|
+
* Return whether an event result should stop a bail-style dispatch.
|
|
215
|
+
*
|
|
216
|
+
* @param value — a listener's return value.
|
|
217
|
+
* @returns `true` unless `value` is `null`, `false`, or `undefined`.
|
|
218
|
+
*/
|
|
219
|
+
function isBailed(value) {
|
|
220
|
+
return value !== null && value !== false && value !== void 0;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Event bus installed as `ctx.events` and mixed into every context.
|
|
224
|
+
*
|
|
225
|
+
* The service supports concurrent, synchronous, serial, bail, and waterfall
|
|
226
|
+
* dispatch and automatically disposes listeners with their owning fiber.
|
|
227
|
+
*/
|
|
228
|
+
var EventsService = class {
|
|
229
|
+
ctx;
|
|
230
|
+
_hooks = {};
|
|
231
|
+
constructor(ctx) {
|
|
232
|
+
this.ctx = ctx;
|
|
233
|
+
defineProperty(this, symbols.tracker, {
|
|
234
|
+
property: "ctx",
|
|
235
|
+
noShadow: true
|
|
236
|
+
});
|
|
237
|
+
this.on("internal/listener", function(name, listener, options) {
|
|
238
|
+
if (name === "internal/update" && !options.global) return (this.fiber._hooks["internal/update"] ??= new DisposableList())[options.prepend ? "unshift" : "push"](listener);
|
|
239
|
+
});
|
|
240
|
+
this.on("internal/update", function(config, noSave, next) {
|
|
241
|
+
const cbs = [...this._hooks["internal/update"] || []];
|
|
242
|
+
const _next = () => {
|
|
243
|
+
return (cbs.shift() ?? next).call(this, config, noSave, _next);
|
|
244
|
+
};
|
|
245
|
+
return _next();
|
|
246
|
+
}, {
|
|
247
|
+
global: true,
|
|
248
|
+
prepend: true
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Resolve listeners for one dispatch and apply context filtering.
|
|
253
|
+
*
|
|
254
|
+
* @param type — the dispatch mode, reported on `internal/dispatch`.
|
|
255
|
+
* @param args — the raw dispatch arguments; consumed up to the event name.
|
|
256
|
+
* @returns the matching listener callbacks, bound to the dispatch `this`.
|
|
257
|
+
*/
|
|
258
|
+
dispatch(type, args) {
|
|
259
|
+
const thisArg = typeof args[0] === "object" || typeof args[0] === "function" ? args.shift() : null;
|
|
260
|
+
const name = args.shift();
|
|
261
|
+
if (!name.startsWith("internal/")) this.emit("internal/dispatch", type, name, args, thisArg);
|
|
262
|
+
const filter = thisArg?.[Context.filter];
|
|
263
|
+
return (this._hooks[name] || []).filter((hook) => hook.global || !filter || filter.call(thisArg, hook.ctx)).map((hook) => hook.callback.bind(thisArg));
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Run listeners concurrently and wait for all of them.
|
|
267
|
+
*
|
|
268
|
+
* @param args — optional `this`, the event name, then listener arguments.
|
|
269
|
+
* @returns a promise resolving once every listener has settled.
|
|
270
|
+
*/
|
|
271
|
+
async parallel(...args) {
|
|
272
|
+
const errors = (await Promise.allSettled(this.dispatch("emit", args).map(async (cb) => cb(...args)))).filter((result) => result.status === "rejected");
|
|
273
|
+
if (errors.length) throw new AggregateError(errors.map((error) => error.reason));
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Run listeners synchronously without waiting for returned promises.
|
|
277
|
+
*
|
|
278
|
+
* @param args — optional `this`, the event name, then listener arguments.
|
|
279
|
+
*/
|
|
280
|
+
emit(...args) {
|
|
281
|
+
this.dispatch("emit", args).map((cb) => cb(...args));
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Run listeners in order, awaiting each, until one returns a bail value.
|
|
285
|
+
*
|
|
286
|
+
* @param args — optional `this`, the event name, then listener arguments.
|
|
287
|
+
* @returns the first bail value (see {@link isBailed}), if any.
|
|
288
|
+
*/
|
|
289
|
+
async serial(...args) {
|
|
290
|
+
for (const cb of this.dispatch("serial", args)) {
|
|
291
|
+
const result = await cb(...args);
|
|
292
|
+
if (isBailed(result)) return result;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Run listeners synchronously until one returns a bail value.
|
|
297
|
+
*
|
|
298
|
+
* @param args — optional `this`, the event name, then listener arguments.
|
|
299
|
+
* @returns the first bail value (see {@link isBailed}), if any.
|
|
300
|
+
*/
|
|
301
|
+
bail(...args) {
|
|
302
|
+
for (const cb of this.dispatch("bail", args)) {
|
|
303
|
+
const result = cb(...args);
|
|
304
|
+
if (isBailed(result)) return result;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Compose listeners around the final `next` callback.
|
|
309
|
+
*
|
|
310
|
+
* The last dispatch argument is treated as the innermost `next`. Listeners
|
|
311
|
+
* run outermost-first; a listener that does not call `next()` vetoes the
|
|
312
|
+
* rest of the chain, including the built-in behavior.
|
|
313
|
+
*
|
|
314
|
+
* @param args — optional `this`, the event name, listener arguments, then `next`.
|
|
315
|
+
* @returns the outermost listener's return value.
|
|
316
|
+
*/
|
|
317
|
+
waterfall(...args) {
|
|
318
|
+
const cbs = this.dispatch("waterfall", args);
|
|
319
|
+
const inner = args.pop();
|
|
320
|
+
const next = () => {
|
|
321
|
+
return (cbs.shift() ?? inner)(...args);
|
|
322
|
+
};
|
|
323
|
+
args.push(next);
|
|
324
|
+
return next();
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Store a listener record as an effect on the current fiber.
|
|
328
|
+
*
|
|
329
|
+
* @param label — effect label shown in fiber diagnostics.
|
|
330
|
+
* @param hooks — the listener list for one event.
|
|
331
|
+
* @param callback — the listener to store.
|
|
332
|
+
* @param options — placement and filtering options.
|
|
333
|
+
* @returns a disposer that unregisters the listener.
|
|
334
|
+
*/
|
|
335
|
+
register(label, hooks, callback, options) {
|
|
336
|
+
const method = options.prepend ? "unshift" : "push";
|
|
337
|
+
return this.ctx.fiber.effect(() => {
|
|
338
|
+
hooks[method]({
|
|
339
|
+
ctx: this.ctx,
|
|
340
|
+
callback,
|
|
341
|
+
...options
|
|
342
|
+
});
|
|
343
|
+
return () => this.unregister(hooks, callback);
|
|
344
|
+
}, label);
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Remove a stored listener record.
|
|
348
|
+
*
|
|
349
|
+
* @param hooks — the listener list for one event.
|
|
350
|
+
* @param callback — the listener to remove.
|
|
351
|
+
* @returns `true` if the listener was found and removed.
|
|
352
|
+
*/
|
|
353
|
+
unregister(hooks, callback) {
|
|
354
|
+
const index = hooks.findIndex((hook) => hook.callback === callback);
|
|
355
|
+
if (index >= 0) {
|
|
356
|
+
hooks.splice(index, 1);
|
|
357
|
+
return true;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Register an event listener owned by the current fiber.
|
|
362
|
+
*
|
|
363
|
+
* The listener is removed automatically when the fiber unloads. Throws
|
|
364
|
+
* `CordisError('INACTIVE_EFFECT')` if the fiber is already disposed.
|
|
365
|
+
*
|
|
366
|
+
* @param name — the event name to listen for.
|
|
367
|
+
* @param listener — called with the dispatch arguments.
|
|
368
|
+
* @param options — listener options; a boolean is shorthand for `prepend`.
|
|
369
|
+
* @returns a disposer removing the listener; `true` if it was still registered.
|
|
370
|
+
*/
|
|
371
|
+
on(name, listener, options) {
|
|
372
|
+
if (typeof options !== "object") options = { prepend: options };
|
|
373
|
+
this.ctx.fiber.assertActive();
|
|
374
|
+
listener = this.ctx.reflect.bind(listener);
|
|
375
|
+
const result = this.bail(this.ctx, "internal/listener", name, listener, options);
|
|
376
|
+
if (result) return result;
|
|
377
|
+
const hooks = this._hooks[name] ||= [];
|
|
378
|
+
const label = `ctx.on(${typeof name === "string" ? JSON.stringify(name) : name.toString()})`;
|
|
379
|
+
return this.register(label, hooks, listener, options);
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Register an event listener that disposes itself after the first call.
|
|
383
|
+
*
|
|
384
|
+
* @param name — the event name to listen for.
|
|
385
|
+
* @param listener — called at most once with the dispatch arguments.
|
|
386
|
+
* @param options — listener options; a boolean is shorthand for `prepend`.
|
|
387
|
+
* @returns a disposer removing the listener; `true` if it was still registered.
|
|
388
|
+
*/
|
|
389
|
+
once(name, listener, options) {
|
|
390
|
+
const dispose = this.on(name, function(...args) {
|
|
391
|
+
dispose();
|
|
392
|
+
return listener.apply(this, args);
|
|
393
|
+
}, options);
|
|
394
|
+
return dispose;
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
//#endregion
|
|
398
|
+
//#region lib/types/logger.js
|
|
399
|
+
/** Built-in placeholder formatters used by `Logger.format()`. */
|
|
400
|
+
const defaultFormatters = {
|
|
401
|
+
s: (value) => String(value),
|
|
402
|
+
d: (value) => Math.trunc(Number(value)),
|
|
403
|
+
i: (value) => Math.trunc(Number(value)),
|
|
404
|
+
f: (value) => Number(value),
|
|
405
|
+
o: (value) => JSON.stringify(value),
|
|
406
|
+
O: (value) => JSON.stringify(value),
|
|
407
|
+
c: () => "",
|
|
408
|
+
C: (value, exporter, message) => {
|
|
409
|
+
return Logger.color(exporter, Logger.code(message.name, exporter.colors), value);
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
function isAggregateError(error) {
|
|
413
|
+
return error instanceof Error && Array.isArray(error["errors"]);
|
|
414
|
+
}
|
|
415
|
+
/** Logger facade for one named subsystem. */
|
|
416
|
+
var Logger = class {
|
|
417
|
+
service;
|
|
418
|
+
static color(exporter, code, value, decoration = "") {
|
|
419
|
+
if (!exporter.colors) return "" + value;
|
|
420
|
+
return `\u001b[3${code < 8 ? code : "8;5;" + code}${exporter.colors >= 2 ? decoration : ""}m${value}\u001b[0m`;
|
|
421
|
+
}
|
|
422
|
+
static code(name, level) {
|
|
423
|
+
let hash = 0;
|
|
424
|
+
for (let i = 0; i < name.length; i++) {
|
|
425
|
+
hash = (hash << 3) - hash + name.charCodeAt(i) + 13;
|
|
426
|
+
hash |= 0;
|
|
427
|
+
}
|
|
428
|
+
const colors = !level ? [] : level >= 2 ? c256 : c16;
|
|
429
|
+
return colors[Math.abs(hash) % colors.length];
|
|
430
|
+
}
|
|
431
|
+
static format(exporter, message) {
|
|
432
|
+
const args = message.args.slice();
|
|
433
|
+
if (args[0] instanceof Error) {
|
|
434
|
+
args[0] = args[0].stack || args[0].message;
|
|
435
|
+
args.unshift("%s");
|
|
436
|
+
} else if (typeof args[0] !== "string") args.unshift("%o");
|
|
437
|
+
let format = args.shift();
|
|
438
|
+
format = format.replace(/%([a-zA-Z%])/g, (match, char) => {
|
|
439
|
+
if (match === "%%") return "%";
|
|
440
|
+
const formatter = exporter.formatters?.[char] ?? defaultFormatters[char];
|
|
441
|
+
if (typeof formatter === "function") return formatter(args.shift(), exporter, message);
|
|
442
|
+
return match;
|
|
443
|
+
});
|
|
444
|
+
const oFormatter = exporter.formatters?.o ?? defaultFormatters.o;
|
|
445
|
+
for (let arg of args) {
|
|
446
|
+
if (typeof arg === "object" && arg) arg = oFormatter(arg, exporter, message);
|
|
447
|
+
format += " " + arg;
|
|
448
|
+
}
|
|
449
|
+
const { maxLength = 10240 } = exporter;
|
|
450
|
+
return format.split(/\r?\n/g).map((line) => {
|
|
451
|
+
return line.slice(0, maxLength) + (line.length > maxLength ? "..." : "");
|
|
452
|
+
}).join("\n");
|
|
453
|
+
}
|
|
454
|
+
constructor(options, service) {
|
|
455
|
+
this.service = service;
|
|
456
|
+
Object.assign(this, options);
|
|
457
|
+
this.error = this._method("error", 0);
|
|
458
|
+
this.info = this._method("info", 1);
|
|
459
|
+
this.warn = this._method("warn", 2);
|
|
460
|
+
this.debug = this._method("debug", 3);
|
|
461
|
+
}
|
|
462
|
+
_method(type, level) {
|
|
463
|
+
return (...args) => {
|
|
464
|
+
if (args.length === 1 && args[0] instanceof Error) {
|
|
465
|
+
if (args[0].cause) this[type](args[0].cause);
|
|
466
|
+
else if (isAggregateError(args[0])) {
|
|
467
|
+
args[0].errors.forEach((error) => this[type](error));
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
const sn = ++this.service._snMessage;
|
|
472
|
+
const ts = Date.now();
|
|
473
|
+
for (const exporter of this.service.exporters.values()) {
|
|
474
|
+
if ((exporter.levels?.[this.name] ?? exporter.levels?.default ?? this.level ?? 1) < level) continue;
|
|
475
|
+
const message = {
|
|
476
|
+
sn,
|
|
477
|
+
ts,
|
|
478
|
+
type,
|
|
479
|
+
level,
|
|
480
|
+
name: this.name,
|
|
481
|
+
...this.meta,
|
|
482
|
+
args
|
|
483
|
+
};
|
|
484
|
+
exporter.export(message);
|
|
485
|
+
}
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
/** ANSI 16-color palette indexes used for logger name coloring. */
|
|
490
|
+
const c16 = [
|
|
491
|
+
6,
|
|
492
|
+
2,
|
|
493
|
+
3,
|
|
494
|
+
4,
|
|
495
|
+
5,
|
|
496
|
+
1
|
|
497
|
+
];
|
|
498
|
+
/** ANSI 256-color palette indexes used for logger name coloring. */
|
|
499
|
+
const c256 = [
|
|
500
|
+
20,
|
|
501
|
+
21,
|
|
502
|
+
26,
|
|
503
|
+
27,
|
|
504
|
+
32,
|
|
505
|
+
33,
|
|
506
|
+
38,
|
|
507
|
+
39,
|
|
508
|
+
40,
|
|
509
|
+
41,
|
|
510
|
+
42,
|
|
511
|
+
43,
|
|
512
|
+
44,
|
|
513
|
+
45,
|
|
514
|
+
56,
|
|
515
|
+
57,
|
|
516
|
+
62,
|
|
517
|
+
63,
|
|
518
|
+
68,
|
|
519
|
+
69,
|
|
520
|
+
74,
|
|
521
|
+
75,
|
|
522
|
+
76,
|
|
523
|
+
77,
|
|
524
|
+
78,
|
|
525
|
+
79,
|
|
526
|
+
80,
|
|
527
|
+
81,
|
|
528
|
+
92,
|
|
529
|
+
93,
|
|
530
|
+
98,
|
|
531
|
+
99,
|
|
532
|
+
112,
|
|
533
|
+
113,
|
|
534
|
+
129,
|
|
535
|
+
134,
|
|
536
|
+
135,
|
|
537
|
+
148,
|
|
538
|
+
149,
|
|
539
|
+
160,
|
|
540
|
+
161,
|
|
541
|
+
162,
|
|
542
|
+
163,
|
|
543
|
+
164,
|
|
544
|
+
165,
|
|
545
|
+
166,
|
|
546
|
+
167,
|
|
547
|
+
168,
|
|
548
|
+
169,
|
|
549
|
+
170,
|
|
550
|
+
171,
|
|
551
|
+
172,
|
|
552
|
+
173,
|
|
553
|
+
178,
|
|
554
|
+
179,
|
|
555
|
+
184,
|
|
556
|
+
185,
|
|
557
|
+
196,
|
|
558
|
+
197,
|
|
559
|
+
198,
|
|
560
|
+
199,
|
|
561
|
+
200,
|
|
562
|
+
201,
|
|
563
|
+
202,
|
|
564
|
+
203,
|
|
565
|
+
204,
|
|
566
|
+
205,
|
|
567
|
+
206,
|
|
568
|
+
207,
|
|
569
|
+
208,
|
|
570
|
+
209,
|
|
571
|
+
214,
|
|
572
|
+
215,
|
|
573
|
+
220,
|
|
574
|
+
221
|
|
575
|
+
];
|
|
576
|
+
/**
|
|
577
|
+
* Built-in logging service.
|
|
578
|
+
*
|
|
579
|
+
* Call `ctx.logger()` to create a named logger, or call `ctx.logger.info()`
|
|
580
|
+
* directly to log with the current fiber-derived name.
|
|
581
|
+
*/
|
|
582
|
+
var LoggerService = class LoggerService {
|
|
583
|
+
bufferSize = 1e3;
|
|
584
|
+
buffer = [];
|
|
585
|
+
ctx;
|
|
586
|
+
_snMessage = 0;
|
|
587
|
+
_snExporter = 0;
|
|
588
|
+
exporters = /* @__PURE__ */ new Map();
|
|
589
|
+
constructor(ctx) {
|
|
590
|
+
const tracker = {
|
|
591
|
+
property: "ctx",
|
|
592
|
+
noShadow: true
|
|
593
|
+
};
|
|
594
|
+
const self = createCallable("logger", joinPrototype(Object.getPrototypeOf(this), Function.prototype), tracker);
|
|
595
|
+
Object.assign(self, this);
|
|
596
|
+
self.ctx = ctx;
|
|
597
|
+
defineProperty(self, symbols.tracker, tracker);
|
|
598
|
+
self.exporter({
|
|
599
|
+
colors: 3,
|
|
600
|
+
export: (message) => {
|
|
601
|
+
self.buffer.push(message);
|
|
602
|
+
if (self.buffer.length > self.bufferSize) self.buffer = self.buffer.slice(-self.bufferSize);
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
return self;
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Register an exporter and dispose it with the current fiber.
|
|
609
|
+
*
|
|
610
|
+
* @param exporter — the sink that receives structured log messages.
|
|
611
|
+
* @returns a disposer that removes the exporter.
|
|
612
|
+
*/
|
|
613
|
+
exporter(exporter) {
|
|
614
|
+
return this.ctx.effect(() => {
|
|
615
|
+
this.exporters.set(++this._snExporter, exporter);
|
|
616
|
+
return () => this.exporters.delete(this._snExporter);
|
|
617
|
+
}, "ctx.logger.exporter()");
|
|
618
|
+
}
|
|
619
|
+
_resolveConfig() {
|
|
620
|
+
let intercept = this.ctx[symbols.intercept];
|
|
621
|
+
const configs = [];
|
|
622
|
+
while ("logger" in intercept) {
|
|
623
|
+
if (Object.hasOwn(intercept, "logger")) configs.unshift(intercept["logger"]);
|
|
624
|
+
intercept = Object.getPrototypeOf(intercept);
|
|
625
|
+
}
|
|
626
|
+
return Object.assign({}, ...configs);
|
|
627
|
+
}
|
|
628
|
+
[symbols.invoke](name) {
|
|
629
|
+
const config = this._resolveConfig();
|
|
630
|
+
const fiber = (this.ctx[symbols.shadow] ?? this.ctx).fiber;
|
|
631
|
+
name ??= config.name;
|
|
632
|
+
name ??= hyphenate(fiber.name);
|
|
633
|
+
return new Logger({
|
|
634
|
+
name,
|
|
635
|
+
level: config.level,
|
|
636
|
+
meta: { fiber: new WeakRef(fiber) }
|
|
637
|
+
}, this);
|
|
638
|
+
}
|
|
639
|
+
static {
|
|
640
|
+
for (const type of [
|
|
641
|
+
"error",
|
|
642
|
+
"info",
|
|
643
|
+
"warn",
|
|
644
|
+
"debug"
|
|
645
|
+
]) LoggerService.prototype[type] = function(...args) {
|
|
646
|
+
return this()[type](...args);
|
|
647
|
+
};
|
|
648
|
+
}
|
|
649
|
+
};
|
|
650
|
+
//#endregion
|
|
651
|
+
//#region lib/types/reflect.js
|
|
652
|
+
function enhanceError(error) {
|
|
653
|
+
const lines = error.stack.split("\n");
|
|
654
|
+
lines.splice(0, 2, `Error: ${error.message}`);
|
|
655
|
+
error.stack = lines.join("\n");
|
|
656
|
+
return error;
|
|
657
|
+
}
|
|
658
|
+
const RESERVED_WORDS = ["prototype", "then"];
|
|
659
|
+
function isSpecialProperty(prop) {
|
|
660
|
+
return typeof prop === "symbol" || RESERVED_WORDS.includes(prop) || parseInt(prop).toString() === prop || prop.startsWith("_");
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Reflection and service-resolution layer installed as `ctx.reflect`.
|
|
664
|
+
*
|
|
665
|
+
* This service powers the context proxy, service registration, accessors, and
|
|
666
|
+
* the mixins that expose core service methods directly on `ctx`.
|
|
667
|
+
*/
|
|
668
|
+
var ReflectService = class {
|
|
669
|
+
ctx;
|
|
670
|
+
/** Proxy traps implementing service resolution for every context object. */
|
|
671
|
+
static handler = {
|
|
672
|
+
get: (target, prop, ctx) => {
|
|
673
|
+
if (isSpecialProperty(prop)) return Reflect.get(target, prop, ctx);
|
|
674
|
+
if (Reflect.has(target, prop)) return getTraceable(ctx, Reflect.get(target, prop, ctx));
|
|
675
|
+
const error = /* @__PURE__ */ new Error(`cannot get property "${prop}" without inject`);
|
|
676
|
+
try {
|
|
677
|
+
const def = target.reflect.props[prop];
|
|
678
|
+
if (def?.type === "accessor") return def.get.call(ctx, ctx[symbols.receiver], error);
|
|
679
|
+
if (!ctx.fiber.runtime) return ctx.reflect.get(prop, false);
|
|
680
|
+
return ctx.events.waterfall("internal/get", ctx, prop, error, () => {
|
|
681
|
+
const key = target[symbols.isolate][prop];
|
|
682
|
+
let fiber = (ctx[symbols.shadow] ?? ctx).fiber;
|
|
683
|
+
while (true) {
|
|
684
|
+
const impl = fiber.store?.[prop];
|
|
685
|
+
if (impl) return getTraceable(ctx, impl.value);
|
|
686
|
+
if (prop in fiber.inject) {
|
|
687
|
+
error.message = `cannot get required service "${prop}" in inactive context`;
|
|
688
|
+
throw error;
|
|
689
|
+
}
|
|
690
|
+
if (!fiber.runtime) throw error;
|
|
691
|
+
if (fiber.parent[symbols.isolate][prop] !== key) throw error;
|
|
692
|
+
fiber = fiber.parent.fiber;
|
|
693
|
+
}
|
|
694
|
+
});
|
|
695
|
+
} catch (e) {
|
|
696
|
+
throw e === error ? enhanceError(e) : e;
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
set: (target, prop, value, ctx) => {
|
|
700
|
+
if (isSpecialProperty(prop)) return Reflect.set(target, prop, value, ctx);
|
|
701
|
+
const error = /* @__PURE__ */ new Error(`cannot set property "${prop}" without provide`);
|
|
702
|
+
const def = target.reflect.props[prop];
|
|
703
|
+
if (!def) {
|
|
704
|
+
if (!ctx.fiber.runtime) return Reflect.set(target, prop, value, ctx);
|
|
705
|
+
throw enhanceError(error);
|
|
706
|
+
}
|
|
707
|
+
try {
|
|
708
|
+
if (def.type === "accessor") {
|
|
709
|
+
if (!def.set) return false;
|
|
710
|
+
return def.set.call(ctx, value, ctx[symbols.receiver], error);
|
|
711
|
+
}
|
|
712
|
+
return ctx.events.waterfall("internal/set", ctx, prop, value, error, () => {
|
|
713
|
+
return ctx.reflect.set(prop, value, error);
|
|
714
|
+
});
|
|
715
|
+
} catch (e) {
|
|
716
|
+
throw e === error ? enhanceError(e) : e;
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
has: (target, prop) => {
|
|
720
|
+
if (isSpecialProperty(prop)) return Reflect.has(target, prop);
|
|
721
|
+
if (Reflect.has(target, prop)) return true;
|
|
722
|
+
return !!target.reflect.props[prop];
|
|
723
|
+
}
|
|
724
|
+
};
|
|
725
|
+
/** Service implementations, keyed by isolation label. */
|
|
726
|
+
store = Object.create(null);
|
|
727
|
+
/** Declared context properties (services and accessors), by name. */
|
|
728
|
+
props = Object.create(null);
|
|
729
|
+
constructor(ctx) {
|
|
730
|
+
this.ctx = ctx;
|
|
731
|
+
defineProperty(this, symbols.tracker, {
|
|
732
|
+
property: "ctx",
|
|
733
|
+
noShadow: true
|
|
734
|
+
});
|
|
735
|
+
this.mixin("reflect", [
|
|
736
|
+
"get",
|
|
737
|
+
"set",
|
|
738
|
+
"provide",
|
|
739
|
+
"accessor",
|
|
740
|
+
"mixin"
|
|
741
|
+
]);
|
|
742
|
+
this.mixin("fiber", ["runtime", "effect"]);
|
|
743
|
+
this.mixin("registry", ["inject", "plugin"]);
|
|
744
|
+
this.mixin("events", [
|
|
745
|
+
"on",
|
|
746
|
+
"once",
|
|
747
|
+
"parallel",
|
|
748
|
+
"emit",
|
|
749
|
+
"serial",
|
|
750
|
+
"bail",
|
|
751
|
+
"waterfall"
|
|
752
|
+
]);
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* Read a service from the store without the inject requirement.
|
|
756
|
+
*
|
|
757
|
+
* @param name — the service name.
|
|
758
|
+
* @param strict — when `true`, only return implementations whose providing
|
|
759
|
+
* fiber is currently active.
|
|
760
|
+
* @returns the service value, or `undefined` when not (yet) provided.
|
|
761
|
+
*/
|
|
762
|
+
get(name, strict = true) {
|
|
763
|
+
return getTraceable(this.ctx, this._getImpl(name, strict)?.value);
|
|
764
|
+
}
|
|
765
|
+
_getImpl(name, strict = true) {
|
|
766
|
+
const key = this.ctx[symbols.isolate][name];
|
|
767
|
+
const impl = key && this.store[key];
|
|
768
|
+
if (!impl) return;
|
|
769
|
+
if (strict && impl.fiber.state !== 2) return;
|
|
770
|
+
return impl;
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Overwrite a provided service's value.
|
|
774
|
+
*
|
|
775
|
+
* @param name — the service name.
|
|
776
|
+
* @param value — the new service value.
|
|
777
|
+
* @param error — carrier for the caller stack in diagnostics.
|
|
778
|
+
* @returns `true` on success.
|
|
779
|
+
* @throws when `name` was never provided, or was provided by another fiber.
|
|
780
|
+
*/
|
|
781
|
+
set(name, value, error) {
|
|
782
|
+
const key = this.ctx[symbols.isolate][name];
|
|
783
|
+
const impl = this.store[key];
|
|
784
|
+
if (!impl) throw new Error(`cannot set property "${name}" without provide`);
|
|
785
|
+
if (impl.fiber !== this.ctx.fiber) throw new Error(`cannot set property "${name}" in multiple fibers`);
|
|
786
|
+
impl.value = value;
|
|
787
|
+
return true;
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Register a service implementation owned by the current fiber.
|
|
791
|
+
*
|
|
792
|
+
* See the `ctx.provide()` overload above for the full contract.
|
|
793
|
+
*
|
|
794
|
+
* @param name — the service name.
|
|
795
|
+
* @param value — the service value.
|
|
796
|
+
* @param check — optional availability predicate for dependents.
|
|
797
|
+
* @returns a disposer that unregisters the service.
|
|
798
|
+
*/
|
|
799
|
+
provide(name, value, check) {
|
|
800
|
+
return this.ctx.fiber.effect(() => {
|
|
801
|
+
if (!this.props[name]) this.props[name] ??= { type: "service" };
|
|
802
|
+
else if (this.props[name].type !== "service") throw new Error(`property "${name}" is already declared as ${this.props[name].type}`);
|
|
803
|
+
this.props[name] = { type: "service" };
|
|
804
|
+
this.ctx.root[symbols.isolate][name] ??= Symbol(name);
|
|
805
|
+
const key = this.ctx[symbols.isolate][name];
|
|
806
|
+
const impl = {
|
|
807
|
+
name,
|
|
808
|
+
value,
|
|
809
|
+
fiber: this.ctx.fiber,
|
|
810
|
+
check
|
|
811
|
+
};
|
|
812
|
+
if (this.store[key]) throw new Error(`service "${name}" has been registered at <${this.store[key].fiber.name}>`);
|
|
813
|
+
this.store[key] = impl;
|
|
814
|
+
this.ctx.fiber.store[name] = impl;
|
|
815
|
+
if (this.ctx.fiber.state === 2) this.notify([name]);
|
|
816
|
+
return async () => {
|
|
817
|
+
delete this.store[key];
|
|
818
|
+
const fibers = this.notify([name]);
|
|
819
|
+
await Promise.allSettled(fibers.map((fiber) => fiber.await()));
|
|
820
|
+
delete this.ctx.fiber.store[name];
|
|
821
|
+
};
|
|
822
|
+
}, `ctx.provide(${JSON.stringify(name)})`);
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Re-evaluate every fiber that requires one of the given services.
|
|
826
|
+
*
|
|
827
|
+
* @param names — the service names that changed.
|
|
828
|
+
* @param filter — restricts notification to matching isolation scopes.
|
|
829
|
+
* @returns the fibers whose dependency state was refreshed.
|
|
830
|
+
*/
|
|
831
|
+
notify(names, filter = (ctx, name) => ctx[symbols.isolate][name] === this.ctx[symbols.isolate][name]) {
|
|
832
|
+
const fibers = [];
|
|
833
|
+
for (const runtime of this.ctx.registry.values()) for (const fiber of runtime.fibers) {
|
|
834
|
+
let hasUpdate = false;
|
|
835
|
+
for (const name of names) {
|
|
836
|
+
if (!(name in fiber.inject)) continue;
|
|
837
|
+
if (!filter(fiber.ctx, name)) continue;
|
|
838
|
+
hasUpdate = true;
|
|
839
|
+
fiber._checkImpl(name);
|
|
840
|
+
}
|
|
841
|
+
if (!hasUpdate) continue;
|
|
842
|
+
fiber._refresh();
|
|
843
|
+
fibers.push(fiber);
|
|
844
|
+
}
|
|
845
|
+
for (const name of names) {
|
|
846
|
+
const self = Object.create(this.ctx);
|
|
847
|
+
self[symbols.filter] = (target) => filter(target, name);
|
|
848
|
+
this.ctx.events.emit(self, "internal/service", name, this._getImpl(name, false)?.value);
|
|
849
|
+
}
|
|
850
|
+
return fibers;
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Define a computed context property backed by get/set hooks.
|
|
854
|
+
*
|
|
855
|
+
* @param name — the context property name.
|
|
856
|
+
* @param options — the `get` hook and optional `set` hook.
|
|
857
|
+
* @returns a disposer that removes the accessor.
|
|
858
|
+
*/
|
|
859
|
+
accessor(name, options) {
|
|
860
|
+
return this.ctx.fiber.effect(() => {
|
|
861
|
+
if (name in this.props) throw new Error(`property "${name}" is already declared as ${this.props[name].type}`);
|
|
862
|
+
this.props[name] = {
|
|
863
|
+
type: "accessor",
|
|
864
|
+
...options
|
|
865
|
+
};
|
|
866
|
+
return () => delete this.props[name];
|
|
867
|
+
}, `ctx.accessor(${JSON.stringify(name)})`);
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* Expose selected members of a service directly on `ctx`.
|
|
871
|
+
*
|
|
872
|
+
* See the `ctx.mixin()` overload above for the full contract.
|
|
873
|
+
*
|
|
874
|
+
* @param source — a context property name or a source object.
|
|
875
|
+
* @param mixins — keys to forward, or a source-key → ctx-key map.
|
|
876
|
+
* @returns a disposer that removes all created accessors.
|
|
877
|
+
*/
|
|
878
|
+
mixin(source, mixins) {
|
|
879
|
+
const self = this;
|
|
880
|
+
return this.ctx.fiber.effect(function* () {
|
|
881
|
+
const entries = Array.isArray(mixins) ? mixins.map((key) => [key, key]) : Object.entries(mixins);
|
|
882
|
+
const getTarget = (ctx, error) => {
|
|
883
|
+
return ctx[source];
|
|
884
|
+
};
|
|
885
|
+
for (const [key, value] of entries) yield self.accessor(value, {
|
|
886
|
+
get(receiver, error) {
|
|
887
|
+
const service = getTarget(this, error);
|
|
888
|
+
if (isNullable(service)) return service;
|
|
889
|
+
const mixin = receiver ? withProps(receiver, service) : service;
|
|
890
|
+
const value = Reflect.get(service, key, mixin);
|
|
891
|
+
if (typeof value !== "function") return value;
|
|
892
|
+
return value.bind(mixin ?? service);
|
|
893
|
+
},
|
|
894
|
+
set(value, receiver, error) {
|
|
895
|
+
const service = getTarget(this, error);
|
|
896
|
+
const mixin = receiver ? withProps(receiver, service) : service;
|
|
897
|
+
return Reflect.set(service, key, value, mixin);
|
|
898
|
+
}
|
|
899
|
+
});
|
|
900
|
+
}, `ctx.mixin(${JSON.stringify(source)})`);
|
|
901
|
+
}
|
|
902
|
+
/**
|
|
903
|
+
* Attach this context's tracing wrapper to a value.
|
|
904
|
+
*
|
|
905
|
+
* @param value — the value to wrap.
|
|
906
|
+
* @returns the traceable wrapper (or the value itself when not applicable).
|
|
907
|
+
*/
|
|
908
|
+
trace(value) {
|
|
909
|
+
return getTraceable(this.ctx, value);
|
|
910
|
+
}
|
|
911
|
+
/**
|
|
912
|
+
* Wrap a callback so calls trace `this` and arguments to this context.
|
|
913
|
+
*
|
|
914
|
+
* @param callback — the function to wrap.
|
|
915
|
+
* @returns a proxy delegating to `callback` with traced values.
|
|
916
|
+
*/
|
|
917
|
+
bind(callback) {
|
|
918
|
+
return new Proxy(callback, {
|
|
919
|
+
apply: (target, thisArg, args) => {
|
|
920
|
+
return Reflect.apply(target, this.trace(thisArg), args.map((arg) => this.trace(arg)));
|
|
921
|
+
},
|
|
922
|
+
construct: (target, args, newTarget) => {
|
|
923
|
+
return Reflect.construct(target, args.map((arg) => this.trace(arg)), newTarget);
|
|
924
|
+
}
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
};
|
|
928
|
+
//#endregion
|
|
929
|
+
//#region lib/types/fiber.js
|
|
930
|
+
const kValidationError = Symbol.for("ValidationError");
|
|
931
|
+
/** Error raised when plugin configuration fails standard-schema validation. */
|
|
932
|
+
var ValidationError = class extends TypeError {
|
|
933
|
+
name = "ValidationError";
|
|
934
|
+
/**
|
|
935
|
+
* Build the aggregated message from schema issues.
|
|
936
|
+
*
|
|
937
|
+
* @param issues — the standard-schema issues, one message line each.
|
|
938
|
+
*/
|
|
939
|
+
constructor(issues) {
|
|
940
|
+
super(`invalid config:\n` + issues.map((issue) => {
|
|
941
|
+
if (issue.path) return ` - ${issue.message} (at ${issue.path.join(".")})`;
|
|
942
|
+
else return ` - ${issue.message}`;
|
|
943
|
+
}).join("\n"));
|
|
944
|
+
}
|
|
945
|
+
};
|
|
946
|
+
Object.defineProperty(ValidationError.prototype, kValidationError, { value: true });
|
|
947
|
+
/**
|
|
948
|
+
* Validate and normalize config for a plugin runtime before it starts.
|
|
949
|
+
*
|
|
950
|
+
* @param runtime — the plugin runtime whose `Config` schema to apply.
|
|
951
|
+
* @param config — the raw user config.
|
|
952
|
+
* @returns the validated config, or `config` unchanged if the runtime has no schema.
|
|
953
|
+
* @throws {ValidationError} when validation reports issues.
|
|
954
|
+
*/
|
|
955
|
+
function resolveConfig(runtime, config) {
|
|
956
|
+
if (!runtime.Config) return config;
|
|
957
|
+
const result = runtime.Config["~standard"].validate(config);
|
|
958
|
+
if ("then" in result) throw new TypeError("Async config validation is not supported");
|
|
959
|
+
if (result.issues) throw new ValidationError(result.issues);
|
|
960
|
+
else return result.value;
|
|
961
|
+
}
|
|
962
|
+
const effectInertia = /* @__PURE__ */ new WeakMap();
|
|
963
|
+
function runDisposable(dispose) {
|
|
964
|
+
const result = dispose();
|
|
965
|
+
return effectInertia.get(dispose)?.() ?? result;
|
|
966
|
+
}
|
|
967
|
+
/** Notify plugin teardown without allowing one observer to break ownership cleanup. */
|
|
968
|
+
function emitPluginDisposed(context, fiber) {
|
|
969
|
+
const args = ["internal/plugin", fiber];
|
|
970
|
+
let callbacks;
|
|
971
|
+
try {
|
|
972
|
+
callbacks = context.events.dispatch("emit", args);
|
|
973
|
+
} catch (error) {
|
|
974
|
+
context.logger.error(error);
|
|
975
|
+
return;
|
|
976
|
+
}
|
|
977
|
+
for (const callback of callbacks) try {
|
|
978
|
+
const returned = callback(...args);
|
|
979
|
+
Promise.resolve(returned).catch((error) => context.logger.error(error));
|
|
980
|
+
} catch (error) {
|
|
981
|
+
context.logger.error(error);
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
/** Framework error with a stable machine-readable code. */
|
|
985
|
+
var CordisError = class CordisError extends Error {
|
|
986
|
+
code;
|
|
987
|
+
/**
|
|
988
|
+
* @param code — the stable error code; also the default message.
|
|
989
|
+
* @param message — optional human-readable override.
|
|
990
|
+
*/
|
|
991
|
+
constructor(code, message) {
|
|
992
|
+
super(message ?? CordisError.Code[code]);
|
|
993
|
+
this.code = code;
|
|
994
|
+
}
|
|
995
|
+
};
|
|
996
|
+
/** Cordis error code definitions. */
|
|
997
|
+
(function(CordisError) {
|
|
998
|
+
CordisError.Code = { INACTIVE_EFFECT: "cannot create effect on inactive context" };
|
|
999
|
+
})(CordisError || (CordisError = {}));
|
|
1000
|
+
const INACTIVE = "__INACTIVE__";
|
|
1001
|
+
/**
|
|
1002
|
+
* Runtime instance of one plugin application.
|
|
1003
|
+
*
|
|
1004
|
+
* A fiber tracks dependency state, validated config, lifecycle effects, and
|
|
1005
|
+
* cleanup for the plugin context returned by `ctx.plugin()`.
|
|
1006
|
+
*/
|
|
1007
|
+
var Fiber = class {
|
|
1008
|
+
parent;
|
|
1009
|
+
inject;
|
|
1010
|
+
runtime;
|
|
1011
|
+
/** Unique id within the registry; 0 for the root fiber, `null` once disposed. */
|
|
1012
|
+
uid;
|
|
1013
|
+
/** The context this fiber's plugin runs in (extends the parent context). */
|
|
1014
|
+
ctx;
|
|
1015
|
+
/** The validated plugin config (updated by `update()`). */
|
|
1016
|
+
config;
|
|
1017
|
+
/** The raw plugin config, re-resolved before each activation. */
|
|
1018
|
+
_config;
|
|
1019
|
+
/** Current lifecycle state; transitions emit `internal/status`. */
|
|
1020
|
+
state = 0;
|
|
1021
|
+
/** Dispose this fiber: unload the plugin, then settle once cleanup finished. */
|
|
1022
|
+
dispose;
|
|
1023
|
+
/** Snapshot of required service implementations while loaded; `undefined` otherwise. */
|
|
1024
|
+
store;
|
|
1025
|
+
/** The in-flight load/unload transition, if one is currently running. */
|
|
1026
|
+
inertia;
|
|
1027
|
+
_hooks = Object.create(null);
|
|
1028
|
+
_disposables = new DisposableList();
|
|
1029
|
+
context;
|
|
1030
|
+
_error;
|
|
1031
|
+
_runner;
|
|
1032
|
+
_store = Object.create(null);
|
|
1033
|
+
/**
|
|
1034
|
+
* Create a fiber. Plugin authors normally obtain fibers from `ctx.plugin()`
|
|
1035
|
+
* rather than constructing them directly.
|
|
1036
|
+
*
|
|
1037
|
+
* @param parent — the context the plugin was loaded from.
|
|
1038
|
+
* @param config — raw config, validated against the runtime's schema.
|
|
1039
|
+
* @param inject — resolved dependency map (service name → intercept config).
|
|
1040
|
+
* @param runtime — the shared plugin runtime, or `null` for the root fiber.
|
|
1041
|
+
* @param getOuterStack — captures the caller stack for effect diagnostics.
|
|
1042
|
+
*/
|
|
1043
|
+
constructor(parent, config, inject, runtime, getOuterStack) {
|
|
1044
|
+
this.parent = parent;
|
|
1045
|
+
this.inject = inject;
|
|
1046
|
+
this.runtime = runtime;
|
|
1047
|
+
this._config = config;
|
|
1048
|
+
const collect = (dispose) => {
|
|
1049
|
+
this._disposables.push(dispose);
|
|
1050
|
+
};
|
|
1051
|
+
if (runtime) {
|
|
1052
|
+
this.uid = parent.registry.counter;
|
|
1053
|
+
this.ctx = this.context = parent.extend({ fiber: this });
|
|
1054
|
+
const injectEntries = Object.entries(this.inject);
|
|
1055
|
+
if (injectEntries.length) {
|
|
1056
|
+
this.ctx[Context.intercept] = Object.create(parent[Context.intercept]);
|
|
1057
|
+
for (const [name, config] of injectEntries) {
|
|
1058
|
+
if (isNullable(config)) continue;
|
|
1059
|
+
this.ctx[Context.intercept][name] = config;
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
this._runner = {
|
|
1063
|
+
epoch: INACTIVE,
|
|
1064
|
+
getOuterStack,
|
|
1065
|
+
execute: function() {
|
|
1066
|
+
if (isConstructor(runtime.callback)) {
|
|
1067
|
+
const instance = new runtime.callback(this.ctx, this.config);
|
|
1068
|
+
for (const hook of instance?.[symbols.initHooks] ?? []) hook();
|
|
1069
|
+
return instance?.[symbols.init]?.();
|
|
1070
|
+
} else return runtime.callback(this.ctx, this.config);
|
|
1071
|
+
},
|
|
1072
|
+
collect
|
|
1073
|
+
};
|
|
1074
|
+
this.dispose = parent.fiber.effect(() => {
|
|
1075
|
+
const remove = runtime.fibers.push(this);
|
|
1076
|
+
return async () => {
|
|
1077
|
+
this.uid = null;
|
|
1078
|
+
emitPluginDisposed(this.context, this);
|
|
1079
|
+
if (this.ctx.registry.has(runtime.callback)) {
|
|
1080
|
+
remove();
|
|
1081
|
+
if (!runtime.fibers.length) this.ctx.registry.delete(runtime.callback);
|
|
1082
|
+
}
|
|
1083
|
+
this._setEpoch(INACTIVE);
|
|
1084
|
+
if (!this.inertia) this._updateState(() => {
|
|
1085
|
+
this.inertia = this._unload();
|
|
1086
|
+
return 5;
|
|
1087
|
+
});
|
|
1088
|
+
while (this.inertia) await this.inertia;
|
|
1089
|
+
};
|
|
1090
|
+
}, "ctx.plugin()");
|
|
1091
|
+
try {
|
|
1092
|
+
this.context.emit("internal/plugin", this);
|
|
1093
|
+
} catch (error) {
|
|
1094
|
+
Promise.resolve(this.dispose()).catch((reason) => this.ctx.logger.error(reason));
|
|
1095
|
+
throw error;
|
|
1096
|
+
}
|
|
1097
|
+
if (this.uid !== null && parent.fiber.state !== 5) {
|
|
1098
|
+
for (const name of Object.keys(this.inject)) this._checkImpl(name);
|
|
1099
|
+
this._refresh();
|
|
1100
|
+
}
|
|
1101
|
+
} else {
|
|
1102
|
+
this.uid = 0;
|
|
1103
|
+
this.ctx = this.context = parent;
|
|
1104
|
+
this.state = 2;
|
|
1105
|
+
this.store = Object.create(null);
|
|
1106
|
+
this._runner = {
|
|
1107
|
+
epoch: "",
|
|
1108
|
+
getOuterStack,
|
|
1109
|
+
execute: () => {},
|
|
1110
|
+
collect
|
|
1111
|
+
};
|
|
1112
|
+
this.dispose = () => this.restart();
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
/** The plugin's display name, inherited from the nearest named ancestor, else `'root'`. */
|
|
1116
|
+
get name() {
|
|
1117
|
+
let fiber = this;
|
|
1118
|
+
do {
|
|
1119
|
+
if (fiber.runtime?.name) return fiber.runtime.name;
|
|
1120
|
+
fiber = fiber.parent.fiber;
|
|
1121
|
+
} while (fiber !== fiber.parent.fiber);
|
|
1122
|
+
return "root";
|
|
1123
|
+
}
|
|
1124
|
+
/**
|
|
1125
|
+
* Throw if the fiber has already been disposed.
|
|
1126
|
+
*
|
|
1127
|
+
* @returns nothing when the fiber is still active.
|
|
1128
|
+
* @throws {CordisError} `INACTIVE_EFFECT` when the fiber's uid has been cleared.
|
|
1129
|
+
*/
|
|
1130
|
+
assertActive() {
|
|
1131
|
+
if (this.uid !== null) return;
|
|
1132
|
+
throw new CordisError("INACTIVE_EFFECT");
|
|
1133
|
+
}
|
|
1134
|
+
_execute(runner) {
|
|
1135
|
+
const oldEpoch = runner.epoch;
|
|
1136
|
+
return composeError((info) => {
|
|
1137
|
+
const safeCollect = (dispose) => {
|
|
1138
|
+
if (typeof dispose === "function") runner.collect(dispose);
|
|
1139
|
+
else if (!isNullable(dispose)) throw new TypeError("Invalid effect");
|
|
1140
|
+
};
|
|
1141
|
+
const effect = runner.execute.call(this);
|
|
1142
|
+
if (typeof effect === "function") return runner.collect(effect);
|
|
1143
|
+
else if (isNullable(effect)) {} else if (!isObject(effect)) throw new TypeError("Invalid effect");
|
|
1144
|
+
else if ("then" in effect) return effect.then(safeCollect);
|
|
1145
|
+
else if (Symbol.iterator in effect) {
|
|
1146
|
+
info.error = /* @__PURE__ */ new Error();
|
|
1147
|
+
const iter = effect[Symbol.iterator]();
|
|
1148
|
+
while (true) {
|
|
1149
|
+
const result = iter.next();
|
|
1150
|
+
safeCollect(result.value);
|
|
1151
|
+
if (result.done) return;
|
|
1152
|
+
}
|
|
1153
|
+
} else if (Symbol.asyncIterator in effect) {
|
|
1154
|
+
const iter = effect[Symbol.asyncIterator]();
|
|
1155
|
+
return (async () => {
|
|
1156
|
+
await Promise.resolve();
|
|
1157
|
+
info.error = /* @__PURE__ */ new Error();
|
|
1158
|
+
while (true) {
|
|
1159
|
+
if (runner.epoch !== oldEpoch) return;
|
|
1160
|
+
const result = await iter.next();
|
|
1161
|
+
safeCollect(result.value);
|
|
1162
|
+
if (result.done) return;
|
|
1163
|
+
}
|
|
1164
|
+
})();
|
|
1165
|
+
} else throw new TypeError("Invalid effect");
|
|
1166
|
+
}, runner.getOuterStack);
|
|
1167
|
+
}
|
|
1168
|
+
effect(execute, label = "anonymous") {
|
|
1169
|
+
this.assertActive();
|
|
1170
|
+
if (this.state === 5) throw new CordisError("INACTIVE_EFFECT");
|
|
1171
|
+
const disposables = [];
|
|
1172
|
+
let disposing = false;
|
|
1173
|
+
let disposalTask;
|
|
1174
|
+
const dispose = () => {
|
|
1175
|
+
if (disposing) return disposalTask;
|
|
1176
|
+
disposing = true;
|
|
1177
|
+
let task;
|
|
1178
|
+
for (const disposable of disposables.splice(0).reverse()) if (task) task = task.then(() => runDisposable(disposable));
|
|
1179
|
+
else {
|
|
1180
|
+
const result = runDisposable(disposable);
|
|
1181
|
+
if (isObject(result) && "then" in result) task = result;
|
|
1182
|
+
}
|
|
1183
|
+
return disposalTask = task;
|
|
1184
|
+
};
|
|
1185
|
+
const meta = {
|
|
1186
|
+
label,
|
|
1187
|
+
children: []
|
|
1188
|
+
};
|
|
1189
|
+
const runner = {
|
|
1190
|
+
execute,
|
|
1191
|
+
epoch: true,
|
|
1192
|
+
collect: (dispose) => {
|
|
1193
|
+
disposables.push(dispose);
|
|
1194
|
+
this._disposables.delete(dispose);
|
|
1195
|
+
if (dispose[symbols.effect]) meta.children.push(dispose[symbols.effect]);
|
|
1196
|
+
},
|
|
1197
|
+
getOuterStack: buildOuterStack()
|
|
1198
|
+
};
|
|
1199
|
+
let task;
|
|
1200
|
+
let executing = true;
|
|
1201
|
+
let resolveSetup;
|
|
1202
|
+
let rejectSetup;
|
|
1203
|
+
let setupBarrier;
|
|
1204
|
+
let setupFailed = false;
|
|
1205
|
+
let inFlight;
|
|
1206
|
+
let removeWrapper = () => false;
|
|
1207
|
+
const waitForSetup = () => {
|
|
1208
|
+
setupBarrier ??= new Promise((resolve, reject) => {
|
|
1209
|
+
resolveSetup = resolve;
|
|
1210
|
+
rejectSetup = reject;
|
|
1211
|
+
});
|
|
1212
|
+
return setupBarrier;
|
|
1213
|
+
};
|
|
1214
|
+
const disposeAfter = (setup) => {
|
|
1215
|
+
return Promise.resolve(setup).then(() => dispose(), async (reason) => {
|
|
1216
|
+
await dispose();
|
|
1217
|
+
throw reason;
|
|
1218
|
+
});
|
|
1219
|
+
};
|
|
1220
|
+
const finalizeDisposal = (callback) => {
|
|
1221
|
+
let result;
|
|
1222
|
+
try {
|
|
1223
|
+
result = callback();
|
|
1224
|
+
} catch (error) {
|
|
1225
|
+
removeWrapper();
|
|
1226
|
+
throw error;
|
|
1227
|
+
}
|
|
1228
|
+
if (isObject(result) && "then" in result) {
|
|
1229
|
+
const pending = Promise.resolve(result).finally(() => {
|
|
1230
|
+
removeWrapper();
|
|
1231
|
+
if (inFlight === pending) inFlight = void 0;
|
|
1232
|
+
});
|
|
1233
|
+
return inFlight = pending;
|
|
1234
|
+
}
|
|
1235
|
+
removeWrapper();
|
|
1236
|
+
return result;
|
|
1237
|
+
};
|
|
1238
|
+
const wrapper = defineProperty(() => {
|
|
1239
|
+
if (!runner.epoch) return setupFailed ? inFlight : void 0;
|
|
1240
|
+
runner.epoch = false;
|
|
1241
|
+
return finalizeDisposal(() => {
|
|
1242
|
+
if (executing) return disposeAfter(waitForSetup());
|
|
1243
|
+
return task ? disposeAfter(task) : dispose();
|
|
1244
|
+
});
|
|
1245
|
+
}, symbols.effect, meta);
|
|
1246
|
+
effectInertia.set(wrapper, () => inFlight);
|
|
1247
|
+
removeWrapper = this._disposables.push(wrapper);
|
|
1248
|
+
try {
|
|
1249
|
+
task = this._execute(runner);
|
|
1250
|
+
} catch (reason) {
|
|
1251
|
+
executing = false;
|
|
1252
|
+
setupFailed = true;
|
|
1253
|
+
runner.epoch = false;
|
|
1254
|
+
let cleanup;
|
|
1255
|
+
try {
|
|
1256
|
+
cleanup = finalizeDisposal(dispose);
|
|
1257
|
+
} finally {
|
|
1258
|
+
rejectSetup?.(reason);
|
|
1259
|
+
}
|
|
1260
|
+
if (isObject(cleanup) && "then" in cleanup) cleanup.catch((error) => this.ctx.logger.error(error));
|
|
1261
|
+
throw reason;
|
|
1262
|
+
}
|
|
1263
|
+
executing = false;
|
|
1264
|
+
if (setupBarrier) Promise.resolve(task).then(resolveSetup, rejectSetup);
|
|
1265
|
+
task?.catch(() => {
|
|
1266
|
+
if (!runner.epoch) return dispose();
|
|
1267
|
+
return finalizeDisposal(dispose);
|
|
1268
|
+
}).catch((error) => this.ctx.logger.error(error));
|
|
1269
|
+
const disposeAsync = () => {
|
|
1270
|
+
if (!runner.epoch) return;
|
|
1271
|
+
runner.epoch = false;
|
|
1272
|
+
return finalizeDisposal(dispose);
|
|
1273
|
+
};
|
|
1274
|
+
wrapper.then = async (onFulfilled, onRejected) => {
|
|
1275
|
+
return Promise.resolve(task).then(() => disposeAsync).then(onFulfilled, onRejected);
|
|
1276
|
+
};
|
|
1277
|
+
return wrapper;
|
|
1278
|
+
}
|
|
1279
|
+
/**
|
|
1280
|
+
* Return metadata for currently registered effects.
|
|
1281
|
+
*
|
|
1282
|
+
* @returns one {@link EffectMeta} tree per labeled live effect.
|
|
1283
|
+
*/
|
|
1284
|
+
getEffects() {
|
|
1285
|
+
return [...this._disposables].map((dispose) => dispose[symbols.effect]).filter(Boolean);
|
|
1286
|
+
}
|
|
1287
|
+
_getState() {
|
|
1288
|
+
if (this.uid === null) return 4;
|
|
1289
|
+
if (this._error) return 3;
|
|
1290
|
+
if (this._runner.epoch !== INACTIVE) return 2;
|
|
1291
|
+
return 0;
|
|
1292
|
+
}
|
|
1293
|
+
_updateState(callback) {
|
|
1294
|
+
const oldState = this.state;
|
|
1295
|
+
this.state = callback() ?? this._getState();
|
|
1296
|
+
if (oldState === this.state) return;
|
|
1297
|
+
this.context.emit("internal/status", this, oldState);
|
|
1298
|
+
if (oldState !== 2 && this.state !== 2) return;
|
|
1299
|
+
for (const key of Reflect.ownKeys(this.ctx.reflect.store)) {
|
|
1300
|
+
const impl = this.ctx.reflect.store[key];
|
|
1301
|
+
if (impl.fiber !== this) continue;
|
|
1302
|
+
this.ctx.reflect.notify([impl.name]);
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
_checkImpl(name) {
|
|
1306
|
+
const impl = this.ctx.reflect._getImpl(name, true);
|
|
1307
|
+
if (!impl) return delete this._store[name];
|
|
1308
|
+
try {
|
|
1309
|
+
if (impl.check && !impl.check.call(getTraceable(this.ctx, impl.value))) return delete this._store[name];
|
|
1310
|
+
} catch (error) {
|
|
1311
|
+
impl.fiber.ctx.logger.error(error);
|
|
1312
|
+
return delete this._store[name];
|
|
1313
|
+
}
|
|
1314
|
+
this._store[name] = impl;
|
|
1315
|
+
}
|
|
1316
|
+
_refresh() {
|
|
1317
|
+
let epoch = false;
|
|
1318
|
+
epoch = "";
|
|
1319
|
+
for (const name of Object.keys(this.inject)) {
|
|
1320
|
+
const impl = this._store[name];
|
|
1321
|
+
if (!impl) {
|
|
1322
|
+
epoch = INACTIVE;
|
|
1323
|
+
break;
|
|
1324
|
+
}
|
|
1325
|
+
epoch += ":" + impl.fiber.uid;
|
|
1326
|
+
}
|
|
1327
|
+
this._setEpoch(epoch);
|
|
1328
|
+
}
|
|
1329
|
+
_setEpoch(epoch) {
|
|
1330
|
+
const oldEpoch = this._runner.epoch;
|
|
1331
|
+
if (epoch === oldEpoch) return;
|
|
1332
|
+
this._runner.epoch = epoch;
|
|
1333
|
+
if (this.inertia) return;
|
|
1334
|
+
this._updateState(() => {
|
|
1335
|
+
if (epoch !== INACTIVE && oldEpoch === INACTIVE) {
|
|
1336
|
+
this.inertia = this._reload();
|
|
1337
|
+
return 1;
|
|
1338
|
+
} else {
|
|
1339
|
+
this.inertia = this._unload();
|
|
1340
|
+
return 5;
|
|
1341
|
+
}
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
_resolveConfig(config) {
|
|
1345
|
+
config = this.context.waterfall(this, "internal/config", config, () => config);
|
|
1346
|
+
return this.runtime ? resolveConfig(this.runtime, config) : config;
|
|
1347
|
+
}
|
|
1348
|
+
async _reload() {
|
|
1349
|
+
this.store = { ...this._store };
|
|
1350
|
+
const oldEpoch = this._runner.epoch;
|
|
1351
|
+
try {
|
|
1352
|
+
await Promise.resolve();
|
|
1353
|
+
if (this._runner.epoch === oldEpoch) {
|
|
1354
|
+
this.config = this._resolveConfig(this._config);
|
|
1355
|
+
await this._execute(this._runner);
|
|
1356
|
+
this._error = void 0;
|
|
1357
|
+
}
|
|
1358
|
+
} catch (reason) {
|
|
1359
|
+
this.ctx.logger.error(reason);
|
|
1360
|
+
this._error = reason;
|
|
1361
|
+
this._runner.epoch = INACTIVE;
|
|
1362
|
+
}
|
|
1363
|
+
this._updateState(() => {
|
|
1364
|
+
if (this._runner.epoch === oldEpoch) this.inertia = void 0;
|
|
1365
|
+
else {
|
|
1366
|
+
this.inertia = this._unload();
|
|
1367
|
+
return 5;
|
|
1368
|
+
}
|
|
1369
|
+
});
|
|
1370
|
+
}
|
|
1371
|
+
async _unload() {
|
|
1372
|
+
await Promise.all(this._disposables.clear().map(async (dispose) => {
|
|
1373
|
+
try {
|
|
1374
|
+
await composeError(async (info) => {
|
|
1375
|
+
await Promise.resolve();
|
|
1376
|
+
info.error = /* @__PURE__ */ new Error();
|
|
1377
|
+
await runDisposable(dispose);
|
|
1378
|
+
}, this._runner.getOuterStack);
|
|
1379
|
+
} catch (reason) {
|
|
1380
|
+
this.ctx.logger.error(reason);
|
|
1381
|
+
}
|
|
1382
|
+
}));
|
|
1383
|
+
this.store = void 0;
|
|
1384
|
+
this._updateState(() => {
|
|
1385
|
+
if (this._runner.epoch === INACTIVE) this.inertia = void 0;
|
|
1386
|
+
else {
|
|
1387
|
+
this.inertia = this._reload();
|
|
1388
|
+
return 1;
|
|
1389
|
+
}
|
|
1390
|
+
});
|
|
1391
|
+
}
|
|
1392
|
+
/**
|
|
1393
|
+
* Wait for current lifecycle work and rethrow startup errors.
|
|
1394
|
+
*
|
|
1395
|
+
* @returns this fiber, once it has settled into a stable state.
|
|
1396
|
+
* @throws the config-validation or plugin-startup error, if any.
|
|
1397
|
+
*/
|
|
1398
|
+
async await() {
|
|
1399
|
+
while (this.inertia) await this.inertia;
|
|
1400
|
+
if (this._error) throw this._error;
|
|
1401
|
+
return this;
|
|
1402
|
+
}
|
|
1403
|
+
/**
|
|
1404
|
+
* Dispose and immediately reload this plugin with its current config.
|
|
1405
|
+
*
|
|
1406
|
+
* @returns a promise resolving once the reload settled.
|
|
1407
|
+
* @throws {CordisError} `INACTIVE_EFFECT` when the fiber is already disposed.
|
|
1408
|
+
*/
|
|
1409
|
+
async restart() {
|
|
1410
|
+
this.assertActive();
|
|
1411
|
+
this._setEpoch(INACTIVE);
|
|
1412
|
+
this._refresh();
|
|
1413
|
+
await this.await();
|
|
1414
|
+
}
|
|
1415
|
+
/**
|
|
1416
|
+
* Validate and apply new config, then restart the plugin.
|
|
1417
|
+
*
|
|
1418
|
+
* Runs the `internal/update` waterfall first, so update hooks (and HMR)
|
|
1419
|
+
* can veto or replace the restart.
|
|
1420
|
+
*
|
|
1421
|
+
* @param config — the new raw config; validated before anything restarts.
|
|
1422
|
+
* @param noSave — hint for persistence hooks not to write the change back.
|
|
1423
|
+
* @returns the update waterfall result; the default restart returns a promise.
|
|
1424
|
+
* @throws when validation, an update listener, or the restarted plugin fails.
|
|
1425
|
+
*/
|
|
1426
|
+
update(config, noSave = false) {
|
|
1427
|
+
this.assertActive();
|
|
1428
|
+
this._config = config;
|
|
1429
|
+
if (this.state !== 2) {
|
|
1430
|
+
this._error = void 0;
|
|
1431
|
+
this._setEpoch(INACTIVE);
|
|
1432
|
+
this._refresh();
|
|
1433
|
+
return;
|
|
1434
|
+
}
|
|
1435
|
+
config = this._resolveConfig(config);
|
|
1436
|
+
return this.context.waterfall(this, "internal/update", config, noSave, () => {
|
|
1437
|
+
this.config = config;
|
|
1438
|
+
this._error = void 0;
|
|
1439
|
+
return this.restart();
|
|
1440
|
+
});
|
|
1441
|
+
}
|
|
1442
|
+
};
|
|
1443
|
+
//#endregion
|
|
1444
|
+
//#region lib/types/registry.js
|
|
1445
|
+
function isApplicable(object) {
|
|
1446
|
+
return object && typeof object === "object" && typeof object.apply === "function";
|
|
1447
|
+
}
|
|
1448
|
+
/**
|
|
1449
|
+
* Decorator for declaring service dependencies on classes or class methods.
|
|
1450
|
+
*
|
|
1451
|
+
* On classes it contributes to the plugin's static `inject` map. On methods it
|
|
1452
|
+
* delays the method call until the declared services are available.
|
|
1453
|
+
*/
|
|
1454
|
+
/**
|
|
1455
|
+
* @param name — the required service name.
|
|
1456
|
+
* @param config — optional intercept config applied for that service.
|
|
1457
|
+
* @returns the class or method decorator.
|
|
1458
|
+
*/
|
|
1459
|
+
function Inject(name, config) {
|
|
1460
|
+
return function(value, decorator) {
|
|
1461
|
+
if (decorator.kind === "class") {
|
|
1462
|
+
if (!Object.hasOwn(value, "inject")) {
|
|
1463
|
+
defineProperty(value, "inject", Object.create(Object.getPrototypeOf(value).inject ?? null));
|
|
1464
|
+
defineProperty(value.inject, symbols.checkProto, true);
|
|
1465
|
+
}
|
|
1466
|
+
value.inject[name] = config;
|
|
1467
|
+
} else if (decorator.kind === "method") {
|
|
1468
|
+
const inject = (value[symbols.metadata] ??= {}).inject ??= Object.create(null);
|
|
1469
|
+
inject[name] = config;
|
|
1470
|
+
decorator.addInitializer(function() {
|
|
1471
|
+
const property = this[symbols.tracker]?.property;
|
|
1472
|
+
(this[symbols.initHooks] ??= []).push(() => {
|
|
1473
|
+
this.ctx.inject(inject, (ctx) => {
|
|
1474
|
+
return value.call(property ? withProps(this, { [property]: ctx }) : this);
|
|
1475
|
+
});
|
|
1476
|
+
});
|
|
1477
|
+
});
|
|
1478
|
+
} else throw new Error("@Inject() can only be used on class or class methods");
|
|
1479
|
+
};
|
|
1480
|
+
}
|
|
1481
|
+
/** Utilities for normalizing plugin dependency declarations. */
|
|
1482
|
+
(function(Inject) {
|
|
1483
|
+
/**
|
|
1484
|
+
* Convert array/object/class-inherited inject metadata into a plain map.
|
|
1485
|
+
*
|
|
1486
|
+
* @param inject — the declaration to normalize; `null`/`undefined` add nothing.
|
|
1487
|
+
* @param result — the map to fill (service name → intercept config or `null`).
|
|
1488
|
+
* @returns `result`.
|
|
1489
|
+
*/
|
|
1490
|
+
function resolve(inject, result = Object.create(null)) {
|
|
1491
|
+
if (!inject) return result;
|
|
1492
|
+
if (Array.isArray(inject)) for (const name of inject) result[name] = null;
|
|
1493
|
+
else if (Reflect.has(inject, symbols.checkProto)) {
|
|
1494
|
+
Object.assign(result, resolve(Object.getPrototypeOf(inject)));
|
|
1495
|
+
for (const name of Object.keys(inject)) result[name] = inject[name] ?? null;
|
|
1496
|
+
} else for (const name of Object.keys(inject)) result[name] = inject[name] ?? null;
|
|
1497
|
+
return result;
|
|
1498
|
+
}
|
|
1499
|
+
Inject.resolve = resolve;
|
|
1500
|
+
})(Inject || (Inject = {}));
|
|
1501
|
+
/**
|
|
1502
|
+
* Plugin registry installed as `ctx.registry` and mixed into every context.
|
|
1503
|
+
*
|
|
1504
|
+
* It normalizes plugin shapes, tracks plugin runtimes, starts fibers, and
|
|
1505
|
+
* exposes map-like inspection over active plugin callbacks.
|
|
1506
|
+
*/
|
|
1507
|
+
var RegistryService = class {
|
|
1508
|
+
ctx;
|
|
1509
|
+
_counter = 0;
|
|
1510
|
+
_internal = /* @__PURE__ */ new Map();
|
|
1511
|
+
constructor(ctx) {
|
|
1512
|
+
this.ctx = ctx;
|
|
1513
|
+
defineProperty(this, symbols.tracker, {
|
|
1514
|
+
property: "ctx",
|
|
1515
|
+
noShadow: true
|
|
1516
|
+
});
|
|
1517
|
+
}
|
|
1518
|
+
/** Allocate the next fiber uid (increments on every read). */
|
|
1519
|
+
get counter() {
|
|
1520
|
+
return ++this._counter;
|
|
1521
|
+
}
|
|
1522
|
+
/** Number of registered plugin runtimes. */
|
|
1523
|
+
get size() {
|
|
1524
|
+
return this._internal.size;
|
|
1525
|
+
}
|
|
1526
|
+
/**
|
|
1527
|
+
* Resolve a supported plugin shape to its executable callback.
|
|
1528
|
+
*
|
|
1529
|
+
* @param plugin — a function, class, or `{ apply }` object plugin.
|
|
1530
|
+
* @returns the callback identifying the plugin, or `undefined` if invalid.
|
|
1531
|
+
*/
|
|
1532
|
+
resolve(plugin) {
|
|
1533
|
+
try {
|
|
1534
|
+
if (typeof plugin === "function") return plugin;
|
|
1535
|
+
if (isApplicable(plugin)) return plugin.apply;
|
|
1536
|
+
} catch {}
|
|
1537
|
+
}
|
|
1538
|
+
/**
|
|
1539
|
+
* Look up the runtime record for a plugin.
|
|
1540
|
+
*
|
|
1541
|
+
* @param plugin — any supported plugin shape.
|
|
1542
|
+
* @returns the runtime, or `undefined` when the plugin is not registered.
|
|
1543
|
+
*/
|
|
1544
|
+
get(plugin) {
|
|
1545
|
+
const key = this.resolve(plugin);
|
|
1546
|
+
return key && this._internal.get(key);
|
|
1547
|
+
}
|
|
1548
|
+
/**
|
|
1549
|
+
* Check whether a plugin has a registered runtime.
|
|
1550
|
+
*
|
|
1551
|
+
* @param plugin — any supported plugin shape.
|
|
1552
|
+
* @returns `true` when at least one fiber of the plugin exists.
|
|
1553
|
+
*/
|
|
1554
|
+
has(plugin) {
|
|
1555
|
+
const key = this.resolve(plugin);
|
|
1556
|
+
return !!key && this._internal.has(key);
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* Dispose every running fiber for a plugin and remove its runtime record.
|
|
1560
|
+
*
|
|
1561
|
+
* @param plugin — any supported plugin shape.
|
|
1562
|
+
* @returns the removed runtime, or `undefined` when none was registered.
|
|
1563
|
+
*/
|
|
1564
|
+
delete(plugin) {
|
|
1565
|
+
const key = this.resolve(plugin);
|
|
1566
|
+
const runtime = key && this._internal.get(key);
|
|
1567
|
+
if (!runtime) return;
|
|
1568
|
+
this._internal.delete(key);
|
|
1569
|
+
for (const fiber of runtime.fibers) fiber.dispose();
|
|
1570
|
+
return runtime;
|
|
1571
|
+
}
|
|
1572
|
+
/** Iterate the registered plugin callbacks. */
|
|
1573
|
+
keys() {
|
|
1574
|
+
return this._internal.keys();
|
|
1575
|
+
}
|
|
1576
|
+
/** Iterate the registered plugin runtimes. */
|
|
1577
|
+
values() {
|
|
1578
|
+
return this._internal.values();
|
|
1579
|
+
}
|
|
1580
|
+
/** Iterate `[callback, runtime]` pairs. */
|
|
1581
|
+
entries() {
|
|
1582
|
+
return this._internal.entries();
|
|
1583
|
+
}
|
|
1584
|
+
/**
|
|
1585
|
+
* Visit every registered runtime.
|
|
1586
|
+
*
|
|
1587
|
+
* @param callback — receives each runtime and its identifying callback.
|
|
1588
|
+
*/
|
|
1589
|
+
forEach(callback) {
|
|
1590
|
+
return this._internal.forEach(callback);
|
|
1591
|
+
}
|
|
1592
|
+
/**
|
|
1593
|
+
* Start a callback once the requested dependencies are available.
|
|
1594
|
+
*
|
|
1595
|
+
* @param inject — required services, as an array or a name → config map.
|
|
1596
|
+
* @param callback — plugin body called with `(ctx, config)`.
|
|
1597
|
+
* @returns the fiber; awaiting it settles once loading finished.
|
|
1598
|
+
*/
|
|
1599
|
+
inject(inject, callback) {
|
|
1600
|
+
return this.plugin({
|
|
1601
|
+
inject,
|
|
1602
|
+
apply: callback,
|
|
1603
|
+
name: callback.name
|
|
1604
|
+
});
|
|
1605
|
+
}
|
|
1606
|
+
/**
|
|
1607
|
+
* Start a plugin in the current context and return its fiber.
|
|
1608
|
+
*
|
|
1609
|
+
* Creates (or reuses) the plugin's runtime record, then starts a new fiber
|
|
1610
|
+
* under the current context. Throws if `plugin` is not a supported shape or
|
|
1611
|
+
* if the current fiber is already disposed.
|
|
1612
|
+
*
|
|
1613
|
+
* @param plugin — a function, class, or `{ apply }` object plugin.
|
|
1614
|
+
* @param config — the plugin config, validated against its `Config` schema.
|
|
1615
|
+
* @param getOuterStack — captures the caller stack for effect diagnostics.
|
|
1616
|
+
* @returns the fiber; awaiting it settles once loading finished.
|
|
1617
|
+
*/
|
|
1618
|
+
plugin(plugin, config, getOuterStack = buildOuterStack()) {
|
|
1619
|
+
const callback = this.resolve(plugin);
|
|
1620
|
+
if (!callback) throw new Error("invalid plugin, expect function or object with an \"apply\" method, received " + typeof plugin);
|
|
1621
|
+
this.ctx.fiber.assertActive();
|
|
1622
|
+
let runtime = this._internal.get(callback);
|
|
1623
|
+
if (!runtime) {
|
|
1624
|
+
let name = plugin.name;
|
|
1625
|
+
if (name === "apply") name = void 0;
|
|
1626
|
+
runtime = {
|
|
1627
|
+
name,
|
|
1628
|
+
callback,
|
|
1629
|
+
fibers: new DisposableList(),
|
|
1630
|
+
Config: plugin.Config
|
|
1631
|
+
};
|
|
1632
|
+
this._internal.set(callback, runtime);
|
|
1633
|
+
}
|
|
1634
|
+
const fiber = new Fiber(this.ctx, config, Inject.resolve(plugin.inject), runtime, getOuterStack);
|
|
1635
|
+
const wrapped = Object.create(fiber);
|
|
1636
|
+
wrapped.then = (onFulfilled, onRejected) => {
|
|
1637
|
+
return fiber.await().then(onFulfilled, onRejected);
|
|
1638
|
+
};
|
|
1639
|
+
return wrapped;
|
|
1640
|
+
}
|
|
1641
|
+
};
|
|
1642
|
+
//#endregion
|
|
1643
|
+
//#region lib/types/context.js
|
|
1644
|
+
/**
|
|
1645
|
+
* Root and child dependency containers for Cordis plugins.
|
|
1646
|
+
*
|
|
1647
|
+
* A context is a proxy: normal property reads go through the service resolver,
|
|
1648
|
+
* while `extend()`, `isolate()`, and `intercept()` create scoped child
|
|
1649
|
+
* contexts without mutating their parent.
|
|
1650
|
+
*/
|
|
1651
|
+
var Context = class Context {
|
|
1652
|
+
/** Symbol key under which a disposer exposes its {@link EffectMeta} diagnostics tree. */
|
|
1653
|
+
static effect = symbols.effect;
|
|
1654
|
+
/** Symbol key for a context's listener filter, consulted on every event dispatch. */
|
|
1655
|
+
static filter = symbols.filter;
|
|
1656
|
+
/** Symbol key of the isolation map (see the `Context[symbols.isolate]` property). */
|
|
1657
|
+
static isolate = symbols.isolate;
|
|
1658
|
+
/** Symbol key of the intercept map (see the `Context[symbols.intercept]` property). */
|
|
1659
|
+
static intercept = symbols.intercept;
|
|
1660
|
+
/**
|
|
1661
|
+
* Returns true for Cordis context proxies and context prototypes.
|
|
1662
|
+
*
|
|
1663
|
+
* Works across realms and across multiple copies of cordis, because the
|
|
1664
|
+
* brand is keyed by a global symbol rather than by `instanceof`.
|
|
1665
|
+
*
|
|
1666
|
+
* @param value — the value to test.
|
|
1667
|
+
* @returns `true` if `value` is a Cordis context, narrowing its type.
|
|
1668
|
+
*/
|
|
1669
|
+
static is(value) {
|
|
1670
|
+
return !!value?.[Context.is];
|
|
1671
|
+
}
|
|
1672
|
+
static {
|
|
1673
|
+
Context.is[Symbol.toPrimitive] = () => Symbol.for("cordis.is");
|
|
1674
|
+
Context.prototype[Context.is] = true;
|
|
1675
|
+
}
|
|
1676
|
+
/** Create the root context and install the built-in services. */
|
|
1677
|
+
constructor() {
|
|
1678
|
+
this[symbols.isolate] = Object.create(null);
|
|
1679
|
+
this[symbols.intercept] = Object.create(null);
|
|
1680
|
+
const self = new Proxy(this, ReflectService.handler);
|
|
1681
|
+
this.root = self;
|
|
1682
|
+
this.baseUrl = void 0;
|
|
1683
|
+
this.fiber = new Fiber(self, {}, Object.create(null), null, () => []);
|
|
1684
|
+
this.reflect = new ReflectService(self);
|
|
1685
|
+
this.registry = new RegistryService(self);
|
|
1686
|
+
this.events = new EventsService(self);
|
|
1687
|
+
this.logger = new LoggerService(self);
|
|
1688
|
+
this.fiber._disposables.clear();
|
|
1689
|
+
return self;
|
|
1690
|
+
}
|
|
1691
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
1692
|
+
return `Context <${this.fiber.name}>`;
|
|
1693
|
+
}
|
|
1694
|
+
/**
|
|
1695
|
+
* Create a child context with extra metadata on top of the current scope.
|
|
1696
|
+
*
|
|
1697
|
+
* The child prototypally inherits every property of this context; own
|
|
1698
|
+
* properties of `meta` shadow the inherited ones. The parent is not mutated.
|
|
1699
|
+
*
|
|
1700
|
+
* @param meta — own properties (including symbol keys) to define on the child.
|
|
1701
|
+
* @returns a child context inheriting from this one.
|
|
1702
|
+
*/
|
|
1703
|
+
extend(meta = {}) {
|
|
1704
|
+
const shadow = Reflect.getOwnPropertyDescriptor(this, symbols.shadow)?.value;
|
|
1705
|
+
const self = Object.create(getTraceable(this, this));
|
|
1706
|
+
for (const prop of Reflect.ownKeys(meta)) Object.defineProperty(self, prop, Reflect.getOwnPropertyDescriptor(meta, prop));
|
|
1707
|
+
if (!shadow) return self;
|
|
1708
|
+
return Object.assign(Object.create(self), { [symbols.shadow]: shadow });
|
|
1709
|
+
}
|
|
1710
|
+
/**
|
|
1711
|
+
* Create a child context with an independent service scope for `name`.
|
|
1712
|
+
*
|
|
1713
|
+
* Below the returned context, reads and writes of the service `name`
|
|
1714
|
+
* resolve against the new label instead of the parent's, so a different
|
|
1715
|
+
* implementation can be provided without affecting the parent scope.
|
|
1716
|
+
* Passing the same `label` to two `isolate()` calls joins their scopes.
|
|
1717
|
+
*
|
|
1718
|
+
* @param name — the service name to isolate.
|
|
1719
|
+
* @param label — scope label to join; defaults to a fresh unique symbol.
|
|
1720
|
+
* @returns a child context whose `name` service resolves in the new scope.
|
|
1721
|
+
*/
|
|
1722
|
+
isolate(name, label) {
|
|
1723
|
+
const shadow = Object.create(this[symbols.isolate]);
|
|
1724
|
+
shadow[name] = label ?? Symbol(name);
|
|
1725
|
+
return this.extend({ [symbols.isolate]: shadow });
|
|
1726
|
+
}
|
|
1727
|
+
intercept(name, config) {
|
|
1728
|
+
const intercept = Object.create(this[symbols.intercept]);
|
|
1729
|
+
intercept[name] = config;
|
|
1730
|
+
return this.extend({ [symbols.intercept]: intercept });
|
|
1731
|
+
}
|
|
1732
|
+
};
|
|
1733
|
+
//#endregion
|
|
1734
|
+
//#region lib/types/service.js
|
|
1735
|
+
/**
|
|
1736
|
+
* Base class for services that expose a named API on `ctx`.
|
|
1737
|
+
*
|
|
1738
|
+
* Subclasses call `super(ctx, name)` from their constructor. The service is
|
|
1739
|
+
* registered immediately and is automatically removed with the owning fiber.
|
|
1740
|
+
*/
|
|
1741
|
+
var Service = class Service {
|
|
1742
|
+
ctx;
|
|
1743
|
+
/** Symbol key of an instance method run after construction (class plugins). */
|
|
1744
|
+
static init = symbols.init;
|
|
1745
|
+
/** Symbol key of the availability predicate passed to `ctx.provide()`. */
|
|
1746
|
+
static check = symbols.check;
|
|
1747
|
+
/** Symbol key of the phantom intercept-config type parameter. */
|
|
1748
|
+
static config = symbols.config;
|
|
1749
|
+
/** Symbol key of the call body making a service callable (e.g. `ctx.logger()`). */
|
|
1750
|
+
static invoke = symbols.invoke;
|
|
1751
|
+
/** Symbol key of the helper deriving an extended service instance. */
|
|
1752
|
+
static extend = symbols.extend;
|
|
1753
|
+
/** Symbol key of the tracker metadata used for context tracing. */
|
|
1754
|
+
static tracker = symbols.tracker;
|
|
1755
|
+
/** Symbol key of the intercept-config resolution helper below. */
|
|
1756
|
+
static resolveConfig = symbols.resolveConfig;
|
|
1757
|
+
/** The service name this instance is registered under. */
|
|
1758
|
+
name;
|
|
1759
|
+
/**
|
|
1760
|
+
* Register this instance as `name` in the current context.
|
|
1761
|
+
*
|
|
1762
|
+
* Calls `ctx.reflect.provide(name, this, this[Service.check])`, so the
|
|
1763
|
+
* service is unregistered automatically when the owning fiber unloads.
|
|
1764
|
+
* Services with a `[Service.invoke]` body return a callable instance.
|
|
1765
|
+
*
|
|
1766
|
+
* @param ctx — the context to register in (stored as `this.ctx`).
|
|
1767
|
+
* @param name — the service name; defaults to the static `provide` field.
|
|
1768
|
+
*/
|
|
1769
|
+
constructor(ctx, name) {
|
|
1770
|
+
this.ctx = ctx;
|
|
1771
|
+
name ??= this.constructor["provide"];
|
|
1772
|
+
let self = this;
|
|
1773
|
+
const tracker = {
|
|
1774
|
+
associate: name,
|
|
1775
|
+
property: "ctx"
|
|
1776
|
+
};
|
|
1777
|
+
if (self[symbols.invoke]) self = createCallable(name, joinPrototype(Object.getPrototypeOf(this), Function.prototype), tracker);
|
|
1778
|
+
self.ctx = ctx;
|
|
1779
|
+
self.name = name;
|
|
1780
|
+
defineProperty(self, symbols.tracker, tracker);
|
|
1781
|
+
self.ctx.reflect.provide(name, self, this[symbols.check]);
|
|
1782
|
+
return self;
|
|
1783
|
+
}
|
|
1784
|
+
[symbols.filter](ctx) {
|
|
1785
|
+
return ctx[symbols.isolate][this.name] === this.ctx[symbols.isolate][this.name];
|
|
1786
|
+
}
|
|
1787
|
+
[symbols.extend](props) {
|
|
1788
|
+
let self;
|
|
1789
|
+
if (this[Service.invoke]) self = createCallable(this.name, this, this[symbols.tracker]);
|
|
1790
|
+
else self = Object.create(this);
|
|
1791
|
+
return Object.assign(self, props);
|
|
1792
|
+
}
|
|
1793
|
+
/**
|
|
1794
|
+
* Merge intercept config from ancestors with optional base and head values.
|
|
1795
|
+
*
|
|
1796
|
+
* Entries added closer to the root apply first; `base` is prepended and
|
|
1797
|
+
* `head` appended. Uses `Config.merge` when the service declares one,
|
|
1798
|
+
* otherwise a shallow `Object.assign`.
|
|
1799
|
+
*
|
|
1800
|
+
* @param base — lowest-precedence config merged before all intercepts.
|
|
1801
|
+
* @param head — highest-precedence config merged after all intercepts.
|
|
1802
|
+
* @returns the merged config.
|
|
1803
|
+
*/
|
|
1804
|
+
[symbols.resolveConfig](base, head) {
|
|
1805
|
+
let intercept = this.ctx[Context.intercept];
|
|
1806
|
+
const configs = [];
|
|
1807
|
+
while (this.name in intercept) {
|
|
1808
|
+
if (Object.hasOwn(intercept, this.name)) configs.unshift(intercept[this.name]);
|
|
1809
|
+
intercept = Object.getPrototypeOf(intercept);
|
|
1810
|
+
}
|
|
1811
|
+
if (base) configs.unshift(base);
|
|
1812
|
+
if (head) configs.push(head);
|
|
1813
|
+
if (this["Config"]?.merge) return this["Config"].merge(...configs);
|
|
1814
|
+
else return Object.assign({}, ...configs);
|
|
1815
|
+
}
|
|
1816
|
+
static [Symbol.hasInstance](instance) {
|
|
1817
|
+
if (!instance) return false;
|
|
1818
|
+
let constructor = instance.constructor;
|
|
1819
|
+
while (constructor) {
|
|
1820
|
+
constructor = constructor.prototype?.constructor;
|
|
1821
|
+
if (constructor === this) return true;
|
|
1822
|
+
constructor &&= Object.getPrototypeOf(constructor);
|
|
1823
|
+
}
|
|
1824
|
+
return false;
|
|
1825
|
+
}
|
|
1826
|
+
};
|
|
1827
|
+
//#endregion
|
|
1828
|
+
export { Context, CordisError, DisposableList, EventsService, Fiber, Inject, Logger, LoggerService, RegistryService, Service, ValidationError, buildOuterStack, c16, c256, composeError, createCallable, defaultFormatters, getPropertyDescriptor, getTraceable, isBailed, isConstructor, isObject, joinPrototype, resolveConfig, symbols, withProps };
|