clawconnect-agent 0.1.7 → 0.1.9

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 (199) hide show
  1. package/README.md +70 -30
  2. package/README.zh-CN.md +70 -30
  3. package/dist/commands/pair.d.ts +4 -0
  4. package/dist/commands/pair.js +63 -6
  5. package/dist/commands/pair.js.map +1 -1
  6. package/dist/commands/run.js +1 -1
  7. package/dist/commands/run.js.map +1 -1
  8. package/dist/commands/send-file.d.ts +2 -25
  9. package/dist/commands/send-file.js +22 -455
  10. package/dist/commands/send-file.js.map +1 -1
  11. package/dist/core/command-types.d.ts +18 -0
  12. package/dist/core/command-types.js +2 -0
  13. package/dist/core/command-types.js.map +1 -0
  14. package/dist/core/relay/attachment-staging.js.map +1 -0
  15. package/dist/{relay → core/relay}/chat-payload.js +17 -3
  16. package/dist/core/relay/chat-payload.js.map +1 -0
  17. package/dist/{commands/send-file-utils.js → core/relay/file-upload-utils.js} +1 -1
  18. package/dist/core/relay/file-upload-utils.js.map +1 -0
  19. package/dist/core/relay/file-upload.d.ts +40 -0
  20. package/dist/core/relay/file-upload.js +401 -0
  21. package/dist/core/relay/file-upload.js.map +1 -0
  22. package/dist/core/relay/mobile-chat-run-bridge.d.ts +201 -0
  23. package/dist/core/relay/mobile-chat-run-bridge.js +192 -0
  24. package/dist/core/relay/mobile-chat-run-bridge.js.map +1 -0
  25. package/dist/core/relay/office-payload.js.map +1 -0
  26. package/dist/core/relay/reconnect.js.map +1 -0
  27. package/dist/core/relay/relay-server-connection.d.ts +6 -0
  28. package/dist/core/relay/relay-server-connection.js +32 -0
  29. package/dist/core/relay/relay-server-connection.js.map +1 -0
  30. package/dist/{relay/slash-command-catalog.d.ts → core/relay/slash-command-types.d.ts} +0 -1
  31. package/dist/core/relay/slash-command-types.js +2 -0
  32. package/dist/core/relay/slash-command-types.js.map +1 -0
  33. package/dist/core/relay/timeline-event-builder.d.ts +86 -0
  34. package/dist/core/relay/timeline-event-builder.js +199 -0
  35. package/dist/core/relay/timeline-event-builder.js.map +1 -0
  36. package/dist/core/relay/timeline-event-log.d.ts +81 -0
  37. package/dist/core/relay/timeline-event-log.js +254 -0
  38. package/dist/core/relay/timeline-event-log.js.map +1 -0
  39. package/dist/{relay → core/relay}/voice-input.js +5 -3
  40. package/dist/core/relay/voice-input.js.map +1 -0
  41. package/dist/hermes/hermes-relay-manager.d.ts +14 -4
  42. package/dist/hermes/hermes-relay-manager.js +159 -41
  43. package/dist/hermes/hermes-relay-manager.js.map +1 -1
  44. package/dist/hermes/hermes-runtime.d.ts +9 -8
  45. package/dist/hermes/hermes-runtime.js +8 -7
  46. package/dist/hermes/hermes-runtime.js.map +1 -1
  47. package/dist/hermes/hermes-session-store.js +52 -30
  48. package/dist/hermes/hermes-session-store.js.map +1 -1
  49. package/dist/hermes/hermes-voice-input.js +1 -1
  50. package/dist/hermes/hermes-voice-input.js.map +1 -1
  51. package/dist/hermes/runtime/hermes-runtime-artifacts.js.map +1 -0
  52. package/dist/hermes/{models → runtime}/hermes-runtime-backups.d.ts +1 -1
  53. package/dist/hermes/runtime/hermes-runtime-backups.js.map +1 -0
  54. package/dist/hermes/{models → runtime}/hermes-runtime-chat.d.ts +2 -1
  55. package/dist/hermes/{models → runtime}/hermes-runtime-chat.js +127 -27
  56. package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -0
  57. package/dist/hermes/{models → runtime}/hermes-runtime-command-router.d.ts +1 -1
  58. package/dist/hermes/{models → runtime}/hermes-runtime-command-router.js +3 -0
  59. package/dist/hermes/runtime/hermes-runtime-command-router.js.map +1 -0
  60. package/dist/hermes/{models → runtime}/hermes-runtime-command-utils.d.ts +1 -1
  61. package/dist/hermes/runtime/hermes-runtime-command-utils.js.map +1 -0
  62. package/dist/hermes/{models → runtime}/hermes-runtime-cron.d.ts +1 -1
  63. package/dist/hermes/runtime/hermes-runtime-cron.js.map +1 -0
  64. package/dist/hermes/runtime/hermes-runtime-history.d.ts +2 -0
  65. package/dist/hermes/runtime/hermes-runtime-history.js +249 -0
  66. package/dist/hermes/runtime/hermes-runtime-history.js.map +1 -0
  67. package/dist/hermes/{models → runtime}/hermes-runtime-lifecycle.d.ts +1 -1
  68. package/dist/hermes/runtime/hermes-runtime-lifecycle.js.map +1 -0
  69. package/dist/hermes/{models → runtime}/hermes-runtime-models.d.ts +1 -1
  70. package/dist/hermes/runtime/hermes-runtime-models.js.map +1 -0
  71. package/dist/hermes/{models → runtime}/hermes-runtime-process.d.ts +2 -0
  72. package/dist/hermes/{models → runtime}/hermes-runtime-process.js +19 -2
  73. package/dist/hermes/runtime/hermes-runtime-process.js.map +1 -0
  74. package/dist/hermes/{models → runtime}/hermes-runtime-sessions.d.ts +1 -1
  75. package/dist/hermes/{models → runtime}/hermes-runtime-sessions.js +26 -9
  76. package/dist/hermes/runtime/hermes-runtime-sessions.js.map +1 -0
  77. package/dist/hermes/{models → runtime}/hermes-runtime-skills.d.ts +1 -1
  78. package/dist/hermes/runtime/hermes-runtime-skills.js.map +1 -0
  79. package/dist/hermes/runtime/hermes-runtime-types.js.map +1 -0
  80. package/dist/hermes/runtime/hermes-runtime-usage.js.map +1 -0
  81. package/dist/hermes/runtime/hermes-runtime-values.js.map +1 -0
  82. package/dist/index.js +28 -3
  83. package/dist/index.js.map +1 -1
  84. package/dist/openclaw/backups/backup-manager.js.map +1 -0
  85. package/dist/{commands → openclaw/config}/provider-config.js +1 -1
  86. package/dist/openclaw/config/provider-config.js.map +1 -0
  87. package/dist/openclaw/config/provider-registry.js.map +1 -0
  88. package/dist/openclaw/gateway-client.js.map +1 -0
  89. package/dist/{commands → openclaw/handlers}/local-handlers.d.ts +1 -1
  90. package/dist/{commands → openclaw/handlers}/local-handlers.js +2 -2
  91. package/dist/openclaw/handlers/local-handlers.js.map +1 -0
  92. package/dist/{commands → openclaw/handlers}/provider-handlers.d.ts +1 -1
  93. package/dist/{commands → openclaw/handlers}/provider-handlers.js +3 -3
  94. package/dist/openclaw/handlers/provider-handlers.js.map +1 -0
  95. package/dist/openclaw/relay/chat-history.d.ts +51 -0
  96. package/dist/openclaw/relay/chat-history.js +347 -0
  97. package/dist/openclaw/relay/chat-history.js.map +1 -0
  98. package/dist/{relay → openclaw/relay}/chat-send-attachments.js +12 -1
  99. package/dist/openclaw/relay/chat-send-attachments.js.map +1 -0
  100. package/dist/{relay → openclaw/relay}/openclaw-voice-input.js +1 -1
  101. package/dist/openclaw/relay/openclaw-voice-input.js.map +1 -0
  102. package/dist/openclaw/relay/outgoing-media-relay.d.ts +11 -0
  103. package/dist/openclaw/relay/outgoing-media-relay.js +120 -0
  104. package/dist/openclaw/relay/outgoing-media-relay.js.map +1 -0
  105. package/dist/{relay → openclaw/relay}/session-context.d.ts +6 -0
  106. package/dist/{relay → openclaw/relay}/session-context.js +42 -2
  107. package/dist/openclaw/relay/session-context.js.map +1 -0
  108. package/dist/openclaw/relay/slash-command-catalog.d.ts +2 -0
  109. package/dist/openclaw/relay/slash-command-catalog.generated.js.map +1 -0
  110. package/dist/openclaw/relay/slash-command-catalog.js.map +1 -0
  111. package/dist/openclaw/relay/transcript-dedupe.d.ts +21 -0
  112. package/dist/openclaw/relay/transcript-dedupe.js +211 -0
  113. package/dist/openclaw/relay/transcript-dedupe.js.map +1 -0
  114. package/dist/{relay → openclaw}/relay-manager.d.ts +1 -1
  115. package/dist/{relay → openclaw}/relay-manager.js +373 -99
  116. package/dist/openclaw/relay-manager.js.map +1 -0
  117. package/dist/{commands → openclaw/runtime}/local-runtime.d.ts +1 -17
  118. package/dist/openclaw/runtime/local-runtime.js.map +1 -0
  119. package/dist/openclaw/session-store.d.ts +1 -0
  120. package/dist/openclaw/session-store.js +70 -0
  121. package/dist/openclaw/session-store.js.map +1 -0
  122. package/dist/runtime-adapters.js +1 -1
  123. package/dist/runtime-adapters.js.map +1 -1
  124. package/package.json +2 -2
  125. package/dist/commands/backup-manager.js.map +0 -1
  126. package/dist/commands/local-handlers.js.map +0 -1
  127. package/dist/commands/local-runtime.js.map +0 -1
  128. package/dist/commands/provider-config.js.map +0 -1
  129. package/dist/commands/provider-handlers.js.map +0 -1
  130. package/dist/commands/provider-registry.js.map +0 -1
  131. package/dist/commands/send-file-utils.js.map +0 -1
  132. package/dist/hermes/models/hermes-runtime-artifacts.js.map +0 -1
  133. package/dist/hermes/models/hermes-runtime-backups.js.map +0 -1
  134. package/dist/hermes/models/hermes-runtime-chat.js.map +0 -1
  135. package/dist/hermes/models/hermes-runtime-command-router.js.map +0 -1
  136. package/dist/hermes/models/hermes-runtime-command-utils.js.map +0 -1
  137. package/dist/hermes/models/hermes-runtime-cron.js.map +0 -1
  138. package/dist/hermes/models/hermes-runtime-lifecycle.js.map +0 -1
  139. package/dist/hermes/models/hermes-runtime-models.js.map +0 -1
  140. package/dist/hermes/models/hermes-runtime-process.js.map +0 -1
  141. package/dist/hermes/models/hermes-runtime-sessions.js.map +0 -1
  142. package/dist/hermes/models/hermes-runtime-skills.js.map +0 -1
  143. package/dist/hermes/models/hermes-runtime-types.js.map +0 -1
  144. package/dist/hermes/models/hermes-runtime-usage.js.map +0 -1
  145. package/dist/hermes/models/hermes-runtime-values.js.map +0 -1
  146. package/dist/relay/attachment-staging.js.map +0 -1
  147. package/dist/relay/chat-history.d.ts +0 -29
  148. package/dist/relay/chat-history.js +0 -87
  149. package/dist/relay/chat-history.js.map +0 -1
  150. package/dist/relay/chat-payload.js.map +0 -1
  151. package/dist/relay/chat-send-attachments.js.map +0 -1
  152. package/dist/relay/gateway-client.js.map +0 -1
  153. package/dist/relay/mobile-chat-run-bridge.d.ts +0 -93
  154. package/dist/relay/mobile-chat-run-bridge.js +0 -68
  155. package/dist/relay/mobile-chat-run-bridge.js.map +0 -1
  156. package/dist/relay/office-payload.js.map +0 -1
  157. package/dist/relay/openclaw-voice-input.js.map +0 -1
  158. package/dist/relay/reconnect.js.map +0 -1
  159. package/dist/relay/relay-manager.js.map +0 -1
  160. package/dist/relay/session-context.js.map +0 -1
  161. package/dist/relay/slash-command-catalog.generated.js.map +0 -1
  162. package/dist/relay/slash-command-catalog.js.map +0 -1
  163. package/dist/relay/voice-input.js.map +0 -1
  164. /package/dist/{relay → core/relay}/attachment-staging.d.ts +0 -0
  165. /package/dist/{relay → core/relay}/attachment-staging.js +0 -0
  166. /package/dist/{relay → core/relay}/chat-payload.d.ts +0 -0
  167. /package/dist/{commands/send-file-utils.d.ts → core/relay/file-upload-utils.d.ts} +0 -0
  168. /package/dist/{relay → core/relay}/office-payload.d.ts +0 -0
  169. /package/dist/{relay → core/relay}/office-payload.js +0 -0
  170. /package/dist/{relay → core/relay}/reconnect.d.ts +0 -0
  171. /package/dist/{relay → core/relay}/reconnect.js +0 -0
  172. /package/dist/{relay → core/relay}/voice-input.d.ts +0 -0
  173. /package/dist/hermes/{models → runtime}/hermes-runtime-artifacts.d.ts +0 -0
  174. /package/dist/hermes/{models → runtime}/hermes-runtime-artifacts.js +0 -0
  175. /package/dist/hermes/{models → runtime}/hermes-runtime-backups.js +0 -0
  176. /package/dist/hermes/{models → runtime}/hermes-runtime-command-utils.js +0 -0
  177. /package/dist/hermes/{models → runtime}/hermes-runtime-cron.js +0 -0
  178. /package/dist/hermes/{models → runtime}/hermes-runtime-lifecycle.js +0 -0
  179. /package/dist/hermes/{models → runtime}/hermes-runtime-models.js +0 -0
  180. /package/dist/hermes/{models → runtime}/hermes-runtime-skills.js +0 -0
  181. /package/dist/hermes/{models → runtime}/hermes-runtime-types.d.ts +0 -0
  182. /package/dist/hermes/{models → runtime}/hermes-runtime-types.js +0 -0
  183. /package/dist/hermes/{models → runtime}/hermes-runtime-usage.d.ts +0 -0
  184. /package/dist/hermes/{models → runtime}/hermes-runtime-usage.js +0 -0
  185. /package/dist/hermes/{models → runtime}/hermes-runtime-values.d.ts +0 -0
  186. /package/dist/hermes/{models → runtime}/hermes-runtime-values.js +0 -0
  187. /package/dist/{commands → openclaw/backups}/backup-manager.d.ts +0 -0
  188. /package/dist/{commands → openclaw/backups}/backup-manager.js +0 -0
  189. /package/dist/{commands → openclaw/config}/provider-config.d.ts +0 -0
  190. /package/dist/{commands → openclaw/config}/provider-registry.d.ts +0 -0
  191. /package/dist/{commands → openclaw/config}/provider-registry.js +0 -0
  192. /package/dist/{relay → openclaw}/gateway-client.d.ts +0 -0
  193. /package/dist/{relay → openclaw}/gateway-client.js +0 -0
  194. /package/dist/{relay → openclaw/relay}/chat-send-attachments.d.ts +0 -0
  195. /package/dist/{relay → openclaw/relay}/openclaw-voice-input.d.ts +0 -0
  196. /package/dist/{relay → openclaw/relay}/slash-command-catalog.generated.d.ts +0 -0
  197. /package/dist/{relay → openclaw/relay}/slash-command-catalog.generated.js +0 -0
  198. /package/dist/{relay → openclaw/relay}/slash-command-catalog.js +0 -0
  199. /package/dist/{commands → openclaw/runtime}/local-runtime.js +0 -0
