@makaio/framework 1.0.0-dev-1779046984397
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/LICENSE +21 -0
- package/README.md +363 -0
- package/dist/account-identity-Ce1Bwrqi.mjs +1 -0
- package/dist/adapter-CbyjCE2d.mjs +1 -0
- package/dist/adapters/acp-client/index.d.mts +209 -0
- package/dist/adapters/acp-client/index.mjs +1 -0
- package/dist/adapters/config/index.d.mts +429 -0
- package/dist/adapters/config/index.mjs +1 -0
- package/dist/adapters/index.d.mts +4175 -0
- package/dist/adapters/index.mjs +11 -0
- package/dist/adapters/node.d.mts +263 -0
- package/dist/adapters/node.mjs +4 -0
- package/dist/adapters/stream-session/index.d.mts +1384 -0
- package/dist/adapters/stream-session/index.mjs +1 -0
- package/dist/adapters/stream-session/testing/index.d.mts +29 -0
- package/dist/adapters/stream-session/testing/index.mjs +1 -0
- package/dist/base-orchestrator-9z8TuA5a.d.mts +772 -0
- package/dist/bus/index.d.mts +3331 -0
- package/dist/bus/index.mjs +1 -0
- package/dist/bus-B1seC4M_.mjs +2 -0
- package/dist/capability-service-tnpR_TaB.mjs +1 -0
- package/dist/chunk-Dc06z0qk.mjs +1 -0
- package/dist/chunk-cpUYaJdV.mjs +1 -0
- package/dist/cleanEnvForAdapter-DvcIGXTG.mjs +1 -0
- package/dist/client-Dh4x4GQN.mjs +1 -0
- package/dist/clients/index.d.mts +2786 -0
- package/dist/clients/index.mjs +1 -0
- package/dist/clients-namespace-B0xAPZ6J.d.mts +332 -0
- package/dist/config-namespace-DLSs83zr.d.mts +638 -0
- package/dist/config-namespace-MJT8P0Ud.mjs +1 -0
- package/dist/contracts/adapter/index.d.mts +3 -0
- package/dist/contracts/adapter/index.mjs +1 -0
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +2 -0
- package/dist/contracts/adapter/schemas/session-lineage.mjs +1 -0
- package/dist/contracts/client/index.d.mts +3 -0
- package/dist/contracts/client/index.mjs +1 -0
- package/dist/contracts/common/index.d.mts +2 -0
- package/dist/contracts/common/index.mjs +1 -0
- package/dist/contracts/config/index.d.mts +455 -0
- package/dist/contracts/config/index.mjs +1 -0
- package/dist/contracts/extension/index.d.mts +3 -0
- package/dist/contracts/extension/index.mjs +1 -0
- package/dist/contracts/harness/index.d.mts +2 -0
- package/dist/contracts/harness/index.mjs +1 -0
- package/dist/contracts/host/index.d.mts +2 -0
- package/dist/contracts/host/index.mjs +1 -0
- package/dist/contracts/index.d.mts +12665 -0
- package/dist/contracts/index.mjs +1 -0
- package/dist/contracts/model-registry/index.d.mts +2 -0
- package/dist/contracts/model-registry/index.mjs +1 -0
- package/dist/contracts/native-session-supervisor/index.d.mts +2 -0
- package/dist/contracts/native-session-supervisor/index.mjs +1 -0
- package/dist/contracts/platform/index.d.mts +2 -0
- package/dist/contracts/platform/index.mjs +1 -0
- package/dist/contracts/provider/index.d.mts +3 -0
- package/dist/contracts/provider/index.mjs +1 -0
- package/dist/contracts/session/index.d.mts +3 -0
- package/dist/contracts/session/index.mjs +1 -0
- package/dist/contracts/shared/index.d.mts +2 -0
- package/dist/contracts/shared/index.mjs +1 -0
- package/dist/contracts/skill/index.d.mts +2 -0
- package/dist/contracts/skill/index.mjs +1 -0
- package/dist/contracts/toast/index.d.mts +198 -0
- package/dist/contracts/toast/index.mjs +1 -0
- package/dist/contracts/variant/index.d.mts +2 -0
- package/dist/contracts/variant/index.mjs +1 -0
- package/dist/core/index.d.mts +1001 -0
- package/dist/core/index.mjs +1 -0
- package/dist/credential-ref-DLCsoKVZ.mjs +1 -0
- package/dist/cursor-storage-DOQdvo9j.mjs +1 -0
- package/dist/definition-DkYy1PZz.mjs +1 -0
- package/dist/definition-DtUNiGom.d.mts +158 -0
- package/dist/definition-DxvZ9e22.d.mts +376 -0
- package/dist/drizzle-CWVVw7Er.mjs +1 -0
- package/dist/execution-target-BW_uiBVe.mjs +1 -0
- package/dist/extension-COqwS-2Q.mjs +1 -0
- package/dist/extension-Cbrl4YGX.mjs +1 -0
- package/dist/extension-namespace-zaGKi6Qj.mjs +1 -0
- package/dist/handlers-iGKUJ380.mjs +41 -0
- package/dist/harness-CEq1Zkf9.mjs +1 -0
- package/dist/hooks/index.d.mts +423 -0
- package/dist/hooks/index.mjs +1 -0
- package/dist/host-CXAUGGN0.mjs +1 -0
- package/dist/identity-B_A0mE63.mjs +1 -0
- package/dist/index-6lyShOoU.d.mts +225 -0
- package/dist/index-7sXlairn2.d.mts +43 -0
- package/dist/index-BAKM2GMH2.d.mts +535 -0
- package/dist/index-BB419vv-.d.mts +3897 -0
- package/dist/index-BJOfdtbw.d.mts +729 -0
- package/dist/index-BXP9GK5q.d.mts +1075 -0
- package/dist/index-BdPwu6c0.d.mts +1730 -0
- package/dist/index-BePI0ckL.d.mts +40 -0
- package/dist/index-Bigx81Kr.d.mts +37 -0
- package/dist/index-BnNqbx2I.d.mts +134 -0
- package/dist/index-Bv15sNLn.d.mts +389 -0
- package/dist/index-C-myW_aK.d.mts +412 -0
- package/dist/index-C9F3Fc1A.d.mts +2938 -0
- package/dist/index-CNxS4Tlu.d.mts +1 -0
- package/dist/index-CVA0m1g9.d.mts +995 -0
- package/dist/index-C_kS2aqV2.d.mts +438 -0
- package/dist/index-Ch3ph52M2.d.mts +40 -0
- package/dist/index-CnZOKNjU.d.mts +89 -0
- package/dist/index-D1T-PPqF.d.mts +67 -0
- package/dist/index-D7T8XCku.d.mts +341 -0
- package/dist/index-DBQtpFLE.d.mts +4843 -0
- package/dist/index-DEw90pa2.d.mts +183 -0
- package/dist/index-DQRsGXb5.d.mts +109 -0
- package/dist/index-Dd5s4MSm.d.mts +72 -0
- package/dist/index-DubqLGH8.d.mts +1002 -0
- package/dist/index-ESSDWIB7.d.mts +11 -0
- package/dist/index-N5K1NOYs.d.mts +184 -0
- package/dist/index-PdUSmPT2.d.mts +180 -0
- package/dist/index-SzSiyG61.d.mts +117 -0
- package/dist/index-T0471kWA.d.mts +6760 -0
- package/dist/index-WKjrpcA_.d.mts +218 -0
- package/dist/index-hapw9_En.d.mts +13592 -0
- package/dist/index-iID2R9G1.d.mts +1490 -0
- package/dist/kernel/cli/index.d.mts +141 -0
- package/dist/kernel/cli/index.mjs +1 -0
- package/dist/kernel/cli/schemas.d.mts +63 -0
- package/dist/kernel/cli/schemas.mjs +1 -0
- package/dist/kernel/extension/index.d.mts +2 -0
- package/dist/kernel/extension/index.mjs +1 -0
- package/dist/kernel/index.d.mts +296 -0
- package/dist/kernel/index.mjs +1 -0
- package/dist/kernel/namespace/index.d.mts +2 -0
- package/dist/kernel/namespace/index.mjs +1 -0
- package/dist/kernel/observability/index.d.mts +2 -0
- package/dist/kernel/observability/index.mjs +1 -0
- package/dist/kernel/providers/index.d.mts +2 -0
- package/dist/kernel/providers/index.mjs +1 -0
- package/dist/kernel/window/index.d.mts +2 -0
- package/dist/kernel/window/index.mjs +1 -0
- package/dist/model-registry-BNzpR6TU.mjs +1 -0
- package/dist/model-registry-CIscwC52.mjs +1 -0
- package/dist/namespace-0yuzAKlr.mjs +1 -0
- package/dist/namespace-8cNguvIp.mjs +1 -0
- package/dist/namespace-BK2erxpV.d.mts +921 -0
- package/dist/namespace-Bmc7AW4J2.mjs +1 -0
- package/dist/namespace-C2ufjgaQ.d.mts +767 -0
- package/dist/namespace-C54Oj025.d.mts +159 -0
- package/dist/namespace-CCDEOwmW.d.mts +1313 -0
- package/dist/namespace-CfEWMXBx.mjs +1 -0
- package/dist/namespace-CkLUtc0g.d.mts +580 -0
- package/dist/namespace-D5Wrt7YU.mjs +1 -0
- package/dist/namespace-DZcuLwEA.d.mts +51 -0
- package/dist/namespace-Db-p67Rg.mjs +1 -0
- package/dist/namespace-FWx6HxaW.d.mts +611 -0
- package/dist/namespace-GLGGcWPH.d.mts +43 -0
- package/dist/namespace-N0dfwSg6.mjs +1 -0
- package/dist/namespace-O5SNY-LV.d.mts +2226 -0
- package/dist/namespace-ZbthBQVt.d.mts +142 -0
- package/dist/namespace-bq4Prtzn.d.mts +2046 -0
- package/dist/namespace-pNcSglBS.mjs +1 -0
- package/dist/namespace-ptv-pw_g.d.mts +3019 -0
- package/dist/namespace-xkvVw3hf2.d.mts +189 -0
- package/dist/native-session-supervisor-L-UIaEfd.mjs +1 -0
- package/dist/node/bus-server/index.d.mts +178 -0
- package/dist/node/bus-server/index.mjs +1 -0
- package/dist/node/bus-server/server-lifecycle.d.mts +2 -0
- package/dist/node/bus-server/server-lifecycle.mjs +1 -0
- package/dist/node/machine-identity/index.d.mts +85 -0
- package/dist/node/machine-identity/index.mjs +3 -0
- package/dist/node/transports/index.d.mts +1752 -0
- package/dist/node/transports/index.mjs +2 -0
- package/dist/orchestrator-shared-DrjtTXYh.d.mts +249 -0
- package/dist/orchestrator-shared-Wv1GI2mW.mjs +1 -0
- package/dist/platform-BbSLVg5b.mjs +1 -0
- package/dist/profile-4StaDQW0.mjs +1 -0
- package/dist/provider-context-CNRQ4d5m.mjs +1 -0
- package/dist/providers/index.d.mts +135 -0
- package/dist/providers/index.mjs +1 -0
- package/dist/providers-Cr4Za8a1.mjs +1 -0
- package/dist/providers-namespace-CDwxY_DV.d.mts +583 -0
- package/dist/schema-BwzXEtT2.d.mts +837 -0
- package/dist/schema-CAw_BqaG.mjs +1 -0
- package/dist/schema-introspection-D61TT_7b.mjs +1 -0
- package/dist/schema-uSGW-6oM.mjs +1 -0
- package/dist/schemas-BXstpWVp.mjs +1 -0
- package/dist/schemas-BdMU-gew.d.mts +160 -0
- package/dist/schemas-C40ZAJ33.mjs +1 -0
- package/dist/schemas-C5xtVqdb.d.mts +46 -0
- package/dist/schemas-CGZy_rU6.d.mts +13 -0
- package/dist/schemas-CLxtoKFy.mjs +1 -0
- package/dist/schemas-Co_sVhzz.mjs +1 -0
- package/dist/schemas-D9108Iv1.d.mts +182 -0
- package/dist/schemas-DENVYyds.d.mts +463 -0
- package/dist/schemas-DbWs_hj8.d.mts +174 -0
- package/dist/schemas-Di0XnnMX.d.mts +73 -0
- package/dist/schemas-KMA1efQg.d.mts +944 -0
- package/dist/schemas-qmn5SWPU.d.mts +312 -0
- package/dist/schemas-sshQEF3l.d.mts +237 -0
- package/dist/server-lifecycle-Cf_SZ27k.d.mts +160 -0
- package/dist/server-lifecycle-DbFwlrTW.mjs +1 -0
- package/dist/service-base/index.d.mts +98 -0
- package/dist/service-base/index.mjs +1 -0
- package/dist/services/adapter-runtime/index.d.mts +4 -0
- package/dist/services/adapter-runtime/index.mjs +1 -0
- package/dist/services/adapter-runtime/namespace.d.mts +2 -0
- package/dist/services/adapter-runtime/namespace.mjs +1 -0
- package/dist/services/adapter-runtime/schemas.d.mts +2 -0
- package/dist/services/adapter-runtime/schemas.mjs +1 -0
- package/dist/services/adapter-subsystem/index.d.mts +3 -0
- package/dist/services/adapter-subsystem/index.mjs +1 -0
- package/dist/services/adapter-subsystem/namespace.d.mts +2 -0
- package/dist/services/adapter-subsystem/namespace.mjs +1 -0
- package/dist/services/agent-runtime/index.d.mts +3 -0
- package/dist/services/agent-runtime/index.mjs +1 -0
- package/dist/services/agent-runtime/namespace.d.mts +2 -0
- package/dist/services/agent-runtime/namespace.mjs +1 -0
- package/dist/services/agent-runtime/schemas.d.mts +2 -0
- package/dist/services/agent-runtime/schemas.mjs +1 -0
- package/dist/services/capability/index.d.mts +2 -0
- package/dist/services/capability/index.mjs +1 -0
- package/dist/services/cli-detection/namespace.d.mts +56 -0
- package/dist/services/cli-detection/namespace.mjs +1 -0
- package/dist/services/codebase/index.d.mts +3 -0
- package/dist/services/codebase/index.mjs +1 -0
- package/dist/services/codebase/namespace.d.mts +2 -0
- package/dist/services/codebase/namespace.mjs +1 -0
- package/dist/services/codebase/schemas.d.mts +2 -0
- package/dist/services/codebase/schemas.mjs +1 -0
- package/dist/services/compression/index.d.mts +3 -0
- package/dist/services/compression/index.mjs +1 -0
- package/dist/services/compression/namespace.d.mts +2 -0
- package/dist/services/compression/namespace.mjs +1 -0
- package/dist/services/compression/schemas.d.mts +2 -0
- package/dist/services/compression/schemas.mjs +1 -0
- package/dist/services/context-rules/index.d.mts +412 -0
- package/dist/services/context-rules/index.mjs +1 -0
- package/dist/services/credential-change/index.d.mts +17 -0
- package/dist/services/credential-change/index.mjs +1 -0
- package/dist/services/definition/index.d.mts +2 -0
- package/dist/services/definition/index.mjs +1 -0
- package/dist/services/definition/namespace.d.mts +71 -0
- package/dist/services/definition/namespace.mjs +1 -0
- package/dist/services/definition/schemas.d.mts +38 -0
- package/dist/services/definition/schemas.mjs +1 -0
- package/dist/services/dialog/namespace.d.mts +105 -0
- package/dist/services/dialog/namespace.mjs +1 -0
- package/dist/services/dialog/schemas.d.mts +109 -0
- package/dist/services/dialog/schemas.mjs +1 -0
- package/dist/services/execution-target/index.d.mts +4 -0
- package/dist/services/execution-target/index.mjs +1 -0
- package/dist/services/execution-target/namespace.d.mts +2 -0
- package/dist/services/execution-target/namespace.mjs +1 -0
- package/dist/services/execution-target/schemas.d.mts +2 -0
- package/dist/services/execution-target/schemas.mjs +1 -0
- package/dist/services/filesystem/namespace.d.mts +432 -0
- package/dist/services/filesystem/namespace.mjs +1 -0
- package/dist/services/filesystem/schemas.d.mts +240 -0
- package/dist/services/filesystem/schemas.mjs +1 -0
- package/dist/services/harness/index.d.mts +861 -0
- package/dist/services/harness/index.mjs +1 -0
- package/dist/services/harness/storage/schema.d.mts +424 -0
- package/dist/services/harness/storage/schema.mjs +1 -0
- package/dist/services/index.d.mts +5703 -0
- package/dist/services/index.mjs +1 -0
- package/dist/services/local-notification/index.d.mts +25 -0
- package/dist/services/local-notification/index.mjs +1 -0
- package/dist/services/local-notification/namespace.d.mts +73 -0
- package/dist/services/local-notification/namespace.mjs +1 -0
- package/dist/services/local-notification/schemas.d.mts +88 -0
- package/dist/services/local-notification/schemas.mjs +1 -0
- package/dist/services/log-import/browser.d.mts +3 -0
- package/dist/services/log-import/browser.mjs +1 -0
- package/dist/services/log-import/index.d.mts +275 -0
- package/dist/services/log-import/index.mjs +2 -0
- package/dist/services/log-import/log-import.d.mts +3 -0
- package/dist/services/log-import/log-import.mjs +1 -0
- package/dist/services/log-import/namespace.d.mts +327 -0
- package/dist/services/log-import/namespace.mjs +1 -0
- package/dist/services/log-import/schemas.d.mts +217 -0
- package/dist/services/log-import/schemas.mjs +1 -0
- package/dist/services/model-registry/index.d.mts +2 -0
- package/dist/services/model-registry/index.mjs +1 -0
- package/dist/services/preferences/index.d.mts +3 -0
- package/dist/services/preferences/index.mjs +1 -0
- package/dist/services/preferences/schemas.d.mts +2 -0
- package/dist/services/preferences/schemas.mjs +1 -0
- package/dist/services/preferences/storage-namespace.d.mts +3 -0
- package/dist/services/preferences/storage-namespace.mjs +1 -0
- package/dist/services/provider-context/index.d.mts +2 -0
- package/dist/services/provider-context/index.mjs +1 -0
- package/dist/services/provider-runtime/index.d.mts +136 -0
- package/dist/services/provider-runtime/index.mjs +1 -0
- package/dist/services/session/handlers/index.d.mts +2 -0
- package/dist/services/session/handlers/index.mjs +1 -0
- package/dist/services/session/index.d.mts +10 -0
- package/dist/services/session/index.mjs +1 -0
- package/dist/services/session/messages/namespace.d.mts +2 -0
- package/dist/services/session/messages/namespace.mjs +1 -0
- package/dist/services/session/orchestrator-testing/index.d.mts +2 -0
- package/dist/services/session/orchestrator-testing/index.mjs +1 -0
- package/dist/services/session/session-events/namespace.d.mts +2 -0
- package/dist/services/session/session-events/namespace.mjs +1 -0
- package/dist/services/session/storage/namespace.d.mts +2 -0
- package/dist/services/session/storage/namespace.mjs +1 -0
- package/dist/services/session/storage/schema.d.mts +2 -0
- package/dist/services/session/storage/schema.mjs +1 -0
- package/dist/services/session/testing/index.d.mts +35 -0
- package/dist/services/session/testing/index.mjs +52 -0
- package/dist/services/session/testing/orchestrator-shared.d.mts +2 -0
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -0
- package/dist/services/session/turns/namespace.d.mts +2 -0
- package/dist/services/session/turns/namespace.mjs +1 -0
- package/dist/services/session-editor/index.d.mts +119 -0
- package/dist/services/session-editor/index.mjs +1 -0
- package/dist/services/settings/index.d.mts +47 -0
- package/dist/services/settings/index.mjs +1 -0
- package/dist/services/settings/namespace.d.mts +662 -0
- package/dist/services/settings/namespace.mjs +1 -0
- package/dist/services/settings/storage/clients-namespace.d.mts +2 -0
- package/dist/services/settings/storage/clients-namespace.mjs +1 -0
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +184 -0
- package/dist/services/settings/storage/extension-configs/namespace.mjs +1 -0
- package/dist/services/settings/storage/index.d.mts +4 -0
- package/dist/services/settings/storage/index.mjs +1 -0
- package/dist/services/settings/storage/providers-namespace.d.mts +2 -0
- package/dist/services/settings/storage/providers-namespace.mjs +1 -0
- package/dist/services/tool-approval/index.d.mts +2 -0
- package/dist/services/tool-approval/index.mjs +1 -0
- package/dist/services/tools/index.d.mts +2 -0
- package/dist/services/tools/index.mjs +1 -0
- package/dist/services/tray-menu/index.d.mts +4 -0
- package/dist/services/tray-menu/index.mjs +1 -0
- package/dist/services/tray-menu/namespace.d.mts +2 -0
- package/dist/services/tray-menu/namespace.mjs +1 -0
- package/dist/services/tray-menu/schemas.d.mts +2 -0
- package/dist/services/tray-menu/schemas.mjs +1 -0
- package/dist/services/turn/index.d.mts +2 -0
- package/dist/services/turn/index.mjs +1 -0
- package/dist/services/turn/namespace.d.mts +2 -0
- package/dist/services/turn/namespace.mjs +1 -0
- package/dist/services/turn/schemas.d.mts +335 -0
- package/dist/services/turn/schemas.mjs +1 -0
- package/dist/services/worker/index.d.mts +3 -0
- package/dist/services/worker/index.mjs +1 -0
- package/dist/services/worker/namespace.d.mts +2 -0
- package/dist/services/worker/namespace.mjs +1 -0
- package/dist/services/worker/schemas.d.mts +2 -0
- package/dist/services/worker/schemas.mjs +1 -0
- package/dist/session-Do6lDZM4.mjs +123 -0
- package/dist/session-lineage-Eev4uo4I.d.mts +65 -0
- package/dist/session-piI1R5rP.mjs +1 -0
- package/dist/shared-DxHLl9UP.mjs +1 -0
- package/dist/shared-schemas-BgQv_tnu.mjs +1 -0
- package/dist/skill-CB5h-ZFQ.mjs +1 -0
- package/dist/storage/drizzle/client.d.mts +78 -0
- package/dist/storage/drizzle/client.mjs +1 -0
- package/dist/storage/drizzle/index.d.mts +98 -0
- package/dist/storage/drizzle/index.mjs +1 -0
- package/dist/storage/handlers/drizzle/index.d.mts +2 -0
- package/dist/storage/handlers/drizzle/index.mjs +1 -0
- package/dist/storage/handlers/index.d.mts +33 -0
- package/dist/storage/handlers/index.mjs +1 -0
- package/dist/storage/index.d.mts +192 -0
- package/dist/storage/index.mjs +1 -0
- package/dist/storage-namespace-ADwyijoe.mjs +1 -0
- package/dist/storage-namespace-DAm8iWEj.d.mts +221 -0
- package/dist/storage-namespace-definition-CHu2k14q.mjs +1 -0
- package/dist/storage-namespace-definition-CJgqyXH1.d.mts +17 -0
- package/dist/style.css +3782 -0
- package/dist/testing/drizzle-harness.d.mts +130 -0
- package/dist/testing/drizzle-harness.mjs +1 -0
- package/dist/testing/index.d.mts +106 -0
- package/dist/testing/index.mjs +1 -0
- package/dist/tool-approval-service-BcBSUZCO.mjs +1 -0
- package/dist/tools/index.d.mts +825 -0
- package/dist/tools/index.mjs +1 -0
- package/dist/tools/testing/index.d.mts +53 -0
- package/dist/tools/testing/index.mjs +1 -0
- package/dist/tools-CDSgj0ee.mjs +1 -0
- package/dist/tray-menu-service-CTXC1Elg.mjs +1 -0
- package/dist/types-6WxLfoM3.d.mts +31 -0
- package/dist/types-BjToUrHp.d.mts +6619 -0
- package/dist/types-CD1LJwPc.d.mts +1009 -0
- package/dist/types-Cvrj2ogm.d.mts +305 -0
- package/dist/types-DYF5LxZY.d.mts +233 -0
- package/dist/types-t295YC6T.d.mts +262 -0
- package/dist/types-vNpkAe4Y.d.mts +128 -0
- package/dist/ui-components/index.d.mts +2342 -0
- package/dist/ui-components/index.mjs +8 -0
- package/dist/ui-config-CXmbsqZV.mjs +1 -0
- package/dist/ui-hooks/index.d.mts +1805 -0
- package/dist/ui-hooks/index.mjs +1 -0
- package/dist/ui-kernel/index.d.mts +2793 -0
- package/dist/ui-kernel/index.mjs +1 -0
- package/dist/ui-kernel/pages/namespace.d.mts +88 -0
- package/dist/ui-kernel/pages/namespace.mjs +1 -0
- package/dist/ui-kernel/pages/schemas.d.mts +2 -0
- package/dist/ui-kernel/pages/schemas.mjs +1 -0
- package/dist/ui-views/index.d.mts +487 -0
- package/dist/ui-views/index.mjs +30 -0
- package/dist/utils/health-probe.d.mts +26 -0
- package/dist/utils/health-probe.mjs +1 -0
- package/dist/utils/index.d.mts +227 -0
- package/dist/utils/index.mjs +2 -0
- package/dist/utils/keychain.d.mts +31 -0
- package/dist/utils/keychain.mjs +1 -0
- package/dist/utils/resolve-package-root.d.mts +12 -0
- package/dist/utils/resolve-package-root.mjs +1 -0
- package/dist/utils/workspace-root.d.mts +27 -0
- package/dist/utils/workspace-root.mjs +2 -0
- package/dist/variant-D5kSrL3m.mjs +1 -0
- package/dist/version-CjS20oXi.mjs +1 -0
- package/dist/visibility-CZu8ooOA.mjs +1 -0
- package/dist/window-registry-CUftmDr3.mjs +1 -0
- package/dist/window-registry-C_IJmY8_.d.mts +130 -0
- package/package.json +346 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e,{createContext as t,lazy as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{jsx as u}from"react/jsx-runtime";import{PreferencesSubjects as d}from"@makaio/framework/services/preferences";import{UiSubjects as f,deriveBrowserTarget as p,deriveDefaultEnabled as m,deriveTrayLayout as h,findCategory as ee,isOverlayMode as g,isWidgetLayout as _,onboardingStepRegistry as v,pageDefinitionRegistry as y,queryPageDefinitions as b,runCleanupsInReverse as x,subscribeToWidgetEvents as te,widgetRegistry as S}from"@makaio/framework/ui-kernel";import{ExtensionSubjects as ne}from"@makaio/framework/kernel";import{MakaioBus as C}from"@makaio/framework/bus";import{AdapterSubjects as re,AgentSelectionSchema as ie}from"@makaio/framework/contracts";import{AdapterRuntimeSubjects as ae}from"@makaio/framework/services/adapter-runtime";import{AdapterSubsystemSubjects as w}from"@makaio/framework/services/adapter-subsystem";import{LogImportSubjects as oe}from"@makaio/framework/services/log-import/log-import";import{SettingsSubjects as T}from"@makaio/framework/services/settings/namespace";import{ExtensionConfigStorageSubjects as se}from"@makaio/framework/services/settings/storage/extension-configs/namespace";import{buildProviderContext as E}from"@makaio/framework/services/provider-context";import{ClientStorageSubjects as ce,ProviderStorageSubjects as D}from"@makaio/framework/services/settings/storage";import{ClientSubjects as le}from"@makaio/framework/contracts/client";const O=t(null);function ue({bus:e,children:t}){return u(O.Provider,{value:e,children:t})}function k(){let e=i(O);if(!e)throw Error(`useBus must be used within a BusProvider`);return e}function de(){return i(O)}function fe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}const pe=Object.freeze([]);function A(e={}){let{builtIns:t=pe,scope:n,includeAny:i=!0}=e,s=k(),[u,d]=c(!1);a(()=>{S.registerAll(t)},[t]),a(()=>{let e=te(s);return d(!0),()=>{e(),d(!1)}},[s]);let f=r(e=>S.subscribe(e),[]),p=r(()=>S.getAll(),[]),m=l(f,p,p),h=o(()=>n?S.getByScope(n,i):m,[m,i,n]);return{builtInWidgets:t,loading:!u,widgets:u?h:void 0}}function me(e={}){let{scope:t,includeAny:n=!0}=e,i=r(e=>S.subscribe(e),[]),a=r(()=>S.getAll(),[]),s=l(i,a,a);return o(()=>t?S.getByScope(t,n):s,[s,n,t])}function j(e){return e.contextId?`${e.scope}:${e.contextId}`:e.scope}function he(e){let{paneId:t,widgetId:n,context:i,surface:l,defaultConfig:u}=e,f=k(),[p,m]=c(u),h=s(0),ee=o(()=>j(i),[i.contextId,i.scope]),g=o(()=>({category:`widget-config:${t}:${n}`,key:{scope:ee,surface:l}}),[ee,t,l,n]),_=o(()=>structuredClone(u),[u]);a(()=>{let e=++h.current,t=()=>h.current===e;return m(_),(async()=>{try{let{value:e}=await f.request(d.get,{category:g.category,key:g.key});if(!t())return;fe(e)&&m(t=>({...t,...e}))}catch{}})(),()=>{++h.current}},[f,_,g]);let v=r(async e=>{try{await f.request(d.set,{category:g.category,key:g.key,value:e})}catch{}},[f,g]);return{config:p,updateConfig:r(e=>{m(t=>{let n={...t,...e};return v(n),n})},[v])}}function ge(e){let t=k(),[n,i]=c(null),[o,s]=c(!0),[l,u]=c(null),f=r(async()=>{s(!0),u(null);try{let{value:n}=await t.request(d.get,{category:`widget-layout`,key:e});i(_(n)?n:null)}catch(e){u(e instanceof Error?e:Error(`Failed to load layout`)),i(null)}finally{s(!1)}},[t,e]);return a(()=>{f()},[f]),{layout:n,isLoading:o,error:l,refresh:f}}const M=`widget-layout`;function _e(){let e=k();return{saveLayout:r(async(t,n)=>{await e.request(d.set,{category:M,key:t,value:n})},[e]),resetLayout:r(async t=>{await e.request(d.delete,{category:M,key:t})},[e])}}const ve=Object.freeze([]);function ye(e=ve){let t=r(e=>S.subscribe(e),[]),n=r(()=>S.getAll(),[]),i=l(t,n,n);return o(()=>h(i,e),[i,e])}async function N(e){return import(e)}function be(e){return e.kind===`resolved`&&e.factory!==void 0}function P(e){return e.filter(e=>e.state===`active`&&e.browser?.entrypoint)}function F(){return{cleanups:[],errorMessage:null,shell:null,state:`empty`}}function I(e){return e===`cancelled`}function L(e,t,n,r){return{cleanups:e,errorMessage:r,shell:n,state:t}}async function xe(e,t){let{bus:n,isCurrentRun:r,waitForRuntimeReady:i}=e,a=i(n);t.push(a.cleanup);let o=await a.ready;if(I(o))return x(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};if(o===`timeout`)return{kind:`result`,result:L(t,`error`,null,`The Makaio runtime did not respond. The service may have failed to start — try restarting the application or check the logs for errors.`)};if(!r())return x(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};let{extensions:s}=await n.request(ne.list,{}),c=P(s);return c.length===0?{kind:`result`,result:L(t,`empty`,null,null)}:{browserExtensions:c,kind:`ok`}}function Se(e){let t=e.browser.entrypoint,n;try{n=new URL(t,globalThis.location.origin)}catch{return console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has malformed entrypoint "${t}"`),null}return n.origin!==globalThis.location.origin||!n.pathname.startsWith(`/extensions/`)?(console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has unsafe entrypoint "${t}" (must stay under /extensions/)`),null):n.pathname}async function Ce(e,t,n,r){let{bus:i,getRegisteredFactory:a,importModule:o=N,isCurrentRun:s,registerExtensionUI:c,resolveFactory:l,unregisterFactory:u}=e,d=Se(t);if(d===null)return{failed:!0,kind:`ok`,shell:r};let f=[()=>u(t.name)];try{let e=await o(d);if(!s())return x(f,`[ExtensionBrowserLoader] ${t.name}`),x(n,`[ExtensionBrowserLoader]`),{kind:`aborted`};let u=l(e.default,a(t.name));if(!be(u))return x(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" has invalid browser factory (${u.reason??`unknown resolution error`})`),{failed:!0,kind:`ok`,shell:r};let p=u.factory({bus:i});if(!p||typeof p!=`object`)return x(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" factory returned invalid contribution (expected object, got ${p===null?`null`:typeof p})`),{failed:!0,kind:`ok`,shell:r};p.destroy&&f.push(p.destroy),f.push(c(i,t.name,p));let m=r;return p.shell&&(m!==null&&console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" replaces the previously registered shell (shell contributions are last-wins)`),m=p.shell.component),n.push(...f),{failed:!1,kind:`ok`,shell:m}}catch(e){return x(f,`[ExtensionBrowserLoader] ${t.name}`),console.error(`[ExtensionBrowserLoader] Failed to load extension "${t.name}":`,e),{failed:!0,kind:`ok`,shell:r}}}async function we(e){let t=[];try{let n=await xe(e,t);if(n.kind===`aborted`)return F();if(n.kind===`result`)return n.result;let r=0,i=null;for(let a of n.browserExtensions){let n=await Ce(e,a,t,i);if(n.kind===`aborted`)return F();i=n.shell,n.failed&&(r+=1)}return e.isCurrentRun()?i===null?r>0?L(t,`error`,null,`One or more extensions failed to load before providing workspace chrome.`):L(t,`empty`,null,null):L(t,`ready`,i,null):(x(t,`[ExtensionBrowserLoader]`),F())}catch(e){return console.error(`[ExtensionBrowserLoader] Failed to query extensions:`,e),L(t,`error`,null,e instanceof Error?e.message:String(e))}}const R=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},Te=(e=>e?R(e):R),z=e=>e;function Ee(t,n=z){let r=e.useSyncExternalStore(t.subscribe,e.useCallback(()=>n(t.getState()),[t,n]),e.useCallback(()=>n(t.getInitialState()),[t,n]));return e.useDebugValue(r),r}const B=e=>{let t=Te(e),n=e=>Ee(t,e);return Object.assign(n,t),n},V=(e=>e?B(e):B);function H(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}const U=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return U(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return U(t)(e)}}}},De=(e,t)=>(n,r,i)=>{let a={storage:H(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return U(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},W={length:0,clear:()=>{},getItem:()=>null,key:()=>null,removeItem:()=>{},setItem:()=>{}};function Oe(e){let t=`__makaio_storage_probe__`,n=n=>{let r=null,i=!1;try{return r=n.getItem(t),i=r!==null,n.setItem(t,`1`),!0}catch{return!1}finally{try{i&&r!==null?n.setItem(t,r):n.removeItem(t)}catch(t){console.warn(`[createPersistedStore] Storage probe cleanup failed`,{type:e,error:t})}}};try{return e===`localStorage`?typeof localStorage>`u`?W:n(localStorage)?localStorage:W:typeof sessionStorage>`u`?W:n(sessionStorage)?sessionStorage:W}catch{return W}}function G(e,t){let{name:n,storage:r=`sessionStorage`,version:i,partialize:a,merge:o,extraPersistOptions:s}=t,c={name:n,storage:H(()=>Oe(r)),...i===void 0?{}:{version:i},...a?{partialize:a}:{},...o?{merge:o}:{},...s};return V()(De(e,c))}const ke={level:`root`,values:{}};function K(e){return{level:e.level,values:{...e.values}}}const q=G(e=>({windowId:null,uiContext:K(ke),activePaneId:null,setWindowId:t=>e(e=>e.windowId!==null&&e.windowId!==t?{}:{windowId:t}),setUiContext:t=>e({uiContext:K(t),activePaneId:null}),setActivePaneId:t=>e({activePaneId:t}),clearUiContext:()=>e({uiContext:K(ke),activePaneId:null})}),{name:`makaio-window-context`,storage:`sessionStorage`,partialize:e=>({uiContext:e.uiContext})}),J=G(e=>({activePageId:null,internalRoute:null,openPage:(t,n)=>e({activePageId:t,internalRoute:n??null}),close:()=>e({activePageId:null,internalRoute:null}),navigate:t=>e(e=>({internalRoute:t,activePageId:e.activePageId}))}),{name:`makaio-page-overlay`,storage:`sessionStorage`});function Ae(e,t,n){return{collapsedByLevel:{...e.collapsedByLevel,[t]:n}}}const je=G((e,t)=>({collapsedByLevel:{},isCollapsed:e=>t().collapsedByLevel[e]??!1,toggle:t=>e(e=>Ae(e,t,!(e.collapsedByLevel[t]??!1))),setCollapsed:(t,n)=>e(e=>Ae(e,t,n))}),{name:`makaio-sidebar`,storage:`localStorage`}),Y={onboarding:{id:`onboarding`,name:`Welcome`,isPreset:!0},chat:{id:`chat`,name:`Chat`,isPreset:!0,quickPromptSuggestions:[`Help me understand this code`,`What are the key files in this project?`,`Explain the architecture`]},git:{id:`git`,name:`Git`,isPreset:!0,quickPromptSuggestions:[`Show recent commits`,`What changed in this branch?`,`Create a new branch`]},review:{id:`review`,name:`Code Review`,isPreset:!0,quickPromptSuggestions:[`Review this pull request`,`Show file differences`,`Add review comments`]},planning:{id:`planning`,name:`Planning`,isPreset:!0,quickPromptSuggestions:[`Break down this task`,`Create implementation plan`,`Estimate complexity`]},settings:{id:`settings`,name:`Settings`,isPreset:!0},dashboard:{id:`dashboard`,name:`Dashboard`,isPreset:!0,quickPromptSuggestions:[`Show recent projects`,`Open a workspace`,`Create a new project`]}},Me={activeFocus:Y.chat},Ne=G((e,t)=>({activeFocus:Me.activeFocus,setActiveFocus:t=>{let n=Y[t];if(!n){console.error(`[focusStore] Unknown focus preset id: ${t}`);return}e({activeFocus:n})},setActiveFocusContext:t=>{e({activeFocus:t})},setFocusContextLayout:n=>{let{activeFocus:r}=t();e({activeFocus:{...r,layout:n}})},getFocusContextLayout:()=>t().activeFocus.layout}),{name:`makaio-focus`,storage:`sessionStorage`});function Pe(){return{version:1,widgets:[]}}function Fe(e,t){return e.widgets.some(e=>e.widgetId===t.widgetId)?e:{...e,widgets:[...e.widgets,t]}}function Ie(e,t){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.filter(e=>e.widgetId!==t)}:e}function Le(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,size:n}:e)}:e}function Re(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,...n}:e)}:e}function ze(){return q(e=>e.uiContext.level)}const Be=new Set([`http:`,`https:`]);function Ve(e){return e.on(f.navigate,e=>{let{url:t}=e.payload,n;try{n=new URL(t,window.location.href)}catch{throw Error(`[registerNavigationHandler] Invalid URL: ${t}`)}if(!Be.has(n.protocol))throw Error(`[registerNavigationHandler] Unsafe URL protocol "${n.protocol}" in: ${t}`);let r=n.toString(),i=p(n.pathname+n.search+n.hash);window.open(r,i,`noopener,noreferrer`),e.setResult({action:`navigated`})},{priority:10})}function He(e,t){let n=e.filter(e=>e.group!==void 0),r=new Map;for(let e of n){let t=e.group;r.has(t)||r.set(t,[]),r.get(t).push(e)}let i=[],a=new Set,o=[...t].sort((e,t)=>e.order-t.order);for(let e of o){let t=r.get(e.id)??[];i.push({config:e,pages:t}),a.add(e.id)}for(let[e,t]of r)if(!a.has(e)){let n={id:e,label:e,order:999};i.push({config:n,pages:t})}return i}function Ue(e){let t=r(e=>y.subscribe(e),[]),n=r(()=>y.getAll(),[]);return b(l(t,n,n),e)}function We(e){let t=Ue(e),n=J(e=>e.openPage),i=J(e=>e.activePageId),a=Ne(e=>e.setActiveFocus),o=Ne(e=>e.activeFocus.id),s=r(e=>g(e.mode)?()=>n(e.id):()=>{e.focusContext&&a(e.focusContext)},[n,a]);return t.map(e=>{let t;return t=e.isActive?e.isActive():g(e.mode)?i===e.id:e.focusContext?o===e.focusContext:!1,{...e,execute:s(e),isActive:t}})}function Ge(e,t){return e===void 0?!0:Array.isArray(e)?e.includes(t):e===t}function Ke(e){let t=q(e=>e.windowId),n=We(e);return t?n.filter(e=>Ge(e.windowId,t)):n}function qe(e,t=0){let i=r(t=>e===null?()=>void 0:y.subscribe(t),[e]),a=r(()=>{if(e!==null)return y.get(e)},[e]),s=l(i,a,a);return o(()=>{if(s)return{Component:n(s.component),definition:s}},[s,t])}function Je(e){let t=[],n=e=>{t.push(v.register(e))};return n({id:`welcome`,title:`Welcome`,kaiState:`wave`,order:10,skippable:!1,component:e.WelcomeStep}),n({id:`clients`,title:`Clients`,kaiState:`neutral`,order:20,skippable:!0,component:e.ClientsStep}),n({id:`providers`,title:`Providers`,kaiState:`neutral`,order:25,skippable:!0,component:e.ProvidersStep}),n({id:`adapters`,title:`Tools`,kaiState:`neutral`,order:30,skippable:!0,component:e.AdaptersStep}),n({id:`preferences`,title:`Preferences`,kaiState:`smile`,order:35,skippable:!0,component:e.PreferencesStep}),n({id:`plugins`,title:`Plugins`,kaiState:`neutral`,order:40,skippable:!0,condition:e=>e.extensions.length>0,component:e.PluginsStep}),n({id:`done`,title:`All Set`,kaiState:`success`,order:50,skippable:!1,component:e.DoneStep}),()=>{for(let e of t)e()}}function Ye(e){try{return localStorage.getItem(e)===`true`}catch{return!1}}function Xe(e){try{localStorage.setItem(e,`true`)}catch{}}function Ze(e){try{localStorage.removeItem(e)}catch{}}const Qe=`makaio-onboarding-skipped`;function $e(){return Ye(Qe)}function et(){Xe(Qe)}function tt(){Ze(Qe)}const nt=`makaio-onboarding-completed`;function rt(){return Ye(nt)}function it(){Xe(nt)}function at(){Ze(nt)}function X(e,t,n,r){let i=n.get(e)??{id:`onboarding-${e}`,config:void 0};return n.set(e,i),r.request(se.setEnabled,{extensionName:e,scope:`default`,enabled:t}).then(t=>(n.set(e,{...i,id:t.id}),t))}function ot(e){let t=ie.safeParse(e);if(!t.success)return null;let n=t.data;if(n.kind===`model`){let e=Z(n.adapterName),t=Z(n.model),r=Z(n.providerConfigId)??Z(n.providerId);return!e||!t?null:{kind:`adapter`,adapterName:e,model:t,...r?{providerConfigId:r}:{}}}if(n.kind===`virtualModel`){let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}switch(n.kind){case`adapter`:{let e=Z(n.adapterName);if(!e)return null;let t=Z(n.model),r=Z(n.providerConfigId);return{kind:`adapter`,adapterName:e,...t?{model:t}:{},...r?{providerConfigId:r}:{}}}case`persona`:{let e=Z(n.personaId);return e?{kind:`persona`,personaId:e}:null}case`profile`:{let e=Z(n.profileId);return e?{kind:`profile`,profileId:e}:null}case`virtual-model`:{let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}default:return null}}function st(e){return e.kind===`adapter`?typeof e.adapterName==`string`&&e.adapterName.trim().length>0&&typeof e.providerConfigId==`string`&&e.providerConfigId.trim().length>0&&typeof e.model==`string`&&e.model.trim().length>0:!0}function Z(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function ct(e,t){if(typeof e==`object`&&e&&`defaultSelection`in e){let n=e.defaultSelection;if(n==null)return t;let r=ot(n);return r===null?t:{...t,defaultSelection:r}}return t}const lt=G(e=>({defaultSelection:null,setDefaultSelection:t=>e({defaultSelection:t})}),{name:`makaio-app-context`,storage:`localStorage`,merge:ct});async function ut(){let[{configs:e},{configs:t},{providers:n}]=await Promise.all([C.request(w.listProviderConfigs,{enabled:!0}),C.request(w.listAdapterConfigs,{}),C.request(D.list,{})]),r=new Map(n.map(e=>[e.id,e])),i=new Map;for(let e of t){if(!e.enabled)continue;let t=e.displayName??e.name;for(let n of e.bindings){let e={adapterName:n.adapterName,displayLabel:t},r=i.get(n.providerConfigId);r?r.push(e):i.set(n.providerConfigId,[e])}}return e.map(e=>({providerConfigId:e.id,definitionId:e.definitionId,name:e.name,availableModels:r.get(e.definitionId)?.availableModels??[],isDefault:e.isDefault,enabled:e.enabled,modelFilterMode:e.modelFilterMode,modelVisibility:e.modelVisibility,hasCredentials:e.hasCredentials,boundAdapters:i.get(e.id)??[]}))}const dt=V((e,t)=>({providers:[],isLoading:!1,error:null,_fetchPromise:null,_hasFetched:!1,_fetchGeneration:0,fetchProviders:async()=>{let n=t();if(n._hasFetched&&!n.isLoading)return Promise.resolve();if(n._fetchPromise)return n._fetchPromise;let r=t()._fetchGeneration;e({isLoading:!0,error:null});let i=ut().then(e=>{t()._fetchGeneration===r&&(console.debug(`[providerStore] providers:`,e.map(e=>({providerConfigId:e.providerConfigId,definitionId:e.definitionId,name:e.name}))),t().setProviders(e))}).catch(e=>{if(t()._fetchGeneration!==r)return;let n=e instanceof Error?e:Error(String(e));t().setError(n)}).finally(()=>{e(e=>e._fetchPromise===i?{_fetchPromise:null}:{})});return e({_fetchPromise:i}),i},invalidate:()=>{e(e=>({_hasFetched:!1,_fetchPromise:null,_fetchGeneration:e._fetchGeneration+1,isLoading:!1}))},setProviders:t=>{e({providers:t,isLoading:!1,error:null,_hasFetched:!0})},setError:t=>{e({error:t,isLoading:!1})}}));async function Q(){let[{clients:e},{adapters:t}]=await Promise.all([C.request(ce.list,{}),C.request(T.adapter.list,{})]),n=e.filter(e=>e.enabled&&e.binary!==void 0).map(e=>({id:e.id,name:e.name,binary:e.binary.name,supportedVersions:e.binary.supportedVersions}));if(n.length===0)return null;let{results:r}=await C.request(le.scan,{targets:n.map(e=>({clientId:e.id,binaryName:e.binary,supportedVersions:e.supportedVersions}))}),i=new Map(r.map(e=>[e.clientId,e])),a=n.map(e=>{let t=i.get(e.id);return{id:e.id,name:e.name,binary:e.binary,found:t?.found??!1,version:t?.version,warningMessage:t?.warningMessage}}),o=new Map;for(let e of t){if(!e.clientId)continue;let t=o.get(e.clientId);t?t.push(e.adapterName):o.set(e.clientId,[e.adapterName])}return{scannedClients:a,adaptersByClientId:o}}function ft(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=n.get(e.id);if(t?.length)for(let n of t)r.push({adapterName:n,displayName:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage})}return r}function pt(e){let t=e.toLowerCase();return t.includes(`cli`)?0:t.includes(`sdk`)?1:2}function mt(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=(n.get(e.id)??[]).sort((e,t)=>{let n=pt(e),r=pt(t);return n===r?e.localeCompare(t):n-r});r.push({clientId:e.id,name:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage,adapterNames:t})}return r}async function ht(){let e=await Q();return e?ft(e):[]}async function gt(){let e=await Q();return e?mt(e):[]}async function _t(){let e=await Q();return e?{adapters:ft(e),clients:mt(e)}:{adapters:[],clients:[]}}function vt(e,t){return{...e,supportedProtocols:t==null?[]:Object.keys(t.endpoints??{})}}async function yt(e,t={}){let[{configs:n},{providers:r}]=await Promise.all([e.request(w.listProviderConfigs,t),e.request(D.list,{})]),i=new Map(r.map(e=>[e.id,e]));return n.map(e=>vt(e,i.get(e.definitionId)))}async function bt(e,t){let{config:n}=await e.request(w.getProviderConfig,{id:t});if(n===null)return null;let{context:r}=await e.request(w.buildProviderContext,{providerConfigId:t});if(r===null||r.definitionId!==n.definitionId)return null;let{provider:i}=await e.request(D.get,{id:r.definitionId}),a=r.credentialRefs;return{...vt(n,i),...a&&Object.keys(a).length>0?{credentialRefs:a}:{}}}let $=null;function xt(e){if($===null)$={creator:e,count:1};else if($.creator===e)$.count+=1;else throw Error(`useOnboardingFlow: only one host-owned create bridge may be registered at a time.`);return()=>St(e)}function St(e){if($?.creator===e){if($.count===1){$=null;return}--$.count}}function Ct(e){return e}function wt(e){try{it()}catch(e){console.error(`[useOnboardingFlow] Failed to persist completion flag:`,e)}finally{e()}}async function Tt(e,t){let n=$?.creator??null;if(n){let r=await n(C,e);return await t(),r}let r=!!e.credentials&&Object.keys(e.credentials).length>0,i=!!e.credentialRefs&&Object.keys(e.credentialRefs).length>0;if(r&&!i)throw Error(`useOnboardingFlow: plaintext provider-config creation requires a host-owned create bridge.`);let{credentials:a,...o}=e,{config:s}=await C.request(w.createProviderConfig,o);return await t(),s.id}async function Et(e){let t=await C.requestOptional(w.getDefaultBinding,{adapterName:e});if(!t.handled||!t.data.binding)return;let{binding:n}=t.data;try{return await E(C,n.providerConfigId)}catch(e){console.warn(`[onboarding] buildProviderContext failed for ${n.providerConfigId}:`,e);return}}function Dt({context:e,onComplete:t,onSkip:n}){let{setDefaultSelection:i}=lt(),l=k(),[u]=c(()=>{let t=Ct(v.getAll());return Object.freeze(t.filter(t=>t.condition===void 0||t.condition(e)))}),[d,f]=c(0),[p,h]=c(e.adapters),[g,_]=c(()=>new Set(e.adapters.filter(e=>e.enabled).map(e=>e.adapterName))),[y,b]=c(()=>new Map),[x,te]=c(()=>new Map),[S,ie]=c(null),[E,ce]=c(()=>e.extensions),[D,le]=c(()=>new Map),[O,ue]=c([]),[de,fe]=c(!1),[pe,A]=c(null),[me,j]=c(()=>new Set),[he,ge]=c([]),[M,_e]=c([]),[ve,ye]=c([]),N=s(new Map),be=s(0),P=s(0),F=s(new Map);a(()=>{let e=++be.current,t=()=>be.current===e;(async()=>{try{let[e,n]=await Promise.all([C.request(ne.list,{}),C.request(se.list,{})]);if(!t())return;let r=new Map;for(let e of n.extensionConfigs)e.scope===`default`&&!r.has(e.extensionName)&&r.set(e.extensionName,{id:e.id,enabled:e.enabled,config:e.config});let i=new Map,a=new Map;for(let t of e.extensions){let e=r.get(t.name);e!==void 0&&(i.set(t.name,e.enabled),a.set(t.name,{id:e.id,config:e.config}))}ce(e.extensions),le(i),N.current=a}catch(e){if(!t())return;console.error(`[useOnboardingFlow] Failed to load extension list:`,e)}})()},[]),a(()=>()=>{for(let e of F.current.values())e.abort();F.current.clear()},[]);let I=r(async()=>{let{adapters:e}=await C.request(T.adapter.list,{});h(e),_(new Set(e.filter(e=>e.enabled).map(e=>e.adapterName)))},[]),L=r(async e=>{(await C.request(T.adapter.setEnabled,{adapterName:e,enabled:!0})).success&&(await I(),dt.getState().invalidate())},[I]),xe=r(async e=>{(await C.request(T.adapter.setEnabled,{adapterName:e,enabled:!1})).success&&(_(t=>{let n=new Set(t);return n.delete(e),n}),await I(),dt.getState().invalidate())},[I]),Se=r(async e=>{b(t=>new Map([...t,[e,{status:`pending`}]])),F.current.get(e)?.abort();let t=new AbortController;F.current.set(e,t);let n;try{n=(await C.request(ae.resolveId,{adapterName:e},{signal:t.signal})).adapterId}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:`Could not resolve adapter "${e}": ${n instanceof Error?n.message:String(n)}`};return b(t=>new Map([...t,[e,r]])),r}if(t.signal.aborted)return{status:`pending`};let r=await Et(e);if(t.signal.aborted)return{status:`pending`};let i=Date.now(),a={adapterId:n,prompt:`Reply with the single word: OK`,...r&&{providerContext:r}};try{if(await C.request(re.infer,a,{timeout:3e4,signal:t.signal}),t.signal.aborted)return{status:`pending`};let n={status:`success`,durationMs:Date.now()-i};return b(t=>new Map([...t,[e,n]])),n}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:n instanceof Error?n.message:String(n)};return b(t=>new Map([...t,[e,r]])),r}finally{F.current.get(e)===t&&F.current.delete(e)}},[]),Ce=r((e,t)=>{te(n=>new Map([...n,[e,t]]))},[]),we=r(e=>{ie(e)},[]),R=r(async()=>{let e=++P.current;fe(!0),A(null);try{let{adapters:t,clients:n}=await _t();if(P.current!==e)return;ue(t),ge(n);let r=new Set(n.filter(e=>e.found).map(e=>e.clientId));j(e=>e.size===0?r:new Set([...e].filter(e=>r.has(e))))}catch(t){if(P.current!==e)return;let n=t instanceof Error?t:Error(String(t));throw A(n),n}finally{P.current===e&&fe(!1)}},[]),Te=r((e,t)=>{le(n=>new Map([...n,[e,t]])),X(e,t,N.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist plugin toggle for ${e}:`,t)})},[l]),z=r(e=>j(t=>new Set([...t,e])),[]),Ee=r(e=>{j(t=>{let n=new Set(t);return n.delete(e),n})},[]),B=r(async()=>{_e(await yt(C))},[]),V=r(async e=>Tt(e,B),[B]),H=r(async e=>{await C.request(w.deleteProviderConfig,{id:e}),await B(),ye(t=>t.filter(t=>t.providerConfigId!==e))},[B]),U=r(async e=>{let{bindings:t}=await C.request(w.listBindings,{adapterName:e});ye(n=>[...n.filter(t=>t.adapterName!==e),...t])},[]),De=r(async(e,t)=>{await C.request(w.bind,{adapterName:e,providerConfigId:t}),await U(e)},[U]),W=r(async(e,t)=>{await C.request(w.unbind,{adapterName:e,providerConfigId:t}),await U(e)},[U]),Oe=r(async(e,t)=>{await C.request(w.setDefaultBinding,{adapterName:e,providerConfigId:t}),await U(e)},[U]),G=o(()=>({enableAdapter:L,disableAdapter:xe,runHealthCheck:Se,setLogImportMode:Ce,setDefaultAgent:we,refreshAdapterList:I,togglePlugin:Te,scan:R,selectClient:z,deselectClient:Ee,createProviderConfig:V,deleteProviderConfig:H,bindProvider:De,unbindProvider:W,setDefaultProvider:Oe,refreshProviderConfigs:B,refreshBindings:U}),[L,xe,Se,Ce,we,I,Te,R,z,Ee,V,H,De,W,Oe,B,U]),ke=r(()=>{f(e=>Math.min(e+1,u.length-1))},[u.length]),K=r(()=>{f(e=>Math.max(e-1,0))},[]),q=r(async e=>{S&&i(S);let t=Array.from(x.entries());if(await Promise.all(t.map(([e,t])=>C.request(oe.setMode,{adapterName:e,mode:t},{timeout:8e3}))),await Promise.all(Array.from(D.entries()).map(([e,t])=>X(e,t,N.current,l))),e){for(let e of E)if(!D.has(e.name)){let t=m(ee(e.name));X(e.name,t,N.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist default extension state for ${e.name}:`,t)})}}},[l,x,S,i,E,D]),J=r(async()=>{try{await q(!1)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on skip:`,e)}finally{n()}},[q,n]),Ae=r(async()=>{try{await q(!0)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on complete:`,e)}finally{wt(t)}},[q,t]),je=o(()=>({adapters:p,enabledAdapterNames:g,healthCheckResults:y,logImportSelections:x,defaultAgentSelection:S,extensions:E,pluginEnabledStates:D,scanAdapters:O,isScanning:de,scanError:pe,scanClients:he,selectedClientIds:me,providerConfigs:M,adapterProviderBindings:ve}),[p,g,y,x,S,E,D,O,de,pe,he,me,M,ve]),Y=u[d]??u[0];if(Y===void 0)throw Error(`useOnboardingFlow: no active steps found. Call registerCoreOnboardingSteps() before mounting the onboarding flow.`);return{activeSteps:u,currentStepIndex:d,currentStep:Y,flowState:je,actions:G,goNext:ke,goBack:K,skip:J,complete:Ae}}const Ot=Object.assign(Dt,{registerCreateProviderConfig:xt,unregisterCreateProviderConfig:St});export{O as BusContext,ue as BusProvider,Fe as addWidgetToFocusLayout,Q as buildScanContext,at as clearOnboardingCompleted,tt as clearOnboardingSkipped,Pe as createEmptyFocusContextLayout,G as createPersistedStore,rt as getOnboardingCompleted,$e as getOnboardingSkipped,bt as getProviderConfigDetailView,He as groupPagesByNavigationGroup,st as isPersistableProjectSelection,yt as listProviderConfigSummaryViews,we as loadExtensionBrowserContributions,W as noopStorage,ot as parsePersistedAgentSelection,X as persistPluginEnabled,Je as registerCoreOnboardingSteps,Ve as registerNavigationHandler,Ie as removeWidgetFromFocusLayout,_t as scanOnboarding,ht as scanOnboardingAdapters,gt as scanOnboardingClients,it as setOnboardingCompleted,et as setOnboardingSkipped,Re as updateFocusContextWidgetPosition,Le as updateFocusContextWidgetSize,lt as useAppContext,k as useBus,Ne as useFocusStore,ze as useNavigationLevel,Ot as useOnboardingFlow,de as useOptionalBus,qe as usePageComponent,Ue as usePageDefinitions,J as usePageOverlayStore,We as usePages,dt as useProviderStore,je as useSidebarStore,ye as useTrayLayout,he as useWidgetConfig,ge as useWidgetLayout,_e as useWidgetLayoutActions,me as useWidgetRegistry,A as useWidgets,q as useWindowContext,Ke as useWindowIdPages};
|