@synap-core/cli 1.12.2 → 1.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.
Files changed (234) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -8
  3. package/dist/build-info.json +2 -2
  4. package/dist/commands/agents.d.ts +0 -1
  5. package/dist/commands/agents.js +1 -1
  6. package/dist/commands/agents.js.map +1 -1
  7. package/dist/commands/app.js +2 -1
  8. package/dist/commands/app.js.map +1 -1
  9. package/dist/commands/automation.js +46 -41
  10. package/dist/commands/automation.js.map +1 -1
  11. package/dist/commands/box.d.ts +42 -0
  12. package/dist/commands/box.js +89 -0
  13. package/dist/commands/box.js.map +1 -0
  14. package/dist/commands/bridge-setup.js +3 -1
  15. package/dist/commands/bridge-setup.js.map +1 -1
  16. package/dist/commands/capability.d.ts +1 -1
  17. package/dist/commands/capability.js +57 -34
  18. package/dist/commands/capability.js.map +1 -1
  19. package/dist/commands/close-questions.d.ts +27 -0
  20. package/dist/commands/close-questions.js +49 -0
  21. package/dist/commands/close-questions.js.map +1 -0
  22. package/dist/commands/close-questions.test.d.ts +1 -0
  23. package/dist/commands/close-questions.test.js +52 -0
  24. package/dist/commands/close-questions.test.js.map +1 -0
  25. package/dist/commands/connect.d.ts +1 -3
  26. package/dist/commands/connect.js +2 -2
  27. package/dist/commands/connect.js.map +1 -1
  28. package/dist/commands/context.js +72 -43
  29. package/dist/commands/context.js.map +1 -1
  30. package/dist/commands/data-extra.js +12 -4
  31. package/dist/commands/data-extra.js.map +1 -1
  32. package/dist/commands/data.js +2 -1
  33. package/dist/commands/data.js.map +1 -1
  34. package/dist/commands/doctor.d.ts +21 -0
  35. package/dist/commands/doctor.js +108 -13
  36. package/dist/commands/doctor.js.map +1 -1
  37. package/dist/commands/hooks.d.ts +19 -0
  38. package/dist/commands/hooks.js +70 -0
  39. package/dist/commands/hooks.js.map +1 -0
  40. package/dist/commands/import.d.ts +25 -0
  41. package/dist/commands/import.js +98 -12
  42. package/dist/commands/import.js.map +1 -1
  43. package/dist/commands/init.d.ts +14 -0
  44. package/dist/commands/init.js +59 -19
  45. package/dist/commands/init.js.map +1 -1
  46. package/dist/commands/knowledge.js +4 -2
  47. package/dist/commands/knowledge.js.map +1 -1
  48. package/dist/commands/lens.js +2 -1
  49. package/dist/commands/lens.js.map +1 -1
  50. package/dist/commands/market-authoring.js +1 -1
  51. package/dist/commands/market-authoring.js.map +1 -1
  52. package/dist/commands/mcp.js +2 -2
  53. package/dist/commands/mcp.js.map +1 -1
  54. package/dist/commands/observe.category.test.d.ts +1 -0
  55. package/dist/commands/observe.category.test.js +59 -0
  56. package/dist/commands/observe.category.test.js.map +1 -0
  57. package/dist/commands/observe.d.ts +3 -0
  58. package/dist/commands/observe.js +7 -5
  59. package/dist/commands/observe.js.map +1 -1
  60. package/dist/commands/observe.title.test.d.ts +1 -0
  61. package/dist/commands/observe.title.test.js +37 -0
  62. package/dist/commands/observe.title.test.js.map +1 -0
  63. package/dist/commands/playbook.js +9 -0
  64. package/dist/commands/playbook.js.map +1 -1
  65. package/dist/commands/pods.d.ts +6 -1
  66. package/dist/commands/pods.js +32 -15
  67. package/dist/commands/pods.js.map +1 -1
  68. package/dist/commands/proton-setup.js +3 -1
  69. package/dist/commands/proton-setup.js.map +1 -1
  70. package/dist/commands/session-feed-wait.d.ts +48 -0
  71. package/dist/commands/session-feed-wait.js +261 -0
  72. package/dist/commands/session-feed-wait.js.map +1 -0
  73. package/dist/commands/session-post.d.ts +40 -0
  74. package/dist/commands/session-post.js +96 -0
  75. package/dist/commands/session-post.js.map +1 -0
  76. package/dist/commands/session-wait.d.ts +9 -4
  77. package/dist/commands/session-wait.js +20 -5
  78. package/dist/commands/session-wait.js.map +1 -1
  79. package/dist/commands/sessions.d.ts +2 -0
  80. package/dist/commands/sessions.js +23 -0
  81. package/dist/commands/sessions.js.map +1 -1
  82. package/dist/commands/skills-commands.d.ts +2 -0
  83. package/dist/commands/skills-commands.js +9 -1
  84. package/dist/commands/skills-commands.js.map +1 -1
  85. package/dist/commands/skills-commands.test.d.ts +1 -0
  86. package/dist/commands/skills-commands.test.js +57 -0
  87. package/dist/commands/skills-commands.test.js.map +1 -0
  88. package/dist/commands/status.js +1 -1
  89. package/dist/commands/status.js.map +1 -1
  90. package/dist/commands/template.d.ts +42 -0
  91. package/dist/commands/template.js +191 -0
  92. package/dist/commands/template.js.map +1 -0
  93. package/dist/commands/tracks.d.ts +67 -6
  94. package/dist/commands/tracks.js +268 -16
  95. package/dist/commands/tracks.js.map +1 -1
  96. package/dist/commands/whoami.d.ts +7 -0
  97. package/dist/commands/whoami.js +17 -0
  98. package/dist/commands/whoami.js.map +1 -1
  99. package/dist/commands/worker-accounts.d.ts +149 -0
  100. package/dist/commands/worker-accounts.js +339 -0
  101. package/dist/commands/worker-accounts.js.map +1 -0
  102. package/dist/commands/worker-accounts.test.d.ts +1 -0
  103. package/dist/commands/worker-accounts.test.js +224 -0
  104. package/dist/commands/worker-accounts.test.js.map +1 -0
  105. package/dist/commands/worker.d.ts +219 -10
  106. package/dist/commands/worker.js +749 -117
  107. package/dist/commands/worker.js.map +1 -1
  108. package/dist/commands/worker.test.js +321 -10
  109. package/dist/commands/worker.test.js.map +1 -1
  110. package/dist/index.js +164 -27
  111. package/dist/index.js.map +1 -1
  112. package/dist/lib/agent-door.d.ts +1 -3
  113. package/dist/lib/agent-door.js +10 -7
  114. package/dist/lib/agent-door.js.map +1 -1
  115. package/dist/lib/auth.d.ts +3 -2
  116. package/dist/lib/auth.js +3 -3
  117. package/dist/lib/auth.js.map +1 -1
  118. package/dist/lib/box/egress.d.ts +82 -0
  119. package/dist/lib/box/egress.js +264 -0
  120. package/dist/lib/box/egress.js.map +1 -0
  121. package/dist/lib/box/evidence.d.ts +86 -0
  122. package/dist/lib/box/evidence.js +121 -0
  123. package/dist/lib/box/evidence.js.map +1 -0
  124. package/dist/lib/box/job-server.d.ts +72 -0
  125. package/dist/lib/box/job-server.js +246 -0
  126. package/dist/lib/box/job-server.js.map +1 -0
  127. package/dist/lib/box/provisioner.d.ts +83 -0
  128. package/dist/lib/box/provisioner.js +312 -0
  129. package/dist/lib/box/provisioner.js.map +1 -0
  130. package/dist/lib/box/proxmox.d.ts +112 -0
  131. package/dist/lib/box/proxmox.js +211 -0
  132. package/dist/lib/box/proxmox.js.map +1 -0
  133. package/dist/lib/box/wire.d.ts +98 -0
  134. package/dist/lib/box/wire.js +70 -0
  135. package/dist/lib/box/wire.js.map +1 -0
  136. package/dist/lib/browser-auth.d.ts +35 -0
  137. package/dist/lib/browser-auth.js +170 -0
  138. package/dist/lib/browser-auth.js.map +1 -0
  139. package/dist/lib/client-header.test.d.ts +1 -0
  140. package/dist/lib/client-header.test.js +85 -0
  141. package/dist/lib/client-header.test.js.map +1 -0
  142. package/dist/lib/conversation-headers.d.ts +24 -9
  143. package/dist/lib/conversation-headers.js +40 -3
  144. package/dist/lib/conversation-headers.js.map +1 -1
  145. package/dist/lib/credential-class.d.ts +28 -1
  146. package/dist/lib/credential-class.js +28 -6
  147. package/dist/lib/credential-class.js.map +1 -1
  148. package/dist/lib/exporter-coverage.d.ts +1 -1
  149. package/dist/lib/exporter-coverage.js +1 -1
  150. package/dist/lib/goal-words.d.ts +38 -0
  151. package/dist/lib/goal-words.js +112 -0
  152. package/dist/lib/goal-words.js.map +1 -0
  153. package/dist/lib/hub-client.d.ts +28 -7
  154. package/dist/lib/hub-client.js +75 -34
  155. package/dist/lib/hub-client.js.map +1 -1
  156. package/dist/lib/init-handoff.d.ts +8 -0
  157. package/dist/lib/init-handoff.js +9 -2
  158. package/dist/lib/init-handoff.js.map +1 -1
  159. package/dist/lib/key-source.d.ts +3 -1
  160. package/dist/lib/key-source.js +7 -4
  161. package/dist/lib/key-source.js.map +1 -1
  162. package/dist/lib/knowledge-title.d.ts +3 -2
  163. package/dist/lib/knowledge-title.js +3 -2
  164. package/dist/lib/knowledge-title.js.map +1 -1
  165. package/dist/lib/mcp-bridge.d.ts +7 -0
  166. package/dist/lib/mcp-bridge.js +34 -1
  167. package/dist/lib/mcp-bridge.js.map +1 -1
  168. package/dist/lib/mcp-bridge.test.js +31 -3
  169. package/dist/lib/mcp-bridge.test.js.map +1 -1
  170. package/dist/lib/openclaw.d.ts +32 -0
  171. package/dist/lib/openclaw.js +165 -0
  172. package/dist/lib/openclaw.js.map +1 -0
  173. package/dist/lib/pod-moved.d.ts +70 -0
  174. package/dist/lib/pod-moved.js +146 -0
  175. package/dist/lib/pod-moved.js.map +1 -0
  176. package/dist/lib/pod-reach.d.ts +39 -0
  177. package/dist/lib/pod-reach.js +117 -0
  178. package/dist/lib/pod-reach.js.map +1 -0
  179. package/dist/lib/pod-reach.test.d.ts +1 -0
  180. package/dist/lib/pod-reach.test.js +67 -0
  181. package/dist/lib/pod-reach.test.js.map +1 -0
  182. package/dist/lib/pod.d.ts +8 -0
  183. package/dist/lib/pod.js +12 -3
  184. package/dist/lib/pod.js.map +1 -1
  185. package/dist/lib/register-claude-code-mcp.test.d.ts +1 -0
  186. package/dist/lib/register-claude-code-mcp.test.js +78 -0
  187. package/dist/lib/register-claude-code-mcp.test.js.map +1 -0
  188. package/dist/lib/review-credential.js +3 -1
  189. package/dist/lib/review-credential.js.map +1 -1
  190. package/dist/lib/seed.d.ts +13 -0
  191. package/dist/lib/seed.js +135 -0
  192. package/dist/lib/seed.js.map +1 -0
  193. package/dist/lib/session-feed.d.ts +185 -0
  194. package/dist/lib/session-feed.js +257 -0
  195. package/dist/lib/session-feed.js.map +1 -0
  196. package/dist/lib/targets.d.ts +21 -3
  197. package/dist/lib/targets.js +52 -107
  198. package/dist/lib/targets.js.map +1 -1
  199. package/dist/lib/wake-hook-settings.d.ts +57 -0
  200. package/dist/lib/wake-hook-settings.js +153 -0
  201. package/dist/lib/wake-hook-settings.js.map +1 -0
  202. package/dist/lib/wake-state.d.ts +65 -0
  203. package/dist/lib/wake-state.js +122 -0
  204. package/dist/lib/wake-state.js.map +1 -0
  205. package/package.json +5 -2
  206. package/skills/README.md +1 -1
  207. package/skills/agent-os/SKILL.md +8 -8
  208. package/skills/synap/SKILL.md +141 -84
  209. package/skills/synap/code-skills.md +70 -0
  210. package/skills/synap/concepts.md +28 -20
  211. package/skills/synap/creative-loop.md +1 -1
  212. package/skills/synap/document-embeds.md +3 -1
  213. package/skills/synap/focus-sessions.md +16 -7
  214. package/skills/synap/from-intent.md +32 -16
  215. package/skills/synap/governance-rules.md +1 -1
  216. package/skills/synap/lenses.md +4 -4
  217. package/skills/synap/linking.md +2 -2
  218. package/skills/synap/mental-model.md +1 -1
  219. package/skills/synap/operating-mode-rules.md +1 -1
  220. package/skills/synap/quick-reference.md +2 -1
  221. package/skills/synap/reflexes.md +6 -6
  222. package/skills/synap/viewframe-cells.md +1 -1
  223. package/skills/synap/work-model.md +24 -10
  224. package/skills/synap/workspace-design.md +5 -5
  225. package/skills/synap/writes.md +16 -9
  226. package/skills/synap-app/SKILL.md +148 -66
  227. package/skills/synap-app/creating-the-base-app.md +12 -7
  228. package/skills/synap-app/governance.md +27 -16
  229. package/skills/synap-app/install-commands.md +18 -9
  230. package/skills/synap-app/overview.md +16 -9
  231. package/skills/synap-app/using-the-sdk.md +75 -25
  232. package/skills/synap-schema/SKILL.md +21 -21
  233. package/skills/synap-schema/intent-vocabulary-ssot.md +21 -21
  234. package/templates/box/runner.py +206 -0
