@achieveai/hitl-mcp-server 2.11.2 → 2.13.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/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { HitlConfig } from './types.js';
2
2
  /**
3
- * Read the HITL config from ~/.hitl/config.json.
3
+ * Read the HITL config from this install's config.json (see hitlDir).
4
4
  * Throws with a helpful message if the file doesn't exist.
5
5
  */
6
6
  export declare function loadConfig(): HitlConfig;
@@ -9,7 +9,7 @@ export declare function loadConfig(): HitlConfig;
9
9
  */
10
10
  export declare function generateDefaultConfig(): HitlConfig;
11
11
  /**
12
- * Save a config object to ~/.hitl/config.json.
12
+ * Save a config object to this install's config.json (see hitlDir).
13
13
  */
14
14
  export declare function saveConfig(config: HitlConfig): void;
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C;;;GAGG;AACH,wBAAgB,UAAU,IAAI,UAAU,CAwBvC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CASlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGnD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmC7C;;;GAGG;AACH,wBAAgB,UAAU,IAAI,UAAU,CAyBvC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CASlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAcnD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
package/dist/config.js CHANGED
@@ -1,25 +1,54 @@
1
- import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
1
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, copyFileSync } from 'fs';
2
2
  import { homedir, hostname } from 'os';
3
3
  import path from 'path';
4
4
  import crypto from 'crypto';
5
5
  import { v4 as uuidv4 } from 'uuid';
6
6
  import { DEFAULT_NTFY_URL } from './types.js';
7
- const CONFIG_DIR = path.join(homedir(), '.hitl');
8
- const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
9
7
  /**
10
- * Read the HITL config from ~/.hitl/config.json.
8
+ * Root of this install's state, mirroring `hitl_transport::paths::hitl_dir()`.
9
+ *
10
+ * `HITL_HOME` has to be honoured here, not just in Rust. The Rust side resolves
11
+ * `config.json` through `hitl_dir()`, while this — the only thing that ever
12
+ * *writes* that file, via `hitl init` — used to hardcode `~/.hitl`. Under
13
+ * `HITL_HOME` the two languages then read and wrote different files, and the
14
+ * Rust binaries answered with "Run 'hitl init' to create one", advice that
15
+ * rewrites the same wrong path forever. `ntfy-transport.ts` and
16
+ * `snapshot-store.ts` already resolve their subdirectories this way; config was
17
+ * the odd one out.
18
+ *
19
+ * Read per call rather than at import so tests and a relaunched process both
20
+ * see the current environment. Empty is rejected rather than treated as unset,
21
+ * matching the Rust rule — an empty value there would silently mean the process
22
+ * working directory.
23
+ */
24
+ function hitlDir() {
25
+ const override = process.env.HITL_HOME;
26
+ if (override !== undefined) {
27
+ if (override.trim() === '') {
28
+ throw new Error('HITL_HOME is set but empty; unset it or give it a real path');
29
+ }
30
+ return override;
31
+ }
32
+ return path.join(homedir(), '.hitl');
33
+ }
34
+ function configFile() {
35
+ return path.join(hitlDir(), 'config.json');
36
+ }
37
+ /**
38
+ * Read the HITL config from this install's config.json (see hitlDir).
11
39
  * Throws with a helpful message if the file doesn't exist.
12
40
  */
