@weavecode/weave 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/encodeurl/README.md +14 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/encodeurl/index.js +5 -10
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/encodeurl/package.json +10 -6
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/qs/CHANGELOG.md +42 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/qs/README.md +38 -10
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/qs/dist/qs.js +18 -18
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/qs/lib/parse.js +16 -4
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/qs/lib/utils.js +13 -2
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/qs/package.json +1 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/dist/index.cjs +6 -2
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/dist/index.mjs +6 -2
- package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/package.json +10 -10
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/decrypt.d.ts +3 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/unsecured.d.ts +2 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/verify.d.ts +3 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/types.d.ts +8 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/util/decode_jwt.d.ts +1 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/package.json +1 -1
- package/node_modules/@weavecode/cli/dist/cli.js +4 -4
- package/node_modules/@weavecode/cli/dist/commands/chpass.js +1 -1
- package/node_modules/@weavecode/cli/dist/commands/daemon-auth.js +1 -1
- package/node_modules/@weavecode/cli/dist/commands/daemon.d.ts +2 -0
- package/node_modules/@weavecode/cli/dist/commands/daemon.js +2 -2
- package/node_modules/@weavecode/cli/dist/commands/dashboard.js +2 -2
- package/node_modules/@weavecode/cli/dist/commands/doctor.js +1 -1
- package/node_modules/@weavecode/cli/dist/commands/init.js +1 -1
- package/node_modules/@weavecode/cli/dist/commands/msg.js +2 -2
- package/node_modules/@weavecode/cli/dist/commands/scan.js +1 -1
- package/node_modules/@weavecode/cli/dist/commands/status.js +2 -2
- package/node_modules/@weavecode/cli/dist/commands/uninstall.js +1 -1
- package/node_modules/@weavecode/cli/dist/i18n/dict/en.js +4 -4
- package/node_modules/@weavecode/cli/dist/i18n/dict/zh.d.ts +5 -1
- package/node_modules/@weavecode/cli/dist/i18n/dict/zh.js +5 -5
- package/node_modules/@weavecode/cli/dist/i18n/index.js +1 -1
- package/node_modules/@weavecode/cli/dist/i18n/t.js +1 -1
- package/node_modules/@weavecode/cli/dist/init/claudemd-gen.js +3 -3
- package/node_modules/@weavecode/cli/dist/init/executor.js +3 -3
- package/node_modules/@weavecode/cli/dist/init/git-commit.js +2 -2
- package/node_modules/@weavecode/cli/dist/init/harnesses/claude.js +7 -7
- package/node_modules/@weavecode/cli/dist/init/harnesses/codex.js +1 -1
- package/node_modules/@weavecode/cli/dist/init/instruction-link.js +1 -1
- package/node_modules/@weavecode/cli/dist/init/plugin-templates.js +1 -1
- package/node_modules/@weavecode/cli/dist/init/prompt.js +4 -4
- package/node_modules/@weavecode/cli/dist/init/provision.js +1 -1
- package/node_modules/@weavecode/cli/dist/init/uninstall.js +6 -6
- package/node_modules/@weavecode/cli/dist/init/wiring.js +1 -1
- package/node_modules/@weavecode/cli/dist/parser.js +1 -1
- package/node_modules/@weavecode/cli/dist/statusline/ansi.js +1 -1
- package/node_modules/@weavecode/cli/dist/statusline/mock-input.js +1 -1
- package/node_modules/@weavecode/cli/dist/statusline/preview.js +2 -2
- package/node_modules/@weavecode/cli/package.json +5 -5
- package/node_modules/@weavecode/core/dist/harness-checks.js +1 -1
- package/node_modules/@weavecode/core/dist/harness.d.ts +14 -0
- package/node_modules/@weavecode/core/dist/harness.js +1 -1
- package/node_modules/@weavecode/core/dist/index.d.ts +1 -1
- package/node_modules/@weavecode/core/dist/index.js +1 -1
- package/node_modules/@weavecode/core/dist/platform.js +1 -1
- package/node_modules/@weavecode/core/dist/types.js +1 -1
- package/node_modules/@weavecode/core/dist/utils/fs.js +1 -1
- package/node_modules/@weavecode/core/dist/utils/logger.js +1 -1
- package/node_modules/@weavecode/core/package.json +1 -1
- package/node_modules/@weavecode/harness/dist/claude/assets.js +4 -4
- package/node_modules/@weavecode/harness/dist/claude/capture.js +9 -9
- package/node_modules/@weavecode/harness/dist/claude/commands.d.ts +3 -0
- package/node_modules/@weavecode/harness/dist/claude/commands.js +2 -3
- package/node_modules/@weavecode/harness/dist/claude/config.js +2 -2
- package/node_modules/@weavecode/harness/dist/claude/detect.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/edits.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/event-source.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/images.js +2 -2
- package/node_modules/@weavecode/harness/dist/claude/index.d.ts +1 -0
- package/node_modules/@weavecode/harness/dist/claude/index.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/liveness.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/mcp-gen.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/messaging.js +2 -2
- package/node_modules/@weavecode/harness/dist/claude/model-aliases.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/narration.d.ts +0 -11
- package/node_modules/@weavecode/harness/dist/claude/narration.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/peers.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/plan.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/plugins.js +4 -4
- package/node_modules/@weavecode/harness/dist/claude/prompt-inbox.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/prompt.js +3 -3
- package/node_modules/@weavecode/harness/dist/claude/questions.js +2 -2
- package/node_modules/@weavecode/harness/dist/claude/resume.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/rewind.d.ts +8 -0
- package/node_modules/@weavecode/harness/dist/claude/rewind.js +1 -0
- package/node_modules/@weavecode/harness/dist/claude/settings-gen.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/side-question.js +2 -2
- package/node_modules/@weavecode/harness/dist/claude/statusline/generator.js +39 -18
- package/node_modules/@weavecode/harness/dist/claude/statusline/git-cache.js +1 -1
- package/node_modules/@weavecode/harness/dist/claude/statusline/surface.js +2 -2
- package/node_modules/@weavecode/harness/dist/claude/transcript-cursor.d.ts +26 -0
- package/node_modules/@weavecode/harness/dist/claude/transcript-cursor.js +2 -0
- package/node_modules/@weavecode/harness/dist/claude/transcript.js +7 -7
- package/node_modules/@weavecode/harness/dist/codex/assets.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/capture.js +2 -2
- package/node_modules/@weavecode/harness/dist/codex/commands.js +4 -4
- package/node_modules/@weavecode/harness/dist/codex/config.js +2 -2
- package/node_modules/@weavecode/harness/dist/codex/detect.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/event-source.js +2 -2
- package/node_modules/@weavecode/harness/dist/codex/images.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/index.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/liveness.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/mcp.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/messaging.js +2 -2
- package/node_modules/@weavecode/harness/dist/codex/narration.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/plugin-state.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/plugins.js +3 -3
- package/node_modules/@weavecode/harness/dist/codex/provision.js +1 -1
- package/node_modules/@weavecode/harness/dist/codex/questions.js +2 -2
- package/node_modules/@weavecode/harness/dist/codex/rollout.js +5 -5
- package/node_modules/@weavecode/harness/dist/codex/side-question.js +4 -4
- package/node_modules/@weavecode/harness/dist/codex/titles.js +4 -4
- package/node_modules/@weavecode/harness/dist/codex/toml.js +13 -13
- package/node_modules/@weavecode/harness/dist/codex/transcript.js +2 -2
- package/node_modules/@weavecode/harness/dist/driver.d.ts +49 -1
- package/node_modules/@weavecode/harness/dist/driver.js +1 -1
- package/node_modules/@weavecode/harness/dist/init/generated.js +2 -2
- package/node_modules/@weavecode/harness/dist/init/pipeline.js +1 -1
- package/node_modules/@weavecode/harness/dist/registry-wiring.js +1 -1
- package/node_modules/@weavecode/harness/dist/shared/install-link.js +1 -1
- package/node_modules/@weavecode/harness/dist/shared/json-cap.js +1 -1
- package/node_modules/@weavecode/harness/package.json +2 -2
- package/node_modules/@weavecode/server/dist/config/dotted.js +1 -1
- package/node_modules/@weavecode/server/dist/config/profiles.d.ts +19 -13
- package/node_modules/@weavecode/server/dist/config/profiles.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/ai-config.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/ai-context.js +6 -6
- package/node_modules/@weavecode/server/dist/daemon/ai-routes.js +4 -4
- package/node_modules/@weavecode/server/dist/daemon/api-log.js +3 -3
- package/node_modules/@weavecode/server/dist/daemon/auth-routes.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/auto-start.js +6 -6
- package/node_modules/@weavecode/server/dist/daemon/capture-routes.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/config-routes.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/cron.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/dashboard-auth.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/dashboard-pusher.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/data-bus.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/decision-config.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/dev-entry.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/entry.js +7 -1
- package/node_modules/@weavecode/server/dist/daemon/fs-browser.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/hook-pipeline.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/hooks-routes.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/http.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/liveness.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/mcp-orchestration.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/narration-watcher.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/opener/backend-ghostty.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/backend-iterm.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/backend-konsole.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/opener/backend-terminal-app.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/backend-wezterm.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/backend-wt.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/backend.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/launch.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/pty-terminals.js +4 -4
- package/node_modules/@weavecode/server/dist/daemon/opener/shared.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/wezterm-mux.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/opener/wt.js +3 -3
- package/node_modules/@weavecode/server/dist/daemon/opener.d.ts +2 -0
- package/node_modules/@weavecode/server/dist/daemon/opener.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/port.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/project-files.d.ts +12 -6
- package/node_modules/@weavecode/server/dist/daemon/project-files.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/project-harnesses.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/project-updates-refresher.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/prompt-images.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/hooks-admin.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/market.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/orchestration.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/path-refs.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/project-files.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/projects.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/search.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/session-control.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/session-insights.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/settings-statusline.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/uploads.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/routes/visualizations.d.ts +3 -0
- package/node_modules/@weavecode/server/dist/daemon/routes/visualizations.js +1 -0
- package/node_modules/@weavecode/server/dist/daemon/routes/watches.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/server.js +8 -8
- package/node_modules/@weavecode/server/dist/daemon/session-open.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/session-probe.d.ts +5 -4
- package/node_modules/@weavecode/server/dist/daemon/session-probe.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/settings.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/snapshot-refresher.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/sse-hub.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/start.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/state.js +2 -2
- package/node_modules/@weavecode/server/dist/daemon/static.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/terminal-topology-refresher.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/tls.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/toolkit-routes.js +1 -1
- package/node_modules/@weavecode/server/dist/daemon/upload-sessions.js +1 -1
- package/node_modules/@weavecode/server/dist/db/db.js +6 -2
- package/node_modules/@weavecode/server/dist/db/layout.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/answer-keys.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/bus.d.ts +3 -1
- package/node_modules/@weavecode/server/dist/hooks/bus.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/dashboard-rate.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/decision-judge.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/ack-gate.d.ts +12 -6
- package/node_modules/@weavecode/server/dist/hooks/delivery/ack-gate.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/channels.d.ts +3 -3
- package/node_modules/@weavecode/server/dist/hooks/delivery/channels.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/keys.d.ts +19 -9
- package/node_modules/@weavecode/server/dist/hooks/delivery/keys.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/queue.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/relay.d.ts +2 -2
- package/node_modules/@weavecode/server/dist/hooks/delivery/relay.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/send.js +2 -2
- package/node_modules/@weavecode/server/dist/hooks/delivery/views.d.ts +3 -1
- package/node_modules/@weavecode/server/dist/hooks/delivery/views.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/dispatcher.js +6 -6
- package/node_modules/@weavecode/server/dist/hooks/edge-extract.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/handlers/webhook.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/headless-runner.js +2 -2
- package/node_modules/@weavecode/server/dist/hooks/inbox-socket.js +2 -2
- package/node_modules/@weavecode/server/dist/hooks/inbox-worker.js +3 -3
- package/node_modules/@weavecode/server/dist/hooks/match.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/message-deliverer.d.ts +45 -38
- package/node_modules/@weavecode/server/dist/hooks/message-deliverer.js +5 -3
- package/node_modules/@weavecode/server/dist/hooks/mirror.js +4 -4
- package/node_modules/@weavecode/server/dist/hooks/orchestration-engine.js +7 -7
- package/node_modules/@weavecode/server/dist/hooks/orchestration-graph.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/plugin-installer.js +3 -3
- package/node_modules/@weavecode/server/dist/hooks/plugin-loader.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/plugin-project-state.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/prompt-flusher.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/promptbox.js +8 -8
- package/node_modules/@weavecode/server/dist/hooks/push-notify.js +2 -2
- package/node_modules/@weavecode/server/dist/hooks/question-tracker.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/registry.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/resume-runner.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/session-purge.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/side-questions.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/synthetic-sessions.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/toolkit-scan.js +1 -1
- package/node_modules/@weavecode/server/dist/hooks/toolkit.js +5 -5
- package/node_modules/@weavecode/server/dist/hooks/watch-engine.js +1 -1
- package/node_modules/@weavecode/server/dist/install/apply-update.js +1 -1
- package/node_modules/@weavecode/server/dist/install/capabilities.js +1 -1
- package/node_modules/@weavecode/server/dist/install/codex-toml.js +1 -1
- package/node_modules/@weavecode/server/dist/install/file-assets.js +1 -1
- package/node_modules/@weavecode/server/dist/install/fingerprint.js +1 -1
- package/node_modules/@weavecode/server/dist/install/global-config.js +1 -1
- package/node_modules/@weavecode/server/dist/install/global-file-assets.js +1 -1
- package/node_modules/@weavecode/server/dist/install/init-files.js +2 -2
- package/node_modules/@weavecode/server/dist/install/install-ledger.js +1 -1
- package/node_modules/@weavecode/server/dist/install/installer.js +1 -1
- package/node_modules/@weavecode/server/dist/install/library-index.js +1 -1
- package/node_modules/@weavecode/server/dist/install/mcp-rows.js +1 -1
- package/node_modules/@weavecode/server/dist/install/plugin-install.js +1 -1
- package/node_modules/@weavecode/server/dist/install/plugin-rows.js +1 -1
- package/node_modules/@weavecode/server/dist/install/plugin-templates.js +1 -1
- package/node_modules/@weavecode/server/dist/install/project-config.js +1 -1
- package/node_modules/@weavecode/server/dist/install/reader.js +1 -1
- package/node_modules/@weavecode/server/dist/install/scan-cache.js +1 -1
- package/node_modules/@weavecode/server/dist/install/scanner.js +1 -1
- package/node_modules/@weavecode/server/dist/install/settings-mcp.js +2 -2
- package/node_modules/@weavecode/server/dist/install/updates.js +1 -1
- package/node_modules/@weavecode/server/dist/market/builtin.js +1 -1
- package/node_modules/@weavecode/server/dist/market/identity.js +1 -1
- package/node_modules/@weavecode/server/dist/market/import.js +2 -2
- package/node_modules/@weavecode/server/dist/market/refresh.js +1 -1
- package/node_modules/@weavecode/server/dist/market/resolve.js +1 -1
- package/node_modules/@weavecode/server/dist/market/updates.js +1 -1
- package/node_modules/@weavecode/server/dist/registry.js +2 -2
- package/node_modules/@weavecode/server/dist/repositories/hook-dispatches.js +5 -5
- package/node_modules/@weavecode/server/dist/repositories/hook-events.d.ts +1 -1
- package/node_modules/@weavecode/server/dist/repositories/hook-events.js +5 -5
- package/node_modules/@weavecode/server/dist/repositories/hook-rules.js +4 -4
- package/node_modules/@weavecode/server/dist/repositories/libraries.js +1 -1
- package/node_modules/@weavecode/server/dist/repositories/orchestrations.js +7 -7
- package/node_modules/@weavecode/server/dist/repositories/plugin-states.js +1 -1
- package/node_modules/@weavecode/server/dist/repositories/projects.js +2 -2
- package/node_modules/@weavecode/server/dist/repositories/push-subscriptions.js +2 -2
- package/node_modules/@weavecode/server/dist/repositories/session-watches.js +4 -4
- package/node_modules/@weavecode/server/dist/repositories/sessions.d.ts +11 -1
- package/node_modules/@weavecode/server/dist/repositories/sessions.js +4 -2
- package/node_modules/@weavecode/server/dist/repositories/uploads.d.ts +14 -4
- package/node_modules/@weavecode/server/dist/repositories/uploads.js +11 -11
- package/node_modules/@weavecode/server/dist/statusline/cache-sweeper.js +1 -1
- package/node_modules/@weavecode/server/dist/statusline/generator.js +1 -1
- package/node_modules/@weavecode/server/dist/statusline/manager.js +3 -3
- package/node_modules/@weavecode/server/dist/surfaces.d.ts +3 -1
- package/node_modules/@weavecode/server/dist/surfaces.js +1 -1
- package/node_modules/@weavecode/server/dist/watch/cache.js +1 -1
- package/node_modules/@weavecode/server/dist/watch/classifier.js +1 -1
- package/node_modules/@weavecode/server/dist/watch/plugin-mods.js +1 -1
- package/node_modules/@weavecode/server/dist/watch/sync-scheduler.js +1 -1
- package/node_modules/@weavecode/server/dist/watch/watch-service.js +1 -1
- package/node_modules/@weavecode/server/package.json +4 -4
- package/node_modules/@weavecode/server/web/dist/assets/{abnfDiagram-WEYOIA3C-DA-K085F.js → abnfDiagram-WEYOIA3C-CbIFQh0R.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{arc-BI1jnmdZ.js → arc-DH8-rYAa.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{architectureDiagram-ZHVYKT53-DbdBgric.js → architectureDiagram-ZHVYKT53-qnv6S0sc.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{blockDiagram-RJAE7QA3-BPRBmzb-.js → blockDiagram-RJAE7QA3-pT5eO-cB.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{c4Diagram-XDPPPE54-C4D5sRs1.js → c4Diagram-XDPPPE54-DHDBDMb1.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/channel-BHPeeuzN.js +1 -0
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-2E7WHVMD-9ZSKiNU3.js → chunk-2E7WHVMD-CT951PH5.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-2Q5K7J3B-i0AOjw_8.js → chunk-2Q5K7J3B-E5AD7_ZY.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-4EMNKR2T-DTpLfX1H.js → chunk-4EMNKR2T-DWz9qkcy.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-55XCU76K-COQYRD4q.js → chunk-55XCU76K-D-SgWD8w.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-5VM5RSS4-VsftEbvo.js → chunk-5VM5RSS4-ci6YzbO5.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-JWPE2WC7-DonektJN.js → chunk-JWPE2WC7-CY4mr2f4.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-VQ5W62QI-CaKUwuul.js → chunk-VQ5W62QI-CON8zyg8.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-XXDRQBXY-DXH3D_MT.js → chunk-XXDRQBXY-DXXXZ4pW.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{chunk-ZCHMQSOR-COwyAuGn.js → chunk-ZCHMQSOR-CukvPvkM.js} +2 -2
- package/node_modules/@weavecode/server/web/dist/assets/{classDiagram-v2-4MYWR3UA-DEvMZ6mX.js → classDiagram-v2-4MYWR3UA-GiWZ9xtF.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{cose-bilkent-JH36ORCC-6JBJHfH6.js → cose-bilkent-JH36ORCC-D7aJ-akq.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{cynefin-EF2NZ3EQ-C4GM4sjT.js → cynefin-EF2NZ3EQ-9B__MaRM.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{cynefinDiagram-WF24UDRP-Cqgi0MBP.js → cynefinDiagram-WF24UDRP-B2ujZh2k.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{dagre-NK4GIZVX-CljrnkCY.js → dagre-NK4GIZVX-nHaB6IWf.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{diagram-CBK3MWTC-C3PyOj5J.js → diagram-CBK3MWTC-xKfjDvgr.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{diagram-I5XIIV2D-I5brQlaZ.js → diagram-I5XIIV2D-BHT2-5mY.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{diagram-ODIL2UCW-BX9uFNbU.js → diagram-ODIL2UCW-CckywF4W.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{diagram-PFBEJUXE-y7D-VmqJ.js → diagram-PFBEJUXE-Dpjlc7Wh.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{diagram-RJA3I4VV-DLUL8W42.js → diagram-RJA3I4VV-M6WznOaW.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{diagram-TYUNFSNR-DLCC3ILi.js → diagram-TYUNFSNR-DgRJ3zL1.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{ebnfDiagram-V4P3TTPT-D7vALia7.js → ebnfDiagram-V4P3TTPT-BzzVN__a.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{elk-QONTBCTQ-Ct2_hatz.js → elk-QONTBCTQ-Ch6Gs9G9.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{erDiagram-KYQIGQAA-DxLai58T.js → erDiagram-KYQIGQAA-COxT-Pxb.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{flowDiagram-IUGLLWBU-AWn2IHrF.js → flowDiagram-IUGLLWBU-CJVWnTBa.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{ganttDiagram-R7GPNTJY-DmRHd4Wz.js → ganttDiagram-R7GPNTJY-BkRpWPUl.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{gitGraphDiagram-PDYL7XHY-Ccj-t3zg.js → gitGraphDiagram-PDYL7XHY-Ba8BJcvZ.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/index-CtifxEiF.css +11 -0
- package/node_modules/@weavecode/server/web/dist/assets/index-FwH9INgS.js +1090 -0
- package/node_modules/@weavecode/server/web/dist/assets/{infoDiagram-MVDRKAX5-BHquFlQa.js → infoDiagram-MVDRKAX5-HTQ5FUNK.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{ishikawaDiagram-HPEHV2GE-CVogEbdm.js → ishikawaDiagram-HPEHV2GE-BNjEDIZy.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{journeyDiagram-BOSHW7O7-DC9XG9oh.js → journeyDiagram-BOSHW7O7-Cao6h91a.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{kanban-definition-FNSA4HC5-C_eu7DC_.js → kanban-definition-FNSA4HC5-CXIx2CHQ.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{linear-keTbWHJ-.js → linear-65WmlvQb.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{mermaid.core-4sbg0MnY.js → mermaid.core-D39fi_iR.js} +4 -4
- package/node_modules/@weavecode/server/web/dist/assets/{mindmap-definition-6OY57UG3-kMQS0S2l.js → mindmap-definition-6OY57UG3-DHqpz_AK.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{pegDiagram-ECIUJNBX-DcUFoEwP.js → pegDiagram-ECIUJNBX-Cpy1nsER.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{pieDiagram-GNMPY74T-BQJ7WDCx.js → pieDiagram-GNMPY74T-B1IyNqzr.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{quadrantDiagram-D57K4MC3-C7Oi1-sq.js → quadrantDiagram-D57K4MC3-zSM6o7mB.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{railroadDiagram-Y72NRBL7-CEF2QbOF.js → railroadDiagram-Y72NRBL7-oM4XJIwA.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{requirementDiagram-EQYSW5RA-CTjjFS7X.js → requirementDiagram-EQYSW5RA-CbCLBjHf.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{sankeyDiagram-SY24JHO5-j0S5kubS.js → sankeyDiagram-SY24JHO5-BucVk6EP.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{sequenceDiagram-BLEHNHQU-B76EsZp4.js → sequenceDiagram-BLEHNHQU-Dg8CYEnT.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{sizeCapture-INFHLROL-r0DZuqAy.js → sizeCapture-INFHLROL-C51zb7Oc.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{stateDiagram-v2-A6IESKWZ-B4DR9LHz.js → stateDiagram-v2-A6IESKWZ-BvK2l3is.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{swimlanes-B3ENRKFQ-Dbcl85ro.js → swimlanes-B3ENRKFQ-Ds7QOfXW.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/swimlanesDiagram-AYQRV4AK-ByBF02UJ.js +8 -0
- package/node_modules/@weavecode/server/web/dist/assets/{timeline-definition-JXYKGLGB-BlBXXRNf.js → timeline-definition-JXYKGLGB-CadU4Qq4.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{usecaseDiagram-WPOLBNNX-Ck1M0dpc.js → usecaseDiagram-WPOLBNNX-BYuZwTDZ.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{vennDiagram-Q3Y3IDCW-N8B-ohWk.js → vennDiagram-Q3Y3IDCW-C7zgxe07.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{wardleyDiagram-IVAIDKWA-DX-AMXq_.js → wardleyDiagram-IVAIDKWA-DA4Otf4s.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/assets/{xychartDiagram-4URNHDU4-4fgL48Yl.js → xychartDiagram-4URNHDU4-Bs5YGwMU.js} +1 -1
- package/node_modules/@weavecode/server/web/dist/index.html +2 -2
- package/node_modules/@weavecode/server/web/dist/sw.js +14 -12
- package/node_modules/@weavecode/templates/package.json +2 -2
- package/package.json +6 -6
- package/node_modules/@weavecode/server/web/dist/assets/channel-DcCJrvon.js +0 -1
- package/node_modules/@weavecode/server/web/dist/assets/index-BSxzia7U.js +0 -1031
- package/node_modules/@weavecode/server/web/dist/assets/index-CEpJpR7P.css +0 -11
- package/node_modules/@weavecode/server/web/dist/assets/swimlanesDiagram-AYQRV4AK-CZ_6SSBd.js +0 -8
package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/dist/index.mjs
CHANGED
|
@@ -139,7 +139,7 @@ var MemoryStore = class {
|
|
|
139
139
|
*/
|
|
140
140
|
resetClient(client, now = Date.now()) {
|
|
141
141
|
client.totalHits = 0;
|
|
142
|
-
client.resetTime
|
|
142
|
+
client.resetTime = new Date(now + this.windowMs);
|
|
143
143
|
return client;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
@@ -888,7 +888,11 @@ var rateLimit = (passedOptions) => {
|
|
|
888
888
|
try {
|
|
889
889
|
const incrementResult = await config.store.increment(key);
|
|
890
890
|
totalHits = incrementResult.totalHits;
|
|
891
|
-
resetTime
|
|
891
|
+
if (incrementResult.resetTime && (config.skipFailedRequests || config.skipSuccessfulRequests)) {
|
|
892
|
+
resetTime = new Date(incrementResult.resetTime.getTime());
|
|
893
|
+
} else {
|
|
894
|
+
resetTime = incrementResult.resetTime;
|
|
895
|
+
}
|
|
892
896
|
} catch (error) {
|
|
893
897
|
if (config.passOnStoreError) {
|
|
894
898
|
config.logger.error(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "express-rate-limit",
|
|
3
|
-
"version": "8.7.
|
|
3
|
+
"version": "8.7.2",
|
|
4
4
|
"description": "Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Nathan Friedly",
|
|
@@ -86,25 +86,25 @@
|
|
|
86
86
|
"@biomejs/biome": "2.4.6",
|
|
87
87
|
"@express-rate-limit/prettier": "1.1.1",
|
|
88
88
|
"@express-rate-limit/tsconfig": "1.0.5",
|
|
89
|
-
"@jest/globals": "30.5.
|
|
89
|
+
"@jest/globals": "30.5.2",
|
|
90
90
|
"@types/debug": "4.1.13",
|
|
91
91
|
"@types/express": "5.0.6",
|
|
92
92
|
"@types/jest": "30.0.0",
|
|
93
|
-
"@types/node": "26.4
|
|
93
|
+
"@types/node": "26.6.4",
|
|
94
94
|
"@types/supertest": "7.2.1",
|
|
95
95
|
"del-cli": "7.0.0",
|
|
96
96
|
"dts-bundle-generator": "8.1.2",
|
|
97
97
|
"esbuild": "0.28.2",
|
|
98
98
|
"express": "5.2.1",
|
|
99
99
|
"husky": "9.1.7",
|
|
100
|
-
"jest": "30.5.
|
|
101
|
-
"lint-staged": "17.
|
|
102
|
-
"mintlify": "4.2.
|
|
100
|
+
"jest": "30.5.2",
|
|
101
|
+
"lint-staged": "17.6.0",
|
|
102
|
+
"mintlify": "4.2.988",
|
|
103
103
|
"npm-run-all": "4.1.5",
|
|
104
|
-
"prettier": "3.9.
|
|
105
|
-
"ratelimit-header-parser": "0.1
|
|
106
|
-
"supertest": "7.
|
|
107
|
-
"ts-jest": "29.4.
|
|
104
|
+
"prettier": "3.9.9",
|
|
105
|
+
"ratelimit-header-parser": "0.2.1",
|
|
106
|
+
"supertest": "7.3.1",
|
|
107
|
+
"ts-jest": "29.4.14",
|
|
108
108
|
"ts-node": "10.9.2",
|
|
109
109
|
"typescript": "5.9.3"
|
|
110
110
|
},
|
package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/decrypt.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export interface JWTDecryptOptions extends t.DecryptOptions, t.JWTClaimVerificat
|
|
|
8
8
|
*/
|
|
9
9
|
export interface JWTDecryptGetKey<KeyType extends t.CryptoKey | Uint8Array = t.CryptoKey | Uint8Array> extends t.GetKeyFunction<t.CompactJWEHeaderParameters, t.FlattenedJWE, KeyType | t.KeyObject | t.JWK> {
|
|
10
10
|
}
|
|
11
|
+
export declare function jwtDecrypt<PayloadType, KeyType extends t.KeyInput, InferredPayloadType>(jwt: string | Uint8Array, key: KeyType, options?: JWTDecryptOptions): Promise<t.InferredJWTResult<t.JWTDecryptResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)>>;
|
|
12
|
+
export declare function jwtDecrypt<PayloadType, KeyType extends t.CryptoKey | Uint8Array, InferredPayloadType>(jwt: string | Uint8Array, getKey: JWTDecryptGetKey<KeyType>, options?: JWTDecryptOptions): Promise<t.InferredJWTResult<t.JWTDecryptResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)> & t.ResolvedKey<KeyType>>;
|
|
13
|
+
export declare function jwtDecrypt<PayloadType, KeyType extends t.KeyInput | JWTDecryptGetKey, InferredPayloadType>(jwt: string | Uint8Array, key: KeyType, options?: JWTDecryptOptions): Promise<t.InferredJWTResult<t.JWTDecryptResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)> & Partial<t.ResolvedKey>>;
|
|
11
14
|
/**
|
|
12
15
|
* Authenticates and decrypts a JWT in JWE Compact Serialization and validates its JWT Claims Set.
|
|
13
16
|
*
|
package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/unsecured.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export declare class UnsecuredJWT extends UnsecuredJWT_base {
|
|
|
14
14
|
/** Encodes the Unsecured JWT. */
|
|
15
15
|
encode(): string;
|
|
16
16
|
/** Decodes an unsecured JWT and validates its claims without authenticating the token. */
|
|
17
|
+
static decode<PayloadType, InferredPayloadType>(jwt: string, options?: t.JWTClaimVerificationOptions): t.InferredJWTResult<UnsecuredResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)>;
|
|
18
|
+
/** Decodes an unsecured JWT and validates its claims without authenticating the token. */
|
|
17
19
|
static decode<PayloadType = t.JWTPayload>(jwt: string, options?: t.JWTClaimVerificationOptions): UnsecuredResult<PayloadType>;
|
|
18
20
|
}
|
|
19
21
|
export {};
|
|
@@ -8,6 +8,9 @@ export interface JWTVerifyOptions extends t.VerifyOptions, t.JWTClaimVerificatio
|
|
|
8
8
|
*/
|
|
9
9
|
export interface JWTVerifyGetKey<KeyType extends t.CryptoKey | Uint8Array = t.CryptoKey | Uint8Array> extends t.GetKeyFunction<t.CompactJWSHeaderParameters, t.FlattenedJWSInput, KeyType | t.KeyObject | t.JWK> {
|
|
10
10
|
}
|
|
11
|
+
export declare function jwtVerify<PayloadType, KeyType extends t.KeyInput, InferredPayloadType>(jwt: string | Uint8Array, key: KeyType, options?: JWTVerifyOptions): Promise<t.InferredJWTResult<t.JWTVerifyResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)>>;
|
|
12
|
+
export declare function jwtVerify<PayloadType, KeyType extends t.CryptoKey | Uint8Array, InferredPayloadType>(jwt: string | Uint8Array, getKey: JWTVerifyGetKey<KeyType>, options?: JWTVerifyOptions): Promise<t.InferredJWTResult<t.JWTVerifyResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)> & t.ResolvedKey<KeyType>>;
|
|
13
|
+
export declare function jwtVerify<PayloadType, KeyType extends t.KeyInput | JWTVerifyGetKey, InferredPayloadType>(jwt: string | Uint8Array, key: KeyType, options?: JWTVerifyOptions): Promise<t.InferredJWTResult<t.JWTVerifyResult<unknown>, InferredPayloadType & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never)> & Partial<t.ResolvedKey>>;
|
|
11
14
|
/**
|
|
12
15
|
* Validates a JWT in JWS Compact Serialization (digital signature or MAC) and its JWT Claims Set.
|
|
13
16
|
*
|
|
@@ -665,6 +665,14 @@ export interface CompactVerifyResult {
|
|
|
665
665
|
protectedHeader: CompactJWSHeaderParameters
|
|
666
666
|
}
|
|
667
667
|
|
|
668
|
+
/**
|
|
669
|
+
* Infers the payload separately from its object check while preserving the result metadata. The
|
|
670
|
+
* guarded payload must be passed inline; moving the check here changes contextual inference.
|
|
671
|
+
*/
|
|
672
|
+
export type InferredJWTResult<Result, Payload> = Omit<Result, 'payload'> & {
|
|
673
|
+
payload: Payload & JWTPayload
|
|
674
|
+
}
|
|
675
|
+
|
|
668
676
|
/** Signed or MACed JSON Web Token (JWT) verification result. */
|
|
669
677
|
export interface JWTVerifyResult<PayloadType = JWTPayload> {
|
|
670
678
|
/** JWT Claims Set. */
|
package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/util/decode_jwt.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type * as t from '../types.d.ts';
|
|
2
|
+
export declare function decodeJwt<PayloadType, InferredPayloadType>(jwt: string): InferredPayloadType & t.JWTPayload & ([PayloadType] extends [object] ? unknown : unknown extends PayloadType ? unknown : never);
|
|
2
3
|
/**
|
|
3
4
|
* Decodes the Claims Set of a JWT in JWS Compact Serialization without validating its JWS Signature
|
|
4
5
|
* (digital signature or MAC) or claim types and values.
|
|
@@ -5,7 +5,7 @@ function isCloudflareWorkers() {
|
|
|
5
5
|
return typeof WebSocketPair < "u" || typeof navigator < "u" && navigator.userAgent === "Cloudflare-Workers" || typeof EdgeRuntime < "u" && EdgeRuntime === "vercel";
|
|
6
6
|
}
|
|
7
7
|
let USER_AGENT;
|
|
8
|
-
(typeof navigator > "u" || !navigator.userAgent?.startsWith?.("Mozilla/5.0 ")) && (USER_AGENT = "jose/v6.2.
|
|
8
|
+
(typeof navigator > "u" || !navigator.userAgent?.startsWith?.("Mozilla/5.0 ")) && (USER_AGENT = "jose/v6.2.14");
|
|
9
9
|
const customFetch = /* @__PURE__ */ Symbol();
|
|
10
10
|
async function fetchJwks(url, headers, signal, fetchImpl = fetch) {
|
|
11
11
|
const response = await fetchImpl(url, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{CommandParser as p}from"./parser.js";import{initCommand as f}from"./commands/init.js";import{statusCommand as g}from"./commands/status.js";import{daemonCommand as h}from"./commands/daemon.js";import{dashboardCommand as C}from"./commands/dashboard.js";import{scanCommand as u}from"./commands/scan.js";import{chpassCommand as
|
|
2
|
-
`),console.log(`${
|
|
3
|
-
`),console.log(
|
|
4
|
-
${
|
|
1
|
+
import{CommandParser as p}from"./parser.js";import{initCommand as f}from"./commands/init.js";import{statusCommand as g}from"./commands/status.js";import{daemonCommand as h}from"./commands/daemon.js";import{dashboardCommand as C}from"./commands/dashboard.js";import{scanCommand as u}from"./commands/scan.js";import{chpassCommand as $}from"./commands/chpass.js";import{doctorCommand as b}from"./commands/doctor.js";import{uninstallCommand as E}from"./commands/uninstall.js";import{initCliLocale as x,t as e}from"./i18n/index.js";import{WEAVE_VERSION as S}from"@weavecode/server";const w=process.emitWarning.bind(process);process.emitWarning=(r,...n)=>{if(!(typeof r=="string"?r:String(r)).includes("SQLite is an experimental feature"))return w(r,...n)};const l=()=>S;function v(r){if(r.description){console.log(` ${r.name.padEnd(12)}${e(r.description)}`);for(const n of r.subcommands??[]){const o=[n.name,...n.aliases??[]].join(", "),s=n.description?e(n.description):"";console.log(` ${o.padEnd(12)}${s}`)}}}function i(r){const n=l();console.log(`${e("help.tagline",{version:n})}
|
|
2
|
+
`),console.log(`${e("help.usage")}
|
|
3
|
+
`),console.log(e("help.commands"));for(const o of r.getAllCommands())v(o);console.log(`
|
|
4
|
+
${e("help.globalOptions")}`);for(const o of r.getGlobalOptions()){const s=o.short?`-${o.short}, --${o.name}`:` --${o.name}`;console.log(` ${s.padEnd(20)}${e(o.description)}`)}}function L(r){console.error(e("help.subcommands"));for(const n of r.subcommands??[]){const o=[n.name,...n.aliases??[]].join(", "),s=n.description?e(n.description):"";console.error(` ${o.padEnd(12)}${s}`)}}export class CLI{parser;constructor(){this.parser=new p,this.registerCommands()}registerCommands(){this.parser.registerCommand(f),this.parser.registerCommand(E),this.parser.registerCommand(g),this.parser.registerCommand(h),this.parser.registerCommand(C),this.parser.registerCommand(u),this.parser.registerCommand($),this.parser.registerCommand(b)}async run(n=process.argv.slice(2)){delete process.env.CLAUDE_CODE_CHILD_SESSION,await x();const o=this.parser.parse(n);if(o.flags.version){console.log(l());return}if(o.flags.help||o.command.length===0){i(this.parser);return}let s;for(const a of o.command)s=(s?s.subcommands?.find(c=>c.name===a||c.aliases?.includes(a)):this.parser.getCommand(a))??s;if(!s?.action){if(s?.subcommands?.length){const a=o.positional[0];console.error(a?e("cli.unknownSubcommand",{command:s.name,subcommand:a}):e("cli.missingSubcommand",{command:s.name})),L(s),process.exit(1)}console.error(e("cli.unknownCommand",{command:o.command.join(" ")})),i(this.parser),process.exit(1)}const t=s.maxPositionals??0;if(o.positional.length>t){const a=o.command.join(" ");console.error(e("cli.unexpectedPositional",{command:a,arg:o.positional[t]})),i(this.parser),process.exit(1)}const m=this.parser.validateFlags(o.flags,s);if(m.length>0){for(const a of m)console.error(e("cli.error",{error:a}));process.exit(1)}const d={commandPath:o.command,flags:o.flags,positional:o.positional,raw:o.raw};await s.action(d)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DAEMON_HOST as c}from"@weavecode/server";import{logger as s}from"@weavecode/core";import{t as r}from"../i18n/index.js";import{ensureDaemonRunning as i}from"./daemon.js";import{localTokenHeader as p}from"./daemon-auth.js";const m=6;async function h(
|
|
1
|
+
import{DAEMON_HOST as c}from"@weavecode/server";import{logger as s}from"@weavecode/core";import{t as r}from"../i18n/index.js";import{ensureDaemonRunning as i}from"./daemon.js";import{localTokenHeader as p}from"./daemon-auth.js";const m=6;async function h(e){const t=e.positional[0];if(typeof t!="string"||t.length<m){s.warn(r("out.chpass.usage")),process.exitCode=1;return}const n=await i();try{const o=await fetch(`http://${c}:${n.port}/auth/password`,{method:"PUT",headers:{"content-type":"application/json",...p()},body:JSON.stringify({next:t})}),a=await o.json().catch(()=>({}));if(!o.ok)throw new Error(typeof a.error=="string"?a.error:`HTTP ${o.status}`);s.success(r("out.chpass.ok"))}catch(o){s.warn(r("out.chpass.fail",{error:o instanceof Error?o.message:String(o)})),process.exitCode=1}}export const chpassCommand={name:"chpass",description:"cmd.chpass.desc",action:h,maxPositionals:1};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as
|
|
1
|
+
import{existsSync as a,readFileSync as r,rmSync as e}from"node:fs";import{getAuthPath as n,getInitialPasswordPath as s}from"@weavecode/server";import{logger as i}from"@weavecode/core";import{t as c}from"../i18n/index.js";export function localTokenHeader(){try{const t=JSON.parse(r(n(),"utf8"));return typeof t.localToken=="string"&&t.localToken?{"x-weave-local":t.localToken}:{}}catch{return{}}}export function announceInitialPassword(){const t=s();if(!a(t))return;let o;try{o=r(t,"utf8").trim()}catch{return}e(t,{force:!0}),o&&i.info(c("out.dash.initialPassword",{password:o}))}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{spawn as
|
|
2
|
-
`)))}else t?
|
|
1
|
+
import{spawn as w}from"node:child_process";import{DEFAULT_PORT as c,DAEMON_HOST as d,isPortFree as h,findFreePort as $,readDaemonState as m,writeDaemonState as y,clearDaemonState as D,resolveDaemonEntry as g,accessUrls as P}from"@weavecode/server";import{logger as n}from"@weavecode/core";import{t as r}from"../i18n/index.js";export async function probeDaemon(t){try{const e=await fetch(`http://${d}:${t}/health`);return e.ok?(await e.json()).service==="weave-daemon":!1}catch{return!1}}export async function waitForDaemon(t,e=1e4){const o=Date.now()+e;for(;!await probeDaemon(t);){if(Date.now()>=o)return!1;await new Promise(a=>setTimeout(a,100))}return!0}async function S(t,e){if(process.platform!=="win32")return!1;const o=i=>/\s/.test(i)?`"${i}"`:i,a=i=>`'${i.replace(/'/g,"''")}'`,s=`$ErrorActionPreference='Stop';$su=[wmiclass]'Win32_ProcessStartup';$psi=$su.CreateInstance();$psi.ShowWindow=0;$proc=[wmiclass]'Win32_Process';$r=$proc.Create(${a([t,...e].map(o).join(" "))},${a(process.cwd())},$psi);if($r.ReturnValue -ne 0){exit 1}`,p=Buffer.from(s,"utf16le").toString("base64");return new Promise(i=>{const u=w("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",p],{windowsHide:!0,stdio:"ignore"});u.on("error",()=>i(!1)),u.on("exit",l=>i(l===0))})}export async function ensureDaemonRunning(){const t=m();if(t&&await probeDaemon(t.port))return{port:t.port,started:!1,ready:!0};if(await probeDaemon(c))return{port:c,started:!1,ready:!0};const e=await h(c)?c:await $(c+1);y({pid:0,port:e,startedAt:new Date().toISOString()});const o=g(),a=o.isTs?["--import","tsx",o.path]:[o.path];await S(process.execPath,a)||w(process.execPath,a,{detached:!0,stdio:"ignore"}).unref();const s=await waitForDaemon(e);return{port:e,started:!0,ready:s}}async function x(){const t=await ensureDaemonRunning();if(!t.started){n.info(r("out.daemon.alreadyRunning",{port:t.port}));return}t.ready?n.success(r("out.daemon.started",{host:d,port:t.port})):n.warn(r("out.daemon.startUnconfirmed",{port:t.port}))}async function f(t){return await(await fetch(`http://${d}:${t}/health`)).json()}async function R(){const t=m(),e=t?.port??c;let o=t?.pid;if(await probeDaemon(e))o=(await f(e)).pid;else if(!t){n.info(r("out.daemon.statusNotRunning"));return}let a;if(o)try{process.kill(o),a=o}catch{}D(),a!==void 0?(await T(a,e),n.success(r("out.daemon.stopped",{pid:a}))):n.warn(r("out.daemon.statusStale",{pid:o??0,port:e}))}async function T(t,e,o=5e3){const a=Date.now()+o;for(;;){let s;try{process.kill(t,0),s=!0}catch{s=!1}if(!s&&!await probeDaemon(e)||Date.now()>=a)return;await new Promise(p=>setTimeout(p,100))}}async function v(){const t=m(),e=t?.port??c;if(await probeDaemon(e)){const o=await f(e);n.info(r("out.daemon.statusRunning",{pid:o.pid,port:o.port,uptime:Math.round(o.uptimeMs/1e3)}));const a=P(e,t?.tlsPort??0);a.length>0&&(n.dim(r("out.daemon.urlsTitle")),n.dim(a.map(s=>` ${s.url}`).join(`
|
|
2
|
+
`)))}else t?n.warn(r("out.daemon.statusStale",{pid:t.pid,port:t.port})):n.info(r("out.daemon.statusNotRunning"))}export const daemonCommand={name:"daemon",description:"cmd.daemon.desc",subcommands:[{name:"start",description:"cmd.daemon.start.desc",action:x},{name:"stop",description:"cmd.daemon.stop.desc",action:R},{name:"status",description:"cmd.daemon.status.desc",action:v}]};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{spawn as p}from"node:child_process";import{accessUrls as m,DAEMON_HOST as d,readDaemonState as
|
|
2
|
-
`))),f(),
|
|
1
|
+
import{spawn as p}from"node:child_process";import{accessUrls as m,DAEMON_HOST as d,readDaemonState as u,resolveStaticDir as c}from"@weavecode/server";import{logger as o}from"@weavecode/core";import{t}from"../i18n/index.js";import{ensureDaemonRunning as l}from"./daemon.js";import{announceInitialPassword as f}from"./daemon-auth.js";export function openBrowser(n){const[s,a]=process.platform==="win32"?["cmd",["/c","start","",n]]:process.platform==="darwin"?["open",[n]]:["xdg-open",[n]],r=p(s,a,{detached:!0,stdio:"ignore"});r.on("error",()=>{o.dim(t("out.dash.browserFailed"))}),r.unref()}export function dashboardUrl(n){return`http://${d}:${n}/`}async function h(n){const s=!!n.flags.noOpen,a=await l();a.started?a.ready?(o.success(t("out.daemon.started",{host:d,port:a.port})),o.dim(t("out.dash.stopHint"))):o.warn(t("out.daemon.startUnconfirmed",{port:a.port})):o.info(t("out.daemon.alreadyRunning",{port:a.port})),c()||(o.warn(t("out.dash.noBundle")),o.dim(t("out.dash.buildHint")));const r=dashboardUrl(a.port);o.info(t("out.dash.url",{url:r}));const e=m(a.port,u()?.tlsPort??0);if(e.length>0&&(o.dim(t("out.daemon.urlsTitle")),o.dim(e.map(i=>` ${i.url}`).join(`
|
|
2
|
+
`))),f(),s){o.dim(t("out.dash.noOpen"));return}openBrowser(r)}export const dashboardCommand={name:"dashboard",aliases:["dash"],description:"cmd.dashboard.desc",options:[{name:"no-open",description:"flag.dashboard.noOpen",type:"boolean",default:!1}],action:h};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as
|
|
1
|
+
import{existsSync as m,readFileSync as k}from"node:fs";import u from"node:path";import{DAEMON_HOST as w,DEFAULT_PORT as S,getDbPath as x,ensureDataLayout as y,openDatabase as N,ProjectRepository as b,readDaemonState as T}from"@weavecode/server";import{formatTable as f,logger as r}from"@weavecode/core";import{checkHarness as P}from"../init/harness-checks.js";import{probeDaemon as E}from"./daemon.js";import{localTokenHeader as C}from"./daemon-auth.js";import{t as o}from"../i18n/index.js";const q={"no-mechanism":"out.doctor.reason.noMechanism","no-credentials":"out.doctor.reason.noCredentials","auth-token-required":"out.doctor.reason.authTokenRequired","no-peer-name":"out.doctor.reason.noPeerName","no-backend":"out.doctor.reason.noBackend","no-pane-env":"out.doctor.reason.noPaneEnv","pane-env-conflict":"out.doctor.reason.paneEnvConflict"},D={"no-hook-script":"out.doctor.hint.noHookScript","hook-script-not-weave":"out.doctor.hint.hookScriptNotWeave","hook-script-stale":"out.doctor.hint.hookScriptStale","no-events":"out.doctor.hint.noEvents","no-inbox-credentials":"out.doctor.hint.noInboxCredentials","inbox-token-required":"out.doctor.hint.inboxTokenRequired","no-peer-name":"out.doctor.hint.noPeerName","terminal-no-backend":"out.doctor.hint.terminalNoBackend","terminal-no-pane-env":"out.doctor.hint.terminalNoPaneEnv","terminal-pane-env-conflict":"out.doctor.hint.terminalPaneEnvConflict","not-running":"out.doctor.hint.notRunning",queued:"out.doctor.hint.queued",stalled:"out.doctor.hint.stalled"};function p(n,e){if(!e)return"";const i=n[e];return i?o(i):e}function j(n){if(!n||!n.present)return o("out.doctor.diagScriptNone");const e=n.source==="user"?o("out.doctor.diagSourceUser"):n.source==="project"?o("out.doctor.diagSourceProject"):o("out.doctor.diagSourceNone");if(!n.weaveOwned)return o("out.doctor.diagScriptNotOwned",{source:e});const i=o("out.doctor.diagYes");return o("out.doctor.diagScriptValue",{harness:n.harness,source:e,version:n.generatedVersion??o("out.doctor.diagMissing"),inbox:n.reportsInbox?i:o("out.doctor.diagNo"),pane:n.reportsPaneEnv?i:o("out.doctor.diagNo")})}function l(n){const e=p(q,n.reason);return n.status==="ready"?o("out.doctor.diagReady"):n.status==="unknown"?o("out.doctor.diagUnknown",{reason:e}):o("out.doctor.diagUnavailable",{reason:e})}async function H(n,e){let i;try{const t=await fetch(`http://${w}:${n}/messaging/diagnostics?project=${e}`,{headers:C()});if(!t.ok)throw new Error(`HTTP ${t.status}`);try{i=await t.json()}catch{throw new Error(`HTTP ${t.status}`)}}catch(t){r.warn(o("out.doctor.diagFailed",{error:t instanceof Error?t.message:String(t)}));return}const{daemon:d}=i,s=i.projects.find(t=>t.id===e)?.captures[0]??null;if(console.log(),r.info(o("out.doctor.diagHeader",{id:e})),console.log(f([[o("out.doctor.diagDaemon"),o("out.doctor.diagDaemonValue",{version:d.version,platform:d.platform,preset:d.terminalPreset,channel:o(d.terminalTextChannel?"out.doctor.diagChannelOn":"out.doctor.diagChannelOff")})],[o("out.doctor.diagScript"),j(s)]])),i.sessions.length===0){r.dim(o("out.doctor.diagNoSessions"));return}const a=t=>t===null?o("out.doctor.diagUnknownAlive"):o(t?"out.doctor.diagYes":"out.doctor.diagNo");for(const t of i.sessions)console.log(),console.log(" "+o("out.doctor.diagSession",{id:t.sessionId.slice(0,8),title:t.title??o("out.doctor.diagUntitled"),alive:a(t.alive),events:t.eventCount,last:t.lastEventType??o("out.doctor.diagMissing")})),console.log(" "+o("out.doctor.diagChannels",{inbox:l(t.channels.inbox),queue:l(t.channels.queue),relay:l(t.channels.relay),terminal:l(t.channels.terminal)})),console.log(" "+o("out.doctor.diagQueue",{pending:t.queue.pending,stalled:o(t.queue.stalled?"out.doctor.diagYes":"out.doctor.diagNo")})),t.hints.length>0&&r.dim(" "+o("out.doctor.diagHints",{hints:t.hints.map(c=>p(D,c)).join("\uFF1B")}))}const v=n=>{const e=u.resolve(n);return process.platform==="win32"?e.toLowerCase():e};function O(n){if(!m(x()))return null;const e=N();try{const i=new b(e),d=v(n),s=[...i.list(),...i.listArchived()].find(a=>v(a.path)===d);return s?{id:s.id,source:s.source,archived:s.archivedAt!==null,token:s.token}:null}finally{e.close()}}function R(n){const e=u.join(n,".weave","token");return m(e)?k(e,"utf-8").trim():null}export const doctorCommand={name:"doctor",description:"cmd.doctor.desc",options:[{name:"dir",short:"d",description:"flag.dir",type:"string",default:process.cwd()}],async action(n){y();const e=u.resolve(String(n.flags.dir??process.cwd())),i=m(u.join(e,".weave","config.yaml")),d=T()?.port??S,s=await E(d),a=O(e),t=R(e);let c;t===null?c=o("out.doctor.tokenMissing"):a?t===a.token?c=o("out.doctor.tokenOk"):c=o("out.doctor.tokenStale"):c=o("out.doctor.tokenUnregistered"),r.info(o("out.doctor.header")),console.log(f([[o("out.doctor.dir"),e],[o("out.doctor.initialized"),i?o("out.doctor.yes"):o("out.doctor.no")],[o("out.doctor.daemon"),s?o("out.doctor.daemonRunning",{port:d}):o("out.doctor.daemonStopped")],[o("out.doctor.registered"),a?o(a.archived?"out.doctor.registeredArchived":"out.doctor.registeredYes",{id:a.id,source:a.source}):o("out.doctor.registeredNo")],[o("out.doctor.token"),c]])),console.log();const g=await P(e);if(g.length>0){r.warn(o("out.status.issuesFound",{count:g.length}));for(const h of g)r.warn(o("out.status.issue",{message:h.message})),r.dim(o("out.status.fix",{fix:h.fix}));console.log()}if(s&&a&&!a.archived&&await H(d,a.id),!a){r.warn(o("out.doctor.warnNotRegistered")),r.dim(o("out.doctor.fixInit")),i||r.dim(o("out.doctor.fixScan",{dir:e}));return}if(a.archived){r.warn(o("out.doctor.warnArchived"));return}if(t===null){r.warn(o("out.doctor.warnTokenMissing")),r.dim(o("out.doctor.fixInit"));return}if(t!==a.token){r.warn(o("out.doctor.warnTokenStale")),r.dim(o("out.doctor.fixInit"));return}r.success(o("out.doctor.ok")),s||r.dim(o("out.doctor.fixDaemon"))}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PresetSchema as
|
|
1
|
+
import{PresetSchema as p,HARNESS_KEYS as m,logger as n,formatTable as g,resolveComponents as f}from"@weavecode/core";import{executeInit as u}from"../init/executor.js";import{registerProject as h,WEAVE_VERSION as S}from"@weavecode/server";import{t as e}from"../i18n/index.js";const d=["preToolUse","postToolUse","userPromptSubmit","sessionStart","stop","stopFailure","subagentStop","subagentStart","notification","postToolUseFailure","permissionRequest","permissionDenied","preCompact","sessionEnd","preModelSwitch"];function b(s){const r=s.trim();if(!r)return{};const c=Object.fromEntries(d.map(i=>[i,!1]));if(r==="none")return c;const a=new Set(r.split(",").map(i=>i.trim()).filter(Boolean)),o=[...a].filter(i=>!d.includes(i));return o.length>0&&n.warn(e("init.hooksUnknownKeys",{keys:o.join(", ")})),Object.fromEntries(d.map(i=>[i,a.has(i)]))}export function parseHarnessFlag(s){const r=s.trim();if(!r)return;const c=r.split(",").map(i=>i.trim().toLowerCase()).filter(Boolean),a=[...new Set(c.filter(i=>m.includes(i)))],o=c.filter(i=>!m.includes(i));return o.length>0&&n.warn(e("init.harnessUnknownKeys",{keys:o.join(", ")})),a.length>0?a:["claude"]}export const initCommand={name:"init",description:"cmd.init.desc",options:[{name:"preset",short:"p",description:"flag.init.preset",type:"string",default:"default",choices:["minimal","default","full"]},{name:"force",short:"f",description:"flag.init.force",type:"boolean",default:!1},{name:"no-interactive",description:"flag.init.noInteractive",type:"boolean",default:!1},{name:"dir",short:"d",description:"flag.dir",type:"string",default:process.cwd()},{name:"hooks",description:"flag.init.hooks",type:"string",default:""},{name:"harness",description:"flag.init.harness",type:"string",default:""}],async action(s){const r=p.parse(s.flags.preset??"default"),c=!!s.flags.force,a=s.flags.noInteractive!==!0&&s.flags.interactive!==!1,o=String(s.flags.dir??process.cwd());n.info(e("init.banner",{version:S})),n.dim(e("init.presetTarget",{preset:r,target:o}));const i=f(r);let t;try{t=await u({targetDir:o,force:c,interactive:a,preset:r,harnesses:parseHarnessFlag(String(s.flags.harness??"")),components:i,hooks:b(String(s.flags.hooks??"")),skills:{},commands:{},agents:{},mcp:{}})}catch(l){n.error(e("init.failed",{error:l instanceof Error?l.message:String(l)})),process.exit(1)}if(t.success){h(o,"init"),n.success(e("init.complete"));const l=[[e("init.table.directories"),String(t.created.directories.length)],[e("init.table.filesCreated"),String(t.created.files.length)],[e("init.table.filesMerged"),String(t.merged.length)],[e("init.table.weaveUpdated"),String(t.updated.length)],[e("init.table.skills"),String(t.summary.skillsCount)],[e("init.table.commands"),String(t.summary.commandsCount)],[e("init.table.agents"),String(t.summary.agentsCount)]];console.log(g(l)),console.log(),t.merged.length>0&&n.dim(e("init.merged",{count:t.merged.length})),t.updated.length>0&&n.dim(e("init.refreshed",{count:t.updated.length})),t.removed.length>0&&n.dim(e("init.removed",{count:t.removed.length})),t.skipped.length>0&&n.dim(e("init.skipped",{count:t.skipped.length}))}else{n.error(e("init.completedWithErrors"));for(const l of t.errors)n.error(e("init.errorLine",{error:l}))}}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{DAEMON_HOST as h}from"@weavecode/server";import{logger as a}from"@weavecode/core";import{createRuntimeRegistry as y}from"@weavecode/harness";import{ensureDaemonRunning as u}from"./daemon.js";import{t as i}from"../i18n/index.js";async function g(s,o,e){const t=await fetch(`http://${h}:${s}${o}`,e),n=await t.json().catch(()=>({}));if(!t.ok)throw new Error(String(n.error??`HTTP ${t.status}`));return n}export function resolveSessionRef(s,o){const e=o.toLowerCase(),t=s.filter(c=>c.sessionId.toLowerCase()===e);if(t.length===1)return{row:t[0]};const n=s.filter(c=>c.sessionId.toLowerCase().startsWith(e));if(n.length===1)return{row:n[0]};const r=s.filter(c=>c.title!=null&&c.title.toLowerCase().includes(e));if(r.length===1)return{row:r[0]};const
|
|
2
|
-
`)}const l=s=>s.slice(0,8);function f(s,o){return g(s,"/sessions").then(({sessions:e})=>{const t=resolveSessionRef(e,o);if("row"in t)return t.row;throw t.error==="ambiguous"?new Error(i("out.msg.ambiguous",{ref:o,candidates:t.rows.map(n=>`${l(n.sessionId)}${n.title?` (${n.title})`:""}`).join(", ")})):new Error(i("out.msg.notFound",{ref:o}))})}function p(){const s=y().byCapability("messaging").flatMap(o=>o.messaging?.sessionEnv?[o.messaging.sessionEnv]:[]);return currentSessionId(process.env,s)}async function w(s,o,e,t,n){const r=await f(s,o),
|
|
1
|
+
import{DAEMON_HOST as h}from"@weavecode/server";import{logger as a}from"@weavecode/core";import{createRuntimeRegistry as y}from"@weavecode/harness";import{ensureDaemonRunning as u}from"./daemon.js";import{t as i}from"../i18n/index.js";async function g(s,o,e){const t=await fetch(`http://${h}:${s}${o}`,e),n=await t.json().catch(()=>({}));if(!t.ok)throw new Error(String(n.error??`HTTP ${t.status}`));return n}export function resolveSessionRef(s,o){const e=o.toLowerCase(),t=s.filter(c=>c.sessionId.toLowerCase()===e);if(t.length===1)return{row:t[0]};const n=s.filter(c=>c.sessionId.toLowerCase().startsWith(e));if(n.length===1)return{row:n[0]};const r=s.filter(c=>c.title!=null&&c.title.toLowerCase().includes(e));if(r.length===1)return{row:r[0]};const d=n.length>0?n:r;return d.length>1?{error:"ambiguous",rows:d}:{error:"not-found"}}export function currentSessionId(s,o){for(const e of o){if(!e)continue;const t=s[e];if(typeof t=="string"&&t!=="")return t}return null}export function pickReplyTarget(s,o){for(let e=s.length-1;e>=0;e--){const t=s[e];if(t.toSessionId===o&&t.fromSessionId!=null)return t.fromSessionId}return null}function I(s){const o=s[0].map((e,t)=>Math.max(...s.map(n=>n[t].length)));return s.map(e=>e.map((t,n)=>t.padEnd(o[n])).join(" ").trimEnd()).join(`
|
|
2
|
+
`)}const l=s=>s.slice(0,8);function f(s,o){return g(s,"/sessions").then(({sessions:e})=>{const t=resolveSessionRef(e,o);if("row"in t)return t.row;throw t.error==="ambiguous"?new Error(i("out.msg.ambiguous",{ref:o,candidates:t.rows.map(n=>`${l(n.sessionId)}${n.title?` (${n.title})`:""}`).join(", ")})):new Error(i("out.msg.notFound",{ref:o}))})}function p(){const s=y().byCapability("messaging").flatMap(o=>o.messaging?.sessionEnv?[o.messaging.sessionEnv]:[]);return currentSessionId(process.env,s)}async function w(s,o,e,t,n){const r=await f(s,o),d=await g(s,`/sessions/${encodeURIComponent(r.sessionId)}/messages`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:e,mode:t,fromKind:"cli",fromSessionId:n})});a.success(i("out.msg.sendOk",{target:r.title??l(r.sessionId),id:d.messageId,status:d.status}))}async function S(s,o){const{sessions:e}=await g(s,"/sessions");if(!o){const{capabilities:r}=await g(s,"/messaging/capabilities"),d=new Set(r.filter(m=>m.discovery).map(m=>m.harness)),c=e.map(m=>[l(m.sessionId),m.title??"",m.harness??"-",m.turnOpen===void 0?"-":m.turnOpen?i("out.msg.busy"):i("out.msg.idle"),m.harness!=null&&d.has(m.harness)?"\u2713":"\u2014"]);if(c.length===0){a.info(i("out.msg.noSessions"));return}a.info(i("out.msg.sessionHeader",{n:c.length})),console.log(I([[i("out.msg.col.session"),i("out.msg.col.title"),i("out.msg.col.harness"),i("out.msg.col.state"),i("out.msg.col.msg")],...c]));return}const t=await f(s,o),{messages:n}=await g(s,`/sessions/${encodeURIComponent(t.sessionId)}/messages`);a.info(i("out.msg.threadHeader",{session:t.title??t.sessionId,n:n.length}));for(const r of n){const d=r.fromSessionId===t.sessionId?"\u25B6":"\u25C0",c=r.fromKind==="dashboard"?"dashboard":r.fromKind==="cli"?"cli":r.fromSessionId??"?";console.log(`${r.createdAt.slice(11,19)} ${d} ${c} [${r.status}] ${r.text.slice(0,80)}`)}}async function C(s,o,e){const t=await f(s,o),n=p(),r=await g(s,`/sessions/${encodeURIComponent(t.sessionId)}/watch`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({watcherSessionId:n,notify:e??null})});a.success(i("out.msg.watchOk",{target:t.title??l(t.sessionId),id:r.watchId,via:n??i("out.msg.watchViaDashboard")}))}async function x(s,o){const e=p();if(!e){a.warn(i("out.msg.replyNoSession")),process.exitCode=1;return}const{messages:t}=await g(s,`/sessions/${encodeURIComponent(e)}/messages`),n=pickReplyTarget(t,e);if(!n){a.warn(i("out.msg.replyNothing")),process.exitCode=1;return}await w(s,n,o,"inject",e)}export const msgCommand={name:"msg",description:"cmd.msg.desc",subcommands:[{name:"ls",description:"cmd.msg.ls.desc",async action(s){const o=await u();try{await S(o.port,s.positional[0])}catch(e){a.warn(i("out.msg.failed",{error:e instanceof Error?e.message:String(e)})),process.exitCode=1}}},{name:"send",description:"cmd.msg.send.desc",options:[{name:"mode",short:"m",description:"flag.msg.mode",type:"string",choices:["auto","inject","headless"],default:"inject"}],async action(s){const o=s.positional[0],e=s.positional.slice(1).join(" ");if(!o||!e){a.warn(i("out.msg.sendUsage")),process.exitCode=1;return}const t=await u();try{await w(t.port,o,e,String(s.flags.mode??"inject"),p())}catch(n){a.warn(i("out.msg.sendFail",{error:n instanceof Error?n.message:String(n)})),process.exitCode=1}}},{name:"watch",description:"cmd.msg.watch.desc",options:[{name:"notify",description:"flag.msg.notify",type:"string"}],async action(s){const o=s.positional[0];if(!o){a.warn(i("out.msg.watchUsage")),process.exitCode=1;return}const e=await u();try{await C(e.port,o,s.flags.notify==null?void 0:String(s.flags.notify))}catch(t){a.warn(i("out.msg.watchFail",{error:t instanceof Error?t.message:String(t)})),process.exitCode=1}}},{name:"reply",description:"cmd.msg.reply.desc",async action(s){const o=s.positional.join(" ");if(!o){a.warn(i("out.msg.replyUsage")),process.exitCode=1;return}const e=await u();try{await x(e.port,o)}catch(t){a.warn(i("out.msg.sendFail",{error:t instanceof Error?t.message:String(t)})),process.exitCode=1}}}]};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{readdir as
|
|
1
|
+
import{readdir as c}from"node:fs/promises";import{existsSync as m}from"node:fs";import{join as n}from"node:path";import{registerProject as d}from"@weavecode/server";import{logger as a}from"@weavecode/core";import{createRuntimeRegistry as f}from"@weavecode/harness";import{t as p}from"../i18n/index.js";const g=new Set(["node_modules",".git","dist","build",".next","coverage",".cache"]),u=f().byCapability("detect").map(t=>t.detect).filter(t=>t!==void 0);export async function findProjectDirs(t,s=0,r=6){if(s>r)return[];if(m(n(t,".weave"))||u.some(e=>e.present(t)))return[t];let o;try{o=await c(t,{withFileTypes:!0})}catch{return[]}const i=[];for(const e of o)e.isDirectory()&&(e.name.startsWith(".")||g.has(e.name)||i.push(...await findProjectDirs(n(t,e.name),s+1,r)));return i}export const scanCommand={name:"scan",description:"cmd.scan.desc",options:[{name:"dir",short:"d",description:"flag.scan.dir",type:"string",default:process.cwd()}],async action(t){const s=String(t.flags.dir??process.cwd()),r=await findProjectDirs(s);for(const o of r)d(o,"scan");if(a.success(p("out.scan.registered",{count:r.length,root:s})),r.length>0)for(const o of r)a.dim(` ${o}`)}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
`)){const n=r.indexOf(":");n>0&&(
|
|
1
|
+
import c from"node:path";import R from"node:os";import{readFile as k}from"node:fs/promises";import{fileExists as S,logger as l,formatTable as E,HARNESS_DIRS as j,HARNESS_INSTRUCTION_FILES as x,HARNESS_KEYS as I}from"@weavecode/core";import{createRuntimeRegistry as N}from"@weavecode/harness";import{WEAVE_VERSION as $}from"@weavecode/server";import{checkHarness as b}from"../init/harness-checks.js";import{t as o}from"../i18n/index.js";async function V(i){const t=c.join(i,".weave","config.yaml");if(!await S(t))return null;try{const a=await k(t,"utf-8"),e={};for(const r of a.split(`
|
|
2
|
+
`)){const n=r.indexOf(":");n>0&&(e[r.slice(0,n).trim()]=r.slice(n+1).trim())}return e}catch{return null}}async function D(i,t){return await S(c.join(t,i))?"out.status.present":"out.status.missing"}async function u(i,t,a){return[i,o(await D(t,a))]}function _(i,t,a){if(!i)return null;try{const e=i.targetDir(t,"project",a,R.homedir());return c.relative(a,e).split(c.sep).join("/")}catch{return null}}export const statusCommand={name:"status",description:"cmd.status.desc",options:[{name:"dir",short:"d",description:"flag.dir",type:"string",default:process.cwd()}],async action(i){const t=String(i.flags.dir??process.cwd()),a=await V(t);if(!a){l.warn(o("out.status.notInitialized"));return}l.info(o("out.status.header"));const e=N(),r=e.byCapability("detect").flatMap(s=>s.detect&&s.detect.detect(t).present?[s.id]:[]),n=[[o("out.status.col.cliVersion"),$],[o("out.status.col.initVersion"),a.initVersion??o("out.status.unknown")],[o("out.status.col.initialized"),a.initTimestamp??o("out.status.unknown")],[o("out.status.col.preset"),a.preset??o("out.status.unknown")],[o("out.status.col.harness"),r.length>0?r.join(", "):o("out.status.unknown")]],p=I[0],m=j[p].projectDir,g=e.get(p)?.assets;for(const s of x[p])n.push(await u(s,s,t));n.push(await u("settings.json",`${m}/settings.json`,t)),n.push(await u(".mcp.json",".mcp.json",t)),n.push(await u("helpers",`${m}/helpers`,t));const w=g?.projectSkillsRoots()[0]??`${m}/skills`;n.push(await u(c.posix.basename(w),w,t));const y=[["commands","command"],["agents","agent"]];for(const[s,f]of y){const h=_(g,f,t)??`${m}/${s}`;n.push(await u(c.posix.basename(h),h,t))}for(const s of r){if(s===p)continue;const f=e.get(s)?.assets?.projectSkillsRoots()[0]??`${j[s].projectDir}/skills`;n.push(await u(f,f,t))}console.log(E(n)),console.log();const d=await b(t);if(d.length>0){l.warn(o("out.status.issuesFound",{count:d.length}));for(const s of d)l.warn(o("out.status.issue",{message:s.message})),l.dim(o("out.status.fix",{fix:s.fix}));console.log()}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{logger as t}from"@weavecode/core";import{executeUninstall as a}from"../init/uninstall.js";import{t as i}from"../i18n/index.js";function
|
|
1
|
+
import{logger as t}from"@weavecode/core";import{executeUninstall as a}from"../init/uninstall.js";import{t as i}from"../i18n/index.js";function r(s){s.outcome==="removed"?t.dim(i("out.uninstall.serverRemoved",{name:s.name??"",events:s.purged?.events??0,dispatches:s.purged?.dispatches??0,sessions:s.purged?.sessions??0})):s.outcome==="failed"&&t.warn(i("out.uninstall.serverFailed",{error:s.error??""}))}export const uninstallCommand={name:"uninstall",description:"cmd.uninstall.desc",options:[{name:"dir",short:"d",description:"flag.dir",type:"string",default:process.cwd()}],async action(s){const n=String(s.flags.dir??process.cwd());t.info(i("out.uninstall.banner",{target:n}));const e=await a({targetDir:n});if(e.status==="not-initialized"){t.warn(i("out.uninstall.notInitialized")),r(e.server);return}if(t.success(i("out.uninstall.done",{files:e.removedFiles.length,dirs:e.removedDirs.length})),e.modifiedFiles.length>0&&t.dim(i("out.uninstall.modified",{count:e.modifiedFiles.length})),e.keptUserFiles.length>0){t.dim(i("out.uninstall.keptUser",{count:e.keptUserFiles.length}));for(const o of e.keptUserFiles)t.dim(` ${o}`)}switch(e.restoredFromBackup&&t.dim(i("out.uninstall.restored",{path:e.restoredFromBackup})),r(e.server),e.git){case"reset":t.dim(i("out.uninstall.gitReset",{sha:e.gitSha??""}));break;case"committed":t.dim(i("out.uninstall.gitCommit",{sha:e.gitSha??"",count:e.removedFiles.length+e.modifiedFiles.length}));break;case"no-changes":t.dim(i("out.uninstall.gitNoChanges"));break;case"skipped-dirty-index":t.warn(i("out.uninstall.gitDirty"));break;case"skipped-not-repo":t.dim(i("out.uninstall.gitNotRepo"));break;case"failed":t.warn(i("out.uninstall.gitFailed",{error:e.gitError??""}));break}}};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{HARNESS_DIRS as t,HARNESS_KEYS as e}from"@weavecode/core";export const en={"help.tagline":"weave v{version} \u2014 Harness tool","help.usage":"Usage: weave <command> [options]","help.commands":"Commands:","help.globalOptions":"Global options:","help.subcommands":"Available subcommands:","cli.unknownCommand":"Unknown command: {command}","cli.error":"Error: {error}","cli.missingRequired":"Missing required option: --{name}","cli.invalidChoice":'Invalid value for --{name}: "{value}". Choices: {choices}',"cli.missingSubcommand":"Command {command} requires a subcommand","cli.unknownSubcommand":"Unknown subcommand: {command} {subcommand}","cli.unexpectedPositional":'Command {command} does not accept argument "{arg}"',"flag.help":"Show help","flag.version":"Show version","flag.verbose":"Verbose output","flag.quiet":"Suppress non-essential output","cmd.init.desc":"Initialize weave harness in the current project","cmd.uninstall.desc":"Remove weave init outputs (reset the init commit when it is HEAD, otherwise commit the removal)","cmd.status.desc":"Show current harness status","cmd.daemon.desc":"Manage the background daemon (start, stop, status)","cmd.daemon.start.desc":"Start the daemon in the background (no browser \u2014 see `weave dashboard`)","cmd.daemon.stop.desc":"Stop the running daemon","cmd.daemon.status.desc":"Show daemon status","cmd.dashboard.desc":"Open the web console in a browser (starts the daemon if needed)","cmd.chpass.desc":"Change the dashboard login password (new password given; no old password needed locally)","cmd.scan.desc":"Scan for weave-initialized projects and register them","cmd.doctor.desc":"Diagnose local wiring: is this checkout registered with the local weave server","flag.init.preset":"Configuration preset: minimal, default, or full","flag.init.force":"Overwrite existing files","flag.init.noInteractive":"Disable interactive prompts","flag.init.hooks":'Comma-separated hook events to register (preToolUse,postToolUse,userPromptSubmit,sessionStart,stop,stopFailure,subagentStop,subagentStart,notification,postToolUseFailure,permissionRequest,permissionDenied,preCompact,sessionEnd,preModelSwitch); "none" registers none; default: all',"flag.init.harness":`Comma-separated harness surfaces to initialize (${e.join(", ")}); omitted \u2192 interactive multiselect on a TTY, default ${e[0]}`,"flag.dir":"Target directory (default: current directory)","flag.scan.dir":"Root directory to scan (default: current directory)","flag.dashboard.noOpen":"Print the dashboard URL without opening a browser","out.daemon.alreadyRunning":"Daemon already running on port {port}","out.daemon.started":"Daemon started on http://{host}:{port}","out.daemon.stopped":"Daemon stopped (pid {pid}).","out.daemon.statusNotRunning":"Daemon: not running","out.daemon.statusRunning":"Daemon: running (pid {pid}, port {port}, up {uptime}s)","out.daemon.urlsTitle":"Access URLs:","out.daemon.statusStale":"Daemon: stale state (pid {pid}, port {port} not responding)","out.doctor.header":`
|
|
1
|
+
import{HARNESS_DIRS as t,HARNESS_KEYS as e}from"@weavecode/core";export const en={"help.tagline":"weave v{version} \u2014 Harness tool","help.usage":"Usage: weave <command> [options]","help.commands":"Commands:","help.globalOptions":"Global options:","help.subcommands":"Available subcommands:","cli.unknownCommand":"Unknown command: {command}","cli.error":"Error: {error}","cli.missingRequired":"Missing required option: --{name}","cli.invalidChoice":'Invalid value for --{name}: "{value}". Choices: {choices}',"cli.missingSubcommand":"Command {command} requires a subcommand","cli.unknownSubcommand":"Unknown subcommand: {command} {subcommand}","cli.unexpectedPositional":'Command {command} does not accept argument "{arg}"',"flag.help":"Show help","flag.version":"Show version","flag.verbose":"Verbose output","flag.quiet":"Suppress non-essential output","cmd.init.desc":"Initialize weave harness in the current project","cmd.uninstall.desc":"Remove weave init outputs (reset the init commit when it is HEAD, otherwise commit the removal)","cmd.status.desc":"Show current harness status","cmd.daemon.desc":"Manage the background daemon (start, stop, status)","cmd.daemon.start.desc":"Start the daemon in the background (no browser \u2014 see `weave dashboard`)","cmd.daemon.stop.desc":"Stop the running daemon","cmd.daemon.status.desc":"Show daemon status","cmd.dashboard.desc":"Open the web console in a browser (starts the daemon if needed)","cmd.chpass.desc":"Change the dashboard login password (new password given; no old password needed locally)","cmd.scan.desc":"Scan for weave-initialized projects and register them","cmd.doctor.desc":"Diagnose local wiring: is this checkout registered with the local weave server","flag.init.preset":"Configuration preset: minimal, default, or full","flag.init.force":"Overwrite existing files","flag.init.noInteractive":"Disable interactive prompts","flag.init.hooks":'Comma-separated hook events to register (preToolUse,postToolUse,userPromptSubmit,sessionStart,stop,stopFailure,subagentStop,subagentStart,notification,postToolUseFailure,permissionRequest,permissionDenied,preCompact,sessionEnd,preModelSwitch); "none" registers none; default: all',"flag.init.harness":`Comma-separated harness surfaces to initialize (${e.join(", ")}); omitted \u2192 interactive multiselect on a TTY, default ${e[0]}`,"flag.dir":"Target directory (default: current directory)","flag.scan.dir":"Root directory to scan (default: current directory)","flag.dashboard.noOpen":"Print the dashboard URL without opening a browser","out.daemon.alreadyRunning":"Daemon already running on port {port}","out.daemon.started":"Daemon started on http://{host}:{port}","out.daemon.startUnconfirmed":"Daemon not answering on port {port} \u2014 it may have crashed at boot (see cache/logs/daemon-boot.log in the data dir)","out.daemon.stopped":"Daemon stopped (pid {pid}).","out.daemon.statusNotRunning":"Daemon: not running","out.daemon.statusRunning":"Daemon: running (pid {pid}, port {port}, up {uptime}s)","out.daemon.urlsTitle":"Access URLs:","out.daemon.statusStale":"Daemon: stale state (pid {pid}, port {port} not responding)","out.doctor.header":`
|
|
2
2
|
Weave Doctor \u2014 local wiring
|
|
3
3
|
`,"out.doctor.dir":"directory","out.doctor.initialized":"initialized","out.doctor.yes":"yes","out.doctor.no":"no","out.doctor.daemon":"daemon","out.doctor.daemonRunning":"running on port {port}","out.doctor.daemonStopped":"not running","out.doctor.registered":"registered","out.doctor.registeredYes":"yes (id {id}, source {source})","out.doctor.registeredNo":"no \u2014 this checkout is not in the local registry","out.doctor.registeredArchived":"archived (id {id})","out.doctor.token":"token","out.doctor.tokenOk":"ok","out.doctor.tokenMissing":"missing (.weave/token absent)","out.doctor.tokenUnregistered":"present, but the project is not registered","out.doctor.tokenStale":"stale \u2014 differs from the registry token","out.doctor.warnNotRegistered":"This project carries weave files but is not registered with the local weave server.","out.doctor.fixInit":"Run `weave init` to (re)register this checkout, refresh harness files, and rewrite local paths.","out.doctor.fixScan":"Or `weave scan -d <parent>` to discover and register projects in bulk.","out.doctor.warnArchived":"This project is registered but archived \u2014 restore it from the dashboard to use it again.","out.doctor.warnTokenMissing":"Registered, but `.weave/token` is missing \u2014 hooks cannot authenticate until it is regenerated.","out.doctor.warnTokenStale":"Registered, but `.weave/token` belongs to another checkout \u2014 regenerate it.","out.doctor.ok":"OK \u2014 this checkout is registered and its token matches.","out.doctor.fixDaemon":"The daemon is not running; start it with `weave daemon start` when you need collection.","out.doctor.diagHeader":`
|
|
4
4
|
Weave Doctor \u2014 message delivery (project #{id})
|
|
5
|
-
`,"out.doctor.diagFailed":"Delivery diagnostics unavailable ({error}) \u2014 the daemon refused, the local token is wrong, or the daemon predates this route.","out.doctor.diagDaemon":"daemon","out.doctor.diagDaemonValue":"v{version} \xB7 {platform} \xB7 terminal preset {preset} {channel}","out.doctor.diagChannelOn":"(text-injection channel present)","out.doctor.diagChannelOff":"(no text-injection channel)","out.doctor.diagScript":"capture script","out.doctor.diagScriptNone":"absent \u2014 no weave-generated hook script (run `weave init`)","out.doctor.diagScriptNotOwned":"the {source}-level script is not weave-generated (weave neither refreshes nor trusts it; `weave init --force` overwrites)","out.doctor.diagScriptValue":"{harness} \xB7 {source} level \xB7 version {version} \xB7 reports credentials {inbox} \xB7 reports pane {pane}","out.doctor.diagSourceUser":"user","out.doctor.diagSourceProject":"project","out.doctor.diagSourceNone":"none","out.doctor.diagYes":"yes","out.doctor.diagNo":"no","out.doctor.diagMissing":"\u2014","out.doctor.diagUnknownAlive":"undecidable","out.doctor.diagUntitled":"untitled","out.doctor.diagNoSessions":"Nothing to diagnose \u2014 no session is alive right now.","out.doctor.diagReady":"ready","out.doctor.diagUnavailable":"unavailable ({reason})","out.doctor.diagUnknown":"undecidable ({reason})","out.doctor.diagSession":'{id} "{title}" alive {alive} \xB7 events {events} \xB7 last {last}',"out.doctor.diagChannels":"inbox {inbox} queue {queue} relay {relay} terminal {terminal}","out.doctor.diagQueue":"queue {pending} \xB7 stalled {stalled}","out.doctor.diagHints":"fix: {hints}","out.doctor.reason.noMechanism":"this harness has no such mechanism","out.doctor.reason.noCredentials":"no credentials","out.doctor.reason.authTokenRequired":"this platform needs credentials and the host gave none","out.doctor.reason.noPeerName":"no peer name in the registry","out.doctor.reason.noBackend":"this terminal preset has no text-injection backend","out.doctor.reason.noPaneEnv":"no pane locator was reported","out.doctor.hint.noHookScript":"no weave-generated hook script \u2192 run `weave init`","out.doctor.hint.hookScriptNotWeave":"the hook script is not weave-generated (weave neither refreshes nor trusts it) \u2192 move it aside, or `weave init --force`","out.doctor.hint.hookScriptStale":"the hook script was generated by an older weave and does not report delivery credentials \u2192 re-run `weave init`, then restart the session","out.doctor.hint.noEvents":"this session has no hook events at all (started before init? the script never ran?)","out.doctor.hint.noInboxCredentials":"the script can report, yet this session never did (the host exports no messaging socket env, or the session predates the script) \u2192 restart the session","out.doctor.hint.inboxTokenRequired":"inbox delivery needs a token on this platform; the host exports no messaging token env","out.doctor.hint.noPeerName":"this session has no peer name \u2014 the relay addresses sessions by name and skips nameless ones","out.doctor.hint.terminalNoBackend":"this terminal preset cannot inject text \u2192 wezterm is what gives layer \u2461 a fallback","out.doctor.hint.terminalNoPaneEnv":"no pane locator was reported (this terminal exports no WEZTERM_*) \u2192 only the title+cwd fallback is left","out.doctor.hint.notRunning":"the session process is gone (messages settle as failed/offline, they never queue)","out.doctor.hint.queued":"the queue still holds backlog","out.doctor.hint.stalled":"the ack gate is set (no receipt in time, or delivery failed) \u2192 resend, or wait for the receipt","out.dash.browserFailed":"(could not launch a browser automatically \u2014 open it manually)","out.dash.stopHint":"Stop it later with `weave daemon stop`.","out.dash.noBundle":"The web bundle is not built, so the daemon has nothing to serve.","out.dash.buildHint":" Build it with `pnpm build:web`, or run the Vite dev server: `pnpm dev:web` (http://localhost:9527).","out.dash.url":`
|
|
5
|
+
`,"out.doctor.diagFailed":"Delivery diagnostics unavailable ({error}) \u2014 the daemon refused, the local token is wrong, or the daemon predates this route.","out.doctor.diagDaemon":"daemon","out.doctor.diagDaemonValue":"v{version} \xB7 {platform} \xB7 terminal preset {preset} {channel}","out.doctor.diagChannelOn":"(text-injection channel present)","out.doctor.diagChannelOff":"(no text-injection channel)","out.doctor.diagScript":"capture script","out.doctor.diagScriptNone":"absent \u2014 no weave-generated hook script (run `weave init`)","out.doctor.diagScriptNotOwned":"the {source}-level script is not weave-generated (weave neither refreshes nor trusts it; `weave init --force` overwrites)","out.doctor.diagScriptValue":"{harness} \xB7 {source} level \xB7 version {version} \xB7 reports credentials {inbox} \xB7 reports pane {pane}","out.doctor.diagSourceUser":"user","out.doctor.diagSourceProject":"project","out.doctor.diagSourceNone":"none","out.doctor.diagYes":"yes","out.doctor.diagNo":"no","out.doctor.diagMissing":"\u2014","out.doctor.diagUnknownAlive":"undecidable","out.doctor.diagUntitled":"untitled","out.doctor.diagNoSessions":"Nothing to diagnose \u2014 no session is alive right now.","out.doctor.diagReady":"ready","out.doctor.diagUnavailable":"unavailable ({reason})","out.doctor.diagUnknown":"undecidable ({reason})","out.doctor.diagSession":'{id} "{title}" alive {alive} \xB7 events {events} \xB7 last {last}',"out.doctor.diagChannels":"inbox {inbox} queue {queue} relay {relay} terminal {terminal}","out.doctor.diagQueue":"queue {pending} \xB7 stalled {stalled}","out.doctor.diagHints":"fix: {hints}","out.doctor.reason.noMechanism":"this harness has no such mechanism","out.doctor.reason.noCredentials":"no credentials","out.doctor.reason.authTokenRequired":"this platform needs credentials and the host gave none","out.doctor.reason.noPeerName":"no peer name in the registry","out.doctor.reason.noBackend":"this terminal preset has no text-injection backend","out.doctor.reason.noPaneEnv":"no pane locator was reported","out.doctor.reason.paneEnvConflict":"pane locator is held by another session (fork inherited the same terminal)","out.doctor.hint.noHookScript":"no weave-generated hook script \u2192 run `weave init`","out.doctor.hint.hookScriptNotWeave":"the hook script is not weave-generated (weave neither refreshes nor trusts it) \u2192 move it aside, or `weave init --force`","out.doctor.hint.hookScriptStale":"the hook script was generated by an older weave and does not report delivery credentials \u2192 re-run `weave init`, then restart the session","out.doctor.hint.noEvents":"this session has no hook events at all (started before init? the script never ran?)","out.doctor.hint.noInboxCredentials":"the script can report, yet this session never did (the host exports no messaging socket env, or the session predates the script) \u2192 restart the session","out.doctor.hint.inboxTokenRequired":"inbox delivery needs a token on this platform; the host exports no messaging token env","out.doctor.hint.noPeerName":"this session has no peer name \u2014 the relay addresses sessions by name and skips nameless ones","out.doctor.hint.terminalNoBackend":"this terminal preset cannot inject text \u2192 wezterm is what gives layer \u2461 a fallback","out.doctor.hint.terminalNoPaneEnv":"no pane locator was reported (this terminal exports no WEZTERM_*) \u2192 only the title+cwd fallback is left","out.doctor.hint.terminalPaneEnvConflict":"this session's pane locator overlaps another session's (fork inherited the same terminal) \u2192 delivery is refused so keys never land in someone else's terminal; close one of the two to recover","out.doctor.hint.notRunning":"the session process is gone (messages settle as failed/offline, they never queue)","out.doctor.hint.queued":"the queue still holds backlog","out.doctor.hint.stalled":"the ack gate is set (no receipt in time, or delivery failed) \u2192 resend, or wait for the receipt","out.dash.browserFailed":"(could not launch a browser automatically \u2014 open it manually)","out.dash.stopHint":"Stop it later with `weave daemon stop`.","out.dash.noBundle":"The web bundle is not built, so the daemon has nothing to serve.","out.dash.buildHint":" Build it with `pnpm build:web`, or run the Vite dev server: `pnpm dev:web` (http://localhost:9527).","out.dash.url":`
|
|
6
6
|
Dashboard: {url}
|
|
7
7
|
`,"out.dash.noOpen":" (--no-open: not launching a browser)","out.dash.initialPassword":`
|
|
8
8
|
Initial login password: {password}
|
|
9
9
|
(shown only once; change it with \`weave chpass <new password>\`)
|
|
10
10
|
`,"out.chpass.ok":"Dashboard login password updated \u2014 signed-in browsers must log in again.","out.chpass.fail":"Failed to change password: {error}","out.chpass.usage":"Usage: weave chpass <new password> (at least 6 characters)","out.scan.registered":"Registered {count} project(s) from {root}","out.uninstall.banner":"Uninstalling weave: {target}","out.uninstall.notInitialized":"No .weave/ found \u2014 this project is not initialized, nothing to uninstall.","out.uninstall.done":"Uninstalled: removed {files} file(s), {dirs} directorie(s)","out.uninstall.modified":"Rewrote {count} file(s) (weave-added keys/sections stripped)","out.uninstall.keptUser":"Kept {count} generated-location file(s) that differ from weave sources (likely user-edited):","out.uninstall.restored":"Restored the AGENTS.md displaced by init (from .weave/backup/)","out.uninstall.gitReset":"The init commit was HEAD \u2014 pointer rolled back to {sha}, history clean","out.uninstall.gitCommit":"Created removal commit {sha} ({count} file(s))","out.uninstall.gitNoChanges":"No tracked weave files changed \u2014 nothing committed","out.uninstall.gitDirty":"Index not empty \u2014 files cleaned, git skipped to avoid touching staged content","out.uninstall.gitNotRepo":"Not inside a git repository \u2014 files cleaned only","out.uninstall.gitFailed":"git failed: {error} (files are already cleaned)","out.uninstall.serverRemoved":"Unregistered project {name} from the weave server (purged {events} events / {dispatches} dispatches / {sessions} sessions)","out.uninstall.serverFailed":"Failed to unregister from the weave server: {error}","uninstall.pluginScanFailed":"Plugin template scan failed (that part skipped): {error}","out.status.notInitialized":"Weave not initialized. Run `weave init` first.","out.status.header":`
|
|
11
11
|
Weave Harness Status
|
|
12
|
-
`,"out.status.col.version":"
|
|
12
|
+
`,"out.status.col.cliVersion":"CLI version","out.status.col.initVersion":"Init version","out.status.col.initialized":"Initialized","out.status.col.preset":"Preset","out.status.col.harness":"Harness","out.status.unknown":"unknown","out.status.present":"present","out.status.missing":"missing","out.status.issuesFound":` {count} issue(s) found:
|
|
13
13
|
`,"out.status.issue":" - {message}","out.status.fix":" fix: {fix}","init.banner":`
|
|
14
|
-
Weave \u2014 coding-agent harness
|
|
14
|
+
Weave \u2014 coding-agent harness v{version}
|
|
15
15
|
`,"init.presetTarget":` Preset: {preset} | Target: {target}
|
|
16
16
|
`,"init.failed":`
|
|
17
17
|
Init failed: {error}
|
|
@@ -37,6 +37,7 @@ export declare const zh: {
|
|
|
37
37
|
'flag.dashboard.noOpen': string;
|
|
38
38
|
'out.daemon.alreadyRunning': string;
|
|
39
39
|
'out.daemon.started': string;
|
|
40
|
+
'out.daemon.startUnconfirmed': string;
|
|
40
41
|
'out.daemon.stopped': string;
|
|
41
42
|
'out.daemon.statusNotRunning': string;
|
|
42
43
|
'out.daemon.statusRunning': string;
|
|
@@ -99,6 +100,7 @@ export declare const zh: {
|
|
|
99
100
|
'out.doctor.reason.noPeerName': string;
|
|
100
101
|
'out.doctor.reason.noBackend': string;
|
|
101
102
|
'out.doctor.reason.noPaneEnv': string;
|
|
103
|
+
'out.doctor.reason.paneEnvConflict': string;
|
|
102
104
|
'out.doctor.hint.noHookScript': string;
|
|
103
105
|
'out.doctor.hint.hookScriptNotWeave': string;
|
|
104
106
|
'out.doctor.hint.hookScriptStale': string;
|
|
@@ -108,6 +110,7 @@ export declare const zh: {
|
|
|
108
110
|
'out.doctor.hint.noPeerName': string;
|
|
109
111
|
'out.doctor.hint.terminalNoBackend': string;
|
|
110
112
|
'out.doctor.hint.terminalNoPaneEnv': string;
|
|
113
|
+
'out.doctor.hint.terminalPaneEnvConflict': string;
|
|
111
114
|
'out.doctor.hint.notRunning': string;
|
|
112
115
|
'out.doctor.hint.queued': string;
|
|
113
116
|
'out.doctor.hint.stalled': string;
|
|
@@ -139,7 +142,8 @@ export declare const zh: {
|
|
|
139
142
|
'uninstall.pluginScanFailed': string;
|
|
140
143
|
'out.status.notInitialized': string;
|
|
141
144
|
'out.status.header': string;
|
|
142
|
-
'out.status.col.
|
|
145
|
+
'out.status.col.cliVersion': string;
|
|
146
|
+
'out.status.col.initVersion': string;
|
|
143
147
|
'out.status.col.initialized': string;
|
|
144
148
|
'out.status.col.preset': string;
|
|
145
149
|
'out.status.col.harness': string;
|