oh-my-second-brain 0.1.9 → 0.2.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.
Files changed (96) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/adapters/claude-code/.claude-plugin/plugin.json +1 -1
  3. package/adapters/claude-code/skills/link/SKILL.md +87 -0
  4. package/adapters/codex/.codex-plugin/plugin.json +1 -1
  5. package/adapters/codex/skills/oms-link/SKILL.md +35 -0
  6. package/adapters/hermes/README.md +2 -0
  7. package/adapters/hermes/manifest.json +1 -1
  8. package/adapters/hermes/skills/link/SKILL.md +18 -0
  9. package/core/ontology/concepts/term.yaml +12 -0
  10. package/core/ontology/taxonomy.yaml +3 -0
  11. package/core/skills/link/SKILL.md +130 -0
  12. package/dist/capture/safe.d.ts +32 -2
  13. package/dist/capture/safe.js +223 -37
  14. package/dist/capture/safe.js.map +1 -1
  15. package/dist/cli/args.d.ts +2 -0
  16. package/dist/cli/args.js +6 -0
  17. package/dist/cli/args.js.map +1 -1
  18. package/dist/cli/global-writeback.d.ts +31 -0
  19. package/dist/cli/global-writeback.js +73 -0
  20. package/dist/cli/global-writeback.js.map +1 -0
  21. package/dist/cli/host-commands.d.ts +30 -0
  22. package/dist/cli/host-commands.js +89 -0
  23. package/dist/cli/host-commands.js.map +1 -0
  24. package/dist/cli/linkify.d.ts +23 -0
  25. package/dist/cli/linkify.js +118 -0
  26. package/dist/cli/linkify.js.map +1 -0
  27. package/dist/cli/oms.d.ts +1 -0
  28. package/dist/cli/oms.js +52 -66
  29. package/dist/cli/oms.js.map +1 -1
  30. package/dist/cli/usage.js +11 -1
  31. package/dist/cli/usage.js.map +1 -1
  32. package/dist/conventions/write-protocol.d.ts +39 -0
  33. package/dist/conventions/write-protocol.js +44 -0
  34. package/dist/conventions/write-protocol.js.map +1 -0
  35. package/dist/core/runtime/assets.d.ts +6 -0
  36. package/dist/core/runtime/assets.js +27 -0
  37. package/dist/core/runtime/assets.js.map +1 -1
  38. package/dist/engine/graph/resolver.d.ts +17 -0
  39. package/dist/engine/graph/resolver.js +46 -11
  40. package/dist/engine/graph/resolver.js.map +1 -1
  41. package/dist/engine/linkify/apply.d.ts +56 -0
  42. package/dist/engine/linkify/apply.js +65 -0
  43. package/dist/engine/linkify/apply.js.map +1 -0
  44. package/dist/engine/linkify/josa.d.ts +58 -0
  45. package/dist/engine/linkify/josa.js +133 -0
  46. package/dist/engine/linkify/josa.js.map +1 -0
  47. package/dist/engine/linkify/mask.d.ts +29 -0
  48. package/dist/engine/linkify/mask.js +173 -0
  49. package/dist/engine/linkify/mask.js.map +1 -0
  50. package/dist/engine/linkify/suggest.d.ts +52 -0
  51. package/dist/engine/linkify/suggest.js +181 -0
  52. package/dist/engine/linkify/suggest.js.map +1 -0
  53. package/dist/engine/linkify/types.d.ts +68 -0
  54. package/dist/engine/linkify/types.js +12 -0
  55. package/dist/engine/linkify/types.js.map +1 -0
  56. package/dist/harness/surface-registry.d.ts +1 -0
  57. package/dist/harness/surface-registry.js +27 -0
  58. package/dist/harness/surface-registry.js.map +1 -1
  59. package/dist/harness/validation.js +30 -1
  60. package/dist/harness/validation.js.map +1 -1
  61. package/dist/install/claude-marketplace.d.ts +44 -0
  62. package/dist/install/claude-marketplace.js +89 -0
  63. package/dist/install/claude-marketplace.js.map +1 -0
  64. package/dist/install/claude.js +14 -7
  65. package/dist/install/claude.js.map +1 -1
  66. package/dist/install/codex.d.ts +15 -0
  67. package/dist/install/codex.js +15 -0
  68. package/dist/install/codex.js.map +1 -1
  69. package/dist/install/common.d.ts +11 -2
  70. package/dist/install/common.js +19 -12
  71. package/dist/install/common.js.map +1 -1
  72. package/dist/install/hermes.js +15 -15
  73. package/dist/install/hermes.js.map +1 -1
  74. package/dist/install/hosts.js +31 -15
  75. package/dist/install/hosts.js.map +1 -1
  76. package/dist/link/global-config.d.ts +22 -0
  77. package/dist/link/global-config.js +69 -0
  78. package/dist/link/global-config.js.map +1 -0
  79. package/dist/link/link.d.ts +6 -3
  80. package/dist/link/link.js +12 -2
  81. package/dist/link/link.js.map +1 -1
  82. package/dist/mcp/link-tools.d.ts +81 -0
  83. package/dist/mcp/link-tools.js +157 -0
  84. package/dist/mcp/link-tools.js.map +1 -0
  85. package/dist/mcp/server.d.ts +7 -0
  86. package/dist/mcp/server.js +107 -8
  87. package/dist/mcp/server.js.map +1 -1
  88. package/dist/mcp/update-notice.d.ts +51 -0
  89. package/dist/mcp/update-notice.js +196 -0
  90. package/dist/mcp/update-notice.js.map +1 -0
  91. package/dist/update/update.d.ts +12 -0
  92. package/dist/update/update.js +2 -2
  93. package/dist/update/update.js.map +1 -1
  94. package/docs/install.md +38 -2
  95. package/docs/release.md +109 -17
  96. package/package.json +4 -2
