@jinion/core 0.2.1 → 0.3.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 +4 -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/mcp.d.ts +2 -1
- package/dist/agent/claude/mcp.d.ts.map +1 -1
- package/dist/agent/claude/mcp.js +17 -0
- package/dist/agent/claude/mcp.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/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/codex/backend.d.ts +3 -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/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 +15 -0
- package/dist/agent/demo/mcp.d.ts.map +1 -0
- package/dist/agent/demo/mcp.js +141 -0
- package/dist/agent/demo/mcp.js.map +1 -0
- package/dist/agent/demo/script.d.ts +4 -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 +2 -0
- package/dist/agent/demo/tasks.d.ts.map +1 -1
- package/dist/agent/events.d.ts +2 -0
- package/dist/agent/events.d.ts.map +1 -1
- package/dist/agent/mcp.d.ts +6 -0
- package/dist/agent/mcp.d.ts.map +1 -1
- package/dist/agent/mcp.js +2 -0
- package/dist/agent/mcp.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 +10 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/connection.d.ts.map +1 -1
- package/dist/api/connection.js +4 -0
- package/dist/api/connection.js.map +1 -1
- package/dist/api/fields.d.ts +9 -0
- package/dist/api/fields.d.ts.map +1 -1
- package/dist/api/fields.js +2 -1
- package/dist/api/fields.js.map +1 -1
- package/dist/api/json-schema.d.ts +191 -51
- package/dist/api/json-schema.d.ts.map +1 -1
- package/dist/api/methods/app.d.ts.map +1 -1
- package/dist/api/methods/app.js +11 -1
- package/dist/api/methods/app.js.map +1 -1
- 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/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/protocol.d.ts +201 -0
- package/dist/api/protocol.d.ts.map +1 -1
- package/dist/api/protocol.js +29 -0
- package/dist/api/protocol.js.map +1 -1
- package/dist/api/schemas.d.ts +20 -0
- package/dist/api/schemas.d.ts.map +1 -1
- package/dist/api/schemas.js +2 -0
- package/dist/api/schemas.js.map +1 -1
- package/dist/commands/builtin.d.ts.map +1 -1
- package/dist/commands/builtin.js +3 -1
- package/dist/commands/builtin.js.map +1 -1
- package/dist/commands/views.d.ts +2 -0
- package/dist/commands/views.d.ts.map +1 -1
- package/dist/commands/views.js +10 -0
- package/dist/commands/views.js.map +1 -1
- package/dist/controllers/context.d.ts +4 -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/jinion.d.ts +2 -1
- package/dist/controllers/jinion.d.ts.map +1 -1
- package/dist/controllers/jinion.js +2 -1
- package/dist/controllers/jinion.js.map +1 -1
- package/dist/controllers/mcp.d.ts +4 -0
- package/dist/controllers/mcp.d.ts.map +1 -1
- package/dist/controllers/mcp.js +19 -0
- package/dist/controllers/mcp.js.map +1 -1
- package/dist/conversation/reducer.d.ts +6 -0
- package/dist/conversation/reducer.d.ts.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/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/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 +15 -37
- package/dist/map/prompt.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/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/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/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 +2 -0
- package/dist/state/session.d.ts.map +1 -1
- package/package.json +1 -1
- package/schema/api.json +755 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/map/conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIpD,2HAA2H;AAC3H,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,KAAK,GAAG,EAAE,CAAC;AAWjB,MAAM,OAAO,GAA2C;IACtD,KAAK,EAAE;QACL,SAAS,EAAE,oEAAoE;QAC/E,IAAI,EAAE,oEAAoE;KAC3E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EAAE,4CAA4C;KACtD;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,yFAAyF;QACtG,KAAK,EAAE,yFAAyF;KACjG;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;IAErD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;YAE9D,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/map/conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIpD,2HAA2H;AAC3H,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,KAAK,GAAG,EAAE,CAAC;AAWjB,MAAM,OAAO,GAA2C;IACtD,KAAK,EAAE;QACL,SAAS,EAAE,oEAAoE;QAC/E,IAAI,EAAE,oEAAoE;KAC3E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EAAE,4CAA4C;KACtD;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,yFAAyF;QACtG,KAAK,EAAE,yFAAyF;KACjG;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;IAErD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;YAE9D,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC;AASD,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAExG,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtH,OAAO;YACL,IAAI,EAAE,mBAAmB,UAAU,iBAAiB,MAAM,EAAE;YAC5D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC,IAAI,CAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9J,CAAC;AAED,MAAM,aAAa,GAA2B,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAEvJ;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAmB,EAAE,KAAkB;IACjE,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE3C,OAAO,OAAO,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,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,EAAE,CAAC;AACpJ,CAAC;AAQD,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,KAAkB;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC9F,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhH,MAAM,KAAK,GAAG,KAAK;SAChB,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtI,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED,sHAAsH;AACtH,SAAS,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAc,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC;IAEjC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,+BAA+B,EAAE,oBAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,UAAU,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7K,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,oCAAoC,EAAE,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gDAAgD,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;IACpK,IAAI,MAAM,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACrH,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;IACrF,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;IAEnI,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAM,GAA2B,EAAE;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACjF,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,MAA8B,EAAE,MAA8B,EAAE,KAAmB;IACxG,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;QACvD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAE1E,OAAO,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAU,CAAC;AAE5H,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AAEhG,4GAA4G;AAC5G,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAE3C,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACjE,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACjE,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1D,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IAE/D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/map/look.d.ts
CHANGED
|
@@ -28,4 +28,27 @@ export declare function tokenValues(files: MappedFiles): Set<string>;
|
|
|
28
28
|
export declare function namesToken(name: string, tokens: Set<string>): boolean;
|
|
29
29
|
/** How the project looks as its files have it: its tokens, the classes its markup carries, and the colors outside both. */
|
|
30
30
|
export declare function lookLines(files: MappedFiles, entries: MapEntry[]): string[];
|
|
31
|
+
export interface Look {
|
|
32
|
+
/** `home` is the file that holds the most of them, `inHome` how many. */
|
|
33
|
+
tokens?: {
|
|
34
|
+
count: number;
|
|
35
|
+
home: string;
|
|
36
|
+
inHome: number;
|
|
37
|
+
groups: {
|
|
38
|
+
name: string;
|
|
39
|
+
count: number;
|
|
40
|
+
}[];
|
|
41
|
+
};
|
|
42
|
+
/** The most used families, each with its most used members and how many more it has. */
|
|
43
|
+
families: (ClassFamily & {
|
|
44
|
+
more: number;
|
|
45
|
+
})[];
|
|
46
|
+
/** Colors written out rather than taken from a token, and in how many files. */
|
|
47
|
+
loose?: {
|
|
48
|
+
colors: number;
|
|
49
|
+
files: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** As `lookLines`, before it is told. */
|
|
53
|
+
export declare function lookOf(files: MappedFiles, entries: MapEntry[]): Look;
|
|
31
54
|
//# sourceMappingURL=look.d.ts.map
|
package/dist/map/look.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"look.d.ts","sourceRoot":"","sources":["../../src/map/look.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAItD,4GAA4G;AAC5G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,EAAE,OAAO,CAAC;CAChB;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,WAE9C;AAED,iIAAiI;AACjI,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,WAEzC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,EAAE,CAiB/D;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,0BAM/C;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,eAI7C;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,WAK3D;AAED,2HAA2H;AAC3H,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"look.d.ts","sourceRoot":"","sources":["../../src/map/look.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAItD,4GAA4G;AAC5G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,EAAE,OAAO,CAAC;CAChB;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,WAE9C;AAED,iIAAiI;AACjI,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,WAEzC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,EAAE,CAiB/D;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,0BAM/C;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,eAI7C;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,WAK3D;AAED,2HAA2H;AAC3H,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,YAmBhE;AAED,MAAM,WAAW,IAAI;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IACpG,wFAAwF;IACxF,QAAQ,EAAE,CAAC,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC7C,gFAAgF;IAChF,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,yCAAyC;AACzC,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAyBpE"}
|
package/dist/map/look.js
CHANGED
|
@@ -54,30 +54,40 @@ export function namesToken(name, tokens) {
|
|
|
54
54
|
}
|
|
55
55
|
/** How the project looks as its files have it: its tokens, the classes its markup carries, and the colors outside both. */
|
|
56
56
|
export function lookLines(files, entries) {
|
|
57
|
+
const { tokens, families, loose } = lookOf(files, entries);
|
|
58
|
+
const lines = [];
|
|
59
|
+
if (tokens) {
|
|
60
|
+
const groups = tokens.groups.map(({ name, count }) => `${name} (${count})`);
|
|
61
|
+
lines.push(`${plural(tokens.count, 'design token')}, ${tokens.inHome === tokens.count ? 'all' : tokens.inHome} in ${tokens.home}: ${groups.join(', ')}`);
|
|
62
|
+
}
|
|
63
|
+
if (families.length > 0) {
|
|
64
|
+
const told = families.map(({ name, members, more }) => `${name} (${members.map((member) => `${member.name} ${member.uses}`).join(', ')}${more > 0 ? `, +${more}` : ''})`);
|
|
65
|
+
lines.push(`The classes and style values its interface carries the most, by family and with how often: ${told.join('; ')}`);
|
|
66
|
+
}
|
|
67
|
+
if (loose)
|
|
68
|
+
lines.push(`${plural(loose.colors, 'color is', 'colors are')} written out in ${plural(loose.files, 'file')} rather than taken from a token`);
|
|
69
|
+
return lines;
|
|
70
|
+
}
|
|
71
|
+
/** As `lookLines`, before it is told. */
|
|
72
|
+
export function lookOf(files, entries) {
|
|
57
73
|
const tokens = entries.filter((entry) => entry.kind === 'token');
|
|
58
|
-
const families = classFamilies(files).slice(0, FAMILIES);
|
|
59
74
|
const colored = Object.values(files).filter((file) => file.colors);
|
|
60
|
-
const
|
|
75
|
+
const look = {
|
|
76
|
+
families: classFamilies(files)
|
|
77
|
+
.slice(0, FAMILIES)
|
|
78
|
+
.map((family) => ({ ...family, members: family.members.slice(0, MEMBERS), more: Math.max(0, family.members.length - MEMBERS) })),
|
|
79
|
+
};
|
|
61
80
|
if (tokens.length > 0) {
|
|
62
81
|
const [home, held] = [...Map.groupBy(tokens, (token) => token.path)].reduce((most, next) => (next[1].length > most[1].length ? next : most));
|
|
63
82
|
// A token without a group in its name is a color of an asset catalog.
|
|
64
83
|
const groups = [...Map.groupBy(tokens, (token) => /^(?:--|\$)([a-zA-Z0-9]+)/.exec(token.name)?.[1] ?? 'color')]
|
|
65
84
|
.sort((a, b) => b[1].length - a[1].length)
|
|
66
85
|
.slice(0, TOKEN_GROUPS)
|
|
67
|
-
.map(([
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
if (families.length > 0) {
|
|
71
|
-
const told = families.map(({ name, members }) => {
|
|
72
|
-
const more = members.length > MEMBERS ? `, +${members.length - MEMBERS}` : '';
|
|
73
|
-
return `${name} (${members.slice(0, MEMBERS).map((member) => `${member.name} ${member.uses}`).join(', ')}${more})`;
|
|
74
|
-
});
|
|
75
|
-
lines.push(`The classes and style values its interface carries the most, by family and with how often: ${told.join('; ')}`);
|
|
76
|
-
}
|
|
77
|
-
if (colored.length > 0) {
|
|
78
|
-
const count = colored.reduce((sum, file) => sum + file.colors, 0);
|
|
79
|
-
lines.push(`${plural(count, 'color is', 'colors are')} written out in ${plural(colored.length, 'file')} rather than taken from a token`);
|
|
86
|
+
.map(([name, members]) => ({ name, count: members.length }));
|
|
87
|
+
look.tokens = { count: tokens.length, home, inHome: held.length, groups };
|
|
80
88
|
}
|
|
81
|
-
|
|
89
|
+
if (colored.length > 0)
|
|
90
|
+
look.loose = { colors: colored.reduce((sum, file) => sum + file.colors, 0), files: colored.length };
|
|
91
|
+
return look;
|
|
82
92
|
}
|
|
83
93
|
//# sourceMappingURL=look.js.map
|
package/dist/map/look.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"look.js","sourceRoot":"","sources":["../../src/map/look.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"look.js","sourceRoot":"","sources":["../../src/map/look.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,sBA4BzC"}
|
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;
|
|
@@ -40,22 +30,10 @@ ${parts.join('\n\n')}
|
|
|
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
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.`;
|
|
42
32
|
}
|
|
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)}`;
|
|
33
|
+
function offered({ count, files, folders }) {
|
|
34
|
+
const told = folders.map(({ folder, names, more }) => `${folder}/: ${names.join(', ')}${more > 0 ? `, and ${more} more` : ''}`);
|
|
35
|
+
const pieces = plural(count, 'component, hook, function, class, type or constant', 'components, hooks, functions, classes, types and constants');
|
|
36
|
+
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
37
|
}
|
|
60
38
|
const list = (lines) => lines.map((line) => `- ${line}`).join('\n');
|
|
61
39
|
//# 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;;;;oWAIgV,CAAC;AACrW,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"}
|
|
@@ -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[];
|
package/dist/mcp/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,sIAAsI;AACtI,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAID,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAhC,YAA6B,GAAG,EAAE,MAAM,EAAI;IAE5C,2EAA2E;IAC3E,OAAO,IAAI,eAAe,EAAE,CAmB3B;IAED,kCAAkC;IAClC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,QAExC;IAED,8GAA8G;IAC9G,MAAM,CAAC,IAAI,EAAE,MAAM,QAGlB;IAED,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,CAAC,WAInE;IAED,uGAAuG;IACvG,QAAQ,aAEP;IAED,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE,OAAO,QAKvF;CACF"}
|
package/dist/mcp/config.js
CHANGED
|
@@ -31,6 +31,11 @@ export class McpConfig {
|
|
|
31
31
|
add(name, transport) {
|
|
32
32
|
updateJson(jinionMcpFile(), {}, (file) => ({ ...file, mcpServers: { ...file.mcpServers, [name]: transport } }));
|
|
33
33
|
}
|
|
34
|
+
/** From Jinion's own `mcp.json`, the only file Jinion adds to; whether it was turned off is forgotten too. */
|
|
35
|
+
remove(name) {
|
|
36
|
+
updateJson(jinionMcpFile(), {}, ({ mcpServers: { [name]: _, ...rest } = {}, ...file }) => ({ ...file, mcpServers: rest }));
|
|
37
|
+
updateSettings(({ mcp }) => ({ mcp: { ...mcp, disabled: toggled(mcp?.disabled, name, false) } }));
|
|
38
|
+
}
|
|
34
39
|
isEnabled({ name, source }) {
|
|
35
40
|
if (this.disabled().includes(name))
|
|
36
41
|
return false;
|
package/dist/mcp/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const McpTransport: z.ZodUnion<readonly [z.ZodObject<{
|
|
3
|
+
type: z.ZodOptional<z.ZodLiteral<"stdio">>;
|
|
4
|
+
command: z.ZodString;
|
|
5
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
7
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
8
|
+
type: z.ZodEnum<{
|
|
9
|
+
http: "http";
|
|
10
|
+
sse: "sse";
|
|
11
|
+
}>;
|
|
12
|
+
url: z.ZodString;
|
|
13
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
14
|
+
}, z.core.$strip>]>;
|
|
15
|
+
export type McpTransport = z.infer<typeof McpTransport>;
|
|
16
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/mcp/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;mBAQvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const McpTransport = z.union([
|
|
3
|
+
z.object({
|
|
4
|
+
type: z.literal('stdio').optional(),
|
|
5
|
+
command: z.string(),
|
|
6
|
+
args: z.array(z.string()).optional(),
|
|
7
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
8
|
+
}),
|
|
9
|
+
z.object({ type: z.enum(['http', 'sse']), url: z.string(), headers: z.record(z.string(), z.string()).optional() }),
|
|
10
|
+
]);
|
|
11
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/mcp/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACjD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;CACnH,CAAC,CAAC"}
|
package/dist/memory/import.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import type { MemoryStore } from './store.js';
|
|
2
|
+
import type { NewMemory } from './types.js';
|
|
2
3
|
/** Notes whose title is already taken in their scope are skipped, so importing twice adds nothing. */
|
|
3
|
-
export declare function importClaudeMemory(store: MemoryStore, cwd
|
|
4
|
+
export declare function importClaudeMemory(store: MemoryStore, cwd?: string): {
|
|
4
5
|
added: number;
|
|
5
6
|
skipped: number;
|
|
6
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* What an import would bring, and how many are already here. Without `cwd`, only what no project holds: Claude Code's
|
|
10
|
+
* rules and its own `CLAUDE.md`, as before any project is open.
|
|
11
|
+
*/
|
|
12
|
+
export declare function claudeNotes(store: MemoryStore, cwd?: string): {
|
|
13
|
+
fresh: NewMemory[];
|
|
14
|
+
skipped: number;
|
|
15
|
+
};
|
|
7
16
|
//# sourceMappingURL=import.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/memory/import.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/memory/import.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAA2B,SAAS,EAAE,MAAM,YAAY,CAAC;AASrE,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,MAAM;;;EAMlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,MAAM;;;EAgC3D"}
|