@markmo/europacore-session-ui 0.3.0 → 0.4.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.
- package/dist/ArtifactsPage-BxaqShTv.js +1178 -0
- package/dist/{BoardPage-DDcf5vup.js → BoardPage-DH7p5o99.js} +54 -54
- package/dist/{CardDetail-D0TLVhf7.js → CardDetail-LfDCJQhS.js} +26 -26
- package/dist/{ComparePage-C32hPOqV.js → ComparePage-CrbCyu4u.js} +33 -33
- package/dist/MemoriesPage-BRA53Hlb.js +679 -0
- package/dist/{OverviewPage-BkeuYg6d.js → OverviewPage-BSBqY83_.js} +31 -31
- package/dist/{RegisterPage-Dawr26jh.js → RegisterPage-64yGl9E-.js} +75 -75
- package/dist/SessionPage-C4hSlxWQ.js +906 -0
- package/dist/api/agentClient.d.ts +62 -1
- package/dist/api/wire.d.ts +461 -4
- package/dist/features/artifacts/ArtifactDetail.d.ts +15 -0
- package/dist/features/artifacts/ArtifactDialogs.d.ts +29 -0
- package/dist/features/artifacts/ArtifactLedger.d.ts +11 -0
- package/dist/features/artifacts/ArtifactStats.d.ts +9 -0
- package/dist/features/artifacts/ArtifactsPage.d.ts +1 -0
- package/dist/features/artifacts/artifactsCommands.d.ts +3 -0
- package/dist/features/artifacts/artifactsStore.d.ts +27 -0
- package/dist/features/artifacts/artifactsUi.d.ts +33 -0
- package/dist/features/bootstrap.d.ts +1 -0
- package/dist/features/chat/model/artifactAccess.d.ts +50 -0
- package/dist/features/chat/model/artifactCsv.d.ts +11 -0
- package/dist/features/chat/model/artifactExport.d.ts +45 -0
- package/dist/features/chat/model/artifactStats.d.ts +79 -0
- package/dist/features/chat/model/artifacts.d.ts +151 -0
- package/dist/features/chat/model/claims.d.ts +102 -0
- package/dist/features/chat/model/contextSources.d.ts +41 -0
- package/dist/features/chat/model/entries.d.ts +32 -2
- package/dist/features/chat/model/format.d.ts +6 -0
- package/dist/features/chat/model/memoryRecords.d.ts +79 -0
- package/dist/features/chat/model/monitors.d.ts +11 -0
- package/dist/features/chat/model/progress.d.ts +73 -0
- package/dist/features/chat/model/tasks.d.ts +1 -1
- package/dist/features/chat/panels/ProgressPanel.d.ts +8 -0
- package/dist/features/chat/session/SessionController.d.ts +3 -2
- package/dist/features/chat/session/useFileMentions.d.ts +18 -5
- package/dist/features/chat/transcript/ArtifactCard.d.ts +8 -0
- package/dist/features/chat/transcript/Rows.d.ts +12 -1
- package/dist/features/memories/MemoriesPage.d.ts +1 -0
- package/dist/features/memories/memoriesCommands.d.ts +3 -0
- package/dist/features/memories/memoriesController.d.ts +81 -0
- package/dist/features/workspace/claimsCommands.d.ts +26 -0
- package/dist/features/workspace/collisionsWatcher.d.ts +7 -0
- package/dist/features/workspace/useSessionPageHooks.d.ts +1 -1
- package/dist/{index-B0hmy2Cw.js → index-CMPf-3JZ.js} +4412 -3293
- package/dist/index.d.ts +2 -0
- package/dist/index.js +86 -82
- package/dist/lib/paths.d.ts +12 -0
- package/dist/lib/zip.d.ts +14 -0
- package/dist/{promptHistory-DQyt2Br0.js → promptHistory-BR0NpLCI.js} +14 -14
- package/package.json +1 -1
- package/dist/SessionPage-68nDek9w.js +0 -881
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export declare const SessionPage: import("react").LazyExoticComponent<typeof imp
|
|
|
4
4
|
export declare const OverviewPage: import("react").LazyExoticComponent<typeof import("./features/sessions/OverviewPage").default>;
|
|
5
5
|
export declare const BoardPage: import("react").LazyExoticComponent<typeof import("./features/board/BoardPage").default>;
|
|
6
6
|
export declare const DecisionsPage: import("react").LazyExoticComponent<typeof import("./features/memory/RegisterPage").default>;
|
|
7
|
+
export declare const ArtifactsPage: import("react").LazyExoticComponent<typeof import("./features/artifacts/ArtifactsPage").default>;
|
|
8
|
+
export declare const MemoriesPage: import("react").LazyExoticComponent<typeof import("./features/memories/MemoriesPage").default>;
|
|
7
9
|
export declare const ComparePage: import("react").LazyExoticComponent<typeof import("./features/fleet/ComparePage").default>;
|
|
8
10
|
export { agentClient, EuropacoreClient, type StreamHandlers, type ServerCommand } from './api/agentClient';
|
|
9
11
|
export { ApiError, describeError } from './api/agentErrors';
|
package/dist/index.js
CHANGED
|
@@ -1,91 +1,95 @@
|
|
|
1
1
|
import "react";
|
|
2
|
-
import {
|
|
3
|
-
import { Menu as
|
|
2
|
+
import { b8 as t, bT as o, bU as r, B as n, bV as i, Y as c, aK as u, bW as m, bX as g, f as l, bY as P, bZ as b, aq as S, b_ as d, b$ as p, a7 as C, V as h, c0 as f, c1 as A, c2 as T, X as E, I as D, bK as F, c3 as B, aE as M, aG as x, aD as H, aF as v, c4 as k, a9 as w, c5 as y, c6 as K, ad as N, c7 as O, c8 as U, c9 as _, aJ as q, ca as G, cb as I, cc as V, cd as W, a8 as J, a2 as R, g as X, ce as Y, cf as Z, cg as j, c as z, at as L, ch as $, ci as Q, cj as aa, ck as sa, a as ea, cl as ta, cm as oa, bi as ra, cn as na, an as ia, co as ca, cp as ua, F as ma, am as ga, K as la, cq as Pa, bh as ba, cr as Sa, cs as da, ct as pa, Z as Ca, cu as ha, cv as fa, r as Aa, cw as Ta, cx as Ea, O as Da, s as Fa, a0 as Ba, J as Ma, H as xa, cy as Ha, cz as va, G as ka, cA as wa, cB as ya, cC as Ka, cD as Na, n as Oa } from "./index-CMPf-3JZ.js";
|
|
3
|
+
import { Menu as _a, MenuButton as qa } from "@headlessui/react";
|
|
4
4
|
export {
|
|
5
5
|
t as ApiError,
|
|
6
|
-
o as
|
|
7
|
-
r as
|
|
8
|
-
n as
|
|
9
|
-
i as
|
|
10
|
-
|
|
11
|
-
u as
|
|
12
|
-
m as
|
|
6
|
+
o as ArtifactsPage,
|
|
7
|
+
r as Avatar,
|
|
8
|
+
n as Badge,
|
|
9
|
+
i as BoardPage,
|
|
10
|
+
c as Button,
|
|
11
|
+
u as Callout,
|
|
12
|
+
m as CommandPalette,
|
|
13
|
+
g as ComparePage,
|
|
13
14
|
l as CopyButton,
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
P as DATE_BUCKETS,
|
|
16
|
+
b as DecisionsPage,
|
|
16
17
|
S as Dialog,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
d as DialogHost,
|
|
19
|
+
p as Disclosure,
|
|
20
|
+
C as Drawer,
|
|
21
|
+
h as EmptyState,
|
|
22
|
+
f as EuropacoreClient,
|
|
22
23
|
A as FormField,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
T as FormSection,
|
|
25
|
+
E as FullPageSpinner,
|
|
26
|
+
D as IconButton,
|
|
27
|
+
F as MarkdownContent,
|
|
28
|
+
B as MemoriesPage,
|
|
29
|
+
_a as Menu,
|
|
30
|
+
qa as MenuButton,
|
|
31
|
+
M as MenuItem,
|
|
32
|
+
x as MenuLabel,
|
|
33
|
+
H as MenuPanel,
|
|
32
34
|
v as MenuSeparator,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
$ as
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
Ea as
|
|
80
|
-
|
|
81
|
-
|
|
35
|
+
k as NO_FEATURES,
|
|
36
|
+
w as NativeSelect,
|
|
37
|
+
y as NewSessionDialog,
|
|
38
|
+
K as OverviewPage,
|
|
39
|
+
N as PageHeader,
|
|
40
|
+
O as SectionHeading,
|
|
41
|
+
U as SessionPage,
|
|
42
|
+
_ as SessionsPanel,
|
|
43
|
+
q as Spinner,
|
|
44
|
+
G as TextAreaField,
|
|
45
|
+
I as TextField,
|
|
46
|
+
V as ThemeProvider,
|
|
47
|
+
W as ToastProvider,
|
|
48
|
+
J as WORKSPACE_AGENTS,
|
|
49
|
+
R as agentClient,
|
|
50
|
+
X as agentsState,
|
|
51
|
+
Y as artifactsPath,
|
|
52
|
+
Z as boardPath,
|
|
53
|
+
j as bootstrapFeatures,
|
|
54
|
+
z as chatExtensions,
|
|
55
|
+
L as comparePath,
|
|
56
|
+
$ as configureSessionUi,
|
|
57
|
+
Q as consumeSseStream,
|
|
58
|
+
aa as contextWindowOf,
|
|
59
|
+
sa as controlChrome,
|
|
60
|
+
ea as cx,
|
|
61
|
+
ta as dateBucket,
|
|
62
|
+
oa as decisionsPath,
|
|
63
|
+
ra as describeError,
|
|
64
|
+
na as errorMessage,
|
|
65
|
+
ia as formatCost,
|
|
66
|
+
ca as formatDate,
|
|
67
|
+
ua as formatDateTime,
|
|
68
|
+
ma as formatDuration,
|
|
69
|
+
ga as formatTokens,
|
|
70
|
+
la as hub,
|
|
71
|
+
Pa as initialsFor,
|
|
72
|
+
ba as inputClass,
|
|
73
|
+
Sa as inputClassSm,
|
|
74
|
+
da as loadAgents,
|
|
75
|
+
pa as memoriesPath,
|
|
76
|
+
Ca as newSessionPath,
|
|
77
|
+
ha as registerChatExtensions,
|
|
78
|
+
fa as registerCommands,
|
|
79
|
+
Aa as relativeTime,
|
|
80
|
+
Ta as requestNotificationPermission,
|
|
81
|
+
Ea as resetAgents,
|
|
82
|
+
Da as sessionPath,
|
|
83
|
+
Fa as sessionUiHost,
|
|
84
|
+
Ba as sessionsPath,
|
|
85
|
+
Ma as startableAgents,
|
|
82
86
|
xa as useAgents,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
Ha as useAttention,
|
|
88
|
+
va as useHotkeys,
|
|
89
|
+
ka as useHubVersion,
|
|
90
|
+
wa as useMemoryCapture,
|
|
91
|
+
ya as usePaletteHotkey,
|
|
92
|
+
Ka as useSessionPageHooks,
|
|
93
|
+
Na as useTheme,
|
|
94
|
+
Oa as useToast
|
|
91
95
|
};
|
package/dist/lib/paths.d.ts
CHANGED
|
@@ -10,3 +10,15 @@ export declare function comparePath(sessionId: string, group: string): string;
|
|
|
10
10
|
export declare function boardPath(): string;
|
|
11
11
|
/** The decision register. */
|
|
12
12
|
export declare function decisionsPath(): string;
|
|
13
|
+
/** The artifacts page: `view` (table|stats), an artifact's `id`, a search `q`, the `session` it was opened from. */
|
|
14
|
+
export declare function artifactsPath(query?: {
|
|
15
|
+
view?: 'list' | 'table' | 'stats';
|
|
16
|
+
id?: string;
|
|
17
|
+
q?: string;
|
|
18
|
+
session?: string | null;
|
|
19
|
+
}): string;
|
|
20
|
+
/** The long-term memories page: `view` (context), and the `session` it was opened from. */
|
|
21
|
+
export declare function memoriesPath(query?: {
|
|
22
|
+
view?: 'browse' | 'context';
|
|
23
|
+
session?: string | null;
|
|
24
|
+
}): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** A file to put in a ZIP: its path inside, with forward slashes, and its bytes. */
|
|
2
|
+
export interface ZipEntry {
|
|
3
|
+
path: string;
|
|
4
|
+
data: Uint8Array;
|
|
5
|
+
/** When it was last changed; now when absent. */
|
|
6
|
+
modified?: Date;
|
|
7
|
+
}
|
|
8
|
+
/** The CRC-32 a ZIP entry carries. */
|
|
9
|
+
export declare function crc32(data: Uint8Array): number;
|
|
10
|
+
/**
|
|
11
|
+
* The entries as a ZIP archive: each deflated when that makes it smaller, else stored, with UTF-8 names. Enough
|
|
12
|
+
* for an artifact's pages and assets; there is no ZIP64, so the whole must stay under 4 GiB.
|
|
13
|
+
*/
|
|
14
|
+
export declare function zip(entries: ZipEntry[]): Promise<Uint8Array>;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsxs as l, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { useState as C } from "react";
|
|
3
3
|
import { Link as N } from "react-router";
|
|
4
|
-
import { Hourglass as P, Columns3 as w, ChevronLeft as D, ChevronRight as
|
|
5
|
-
import { u as
|
|
4
|
+
import { Hourglass as P, Columns3 as w, ChevronLeft as D, ChevronRight as A } from "lucide-react";
|
|
5
|
+
import { u as S, L as B, C as m, Y as v, c as E, as as z, at as L, au as R, av as j, aw as q, ax as F, ay as x, az as I, aA as H, aB as K, aC as O } from "./index-CMPf-3JZ.js";
|
|
6
6
|
function W(t) {
|
|
7
7
|
return t.kind === "flow_input" && t.input_kind !== "form" && !t.quick_replies?.length;
|
|
8
8
|
}
|
|
9
9
|
function T(t) {
|
|
10
|
-
return
|
|
10
|
+
return H(t) ?? K(t) ?? "waiting for your decision";
|
|
11
11
|
}
|
|
12
12
|
function J(t) {
|
|
13
13
|
const { pause: s, run: n } = t.store.state;
|
|
14
14
|
return !!(s && !n && s.kind !== "fork_seed" && !s.kind.startsWith("temporal") && !W(s));
|
|
15
15
|
}
|
|
16
16
|
function ee({ controller: t, collisions: s }) {
|
|
17
|
-
|
|
17
|
+
S(t, m.pause, m.run, m.session, m.reset, B.deferred);
|
|
18
18
|
const [n, d] = C(!1), { pause: e, pauses: i } = t.store.state;
|
|
19
19
|
if (!e || !J(t)) return null;
|
|
20
20
|
const f = t.agent, o = async (a) => {
|
|
@@ -59,21 +59,21 @@ function ee({ controller: t, collisions: s }) {
|
|
|
59
59
|
}
|
|
60
60
|
);
|
|
61
61
|
else if (e.group)
|
|
62
|
-
u = /* @__PURE__ */ l(
|
|
62
|
+
u = /* @__PURE__ */ l(z, { tone: "accent", icon: w, title: "Pick the variant to keep", impact: "Best of N", label: "Pick a variant", children: [
|
|
63
63
|
/* @__PURE__ */ l("p", { className: "mt-2 text-[13px] text-muted", children: [
|
|
64
64
|
"The variants of ",
|
|
65
65
|
e.group,
|
|
66
66
|
" are done. Compare their changes side by side, then pick one to merge."
|
|
67
67
|
] }),
|
|
68
68
|
/* @__PURE__ */ l("div", { className: "mt-3 flex flex-wrap gap-2", children: [
|
|
69
|
-
/* @__PURE__ */ r(N, { to:
|
|
69
|
+
/* @__PURE__ */ r(N, { to: L(t.id, e.group), children: /* @__PURE__ */ r(v, { variant: "primary", size: "sm", icon: /* @__PURE__ */ r(w, { size: 14 }), children: "Compare variants" }) }),
|
|
70
70
|
/* @__PURE__ */ r(v, { variant: "ghost", size: "sm", className: "ml-auto", onClick: c, children: "Later" })
|
|
71
71
|
] })
|
|
72
72
|
] });
|
|
73
73
|
else if (e.kind === "question" && e.questions?.length) {
|
|
74
74
|
const a = t.questionDraft?.id === e.pending_tool_call_id ? t.questionDraft.answers : void 0;
|
|
75
75
|
u = /* @__PURE__ */ r(
|
|
76
|
-
|
|
76
|
+
R,
|
|
77
77
|
{
|
|
78
78
|
pause: e,
|
|
79
79
|
busy: n,
|
|
@@ -87,7 +87,7 @@ function ee({ controller: t, collisions: s }) {
|
|
|
87
87
|
},
|
|
88
88
|
e.pending_tool_call_id
|
|
89
89
|
);
|
|
90
|
-
} else if (
|
|
90
|
+
} else if (j(e)) {
|
|
91
91
|
const a = t.permissionModes();
|
|
92
92
|
u = /* @__PURE__ */ r(
|
|
93
93
|
q,
|
|
@@ -122,7 +122,7 @@ function ee({ controller: t, collisions: s }) {
|
|
|
122
122
|
else {
|
|
123
123
|
const a = x(e), p = s?.notes(t) ?? [];
|
|
124
124
|
u = /* @__PURE__ */ r(
|
|
125
|
-
|
|
125
|
+
I,
|
|
126
126
|
{
|
|
127
127
|
pause: e,
|
|
128
128
|
busy: n,
|
|
@@ -155,23 +155,23 @@ function ee({ controller: t, collisions: s }) {
|
|
|
155
155
|
] }),
|
|
156
156
|
/* @__PURE__ */ l("span", { className: "ml-auto flex items-center", children: [
|
|
157
157
|
/* @__PURE__ */ r("button", { type: "button", "aria-label": "Previous wait", onClick: () => t.cyclePause(-1), className: "rounded p-1 hover:bg-surface-hover hover:text-ink", children: /* @__PURE__ */ r(D, { size: 15 }) }),
|
|
158
|
-
/* @__PURE__ */ r("button", { type: "button", "aria-label": "Next wait", onClick: () => t.cyclePause(1), className: "rounded p-1 hover:bg-surface-hover hover:text-ink", children: /* @__PURE__ */ r(
|
|
158
|
+
/* @__PURE__ */ r("button", { type: "button", "aria-label": "Next wait", onClick: () => t.cyclePause(1), className: "rounded p-1 hover:bg-surface-hover hover:text-ink", children: /* @__PURE__ */ r(A, { size: 15 }) })
|
|
159
159
|
] })
|
|
160
160
|
] }),
|
|
161
161
|
u
|
|
162
162
|
] });
|
|
163
163
|
}
|
|
164
164
|
const M = (t) => t.charAt(0).toUpperCase() + t.slice(1), _ = "ecui.history", b = 2e3, Q = 100;
|
|
165
|
-
function
|
|
165
|
+
function Y() {
|
|
166
166
|
try {
|
|
167
167
|
return typeof localStorage > "u" ? null : localStorage;
|
|
168
168
|
} catch {
|
|
169
169
|
return null;
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
-
class
|
|
172
|
+
class G {
|
|
173
173
|
/** `storage` null keeps the history in memory only. */
|
|
174
|
-
constructor(s =
|
|
174
|
+
constructor(s = Y()) {
|
|
175
175
|
this.storage = s;
|
|
176
176
|
}
|
|
177
177
|
storage;
|
|
@@ -222,7 +222,7 @@ class U {
|
|
|
222
222
|
return [...i, ...f];
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
const te = new
|
|
225
|
+
const te = new G();
|
|
226
226
|
export {
|
|
227
227
|
ee as P,
|
|
228
228
|
J as d,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markmo/europacore-session-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "europacore session UI: sessions, the live transcript, approvals, workspaces, fleets, the board and the decision register, for any React app that reaches a europacore server.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|