chat-recall 0.7.3 → 0.7.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"intent-drain.d.ts","sourceRoot":"","sources":["../src/intent-drain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAwBH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;IACtE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAe5F;AAED;;8BAE8B;AAC9B,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqC3G;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAoHD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA8D7F"}
1
+ {"version":3,"file":"intent-drain.d.ts","sourceRoot":"","sources":["../src/intent-drain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAwBH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;IACtE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAe5F;AAED;;8BAE8B;AAC9B,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqC3G;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAsHD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA8D7F"}
@@ -167,7 +167,9 @@ async function runPull(base, opts) {
167
167
  }
168
168
  })
169
169
  : rows;
170
- const report = executePull(filtered, { thisDeviceId: hostname(), types: wanted });
170
+ // An intent that names one server is the user choosing it, so it installs
171
+ // whatever platform registered it.
172
+ const report = executePull(filtered, { thisDeviceId: hostname(), types: wanted, explicit: opts.name ? [opts.name] : undefined });
171
173
  const written = report.outcomes.filter((o) => o.status === 'written');
172
174
  const failed = report.outcomes.filter((o) => o.status === 'failed');
173
175
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"intent-drain.js","sourceRoot":"","sources":["../src/intent-drain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent-drain.js","sourceRoot":"","sources":["../src/intent-drain.ts"],"names":[],"mappings":"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"}
package/dist/mcp-relay.js CHANGED
@@ -192,7 +192,7 @@ function bridge(input, output, sock, exit, opts = {}) {
192
192
  }
193
193
 
194
194
  // src/mcp-relay.ts
195
- var VERSION = true ? "0.7.3" : "0.0.0";
195
+ var VERSION = true ? "0.7.4" : "0.0.0";
196
196
  var SERVER_URL = new URL("./mcp.js", import.meta.url);
197
197
  var SERVER_PATH = fileURLToPath(SERVER_URL);
198
198
  var START_TIMEOUT_MS = 15e3;
package/dist/mcp.js CHANGED
@@ -7093,7 +7093,7 @@ async function archiveRawSession(store2, sessionId) {
7093
7093
  return await store2.putRawSession(sessionId, exp.tool, Math.floor(exp.mtime), gz, size);
7094
7094
  }
