@exoscient/control-panel 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +14 -0
  2. package/dist/AppControlPanel.d.ts +77 -0
  3. package/dist/AppControlPanel.d.ts.map +1 -0
  4. package/dist/AppControlPanel.js +1625 -0
  5. package/dist/AppControlPanel.js.map +1 -0
  6. package/dist/ControlPanelShell.d.ts +39 -0
  7. package/dist/ControlPanelShell.d.ts.map +1 -0
  8. package/dist/ControlPanelShell.js +152 -0
  9. package/dist/ControlPanelShell.js.map +1 -0
  10. package/dist/ExoLauncherSimulator.d.ts +36 -0
  11. package/dist/ExoLauncherSimulator.d.ts.map +1 -0
  12. package/dist/ExoLauncherSimulator.js +253 -0
  13. package/dist/ExoLauncherSimulator.js.map +1 -0
  14. package/dist/TaskDetail.d.ts +180 -0
  15. package/dist/TaskDetail.d.ts.map +1 -0
  16. package/dist/TaskDetail.js +889 -0
  17. package/dist/TaskDetail.js.map +1 -0
  18. package/dist/TaskListPage.d.ts +28 -0
  19. package/dist/TaskListPage.d.ts.map +1 -0
  20. package/dist/TaskListPage.js +16 -0
  21. package/dist/TaskListPage.js.map +1 -0
  22. package/dist/TaskWorkspace.d.ts +62 -0
  23. package/dist/TaskWorkspace.d.ts.map +1 -0
  24. package/dist/TaskWorkspace.js +592 -0
  25. package/dist/TaskWorkspace.js.map +1 -0
  26. package/dist/ai-plane.d.ts +75 -0
  27. package/dist/ai-plane.d.ts.map +1 -0
  28. package/dist/ai-plane.js +124 -0
  29. package/dist/ai-plane.js.map +1 -0
  30. package/dist/browser-icons.d.ts +25 -0
  31. package/dist/browser-icons.d.ts.map +1 -0
  32. package/dist/browser-icons.js +125 -0
  33. package/dist/browser-icons.js.map +1 -0
  34. package/dist/client-actions.d.ts +45 -0
  35. package/dist/client-actions.d.ts.map +1 -0
  36. package/dist/client-actions.js +48 -0
  37. package/dist/client-actions.js.map +1 -0
  38. package/dist/control-panel-shared.d.ts +58 -0
  39. package/dist/control-panel-shared.d.ts.map +1 -0
  40. package/dist/control-panel-shared.js +79 -0
  41. package/dist/control-panel-shared.js.map +1 -0
  42. package/dist/control-panel.css +4156 -0
  43. package/dist/index.d.ts +30 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +16 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/repository-workflow.d.ts +27 -0
  48. package/dist/repository-workflow.d.ts.map +1 -0
  49. package/dist/repository-workflow.js +24 -0
  50. package/dist/repository-workflow.js.map +1 -0
  51. package/dist/result.d.ts +6 -0
  52. package/dist/result.d.ts.map +1 -0
  53. package/dist/result.js +77 -0
  54. package/dist/result.js.map +1 -0
  55. package/dist/task-consistency.d.ts +28 -0
  56. package/dist/task-consistency.d.ts.map +1 -0
  57. package/dist/task-consistency.js +25 -0
  58. package/dist/task-consistency.js.map +1 -0
  59. package/dist/task-detail.browser.js +2709 -0
  60. package/dist/task-detail.css +1601 -0
  61. package/dist/task-state.d.ts +11 -0
  62. package/dist/task-state.d.ts.map +1 -0
  63. package/dist/task-state.js +103 -0
  64. package/dist/task-state.js.map +1 -0
  65. package/dist/telemetry.d.ts +39 -0
  66. package/dist/telemetry.d.ts.map +1 -0
  67. package/dist/telemetry.js +106 -0
  68. package/dist/telemetry.js.map +1 -0
  69. package/dist/trace.d.ts +80 -0
  70. package/dist/trace.d.ts.map +1 -0
  71. package/dist/trace.js +694 -0
  72. package/dist/trace.js.map +1 -0
  73. package/dist/updates.d.ts +72 -0
  74. package/dist/updates.d.ts.map +1 -0
  75. package/dist/updates.js +269 -0
  76. package/dist/updates.js.map +1 -0
  77. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ export type UserUpdate = {
2
+ updateNumber: number;
3
+ type: string;
4
+ objectType: string;
5
+ objectId?: string;
6
+ payload?: Record<string, unknown>;
7
+ };
8
+ export type UserUpdateStreamItem = {
9
+ kind: 'update' | 'skip';
10
+ update?: UserUpdate;
11
+ from?: number;
12
+ to?: number;
13
+ };
14
+ export type UpdateFilter = {
15
+ objectIds?: string[];
16
+ objectTypes?: string[];
17
+ updateTypes?: string[];
18
+ };
19
+ export type UpdateSubscription = {
20
+ after?: number;
21
+ filterType: string;
22
+ filter: UpdateFilter;
23
+ onItem: (item: UserUpdateStreamItem) => void;
24
+ onUnavailable?: (message: string) => void;
25
+ };
26
+ type EventSourceFactory = (url: string) => EventSource;
27
+ export declare class ClientUpdateService {
28
+ private readonly baseUrl;
29
+ private readonly accessToken;
30
+ private readonly eventSourceFactory;
31
+ private defaultCursor;
32
+ private streamCursor;
33
+ private source;
34
+ private subscriptions;
35
+ private nextSubscriptionId;
36
+ private signature;
37
+ constructor(baseUrl: string, accessToken?: () => string | null, eventSourceFactory?: EventSourceFactory);
38
+ setCursor(cursor: number): void;
39
+ subscribe(subscription: UpdateSubscription): () => void;
40
+ private reconnectIfNeeded;
41
+ private resyncFromServer;
42
+ private buildSignature;
43
+ private withAccessToken;
44
+ private dispatchItem;
45
+ private dispatchSkip;
46
+ private emitSkip;
47
+ private activeSubscriptions;
48
+ private minimumCursor;
49
+ }
50
+ export declare function combinedServerFilter(subscriptions: UpdateSubscription[]): {
51
+ filterType: string;
52
+ filter: {
53
+ any: {
54
+ objectIds: string[];
55
+ objectTypes: string[];
56
+ updateTypes: string[];
57
+ }[];
58
+ };
59
+ };
60
+ export declare function subscriptionMatches(subscription: UpdateSubscription, item: UserUpdateStreamItem): boolean;
61
+ export declare function parseUpdateStreamItem(data: string): {
62
+ ok: true;
63
+ item: UserUpdateStreamItem;
64
+ } | {
65
+ ok: false;
66
+ message: string;
67
+ };
68
+ export declare function advanceCursor(current: number, item: UserUpdateStreamItem): number;
69
+ export declare function updateSequenceMessage(expected: number): string;
70
+ export declare function ephemeralMessage(value: string): string;
71
+ export {};
72
+ //# sourceMappingURL=updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../src/updates.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAI5C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,CAAA;AAMtD,qBAAa,mBAAmB;IAS5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAVrC,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,kBAAkB,CAAI;IAC9B,OAAO,CAAC,SAAS,CAAK;gBAGH,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAM,MAAM,GAAG,IAAiB,EAC7C,kBAAkB,GAAE,kBAAkD;IAGzF,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,SAAS,CAAC,YAAY,EAAE,kBAAkB;IAa1C,OAAO,CAAC,iBAAiB;IA+EzB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,aAAa;CAOtB;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,EAAE;;;;;;;;;EAQvE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB,WAM/F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA+C7H;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,UAExE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,UAErD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,UAO7C"}
@@ -0,0 +1,269 @@
1
+ export class ClientUpdateService {
2
+ constructor(baseUrl, accessToken = () => null, eventSourceFactory = (url) => new EventSource(url)) {
3
+ this.baseUrl = baseUrl;
4
+ this.accessToken = accessToken;
5
+ this.eventSourceFactory = eventSourceFactory;
6
+ this.defaultCursor = 0;
7
+ this.streamCursor = 0;
8
+ this.source = null;
9
+ this.subscriptions = new Map();
10
+ this.nextSubscriptionId = 1;
11
+ this.signature = '';
12
+ }
13
+ setCursor(cursor) {
14
+ this.defaultCursor = Math.max(this.defaultCursor, validCursor(cursor));
15
+ }
16
+ subscribe(subscription) {
17
+ const id = this.nextSubscriptionId++;
18
+ this.subscriptions.set(id, {
19
+ subscription,
20
+ cursor: validCursor(subscription.after ?? this.defaultCursor),
21
+ });
22
+ this.reconnectIfNeeded();
23
+ return () => {
24
+ this.subscriptions.delete(id);
25
+ this.reconnectIfNeeded();
26
+ };
27
+ }
28
+ reconnectIfNeeded() {
29
+ const nextSignature = this.buildSignature();
30
+ if (nextSignature === this.signature) {
31
+ return;
32
+ }
33
+ this.source?.close();
34
+ this.source = null;
35
+ this.signature = nextSignature;
36
+ if (this.subscriptions.size === 0) {
37
+ return;
38
+ }
39
+ const { filterType, filter } = combinedServerFilter(this.activeSubscriptions());
40
+ const after = this.minimumCursor();
41
+ this.streamCursor = after;
42
+ const url = this.withAccessToken(`${this.baseUrl}/api/updates?after=${after}&filterType=${encodeURIComponent(filterType)}&filter=${encodeURIComponent(JSON.stringify(filter))}`);
43
+ const source = this.eventSourceFactory(url);
44
+ this.source = source;
45
+ source.onmessage = (event) => {
46
+ if (this.source !== source) {
47
+ return;
48
+ }
49
+ const result = parseUpdateStreamItem(event.data);
50
+ if (!result.ok) {
51
+ // A malformed event doesn't end the stream, so the browser won't auto-reconnect. Re-request
52
+ // from the server to recover rather than bricking the live view with an "unavailable" banner.
53
+ this.resyncFromServer();
54
+ return;
55
+ }
56
+ const item = result.item;
57
+ const high = item.kind === 'skip' ? item.to : item.update?.updateNumber;
58
+ const low = item.kind === 'skip' ? item.from : item.update?.updateNumber;
59
+ // Fully-covered replay: ignore silently. The browser's EventSource auto-reconnects on transient
60
+ // drops and (absent a Last-Event-ID resume) can resend already-delivered items; treating those
61
+ // as a no-op keeps reconnects seamless instead of bricking the live stream as an "out of order"
62
+ // error. The server now also honors Last-Event-ID so well-behaved reconnects resume exactly.
63
+ if (high === undefined || high <= this.streamCursor) {
64
+ return;
65
+ }
66
+ // A number is missing before this item. The server fills genuine gaps with skip items, so a
67
+ // forward jump means the stream is truly out of order. Recover transparently by re-requesting
68
+ // from the last good cursor (the server replays in order) instead of surfacing a banner; the
69
+ // client's replay dedup below makes the re-request idempotent.
70
+ if (low === undefined || low > this.streamCursor + 1) {
71
+ this.resyncFromServer();
72
+ return;
73
+ }
74
+ this.dispatchItem(item);
75
+ this.streamCursor = advanceCursor(this.streamCursor, item);
76
+ };
77
+ source.addEventListener('ephemeral', () => {
78
+ // The server emits this when its stream loop hits a transient error and ends the request.
79
+ // Swallow it: the stream-end triggers onerror below, and EventSource reconnects (with the
80
+ // server's `retry` backoff) and resumes via Last-Event-ID. No user-facing "down" state.
81
+ });
82
+ source.onerror = () => {
83
+ if (this.source !== source) {
84
+ return;
85
+ }
86
+ // Transient connection drop. EventSource auto-reconnects on its own (honoring the server's
87
+ // `retry` interval) and resumes from Last-Event-ID, so treat this as a no-op rather than
88
+ // telling the user the platform is down — these almost always clear within seconds.
89
+ };
90
+ }
91
+ // Tear down the live connection and re-establish it from the lowest active cursor. Used to recover
92
+ // from stream corruption (malformed event, out-of-order gap) without surfacing an error: the server
93
+ // replays from the requested cursor and the onmessage replay-dedup ignores anything already seen.
94
+ resyncFromServer() {
95
+ this.signature = '';
96
+ this.reconnectIfNeeded();
97
+ }
98
+ buildSignature() {
99
+ if (this.subscriptions.size === 0)
100
+ return '';
101
+ const { filterType, filter } = combinedServerFilter(this.activeSubscriptions());
102
+ return `${this.minimumCursor()}:${filterType}:${JSON.stringify(filter)}`;
103
+ }
104
+ withAccessToken(url) {
105
+ const token = this.accessToken();
106
+ if (!token)
107
+ return url;
108
+ const separator = url.includes('?') ? '&' : '?';
109
+ return `${url}${separator}accessToken=${encodeURIComponent(token)}`;
110
+ }
111
+ dispatchItem(item) {
112
+ if (item.kind === 'skip') {
113
+ this.dispatchSkip(item);
114
+ return;
115
+ }
116
+ const update = item.update;
117
+ if (!update) {
118
+ return;
119
+ }
120
+ for (const active of this.subscriptions.values()) {
121
+ const updateNumber = update.updateNumber;
122
+ if (updateNumber <= active.cursor) {
123
+ continue;
124
+ }
125
+ if (subscriptionMatches(active.subscription, item)) {
126
+ this.emitSkip(active, active.cursor + 1, updateNumber - 1);
127
+ active.subscription.onItem(item);
128
+ active.cursor = updateNumber;
129
+ }
130
+ else {
131
+ this.emitSkip(active, active.cursor + 1, updateNumber);
132
+ }
133
+ }
134
+ }
135
+ dispatchSkip(item) {
136
+ if (item.to === undefined) {
137
+ return;
138
+ }
139
+ for (const active of this.subscriptions.values()) {
140
+ const from = active.cursor + 1;
141
+ const to = item.to;
142
+ if (to < from) {
143
+ continue;
144
+ }
145
+ active.subscription.onItem({ kind: 'skip', from, to });
146
+ active.cursor = Math.max(active.cursor, to);
147
+ }
148
+ }
149
+ emitSkip(active, from, to) {
150
+ if (to < from) {
151
+ return;
152
+ }
153
+ active.subscription.onItem({ kind: 'skip', from, to });
154
+ active.cursor = Math.max(active.cursor, to);
155
+ }
156
+ activeSubscriptions() {
157
+ return [...this.subscriptions.values()].map((active) => active.subscription);
158
+ }
159
+ minimumCursor() {
160
+ let cursor = null;
161
+ for (const active of this.subscriptions.values()) {
162
+ cursor = cursor === null ? active.cursor : Math.min(cursor, active.cursor);
163
+ }
164
+ return cursor ?? this.defaultCursor;
165
+ }
166
+ }
167
+ export function combinedServerFilter(subscriptions) {
168
+ const filterTypes = new Set(subscriptions.map((subscription) => subscription.filterType));
169
+ return {
170
+ filterType: filterTypes.size === 1 ? subscriptions[0]?.filterType ?? 'all' : 'all',
171
+ filter: {
172
+ any: subscriptions.map((subscription) => normalizeFilter(subscription.filter)),
173
+ },
174
+ };
175
+ }
176
+ export function subscriptionMatches(subscription, item) {
177
+ const update = item.update;
178
+ if (!update)
179
+ return false;
180
+ return filterValueMatches(subscription.filter.objectIds, update.objectId)
181
+ && filterValueMatches(subscription.filter.objectTypes, update.objectType)
182
+ && filterValueMatches(subscription.filter.updateTypes, update.type);
183
+ }
184
+ export function parseUpdateStreamItem(data) {
185
+ let parsed;
186
+ try {
187
+ parsed = JSON.parse(data);
188
+ }
189
+ catch {
190
+ return { ok: false, message: 'The update stream sent an invalid event.' };
191
+ }
192
+ if (!isRecord(parsed)) {
193
+ return { ok: false, message: 'The update stream sent an invalid event.' };
194
+ }
195
+ if (parsed.kind === 'skip') {
196
+ return {
197
+ ok: true,
198
+ item: {
199
+ kind: 'skip',
200
+ from: numberValue(parsed.from),
201
+ to: numberValue(parsed.to),
202
+ },
203
+ };
204
+ }
205
+ if (parsed.kind !== 'update' || !isRecord(parsed.update)) {
206
+ return { ok: false, message: 'The update stream sent an unsupported event.' };
207
+ }
208
+ const updateNumber = numberValue(parsed.update.updateNumber);
209
+ const type = stringValue(parsed.update.type);
210
+ const objectType = stringValue(parsed.update.objectType);
211
+ if (updateNumber === undefined || !type || !objectType) {
212
+ return { ok: false, message: 'The update stream sent an incomplete update.' };
213
+ }
214
+ return {
215
+ ok: true,
216
+ item: {
217
+ kind: 'update',
218
+ update: {
219
+ updateNumber,
220
+ type,
221
+ objectType,
222
+ objectId: stringValue(parsed.update.objectId),
223
+ payload: isRecord(parsed.update.payload) ? parsed.update.payload : undefined,
224
+ },
225
+ },
226
+ };
227
+ }
228
+ export function advanceCursor(current, item) {
229
+ return Math.max(current, item.kind === 'skip' ? item.to ?? current : item.update?.updateNumber ?? current);
230
+ }
231
+ export function updateSequenceMessage(expected) {
232
+ return `The update stream sequence is out of order. Expected update ${expected}.`;
233
+ }
234
+ export function ephemeralMessage(value) {
235
+ try {
236
+ const item = JSON.parse(value);
237
+ return item.payload?.message ?? 'The platform is down. Wait until it is back up.';
238
+ }
239
+ catch {
240
+ return 'The platform is down. Wait until it is back up.';
241
+ }
242
+ }
243
+ function normalizeFilter(filter) {
244
+ return {
245
+ objectIds: filterValues(filter.objectIds),
246
+ objectTypes: filterValues(filter.objectTypes),
247
+ updateTypes: filterValues(filter.updateTypes),
248
+ };
249
+ }
250
+ function filterValueMatches(filter, value) {
251
+ const values = filterValues(filter);
252
+ return values.length === 0 || Boolean(value && values.some((item) => item.toLocaleLowerCase() === value.toLocaleLowerCase()));
253
+ }
254
+ function filterValues(value) {
255
+ return Array.isArray(value) ? value.filter((item) => typeof item === 'string' && item.length > 0) : [];
256
+ }
257
+ function isRecord(value) {
258
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
259
+ }
260
+ function stringValue(value) {
261
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
262
+ }
263
+ function numberValue(value) {
264
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
265
+ }
266
+ function validCursor(value) {
267
+ return Number.isFinite(value) && value > 0 ? value : 0;
268
+ }
269
+ //# sourceMappingURL=updates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../src/updates.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@exoscient/control-panel",
3
+ "version": "0.1.0",
4
+ "description": "Shared Exoscient control panel UI and agent trace utilities.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./trace": {
14
+ "types": "./dist/trace.d.ts",
15
+ "import": "./dist/trace.js"
16
+ },
17
+ "./updates": {
18
+ "types": "./dist/updates.d.ts",
19
+ "import": "./dist/updates.js"
20
+ },
21
+ "./ai-plane": {
22
+ "types": "./dist/ai-plane.d.ts",
23
+ "import": "./dist/ai-plane.js"
24
+ },
25
+ "./control-panel.css": "./dist/control-panel.css",
26
+ "./task-detail.css": "./dist/task-detail.css",
27
+ "./task-detail.browser.js": "./dist/task-detail.browser.js"
28
+ },
29
+ "files": [
30
+ "dist"
31
+ ],
32
+ "scripts": {
33
+ "build": "tsc -p tsconfig.json && cp src/task-detail.css dist/task-detail.css && cp src/control-panel.css dist/control-panel.css",
34
+ "build:browser": "esbuild browser-entry.tsx --bundle --format=iife --global-name=ExoscientCpLibBundle --external:react --external:react/jsx-runtime --outfile=dist/task-detail.browser.js --jsx=automatic --alias:lucide-react=./src/browser-icons.tsx --banner:js=\"var require = function(name) { if (name === 'react') return window.React; if (name === 'react/jsx-runtime') { var jsx = function(type, props, key) { props = props || {}; if (key !== undefined) props.key = key; var children = props.children; var nextProps = Object.assign({}, props); delete nextProps.children; return Array.isArray(children) ? window.React.createElement.apply(window.React, [type, nextProps].concat(children)) : window.React.createElement(type, nextProps, children); }; return { jsx: jsx, jsxs: jsx, Fragment: window.React.Fragment }; } throw new Error('Unsupported external ' + name); };\" && cp src/task-detail.css dist/task-detail.css && cp src/control-panel.css dist/control-panel.css",
35
+ "test": "tsc -p tsconfig.test.json && node dist-test/tests/update-service.test.js && node dist-test/tests/trace.test.js && node dist-test/tests/trace-compat-fixtures.test.js && node dist-test/tests/result.test.js && node dist-test/tests/task-consistency.test.js && esbuild dist-test/tests/task-detail.test.js --bundle --platform=node --format=esm --outfile=dist-test/tests/task-detail.bundle.mjs --external:react --external:react-dom/server --alias:lucide-react=./src/browser-icons.tsx && node dist-test/tests/task-detail.bundle.mjs && npm run test:workspace-bundle",
36
+ "test:workspace": "tsc -p tsconfig.test.json && npm run test:workspace-bundle",
37
+ "test:workspace-bundle": "esbuild dist-test/tests/task-workspace-race.test.js --bundle --platform=node --format=esm --outfile=dist-test/tests/task-workspace-race.bundle.mjs --external:react --external:react-dom/client --external:jsdom --alias:lucide-react=./src/browser-icons.tsx && node dist-test/tests/task-workspace-race.bundle.mjs",
38
+ "test:trace-compat": "tsc -p tsconfig.test.json && node dist-test/tests/trace-compat-fixtures.test.js",
39
+ "test:trace-compat:live": "node compat/scripts/run-trace-compat-live.mjs",
40
+ "certify:codex-traces": "node compat/scripts/run-trace-compat-live.mjs --certify"
41
+ },
42
+ "peerDependencies": {
43
+ "lucide-react": "^1.17.0",
44
+ "react": "^19.2.7"
45
+ },
46
+ "devDependencies": {
47
+ "@types/jsdom": "^28.0.3",
48
+ "@types/node": "^25.9.3",
49
+ "@types/react": "^19.2.17",
50
+ "@types/react-dom": "^19.2.3",
51
+ "esbuild": "^0.28.0",
52
+ "jsdom": "^29.1.1",
53
+ "lucide-react": "^1.17.0",
54
+ "react": "^19.2.7",
55
+ "react-dom": "^19.2.7",
56
+ "typescript": "~6.0.3"
57
+ }
58
+ }