@synap-core/cli 1.13.0 → 1.13.1-next.20261102.3a66eb1

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 (227) hide show
  1. package/README.md +13 -3
  2. package/dist/build-info.json +2 -3
  3. package/dist/commands/agents.js +12 -2
  4. package/dist/commands/agents.js.map +1 -1
  5. package/dist/commands/capability.d.ts +86 -0
  6. package/dist/commands/capability.js +117 -30
  7. package/dist/commands/capability.js.map +1 -1
  8. package/dist/commands/context.js +2 -1
  9. package/dist/commands/context.js.map +1 -1
  10. package/dist/commands/data-extra.d.ts +13 -0
  11. package/dist/commands/data-extra.js +23 -2
  12. package/dist/commands/data-extra.js.map +1 -1
  13. package/dist/commands/doctor.d.ts +18 -0
  14. package/dist/commands/doctor.js +28 -1
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/init.js +4 -2
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/commands/keys-request.d.ts +48 -0
  19. package/dist/commands/keys-request.js +236 -0
  20. package/dist/commands/keys-request.js.map +1 -0
  21. package/dist/commands/keys-request.test.d.ts +1 -0
  22. package/dist/commands/keys-request.test.js +176 -0
  23. package/dist/commands/keys-request.test.js.map +1 -0
  24. package/dist/commands/knowledge.d.ts +42 -5
  25. package/dist/commands/knowledge.js +90 -27
  26. package/dist/commands/knowledge.js.map +1 -1
  27. package/dist/commands/market.d.ts +89 -31
  28. package/dist/commands/market.js +215 -222
  29. package/dist/commands/market.js.map +1 -1
  30. package/dist/commands/mcp.d.ts +1 -1
  31. package/dist/commands/mcp.js +14 -9
  32. package/dist/commands/mcp.js.map +1 -1
  33. package/dist/commands/pods.js +6 -2
  34. package/dist/commands/pods.js.map +1 -1
  35. package/dist/commands/proposals-actions.js +7 -1
  36. package/dist/commands/proposals-actions.js.map +1 -1
  37. package/dist/commands/providers.d.ts +22 -6
  38. package/dist/commands/providers.js +39 -32
  39. package/dist/commands/providers.js.map +1 -1
  40. package/dist/commands/raycast.d.ts +15 -0
  41. package/dist/commands/raycast.js +36 -10
  42. package/dist/commands/raycast.js.map +1 -1
  43. package/dist/commands/status.js +12 -6
  44. package/dist/commands/status.js.map +1 -1
  45. package/dist/commands/statusline.backoff.test.js +13 -3
  46. package/dist/commands/statusline.backoff.test.js.map +1 -1
  47. package/dist/commands/statusline.d.ts +104 -9
  48. package/dist/commands/statusline.js +392 -148
  49. package/dist/commands/statusline.js.map +1 -1
  50. package/dist/commands/statusline.line2.test.d.ts +15 -0
  51. package/dist/commands/statusline.line2.test.js +226 -0
  52. package/dist/commands/statusline.line2.test.js.map +1 -0
  53. package/dist/commands/statusline.needs-you.test.d.ts +1 -0
  54. package/dist/commands/statusline.needs-you.test.js +17 -0
  55. package/dist/commands/statusline.needs-you.test.js.map +1 -0
  56. package/dist/commands/statusline.now.test.d.ts +10 -0
  57. package/dist/commands/statusline.now.test.js +250 -0
  58. package/dist/commands/statusline.now.test.js.map +1 -0
  59. package/dist/commands/tracks.d.ts +1 -0
  60. package/dist/commands/tracks.js +4 -0
  61. package/dist/commands/tracks.js.map +1 -1
  62. package/dist/commands/upload.js +12 -0
  63. package/dist/commands/upload.js.map +1 -1
  64. package/dist/commands/wait.d.ts +124 -0
  65. package/dist/commands/wait.js +384 -0
  66. package/dist/commands/wait.js.map +1 -0
  67. package/dist/commands/wait.test.d.ts +8 -0
  68. package/dist/commands/wait.test.js +308 -0
  69. package/dist/commands/wait.test.js.map +1 -0
  70. package/dist/commands/worker-github-app.d.ts +63 -0
  71. package/dist/commands/worker-github-app.js +161 -0
  72. package/dist/commands/worker-github-app.js.map +1 -0
  73. package/dist/commands/worker-github-app.test.d.ts +1 -0
  74. package/dist/commands/worker-github-app.test.js +102 -0
  75. package/dist/commands/worker-github-app.test.js.map +1 -0
  76. package/dist/commands/worker-github-broker.d.ts +39 -0
  77. package/dist/commands/worker-github-broker.js +106 -0
  78. package/dist/commands/worker-github-broker.js.map +1 -0
  79. package/dist/commands/worker-github-broker.test.d.ts +1 -0
  80. package/dist/commands/worker-github-broker.test.js +90 -0
  81. package/dist/commands/worker-github-broker.test.js.map +1 -0
  82. package/dist/commands/worker-runs.test.d.ts +1 -0
  83. package/dist/commands/worker-runs.test.js +150 -0
  84. package/dist/commands/worker-runs.test.js.map +1 -0
  85. package/dist/commands/worker-worktrees.d.ts +34 -0
  86. package/dist/commands/worker-worktrees.js +87 -0
  87. package/dist/commands/worker-worktrees.js.map +1 -0
  88. package/dist/commands/worker.d.ts +207 -5
  89. package/dist/commands/worker.js +540 -46
  90. package/dist/commands/worker.js.map +1 -1
  91. package/dist/commands/worker.test.js +269 -3
  92. package/dist/commands/worker.test.js.map +1 -1
  93. package/dist/index.js +60 -4
  94. package/dist/index.js.map +1 -1
  95. package/dist/lib/agents-config.d.ts +9 -0
  96. package/dist/lib/agents-config.js +20 -0
  97. package/dist/lib/agents-config.js.map +1 -1
  98. package/dist/lib/atomic-file.d.ts +20 -1
  99. package/dist/lib/atomic-file.js +100 -2
  100. package/dist/lib/atomic-file.js.map +1 -1
  101. package/dist/lib/auth.d.ts +25 -0
  102. package/dist/lib/auth.js +49 -9
  103. package/dist/lib/auth.js.map +1 -1
  104. package/dist/lib/box/job-server.js +4 -0
  105. package/dist/lib/box/job-server.js.map +1 -1
  106. package/dist/lib/bridge-invocation.test.d.ts +1 -0
  107. package/dist/lib/bridge-invocation.test.js +75 -0
  108. package/dist/lib/bridge-invocation.test.js.map +1 -0
  109. package/dist/lib/bridge-status.d.ts +144 -0
  110. package/dist/lib/bridge-status.js +227 -0
  111. package/dist/lib/bridge-status.js.map +1 -0
  112. package/dist/lib/bridge-status.test.d.ts +6 -0
  113. package/dist/lib/bridge-status.test.js +197 -0
  114. package/dist/lib/bridge-status.test.js.map +1 -0
  115. package/dist/lib/client-header.test.js +19 -1
  116. package/dist/lib/client-header.test.js.map +1 -1
  117. package/dist/lib/conversation-headers.d.ts +67 -2
  118. package/dist/lib/conversation-headers.js +122 -6
  119. package/dist/lib/conversation-headers.js.map +1 -1
  120. package/dist/lib/conversation-headers.test.d.ts +1 -0
  121. package/dist/lib/conversation-headers.test.js +78 -0
  122. package/dist/lib/conversation-headers.test.js.map +1 -0
  123. package/dist/lib/credential-class.d.ts +12 -1
  124. package/dist/lib/credential-class.js +20 -0
  125. package/dist/lib/credential-class.js.map +1 -1
  126. package/dist/lib/device-connect.d.ts +45 -0
  127. package/dist/lib/device-connect.js +60 -0
  128. package/dist/lib/device-connect.js.map +1 -1
  129. package/dist/lib/goal-words.js +6 -3
  130. package/dist/lib/goal-words.js.map +1 -1
  131. package/dist/lib/hub-client.d.ts +59 -1
  132. package/dist/lib/hub-client.js +130 -36
  133. package/dist/lib/hub-client.js.map +1 -1
  134. package/dist/lib/key-locations.d.ts +3 -3
  135. package/dist/lib/key-locations.js +3 -39
  136. package/dist/lib/key-locations.js.map +1 -1
  137. package/dist/lib/machine-instance.d.ts +7 -5
  138. package/dist/lib/machine-instance.js +7 -5
  139. package/dist/lib/machine-instance.js.map +1 -1
  140. package/dist/lib/mcp-bridge.d.ts +43 -0
  141. package/dist/lib/mcp-bridge.js +199 -11
  142. package/dist/lib/mcp-bridge.js.map +1 -1
  143. package/dist/lib/mcp-bridge.test.js +194 -2
  144. package/dist/lib/mcp-bridge.test.js.map +1 -1
  145. package/dist/lib/mcp-call.d.ts +5 -1
  146. package/dist/lib/mcp-call.js +7 -6
  147. package/dist/lib/mcp-call.js.map +1 -1
  148. package/dist/lib/mcp-connector-url.test.d.ts +1 -0
  149. package/dist/lib/mcp-connector-url.test.js +13 -0
  150. package/dist/lib/mcp-connector-url.test.js.map +1 -0
  151. package/dist/lib/mcp-snippets.d.ts +16 -0
  152. package/dist/lib/mcp-snippets.js +20 -2
  153. package/dist/lib/mcp-snippets.js.map +1 -1
  154. package/dist/lib/now-line.d.ts +66 -0
  155. package/dist/lib/now-line.js +193 -0
  156. package/dist/lib/now-line.js.map +1 -0
  157. package/dist/lib/now-line.test.d.ts +5 -0
  158. package/dist/lib/now-line.test.js +177 -0
  159. package/dist/lib/now-line.test.js.map +1 -0
  160. package/dist/lib/package-updates.d.ts +66 -0
  161. package/dist/lib/package-updates.js +76 -0
  162. package/dist/lib/package-updates.js.map +1 -0
  163. package/dist/lib/pod.d.ts +0 -4
  164. package/dist/lib/pod.js +0 -7
  165. package/dist/lib/pod.js.map +1 -1
  166. package/dist/lib/register-claude-code-mcp.test.js +19 -0
  167. package/dist/lib/register-claude-code-mcp.test.js.map +1 -1
  168. package/dist/lib/safe-open.d.ts +5 -3
  169. package/dist/lib/safe-open.js +9 -8
  170. package/dist/lib/safe-open.js.map +1 -1
  171. package/dist/lib/self-host.d.ts +17 -0
  172. package/dist/lib/self-host.js +24 -0
  173. package/dist/lib/self-host.js.map +1 -0
  174. package/dist/lib/targets.d.ts +31 -0
  175. package/dist/lib/targets.js +100 -104
  176. package/dist/lib/targets.js.map +1 -1
  177. package/dist/lib/template-lifecycle.d.ts +0 -31
  178. package/dist/lib/template-lifecycle.js +0 -74
  179. package/dist/lib/template-lifecycle.js.map +1 -1
  180. package/dist/lib/term.d.ts +24 -0
  181. package/dist/lib/term.js +52 -0
  182. package/dist/lib/term.js.map +1 -0
  183. package/dist/lib/term.test.d.ts +1 -0
  184. package/dist/lib/term.test.js +29 -0
  185. package/dist/lib/term.test.js.map +1 -0
  186. package/dist/lib/transcript-index.d.ts +94 -0
  187. package/dist/lib/transcript-index.js +321 -0
  188. package/dist/lib/transcript-index.js.map +1 -0
  189. package/dist/lib/transcript-index.test.d.ts +10 -0
  190. package/dist/lib/transcript-index.test.js +200 -0
  191. package/dist/lib/transcript-index.test.js.map +1 -0
  192. package/dist/lib/wait-help.d.ts +11 -0
  193. package/dist/lib/wait-help.js +25 -0
  194. package/dist/lib/wait-help.js.map +1 -0
  195. package/dist/lib/wait-state.d.ts +57 -0
  196. package/dist/lib/wait-state.js +114 -0
  197. package/dist/lib/wait-state.js.map +1 -0
  198. package/package.json +2 -2
  199. package/skills/synap/SKILL.md +81 -44
  200. package/skills/synap/code-skills.md +15 -1
  201. package/skills/synap/concepts.md +36 -26
  202. package/skills/synap/document-embeds.md +15 -1
  203. package/skills/synap/focus-sessions.md +4 -4
  204. package/skills/synap/from-intent.md +2 -2
  205. package/skills/synap/governance-rules.md +2 -0
  206. package/skills/synap/hand-off.md +10 -6
  207. package/skills/synap/reflexes.md +4 -4
  208. package/skills/synap/work-model.md +1 -1
  209. package/skills/synap/writing-titles.md +7 -0
  210. package/skills/synap-app/SKILL.md +2 -2
  211. package/skills/synap-app/overview.md +2 -2
  212. package/skills/synap-market/SKILL.md +1 -1
  213. package/skills/synap-market/governance-and-catalog.md +1 -1
  214. package/skills/synap-schema/SKILL.md +4 -1
  215. package/skills/synap-schema/intent-vocabulary-ssot.md +4 -1
  216. package/dist/commands/template.d.ts +0 -42
  217. package/dist/commands/template.js +0 -191
  218. package/dist/commands/template.js.map +0 -1
  219. package/dist/lib/browser-auth.d.ts +0 -35
  220. package/dist/lib/browser-auth.js +0 -170
  221. package/dist/lib/browser-auth.js.map +0 -1
  222. package/dist/lib/openclaw.d.ts +0 -32
  223. package/dist/lib/openclaw.js +0 -165
  224. package/dist/lib/openclaw.js.map +0 -1
  225. package/dist/lib/seed.d.ts +0 -13
  226. package/dist/lib/seed.js +0 -135
  227. package/dist/lib/seed.js.map +0 -1