@@ -0,0 +1,192 @@
1
+ import { buildMessageCompletedEvent, buildMessagePartDeltaEvent, buildRunAbortedEvent, buildRunCompletedEvent, buildRunErrorEvent, } from "./timeline-event-builder.js";
2
+ const PROTOCOL_TYPING_MARKER = "[[clawlink:typing]]";
3
+ const COMMAND_DENIED_TIMEOUT_MESSAGE = "Timeout – denying command";
4
+ const protocolTypingMarkerRegex = /^(?:\[\[clawlink:typing]]\s*)+$/;
5
+ const hermesCommandDeniedTimeoutRegex = /\bTimeout\b\s*[–—-]\s*denying command\b/i;
6
+ function nonEmpty(value) {
7
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
8
+ }
9
+ function timelineTextContent(event) {
10
+ const firstText = event.content.find((block) => block.type === "text" && typeof block.text === "string");
11
+ return typeof firstText?.text === "string" ? firstText.text : "";
12
+ }
13
+ export function resolveMobileChatRun(params) {
14
+ return {
15
+ runId: nonEmpty(params.preferredRunId) ?? nonEmpty(params.requestId) ?? `${params.fallbackPrefix}-${Date.now()}`,
16
+ sessionKey: nonEmpty(params.sessionKey) ?? "main",
17
+ };
18
+ }
19
+ export function isCanonicalMobileChatControlError(text) {
20
+ return text
21
+ .split(/\r?\n|\r/)
22
+ .some((line) => hermesCommandDeniedTimeoutRegex.test(line.trim()));
23
+ }
24
+ export function canonicalizeMobileAssistantText(text, options = {}) {
25
+ if (isCanonicalMobileChatControlError(text)) {
26
+ return {
27
+ text: "",
28
+ shouldPublish: false,
29
+ controlError: COMMAND_DENIED_TIMEOUT_MESSAGE,
30
+ };
31
+ }
32
+ const lines = text.split(/\r?\n|\r/);
33
+ const stripped = lines
34
+ .filter((line) => {
35
+ const trimmed = line.trim();
36
+ return !/^\s*↻?\s*Resumed session\b/i.test(trimmed)
37
+ && !/^session_id:\s*\S+/i.test(trimmed)
38
+ && !/^Error:\s*'NoneType'\s+object\s+is\s+not\s+iterable\s*$/i.test(trimmed);
39
+ })
40
+ .join("\n")
41
+ .replace(/\n{3,}/g, "\n\n");
42
+ const trimmed = stripped.trim();
43
+ if (!trimmed || trimmed === PROTOCOL_TYPING_MARKER || protocolTypingMarkerRegex.test(trimmed)) {
44
+ return { text: "", shouldPublish: false };
45
+ }
46
+ return { text: options.preserveWhitespace ? stripped : trimmed, shouldPublish: true };
47
+ }
48
+ export function buildCanonicalMobileAssistantDeltaPayload(params) {
49
+ const timelineEvent = buildMessagePartDeltaEvent({
50
+ gatewayId: "clawconnect",
51
+ sessionKey: params.run.sessionKey,
52
+ turnId: params.run.runId,
53
+ runId: params.run.runId,
54
+ role: "assistant",
55
+ seq: params.seq,
56
+ turnSeq: params.seq,
57
+ now: () => new Date(params.timestampMs),
58
+ content: [{ type: "text", text: params.delta }],
59
+ });
60
+ const text = timelineTextContent(timelineEvent);
61
+ return {
62
+ runId: params.run.runId,
63
+ sessionKey: params.run.sessionKey,
64
+ state: "delta",
65
+ role: "assistant",
66
+ seq: params.seq,
67
+ ts: params.timestampMs,
68
+ delta: text,
69
+ message: {
70
+ role: "assistant",
71
+ timestamp: params.timestampMs,
72
+ content: [{ type: "text", text }],
73
+ },
74
+ };
75
+ }
76
+ export function buildMobileAssistantDeltaPayload(params) {
77
+ return buildCanonicalMobileAssistantDeltaPayload(params);
78
+ }
79
+ export function buildCanonicalMobileAssistantStreamingPayload(params) {
80
+ const timelineEvent = buildMessagePartDeltaEvent({
81
+ gatewayId: "clawconnect",
82
+ sessionKey: params.run.sessionKey,
83
+ turnId: params.run.runId,
84
+ runId: params.run.runId,
85
+ role: "assistant",
86
+ seq: params.seq,
87
+ turnSeq: params.seq,
88
+ content: [{ type: "text", text: params.text }],
89
+ });
90
+ const text = timelineTextContent(timelineEvent);
91
+ return {
92
+ runId: params.run.runId,
93
+ sessionKey: params.run.sessionKey,
94
+ state: "streaming",
95
+ role: "assistant",
96
+ ...(params.seq !== undefined ? { seq: params.seq } : {}),
97
+ message: {
98
+ role: "assistant",
99
+ content: [{ type: "text", text }],
100
+ },
101
+ };
102
+ }
103
+ export function buildMobileAssistantStreamingPayload(params) {
104
+ return buildCanonicalMobileAssistantStreamingPayload(params);
105
+ }
106
+ export function buildCanonicalMobileAssistantFinalPayload(params) {
107
+ const timelineEvent = buildMessageCompletedEvent({
108
+ gatewayId: "clawconnect",
109
+ sessionKey: params.run.sessionKey,
110
+ turnId: params.run.runId,
111
+ runId: params.run.runId,
112
+ role: "assistant",
113
+ content: [{ type: "text", text: params.text }],
114
+ });
115
+ const text = timelineTextContent(timelineEvent);
116
+ return {
117
+ runId: params.run.runId,
118
+ sessionKey: params.run.sessionKey,
119
+ state: "final",
120
+ role: "assistant",
121
+ ...(params.currentModel !== undefined ? { currentModel: params.currentModel } : {}),
122
+ ...(params.provider !== undefined ? { provider: params.provider } : {}),
123
+ ...(params.contextUsage !== undefined ? { contextUsage: params.contextUsage } : {}),
124
+ ...(params.contextLimit !== undefined ? { contextLimit: params.contextLimit } : {}),
125
+ message: {
126
+ role: "assistant",
127
+ content: [{ type: "text", text }],
128
+ },
129
+ ...(params.includeTimelineEvents
130
+ ? {
131
+ timelineEvents: [
132
+ timelineEvent,
133
+ buildRunCompletedEvent({
134
+ gatewayId: "clawconnect",
135
+ sessionKey: params.run.sessionKey,
136
+ turnId: params.run.runId,
137
+ runId: params.run.runId,
138
+ role: "assistant",
139
+ }),
140
+ ],
141
+ }
142
+ : {}),
143
+ };
144
+ }
145
+ export function buildMobileAssistantFinalPayload(params) {
146
+ return buildCanonicalMobileAssistantFinalPayload(params);
147
+ }
148
+ export function buildCanonicalMobileAssistantErrorPayload(params) {
149
+ const timelineEvent = buildRunErrorEvent({
150
+ gatewayId: "clawconnect",
151
+ sessionKey: params.run.sessionKey,
152
+ turnId: params.run.runId,
153
+ runId: params.run.runId,
154
+ role: "assistant",
155
+ userMessage: params.errorMessage,
156
+ });
157
+ const errorMessage = timelineEvent.error?.userMessage ?? params.errorMessage;
158
+ return {
159
+ runId: params.run.runId,
160
+ sessionKey: params.run.sessionKey,
161
+ state: "error",
162
+ role: "assistant",
163
+ errorMessage,
164
+ message: {
165
+ role: "assistant",
166
+ content: [{ type: "text", text: errorMessage }],
167
+ },
168
+ ...(params.includeTimelineEvents ? { timelineEvents: [timelineEvent] } : {}),
169
+ };
170
+ }
171
+ export function buildMobileAssistantErrorPayload(params) {
172
+ return buildCanonicalMobileAssistantErrorPayload(params);
173
+ }
174
+ export function buildMobileAssistantAbortedPayload(params) {
175
+ const timelineEvent = buildRunAbortedEvent({
176
+ gatewayId: "clawconnect",
177
+ sessionKey: params.run.sessionKey,
178
+ turnId: params.run.runId,
179
+ runId: params.run.runId,
180
+ role: "assistant",
181
+ userMessage: params.userMessage,
182
+ });
183
+ return {
184
+ runId: params.run.runId,
185
+ sessionKey: params.run.sessionKey,
186
+ state: "aborted",
187
+ role: "assistant",
188
+ ...(params.userMessage ? { errorMessage: params.userMessage } : {}),
189
+ ...(params.includeTimelineEvents ? { timelineEvents: [timelineEvent] } : {}),
190
+ };
191
+ }
192
+ //# sourceMappingURL=mobile-chat-run-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-chat-run-bridge.js","sourceRoot":"","sources":["../../../src/core/relay/mobile-chat-run-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"office-payload.js","sourceRoot":"","sources":["../../../src/core/relay/office-payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../../src/core/relay/reconnect.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA+B,EAC/B,OAAyB,EAAE;IAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAG,YAAY,CAAC;IAEzB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW;YAAE,MAAM;QAExB,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { WebSocket, type RawData } from "ws";
2
+ export declare function buildRelayUrl(serverUrl: string, gatewayId: string, relaySecret: string): string;
3
+ export declare function sendRelayJson(ws: WebSocket, message: unknown): void;
4
+ export declare function parseRelayFrame<T>(raw: RawData): T | undefined;
5
+ export declare function bindRelayAbortSignal(ws: WebSocket, signal?: AbortSignal): void;
6
+ export declare function shouldRetryRelayClose(code: number, signal?: AbortSignal): boolean;
@@ -0,0 +1,32 @@
1
+ import { WebSocket } from "ws";
2
+ export function buildRelayUrl(serverUrl, gatewayId, relaySecret) {
3
+ const base = serverUrl.replace(/\/+$/, "").replace(/^http/, "ws");
4
+ return `${base}/relay/${gatewayId}?secret=${encodeURIComponent(relaySecret)}`;
5
+ }
6
+ export function sendRelayJson(ws, message) {
7
+ if (ws.readyState === WebSocket.OPEN) {
8
+ ws.send(JSON.stringify(message));
9
+ }
10
+ }
11
+ export function parseRelayFrame(raw) {
12
+ try {
13
+ return JSON.parse(raw.toString());
14
+ }
15
+ catch {
16
+ return undefined;
17
+ }
18
+ }
19
+ export function bindRelayAbortSignal(ws, signal) {
20
+ if (!signal) {
21
+ return;
22
+ }
23
+ if (signal.aborted) {
24
+ ws.close(1001, "shutdown");
25
+ return;
26
+ }
27
+ signal.addEventListener("abort", () => ws.close(1001, "shutdown"), { once: true });
28
+ }
29
+ export function shouldRetryRelayClose(code, signal) {
30
+ return !(signal?.aborted || code === 4000);
31
+ }
32
+ //# sourceMappingURL=relay-server-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-server-connection.js","sourceRoot":"","sources":["../../../src/core/relay/relay-server-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,IAAI,CAAC;AAE7C,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,WAAmB;IACrF,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,OAAO,GAAG,IAAI,UAAU,SAAS,WAAW,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAa,EAAE,OAAgB;IAC3D,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,GAAY;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAM,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAa,EAAE,MAAoB;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAAoB;IACtE,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC"}
@@ -5,4 +5,3 @@ export interface RelaySlashCommandDescriptor {
5
5
  title: string;
6
6
  detail: string;
7
7
  }
