shennian 0.2.0 → 0.2.5

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 (282) hide show
  1. package/dist/bin/shennian.d.ts +0 -1
  2. package/dist/bin/shennian.js +0 -1
  3. package/dist/src/agents/adapter.d.ts +0 -1
  4. package/dist/src/agents/adapter.js +0 -1
  5. package/dist/src/agents/claude.d.ts +1 -1
  6. package/dist/src/agents/claude.js +12 -6
  7. package/dist/src/agents/codex.d.ts +18 -1
  8. package/dist/src/agents/codex.js +372 -13
  9. package/dist/src/agents/command-spec.d.ts +28 -3
  10. package/dist/src/agents/command-spec.js +251 -10
  11. package/dist/src/agents/cursor.d.ts +0 -1
  12. package/dist/src/agents/cursor.js +2 -4
  13. package/dist/src/agents/custom.d.ts +0 -6
  14. package/dist/src/agents/custom.js +4 -40
  15. package/dist/src/agents/detect.d.ts +0 -1
  16. package/dist/src/agents/detect.js +0 -1
  17. package/dist/src/agents/gemini.d.ts +0 -1
  18. package/dist/src/agents/gemini.js +7 -3
  19. package/dist/src/agents/model-registry/cache.d.ts +0 -1
  20. package/dist/src/agents/model-registry/cache.js +0 -1
  21. package/dist/src/agents/model-registry/discovery.d.ts +0 -1
  22. package/dist/src/agents/model-registry/discovery.js +90 -48
  23. package/dist/src/agents/model-registry/parsers.d.ts +4 -1
  24. package/dist/src/agents/model-registry/parsers.js +168 -1
  25. package/dist/src/agents/model-registry/runner.d.ts +2 -7
  26. package/dist/src/agents/model-registry/runner.js +3 -134
  27. package/dist/src/agents/model-registry/service.d.ts +0 -1
  28. package/dist/src/agents/model-registry/service.js +12 -10
  29. package/dist/src/agents/model-registry/types.d.ts +0 -1
  30. package/dist/src/agents/model-registry/types.js +0 -1
  31. package/dist/src/agents/model-registry.d.ts +3 -2
  32. package/dist/src/agents/model-registry.js +3 -2
  33. package/dist/src/agents/openclaw.d.ts +0 -1
  34. package/dist/src/agents/openclaw.js +13 -4
  35. package/dist/src/agents/pi.d.ts +0 -1
  36. package/dist/src/agents/pi.js +0 -1
  37. package/dist/src/commands/agent.d.ts +0 -1
  38. package/dist/src/commands/agent.js +2 -33
  39. package/dist/src/commands/daemon.d.ts +6 -1
  40. package/dist/src/commands/daemon.js +153 -18
  41. package/dist/src/commands/pair-qr.d.ts +0 -1
  42. package/dist/src/commands/pair-qr.js +0 -1
  43. package/dist/src/commands/pair.d.ts +0 -1
  44. package/dist/src/commands/pair.js +0 -1
  45. package/dist/src/commands/upgrade.d.ts +0 -1
  46. package/dist/src/commands/upgrade.js +0 -1
  47. package/dist/src/config/index.d.ts +0 -1
  48. package/dist/src/config/index.js +0 -1
  49. package/dist/src/fs/handler.d.ts +0 -1
  50. package/dist/src/fs/handler.js +18 -1
  51. package/dist/src/fs/security.d.ts +0 -1
  52. package/dist/src/fs/security.js +5 -1
  53. package/dist/src/index.d.ts +0 -1
  54. package/dist/src/index.js +36 -8
  55. package/dist/src/log-reporter.d.ts +0 -1
  56. package/dist/src/log-reporter.js +2 -20
  57. package/dist/src/native-fusion/parsers.d.ts +0 -1
  58. package/dist/src/native-fusion/parsers.js +407 -44
  59. package/dist/src/native-fusion/service.d.ts +0 -1
  60. package/dist/src/native-fusion/service.js +16 -10
  61. package/dist/src/native-fusion/state.d.ts +0 -1
  62. package/dist/src/native-fusion/state.js +0 -1
  63. package/dist/src/native-fusion/types.d.ts +0 -1
  64. package/dist/src/native-fusion/types.js +0 -1
  65. package/dist/src/region.d.ts +0 -1
  66. package/dist/src/region.js +0 -1
  67. package/dist/src/relay/client.d.ts +11 -2
  68. package/dist/src/relay/client.js +22 -4
  69. package/dist/src/session/handlers/agents.d.ts +0 -1
  70. package/dist/src/session/handlers/agents.js +0 -1
  71. package/dist/src/session/handlers/chat.d.ts +0 -1
  72. package/dist/src/session/handlers/chat.js +49 -8
  73. package/dist/src/session/handlers/control.d.ts +0 -1
  74. package/dist/src/session/handlers/control.js +0 -1
  75. package/dist/src/session/handlers/fs.d.ts +0 -1
  76. package/dist/src/session/handlers/fs.js +37 -3
  77. package/dist/src/session/manager.d.ts +1 -1
  78. package/dist/src/session/manager.js +23 -4
  79. package/dist/src/session/store.d.ts +0 -1
  80. package/dist/src/session/store.js +0 -1
  81. package/dist/src/session/types.d.ts +6 -1
  82. package/dist/src/session/types.js +0 -1
  83. package/dist/src/upgrade/engine.d.ts +0 -1
  84. package/dist/src/upgrade/engine.js +0 -1
  85. package/package.json +3 -2
  86. package/dist/bin/shennian.d.ts.map +0 -1
  87. package/dist/bin/shennian.js.map +0 -1
  88. package/dist/src/__experiments__/probe-debug.d.ts +0 -2
  89. package/dist/src/__experiments__/probe-debug.d.ts.map +0 -1
  90. package/dist/src/__experiments__/probe-debug.js +0 -66
  91. package/dist/src/__experiments__/probe-debug.js.map +0 -1
  92. package/dist/src/__experiments__/probe-final-benchmark.d.ts +0 -3
  93. package/dist/src/__experiments__/probe-final-benchmark.d.ts.map +0 -1
  94. package/dist/src/__experiments__/probe-final-benchmark.js +0 -234
  95. package/dist/src/__experiments__/probe-final-benchmark.js.map +0 -1
  96. package/dist/src/__experiments__/probe-models-final.d.ts +0 -19
  97. package/dist/src/__experiments__/probe-models-final.d.ts.map +0 -1
  98. package/dist/src/__experiments__/probe-models-final.js +0 -250
  99. package/dist/src/__experiments__/probe-models-final.js.map +0 -1
  100. package/dist/src/__experiments__/probe-models.d.ts +0 -7
  101. package/dist/src/__experiments__/probe-models.d.ts.map +0 -1
  102. package/dist/src/__experiments__/probe-models.js +0 -251
  103. package/dist/src/__experiments__/probe-models.js.map +0 -1
  104. package/dist/src/__tests__/agents-e2e.d.ts +0 -21
  105. package/dist/src/__tests__/agents-e2e.d.ts.map +0 -1
  106. package/dist/src/__tests__/agents-e2e.js +0 -146
  107. package/dist/src/__tests__/agents-e2e.js.map +0 -1
  108. package/dist/src/__tests__/claude-adapter.test.d.ts +0 -2
  109. package/dist/src/__tests__/claude-adapter.test.d.ts.map +0 -1
  110. package/dist/src/__tests__/claude-adapter.test.js +0 -75
  111. package/dist/src/__tests__/claude-adapter.test.js.map +0 -1
  112. package/dist/src/__tests__/codex-adapter.test.d.ts +0 -2
  113. package/dist/src/__tests__/codex-adapter.test.d.ts.map +0 -1
  114. package/dist/src/__tests__/codex-adapter.test.js +0 -224
  115. package/dist/src/__tests__/codex-adapter.test.js.map +0 -1
  116. package/dist/src/__tests__/config.test.d.ts +0 -2
  117. package/dist/src/__tests__/config.test.d.ts.map +0 -1
  118. package/dist/src/__tests__/config.test.js +0 -60
  119. package/dist/src/__tests__/config.test.js.map +0 -1
  120. package/dist/src/__tests__/cursor-adapter.test.d.ts +0 -2
  121. package/dist/src/__tests__/cursor-adapter.test.d.ts.map +0 -1
  122. package/dist/src/__tests__/cursor-adapter.test.js +0 -69
  123. package/dist/src/__tests__/cursor-adapter.test.js.map +0 -1
  124. package/dist/src/__tests__/custom-agent-flow.test.d.ts +0 -2
  125. package/dist/src/__tests__/custom-agent-flow.test.d.ts.map +0 -1
  126. package/dist/src/__tests__/custom-agent-flow.test.js +0 -244
  127. package/dist/src/__tests__/custom-agent-flow.test.js.map +0 -1
  128. package/dist/src/__tests__/daemon-autostart.test.d.ts +0 -2
  129. package/dist/src/__tests__/daemon-autostart.test.d.ts.map +0 -1
  130. package/dist/src/__tests__/daemon-autostart.test.js +0 -60
  131. package/dist/src/__tests__/daemon-autostart.test.js.map +0 -1
  132. package/dist/src/__tests__/e2e-relay.d.ts +0 -19
  133. package/dist/src/__tests__/e2e-relay.d.ts.map +0 -1
  134. package/dist/src/__tests__/e2e-relay.js +0 -256
  135. package/dist/src/__tests__/e2e-relay.js.map +0 -1
  136. package/dist/src/__tests__/model-discovery.test.d.ts +0 -2
  137. package/dist/src/__tests__/model-discovery.test.d.ts.map +0 -1
  138. package/dist/src/__tests__/model-discovery.test.js +0 -47
  139. package/dist/src/__tests__/model-discovery.test.js.map +0 -1
  140. package/dist/src/__tests__/model-switching.test.d.ts +0 -2
  141. package/dist/src/__tests__/model-switching.test.d.ts.map +0 -1
  142. package/dist/src/__tests__/model-switching.test.js +0 -253
  143. package/dist/src/__tests__/model-switching.test.js.map +0 -1
  144. package/dist/src/__tests__/native-fusion-parsers.test.d.ts +0 -2
  145. package/dist/src/__tests__/native-fusion-parsers.test.d.ts.map +0 -1
  146. package/dist/src/__tests__/native-fusion-parsers.test.js +0 -216
  147. package/dist/src/__tests__/native-fusion-parsers.test.js.map +0 -1
  148. package/dist/src/__tests__/native-fusion-service.test.d.ts +0 -2
  149. package/dist/src/__tests__/native-fusion-service.test.d.ts.map +0 -1
  150. package/dist/src/__tests__/native-fusion-service.test.js +0 -157
  151. package/dist/src/__tests__/native-fusion-service.test.js.map +0 -1
  152. package/dist/src/__tests__/native-session-sync.test.d.ts +0 -2
  153. package/dist/src/__tests__/native-session-sync.test.d.ts.map +0 -1
  154. package/dist/src/__tests__/native-session-sync.test.js +0 -198
  155. package/dist/src/__tests__/native-session-sync.test.js.map +0 -1
  156. package/dist/src/__tests__/pair-qr.test.d.ts +0 -2
  157. package/dist/src/__tests__/pair-qr.test.d.ts.map +0 -1
  158. package/dist/src/__tests__/pair-qr.test.js +0 -13
  159. package/dist/src/__tests__/pair-qr.test.js.map +0 -1
  160. package/dist/src/__tests__/pi-context.test.d.ts +0 -2
  161. package/dist/src/__tests__/pi-context.test.d.ts.map +0 -1
  162. package/dist/src/__tests__/pi-context.test.js +0 -261
  163. package/dist/src/__tests__/pi-context.test.js.map +0 -1
  164. package/dist/src/__tests__/session-manager.test.d.ts +0 -2
  165. package/dist/src/__tests__/session-manager.test.d.ts.map +0 -1
  166. package/dist/src/__tests__/session-manager.test.js +0 -592
  167. package/dist/src/__tests__/session-manager.test.js.map +0 -1
  168. package/dist/src/__tests__/session-store.test.d.ts +0 -2
  169. package/dist/src/__tests__/session-store.test.d.ts.map +0 -1
  170. package/dist/src/__tests__/session-store.test.js +0 -106
  171. package/dist/src/__tests__/session-store.test.js.map +0 -1
  172. package/dist/src/agents/adapter.d.ts.map +0 -1
  173. package/dist/src/agents/adapter.js.map +0 -1
  174. package/dist/src/agents/claude.d.ts.map +0 -1
  175. package/dist/src/agents/claude.js.map +0 -1
  176. package/dist/src/agents/codex.d.ts.map +0 -1
  177. package/dist/src/agents/codex.js.map +0 -1
  178. package/dist/src/agents/command-spec.d.ts.map +0 -1
  179. package/dist/src/agents/command-spec.js.map +0 -1
  180. package/dist/src/agents/cursor.d.ts.map +0 -1
  181. package/dist/src/agents/cursor.js.map +0 -1
  182. package/dist/src/agents/custom.d.ts.map +0 -1
  183. package/dist/src/agents/custom.js.map +0 -1
  184. package/dist/src/agents/detect.d.ts.map +0 -1
  185. package/dist/src/agents/detect.js.map +0 -1
  186. package/dist/src/agents/gemini.d.ts.map +0 -1
  187. package/dist/src/agents/gemini.js.map +0 -1
  188. package/dist/src/agents/model-registry/cache.d.ts.map +0 -1
  189. package/dist/src/agents/model-registry/cache.js.map +0 -1
  190. package/dist/src/agents/model-registry/discovery.d.ts.map +0 -1
  191. package/dist/src/agents/model-registry/discovery.js.map +0 -1
  192. package/dist/src/agents/model-registry/parsers.d.ts.map +0 -1
  193. package/dist/src/agents/model-registry/parsers.js.map +0 -1
  194. package/dist/src/agents/model-registry/runner.d.ts.map +0 -1
  195. package/dist/src/agents/model-registry/runner.js.map +0 -1
  196. package/dist/src/agents/model-registry/service.d.ts.map +0 -1
  197. package/dist/src/agents/model-registry/service.js.map +0 -1
  198. package/dist/src/agents/model-registry/types.d.ts.map +0 -1
  199. package/dist/src/agents/model-registry/types.js.map +0 -1
  200. package/dist/src/agents/model-registry.d.ts.map +0 -1
  201. package/dist/src/agents/model-registry.js.map +0 -1
  202. package/dist/src/agents/openclaw.d.ts.map +0 -1
  203. package/dist/src/agents/openclaw.js.map +0 -1
  204. package/dist/src/agents/pi.d.ts.map +0 -1
  205. package/dist/src/agents/pi.js.map +0 -1
  206. package/dist/src/commands/agent.d.ts.map +0 -1
  207. package/dist/src/commands/agent.js.map +0 -1
  208. package/dist/src/commands/daemon.d.ts.map +0 -1
  209. package/dist/src/commands/daemon.js.map +0 -1
  210. package/dist/src/commands/pair-qr.d.ts.map +0 -1
  211. package/dist/src/commands/pair-qr.js.map +0 -1
  212. package/dist/src/commands/pair.d.ts.map +0 -1
  213. package/dist/src/commands/pair.js.map +0 -1
  214. package/dist/src/commands/upgrade.d.ts.map +0 -1
  215. package/dist/src/commands/upgrade.js.map +0 -1
  216. package/dist/src/config/index.d.ts.map +0 -1
  217. package/dist/src/config/index.js.map +0 -1
  218. package/dist/src/fs/handler.d.ts.map +0 -1
  219. package/dist/src/fs/handler.js.map +0 -1
  220. package/dist/src/fs/multimodal.d.ts +0 -5
  221. package/dist/src/fs/multimodal.d.ts.map +0 -1
  222. package/dist/src/fs/multimodal.js +0 -39
  223. package/dist/src/fs/multimodal.js.map +0 -1
  224. package/dist/src/fs/security.d.ts.map +0 -1
  225. package/dist/src/fs/security.js.map +0 -1
  226. package/dist/src/index.d.ts.map +0 -1
  227. package/dist/src/index.js.map +0 -1
  228. package/dist/src/log-reporter.d.ts.map +0 -1
  229. package/dist/src/log-reporter.js.map +0 -1
  230. package/dist/src/native-fusion/parsers.d.ts.map +0 -1
  231. package/dist/src/native-fusion/parsers.js.map +0 -1
  232. package/dist/src/native-fusion/service.d.ts.map +0 -1
  233. package/dist/src/native-fusion/service.js.map +0 -1
  234. package/dist/src/native-fusion/state.d.ts.map +0 -1
  235. package/dist/src/native-fusion/state.js.map +0 -1
  236. package/dist/src/native-fusion/types.d.ts.map +0 -1
  237. package/dist/src/native-fusion/types.js.map +0 -1
  238. package/dist/src/native-sync/discover.d.ts +0 -6
  239. package/dist/src/native-sync/discover.d.ts.map +0 -1
  240. package/dist/src/native-sync/discover.js +0 -69
  241. package/dist/src/native-sync/discover.js.map +0 -1
  242. package/dist/src/native-sync/parsers.d.ts +0 -3
  243. package/dist/src/native-sync/parsers.d.ts.map +0 -1
  244. package/dist/src/native-sync/parsers.js +0 -373
  245. package/dist/src/native-sync/parsers.js.map +0 -1
  246. package/dist/src/native-sync/service.d.ts +0 -16
  247. package/dist/src/native-sync/service.d.ts.map +0 -1
  248. package/dist/src/native-sync/service.js +0 -95
  249. package/dist/src/native-sync/service.js.map +0 -1
  250. package/dist/src/native-sync/state.d.ts +0 -6
  251. package/dist/src/native-sync/state.d.ts.map +0 -1
  252. package/dist/src/native-sync/state.js +0 -34
  253. package/dist/src/native-sync/state.js.map +0 -1
  254. package/dist/src/native-sync/types.d.ts +0 -23
  255. package/dist/src/native-sync/types.d.ts.map +0 -1
  256. package/dist/src/native-sync/types.js +0 -4
  257. package/dist/src/native-sync/types.js.map +0 -1
  258. package/dist/src/region.d.ts.map +0 -1
  259. package/dist/src/region.js.map +0 -1
  260. package/dist/src/relay/client.d.ts.map +0 -1
  261. package/dist/src/relay/client.js.map +0 -1
  262. package/dist/src/session/handlers/agents.d.ts.map +0 -1
  263. package/dist/src/session/handlers/agents.js.map +0 -1
  264. package/dist/src/session/handlers/chat.d.ts.map +0 -1
  265. package/dist/src/session/handlers/chat.js.map +0 -1
  266. package/dist/src/session/handlers/control.d.ts.map +0 -1
  267. package/dist/src/session/handlers/control.js.map +0 -1
  268. package/dist/src/session/handlers/fs.d.ts.map +0 -1
  269. package/dist/src/session/handlers/fs.js.map +0 -1
  270. package/dist/src/session/handlers/queue.d.ts +0 -4
  271. package/dist/src/session/handlers/queue.d.ts.map +0 -1
  272. package/dist/src/session/handlers/queue.js +0 -66
  273. package/dist/src/session/handlers/queue.js.map +0 -1
  274. package/dist/src/session/manager.d.ts.map +0 -1
  275. package/dist/src/session/manager.js.map +0 -1
  276. package/dist/src/session/store.d.ts.map +0 -1
  277. package/dist/src/session/store.js.map +0 -1
  278. package/dist/src/session/types.d.ts.map +0 -1
  279. package/dist/src/session/types.js.map +0 -1
  280. package/dist/src/upgrade/engine.d.ts.map +0 -1
  281. package/dist/src/upgrade/engine.js.map +0 -1
  282. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,373 +0,0 @@
