@x-code-cli/core 0.2.9 → 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/compression.d.ts +12 -2
- package/dist/agent/compression.d.ts.map +1 -1
- package/dist/agent/compression.js +51 -2
- package/dist/agent/compression.js.map +1 -1
- package/dist/agent/file-ingest.js +2 -2
- package/dist/agent/file-ingest.js.map +1 -1
- package/dist/agent/loop-state.d.ts +3 -2
- package/dist/agent/loop-state.d.ts.map +1 -1
- package/dist/agent/loop-state.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +140 -9
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/memory-extractor.js +5 -5
- package/dist/agent/memory-extractor.js.map +1 -1
- package/dist/agent/plan-storage.js +1 -1
- package/dist/agent/plan-storage.js.map +1 -1
- package/dist/agent/sub-agents/index.d.ts +2 -1
- package/dist/agent/sub-agents/index.d.ts.map +1 -1
- package/dist/agent/sub-agents/index.js +1 -1
- package/dist/agent/sub-agents/index.js.map +1 -1
- package/dist/agent/sub-agents/loader.d.ts +13 -3
- package/dist/agent/sub-agents/loader.d.ts.map +1 -1
- package/dist/agent/sub-agents/loader.js +36 -9
- package/dist/agent/sub-agents/loader.js.map +1 -1
- package/dist/agent/sub-agents/registry.d.ts +18 -1
- package/dist/agent/sub-agents/registry.d.ts.map +1 -1
- package/dist/agent/sub-agents/registry.js +38 -5
- package/dist/agent/sub-agents/registry.js.map +1 -1
- package/dist/agent/sub-agents/runner.d.ts.map +1 -1
- package/dist/agent/sub-agents/runner.js +45 -1
- package/dist/agent/sub-agents/runner.js.map +1 -1
- package/dist/agent/sub-agents/types.d.ts +4 -1
- package/dist/agent/sub-agents/types.d.ts.map +1 -1
- package/dist/agent/system-prompt.d.ts +21 -0
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +68 -2
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tool-execution.d.ts.map +1 -1
- package/dist/agent/tool-execution.js +220 -1
- package/dist/agent/tool-execution.js.map +1 -1
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +3 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/loader.d.ts +13 -0
- package/dist/commands/loader.d.ts.map +1 -0
- package/dist/commands/loader.js +93 -0
- package/dist/commands/loader.js.map +1 -0
- package/dist/commands/registry.d.ts +44 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +102 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/types.d.ts +23 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +26 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +12 -10
- package/dist/config/index.js.map +1 -1
- package/dist/hooks/bus.d.ts +54 -0
- package/dist/hooks/bus.d.ts.map +1 -0
- package/dist/hooks/bus.js +165 -0
- package/dist/hooks/bus.js.map +1 -0
- package/dist/hooks/config-schema.d.ts +854 -0
- package/dist/hooks/config-schema.d.ts.map +1 -0
- package/dist/hooks/config-schema.js +79 -0
- package/dist/hooks/config-schema.js.map +1 -0
- package/dist/hooks/executor.d.ts +16 -0
- package/dist/hooks/executor.d.ts.map +1 -0
- package/dist/hooks/executor.js +183 -0
- package/dist/hooks/executor.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/registry.d.ts +23 -0
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/hooks/registry.js +49 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.d.ts +165 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +25 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks/variables.d.ts +22 -0
- package/dist/hooks/variables.d.ts.map +1 -0
- package/dist/hooks/variables.js +80 -0
- package/dist/hooks/variables.js.map +1 -0
- package/dist/index.d.ts +56 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge/auto-memory.d.ts +1 -1
- package/dist/knowledge/auto-memory.d.ts.map +1 -1
- package/dist/knowledge/auto-memory.js +10 -10
- package/dist/knowledge/auto-memory.js.map +1 -1
- package/dist/knowledge/loader.js +12 -12
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/mcp/arg-parser.d.ts +49 -0
- package/dist/mcp/arg-parser.d.ts.map +1 -0
- package/dist/mcp/arg-parser.js +357 -0
- package/dist/mcp/arg-parser.js.map +1 -0
- package/dist/mcp/client.d.ts +73 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +376 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/config-schema.d.ts +64 -0
- package/dist/mcp/config-schema.d.ts.map +1 -0
- package/dist/mcp/config-schema.js +86 -0
- package/dist/mcp/config-schema.js.map +1 -0
- package/dist/mcp/config-writer.d.ts +41 -0
- package/dist/mcp/config-writer.d.ts.map +1 -0
- package/dist/mcp/config-writer.js +138 -0
- package/dist/mcp/config-writer.js.map +1 -0
- package/dist/mcp/env-safety.d.ts +12 -0
- package/dist/mcp/env-safety.d.ts.map +1 -0
- package/dist/mcp/env-safety.js +80 -0
- package/dist/mcp/env-safety.js.map +1 -0
- package/dist/mcp/expand-env.d.ts +14 -0
- package/dist/mcp/expand-env.d.ts.map +1 -0
- package/dist/mcp/expand-env.js +52 -0
- package/dist/mcp/expand-env.js.map +1 -0
- package/dist/mcp/loader.d.ts +81 -0
- package/dist/mcp/loader.d.ts.map +1 -0
- package/dist/mcp/loader.js +223 -0
- package/dist/mcp/loader.js.map +1 -0
- package/dist/mcp/name-mangling.d.ts +11 -0
- package/dist/mcp/name-mangling.d.ts.map +1 -0
- package/dist/mcp/name-mangling.js +82 -0
- package/dist/mcp/name-mangling.js.map +1 -0
- package/dist/mcp/oauth/callback-server.d.ts +25 -0
- package/dist/mcp/oauth/callback-server.d.ts.map +1 -0
- package/dist/mcp/oauth/callback-server.js +118 -0
- package/dist/mcp/oauth/callback-server.js.map +1 -0
- package/dist/mcp/oauth/provider.d.ts +80 -0
- package/dist/mcp/oauth/provider.d.ts.map +1 -0
- package/dist/mcp/oauth/provider.js +292 -0
- package/dist/mcp/oauth/provider.js.map +1 -0
- package/dist/mcp/oauth/token-storage.d.ts +42 -0
- package/dist/mcp/oauth/token-storage.d.ts.map +1 -0
- package/dist/mcp/oauth/token-storage.js +121 -0
- package/dist/mcp/oauth/token-storage.js.map +1 -0
- package/dist/mcp/permissions.d.ts +28 -0
- package/dist/mcp/permissions.d.ts.map +1 -0
- package/dist/mcp/permissions.js +105 -0
- package/dist/mcp/permissions.js.map +1 -0
- package/dist/mcp/registry.d.ts +150 -0
- package/dist/mcp/registry.d.ts.map +1 -0
- package/dist/mcp/registry.js +334 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/mcp/resources.d.ts +7 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +40 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/tool-bridge.d.ts +16 -0
- package/dist/mcp/tool-bridge.d.ts.map +1 -0
- package/dist/mcp/tool-bridge.js +56 -0
- package/dist/mcp/tool-bridge.js.map +1 -0
- package/dist/mcp/trust.d.ts +31 -0
- package/dist/mcp/trust.d.ts.map +1 -0
- package/dist/mcp/trust.js +103 -0
- package/dist/mcp/trust.js.map +1 -0
- package/dist/mcp/types.d.ts +73 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +13 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/permissions/session-store.d.ts +13 -2
- package/dist/permissions/session-store.d.ts.map +1 -1
- package/dist/permissions/session-store.js +264 -62
- package/dist/permissions/session-store.js.map +1 -1
- package/dist/plugins/consent.d.ts +87 -0
- package/dist/plugins/consent.d.ts.map +1 -0
- package/dist/plugins/consent.js +181 -0
- package/dist/plugins/consent.js.map +1 -0
- package/dist/plugins/enable-state.d.ts +34 -0
- package/dist/plugins/enable-state.d.ts.map +1 -0
- package/dist/plugins/enable-state.js +159 -0
- package/dist/plugins/enable-state.js.map +1 -0
- package/dist/plugins/installer.d.ts +64 -0
- package/dist/plugins/installer.d.ts.map +1 -0
- package/dist/plugins/installer.js +416 -0
- package/dist/plugins/installer.js.map +1 -0
- package/dist/plugins/integration.d.ts +91 -0
- package/dist/plugins/integration.d.ts.map +1 -0
- package/dist/plugins/integration.js +233 -0
- package/dist/plugins/integration.js.map +1 -0
- package/dist/plugins/loader.d.ts +69 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +243 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/manifest.d.ts +23 -0
- package/dist/plugins/manifest.d.ts.map +1 -0
- package/dist/plugins/manifest.js +143 -0
- package/dist/plugins/manifest.js.map +1 -0
- package/dist/plugins/marketplace.d.ts +100 -0
- package/dist/plugins/marketplace.d.ts.map +1 -0
- package/dist/plugins/marketplace.js +529 -0
- package/dist/plugins/marketplace.js.map +1 -0
- package/dist/plugins/paths.d.ts +44 -0
- package/dist/plugins/paths.d.ts.map +1 -0
- package/dist/plugins/paths.js +89 -0
- package/dist/plugins/paths.js.map +1 -0
- package/dist/plugins/refresh.d.ts +61 -0
- package/dist/plugins/refresh.d.ts.map +1 -0
- package/dist/plugins/refresh.js +98 -0
- package/dist/plugins/refresh.js.map +1 -0
- package/dist/plugins/registry.d.ts +40 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +80 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/types.d.ts +225 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +16 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/plugins/user-config.d.ts +22 -0
- package/dist/plugins/user-config.d.ts.map +1 -0
- package/dist/plugins/user-config.js +96 -0
- package/dist/plugins/user-config.js.map +1 -0
- package/dist/providers/cache-control.d.ts +9 -0
- package/dist/providers/cache-control.d.ts.map +1 -1
- package/dist/providers/cache-control.js +31 -4
- package/dist/providers/cache-control.js.map +1 -1
- package/dist/skills/loader.d.ts +19 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +197 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +74 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +136 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/settings.d.ts +13 -0
- package/dist/skills/settings.d.ts.map +1 -0
- package/dist/skills/settings.js +100 -0
- package/dist/skills/settings.js.map +1 -0
- package/dist/tools/activate-skill.d.ts +5 -0
- package/dist/tools/activate-skill.d.ts.map +1 -0
- package/dist/tools/activate-skill.js +33 -0
- package/dist/tools/activate-skill.js.map +1 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/todo-write.d.ts +1 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +2 -1
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/types/index.d.ts +46 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils.d.ts +23 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +76 -20
- package/dist/utils.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +47 -0
- package/dist/version.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/hooks/variables.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB;kEAC8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;wEAGwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAmBlH;AAED;+EAC+E;AAC/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAyB5E"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// @x-code-cli/core — Hook command variable expansion
|
|
2
|
+
//
|
|
3
|
+
// Substitutes `${name}` and `${env:NAME}` patterns inside a hook command
|
|
4
|
+
// string. Unknown variables are left as the literal `${name}` so a typo
|
|
5
|
+
// surfaces in the resulting shell command's error message rather than
|
|
6
|
+
// silently expanding to an empty string (which would produce confusing
|
|
7
|
+
// "command not found" errors that don't point at the variable).
|
|
8
|
+
//
|
|
9
|
+
// Supported variables (cf. [[plugin-marketplace-design]] §8.4):
|
|
10
|
+
//
|
|
11
|
+
// ${pluginDir} absolute path to the owning plugin's installed dir
|
|
12
|
+
// (versioned cache dir; wiped on reinstall / upgrade)
|
|
13
|
+
// ${pluginDataDir} absolute path to the plugin's persistent data dir
|
|
14
|
+
// (~/.x-code/plugins/data/<sanitised-plugin-id>/) —
|
|
15
|
+
// survives uninstall+reinstall and version upgrades.
|
|
16
|
+
// Created on demand by the caller before expansion;
|
|
17
|
+
// this module just substitutes the string.
|
|
18
|
+
// ${cwd} current working directory
|
|
19
|
+
// ${homedir} user home dir
|
|
20
|
+
// ${sep} OS-specific path separator (`\` Windows, `/` elsewhere)
|
|
21
|
+
// ${env:NAME} process env var `NAME` (empty string when unset)
|
|
22
|
+
import fs from 'node:fs';
|
|
23
|
+
import os from 'node:os';
|
|
24
|
+
import path from 'node:path';
|
|
25
|
+
import { pluginDataDir as pluginDataDirPath } from '../plugins/paths.js';
|
|
26
|
+
/** Default variables derived from the current process + caller context.
|
|
27
|
+
* Pass `pluginId` to enable `${pluginDataDir}` — we'll resolve the
|
|
28
|
+
* per-plugin data dir path and `mkdir -p` it so the plugin can write
|
|
29
|
+
* there immediately. mkdirSync on an existing dir is a cheap no-op. */
|
|
30
|
+
export function buildVariableContext(input) {
|
|
31
|
+
let dataDir;
|
|
32
|
+
if (input.pluginId) {
|
|
33
|
+
dataDir = pluginDataDirPath(input.pluginId);
|
|
34
|
+
try {
|
|
35
|
+
fs.mkdirSync(dataDir, { recursive: true });
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// mkdir failure (permissions, disk full) leaves the dir missing —
|
|
39
|
+
// the plugin script will get a sane shell error when it tries to
|
|
40
|
+
// write there. Better than throwing here and wedging the hook.
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
pluginDir: input.pluginDir,
|
|
45
|
+
pluginDataDir: dataDir,
|
|
46
|
+
cwd: input.cwd,
|
|
47
|
+
homedir: os.homedir(),
|
|
48
|
+
sep: path.sep,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** Expand `${pluginDir}` / `${pluginDataDir}` / `${cwd}` / `${homedir}` /
|
|
52
|
+
* `${sep}` / `${env:NAME}` references. Unknown patterns are left verbatim. */
|
|
53
|
+
export function expandVariables(source, ctx) {
|
|
54
|
+
return source.replace(/\$\{([^}]+)\}/g, (whole, expr) => {
|
|
55
|
+
const colonIdx = expr.indexOf(':');
|
|
56
|
+
if (colonIdx > 0) {
|
|
57
|
+
const ns = expr.slice(0, colonIdx);
|
|
58
|
+
const key = expr.slice(colonIdx + 1);
|
|
59
|
+
if (ns === 'env')
|
|
60
|
+
return process.env[key] ?? '';
|
|
61
|
+
// Unknown namespace — leave verbatim
|
|
62
|
+
return whole;
|
|
63
|
+
}
|
|
64
|
+
switch (expr) {
|
|
65
|
+
case 'pluginDir':
|
|
66
|
+
return ctx.pluginDir;
|
|
67
|
+
case 'pluginDataDir':
|
|
68
|
+
return ctx.pluginDataDir ?? whole;
|
|
69
|
+
case 'cwd':
|
|
70
|
+
return ctx.cwd;
|
|
71
|
+
case 'homedir':
|
|
72
|
+
return ctx.homedir ?? '';
|
|
73
|
+
case 'sep':
|
|
74
|
+
return ctx.sep ?? path.sep;
|
|
75
|
+
default:
|
|
76
|
+
return whole;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/hooks/variables.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,gEAAgE;AAChE,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,gEAAgE;AAChE,iDAAiD;AACjD,qCAAqC;AACrC,+EAA+E;AAC/E,wEAAwE;AACxE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAYxE;;;wEAGwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,KAA4D;IAC/F,IAAI,OAA2B,CAAA;IAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;QACjE,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAA;AACH,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,GAAoB;IAClE,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YACpC,IAAI,EAAE,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAC/C,qCAAqC;YACrC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,WAAW;gBACd,OAAO,GAAG,CAAC,SAAS,CAAA;YACtB,KAAK,eAAe;gBAClB,OAAO,GAAG,CAAC,aAAa,IAAI,KAAK,CAAA;YACnC,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC,GAAG,CAAA;YAChB,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;YAC1B,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;YAC5B;gBACE,OAAO,KAAK,CAAA;QAChB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './permis
|
|
|
26
26
|
export { extractCommandPrefix, suggestRuleLabel } from './permissions/index.js';
|
|
27
27
|
export { loadPersistedRules, persistRule } from './permissions/index.js';
|
|
28
28
|
export type { AllowRule } from './permissions/session-store.js';
|
|
29
|
-
export {
|
|
29
|
+
export { USER_XCODE_DIR, XCODE_DIR, debugLog, setPluginDebugMirror } from './utils.js';
|
|
30
30
|
export { LruCache } from './utils/lru-cache.js';
|
|
31
31
|
export { mediaTypeFor } from './utils/media-type.js';
|
|
32
32
|
export { extractText } from './utils/message-helpers.js';
|
|
@@ -35,6 +35,61 @@ export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
|
|
|
35
35
|
export { generateSessionSummary } from './knowledge/session.js';
|
|
36
36
|
export { createSubAgentRegistry, createBuiltInRegistry, SubAgentRegistry } from './agent/sub-agents/index.js';
|
|
37
37
|
export type { SubAgentDefinition, SubAgentEvent, SubAgentTrace } from './agent/sub-agents/index.js';
|
|
38
|
+
export { CommandRegistry, createCommandRegistry, loadPluginCommands, expandCommandBody } from './commands/index.js';
|
|
39
|
+
export type { CommandDefinition, LoadCommandsOptions } from './commands/index.js';
|
|
40
|
+
export { HookBus, emptyHookBus, aggregatePreToolUse, aggregatePostToolUse, aggregateUserPromptSubmit, } from './hooks/bus.js';
|
|
41
|
+
export type { EmitOptions as HookEmitOptions, PreToolEffect, PostToolEffect, UserPromptEffect } from './hooks/bus.js';
|
|
42
|
+
export { HookRegistry, buildHookRegistry, emptyHookRegistry } from './hooks/registry.js';
|
|
43
|
+
export { executeHook } from './hooks/executor.js';
|
|
44
|
+
export type { ExecuteHookOptions } from './hooks/executor.js';
|
|
45
|
+
export { hookConfigSchema, parseHookConfig, HookConfigParseError } from './hooks/config-schema.js';
|
|
46
|
+
export { buildVariableContext, expandVariables } from './hooks/variables.js';
|
|
47
|
+
export type { VariableContext } from './hooks/variables.js';
|
|
48
|
+
export type { DecisionEvent, HookConfig, HookConfigEntry, HookDecision, HookEvent, HookEventName, RegisteredHook, SessionContext as HookSessionContext, } from './hooks/types.js';
|
|
49
|
+
export { loadAllPlugins, resolveContributions } from './plugins/loader.js';
|
|
50
|
+
export type { LoadOptions as PluginLoadOptions, LoadResult as PluginLoadResult, ResolvedContributions, } from './plugins/loader.js';
|
|
51
|
+
export { PluginRegistry, emptyPluginRegistry } from './plugins/registry.js';
|
|
52
|
+
export type { PluginReloadSummary } from './plugins/registry.js';
|
|
53
|
+
export { buildPluginIntegration, debugLogIntegrationDiagnostics, getPluginMcpServersFromDisk, } from './plugins/integration.js';
|
|
54
|
+
export type { PluginIntegrationOutput } from './plugins/integration.js';
|
|
55
|
+
export { refreshPluginContributions } from './plugins/refresh.js';
|
|
56
|
+
export type { PluginRefreshSummary, PluginRefreshTargets } from './plugins/refresh.js';
|
|
57
|
+
export { installPlugin, uninstallPlugin, listInstalledPlugins, findInstalledPlugin, InstallError, } from './plugins/installer.js';
|
|
58
|
+
export type { InstallRequest, InstallResult, UninstallResult } from './plugins/installer.js';
|
|
59
|
+
export { buildConsentPreview, probePluginRoot } from './plugins/consent.js';
|
|
60
|
+
export type { ConsentPreview, BuildPreviewInput, RootProbe } from './plugins/consent.js';
|
|
61
|
+
export { getPluginUserConfig, setPluginUserConfig, clearPluginUserConfig, getPluginUserConfigEnv, } from './plugins/user-config.js';
|
|
62
|
+
export type { UserConfigValue, PluginUserConfig } from './plugins/user-config.js';
|
|
63
|
+
export { parseMarketplace, readKnownMarketplaces, addKnownMarketplace, removeKnownMarketplace, ensureDefaultMarketplaces, fetchMarketplace, readAllCachedMarketplaces, lookupPlugin, resolveCloneUrl, RESERVED_MARKETPLACE_NAMES, MarketplaceParseError, } from './plugins/marketplace.js';
|
|
64
|
+
export { EnableState, setPluginEnabled, clearPluginEntry, settingsPathForScope as pluginSettingsPathForScope, } from './plugins/enable-state.js';
|
|
65
|
+
export type { ResolvedEnableState } from './plugins/enable-state.js';
|
|
66
|
+
export type { LoadedPlugin, PluginManifest, PluginAuthor, UserConfigItem, PluginSource, PluginScope, ManifestFormat, PluginLoadError, Marketplace, MarketplaceEntry, KnownMarketplace, KnownMarketplaces, InstalledPluginRecord, InstalledPlugins, } from './plugins/types.js';
|
|
67
|
+
export { discoverManifest, parseManifest, ManifestParseError } from './plugins/manifest.js';
|
|
68
|
+
export { SkillRegistry, createSkillRegistry, reloadSkillRegistry, formatSkillActivationBody, wrapActivatedSkill, } from './skills/registry.js';
|
|
69
|
+
export type { SkillDefinition, SkillEntry, SkillReloadSummary } from './skills/registry.js';
|
|
70
|
+
export { getScopedDisabledSkills, setSkillDisabled, skillSettingsPath } from './skills/settings.js';
|
|
71
|
+
export type { SkillSettingsScope } from './skills/settings.js';
|
|
38
72
|
export { appendInterrupted, flushPendingMessages, getSessionFilePath, hydrateLoopState, listSessions, loadSession, pickLatestSession, } from './agent/session-store.js';
|
|
39
73
|
export type { LoadedSession, SessionListEntry } from './agent/session-store.js';
|
|
74
|
+
export { McpRegistry, emptyRegistry } from './mcp/registry.js';
|
|
75
|
+
export type { RegisteredServer, RestartSummary as McpRestartSummary, AuthHooks as McpAuthHooks, ConnectResult as McpConnectResult, OAuthProviderFactory, } from './mcp/registry.js';
|
|
76
|
+
export { loadMcpServers, loadMcpFromDisk, loadMergedConfigsFromDisk } from './mcp/loader.js';
|
|
77
|
+
export type { LoadOptions as McpLoadOptions, LoadResult as McpLoadResult } from './mcp/loader.js';
|
|
78
|
+
export { McpPermissionStore, classifyDecision } from './mcp/permissions.js';
|
|
79
|
+
export type { McpPermissionDecision } from './mcp/permissions.js';
|
|
80
|
+
export { isProjectTrusted, trustProject, promptForTrust, buildServerPreview } from './mcp/trust.js';
|
|
81
|
+
export type { TrustChoice } from './mcp/trust.js';
|
|
82
|
+
export { McpTokenStorage, getTokenStorage, setTokenStorageForTesting } from './mcp/oauth/token-storage.js';
|
|
83
|
+
export type { StoredServerAuth } from './mcp/oauth/token-storage.js';
|
|
84
|
+
export { McpOAuthProvider, createOAuthProviderFactory } from './mcp/oauth/provider.js';
|
|
85
|
+
export { startCallbackServer } from './mcp/oauth/callback-server.js';
|
|
86
|
+
export type { McpServerConfig, McpServerStatus, McpToolEntry, McpResourceEntry, McpCallResult } from './mcp/types.js';
|
|
87
|
+
export { isStdioConfig, isHttpConfig } from './mcp/types.js';
|
|
88
|
+
export { buildCallableName, MCP_MAX_NAME_LEN } from './mcp/name-mangling.js';
|
|
89
|
+
export { expandEnvDeep, expandEnvString, EnvExpansionError } from './mcp/expand-env.js';
|
|
90
|
+
export { parseServersBlock, parseServerConfig, mcpServersSchema } from './mcp/config-schema.js';
|
|
91
|
+
export { parseAdd, parseAddJson, parseRemove, tokenize } from './mcp/arg-parser.js';
|
|
92
|
+
export type { AddCommand, AddJsonCommand, RemoveCommand, ParsedCommand, ParseResult, ConfigScope, } from './mcp/arg-parser.js';
|
|
93
|
+
export { detectScope, getConfigPath as getMcpConfigPath, readServerConfig, removeServerFromConfig, serverExists, writeServerToConfig, } from './mcp/config-writer.js';
|
|
94
|
+
export type { DetectScopeResult } from './mcp/config-writer.js';
|
|
40
95
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACxH,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAG7D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1G,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAGzE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACxE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './permis
|
|
|
24
24
|
export { extractCommandPrefix, suggestRuleLabel } from './permissions/index.js';
|
|
25
25
|
export { loadPersistedRules, persistRule } from './permissions/index.js';
|
|
26
26
|
// Utils
|
|
27
|
-
export {
|
|
27
|
+
export { USER_XCODE_DIR, XCODE_DIR, debugLog, setPluginDebugMirror } from './utils.js';
|
|
28
28
|
export { LruCache } from './utils/lru-cache.js';
|
|
29
29
|
export { mediaTypeFor } from './utils/media-type.js';
|
|
30
30
|
export { extractText } from './utils/message-helpers.js';
|
|
@@ -34,7 +34,43 @@ export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
|
|
|
34
34
|
export { generateSessionSummary } from './knowledge/session.js';
|
|
35
35
|
// Sub-agents
|
|
36
36
|
export { createSubAgentRegistry, createBuiltInRegistry, SubAgentRegistry } from './agent/sub-agents/index.js';
|
|
37
|
+
// File-based slash commands (plugin-contributed `commands/*.md`).
|
|
38
|
+
export { CommandRegistry, createCommandRegistry, loadPluginCommands, expandCommandBody } from './commands/index.js';
|
|
39
|
+
// Hooks — agent lifecycle event subsystem driven by plugin contributions.
|
|
40
|
+
export { HookBus, emptyHookBus, aggregatePreToolUse, aggregatePostToolUse, aggregateUserPromptSubmit, } from './hooks/bus.js';
|
|
41
|
+
export { HookRegistry, buildHookRegistry, emptyHookRegistry } from './hooks/registry.js';
|
|
42
|
+
export { executeHook } from './hooks/executor.js';
|
|
43
|
+
export { hookConfigSchema, parseHookConfig, HookConfigParseError } from './hooks/config-schema.js';
|
|
44
|
+
export { buildVariableContext, expandVariables } from './hooks/variables.js';
|
|
45
|
+
// Plugins — discovery, install, marketplace, registry.
|
|
46
|
+
export { loadAllPlugins, resolveContributions } from './plugins/loader.js';
|
|
47
|
+
export { PluginRegistry, emptyPluginRegistry } from './plugins/registry.js';
|
|
48
|
+
export { buildPluginIntegration, debugLogIntegrationDiagnostics, getPluginMcpServersFromDisk, } from './plugins/integration.js';
|
|
49
|
+
export { refreshPluginContributions } from './plugins/refresh.js';
|
|
50
|
+
export { installPlugin, uninstallPlugin, listInstalledPlugins, findInstalledPlugin, InstallError, } from './plugins/installer.js';
|
|
51
|
+
export { buildConsentPreview, probePluginRoot } from './plugins/consent.js';
|
|
52
|
+
export { getPluginUserConfig, setPluginUserConfig, clearPluginUserConfig, getPluginUserConfigEnv, } from './plugins/user-config.js';
|
|
53
|
+
export { parseMarketplace, readKnownMarketplaces, addKnownMarketplace, removeKnownMarketplace, ensureDefaultMarketplaces, fetchMarketplace, readAllCachedMarketplaces, lookupPlugin, resolveCloneUrl, RESERVED_MARKETPLACE_NAMES, MarketplaceParseError, } from './plugins/marketplace.js';
|
|
54
|
+
export { EnableState, setPluginEnabled, clearPluginEntry, settingsPathForScope as pluginSettingsPathForScope, } from './plugins/enable-state.js';
|
|
55
|
+
export { discoverManifest, parseManifest, ManifestParseError } from './plugins/manifest.js';
|
|
56
|
+
// Skills
|
|
57
|
+
export { SkillRegistry, createSkillRegistry, reloadSkillRegistry, formatSkillActivationBody, wrapActivatedSkill, } from './skills/registry.js';
|
|
58
|
+
export { getScopedDisabledSkills, setSkillDisabled, skillSettingsPath } from './skills/settings.js';
|
|
37
59
|
// Session store (per-session jsonl transcript — used by /resume,
|
|
38
60
|
// /usage history, and the CLI startup --resume / --continue flags).
|
|
39
61
|
export { appendInterrupted, flushPendingMessages, getSessionFilePath, hydrateLoopState, listSessions, loadSession, pickLatestSession, } from './agent/session-store.js';
|
|
62
|
+
// MCP — Model Context Protocol client support.
|
|
63
|
+
export { McpRegistry, emptyRegistry } from './mcp/registry.js';
|
|
64
|
+
export { loadMcpServers, loadMcpFromDisk, loadMergedConfigsFromDisk } from './mcp/loader.js';
|
|
65
|
+
export { McpPermissionStore, classifyDecision } from './mcp/permissions.js';
|
|
66
|
+
export { isProjectTrusted, trustProject, promptForTrust, buildServerPreview } from './mcp/trust.js';
|
|
67
|
+
export { McpTokenStorage, getTokenStorage, setTokenStorageForTesting } from './mcp/oauth/token-storage.js';
|
|
68
|
+
export { McpOAuthProvider, createOAuthProviderFactory } from './mcp/oauth/provider.js';
|
|
69
|
+
export { startCallbackServer } from './mcp/oauth/callback-server.js';
|
|
70
|
+
export { isStdioConfig, isHttpConfig } from './mcp/types.js';
|
|
71
|
+
export { buildCallableName, MCP_MAX_NAME_LEN } from './mcp/name-mangling.js';
|
|
72
|
+
export { expandEnvDeep, expandEnvString, EnvExpansionError } from './mcp/expand-env.js';
|
|
73
|
+
export { parseServersBlock, parseServerConfig, mcpServersSchema } from './mcp/config-schema.js';
|
|
74
|
+
export { parseAdd, parseAddJson, parseRemove, tokenize } from './mcp/arg-parser.js';
|
|
75
|
+
export { detectScope, getConfigPath as getMcpConfigPath, readServerConfig, removeServerFromConfig, serverExists, writeServerToConfig, } from './mcp/config-writer.js';
|
|
40
76
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAoBxC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG9G,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxH,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1G,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG7E,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ declare class AutoMemory {
|
|
|
29
29
|
/** Save to file */
|
|
30
30
|
private save;
|
|
31
31
|
}
|
|
32
|
-
export declare function getAutoMemory(scope: 'project' | '
|
|
32
|
+
export declare function getAutoMemory(scope: 'project' | 'user'): AutoMemory;
|
|
33
33
|
/** Initialize memories (load from disk + evict old entries) */
|
|
34
34
|
export declare function initMemories(): Promise<void>;
|
|
35
35
|
export { AutoMemory };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-memory.d.ts","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAwBzE,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAQ;IACxB,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAAmC;gBAExC,QAAQ,EAAE,MAAM;IAI5B,8BAA8B;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,qFAAqF;IACrF,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBjC,oDAAoD;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5C,+CAA+C;IAC/C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/D,wCAAwC;IACxC,KAAK,CAAC,UAAU,GAAE,MAAW,GAAG,IAAI;IAOpC,oBAAoB;IACpB,MAAM,IAAI,aAAa,EAAE;IAIzB,qEAAqE;IACrE,gBAAgB,IAAI,MAAM;IAS1B,mCAAmC;IACnC,OAAO,CAAC,SAAS;IAsBjB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB,mBAAmB;YACL,IAAI;CAQnB;AA6CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"auto-memory.d.ts","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAwBzE,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAQ;IACxB,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAAmC;gBAExC,QAAQ,EAAE,MAAM;IAI5B,8BAA8B;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,qFAAqF;IACrF,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBjC,oDAAoD;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5C,+CAA+C;IAC/C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/D,wCAAwC;IACxC,KAAK,CAAC,UAAU,GAAE,MAAW,GAAG,IAAI;IAOpC,oBAAoB;IACpB,MAAM,IAAI,aAAa,EAAE;IAIzB,qEAAqE;IACrE,gBAAgB,IAAI,MAAM;IAS1B,mCAAmC;IACnC,OAAO,CAAC,SAAS;IAsBjB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB,mBAAmB;YACL,IAAI;CAQnB;AA6CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAcnE;AAED,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @x-code-cli/core — AutoMemory class (key-based CRUD + conflict detection + TTL eviction)
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { USER_XCODE_DIR, XCODE_DIR } from '../utils.js';
|
|
5
5
|
const MAX_LOAD_LINES = 200;
|
|
6
6
|
/** Whitelist of valid categories — keep in sync with `KnowledgeCategory` in types/index.ts.
|
|
7
7
|
* Anything outside this set is rejected at both write time and parse time so legacy
|
|
@@ -156,10 +156,10 @@ function parseMemoryFile(content) {
|
|
|
156
156
|
// Project memory is keyed by cwd so that if the process ever changes its
|
|
157
157
|
// working directory (e.g. embedding in a daemon or test harness), we get a
|
|
158
158
|
// fresh instance bound to the right file rather than silently reusing the
|
|
159
|
-
// stale one.
|
|
160
|
-
//
|
|
159
|
+
// stale one. User-scope memory is a true singleton — its path is fixed by
|
|
160
|
+
// USER_XCODE_DIR.
|
|
161
161
|
const projectMemories = new Map();
|
|
162
|
-
let
|
|
162
|
+
let userMemory = null;
|
|
163
163
|
function projectMemoryPath(cwd) {
|
|
164
164
|
return path.join(cwd, XCODE_DIR, 'memory', 'auto.md');
|
|
165
165
|
}
|
|
@@ -173,18 +173,18 @@ export function getAutoMemory(scope) {
|
|
|
173
173
|
}
|
|
174
174
|
return mem;
|
|
175
175
|
}
|
|
176
|
-
if (!
|
|
177
|
-
|
|
176
|
+
if (!userMemory) {
|
|
177
|
+
userMemory = new AutoMemory(path.join(USER_XCODE_DIR, 'memory', 'auto.md'));
|
|
178
178
|
}
|
|
179
|
-
return
|
|
179
|
+
return userMemory;
|
|
180
180
|
}
|
|
181
181
|
/** Initialize memories (load from disk + evict old entries) */
|
|
182
182
|
export async function initMemories() {
|
|
183
183
|
const project = getAutoMemory('project');
|
|
184
|
-
const
|
|
185
|
-
await Promise.all([project.load(),
|
|
184
|
+
const user = getAutoMemory('user');
|
|
185
|
+
await Promise.all([project.load(), user.load()]);
|
|
186
186
|
project.evict(90);
|
|
187
|
-
|
|
187
|
+
user.evict(90);
|
|
188
188
|
}
|
|
189
189
|
export { AutoMemory };
|
|
190
190
|
//# sourceMappingURL=auto-memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-memory.js","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auto-memory.js","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"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"}
|
package/dist/knowledge/loader.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// Layered project context loading. Sources (root-to-leaf precedence within a
|
|
4
4
|
// section; sections concatenated in the order below):
|
|
5
5
|
//
|
|
6
|
-
// 1.
|
|
7
|
-
// 2.
|
|
6
|
+
// 1. User AGENTS.md (~/.x-code/) — fallback to CLAUDE.md when absent
|
|
7
|
+
// 2. User auto memory (~/.x-code/memory/auto.md) — AI-written via post-turn extractor
|
|
8
8
|
// 3. Project AGENTS.md chain — fallback to CLAUDE.md per directory
|
|
9
9
|
// 4. Project auto memory (.x-code/memory/auto.md) — AI-written via post-turn extractor
|
|
10
10
|
// 5. AGENTS.local.md at project root — personal preferences, gitignored
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
// exist in the same directory, AGENTS.md wins outright and CLAUDE.md is
|
|
21
21
|
// ignored. Writes (`/init`, future tooling) always target AGENTS.md.
|
|
22
22
|
import path from 'node:path';
|
|
23
|
-
import {
|
|
23
|
+
import { USER_XCODE_DIR, fileExists, readFileSafe } from '../utils.js';
|
|
24
24
|
import { getAutoMemory } from './auto-memory.js';
|
|
25
|
-
const
|
|
25
|
+
const USER_DIR = USER_XCODE_DIR;
|
|
26
26
|
/** Filenames recognised at each directory, tried in order. The first one
|
|
27
27
|
* found wins for that directory; the rest are skipped. AGENTS.md is our
|
|
28
28
|
* primary convention; CLAUDE.md is read-only fallback for compat. */
|
|
@@ -74,18 +74,18 @@ async function collectProjectKnowledgeChain(startDir) {
|
|
|
74
74
|
/** Build the full knowledge context for system prompt injection */
|
|
75
75
|
export async function buildKnowledgeContext(options) {
|
|
76
76
|
const sections = [];
|
|
77
|
-
//
|
|
77
|
+
// User-scope human-written prefs: AGENTS.md preferred; fall back to
|
|
78
78
|
// CLAUDE.md so users with an existing `~/.x-code/CLAUDE.md` (or one
|
|
79
79
|
// copied over from Claude Code's home) get it picked up without
|
|
80
80
|
// having to rename.
|
|
81
|
-
const
|
|
82
|
-
if (
|
|
83
|
-
sections.push(`###
|
|
81
|
+
const userKnowledge = await readKnowledgeFile(USER_DIR);
|
|
82
|
+
if (userKnowledge) {
|
|
83
|
+
sections.push(`### User Preferences (~/.x-code/${userKnowledge.fileName})\n${userKnowledge.content}`);
|
|
84
84
|
}
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
if (
|
|
88
|
-
sections.push('###
|
|
85
|
+
const userMemory = getAutoMemory('user');
|
|
86
|
+
const userMemoryContent = userMemory.getPromptContent();
|
|
87
|
+
if (userMemoryContent) {
|
|
88
|
+
sections.push('### User Auto Memory\n' + userMemoryContent);
|
|
89
89
|
}
|
|
90
90
|
const cwd = process.cwd();
|
|
91
91
|
const projectKnowledge = await collectProjectKnowledgeChain(cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/knowledge/loader.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,6EAA6E;AAC7E,sDAAsD;AACtD,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/knowledge/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { McpServerConfig } from './types.js';
|
|
2
|
+
export type ConfigScope = 'user' | 'project';
|
|
3
|
+
export interface AddCommand {
|
|
4
|
+
kind: 'add';
|
|
5
|
+
name: string;
|
|
6
|
+
scope: ConfigScope;
|
|
7
|
+
config: McpServerConfig;
|
|
8
|
+
}
|
|
9
|
+
export interface AddJsonCommand {
|
|
10
|
+
kind: 'add-json';
|
|
11
|
+
name: string;
|
|
12
|
+
scope: ConfigScope;
|
|
13
|
+
config: McpServerConfig;
|
|
14
|
+
}
|
|
15
|
+
export interface RemoveCommand {
|
|
16
|
+
kind: 'remove';
|
|
17
|
+
name: string;
|
|
18
|
+
/** Undefined when the user didn't pass --scope; caller auto-detects. */
|
|
19
|
+
scope?: ConfigScope;
|
|
20
|
+
}
|
|
21
|
+
export type ParsedCommand = AddCommand | AddJsonCommand | RemoveCommand;
|
|
22
|
+
export type ParseResult<T extends ParsedCommand = ParsedCommand> = {
|
|
23
|
+
ok: true;
|
|
24
|
+
command: T;
|
|
25
|
+
} | {
|
|
26
|
+
ok: false;
|
|
27
|
+
error: string;
|
|
28
|
+
};
|
|
29
|
+
/** Parse args for `/mcp add [...flags] <name> <command-or-url> [args...]`. */
|
|
30
|
+
export declare function parseAdd(rawArg: string): ParseResult<AddCommand>;
|
|
31
|
+
/** Parse args for `/mcp add-json [--scope ...] <name> '<json>'`.
|
|
32
|
+
* The JSON blob is whatever the schema accepts — same validation runs
|
|
33
|
+
* on the loader side, so passing parseServerConfig here keeps errors
|
|
34
|
+
* uniform between "wrote it via CLI" and "edited the file by hand". */
|
|
35
|
+
export declare function parseAddJson(rawArg: string): ParseResult<AddJsonCommand>;
|
|
36
|
+
/** Parse args for `/mcp remove [--scope ...] <name>`. */
|
|
37
|
+
export declare function parseRemove(rawArg: string): ParseResult<RemoveCommand>;
|
|
38
|
+
/** Minimal POSIX-ish tokeniser. Supports "..."/'...' quoting and
|
|
39
|
+
* backslash-escape of any single char. Quotes are stripped from the
|
|
40
|
+
* output; escapes drop the backslash. Returns a tagged result so the
|
|
41
|
+
* caller can surface "unclosed quote" without throwing. */
|
|
42
|
+
export declare function tokenize(input: string): {
|
|
43
|
+
ok: true;
|
|
44
|
+
tokens: string[];
|
|
45
|
+
} | {
|
|
46
|
+
ok: false;
|
|
47
|
+
error: string;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=arg-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-parser.d.ts","sourceRoot":"","sources":["../../src/mcp/arg-parser.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAuB,eAAe,EAAwB,MAAM,YAAY,CAAA;AAE5F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;AAEvE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAC3D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GACxB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAYhC,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAyIhE;AAED;;;wEAGwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAwExE;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAoCtE;AAWD;;;4DAG4D;AAC5D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA2ErG"}
|