cli-jaw 2.0.3 → 2.0.5
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.ja.md +23 -2
- package/README.ko.md +23 -2
- package/README.md +23 -2
- package/README.zh-CN.md +16 -1
- package/dist/bin/cli-jaw.js +7 -1
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/browser.js +5 -0
- package/dist/bin/commands/browser.js.map +1 -1
- package/dist/bin/commands/connector.js +227 -0
- package/dist/bin/commands/connector.js.map +1 -0
- package/dist/bin/commands/dashboard-memory.js +243 -0
- package/dist/bin/commands/dashboard-memory.js.map +1 -0
- package/dist/bin/commands/dashboard.js +5 -0
- package/dist/bin/commands/dashboard.js.map +1 -1
- package/dist/bin/commands/dispatch-helpers.js +17 -0
- package/dist/bin/commands/dispatch-helpers.js.map +1 -0
- package/dist/bin/commands/dispatch.js +8 -3
- package/dist/bin/commands/dispatch.js.map +1 -1
- package/dist/bin/commands/doctor.js +34 -8
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/reminders.js +105 -0
- package/dist/bin/commands/reminders.js.map +1 -0
- package/dist/bin/postinstall.js +26 -0
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/server.js +71 -9
- package/dist/server.js.map +1 -1
- package/dist/src/agent/alert-escalation.js +12 -1
- package/dist/src/agent/alert-escalation.js.map +1 -1
- package/dist/src/agent/error-classifier.js +14 -8
- package/dist/src/agent/error-classifier.js.map +1 -1
- package/dist/src/agent/events.js +58 -30
- package/dist/src/agent/events.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +81 -4
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/session-persistence.js +2 -0
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn.js +90 -12
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/agent/tool-timeout.js +27 -0
- package/dist/src/agent/tool-timeout.js.map +1 -0
- package/dist/src/agent/watchdog.js +20 -3
- package/dist/src/agent/watchdog.js.map +1 -1
- package/dist/src/browser/connection.js +69 -15
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/browser/launch-policy.js +1 -1
- package/dist/src/browser/launch-policy.js.map +1 -1
- package/dist/src/browser/runtime-diagnostics.js +39 -0
- package/dist/src/browser/runtime-diagnostics.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-model.js +102 -19
- package/dist/src/browser/web-ai/chatgpt-model.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-response.js +30 -1
- package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt.js +55 -8
- package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
- package/dist/src/browser/web-ai/diagnostics.js +1 -0
- package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
- package/dist/src/browser/web-ai/gemini-live.js +24 -3
- package/dist/src/browser/web-ai/gemini-live.js.map +1 -1
- package/dist/src/browser/web-ai/interstitial.js +64 -0
- package/dist/src/browser/web-ai/interstitial.js.map +1 -0
- package/dist/src/browser/web-ai/session.js +12 -0
- package/dist/src/browser/web-ai/session.js.map +1 -1
- package/dist/src/browser/web-ai/watcher.js +25 -7
- package/dist/src/browser/web-ai/watcher.js.map +1 -1
- package/dist/src/cli/compact.js +5 -1
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/connector.js +60 -0
- package/dist/src/cli/connector.js.map +1 -0
- package/dist/src/cli/handlers-runtime.js +39 -0
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/reminders.js +29 -0
- package/dist/src/cli/reminders.js.map +1 -0
- package/dist/src/core/cli-detect.js +161 -0
- package/dist/src/core/cli-detect.js.map +1 -0
- package/dist/src/core/compact.js +5 -1
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +9 -22
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +14 -1
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/settings-merge.js +2 -2
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/jaw-ceo/completion.js +101 -0
- package/dist/src/jaw-ceo/completion.js.map +1 -0
- package/dist/src/jaw-ceo/confirmations.js +39 -0
- package/dist/src/jaw-ceo/confirmations.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator-admin.js +295 -0
- package/dist/src/jaw-ceo/coordinator-admin.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator-completions.js +201 -0
- package/dist/src/jaw-ceo/coordinator-completions.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator-realtime-tools.js +108 -0
- package/dist/src/jaw-ceo/coordinator-realtime-tools.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator-types.js +2 -0
- package/dist/src/jaw-ceo/coordinator-types.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator-utils.js +86 -0
- package/dist/src/jaw-ceo/coordinator-utils.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator-workers.js +234 -0
- package/dist/src/jaw-ceo/coordinator-workers.js.map +1 -0
- package/dist/src/jaw-ceo/coordinator.js +116 -0
- package/dist/src/jaw-ceo/coordinator.js.map +1 -0
- package/dist/src/jaw-ceo/docs-edit.js +142 -0
- package/dist/src/jaw-ceo/docs-edit.js.map +1 -0
- package/dist/src/jaw-ceo/openai-key.js +22 -0
- package/dist/src/jaw-ceo/openai-key.js.map +1 -0
- package/dist/src/jaw-ceo/policy.js +92 -0
- package/dist/src/jaw-ceo/policy.js.map +1 -0
- package/dist/src/jaw-ceo/realtime-sideband.js +372 -0
- package/dist/src/jaw-ceo/realtime-sideband.js.map +1 -0
- package/dist/src/jaw-ceo/store.js +206 -0
- package/dist/src/jaw-ceo/store.js.map +1 -0
- package/dist/src/jaw-ceo/transcript-persistence.js +28 -0
- package/dist/src/jaw-ceo/transcript-persistence.js.map +1 -0
- package/dist/src/jaw-ceo/types.js +2 -0
- package/dist/src/jaw-ceo/types.js.map +1 -0
- package/dist/src/manager/connector/audit-log.js +95 -0
- package/dist/src/manager/connector/audit-log.js.map +1 -0
- package/dist/src/manager/connector/routes.js +251 -0
- package/dist/src/manager/connector/routes.js.map +1 -0
- package/dist/src/manager/connector/types.js +2 -0
- package/dist/src/manager/connector/types.js.map +1 -0
- package/dist/src/manager/lifecycle.js +1 -1
- package/dist/src/manager/lifecycle.js.map +1 -1
- package/dist/src/manager/memory/embedding/hybrid-search.js +61 -0
- package/dist/src/manager/memory/embedding/hybrid-search.js.map +1 -0
- package/dist/src/manager/memory/embedding/index.js +6 -0
- package/dist/src/manager/memory/embedding/index.js.map +1 -0
- package/dist/src/manager/memory/embedding/provider.js +187 -0
- package/dist/src/manager/memory/embedding/provider.js.map +1 -0
- package/dist/src/manager/memory/embedding/state-machine.js +68 -0
- package/dist/src/manager/memory/embedding/state-machine.js.map +1 -0
- package/dist/src/manager/memory/embedding/sync.js +156 -0
- package/dist/src/manager/memory/embedding/sync.js.map +1 -0
- package/dist/src/manager/memory/embedding/vec-store.js +166 -0
- package/dist/src/manager/memory/embedding/vec-store.js.map +1 -0
- package/dist/src/manager/memory/federation.js +56 -0
- package/dist/src/manager/memory/federation.js.map +1 -0
- package/dist/src/manager/memory/index.js +5 -0
- package/dist/src/manager/memory/index.js.map +1 -0
- package/dist/src/manager/memory/instance-discovery.js +83 -0
- package/dist/src/manager/memory/instance-discovery.js.map +1 -0
- package/dist/src/manager/memory/result-rerank.js +28 -0
- package/dist/src/manager/memory/result-rerank.js.map +1 -0
- package/dist/src/manager/memory/types.js +2 -0
- package/dist/src/manager/memory/types.js.map +1 -0
- package/dist/src/manager/notes/routes.js +7 -0
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/search.js +282 -0
- package/dist/src/manager/notes/search.js.map +1 -0
- package/dist/src/manager/observability.js.map +1 -1
- package/dist/src/manager/preview-origin-proxy.js +12 -2
- package/dist/src/manager/preview-origin-proxy.js.map +1 -1
- package/dist/src/manager/process-verify.js +4 -1
- package/dist/src/manager/process-verify.js.map +1 -1
- package/dist/src/manager/registry.js +59 -1
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/reminders/api.js +16 -0
- package/dist/src/manager/reminders/api.js.map +1 -0
- package/dist/src/manager/reminders/dispatcher.js +40 -0
- package/dist/src/manager/reminders/dispatcher.js.map +1 -0
- package/dist/src/manager/reminders/due-time.js +16 -0
- package/dist/src/manager/reminders/due-time.js.map +1 -0
- package/dist/src/manager/reminders/instance-link.js +22 -0
- package/dist/src/manager/reminders/instance-link.js.map +1 -0
- package/dist/src/manager/reminders/routes.js +170 -0
- package/dist/src/manager/reminders/routes.js.map +1 -0
- package/dist/src/manager/reminders/scheduler.js +67 -0
- package/dist/src/manager/reminders/scheduler.js.map +1 -0
- package/dist/src/manager/reminders/store.js +311 -0
- package/dist/src/manager/reminders/store.js.map +1 -0
- package/dist/src/manager/routes/dashboard-memory.js +380 -0
- package/dist/src/manager/routes/dashboard-memory.js.map +1 -0
- package/dist/src/manager/server.js +209 -4
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/worker-messages.js +60 -0
- package/dist/src/manager/worker-messages.js.map +1 -0
- package/dist/src/manager/workspace/routes.js +240 -0
- package/dist/src/manager/workspace/routes.js.map +1 -0
- package/dist/src/manager/workspace/store.js +369 -0
- package/dist/src/manager/workspace/store.js.map +1 -0
- package/dist/src/manager/workspace/types.js +5 -0
- package/dist/src/manager/workspace/types.js.map +1 -0
- package/dist/src/memory/bootstrap.js +8 -1
- package/dist/src/memory/bootstrap.js.map +1 -1
- package/dist/src/memory/indexing.js +245 -131
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/memory/keyword-expand.js +26 -4
- package/dist/src/memory/keyword-expand.js.map +1 -1
- package/dist/src/memory/reflect.js +119 -8
- package/dist/src/memory/reflect.js.map +1 -1
- package/dist/src/memory/shared.js +6 -0
- package/dist/src/memory/shared.js.map +1 -1
- package/dist/src/memory/synonyms.js +60 -0
- package/dist/src/memory/synonyms.js.map +1 -0
- package/dist/src/orchestrator/gateway.js +1 -1
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/parser.js +3 -8
- package/dist/src/orchestrator/parser.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +8 -3
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +12 -2
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/prompt/builder.js +35 -16
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +23 -1
- package/dist/src/reminders/jaw-reminders-bridge.js +313 -0
- package/dist/src/reminders/jaw-reminders-bridge.js.map +1 -0
- package/dist/src/reminders/types.js +7 -0
- package/dist/src/reminders/types.js.map +1 -0
- package/dist/src/routes/jaw-ceo.js +290 -0
- package/dist/src/routes/jaw-ceo.js.map +1 -0
- package/dist/src/routes/jaw-memory.js +37 -1
- package/dist/src/routes/jaw-memory.js.map +1 -1
- package/dist/src/routes/settings.js +47 -12
- package/dist/src/routes/settings.js.map +1 -1
- package/package.json +4 -1
- package/public/css/chat.css +90 -12
- package/public/css/diagram.css +9 -9
- package/public/css/modals.css +60 -1
- package/public/css/sidebar.css +18 -0
- package/public/dist/assets/{AdvancedExport-DJZ2VmBR.js → AdvancedExport-BAdZUC-6.js} +1 -1
- package/public/dist/assets/{Agent-CgpLT8IY.js → Agent-DNpehKB2.js} +1 -1
- package/public/dist/assets/{Browser-CrkiQoB8.js → Browser-BsdxDVgM.js} +1 -1
- package/public/dist/assets/{ChannelsDiscord-CVUC22D4.js → ChannelsDiscord-Dg_jto6l.js} +1 -1
- package/public/dist/assets/{ChannelsTelegram-DEatIQNM.js → ChannelsTelegram-DGyZfJGS.js} +1 -1
- package/public/dist/assets/DashboardEmbeddingSection-BYdGgqg7.js +2 -0
- package/public/dist/assets/{DashboardMeta-BKoxRc7i.js → DashboardMeta-CAH9ONTb.js} +1 -1
- package/public/dist/assets/{Display-DnNGV9Km.js → Display-DM_yvyKL.js} +1 -1
- package/public/dist/assets/{Employees-DZ2iJYKy.js → Employees-CuYuTy0R.js} +1 -1
- package/public/dist/assets/{HealthBadge-Cq2c7G9s.js → HealthBadge-Dtr-dDnw.js} +1 -1
- package/public/dist/assets/{Heartbeat-BML6eTXZ.js → Heartbeat-C-vq02MW.js} +1 -1
- package/public/dist/assets/{InlineWarn-BooBRm7o.js → InlineWarn-E64UaKFh.js} +1 -1
- package/public/dist/assets/{Mcp-BlEviQ3h.js → Mcp-Dlp2X7X7.js} +1 -1
- package/public/dist/assets/{Memory-BRyH80He.js → Memory-BPKWJDXK.js} +1 -1
- package/public/dist/assets/MilkdownWysiwygEditor-Ctww8i0L.js +160 -0
- package/public/dist/assets/{ModelProvider-DxyR7EL9.js → ModelProvider-Bd6vGkXT.js} +1 -1
- package/public/dist/assets/{Network-DDOOESh1.js → Network-Df1R2YcQ.js} +1 -1
- package/public/dist/assets/{Permissions-Br0eSbKb.js → Permissions-BKJ5K6EL.js} +1 -1
- package/public/dist/assets/{Permissions-QHkzStqQ.js → Permissions-CcWZoOVP.js} +1 -1
- package/public/dist/assets/{Profile-C79NKumk.js → Profile-DZ7xf1WZ.js} +1 -1
- package/public/dist/assets/{Prompts-BmiIDiXW.js → Prompts-Bh5DYt8e.js} +1 -1
- package/public/dist/assets/{SpeechKeys-B8304XJK.js → SpeechKeys-CQwtVxOP.js} +1 -1
- package/public/dist/assets/app-BxsIleo0.js +32 -0
- package/public/dist/assets/app-CB9n5A77.css +1 -0
- package/public/dist/assets/architecture-YZFGNWBL-BRI-0IaU.js +1 -0
- package/public/dist/assets/{architectureDiagram-Q4EWVU46-D0VjH4Hz.js → architectureDiagram-Q4EWVU46-z0JCgZrJ.js} +1 -1
- package/public/dist/assets/{blockDiagram-DXYQGD6D-CY4ROZPD.js → blockDiagram-DXYQGD6D-KaOz3aFS.js} +1 -1
- package/public/dist/assets/{c4Diagram-AHTNJAMY-CXSKBhA5.js → c4Diagram-AHTNJAMY-Bp2QLC-s.js} +1 -1
- package/public/dist/assets/channel-jLopKIgm.js +1 -0
- package/public/dist/assets/{chunk-2KRD3SAO-DKaML5Aw.js → chunk-2KRD3SAO-C8hJZPJu.js} +1 -1
- package/public/dist/assets/{chunk-336JU56O-CU3sZss9.js → chunk-336JU56O-CAt5aBOe.js} +1 -1
- package/public/dist/assets/chunk-426QAEUC-atJRhvKN.js +1 -0
- package/public/dist/assets/{chunk-4BX2VUAB-X0ZSlark.js → chunk-4BX2VUAB-Cm3KqBkS.js} +1 -1
- package/public/dist/assets/{chunk-4TB4RGXK-DxI0GIVy.js → chunk-4TB4RGXK-BD7UhIN8.js} +1 -1
- package/public/dist/assets/chunk-55IACEB6-CAWcPDdr.js +1 -0
- package/public/dist/assets/{chunk-5FUZZQ4R-BqlA0aLQ.js → chunk-5FUZZQ4R-Cg1pzs6p.js} +1 -1
- package/public/dist/assets/{chunk-5PVQY5BW-BVW1DG4s.js → chunk-5PVQY5BW-otv3HwE_.js} +1 -1
- package/public/dist/assets/{chunk-67CJDMHE-Blm2TZ-J.js → chunk-67CJDMHE-AU2iOKLT.js} +1 -1
- package/public/dist/assets/{chunk-7N4EOEYR-BoIOnnji.js → chunk-7N4EOEYR-BTIS4jBw.js} +1 -1
- package/public/dist/assets/{chunk-AA7GKIK3-Dsfi7oEW.js → chunk-AA7GKIK3-c9UUJO_T.js} +1 -1
- package/public/dist/assets/{chunk-BSJP7CBP-DMGz9IOn.js → chunk-BSJP7CBP-DnSYKjii.js} +1 -1
- package/public/dist/assets/{chunk-CIAEETIT-T5_zEp7h.js → chunk-CIAEETIT-Dwbln6rM.js} +1 -1
- package/public/dist/assets/{chunk-EDXVE4YY-DjfvQwok.js → chunk-EDXVE4YY-COudQKkJ.js} +1 -1
- package/public/dist/assets/{chunk-ENJZ2VHE-LawplD1x.js → chunk-ENJZ2VHE-PT_jAckw.js} +1 -1
- package/public/dist/assets/{chunk-FMBD7UC4-C7tckXtF.js → chunk-FMBD7UC4-6yXYicjw.js} +1 -1
- package/public/dist/assets/{chunk-FOC6F5B3-xPGbUzqY.js → chunk-FOC6F5B3-BqDmFFeg.js} +1 -1
- package/public/dist/assets/{chunk-ICPOFSXX-Cdp_Bt1o.js → chunk-ICPOFSXX-P6V6jqiT.js} +2 -2
- package/public/dist/assets/{chunk-K5T4RW27-BwIFil23.js → chunk-K5T4RW27-C42sOmZR.js} +1 -1
- package/public/dist/assets/{chunk-KGLVRYIC-BsNQ1OkZ.js → chunk-KGLVRYIC-K-BVa8b2.js} +1 -1
- package/public/dist/assets/{chunk-LIHQZDEY-DbaX7k3n.js → chunk-LIHQZDEY-Xw9ZX8of.js} +1 -1
- package/public/dist/assets/{chunk-ORNJ4GCN-C6D0ZHHr.js → chunk-ORNJ4GCN-CEXU6WaD.js} +1 -1
- package/public/dist/assets/{chunk-OYMX7WX6-C1WV9uUT.js → chunk-OYMX7WX6-DmJG2z1S.js} +1 -1
- package/public/dist/assets/chunk-QZHKN3VN-BkVLii_3.js +1 -0
- package/public/dist/assets/{chunk-U2HBQHQK-B-5yzlzA.js → chunk-U2HBQHQK-Ny6UwUgK.js} +1 -1
- package/public/dist/assets/{chunk-X2U36JSP-yL0Tpsl1.js → chunk-X2U36JSP-CoMFMVNF.js} +1 -1
- package/public/dist/assets/{chunk-XPW4576I-CeaUaSCU.js → chunk-XPW4576I-CmAz5C-j.js} +1 -1
- package/public/dist/assets/{chunk-YZCP3GAM-CASMOrQq.js → chunk-YZCP3GAM-c7FYtZME.js} +1 -1
- package/public/dist/assets/{chunk-ZZ45TVLE-B4c7TOr9.js → chunk-ZZ45TVLE-D5oxCC1O.js} +1 -1
- package/public/dist/assets/classDiagram-6PBFFD2Q-BgOyAynm.js +1 -0
- package/public/dist/assets/classDiagram-v2-HSJHXN6E-5gBdoVH9.js +1 -0
- package/public/dist/assets/{cose-bilkent-S5V4N54A-B21AcnwY.js → cose-bilkent-S5V4N54A-CvH6qY_r.js} +1 -1
- package/public/dist/assets/{dagre-DzTKkA3a.js → dagre--20B2-ZQ.js} +1 -1
- package/public/dist/assets/{dagre-KV5264BT-fAyzMxIJ.js → dagre-KV5264BT-CQ0wo0ma.js} +1 -1
- package/public/dist/assets/{diagram-5BDNPKRD-O30SB9_x.js → diagram-5BDNPKRD-Cl4PzCD0.js} +1 -1
- package/public/dist/assets/{diagram-G4DWMVQ6-DZ1S54sq.js → diagram-G4DWMVQ6-_aP6kMTh.js} +1 -1
- package/public/dist/assets/{diagram-MMDJMWI5-DRO_GSWW.js → diagram-MMDJMWI5-J1l6Q0JG.js} +1 -1
- package/public/dist/assets/{diagram-TYMM5635-BxWgQj5r.js → diagram-TYMM5635-B_Xoa1Gp.js} +1 -1
- package/public/dist/assets/{dist-W51oDoeA.js → dist-2oDfqE98.js} +1 -1
- package/public/dist/assets/{dist-BZosRD2u.js → dist-55MYVjjj.js} +1 -1
- package/public/dist/assets/dist-B1p80u1b.js +1 -0
- package/public/dist/assets/{dist-Bd9PlnQm.js → dist-B1rKu9eP.js} +1 -1
- package/public/dist/assets/{dist-Ch5VAlV9.js → dist-B6G8pbap.js} +1 -1
- package/public/dist/assets/{dist-CpUK8ypo.js → dist-BA7sRne4.js} +1 -1
- package/public/dist/assets/{dist-eU7TyC86.js → dist-BDMNMdPF.js} +1 -1
- package/public/dist/assets/{dist-DFYRUAjN.js → dist-BGzHP3f8.js} +1 -1
- package/public/dist/assets/dist-BKyzWv22.js +1 -0
- package/public/dist/assets/{dist-BNfXO3Yr.js → dist-BTp_Oy_x.js} +1 -1
- package/public/dist/assets/{dist-BD0UXfgF2.js → dist-BhzKO6nt2.js} +1 -1
- package/public/dist/assets/{dist-BUnPYbK3.js → dist-BjqyutOM.js} +1 -1
- package/public/dist/assets/dist-BoG5I6U5.js +1 -0
- package/public/dist/assets/{dist-yHP6L0Ty.js → dist-BuaQLcgQ.js} +1 -1
- package/public/dist/assets/{dist-DZsFVYF4.js → dist-C0sOT_UM.js} +5 -5
- package/public/dist/assets/{dist-CIuXW-sc.js → dist-C5S-Rbvc.js} +1 -1
- package/public/dist/assets/{dist-Db16ogVk.js → dist-C9LWf2uC.js} +1 -1
- package/public/dist/assets/{dist-urPTQzXL.js → dist-CCKktDoF.js} +1 -1
- package/public/dist/assets/{dist-D7bCuS3f.js → dist-CEDX2HGI.js} +1 -1
- package/public/dist/assets/dist-Ch6JG5jE.js +23 -0
- package/public/dist/assets/{dist-SU-YTAIg.js → dist-CkMC2PPt.js} +1 -1
- package/public/dist/assets/dist-CxJpXP6s.js +1 -0
- package/public/dist/assets/dist-DNLFuTrS.js +1 -0
- package/public/dist/assets/{dist-CL4PTYWf.js → dist-DdhWu7OM.js} +1 -1
- package/public/dist/assets/{dist-D6cUXP7K.js → dist-G7QUHtDS.js} +1 -1
- package/public/dist/assets/{dist-UYn7T-GH.js → dist-W7IGn2ug.js} +1 -1
- package/public/dist/assets/{dist-Cp42cMcI.js → dist-wdLr2dSH.js} +1 -1
- package/public/dist/assets/{dockerfile-zC7EsydA.js → dockerfile-CrC2HXHP.js} +1 -1
- package/public/dist/assets/employees-CIkIyvtL.js +33 -0
- package/public/dist/assets/{erDiagram-SMLLAGMA-oYlCN-2d.js → erDiagram-SMLLAGMA-BvtqhMsS.js} +1 -1
- package/public/dist/assets/{error-normalize-5n-zlEQ3.js → error-normalize-CkhPeQYx.js} +1 -1
- package/public/dist/assets/esm-BmJkIat2.js +4 -0
- package/public/dist/assets/{factor-DSufIRGh.js → factor-1CttFx2G.js} +1 -1
- package/public/dist/assets/{fields-BtncIZYA.js → fields-BISouxp2.js} +1 -1
- package/public/dist/assets/{flowDiagram-DWJPFMVM-er6Wfb34.js → flowDiagram-DWJPFMVM-C_F0rqqT.js} +1 -1
- package/public/dist/assets/{ganttDiagram-T4ZO3ILL-Co2j1qn3.js → ganttDiagram-T4ZO3ILL-B5S8EZRg.js} +1 -1
- package/public/dist/assets/gitGraph-7Q5UKJZL-DTTW6pxr.js +1 -0
- package/public/dist/assets/{gitGraphDiagram-UUTBAWPF-clYndUgV.js → gitGraphDiagram-UUTBAWPF-DMGzYJeb.js} +1 -1
- package/public/dist/assets/{graphlib-BjOif-SH.js → graphlib-CZk_Ii16.js} +1 -1
- package/public/dist/assets/idb-cache-BnZfG5FD.js +1 -0
- package/public/dist/assets/info-OMHHGYJF-BU-iuaSm.js +1 -0
- package/public/dist/assets/{infoDiagram-42DDH7IO-uYs7OoSA.js → infoDiagram-42DDH7IO-dzSaYFFK.js} +1 -1
- package/public/dist/assets/{ishikawaDiagram-UXIWVN3A-32bIEtCb.js → ishikawaDiagram-UXIWVN3A-DZW-Nqsf.js} +1 -1
- package/public/dist/assets/javascript-BhB45e0W.js +1 -0
- package/public/dist/assets/{journeyDiagram-VCZTEJTY-hBNsU7mK.js → journeyDiagram-VCZTEJTY-ByVRJxVF.js} +1 -1
- package/public/dist/assets/{kanban-definition-6JOO6SKY-DoepMHBI.js → kanban-definition-6JOO6SKY-xwN0YCW2.js} +1 -1
- package/public/dist/assets/katex-DamPUmTE.js +1 -0
- package/public/dist/assets/manager-B84u-pcn.js +25 -0
- package/public/dist/assets/manager-DMg_sTEP.css +1 -0
- package/public/dist/assets/memory-BV62wlsG.js +1 -0
- package/public/dist/assets/{memory-CsMNkYtv.js → memory-CnBc2_Va.js} +1 -1
- package/public/dist/assets/mermaid-loader-DxFGz4EE.js +1 -0
- package/public/dist/assets/{mermaid-parser.core-CrXy-45O.js → mermaid-parser.core-CMIZ0my_.js} +1 -1
- package/public/dist/assets/mermaid-preprocess-p7OIpOon.js +5 -0
- package/public/dist/assets/mermaid.core-CicVBD9l.js +1 -0
- package/public/dist/assets/{mermaid.core-DYApH8sc.js → mermaid.core-Dj6viEzN.js} +2 -2
- package/public/dist/assets/{mindmap-definition-QFDTVHPH-C-QWWjaf.js → mindmap-definition-QFDTVHPH-Chqgsh1N.js} +1 -1
- package/public/dist/assets/{nsis-DLskXEqR.js → nsis-_CjIiUyF.js} +1 -1
- package/public/dist/assets/packet-4T2RLAQJ-DzmBsAf0.js +1 -0
- package/public/dist/assets/{page-shell-D5tbivHH.js → page-shell-CTxVDJ8Y.js} +1 -1
- package/public/dist/assets/pie-ZZUOXDRM-DyG1KzTn.js +1 -0
- package/public/dist/assets/{pieDiagram-DEJITSTG-DvMWxH5R.js → pieDiagram-DEJITSTG-DJLiSymi.js} +1 -1
- package/public/dist/assets/{pug-B2rz0Rz1.js → pug-CbR8lCtK.js} +1 -1
- package/public/dist/assets/{quadrantDiagram-34T5L4WZ-DjoQDyzO.js → quadrantDiagram-34T5L4WZ-qcnWmcRr.js} +1 -1
- package/public/dist/assets/radar-PYXPWWZC-CEBZARUu.js +1 -0
- package/public/dist/assets/render-lpTpN1El.js +28 -0
- package/public/dist/assets/{requirementDiagram-MS252O5E-sQav3xIA.js → requirementDiagram-MS252O5E-wnPtv0LG.js} +1 -1
- package/public/dist/assets/{sankeyDiagram-XADWPNL6-DkdEFMeo.js → sankeyDiagram-XADWPNL6-Bn3pUd_K.js} +1 -1
- package/public/dist/assets/{sequenceDiagram-FGHM5R23-kaplo282.js → sequenceDiagram-FGHM5R23-DfxcHSdj.js} +1 -1
- package/public/dist/assets/settings-CfAXLa8a.js +1 -0
- package/public/dist/assets/{settings-BH213Yv3.js → settings-FWgmcubl.js} +8 -8
- package/public/dist/assets/sidebar-Cwt0FxQl.js +14 -0
- package/public/dist/assets/skills-D-qUVJ-e.js +1 -0
- package/public/dist/assets/{skills-CQtCtHPA.js → skills-DDmTyywh.js} +2 -2
- package/public/dist/assets/slash-commands-BfI19vIz.js +1 -0
- package/public/dist/assets/{slash-commands-Dzk1xHWS.js → slash-commands-D5y5AVvS.js} +1 -1
- package/public/dist/assets/{stateDiagram-FHFEXIEX-B2L3h2aE.js → stateDiagram-FHFEXIEX-CiR7P2OG.js} +1 -1
- package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-BaWWpysK.js +1 -0
- package/public/dist/assets/{timeline-definition-GMOUNBTQ-_Nnp2LU-.js → timeline-definition-GMOUNBTQ-DUz1-iOx.js} +1 -1
- package/public/dist/assets/{trace-drawer-SRKcfm2S.js → trace-drawer-DVF5F1df.js} +1 -1
- package/public/dist/assets/treeView-SZITEDCU-D5-TP7Qp.js +1 -0
- package/public/dist/assets/treemap-W4RFUUIX-BQhm_ZSp.js +1 -0
- package/public/dist/assets/ui-BJXY16Dk.js +140 -0
- package/public/dist/assets/ui-BXm3OPPh.js +1 -0
- package/public/dist/assets/{vendor-render-984tPmpy.js → vendor-render-DEStnpJ8.js} +22 -22
- package/public/dist/assets/{vennDiagram-DHZGUBPP-vNU8EDoW.js → vennDiagram-DHZGUBPP-CYu7SDdG.js} +1 -1
- package/public/dist/assets/wardley-RL74JXVD-CpnBMRe0.js +1 -0
- package/public/dist/assets/{wardleyDiagram-NUSXRM2D-DB2wK0zr.js → wardleyDiagram-NUSXRM2D-CLAhOzap.js} +1 -1
- package/public/dist/assets/wiki-link-suggestions-LQuYT22G.js +23 -0
- package/public/dist/assets/{xychartDiagram-5P7HB3ND-CisgDiJM.js → xychartDiagram-5P7HB3ND-DLnY9i8z.js} +1 -1
- package/public/dist/index.html +36 -12
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +34 -10
- package/public/js/features/chat-messages.ts +132 -0
- package/public/js/features/chat-scroll.ts +226 -0
- package/public/js/features/chat.ts +6 -1
- package/public/js/features/employees.ts +4 -1
- package/public/js/features/help-content.ts +11 -1
- package/public/js/features/help-dialog.ts +78 -17
- package/public/js/features/message-actions.ts +157 -0
- package/public/js/features/message-history.ts +138 -0
- package/public/js/features/message-item-html.ts +34 -0
- package/public/js/features/preview-shortcut-bridge.ts +29 -0
- package/public/js/features/process-block-dom.ts +175 -0
- package/public/js/features/process-block.ts +34 -6
- package/public/js/features/process-log-adapter.ts +104 -0
- package/public/js/features/process-step-match.ts +2 -1
- package/public/js/features/settings-cli-status.ts +52 -1
- package/public/js/features/settings.ts +1 -0
- package/public/js/features/sidebar.ts +7 -1
- package/public/js/features/ui-status.ts +47 -0
- package/public/js/main.ts +10 -3
- package/public/js/render/code-copy.ts +47 -0
- package/public/js/render/delegations.ts +10 -0
- package/public/js/render/file-links.ts +150 -0
- package/public/js/render/highlight.ts +83 -0
- package/public/js/render/html.ts +26 -0
- package/public/js/render/markdown.ts +84 -0
- package/public/js/render/math.ts +76 -0
- package/public/js/render/mermaid-preprocess.ts +77 -0
- package/public/js/render/mermaid.ts +267 -0
- package/public/js/render/post-render.ts +35 -0
- package/public/js/render/sanitize.ts +51 -0
- package/public/js/render/svg-actions.ts +291 -0
- package/public/js/render.ts +17 -1081
- package/public/js/ui.ts +24 -755
- package/public/js/virtual-scroll-bootstrap.ts +23 -3
- package/public/js/virtual-scroll.ts +100 -13
- package/public/js/ws.ts +8 -3
- package/public/locales/en.json +78 -2
- package/public/locales/ja.json +76 -2
- package/public/locales/ko.json +78 -2
- package/public/locales/zh.json +76 -2
- package/public/manager/src/App.tsx +150 -258
- package/public/manager/src/AppChrome.tsx +144 -0
- package/public/manager/src/InstancePreview.tsx +18 -0
- package/public/manager/src/SidebarRailRouter.tsx +229 -0
- package/public/manager/src/api.ts +17 -0
- package/public/manager/src/components/ActivityTimeline.tsx +9 -1
- package/public/manager/src/components/ProcessControlPanel.tsx +3 -0
- package/public/manager/src/components/SidebarRail.tsx +22 -0
- package/public/manager/src/components/Workbench.tsx +17 -13
- package/public/manager/src/components/WorkbenchHeader.tsx +44 -33
- package/public/manager/src/components/WorkspaceLayout.tsx +3 -0
- package/public/manager/src/dashboard-board/DashboardBoardSidebar.tsx +1 -1
- package/public/manager/src/dashboard-board/DashboardBoardWorkspace.tsx +6 -0
- package/public/manager/src/dashboard-features.ts +4 -1
- package/public/manager/src/dashboard-reminders/DashboardRemindersSidebar.tsx +157 -0
- package/public/manager/src/dashboard-reminders/DashboardRemindersWorkspace.tsx +502 -0
- package/public/manager/src/dashboard-reminders/InlineReminderTitle.tsx +78 -0
- package/public/manager/src/dashboard-reminders/ReminderDetailPopover.tsx +118 -0
- package/public/manager/src/dashboard-reminders/reminder-order.ts +45 -0
- package/public/manager/src/dashboard-reminders/reminders-api.ts +126 -0
- package/public/manager/src/dashboard-reminders/reminders-view-model.ts +63 -0
- package/public/manager/src/dashboard-reminders/useDashboardReminderDrag.ts +55 -0
- package/public/manager/src/dashboard-reminders/useRemindersFeed.ts +72 -0
- package/public/manager/src/dashboard-schedule/DashboardScheduleWorkspace.tsx +10 -4
- package/public/manager/src/dashboard-settings/DashboardEmbeddingSection.tsx +350 -0
- package/public/manager/src/dashboard-settings/DashboardSettingsSidebar.tsx +6 -2
- package/public/manager/src/dashboard-settings/DashboardSettingsWorkspace.tsx +217 -6
- package/public/manager/src/dashboard-settings/dashboard-settings-ui.ts +2 -0
- package/public/manager/src/dashboard-url-state.ts +15 -0
- package/public/manager/src/help/HelpDrawer.tsx +5 -6
- package/public/manager/src/help/HelpTopicButton.tsx +23 -0
- package/public/manager/src/help/help-shortcuts.ts +7 -0
- package/public/manager/src/help/helpContent.tsx +155 -5
- package/public/manager/src/hooks/useDashboardView.ts +12 -1
- package/public/manager/src/hooks/useInstanceMessageEvents.ts +3 -1
- package/public/manager/src/jaw-ceo/JawCeoConsole.tsx +108 -0
- package/public/manager/src/jaw-ceo/JawCeoConsolePanels.tsx +331 -0
- package/public/manager/src/jaw-ceo/JawCeoSettingsPanel.tsx +94 -0
- package/public/manager/src/jaw-ceo/JawCeoTabs.tsx +28 -0
- package/public/manager/src/jaw-ceo/JawCeoVoiceOverlay.tsx +34 -0
- package/public/manager/src/jaw-ceo/JawCeoWorkbenchButton.tsx +61 -0
- package/public/manager/src/jaw-ceo/api.ts +169 -0
- package/public/manager/src/jaw-ceo/jaw-ceo-console.css +481 -0
- package/public/manager/src/jaw-ceo/jaw-ceo-virtual.css +24 -0
- package/public/manager/src/jaw-ceo/jaw-ceo.css +429 -0
- package/public/manager/src/jaw-ceo/types.ts +164 -0
- package/public/manager/src/jaw-ceo/useJawCeo.ts +235 -0
- package/public/manager/src/jaw-ceo/useJawCeoConsoleModel.ts +67 -0
- package/public/manager/src/jaw-ceo/useJawCeoDashboardBridge.tsx +76 -0
- package/public/manager/src/jaw-ceo/useJawCeoVirtualTimeline.ts +109 -0
- package/public/manager/src/jaw-ceo/useJawCeoVoice.ts +219 -0
- package/public/manager/src/jaw-ceo/voice-cues.ts +34 -0
- package/public/manager/src/jaw-ceo/voice-session.ts +87 -0
- package/public/manager/src/main.tsx +11 -0
- package/public/manager/src/manager-components.css +7 -0
- package/public/manager/src/manager-dashboard-board-sidebar-scroll.css +64 -0
- package/public/manager/src/manager-dashboard-reminders-parity.css +156 -0
- package/public/manager/src/manager-dashboard-reminders-priority.css +164 -0
- package/public/manager/src/manager-dashboard-reminders.css +482 -0
- package/public/manager/src/manager-dashboard-schedule.css +12 -0
- package/public/manager/src/manager-dashboard-settings.css +16 -2
- package/public/manager/src/manager-help.css +27 -0
- package/public/manager/src/manager-layout.css +19 -0
- package/public/manager/src/manager-notes.css +13 -4
- package/public/manager/src/manager-p0-1-1.css +3 -3
- package/public/manager/src/manager-polish.css +7 -3
- package/public/manager/src/manager-shortcuts.ts +116 -0
- package/public/manager/src/notes/MarkdownEditor.tsx +20 -3
- package/public/manager/src/notes/MarkdownPreview.tsx +10 -1
- package/public/manager/src/notes/NotesFileTree.tsx +14 -22
- package/public/manager/src/notes/NotesFrontmatterStrip.tsx +61 -0
- package/public/manager/src/notes/NotesQuickSwitcher.tsx +187 -0
- package/public/manager/src/notes/NotesSearchSidebar.tsx +118 -0
- package/public/manager/src/notes/NotesSidebar.tsx +87 -23
- package/public/manager/src/notes/NotesWorkspace.tsx +76 -4
- package/public/manager/src/notes/frontmatter-preview.ts +16 -0
- package/public/manager/src/notes/notes-api.ts +1 -0
- package/public/manager/src/notes/notes-quick-switcher.css +151 -0
- package/public/manager/src/notes/notes-search.css +90 -0
- package/public/manager/src/notes/notes-tags.css +292 -0
- package/public/manager/src/notes/notes-types.ts +6 -0
- package/public/manager/src/notes/rendering/MarkdownRenderer.tsx +67 -3
- package/public/manager/src/notes/rendering/MermaidBlock.tsx +11 -1
- package/public/manager/src/notes/useNoteDocument.ts +14 -2
- package/public/manager/src/notes/useNotesModel.ts +39 -2
- package/public/manager/src/notes/wiki-link-codemirror-completion.ts +55 -0
- package/public/manager/src/notes/wiki-link-rendering.ts +129 -0
- package/public/manager/src/notes/wiki-link-resolver.ts +220 -0
- package/public/manager/src/notes/wiki-link-suggestions.ts +153 -0
- package/public/manager/src/notes/wysiwyg/MilkdownWysiwygEditor.tsx +126 -79
- package/public/manager/src/notes/wysiwyg/WysiwygFrontmatterPanel.tsx +93 -0
- package/public/manager/src/notes/wysiwyg/milkdown-code-block-view.ts +11 -0
- package/public/manager/src/notes/wysiwyg/milkdown-editor-utils.ts +32 -0
- package/public/manager/src/notes/wysiwyg/milkdown-math.ts +9 -0
- package/public/manager/src/notes/wysiwyg/milkdown-wikilink-completion.ts +195 -0
- package/public/manager/src/notes/wysiwyg/milkdown-wikilink-plugin.ts +152 -0
- package/public/manager/src/notes/wysiwyg/milkdown-wysiwyg-types.ts +13 -0
- package/public/manager/src/notes/wysiwyg/wysiwyg-fixtures.ts +4 -0
- package/public/manager/src/notes/wysiwyg/wysiwyg-frontmatter.ts +155 -0
- package/public/manager/src/preview.ts +20 -1
- package/public/manager/src/settings/pages/Embedding.tsx +382 -0
- package/public/manager/src/settings-embedding.css +168 -0
- package/public/manager/src/types.ts +20 -2
- package/scripts/install-officecli.sh +3 -1
- package/scripts/install-wsl.sh +107 -19
- package/public/dist/assets/MilkdownWysiwygEditor-Cm3uXfWf.js +0 -52
- package/public/dist/assets/app-Be58Cs3Y.js +0 -32
- package/public/dist/assets/app-CphocJzo.css +0 -1
- package/public/dist/assets/architecture-YZFGNWBL-VpdnYwVC.js +0 -1
- package/public/dist/assets/channel-xhp7drfS.js +0 -1
- package/public/dist/assets/chunk-426QAEUC-DadS7Aoc.js +0 -1
- package/public/dist/assets/chunk-55IACEB6-Cr281urY.js +0 -1
- package/public/dist/assets/chunk-QZHKN3VN-BYRU3VjK.js +0 -1
- package/public/dist/assets/classDiagram-6PBFFD2Q-Brk35lpl.js +0 -1
- package/public/dist/assets/classDiagram-v2-HSJHXN6E-CVZHK0Hg.js +0 -1
- package/public/dist/assets/dist-BsT5UdNP.js +0 -1
- package/public/dist/assets/dist-ClqO40BE.js +0 -1
- package/public/dist/assets/dist-CxeLAw2Y.js +0 -1
- package/public/dist/assets/dist-D2SH8nxa.js +0 -1
- package/public/dist/assets/dist-DfodGES_.js +0 -23
- package/public/dist/assets/dist-l9HH00ip.js +0 -1
- package/public/dist/assets/employees-CxdghzoD.js +0 -33
- package/public/dist/assets/gitGraph-7Q5UKJZL-CBKRRUZJ.js +0 -1
- package/public/dist/assets/idb-cache-C5ilDI6r.js +0 -1
- package/public/dist/assets/info-OMHHGYJF-BqzRlF_E.js +0 -1
- package/public/dist/assets/insert-image-markdown-DIEa-zjk.js +0 -22
- package/public/dist/assets/javascript-DT-6B2IU.js +0 -1
- package/public/dist/assets/katex-CS4w7U2j.js +0 -1
- package/public/dist/assets/manager-DEiyrWDP.css +0 -1
- package/public/dist/assets/manager-UEXd1_9T.js +0 -25
- package/public/dist/assets/memory-DXad_DPO.js +0 -1
- package/public/dist/assets/mermaid-loader-BEFIOoJn.js +0 -1
- package/public/dist/assets/mermaid.core-D0tXHgVC.js +0 -1
- package/public/dist/assets/packet-4T2RLAQJ-D7VqJs5z.js +0 -1
- package/public/dist/assets/pie-ZZUOXDRM-FbISwuBg.js +0 -1
- package/public/dist/assets/radar-PYXPWWZC-CLzM3m4R.js +0 -1
- package/public/dist/assets/render-DGQX46ei.js +0 -31
- package/public/dist/assets/settings-DXT87G2U.js +0 -1
- package/public/dist/assets/skills-5o_1v0nz.js +0 -1
- package/public/dist/assets/slash-commands-D4-hrrmh.js +0 -1
- package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-DScAhoyh.js +0 -1
- package/public/dist/assets/treeView-SZITEDCU-HJajkeQK.js +0 -1
- package/public/dist/assets/treemap-W4RFUUIX-CsRQ896G.js +0 -1
- package/public/dist/assets/ui-CdRKN2S6.js +0 -141
- package/public/dist/assets/ui-n43jmg_f.js +0 -1
- package/public/dist/assets/wardley-RL74JXVD-DMQFnlJp.js +0 -1
- package/public/dist/assets/ws-CTHQFzM1.js +0 -14
- /package/public/dist/assets/{agent-meta-DHddpWHQ.js → agent-meta-C1pQzExf.js} +0 -0
- /package/public/dist/assets/{apl-1H3fJ-n9.js → apl-HYRstREL.js} +0 -0
- /package/public/dist/assets/{asciiarmor-_1f4lqIZ.js → asciiarmor-BDXCrhAK.js} +0 -0
- /package/public/dist/assets/{asn1-B_wp1Pdt.js → asn1-CnSBhb0M.js} +0 -0
- /package/public/dist/assets/{asterisk-9Hxmlnbz.js → asterisk-AqV7rnIi.js} +0 -0
- /package/public/dist/assets/{brainfuck-C-PAVNT8.js → brainfuck-Dv46-iL9.js} +0 -0
- /package/public/dist/assets/{chunk-AGHRB4JF-EroDCcEL.js → chunk-AGHRB4JF-DIMn8T3_.js} +0 -0
- /package/public/dist/assets/{clike-DAVXDhrz.js → clike-GRffz5hY.js} +0 -0
- /package/public/dist/assets/{clojure-BIpQu4v4.js → clojure-DzgT_fqE.js} +0 -0
- /package/public/dist/assets/{cmake-YlOBEvgc.js → cmake-Co1237r5.js} +0 -0
- /package/public/dist/assets/{cobol-CU8lw6mH.js → cobol-rUaLketb.js} +0 -0
- /package/public/dist/assets/{coffeescript-DKG8mABL.js → coffeescript-DQyfHE86.js} +0 -0
- /package/public/dist/assets/{commonlisp-CbWboHR_.js → commonlisp-Buue1PGW.js} +0 -0
- /package/public/dist/assets/{constants-CYjOMbjf.js → constants-4A2GptQT.js} +0 -0
- /package/public/dist/assets/{crystal-WWs3Njra.js → crystal-BMWO0kOJ.js} +0 -0
- /package/public/dist/assets/{css-C9qNtc8P.js → css-DaxibPo5.js} +0 -0
- /package/public/dist/assets/{cypher-DglnWVZO.js → cypher-CmpGfiBR.js} +0 -0
- /package/public/dist/assets/{cytoscape.esm-BH6rhG9A.js → cytoscape.esm-zT8GwLFm.js} +0 -0
- /package/public/dist/assets/{d-DiNW6jcC.js → d-qmdtoIzU.js} +0 -0
- /package/public/dist/assets/{diff-PxsoX0eK.js → diff-B40m6u1h.js} +0 -0
- /package/public/dist/assets/{dist-BRFvH5ne.js → dist-BJyDhGpS.js} +0 -0
- /package/public/dist/assets/{dtd-BSiaE0hE.js → dtd-569ynYVj.js} +0 -0
- /package/public/dist/assets/{dylan-GcUJt0a5.js → dylan-Dxolp30i.js} +0 -0
- /package/public/dist/assets/{ebnf-DSIN9Ycp.js → ebnf-BZiX9Iq3.js} +0 -0
- /package/public/dist/assets/{ecl-LP9l5g0J.js → ecl-B8F1Q0oZ.js} +0 -0
- /package/public/dist/assets/{eiffel-CqpH5qaY.js → eiffel-Bv8Kvgh1.js} +0 -0
- /package/public/dist/assets/{elm-Dw3cJ7hz.js → elm-QWXQaIis.js} +0 -0
- /package/public/dist/assets/{erlang-DL9rpJep.js → erlang-CuDGzTGm.js} +0 -0
- /package/public/dist/assets/{fcl-DUmfTiJ7.js → fcl-BiFeqtHf.js} +0 -0
- /package/public/dist/assets/{forth-BSp-YOKj.js → forth-R7Uc2VcL.js} +0 -0
- /package/public/dist/assets/{fortran-BtIRmo6s.js → fortran-kDRG6BzW.js} +0 -0
- /package/public/dist/assets/{gas-okqIRy8I.js → gas-CyRkuC5T.js} +0 -0
- /package/public/dist/assets/{gherkin-DIlSAX9i.js → gherkin-BE0p00ey.js} +0 -0
- /package/public/dist/assets/{groovy-Dn6VQ7le.js → groovy-B_Sh3D1t.js} +0 -0
- /package/public/dist/assets/{haskell-DxXJRRAf.js → haskell-DWXgCy4o.js} +0 -0
- /package/public/dist/assets/{haxe-Cf0nItU4.js → haxe-xGxZ54Hv.js} +0 -0
- /package/public/dist/assets/{http-C3zQeWFV.js → http-CKv9cSBA.js} +0 -0
- /package/public/dist/assets/{idb-cache-CjnC_K0x.js → idb-cache-CZ3JdK8r.js} +0 -0
- /package/public/dist/assets/{idl-BvqkcZq5.js → idl-DmlI3XzS.js} +0 -0
- /package/public/dist/assets/{javascript-D1nkUbtD.js → javascript-j6r5uf_k.js} +0 -0
- /package/public/dist/assets/{jsx-runtime-DOs-BiPY.js → jsx-runtime-BjL7qHh8.js} +0 -0
- /package/public/dist/assets/{julia-CCUCEuMJ.js → julia-CQSp9Qa0.js} +0 -0
- /package/public/dist/assets/{livescript-DJ-6Zja2.js → livescript-CqvtVTlb.js} +0 -0
- /package/public/dist/assets/{locale-f397XJgr.js → locale-BHMJIzyw.js} +0 -0
- /package/public/dist/assets/{lua-CxE7YJaJ.js → lua-DazQKUZ0.js} +0 -0
- /package/public/dist/assets/{mathematica-oNEp3xtK.js → mathematica-DqhJVCs9.js} +0 -0
- /package/public/dist/assets/{mbox-AvjHxuWl.js → mbox-Dsyo1_UL.js} +0 -0
- /package/public/dist/assets/{mirc-CiJGiXcS.js → mirc-D7ThhoF-.js} +0 -0
- /package/public/dist/assets/{mllike-CV8oQtvy.js → mllike-EPZ6pqQD.js} +0 -0
- /package/public/dist/assets/{modelica-M4BAagfL.js → modelica-PU45hbqg.js} +0 -0
- /package/public/dist/assets/{mscgen-3QXoaqEl.js → mscgen-DEnh2Ojr.js} +0 -0
- /package/public/dist/assets/{mumps-BZoVj2VG.js → mumps-8GhR7rRa.js} +0 -0
- /package/public/dist/assets/{nginx-CBycrar_.js → nginx-CXwagpwp.js} +0 -0
- /package/public/dist/assets/{ntriples-BzBBWYSl.js → ntriples-BDQxxstw.js} +0 -0
- /package/public/dist/assets/{octave-BeIsGSMy.js → octave-2c90WnyU.js} +0 -0
- /package/public/dist/assets/{oz-DdNR63iD.js → oz-CO0rQ8EL.js} +0 -0
- /package/public/dist/assets/{pascal-BvmM4Y7z.js → pascal-CcVwOGeN.js} +0 -0
- /package/public/dist/assets/{path-utils-BuEEtj9w.js → path-utils-DySmCVZK.js} +0 -0
- /package/public/dist/assets/{perl-DFibaVbf.js → perl-B9UvGoAV.js} +0 -0
- /package/public/dist/assets/{pig-DyLcrln-.js → pig-Cd1f86ZJ.js} +0 -0
- /package/public/dist/assets/{powershell-CDOpEwhN.js → powershell-DV4cOnkJ.js} +0 -0
- /package/public/dist/assets/{preload-helper-CMqhPRCH.js → preload-helper-DuH3-WbD.js} +0 -0
- /package/public/dist/assets/{properties-Ju2yMwi3.js → properties-DaSVPhrZ.js} +0 -0
- /package/public/dist/assets/{protobuf-CfKx2SfO.js → protobuf-CEtFnY22.js} +0 -0
- /package/public/dist/assets/{puppet-dmjzqANu.js → puppet-Ca0DHfcW.js} +0 -0
- /package/public/dist/assets/{python-D9BZyYi1.js → python-ydzCwWG-.js} +0 -0
- /package/public/dist/assets/{q-C68SC4ma.js → q-Cl8kzQmk.js} +0 -0
- /package/public/dist/assets/{r-DP6KYC7N.js → r-DKZPJFrD.js} +0 -0
- /package/public/dist/assets/{rough.esm-BRGGwqOp.js → rough.esm-Dnk3WN4D.js} +0 -0
- /package/public/dist/assets/{rpm-DH2Z4z_v.js → rpm-D0lqeHoZ.js} +0 -0
- /package/public/dist/assets/{ruby-CwiqsW2a.js → ruby-RVmtmNDw.js} +0 -0
- /package/public/dist/assets/{sas-Btq5K1IU.js → sas-CEzodAB7.js} +0 -0
- /package/public/dist/assets/{scheme-BvG_RNGf.js → scheme-Pqmt6dh3.js} +0 -0
- /package/public/dist/assets/{settings-client-ajlwI-oK.js → settings-client-BN3XzwEo.js} +0 -0
- /package/public/dist/assets/{shell-waWIPbLL.js → shell-CLG3zy-u.js} +0 -0
- /package/public/dist/assets/{sieve-wIycBENd.js → sieve-C95IWC3O.js} +0 -0
- /package/public/dist/assets/{simple-mode-lHvrAolQ.js → simple-mode-B9ErAHMD.js} +0 -0
- /package/public/dist/assets/{smalltalk-SHoYQOtw.js → smalltalk-4cL-gRJb.js} +0 -0
- /package/public/dist/assets/{solr-D1Apesak.js → solr-CEA7oOx_.js} +0 -0
- /package/public/dist/assets/{sparql-BJozOrmN.js → sparql-w8kHjP6I.js} +0 -0
- /package/public/dist/assets/{spreadsheet-71jLW2fq.js → spreadsheet-C8bDfTgC.js} +0 -0
- /package/public/dist/assets/{sql-BaHU6gLz.js → sql-BrKz8968.js} +0 -0
- /package/public/dist/assets/{stex-BuVGLRtt.js → stex-xFw1nXeT.js} +0 -0
- /package/public/dist/assets/{stylus-Cqweyusm.js → stylus-gS_68vPk.js} +0 -0
- /package/public/dist/assets/{swift-Dx3m4XfV.js → swift-D5lXmY2d.js} +0 -0
- /package/public/dist/assets/{tcl-5yXjCZ8e.js → tcl-D-41REtC.js} +0 -0
- /package/public/dist/assets/{textile-9HVfsYV6.js → textile-D-Znao0j.js} +0 -0
- /package/public/dist/assets/{tiddlywiki-DlSf8L__.js → tiddlywiki-Co8lXJKd.js} +0 -0
- /package/public/dist/assets/{tiki-CDZRH0A4.js → tiki-DsiNRYMP.js} +0 -0
- /package/public/dist/assets/{toml-BgjfE0Y7.js → toml-CaVZGou4.js} +0 -0
- /package/public/dist/assets/{troff-B4ZrJIrZ.js → troff-DJvDVr-d.js} +0 -0
- /package/public/dist/assets/{ttcn-BJIiaYhP.js → ttcn-DAC92l4d.js} +0 -0
- /package/public/dist/assets/{ttcn-cfg-PZp_QKQg.js → ttcn-cfg-C0X-mYlr.js} +0 -0
- /package/public/dist/assets/{turtle--ft5y7IN.js → turtle-D6WHyCrL.js} +0 -0
- /package/public/dist/assets/{vb-DL6cecZs.js → vb-CEo_ccq3.js} +0 -0
- /package/public/dist/assets/{vbscript-Bb1xiv7E.js → vbscript-B_PKDV1v.js} +0 -0
- /package/public/dist/assets/{velocity-DKS9ZfbJ.js → velocity-ClKnKBLH.js} +0 -0
- /package/public/dist/assets/{vendor-utils-CWelFt6C.js → vendor-utils-IVTPs69f.js} +0 -0
- /package/public/dist/assets/{verilog-DSfhYFaT.js → verilog-Pnuspgw6.js} +0 -0
- /package/public/dist/assets/{vhdl-CFTSUmh9.js → vhdl-CZnyY4fs.js} +0 -0
- /package/public/dist/assets/{w3c-keyname-IiiZScED.js → w3c-keyname-DJlC6DTY.js} +0 -0
- /package/public/dist/assets/{webidl-C-IpKmuN.js → webidl-DHr762Dm.js} +0 -0
- /package/public/dist/assets/{xquery-9pXYEith.js → xquery-5-FiyUtN.js} +0 -0
- /package/public/dist/assets/{yacas-CqSYoSTv.js → yacas-GlqsXIeT.js} +0 -0
- /package/public/dist/assets/{z80-BltHQfm4.js → z80-CI7N40Oo.js} +0 -0
|
@@ -9,6 +9,11 @@ export interface VirtualHistoryBootstrapDeps {
|
|
|
9
9
|
setItems: (items: VirtualItem[], options?: { autoActivate?: boolean; toBottom?: boolean }) => void;
|
|
10
10
|
activateIfNeeded: (toBottom: boolean) => void;
|
|
11
11
|
scrollToBottom: () => void;
|
|
12
|
+
scrollToIndex?: (index: number) => void;
|
|
13
|
+
shouldFollowBottom?: () => boolean;
|
|
14
|
+
restoreIndex?: number | null;
|
|
15
|
+
onBeforeVirtualHistoryBootstrap?: () => void;
|
|
16
|
+
onAfterVirtualHistoryBottomed?: () => void;
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
/**
|
|
@@ -16,14 +21,29 @@ export interface VirtualHistoryBootstrapDeps {
|
|
|
16
21
|
* 1. registerCallbacks (onLazyRender, onPostRender)
|
|
17
22
|
* 2. setItems (with autoActivate=false to prevent premature activation)
|
|
18
23
|
* 3. activateIfNeeded → tanstack measures on mount via ResizeObserver
|
|
19
|
-
* 4. scrollToBottom
|
|
24
|
+
* 4. scrollToBottom OR scrollToIndex (restore previous position)
|
|
20
25
|
*/
|
|
21
26
|
export function bootstrapVirtualHistory(
|
|
22
27
|
items: VirtualItem[],
|
|
23
28
|
deps: VirtualHistoryBootstrapDeps,
|
|
24
29
|
): void {
|
|
30
|
+
deps.onBeforeVirtualHistoryBootstrap?.();
|
|
25
31
|
deps.registerCallbacks();
|
|
26
32
|
deps.setItems(items, { autoActivate: false });
|
|
27
|
-
deps.
|
|
28
|
-
|
|
33
|
+
const shouldFollowBottom = deps.shouldFollowBottom?.() ?? true;
|
|
34
|
+
if (shouldFollowBottom) {
|
|
35
|
+
deps.activateIfNeeded(true);
|
|
36
|
+
deps.scrollToBottom();
|
|
37
|
+
deps.onAfterVirtualHistoryBottomed?.();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const restoreIdx = deps.restoreIndex;
|
|
41
|
+
if (restoreIdx != null && restoreIdx >= 0) {
|
|
42
|
+
deps.activateIfNeeded(false);
|
|
43
|
+
deps.scrollToIndex?.(restoreIdx);
|
|
44
|
+
} else {
|
|
45
|
+
deps.activateIfNeeded(true);
|
|
46
|
+
deps.scrollToBottom();
|
|
47
|
+
deps.onAfterVirtualHistoryBottomed?.();
|
|
48
|
+
}
|
|
29
49
|
}
|
|
@@ -34,7 +34,12 @@ export interface VirtualItem {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export type LazyRenderCallback = (targets: HTMLElement[]) => void;
|
|
37
|
+
export type RestoreFollowPredicate = () => boolean;
|
|
37
38
|
type MeasurableVirtualElement = Pick<HTMLElement, 'getBoundingClientRect'>;
|
|
39
|
+
interface ScrollAnchor {
|
|
40
|
+
el: HTMLElement;
|
|
41
|
+
top: number;
|
|
42
|
+
}
|
|
38
43
|
|
|
39
44
|
function readMeasuredHeight(el: MeasurableVirtualElement): number {
|
|
40
45
|
const height = Math.ceil(el.getBoundingClientRect().height);
|
|
@@ -73,6 +78,7 @@ export class VirtualScroll {
|
|
|
73
78
|
private mounted = new Map<number, HTMLElement>();
|
|
74
79
|
private itemGap = 0;
|
|
75
80
|
private restorePassTimers = new Set<number>();
|
|
81
|
+
private shouldFollowAfterRestore: RestoreFollowPredicate = () => true;
|
|
76
82
|
|
|
77
83
|
onLazyRender: LazyRenderCallback | null = null;
|
|
78
84
|
onPostRender: ((viewport: HTMLElement) => void) | null = null;
|
|
@@ -188,11 +194,32 @@ export class VirtualScroll {
|
|
|
188
194
|
this.container.scrollTop = this.container.scrollHeight;
|
|
189
195
|
}
|
|
190
196
|
|
|
197
|
+
firstVisibleIndex(): number | null {
|
|
198
|
+
if (!this._active || !this.virtualizer) return null;
|
|
199
|
+
const virtualItems = this.virtualizer.getVirtualItems();
|
|
200
|
+
if (virtualItems.length === 0) return null;
|
|
201
|
+
const containerTop = this.container.scrollTop;
|
|
202
|
+
for (const vi of virtualItems) {
|
|
203
|
+
if (vi.end > containerTop) return vi.index;
|
|
204
|
+
}
|
|
205
|
+
return virtualItems[0].index;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
scrollToIndex(index: number, align: 'start' | 'center' | 'end' = 'start'): void {
|
|
209
|
+
if (this._active && this.virtualizer && index >= 0 && index < this.items.length) {
|
|
210
|
+
this.virtualizer.scrollToIndex(index, { align });
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
191
214
|
isNearBottom(threshold = BOTTOM_THRESHOLD): boolean {
|
|
192
215
|
const dist = this.container.scrollHeight - this.container.scrollTop - this.container.clientHeight;
|
|
193
216
|
return dist < threshold;
|
|
194
217
|
}
|
|
195
218
|
|
|
219
|
+
setRestoreFollowPredicate(predicate: RestoreFollowPredicate | null): void {
|
|
220
|
+
this.shouldFollowAfterRestore = predicate ?? (() => true);
|
|
221
|
+
}
|
|
222
|
+
|
|
196
223
|
reconcileBottomAfterLayout(reason: RestoreReason, shouldFollow = this.isNearBottom()): void {
|
|
197
224
|
if (!shouldFollow) return;
|
|
198
225
|
void reason;
|
|
@@ -204,37 +231,98 @@ export class VirtualScroll {
|
|
|
204
231
|
});
|
|
205
232
|
}
|
|
206
233
|
|
|
234
|
+
reconcileAfterRestore(reason: RestoreReason, shouldFollow: RestoreFollowPredicate = this.shouldFollowAfterRestore): void {
|
|
235
|
+
if (!shouldFollow()) {
|
|
236
|
+
this.invalidateLayout();
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
this.scheduleRestoreReconcile(reason, shouldFollow);
|
|
240
|
+
}
|
|
241
|
+
|
|
207
242
|
forceBottomAfterRestore(reason: RestoreReason): void {
|
|
208
243
|
this.scheduleRestoreReconcile(reason);
|
|
209
244
|
}
|
|
210
245
|
|
|
211
|
-
|
|
212
|
-
this.
|
|
213
|
-
|
|
246
|
+
cancelRestoreReconcile(_reason?: RestoreReason): void {
|
|
247
|
+
this.clearRestoreTimers();
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
preserveScrollDuringMutation<T>(anchorEl: Element | null, mutate: () => T): T {
|
|
251
|
+
const wasNearBottom = this.isNearBottom();
|
|
252
|
+
const anchor = this.captureScrollAnchor(anchorEl);
|
|
253
|
+
const result = mutate();
|
|
254
|
+
this.invalidateLayout();
|
|
255
|
+
if (wasNearBottom) {
|
|
256
|
+
this.reconcileBottomAfterLayout('manual', true);
|
|
257
|
+
return result;
|
|
258
|
+
}
|
|
259
|
+
this.restoreScrollAnchor(anchor);
|
|
260
|
+
return result;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
private scheduleRestoreReconcile(reason: RestoreReason, shouldFollow?: RestoreFollowPredicate): void {
|
|
264
|
+
this.runRestoreReconcilePass(reason, shouldFollow);
|
|
265
|
+
requestAnimationFrame(() => this.runRestoreReconcilePass(reason, shouldFollow));
|
|
214
266
|
requestAnimationFrame(() => {
|
|
215
|
-
requestAnimationFrame(() => this.runRestoreReconcilePass(reason));
|
|
267
|
+
requestAnimationFrame(() => this.runRestoreReconcilePass(reason, shouldFollow));
|
|
216
268
|
});
|
|
217
|
-
this.scheduleRestoreTimer(reason, 250);
|
|
218
|
-
this.scheduleRestoreTimer(reason, 1000);
|
|
219
|
-
void document.fonts?.ready.then(() => this.runRestoreReconcilePass(reason));
|
|
269
|
+
this.scheduleRestoreTimer(reason, 250, shouldFollow);
|
|
270
|
+
this.scheduleRestoreTimer(reason, 1000, shouldFollow);
|
|
271
|
+
void document.fonts?.ready.then(() => this.runRestoreReconcilePass(reason, shouldFollow));
|
|
220
272
|
}
|
|
221
273
|
|
|
222
|
-
private scheduleRestoreTimer(reason: RestoreReason, delayMs: number): void {
|
|
274
|
+
private scheduleRestoreTimer(reason: RestoreReason, delayMs: number, shouldFollow?: RestoreFollowPredicate): void {
|
|
223
275
|
const timer = window.setTimeout(() => {
|
|
224
276
|
this.restorePassTimers.delete(timer);
|
|
225
|
-
this.runRestoreReconcilePass(reason);
|
|
277
|
+
this.runRestoreReconcilePass(reason, shouldFollow);
|
|
226
278
|
}, delayMs);
|
|
227
279
|
this.restorePassTimers.add(timer);
|
|
228
280
|
}
|
|
229
281
|
|
|
230
|
-
private runRestoreReconcilePass(reason: RestoreReason): void {
|
|
282
|
+
private runRestoreReconcilePass(reason: RestoreReason, shouldFollow?: RestoreFollowPredicate): void {
|
|
231
283
|
if (!this.virtualizer) return;
|
|
232
284
|
void reason;
|
|
285
|
+
if (shouldFollow && !shouldFollow()) {
|
|
286
|
+
this.cancelRestoreReconcile(reason);
|
|
287
|
+
this.invalidateLayout();
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
233
290
|
this.invalidateLayout();
|
|
234
291
|
remeasureMountedVirtualItems(this.items, this.mounted, this.virtualizer);
|
|
235
292
|
this.scrollToBottom();
|
|
236
293
|
}
|
|
237
294
|
|
|
295
|
+
private captureScrollAnchor(preferred: Element | null): ScrollAnchor | null {
|
|
296
|
+
const preferredEl = preferred instanceof HTMLElement ? preferred : null;
|
|
297
|
+
const chosen = preferredEl && this.isVisibleInContainer(preferredEl)
|
|
298
|
+
? preferredEl
|
|
299
|
+
: this.firstVisibleMountedItem();
|
|
300
|
+
return chosen ? { el: chosen, top: chosen.getBoundingClientRect().top } : null;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
private restoreScrollAnchor(anchor: ScrollAnchor | null): void {
|
|
304
|
+
if (!anchor || !anchor.el.isConnected) return;
|
|
305
|
+
const afterTop = anchor.el.getBoundingClientRect().top;
|
|
306
|
+
const delta = afterTop - anchor.top;
|
|
307
|
+
if (Number.isFinite(delta) && delta !== 0) {
|
|
308
|
+
this.container.scrollTop += delta;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
private firstVisibleMountedItem(): HTMLElement | null {
|
|
313
|
+
const mounted = Array.from(this.mounted.entries()).sort(([a], [b]) => a - b);
|
|
314
|
+
for (const [, el] of mounted) {
|
|
315
|
+
if (this.isVisibleInContainer(el)) return el;
|
|
316
|
+
}
|
|
317
|
+
return null;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
private isVisibleInContainer(el: HTMLElement): boolean {
|
|
321
|
+
const rect = el.getBoundingClientRect();
|
|
322
|
+
const containerRect = this.container.getBoundingClientRect();
|
|
323
|
+
return rect.bottom > containerRect.top && rect.top < containerRect.bottom;
|
|
324
|
+
}
|
|
325
|
+
|
|
238
326
|
private clearRestoreTimers(): void {
|
|
239
327
|
for (const timer of this.restorePassTimers) {
|
|
240
328
|
window.clearTimeout(timer);
|
|
@@ -337,10 +425,9 @@ export class VirtualScroll {
|
|
|
337
425
|
|
|
338
426
|
// ── Browser restore reconciliation ──
|
|
339
427
|
// Resume/discard paths can restore stale virtualizer measurements.
|
|
340
|
-
// Product policy: browser restore/reconnect forces the newest message.
|
|
341
428
|
const restoreBottomAfterLayout = (reason: RestoreReason) => {
|
|
342
429
|
if (!this.virtualizer) return;
|
|
343
|
-
this.
|
|
430
|
+
this.reconcileAfterRestore(reason, this.shouldFollowAfterRestore);
|
|
344
431
|
};
|
|
345
432
|
const onPageShow = (e: PageTransitionEvent) => {
|
|
346
433
|
if (!e.persisted) return;
|
|
@@ -394,7 +481,7 @@ export class VirtualScroll {
|
|
|
394
481
|
const wasDiscarded = 'wasDiscarded' in document
|
|
395
482
|
&& Boolean((document as Document & { wasDiscarded?: boolean }).wasDiscarded);
|
|
396
483
|
if (wasDiscarded) {
|
|
397
|
-
|
|
484
|
+
restoreBottomAfterLayout('discard');
|
|
398
485
|
}
|
|
399
486
|
}
|
|
400
487
|
|
package/public/js/ws.ts
CHANGED
|
@@ -66,7 +66,7 @@ interface WsMessage {
|
|
|
66
66
|
detailBytes?: number;
|
|
67
67
|
rawRetentionStatus?: string;
|
|
68
68
|
text?: string;
|
|
69
|
-
toolLog?: { icon: string; label: string; detail?: string; toolType?: string; stepRef?: string; traceRunId?: string; traceSeq?: number; detailAvailable?: boolean; detailBytes?: number; rawRetentionStatus?: string }[];
|
|
69
|
+
toolLog?: { icon: string; label: string; detail?: string; toolType?: string; stepRef?: string; isEmployee?: boolean; traceRunId?: string; traceSeq?: number; detailAvailable?: boolean; detailBytes?: number; rawRetentionStatus?: string }[];
|
|
70
70
|
from?: string;
|
|
71
71
|
to?: string;
|
|
72
72
|
source?: string;
|
|
@@ -174,6 +174,11 @@ function registerOrchestrateRestoreHooks(): void {
|
|
|
174
174
|
&& Boolean((document as Document & { wasDiscarded?: boolean }).wasDiscarded)) {
|
|
175
175
|
requestBrowserRestoreSync('discard');
|
|
176
176
|
}
|
|
177
|
+
window.addEventListener('message', (event: MessageEvent) => {
|
|
178
|
+
if (event.data?.type === 'jaw-preview-visibility' && event.data.visible) {
|
|
179
|
+
requestBrowserRestoreSync('iframe-visible');
|
|
180
|
+
}
|
|
181
|
+
});
|
|
177
182
|
}
|
|
178
183
|
|
|
179
184
|
/** Hydrate agent phase cache from snapshot (used after reconnect) */
|
|
@@ -377,7 +382,6 @@ export function connect(): void {
|
|
|
377
382
|
addSystemMsg(t('ws.roundRetry', { round: msg.round || 0 }));
|
|
378
383
|
}
|
|
379
384
|
} else if (msg.type === 'agent_tool') {
|
|
380
|
-
const empPrefix = msg.isEmployee ? '(E) ' : '';
|
|
381
385
|
const stepType = msg.toolType === 'thinking' ? 'thinking'
|
|
382
386
|
: msg.toolType === 'search' ? 'search'
|
|
383
387
|
: msg.toolType === 'subagent' ? 'subagent' : 'tool';
|
|
@@ -386,7 +390,8 @@ export function connect(): void {
|
|
|
386
390
|
type: stepType,
|
|
387
391
|
icon: msg.icon || ICONS.tool,
|
|
388
392
|
rawIcon: msg.rawIcon || msg.icon || '',
|
|
389
|
-
label:
|
|
393
|
+
label: msg.label || '',
|
|
394
|
+
isEmployee: msg.isEmployee === true,
|
|
390
395
|
detail: msg.detail || '',
|
|
391
396
|
stepRef: msg.stepRef || '',
|
|
392
397
|
traceRunId: msg.traceRunId || '',
|
package/public/locales/en.json
CHANGED
|
@@ -64,6 +64,8 @@
|
|
|
64
64
|
"cmd.mcp.syncDone": "MCP sync complete ({count} targets)",
|
|
65
65
|
"cmd.mcp.installDone": "MCP install complete ({count} servers)",
|
|
66
66
|
"cmd.memory.empty": "No memory files.",
|
|
67
|
+
"cmd.memory.embed.status": "Embedding status",
|
|
68
|
+
"cmd.memory.embed.estimate": "Embedding estimate",
|
|
67
69
|
"cmd.browser.noTabs": "No open tabs.",
|
|
68
70
|
"cmd.fallback.inactive": "Fallback: disabled\nAvailable: {available}",
|
|
69
71
|
"cmd.fallback.off": "Fallback disabled",
|
|
@@ -141,7 +143,8 @@
|
|
|
141
143
|
"chat.file.sentWithMsg": "\n\nUser message: {text}",
|
|
142
144
|
"chat.file.uploadFail": "File upload failed: {msg}",
|
|
143
145
|
"chat.requestFail": "Request failed ({status})",
|
|
144
|
-
"chat.continue": "Continuing
|
|
146
|
+
"chat.continue": "Continuing the current task.",
|
|
147
|
+
"chat.noPendingContinue": "No pending work to continue.",
|
|
145
148
|
"chat.voice.label": "🎤 [Voice message]",
|
|
146
149
|
"skill.loadFail": "Failed to load skills",
|
|
147
150
|
"skill.count": "{active} active / {total} total",
|
|
@@ -460,5 +463,78 @@
|
|
|
460
463
|
"help.promptTemplates.howTo.2": "Select the template before a repeated workflow.",
|
|
461
464
|
"help.promptTemplates.example.1": "Save the same code review checklist instead of retyping it each time.",
|
|
462
465
|
"help.promptTemplates.avoid.1": "A short one-off instruction is clearer in chat",
|
|
463
|
-
"help.promptTemplates.related.1": "Prompt templates modal"
|
|
466
|
+
"help.promptTemplates.related.1": "Prompt templates modal",
|
|
467
|
+
"help.chatInput.title": "Chat input",
|
|
468
|
+
"help.chatInput.aria": "Chat input help",
|
|
469
|
+
"help.chatComposer.aria": "Chat input and keyboard shortcuts help",
|
|
470
|
+
"help.chatInput.intro": "The main box for sending task instructions, slash commands, and attachments.",
|
|
471
|
+
"help.chatInput.effect": "Messages go to the selected CLI with current settings, and attached files travel with the request.",
|
|
472
|
+
"help.chatInput.use.1": "Starting a new task or continuing current work",
|
|
473
|
+
"help.chatInput.use.2": "Running slash commands such as /help or /pabcd",
|
|
474
|
+
"help.chatInput.use.3": "Sending text and files together",
|
|
475
|
+
"help.chatInput.howTo.1": "Type a message and press Send or the supported submit shortcut.",
|
|
476
|
+
"help.chatInput.howTo.2": "Add files with the attachment button or drag and drop before sending.",
|
|
477
|
+
"help.chatInput.example.1": "Type \"review this diff\" and attach the relevant file.",
|
|
478
|
+
"help.chatInput.avoid.1": "Use slash commands for command-only actions instead of vague prose.",
|
|
479
|
+
"help.chatInput.avoid.2": "Do not paste raw secret keys or tokens into chat.",
|
|
480
|
+
"help.chatInput.related.1": "Attachments",
|
|
481
|
+
"help.chatInput.related.2": "Keyboard shortcuts",
|
|
482
|
+
"help.orchestration.title": "PABCD",
|
|
483
|
+
"help.orchestration.aria": "PABCD help",
|
|
484
|
+
"help.orchestration.intro": "PABCD is the plan, audit, build, check, and done workflow for larger work.",
|
|
485
|
+
"help.orchestration.effect": "Each phase has one job, which keeps broad changes safer and easier to review.",
|
|
486
|
+
"help.orchestration.use.1": "A task touches several files or features",
|
|
487
|
+
"help.orchestration.use.2": "Employee audit or implementation verification is needed",
|
|
488
|
+
"help.orchestration.use.3": "You want the plan agreed before code changes",
|
|
489
|
+
"help.orchestration.howTo.1": "Enter planning with /pabcd or /orchestrate.",
|
|
490
|
+
"help.orchestration.howTo.2": "Approve each phase to move to the next one.",
|
|
491
|
+
"help.orchestration.example.1": "Plan in P, audit in A, then implement in B.",
|
|
492
|
+
"help.orchestration.avoid.1": "A one-line answer or simple status check is enough",
|
|
493
|
+
"help.orchestration.avoid.2": "The task is urgent and should first be reduced in scope",
|
|
494
|
+
"help.orchestration.related.1": "Employees",
|
|
495
|
+
"help.orchestration.related.2": "Keyboard shortcuts",
|
|
496
|
+
"help.attachments.title": "Attachments",
|
|
497
|
+
"help.attachments.aria": "Attachments help",
|
|
498
|
+
"help.attachments.intro": "The area for sending images, documents, logs, or code files with the current message.",
|
|
499
|
+
"help.attachments.effect": "Attached files become part of the request context so the agent can read or analyze them.",
|
|
500
|
+
"help.attachments.use.1": "A screenshot or error log explains the problem",
|
|
501
|
+
"help.attachments.use.2": "A document or code file needs direct review",
|
|
502
|
+
"help.attachments.use.3": "Several related files should be sent together",
|
|
503
|
+
"help.attachments.howTo.1": "Use the attach button or drop files onto the chat area.",
|
|
504
|
+
"help.attachments.howTo.2": "Remove wrong files from the preview before sending.",
|
|
505
|
+
"help.attachments.example.1": "Send an error screenshot and log file together to ask for root cause.",
|
|
506
|
+
"help.attachments.avoid.1": "Do not attach credential files or files containing tokens.",
|
|
507
|
+
"help.attachments.avoid.2": "Unrelated large files can reduce analysis quality.",
|
|
508
|
+
"help.attachments.related.1": "Chat input",
|
|
509
|
+
"help.attachments.related.2": "Memory",
|
|
510
|
+
"help.diagrams.title": "Diagrams",
|
|
511
|
+
"help.diagrams.aria": "Diagrams help",
|
|
512
|
+
"help.diagrams.intro": "Inline SVG, Mermaid, and interactive diagrams rendered directly inside answers.",
|
|
513
|
+
"help.diagrams.effect": "Complex flows, structures, and comparisons become easier to scan than prose alone.",
|
|
514
|
+
"help.diagrams.use.1": "You want a file-change map or system flow",
|
|
515
|
+
"help.diagrams.use.2": "A PABCD plan or audit result needs a quick overview",
|
|
516
|
+
"help.diagrams.use.3": "A rendered diagram should be expanded or copied",
|
|
517
|
+
"help.diagrams.howTo.1": "Use the diagram action buttons to zoom, copy, or save when available.",
|
|
518
|
+
"help.diagrams.howTo.2": "Report rendering issues such as shifted text or invisible lines.",
|
|
519
|
+
"help.diagrams.example.1": "Ask for the scope to be shown as boxes and arrows.",
|
|
520
|
+
"help.diagrams.avoid.1": "Exact source text or long code is clearer as text.",
|
|
521
|
+
"help.diagrams.avoid.2": "Do not visualize screens that expose secrets.",
|
|
522
|
+
"help.diagrams.related.1": "PABCD",
|
|
523
|
+
"help.diagrams.related.2": "Attachments",
|
|
524
|
+
"help.keyboardShortcuts.title": "Keyboard shortcuts",
|
|
525
|
+
"help.keyboardShortcuts.aria": "Keyboard shortcuts help",
|
|
526
|
+
"help.keyboardShortcuts.intro": "A guide to Jaw UI and browser shortcuts that reduce repeated clicking.",
|
|
527
|
+
"help.keyboardShortcuts.effect": "Input, voice, help, and dashboard navigation can be faster from the keyboard.",
|
|
528
|
+
"help.keyboardShortcuts.use.1": "You want to run frequent actions without the mouse",
|
|
529
|
+
"help.keyboardShortcuts.use.2": "You need to know whether shortcuts interrupt typing",
|
|
530
|
+
"help.keyboardShortcuts.use.3": "You are looking for Manager dashboard shortcut settings",
|
|
531
|
+
"help.keyboardShortcuts.howTo.1": "Classic Web: Enter sends from the chat input, Shift+Enter adds a new line, and slash commands start with / in the same input.",
|
|
532
|
+
"help.keyboardShortcuts.howTo.2": "Manager: ? opens shortcut help outside editors; Alt+I, Alt+P, and Alt+N jump to Instances, the active Preview, and Notes; Alt+K and Alt+J select the previous or next instance.",
|
|
533
|
+
"help.keyboardShortcuts.howTo.3": "Manager Notes: Cmd/Ctrl+S saves, Cmd/Ctrl+E cycles Raw/Preview/WYSIWYG, Cmd/Ctrl+Shift+F opens note search, Cmd/Ctrl+P toggles the quick switcher, and Cmd/Ctrl+Delete or Cmd/Ctrl+Backspace trashes the selected note or folder.",
|
|
534
|
+
"help.keyboardShortcuts.example.1": "Press Enter in the chat input to send; use Shift+Enter when you need a new line.",
|
|
535
|
+
"help.keyboardShortcuts.example.2": "Press ? in Manager when focus is not in an input or editor to open this shortcut help.",
|
|
536
|
+
"help.keyboardShortcuts.avoid.1": "Change the chord when it conflicts with browser defaults.",
|
|
537
|
+
"help.keyboardShortcuts.avoid.2": "Global shortcuts should not override active text editing.",
|
|
538
|
+
"help.keyboardShortcuts.related.1": "Chat input",
|
|
539
|
+
"help.keyboardShortcuts.related.2": "PABCD"
|
|
464
540
|
}
|
package/public/locales/ja.json
CHANGED
|
@@ -141,7 +141,8 @@
|
|
|
141
141
|
"chat.file.sentWithMsg": "\n\nユーザーメッセージ: {text}",
|
|
142
142
|
"chat.file.uploadFail": "ファイルのアップロードに失敗しました: {msg}",
|
|
143
143
|
"chat.requestFail": "リクエストに失敗しました({status})",
|
|
144
|
-
"chat.continue": "
|
|
144
|
+
"chat.continue": "現在の作業を続行しています。",
|
|
145
|
+
"chat.noPendingContinue": "続行できる保留中の作業はありません。",
|
|
145
146
|
"chat.voice.label": "🎤 [音声メッセージ]",
|
|
146
147
|
"skill.loadFail": "スキルを読み込めませんでした",
|
|
147
148
|
"skill.count": "有効 {active} 件 / 全 {total} 件",
|
|
@@ -460,5 +461,78 @@
|
|
|
460
461
|
"help.promptTemplates.howTo.2": "繰り返しワークフローの前にテンプレートを選びます。",
|
|
461
462
|
"help.promptTemplates.example.1": "同じコードレビュー用チェックリストを保存して、毎回入力し直さずに使います。",
|
|
462
463
|
"help.promptTemplates.avoid.1": "短い一度きりの指示をチャットで書くほうが明確な場合",
|
|
463
|
-
"help.promptTemplates.related.1": "プロンプトテンプレートモーダル"
|
|
464
|
+
"help.promptTemplates.related.1": "プロンプトテンプレートモーダル",
|
|
465
|
+
"help.chatInput.title": "チャット入力",
|
|
466
|
+
"help.chatInput.aria": "チャット入力ヘルプ",
|
|
467
|
+
"help.chatComposer.aria": "チャット入力とキーボードショートカットのヘルプ",
|
|
468
|
+
"help.chatInput.intro": "作業指示、スラッシュコマンド、添付ファイルを送る基本入力欄です。",
|
|
469
|
+
"help.chatInput.effect": "送信内容は現在の CLI と設定で処理され、添付ファイルも同じリクエストに含まれます。",
|
|
470
|
+
"help.chatInput.use.1": "新しい作業を始める、または現在の作業を続けるとき",
|
|
471
|
+
"help.chatInput.use.2": "/help や /pabcd などのスラッシュコマンドを使うとき",
|
|
472
|
+
"help.chatInput.use.3": "テキストとファイルを一緒に送りたいとき",
|
|
473
|
+
"help.chatInput.howTo.1": "メッセージを入力し、Send または対応する送信ショートカットを使います。",
|
|
474
|
+
"help.chatInput.howTo.2": "添付ボタンまたはドラッグ&ドロップでファイルを追加してから送信します。",
|
|
475
|
+
"help.chatInput.example.1": "「この diff をレビューして」と書き、関連ファイルを添付します。",
|
|
476
|
+
"help.chatInput.avoid.1": "コマンドだけ実行する場合は曖昧な文章よりスラッシュコマンドが安全です。",
|
|
477
|
+
"help.chatInput.avoid.2": "秘密鍵やトークンの原文を直接貼り付けないでください。",
|
|
478
|
+
"help.chatInput.related.1": "添付ファイル",
|
|
479
|
+
"help.chatInput.related.2": "キーボードショートカット",
|
|
480
|
+
"help.orchestration.title": "PABCD",
|
|
481
|
+
"help.orchestration.aria": "PABCD ヘルプ",
|
|
482
|
+
"help.orchestration.intro": "PABCD は、計画、監査、実装、確認、完了を分けて進める作業フローです。",
|
|
483
|
+
"help.orchestration.effect": "各フェーズの役割を分けることで、大きな変更を安全に進められます。",
|
|
484
|
+
"help.orchestration.use.1": "複数ファイルや複数機能にまたがる作業を始めるとき",
|
|
485
|
+
"help.orchestration.use.2": "従業員監査や実装検証が必要なとき",
|
|
486
|
+
"help.orchestration.use.3": "コード変更前に計画を合意したいとき",
|
|
487
|
+
"help.orchestration.howTo.1": "/pabcd または /orchestrate で計画フェーズに入ります。",
|
|
488
|
+
"help.orchestration.howTo.2": "各フェーズの終わりに承認すると次へ進みます。",
|
|
489
|
+
"help.orchestration.example.1": "P で計画し、A で監査し、B で実装します。",
|
|
490
|
+
"help.orchestration.avoid.1": "一行回答や単純な状態確認で十分な場合",
|
|
491
|
+
"help.orchestration.avoid.2": "緊急作業はまず範囲を小さくしてください。",
|
|
492
|
+
"help.orchestration.related.1": "従業員",
|
|
493
|
+
"help.orchestration.related.2": "キーボードショートカット",
|
|
494
|
+
"help.attachments.title": "添付ファイル",
|
|
495
|
+
"help.attachments.aria": "添付ファイルヘルプ",
|
|
496
|
+
"help.attachments.intro": "画像、文書、ログ、コードファイルを現在のメッセージと一緒に送る領域です。",
|
|
497
|
+
"help.attachments.effect": "添付ファイルはリクエスト文脈に入り、Agent が読み取りや分析に使えます。",
|
|
498
|
+
"help.attachments.use.1": "スクリーンショットやエラーログで問題を説明するとき",
|
|
499
|
+
"help.attachments.use.2": "文書やコードファイルを直接レビューさせるとき",
|
|
500
|
+
"help.attachments.use.3": "関連ファイルをまとめて送るとき",
|
|
501
|
+
"help.attachments.howTo.1": "添付ボタンを使うか、チャット領域にファイルをドロップします。",
|
|
502
|
+
"help.attachments.howTo.2": "送信前にプレビューで不要なファイルを削除します。",
|
|
503
|
+
"help.attachments.example.1": "エラー画面とログファイルを一緒に送り、原因調査を依頼します。",
|
|
504
|
+
"help.attachments.avoid.1": "認証情報やトークンを含むファイルは添付しないでください。",
|
|
505
|
+
"help.attachments.avoid.2": "関係ない大きなファイルは分析品質を下げることがあります。",
|
|
506
|
+
"help.attachments.related.1": "チャット入力",
|
|
507
|
+
"help.attachments.related.2": "メモリ",
|
|
508
|
+
"help.diagrams.title": "ダイアグラム",
|
|
509
|
+
"help.diagrams.aria": "ダイアグラムヘルプ",
|
|
510
|
+
"help.diagrams.intro": "回答内の SVG、Mermaid、インタラクティブ図をそのまま表示する機能です。",
|
|
511
|
+
"help.diagrams.effect": "複雑な流れ、構造、比較を文章だけより早く把握できます。",
|
|
512
|
+
"help.diagrams.use.1": "ファイル変更マップやシステムフローを見たいとき",
|
|
513
|
+
"help.diagrams.use.2": "PABCD 計画や監査結果を一目で整理したいとき",
|
|
514
|
+
"help.diagrams.use.3": "表示された図を拡大またはコピーしたいとき",
|
|
515
|
+
"help.diagrams.howTo.1": "利用できる場合は図のボタンで拡大、コピー、保存を行います。",
|
|
516
|
+
"help.diagrams.howTo.2": "文字ずれや線が見えない場合はレンダリング問題として報告してください。",
|
|
517
|
+
"help.diagrams.example.1": "作業範囲を箱と矢印で示すよう依頼します。",
|
|
518
|
+
"help.diagrams.avoid.1": "正確な原文や長いコードはテキストのほうが明確です。",
|
|
519
|
+
"help.diagrams.avoid.2": "秘密情報が見える画面をそのまま図にしないでください。",
|
|
520
|
+
"help.diagrams.related.1": "PABCD",
|
|
521
|
+
"help.diagrams.related.2": "添付ファイル",
|
|
522
|
+
"help.keyboardShortcuts.title": "キーボードショートカット",
|
|
523
|
+
"help.keyboardShortcuts.aria": "キーボードショートカットヘルプ",
|
|
524
|
+
"help.keyboardShortcuts.intro": "クリックを減らすための Jaw UI とブラウザショートカットの案内です。",
|
|
525
|
+
"help.keyboardShortcuts.effect": "入力、音声、ヘルプ、ダッシュボード移動をキーボードで素早く実行できます。",
|
|
526
|
+
"help.keyboardShortcuts.use.1": "マウスなしでよく使う操作を実行したいとき",
|
|
527
|
+
"help.keyboardShortcuts.use.2": "ショートカットが入力を邪魔しないか確認したいとき",
|
|
528
|
+
"help.keyboardShortcuts.use.3": "Manager dashboard のショートカット設定を探しているとき",
|
|
529
|
+
"help.keyboardShortcuts.howTo.1": "Classic Web: チャット入力では Enter で送信し、Shift+Enter で改行します。スラッシュコマンドは同じ入力欄で / から始めます。",
|
|
530
|
+
"help.keyboardShortcuts.howTo.2": "Manager: エディタ外では ? でショートカットヘルプを開き、Alt+I、Alt+P、Alt+N で Instances、active Preview、Notes へ移動し、Alt+K と Alt+J で前後のインスタンスを選択します。",
|
|
531
|
+
"help.keyboardShortcuts.howTo.3": "Manager Notes: Cmd/Ctrl+S で保存、Cmd/Ctrl+E で Raw/Preview/WYSIWYG を切り替え、Cmd/Ctrl+Shift+F でノート検索、Cmd/Ctrl+P で quick switcher、Cmd/Ctrl+Delete または Cmd/Ctrl+Backspace で選択中のノートやフォルダをゴミ箱へ移動します。",
|
|
532
|
+
"help.keyboardShortcuts.example.1": "チャット入力で Enter を押すと送信し、改行したいときは Shift+Enter を使います。",
|
|
533
|
+
"help.keyboardShortcuts.example.2": "Manager で入力欄やエディタにフォーカスがない状態で ? を押すと、このショートカットヘルプを開きます。",
|
|
534
|
+
"help.keyboardShortcuts.avoid.1": "ブラウザ既定ショートカットと衝突する場合は別の組み合わせに変更します。",
|
|
535
|
+
"help.keyboardShortcuts.avoid.2": "グローバルショートカットは編集中の入力を上書きしません。",
|
|
536
|
+
"help.keyboardShortcuts.related.1": "チャット入力",
|
|
537
|
+
"help.keyboardShortcuts.related.2": "PABCD"
|
|
464
538
|
}
|
package/public/locales/ko.json
CHANGED
|
@@ -64,6 +64,8 @@
|
|
|
64
64
|
"cmd.mcp.syncDone": "MCP sync 완료 ({count} target)",
|
|
65
65
|
"cmd.mcp.installDone": "MCP install 완료 ({count} server)",
|
|
66
66
|
"cmd.memory.empty": "memory 파일이 없습니다.",
|
|
67
|
+
"cmd.memory.embed.status": "임베딩 상태",
|
|
68
|
+
"cmd.memory.embed.estimate": "임베딩 추정",
|
|
67
69
|
"cmd.browser.noTabs": "열린 탭이 없습니다.",
|
|
68
70
|
"cmd.fallback.inactive": "Fallback: 비활성화\n사용 가능: {available}",
|
|
69
71
|
"cmd.fallback.off": "Fallback 비활성화됨",
|
|
@@ -141,7 +143,8 @@
|
|
|
141
143
|
"chat.file.sentWithMsg": "\n\n사용자 메시지: {text}",
|
|
142
144
|
"chat.file.uploadFail": "파일 업로드 실패: {msg}",
|
|
143
145
|
"chat.requestFail": "요청 실패 ({status})",
|
|
144
|
-
"chat.continue": "
|
|
146
|
+
"chat.continue": "현재 작업을 이어서 진행합니다.",
|
|
147
|
+
"chat.noPendingContinue": "이어갈 작업이 없습니다.",
|
|
145
148
|
"chat.voice.label": "🎤 [음성 메시지]",
|
|
146
149
|
"skill.loadFail": "스킬 로드 실패",
|
|
147
150
|
"skill.count": "활성 {active}개 / 전체 {total}개",
|
|
@@ -460,5 +463,78 @@
|
|
|
460
463
|
"help.promptTemplates.howTo.2": "반복 작업 전 해당 템플릿을 선택해 요청에 붙입니다.",
|
|
461
464
|
"help.promptTemplates.example.1": "매번 같은 코드 리뷰 기준을 붙여야 할 때 템플릿으로 저장합니다.",
|
|
462
465
|
"help.promptTemplates.avoid.1": "한 번만 쓸 짧은 지시인 경우",
|
|
463
|
-
"help.promptTemplates.related.1": "프롬프트 템플릿 모달"
|
|
466
|
+
"help.promptTemplates.related.1": "프롬프트 템플릿 모달",
|
|
467
|
+
"help.chatInput.title": "채팅 입력",
|
|
468
|
+
"help.chatInput.aria": "채팅 입력 도움말",
|
|
469
|
+
"help.chatComposer.aria": "채팅 입력 및 키보드 단축키 도움말",
|
|
470
|
+
"help.chatInput.intro": "현재 작업 지시, 슬래시 커맨드, 파일 첨부를 보내는 기본 입력창입니다.",
|
|
471
|
+
"help.chatInput.effect": "보낸 내용은 선택된 CLI와 현재 설정으로 전달되고, 첨부 파일은 메시지와 함께 처리됩니다.",
|
|
472
|
+
"help.chatInput.use.1": "새 작업을 시작하거나 현재 작업을 이어갈 때",
|
|
473
|
+
"help.chatInput.use.2": "/help, /pabcd 같은 슬래시 커맨드를 실행할 때",
|
|
474
|
+
"help.chatInput.use.3": "텍스트와 첨부 파일을 함께 보내야 할 때",
|
|
475
|
+
"help.chatInput.howTo.1": "메시지를 입력하고 Send를 누르거나 지원되는 제출 단축키를 사용합니다.",
|
|
476
|
+
"help.chatInput.howTo.2": "파일은 첨부 버튼이나 드래그 앤 드롭으로 추가한 뒤 함께 보냅니다.",
|
|
477
|
+
"help.chatInput.example.1": "\"이 diff 리뷰해줘\"라고 쓰고 관련 파일을 첨부합니다.",
|
|
478
|
+
"help.chatInput.avoid.1": "명령만 실행하려면 잘못된 자연어보다 슬래시 커맨드를 쓰는 편이 안전합니다.",
|
|
479
|
+
"help.chatInput.avoid.2": "비밀 키나 토큰 원문은 메시지에 직접 넣지 마세요.",
|
|
480
|
+
"help.chatInput.related.1": "첨부 파일",
|
|
481
|
+
"help.chatInput.related.2": "키보드 단축키",
|
|
482
|
+
"help.orchestration.title": "PABCD",
|
|
483
|
+
"help.orchestration.aria": "PABCD 도움말",
|
|
484
|
+
"help.orchestration.intro": "PABCD는 계획, 감사, 구현, 확인, 완료를 단계별로 진행하는 작업 흐름입니다.",
|
|
485
|
+
"help.orchestration.effect": "각 단계에서 해야 할 일이 분리되어 큰 작업을 더 안전하게 진행합니다.",
|
|
486
|
+
"help.orchestration.use.1": "여러 파일이나 기능을 건드리는 작업을 시작할 때",
|
|
487
|
+
"help.orchestration.use.2": "직원 감사나 구현 검증이 필요한 변경일 때",
|
|
488
|
+
"help.orchestration.use.3": "계획을 먼저 확정하고 싶은 작업일 때",
|
|
489
|
+
"help.orchestration.howTo.1": "/pabcd 또는 /orchestrate로 계획 단계에 들어갑니다.",
|
|
490
|
+
"help.orchestration.howTo.2": "각 단계 끝에서 승인하면 다음 단계로 넘어갑니다.",
|
|
491
|
+
"help.orchestration.example.1": "P에서 계획을 세우고, A에서 직원이 감사한 뒤, B에서 구현합니다.",
|
|
492
|
+
"help.orchestration.avoid.1": "한 줄 답변이나 단순 상태 확인에는 과합니다.",
|
|
493
|
+
"help.orchestration.avoid.2": "바로 실행해야 하는 긴급 작업에는 먼저 범위를 줄이세요.",
|
|
494
|
+
"help.orchestration.related.1": "직원",
|
|
495
|
+
"help.orchestration.related.2": "키보드 단축키",
|
|
496
|
+
"help.attachments.title": "첨부 파일",
|
|
497
|
+
"help.attachments.aria": "첨부 파일 도움말",
|
|
498
|
+
"help.attachments.intro": "이미지, 문서, 코드 파일을 현재 메시지와 함께 전달하는 영역입니다.",
|
|
499
|
+
"help.attachments.effect": "첨부된 파일은 메시지 맥락에 포함되어 에이전트가 읽거나 분석할 수 있습니다.",
|
|
500
|
+
"help.attachments.use.1": "스크린샷이나 오류 로그를 같이 설명해야 할 때",
|
|
501
|
+
"help.attachments.use.2": "문서나 코드 파일을 직접 검토시킬 때",
|
|
502
|
+
"help.attachments.use.3": "여러 파일을 한 요청에 묶어 보내야 할 때",
|
|
503
|
+
"help.attachments.howTo.1": "첨부 버튼을 누르거나 파일을 채팅 영역에 드롭합니다.",
|
|
504
|
+
"help.attachments.howTo.2": "보내기 전에 미리보기에서 잘못 붙은 파일을 제거합니다.",
|
|
505
|
+
"help.attachments.example.1": "오류 스크린샷과 로그 파일을 함께 보내 원인을 묻습니다.",
|
|
506
|
+
"help.attachments.avoid.1": "민감한 인증 파일이나 토큰이 든 파일은 보내지 마세요.",
|
|
507
|
+
"help.attachments.avoid.2": "관련 없는 대용량 파일은 분석 품질을 떨어뜨릴 수 있습니다.",
|
|
508
|
+
"help.attachments.related.1": "채팅 입력",
|
|
509
|
+
"help.attachments.related.2": "메모리",
|
|
510
|
+
"help.diagrams.title": "다이어그램",
|
|
511
|
+
"help.diagrams.aria": "다이어그램 도움말",
|
|
512
|
+
"help.diagrams.intro": "답변 안의 SVG, Mermaid, interactive diagram을 화면에서 바로 보는 기능입니다.",
|
|
513
|
+
"help.diagrams.effect": "복잡한 흐름, 구조, 비교를 글보다 빠르게 파악할 수 있습니다.",
|
|
514
|
+
"help.diagrams.use.1": "파일 변경 지도나 시스템 흐름을 보고 싶을 때",
|
|
515
|
+
"help.diagrams.use.2": "PABCD 계획이나 감사 결과를 한눈에 정리할 때",
|
|
516
|
+
"help.diagrams.use.3": "렌더링된 도표를 확대하거나 복사해야 할 때",
|
|
517
|
+
"help.diagrams.howTo.1": "답변 안의 다이어그램 버튼으로 확대, 복사, 저장 동작을 사용합니다.",
|
|
518
|
+
"help.diagrams.howTo.2": "글자가 밀리거나 선이 안 보이면 렌더링 문제로 보고해 주세요.",
|
|
519
|
+
"help.diagrams.example.1": "작업 범위를 파일 박스와 화살표로 보여 달라고 요청합니다.",
|
|
520
|
+
"help.diagrams.avoid.1": "정확한 원문이나 긴 코드에는 다이어그램보다 텍스트가 낫습니다.",
|
|
521
|
+
"help.diagrams.avoid.2": "보안 정보가 포함된 화면을 그대로 시각화하지 마세요.",
|
|
522
|
+
"help.diagrams.related.1": "PABCD",
|
|
523
|
+
"help.diagrams.related.2": "첨부 파일",
|
|
524
|
+
"help.keyboardShortcuts.title": "키보드 단축키",
|
|
525
|
+
"help.keyboardShortcuts.aria": "키보드 단축키 도움말",
|
|
526
|
+
"help.keyboardShortcuts.intro": "반복 조작을 줄이는 브라우저와 Jaw UI의 단축키 안내입니다.",
|
|
527
|
+
"help.keyboardShortcuts.effect": "입력, 음성, 도움말, 대시보드 이동 같은 작업을 더 빠르게 실행할 수 있습니다.",
|
|
528
|
+
"help.keyboardShortcuts.use.1": "마우스 없이 자주 쓰는 동작을 실행하고 싶을 때",
|
|
529
|
+
"help.keyboardShortcuts.use.2": "단축키가 입력창을 방해하는지 확인하고 싶을 때",
|
|
530
|
+
"help.keyboardShortcuts.use.3": "Manager dashboard 단축키 설정 위치를 찾을 때",
|
|
531
|
+
"help.keyboardShortcuts.howTo.1": "Classic Web: 채팅 입력창에서 Enter는 전송, Shift+Enter는 줄바꿈이며, 슬래시 커맨드는 같은 입력창에서 /로 시작합니다.",
|
|
532
|
+
"help.keyboardShortcuts.howTo.2": "Manager: 에디터 밖에서 ?는 단축키 도움말을 열고, Alt+I, Alt+P, Alt+N은 Instances, active Preview, Notes로 이동하며, Alt+K와 Alt+J는 이전/다음 인스턴스를 선택합니다.",
|
|
533
|
+
"help.keyboardShortcuts.howTo.3": "Manager Notes: Cmd/Ctrl+S는 저장, Cmd/Ctrl+E는 Raw/Preview/WYSIWYG 전환, Cmd/Ctrl+Shift+F는 노트 검색, Cmd/Ctrl+P는 quick switcher 토글, Cmd/Ctrl+Delete 또는 Cmd/Ctrl+Backspace는 선택한 노트나 폴더를 휴지통으로 보냅니다.",
|
|
534
|
+
"help.keyboardShortcuts.example.1": "채팅 입력창에서 Enter를 눌러 전송하고, 줄바꿈이 필요하면 Shift+Enter를 사용합니다.",
|
|
535
|
+
"help.keyboardShortcuts.example.2": "Manager에서 포커스가 입력창이나 에디터 안에 없을 때 ?를 눌러 이 단축키 도움말을 엽니다.",
|
|
536
|
+
"help.keyboardShortcuts.avoid.1": "브라우저 기본 단축키와 충돌하면 설정에서 다른 조합을 쓰세요.",
|
|
537
|
+
"help.keyboardShortcuts.avoid.2": "텍스트 작성 중에는 전역 단축키보다 입력 보호가 우선입니다.",
|
|
538
|
+
"help.keyboardShortcuts.related.1": "채팅 입력",
|
|
539
|
+
"help.keyboardShortcuts.related.2": "PABCD"
|
|
464
540
|
}
|