1
- // @arch docs/architecture/cli/native-session-sync.md
2
- // @test src/__tests__/native-session-sync.test.ts
3
- import fs from 'node:fs';
4
- import { createHash } from 'node:crypto';
5
- const MAX_TOOL_TEXT = 8_000;
6
- const MAX_TOOL_DEPTH = 4;
7
- const MAX_TOOL_KEYS = 50;
8
- const MAX_TITLE_LENGTH = 80;
9
- function stableId(...parts) {
10
- return createHash('sha1').update(parts.join('\u0000')).digest('hex');
11
- }
12
- function toIso(value) {
13
- return new Date(value).toISOString();
14
- }
15
- function normalizeText(value) {
16
- return value.replace(/\r\n/g, '\n').trim();
17
- }
18
- function titleFromText(value) {
19
- const text = normalizeText(value ?? '').replace(/\s+/g, ' ');
20
- if (!text)
21
- return '';
22
- return text.length > MAX_TITLE_LENGTH ? `${text.slice(0, MAX_TITLE_LENGTH)}…` : text;
23
- }
24
- function truncateText(value, limit = MAX_TOOL_TEXT) {
25
- if (value.length <= limit)
26
- return value;
27
- return `${value.slice(0, limit)}\n…[truncated ${value.length - limit} chars]`;
28
- }
29
- function sanitizeToolValue(value, depth = 0) {
30
- if (depth >= MAX_TOOL_DEPTH)
31
- return '[truncated]';
32
- if (typeof value === 'string')
33
- return truncateText(value, 4_000);
34
- if (value === null ||
35
- typeof value === 'number' ||
36
- typeof value === 'boolean') {
37
- return value;
38
- }
39
- if (Array.isArray(value)) {
40
- return value.slice(0, MAX_TOOL_KEYS).map((item) => sanitizeToolValue(item, depth + 1));
41
- }
42
- if (typeof value === 'object') {
43
- const result = {};
44
- for (const [key, entry] of Object.entries(value).slice(0, MAX_TOOL_KEYS)) {
45
- result[key] = sanitizeToolValue(entry, depth + 1);
46
- }
47
- return result;
48
- }
49
- return String(value);
50
- }
51
- function stringifyToolResult(value) {
52
- if (typeof value === 'string') {
53
- try {
54
- const parsed = JSON.parse(value);
55
- if (parsed && typeof parsed === 'object' && parsed !== null && 'output' in parsed) {
56
- const output = parsed.output;
57
- if (typeof output === 'string')
58
- return truncateText(output);
59
- return truncateText(JSON.stringify(sanitizeToolValue(output), null, 2));
60
- }
61
- }
62
- catch {
63
- // plain string output
64
- }
65
- return truncateText(value);
66
- }
67
- return truncateText(JSON.stringify(sanitizeToolValue(value), null, 2));
68
- }
69
- function buildToolPayload(name, args, result) {
70
- return JSON.stringify({
71
- v: 1,
72
- type: 'tool',
73
- name: name || 'tool',
74
- args: sanitizeToolValue(args),
75
- ...(result !== undefined ? { result: stringifyToolResult(result) } : {}),
76
- });
77
- }
78
- function resolveTimestamp(rawValue, fallback, lastTs, offset = 0) {
79
- const parsed = typeof rawValue === 'string' || typeof rawValue === 'number'
80
- ? new Date(rawValue).getTime()
81
- : Number.NaN;
82
- const base = Number.isFinite(parsed) ? parsed : fallback;
83
- return Math.max(base + offset, lastTs + 1);
84
- }
85
- function finalizeMessages(messages) {
86
- return messages
87
- .sort((left, right) => left.ts - right.ts)
88
- .map(({ id, role, ts, payload }) => ({
89
- id,
90
- role,
91
- ts,
92
- payload,
93
- sessionId: '',
94
- }));
95
- }
96
- function setSessionId(messages, sessionId) {
97
- return messages.map((message) => ({ ...message, sessionId }));
98
- }
99
- function appendMessage(messages, agentType, agentSessionId, key, role, ts, payload) {
100
- messages.push({
101
- key,
102
- id: `${agentType}-${stableId(agentSessionId, key)}`,
103
- role,
104
- ts,
105
- payload,
106
- });
107
- return messages.length - 1;
108
- }
109
- function parseClaudeTextContent(content) {
110
- if (typeof content === 'string')
111
- return normalizeText(content);
112
- if (!Array.isArray(content))
113
- return '';
114
- const text = content
115
- .filter((block) => typeof block === 'object' &&
116
- block !== null &&
117
- block.type === 'text' &&
118
- typeof block.text === 'string')
119
- .map((block) => block.text?.trim() ?? '')
120
- .filter(Boolean)
121
- .join('\n\n');
122
- return normalizeText(text);
123
- }
124
- function parseClaudeToolResults(content) {
125
- if (!Array.isArray(content))
126
- return [];
127
- const results = [];
128
- for (const block of content) {
129
- if (typeof block !== 'object' || block === null)
130
- continue;
131
- const entry = block;
132
- if (entry.type !== 'tool_result' || typeof entry.tool_use_id !== 'string')
133
- continue;
134
- results.push({
135
- toolUseId: entry.tool_use_id,
136
- result: stringifyToolResult(entry.content),
137
- });
138
- }
139
- return results;
140
- }
141
- function parseClaudeFile(file) {
142
- const content = fs.readFileSync(file.path, 'utf8');
143
- const lines = content.split('\n').filter(Boolean);
144
- const messages = [];
145
- const toolIndexByUseId = new Map();
146
- let sessionId = '';
147
- let workDir = '';
148
- let modelId = null;
149
- let title = '';
150
- let createdAtMs = Math.round(file.mtimeMs);
151
- let updatedAtMs = Math.round(file.mtimeMs);
152
- let lastTs = createdAtMs - 1;
153
- let fallbackPrompt = '';
154
- for (let i = 0; i < lines.length; i++) {
155
- let row;
156
- try {
157
- row = JSON.parse(lines[i]);
158
- }
159
- catch {
160
- continue;
161
- }
162
- if (typeof row.sessionId === 'string' && row.sessionId)
163
- sessionId = row.sessionId;
164
- if (typeof row.cwd === 'string' && row.cwd)
165
- workDir = row.cwd;
166
- const rowTs = resolveTimestamp(row.timestamp ??
167
- (typeof row.snapshot === 'object' && row.snapshot !== null
168
- ? row.snapshot.timestamp
169
- : undefined), Math.round(file.mtimeMs), lastTs);
170
- lastTs = rowTs;
171
- createdAtMs = Math.min(createdAtMs, rowTs);
172
- updatedAtMs = Math.max(updatedAtMs, rowTs);
173
- if (row.type === 'last-prompt' && typeof row.lastPrompt === 'string') {
174
- fallbackPrompt = row.lastPrompt;
175
- continue;
176
- }
177
- if (row.type === 'user') {
178
- const message = row.message;
179
- const toolResults = parseClaudeToolResults(message?.content);
180
- for (const toolResult of toolResults) {
181
- const toolIndex = toolIndexByUseId.get(toolResult.toolUseId);
182
- if (toolIndex == null)
183
- continue;
184
- const existing = messages[toolIndex];
185
- try {
186
- const payload = JSON.parse(existing.payload);
187
- existing.payload = buildToolPayload(payload.name ?? 'tool', payload.args, toolResult.result);
188
- }
189
- catch {
190
- // ignore malformed tool payload
191
- }
192
- }
193
- const userText = parseClaudeTextContent(message?.content);
194
- if (userText) {
195
- appendMessage(messages, 'claude', sessionId || 'unknown', `user:${String(row.uuid ?? i)}`, 'user', rowTs, userText);
196
- if (!title)
197
- title = titleFromText(userText);
198
- }
199
- continue;
200
- }
201
- if (row.type !== 'assistant')
202
- continue;
203
- const message = row.message;
204
- if (message?.model && message.model !== '<synthetic>') {
205
- modelId = message.model;
206
- }
207
- if (!Array.isArray(message?.content))
208
- continue;
209
- for (let blockIndex = 0; blockIndex < message.content.length; blockIndex++) {
210
- const block = message.content[blockIndex];
211
- const blockTs = resolveTimestamp(row.timestamp, rowTs, lastTs, blockIndex);
212
- lastTs = blockTs;
213
- updatedAtMs = Math.max(updatedAtMs, blockTs);
214
- if (block.type === 'text' && typeof block.text === 'string' && block.text.trim()) {
215
- appendMessage(messages, 'claude', sessionId || 'unknown', `assistant:${String(row.uuid ?? i)}:${blockIndex}`, 'agent', blockTs, normalizeText(block.text));
216
- continue;
217
- }
218
- if (block.type === 'tool_use') {
219
- const toolKey = block.id || `${String(row.uuid ?? i)}:${blockIndex}`;
220
- const messageIndex = appendMessage(messages, 'claude', sessionId || 'unknown', `tool:${toolKey}`, 'agent', blockTs, buildToolPayload(block.name ?? 'tool', block.input));
221
- if (block.id) {
222
- toolIndexByUseId.set(block.id, messageIndex);
223
- }
224
- }
225
- }
226
- }
227
- if (!sessionId)
228
- return null;
229
- const finalized = setSessionId(finalizeMessages(messages), sessionId);
230
- const derivedTitle = title || titleFromText(fallbackPrompt) || `Claude ${sessionId.slice(0, 8)}`;
231
- return {
232
- agentType: 'claude',
233
- agentSessionId: sessionId,
234
- modelId,
235
- title: derivedTitle,
236
- status: 'completed',
237
- workDir,
238
- createdAt: toIso(createdAtMs),
239
- updatedAt: toIso(updatedAtMs),
240
- lastActivityAt: toIso(updatedAtMs),
241
- messages: finalized,
242
- };
243
- }
244
- function parseCodexAssistantText(content) {
245
- if (!Array.isArray(content))
246
- return '';
247
- return normalizeText(content
248
- .filter((entry) => typeof entry === 'object' &&
249
- entry !== null &&
250
- entry.type === 'output_text' &&
251
- typeof entry.text === 'string')
252
- .map((entry) => entry.text?.trim() ?? '')
253
- .filter(Boolean)
254
- .join('\n\n'));
255
- }
256
- function parseCodexArguments(value) {
257
- if (typeof value !== 'string')
258
- return value;
259
- try {
260
- return JSON.parse(value);
261
- }
262
- catch {
263
- return value;
264
- }
265
- }
266
- function parseCodexFile(file) {
267
- const content = fs.readFileSync(file.path, 'utf8');
268
- const lines = content.split('\n').filter(Boolean);
269
- const messages = [];
270
- const toolIndexByCallId = new Map();
271
- let sessionId = '';
272
- let workDir = '';
273
- let modelId = null;
274
- let title = '';
275
- let createdAtMs = Math.round(file.mtimeMs);
276
- let updatedAtMs = Math.round(file.mtimeMs);
277
- let lastTs = createdAtMs - 1;
278
- for (let i = 0; i < lines.length; i++) {
279
- let row;
280
- try {
281
- row = JSON.parse(lines[i]);
282
- }
283
- catch {
284
- continue;
285
- }
286
- const rowTs = resolveTimestamp(row.timestamp, Math.round(file.mtimeMs), lastTs);
287
- lastTs = rowTs;
288
- createdAtMs = Math.min(createdAtMs, rowTs);
289
- updatedAtMs = Math.max(updatedAtMs, rowTs);
290
- const payload = typeof row.payload === 'object' && row.payload !== null
291
- ? row.payload
292
- : null;
293
- if (row.type === 'session_meta' && payload) {
294
- if (typeof payload.id === 'string' && payload.id)
295
- sessionId = payload.id;
296
- if (typeof payload.cwd === 'string' && payload.cwd)
297
- workDir = payload.cwd;
298
- if (typeof payload.timestamp === 'string') {
299
- createdAtMs = Math.min(createdAtMs, new Date(payload.timestamp).getTime());
300
- }
301
- continue;
302
- }
303
- if (row.type === 'turn_context' && payload && typeof payload.model === 'string') {
304
- modelId = payload.model;
305
- continue;
306
- }
307
- if (row.type === 'event_msg' && payload?.type === 'user_message' && typeof payload.message === 'string') {
308
- const text = normalizeText(payload.message);
309
- if (!text)
310
- continue;
311
- appendMessage(messages, 'codex', sessionId || 'unknown', `user:${i}`, 'user', rowTs, text);
312
- if (!title)
313
- title = titleFromText(text);
314
- continue;
315
- }
316
- if (row.type !== 'response_item' || !payload || typeof payload.type !== 'string')
317
- continue;
318
- if (payload.type === 'message' && payload.role === 'assistant') {
319
- const text = parseCodexAssistantText(payload.content);
320
- if (!text)
321
- continue;
322
- appendMessage(messages, 'codex', sessionId || 'unknown', `assistant:${i}:${String(payload.phase ?? 'default')}`, 'agent', rowTs, text);
323
- continue;
324
- }
325
- if (payload.type === 'function_call' || payload.type === 'custom_tool_call') {
326
- const callId = typeof payload.call_id === 'string' ? payload.call_id : `call:${i}`;
327
- const args = payload.type === 'function_call'
328
- ? parseCodexArguments(payload.arguments)
329
- : payload.input;
330
- const toolIndex = appendMessage(messages, 'codex', sessionId || 'unknown', `tool:${callId}`, 'agent', rowTs, buildToolPayload(typeof payload.name === 'string' ? payload.name : 'tool', args));
331
- toolIndexByCallId.set(callId, toolIndex);
332
- continue;
333
- }
334
- if (payload.type === 'function_call_output' || payload.type === 'custom_tool_call_output') {
335
- if (typeof payload.call_id !== 'string')
336
- continue;
337
- const toolIndex = toolIndexByCallId.get(payload.call_id);
338
- if (toolIndex == null)
339
- continue;
340
- const existing = messages[toolIndex];
341
- try {
342
- const currentPayload = JSON.parse(existing.payload);
343
- existing.payload = buildToolPayload(currentPayload.name ?? 'tool', currentPayload.args, payload.output);
344
- }
345
- catch {
346
- // ignore malformed tool payload
347
- }
348
- }
349
- }
350
- if (!sessionId)
351
- return null;
352
- const finalized = setSessionId(finalizeMessages(messages), sessionId);
353
- return {
354
- agentType: 'codex',
355
- agentSessionId: sessionId,
356
- modelId,
357
- title: title || `Codex ${sessionId.slice(0, 8)}`,
358
- status: 'completed',
359
- workDir,
360
- createdAt: toIso(createdAtMs),
361
- updatedAt: toIso(updatedAtMs),
362
- lastActivityAt: toIso(updatedAtMs),
363
- messages: finalized,
364
- };
365
- }
366
- export function parseNativeSessionFile(file) {
367
- if (file.agentType === 'claude')
368
- return parseClaudeFile(file);
369
- if (file.agentType === 'codex')
370
- return parseCodexFile(file);
371
- return null;
372
- }
373
- //# sourceMappingURL=parsers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/native-sync/parsers.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { NativeSyncParams, ReqFrame } from '@shennian/wire';
2
- import type { CliRelayClient } from '../relay/client.js';
3
- import type { NativeSyncSummary } from './types.js';
4
- export declare class NativeSessionSyncService {
5
- private client;
6
- private timer;
7
- private syncPromise;
8
- constructor(client: CliRelayClient);
9
- start(): void;
10
- stop(): void;
11
- handleConnected(): void;
12
- handleReq(req: ReqFrame): Promise<void>;
13
- syncNow(params?: NativeSyncParams): Promise<NativeSyncSummary>;
14
- private runSync;
15
- }
16
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/native-sync/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,gBAAgB,EAChB,QAAQ,EACT,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAQxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,WAAW,CAA0C;gBAEzC,MAAM,EAAE,cAAc;IAE1C,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAOZ,eAAe,IAAI,IAAI;IAIjB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAWhD,OAAO;CA+CtB"}
@@ -1,95 +0,0 @@
1
- // @arch docs/architecture/cli/native-session-sync.md
2
- // @test src/__tests__/native-session-sync.test.ts
3
- import { randomUUID } from 'node:crypto';
4
- import { discoverNativeSessionFiles } from './discover.js';
5
- import { parseNativeSessionFile } from './parsers.js';
6
- import { loadNativeSyncState, nativeFileStateKey, saveNativeSyncState, } from './state.js';
7
- const NATIVE_SYNC_INTERVAL_MS = 120_000;
8
- export class NativeSessionSyncService {
9
- client;
10
- timer = null;
11
- syncPromise = null;
12
- constructor(client) {
13
- this.client = client;
14
- }
15
- start() {
16
- if (this.timer)
17
- return;
18
- this.timer = setInterval(() => {
19
- void this.syncNow({ reason: 'interval' }).catch(() => { });
20
- }, NATIVE_SYNC_INTERVAL_MS);
21
- }
22
- stop() {
23
- if (this.timer) {
24
- clearInterval(this.timer);
25
- this.timer = null;
26
- }
27
- }
28
- handleConnected() {
29
- void this.syncNow({ reason: 'relay.connected' }).catch(() => { });
30
- }
31
- async handleReq(req) {
32
- const params = (req.params ?? {});
33
- const result = await this.syncNow(params);
34
- this.client.sendRes({
35
- type: 'res',
36
- id: req.id,
37
- ok: true,
38
- payload: result,
39
- });
40
- }
41
- syncNow(params) {
42
- if (this.syncPromise)
43
- return this.syncPromise;
44
- const promise = this.runSync(params).finally(() => {
45
- if (this.syncPromise === promise) {
46
- this.syncPromise = null;
47
- }
48
- });
49
- this.syncPromise = promise;
50
- return promise;
51
- }
52
- async runSync(params) {
53
- if (this.client.getState() !== 'connected') {
54
- return { scannedFiles: 0, syncedSessions: 0, syncedMessages: 0 };
55
- }
56
- const state = loadNativeSyncState();
57
- const files = discoverNativeSessionFiles({
58
- state,
59
- force: params?.force,
60
- });
61
- let syncedSessions = 0;
62
- let syncedMessages = 0;
63
- for (const file of files) {
64
- let session = null;
65
- try {
66
- session = parseNativeSessionFile(file);
67
- }
68
- catch (error) {
69
- console.warn('[native-sync] parse failed:', file.path, error);
70
- continue;
71
- }
72
- if (!session)
73
- continue;
74
- await this.client.sendBufferedEvent({
75
- type: 'event',
76
- event: 'native.session.import',
77
- id: `native-sync-${randomUUID()}`,
78
- payload: session,
79
- }, 180_000);
80
- state.files[nativeFileStateKey(file)] = {
81
- size: file.size,
82
- mtimeMs: file.mtimeMs,
83
- };
84
- saveNativeSyncState(state);
85
- syncedSessions += 1;
86
- syncedMessages += session.messages.length;
87
- }
88
- return {
89
- scannedFiles: files.length,
90
- syncedSessions,
91
- syncedMessages,
92
- };
93
- }
94
- }
95
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/native-sync/service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { NativeSessionFile, NativeSyncState } from './types.js';
2
- export declare const NATIVE_SYNC_STATE_PATH: string;
3
- export declare function loadNativeSyncState(statePath?: string): NativeSyncState;
4
- export declare function saveNativeSyncState(state: NativeSyncState, statePath?: string): void;
5
- export declare function nativeFileStateKey(file: Pick<NativeSessionFile, 'agentType' | 'path'>): string;
6
- //# sourceMappingURL=state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/native-sync/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;AAGnB,eAAO,MAAM,sBAAsB,QAAkD,CAAA;AAOrF,wBAAgB,mBAAmB,CACjC,SAAS,SAAyB,GACjC,eAAe,CAcjB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,SAAS,SAAyB,GACjC,IAAI,CAGN;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG,MAAM,CAE9F"}
@@ -1,34 +0,0 @@
1
- // @arch docs/architecture/cli/native-session-sync.md
2
- // @test src/__tests__/native-session-sync.test.ts
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { resolveShennianPath } from '../config/index.js';
6
- export const NATIVE_SYNC_STATE_PATH = resolveShennianPath('native-session-sync.json');
7
- const EMPTY_STATE = {
8
- version: 1,
9
- files: {},
10
- };
11
- export function loadNativeSyncState(statePath = NATIVE_SYNC_STATE_PATH) {
12
- try {
13
- const raw = fs.readFileSync(statePath, 'utf8');
14
- const parsed = JSON.parse(raw);
15
- if (parsed?.version === 1 && parsed.files && typeof parsed.files === 'object') {
16
- return {
17
- version: 1,
18
- files: parsed.files,
19
- };
20
- }
21
- }
22
- catch {
23
- // fall back to empty state
24
- }
25
- return { ...EMPTY_STATE, files: {} };
26
- }
27
- export function saveNativeSyncState(state, statePath = NATIVE_SYNC_STATE_PATH) {
28
- fs.mkdirSync(path.dirname(statePath), { recursive: true });
29
- fs.writeFileSync(statePath, JSON.stringify(state, null, 2));
30
- }
31
- export function nativeFileStateKey(file) {
32
- return `${file.agentType}:${file.path}`;
33
- }
34
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/native-sync/state.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,kDAAkD;AAElD,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAK5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,CAAA;AAErF,MAAM,WAAW,GAAoB;IACnC,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,EAAE;CACV,CAAA;AAED,MAAM,UAAU,mBAAmB,CACjC,SAAS,GAAG,sBAAsB;IAElC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoC,CAAA;QACjE,IAAI,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAA;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IACD,OAAO,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAsB,EACtB,SAAS,GAAG,sBAAsB;IAElC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmD;IACpF,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;AACzC,CAAC"}
@@ -1,23 +0,0 @@
1
- import type { NativeSessionImportPayload, NativeSyncResult } from '@shennian/wire';
2
- export type SupportedNativeAgentType = 'claude' | 'codex';
3
- export type NativeSessionFile = {
4
- agentType: SupportedNativeAgentType;
5
- path: string;
6
- size: number;
7
- mtimeMs: number;
8
- };
9
- export type NativeFileFingerprint = Pick<NativeSessionFile, 'size' | 'mtimeMs'>;
10
- export type NativeSyncState = {
11
- version: 1;
12
- files: Record<string, NativeFileFingerprint>;
13
- };
14
- export type NativeSyncSummary = NativeSyncResult;
15
- export type MutableImportedMessage = {
16
- key: string;
17
- id: string;
18
- role: 'user' | 'agent';
19
- ts: number;
20
- payload: string;
21
- };
22
- export type ParsedNativeSession = NativeSessionImportPayload;
23
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-sync/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,wBAAwB,CAAA;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAE/E,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAA;AAEhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,CAAA"}
@@ -1,4 +0,0 @@
1
- // @arch docs/architecture/cli/native-session-sync.md
2
- // @test src/__tests__/native-session-sync.test.ts
3
- export {};
4
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/native-sync/types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,kDAAkD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"region.d.ts","sourceRoot":"","sources":["../../src/region.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAA;AAEpC,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGlE,CAAA;AA6CD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAyC7D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/region.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/relay/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3E,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAA;AAWvE,qBAAa,cAAc;IAkBb,OAAO,CAAC,OAAO;IAjB3B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAQ;IACxB,mEAAmE;IACnE,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,WAAW,CAIf;gBAEgB,OAAO,EAAE,eAAe;IAE5C,OAAO,IAAI,IAAI;IAkEf,UAAU,IAAI,IAAI;IAKlB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAM5B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMlC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,SAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIvC,QAAQ,IAAI,aAAa;IAIzB,OAAO,CAAC,WAAW;IAwBnB,2EAA2E;IAC3E,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,OAAO;CA8BhB"}