cli-jaw 2.2.15 → 2.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -2
- package/dist/bin/cli-jaw.js +39 -0
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/_shared/dashboard-client.js +42 -0
- package/dist/bin/commands/_shared/dashboard-client.js.map +1 -0
- package/dist/bin/commands/_shared/search-format.js +40 -0
- package/dist/bin/commands/_shared/search-format.js.map +1 -0
- package/dist/bin/commands/chat-search.js +5 -3
- package/dist/bin/commands/chat-search.js.map +1 -1
- package/dist/bin/commands/dashboard-chat.js +14 -31
- package/dist/bin/commands/dashboard-chat.js.map +1 -1
- package/dist/bin/commands/dashboard-memory.js +12 -49
- package/dist/bin/commands/dashboard-memory.js.map +1 -1
- package/dist/bin/commands/doctor.js +56 -11
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/init.js +31 -1
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/memory.js +5 -1
- package/dist/bin/commands/memory.js.map +1 -1
- package/dist/bin/commands/provider.js +23 -0
- package/dist/bin/commands/provider.js.map +1 -1
- package/dist/bin/commands/slack.js +57 -3
- package/dist/bin/commands/slack.js.map +1 -1
- package/dist/bin/commands/tui/input-handler.js +1 -1
- package/dist/bin/commands/tui/input-handler.js.map +1 -1
- package/dist/bin/commands/tui/slash-command-runner.js +4 -5
- package/dist/bin/commands/tui/slash-command-runner.js.map +1 -1
- package/dist/bin/postinstall.js +16 -18
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/lib/media-kind.js +28 -0
- package/dist/lib/media-kind.js.map +1 -0
- package/dist/lib/upload.js +27 -10
- package/dist/lib/upload.js.map +1 -1
- package/dist/server.js +35 -51
- package/dist/server.js.map +1 -1
- package/dist/src/agent/args.js +34 -0
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/codex-app-client.js +1016 -135
- package/dist/src/agent/codex-app-client.js.map +1 -1
- package/dist/src/agent/codex-app-events.js +72 -1
- package/dist/src/agent/codex-app-events.js.map +1 -1
- package/dist/src/agent/codex-host-pool.js +617 -0
- package/dist/src/agent/codex-host-pool.js.map +1 -0
- package/dist/src/agent/jwc-runtime.js +12 -4
- package/dist/src/agent/jwc-runtime.js.map +1 -1
- package/dist/src/agent/kiro-auth.js +10 -4
- package/dist/src/agent/kiro-auth.js.map +1 -1
- package/dist/src/agent/kiro-runtime.js +45 -8
- package/dist/src/agent/kiro-runtime.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +75 -52
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/memory-flush-controller.js +241 -33
- package/dist/src/agent/memory-flush-controller.js.map +1 -1
- package/dist/src/agent/prompt-context.js +4 -0
- package/dist/src/agent/prompt-context.js.map +1 -1
- package/dist/src/agent/runtime-pool.js +64 -34
- package/dist/src/agent/runtime-pool.js.map +1 -1
- package/dist/src/agent/session-persistence.js +71 -15
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn/queue.js +319 -162
- package/dist/src/agent/spawn/queue.js.map +1 -1
- package/dist/src/agent/spawn.js +581 -268
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/bgtask/types.js +1 -1
- package/dist/src/bgtask/types.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/safety.js +25 -0
- package/dist/src/browser/adaptive-fetch/safety.js.map +1 -1
- package/dist/src/browser/connection.js +2 -8
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/cli/capability-probe-worker.js +172 -0
- package/dist/src/cli/capability-probe-worker.js.map +1 -0
- package/dist/src/cli/capability-probe.js +83 -0
- package/dist/src/cli/capability-probe.js.map +1 -0
- package/dist/src/cli/claude-models.js +2 -2
- package/dist/src/cli/claude-models.js.map +1 -1
- package/dist/src/cli/cli-status-worker.js +296 -0
- package/dist/src/cli/cli-status-worker.js.map +1 -0
- package/dist/src/cli/cli-status.js +81 -0
- package/dist/src/cli/cli-status.js.map +1 -0
- package/dist/src/cli/command-context.js +17 -5
- package/dist/src/cli/command-context.js.map +1 -1
- package/dist/src/cli/compact.js +56 -19
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +6 -4
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/handlers.js +7 -2
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/opencodex-models.js +5 -32
- package/dist/src/cli/opencodex-models.js.map +1 -1
- package/dist/src/cli/opencodex-runtime.js +82 -0
- package/dist/src/cli/opencodex-runtime.js.map +1 -0
- package/dist/src/cli/readiness.js +35 -18
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry-live.js +8 -2
- package/dist/src/cli/registry-live.js.map +1 -1
- package/dist/src/cli/registry.js +1 -1
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/core/browser-open-default.js +6 -4
- package/dist/src/core/browser-open-default.js.map +1 -1
- package/dist/src/core/browser-open.js +11 -15
- package/dist/src/core/browser-open.js.map +1 -1
- package/dist/src/core/bus.js +7 -1
- package/dist/src/core/bus.js.map +1 -1
- package/dist/src/core/chat-sessions.js +121 -12
- package/dist/src/core/chat-sessions.js.map +1 -1
- package/dist/src/core/cli-detect.js +148 -4
- package/dist/src/core/cli-detect.js.map +1 -1
- package/dist/src/core/codex-config.js +21 -0
- package/dist/src/core/codex-config.js.map +1 -1
- package/dist/src/core/compact.js +73 -21
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +449 -20
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +225 -0
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/event-bus.js +49 -4
- package/dist/src/core/event-bus.js.map +1 -1
- package/dist/src/core/event-scope.js +100 -0
- package/dist/src/core/event-scope.js.map +1 -0
- package/dist/src/core/install-integrity.js +176 -0
- package/dist/src/core/install-integrity.js.map +1 -0
- package/dist/src/core/main-session.js +64 -21
- package/dist/src/core/main-session.js.map +1 -1
- package/dist/src/core/message-summary.js +12 -2
- package/dist/src/core/message-summary.js.map +1 -1
- package/dist/src/core/platform-kind.js +139 -0
- package/dist/src/core/platform-kind.js.map +1 -0
- package/dist/src/core/rate-limit.js +156 -0
- package/dist/src/core/rate-limit.js.map +1 -0
- package/dist/src/core/runtime-settings.js +165 -17
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/session-context.js +7 -0
- package/dist/src/core/session-context.js.map +1 -0
- package/dist/src/core/session-ops.js +53 -9
- package/dist/src/core/session-ops.js.map +1 -1
- package/dist/src/core/settings-merge.js +105 -3
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/core/settings-watch.js +29 -5
- package/dist/src/core/settings-watch.js.map +1 -1
- package/dist/src/core/widget-watcher.js +15 -2
- package/dist/src/core/widget-watcher.js.map +1 -1
- package/dist/src/discord/bot.js +5 -2
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/commands.js +4 -4
- package/dist/src/discord/commands.js.map +1 -1
- package/dist/src/goal/heartbeat.js +1 -1
- package/dist/src/goal/heartbeat.js.map +1 -1
- package/dist/src/goal/runtime.js +1 -1
- package/dist/src/goal/runtime.js.map +1 -1
- package/dist/src/goal-run/controller.js +2 -2
- package/dist/src/goal-run/controller.js.map +1 -1
- package/dist/src/manager/internal-fetch.js +15 -0
- package/dist/src/manager/internal-fetch.js.map +1 -0
- package/dist/src/manager/logs.js +2 -1
- package/dist/src/manager/logs.js.map +1 -1
- package/dist/src/manager/memory/chat-federation.js +104 -11
- package/dist/src/manager/memory/chat-federation.js.map +1 -1
- package/dist/src/manager/memory/federation.js +100 -0
- package/dist/src/manager/memory/federation.js.map +1 -1
- package/dist/src/manager/metadata.js +4 -1
- package/dist/src/manager/metadata.js.map +1 -1
- package/dist/src/manager/notes/assets.js +1 -1
- package/dist/src/manager/notes/assets.js.map +1 -1
- package/dist/src/manager/notes/frontmatter.js +5 -49
- package/dist/src/manager/notes/frontmatter.js.map +1 -1
- package/dist/src/manager/notes/link-resolver.js +2 -2
- package/dist/src/manager/notes/link-resolver.js.map +1 -1
- package/dist/src/manager/notes/remote-assets.js +1 -1
- package/dist/src/manager/notes/remote-assets.js.map +1 -1
- package/dist/src/manager/notes/routes.js +2 -2
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/store.js +2 -2
- package/dist/src/manager/notes/store.js.map +1 -1
- package/dist/src/manager/notes/trash.js +1 -1
- package/dist/src/manager/notes/trash.js.map +1 -1
- package/dist/src/manager/notes/vault-index.js +2 -2
- package/dist/src/manager/notes/vault-index.js.map +1 -1
- package/dist/src/manager/notes/wiki-links.js +1 -1
- package/dist/src/manager/notes/wiki-links.js.map +1 -1
- package/dist/src/manager/notes/wiki-routes.js +84 -0
- package/dist/src/manager/notes/wiki-routes.js.map +1 -0
- package/dist/src/manager/proxy.js +1 -0
- package/dist/src/manager/proxy.js.map +1 -1
- package/dist/src/manager/routes/dashboard-memory.js +24 -1
- package/dist/src/manager/routes/dashboard-memory.js.map +1 -1
- package/dist/src/manager/routes/runtime-monitor.js +1 -1
- package/dist/src/manager/routes/runtime-monitor.js.map +1 -1
- package/dist/src/manager/scan.js +5 -3
- package/dist/src/manager/scan.js.map +1 -1
- package/dist/src/manager/server.js +20 -6
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/telegram-hub/hub-bot.js +4 -3
- package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -1
- package/dist/src/manager/worker-events.js +2 -1
- package/dist/src/manager/worker-events.js.map +1 -1
- package/dist/src/memory/heartbeat.js +6 -5
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/memory/indexing.js +162 -45
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/messaging/channel-validate.js +14 -1
- package/dist/src/messaging/channel-validate.js.map +1 -1
- package/dist/src/messaging/redact.js +2 -1
- package/dist/src/messaging/redact.js.map +1 -1
- package/dist/src/messaging/session-key.js +21 -2
- package/dist/src/messaging/session-key.js.map +1 -1
- package/dist/src/notes/constants.js.map +1 -0
- package/dist/src/notes/frontmatter.js +59 -0
- package/dist/src/notes/frontmatter.js.map +1 -0
- package/dist/src/notes/path-guards.js.map +1 -0
- package/dist/src/notes/search.js.map +1 -0
- package/dist/src/orchestrator/attestation.js +1 -1
- package/dist/src/orchestrator/attestation.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +135 -31
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +53 -21
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/scope.js +36 -2
- package/dist/src/orchestrator/scope.js.map +1 -1
- package/dist/src/orchestrator/session-lanes.js +87 -0
- package/dist/src/orchestrator/session-lanes.js.map +1 -0
- package/dist/src/orchestrator/session-work.js +25 -0
- package/dist/src/orchestrator/session-work.js.map +1 -0
- package/dist/src/orchestrator/state-machine.js +1 -5
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/orchestrator/worker-registry.js +20 -10
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +40 -2
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +8 -1
- package/dist/src/routes/agent-control.js +44 -8
- package/dist/src/routes/agent-control.js.map +1 -1
- package/dist/src/routes/chat-sessions.js +34 -6
- package/dist/src/routes/chat-sessions.js.map +1 -1
- package/dist/src/routes/command.js +63 -8
- package/dist/src/routes/command.js.map +1 -1
- package/dist/src/routes/events.js +11 -2
- package/dist/src/routes/events.js.map +1 -1
- package/dist/src/routes/link-preview.js +1 -27
- package/dist/src/routes/link-preview.js.map +1 -1
- package/dist/src/routes/messages.js +6 -5
- package/dist/src/routes/messages.js.map +1 -1
- package/dist/src/routes/messaging.js +45 -1
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +53 -33
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/search.js +84 -0
- package/dist/src/routes/search.js.map +1 -0
- package/dist/src/routes/session-request.js +29 -0
- package/dist/src/routes/session-request.js.map +1 -0
- package/dist/src/routes/settings.js +110 -3
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/static.js +30 -8
- package/dist/src/routes/static.js.map +1 -1
- package/dist/src/routes/system.js +1 -1
- package/dist/src/routes/system.js.map +1 -1
- package/dist/src/routes/wiki.js +122 -0
- package/dist/src/routes/wiki.js.map +1 -0
- package/dist/src/search/contract.js +2 -0
- package/dist/src/search/contract.js.map +1 -0
- package/dist/src/search/coordinator.js +153 -0
- package/dist/src/search/coordinator.js.map +1 -0
- package/dist/src/search/provider.js +40 -0
- package/dist/src/search/provider.js.map +1 -0
- package/dist/src/search/providers/chat.js +115 -0
- package/dist/src/search/providers/chat.js.map +1 -0
- package/dist/src/search/providers/memory.js +53 -0
- package/dist/src/search/providers/memory.js.map +1 -0
- package/dist/src/search/providers/wiki.js +80 -0
- package/dist/src/search/providers/wiki.js.map +1 -0
- package/dist/src/slack/api.js +10 -1
- package/dist/src/slack/api.js.map +1 -1
- package/dist/src/slack/attachment-recovery.js +42 -0
- package/dist/src/slack/attachment-recovery.js.map +1 -0
- package/dist/src/slack/bot.js +120 -41
- package/dist/src/slack/bot.js.map +1 -1
- package/dist/src/slack/commands.js +24 -8
- package/dist/src/slack/commands.js.map +1 -1
- package/dist/src/slack/events.js +12 -1
- package/dist/src/slack/events.js.map +1 -1
- package/dist/src/slack/history.js +108 -0
- package/dist/src/slack/history.js.map +1 -0
- package/dist/src/slack/inbound-file.js +242 -0
- package/dist/src/slack/inbound-file.js.map +1 -0
- package/dist/src/slack/inbound-url.js +39 -0
- package/dist/src/slack/inbound-url.js.map +1 -0
- package/dist/src/slack/ingress.js +140 -0
- package/dist/src/slack/ingress.js.map +1 -0
- package/dist/src/slack/manifest.js +3 -0
- package/dist/src/slack/manifest.js.map +1 -1
- package/dist/src/slack/socket.js +1 -1
- package/dist/src/slack/socket.js.map +1 -1
- package/dist/src/slack/thread-tracker.js +86 -0
- package/dist/src/slack/thread-tracker.js.map +1 -0
- package/dist/src/telegram/bot.js +21 -11
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/wiki/config.js +193 -0
- package/dist/src/wiki/config.js.map +1 -0
- package/dist/src/wiki/entities.js +61 -0
- package/dist/src/wiki/entities.js.map +1 -0
- package/dist/src/wiki/ontology.js +72 -0
- package/dist/src/wiki/ontology.js.map +1 -0
- package/dist/src/wiki/prompt.js +172 -0
- package/dist/src/wiki/prompt.js.map +1 -0
- package/dist/src/wiki/safe-traversal.js +198 -0
- package/dist/src/wiki/safe-traversal.js.map +1 -0
- package/dist/src/wiki/scaffold.js +77 -0
- package/dist/src/wiki/scaffold.js.map +1 -0
- package/package.json +6 -5
- package/public/css/session-hub.css +266 -0
- package/public/dist/assets/AdvancedExport-DYGcCAUq.js +1 -0
- package/public/dist/assets/Agent-CNNQ7KkJ.js +1 -0
- package/public/dist/assets/{DesignPanel-BGMPhZSx.js → DesignPanel-DcL369nB.js} +1 -1
- package/public/dist/assets/{DocPanel-Dz-J_l5M.js → DocPanel-K8A2pm_1.js} +1 -1
- package/public/dist/assets/{FolderPanel-DbPhzzvi.js → FolderPanel-CV52EzwG.js} +1 -1
- package/public/dist/assets/{MilkdownWysiwygEditor-Em7iC6y9.js → MilkdownWysiwygEditor-BKOCDI4Z.js} +1 -1
- package/public/dist/assets/api-B25zNNFJ.js +1 -0
- package/public/dist/assets/{app-DX4e6isX.css → app-DjgGeXhJ.css} +1 -1
- package/public/dist/assets/app-Dsgp4xpU.js +55 -0
- package/public/dist/assets/bgtask-badge-C6h5C-o4.js +1 -0
- package/public/dist/assets/{bgtask-badge-qMkKOZx0.js → bgtask-badge-CpavV0Jc.js} +4 -4
- package/public/dist/assets/{employees-BnobWM_2.js → employees-BJyEgim7.js} +4 -4
- package/public/dist/assets/idb-cache-B5PX63p7.js +1 -0
- package/public/dist/assets/{idb-cache-BzzftUET.js → idb-cache-lOntwU3S.js} +1 -1
- package/public/dist/assets/{iframe-renderer-C5vRbbl9.js → iframe-renderer-B8k3AvTv.js} +12 -12
- package/public/dist/assets/iframe-renderer-BO_GgCTR.js +1 -0
- package/public/dist/assets/manager-LkGs6qEJ.css +1 -0
- package/public/dist/assets/manager-kXYQyMhR.js +13 -0
- package/public/dist/assets/{memory-DF4kPwwC.js → memory-D2RbBVO-.js} +11 -11
- package/public/dist/assets/memory-amsvg4Ey.js +1 -0
- package/public/dist/assets/message-history-BGHZxvgV.js +1 -0
- package/public/dist/assets/message-history-Bw2E_b8L.js +1 -0
- package/public/dist/assets/pi-settings-5HVg1sXJ.js +1 -0
- package/public/dist/assets/render-BkGcpH7z.js +157 -0
- package/public/dist/assets/settings-B1FPORO2.js +56 -0
- package/public/dist/assets/settings-CMN-zN4Q.js +1 -0
- package/public/dist/assets/settings-core-B_OjGYVN.js +1 -0
- package/public/dist/assets/settings-core-CxRwqx86.js +144 -0
- package/public/dist/assets/sidebar-DW78DANx.js +49 -0
- package/public/dist/assets/skills-Dz-9Yrxr.js +1 -0
- package/public/dist/assets/{skills-IGquen_j.js → skills-lWi0ZFiV.js} +6 -6
- package/public/dist/assets/{slash-commands-ZRDOL99E.js → slash-commands-DYOI6nKj.js} +1 -1
- package/public/dist/assets/slash-commands-xJFCdTTM.js +1 -0
- package/public/dist/assets/{trace-drawer-D8To8fYt.js → trace-drawer-DBX9xzmt.js} +1 -1
- package/public/dist/assets/{ui-Hx_mNoDf.js → ui-Bx7eqnXt.js} +1 -1
- package/public/dist/assets/ui-JOcrYeG-.js +1 -0
- package/public/dist/assets/{wiki-link-suggestions-DZQc78gj.js → wiki-link-suggestions-Dp6kBQVu.js} +1 -1
- package/public/dist/index.html +4 -4
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +3 -2
- package/public/js/event-channel.ts +25 -0
- package/public/js/features/channel-onboarding-flow.ts +16 -1
- package/public/js/features/channel-onboarding.ts +20 -2
- package/public/js/features/chat-messages.ts +3 -1
- package/public/js/features/chat-search.ts +2 -1
- package/public/js/features/chat.ts +56 -18
- package/public/js/features/elicitation.ts +15 -0
- package/public/js/features/idb-cache.ts +34 -0
- package/public/js/features/message-history.ts +2 -1
- package/public/js/features/session-hub.ts +334 -0
- package/public/js/features/settings-cli-status-render.ts +1 -1
- package/public/js/features/settings-cli-status.ts +25 -11
- package/public/js/features/settings-core.ts +72 -3
- package/public/js/features/settings-types.ts +32 -0
- package/public/js/features/ui-status.ts +2 -1
- package/public/js/main.ts +20 -0
- package/public/js/render/compose-block.ts +7 -0
- package/public/js/ws.ts +22 -2
- package/public/locales/en.json +46 -4
- package/public/locales/ja.json +46 -4
- package/public/locales/ko.json +46 -4
- package/public/locales/zh.json +46 -4
- package/public/manager/src/App.tsx +1 -1
- package/public/manager/src/InstancePreview.tsx +5 -1
- package/public/manager/src/api.ts +2 -1
- package/public/manager/src/components/InstanceGroups.tsx +10 -0
- package/public/manager/src/components/InstanceListContent.tsx +24 -1
- package/public/manager/src/components/InstanceRow.tsx +33 -3
- package/public/manager/src/components/InstanceSessionList.tsx +132 -0
- package/public/manager/src/hooks/useActiveSessionDisclosure.ts +45 -0
- package/public/manager/src/lib/resilient-fetch.ts +93 -0
- package/public/manager/src/lib/session-store.ts +216 -0
- package/public/manager/src/manager-components.css +97 -0
- package/public/manager/src/settings/pages/AdvancedExport.tsx +12 -2
- package/public/manager/src/settings/pages/Agent.tsx +113 -1
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +1 -1
- package/scripts/bundle-sidecar.sh +50 -2
- package/scripts/burst-scenario.mjs +72 -0
- package/scripts/check-redaction-sinks.mjs +1 -0
- package/scripts/check-strict-baseline.mjs +1 -1
- package/scripts/ensure-native-modules.cjs +50 -3
- package/scripts/install-risk-gate.mjs +8 -0
- package/scripts/install-wsl.sh +27 -2
- package/scripts/install.ps1 +121 -0
- package/scripts/install.sh +28 -2
- package/scripts/postinstall-guard.cjs +44 -2
- package/scripts/release-gates.mjs +12 -0
- package/dist/src/manager/notes/constants.js.map +0 -1
- package/dist/src/manager/notes/path-guards.js.map +0 -1
- package/dist/src/manager/notes/search.js.map +0 -1
- package/public/dist/assets/AdvancedExport-DsDpqXoH.js +0 -1
- package/public/dist/assets/Agent-BjbZVZ9p.js +0 -1
- package/public/dist/assets/api-C9dOxby7.js +0 -1
- package/public/dist/assets/app-BzD_ZLvt.js +0 -55
- package/public/dist/assets/bgtask-badge-Dqbp-Y4e.js +0 -1
- package/public/dist/assets/idb-cache-ZH6lOebk.js +0 -1
- package/public/dist/assets/iframe-renderer-Df4KIVyx.js +0 -1
- package/public/dist/assets/manager-C4eNDNFt.css +0 -1
- package/public/dist/assets/manager-DaN201mN.js +0 -13
- package/public/dist/assets/memory-D-bULTHl.js +0 -1
- package/public/dist/assets/message-history-C4WOisGx.js +0 -1
- package/public/dist/assets/message-history-ZBoza6ew.js +0 -1
- package/public/dist/assets/pi-settings-CBUGDAuT.js +0 -1
- package/public/dist/assets/render-DYX6GRQ0.js +0 -122
- package/public/dist/assets/settings-DbJpGoaX.js +0 -55
- package/public/dist/assets/settings-SreihUje.js +0 -1
- package/public/dist/assets/settings-core-B1Y5Nb4Z.js +0 -1
- package/public/dist/assets/settings-core-DobZWIZ7.js +0 -140
- package/public/dist/assets/sidebar-Cp22g0Gv.js +0 -49
- package/public/dist/assets/skills-DwPIP08e.js +0 -1
- package/public/dist/assets/slash-commands-BBVfwcnW.js +0 -1
- package/public/dist/assets/ui-CAicpUZc.js +0 -1
- /package/dist/src/{manager/notes → notes}/constants.js +0 -0
- /package/dist/src/{manager/notes → notes}/path-guards.js +0 -0
- /package/dist/src/{manager/notes → notes}/search.js +0 -0
- /package/public/dist/assets/{pi-settings-Dh5lgb87.js → pi-settings-DEuKgvIj.js} +0 -0
package/dist/src/telegram/bot.js
CHANGED
|
@@ -14,7 +14,7 @@ import { isResetIntent } from '../orchestrator/pipeline.js';
|
|
|
14
14
|
import { submitMessage } from '../orchestrator/gateway.js';
|
|
15
15
|
import { makeCommandCtx } from '../cli/command-context.js';
|
|
16
16
|
import { saveUpload, buildMediaPrompt, resetFallbackState, } from '../agent/spawn.js';
|
|
17
|
-
import { bumpSessionOwnershipGeneration } from '../agent/session-persistence.js';
|
|
17
|
+
import { bumpGenerationForSessionLocalReset, bumpSessionOwnershipGeneration } from '../agent/session-persistence.js';
|
|
18
18
|
import { parseCommand, executeCommand } from '../cli/commands.js';
|
|
19
19
|
import { getTelegramMenuCommands } from '../command-contract/policy.js';
|
|
20
20
|
import { downloadTelegramFile, TELEGRAM_DOWNLOAD_LIMITS } from '../../lib/upload.js';
|
|
@@ -210,12 +210,15 @@ function resolveTelegramSendBot() {
|
|
|
210
210
|
function buildTelegramTarget(ctx) {
|
|
211
211
|
const chatType = ctx.chat?.type;
|
|
212
212
|
const isGroup = chatType === 'group' || chatType === 'supergroup';
|
|
213
|
+
const messageThreadId = ctx.msg?.is_topic_message ? ctx.msg.message_thread_id : undefined;
|
|
213
214
|
return stripUndefined({
|
|
214
215
|
channel: 'telegram',
|
|
215
216
|
targetKind: 'channel',
|
|
216
217
|
peerKind: isGroup ? 'group' : 'direct',
|
|
217
218
|
targetId: String(ctx.chat?.id ?? ''),
|
|
218
|
-
threadId:
|
|
219
|
+
threadId: messageThreadId !== undefined && messageThreadId > 1
|
|
220
|
+
? String(messageThreadId)
|
|
221
|
+
: undefined,
|
|
219
222
|
});
|
|
220
223
|
}
|
|
221
224
|
async function telegramSendHandler(req) {
|
|
@@ -314,15 +317,15 @@ function makeTelegramCommandCtx() {
|
|
|
314
317
|
applySettings: async (patch) => {
|
|
315
318
|
bumpSessionOwnershipGeneration();
|
|
316
319
|
return applyRuntimeSettingsPatch(patch, {
|
|
317
|
-
resetFallbackState,
|
|
320
|
+
resetFallbackState: () => resetFallbackState(null),
|
|
318
321
|
});
|
|
319
322
|
},
|
|
320
323
|
clearSession: () => {
|
|
321
|
-
|
|
324
|
+
bumpGenerationForSessionLocalReset();
|
|
322
325
|
clearMainSessionState();
|
|
323
326
|
},
|
|
324
327
|
resetSession: () => {
|
|
325
|
-
|
|
328
|
+
bumpGenerationForSessionLocalReset();
|
|
326
329
|
resetSessionPreservingHistory();
|
|
327
330
|
},
|
|
328
331
|
resetEmployees: () => seedDefaultEmployees({ reset: true, notify: true }),
|
|
@@ -508,7 +511,7 @@ async function _initTelegramInner() {
|
|
|
508
511
|
return;
|
|
509
512
|
const chat = ctx.chat;
|
|
510
513
|
const responseTarget = buildTelegramTarget(ctx);
|
|
511
|
-
const result = submitMessage(prompt, stripUndefined({ origin: 'telegram', displayText: displayMsg, skipOrchestrate: true, chatId }));
|
|
514
|
+
const result = submitMessage(prompt, stripUndefined({ origin: 'telegram', displayText: displayMsg, skipOrchestrate: true, target: responseTarget, chatId }));
|
|
512
515
|
// Reproduce grammy ctx.reply's auto-injected routing (context.js: thread/business/DM-topic)
|
|
513
516
|
// so the rich-first send helper lands replies exactly where ctx.reply would.
|
|
514
517
|
const replyOptsOf = (c) => stripUndefined({
|
|
@@ -647,7 +650,13 @@ async function _initTelegramInner() {
|
|
|
647
650
|
if (toolHandler)
|
|
648
651
|
addBroadcastListener(toolHandler);
|
|
649
652
|
try {
|
|
650
|
-
const { text:
|
|
653
|
+
const { text: collectedText, data: doneData } = await orchestrateAndCollectData(prompt, stripUndefined({
|
|
654
|
+
origin: 'telegram', chatId: chat.id, requestId: submitRequestId, _skipInsert: true,
|
|
655
|
+
target: responseTarget,
|
|
656
|
+
scope: result.sessionContext?.scope,
|
|
657
|
+
chatSessionId: result.sessionContext?.chatSessionId,
|
|
658
|
+
remoteKey: result.sessionContext?.remoteKey,
|
|
659
|
+
}));
|
|
651
660
|
clearInterval(typingInterval);
|
|
652
661
|
if (statusUpdateTimer) {
|
|
653
662
|
clearTimeout(statusUpdateTimer);
|
|
@@ -658,10 +667,10 @@ async function _initTelegramInner() {
|
|
|
658
667
|
if (statusMsgId) {
|
|
659
668
|
ctx.api.deleteMessage(chat.id, statusMsgId).catch(() => { });
|
|
660
669
|
}
|
|
661
|
-
await sendTelegramMarkdown(ctx.api, chat.id,
|
|
662
|
-
await relayTelegramImages(bot, chat.id,
|
|
670
|
+
await sendTelegramMarkdown(ctx.api, chat.id, collectedText, replyOptsOf(ctx));
|
|
671
|
+
await relayTelegramImages(bot, chat.id, collectedText, responseTarget);
|
|
663
672
|
await sendElicitationKeyboards(chat.id, doneData["elicitationSpecs"]);
|
|
664
|
-
log.info(`[tg:out] ${chat.id}: ${redactOutboundText(
|
|
673
|
+
log.info(`[tg:out] ${chat.id}: ${redactOutboundText(collectedText).slice(0, 80)}`);
|
|
665
674
|
}
|
|
666
675
|
catch (err) {
|
|
667
676
|
clearInterval(typingInterval);
|
|
@@ -723,7 +732,8 @@ async function _initTelegramInner() {
|
|
|
723
732
|
discardPendingElicitation(String(ctx.chat.id));
|
|
724
733
|
// Reset intent: use submitMessage gateway for consistency
|
|
725
734
|
if (isResetIntent(text)) {
|
|
726
|
-
const
|
|
735
|
+
const target = buildTelegramTarget(ctx);
|
|
736
|
+
const result = submitMessage(text, { origin: 'telegram', target, chatId: ctx.chat?.id });
|
|
727
737
|
if (result.action === 'rejected') {
|
|
728
738
|
await ctx.reply(t('ws.agentBusy', {}, currentLocale()));
|
|
729
739
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/telegram/bot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/telegram/bot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// ─── Opt-in wiki vault configuration (devlog 040 §3) ──
|
|
2
|
+
// The vault is off by default and lives entirely in settings.json under three keys.
|
|
3
|
+
// There is no separate wiki.json: the existing settings path already owns the 0600
|
|
4
|
+
// write and chmod boundary, and a second config file would be a second thing to keep
|
|
5
|
+
// in sync.
|
|
6
|
+
import { accessSync, constants as fsConstants, lstatSync, realpathSync } from 'node:fs';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
8
|
+
import { isAbsolute, join, parse, relative, resolve } from 'node:path';
|
|
9
|
+
import { settings } from '../core/config.js';
|
|
10
|
+
import { applyRuntimeSettingsPatch } from '../core/runtime-settings.js';
|
|
11
|
+
export const DEFAULT_WIKI_CONFIG = {
|
|
12
|
+
enabled: false,
|
|
13
|
+
root: '~/jaw-wiki',
|
|
14
|
+
promptDigest: false,
|
|
15
|
+
};
|
|
16
|
+
// The directories and files a usable vault must have. Both the scaffold and the
|
|
17
|
+
// readiness check read this list, so a vault can never be "ready" with a layout the
|
|
18
|
+
// scaffold does not produce.
|
|
19
|
+
export const WIKI_REQUIRED_DIRS = [
|
|
20
|
+
'entities',
|
|
21
|
+
'entities/people',
|
|
22
|
+
'entities/projects',
|
|
23
|
+
'entities/systems',
|
|
24
|
+
'concepts',
|
|
25
|
+
'syntheses',
|
|
26
|
+
'sources',
|
|
27
|
+
'reports',
|
|
28
|
+
'_attachments',
|
|
29
|
+
];
|
|
30
|
+
export const WIKI_REQUIRED_FILES = [
|
|
31
|
+
'WIKI.md',
|
|
32
|
+
'index.md',
|
|
33
|
+
'inbox.md',
|
|
34
|
+
'syntheses/compiled-digest.md',
|
|
35
|
+
];
|
|
36
|
+
// Canonical form when the path exists, otherwise the resolved text. A path that has not
|
|
37
|
+
// been created yet still needs to normalise, and it cannot be aliased by a link that does
|
|
38
|
+
// not exist either.
|
|
39
|
+
function canonicalOrResolved(path) {
|
|
40
|
+
try {
|
|
41
|
+
return realpathSync(path);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return resolve(path);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function normalizeWikiConfig(input) {
|
|
48
|
+
const rawRoot = String(input.root ?? DEFAULT_WIKI_CONFIG.root).trim();
|
|
49
|
+
if (!rawRoot)
|
|
50
|
+
throw new Error('invalid settings.wiki.root: empty');
|
|
51
|
+
const expanded = rawRoot.replace(/^~(?=$|\/)/, homedir());
|
|
52
|
+
// Reject before resolving. resolve() turns '.', '..' and any relative path into an
|
|
53
|
+
// absolute one, so checking isAbsolute() afterwards always passes and an empty or
|
|
54
|
+
// relative root would be scaffolded relative to the process working directory.
|
|
55
|
+
if (!isAbsolute(expanded)) {
|
|
56
|
+
throw new Error(`invalid settings.wiki.root: must be absolute (${rawRoot})`);
|
|
57
|
+
}
|
|
58
|
+
const root = resolve(expanded);
|
|
59
|
+
// A filesystem root would make every containment check meaningless and scatter a
|
|
60
|
+
// scaffold across the whole disk.
|
|
61
|
+
if (root === parse(root).root) {
|
|
62
|
+
throw new Error(`invalid settings.wiki.root: refusing the filesystem root`);
|
|
63
|
+
}
|
|
64
|
+
// Pin the root to what it resolves to on disk right now. A configured path that runs
|
|
65
|
+
// through a symlink would otherwise follow that link wherever it is later retargeted,
|
|
66
|
+
// so the same setting could read a different vault than the one it was enabled for.
|
|
67
|
+
// A root that does not exist yet stays as written; the scaffold creates it.
|
|
68
|
+
let canonicalRoot = root;
|
|
69
|
+
try {
|
|
70
|
+
canonicalRoot = realpathSync(root);
|
|
71
|
+
}
|
|
72
|
+
catch { /* not created yet — normalization must still work before enable */ }
|
|
73
|
+
return {
|
|
74
|
+
root: canonicalRoot,
|
|
75
|
+
enabled: input.enabled === true,
|
|
76
|
+
promptDigest: input.promptDigest === true,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// Roots the vault must never occupy. Pointing it at the notes vault would scatter wiki
|
|
80
|
+
// scaffold files through the user's notes and break the isolation the two are supposed
|
|
81
|
+
// to have. The roots are passed in rather than imported so core keeps no dependency on
|
|
82
|
+
// manager configuration (040 §0c R2).
|
|
83
|
+
export function assertUsableWikiRoot(root, forbiddenRoots) {
|
|
84
|
+
// Both sides are canonicalised, because an alias reaching the forbidden root through
|
|
85
|
+
// a symlink is the same directory by every meaning except the spelling.
|
|
86
|
+
const target = canonicalOrResolved(root);
|
|
87
|
+
for (const raw of forbiddenRoots) {
|
|
88
|
+
if (!raw)
|
|
89
|
+
continue;
|
|
90
|
+
const forbidden = canonicalOrResolved(raw);
|
|
91
|
+
const rel = relative(forbidden, target);
|
|
92
|
+
const inside = rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
|
|
93
|
+
const contains = relative(target, forbidden) === ''
|
|
94
|
+
|| (!relative(target, forbidden).startsWith('..') && !isAbsolute(relative(target, forbidden)));
|
|
95
|
+
// Either direction is a collision: the vault inside the notes root mixes files
|
|
96
|
+
// into it, and the notes root inside the vault puts notes under wiki management.
|
|
97
|
+
if (inside || contains) {
|
|
98
|
+
throw Object.assign(new Error(`settings.wiki.root collides with an existing vault: ${raw}`), { code: 'wiki_root_collision' });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Reads the live settings binding rather than loadSettings(): that function is a boot and
|
|
103
|
+
// recovery operation — it rereads disk, migrates, can rewrite the file and replace the
|
|
104
|
+
// global object — and calling it on every config read would run all of that repeatedly.
|
|
105
|
+
export function readWikiConfig() {
|
|
106
|
+
const raw = settings["wiki"];
|
|
107
|
+
return normalizeWikiConfig({ ...DEFAULT_WIKI_CONFIG, ...raw });
|
|
108
|
+
}
|
|
109
|
+
// Reading the config normalizes the root, and normalizing resolves it on disk. A caller
|
|
110
|
+
// that only wants to know whether the vault is on would touch the filesystem to find out,
|
|
111
|
+
// which makes "a disabled vault is never read" impossible to keep. These two answer from
|
|
112
|
+
// the settings object alone.
|
|
113
|
+
/** True when the vault is switched on, decided without touching the filesystem. */
|
|
114
|
+
export function isWikiEnabled() {
|
|
115
|
+
return settings["wiki"]?.enabled === true;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The root exactly as the setting spells it, cleaned up lexically and never resolved.
|
|
119
|
+
*
|
|
120
|
+
* A scan anchors itself by comparing this against the resolved root: if they differ, the
|
|
121
|
+
* directory the setting names is now a link to somewhere else. That comparison only means
|
|
122
|
+
* something while this side stays off the disk — one realpath call here and it becomes a
|
|
123
|
+
* value compared with itself, which is how the check silently passes on a swapped vault.
|
|
124
|
+
*/
|
|
125
|
+
export function storedWikiRoot() {
|
|
126
|
+
const raw = settings["wiki"]?.root;
|
|
127
|
+
const text = String(raw ?? DEFAULT_WIKI_CONFIG.root).trim();
|
|
128
|
+
// Same lexical steps normalizeWikiConfig takes, stopping short of the realpath call.
|
|
129
|
+
return resolve(text.replace(/^~(?=$|\/)/, homedir()));
|
|
130
|
+
}
|
|
131
|
+
// The enable route validates the root before it scaffolds, but the generic settings API
|
|
132
|
+
// and the settings-file watcher can both write this block without going near that route.
|
|
133
|
+
// Enforcing the rule where the config is CONSUMED is what makes it hold whatever path
|
|
134
|
+
// the setting arrived by.
|
|
135
|
+
export function readUsableWikiConfig(forbiddenRoots = []) {
|
|
136
|
+
const config = readWikiConfig();
|
|
137
|
+
if (!config.enabled)
|
|
138
|
+
return config;
|
|
139
|
+
try {
|
|
140
|
+
assertUsableWikiRoot(config.root, forbiddenRoots);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// A root that should never have been accepted is treated as disabled rather than
|
|
144
|
+
// as an error, because the vault it names is not one this instance may read.
|
|
145
|
+
return { ...config, enabled: false, promptDigest: false };
|
|
146
|
+
}
|
|
147
|
+
return config;
|
|
148
|
+
}
|
|
149
|
+
// Writes go through the same serialized runtime-settings path every other settings
|
|
150
|
+
// mutation uses, so a wiki change cannot race a concurrent settings write.
|
|
151
|
+
export async function writeWikiConfig(next) {
|
|
152
|
+
const normalized = normalizeWikiConfig(next);
|
|
153
|
+
await applyRuntimeSettingsPatch({ wiki: normalized });
|
|
154
|
+
return normalized;
|
|
155
|
+
}
|
|
156
|
+
// A disabled vault reports 'off' even when its files are all present on disk: the
|
|
157
|
+
// setting is the source of truth, not the directory. That is what makes disabling a
|
|
158
|
+
// non-destructive operation — the files stay, the provider stops answering.
|
|
159
|
+
export function wikiProviderStatus(config) {
|
|
160
|
+
if (!config.enabled)
|
|
161
|
+
return 'off';
|
|
162
|
+
try {
|
|
163
|
+
for (const dir of ['', ...WIKI_REQUIRED_DIRS]) {
|
|
164
|
+
const path = dir ? join(config.root, dir) : config.root;
|
|
165
|
+
if (!lstatSync(path).isDirectory())
|
|
166
|
+
return 'error';
|
|
167
|
+
accessSync(path, fsConstants.R_OK);
|
|
168
|
+
}
|
|
169
|
+
for (const file of WIKI_REQUIRED_FILES) {
|
|
170
|
+
const path = join(config.root, file);
|
|
171
|
+
if (!lstatSync(path).isFile())
|
|
172
|
+
return 'error';
|
|
173
|
+
accessSync(path, fsConstants.R_OK);
|
|
174
|
+
}
|
|
175
|
+
return 'ready';
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
// A vault that was renamed, deleted, or made unreadable is an error rather than
|
|
179
|
+
// an absence: the user asked for it to be on.
|
|
180
|
+
return 'error';
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// The roots the vault must not occupy, registered once at composition. The registry
|
|
184
|
+
// exists so the consumers below can enforce the rule without importing manager config:
|
|
185
|
+
// core sets it at boot, everything else just asks.
|
|
186
|
+
let forbiddenRoots = [];
|
|
187
|
+
export function setForbiddenWikiRoots(roots) {
|
|
188
|
+
forbiddenRoots = [...roots];
|
|
189
|
+
}
|
|
190
|
+
export function forbiddenWikiRoots() {
|
|
191
|
+
return forbiddenRoots;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/wiki/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Read-only entity index over the wiki vault (devlog 041-B, 040 R4).
|
|
2
|
+
//
|
|
3
|
+
// Three steps in a fixed order, and the order is the safety property: the bounded reader
|
|
4
|
+
// hands over text it has already vouched for, the parser turns that text into an object,
|
|
5
|
+
// and only then does ontology decide what the object means. Each stage takes what the
|
|
6
|
+
// previous one produced rather than a path, so none of them can reach the disk on its own.
|
|
7
|
+
//
|
|
8
|
+
// Nothing here rejects a note. A vault meant to outlive this program is full of documents
|
|
9
|
+
// that describe no entity at all, and that is the ordinary case rather than an error.
|
|
10
|
+
import { isWikiEnabled, storedWikiRoot } from './config.js';
|
|
11
|
+
import { normalizeOntology } from './ontology.js';
|
|
12
|
+
import { parseLeadingFrontmatter } from '../notes/frontmatter.js';
|
|
13
|
+
import { scanVaultFiles } from './safe-traversal.js';
|
|
14
|
+
const EMPTY = {
|
|
15
|
+
entities: [], ontologyWarnings: [], parseWarnings: [], skipped: [], truncated: false,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Builds the entity index, or explains why it could not.
|
|
19
|
+
*
|
|
20
|
+
* The enabled check comes first and answers from settings alone, so a vault switched off
|
|
21
|
+
* is never touched — not stat'ed, not resolved, not read.
|
|
22
|
+
*/
|
|
23
|
+
export function buildEntityIndex(deps) {
|
|
24
|
+
if (!isWikiEnabled())
|
|
25
|
+
return { status: 'off', ...EMPTY };
|
|
26
|
+
const scan = deps ? scanVaultFiles(storedWikiRoot(), deps) : scanVaultFiles(storedWikiRoot());
|
|
27
|
+
if (!scan.ok)
|
|
28
|
+
return { status: 'error', ...EMPTY, error: scan.error };
|
|
29
|
+
const entities = [];
|
|
30
|
+
const ontologyWarnings = [];
|
|
31
|
+
const parseWarnings = [];
|
|
32
|
+
for (const file of scan.files) {
|
|
33
|
+
const parsed = parseLeadingFrontmatter(file.text);
|
|
34
|
+
if (parsed.error) {
|
|
35
|
+
parseWarnings.push({
|
|
36
|
+
code: 'frontmatter_parse_failed',
|
|
37
|
+
relPath: file.relPath,
|
|
38
|
+
message: parsed.error,
|
|
39
|
+
});
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const normalized = normalizeOntology(file.relPath, parsed.data);
|
|
43
|
+
ontologyWarnings.push(...normalized.warnings);
|
|
44
|
+
if (normalized.entity) {
|
|
45
|
+
entities.push({
|
|
46
|
+
relPath: file.relPath,
|
|
47
|
+
entity: normalized.entity,
|
|
48
|
+
relations: normalized.relations,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
status: 'ok',
|
|
54
|
+
entities,
|
|
55
|
+
ontologyWarnings,
|
|
56
|
+
parseWarnings,
|
|
57
|
+
skipped: scan.skipped,
|
|
58
|
+
truncated: scan.truncated,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=entities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/wiki/entities.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,yFAAyF;AACzF,yFAAyF;AACzF,sFAAsF;AACtF,2FAA2F;AAC3F,EAAE;AACF,0FAA0F;AAC1F,sFAAsF;AAEtF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAA4D,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAgD,MAAM,qBAAqB,CAAC;AAyBnG,MAAM,KAAK,GAAgC;IACvC,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK;CACvF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe;IAC5C,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;IAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9F,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAEtE,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,MAAM,CAAC,KAAK;aACxB,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,UAAU,CAAC,SAAS;aAClC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO;QACH,MAAM,EAAE,IAAI;QACZ,QAAQ;QACR,gBAAgB;QAChB,aAAa;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC5B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Ontology normalization for the opt-in wiki (devlog 040 §5, 041-A).
|
|
2
|
+
//
|
|
3
|
+
// The vault is plain Markdown that must stay usable without cli-jaw, so a note whose
|
|
4
|
+
// frontmatter does not describe a known entity is still a perfectly good note. Nothing
|
|
5
|
+
// here rejects a document: unknown kinds, incomplete relations, and repeats come back as
|
|
6
|
+
// warnings beside whatever was understood. Refusing them would make the vault answer to
|
|
7
|
+
// this program rather than the other way round.
|
|
8
|
+
//
|
|
9
|
+
// This module takes an already-parsed object. It does no file or YAML reading, which
|
|
10
|
+
// keeps the frontmatter parser a single decision made in one place (041-B) instead of a
|
|
11
|
+
// second one growing here.
|
|
12
|
+
const KINDS = new Set(['person', 'project', 'system']);
|
|
13
|
+
function isPlainObject(value) {
|
|
14
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
15
|
+
}
|
|
16
|
+
function trimmedString(value) {
|
|
17
|
+
return typeof value === 'string' ? value.trim() : '';
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Reads the entity and relation shape out of one note's frontmatter.
|
|
21
|
+
*
|
|
22
|
+
* `path` is carried through to every warning so a caller reporting several notes can say
|
|
23
|
+
* which one each complaint came from.
|
|
24
|
+
*/
|
|
25
|
+
export function normalizeOntology(path, data) {
|
|
26
|
+
const warnings = [];
|
|
27
|
+
// A note with no `entity` key is the ordinary case, not a mistake, so it draws no
|
|
28
|
+
// warning. Only a present-but-unusable value is worth telling the user about.
|
|
29
|
+
let entity;
|
|
30
|
+
const rawEntity = data["entity"];
|
|
31
|
+
if (rawEntity !== undefined && rawEntity !== null) {
|
|
32
|
+
const kind = isPlainObject(rawEntity) ? trimmedString(rawEntity["kind"]) : '';
|
|
33
|
+
if (KINDS.has(kind)) {
|
|
34
|
+
const id = trimmedString(rawEntity["id"]);
|
|
35
|
+
entity = { kind: kind, ...(id ? { id } : {}) };
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
warnings.push({
|
|
39
|
+
code: 'invalid_entity_kind',
|
|
40
|
+
path,
|
|
41
|
+
message: 'entity.kind must be person, project, or system',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const relations = [];
|
|
46
|
+
const seen = new Set();
|
|
47
|
+
const rawRelations = Array.isArray(data["relations"]) ? data["relations"] : [];
|
|
48
|
+
for (const raw of rawRelations) {
|
|
49
|
+
const value = isPlainObject(raw) ? raw : {};
|
|
50
|
+
const type = trimmedString(value["type"]);
|
|
51
|
+
const target = trimmedString(value["target"]);
|
|
52
|
+
if (!type || !target) {
|
|
53
|
+
warnings.push({
|
|
54
|
+
code: 'invalid_relation',
|
|
55
|
+
path,
|
|
56
|
+
message: 'relation type and target are required',
|
|
57
|
+
});
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
// Separated by a NUL so a type ending in the separator cannot collide with a
|
|
61
|
+
// target beginning with it.
|
|
62
|
+
const key = `${type}\0${target}`;
|
|
63
|
+
if (seen.has(key)) {
|
|
64
|
+
warnings.push({ code: 'duplicate_relation', path, message: `${type} -> ${target}` });
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
seen.add(key);
|
|
68
|
+
relations.push({ type, target });
|
|
69
|
+
}
|
|
70
|
+
return { ...(entity ? { entity } : {}), relations, warnings };
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=ontology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/wiki/ontology.ts"],"names":[],"mappings":"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"}
|