8
- export declare const OPENCLAW_SLASH_COMMAND_CATALOG: readonly RelaySlashCommandDescriptor[];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=slash-command-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-command-types.js","sourceRoot":"","sources":["../../../src/core/relay/slash-command-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ import { type AttachmentState, type CanonicalTimelineEvent, type CanonicalTimelineHistorySnapshotPage, type TimelineContentBlock, type TimelineHistoryMessage, type TimelineRole, type TimelineSource, type ToolState } from "./timeline-event-log.js";
2
+ type TimelineBuilderBase = {
3
+ gatewayId: string;
4
+ sessionKey: string;
5
+ now?: () => Date;
6
+ idFactory?: (prefix: string) => string;
7
+ };
8
+ type TimelineTurnBase = TimelineBuilderBase & {
9
+ turnId: string;
10
+ runId: string;
11
+ seq?: number;
12
+ turnSeq?: number;
13
+ role?: TimelineRole;
14
+ source?: TimelineSource;
15
+ };
16
+ type TimelineAttachmentInput = Record<string, unknown> & {
17
+ attachmentId: string;
18
+ state: AttachmentState;
19
+ };
20
+ export declare function createTimelineSequenceSource(params?: {
21
+ nowMs?: () => number;
22
+ }): {
23
+ next(gatewayId: string, sessionKey: string): number;
24
+ };
25
+ export declare function derivePartId(params: {
26
+ type?: string;
27
+ index?: number;
28
+ }): string;
29
+ export declare function deriveAttachmentId(params: {
30
+ sessionKey: string;
31
+ name?: string;
32
+ mimeType?: string;
33
+ size?: number;
34
+ url?: string;
35
+ contentHash?: string;
36
+ }): string;
37
+ export declare function buildTurnUserCreatedEvent(params: TimelineBuilderBase & {
38
+ idempotencyKey?: string;
39
+ requestId?: string;
40
+ turnId?: string;
41
+ runId?: string;
42
+ text: string;
43
+ seq?: number;
44
+ }): CanonicalTimelineEvent;
45
+ export declare function buildMessagePartDeltaEvent(params: TimelineTurnBase & {
46
+ role: TimelineRole;
47
+ partKind?: string;
48
+ messageId?: string;
49
+ partId?: string;
50
+ content: TimelineContentBlock[];
51
+ }): CanonicalTimelineEvent;
52
+ export declare function buildMessageCompletedEvent(params: TimelineTurnBase & {
53
+ role: TimelineRole;
54
+ messageId?: string;
55
+ partId?: string;
56
+ content: TimelineContentBlock[];
57
+ }): CanonicalTimelineEvent;
58
+ export declare function buildRunCompletedEvent(params: TimelineTurnBase): CanonicalTimelineEvent;
59
+ export declare function buildRunErrorEvent(params: TimelineTurnBase & {
60
+ userMessage: string;
61
+ code?: string;
62
+ }): CanonicalTimelineEvent;
63
+ export declare function buildRunAbortedEvent(params: TimelineTurnBase & {
64
+ userMessage?: string;
65
+ }): CanonicalTimelineEvent;
66
+ export declare function buildAttachmentStateChangedEvent(params: TimelineTurnBase & {
67
+ messageId: string;
68
+ partId: string;
69
+ attachment: TimelineAttachmentInput;
70
+ }): CanonicalTimelineEvent;
71
+ export declare function buildToolInvocationUpdatedEvent(params: TimelineTurnBase & {
72
+ toolInvocationId: string;
73
+ toolState: ToolState;
74
+ content: TimelineContentBlock[];
75
+ }): CanonicalTimelineEvent;
76
+ export declare function buildHistorySnapshotPage(params: {
77
+ gatewayId: string;
78
+ sessionKey: string;
79
+ cursor?: string | null;
80
+ hasMore?: boolean;
81
+ nextCursor?: string | null;
82
+ newestCursor?: string | null;
83
+ messages?: TimelineHistoryMessage[];
84
+ attachments?: TimelineAttachmentInput[];
85
+ }): CanonicalTimelineHistorySnapshotPage;
86
+ export {};
@@ -0,0 +1,199 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { canonicalizeMobileAssistantText } from "./mobile-chat-run-bridge.js";
3
+ import { parseCanonicalTimelineEvent, parseCanonicalTimelineHistorySnapshotPage, } from "./timeline-event-log.js";
4
+ const DEFAULT_TEXT_PART_ID = "part-text-1";
5
+ function nowDate(params) {
6
+ return params.now?.() ?? new Date();
7
+ }
8
+ function eventId(params, prefix = "evt") {
9
+ return params.idFactory?.(prefix) ?? `${prefix}_${Date.now().toString(36)}_${randomUUID()}`;
10
+ }
11
+ function createdAt(params) {
12
+ return nowDate(params).toISOString();
13
+ }
14
+ function defaultSeq(params) {
15
+ return nowDate(params).getTime() * 1_000;
16
+ }
17
+ function messageId(role, turnId, provided) {
18
+ return provided && provided.trim().length > 0 ? provided.trim() : `${role}-${turnId}`;
19
+ }
20
+ function sanitizeContent(content) {
21
+ return content.map((block) => {
22
+ if (block.type !== "text" || typeof block.text !== "string") {
23
+ return { ...block };
24
+ }
25
+ const canonical = canonicalizeMobileAssistantText(block.text, { preserveWhitespace: true });
26
+ return { ...block, text: canonical.text };
27
+ });
28
+ }
29
+ function buildEvent(params) {
30
+ const role = params.role ?? "assistant";
31
+ return parseCanonicalTimelineEvent({
32
+ protocolVersion: 2,
33
+ eventId: eventId(params),
34
+ eventType: params.eventType,
35
+ gatewayId: params.gatewayId,
36
+ sessionKey: params.sessionKey,
37
+ turnId: params.turnId,
38
+ runId: params.runId,
39
+ messageId: messageId(role, params.turnId, params.messageId),
40
+ partId: params.partId ?? DEFAULT_TEXT_PART_ID,
41
+ attachmentId: params.attachmentId ?? null,
42
+ seq: params.seq ?? defaultSeq(params),
43
+ turnSeq: params.turnSeq ?? 1,
44
+ role,
45
+ messageState: params.messageState,
46
+ runState: params.runState,
47
+ createdAt: createdAt(params),
48
+ source: params.source ?? "live",
49
+ content: sanitizeContent(params.content ?? []),
50
+ attachment: params.attachment ?? null,
51
+ error: params.error ?? null,
52
+ ...(params.toolInvocationId ? { toolInvocationId: params.toolInvocationId } : {}),
53
+ ...(params.toolState ? { toolState: params.toolState } : {}),
54
+ });
55
+ }
56
+ export function createTimelineSequenceSource(params = {}) {
57
+ const lastByScope = new Map();
58
+ const nowMs = params.nowMs ?? (() => Date.now());
59
+ return {
60
+ next(gatewayId, sessionKey) {
61
+ const scope = `${gatewayId}\u0000${sessionKey}`;
62
+ const base = nowMs() * 1_000;
63
+ const previous = lastByScope.get(scope);
64
+ const next = previous === undefined ? base : Math.max(base, previous + 1);
65
+ lastByScope.set(scope, next);
66
+ return next;
67
+ },
68
+ };
69
+ }
70
+ export function derivePartId(params) {
71
+ const type = params.type && params.type.trim().length > 0 ? params.type.trim() : "text";
72
+ const index = params.index ?? 0;
73
+ return `part-${type}-${index + 1}`;
74
+ }
75
+ export function deriveAttachmentId(params) {
76
+ const stable = [
77
+ params.sessionKey,
78
+ params.contentHash ?? "",
79
+ params.name ?? "",
80
+ params.mimeType ?? "",
81
+ params.size ?? "",
82
+ params.url ?? "",
83
+ ].join("\u0000");
84
+ const digest = createHash("sha256").update(stable).digest("hex").slice(0, 16);
85
+ return `att_${digest}`;
86
+ }
87
+ export function buildTurnUserCreatedEvent(params) {
88
+ const turnId = params.turnId ?? params.idempotencyKey ?? params.requestId ?? `turn-${randomUUID()}`;
89
+ const runId = params.runId ?? turnId;
90
+ return buildEvent({
91
+ ...params,
92
+ turnId,
93
+ runId,
94
+ role: "user",
95
+ eventType: "turn.user.created",
96
+ messageState: "completed",
97
+ runState: "active",
98
+ messageId: messageId("user", turnId),
99
+ content: [{ type: "text", text: params.text }],
100
+ source: "local",
101
+ });
102
+ }
103
+ export function buildMessagePartDeltaEvent(params) {
104
+ return buildEvent({
105
+ ...params,
106
+ eventType: "message.part.delta",
107
+ messageId: params.messageId,
108
+ partId: params.partId ?? derivePartId({ type: params.partKind ?? "text", index: 0 }),
109
+ messageState: "streaming",
110
+ runState: "active",
111
+ content: params.content,
112
+ });
113
+ }
114
+ export function buildMessageCompletedEvent(params) {
115
+ return buildEvent({
116
+ ...params,
117
+ eventType: "message.completed",
118
+ messageState: "completed",
119
+ runState: "active",
120
+ content: params.content,
121
+ });
122
+ }
123
+ export function buildRunCompletedEvent(params) {
124
+ return buildEvent({
125
+ ...params,
126
+ eventType: "run.completed",
127
+ partId: "run-state",
128
+ messageState: "completed",
129
+ runState: "completed",
130
+ });
131
+ }
132
+ export function buildRunErrorEvent(params) {
133
+ return buildEvent({
134
+ ...params,
135
+ eventType: "run.failed",
136
+ partId: "run-state",
137
+ messageState: "failed",
138
+ runState: "failed",
139
+ error: {
140
+ userMessage: params.userMessage,
141
+ ...(params.code ? { code: params.code } : {}),
142
+ },
143
+ });
144
+ }
145
+ export function buildRunAbortedEvent(params) {
146
+ return buildEvent({
147
+ ...params,
148
+ eventType: "run.aborted",
149
+ partId: "run-state",
150
+ messageState: "aborted",
151
+ runState: "aborted",
152
+ error: params.userMessage ? { userMessage: params.userMessage } : null,
153
+ });
154
+ }
155
+ export function buildAttachmentStateChangedEvent(params) {
156
+ return buildEvent({
157
+ ...params,
158
+ eventType: "attachment.state.changed",
159
+ messageState: "pending",
160
+ runState: "active",
161
+ attachmentId: params.attachment.attachmentId,
162
+ attachment: params.attachment,
163
+ content: [],
164
+ });
165
+ }
166
+ export function buildToolInvocationUpdatedEvent(params) {
167
+ return buildEvent({
168
+ ...params,
169
+ role: "tool",
170
+ eventType: "tool.invocation.updated",
171
+ messageId: messageId("tool", params.turnId),
172
+ partId: derivePartId({ type: "tool", index: 0 }),
173
+ messageState: ["denied", "success", "failed", "cancelled"].includes(params.toolState)
174
+ ? "completed"
175
+ : "streaming",
176
+ runState: ["denied", "success", "failed", "cancelled"].includes(params.toolState)
177
+ ? "inactive"
178
+ : "active",
179
+ toolInvocationId: params.toolInvocationId,
180
+ toolState: params.toolState,
181
+ content: params.content,
182
+ });
183
+ }
184
+ export function buildHistorySnapshotPage(params) {
185
+ return parseCanonicalTimelineHistorySnapshotPage({
186
+ protocolVersion: 2,
187
+ eventType: "history.snapshot.page",
188
+ gatewayId: params.gatewayId,
189
+ sessionKey: params.sessionKey,
190
+ source: "history",
191
+ cursor: params.cursor ?? null,
192
+ hasMore: Boolean(params.hasMore),
193
+ nextCursor: params.nextCursor ?? null,
194
+ newestCursor: params.newestCursor ?? null,
195
+ messages: params.messages ?? [],
196
+ attachments: params.attachments ?? [],
197
+ });
198
+ }
199
+ //# sourceMappingURL=timeline-event-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-event-builder.js","sourceRoot":"","sources":["../../../src/core/relay/timeline-event-builder.ts"],"names":[],"mappings":"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"}