@@ -8,6 +8,7 @@ import { validateFrontmatter } from "../conventions/validate.js";
8
8
  import { lintVault } from "../engine/conventions/vault-lint.js";
9
9
  import { safeVaultNotePath, writeNote, } from "../capture/safe.js";
10
10
  import { buildGraphCache, graphCacheStatus, graphCachePath, lazyLoadNoteBody, } from "../graph/cache.js";
11
+ import { readBundledPackageVersion } from "../core/runtime/assets.js";
11
12
  import { resolveActiveOntology } from "../ontology/active.js";
12
13
  import { resolveConcept } from "../core/ontology/resolver.js";
13
14
  import { retrieveMorningContext } from "../retrieve/morning.js";
@@ -15,7 +16,10 @@ import { makeEngineMorningBackend } from "./engine-morning-backend.js";
15
16
  import { handleSemanticTool, isEngineSemanticOp, isEngineDocumentOp, isModelOptionalSemanticQueryOp, semanticMcpTools, semanticOptionsFromArgs, retrieveContextSemanticInputProperties, } from "./semantic-retrieve.js";
16
17
  import { assembleCoreSemanticEngine, assembleGraphOnlyEngine } from "../engine/assemble.js";
17
18
  import { assembleFullSemanticEngine, embeddingConfigPresent } from "./semantic-engine.js";