7095
7095
  function detectForkPredecessor(sessionPath) {
7096
- const { readFileSync: readFileSync44, readdirSync: readdirSync35 } = requireFs();
7096
+ const { readFileSync: readFileSync44, readdirSync: readdirSync34 } = requireFs();
7097
7097
  const { dirname: dirname21, join: join53, basename: basename24 } = requirePath();
7098
7098
  let text;
7099
7099
  try {
@@ -7123,7 +7123,7 @@ function detectForkPredecessor(sessionPath) {
7123
7123
  const self = basename24(sessionPath);
7124
7124
  let entries;
7125
7125
  try {
7126
- entries = readdirSync35(dir);
7126
+ entries = readdirSync34(dir);
7127
7127
  } catch {
7128
7128
  return null;
7129
7129
  }
@@ -9921,8 +9921,35 @@ var init_codex2 = __esm({
9921
9921
  configToml() {
9922
9922
  return join15(this.homeDir(), "config.toml");
9923
9923
  }
9924
- pluginsDir() {
9925
- return join15(this.homeDir(), ".tmp", "plugins", "plugins");
9924
+ /**
9925
+ * Plugins that are INSTALLED, one folder each:
9926
+ * `plugins/cache/<marketplace>/<plugin>/<version>/`, newest version.
9927
+ *
9928
+ * `.tmp/plugins/plugins/` is Codex's copy of the plugin catalog (62 plugins
9929
+ * and a README on one machine), not what is installed. Reading it reported
9930
+ * every catalog plugin's skills and MCP servers as the user's own, and a
9931
+ * pull then installed them into every tool: build-ios-apps' xcodebuildmcp
9932
+ * reached a Linux PC that never installed the plugin.
9933
+ */
9934
+ installedPluginDirs() {
9935
+ const cache4 = join15(this.homeDir(), "plugins", "cache");
9936
+ const out = [];
9937
+ const dirs = (p) => {
9938
+ try {
9939
+ return readdirSync10(p, { withFileTypes: true }).filter((e) => e.isDirectory() && !e.name.startsWith(".")).map((e) => e.name);
9940
+ } catch {
9941
+ return [];
9942
+ }
9943
+ };
9944
+ for (const market of dirs(cache4)) {
9945
+ for (const plugin of dirs(join15(cache4, market))) {
9946
+ const versions = dirs(join15(cache4, market, plugin)).sort((a, b) => a.localeCompare(b, void 0, { numeric: true }));
9947
+ const newest = versions[versions.length - 1];
9948
+ if (newest)
9949
+ out.push({ name: plugin, dir: join15(cache4, market, plugin, newest) });
9950
+ }
9951
+ }
9952
+ return out;
9926
9953
  }
9927
9954
  /** OpenAI-bundled, read-only system skills (imagegen, skill-creator, …). */
9928
9955
  skillsSystemDir() {
@@ -17947,14 +17974,11 @@ var init_skills_source = __esm({
17947
17974
  }
17948
17975
  if (!isSourceEnabled("codex", "skills"))
17949
17976
  return;
17950
- const codexPluginsDir = codexBackend.pluginsDir();
17951
- if (existsSync37(codexPluginsDir)) {
17952
- for (const pluginName of readdirSync26(codexPluginsDir)) {
17953
- const skillsDir = join40(codexPluginsDir, pluginName, "skills");
17954
- if (!existsSync37(skillsDir))
17955
- continue;
17956
- yield* this.fromSkillRoot({ path: skillsDir, tool: "codex" }, pluginName);
17957
- }
17977
+ for (const { name: pluginName, dir } of codexBackend.installedPluginDirs()) {
17978
+ const skillsDir = join40(dir, "skills");
17979
+ if (!existsSync37(skillsDir))
17980
+ continue;
17981
+ yield* this.fromSkillRoot({ path: skillsDir, tool: "codex" }, pluginName);
17958
17982
  }
17959
17983
  }
17960
17984
  async *fromSkillRoot(root, pluginName) {
@@ -18067,7 +18091,7 @@ var init_skills_source = __esm({
18067
18091
  });
18068
18092
 
18069
18093
  // ../engine/dist/parsers/mcps-source.js
18070
- import { existsSync as existsSync38, readdirSync as readdirSync27, readFileSync as readFileSync29, statSync as statSync35 } from "fs";
18094
+ import { existsSync as existsSync38, readFileSync as readFileSync29, statSync as statSync35 } from "fs";
18071
18095
  import { homedir as homedir15 } from "os";
18072
18096
  import { join as join41 } from "path";
18073
18097
  function readJson(path2) {
@@ -18179,16 +18203,13 @@ var init_mcps_source = __esm({
18179
18203
  scope: "user"
18180
18204
  });
18181
18205
  yield* this.fromCodexToml(codexBackend.configToml());
18182
- const pluginsDir = codexBackend.pluginsDir();
18183
- if (existsSync38(pluginsDir)) {
18184
- for (const plugin of readdirSync27(pluginsDir)) {
18185
- const mcpPath = join41(pluginsDir, plugin, ".mcp.json");
18186
- yield* this.fromObject(readJson(mcpPath)?.mcpServers, {
18187
- tool: "codex",
18188
- filePath: mcpPath,
18189
- scope: "plugin"
18190
- });
18191
- }
18206
+ for (const { dir } of codexBackend.installedPluginDirs()) {
18207
+ const mcpPath = join41(dir, ".mcp.json");
18208
+ yield* this.fromObject(readJson(mcpPath)?.mcpServers, {
18209
+ tool: "codex",
18210
+ filePath: mcpPath,
18211
+ scope: "plugin"
18212
+ });
18192
18213
  }
18193
18214
  }
18194
18215
  async *fromObject(obj, ctx) {
@@ -18226,7 +18247,12 @@ var init_mcps_source = __esm({
18226
18247
  // MCP's url into a shell string, and `alwaysAllow` is truncated to
18227
18248
  // 8 for the preview — rebuilding from either produces a broken or
18228
18249
  // half-permissioned server, silently.
18229
- spec
18250
+ spec,
18251
+ // Where this registration runs. A server that starts through npx
18252
+ // passes the command check on any machine, so this is what tells a
18253
+ // pull that it came from another platform (see toolkit-pull.ts).
18254
+ platform: process.platform,
18255
+ arch: process.arch
18230
18256
  }
18231
18257
  };
18232
18258
  }
@@ -18388,7 +18414,7 @@ var init_toolkit_format = __esm({
18388
18414
  });
18389
18415
 
18390
18416
  // ../engine/dist/parsers/slash-commands-source.js
18391
- import { existsSync as existsSync39, readdirSync as readdirSync28, readFileSync as readFileSync30, statSync as statSync36 } from "fs";
18417
+ import { existsSync as existsSync39, readdirSync as readdirSync27, readFileSync as readFileSync30, statSync as statSync36 } from "fs";
18392
18418
  import { join as join42, basename as basename20 } from "path";
18393
18419
  function rebuildBody2(content) {
18394
18420
  const { text, redacted } = redactInlineSecrets(content);
@@ -18443,7 +18469,7 @@ var init_slash_commands_source = __esm({
18443
18469
  const projectsRoot = claudeBackend.projectsDir();
18444
18470
  if (existsSync39(projectsRoot)) {
18445
18471
  try {
18446
- for (const entry of readdirSync28(projectsRoot, { withFileTypes: true })) {
18472
+ for (const entry of readdirSync27(projectsRoot, { withFileTypes: true })) {
18447
18473
  if (!entry.isDirectory() || entry.name.startsWith("."))
18448
18474
  continue;
18449
18475
  const projectPath = resolveProjectDirName(entry.name);
@@ -18475,7 +18501,7 @@ var init_slash_commands_source = __esm({
18475
18501
  const ext = root.format === "toml" ? ".toml" : ".md";
18476
18502
  let files;
18477
18503
  try {
18478
- files = readdirSync28(root.path).filter((f) => f.endsWith(ext));
18504
+ files = readdirSync27(root.path).filter((f) => f.endsWith(ext));
18479
18505
  } catch {
18480
18506
  continue;
18481
18507
  }
@@ -18535,7 +18561,7 @@ var init_slash_commands_source = __esm({
18535
18561
  });
18536
18562
 
18537
18563
  // ../engine/dist/parsers/subagents-source.js
18538
- import { existsSync as existsSync40, readdirSync as readdirSync29, readFileSync as readFileSync31, statSync as statSync37 } from "fs";
18564
+ import { existsSync as existsSync40, readdirSync as readdirSync28, readFileSync as readFileSync31, statSync as statSync37 } from "fs";
18539
18565
  import { join as join43, basename as basename21 } from "path";
18540
18566
  function rebuildBody3(content) {
18541
18567
  const { text, redacted } = redactInlineSecrets(content);
@@ -18592,7 +18618,7 @@ var init_subagents_source = __esm({
18592
18618
  const projectsRoot = claudeBackend.projectsDir();
18593
18619
  if (existsSync40(projectsRoot)) {
18594
18620
  try {
18595
- for (const entry of readdirSync29(projectsRoot, { withFileTypes: true })) {
18621
+ for (const entry of readdirSync28(projectsRoot, { withFileTypes: true })) {
18596
18622
  if (!entry.isDirectory() || entry.name.startsWith("."))
18597
18623
  continue;
18598
18624
  const projectPath = resolveProjectDirName(entry.name);
@@ -18624,7 +18650,7 @@ var init_subagents_source = __esm({
18624
18650
  const ext = root.format === "toml" ? ".toml" : ".md";
18625
18651
  let files;
18626
18652
  try {
18627
- files = readdirSync29(root.path).filter((f) => f.endsWith(ext));
18653
+ files = readdirSync28(root.path).filter((f) => f.endsWith(ext));
18628
18654
  } catch {
18629
18655
  continue;
18630
18656
  }
@@ -18685,7 +18711,7 @@ var init_subagents_source = __esm({
18685
18711
  });
18686
18712
 
18687
18713
  // ../engine/dist/parsers/hooks-source.js
18688
- import { existsSync as existsSync41, readFileSync as readFileSync32, readdirSync as readdirSync30, statSync as statSync38 } from "fs";
18714
+ import { existsSync as existsSync41, readFileSync as readFileSync32, readdirSync as readdirSync29, statSync as statSync38 } from "fs";
18689
18715
  import { join as join44 } from "path";
18690
18716
  function readJson2(path2) {
18691
18717
  if (!existsSync41(path2))
@@ -18712,7 +18738,7 @@ var init_hooks_source = __esm({
18712
18738
  const projectsRoot = claudeBackend.projectsDir();
18713
18739
  if (existsSync41(projectsRoot)) {
18714
18740
  try {
18715
- for (const entry of readdirSync30(projectsRoot, { withFileTypes: true })) {
18741
+ for (const entry of readdirSync29(projectsRoot, { withFileTypes: true })) {
18716
18742
  if (!entry.isDirectory() || entry.name.startsWith("."))
18717
18743
  continue;
18718
18744
  const projectPath = resolveProjectDirName(entry.name);
@@ -18808,7 +18834,7 @@ var init_hooks_source = __esm({
18808
18834
  });
18809
18835
 
18810
18836
  // ../engine/dist/parsers/plugins-source.js
18811
- import { existsSync as existsSync42, readFileSync as readFileSync33, readdirSync as readdirSync31, statSync as statSync39 } from "fs";
18837
+ import { existsSync as existsSync42, readFileSync as readFileSync33, readdirSync as readdirSync30, statSync as statSync39 } from "fs";
18812
18838
  import { homedir as homedir16 } from "os";
18813
18839
  import { join as join45 } from "path";
18814
18840
  function readJson3(path2) {
@@ -18870,7 +18896,7 @@ var init_plugins_source = __esm({
18870
18896
  if (isSourceEnabled("agy", "extensions") && existsSync42(gemRoot)) {
18871
18897
  let entries;
18872
18898
  try {
18873
- entries = readdirSync31(gemRoot);
18899
+ entries = readdirSync30(gemRoot);
18874
18900
  } catch {
18875
18901
  entries = [];
18876
18902
  }
@@ -18914,16 +18940,8 @@ var init_plugins_source = __esm({
18914
18940
  };
18915
18941
  }
18916
18942
  }
18917
- const codexPluginsRoot = codexBackend.pluginsDir();
18918
- if (isSourceEnabled("codex", "plugins") && existsSync42(codexPluginsRoot)) {
18919
- let entries;
18920
- try {
18921
- entries = readdirSync31(codexPluginsRoot);
18922
- } catch {
18923
- entries = [];
18924
- }
18925
- for (const name of entries) {
18926
- const pluginDir = join45(codexPluginsRoot, name);
18943
+ if (isSourceEnabled("codex", "plugins")) {
18944
+ for (const { name, dir: pluginDir } of codexBackend.installedPluginDirs()) {
18927
18945
  let st;
18928
18946
  try {
18929
18947
  st = statSync39(pluginDir);
@@ -19037,7 +19055,8 @@ var init_all_sources = __esm({
19037
19055
 
19038
19056
  // ../engine/dist/core/extractor-version.js
19039
19057
  function extractorVersionForItem(id, sourceType) {
19040
- return extractorVersionForTool(toolOfId(id)) + (ITEM_SOURCE_BUMP[sourceType] ?? 0);
19058
+ const tool = toolOfId(id);
19059
+ return extractorVersionForTool(tool) + (ITEM_SOURCE_BUMP[sourceType] ?? 0) + (ITEM_TOOL_SOURCE_BUMP[`${tool}:${sourceType}`] ?? 0);
19041
19060
  }
19042
19061
  function toolOfId(id) {
19043
19062
  if (id.startsWith("agy_"))
@@ -19058,17 +19077,21 @@ function extractorVersionForTool(tool) {
19058
19077
  function extractorVersionForId(id) {
19059
19078
  return extractorVersionForTool(toolOfId(id));
19060
19079
  }
19061
- var BASE_EXTRACTOR_VERSION, ITEM_SOURCE_BUMP, TOOL_EXTRACTOR_BUMP, EXTRACTOR_VERSION;
19080
+ var BASE_EXTRACTOR_VERSION, ITEM_SOURCE_BUMP, ITEM_TOOL_SOURCE_BUMP, TOOL_EXTRACTOR_BUMP, EXTRACTOR_VERSION;
19062
19081
  var init_extractor_version = __esm({
19063
19082
  "../engine/dist/core/extractor-version.js"() {
19064
19083
  "use strict";
19065
19084
  BASE_EXTRACTOR_VERSION = 2;
19066
19085
  ITEM_SOURCE_BUMP = {
19067
- mcp: 1,
19086
+ mcp: 2,
19068
19087
  skill: 1,
19069
19088
  agent: 1,
19070
19089
  command: 1
19071
19090
  };
19091
+ ITEM_TOOL_SOURCE_BUMP = {
19092
+ "codex:skill": 1,
19093
+ "codex:plugin": 1
19094
+ };
19072
19095
  TOOL_EXTRACTOR_BUMP = {
19073
19096
  agy: 3,
19074
19097
  claude: 1,
@@ -19177,6 +19200,28 @@ function saveItemVersions(server, versions) {
19177
19200
  writeFileSync7(tmp, JSON.stringify(all));
19178
19201
  renameSync5(tmp, path2);
19179
19202
  }
19203
+ function loadInventoryHashes(server) {
19204
+ try {
19205
+ const parsed = JSON.parse(readFileSync34(inventoryPath(), "utf-8"));
19206
+ return { ...(parsed && typeof parsed === "object" ? parsed[server] : null) || {} };
19207
+ } catch {
19208
+ return {};
19209
+ }
19210
+ }
19211
+ function saveInventoryHashes(server, hashes) {
19212
+ let all = {};
19213
+ try {
19214
+ all = JSON.parse(readFileSync34(inventoryPath(), "utf-8"));
19215
+ } catch {
19216
+ }
19217
+ if (!all || typeof all !== "object") all = {};
19218
+ all[server] = { ...all[server] || {}, ...hashes };
19219
+ const path2 = inventoryPath();
19220
+ mkdirSync10(dirname17(path2), { recursive: true });
19221
+ const tmp = `${path2}.tmp`;
19222
+ writeFileSync7(tmp, JSON.stringify(all));
19223
+ renameSync5(tmp, path2);
19224
+ }
19180
19225
  function getSyncedRows(server) {
19181
19226
  const data = load();
19182
19227
  const out = /* @__PURE__ */ new Map();
@@ -19288,7 +19333,7 @@ function syncMode(row, mtime, fileSize, extractorVersion, isAppendOnly) {
19288
19333
  if (row.m >= Math.floor(mtime)) return "skip";
19289
19334
  return "full";
19290
19335
  }
19291
- var ledgerPath, cache3, LEDGER_FLUSH_MS, pendingWrite, flushTimer, itemVersionsPath, itemVersionsCache, unackedCursorAttempts, reconcilePath, reconcileCache;
19336
+ var ledgerPath, cache3, LEDGER_FLUSH_MS, pendingWrite, flushTimer, itemVersionsPath, itemVersionsCache, inventoryPath, unackedCursorAttempts, reconcilePath, reconcileCache;
19292
19337
  var init_sync_ledger = __esm({
19293
19338
  "src/sync-ledger.ts"() {
19294
19339
  "use strict";
@@ -19301,6 +19346,7 @@ var init_sync_ledger = __esm({
19301
19346
  flushTimer = null;
19302
19347
  itemVersionsPath = () => join46(getDataDir(), "item-versions.json");
19303
19348
  itemVersionsCache = null;
19349
+ inventoryPath = () => join46(getDataDir(), "toolkit-inventory.json");
19304
19350
  unackedCursorAttempts = 0;
19305
19351
  reconcilePath = () => join46(getDataDir(), "sync-field-reconcile.json");
19306
19352
  reconcileCache = null;
@@ -19449,7 +19495,7 @@ var init_http = __esm({
19449
19495
  CLI_VERSION = JSON.parse(readFileSync36(new URL("../package.json", import.meta.url), "utf-8")).version || CLI_VERSION;
19450
19496
  } catch {
19451
19497
  try {
19452
- if (true) CLI_VERSION = "0.7.3";
19498
+ if (true) CLI_VERSION = "0.7.4";
19453
19499
  } catch {
19454
19500
  }
19455
19501
  }
@@ -19948,7 +19994,7 @@ var init_telemetry = __esm({
19948
19994
  init_sync_client();
19949
19995
  cliVersion2 = () => {
19950
19996
  try {
19951
- return true ? "0.7.3" : "dev";
19997
+ return true ? "0.7.4" : "dev";
19952
19998
  } catch {
19953
19999
  return "dev";
19954
20000
  }
@@ -20117,7 +20163,7 @@ __export(auto_update_exports, {
20117
20163
  import { execSync as execSync4, execFileSync as execFileSync3 } from "node:child_process";
20118
20164
  import { readFileSync as readFileSync37, existsSync as existsSync45 } from "node:fs";
20119
20165
  import { fileURLToPath as fileURLToPath2 } from "node:url";
20120
- import { writeFileSync as writeFileSync9, mkdtempSync as mkdtempSync3, rmSync as rmSync5, readdirSync as readdirSync32, statSync as statSync41, mkdirSync as mkdirSync12 } from "node:fs";
20166
+ import { writeFileSync as writeFileSync9, mkdtempSync as mkdtempSync3, rmSync as rmSync5, readdirSync as readdirSync31, statSync as statSync41, mkdirSync as mkdirSync12 } from "node:fs";
20121
20167
  import { join as join48, dirname as dirname19, sep as sep3, posix as pathPosix, win32 as pathWin32 } from "node:path";
20122
20168
  import { tmpdir as tmpdir3, homedir as homedir17 } from "node:os";
20123
20169
  import { createHash as createHash10 } from "node:crypto";
@@ -20162,7 +20208,7 @@ function sweepStaleStaging(root = tmpdir3(), now = Date.now()) {
20162
20208
  let removed = 0;
20163
20209
  let entries;
20164
20210
  try {
20165
- entries = readdirSync32(root);
20211
+ entries = readdirSync31(root);
20166
20212
  } catch {
20167
20213
  return 0;
20168
20214
  }
@@ -20172,7 +20218,7 @@ function sweepStaleStaging(root = tmpdir3(), now = Date.now()) {
20172
20218
  try {
20173
20219
  const st = statSync41(dir);
20174
20220
  if (!st.isDirectory() || now - st.mtimeMs < COLD_MS) continue;
20175
- const inside = readdirSync32(dir);
20221
+ const inside = readdirSync31(dir);
20176
20222
  if (inside.length > 1 || inside.length === 1 && inside[0] !== "chat-recall.tgz") continue;
20177
20223
  rmSync5(dir, { recursive: true, force: true });
20178
20224
  removed++;
@@ -20376,6 +20422,7 @@ __export(sync_client_exports, {
20376
20422
  DERIVED_MAX_BYTES: () => DERIVED_MAX_BYTES,
20377
20423
  FULL_BUILD_MAX_BYTES: () => FULL_BUILD_MAX_BYTES,
20378
20424
  SYNC_CHUNK_BYTES: () => SYNC_CHUNK_BYTES,
20425
+ TOOLKIT_INVENTORY_TYPES: () => TOOLKIT_INVENTORY_TYPES,
20379
20426
  _acceptedUploads: () => _acceptedUploads,
20380
20427
  _fetchTenantSyncConfigForTests: () => _fetchTenantSyncConfigForTests,
20381
20428
  _resetCapsCacheForTests: () => _resetCapsCacheForTests,
@@ -20404,7 +20451,7 @@ __export(sync_client_exports, {
20404
20451
  syncSessions: () => syncSessions
20405
20452
  });
20406
20453
  import { join as join49, dirname as dirname20, basename as basename22 } from "node:path";
20407
- import { readFileSync as readFileSync38, writeFileSync as writeFileSync10, mkdirSync as mkdirSync13, mkdtempSync as mkdtempSync4, rmSync as rmSync6, chmodSync as chmodSync6, unlinkSync as unlinkSync3, readdirSync as readdirSync33, statSync as statSync42 } from "node:fs";
20454
+ import { readFileSync as readFileSync38, writeFileSync as writeFileSync10, mkdirSync as mkdirSync13, mkdtempSync as mkdtempSync4, rmSync as rmSync6, chmodSync as chmodSync6, unlinkSync as unlinkSync3, readdirSync as readdirSync32, statSync as statSync42 } from "node:fs";
20408
20455
  import { tmpdir as tmpdir4, hostname as hostname2 } from "node:os";
20409
20456
  import { createHash as createHash11 } from "node:crypto";
20410
20457
  import { fileURLToPath as fileURLToPath3 } from "node:url";
@@ -20807,7 +20854,7 @@ function reapStaleScanDirs(dir = tmpdir4(), maxAgeMs = 6 * 36e5, now = Date.now(
20807
20854
  let reaped = 0;
20808
20855
  let names;
20809
20856
  try {
20810
- names = readdirSync33(dir);
20857
+ names = readdirSync32(dir);
20811
20858
  } catch {
20812
20859
  return 0;
20813
20860
  }
@@ -21448,17 +21495,24 @@ async function syncToTargetInScope(cred, opts = {}) {
21448
21495
  const seenTools = /* @__PURE__ */ new Set();
21449
21496
  const seenItemKeys = /* @__PURE__ */ new Map();
21450
21497
  const registry = buildSourceRegistry();
21498
+ const inventory = /* @__PURE__ */ new Map();
21499
+ const inventoryFailed = /* @__PURE__ */ new Set();
21451
21500
  for (const sourceType of registry.getRegisteredTypes()) {
21452
21501
  if (sourceType === "session") continue;
21502
+ if (TOOLKIT_INVENTORY_TYPES.has(sourceType)) inventory.set(sourceType, /* @__PURE__ */ new Set());
21453
21503
  for (const source of registry.getAll(sourceType)) {
21454
21504
  let discovered;
21455
21505
  try {
21456
21506
  discovered = source.discover();
21457
21507
  } catch {
21508
+ inventoryFailed.add(sourceType);
21458
21509
  continue;
21459
21510
  }
21460
21511
  try {
21461
21512
  for await (const item of discovered) {
21513
+ if (inventory.has(item.sourceType) && !excluded(item.projectPath || "") && includedProject(item.projectPath || "")) {
21514
+ inventory.get(item.sourceType).add(item.id);
21515
+ }
21462
21516
  const itemTool = toolOfId(item.id);
21463
21517
  seenTools.add(itemTool);
21464
21518
  const itemKey = `${itemTool}:${item.sourceType}`;
@@ -21516,6 +21570,7 @@ async function syncToTargetInScope(cred, opts = {}) {
21516
21570
  redactions += count.redactions;
21517
21571
  }
21518
21572
  } catch (err) {
21573
+ inventoryFailed.add(sourceType);
21519
21574
  console.error(`[sync] source '${sourceType}' failed mid-walk (its items may be incomplete this run): ${err instanceof Error ? err.message : err}`);
21520
21575
  }
21521
21576
  }
@@ -21542,6 +21597,27 @@ async function syncToTargetInScope(cred, opts = {}) {
21542
21597
  await kgTripleBatch.drain();
21543
21598
  await findingsBatch.drain();
21544
21599
  await drainInflight();
21600
+ {
21601
+ const sentHashes = loadInventoryHashes(base);
21602
+ const entries = [];
21603
+ const hashes = {};
21604
+ for (const [sourceType, ids] of inventory) {
21605
+ if (inventoryFailed.has(sourceType)) continue;
21606
+ const sorted = [...ids].sort();
21607
+ const hash = createHash11("sha256").update(sorted.join("\n")).digest("hex").slice(0, 32);
21608
+ if (sentHashes[sourceType] === hash) continue;
21609
+ entries.push({ source_type: sourceType, ids: sorted });
21610
+ hashes[sourceType] = hash;
21611
+ }
21612
+ if (entries.length > 0) {
21613
+ try {
21614
+ await post({ inventory: entries });
21615
+ saveInventoryHashes(base, hashes);
21616
+ } catch (err) {
21617
+ console.error(`[sync] toolkit inventory not sent (it is retried next sync): ${err instanceof Error ? err.message : err}`);
21618
+ }
21619
+ }
21620
+ }
21545
21621
  if (seenTools.size > 0) {
21546
21622
  try {
21547
21623
  const rec = {};
@@ -21987,7 +22063,7 @@ async function syncIncremental(opts = {}) {
21987
22063
  lock.release();
21988
22064
  }
21989
22065
  }
21990
- var ownVersion, ERROR_CLASS, STANDING_FAILURE, walkProgressForUpload, lastServerPackSpec, credPath, _securityConfigCache, SECURITY_CONFIG_TTL_MS, _syncConfigCache, EMPTY_SYNC_CONFIG, _fetchTenantSyncConfigForTests, SYNC_RULES_REFUSAL, hashPath, acceptedUploads, MAX_DERIVED_ROW_BYTES, isLocalHost, CAPS_TTL_MS, capsOk, advertisedIngestConc, advertisedGzipBody, FULL_BUILD_MAX_BYTES, DERIVED_MAX_BYTES, SYNC_CHUNK_BYTES, BATCH_SCAN_MAX_BYTES;
22066
+ var ownVersion, ERROR_CLASS, STANDING_FAILURE, walkProgressForUpload, lastServerPackSpec, credPath, _securityConfigCache, SECURITY_CONFIG_TTL_MS, _syncConfigCache, EMPTY_SYNC_CONFIG, _fetchTenantSyncConfigForTests, SYNC_RULES_REFUSAL, hashPath, acceptedUploads, MAX_DERIVED_ROW_BYTES, isLocalHost, CAPS_TTL_MS, capsOk, advertisedIngestConc, advertisedGzipBody, FULL_BUILD_MAX_BYTES, DERIVED_MAX_BYTES, SYNC_CHUNK_BYTES, TOOLKIT_INVENTORY_TYPES, BATCH_SCAN_MAX_BYTES;
21991
22067
  var init_sync_client = __esm({
21992
22068
  "src/sync-client.ts"() {
21993
22069
  "use strict";
@@ -22032,7 +22108,7 @@ var init_sync_client = __esm({
22032
22108
  ownVersion = JSON.parse(readFileSync38(join49(dir, "../package.json"), "utf-8")).version || ownVersion;
22033
22109
  } catch {
22034
22110
  try {
22035
- if (true) ownVersion = "0.7.3";
22111
+ if (true) ownVersion = "0.7.4";
22036
22112
  } catch {
22037
22113
  }
22038
22114
  }
@@ -22062,6 +22138,7 @@ var init_sync_client = __esm({
22062
22138
  FULL_BUILD_MAX_BYTES = Math.max(8, parseInt(process.env.CHAT_RECALL_FULL_BUILD_MAX_MB || "24", 10)) * 1024 * 1024;
22063
22139
  DERIVED_MAX_BYTES = Math.max(8, parseInt(process.env.CHAT_RECALL_DERIVED_MAX_MB || "64", 10)) * 1024 * 1024;
22064
22140
  SYNC_CHUNK_BYTES = 8 * 1024 * 1024;
22141
+ TOOLKIT_INVENTORY_TYPES = /* @__PURE__ */ new Set(["skill", "mcp", "command", "agent", "plugin"]);
22065
22142
  BATCH_SCAN_MAX_BYTES = Math.max(1, parseInt(process.env.CHAT_RECALL_BATCHSCAN_MAX_MB || "64", 10)) * 1024 * 1024;
22066
22143
  }
22067
22144
  });
@@ -22528,7 +22605,7 @@ __export(install_skills_exports, {
22528
22605
  skillsSourceDir: () => skillsSourceDir,
22529
22606
  uninstallSkills: () => uninstallSkills
22530
22607
  });
22531
- import { readdirSync as readdirSync34, existsSync as existsSync47, mkdirSync as mkdirSync15, rmSync as rmSync8, cpSync, writeFileSync as writeFileSync13, readFileSync as readFileSync42, statSync as statSync43, realpathSync as realpathSync4 } from "fs";
22608
+ import { readdirSync as readdirSync33, existsSync as existsSync47, mkdirSync as mkdirSync15, rmSync as rmSync8, cpSync, writeFileSync as writeFileSync13, readFileSync as readFileSync42, statSync as statSync43, realpathSync as realpathSync4 } from "fs";
22532
22609
  import { createHash as createHash12 } from "crypto";
22533
22610
  import { join as join52, basename as basename23 } from "path";
22534
22611
  function skillsSourceDir() {
@@ -22554,7 +22631,7 @@ function skillsFingerprint() {
22554
22631
  }
22555
22632
  function filesUnder(dir, prefix = "") {
22556
22633
  const out = [];
22557
- for (const e of readdirSync34(dir, { withFileTypes: true })) {
22634
+ for (const e of readdirSync33(dir, { withFileTypes: true })) {
22558
22635
  if (e.name === MARKER) continue;
22559
22636
  const rel = prefix ? `${prefix}/${e.name}` : e.name;
22560
22637
  if (e.isDirectory()) out.push(...filesUnder(join52(dir, e.name), rel));
@@ -22568,7 +22645,7 @@ function skillStamp() {
22568
22645
  function bundledSkillNames() {
22569
22646
  const src = skillsSourceDir();
22570
22647
  if (!existsSync47(src)) return [];
22571
- return readdirSync34(src, { withFileTypes: true }).filter((e) => e.isDirectory() && existsSync47(join52(src, e.name, "SKILL.md"))).map((e) => e.name).sort();
22648
+ return readdirSync33(src, { withFileTypes: true }).filter((e) => e.isDirectory() && existsSync47(join52(src, e.name, "SKILL.md"))).map((e) => e.name).sort();
22572
22649
  }
22573
22650
  function realPathOrSelf(p) {
22574
22651
  try {
@@ -22658,7 +22735,7 @@ function uninstallSkills() {
22658
22735
  perTarget.push({ id: t.id, label: t.label, removed });
22659
22736
  continue;
22660
22737
  }
22661
- for (const entry of readdirSync34(t.dir, { withFileTypes: true })) {
22738
+ for (const entry of readdirSync33(t.dir, { withFileTypes: true })) {
22662
22739
  if (!entry.isDirectory()) continue;
22663
22740
  const dir = join52(t.dir, entry.name);
22664
22741
  if (isManaged(dir) && (names.has(entry.name) || entry.name.startsWith("chat-recall"))) {
@@ -28717,7 +28794,7 @@ function installCrashGuards() {
28717
28794
  reportClientEvent2("mcp_crash", { message: err.stack || err.message });
28718
28795
  });
28719
28796
  }
28720
- var RELAY_VERSION = true ? "0.7.3" : "0.0.0";
28797
+ var RELAY_VERSION = true ? "0.7.4" : "0.0.0";
28721
28798
  function daemonIdleSecs() {
28722
28799
  const raw = process.env.CHAT_RECALL_DAEMON_IDLE_SECS;
28723
28800
  if (raw === void 0) return 900;
@@ -6923,8 +6923,35 @@ var init_codex = __esm({
6923
6923
  configToml() {
6924
6924
  return join6(this.homeDir(), "config.toml");
6925
6925
  }
6926
- pluginsDir() {
6927
- return join6(this.homeDir(), ".tmp", "plugins", "plugins");
6926
+ /**
6927
+ * Plugins that are INSTALLED, one folder each:
6928
+ * `plugins/cache/<marketplace>/<plugin>/<version>/`, newest version.
6929
+ *
6930
+ * `.tmp/plugins/plugins/` is Codex's copy of the plugin catalog (62 plugins
6931
+ * and a README on one machine), not what is installed. Reading it reported
6932
+ * every catalog plugin's skills and MCP servers as the user's own, and a
6933
+ * pull then installed them into every tool: build-ios-apps' xcodebuildmcp
6934
+ * reached a Linux PC that never installed the plugin.
6935
+ */
6936
+ installedPluginDirs() {
6937
+ const cache2 = join6(this.homeDir(), "plugins", "cache");
6938
+ const out = [];
6939
+ const dirs = (p) => {
6940
+ try {
6941
+ return readdirSync3(p, { withFileTypes: true }).filter((e) => e.isDirectory() && !e.name.startsWith(".")).map((e) => e.name);
6942
+ } catch {
6943
+ return [];
6944
+ }
6945
+ };
6946
+ for (const market of dirs(cache2)) {
6947
+ for (const plugin of dirs(join6(cache2, market))) {
6948
+ const versions = dirs(join6(cache2, market, plugin)).sort((a, b) => a.localeCompare(b, void 0, { numeric: true }));
6949
+ const newest = versions[versions.length - 1];
6950
+ if (newest)
6951
+ out.push({ name: plugin, dir: join6(cache2, market, plugin, newest) });
6952
+ }
6953
+ }
6954
+ return out;
6928
6955
  }
6929
6956
  /** OpenAI-bundled, read-only system skills (imagegen, skill-creator, …). */
6930
6957
  skillsSystemDir() {
@@ -265,6 +265,10 @@ export declare function scanTranscriptFindingsChunked(ref: SessionRef, tenantRul
265
265
  * most this many bytes of cleartext (the incident stranded 3.4GB), and the
266
266
  * window in which they exist is proportionally short. Raising it buys fewer
267
267
  * detector spawns; lowering it buys a smaller blast radius. */
268
+ /** The toolkit types a device reports its full inventory of. A removed skill or
269
+ * MCP server stayed on the account for good, and a pull installed it again on
270
+ * every other device. Plans, tasks and history are not inventories. */
271
+ export declare const TOOLKIT_INVENTORY_TYPES: ReadonlySet<string>;
268
272
  export declare const BATCH_SCAN_MAX_BYTES: number;
269
273
  /** Bytes an append-only session occupies on disk (0 for non-AO backends). */
270
274
  export declare function sessionFileBytes(ref: SessionRef): number;