@@ -24,7 +24,8 @@
24
24
  */
25
25
  import chalk from "chalk";
26
26
  import { log } from "../utils/logger.js";
27
- import { getActivePodConfig, getActiveWorkspaceId, getActiveProjectId, listPodProfiles, checkPodHealth } from "../lib/pod.js";
27
+ import { reachChecklist } from "../lib/pod-reach.js";
28
+ import { getActivePodConfig, getActiveWorkspaceId, getActiveProjectId, listPodProfiles, checkPodHealth, findPodNameByUrl } from "../lib/pod.js";
28
29
  import { resolveHubConfig, hubGet, HubError } from "../lib/hub-client.js";
29
30
  import { formatKeySource, resolveKeySource } from "../lib/key-source.js";
30
31
  import { resolveLensProvenance } from "../lib/describe-lens.js";
@@ -36,6 +37,8 @@ import { connectionLines } from "../lib/agent-connections.js";
36
37
  import { thisComputerInstanceIds } from "../lib/machine-instance.js";
37
38
  import { tildify } from "../lib/key-locations.js";
38
39
  import { cliBuild, formatCliBuild } from "../lib/cli-build.js";
40
+ import { CP_URL, getStoredToken } from "../lib/auth.js";
41
+ import { askControlPlaneWherePodIs, POD_MOVED_HINT } from "../lib/pod-moved.js";
39
42
  import os from "node:os";