@@ -1,4 +1,33 @@
1
1
  import { HubRestClient } from "@synap-core/hub-rest-client";
2
+ /**
3
+ * The pod's `code` on a 403 that refused a LIMITED key at the door (a key
4
+ * whose grant is not unbounded full access), whatever the door: a read no
5
+ * grant bounds yet, or a door that acts on everything the person owns.
6
+ * synap-backend `routers/hub-protocol/_middleware/auth.ts`.
7
+ */
8
+ export declare const GRANT_DOOR_UNSUPPORTED_CODE = "GRANT_DOOR_UNSUPPORTED";
9
+ /**
10
+ * The code a pod puts on a 403 that refused a write the calling key's GRANT
11
+ * does not cover (synap-backend `utils/grant-write-check.ts` `GRANT_DENIED`,
12
+ * added to every Hub REST denial by `_middleware/grant-denial-code.ts`), as
13
+ * `code` (or `reasonCode`, when the door set its own `code`), with the refused
14
+ * `action`.
15
+ */
16
+ export declare const GRANT_DENIED_CODE = "GRANT_DENIED";
17
+ /**
18
+ * How an OLDER pod words the same refusal, with no code (`{ error }` only):
19
+ * read only when the body carries no `GRANT_DENIED` code.
20
+ */
21
+ export declare const GRANT_DENIAL_PREFIX = "This key's grant does not allow";
22
+ /**
23
+ * A 403 the pod sent because the calling key's grant leaves the action out:
24
+ * a limited key (a computer's or an agent's) refused by design, never a
25
+ * missing workspace. `action` is the refused action key when the pod named it
26
+ * (`workspace.update`). The code first; the words only for an older pod.
27
+ */
28
+ export declare function grantDenialOf(err: unknown): {
29
+ action?: string;
30
+ } | null;
2
31
  /**
3
32
  * A failed Hub call, carrying the structured facts callers need to branch on.
4
33
  *
@@ -12,6 +41,13 @@ export declare class HubError extends Error {
12
41
  readonly status: number;
13
42
  readonly code?: string;
14
43
  readonly reason?: string;
44
+ /**
45
+ * What the pod itself said, without the `Hub <METHOD> <path> failed` prefix
46
+ * `message` carries. Read a hint's words from here, never from `message`:
47
+ * the path is in `message`, so `/workspace/i` over it matched every refusal
48
+ * on a `/workspaces` route (finding de33a075).
49
+ */
50
+ readonly detail?: string;
15
51
  readonly body?: unknown;