13
41
  export function loadConfig() {
14
- if (!existsSync(CONFIG_FILE)) {
15
- throw new Error(`HITL config not found at ${CONFIG_FILE}\n` +
42
+ const file = configFile();
43
+ if (!existsSync(file)) {
44
+ throw new Error(`HITL config not found at ${file}\n` +
16
45
  `Run "hitl init" to create one, or manually create the file with:\n` +
17
46
  JSON.stringify(generateDefaultConfig(), null, 2));
18
47
  }
19
- const raw = readFileSync(CONFIG_FILE, 'utf-8');
48
+ const raw = readFileSync(file, 'utf-8');
20
49
  const parsed = JSON.parse(raw);
21
50
  if (!parsed.topicId || typeof parsed.topicId !== 'string') {
22
- throw new Error(`Invalid config: "topicId" is required in ${CONFIG_FILE}`);
51
+ throw new Error(`Invalid config: "topicId" is required in ${file}`);
23
52
  }
24
53
  return {
25
54
  topicId: parsed.topicId,
@@ -44,16 +73,28 @@ export function generateDefaultConfig() {
44
73
  };
45
74
  }
46
75
  /**
47
- * Save a config object to ~/.hitl/config.json.
76
+ * Save a config object to this install's config.json (see hitlDir).
48
77
  */
49
78
  export function saveConfig(config) {
50
- mkdirSync(CONFIG_DIR, { recursive: true });
51
- writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2) + '\n', 'utf-8');
79
+ mkdirSync(hitlDir(), { recursive: true });
80
+ // Keep the outgoing config. A regenerated default silently swaps in a
81
+ // public ntfyUrl, a fresh topic and a fresh encryption key; without this
82
+ // copy a self-hosted setup is unrecoverable once the original is gone.
83
+ const target = configFile();
84
+ if (existsSync(target)) {
85
+ try {
86
+ copyFileSync(target, `${target}.bak`);
87
+ }
88
+ catch {
89
+ // A backup that cannot be written must not block saving the config.
90
+ }
91
+ }
92
+ writeFileSync(target, JSON.stringify(config, null, 2) + '\n', 'utf-8');
52
93
  }
53
94
  /**
54
95
  * Get the path to the config file.
55
96
  */
56
97
  export function getConfigPath() {
57
- return CONFIG_FILE;
98
+ return configFile();
58
99
  }
59
100
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,4BAA4B,WAAW,IAAI;YAC3C,oEAAoE;YACpE,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;IAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,gBAAgB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ,EAAE;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,KAAK;QAC3C,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;QAChD,eAAe,EAAE,MAAM,CAAC,eAAe,KAAK,KAAK;KAClD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,OAAO,EAAE,QAAQ,MAAM,EAAE,EAAE;QAC3B,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,QAAQ,EAAE;QACtB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrD,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,28 @@
1
- import type { SenderIdentity } from './types.js';
1
+ import type { RepoContext, SenderIdentity } from './types.js';
2
2
  /** Resolves a human-readable session name, or null when none is available. */
3
3
  export type SessionNameResolver = () => string | null;
4
4
  /**
5
- * No documented Claude Code env var exposes a human-readable session name
6
- * today — only a UUID. This seam lets a real resolver replace this default
7
- * without touching call sites.
5
+ * Builds a `SessionNameResolver` that prefers the Claude Code Remote Control
6
+ * bridge session id (`CLAUDE_CODE_BRIDGE_SESSION_ID`, set only while Remote
7
+ * Control is active, v2.1.199+) and falls back to a minted id otherwise
8
+ * (spec §5.2, §5.3).
9
+ *
10
+ * The bridge id can appear or disappear mid-process, so the result is
11
+ * resolved once, at first call, and cached — a label that changes mid-session
12
+ * would be worse than one that is merely opportunistic.
8
13
  */
14
+ export declare function makeSessionNameResolver(opts: {
15
+ env: NodeJS.ProcessEnv;
16
+ mintedUuid: string;
17
+ }): SessionNameResolver;
9
18
  export declare const defaultSessionNameResolver: SessionNameResolver;
19
+ /**
20
+ * Stable key for "which project" a session belongs to (spec §5.4).
21
+ * `CLAUDE_PROJECT_DIR` is documented and survives `--resume`/context
22
+ * compaction, unlike `process.cwd()`; `repo.remoteUrl` survives the repo
23
+ * being moved or re-cloned to a different path; `cwd` is the last resort.
24
+ */
25
+ export declare function resolveProjectKey(cwd: string, repo: RepoContext | null): string;
10
26
  /**
11
27
  * Resolve a display-ready sender identity for an outgoing message, in
12
28
  * precedence order: session name override > linked-worktree branch > path
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,mBAAgC,CAAC;AAQ1E;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,eAAe,GAAE,mBAAgD,GAChE,cAAc,CAYhB"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAKtD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,mBAAmB,CAQtB;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAGvC,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAE/E;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,eAAe,GAAE,mBAAgD,GAChE,cAAc,CAYhB"}
package/dist/identity.js CHANGED
@@ -1,15 +1,76 @@
1
+ import { randomUUID } from 'crypto';
1
2
  import { detectRepoContext, isLinkedWorktree } from './git-context.js';
3
+ /** One MCP server process is exactly one Claude Code session. */
4
+ const PROCESS_SESSION_UUID = randomUUID();
2
5
  /**
3
- * No documented Claude Code env var exposes a human-readable session name
4
- * today — only a UUID. This seam lets a real resolver replace this default
5
- * without touching call sites.
6
+ * Builds a `SessionNameResolver` that prefers the Claude Code Remote Control
7
+ * bridge session id (`CLAUDE_CODE_BRIDGE_SESSION_ID`, set only while Remote
8
+ * Control is active, v2.1.199+) and falls back to a minted id otherwise
9
+ * (spec §5.2, §5.3).
10
+ *
11
+ * The bridge id can appear or disappear mid-process, so the result is
12
+ * resolved once, at first call, and cached — a label that changes mid-session
13
+ * would be worse than one that is merely opportunistic.
14
+ */
15
+ export function makeSessionNameResolver(opts) {
16
+ let resolved = null;
17
+ return () => {
18
+ if (resolved === null) {
19
+ resolved = opts.env.CLAUDE_CODE_BRIDGE_SESSION_ID ?? opts.mintedUuid;
20
+ }
21
+ return resolved;
22
+ };
23
+ }
24
+ export const defaultSessionNameResolver = makeSessionNameResolver({
25
+ env: process.env,
26
+ mintedUuid: PROCESS_SESSION_UUID,
27
+ });
28
+ /**
29
+ * Stable key for "which project" a session belongs to (spec §5.4).
30
+ * `CLAUDE_PROJECT_DIR` is documented and survives `--resume`/context
31
+ * compaction, unlike `process.cwd()`; `repo.remoteUrl` survives the repo
32
+ * being moved or re-cloned to a different path; `cwd` is the last resort.
6
33
  */
7
- export const defaultSessionNameResolver = () => null;
34
+ export function resolveProjectKey(cwd, repo) {
35
+ return process.env.CLAUDE_PROJECT_DIR ?? repo?.remoteUrl ?? cwd;
36
+ }
8
37
  /** Last two `/`-joined path segments of `cwd`, tolerating either path separator. Never absolute (F-9). */
9
38
  function lastTwoSegments(cwd) {
10
39
  const segments = cwd.split(/[\\/]/).filter(Boolean);
11
40
  return segments.slice(-2).join('/');
12
41
  }
42
+ /**
43
+ * Compose the session-tier display label per spec §5.4:
44
+ * `<repoName> · <branch> · <first-4-of-id>`. A raw session id/UUID on its own
45
+ * is meaningless in a message list, so this always folds in repo context
46
+ * when one is available — preferring `CLAUDE_PROJECT_DIR` as the directory to
47
+ * inspect since it is stable across `--resume`/compaction, unlike `cwd` —
48
+ * and falls back to the path tier's own last-two-segments heuristic when
49
+ * that directory isn't a git repo at all.
50
+ */
51
+ /**
52
+ * The discriminating part of a session id.
53
+ *
54
+ * Claude Code's bridge ids are all shaped `session_<opaque>`, so taking the
55
+ * first four characters of one yields the literal `sess` for every session on
56
+ * every machine — a disambiguator that disambiguates nothing, which is the
57
+ * whole job this suffix exists to do. Minted UUIDs have no such prefix and are
58
+ * unaffected.
59
+ *
60
+ * Stripping a known prefix rather than, say, slicing from the end keeps the
61
+ * suffix recognisable as the head of an id a user can match against a real
62
+ * session, and leaves the UUID case byte-for-byte as it was.
63
+ */
64
+ function shortSessionId(sessionId) {
65
+ return sessionId.replace(/^session_/, '').slice(0, 4);
66
+ }
67
+ function composeSessionLabel(cwd, sessionId) {
68
+ const shortId = shortSessionId(sessionId);
69
+ const repo = detectRepoContext(process.env.CLAUDE_PROJECT_DIR ?? cwd);
70
+ if (repo)
71
+ return `${repo.name} · ${repo.branch} · ${shortId}`;
72
+ return `${lastTwoSegments(cwd)} · ${shortId}`;
73
+ }
13
74
  /**
14
75
  * Resolve a display-ready sender identity for an outgoing message, in
15
76
  * precedence order: session name override > linked-worktree branch > path
@@ -22,7 +83,7 @@ function lastTwoSegments(cwd) {
22
83
  export function resolveSenderIdentity(cwd, deviceName, sessionResolver = defaultSessionNameResolver) {
23
84
  const sessionName = sessionResolver();
24
85
  if (sessionName !== null)
25
- return { label: sessionName, source: 'session' };
86
+ return { label: composeSessionLabel(cwd, sessionName), source: 'session' };
26
87
  if (isLinkedWorktree(cwd)) {
27
88
  const branch = detectRepoContext(cwd)?.branch;
28
89
  if (branch)
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMvE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAwB,GAAG,EAAE,CAAC,IAAI,CAAC;AAE1E,0GAA0G;AAC1G,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAW,EACX,UAAkB,EAClB,kBAAuC,0BAA0B;IAEjE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE3E,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAC9C,IAAI,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,MAAM,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC9E,6EAA6E;QAC7E,+BAA+B;IACjC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMvE,iEAAiE;AACjE,MAAM,oBAAoB,GAAG,UAAU,EAAE,CAAC;AAE1C;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAGvC;IACC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,IAAI,CAAC,UAAU,CAAC;QACvE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAwB,uBAAuB,CAAC;IACrF,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,UAAU,EAAE,oBAAoB;CACjC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAAwB;IACrE,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE,SAAS,IAAI,GAAG,CAAC;AAClE,CAAC;AAED,0GAA0G;AAC1G,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;;GAYG;AACH,SAAS,cAAc,CAAC,SAAiB;IACvC,OAAO,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,SAAiB;IACzD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC;IAC9D,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAW,EACX,UAAkB,EAClB,kBAAuC,0BAA0B;IAEjE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAErG,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAC9C,IAAI,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,MAAM,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC9E,6EAA6E;QAC7E,+BAA+B;IACjC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5E,CAAC"}
@@ -4,10 +4,14 @@ export declare class HumanInTheLoopServer {
4
4
  private server;
5
5
  private transport;
6
6
  private config;
7
+ private workStore;
8
+ private autoLaunchClient;
7
9
  /** reviewIds still waiting on a human, so a graceful exit can release them (D-3). */
8
10
  private outstandingReviews;
9
11
  /** `config` is injectable so a test can construct a server without a real ~/.hitl. */
10
- constructor(config?: HitlConfig);
12
+ constructor(config?: HitlConfig, options?: {
13
+ autoLaunchClient?: boolean;
14
+ });
11
15
  private setupHandlers;
12
16
  /**
13
17
  * ReviewPlan: snapshot a markdown plan, publish it for line-anchored review,
@@ -64,4 +68,7 @@ export declare class HumanInTheLoopServer {
64
68
  /** Publish cancel_review for every review still waiting on a human. */
65
69
  private cancelOutstandingReviews;
66
70
  }