40
43
  import path from "node:path";
41
44
  import { unwrapList } from "../lib/unwrapList.js";
@@ -81,6 +84,65 @@ async function printAgentConnections(cfg) {
81
84
  if (olderPod)
82
85
  console.log(chalk.dim(" (this pod predates per-computer connections — update it to see them)"));
83
86
  }
87
+ /** Hosted pods (the only ones the Control Plane can move) live under synap.live. */
88
+ function isSynapHosted(podUrl) {
89
+ try {
90
+ const host = new URL(podUrl).hostname;
91
+ return host === "synap.live" || host.endsWith(".synap.live");
92
+ }
93
+ catch {
94
+ return false;
95
+ }
96
+ }
97
+ /**
98
+ * Why a pod host did not answer, when the reason is a move. Null when it is not
99
+ * one (or nothing suggests it), so the caller keeps its generic message. Asks
100
+ * the Control Plane only on a signal: a redirect to another host, or a hosted
101
+ * address that stopped answering.
102
+ */
103
+ export async function diagnosePodMove(podUrl, health, activeName) {
104
+ if (!health.moved && !isSynapHosted(podUrl))
105
+ return null;
106
+ const answer = await askControlPlaneWherePodIs({
107
+ podUrl,
108
+ cpUrl: CP_URL,
109
+ cpToken: getStoredToken()?.token,
110
+ });
111
+ const name = "Pod host resolves";
112
+ if (answer.kind === "moved") {
113
+ return {
114
+ check: {
115
+ name,
116
+ ok: false,
117
+ detail: `${podUrl} has a new address: ${answer.podUrl}`,
118
+ fix: POD_MOVED_HINT,
119
+ },
120
+ move: { from: podUrl, to: answer.podUrl, profileName: findPodNameByUrl(podUrl) },
121
+ };
122
+ }
123
+ if (!health.moved)
124
+ return null;
125
+ return {
126
+ check: {
127
+ name,
128
+ ok: false,
129
+ detail: `${podUrl} sends its requests to another address, and Synap does not follow it`,
130
+ fix: answer.kind === "signed-out"
131
+ ? "Sign in so Synap can look up the new address: synap login — then run: synap doctor --fix"
132
+ : `Find the pod's address in your account, then run: synap pods update ${activeName} <new-url>`,
133
+ },
134
+ };
135
+ }
136
+ /** `doctor --fix` for a moved pod: the same door as `synap pods update`. */
137
+ async function fixPodMove(move) {
138
+ if (!move.profileName) {
139
+ console.log(` ${chalk.red("✗")} No saved pod uses ${move.from}, so there is nothing to update here.`);
140
+ console.log(chalk.dim(` → Set SYNAP_POD_URL to ${move.to}, or save it: synap pods add`));
141
+ return false;
142
+ }
143
+ const { podsUpdate } = await import("./pods.js");
144
+ return (await podsUpdate(move.profileName, move.to)) && findPodNameByUrl(move.to) === move.profileName;
145
+ }
84
146
  /**
85
147
  * Read the Intelligence-Service entry out of `GET /api/hub/health/dependencies`.
86
148
  *
@@ -217,7 +279,7 @@ export async function doctor(opts = {}) {
217
279
  }
218
280
  // ── (a) Host resolves — the pod is actually served at this URL ───────────
219
281
  const localConfig = getActivePodConfig();
220
- const podUrl = cfgResolved?.podUrl ?? localConfig?.podUrl ?? process.env.SYNAP_POD_URL;
282
+ const podUrl = opts.podUrl ?? cfgResolved?.podUrl ?? localConfig?.podUrl ?? process.env.SYNAP_POD_URL;
221
283
  if (!podUrl) {
222
284
  checks.push({
223
285
  name: "Pod URL configured",
@@ -228,6 +290,7 @@ export async function doctor(opts = {}) {
228
290
  return finish(checks, opts, { podUrl: undefined, workspaceId: undefined, projectId: undefined });
229
291
  }
230
292
  let hostServed = false;
293
+ let podMove;
231
294
  const names = {};
232
295
  const health = await checkPodHealth(podUrl);
233
296
  names.podVersion = health.version;
@@ -240,15 +303,35 @@ export async function doctor(opts = {}) {
240
303
  });
241
304
  }
242
305
  else {
243
- // The classic failure this check exists for: a saved profile URL that no
244
- // longer resolves to a live pod — most often a stale/migrated domain, not
245
- // a transient network blip (checkPodHealth already retried the timeout).
246
- checks.push({
247
- name: "Pod host resolves",
248
- ok: false,
249
- detail: `${podUrl} did not answer /health`,
250
- fix: `Your profile URL may be stale. Run: synap pods list (see saved pods) — or: synap pods update ${activeName} <new-url>`,
251
- });
306
+ // A moved pod: the old name redirects elsewhere, or (after the redirect
307
+ // window) no longer answers. Only the Control Plane says where it went.
308
+ const diagnosis = await diagnosePodMove(podUrl, health, activeName);
309
+ if (diagnosis) {
310
+ checks.push(diagnosis.check);
311
+ podMove = diagnosis.move;
312
+ }
313
+ else {
314
+ // The classic failure this check exists for: a saved profile URL that no
315
+ // longer resolves to a live pod — most often a stale/migrated domain, not
316
+ // a transient network blip (checkPodHealth already retried the timeout).
317
+ const f = health.failure;
318
+ const networkSide = f?.kind === "proxy" || f?.kind === "network";
319
+ checks.push({
320
+ name: "Pod host resolves",
321
+ ok: false,
322
+ detail: f
323
+ ? `${podUrl}: ${f.detail}${f.proxy ? ` — via ${f.proxy.env}=${f.proxy.url}` : ""}`
324
+ : `${podUrl} did not answer /health`,
325
+ fix: networkSide
326
+ ? reachChecklist(f).join("\n")
327
+ : `Your profile URL may be stale. Run: synap pods list (see saved pods) — or: synap pods update ${activeName} <new-url>`,
328
+ });
329
+ }
330
+ }
331
+ // An explicit --pod-url is a reachability probe of THAT pod: the configured
332
+ // key and lens belong to another pod, so do not judge them against it.
333
+ if (opts.podUrl) {
334
+ return finish(checks, opts, { podUrl, workspaceId: undefined, projectId: undefined, podVersion: names.podVersion }, undefined, undefined, podMove);
252
335
  }
253
336
  // ── (b) Key authenticates against this pod ────────────────────────────────
254
337
  let keyValid = false;
@@ -404,7 +487,7 @@ export async function doctor(opts = {}) {
404
487
  workspaceId: cfgResolved?.workspaceId,
405
488
  projectId: cfgResolved?.projectId,
406
489
  ...names,
407
- }, keyHealth, cfgResolved);
490
+ }, keyHealth, cfgResolved, podMove);
408
491
  }
409
492
  /**
410
493
  * Call the pod's dependency probe. Every failure mode that is not a positive
@@ -676,7 +759,7 @@ function lensOrigin(p) {
676
759
  }
677
760
  return p.source;
678
761
  }
679
- async function finish(checks, opts, lens, keyHealth, hubCfg) {
762
+ async function finish(checks, opts, lens, keyHealth, hubCfg, podMove) {
680
763
  // Green requires every check to have VERIFIED something. An undetermined
681
764
  // check suppresses green (it is not a pass) but does not fail the run — only
682
765
  // a proven failure sets a non-zero exit code.
@@ -777,6 +860,18 @@ async function finish(checks, opts, lens, keyHealth, hubCfg) {
777
860
  }
778
861
  }
779
862
  }
863
+ // ── A moved pod: rewrite the saved address through the one door ──────────
864
+ if (podMove && opts.fix) {
865
+ log.blank();
866
+ console.log(chalk.bold("Fixing"));
867
+ const hostRow = checks.find((c) => c.name === "Pod host resolves");
868
+ if (await fixPodMove(podMove)) {
869
+ if (hostRow) {
870
+ hostRow.ok = true;
871
+ hostRow.detail = `updated to ${podMove.to} — run synap doctor again to check the rest`;
872
+ }
873
+ }
874
+ }
780
875
  // ── One agent, several computers ─────────────────────────────────────────
781
876
  if (hubCfg) {
782
877
  log.blank();
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `synap hooks install-wake` — put the wake hook in a Claude Code settings
3
+ * file (or take it out with `--uninstall`). The merge and the contract live in
4
+ * `lib/wake-hook-settings.ts`; `synap init` calls {@link installWakeHookForProject}.
5
+ */
6
+ export interface InstallWakeOpts {
7
+ uninstall?: boolean;
8
+ user?: boolean;
9
+ dir?: string;
10
+ json?: boolean;
11
+ }
12
+ export declare function installWakeCommand(opts: InstallWakeOpts): void;
13
+ /**
14
+ * `synap init`'s step: install into the project init runs in — only when that
15
+ * directory IS a project (it has `.git` or `.claude`), never into a stray
16
+ * directory, and never into the home directory (that file is the user's
17
+ * global settings: `--user` is a deliberate choice). Never fails init.
18
+ */
19
+ export declare function installWakeHookForProject(dir?: string): void;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * `synap hooks install-wake` — put the wake hook in a Claude Code settings
3
+ * file (or take it out with `--uninstall`). The merge and the contract live in
4
+ * `lib/wake-hook-settings.ts`; `synap init` calls {@link installWakeHookForProject}.
5
+ */
6
+ import fs from "node:fs";
7
+ import os from "node:os";
8
+ import path from "node:path";
9
+ import chalk from "chalk";
10
+ import { log } from "../utils/logger.js";
11
+ import { WAKE_HOOK_COMMAND, applyWakeHook, wakeHookSettingsPath, } from "../lib/wake-hook-settings.js";
12
+ const SAID = {
13
+ added: "Wake hook added",
14
+ updated: "Wake hook updated",
15
+ unchanged: "Wake hook already in place",
16
+ removed: "Wake hook removed",
17
+ absent: "No wake hook to remove",
18
+ };
19
+ export function installWakeCommand(opts) {
20
+ const file = wakeHookSettingsPath(opts);
21
+ let change;
22
+ try {
23
+ change = applyWakeHook(file, opts.uninstall === true);
24
+ }
25
+ catch (e) {
26
+ if (opts.json)
27
+ console.log(JSON.stringify({ file, error: e.message }));
28
+ else
29
+ log.error(e.message);
30
+ process.exit(1);
31
+ return;
32
+ }
33
+ if (opts.json) {
34
+ console.log(JSON.stringify({ file, change, command: WAKE_HOOK_COMMAND }));
35
+ return;
36
+ }
37
+ log.success(`${SAID[change]}: ${file}`);
38
+ if (!opts.uninstall) {
39
+ log.dim(`Stop → ${WAKE_HOOK_COMMAND} (asyncRewake)`);
40
+ log.dim("A Claude Code terminal attached to a session (synap session attach <id>) now wakes when another");
41
+ log.dim("session's agent hands it work or is blocked on it, or when you answer in the session's room.");
42
+ log.dim(`Undo: ${chalk.cyan("synap hooks install-wake --uninstall" + (opts.user ? " --user" : ""))}`);
43
+ }
44
+ }
45
+ /**
46
+ * `synap init`'s step: install into the project init runs in — only when that
47
+ * directory IS a project (it has `.git` or `.claude`), never into a stray
48
+ * directory, and never into the home directory (that file is the user's
49
+ * global settings: `--user` is a deliberate choice). Never fails init.
50
+ */
51
+ export function installWakeHookForProject(dir = process.cwd()) {
52
+ const here = path.resolve(dir);
53
+ const isProject = fs.existsSync(path.join(here, ".git")) || fs.existsSync(path.join(here, ".claude"));
54
+ if (here === path.resolve(os.homedir()) || !isProject) {
55
+ log.dim(`To let another session wake Claude Code here, run in your project: ${chalk.cyan("synap hooks install-wake")}`);
56
+ return;
57
+ }
58
+ try {
59
+ const file = wakeHookSettingsPath({ dir: here });
60
+ const change = applyWakeHook(file);
61
+ if (change === "added" || change === "updated") {
62
+ log.success(`Claude Code wake hook ${change}: ${file}`);
63
+ log.dim(`Undo: ${chalk.cyan("synap hooks install-wake --uninstall")}`);
64
+ }
65
+ }
66
+ catch (e) {
67
+ log.warn(`Wake hook not installed: ${e.message}`);
68
+ }
69
+ }
70
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@
4
4
  * Routing (INTAKE-CONSOLIDATION-PLAN Wave 1):
