@threadbase-sh/streamer 1.63.0 → 1.64.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 (296) hide show
  1. package/dist/agent/agent-client.d.ts +14 -0
  2. package/dist/agent/agent-client.d.ts.map +1 -0
  3. package/dist/agent/agent-config.d.ts +24 -0
  4. package/dist/agent/agent-config.d.ts.map +1 -0
  5. package/dist/agent/conversation-writer.d.ts +13 -0
  6. package/dist/agent/conversation-writer.d.ts.map +1 -0
  7. package/dist/agent/dedupe.d.ts +6 -0
  8. package/dist/agent/dedupe.d.ts.map +1 -0
  9. package/dist/agent/errors.d.ts +23 -0
  10. package/dist/agent/errors.d.ts.map +1 -0
  11. package/dist/agent/handle-send-agent-input.d.ts +21 -0
  12. package/dist/agent/handle-send-agent-input.d.ts.map +1 -0
  13. package/dist/agent/handle-start-agent-session.d.ts +21 -0
  14. package/dist/agent/handle-start-agent-session.d.ts.map +1 -0
  15. package/dist/agent/history-mapper.d.ts +4 -0
  16. package/dist/agent/history-mapper.d.ts.map +1 -0
  17. package/dist/agent/payload-guard.d.ts +29 -0
  18. package/dist/agent/payload-guard.d.ts.map +1 -0
  19. package/dist/api/app.d.ts +28 -0
  20. package/dist/api/app.d.ts.map +1 -0
  21. package/dist/api/handlers/conversations.handlers.d.ts +69 -0
  22. package/dist/api/handlers/conversations.handlers.d.ts.map +1 -0
  23. package/dist/api/handlers/http-helpers.d.ts +50 -0
  24. package/dist/api/handlers/http-helpers.d.ts.map +1 -0
  25. package/dist/api/handlers/sessions.handlers.d.ts +230 -0
  26. package/dist/api/handlers/sessions.handlers.d.ts.map +1 -0
  27. package/dist/api/middleware/auth.middleware.d.ts +5 -0
  28. package/dist/api/middleware/auth.middleware.d.ts.map +1 -0
  29. package/dist/api/middleware/cors.middleware.d.ts +5 -0
  30. package/dist/api/middleware/cors.middleware.d.ts.map +1 -0
  31. package/dist/api/middleware/error.middleware.d.ts +4 -0
  32. package/dist/api/middleware/error.middleware.d.ts.map +1 -0
  33. package/dist/api/routes/backup.routes.d.ts +5 -0
  34. package/dist/api/routes/backup.routes.d.ts.map +1 -0
  35. package/dist/api/routes/browse.routes.d.ts +5 -0
  36. package/dist/api/routes/browse.routes.d.ts.map +1 -0
  37. package/dist/api/routes/cacheAlert.routes.d.ts +5 -0
  38. package/dist/api/routes/cacheAlert.routes.d.ts.map +1 -0
  39. package/dist/api/routes/config.routes.d.ts +5 -0
  40. package/dist/api/routes/config.routes.d.ts.map +1 -0
  41. package/dist/api/routes/conversations.routes.d.ts +5 -0
  42. package/dist/api/routes/conversations.routes.d.ts.map +1 -0
  43. package/dist/api/routes/devices.routes.d.ts +17 -0
  44. package/dist/api/routes/devices.routes.d.ts.map +1 -0
  45. package/dist/api/routes/diagnostics.routes.d.ts +5 -0
  46. package/dist/api/routes/diagnostics.routes.d.ts.map +1 -0
  47. package/dist/api/routes/health.routes.d.ts +5 -0
  48. package/dist/api/routes/health.routes.d.ts.map +1 -0
  49. package/dist/api/routes/logs.routes.d.ts +3 -0
  50. package/dist/api/routes/logs.routes.d.ts.map +1 -0
  51. package/dist/api/routes/misc.routes.d.ts +77 -0
  52. package/dist/api/routes/misc.routes.d.ts.map +1 -0
  53. package/dist/api/routes/pair.routes.d.ts +5 -0
  54. package/dist/api/routes/pair.routes.d.ts.map +1 -0
  55. package/dist/api/routes/progress.routes.d.ts +39 -0
  56. package/dist/api/routes/progress.routes.d.ts.map +1 -0
  57. package/dist/api/routes/projects.routes.d.ts +5 -0
  58. package/dist/api/routes/projects.routes.d.ts.map +1 -0
  59. package/dist/api/routes/providers.routes.d.ts +19 -0
  60. package/dist/api/routes/providers.routes.d.ts.map +1 -0
  61. package/dist/api/routes/scanner.routes.d.ts +5 -0
  62. package/dist/api/routes/scanner.routes.d.ts.map +1 -0
  63. package/dist/api/routes/sessions.routes.d.ts +6 -0
  64. package/dist/api/routes/sessions.routes.d.ts.map +1 -0
  65. package/dist/api/routes/ws.routes.d.ts +7 -0
  66. package/dist/api/routes/ws.routes.d.ts.map +1 -0
  67. package/dist/api/types/api-deps.d.ts +114 -0
  68. package/dist/api/types/api-deps.d.ts.map +1 -0
  69. package/dist/auth.d.ts +81 -0
  70. package/dist/auth.d.ts.map +1 -0
  71. package/dist/browse.d.ts +17 -0
  72. package/dist/browse.d.ts.map +1 -0
  73. package/dist/claude-flags.d.ts +76 -0
  74. package/dist/claude-flags.d.ts.map +1 -0
  75. package/dist/cli.cjs +20 -5
  76. package/dist/cli.cjs.map +1 -1
  77. package/dist/codex-pty-runner.d.ts +90 -0
  78. package/dist/codex-pty-runner.d.ts.map +1 -0
  79. package/dist/config/update-config.d.ts +13 -0
  80. package/dist/config/update-config.d.ts.map +1 -0
  81. package/dist/conversation-cache.d.ts +336 -0
  82. package/dist/conversation-cache.d.ts.map +1 -0
  83. package/dist/db/config.d.ts +11 -0
  84. package/dist/db/config.d.ts.map +1 -0
  85. package/dist/db/index.d.ts +5 -0
  86. package/dist/db/index.d.ts.map +1 -0
  87. package/dist/db/migrations.d.ts +3 -0
  88. package/dist/db/migrations.d.ts.map +1 -0
  89. package/dist/db/pool.d.ts +5 -0
  90. package/dist/db/pool.d.ts.map +1 -0
  91. package/dist/db/query-timing.d.ts +52 -0
  92. package/dist/db/query-timing.d.ts.map +1 -0
  93. package/dist/db/repositories/cacheMetadata.repository.d.ts +12 -0
  94. package/dist/db/repositories/cacheMetadata.repository.d.ts.map +1 -0
  95. package/dist/db/repositories/conversations.repository.d.ts +27 -0
  96. package/dist/db/repositories/conversations.repository.d.ts.map +1 -0
  97. package/dist/db/repositories/devices.repository.d.ts +137 -0
  98. package/dist/db/repositories/devices.repository.d.ts.map +1 -0
  99. package/dist/db/repositories/managed-sessions.repository.d.ts +127 -0
  100. package/dist/db/repositories/managed-sessions.repository.d.ts.map +1 -0
  101. package/dist/db/repositories/projects.repository.d.ts +28 -0
  102. package/dist/db/repositories/projects.repository.d.ts.map +1 -0
  103. package/dist/db/repositories/push.repository.d.ts +186 -0
  104. package/dist/db/repositories/push.repository.d.ts.map +1 -0
  105. package/dist/db/repositories/sessions.repository.d.ts +16 -0
  106. package/dist/db/repositories/sessions.repository.d.ts.map +1 -0
  107. package/dist/db/runtime-store.d.ts +80 -0
  108. package/dist/db/runtime-store.d.ts.map +1 -0
  109. package/dist/db/sqlite-migrate.d.ts +13 -0
  110. package/dist/db/sqlite-migrate.d.ts.map +1 -0
  111. package/dist/db/upload-records.d.ts +11 -0
  112. package/dist/db/upload-records.d.ts.map +1 -0
  113. package/dist/e2ee/noise.d.ts +261 -0
  114. package/dist/e2ee/noise.d.ts.map +1 -0
  115. package/dist/e2ee/pair-payload.d.ts +60 -0
  116. package/dist/e2ee/pair-payload.d.ts.map +1 -0
  117. package/dist/e2ee/pair-request.d.ts +24 -0
  118. package/dist/e2ee/pair-request.d.ts.map +1 -0
  119. package/dist/external-tails.d.ts +91 -0
  120. package/dist/external-tails.d.ts.map +1 -0
  121. package/dist/feature-flags.d.ts +212 -0
  122. package/dist/feature-flags.d.ts.map +1 -0
  123. package/dist/handlers/handleListProjects.d.ts +3 -0
  124. package/dist/handlers/handleListProjects.d.ts.map +1 -0
  125. package/dist/index.d.ts +18 -2571
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/lifecycle/constants.d.ts +21 -0
  128. package/dist/lifecycle/constants.d.ts.map +1 -0
  129. package/dist/lifecycle/process-liveness.d.ts +7 -0
  130. package/dist/lifecycle/process-liveness.d.ts.map +1 -0
  131. package/dist/live-session-manager.d.ts +59 -0
  132. package/dist/live-session-manager.d.ts.map +1 -0
  133. package/dist/logger.d.ts +14 -0
  134. package/dist/logger.d.ts.map +1 -0
  135. package/dist/pair-store.d.ts +60 -0
  136. package/dist/pair-store.d.ts.map +1 -0
  137. package/dist/platform.d.ts +25 -0
  138. package/dist/platform.d.ts.map +1 -0
  139. package/dist/process-discovery.d.ts +35 -0
  140. package/dist/process-discovery.d.ts.map +1 -0
  141. package/dist/providers.d.ts +7 -0
  142. package/dist/providers.d.ts.map +1 -0
  143. package/dist/pty-host/protocol.d.ts +270 -0
  144. package/dist/pty-host/protocol.d.ts.map +1 -0
  145. package/dist/pty-host/remote-session-runner.d.ts +133 -0
  146. package/dist/pty-host/remote-session-runner.d.ts.map +1 -0
  147. package/dist/pty-host/socket.d.ts +54 -0
  148. package/dist/pty-host/socket.d.ts.map +1 -0
  149. package/dist/pty-host/spawn-host.d.ts +30 -0
  150. package/dist/pty-host/spawn-host.d.ts.map +1 -0
  151. package/dist/pty-manager.d.ts +65 -0
  152. package/dist/pty-manager.d.ts.map +1 -0
  153. package/dist/pty-shared.d.ts +27 -0
  154. package/dist/pty-shared.d.ts.map +1 -0
  155. package/dist/scanner-manager.d.ts +126 -0
  156. package/dist/scanner-manager.d.ts.map +1 -0
  157. package/dist/schemas/cacheAlert.schema.d.ts +14 -0
  158. package/dist/schemas/cacheAlert.schema.d.ts.map +1 -0
  159. package/dist/schemas/claudeFlags.schema.d.ts +7 -0
  160. package/dist/schemas/claudeFlags.schema.d.ts.map +1 -0
  161. package/dist/schemas/project.schema.d.ts +18 -0
  162. package/dist/schemas/project.schema.d.ts.map +1 -0
  163. package/dist/schemas/updateConfig.schema.d.ts +19 -0
  164. package/dist/schemas/updateConfig.schema.d.ts.map +1 -0
  165. package/dist/seal.d.ts +14 -0
  166. package/dist/seal.d.ts.map +1 -0
  167. package/dist/server-identity.d.ts +43 -0
  168. package/dist/server-identity.d.ts.map +1 -0
  169. package/dist/server-wiring.d.ts +184 -0
  170. package/dist/server-wiring.d.ts.map +1 -0
  171. package/dist/server.d.ts +390 -0
  172. package/dist/server.d.ts.map +1 -0
  173. package/dist/services/backup/backup.d.ts +103 -0
  174. package/dist/services/backup/backup.d.ts.map +1 -0
  175. package/dist/services/cache/cacheMetadata.d.ts +8 -0
  176. package/dist/services/cache/cacheMetadata.d.ts.map +1 -0
  177. package/dist/services/cache-integrity/alertStore.d.ts +24 -0
  178. package/dist/services/cache-integrity/alertStore.d.ts.map +1 -0
  179. package/dist/services/cache-integrity/backup.d.ts +8 -0
  180. package/dist/services/cache-integrity/backup.d.ts.map +1 -0
  181. package/dist/services/cache-integrity/cacheIntegrityMonitor.d.ts +71 -0
  182. package/dist/services/cache-integrity/cacheIntegrityMonitor.d.ts.map +1 -0
  183. package/dist/services/conversations/conversationWatcher.d.ts +99 -0
  184. package/dist/services/conversations/conversationWatcher.d.ts.map +1 -0
  185. package/dist/services/conversations/findSearchTarget.d.ts +30 -0
  186. package/dist/services/conversations/findSearchTarget.d.ts.map +1 -0
  187. package/dist/services/conversations/isAgentConversation.d.ts +8 -0
  188. package/dist/services/conversations/isAgentConversation.d.ts.map +1 -0
  189. package/dist/services/conversations/pruneAgentConversations.d.ts +8 -0
  190. package/dist/services/conversations/pruneAgentConversations.d.ts.map +1 -0
  191. package/dist/services/conversations/refreshConversationCache.d.ts +27 -0
  192. package/dist/services/conversations/refreshConversationCache.d.ts.map +1 -0
  193. package/dist/services/conversations/shouldRefreshProjectsFromHdd.d.ts +33 -0
  194. package/dist/services/conversations/shouldRefreshProjectsFromHdd.d.ts.map +1 -0
  195. package/dist/services/diagnostics/diagnostics.d.ts +66 -0
  196. package/dist/services/diagnostics/diagnostics.d.ts.map +1 -0
  197. package/dist/services/projectChats/deriveProjectChatTitle.d.ts +15 -0
  198. package/dist/services/projectChats/deriveProjectChatTitle.d.ts.map +1 -0
  199. package/dist/services/projects/ensureProjectsForConversations.d.ts +15 -0
  200. package/dist/services/projects/ensureProjectsForConversations.d.ts.map +1 -0
  201. package/dist/services/providers/capabilities.d.ts +105 -0
  202. package/dist/services/providers/capabilities.d.ts.map +1 -0
  203. package/dist/services/providers/providerHealth.d.ts +72 -0
  204. package/dist/services/providers/providerHealth.d.ts.map +1 -0
  205. package/dist/services/push/apnsClient.d.ts +105 -0
  206. package/dist/services/push/apnsClient.d.ts.map +1 -0
  207. package/dist/services/push/expoPushSender.d.ts +37 -0
  208. package/dist/services/push/expoPushSender.d.ts.map +1 -0
  209. package/dist/services/push/liveActivityContentState.d.ts +60 -0
  210. package/dist/services/push/liveActivityContentState.d.ts.map +1 -0
  211. package/dist/services/push/liveActivityNotifier.d.ts +49 -0
  212. package/dist/services/push/liveActivityNotifier.d.ts.map +1 -0
  213. package/dist/services/push/liveActivityRenewal.d.ts +63 -0
  214. package/dist/services/push/liveActivityRenewal.d.ts.map +1 -0
  215. package/dist/services/push/liveActivitySender.d.ts +88 -0
  216. package/dist/services/push/liveActivitySender.d.ts.map +1 -0
  217. package/dist/services/push/waitingInputNotifier.d.ts +41 -0
  218. package/dist/services/push/waitingInputNotifier.d.ts.map +1 -0
  219. package/dist/services/questions/answersToKeystrokes.d.ts +8 -0
  220. package/dist/services/questions/answersToKeystrokes.d.ts.map +1 -0
  221. package/dist/services/questions/codexGateAnswers.d.ts +14 -0
  222. package/dist/services/questions/codexGateAnswers.d.ts.map +1 -0
  223. package/dist/services/questions/codexScreen.d.ts +74 -0
  224. package/dist/services/questions/codexScreen.d.ts.map +1 -0
  225. package/dist/services/questions/detectAskUserQuestion.d.ts +6 -0
  226. package/dist/services/questions/detectAskUserQuestion.d.ts.map +1 -0
  227. package/dist/services/questions/detectPermissionGate.d.ts +62 -0
  228. package/dist/services/questions/detectPermissionGate.d.ts.map +1 -0
  229. package/dist/services/questions/detectQuestionFromScreen.d.ts +30 -0
  230. package/dist/services/questions/detectQuestionFromScreen.d.ts.map +1 -0
  231. package/dist/services/questions/detectShellPrompt.d.ts +18 -0
  232. package/dist/services/questions/detectShellPrompt.d.ts.map +1 -0
  233. package/dist/services/questions/parseAgentPhase.d.ts +12 -0
  234. package/dist/services/questions/parseAgentPhase.d.ts.map +1 -0
  235. package/dist/services/questions/parseStatusLine.d.ts +19 -0
  236. package/dist/services/questions/parseStatusLine.d.ts.map +1 -0
  237. package/dist/services/questions/questionBroadcast.d.ts +18 -0
  238. package/dist/services/questions/questionBroadcast.d.ts.map +1 -0
  239. package/dist/services/questions/resolveAnswer.d.ts +16 -0
  240. package/dist/services/questions/resolveAnswer.d.ts.map +1 -0
  241. package/dist/services/search/searchQuery.d.ts +78 -0
  242. package/dist/services/search/searchQuery.d.ts.map +1 -0
  243. package/dist/services/security/capabilities.d.ts +50 -0
  244. package/dist/services/security/capabilities.d.ts.map +1 -0
  245. package/dist/services/sessions/autoResumeOnBoot.d.ts +28 -0
  246. package/dist/services/sessions/autoResumeOnBoot.d.ts.map +1 -0
  247. package/dist/services/sessions/codexRolloutOwner.d.ts +55 -0
  248. package/dist/services/sessions/codexRolloutOwner.d.ts.map +1 -0
  249. package/dist/services/sessions/conversationBusy.d.ts +32 -0
  250. package/dist/services/sessions/conversationBusy.d.ts.map +1 -0
  251. package/dist/services/sessions/idempotency.d.ts +67 -0
  252. package/dist/services/sessions/idempotency.d.ts.map +1 -0
  253. package/dist/services/sessions/reconcileSessions.d.ts +63 -0
  254. package/dist/services/sessions/reconcileSessions.d.ts.map +1 -0
  255. package/dist/services/sessions/rehydrateSessions.d.ts +68 -0
  256. package/dist/services/sessions/rehydrateSessions.d.ts.map +1 -0
  257. package/dist/services/sessions/resumeIdentity.d.ts +16 -0
  258. package/dist/services/sessions/resumeIdentity.d.ts.map +1 -0
  259. package/dist/session-registry-boot.d.ts +142 -0
  260. package/dist/session-registry-boot.d.ts.map +1 -0
  261. package/dist/session-store.d.ts +32 -0
  262. package/dist/session-store.d.ts.map +1 -0
  263. package/dist/session-watchers.d.ts +60 -0
  264. package/dist/session-watchers.d.ts.map +1 -0
  265. package/dist/types.d.ts +616 -0
  266. package/dist/types.d.ts.map +1 -0
  267. package/dist/uploads.d.ts +16 -0
  268. package/dist/uploads.d.ts.map +1 -0
  269. package/dist/utils/bootToken.d.ts +3 -0
  270. package/dist/utils/bootToken.d.ts.map +1 -0
  271. package/dist/utils/canonicalizeFilePath.d.ts +75 -0
  272. package/dist/utils/canonicalizeFilePath.d.ts.map +1 -0
  273. package/dist/utils/canonicalizeProjectPath.d.ts +13 -0
  274. package/dist/utils/canonicalizeProjectPath.d.ts.map +1 -0
  275. package/dist/utils/codexConversationLine.d.ts +38 -0
  276. package/dist/utils/codexConversationLine.d.ts.map +1 -0
  277. package/dist/utils/conversationEtag.d.ts +19 -0
  278. package/dist/utils/conversationEtag.d.ts.map +1 -0
  279. package/dist/utils/dates.d.ts +12 -0
  280. package/dist/utils/dates.d.ts.map +1 -0
  281. package/dist/utils/debounce.d.ts +15 -0
  282. package/dist/utils/debounce.d.ts.map +1 -0
  283. package/dist/utils/deriveSessionName.d.ts +10 -0
  284. package/dist/utils/deriveSessionName.d.ts.map +1 -0
  285. package/dist/utils/fileIdentity.d.ts +36 -0
  286. package/dist/utils/fileIdentity.d.ts.map +1 -0
  287. package/dist/utils/isScannedSnapshotStale.d.ts +16 -0
  288. package/dist/utils/isScannedSnapshotStale.d.ts.map +1 -0
  289. package/dist/utils/scanProgressThrottle.d.ts +12 -0
  290. package/dist/utils/scanProgressThrottle.d.ts.map +1 -0
  291. package/dist/version.d.ts +3 -0
  292. package/dist/version.d.ts.map +1 -0
  293. package/dist/ws-hub.d.ts +15 -0
  294. package/dist/ws-hub.d.ts.map +1 -0
  295. package/package.json +3 -4
  296. package/dist/index.d.cts +0 -2571