18
- const SERVER_VERSION = "0.0.0";
19
+ import { applyLinksForNote, linkApplyPayload, suggestLinksForNote } from "./link-tools.js";
20
+ import { buildServerInstructions, cachedUpdateNotice, scheduleUpdateNoticeRefresh, } from "./update-notice.js";
21
+ const SERVER_VERSION = readBundledPackageVersion();
22
+ export const BASE_SERVER_INSTRUCTIONS = "Oh My Second Brain exposes ontology/status/cache/retrieval tools and the write tool. write is gated by a verified vault target (a vault inferred from the current directory is refused), vault confinement, and contract validation.";
19
23
  function jsonText(value) {
20
24
  return {
21
25
  content: [
@@ -220,6 +224,65 @@ export const omsMcpTools = [
220
224
  openWorldHint: false,
221
225
  },
222
226
  },
227
+ {
228
+ name: "oms_link_suggest",
229
+ title: "Oh My Second Brain link suggest",
230
+ description: "Propose [[wikilink]] insertions for one note against the vault's term notes. Read-only: returns ranked candidates plus the baseContentHash oms_link_apply requires.",
231
+ inputSchema: {
232
+ type: "object",
233
+ properties: {
234
+ notePath: {
235
+ type: "string",
236
+ description: "Vault-relative markdown note path to linkify, for example notes/sage.md.",
237
+ },
238
+ folder: {
239
+ type: "string",
240
+ description: "Restrict the term-note candidate universe to one top-level vault folder.",
241
+ },
242
+ },
243
+ required: ["notePath"],
244
+ },
245
+ annotations: {
246
+ readOnlyHint: true,
247
+ destructiveHint: false,
248
+ idempotentHint: true,
249
+ openWorldHint: false,
250
+ },
251
+ },
252
+ {
253
+ name: "oms_link_apply",
254
+ title: "Oh My Second Brain link apply",
255
+ description: "Splice accepted oms_link_suggest candidates into a note and persist through the write kernel. Refuses without writing when baseContentHash no longer matches the note.",
256
+ inputSchema: {
257
+ type: "object",
258
+ properties: {
259
+ notePath: {
260
+ type: "string",
261
+ description: "Vault-relative markdown note path returned by oms_link_suggest.",
262
+ },
263
+ baseContentHash: {
264
+ type: "string",
265
+ description: "The baseContentHash from the oms_link_suggest call the candidates came from.",
266
+ },
267
+ candidateIds: {
268
+ type: "array",
269
+ items: { type: "string" },
270
+ description: "Ids of the accepted candidates from that same oms_link_suggest call.",
271
+ },
272
+ folder: {
273
+ type: "string",
274
+ description: "Same candidate-universe folder scope used for the suggest call.",
275
+ },
276
+ },
277
+ required: ["notePath", "baseContentHash", "candidateIds"],
278
+ },
279
+ annotations: {
280
+ readOnlyHint: false,
281
+ destructiveHint: true,
282
+ idempotentHint: false,
283
+ openWorldHint: false,
284
+ },
285
+ },
223
286
  {
224
287
  name: "write",
225
288
  title: "Oh My Second Brain write",
@@ -246,6 +309,7 @@ export const omsMcpTools = [
246
309
  ];
247
310
  export function createOMSMcpServer(opts) {
248
311
  const vault = path.resolve(opts.vault);
312
+ const source = opts.source;
249
313
  // Native engine — graph layer (boot): assembled model-free via deferred
250
314
  // (throw-on-use) embedding primitives. Axis-first retrieval and the derived
251
315
  // graph cache status scan the vault off the filesystem and need no model.
@@ -294,7 +358,9 @@ export function createOMSMcpServer(opts) {
294
358
  const resolveDocumentAdapter = () => hasEmbeddingModel() ? getSemanticEngine().adapter : getCoreSemanticEngine().adapter;
295
359
  const server = new Server({ name: "oms", version: SERVER_VERSION }, {
296
360
  capabilities: { tools: {}, resources: {} },
297
- instructions: "Oh My Second Brain exposes ontology/status/cache/retrieval tools and the write tool. write is gated by vault confinement and contract validation.",
361
+ // Cache read only: construction must never touch the network. The
362
+ // registry refresh that fills this cache is scheduled from runMcpServer.
363
+ instructions: buildServerInstructions(BASE_SERVER_INSTRUCTIONS, cachedUpdateNotice({ installedVersion: SERVER_VERSION })),
298
364
  });
299
365
  server.onclose = () => {
300
366
  void engine.dispose().catch(() => undefined);
@@ -350,11 +416,11 @@ export function createOMSMcpServer(opts) {
350
416
  // throw escape ALL inner catch branches and break the MCP handler.
351
417
  const engineGraph = await engine.adapter.graphStatus(vault).catch(() => null);
352
418
  try {
353
- const { ontology, source } = await resolveActiveOntology(vault);
419
+ const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
354
420
  const cacheStatus = await graphCacheStatus(vault, ontology);
355
421
  return jsonText({
356
422
  vault,
357
- ontologySource: source,
423
+ ontologySource,
358
424
  sourceOfTruth: ["markdown notes", ".oms/taxonomy.yaml", ".oms/concepts/*.yaml"],
359
425
  counts: {
360
426
  concepts: ontology.concepts.size,
@@ -362,7 +428,9 @@ export function createOMSMcpServer(opts) {
362
428
  },
363
429
  derivedState: cacheStatus,
364
430
  engineGraph,
365
- writeTools: "write-gated-by-vault-confinement-and-contract-validation",
431
+ writeTools: source === "cwd"
432
+ ? "write-disabled-target-unverified"
433
+ : "write-gated-by-verified-target-and-contract",
366
434
  readTools: omsMcpTools.map((tool) => tool.name),
367
435
  });
368
436
  }
@@ -554,13 +622,39 @@ export function createOMSMcpServer(opts) {
554
622
  violations: report.violations,
555
623
  });
556
624
  }
625
+ if (request.params.name === "oms_link_suggest") {
626
+ const notePath = stringArg(args, "notePath");
627
+ if (!notePath) {
628
+ return errorText('Missing required string argument "notePath".');
629
+ }
630
+ const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
631
+ const suggestion = await suggestLinksForNote({ vault, source, ontology, notePath }, { folder: stringArg(args, "folder") });
632
+ return jsonText({ vault, ontologySource, ...suggestion });
633
+ }
634
+ if (request.params.name === "oms_link_apply") {
635
+ const notePath = stringArg(args, "notePath");
636
+ if (!notePath) {
637
+ return errorText('Missing required string argument "notePath".');
638
+ }
639
+ const baseContentHash = stringArg(args, "baseContentHash");
640
+ if (!baseContentHash) {
641
+ return errorText('Missing required string argument "baseContentHash".');
642
+ }
643
+ const idsArg = args?.["candidateIds"];
644
+ if (!Array.isArray(idsArg) || idsArg.some((id) => typeof id !== "string")) {
645
+ return errorText('Argument "candidateIds" must be an array of candidate id strings.');
646
+ }
647
+ const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
648
+ const outcome = await applyLinksForNote({ vault, source, ontology, notePath }, { baseContentHash, candidateIds: idsArg.filter((id) => typeof id === "string") }, { folder: stringArg(args, "folder") });
649
+ return jsonText({ vault, ontologySource, ...linkApplyPayload(outcome) });
650
+ }
557
651
  if (request.params.name === "write") {
558
- const { ontology, source } = await resolveActiveOntology(vault);
652
+ const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
559
653
  const modeArg = stringArg(args, "mode");
560
654
  const mode = isWriteMode(modeArg) ? modeArg : "create";
561
655
  const frontmatterArg = args?.["frontmatter"];
562
656
  const result = await writeNote({
563
- vault,
657
+ target: { vault, source },
564
658
  ontology,
565
659
  mode,
566
660
  dryRun: false,
@@ -573,8 +667,10 @@ export function createOMSMcpServer(opts) {
573
667
  });
574
668
  return jsonText({
575
669
  vault,
576
- ontologySource: source,
670
+ ontologySource,
577
671
  ...result,
672
+ resolvedVault: vault,
673
+ resolutionSource: source,
578
674
  });
579
675
  }
580
676
  return errorText(`Unknown Oh My Second Brain tool: ${request.params.name}`);
@@ -589,6 +685,9 @@ export async function runMcpServer(opts) {
589
685
  const server = createOMSMcpServer(opts);
590
686
  const transport = new StdioServerTransport();
591
687
  await server.connect(transport);
688
+ // Detached and unawaited: a slow or offline registry must not delay serving.
689
+ // Returns null while the cache is fresh, so most boots start nothing at all.
690
+ void scheduleUpdateNoticeRefresh({ installedVersion: SERVER_VERSION });
592
691
  }
593
692
  function isWriteMode(value) {
594
693
  return value === "create" || value === "append" || value === "update";
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type UpdateRunner } from "../update/update.js";
2
+ /**
3
+ * Boot-time update nudge for the MCP server.
4
+ *
5
+ * The hot path (`cachedUpdateNotice`) only reads a small JSON cache; it never
6
+ * touches the network and never throws. The registry query lives in
7
+ * `refreshUpdateNoticeCache`, scheduled detached from the serve path so a slow
8
+ * or offline registry cannot delay or fail server startup. Nothing here writes
9
+ * stdout: stdout is the JSON-RPC transport.
10
+ */
11
+ export type UpdateChannel = "stable" | "prerelease";
12
+ export interface CachedUpdateNoticeOptions {
13
+ readonly installedVersion: string;
14
+ readonly env?: Readonly<Record<string, string | undefined>>;
15
+ readonly now?: number;
16
+ }
17
+ export interface RefreshUpdateNoticeCacheOptions extends CachedUpdateNoticeOptions {
18
+ readonly runner?: UpdateRunner;
19
+ readonly timeoutMs?: number;
20
+ }
21
+ export declare function updateNoticeCachePath(env?: Readonly<Record<string, string | undefined>>): string;
22
+ export declare function updateChannelOf(installedVersion: string): UpdateChannel;
23
+ /**
24
+ * Reads the cached latest version for the installed channel and renders a
25
+ * one-line nudge when that version is newer and the stamp is within the 24h
26
+ * TTL. Freshness is per channel, so a stable refresh never makes an older
27
+ * prerelease stamp look current. Returns null on every failure or suppression.
28
+ */
29
+ export declare function cachedUpdateNotice(options: CachedUpdateNoticeOptions): string | null;
30
+ /**
31
+ * Performs ONE bounded registry query and stores the result under the
32
+ * installed channel's stamp, preserving the other channel's stamp. Awaitable
33
+ * for tests; production calls it detached via `scheduleUpdateNoticeRefresh`.
34
+ * Fails open: any error leaves the cache untouched and resolves normally.
35
+ */
36
+ export declare function refreshUpdateNoticeCache(options: RefreshUpdateNoticeCacheOptions): Promise<void>;
37
+ /**
38
+ * Serve-path entrypoint: starts at most one detached refresh per process. Never
39
+ * awaited by the caller, so startup latency is unaffected.
40
+ *
41
+ * Skips the registry entirely while the installed channel's stamp is still
42
+ * within the TTL: a fresh cache already answers the boot-time question, so
43
+ * every serve boot inside that window costs zero subprocesses. Returns the
44
+ * detached promise when a refresh was started and null when none was needed,
45
+ * so tests can await the background work without a timer.
46
+ */
47
+ export declare function scheduleUpdateNoticeRefresh(options: RefreshUpdateNoticeCacheOptions): Promise<void> | null;
48
+ /** Clears the per-process refresh lock. Test-only seam. */
49
+ export declare function __resetUpdateNoticeRefreshLockForTests(): void;
50
+ /** Appends the nudge to the server's base instructions as a single extra line. */
51
+ export declare function buildServerInstructions(baseInstructions: string, nudge: string | null): string;
@@ -0,0 +1,196 @@
1
+ import { closeSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { compareVersions, resolveLatestVersion } from "../update/update.js";
5
+ const CACHE_FILE_NAME = "update-notice-cache.json";
6
+ const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
7
+ const REFRESH_TIMEOUT_MS = 4_000;
8
+ const PACKAGE_NAME = "oh-my-second-brain";
9
+ let refreshStarted = false;
10
+ function isRecord(value) {
11
+ return typeof value === "object" && value !== null && !Array.isArray(value);
12
+ }
13
+ function noticeSuppressed(env) {
14
+ return env["OMS_UPDATE_NOTICE"] === "0" || env["OMS_NO_UPDATE_NOTICE"] === "1";
15
+ }
16
+ export function updateNoticeCachePath(env = process.env) {
17
+ const stateDir = env["OMS_AUTO_UPDATE_STATE_DIR"];
18
+ const dir = stateDir !== undefined && stateDir.length > 0 ? stateDir : path.join(os.homedir(), ".oms");
19
+ return path.join(dir, CACHE_FILE_NAME);
20
+ }
21
+ export function updateChannelOf(installedVersion) {
22
+ return installedVersion.includes("-") ? "prerelease" : "stable";
23
+ }
24
+ function parseStamp(value) {
25
+ if (!isRecord(value))
26
+ return null;
27
+ const latestVersion = value["latestVersion"];
28
+ const checkedAt = value["checkedAt"];
29
+ if (typeof latestVersion !== "string" || latestVersion.length === 0)
30
+ return null;
31
+ if (typeof checkedAt !== "number" || !Number.isFinite(checkedAt))
32
+ return null;
33
+ return { latestVersion, checkedAt };
34
+ }
35
+ function readCache(cachePath) {
36
+ let raw;
37
+ try {
38
+ raw = readFileSync(cachePath, "utf-8");
39
+ }
40
+ catch (error) {
41
+ if (error instanceof Error)
42
+ return null;
43
+ throw error;
44
+ }
45
+ let parsed;
46
+ try {
47
+ parsed = JSON.parse(raw);
48
+ }
49
+ catch (error) {
50
+ if (error instanceof SyntaxError)
51
+ return null;
52
+ throw error;
53
+ }
54
+ if (!isRecord(parsed) || parsed["version"] !== 1 || !isRecord(parsed["channels"]))
55
+ return null;
56
+ const channels = {};
57
+ for (const channel of ["stable", "prerelease"]) {
58
+ const stamp = parseStamp(parsed["channels"][channel]);
59
+ if (stamp !== null)
60
+ channels[channel] = stamp;
61
+ }
62
+ return { version: 1, channels };
63
+ }
64
+ /** True when the channel's stamp exists and is within the 24h TTL. */
65
+ function stampIsFresh(stamp, now) {
66
+ if (stamp === undefined)
67
+ return false;
68
+ const age = now - stamp.checkedAt;
69
+ return age >= 0 && age <= CACHE_TTL_MS;
70
+ }
71
+ /**
72
+ * Reads the cached latest version for the installed channel and renders a
73
+ * one-line nudge when that version is newer and the stamp is within the 24h
74
+ * TTL. Freshness is per channel, so a stable refresh never makes an older
75
+ * prerelease stamp look current. Returns null on every failure or suppression.
76
+ */
77
+ export function cachedUpdateNotice(options) {
78
+ const env = options.env ?? process.env;
79
+ if (noticeSuppressed(env))
80
+ return null;
81
+ const cache = readCache(updateNoticeCachePath(env));
82
+ if (cache === null)
83
+ return null;
84
+ const stamp = cache.channels[updateChannelOf(options.installedVersion)];
85
+ if (stamp === undefined)
86
+ return null;
87
+ if (!stampIsFresh(stamp, options.now ?? Date.now()))
88
+ return null;
89
+ if (compareVersions(options.installedVersion, stamp.latestVersion) >= 0)
90
+ return null;
91
+ return `Update available for Oh My Second Brain: ${options.installedVersion} -> ${stamp.latestVersion}. Run \`oms update --yes\` to update and refresh host adapters.`;
92
+ }
93
+ function reclaimStaleLock(lockPath) {
94
+ let lockedAt;
95
+ try {
96
+ lockedAt = statSync(lockPath).mtimeMs;
97
+ }
98
+ catch (error) {
99
+ if (error instanceof Error)
100
+ return;
101
+ throw error;
102
+ }
103
+ if (Date.now() - lockedAt > CACHE_TTL_MS)
104
+ rmSync(lockPath, { force: true });
105
+ }
106
+ function writeCacheAtomically(cachePath, cache) {
107
+ const dir = path.dirname(cachePath);
108
+ mkdirSync(dir, { recursive: true });
109
+ // Cross-process serialization: whoever creates the lock wins this round; a
110
+ // loser simply skips the write, because a missed refresh is harmless. A lock
111
+ // left behind by a killed process is reclaimed once it is older than the TTL,
112
+ // so a crash cannot silence update checks forever.
113
+ const lockPath = `${cachePath}.lock`;
114
+ reclaimStaleLock(lockPath);
115
+ const lockFd = openSync(lockPath, "wx");
116
+ const tempPath = `${cachePath}.${process.pid}.tmp`;
117
+ try {
118
+ writeFileSync(tempPath, `${JSON.stringify(cache)}\n`, "utf-8");
119
+ renameSync(tempPath, cachePath);
120
+ }
121
+ finally {
122
+ rmSync(tempPath, { force: true });
123
+ closeSync(lockFd);
124
+ unlinkSync(lockPath);
125
+ }
126
+ }
127
+ /**
128
+ * Performs ONE bounded registry query and stores the result under the
129
+ * installed channel's stamp, preserving the other channel's stamp. Awaitable
130
+ * for tests; production calls it detached via `scheduleUpdateNoticeRefresh`.
131
+ * Fails open: any error leaves the cache untouched and resolves normally.
132
+ */
133
+ export async function refreshUpdateNoticeCache(options) {
134
+ const env = options.env ?? process.env;
135
+ if (noticeSuppressed(env))
136
+ return;
137
+ const cachePath = updateNoticeCachePath(env);
138
+ try {
139
+ const latest = await resolveLatestVersion({
140
+ packageName: PACKAGE_NAME,
141
+ timeoutMs: options.timeoutMs ?? REFRESH_TIMEOUT_MS,
142
+ runner: options.runner,
143
+ latestVersion: env["OMS_UPDATE_LATEST_VERSION"],
144
+ });
145
+ if (!latest.ok)
146
+ return;
147
+ const existing = readCache(cachePath);
148
+ writeCacheAtomically(cachePath, {
149
+ version: 1,
150
+ channels: {
151
+ ...existing?.channels,
152
+ [updateChannelOf(options.installedVersion)]: {
153
+ latestVersion: latest.version,
154
+ checkedAt: options.now ?? Date.now(),
155
+ },
156
+ },
157
+ });
158
+ }
159
+ catch (error) {
160
+ if (error instanceof Error)
161
+ return;
162
+ throw error;
163
+ }
164
+ }
165
+ /**
166
+ * Serve-path entrypoint: starts at most one detached refresh per process. Never
167
+ * awaited by the caller, so startup latency is unaffected.
168
+ *
169
+ * Skips the registry entirely while the installed channel's stamp is still
170
+ * within the TTL: a fresh cache already answers the boot-time question, so
171
+ * every serve boot inside that window costs zero subprocesses. Returns the
172
+ * detached promise when a refresh was started and null when none was needed,
173
+ * so tests can await the background work without a timer.
174
+ */
175
+ export function scheduleUpdateNoticeRefresh(options) {
176
+ if (refreshStarted)
177
+ return null;
178
+ const env = options.env ?? process.env;
179
+ if (noticeSuppressed(env))
180
+ return null;
181
+ const cache = readCache(updateNoticeCachePath(env));
182
+ const stamp = cache?.channels[updateChannelOf(options.installedVersion)];
183
+ if (stampIsFresh(stamp, options.now ?? Date.now()))
184
+ return null;
185
+ refreshStarted = true;
186
+ return refreshUpdateNoticeCache(options);
187
+ }
188
+ /** Clears the per-process refresh lock. Test-only seam. */
189
+ export function __resetUpdateNoticeRefreshLockForTests() {
190
+ refreshStarted = false;
191
+ }
192
+ /** Appends the nudge to the server's base instructions as a single extra line. */
193
+ export function buildServerInstructions(baseInstructions, nudge) {
194
+ return nudge === null ? baseInstructions : `${baseInstructions}\n${nudge}`;
195
+ }
196
+ //# sourceMappingURL=update-notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-notice.js","sourceRoot":"","sources":["../../src/mcp/update-notice.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,18 @@ export interface CheckUpdateNoticeOptions {
49
49
  readonly runner?: UpdateRunner;
50
50
  }
51
51
  export declare function compareVersions(left: string, right: string): number;
52
+ export declare function resolveLatestVersion(options: {
53
+ readonly packageName: string;
54
+ readonly latestVersion?: string | undefined;
55
+ readonly timeoutMs: number;
56
+ readonly runner?: UpdateRunner | undefined;
57
+ }): Promise<{
58
+ readonly ok: true;
59
+ readonly version: string;
60
+ } | {
61
+ readonly ok: false;
62
+ readonly error: string;
63
+ }>;
52
64
  export declare function runUpdate(options: RunUpdateOptions): Promise<UpdateResult>;
53
65
  export declare function checkUpdateNotice(options: CheckUpdateNoticeOptions): Promise<UpdateNotice | null>;
54
66
  export declare function formatUpdateResult(result: UpdateResult): string;
@@ -39,11 +39,11 @@ export function compareVersions(left, right) {
39
39
  function formatCommand(command, args) {
40
40
  return [command, ...args].join(" ");
41
41
  }
42
- async function resolveLatestVersion(options) {
42
+ export async function resolveLatestVersion(options) {
43
43
  if (options.latestVersion !== undefined) {
44
44
  return { ok: true, version: cleanVersion(options.latestVersion) };
45
45
  }
46
- const result = await options.runner("npm", ["view", `${options.packageName}@latest`, "version", "--json"], { timeoutMs: options.timeoutMs });
46
+ const result = await (options.runner ?? defaultRunner)("npm", ["view", `${options.packageName}@latest`, "version", "--json"], { timeoutMs: options.timeoutMs });
47
47
  if (result.exitCode !== 0) {
48
48
  return {
49
49
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"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"}