Version not found. Please check the version and try again.
@jinion/core 0.2.1 → 0.4.0
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/dist/agent/agent.d.ts +6 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +16 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/claude/backend.d.ts +8 -0
- package/dist/agent/claude/backend.d.ts.map +1 -1
- package/dist/agent/claude/backend.js +19 -5
- package/dist/agent/claude/backend.js.map +1 -1
- package/dist/agent/claude/commands.d.ts +2 -0
- package/dist/agent/claude/commands.d.ts.map +1 -1
- package/dist/agent/claude/events.js +1 -1
- package/dist/agent/claude/events.js.map +1 -1
- package/dist/agent/claude/guard.d.ts.map +1 -1
- package/dist/agent/claude/guard.js +2 -1
- package/dist/agent/claude/guard.js.map +1 -1
- package/dist/agent/claude/jinion-tools.d.ts +9 -1
- package/dist/agent/claude/jinion-tools.d.ts.map +1 -1
- package/dist/agent/claude/jinion-tools.js +14 -2
- package/dist/agent/claude/jinion-tools.js.map +1 -1
- package/dist/agent/claude/mcp.d.ts +2 -1
- package/dist/agent/claude/mcp.d.ts.map +1 -1
- package/dist/agent/claude/mcp.js +38 -1
- package/dist/agent/claude/mcp.js.map +1 -1
- package/dist/agent/claude/options.d.ts +9 -1
- package/dist/agent/claude/options.d.ts.map +1 -1
- package/dist/agent/claude/options.js +5 -3
- package/dist/agent/claude/options.js.map +1 -1
- package/dist/agent/claude/paths.d.ts +0 -3
- package/dist/agent/claude/paths.d.ts.map +1 -1
- package/dist/agent/claude/paths.js +1 -7
- package/dist/agent/claude/paths.js.map +1 -1
- package/dist/agent/claude/permissions.js +1 -1
- package/dist/agent/claude/permissions.js.map +1 -1
- package/dist/agent/claude/plugins.d.ts +6 -0
- package/dist/agent/claude/plugins.d.ts.map +1 -1
- package/dist/agent/claude/plugins.js +11 -5
- package/dist/agent/claude/plugins.js.map +1 -1
- package/dist/agent/claude/prompt.d.ts +2 -1
- package/dist/agent/claude/prompt.d.ts.map +1 -1
- package/dist/agent/claude/prompt.js +10 -5
- package/dist/agent/claude/prompt.js.map +1 -1
- package/dist/agent/claude/review.d.ts +4 -1
- package/dist/agent/claude/review.d.ts.map +1 -1
- package/dist/agent/claude/review.js +5 -2
- package/dist/agent/claude/review.js.map +1 -1
- package/dist/agent/claude/session.d.ts +7 -0
- package/dist/agent/claude/session.d.ts.map +1 -1
- package/dist/agent/claude/session.js +6 -1
- package/dist/agent/claude/session.js.map +1 -1
- package/dist/agent/claude/setup-info.d.ts +21 -0
- package/dist/agent/claude/setup-info.d.ts.map +1 -0
- package/dist/agent/claude/setup-info.js +18 -0
- package/dist/agent/claude/setup-info.js.map +1 -0
- package/dist/agent/claude/setup.d.ts +12 -0
- package/dist/agent/claude/setup.d.ts.map +1 -0
- package/dist/agent/claude/setup.js +37 -0
- package/dist/agent/claude/setup.js.map +1 -0
- package/dist/agent/claude/shell.d.ts +0 -1
- package/dist/agent/claude/shell.d.ts.map +1 -1
- package/dist/agent/claude/shell.js +1 -59
- package/dist/agent/claude/shell.js.map +1 -1
- package/dist/agent/claude/skills.d.ts +8 -0
- package/dist/agent/claude/skills.d.ts.map +1 -0
- package/dist/agent/claude/skills.js +32 -0
- package/dist/agent/claude/skills.js.map +1 -0
- package/dist/agent/claude/tool-calls.d.ts.map +1 -1
- package/dist/agent/claude/tool-calls.js +11 -2
- package/dist/agent/claude/tool-calls.js.map +1 -1
- package/dist/agent/codex/backend.d.ts +7 -1
- package/dist/agent/codex/backend.d.ts.map +1 -1
- package/dist/agent/codex/backend.js +16 -3
- package/dist/agent/codex/backend.js.map +1 -1
- package/dist/agent/codex/events.d.ts.map +1 -1
- package/dist/agent/codex/events.js +15 -1
- package/dist/agent/codex/events.js.map +1 -1
- package/dist/agent/codex/jinion-tools.d.ts +38 -4
- package/dist/agent/codex/jinion-tools.d.ts.map +1 -1
- package/dist/agent/codex/jinion-tools.js +57 -10
- package/dist/agent/codex/jinion-tools.js.map +1 -1
- package/dist/agent/codex/mcp.d.ts.map +1 -1
- package/dist/agent/codex/mcp.js +4 -0
- package/dist/agent/codex/mcp.js.map +1 -1
- package/dist/agent/codex/rewind.js +1 -47
- package/dist/agent/codex/rewind.js.map +1 -1
- package/dist/agent/codex/session.d.ts +9 -2
- package/dist/agent/codex/session.d.ts.map +1 -1
- package/dist/agent/codex/session.js +21 -7
- package/dist/agent/codex/session.js.map +1 -1
- package/dist/agent/demo/agent.d.ts +6 -0
- package/dist/agent/demo/agent.d.ts.map +1 -1
- package/dist/agent/demo/agent.js +7 -1
- package/dist/agent/demo/agent.js.map +1 -1
- package/dist/agent/demo/mcp.d.ts +17 -0
- package/dist/agent/demo/mcp.d.ts.map +1 -0
- package/dist/agent/demo/mcp.js +155 -0
- package/dist/agent/demo/mcp.js.map +1 -0
- package/dist/agent/demo/scenarios/pricing-card.d.ts +3 -0
- package/dist/agent/demo/scenarios/pricing-card.d.ts.map +1 -0
- package/dist/agent/demo/scenarios/pricing-card.js +43 -0
- package/dist/agent/demo/scenarios/pricing-card.js.map +1 -0
- package/dist/agent/demo/script.d.ts +10 -0
- package/dist/agent/demo/script.d.ts.map +1 -1
- package/dist/agent/demo/skills.d.ts +29 -0
- package/dist/agent/demo/skills.d.ts.map +1 -0
- package/dist/agent/demo/skills.js +85 -0
- package/dist/agent/demo/skills.js.map +1 -0
- package/dist/agent/demo/tasks.d.ts +5 -0
- package/dist/agent/demo/tasks.d.ts.map +1 -1
- package/dist/agent/events.d.ts +5 -0
- package/dist/agent/events.d.ts.map +1 -1
- package/dist/agent/events.js +2 -0
- package/dist/agent/events.js.map +1 -1
- package/dist/agent/mcp.d.ts +11 -0
- package/dist/agent/mcp.d.ts.map +1 -1
- package/dist/agent/mcp.js +4 -0
- package/dist/agent/mcp.js.map +1 -1
- package/dist/agent/patches.d.ts +5 -0
- package/dist/agent/patches.d.ts.map +1 -1
- package/dist/agent/patches.js +49 -0
- package/dist/agent/patches.js.map +1 -1
- package/dist/agent/review-tools.d.ts +15 -0
- package/dist/agent/review-tools.d.ts.map +1 -0
- package/dist/agent/review-tools.js +13 -0
- package/dist/agent/review-tools.js.map +1 -0
- package/dist/agent/review.d.ts +18 -6
- package/dist/agent/review.d.ts.map +1 -1
- package/dist/agent/review.js +52 -17
- package/dist/agent/review.js.map +1 -1
- package/dist/agent/skills.d.ts +36 -0
- package/dist/agent/skills.d.ts.map +1 -0
- package/dist/agent/skills.js +18 -0
- package/dist/agent/skills.js.map +1 -0
- package/dist/api/client.d.ts +25 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +14 -3
- package/dist/api/client.js.map +1 -1
- package/dist/api/connection.d.ts +5 -0
- package/dist/api/connection.d.ts.map +1 -1
- package/dist/api/connection.js +10 -0
- package/dist/api/connection.js.map +1 -1
- package/dist/api/fields.d.ts +12 -1
- package/dist/api/fields.d.ts.map +1 -1
- package/dist/api/fields.js +4 -2
- package/dist/api/fields.js.map +1 -1
- package/dist/api/json-schema.d.ts +729 -86
- package/dist/api/json-schema.d.ts.map +1 -1
- package/dist/api/json-schema.js +2 -1
- package/dist/api/json-schema.js.map +1 -1
- package/dist/api/methods/accounts.d.ts.map +1 -1
- package/dist/api/methods/accounts.js +1 -2
- package/dist/api/methods/accounts.js.map +1 -1
- package/dist/api/methods/app.d.ts.map +1 -1
- package/dist/api/methods/app.js +19 -5
- package/dist/api/methods/app.js.map +1 -1
- package/dist/api/methods/files.d.ts +3 -1
- package/dist/api/methods/files.d.ts.map +1 -1
- package/dist/api/methods/files.js +75 -2
- package/dist/api/methods/files.js.map +1 -1
- package/dist/api/methods/git.d.ts.map +1 -1
- package/dist/api/methods/git.js +54 -6
- package/dist/api/methods/git.js.map +1 -1
- package/dist/api/methods/lsp.d.ts +7 -0
- package/dist/api/methods/lsp.d.ts.map +1 -0
- package/dist/api/methods/lsp.js +68 -0
- package/dist/api/methods/lsp.js.map +1 -0
- package/dist/api/methods/map.d.ts +4 -0
- package/dist/api/methods/map.d.ts.map +1 -0
- package/dist/api/methods/map.js +13 -0
- package/dist/api/methods/map.js.map +1 -0
- package/dist/api/methods/preview.d.ts +4 -1
- package/dist/api/methods/preview.d.ts.map +1 -1
- package/dist/api/methods/preview.js +19 -3
- package/dist/api/methods/preview.js.map +1 -1
- package/dist/api/methods/skills.d.ts +4 -0
- package/dist/api/methods/skills.d.ts.map +1 -0
- package/dist/api/methods/skills.js +21 -0
- package/dist/api/methods/skills.js.map +1 -0
- package/dist/api/methods/terminals.d.ts.map +1 -1
- package/dist/api/methods/terminals.js +7 -1
- package/dist/api/methods/terminals.js.map +1 -1
- package/dist/api/protocol.d.ts +963 -7
- package/dist/api/protocol.d.ts.map +1 -1
- package/dist/api/protocol.js +155 -8
- package/dist/api/protocol.js.map +1 -1
- package/dist/api/schemas.d.ts +27 -0
- package/dist/api/schemas.d.ts.map +1 -1
- package/dist/api/schemas.js +6 -0
- package/dist/api/schemas.js.map +1 -1
- package/dist/api/screen.d.ts +2 -0
- package/dist/api/screen.d.ts.map +1 -1
- package/dist/api/screen.js +3 -0
- package/dist/api/screen.js.map +1 -1
- package/dist/api/server.d.ts +2 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +13 -0
- package/dist/api/server.js.map +1 -1
- package/dist/commands/builtin.d.ts.map +1 -1
- package/dist/commands/builtin.js +5 -1
- package/dist/commands/builtin.js.map +1 -1
- package/dist/commands/conversation.d.ts.map +1 -1
- package/dist/commands/conversation.js +2 -0
- package/dist/commands/conversation.js.map +1 -1
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +1 -0
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/notifications.d.ts.map +1 -1
- package/dist/commands/notifications.js +5 -3
- package/dist/commands/notifications.js.map +1 -1
- package/dist/commands/registry.d.ts +3 -0
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +14 -0
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/skill.d.ts +5 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +30 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/views.d.ts +2 -0
- package/dist/commands/views.d.ts.map +1 -1
- package/dist/commands/views.js +15 -1
- package/dist/commands/views.js.map +1 -1
- package/dist/controllers/accounts.d.ts +5 -2
- package/dist/controllers/accounts.d.ts.map +1 -1
- package/dist/controllers/accounts.js +11 -8
- package/dist/controllers/accounts.js.map +1 -1
- package/dist/controllers/context.d.ts +6 -0
- package/dist/controllers/context.d.ts.map +1 -1
- package/dist/controllers/context.js +3 -0
- package/dist/controllers/context.js.map +1 -1
- package/dist/controllers/feedback.d.ts +1 -1
- package/dist/controllers/feedback.d.ts.map +1 -1
- package/dist/controllers/feedback.js +4 -1
- package/dist/controllers/feedback.js.map +1 -1
- package/dist/controllers/input.d.ts.map +1 -1
- package/dist/controllers/input.js +2 -0
- package/dist/controllers/input.js.map +1 -1
- package/dist/controllers/jinion.d.ts +9 -1
- package/dist/controllers/jinion.d.ts.map +1 -1
- package/dist/controllers/jinion.js +9 -1
- package/dist/controllers/jinion.js.map +1 -1
- package/dist/controllers/mcp.d.ts +11 -2
- package/dist/controllers/mcp.d.ts.map +1 -1
- package/dist/controllers/mcp.js +42 -7
- package/dist/controllers/mcp.js.map +1 -1
- package/dist/controllers/session.d.ts.map +1 -1
- package/dist/controllers/session.js +4 -0
- package/dist/controllers/session.js.map +1 -1
- package/dist/conversation/activity.d.ts +5 -0
- package/dist/conversation/activity.d.ts.map +1 -0
- package/dist/conversation/activity.js +41 -0
- package/dist/conversation/activity.js.map +1 -0
- package/dist/conversation/apply-event.d.ts.map +1 -1
- package/dist/conversation/apply-event.js +2 -1
- package/dist/conversation/apply-event.js.map +1 -1
- package/dist/conversation/edits.d.ts +5 -0
- package/dist/conversation/edits.d.ts.map +1 -1
- package/dist/conversation/edits.js +10 -0
- package/dist/conversation/edits.js.map +1 -1
- package/dist/conversation/reducer.d.ts +15 -0
- package/dist/conversation/reducer.d.ts.map +1 -1
- package/dist/design/guides.d.ts +78 -5
- package/dist/design/guides.d.ts.map +1 -1
- package/dist/design/guides.js +78 -5
- package/dist/design/guides.js.map +1 -1
- package/dist/design/prompt.d.ts +1 -1
- package/dist/design/prompt.d.ts.map +1 -1
- package/dist/design/prompt.js +2 -2
- package/dist/design/prompt.js.map +1 -1
- package/dist/design/tools.d.ts +2 -0
- package/dist/design/tools.d.ts.map +1 -1
- package/dist/design/tools.js +6 -2
- package/dist/design/tools.js.map +1 -1
- package/dist/directions/directions.d.ts +42 -0
- package/dist/directions/directions.d.ts.map +1 -0
- package/dist/directions/directions.js +120 -0
- package/dist/directions/directions.js.map +1 -0
- package/dist/directions/store.d.ts +34 -0
- package/dist/directions/store.d.ts.map +1 -0
- package/dist/directions/store.js +61 -0
- package/dist/directions/store.js.map +1 -0
- package/dist/directions/tools.d.ts +29 -0
- package/dist/directions/tools.d.ts.map +1 -0
- package/dist/directions/tools.js +57 -0
- package/dist/directions/tools.js.map +1 -0
- package/dist/directions/viewer.d.ts +6 -0
- package/dist/directions/viewer.d.ts.map +1 -0
- package/dist/directions/viewer.js +266 -0
- package/dist/directions/viewer.js.map +1 -0
- package/dist/files/names.d.ts +6 -0
- package/dist/files/names.d.ts.map +1 -0
- package/dist/files/names.js +18 -0
- package/dist/files/names.js.map +1 -0
- package/dist/files/operations.d.ts +54 -0
- package/dist/files/operations.d.ts.map +1 -0
- package/dist/files/operations.js +173 -0
- package/dist/files/operations.js.map +1 -0
- package/dist/files/search.d.ts +11 -0
- package/dist/files/search.d.ts.map +1 -0
- package/dist/files/search.js +112 -0
- package/dist/files/search.js.map +1 -0
- package/dist/files/trash.d.ts +11 -0
- package/dist/files/trash.d.ts.map +1 -0
- package/dist/files/trash.js +64 -0
- package/dist/files/trash.js.map +1 -0
- package/dist/files/types.d.ts +112 -0
- package/dist/files/types.d.ts.map +1 -0
- package/dist/files/types.js +47 -0
- package/dist/files/types.js.map +1 -0
- package/dist/files/watch.d.ts +26 -0
- package/dist/files/watch.d.ts.map +1 -0
- package/dist/files/watch.js +107 -0
- package/dist/files/watch.js.map +1 -0
- package/dist/git/blame.d.ts +10 -0
- package/dist/git/blame.d.ts.map +1 -0
- package/dist/git/blame.js +91 -0
- package/dist/git/blame.js.map +1 -0
- package/dist/git/repos.d.ts +5 -0
- package/dist/git/repos.d.ts.map +1 -1
- package/dist/git/repos.js +13 -0
- package/dist/git/repos.js.map +1 -1
- package/dist/git/staging.d.ts +10 -1
- package/dist/git/staging.d.ts.map +1 -1
- package/dist/git/staging.js +21 -0
- package/dist/git/staging.js.map +1 -1
- package/dist/git/types.d.ts +48 -0
- package/dist/git/types.d.ts.map +1 -1
- package/dist/git/types.js +25 -0
- package/dist/git/types.js.map +1 -1
- package/dist/host.d.ts +2 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +8 -1
- package/dist/host.js.map +1 -1
- package/dist/lib/changelog.d.ts +12 -0
- package/dist/lib/changelog.d.ts.map +1 -0
- package/dist/lib/changelog.js +52 -0
- package/dist/lib/changelog.js.map +1 -0
- package/dist/lib/glob.d.ts +6 -0
- package/dist/lib/glob.d.ts.map +1 -0
- package/dist/lib/glob.js +49 -0
- package/dist/lib/glob.js.map +1 -0
- package/dist/lib/paths.d.ts +3 -0
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +9 -1
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/shell-words.d.ts +2 -0
- package/dist/lib/shell-words.d.ts.map +1 -0
- package/dist/lib/shell-words.js +60 -0
- package/dist/lib/shell-words.js.map +1 -0
- package/dist/look/tools.d.ts +7 -1
- package/dist/look/tools.d.ts.map +1 -1
- package/dist/look/tools.js +19 -4
- package/dist/look/tools.js.map +1 -1
- package/dist/lsp/code-intelligence.d.ts +87 -0
- package/dist/lsp/code-intelligence.d.ts.map +1 -0
- package/dist/lsp/code-intelligence.js +343 -0
- package/dist/lsp/code-intelligence.js.map +1 -0
- package/dist/lsp/edits.d.ts +4 -0
- package/dist/lsp/edits.d.ts.map +1 -0
- package/dist/lsp/edits.js +14 -0
- package/dist/lsp/edits.js.map +1 -0
- package/dist/lsp/project-check.d.ts +8 -0
- package/dist/lsp/project-check.d.ts.map +1 -0
- package/dist/lsp/project-check.js +71 -0
- package/dist/lsp/project-check.js.map +1 -0
- package/dist/lsp/results.d.ts +95 -0
- package/dist/lsp/results.d.ts.map +1 -0
- package/dist/lsp/results.js +116 -0
- package/dist/lsp/results.js.map +1 -0
- package/dist/lsp/server.d.ts +22 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +123 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/servers.d.ts +21 -0
- package/dist/lsp/servers.d.ts.map +1 -0
- package/dist/lsp/servers.js +57 -0
- package/dist/lsp/servers.js.map +1 -0
- package/dist/lsp/transport.d.ts +9 -0
- package/dist/lsp/transport.d.ts.map +1 -0
- package/dist/lsp/transport.js +64 -0
- package/dist/lsp/transport.js.map +1 -0
- package/dist/lsp/types.d.ts +262 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +64 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/map/conventions.d.ts +18 -2
- package/dist/map/conventions.d.ts.map +1 -1
- package/dist/map/conventions.js +17 -7
- package/dist/map/conventions.js.map +1 -1
- package/dist/map/look.d.ts +23 -0
- package/dist/map/look.d.ts.map +1 -1
- package/dist/map/look.js +26 -16
- package/dist/map/look.js.map +1 -1
- package/dist/map/overview.d.ts +54 -0
- package/dist/map/overview.d.ts.map +1 -0
- package/dist/map/overview.js +32 -0
- package/dist/map/overview.js.map +1 -0
- package/dist/map/project-overview.d.ts +5 -0
- package/dist/map/project-overview.d.ts.map +1 -0
- package/dist/map/project-overview.js +35 -0
- package/dist/map/project-overview.js.map +1 -0
- package/dist/map/prompt.d.ts.map +1 -1
- package/dist/map/prompt.js +17 -38
- package/dist/map/prompt.js.map +1 -1
- package/dist/map/review.d.ts +29 -9
- package/dist/map/review.d.ts.map +1 -1
- package/dist/map/review.js +105 -25
- package/dist/map/review.js.map +1 -1
- package/dist/map/rules-request.d.ts +4 -0
- package/dist/map/rules-request.d.ts.map +1 -0
- package/dist/map/rules-request.js +6 -0
- package/dist/map/rules-request.js.map +1 -0
- package/dist/mcp/config.d.ts +3 -10
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +5 -0
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/login.d.ts +2 -0
- package/dist/mcp/login.d.ts.map +1 -1
- package/dist/mcp/login.js +5 -0
- package/dist/mcp/login.js.map +1 -1
- package/dist/mcp/transport.d.ts +16 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +11 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/memory/import.d.ts +10 -1
- package/dist/memory/import.d.ts.map +1 -1
- package/dist/memory/import.js +14 -6
- package/dist/memory/import.js.map +1 -1
- package/dist/preview/pages.d.ts +17 -0
- package/dist/preview/pages.d.ts.map +1 -0
- package/dist/preview/pages.js +92 -0
- package/dist/preview/pages.js.map +1 -0
- package/dist/preview/previews.d.ts +22 -0
- package/dist/preview/previews.d.ts.map +1 -0
- package/dist/preview/previews.js +28 -0
- package/dist/preview/previews.js.map +1 -0
- package/dist/preview/prompt.d.ts +3 -0
- package/dist/preview/prompt.d.ts.map +1 -0
- package/dist/preview/prompt.js +5 -0
- package/dist/preview/prompt.js.map +1 -0
- package/dist/preview/tools.d.ts +21 -0
- package/dist/preview/tools.d.ts.map +1 -0
- package/dist/preview/tools.js +34 -0
- package/dist/preview/tools.js.map +1 -0
- package/dist/preview/types.d.ts +7 -0
- package/dist/preview/types.d.ts.map +1 -1
- package/dist/preview/types.js +2 -0
- package/dist/preview/types.js.map +1 -1
- package/dist/prompt/files.d.ts +4 -1
- package/dist/prompt/files.d.ts.map +1 -1
- package/dist/prompt/files.js +23 -8
- package/dist/prompt/files.js.map +1 -1
- package/dist/prompt/skills.d.ts +2 -0
- package/dist/prompt/skills.d.ts.map +1 -1
- package/dist/settings/project.d.ts +2 -0
- package/dist/settings/project.d.ts.map +1 -1
- package/dist/settings/project.js.map +1 -1
- package/dist/settings/user.d.ts +2 -0
- package/dist/settings/user.d.ts.map +1 -1
- package/dist/settings/user.js.map +1 -1
- package/dist/skills/folders.d.ts +30 -0
- package/dist/skills/folders.d.ts.map +1 -0
- package/dist/skills/folders.js +70 -0
- package/dist/skills/folders.js.map +1 -0
- package/dist/skills/skill-file.d.ts +10 -0
- package/dist/skills/skill-file.d.ts.map +1 -0
- package/dist/skills/skill-file.js +68 -0
- package/dist/skills/skill-file.js.map +1 -0
- package/dist/skills/tools.d.ts +26 -0
- package/dist/skills/tools.d.ts.map +1 -0
- package/dist/skills/tools.js +34 -0
- package/dist/skills/tools.js.map +1 -0
- package/dist/state/agent.d.ts +8 -0
- package/dist/state/agent.d.ts.map +1 -1
- package/dist/state/preferences.d.ts +2 -0
- package/dist/state/preferences.d.ts.map +1 -1
- package/dist/state/preferences.js +3 -1
- package/dist/state/preferences.js.map +1 -1
- package/dist/state/session.d.ts +6 -0
- package/dist/state/session.d.ts.map +1 -1
- package/dist/state/session.js +1 -0
- package/dist/state/session.js.map +1 -1
- package/package.json +3 -1
- package/schema/api.json +3872 -146
- package/vendor/darwin-arm64/build.json +62 -0
- package/vendor/darwin-arm64/ffmpeg +0 -0
- package/vendor/darwin-arm64/ffprobe +0 -0
- package/vendor/darwin-arm64/licenses/README.md +13 -0
- package/vendor/darwin-arm64/licenses/ffmpeg-LGPL-2.1.txt +502 -0
- package/vendor/darwin-arm64/licenses/whisper.cpp-MIT.txt +21 -0
- package/vendor/darwin-arm64/voices.bin +0 -0
- package/vendor/darwin-arm64/whisper-cli +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** What the project map read, for a client to show: the same the agent's prompt tells, as data. */
|
|
3
|
+
export declare const ProjectOverview: z.ZodObject<{
|
|
4
|
+
built: z.ZodArray<z.ZodString>;
|
|
5
|
+
pieces: z.ZodObject<{
|
|
6
|
+
count: z.ZodNumber;
|
|
7
|
+
files: z.ZodNumber;
|
|
8
|
+
folders: z.ZodArray<z.ZodObject<{
|
|
9
|
+
folder: z.ZodString;
|
|
10
|
+
names: z.ZodArray<z.ZodString>;
|
|
11
|
+
more: z.ZodNumber;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
habits: z.ZodArray<z.ZodObject<{
|
|
15
|
+
text: z.ZodString;
|
|
16
|
+
count: z.ZodNumber;
|
|
17
|
+
total: z.ZodNumber;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
unheld: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
linter: z.ZodString;
|
|
21
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
option: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
look: z.ZodObject<{
|
|
27
|
+
tokens: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
count: z.ZodNumber;
|
|
29
|
+
home: z.ZodString;
|
|
30
|
+
inHome: z.ZodNumber;
|
|
31
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
32
|
+
name: z.ZodString;
|
|
33
|
+
count: z.ZodNumber;
|
|
34
|
+
}, z.core.$strip>>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
families: z.ZodArray<z.ZodObject<{
|
|
37
|
+
name: z.ZodString;
|
|
38
|
+
uses: z.ZodNumber;
|
|
39
|
+
members: z.ZodArray<z.ZodObject<{
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
uses: z.ZodNumber;
|
|
42
|
+
token: z.ZodBoolean;
|
|
43
|
+
}, z.core.$strip>>;
|
|
44
|
+
more: z.ZodNumber;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
loose: z.ZodOptional<z.ZodObject<{
|
|
47
|
+
colors: z.ZodNumber;
|
|
48
|
+
files: z.ZodNumber;
|
|
49
|
+
}, z.core.$strip>>;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
undecided: z.ZodBoolean;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export type ProjectOverview = z.infer<typeof ProjectOverview>;
|
|
54
|
+
//# sourceMappingURL=overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../src/map/overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mGAAmG;AACnG,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8B1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** What the project map read, for a client to show: the same the agent's prompt tells, as data. */
|
|
3
|
+
export const ProjectOverview = z.object({
|
|
4
|
+
/** What the manifests say it is built with, such as `React 19`. */
|
|
5
|
+
built: z.array(z.string()),
|
|
6
|
+
/** The components, hooks, functions, classes, types and constants its files offer each other. */
|
|
7
|
+
pieces: z.object({
|
|
8
|
+
count: z.number(),
|
|
9
|
+
files: z.number(),
|
|
10
|
+
/** The folders whose pieces other files use the most, each with its most used ones and how many more it has. */
|
|
11
|
+
folders: z.array(z.object({ folder: z.string(), names: z.array(z.string()), more: z.number() })),
|
|
12
|
+
}),
|
|
13
|
+
/** How it is written: each side the project takes, with how many of its cases take it. */
|
|
14
|
+
habits: z.array(z.object({ text: z.string(), count: z.number(), total: z.number() })),
|
|
15
|
+
/** The rules its linter has none of yet that would hold those habits. */
|
|
16
|
+
unheld: z.object({ linter: z.string(), rules: z.array(z.object({ name: z.string(), option: z.string().optional() })) }).optional(),
|
|
17
|
+
look: z.object({
|
|
18
|
+
tokens: z
|
|
19
|
+
.object({ count: z.number(), home: z.string(), inHome: z.number(), groups: z.array(z.object({ name: z.string(), count: z.number() })) })
|
|
20
|
+
.optional(),
|
|
21
|
+
families: z.array(z.object({
|
|
22
|
+
name: z.string(),
|
|
23
|
+
uses: z.number(),
|
|
24
|
+
members: z.array(z.object({ name: z.string(), uses: z.number(), token: z.boolean() })),
|
|
25
|
+
more: z.number(),
|
|
26
|
+
})),
|
|
27
|
+
loose: z.object({ colors: z.number(), files: z.number() }).optional(),
|
|
28
|
+
}),
|
|
29
|
+
/** An interface may come, with nothing drawn yet to follow: how it looks is still to be decided. */
|
|
30
|
+
undecided: z.boolean(),
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/map/overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,mEAAmE;IACnE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,iGAAiG;IACjG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,gHAAgH;QAChH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACjG,CAAC;IACF,0FAA0F;IAC1F,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrF,yEAAyE;IACzE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,EAAE,CAAC;aACN,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;aACvI,QAAQ,EAAE;QACb,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtE,CAAC;IACF,oGAAoG;IACpG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectMap } from './map.js';
|
|
2
|
+
import type { ProjectOverview } from './overview.js';
|
|
3
|
+
/** What the map read, once it was read; `undefined` while it is read the first time, which would call a full project empty. */
|
|
4
|
+
export declare function projectOverview(map: ProjectMap): ProjectOverview | undefined;
|
|
5
|
+
//# sourceMappingURL=project-overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-overview.d.ts","sourceRoot":"","sources":["../../src/map/project-overview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD,+HAA+H;AAC/H,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAe5E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { conventions, habitsFound, missingRules } from './conventions.js';
|
|
2
|
+
import { hasInterface, isDrawn, lookOf } from './look.js';
|
|
3
|
+
import { stack } from './stack.js';
|
|
4
|
+
/** Enough to show the project's shape; the rest is a `find_existing` away. */
|
|
5
|
+
const FOLDERS = 10;
|
|
6
|
+
const NAMES = 6;
|
|
7
|
+
/** What the map read, once it was read; `undefined` while it is read the first time, which would call a full project empty. */
|
|
8
|
+
export function projectOverview(map) {
|
|
9
|
+
if (!map.ready)
|
|
10
|
+
return undefined;
|
|
11
|
+
const entries = map.entries();
|
|
12
|
+
const found = conventions(map.files);
|
|
13
|
+
return {
|
|
14
|
+
built: stack(map.files),
|
|
15
|
+
// Tokens and styles are told with the look.
|
|
16
|
+
pieces: piecesOf(entries.filter((entry) => entry.kind !== 'token' && entry.kind !== 'style')),
|
|
17
|
+
habits: habitsFound(found),
|
|
18
|
+
unheld: missingRules(found, map.files),
|
|
19
|
+
look: lookOf(map.files, entries),
|
|
20
|
+
undecided: !isDrawn(map.files) && hasInterface(map.files),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function piecesOf(pieces) {
|
|
24
|
+
const folders = [...Map.groupBy(pieces, (entry) => entry.path.slice(0, Math.max(0, entry.path.lastIndexOf('/'))) || '.')]
|
|
25
|
+
.map(([folder, held]) => ({
|
|
26
|
+
folder,
|
|
27
|
+
names: [...new Set(held.toSorted((a, b) => b.users - a.users).map((entry) => entry.name))],
|
|
28
|
+
users: held.reduce((sum, entry) => sum + entry.users, 0),
|
|
29
|
+
}))
|
|
30
|
+
.sort((a, b) => b.users - a.users)
|
|
31
|
+
.slice(0, FOLDERS)
|
|
32
|
+
.map(({ folder, names }) => ({ folder, names: names.slice(0, NAMES), more: Math.max(0, names.length - NAMES) }));
|
|
33
|
+
return { count: pieces.length, files: new Set(pieces.map((entry) => entry.path)).size, folders };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=project-overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-overview.js","sourceRoot":"","sources":["../../src/map/project-overview.ts"],"names":[],"mappings":"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"}
|
package/dist/map/prompt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/map/prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/map/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,sBA6BzC"}
|
package/dist/map/prompt.js
CHANGED
|
@@ -1,33 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { hasInterface, isDrawn, lookLines } from './look.js';
|
|
5
|
-
import { stack } from './stack.js';
|
|
6
|
-
/** Enough to show the project's shape; the rest is a `find_existing` away, so the map never crowds the context. */
|
|
7
|
-
const FOLDERS = 10;
|
|
8
|
-
const NAMES = 6;
|
|
1
|
+
import { grouped, percent, plural } from '../lib/format.js';
|
|
2
|
+
import { lookLines } from './look.js';
|
|
3
|
+
import { projectOverview } from './project-overview.js';
|
|
9
4
|
/** Said by the map rather than left to the agent to notice, since the first screen is where a generated look gets in. */
|
|
10
5
|
const UNDECIDED = 'How it looks: nothing yet. The project has no component and no styled markup, so there is no look to follow and none is decided. That decision is the user’s: before the first screen, ask what they find well made and offer directions to pick from, as the `variations` guide says, rather than describing one look and building it.';
|
|
11
6
|
export function mapSection(map) {
|
|
12
|
-
|
|
13
|
-
if (!
|
|
7
|
+
const overview = projectOverview(map);
|
|
8
|
+
if (!overview)
|
|
14
9
|
return undefined;
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const habits = conventionLines(found);
|
|
19
|
-
const unheld = unheldRules(found, map.files);
|
|
20
|
-
const look = lookLines(map.files, entries);
|
|
21
|
-
// Tokens and styles are told with the look.
|
|
22
|
-
const pieces = entries.filter((entry) => entry.kind !== 'token' && entry.kind !== 'style');
|
|
10
|
+
const { built, pieces, unheld, undecided } = overview;
|
|
11
|
+
const habits = overview.habits.map(({ text, count, total }) => `${text} (${percent(count, total)} of ${grouped(total)})`);
|
|
12
|
+
const look = lookLines(map.files, map.entries());
|
|
23
13
|
const parts = [
|
|
24
14
|
built.length > 0 && `Built with, as its manifests say: ${built.join(', ')}.`,
|
|
25
|
-
pieces.
|
|
15
|
+
pieces.count > 0 && offered(pieces),
|
|
26
16
|
habits.length > 0 && `How it is written, counted over its files:\n${list(habits)}`,
|
|
27
17
|
unheld &&
|
|
28
|
-
`Nothing holds these habits in place yet: ${unheld.linter}, the project's linter, has no rule for them, so the next file can break them unnoticed. The rules that would: ${unheld.rules.join('; ')}. When one of these habits is why you corrected something, or the user asks how to keep the code alike, offer once to add its rule. Add it only on their yes, run the linter to show what it flags, and save a no with \`remember\` so it isn't offered again.`,
|
|
18
|
+
`Nothing holds these habits in place yet: ${unheld.linter}, the project's linter, has no rule for them, so the next file can break them unnoticed. The rules that would: ${unheld.rules.map(({ name, option }) => `\`${name}\`${option ? ` with \`${option}\`` : ''}`).join('; ')}. When one of these habits is why you corrected something, or the user asks how to keep the code alike, offer once to add its rule. Add it only on their yes, run the linter to show what it flags, and save a no with \`remember\` so it isn't offered again.`,
|
|
29
19
|
look.length > 0 && `How it looks, as its files have it:\n${list(look)}`,
|
|
30
|
-
|
|
20
|
+
undecided && UNDECIDED,
|
|
31
21
|
].filter(Boolean);
|
|
32
22
|
if (parts.length === 0)
|
|
33
23
|
return undefined;
|
|
@@ -38,24 +28,13 @@ ${parts.join('\n\n')}
|
|
|
38
28
|
|
|
39
29
|
- Before you write a new component, hook, helper, class, type, constant, design token or style, look for one that already does the job with \`find_existing\`. Search by what it does and by the other names it could have, since what exists rarely has the name you would give it.
|
|
40
30
|
- Use what you find, or extend it to cover your case, rather than writing a second one beside it. When nothing fits, put the new one where its kind lives and name it the way its neighbours are named.
|
|
41
|
-
- Write what you add the way the project is written and looks above, also where the language or the framework allows another way: its file names, its declarations, its tokens and the classes it already uses. A value the project doesn't have yet, such as a new color, size or radius, is a decision: say that you are adding it and why nothing existing fits
|
|
31
|
+
- Write what you add the way the project is written and looks above, also where the language or the framework allows another way: its file names, its declarations, its tokens and the classes it already uses. A value the project doesn't have yet, such as a new color, size or radius, is a decision: say that you are adding it and why nothing existing fits.
|
|
32
|
+
- Once your changes are done and before your last message, call \`review_turn\`. It holds what this turn wrote against the map; put right what it finds or keep it with a reason, then end with one short report: what changed and how to try it.`;
|
|
42
33
|
}
|
|
43
|
-
function offered(
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
names: [...new Set(held.toSorted((a, b) => b.users - a.users).map((entry) => entry.name))],
|
|
48
|
-
users: held.reduce((sum, entry) => sum + entry.users, 0),
|
|
49
|
-
}))
|
|
50
|
-
.sort((a, b) => b.users - a.users)
|
|
51
|
-
.slice(0, FOLDERS)
|
|
52
|
-
.map(({ folder, names }) => {
|
|
53
|
-
const more = names.length > NAMES ? `, and ${names.length - NAMES} more` : '';
|
|
54
|
-
return `${folder}/: ${names.slice(0, NAMES).join(', ')}${more}`;
|
|
55
|
-
});
|
|
56
|
-
const files = new Set(pieces.map((entry) => entry.path)).size;
|
|
57
|
-
const count = plural(pieces.length, 'component, hook, function, class, type or constant', 'components, hooks, functions, classes, types and constants');
|
|
58
|
-
return `What its files offer each other: ${count} in ${plural(files, 'file')}. The folders whose pieces other files use the most, each with its most used ones:\n${list(folders)}`;
|
|
34
|
+
function offered({ count, files, folders }) {
|
|
35
|
+
const told = folders.map(({ folder, names, more }) => `${folder}/: ${names.join(', ')}${more > 0 ? `, and ${more} more` : ''}`);
|
|
36
|
+
const pieces = plural(count, 'component, hook, function, class, type or constant', 'components, hooks, functions, classes, types and constants');
|
|
37
|
+
return `What its files offer each other: ${pieces} in ${plural(files, 'file')}. The folders whose pieces other files use the most, each with its most used ones:\n${list(told)}`;
|
|
59
38
|
}
|
|
60
39
|
const list = (lines) => lines.map((line) => `- ${line}`).join('\n');
|
|
61
40
|
//# sourceMappingURL=prompt.js.map
|
package/dist/map/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/map/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/map/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,yHAAyH;AACzH,MAAM,SAAS,GACb,yUAAyU,CAAC;AAE5U,MAAM,UAAU,UAAU,CAAC,GAAe;IACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1H,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,qCAAqC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC5E,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,+CAA+C,IAAI,CAAC,MAAM,CAAC,EAAE;QAClF,MAAM;YACJ,4CAA4C,MAAM,CAAC,MAAM,kHAAkH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gQAAgQ;QACnhB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,wCAAwC,IAAI,CAAC,IAAI,CAAC,EAAE;QACvE,SAAS,IAAI,SAAS;KACvB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,OAAO;;;EAGP,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;kPAK8N,CAAC;AACnP,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAA6B;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChI,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,oDAAoD,EAAE,4DAA4D,CAAC,CAAC;IAEjJ,OAAO,oCAAoC,MAAM,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,uFAAuF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACnL,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/map/review.d.ts
CHANGED
|
@@ -1,23 +1,43 @@
|
|
|
1
1
|
import type { ToolCall } from '../agent/tools.js';
|
|
2
2
|
import type { MappedFiles, ProjectMap } from './map.js';
|
|
3
3
|
import type { Brief } from './purposes.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
/** The order the user reads them in: pieces the project had, its habits, then its look. */
|
|
5
|
+
declare const KINDS: readonly ['existing', 'habit', 'look'];
|
|
6
|
+
export type PointKind = (typeof KINDS)[number];
|
|
7
|
+
export interface ReviewPoint {
|
|
8
|
+
kind: PointKind;
|
|
9
|
+
/** The same as the point's when it is found again later in the turn. */
|
|
10
|
+
key: string;
|
|
11
|
+
/** As the agent is told it. */
|
|
12
|
+
text: string;
|
|
13
|
+
/** As the user reads it, in plain words. */
|
|
14
|
+
plain: string;
|
|
15
|
+
path: string;
|
|
16
|
+
/** The piece it is about, for a point about one; it was put right once the file no longer has it. */
|
|
17
|
+
name?: string;
|
|
8
18
|
}
|
|
9
19
|
/**
|
|
10
20
|
* What the files changed since `before` added that the project already had, or that goes against how it is written and
|
|
11
|
-
* looks: said to the agent
|
|
21
|
+
* looks: said to the agent before its report, so it is put right before the user has to notice. `undefined` when
|
|
12
22
|
* nothing stands out.
|
|
13
23
|
*/
|
|
14
|
-
export declare function review(before: MappedFiles, map: ProjectMap, sameJob?:
|
|
24
|
+
export declare function review(before: MappedFiles, map: ProjectMap, sameJob?: ReviewPoint[]): ReviewPoint[] | undefined;
|
|
25
|
+
/** What `review_turn` answers the agent, before its report. */
|
|
26
|
+
export declare function checkMessage(points: ReviewPoint[]): string;
|
|
27
|
+
/** What the agent is told after a report it wrote without checking first; it answers in a few lines, not a second report. */
|
|
28
|
+
export declare function lateMessage(points: ReviewPoint[]): string;
|
|
15
29
|
/**
|
|
16
30
|
* The new pieces that do the job of one the project already had under another name, which names can't tell: the
|
|
17
31
|
* backend's small model is shown each beside the existing pieces closest to it, with their sentences, and says which
|
|
18
32
|
* does the same. So only where the map has sentences, which is with `describeMap` on.
|
|
19
33
|
*/
|
|
20
|
-
export declare function sameJobs(before: MappedFiles, map: ProjectMap, brief: Brief): Promise<
|
|
21
|
-
/**
|
|
22
|
-
|
|
34
|
+
export declare function sameJobs(before: MappedFiles, map: ProjectMap, brief: Brief): Promise<ReviewPoint[]>;
|
|
35
|
+
/**
|
|
36
|
+
* The review as the conversation shows it, worded alike whichever backend it was sent through. With `fixed`, the keys of
|
|
37
|
+
* the points the agent put right, as the turn ends.
|
|
38
|
+
*/
|
|
39
|
+
export declare function reviewCall(points: ReviewPoint[], fixed?: Set<string>): ToolCall;
|
|
40
|
+
/** A line for each point, in plain words, with what came of it once the turn ends. */
|
|
41
|
+
export declare function reviewLines(points: ReviewPoint[], fixed?: Set<string>): string[];
|
|
42
|
+
export {};
|
|
23
43
|
//# sourceMappingURL=review.d.ts.map
|
package/dist/map/review.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/map/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKlD,OAAO,KAAK,EAAY,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgB3C,MAAM,
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/map/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKlD,OAAO,KAAK,EAAY,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgB3C,2FAA2F;AAC3F,QAAA,MAAM,KAAK,YAAI,UAAU,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,WAAW,EAAO,GAAG,WAAW,EAAE,GAAG,SAAS,CA6DnH;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,UAQjD;AAED,6HAA6H;AAC7H,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,UAQhD;AAaD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,0BAoChF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAK/E;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,YAErE"}
|
package/dist/map/review.js
CHANGED
|
@@ -15,9 +15,13 @@ const TOKENS = 5;
|
|
|
15
15
|
/** How many of a turn's new pieces the small model is asked about, each a request of its own, beside how many existing ones. */
|
|
16
16
|
const JUDGED = 3;
|
|
17
17
|
const CLOSEST = 6;
|
|
18
|
+
/** The order the user reads them in: pieces the project had, its habits, then its look. */
|
|
19
|
+
const KINDS = ['existing', 'habit', 'look'];
|
|
20
|
+
/** The project's way, against which the points are weighed; said with the points wherever they are told. */
|
|
21
|
+
const WEIGH = "The points are about what you chose yourself. What the user asked for in so many words stays exactly as they asked, even where it is new to the project: keep it, and tell them in a line that the project didn't have it. For the rest: where the project already had what you added, use that and remove yours; where the project writes it another way, change yours to match; where your way is needed, leave it and tell the user what you added and why nothing existing fit. A point about a file you didn't write in this turn is about the user's own work: leave the file as it is and only mention it.";
|
|
18
22
|
/**
|
|
19
23
|
* What the files changed since `before` added that the project already had, or that goes against how it is written and
|
|
20
|
-
* looks: said to the agent
|
|
24
|
+
* looks: said to the agent before its report, so it is put right before the user has to notice. `undefined` when
|
|
21
25
|
* nothing stands out.
|
|
22
26
|
*/
|
|
23
27
|
export function review(before, map, sameJob = []) {
|
|
@@ -44,31 +48,59 @@ export function review(before, map, sameJob = []) {
|
|
|
44
48
|
points.push(point);
|
|
45
49
|
}
|
|
46
50
|
for (const { side, convention } of strays(habitsOf(path, file.habits), was ? habitsOf(path, was.habits) : {}, habits)) {
|
|
47
|
-
points.push(astray(path, side, convention));
|
|
51
|
+
points.push({ kind: 'habit', key: `habit:${path}:${convention.choice}`, path, ...astray(path, side, convention) });
|
|
48
52
|
}
|
|
49
53
|
for (const name of Object.keys(file.classes ?? {})) {
|
|
50
54
|
const members = kept.get(familyOf(name) ?? '');
|
|
51
55
|
if (!members || knownClasses.has(name) || namesToken(name, named))
|
|
52
56
|
continue;
|
|
53
57
|
const used = members.slice(0, CLOSE + 2).map((member) => `${member.name} (${member.uses})`);
|
|
54
|
-
points.push(
|
|
58
|
+
points.push({
|
|
59
|
+
kind: 'look',
|
|
60
|
+
key: `class:${path}:${name}`,
|
|
61
|
+
path,
|
|
62
|
+
text: `\`${name}\` in ${path} is new to the project, which keeps to ${used.join(', ')} there. Keep it only if none of those is what is meant.`,
|
|
63
|
+
plain: `${name} in ${path} is a class the project doesn't use there; it keeps to ${members.slice(0, CLOSE).map((member) => member.name).join(', ')}`,
|
|
64
|
+
});
|
|
55
65
|
}
|
|
56
66
|
if (tokens.length >= TOKENS && (file.colors ?? 0) > (was?.colors ?? 0)) {
|
|
57
67
|
const added = (file.colors ?? 0) - (was?.colors ?? 0);
|
|
58
|
-
points.push(
|
|
68
|
+
points.push({
|
|
69
|
+
kind: 'look',
|
|
70
|
+
key: `color:${path}`,
|
|
71
|
+
path,
|
|
72
|
+
text: `${path} writes out ${plural(added, 'more color')}, while the project keeps its colors in design tokens (${tokens.length} of them). Use a token, or add one where the others are.`,
|
|
73
|
+
plain: `${path} writes out ${plural(added, 'color')} instead of taking ${added === 1 ? 'a token' : 'tokens'}`,
|
|
74
|
+
});
|
|
59
75
|
}
|
|
60
76
|
}
|
|
61
77
|
if (points.length === 0)
|
|
62
78
|
return undefined;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
79
|
+
return points.sort((a, b) => KINDS.indexOf(a.kind) - KINDS.indexOf(b.kind));
|
|
80
|
+
}
|
|
81
|
+
/** What `review_turn` answers the agent, before its report. */
|
|
82
|
+
export function checkMessage(points) {
|
|
83
|
+
return `Jinion compared what this turn wrote with its map of the project. Go through each point below now.
|
|
67
84
|
|
|
68
|
-
|
|
85
|
+
${WEIGH}
|
|
69
86
|
|
|
70
|
-
${
|
|
71
|
-
|
|
87
|
+
${listed(points)}
|
|
88
|
+
|
|
89
|
+
Then end with one short report: what changed and how to try it. Mention a point only if you kept it, with why, in a few words.`;
|
|
90
|
+
}
|
|
91
|
+
/** What the agent is told after a report it wrote without checking first; it answers in a few lines, not a second report. */
|
|
92
|
+
export function lateMessage(points) {
|
|
93
|
+
return `Jinion compared what this turn wrote with its map of the project. Go through each point below before you finish.
|
|
94
|
+
|
|
95
|
+
${WEIGH}
|
|
96
|
+
|
|
97
|
+
${listed(points)}
|
|
98
|
+
|
|
99
|
+
Answer in a few lines: what you changed, and what you kept and why. Don't repeat your report.`;
|
|
100
|
+
}
|
|
101
|
+
function listed(points) {
|
|
102
|
+
const more = points.length > POINTS ? [`And ${plural(points.length - POINTS, 'more point')} of the same kinds.`] : [];
|
|
103
|
+
return [...points.slice(0, POINTS).map((point) => point.text), ...more].map((line) => `- ${line}`).join('\n');
|
|
72
104
|
}
|
|
73
105
|
const JUDGE = `You check whether a newly written piece of code repeats one its codebase already has.
|
|
74
106
|
|
|
@@ -96,14 +128,30 @@ export async function sameJobs(before, map, brief) {
|
|
|
96
128
|
const answer = await brief(JUDGE, `The new piece, ${piece.name} (${piece.kind}) in ${piece.path}:\n\`\`\`\n${code}\n\`\`\`\n\nThe existing pieces:\n${listed}`);
|
|
97
129
|
const same = closest[Number(/\d+/.exec(answer ?? '')?.[0] ?? 0) - 1];
|
|
98
130
|
if (same) {
|
|
99
|
-
points.push(
|
|
131
|
+
points.push({
|
|
132
|
+
kind: 'existing',
|
|
133
|
+
key: `existing:${piece.path}:${piece.name}`,
|
|
134
|
+
path: piece.path,
|
|
135
|
+
name: piece.name,
|
|
136
|
+
text: `\`${piece.name}\` (${piece.kind}) in ${piece.path}:${piece.line} does the job of \`${same.name}\` ${place(same)}, which the project already had: ${same.purpose}`,
|
|
137
|
+
plain: `New ${piece.name} does the job of the existing ${same.name} ${usedIn(same)}`,
|
|
138
|
+
});
|
|
100
139
|
}
|
|
101
140
|
}
|
|
102
141
|
return points;
|
|
103
142
|
}
|
|
104
|
-
/**
|
|
105
|
-
|
|
106
|
-
|
|
143
|
+
/**
|
|
144
|
+
* The review as the conversation shows it, worded alike whichever backend it was sent through. With `fixed`, the keys of
|
|
145
|
+
* the points the agent put right, as the turn ends.
|
|
146
|
+
*/
|
|
147
|
+
export function reviewCall(points, fixed) {
|
|
148
|
+
const things = plural(points.length, 'thing');
|
|
149
|
+
const put = fixed && points.filter((point) => fixed.has(point.key)).length;
|
|
150
|
+
return { name: 'other', input: { title: 'Checked against the project', detail: put ? `${things}, ${put} fixed` : things } };
|
|
151
|
+
}
|
|
152
|
+
/** A line for each point, in plain words, with what came of it once the turn ends. */
|
|
153
|
+
export function reviewLines(points, fixed) {
|
|
154
|
+
return points.map((point) => (fixed ? `${fixed.has(point.key) ? 'Fixed' : 'Kept'}: ${point.plain}` : point.plain));
|
|
107
155
|
}
|
|
108
156
|
/**
|
|
109
157
|
* The same name elsewhere, or a piece whose name says nothing the new one's doesn't: `Button` for a new `SubmitButton`,
|
|
@@ -114,8 +162,14 @@ function alike(added, entries) {
|
|
|
114
162
|
const others = entries.filter((entry) => entry.kind === added.kind && entry.path !== added.path);
|
|
115
163
|
const same = others.filter((entry) => entry.name.toLowerCase() === added.name.toLowerCase());
|
|
116
164
|
const where = `\`${added.name}\` (${added.kind}) in ${added.path}:${added.line}`;
|
|
117
|
-
|
|
118
|
-
|
|
165
|
+
const point = { kind: 'existing', key: `existing:${added.path}:${added.name}`, path: added.path, name: added.name };
|
|
166
|
+
if (same.length > 0) {
|
|
167
|
+
return {
|
|
168
|
+
...point,
|
|
169
|
+
text: `${where}: the project already has one by that name, ${same.slice(0, CLOSE).map(place).join(' and ')}.`,
|
|
170
|
+
plain: `New ${added.name} repeats the ${same[0].name} the project already has ${usedIn(same[0])}`,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
119
173
|
const about = significant(added.name);
|
|
120
174
|
const close = others
|
|
121
175
|
.filter((entry) => {
|
|
@@ -124,18 +178,44 @@ function alike(added, entries) {
|
|
|
124
178
|
})
|
|
125
179
|
.sort((a, b) => b.users - a.users)
|
|
126
180
|
.slice(0, CLOSE);
|
|
127
|
-
|
|
181
|
+
if (close.length === 0)
|
|
182
|
+
return undefined;
|
|
183
|
+
return {
|
|
184
|
+
...point,
|
|
185
|
+
text: `${where} is close to what exists: ${close.map((entry) => `\`${entry.name}\` ${place(entry)}`).join(', ')}.`,
|
|
186
|
+
plain: `New ${added.name} looks like the existing ${close[0].name} ${usedIn(close[0])}`,
|
|
187
|
+
};
|
|
128
188
|
}
|
|
189
|
+
/** For the agent with the share that makes it the project's habit, for the user in plain words. */
|
|
129
190
|
function astray(path, side, { choice, side: usual, count, total }) {
|
|
130
191
|
const share = `${percent(count, total)} of ${grouped(total)}`;
|
|
131
|
-
if (choice.startsWith('file:'))
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
192
|
+
if (choice.startsWith('file:')) {
|
|
193
|
+
const extension = choice.slice('file:'.length);
|
|
194
|
+
return {
|
|
195
|
+
text: `${path} is named in ${side}, while the project names its \`${extension}\` files in ${usual} (${share}).`,
|
|
196
|
+
plain: `${path} is named in ${side}, while the project's ${extension} files are in ${usual}`,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
if (choice === 'shape') {
|
|
200
|
+
return {
|
|
201
|
+
text: `${path} declares an object shape with \`${side}\`, while the project uses \`${usual}\` (${share}).`,
|
|
202
|
+
plain: `${path} declares a shape with ${side}, while the project uses ${usual}`,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
if (choice === 'export') {
|
|
206
|
+
const how = (way) => (way === 'default' ? 'a default' : 'by name');
|
|
207
|
+
return {
|
|
208
|
+
text: `${path} exports ${how(side)}, while the project's modules export ${how(usual)} (${share}).`,
|
|
209
|
+
plain: `${path} exports ${how(side)}, while the project exports ${how(usual)}`,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const how = (way) => (way === 'arrow' ? 'arrow functions' : 'function declarations');
|
|
213
|
+
return {
|
|
214
|
+
text: `${path} writes a top-level function as ${side === 'arrow' ? 'an arrow function in a constant' : 'a `function` declaration'}, while the project writes ${usual === 'arrow' ? 'arrow functions in constants' : '`function` declarations'} (${share}).`,
|
|
215
|
+
plain: `${path} writes ${how(side)}, while the project writes ${how(usual)}`,
|
|
216
|
+
};
|
|
138
217
|
}
|
|
139
218
|
const significant = (name) => words(name).filter((word) => !COMMON.has(word));
|
|
140
219
|
const place = (entry) => `in ${entry.path}:${entry.line} (used in ${plural(entry.users, 'file')})`;
|
|
220
|
+
const usedIn = (entry) => `(used in ${plural(entry.users, 'file')})`;
|
|
141
221
|
//# sourceMappingURL=review.js.map
|
package/dist/map/review.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/map/review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAmB,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,mHAAmH;AACnH,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,kHAAkH;AAClH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AACrF,2DAA2D;AAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACrN,oGAAoG;AACpG,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,gIAAgI;AAChI,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,MAAM,OAAO,GAAG,CAAC,CAAC;AAQlB;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,MAAmB,EAAE,GAAe,EAAE,OAAO,GAAa,EAAE;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAE,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;IAC9G,8FAA8F;IAC9F,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEpE,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAE3D,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;YACtH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,SAAS;YAE5E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAE5F,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,0CAA0C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,0DAA0D,MAAM,CAAC,MAAM,0DAA0D,CAAC,CAAC;QAClM,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtH,OAAO;QACL,MAAM;QACN,OAAO,EAAE;;;;EAIX,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC9E,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;;;4BAGc,CAAC;AAE7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAmB,EAAE,GAAe,EAAE,KAAY;IAC/E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,CAAC,KAAK,EAAE,EAAE,CACR,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5C,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;QACtE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CACzB,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7H,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1H,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,kBAAkB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,cAAc,IAAI,qCAAqC,MAAM,EAAE,CAAC,CAAC;QAChK,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,sBAAsB,IAAI,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAU;IAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;AACnH,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,KAAe,EAAE,OAAmB;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IAEjF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,+CAA+C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAEpI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,MAAM;SACjB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,6BAA6B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACrJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAc;IAC3F,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IAE9D,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,IAAI,gBAAgB,IAAI,mCAAmC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,KAAK,KAAK,IAAI,CAAC;IACpK,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,GAAG,IAAI,oCAAoC,IAAI,gCAAgC,KAAK,OAAO,KAAK,IAAI,CAAC;IACpI,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,GAAG,IAAI,YAAY,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,wCAAwC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC;IAEnM,OAAO,GAAG,IAAI,mCAAmC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,0BAA0B,8BAA8B,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,yBAAyB,KAAK,KAAK,IAAI,CAAC;AAC/P,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtF,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,aAAa,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC"}
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/map/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ProjectOverview } from './overview.js';
|
|
2
|
+
/** What a client puts in the prompt when the user asks the agent to add the rules that would hold the project's habits. */
|
|
3
|
+
export declare function rulesRequest({ linter, rules }: NonNullable<ProjectOverview['unheld']>): string;
|
|
4
|
+
//# sourceMappingURL=rules-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-request.d.ts","sourceRoot":"","sources":["../../src/map/rules-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,2HAA2H;AAC3H,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,UAIrF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** What a client puts in the prompt when the user asks the agent to add the rules that would hold the project's habits. */
|
|
2
|
+
export function rulesRequest({ linter, rules }) {
|
|
3
|
+
const named = rules.map(({ name, option }) => `- \`${name}\`${option ? ` with \`${option}\`` : ''}`).join('\n');
|
|
4
|
+
return `Add these rules to ${linter}'s config, so the habits the project map found hold from now on:\n${named}\n\nThen run the linter and tell me what they flag, without fixing it yet.`;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=rules-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-request.js","sourceRoot":"","sources":["../../src/map/rules-request.ts"],"names":[],"mappings":"AAEA,2HAA2H;AAC3H,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAA0C;IACpF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhH,OAAO,sBAAsB,MAAM,qEAAqE,KAAK,4EAA4E,CAAC;AAC5L,CAAC"}
|
package/dist/mcp/config.d.ts
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
type?: 'stdio';
|
|
3
|
-
command: string;
|
|
4
|
-
args?: string[];
|
|
5
|
-
env?: Record<string, string>;
|
|
6
|
-
} | {
|
|
7
|
-
type: 'http' | 'sse';
|
|
8
|
-
url: string;
|
|
9
|
-
headers?: Record<string, string>;
|
|
10
|
-
};
|
|
1
|
+
import type { McpTransport } from './transport.js';
|
|
11
2
|
/** `project` is the project's `.mcp.json`, which anyone with commit access can change, so it runs only once the user turned it on. */
|
|
12
3
|
export type McpSource = 'jinion' | 'claude' | 'project';
|
|
13
4
|
export interface McpServerConfig {
|
|
@@ -22,6 +13,8 @@ export declare class McpConfig {
|
|
|
22
13
|
servers(): McpServerConfig[];
|
|
23
14
|
/** To Jinion's own `mcp.json`. */
|
|
24
15
|
add(name: string, transport: McpTransport): void;
|
|
16
|
+
/** From Jinion's own `mcp.json`, the only file Jinion adds to; whether it was turned off is forgotten too. */
|
|
17
|
+
remove(name: string): void;
|
|
25
18
|
isEnabled({ name, source }: Pick<McpServerConfig, 'name' | 'source'>): boolean;
|
|
26
19
|
/** Every server turned off by name, also ones the agent finds itself, such as claude.ai connectors. */
|
|
27
20
|
disabled(): string[];
|