@@ -0,0 +1,76 @@
1
+ /** Claude Code `--permission-mode` values, as accepted by CLI v2.1.x. */
2
+ export declare const PERMISSION_MODES: readonly ["acceptEdits", "auto", "bypassPermissions", "manual", "dontAsk", "plan"];
3
+ export type PermissionMode = (typeof PERMISSION_MODES)[number];
4
+ export declare function isPermissionMode(value: unknown): value is PermissionMode;
5
+ export declare const DANGEROUS_PERMISSION_MODES: readonly PermissionMode[];
6
+ export declare function isDangerousPermissionMode(mode: PermissionMode): boolean;
7
+ /**
8
+ * The mode sessions will actually spawn with, for callers that need to know
9
+ * before any spawn happens (the boot warning). Mirrors the precedence
10
+ * `StreamerServer.spawnFlagOverrides()` applies — `claudeFlags.permissionMode`
11
+ * wins over the `--default-permission-mode` fallback — so the two must not
12
+ * drift: a warning that reads the fallback would stay silent while a
13
+ * `claude_flags:` bypass is what actually reaches argv.
14
+ */
15
+ export declare function effectivePermissionMode(flags: ClaudeFlagValues | undefined, fallback: string | undefined): PermissionMode | undefined;
16
+ /** Claude Code `--effort` levels, as accepted by CLI v2.1.x. */
17
+ export declare const EFFORT_LEVELS: readonly ["low", "medium", "high", "xhigh", "max"];
18
+ export type EffortLevel = (typeof EFFORT_LEVELS)[number];
19
+ export declare function isEffortLevel(value: unknown): value is EffortLevel;
20
+ export type FlagValueType = "boolean" | "string" | "enum" | "list";
21
+ /** How risky enabling a flag is. Drives the client's confirmation UX. */
22
+ export type FlagRisk = "low" | "elevated" | "dangerous";
23
+ export interface FlagDefinition {
24
+ /** Stable config/wire key. Never the CLI spelling. */
25
+ id: string;
26
+ /** The literal CLI token, e.g. "--add-dir". */
27
+ flag: string;
28
+ valueType: FlagValueType;
29
+ /** Allowed values when valueType === "enum". */
30
+ enumValues?: readonly string[];
31
+ /**
32
+ * Baseline risk. `permissionMode` is the exception: it is only dangerous for
33
+ * the values in DANGEROUS_PERMISSION_MODES, so clients must call
34
+ * `flagValueRisk()` rather than reading this field directly.
35
+ */
36
+ risk: FlagRisk;
37
+ }
38
+ export type ClaudeFlagValue = string | string[] | boolean;
39
+ export type ClaudeFlagValues = Record<string, ClaudeFlagValue>;
40
+ export declare const CLAUDE_FLAGS: readonly FlagDefinition[];
41
+ export declare function findFlag(id: string): FlagDefinition | undefined;
42
+ /**
43
+ * Effective risk of a specific value. Only `permissionMode` is value-dependent
44
+ * (`acceptEdits` is routine; `bypassPermissions` is not).
45
+ */
46
+ export declare function flagValueRisk(id: string, value: ClaudeFlagValue): FlagRisk;
47
+ /**
48
+ * Drop everything that isn't a known id carrying a well-typed value.
49
+ *
50
+ * This is a TRUST BOUNDARY, not a convenience: values arrive from a
51
+ * user-editable server.yaml and from HTTP, and they become process argv. Never
52
+ * skip it. Unknown/invalid entries are dropped rather than throwing so one bad
53
+ * key can't prevent the server from booting.
54
+ */
55
+ export declare function validateFlagValues(raw: unknown): ClaudeFlagValues;
56
+ /**
57
+ * Split a free-text extra-args string into argv tokens, honouring single and
58
+ * double quotes so a path with spaces survives. Deliberately not a full shell
59
+ * parser — no variable expansion, no globbing, no escapes beyond the quotes.
60
+ */
61
+ export declare function tokenizeExtraArgs(input: string | undefined): string[];
62
+ /**
63
+ * Turn validated flag values + extra args into argv tokens.
64
+ *
65
+ * The SPAWN_POSITIONAL_FLAG_IDS are intentionally NOT emitted here: both PTY
66
+ * spawn paths already pass them as explicit positionals, and emitting them
67
+ * twice would put a duplicate flag on the command line. They flow through
68
+ * `options.permissionMode` / `options.model` / `options.effort` instead, which
69
+ * StreamerServer.spawnFlagOverrides() sources from these same flag values.
70
+ *
71
+ * Extra args land LAST so the escape hatch can override anything the allowlist
72
+ * set.
73
+ */
74
+ export declare function buildFlagArgs(values: ClaudeFlagValues | undefined, extraArgs?: string): string[];
75
+ export declare function buildSettingsJson(permissionMode: PermissionMode): string;
76
+ //# sourceMappingURL=claude-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-flags.d.ts","sourceRoot":"","sources":["../src/claude-flags.ts"],"names":[],"mappings":"AAcA,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,YAC3B,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,MAAM,CACE,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAOD,eAAO,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAG/D,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,cAAc,GAAG,SAAS,CAG5B;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,YAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,yEAAyE;AACzE,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,aAAa,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;;OAIG;IACH,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAyB/D,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EAajD,CAAC;AAQF,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,QAAQ,CAO1E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CA2BjE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CA+BrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBhG;AAUD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAMxE"}
package/dist/cli.cjs CHANGED
@@ -28235,7 +28235,7 @@ var require_permessage_deflate = __commonJS({
28235
28235
  acceptAsServer(offers) {
28236
28236
  const opts = this._options;
28237
28237
  const accepted = offers.find((params) => {
28238
- if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) {
28238
+ if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && (typeof params.client_max_window_bits === "number" ? opts.clientMaxWindowBits > params.client_max_window_bits : !params.client_max_window_bits)) {
28239
28239
  return false;
28240
28240
  }
28241
28241
  return true;
@@ -128383,7 +128383,7 @@ function formatIdentityBanner(fingerprint2, keyPath) {
128383
128383
  "",
128384
128384
  ` ${fingerprint2}`,
128385
128385
  "",
128386
- "Compare this with the fingerprint your phone shows when you add this server."
128386
+ "Compare this with the identity code your phone shows when you add this server."
128387
128387
  ].join("\n");
128388
128388
  }
128389
128389
  var init_identity = __esm({
@@ -159375,7 +159375,8 @@ function generateQr(payload) {
159375
159375
  function printUrlBanner({
159376
159376
  url: url2,
159377
159377
  qr: qr2,
159378
- expiresAt
159378
+ expiresAt,
159379
+ fingerprint: fingerprint2
159379
159380
  }) {
159380
159381
  const contentLines = ["Threadbase Streamer \u2014 server address", "", url2];
159381
159382
  if (qr2) {
@@ -159389,6 +159390,14 @@ function printUrlBanner({
159389
159390
  contentLines.push("", "Scan to pair a mobile client");
159390
159391
  }
159391
159392
  }
159393
+ if (fingerprint2) {
159394
+ contentLines.push(
159395
+ "",
159396
+ "Identity code",
159397
+ fingerprint2,
159398
+ "This should match the code your phone shows after you scan."
159399
+ );
159400
+ }
159392
159401
  const width = Math.max(...contentLines.map((l) => l.length));
159393
159402
  const pad = (l) => `\u2551 ${l}${" ".repeat(width - l.length)} \u2551`;
159394
159403
  const top = `\u2554${"\u2550".repeat(width + 2)}\u2557`;
@@ -159452,9 +159461,15 @@ async function printServerBanner({
159452
159461
  }
159453
159462
  const { token, expiresAt, expiresInSeconds } = await res.json();
159454
159463
  const expSeconds = Math.floor(expiresAt / 1e3);
159455
- const payload = `threadbase://pair?url=${encodeURIComponent(url2)}&token=${token}&exp=${expSeconds}` + (e2eeOffered ? `&spk=${identityKey()}&v=1` : "");
159464
+ let fingerprint2;
159465
+ let payload = `threadbase://pair?url=${encodeURIComponent(url2)}&token=${token}&exp=${expSeconds}`;
159466
+ if (e2eeOffered) {
159467
+ const spk = identityKey();
159468
+ payload += `&spk=${spk}&v=1`;
159469
+ fingerprint2 = serverIdentityFingerprint(spk);
159470
+ }
159456
159471
  const qr2 = await generateQr(payload);
159457
- log15.info(printUrlBanner({ url: url2, qr: qr2, expiresAt }));
159472
+ log15.info(printUrlBanner({ url: url2, qr: qr2, expiresAt, fingerprint: fingerprint2 }));
159458
159473
  log15.info(`Pair URL: ${payload}`);
159459
159474
  log15.info(`Expires in ${expiresInSeconds}s`);
159460
159475
  }