16
52
  readonly rawBody: string;
17
53
  readonly path: string;
@@ -24,6 +60,7 @@ export declare class HubError extends Error {
24
60
  message: string;
25
61
  status: number;
26
62
  code?: string;
63
+ detail?: string;
27
64
  reason?: string;
28
65
  body?: unknown;
29
66
  rawBody: string;
@@ -79,7 +116,14 @@ export declare function helpFooterLine(): void;
79
116
  * in utils/logger so the logger stays domain-agnostic and the taxonomy and its
80
117
  * presentation sit in one file. Always closes with the one-time help footer.
81
118
  */
82
- export declare function renderHubError(err: unknown): void;
119
+ export declare function renderHubError(err: unknown, opts?: {
120
+ /**
121
+ * Where the PERSON does what a limited key was refused (a grant denial):
122
+ * the command knows its own door, this module does not. Without it the
123
+ * hint names full access in general.
124
+ */
125
+ personDoor?: string;
126
+ }): void;
83
127
  export interface HubConfig {
84
128
  podUrl: string;
85
129
  apiKey: string;
@@ -137,6 +181,20 @@ export declare function attachActiveSessionId(sessionId: string): SessionAttachT
137
181
  * which reads as the command failing.
138
182
  */
139
183
  export declare function detachActiveSessionId(podUrl?: string): string | undefined;
184
+ /**
185
+ * Never wait more than this in total on one request. 12 waits of up to 75s
186
+ * was ~15 minutes of a terminal that looked hung; past this budget the call
187
+ * fails and says so.
188
+ */
189
+ export declare const HUB_429_MAX_TOTAL_WAIT_MS = 150000;
190
+ /**
191
+ * The wait (ms) a pod 429 asks for, capped at 75s so a bad proxy header never
192
+ * parks the importer. The pod sends the wait in three shapes, and this reads
193
+ * all of them: the `Retry-After` header (seconds), a JSON body's numeric
194
+ * `retryAfter` (hub commands door) or `cause.retryAfterSec`, and the text
195
+ * "Retry after 60s." the key limiter writes into its message.
196
+ */
197
+ export declare function retryAfterMs(res: Response, bodyText: string): number;
140
198
  export declare function hubGet(path: string, params: Record<string, string | number | undefined>, cfg: HubConfig, timeoutMs?: number): Promise<unknown>;
141
199
  export declare function hubPost(path: string, body: unknown, cfg: HubConfig, timeoutMs?: number): Promise<unknown>;
142
200
  /**
@@ -47,6 +47,47 @@ function resolveProjectIdForPod(podUrl, opts) {
47
47
  }
48
48
  return undefined;
49
49
  }
50
+ /**
51
+ * The pod's `code` on a 403 that refused a LIMITED key at the door (a key
52
+ * whose grant is not unbounded full access), whatever the door: a read no
53
+ * grant bounds yet, or a door that acts on everything the person owns.
54
+ * synap-backend `routers/hub-protocol/_middleware/auth.ts`.
55
+ */
56
+ export const GRANT_DOOR_UNSUPPORTED_CODE = "GRANT_DOOR_UNSUPPORTED";
57
+ /**
58
+ * The code a pod puts on a 403 that refused a write the calling key's GRANT
59
+ * does not cover (synap-backend `utils/grant-write-check.ts` `GRANT_DENIED`,
60
+ * added to every Hub REST denial by `_middleware/grant-denial-code.ts`), as
61
+ * `code` (or `reasonCode`, when the door set its own `code`), with the refused
62
+ * `action`.
63
+ */
64
+ export const GRANT_DENIED_CODE = "GRANT_DENIED";
65
+ /**
66
+ * How an OLDER pod words the same refusal, with no code (`{ error }` only):
67
+ * read only when the body carries no `GRANT_DENIED` code.
68
+ */
69
+ export const GRANT_DENIAL_PREFIX = "This key's grant does not allow";
70
+ /**
71
+ * A 403 the pod sent because the calling key's grant leaves the action out:
72
+ * a limited key (a computer's or an agent's) refused by design, never a
73
+ * missing workspace. `action` is the refused action key when the pod named it
74
+ * (`workspace.update`). The code first; the words only for an older pod.
75
+ */
76
+ export function grantDenialOf(err) {
77
+ if (!(err instanceof HubError) || err.status !== 403)
78
+ return null;
79
+ const body = err.body && typeof err.body === "object" && !Array.isArray(err.body)
80
+ ? err.body
81
+ : undefined;
82
+ if (err.code === GRANT_DENIED_CODE || body?.reasonCode === GRANT_DENIED_CODE) {
83
+ return typeof body?.action === "string" && body.action ? { action: body.action } : {};
84
+ }
85
+ const said = err.detail ?? "";
86
+ if (!said.startsWith(GRANT_DENIAL_PREFIX))
87
+ return null;
88
+ const named = /^This key's grant does not allow "([^"]+)"/.exec(said);
89
+ return named ? { action: named[1] } : {};
90
+ }
50
91
  /**
51
92
  * A failed Hub call, carrying the structured facts callers need to branch on.
52
93
  *
@@ -60,6 +101,13 @@ export class HubError extends Error {
60
101
  status;
61
102
  code;
62
103
  reason;
104
+ /**
105
+ * What the pod itself said, without the `Hub <METHOD> <path> failed` prefix
106
+ * `message` carries. Read a hint's words from here, never from `message`:
107
+ * the path is in `message`, so `/workspace/i` over it matched every refusal
108
+ * on a `/workspaces` route (finding de33a075).
109
+ */
110
+ detail;
63
111
  body;
64
112
  rawBody;
65
113
  path;
@@ -74,6 +122,7 @@ export class HubError extends Error {
74
122
  this.status = init.status;
75
123
  this.code = init.code;
76
124
  this.reason = init.reason;
125
+ this.detail = init.detail;
77
126
  this.body = init.body;
78
127
  this.rawBody = init.rawBody;
79
128
  this.path = init.path;
@@ -270,6 +319,7 @@ function hubError(method, path, status, rawBody, suffix, ctx) {
270
319
  status,
271
320
  code,
272
321
  reason,
322
+ detail,
273
323
  body: parsed,
274
324
  rawBody,
275
325
  path,
@@ -315,13 +365,13 @@ export function helpFooterLine() {
315
365
  * in utils/logger so the logger stays domain-agnostic and the taxonomy and its
316
366
  * presentation sit in one file. Always closes with the one-time help footer.
317
367
  */
318
- export function renderHubError(err) {
319
- renderHubErrorBody(err);
368
+ export function renderHubError(err, opts = {}) {
369
+ renderHubErrorBody(err, opts);
320
370
  // ONE central place every failed Hub command flows through — append the help
321
371
  // footer here so it prints once per failed command (guarded), not per line.
322
372
  helpFooterLine();
323
373
  }
324
- function renderHubErrorBody(err) {
374
+ function renderHubErrorBody(err, opts) {
325
375
  // Hints use log.hint (stderr), not log.dim (stdout): a hint belongs to the
326
376
  // error it explains, and splitting one message across two streams means
327
377
  // `2>/dev/null` shows a bare hint with no error above it.
@@ -400,16 +450,37 @@ function renderHubErrorBody(err) {
400
450
  // template or data problem. Only add the generic pod-fault hint when the body
401
451
  // gave nothing better than the status phrase.
402
452
  const hasSpecificCause = !!err.rawBody && !err.message.endsWith("the pod hit an internal error");
403
- // A 403/message naming a workspace: the real cause is almost always "that
404
- // workspace doesn't exist or isn't accessible ON THIS POD" (a stale saved
405
- // workspace id after a pod switch), not a scopes problem — name it + the
406
- // exact next command instead of the generic "credentials" hint.
407
- const namesWorkspace = /workspace/i.test(err.message);
453
+ // A limited key refused at the door: the pod says so in a structured `code`
454
+ // (synap-backend access/grant-door-fence.ts, the Hub auth middleware), for a
455
+ // read door no grant bounds yet and for a door that acts on everything the
456
+ // person owns. It says nothing about any workspace.
457
+ const limitedKeyRefusal = err.status === 403 && err.code === GRANT_DOOR_UNSUPPORTED_CODE;
458
+ // A limited key whose grant leaves this action out (no code: the pod's
459
+ // words, `grantDenialOf`). Refused by design; its words often name a
460
+ // workspace ("workspace.update", "in workspace <id>"), which is no reason to
461
+ // say the workspace is missing.
462
+ const grantDenial = grantDenialOf(err);
463
+ // A 403 whose OWN words name a workspace: the real cause is almost always
464
+ // "that workspace doesn't exist or isn't accessible ON THIS POD" (a stale
465
+ // saved workspace id after a pod switch), not a scopes problem — name it +
466
+ // the exact next command instead of the generic "credentials" hint. The
467
+ // pod's words (`detail`), never `message`: that one carries the path.
468
+ const namesWorkspace = !limitedKeyRefusal && !grantDenial && /workspace/i.test(err.detail ?? "");
408
469
  if (err.status >= 500) {
409
470
  if (!hasSpecificCause) {
410
471
  log.hint("The pod hit an internal error — check the pod logs for the stack trace.");
411
472
  }
412
473
  }
474
+ else if (limitedKeyRefusal) {
475
+ log.hint(`This key is limited (a computer's or an agent's key), and the pod does not let a limited key use ${err.method} ${err.path}. Nothing is wrong with your workspace.`);
476
+ log.hint("Until your pod opens this door to limited keys, do it with full access: in the Synap app, or with a full-access key in SYNAP_HUB_API_KEY.");
477
+ }
478
+ else if (grantDenial) {
479
+ const what = grantDenial.action ? `"${grantDenial.action}"` : "this action";
480
+ log.hint(`This key may not do ${what}: it is a limited key (a computer's or an agent's), and its grant leaves that out on purpose. Nothing is wrong with your workspace.`);
481
+ log.hint(opts.personDoor ??
482
+ "Do it yourself with full access: in the Synap app or pod admin.");
483
+ }
413
484
  else if (err.status === 403 && namesWorkspace) {
414
485
  // Name the exact workspace + pod this call used: the usual cause is a global
415
486
  // active workspace left over from ANOTHER pod (a stale `synap use` after a
@@ -740,6 +811,12 @@ const HUB_429_MAX_RETRIES = 12;
740
811
  const HUB_429_DEFAULT_WAIT_MS = 62_000;
741
812
  /** Never sleep more than this on a single 429 (proxies sometimes send 180+). */
742
813
  const HUB_429_MAX_WAIT_MS = 75_000;
814
+ /**
815
+ * Never wait more than this in total on one request. 12 waits of up to 75s
816
+ * was ~15 minutes of a terminal that looked hung; past this budget the call
817
+ * fails and says so.
818
+ */
819
+ export const HUB_429_MAX_TOTAL_WAIT_MS = 150_000;
743
820
  /**
744
821
  * Client-side request budget — stay UNDER the server limit so we rarely 429.
745
822
  * Default 80/min is safe for pods still on the old 100/min auth limit.
@@ -782,26 +859,59 @@ async function acquireHubSlot() {
782
859
  }
783
860
  }
784
861
  /**
785
- * Parse Retry-After from headers or a Hub 429 body. Caps at 75s so a bad
786
- * proxy header never parks the importer for 3 minutes.
862
+ * The wait (ms) a pod 429 asks for, capped at 75s so a bad proxy header never
863
+ * parks the importer. The pod sends the wait in three shapes, and this reads
864
+ * all of them: the `Retry-After` header (seconds), a JSON body's numeric
865
+ * `retryAfter` (hub commands door) or `cause.retryAfterSec`, and the text
866
+ * "Retry after 60s." the key limiter writes into its message.
787
867
  */
788
- function retryAfterMs(res, bodyText) {
868
+ export function retryAfterMs(res, bodyText) {
869
+ const cap = (sec) => Math.min(Math.max(sec * 1000, 1_000), HUB_429_MAX_WAIT_MS);
870
+ const positive = (n) => typeof n === "number" && Number.isFinite(n) && n > 0;
789
871
  const h = res.headers.get("retry-after");
790
872
  if (h) {
791
873
  const sec = parseInt(h, 10);
792
- if (Number.isFinite(sec) && sec > 0) {
793
- return Math.min(Math.max(sec * 1000, 1_000), HUB_429_MAX_WAIT_MS);
874
+ if (positive(sec))
875
+ return cap(sec);
876
+ }
877
+ try {
878
+ const body = JSON.parse(bodyText);
879
+ const cause = body?.cause;
880
+ for (const v of [body?.retryAfter, body?.retryAfterSec, cause?.retryAfterSec]) {
881
+ if (positive(v))
882
+ return cap(v);
794
883
  }
795
884
  }
885
+ catch {
886
+ // not JSON: fall through to the text shape
887
+ }
796
888
  const m = bodyText.match(/retry after\s+(\d+)\s*s/i);
797
889
  if (m) {
798
890
  const sec = parseInt(m[1], 10);
799
- if (Number.isFinite(sec) && sec > 0) {
800
- return Math.min(Math.max(sec * 1000, 1_000), HUB_429_MAX_WAIT_MS);
801
- }
891
+ if (positive(sec))
892
+ return cap(sec);
802
893
  }
803
894
  return HUB_429_DEFAULT_WAIT_MS;
804
895
  }
896
+ /**
897
+ * After a 429: say what is happening, sleep the pod's wait, or give up with a
898
+ * plain error once the retry count or the total wait budget is spent. Both
899
+ * the JSON and the multipart doors use it, so they cannot drift.
900
+ */
901
+ async function waitOutRateLimit(res, state, method, path, label) {
902
+ state.attempt++;
903
+ const bodyText = await res.text().catch(() => "");
904
+ if (state.attempt > HUB_429_MAX_RETRIES) {
905
+ throw hubError(method, path, 429, bodyText, `after ${HUB_429_MAX_RETRIES} retries`);
906
+ }
907
+ const wait = retryAfterMs(res, bodyText);
908
+ if (state.waitedMs + wait > HUB_429_MAX_TOTAL_WAIT_MS) {
909
+ throw hubError(method, path, 429, bodyText, `after waiting ${Math.round(state.waitedMs / 1000)}s (rate-limited; the pod is up, try again in a minute)`);
910
+ }
911
+ console.error(`[hub] rate-limited; the pod is up; retrying in ${Math.ceil(wait / 1000)}s (${label}, retry ${state.attempt}/${HUB_429_MAX_RETRIES})`);
912
+ state.waitedMs += wait;
913
+ await sleep(wait);
914
+ }
805
915
  /**
806
916
  * fetch with client pacing + automatic 429 backoff.
807
917
  *
@@ -811,7 +921,7 @@ function retryAfterMs(res, bodyText) {
811
921
  async function hubFetchWithRetry(url, init, label, timeoutMs) {
812
922
  const [labelMethod, ...labelRest] = label.split(" ");
813
923
  const labelPath = labelRest.join(" ");
814
- let attempt = 0;
924
+ const rl = { attempt: 0, waitedMs: 0 };
815
925
  for (;;) {
816
926
  await acquireHubSlot();
817
927
  let res;
@@ -825,15 +935,7 @@ async function hubFetchWithRetry(url, init, label, timeoutMs) {
825
935
  }
826
936
  if (res.status !== 429)
827
937
  return res;
828
- attempt++;
829
- if (attempt > HUB_429_MAX_RETRIES) {
830
- const bodyText = await res.text().catch(() => "");
831
- throw hubError(labelMethod, labelPath, 429, bodyText, `after ${HUB_429_MAX_RETRIES} retries`);
832
- }
833
- const bodyText = await res.text().catch(() => "");
834
- const wait = retryAfterMs(res, bodyText);
835
- console.error(`[hub] 429 rate limit on ${label} — waiting ${Math.ceil(wait / 1000)}s (retry ${attempt}/${HUB_429_MAX_RETRIES})`);
836
- await sleep(wait);
938
+ await waitOutRateLimit(res, rl, labelMethod, labelPath, label);
837
939
  }
838
940
  }
839
941
  export async function hubGet(path, params, cfg,
@@ -915,7 +1017,7 @@ export async function hubPostMultipart(path, form, cfg, timeoutMs = 120_000) {
915
1017
  * can only be read once).
916
1018
  */
917
1019
  export async function hubPostMultipartRetryable(path, buildForm, cfg, timeoutMs = 120_000) {
918
- let attempt = 0;
1020
+ const rl = { attempt: 0, waitedMs: 0 };
919
1021
  for (;;) {
920
1022
  await acquireHubSlot();
921
1023
  const form = buildForm();
@@ -941,15 +1043,7 @@ export async function hubPostMultipartRetryable(path, buildForm, cfg, timeoutMs
941
1043
  }
942
1044
  return res.json();
943
1045
  }
944
- attempt++;
945
- if (attempt > HUB_429_MAX_RETRIES) {
946
- const bodyText = await res.text().catch(() => "");
947
- throw hubError("POST multipart", path, 429, bodyText, `after ${HUB_429_MAX_RETRIES} retries`);
948
- }
949
- const bodyText = await res.text().catch(() => "");
950
- const wait = retryAfterMs(res, bodyText);
951
- console.error(`[hub] 429 rate limit on POST multipart ${path} — waiting ${Math.ceil(wait / 1000)}s (retry ${attempt}/${HUB_429_MAX_RETRIES})`);
952
- await sleep(wait);
1046
+ await waitOutRateLimit(res, rl, "POST multipart", path, `POST multipart ${path}`);
953
1047
  }
954
1048
  }
955
1049
  export async function hubPatch(path, body, cfg) {
@@ -1 +1 @@
1
- {"version":3,"file":"hub-client.js","sourceRoot":"","sources":["../../src/lib/hub-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub-client.js","sourceRoot":"","sources":["../../src/lib/hub-client.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@
25
25
  * `TARGETS` by the caller); everything else is derived from `home`, so tests
26
26
  * run on a temp HOME and never see the person's real files.
27
27
  */
28
+ import { stripJsonc } from "./atomic-file.js";
28
29
  export type KeyRole = "person" | "agent";
29
30
  export type KeyLocationKind = "profile" | "agent-key-by-pod" | "agent-key" | "pending" | "claude-settings-env" | "claude-mcp-header"
30
31
  /** An MCP entry in another client's own config file (Cursor, Codex, Zed…). */
@@ -72,8 +73,8 @@ export interface KeyInventory {
72
73
  locations: KeyLocation[];
73
74
  unchecked: UncheckedLocation[];
74
75
  }
75
- /** Strip // and /* *\/ comments and trailing commas OUTSIDE strings (JSONC). */
76
- export declare function stripJsonc(text: string): string;
76
+ /** JSONC → JSON (one implementation, shared with the config writers). */
77
+ export { stripJsonc };
77
78
  /** `~/…` for display. */
78
79
  export declare function tildify(file: string, home: string): string;
79
80
  export declare const SHELL_RC_FILES: string[];
@@ -117,4 +118,3 @@ export declare function keysToProbe(locations: KeyLocation[]): string[];
117
118
  * injects, or a shell rc. Empty = set by something the doctor cannot see.
118
119
  */
119
120
  export declare function envKeySetBy(locations: KeyLocation[], envKey: string): KeyLocation[];
120
- export {};
@@ -28,6 +28,7 @@
28
28
  import fs from "node:fs";
29
29
  import path from "node:path";
30
30
  import YAML from "yaml";
31
+ import { stripJsonc } from "./atomic-file.js";
31
32
  const norm = (u) => u.replace(/\/+$/, "");
32
33
  /** File text, `null` ONLY when it does not exist; any other failure is a reason. */
33
34
  function readText(file) {
@@ -41,45 +42,8 @@ function readText(file) {
41
42
  return { ok: false, reason: `could not be read (${code ?? err.message})` };
42
43
  }
43
44
  }
44
- /** Strip // and /* *\/ comments and trailing commas OUTSIDE strings (JSONC). */
45
- export function stripJsonc(text) {
46
- let out = "";
47
- let i = 0;
48
- let inStr = false;
49
- while (i < text.length) {
50
- const c = text[i];
51
- if (inStr) {
52
- out += c;
53
- if (c === "\\") {
54
- out += text[i + 1] ?? "";
55
- i += 2;
56
- continue;
57
- }
58
- if (c === '"')
59
- inStr = false;
60
- i++;
61
- continue;
62
- }
63
- if (c === '"') {
64
- inStr = true;
65
- out += c;
66
- i++;
67
- }
68
- else if (c === "/" && text[i + 1] === "/") {
69
- while (i < text.length && text[i] !== "\n")
70
- i++;
71
- }
72
- else if (c === "/" && text[i + 1] === "*") {
73
- const end = text.indexOf("*/", i + 2);
74
- i = end < 0 ? text.length : end + 2;
75
- }
76
- else {
77
- out += c;
78
- i++;
79
- }
80
- }
81
- return out.replace(/,(\s*[}\]])/g, "$1");
82
- }
45
+ /** JSONC → JSON (one implementation, shared with the config writers). */
46
+ export { stripJsonc };
83
47
  function readJsonObject(file, jsonc = false) {
84
48
  const t = readText(file);
85
49
  if (!t.ok || t.value === null)