@supen-ai/cli 1.4.0 → 1.4.2

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 (205) hide show
  1. package/README.md +1 -1
  2. package/daemon/dist/agent-sdk/app-server-stream.js +5 -5
  3. package/daemon/dist/agent-sdk/app-server-stream.js.map +1 -1
  4. package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.d.ts +3 -2
  5. package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.d.ts.map +1 -1
  6. package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.js +72 -49
  7. package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.js.map +1 -1
  8. package/daemon/dist/agent-sdk/drivers/driver.d.ts +8 -8
  9. package/daemon/dist/agent-sdk/drivers/driver.d.ts.map +1 -1
  10. package/daemon/dist/agent-sdk/index.d.ts +4 -4
  11. package/daemon/dist/agent-sdk/index.d.ts.map +1 -1
  12. package/daemon/dist/agent-sdk/index.js +2 -2
  13. package/daemon/dist/agent-sdk/index.js.map +1 -1
  14. package/daemon/dist/agent-sdk/intelligence/contracts.d.ts +2 -2
  15. package/daemon/dist/agent-sdk/intelligence/contracts.d.ts.map +1 -1
  16. package/daemon/dist/agent-sdk/memory/subsystem.d.ts +1 -1
  17. package/daemon/dist/agent-sdk/memory/subsystem.d.ts.map +1 -1
  18. package/daemon/dist/agent-sdk/{session-events.d.ts → thread-events.d.ts} +18 -18
  19. package/daemon/dist/agent-sdk/thread-events.d.ts.map +1 -0
  20. package/daemon/dist/agent-sdk/{session-events.js → thread-events.js} +15 -15
  21. package/daemon/dist/agent-sdk/thread-events.js.map +1 -0
  22. package/daemon/dist/agent-sdk/{session-manager.d.ts → thread-manager.d.ts} +9 -9
  23. package/daemon/dist/agent-sdk/thread-manager.d.ts.map +1 -0
  24. package/daemon/dist/agent-sdk/{session-manager.js → thread-manager.js} +7 -7
  25. package/daemon/dist/agent-sdk/thread-manager.js.map +1 -0
  26. package/daemon/dist/agent-sdk/types.d.ts +18 -18
  27. package/daemon/dist/agent-sdk/types.d.ts.map +1 -1
  28. package/daemon/dist/automation-event-listener.js +6 -6
  29. package/daemon/dist/automation-event-listener.js.map +1 -1
  30. package/daemon/dist/automation-runner.d.ts +1 -1
  31. package/daemon/dist/automation-runner.d.ts.map +1 -1
  32. package/daemon/dist/automation-runner.js +24 -24
  33. package/daemon/dist/automation-runner.js.map +1 -1
  34. package/daemon/dist/autonomy/memory-rules.d.ts +2 -2
  35. package/daemon/dist/autonomy/memory-rules.d.ts.map +1 -1
  36. package/daemon/dist/autonomy/memory-rules.js +1 -1
  37. package/daemon/dist/autonomy/memory-rules.js.map +1 -1
  38. package/daemon/dist/autonomy/session-autonomy.d.ts +4 -4
  39. package/daemon/dist/autonomy/session-autonomy.d.ts.map +1 -1
  40. package/daemon/dist/autonomy/session-autonomy.js +5 -5
  41. package/daemon/dist/autonomy/session-autonomy.js.map +1 -1
  42. package/daemon/dist/bin/mcp-os.js +1 -1
  43. package/daemon/dist/bin/mcp-os.js.map +1 -1
  44. package/daemon/dist/bin/mcp-scheduler.js +1 -1
  45. package/daemon/dist/bin/mcp-scheduler.js.map +1 -1
  46. package/daemon/dist/bin/supen-sys.js +1 -1
  47. package/daemon/dist/bin/supen-sys.js.map +1 -1
  48. package/daemon/dist/bootstrap/hub-bootstrap.js +1 -1
  49. package/daemon/dist/bootstrap/hub-bootstrap.js.map +1 -1
  50. package/daemon/dist/channels/http-routes.d.ts.map +1 -1
  51. package/daemon/dist/channels/http-routes.js +54 -60
  52. package/daemon/dist/channels/http-routes.js.map +1 -1
  53. package/daemon/dist/channels/http.js +2 -2
  54. package/daemon/dist/channels/http.js.map +1 -1
  55. package/daemon/dist/channels/index.d.ts +0 -1
  56. package/daemon/dist/channels/index.d.ts.map +1 -1
  57. package/daemon/dist/channels/index.js +0 -2
  58. package/daemon/dist/channels/index.js.map +1 -1
  59. package/daemon/dist/channels/registry.d.ts +1 -1
  60. package/daemon/dist/channels/registry.d.ts.map +1 -1
  61. package/daemon/dist/commands/builtin.d.ts +1 -1
  62. package/daemon/dist/commands/builtin.d.ts.map +1 -1
  63. package/daemon/dist/commands/builtin.js +2 -2
  64. package/daemon/dist/commands/builtin.js.map +1 -1
  65. package/daemon/dist/commands/catalog.js +3 -3
  66. package/daemon/dist/commands/catalog.js.map +1 -1
  67. package/daemon/dist/core/config.d.ts +0 -2
  68. package/daemon/dist/core/config.d.ts.map +1 -1
  69. package/daemon/dist/core/config.js +0 -5
  70. package/daemon/dist/core/config.js.map +1 -1
  71. package/daemon/dist/core/control-commands.d.ts +3 -3
  72. package/daemon/dist/core/control-commands.d.ts.map +1 -1
  73. package/daemon/dist/core/control-commands.js +6 -6
  74. package/daemon/dist/core/control-commands.js.map +1 -1
  75. package/daemon/dist/core/control-log.d.ts +4 -4
  76. package/daemon/dist/core/control-log.d.ts.map +1 -1
  77. package/daemon/dist/core/control-log.js +12 -12
  78. package/daemon/dist/core/control-log.js.map +1 -1
  79. package/daemon/dist/core/cortex.d.ts +4 -4
  80. package/daemon/dist/core/cortex.d.ts.map +1 -1
  81. package/daemon/dist/core/cortex.js +98 -117
  82. package/daemon/dist/core/cortex.js.map +1 -1
  83. package/daemon/dist/core/dispatcher.d.ts +3 -3
  84. package/daemon/dist/core/dispatcher.js +18 -18
  85. package/daemon/dist/core/dispatcher.js.map +1 -1
  86. package/daemon/dist/core/gateway-protocol.d.ts +0 -1
  87. package/daemon/dist/core/gateway-protocol.d.ts.map +1 -1
  88. package/daemon/dist/core/gateway.d.ts +3 -3
  89. package/daemon/dist/core/gateway.d.ts.map +1 -1
  90. package/daemon/dist/core/gateway.js +26 -26
  91. package/daemon/dist/core/gateway.js.map +1 -1
  92. package/daemon/dist/core/hub-snapshot.d.ts +1 -1
  93. package/daemon/dist/core/hub-snapshot.d.ts.map +1 -1
  94. package/daemon/dist/core/hub-snapshot.js +1 -1
  95. package/daemon/dist/core/hub-snapshot.js.map +1 -1
  96. package/daemon/dist/core/pairing.d.ts +2 -2
  97. package/daemon/dist/core/pairing.js +3 -3
  98. package/daemon/dist/core/pairing.js.map +1 -1
  99. package/daemon/dist/core/store.d.ts +38 -38
  100. package/daemon/dist/core/store.d.ts.map +1 -1
  101. package/daemon/dist/core/store.js +285 -289
  102. package/daemon/dist/core/store.js.map +1 -1
  103. package/daemon/dist/core/task-artifacts.d.ts +4 -4
  104. package/daemon/dist/core/task-artifacts.d.ts.map +1 -1
  105. package/daemon/dist/core/task-artifacts.js +10 -10
  106. package/daemon/dist/core/task-artifacts.js.map +1 -1
  107. package/daemon/dist/core/thread-context.d.ts +76 -0
  108. package/daemon/dist/core/thread-context.d.ts.map +1 -0
  109. package/daemon/dist/core/thread-context.js +308 -0
  110. package/daemon/dist/core/thread-context.js.map +1 -0
  111. package/daemon/dist/core/types.d.ts +28 -28
  112. package/daemon/dist/core/types.d.ts.map +1 -1
  113. package/daemon/dist/core/utils.js +1 -1
  114. package/daemon/dist/core/utils.js.map +1 -1
  115. package/daemon/dist/http/router.d.ts +2 -2
  116. package/daemon/dist/http/router.d.ts.map +1 -1
  117. package/daemon/dist/http/router.js +5 -5
  118. package/daemon/dist/http/router.js.map +1 -1
  119. package/daemon/dist/http/routes/agents.js +3 -3
  120. package/daemon/dist/http/routes/agents.js.map +1 -1
  121. package/daemon/dist/http/routes/automations.d.ts +2 -2
  122. package/daemon/dist/http/routes/automations.d.ts.map +1 -1
  123. package/daemon/dist/http/routes/automations.js +23 -23
  124. package/daemon/dist/http/routes/automations.js.map +1 -1
  125. package/daemon/dist/http/routes/chat-input.d.ts +1 -1
  126. package/daemon/dist/http/routes/chat-input.d.ts.map +1 -1
  127. package/daemon/dist/http/routes/chat-input.js +2 -2
  128. package/daemon/dist/http/routes/chat-input.js.map +1 -1
  129. package/daemon/dist/http/routes/plugins.d.ts.map +1 -1
  130. package/daemon/dist/http/routes/plugins.js +6 -74
  131. package/daemon/dist/http/routes/plugins.js.map +1 -1
  132. package/daemon/dist/http/routes/rpc.d.ts +3 -3
  133. package/daemon/dist/http/routes/rpc.d.ts.map +1 -1
  134. package/daemon/dist/http/routes/rpc.js +93 -92
  135. package/daemon/dist/http/routes/rpc.js.map +1 -1
  136. package/daemon/dist/http/routes/system.d.ts +8 -7
  137. package/daemon/dist/http/routes/system.d.ts.map +1 -1
  138. package/daemon/dist/http/routes/system.js +225 -111
  139. package/daemon/dist/http/routes/system.js.map +1 -1
  140. package/daemon/dist/http/routes/threads.d.ts +11 -0
  141. package/daemon/dist/http/routes/threads.d.ts.map +1 -0
  142. package/daemon/dist/http/routes/{sessions.js → threads.js} +158 -158
  143. package/daemon/dist/http/routes/threads.js.map +1 -0
  144. package/daemon/dist/http/stream.d.ts +2 -2
  145. package/daemon/dist/http/stream.d.ts.map +1 -1
  146. package/daemon/dist/http/stream.js +3 -3
  147. package/daemon/dist/http/stream.js.map +1 -1
  148. package/daemon/dist/http/thread-title.d.ts +1 -1
  149. package/daemon/dist/http/thread-title.d.ts.map +1 -1
  150. package/daemon/dist/http/thread-title.js +6 -6
  151. package/daemon/dist/http/thread-title.js.map +1 -1
  152. package/daemon/dist/http/websocket.d.ts +2 -2
  153. package/daemon/dist/http/websocket.d.ts.map +1 -1
  154. package/daemon/dist/http/websocket.js +11 -11
  155. package/daemon/dist/http/websocket.js.map +1 -1
  156. package/daemon/dist/index.d.ts +3 -3
  157. package/daemon/dist/index.d.ts.map +1 -1
  158. package/daemon/dist/index.js +65 -81
  159. package/daemon/dist/index.js.map +1 -1
  160. package/daemon/dist/mcp/aggregate-config.d.ts +1 -1
  161. package/daemon/dist/mcp/index.js +1 -1
  162. package/daemon/dist/mcp/index.js.map +1 -1
  163. package/daemon/dist/mcp/tools.d.ts +1 -1
  164. package/daemon/dist/mcp/tools.js +1 -1
  165. package/daemon/dist/plugins/hub.d.ts +2 -8
  166. package/daemon/dist/plugins/hub.d.ts.map +1 -1
  167. package/daemon/dist/plugins/hub.js +63 -214
  168. package/daemon/dist/plugins/hub.js.map +1 -1
  169. package/daemon/dist/plugins/types.d.ts +10 -0
  170. package/daemon/dist/plugins/types.d.ts.map +1 -1
  171. package/daemon/dist/sub-agent.d.ts +3 -3
  172. package/daemon/dist/sub-agent.d.ts.map +1 -1
  173. package/daemon/dist/sub-agent.js +8 -8
  174. package/daemon/dist/sub-agent.js.map +1 -1
  175. package/daemon/dist/sync/supabase-sync.js +18 -18
  176. package/daemon/dist/sync/supabase-sync.js.map +1 -1
  177. package/daemon/dist/task-executor.js +1 -1
  178. package/daemon/dist/task-executor.js.map +1 -1
  179. package/daemon/dist/tools/shell.js +1 -1
  180. package/daemon/dist/tools/shell.js.map +1 -1
  181. package/daemon/dist/tools/types.d.ts +1 -1
  182. package/daemon/dist/tools/types.d.ts.map +1 -1
  183. package/daemon/package.json +1 -1
  184. package/dist/computer.js +1 -1
  185. package/dist/index.js +1 -1
  186. package/package.json +1 -1
  187. package/daemon/dist/acp-client.d.ts +0 -42
  188. package/daemon/dist/acp-client.d.ts.map +0 -1
  189. package/daemon/dist/acp-client.js +0 -149
  190. package/daemon/dist/acp-client.js.map +0 -1
  191. package/daemon/dist/acp-types.d.ts +0 -98
  192. package/daemon/dist/acp-types.d.ts.map +0 -1
  193. package/daemon/dist/acp-types.js +0 -2
  194. package/daemon/dist/acp-types.js.map +0 -1
  195. package/daemon/dist/agent-sdk/session-events.d.ts.map +0 -1
  196. package/daemon/dist/agent-sdk/session-events.js.map +0 -1
  197. package/daemon/dist/agent-sdk/session-manager.d.ts.map +0 -1
  198. package/daemon/dist/agent-sdk/session-manager.js.map +0 -1
  199. package/daemon/dist/channels/acp.d.ts +0 -23
  200. package/daemon/dist/channels/acp.d.ts.map +0 -1
  201. package/daemon/dist/channels/acp.js +0 -915
  202. package/daemon/dist/channels/acp.js.map +0 -1
  203. package/daemon/dist/http/routes/sessions.d.ts +0 -11
  204. package/daemon/dist/http/routes/sessions.d.ts.map +0 -1
  205. package/daemon/dist/http/routes/sessions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task-artifacts.js","sourceRoot":"","sources":["../../src/core/task-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-artifacts.js","sourceRoot":"","sources":["../../src/core/task-artifacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { type RawThreadEvent } from './thread-event-log.js';