5
5
  * - Superwhisper store-first → lib/superwhisper-import (unchanged)
6
6
  * - Single file OR single URL → POST /capture/structure + /capture/execute
7
+ * - Any .csv (even ONE) → its own `source: csv` batch on the table
8
+ * door below (a CSV is a table, never prose)
7
9
  * - 2 text-like files
8
10
  * (md / markdown / txt / csv) → ONE batch via SYNCHRONOUS REST import:
9
11
  * POST /import/analyze → human review (or --yes / --dry-run)
@@ -153,6 +155,23 @@ interface ImportApplyResult {
153
155
  linked?: number;
154
156
  [key: string]: unknown;
155
157
  }
158
+ /**
159
+ * Which batch-eligible files go through the table/batch door, and in which
160
+ * batches:
161
+ * - every CSV, even a lone one, in ONE `source: csv` batch. A CSV is a TABLE:
162
+ * the batch door builds a column→kind plan for it, while the single-file
163
+ * capture door reads it as free text (a 1,500-row contacts export came back
164
+ * as one degraded note filed in the wrong space). Keeping CSVs apart also
165
+ * stops a mixed md + csv batch from parsing the markdown as CSV.
166
+ * - the other text files in ONE batch when there are ≥2; a lone one stays on
167
+ * the capture door (unchanged).
168
+ */
169
+ export declare function groupBatchFiles<T extends {
170
+ path: string;
171
+ }>(files: T[]): {
172
+ batches: T[][];
173
+ single: T[];
174
+ };
156
175
  type HomeMapPair = {
157
176
  pathSubstring: string;
158
177
  workspace: string;
@@ -206,6 +225,12 @@ export interface ItemOutcome {
206
225
  * blob is still only a pending review.
207
226
  */
208
227
  sourceFile?: "stored" | "proposed" | "denied" | "failed";
228
+ /**
229
+ * Where a person reviews a `proposed` import (the pod's /open/<id> page).
230
+ * Present when the import was filed and NOT applied — an agent credential
231
+ * cannot approve, so its import stops at the proposal.
232
+ */
233
+ reviewUrl?: string;
209
234
  /** Present for the multi-file /import/* batch path. */
210
235
  batch?: {
211
236
  source: ImportSource;
@@ -4,6 +4,8 @@
4
4
  * Routing (INTAKE-CONSOLIDATION-PLAN Wave 1):
5
5
  * - Superwhisper store-first → lib/superwhisper-import (unchanged)
6
6
  * - Single file OR single URL → POST /capture/structure + /capture/execute
7
+ * - Any .csv (even ONE) → its own `source: csv` batch on the table
8
+ * door below (a CSV is a table, never prose)
7
9
  * - 2 text-like files
8
10
  * (md / markdown / txt / csv) → ONE batch via SYNCHRONOUS REST import:
9
11
  * POST /import/analyze → human review (or --yes / --dry-run)
@@ -45,6 +47,7 @@ import { resolveHubConfig, resolveUserId, hubGet, hubPost, resolveActiveSessionI
45
47
  import { unwrapList } from "../lib/unwrapList.js";
46
48
  import { pollForApproval } from "../lib/approval-poll.js";
47
49
  import { FLOW, renderNextSteps } from "../lib/next-steps.js";
50
+ import { fetchEffectiveIdentity, isAgentReviewRejection, proposalWebLink, } from "../lib/credential-class.js";
48
51
  import { formatLaneLine, resolveWorkspaceName } from "../lib/capture-lane.js";
49
52
  import { isDegraded, degradedMessage, readCaptureExecute, formatWorkspaceRouting, formatPendingWorkspaceSwitch, headlessPlacementFields, projectRoutingHints, workspaceRoutingHints, } from "../lib/capture-structure.js";
50
53
  // ─── input classification ─────────────────────────────────────────────────────
@@ -249,6 +252,28 @@ function sourceForBatchItems(items) {
249
252
  return "markdown";
250
253
  return "markdown";
251
254
  }
255
+ /**
256
+ * Which batch-eligible files go through the table/batch door, and in which
257
+ * batches:
258
+ * - every CSV, even a lone one, in ONE `source: csv` batch. A CSV is a TABLE:
259
+ * the batch door builds a column→kind plan for it, while the single-file
260
+ * capture door reads it as free text (a 1,500-row contacts export came back
261
+ * as one degraded note filed in the wrong space). Keeping CSVs apart also
262
+ * stops a mixed md + csv batch from parsing the markdown as CSV.
263
+ * - the other text files in ONE batch when there are ≥2; a lone one stays on
264
+ * the capture door (unchanged).
265
+ */
266
+ export function groupBatchFiles(files) {
267
+ const isCsv = (f) => f.path.toLowerCase().endsWith(".csv");
268
+ const csv = files.filter(isCsv);
269
+ const text = files.filter((f) => !isCsv(f));
270
+ const batches = [];
271
+ if (csv.length > 0)
272
+ batches.push(csv);
273
+ if (text.length >= 2)
274
+ batches.push(text);
275
+ return { batches, single: text.length >= 2 ? [] : text };
276
+ }
252
277
  function toBatchTextItem(item) {
253
278
  return {
254
279
  path: item.path,
@@ -1060,7 +1085,12 @@ async function processBatchImport(batchItems, opts, cfg, userId, wsOverride, pro
1060
1085
  : 0;
1061
1086
  const source = sourceForBatchItems(mappedItems);
1062
1087
  const label = `batch:${source} (${mappedItems.length} files)`;
1063
- const workspaceId = wsOverride ?? cfg.workspaceId;
1088
+ // Only an explicit --workspace pins an import. The saved default space is
1089
+ // not a choice the person made for THIS import: sent as a pin it filed a
1090
+ // 2,827-entity, all pod-wide contacts import under "Brand" (live 0728053b,
1091
+ // 2026-10-22). Without a pin the pod places the graph by its kinds and
1092
+ // roles (one space when they all point at it, else pod-wide).
1093
+ const workspaceId = wsOverride;
1064
1094
  // Above CORPUS_THRESHOLD the synchronous door cannot finish inside the pod's
1065
1095
  // request timeout — hand the SAME mapped items (home-map already applied, caps
1066
1096
  // already enforced, source already resolved) to the background door instead.
@@ -1141,6 +1171,20 @@ async function processBatchImport(batchItems, opts, cfg, userId, wsOverride, pro
1141
1171
  batch: batchMeta,
1142
1172
  };
1143
1173
  }
1174
+ // Applying a NAMED import proposal is approving it, and approval is the
1175
+ // human step: the pod refuses an agent credential (HTTP 403, correct
1176
+ // governance). So an agent's import ends at the proposal — reported as
1177
+ // `proposed` with the review link, never as `failed`. `/users/me` `isAgent`
1178
+ // is the pod's own answer; when it is unknown the apply runs and a 403
1179
+ // agent refusal is read the same way.
1180
+ const filedProposalId = analyzeRes.proposalId ?? null;
1181
+ if (filedProposalId && (await callerIsAgent(cfg))) {
1182
+ return proposedForReview(label, filedProposalId, cfg, opts, {
1183
+ workspaceId: analyzeRes.workspaceId ?? workspaceId ?? null,
1184
+ projectId: projOverride ?? null,
1185
+ batch: batchMeta,
1186
+ });
1187
+ }
1144
1188
  const applySessionId = analyzeRes.sessionId ?? sessionId;
1145
1189
  // Prefer analyze-resolved placement so apply lands where the proposal was filed.
1146
1190
  const applyWorkspaceId = analyzeRes.workspaceId ?? workspaceId ?? undefined;
@@ -1159,7 +1203,20 @@ async function processBatchImport(batchItems, opts, cfg, userId, wsOverride, pro
1159
1203
  }
1160
1204
  : {}),
1161
1205
  };
1162
- const applyRes = (await hubPost("/import/apply", applyBody, cfg, IMPORT_APPLY_TIMEOUT_MS));
1206
+ let applyRes;
1207
+ try {
1208
+ applyRes = (await hubPost("/import/apply", applyBody, cfg, IMPORT_APPLY_TIMEOUT_MS));
1209
+ }
1210
+ catch (e) {
1211
+ if (filedProposalId && isAgentReviewRejection(e)) {
1212
+ return proposedForReview(label, filedProposalId, cfg, opts, {
1213
+ workspaceId: analyzeRes.workspaceId ?? workspaceId ?? null,
1214
+ projectId: projOverride ?? null,
1215
+ batch: batchMeta,
1216
+ });
1217
+ }
1218
+ throw e;
1219
+ }
1163
1220
  const created = applyRes.created ?? 0;
1164
1221
  const linked = applyRes.linked ?? 0;
1165
1222
  const finalWs = applyRes.workspaceId ?? analyzeRes.workspaceId ?? workspaceId ?? null;
@@ -1190,6 +1247,38 @@ async function processBatchImport(batchItems, opts, cfg, userId, wsOverride, pro
1190
1247
  batch: { ...batchMeta, apply: applyRes },
1191
1248
  };
1192
1249
  }
1250
+ /**
1251
+ * Is the calling credential an agent? The pod's own `/users/me` `isAgent`.
1252
+ * Unknown (older pod, network) is `false`: the apply then runs and the pod's
1253
+ * 403 agent refusal is translated after the fact — never a guess that blocks
1254
+ * a human.
1255
+ */
1256
+ async function callerIsAgent(cfg) {
1257
+ try {
1258
+ return (await fetchEffectiveIdentity(cfg)).isAgent === true;
1259
+ }
1260
+ catch {
1261
+ return false;
1262
+ }
1263
+ }
1264
+ /** The import was filed for review and not applied: say so, with the door. */
1265
+ function proposedForReview(label, proposalId, cfg, opts, rest) {
1266
+ const reviewUrl = proposalWebLink(cfg.podUrl, proposalId);
1267
+ if (!opts.json) {
1268
+ log.info(" Proposed — waiting for your approval. Nothing is stored until a person approves it.");
1269
+ log.dim(` proposal: ${proposalId}`);
1270
+ log.dim(` review: ${reviewUrl}`);
1271
+ log.dim(` or run: synap open proposal ${proposalId}`);
1272
+ }
1273
+ return {
1274
+ label,
1275
+ status: "proposed",
1276
+ entities: 0,
1277
+ relations: 0,
1278
+ reviewUrl,
1279
+ ...rest,
1280
+ };
1281
+ }
1193
1282
  // ─── `synap import --job-status <jobId>` ──────────────────────────────────────
1194
1283
  /**
1195
1284
  * Re-poll a corpus job started by an earlier `synap import`.
@@ -1352,17 +1441,14 @@ export async function importData(inputs, opts) {
1352
1441
  }
1353
1442
  batchFileItems.length = GLOBAL_BATCH_CAP;
1354
1443
  }
1355
- const useBatch = batchFileItems.length >= 2;
1356
- const batchCandidates = useBatch
1357
- ? batchFileItems.map(toBatchTextItem)
1358
- : [];
1359
- if (!useBatch) {
1360
- captureItems.push(...batchFileItems);
1361
- }
1444
+ const grouped = groupBatchFiles(batchFileItems);
1445
+ const batchGroups = grouped.batches.map((group) => group.map(toBatchTextItem));
1446
+ captureItems.push(...grouped.single);
1362
1447
  if (!opts.json) {
1363
1448
  const parts = [];
1364
- if (useBatch)
1365
- parts.push(`${batchCandidates.length} text files (batch import)`);
1449
+ for (const group of batchGroups) {
1450
+ parts.push(`${group.length} ${sourceForBatchItems(group) === "csv" ? "CSV" : "text"} file${group.length !== 1 ? "s" : ""} (batch import)`);
1451
+ }
1366
1452
  if (captureItems.length > 0) {
1367
1453
  parts.push(`${captureItems.length} item${captureItems.length !== 1 ? "s" : ""} (capture pipeline)`);
1368
1454
  }
@@ -1374,7 +1460,7 @@ export async function importData(inputs, opts) {
1374
1460
  const interactive = !opts.json && !opts.dryRun && !opts.yes;
1375
1461
  const rl = interactive ? readline.createInterface({ input, output }) : undefined;
1376
1462
  try {
1377
- if (useBatch) {
1463
+ for (const batchCandidates of batchGroups) {
1378
1464
  try {
1379
1465
  outcomes.push(await processBatchImport(batchCandidates, opts, cfg, userId, wsOverride, projOverride, sessionId, rl, homeMap));
1380
1466
  }