71
+ export declare function parseServerOptions(args: string[]): {
72
+ autoLaunchClient: boolean;
73
+ };
67
74
  //# sourceMappingURL=mcp-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAaV,UAAU,EAGX,MAAM,YAAY,CAAC;AAuDpB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAa;IAC3B,qFAAqF;IACrF,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,sFAAsF;gBAC1E,MAAM,GAAE,UAAyB;IAY7C,OAAO,CAAC,aAAa;IA+brB;;;OAGG;YACW,gBAAgB;IAmK9B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;OAOG;YACW,qBAAqB;YAiErB,oBAAoB;IAUlC;;;;;;;;;OASG;YACW,wBAAwB;IAmBtC,8DAA8D;YAChD,UAAU;IAuBxB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAyBhB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,uEAAuE;YACzD,wBAAwB;CAkBvC"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAgBA,OAAO,KAAK,EAaV,UAAU,EAGX,MAAM,YAAY,CAAC;AAuDpB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,gBAAgB,CAAU;IAClC,qFAAqF;IACrF,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,sFAAsF;gBAEpF,MAAM,GAAE,UAAyB,EACjC,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO;IAe9C,OAAO,CAAC,aAAa;IAidrB;;;OAGG;YACW,gBAAgB;IAmK9B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;OAOG;YACW,qBAAqB;YAiErB,oBAAoB;IAUlC;;;;;;;;;OASG;YACW,wBAAwB;IAmBtC,8DAA8D;YAChD,UAAU;IAuBxB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAyBhB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,uEAAuE;YACzD,wBAAwB;CAkBvC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAEhF"}
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env node
2
+ import { WorkStore, WorkValidationError } from './work-store.js';
3
+ import { WORK_TOOLS } from './work-tools.js';
2
4
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
5
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
6
  import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