2
+ export type ThreadContextProgressStatus = 'pending' | 'in_progress' | 'completed';
3
+ export type ThreadContextProgressItem = {
4
+ title: string;
5
+ status: ThreadContextProgressStatus;
6
+ };
7
+ export type ThreadContextChangedFile = {
8
+ path: string;
9
+ additions?: number;
10
+ deletions?: number;
11
+ status?: string;
12
+ };
13
+ export type ThreadContextExecutionItem = {
14
+ id: string;
15
+ type: string;
16
+ title: string;
17
+ status: ThreadContextProgressStatus;
18
+ detail?: string;
19
+ };
20
+ export type ThreadContextArtifact = {
21
+ path: string;
22
+ displayName: string;
23
+ source: 'app-server' | 'chat';
24
+ };
25
+ export type ThreadContextBrowser = {
26
+ title?: string;
27
+ url?: string;
28
+ };
29
+ export type ThreadContextSource = {
30
+ type: 'file' | 'url' | 'github' | 'unknown';
31
+ label: string;
32
+ value?: string;
33
+ };
34
+ export type ThreadContext = {
35
+ version: 1;
36
+ threadId: string;
37
+ eventLogHead: number;
38
+ updatedAt?: string;
39
+ progress: ThreadContextProgressItem[];
40
+ environment: {
41
+ computerId?: string;
42
+ workspace?: string | null;
43
+ branch?: string | null;
44
+ sandbox?: string | null;
45
+ approvalMode?: string | null;
46
+ model?: string | null;
47
+ };
48
+ changes: {
49
+ additions: number;
50
+ deletions: number;
51
+ files: ThreadContextChangedFile[];
52
+ };
53
+ execution: {
54
+ currentItem?: ThreadContextExecutionItem;
55
+ items: ThreadContextExecutionItem[];
56
+ compacting?: boolean;
57
+ };
58
+ browser: ThreadContextBrowser[];
59
+ sources: ThreadContextSource[];
60
+ artifacts: ThreadContextArtifact[];
61
+ };
62
+ export declare function buildThreadContextFromEvents(input: {
63
+ threadId: string;
64
+ events: RawThreadEvent[];
65
+ eventLogHead?: number;
66
+ computerId?: string | null;
67
+ workspace?: string | null;
68
+ }): ThreadContext;
69
+ export declare function readThreadContext(input: {
70
+ threadId: string;
71
+ eventLogThreadId?: string | null;
72
+ computerId?: string | null;
73
+ workspace?: string | null;
74
+ }): ThreadContext;
75
+ export declare function attachThreadContextToChunk(chunk: Record<string, unknown>, context: ThreadContext): Record<string, unknown>;
76
+ //# sourceMappingURL=thread-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-context.d.ts","sourceRoot":"","sources":["../../src/core/thread-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,308 @@
1
+ import { listRecentThreadEventsAfter, readThreadEventLogHead, } from './thread-event-log.js';
2
+ const CONTEXT_EVENT_LIMIT = 1000;
3
+ const CONTEXT_EVENT_MAX_BYTES = 16 * 1024 * 1024;
4
+ function objectValue(value) {
5
+ return value && typeof value === 'object' && !Array.isArray(value)
6
+ ? value
7
+ : null;
8
+ }
9
+ function stringValue(value) {
10
+ return typeof value === 'string' ? value.trim() : '';
11
+ }
12
+ function finiteNumber(value) {
13
+ if (typeof value === 'number' && Number.isFinite(value))
14
+ return value;
15
+ if (typeof value === 'string' && value.trim()) {
16
+ const parsed = Number(value);
17
+ if (Number.isFinite(parsed))
18
+ return parsed;
19
+ }
20
+ return undefined;
21
+ }
22
+ function normalizeProgressStatus(value) {
23
+ const status = stringValue(value).toLowerCase();
24
+ if (status === 'completed' || status === 'done' || status === 'success')
25
+ return 'completed';
26
+ if (status === 'in_progress' || status === 'inprogress' || status === 'running' || status === 'active') {
27
+ return 'in_progress';
28
+ }
29
+ return 'pending';
30
+ }
31
+ function rawMethod(raw) {
32
+ if (typeof raw.method === 'string')
33
+ return raw.method;
34
+ if (typeof raw.type === 'string')
35
+ return raw.type;
36
+ return '';
37
+ }
38
+ function rawParams(raw) {
39
+ return objectValue(raw.params) || raw;
40
+ }
41
+ function itemTitle(item) {
42
+ return (stringValue(item.title) ||
43
+ stringValue(item.name) ||
44
+ stringValue(item.command) ||
45
+ stringValue(item.path) ||
46
+ stringValue(item.type) ||
47
+ 'Activity');
48
+ }
49
+ function itemDetail(item) {
50
+ return (stringValue(item.command) ||
51
+ stringValue(item.cwd) ||
52
+ stringValue(item.path) ||
53
+ stringValue(item.url));
54
+ }
55
+ function artifactDisplayName(path, name) {
56
+ const trimmedName = stringValue(name);
57
+ if (trimmedName)
58
+ return trimmedName;
59
+ return path.split(/[\\/]/).filter(Boolean).pop() || path;
60
+ }
61
+ function addArtifact(artifacts, path, name, source) {
62
+ const normalizedPath = stringValue(path);
63
+ if (!normalizedPath)
64
+ return;
65
+ artifacts.set(normalizedPath, {
66
+ path: normalizedPath,
67
+ displayName: artifactDisplayName(normalizedPath, stringValue(name)),
68
+ source,
69
+ });
70
+ }
71
+ function addSource(sources, source) {
72
+ const key = `${source.type}:${source.value || source.label}`;
73
+ if (!source.label.trim())
74
+ return;
75
+ sources.set(key, source);
76
+ }
77
+ function classifySource(value) {
78
+ if (/^https?:\/\//i.test(value)) {
79
+ const github = value.match(/^https?:\/\/github\.com\/([^/\s]+\/[^/\s#?]+)/i);
80
+ return {
81
+ type: github ? 'github' : 'url',
82
+ label: github ? github[1] : value.replace(/^https?:\/\//i, ''),
83
+ value,
84
+ };
85
+ }
86
+ return {
87
+ type: 'file',
88
+ label: value.split(/[\\/]/).filter(Boolean).pop() || value,
89
+ value,
90
+ };
91
+ }
92
+ function addChangedFile(files, file) {
93
+ const path = stringValue(file.path || file.name || file.file || file.filename);
94
+ if (!path)
95
+ return;
96
+ files.set(path, {
97
+ path,
98
+ additions: finiteNumber(file.additions),
99
+ deletions: finiteNumber(file.deletions),
100
+ status: stringValue(file.status) || undefined,
101
+ });
102
+ }
103
+ function mergeDiffTotals(changes, params, files) {
104
+ const additions = finiteNumber(params.additions);
105
+ const deletions = finiteNumber(params.deletions);
106
+ if (additions !== undefined)
107
+ changes.additions = additions;
108
+ if (deletions !== undefined)
109
+ changes.deletions = deletions;
110
+ const changedFiles = Array.isArray(params.files)
111
+ ? params.files
112
+ : Array.isArray(params.changed_files)
113
+ ? params.changed_files
114
+ : [];
115
+ for (const file of changedFiles) {
116
+ const record = objectValue(file);
117
+ if (record)
118
+ addChangedFile(files, record);
119
+ }
120
+ }
121
+ function contextEventRawPayload(event) {
122
+ const payload = objectValue(event.raw_payload);
123
+ if (!payload)
124
+ return null;
125
+ if (payload.type === 'data-codex-event') {
126
+ const raw = objectValue(objectValue(payload.data)?.raw);
127
+ if (raw)
128
+ return raw;
129
+ }
130
+ return payload;
131
+ }
132
+ function applyContextEvent(context, event, state) {
133
+ const raw = contextEventRawPayload(event);
134
+ if (!raw)
135
+ return;
136
+ const method = rawMethod(raw);
137
+ const params = rawParams(raw);
138
+ context.eventLogHead = Math.max(context.eventLogHead, event.sequence);
139
+ context.updatedAt = event.received_at;
140
+ if (method === 'turn/plan/updated' || method === 'todo/list/updated') {
141
+ const todos = Array.isArray(params.todos)
142
+ ? params.todos
143
+ : Array.isArray(params.plan)
144
+ ? params.plan
145
+ : Array.isArray(params.items)
146
+ ? params.items
147
+ : [];
148
+ context.progress = todos
149
+ .map((todo) => {
150
+ const record = objectValue(todo);
151
+ const title = stringValue(record?.content || record?.title || record?.step || record?.text);
152
+ if (!title)
153
+ return null;
154
+ return { title, status: normalizeProgressStatus(record?.status) };
155
+ })
156
+ .filter((item) => Boolean(item));
157
+ return;
158
+ }
159
+ if (method === 'turn/diff/updated' ||
160
+ method === 'git/diff/updated' ||
161
+ method === 'git/changes/updated' ||
162
+ method === 'turn/file_changes/updated') {
163
+ mergeDiffTotals(context.changes, params, state.files);
164
+ return;
165
+ }
166
+ if (method === 'contextCompaction' || method === 'context/compaction/started') {
167
+ context.execution.compacting = true;
168
+ return;
169
+ }
170
+ if (method === 'context/compaction/completed') {
171
+ context.execution.compacting = false;
172
+ return;
173
+ }
174
+ const item = objectValue(params.item);
175
+ if ((method === 'item/started' || method === 'item/completed') && item) {
176
+ const id = stringValue(item.id) || `${event.sequence}`;
177
+ const status = method === 'item/completed' ? 'completed' : 'in_progress';
178
+ const type = stringValue(item.type) || 'item';
179
+ const executionItem = {
180
+ id,
181
+ type,
182
+ title: itemTitle(item),
183
+ status,
184
+ detail: itemDetail(item) || undefined,
185
+ };
186
+ state.executionItems.set(id, executionItem);
187
+ context.execution.currentItem = status === 'in_progress' ? executionItem : undefined;
188
+ if (type === 'artifact') {
189
+ addArtifact(state.artifacts, item.path || item.uri || item.url, item.name || item.title || item.filename, 'app-server');
190
+ }
191
+ if (type === 'fileChange') {
192
+ addChangedFile(state.files, item);
193
+ }
194
+ if (type === 'commandExecution' && stringValue(item.cwd) && !context.environment.workspace) {
195
+ context.environment.workspace = stringValue(item.cwd);
196
+ }
197
+ return;
198
+ }
199
+ if (method === 'item/fileChange/patchUpdated' ||
200
+ method === 'item/fileChange/outputDelta' ||
201
+ method === 'item/fileChange/completed') {
202
+ const file = objectValue(params.file) || params;
203
+ addChangedFile(state.files, file);
204
+ mergeDiffTotals(context.changes, params, state.files);
205
+ return;
206
+ }
207
+ if (method === 'browser/page/updated' || method === 'browser/updated') {
208
+ const title = stringValue(params.title);
209
+ const url = stringValue(params.url);
210
+ if (title || url)
211
+ context.browser = [{ ...(title ? { title } : {}), ...(url ? { url } : {}) }];
212
+ return;
213
+ }
214
+ if (method === 'turn/context/updated' || method === 'thread/context/updated') {
215
+ const env = objectValue(params.environment) || params;
216
+ context.environment = {
217
+ ...context.environment,
218
+ workspace: stringValue(env.workspace || env.cwd || env.workspace_folder) || context.environment.workspace,
219
+ branch: stringValue(env.branch || env.git_branch) || context.environment.branch,
220
+ sandbox: stringValue(env.sandbox || env.sandbox_mode) || context.environment.sandbox,
221
+ approvalMode: stringValue(env.approvalMode || env.approval_mode) || context.environment.approvalMode,
222
+ model: stringValue(env.model) || context.environment.model,
223
+ };
224
+ const rawSources = Array.isArray(params.sources) ? params.sources : [];
225
+ for (const source of rawSources) {
226
+ const value = typeof source === 'string'
227
+ ? source
228
+ : stringValue(objectValue(source)?.url || objectValue(source)?.path || objectValue(source)?.value);
229
+ if (value)
230
+ addSource(state.sources, classifySource(value));
231
+ }
232
+ }
233
+ }
234
+ export function buildThreadContextFromEvents(input) {
235
+ const context = {
236
+ version: 1,
237
+ threadId: input.threadId,
238
+ eventLogHead: input.eventLogHead ?? 0,
239
+ progress: [],
240
+ environment: {
241
+ ...(input.computerId ? { computerId: input.computerId } : {}),
242
+ ...(input.workspace !== undefined ? { workspace: input.workspace } : {}),
243
+ },
244
+ changes: {
245
+ additions: 0,
246
+ deletions: 0,
247
+ files: [],
248
+ },
249
+ execution: {
250
+ items: [],
251
+ },
252
+ browser: [],
253
+ sources: [],
254
+ artifacts: [],
255
+ };
256
+ const state = {
257
+ files: new Map(),
258
+ artifacts: new Map(),
259
+ sources: new Map(),
260
+ executionItems: new Map(),
261
+ };
262
+ for (const event of input.events) {
263
+ applyContextEvent(context, event, state);
264
+ }
265
+ context.changes.files = Array.from(state.files.values());
266
+ context.artifacts = Array.from(state.artifacts.values());
267
+ context.sources = Array.from(state.sources.values());
268
+ context.execution.items = Array.from(state.executionItems.values()).slice(-24);
269
+ if (!context.execution.currentItem) {
270
+ for (let index = context.execution.items.length - 1; index >= 0; index -= 1) {
271
+ const item = context.execution.items[index];
272
+ if (item.status === 'in_progress') {
273
+ context.execution.currentItem = item;
274
+ break;
275
+ }
276
+ }
277
+ }
278
+ return context;
279
+ }
280
+ export function readThreadContext(input) {
281
+ const eventLogThreadId = input.eventLogThreadId || input.threadId;
282
+ const events = listRecentThreadEventsAfter(eventLogThreadId, 0, {
283
+ limit: CONTEXT_EVENT_LIMIT,
284
+ maxBytes: CONTEXT_EVENT_MAX_BYTES,
285
+ });
286
+ return buildThreadContextFromEvents({
287
+ threadId: input.threadId,
288
+ events,
289
+ eventLogHead: readThreadEventLogHead(eventLogThreadId),
290
+ computerId: input.computerId,
291
+ workspace: input.workspace,
292
+ });
293
+ }
294
+ export function attachThreadContextToChunk(chunk, context) {
295
+ if (chunk.type !== 'data-codex-event')
296
+ return chunk;
297
+ const data = objectValue(chunk.data);
298
+ if (!data)
299
+ return chunk;
300
+ return {
301
+ ...chunk,
302
+ data: {
303
+ ...data,
304
+ thread_context: context,
305
+ },
306
+ };
307
+ }
308
+ //# sourceMappingURL=thread-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-context.js","sourceRoot":"","sources":["../../src/core/thread-context.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,12 @@ export interface TaskEnvironmentSnapshot {
54
54
  secret_names?: string[];
55
55
  task_network_access?: boolean;
56
56
  }
57
- export interface SessionRecord {
58
- session_id: string;
57
+ export interface ThreadRecord {
58
+ thread_id: string;
59
59
  agent_id: string;
60
60
  space_id?: string;
61
61
  channel: string;
62
- channel_session?: string;
62
+ channel_thread?: string;
63
63
  backend_driver_id?: string;
64
64
  sdk_session_id?: string;
65
65
  source_ref?: string;
@@ -76,7 +76,7 @@ export interface SessionRecord {
76
76
  created_at: string;
77
77
  updated_at: string;
78
78
  }
79
- export interface SessionContext extends SessionRecord {
79
+ export interface ThreadContext extends ThreadRecord {
80
80
  task_id: string;
81
81
  }
82
82
  export type DaemonStatus = 'idle' | 'busy' | 'interrupted' | 'error';
@@ -89,7 +89,7 @@ export interface DaemonActivity {
89
89
  export interface DaemonState {
90
90
  status: DaemonStatus;
91
91
  agent_id: string;
92
- session_id: string;
92
+ thread_id: string;
93
93
  backend_driver_id?: string;
94
94
  sdk_session_id?: string;
95
95
  task_id?: string;
@@ -99,7 +99,7 @@ export interface DaemonState {
99
99
  }
100
100
  export type TaskStatus = 'queued' | 'running' | 'succeeded' | 'failed' | 'canceled' | 'timeout';
101
101
  export type TaskFailureClassification = 'tool_error' | 'input_error' | 'env_error' | 'permission_error' | 'internal_error';
102
- export type TaskSource = 'acp' | 'api' | 'automation' | 'schedule' | 'http_run';
102
+ export type TaskSource = 'api' | 'automation' | 'schedule' | 'http_run';
103
103
  export interface TaskErrorInfo {
104
104
  classification: TaskFailureClassification;
105
105
  code: string;
@@ -114,7 +114,7 @@ export interface TaskResultInfo {
114
114
  export interface TaskRecord {
115
115
  id: string;
116
116
  agent_id: string;
117
- session_id: string;
117
+ thread_id: string;
118
118
  source: TaskSource;
119
119
  source_ref?: string;
120
120
  prompt: string;
@@ -143,7 +143,7 @@ export interface TaskRecord {
143
143
  export interface CreateTaskInput {
144
144
  id?: string;
145
145
  agent_id: string;
146
- session_id: string;
146
+ thread_id: string;
147
147
  prompt: string;
148
148
  source: TaskSource;
149
149
  source_ref?: string;
@@ -190,7 +190,7 @@ export interface AutomationRecord {
190
190
  trigger?: AutomationSupabaseTriggerRecord;
191
191
  action?: AutomationActionRecord;
192
192
  exdate?: string[];
193
- session_mode?: 'main' | 'isolated';
193
+ thread_mode?: 'main' | 'isolated';
194
194
  model?: string;
195
195
  reasoning_effort?: 'low' | 'medium' | 'high';
196
196
  permission_mode?: 'default' | 'workspace-write' | 'full-access' | 'custom' | 'read-only';
@@ -227,7 +227,7 @@ export interface AutomationRunRecord {
227
227
  claimed_at: string | null;
228
228
  started_at: string | null;
229
229
  finished_at: string | null;
230
- session_id?: string;
230
+ thread_id?: string;
231
231
  task_id?: string;
232
232
  prompt: string;
233
233
  model?: string;
@@ -264,7 +264,7 @@ export interface CreateAutomationInput {
264
264
  status?: AutomationRecord['status'];
265
265
  next_run?: string | null;
266
266
  exdate?: string[];
267
- session_mode?: 'main' | 'isolated';
267
+ thread_mode?: 'main' | 'isolated';
268
268
  model?: string;
269
269
  reasoning_effort?: 'low' | 'medium' | 'high';
270
270
  permission_mode?: 'default' | 'workspace-write' | 'full-access' | 'custom' | 'read-only';
@@ -293,7 +293,7 @@ export interface UpdateAutomationInput {
293
293
  timezone?: string;
294
294
  exdate?: string[];
295
295
  next_run?: string | null;
296
- session_mode?: 'main' | 'isolated';
296
+ thread_mode?: 'main' | 'isolated';
297
297
  model?: string;
298
298
  reasoning_effort?: 'low' | 'medium' | 'high';
299
299
  permission_mode?: 'default' | 'workspace-write' | 'full-access' | 'custom' | 'read-only';
@@ -321,7 +321,7 @@ export interface CreateAutomationRunInput {
321
321
  triggered_at?: string;
322
322
  claimed_at?: string | null;
323
323
  started_at?: string | null;
324
- session_id?: string;
324
+ thread_id?: string;
325
325
  task_id?: string;
326
326
  cwd?: string;
327
327
  }
@@ -335,7 +335,7 @@ export interface FinalizeAutomationRunInput {
335
335
  no_op_reason?: string | null;
336
336
  notification_sent?: boolean;
337
337
  }
338
- export interface FinalizeRunningAutomationRunForSessionInput {
338
+ export interface FinalizeRunningAutomationRunForThreadInput {
339
339
  actor?: string;
340
340
  finished_at?: string;
341
341
  error?: string;
@@ -352,12 +352,12 @@ export interface ScheduleRecord {
352
352
  prompt: string;
353
353
  cron?: string | null;
354
354
  type?: 'cron' | 'one-shot';
355
- session?: 'main' | 'isolated';
355
+ thread?: 'main' | 'isolated';
356
356
  status: 'active' | 'paused';
357
357
  target_jid?: string;
358
358
  created_by?: string;
359
359
  created_from?: string;
360
- notify_policy?: 'none' | 'source_chat' | 'creator_session';
360
+ notify_policy?: 'none' | 'source_chat' | 'creator_thread';
361
361
  notify_target_jid?: string;
362
362
  execution_status?: 'idle' | 'claimed';
363
363
  claimed_at?: string | null;
@@ -377,7 +377,7 @@ export interface ScheduleRunRecord {
377
377
  agent_id: string;
378
378
  prompt: string;
379
379
  status: 'running' | 'succeeded' | 'failed';
380
- session_id?: string;
380
+ thread_id?: string;
381
381
  task_id?: string;
382
382
  chat_jid?: string;
383
383
  notify_target_jid?: string;
@@ -393,11 +393,11 @@ export interface CreateCronScheduleInput {
393
393
  prompt: string;
394
394
  cron: string;
395
395
  type?: 'cron';
396
- session?: 'main' | 'isolated';
396
+ thread?: 'main' | 'isolated';
397
397
  target_jid?: string;
398
398
  created_by?: string;
399
399
  created_from?: string;
400
- notify_policy?: 'none' | 'source_chat' | 'creator_session';
400
+ notify_policy?: 'none' | 'source_chat' | 'creator_thread';
401
401
  notify_target_jid?: string;
402
402
  next_run?: string;
403
403
  }
@@ -406,11 +406,11 @@ export interface CreateOneShotScheduleInput {
406
406
  prompt: string;
407
407
  type: 'one-shot';
408
408
  next_run: string;
409
- session?: 'main' | 'isolated';
409
+ thread?: 'main' | 'isolated';
410
410
  target_jid?: string;
411
411
  created_by?: string;
412
412
  created_from?: string;
413
- notify_policy?: 'none' | 'source_chat' | 'creator_session';
413
+ notify_policy?: 'none' | 'source_chat' | 'creator_thread';
414
414
  notify_target_jid?: string;
415
415
  cron?: string;
416
416
  }
@@ -439,7 +439,7 @@ export interface NewMessage {
439
439
  is_from_me?: boolean;
440
440
  is_bot_message?: boolean;
441
441
  agent_id?: string;
442
- session_id?: string;
442
+ thread_id?: string;
443
443
  task_id?: string;
444
444
  attachments?: Attachment[];
445
445
  tokens_in?: number;
@@ -449,11 +449,11 @@ export interface NewMessage {
449
449
  automation_id?: string;
450
450
  automation_run_id?: string;
451
451
  automation_notify_target_jid?: string;
452
- automation_notify_policy?: 'none' | 'source_chat' | 'creator_session';
452
+ automation_notify_policy?: 'none' | 'source_chat' | 'creator_thread';
453
453
  schedule_id?: string;
454
454
  schedule_run_id?: string;
455
455
  schedule_notify_target_jid?: string;
456
- schedule_notify_policy?: 'none' | 'source_chat' | 'creator_session';
456
+ schedule_notify_policy?: 'none' | 'source_chat' | 'creator_thread';
457
457
  }
458
458
  export interface AvailableProject {
459
459
  jid: string;
@@ -482,7 +482,7 @@ export interface Channel {
482
482
  }
483
483
  export type OnInboundMessage = (chatJid: string, message: NewMessage) => void;
484
484
  export type OnChatMetadata = (chatJid: string, timestamp: string, name?: string, channel?: string, isGroup?: boolean) => void;
485
- export type OnSessionStop = (agentId: string, sessionId: string, actor?: string) => {
485
+ export type OnThreadStop = (agentId: string, threadId: string, actor?: string) => {
486
486
  ok: boolean;
487
487
  code: string;
488
488
  message: string;
@@ -496,13 +496,13 @@ export interface ChannelOpts {
496
496
  onChatMetadata: OnChatMetadata;
497
497
  registeredProjects: () => Record<string, RegisteredProject>;
498
498
  onGroupRegistered?: (jid: string, group: RegisteredProject) => void;
499
- onSessionStop?: OnSessionStop;
499
+ onThreadStop?: OnThreadStop;
500
500
  }
501
501
  export interface ContainerOutput {
502
502
  status: 'success' | 'error';
503
503
  result: string | null;
504
504
  error?: string;
505
- newSessionId?: string;
505
+ newThreadId?: string;
506
506
  }
507
507
  export type InteractionRole = 'user' | 'assistant' | 'system';
508
508
  export type InteractionIntent = 'task' | 'persona' | 'memory' | 'mixed' | 'unknown';
@@ -519,7 +519,7 @@ export interface InteractionEvent {
519
519
  is_admin?: boolean;
520
520
  metadata?: Record<string, unknown>;
521
521
  }
522
- export interface SessionUiEvent {
522
+ export interface ThreadUiEvent {
523
523
  id: string;
524
524
  timestamp: string;
525
525
  task_id?: string;