@@ -52,11 +54,15 @@ export class HumanInTheLoopServer {
52
54
  server;
53
55
  transport;
54
56
  config;
57
+ workStore;
58
+ autoLaunchClient;
55
59
  /** reviewIds still waiting on a human, so a graceful exit can release them (D-3). */
56
60
  outstandingReviews = new Set();
57
61
  /** `config` is injectable so a test can construct a server without a real ~/.hitl. */
58
- constructor(config = loadConfig()) {
62
+ constructor(config = loadConfig(), options = {}) {
59
63
  this.config = config;
64
+ this.workStore = new WorkStore(config);
65
+ this.autoLaunchClient = options.autoLaunchClient ?? true;
60
66
  this.server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {} } });
61
67
  this.transport = new NtfyTransport(this.config);
62
68
  this.setupHandlers();
@@ -64,6 +70,7 @@ export class HumanInTheLoopServer {
64
70
  setupHandlers() {
65
71
  this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
66
72
  tools: [
73
+ ...WORK_TOOLS,
67
74
  {
68
75
  name: TOOL_NAME,
69
76
  description: `Use this tool when you need to ask the user questions during execution. This tool sends a push notification to ALL of the user's devices simultaneously — phone, laptop, desktop — so the human can respond from whichever device is most convenient, even when they have stepped away from the terminal. The answer is relayed back to you instantly.
@@ -224,7 +231,7 @@ IMPORTANT: When in doubt, ASK. Getting human input ensures accuracy and saves ti
224
231
  {
225
232
  name: NOTIFY_TOOL_NAME,
226
233
  description: 'Send a notification to the human without waiting for a response. ' +
227
- 'Use this for progress updates, status messages, or any information the human should see. ' +
234
+ 'Use this for one-off status messages or information the human should see. For ongoing multi-step work, milestones, or team reporting, prefer UpdateWork: it keeps one evolving progress document in the Inbox instead of separate notifications for the same goal. ' +
228
235
  'The notification appears on all of the user\'s devices and can be dismissed. ' +
229
236
  'Unlike AskUserQuestion, this tool returns immediately — it does NOT block.',
230
237
  inputSchema: {
@@ -286,10 +293,29 @@ Blocking past 60 seconds requires the calling MCP host to opt into resetTimeoutO
286
293
  ],
287
294
  }));
288
295
  this.server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
296
+ if (request.params.name === 'UpdateWork' || request.params.name === 'ReadWork') {
297
+ try {
298
+ const args = request.params.arguments ?? {};
299
+ const result = request.params.name === 'ReadWork'
300
+ ? { document: this.workStore.read(args.workId) }
301
+ : await this.workStore.update(args, async (message) => {
302
+ // Persist first; a missing client is a recoverable publication failure.
303
+ if (message.alert)
304
+ this.requireClient();
305
+ await this.transport.publishWork(message);
306
+ });
307
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
308
+ }
309
+ catch (error) {
310
+ throw new McpError(error instanceof WorkValidationError ? ErrorCode.InvalidParams : ErrorCode.InternalError, describeError(error));
311
+ }
312
+ }
289
313
  // Handle setup tool
290
314
  if (request.params.name === SETUP_TOOL_NAME) {
291
315
  try {
292
- const result = await performSetup(SERVER_DIR);
316
+ const result = await performSetup(SERVER_DIR, {
317
+ autoLaunchClient: this.autoLaunchClient,
318
+ });
293
319
  return {
294
320
  content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
295
321
  };
@@ -711,6 +737,8 @@ Blocking past 60 seconds requires the calling MCP host to opt into resetTimeoutO
711
737
  * window to explain why (A-10).
712
738
  */
713
739
  requireClient() {
740
+ if (!this.autoLaunchClient)
741
+ return;
714
742
  const result = ensureClientRunning(SERVER_DIR);
715
743
  if (!result.ok) {
716
744
  throw new McpError(ErrorCode.InternalError, `No HITL client available, so nobody would see this. ${result.reason ?? ''}`.trim());
@@ -790,6 +818,9 @@ Blocking past 60 seconds requires the calling MCP host to opt into resetTimeoutO
790
818
  this.outstandingReviews.clear();
791
819
  }
792
820
  }
821
+ export function parseServerOptions(args) {
822
+ return { autoLaunchClient: !args.includes('--no-auto-launch-client') };
823
+ }
793
824
  /**
794
825
  * True when this file is what node was asked to run, rather than something
795
826
  * another module imported.
@@ -811,7 +842,7 @@ function isDirectlyExecuted() {
811
842
  }
812
843
  }
813
844
  if (isDirectlyExecuted()) {
814
- const server = new HumanInTheLoopServer();
845
+ const server = new HumanInTheLoopServer(loadConfig(), parseServerOptions(process.argv.slice(2)));
815
846
  server.run().catch((error) => {
816
847
  console.error('Server error:', error);
817
848
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { WorkUpdateMessage } from './work-store.js';
1
2
  import type { QuestionMessage, AnswerMessage, HitlMessage, PlanMessage, SenderIdentityMessage, AnyHitlMessage, AttachmentRef, HitlConfig } from './types.js';
2
3
  /**
3
4
  * Pull ntfy's own attachment metadata off a raw event.
@@ -171,6 +172,9 @@ export declare class NtfyTransport {
171
172
  * a chunked plan_review would break the one-message-per-review guarantee.
172
173
  */
173
174
  publish(msg: HitlMessage): Promise<void>;
175
+ /** Full work snapshots use the existing encrypted, chunked wire path. */
176
+ publishWork(msg: WorkUpdateMessage): Promise<void>;
177
+ private publishChunked;
174
178
  /**
175
179
  * Publish a plan-review message. Never chunks.
176
180
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ntfy-transport.d.ts","sourceRoot":"","sources":["../src/ntfy-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntfy-transport.d.ts","sourceRoot":"","sources":["../src/ntfy-transport.ts"],"names":[],"mappings":"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"}
@@ -324,6 +324,15 @@ export class NtfyTransport {
324
324
  * a chunked plan_review would break the one-message-per-review guarantee.
325
325
  */
326
326
  async publish(msg) {
327
+ return this.publishChunked(msg);
328
+ }
329
+ /** Full work snapshots use the existing encrypted, chunked wire path. */
330
+ async publishWork(msg) {
331
+ // Retries retain the logical messageId but encrypt independently. Distinct
332
+ // assembly groups prevent concurrent attempts from mixing ciphertext.
333
+ return this.publishChunked(msg, randomBytes(16).toString('hex'));
334
+ }
335
+ async publishChunked(msg, groupId = msg.messageId) {
327
336
  let body;
328
337
  if (this.config.encryptionKey) {
329
338
  body = encrypt(JSON.stringify(msg), this.config.encryptionKey);
@@ -335,7 +344,7 @@ export class NtfyTransport {
335
344
  await this.publishRaw(body);
336
345
  return;
337
346
  }
338
- for (const chunk of splitIntoChunks(body, msg.messageId)) {
347
+ for (const chunk of splitIntoChunks(body, groupId)) {
339
348
  await this.publishRaw(JSON.stringify(chunk));
340
349
  }
341
350
  }