@declarion/react 0.45.0 → 0.48.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-lib/{DraggableChildrenTable-BDnJK0AU.js → DraggableChildrenTable-p2ZSdwzj.js} +2 -2
- package/dist-lib/{DynamicIcon-DeRpAaXm.js → DynamicIcon-Dc2j-rg_.js} +19 -17
- package/dist-lib/{Grid-CcCveEE7.js → Grid-CjLFAKMZ.js} +2 -2
- package/dist-lib/{LayoutRenderer-BReuhVdX.js → LayoutRenderer-X3p4yfo_.js} +598 -585
- package/dist-lib/{MarkdownRenderer-DPKDFR60.js → MarkdownRenderer-Sb7zcvj0.js} +10 -10
- package/dist-lib/{RefreshControl-KddgOhUG.js → RefreshControl-Cnl9nE0x.js} +268 -238
- package/dist-lib/{SmartDetailPage.impl-D_hMxiHy.js → SmartDetailPage.impl-bb0UNOII.js} +545 -532
- package/dist-lib/{SmartRecordListPage.impl-GIo_mPIJ.js → SmartRecordListPage.impl-BFh8auUZ.js} +171 -158
- package/dist-lib/api/agents.d.ts +47 -18
- package/dist-lib/components/agents/AgentChatPanel.d.ts +7 -1
- package/dist-lib/components/agents/AgentPicker.d.ts +9 -0
- package/dist-lib/components/agents/transcript-runs.d.ts +29 -0
- package/dist-lib/components/file-widgets/host.d.ts +1 -0
- package/dist-lib/components/list/QuickPeek.d.ts +1 -1
- package/dist-lib/components/pages/list/ListFloatbar.d.ts +4 -2
- package/dist-lib/components/pages/list/cardProjection.d.ts +2 -1
- package/dist-lib/components/primitives/Tooltip.d.ts +4 -0
- package/dist-lib/components/shared/ResponsiveActionBar.d.ts +10 -5
- package/dist-lib/components/shared/RowActionsKebab.d.ts +3 -2
- package/dist-lib/components/views/ViewSwitcher.d.ts +2 -1
- package/dist-lib/declarion-react.css +1 -1
- package/dist-lib/hooks/useAgentConversation.d.ts +10 -24
- package/dist-lib/hooks/useBrandingChrome.d.ts +11 -0
- package/dist-lib/hooks/useFilters.d.ts +1 -0
- package/dist-lib/hooks/useLongPress.d.ts +29 -0
- package/dist-lib/hooks/useResponsiveMode.d.ts +2 -21
- package/dist-lib/icons.js +1 -1
- package/dist-lib/index.d.ts +10 -3
- package/dist-lib/index.js +3305 -2741
- package/dist-lib/lib/actions.d.ts +13 -5
- package/dist-lib/lib/filter-evaluator.d.ts +16 -0
- package/dist-lib/lib/filters.d.ts +10 -4
- package/dist-lib/lib/longPressGesture.d.ts +55 -0
- package/dist-lib/lib/messages.d.ts +1 -0
- package/dist-lib/lib/page-inset.d.ts +3 -0
- package/dist-lib/lib/variants.d.ts +7 -0
- package/dist-lib/lib/viewport-category.d.ts +44 -0
- package/dist-lib/{registry-DJKp0yaV.js → registry-CWDnxiLJ.js} +1291 -1008
- package/dist-lib/testing.js +10 -10
- package/dist-lib/types/api.d.ts +15 -2
- package/dist-lib/types/schema.d.ts +26 -0
- package/dist-lib/{useCurrentScreen-A3xZDs7U.js → useCurrentScreen-BshVTPVq.js} +1124 -1088
- package/dist-lib/{useProperties-TlltWwLv.js → useProperties-B5p9mIH8.js} +92 -61
- package/dist-lib/{value-CHY7LgZ-.js → value-B1O6QikE.js} +1 -1
- package/dist-lib/vite/index.js +23 -22
- package/package.json +12 -12
- package/dist-lib/components/agents/AgentVisualHints.d.ts +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Gt as e, Kt as t, Ln as n, Tn as r, bt as i, pn as a, pt as o, rt as s } from "./useCurrentScreen-
|
|
2
|
-
import {
|
|
1
|
+
import { Gt as e, Kt as t, Ln as n, Tn as r, bt as i, pn as a, pt as o, rt as s } from "./useCurrentScreen-BshVTPVq.js";
|
|
2
|
+
import { vt as c } from "./registry-CWDnxiLJ.js";
|
|
3
3
|
import { useEffect as l, useLayoutEffect as u, useMemo as d } from "react";
|
|
4
4
|
import { useSearchParams as f } from "react-router";
|
|
5
5
|
import { useInfiniteQuery as p, useMutation as m, useQueryClient as h } from "@tanstack/react-query";
|
|
@@ -72,17 +72,17 @@ var x = class {
|
|
|
72
72
|
}
|
|
73
73
|
async createMany(e) {
|
|
74
74
|
if (e.length === 0) return [];
|
|
75
|
-
let n =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
75
|
+
let n = e.map((e) => ({
|
|
76
|
+
action: `${this.entity}.__create`,
|
|
77
|
+
params: {
|
|
78
|
+
entity: this.entity,
|
|
79
|
+
fields: e
|
|
80
|
+
}
|
|
81
|
+
})), r = await t("system.batch", {
|
|
82
|
+
actions: n,
|
|
83
83
|
atomic: !0
|
|
84
84
|
});
|
|
85
|
-
return S(
|
|
85
|
+
return S(r, `${this.entity}.__create`), r.results.map((e) => v(C(e)));
|
|
86
86
|
}
|
|
87
87
|
async update(e, t) {
|
|
88
88
|
return (await this.updateMany([{
|
|
@@ -92,18 +92,18 @@ var x = class {
|
|
|
92
92
|
}
|
|
93
93
|
async updateMany(e) {
|
|
94
94
|
if (e.length === 0) return [];
|
|
95
|
-
let n =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
let n = e.map(({ id: e, ...t }) => ({
|
|
96
|
+
action: `${this.entity}.__update`,
|
|
97
|
+
params: {
|
|
98
|
+
object_ids: [e],
|
|
99
|
+
entity: this.entity,
|
|
100
|
+
fields: t
|
|
101
|
+
}
|
|
102
|
+
})), r = await t("system.batch", {
|
|
103
|
+
actions: n,
|
|
104
104
|
atomic: !0
|
|
105
105
|
});
|
|
106
|
-
return S(
|
|
106
|
+
return S(r, `${this.entity}.__update`), r.results.map((e) => v(C(e)));
|
|
107
107
|
}
|
|
108
108
|
async delete(e) {
|
|
109
109
|
await this.deleteMany([e]);
|
|
@@ -128,18 +128,18 @@ var x = class {
|
|
|
128
128
|
}
|
|
129
129
|
async upsertMany(e, n) {
|
|
130
130
|
if (e.length === 0) return [];
|
|
131
|
-
let r =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
131
|
+
let r = e.map((e) => ({
|
|
132
|
+
action: `${this.entity}.__upsert`,
|
|
133
|
+
params: {
|
|
134
|
+
entity: this.entity,
|
|
135
|
+
fields: e,
|
|
136
|
+
unique_by: n
|
|
137
|
+
}
|
|
138
|
+
})), i = await t("system.batch", {
|
|
139
|
+
actions: r,
|
|
140
140
|
atomic: !0
|
|
141
141
|
});
|
|
142
|
-
return S(
|
|
142
|
+
return S(i, `${this.entity}.__upsert`), i.results.map((e) => v(w(e)));
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
function S(e, t) {
|
|
@@ -303,32 +303,49 @@ var N = /* @__PURE__ */ new Set([
|
|
|
303
303
|
};
|
|
304
304
|
function I(e) {
|
|
305
305
|
let t = e.get("filters");
|
|
306
|
-
if (
|
|
306
|
+
if (t == null || t === "") return {
|
|
307
|
+
filters: [],
|
|
308
|
+
error: null
|
|
309
|
+
};
|
|
307
310
|
try {
|
|
308
|
-
|
|
309
|
-
|
|
311
|
+
return {
|
|
312
|
+
filters: L(e),
|
|
313
|
+
error: null
|
|
314
|
+
};
|
|
315
|
+
} catch (e) {
|
|
316
|
+
return {
|
|
317
|
+
filters: [],
|
|
318
|
+
error: e instanceof Error ? e.message : "The filters URL value is invalid."
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function L(e) {
|
|
323
|
+
let t = e.get("filters");
|
|
324
|
+
if (t == null || t === "") return [];
|
|
325
|
+
let n;
|
|
326
|
+
try {
|
|
327
|
+
n = JSON.parse(t);
|
|
310
328
|
} catch {
|
|
311
|
-
|
|
329
|
+
throw Error("The filters URL value is not valid JSON.");
|
|
312
330
|
}
|
|
331
|
+
if (!Array.isArray(n) || !n.every(G)) throw Error("The filters URL value is not a valid filter tree.");
|
|
332
|
+
return n;
|
|
313
333
|
}
|
|
314
|
-
function
|
|
334
|
+
function R(e, t) {
|
|
315
335
|
e.length === 0 ? t.delete("filters") : t.set("filters", JSON.stringify(e));
|
|
316
336
|
}
|
|
317
|
-
function R(e) {
|
|
318
|
-
return e.some((e) => e.or != null);
|
|
319
|
-
}
|
|
320
337
|
function z(e) {
|
|
338
|
+
return e.some((e) => !e || typeof e != "object" ? !1 : e.or != null || e.and != null && z(e.and));
|
|
339
|
+
}
|
|
340
|
+
function B(e) {
|
|
321
341
|
let t = [];
|
|
322
|
-
for (let n of e)
|
|
323
|
-
if (n.field && n.op && t.push(n), n.or) for (let e of n.or) t.push(...z(e));
|
|
324
|
-
n.and && t.push(...z(n.and));
|
|
325
|
-
}
|
|
342
|
+
for (let n of e) !n || typeof n != "object" || (n.field && n.op && t.push(n), n.or && t.push(...B(n.or)), n.and && t.push(...B(n.and)));
|
|
326
343
|
return t;
|
|
327
344
|
}
|
|
328
|
-
function
|
|
329
|
-
return
|
|
345
|
+
function V(e) {
|
|
346
|
+
return B(e).length;
|
|
330
347
|
}
|
|
331
|
-
function
|
|
348
|
+
function H(e, t) {
|
|
332
349
|
if (!e.field || !e.op) return "";
|
|
333
350
|
let r = F[e.op] || e.op;
|
|
334
351
|
if (N.has(e.op)) return `${r}`;
|
|
@@ -341,18 +358,18 @@ function V(e, t) {
|
|
|
341
358
|
};
|
|
342
359
|
return `${r} ${Array.isArray(e.value) ? e.value.map(a).join(", ") : a(e.value)}`;
|
|
343
360
|
}
|
|
344
|
-
function
|
|
361
|
+
function U(e, t) {
|
|
345
362
|
return {
|
|
346
363
|
field: e,
|
|
347
364
|
op: "eq",
|
|
348
365
|
value: t
|
|
349
366
|
};
|
|
350
367
|
}
|
|
351
|
-
function
|
|
368
|
+
function W(e, t) {
|
|
352
369
|
let n = [];
|
|
353
|
-
for (let r of e) if (r.field !== t) {
|
|
370
|
+
for (let r of e) if (!(!r || typeof r != "object") && r.field !== t) {
|
|
354
371
|
if (r.or) {
|
|
355
|
-
let e = r.or
|
|
372
|
+
let e = W(r.or, t);
|
|
356
373
|
e.length > 0 && n.push({
|
|
357
374
|
...r,
|
|
358
375
|
or: e
|
|
@@ -360,7 +377,7 @@ function U(e, t) {
|
|
|
360
377
|
continue;
|
|
361
378
|
}
|
|
362
379
|
if (r.and) {
|
|
363
|
-
let e =
|
|
380
|
+
let e = W(r.and, t);
|
|
364
381
|
e.length > 0 && n.push({
|
|
365
382
|
...r,
|
|
366
383
|
and: e
|
|
@@ -371,9 +388,23 @@ function U(e, t) {
|
|
|
371
388
|
}
|
|
372
389
|
return n;
|
|
373
390
|
}
|
|
391
|
+
function G(e) {
|
|
392
|
+
if (typeof e != "object" || !e || Array.isArray(e)) return !1;
|
|
393
|
+
let t = e, n = Object.prototype.hasOwnProperty.call(t, "field"), r = Object.prototype.hasOwnProperty.call(t, "op"), i = Object.prototype.hasOwnProperty.call(t, "value"), a = Object.prototype.hasOwnProperty.call(t, "or"), o = Object.prototype.hasOwnProperty.call(t, "and");
|
|
394
|
+
if (a && o) return !1;
|
|
395
|
+
if (a || o) {
|
|
396
|
+
if (n || r || i) return !1;
|
|
397
|
+
let e = a ? t.or : t.and;
|
|
398
|
+
return Array.isArray(e) && e.length > 0 && e.every(G);
|
|
399
|
+
}
|
|
400
|
+
if (!(n && r && typeof t.field == "string" && t.field.length > 0 && typeof t.op == "string" && K.has(t.op))) return !1;
|
|
401
|
+
let s = t.op;
|
|
402
|
+
return N.has(s) ? !i || t.value === null : i && t.value !== null;
|
|
403
|
+
}
|
|
404
|
+
var K = new Set(Object.keys(F));
|
|
374
405
|
//#endregion
|
|
375
406
|
//#region src/api/status.ts
|
|
376
|
-
async function
|
|
407
|
+
async function q(e, t, n, r, a) {
|
|
377
408
|
let o = {
|
|
378
409
|
status_group_code: n,
|
|
379
410
|
status_code: r
|
|
@@ -388,10 +419,10 @@ async function W(e, t, n, r, a) {
|
|
|
388
419
|
}
|
|
389
420
|
//#endregion
|
|
390
421
|
//#region src/hooks/useObjectStatus.ts
|
|
391
|
-
function
|
|
422
|
+
function J(e, t) {
|
|
392
423
|
let n = h();
|
|
393
424
|
return m({
|
|
394
|
-
mutationFn: ({ groupCode: n, statusCode: r, note: i }) =>
|
|
425
|
+
mutationFn: ({ groupCode: n, statusCode: r, note: i }) => q(e, t, n, r, i),
|
|
395
426
|
onSuccess: () => {
|
|
396
427
|
n.invalidateQueries({ queryKey: ["entity-item", e] });
|
|
397
428
|
},
|
|
@@ -402,7 +433,7 @@ function G(e, t) {
|
|
|
402
433
|
}
|
|
403
434
|
//#endregion
|
|
404
435
|
//#region src/api/properties.ts
|
|
405
|
-
async function
|
|
436
|
+
async function Y(e, t, n, r) {
|
|
406
437
|
let a = (await i(`${e}.__update`, {
|
|
407
438
|
object_ids: [t],
|
|
408
439
|
entity: e,
|
|
@@ -413,7 +444,7 @@ async function K(e, t, n, r) {
|
|
|
413
444
|
})).result?.rows?.[0]?.$properties ?? [];
|
|
414
445
|
return a.find((e) => e.property_code === n) ?? a[0];
|
|
415
446
|
}
|
|
416
|
-
async function
|
|
447
|
+
async function X(e, t, n) {
|
|
417
448
|
await i(`${e}.__update`, {
|
|
418
449
|
object_ids: [t],
|
|
419
450
|
entity: e,
|
|
@@ -425,10 +456,10 @@ async function q(e, t, n) {
|
|
|
425
456
|
}
|
|
426
457
|
//#endregion
|
|
427
458
|
//#region src/hooks/useProperties.ts
|
|
428
|
-
function
|
|
459
|
+
function Z(e, t) {
|
|
429
460
|
let n = h();
|
|
430
461
|
return m({
|
|
431
|
-
mutationFn: ({ propertyCode: n, value: r }) =>
|
|
462
|
+
mutationFn: ({ propertyCode: n, value: r }) => Y(e, t, n, r),
|
|
432
463
|
onSuccess: () => {
|
|
433
464
|
n.invalidateQueries({ queryKey: ["entity-item", e] });
|
|
434
465
|
},
|
|
@@ -437,10 +468,10 @@ function J(e, t) {
|
|
|
437
468
|
}
|
|
438
469
|
});
|
|
439
470
|
}
|
|
440
|
-
function
|
|
471
|
+
function Q(e, t) {
|
|
441
472
|
let n = h();
|
|
442
473
|
return m({
|
|
443
|
-
mutationFn: (n) =>
|
|
474
|
+
mutationFn: (n) => X(e, t, n),
|
|
444
475
|
onSuccess: () => {
|
|
445
476
|
n.invalidateQueries({ queryKey: ["entity-item", e] });
|
|
446
477
|
},
|
|
@@ -450,4 +481,4 @@ function Y(e, t) {
|
|
|
450
481
|
});
|
|
451
482
|
}
|
|
452
483
|
//#endregion
|
|
453
|
-
export {
|
|
484
|
+
export { x as C, k as S, T, j as _, N as a, O as b, U as c, z as d, I as f, M as g, R as h, P as i, B as l, W as m, Z as n, F as o, L as p, J as r, V as s, Q as t, H as u, A as v, y as w, D as x, E as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $t as e, en as t, rn as n } from "./useCurrentScreen-
|
|
1
|
+
import { $t as e, en as t, rn as n } from "./useCurrentScreen-BshVTPVq.js";
|
|
2
2
|
import { useCallback as r, useEffect as i, useRef as a, useState as o } from "react";
|
|
3
3
|
//#region src/embed/file-src.ts
|
|
4
4
|
var s = "/api/files";
|
package/dist-lib/vite/index.js
CHANGED
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
import { createHash as e } from "node:crypto";
|
|
2
|
-
import {
|
|
3
|
-
import { join as
|
|
2
|
+
import { mkdirSync as t, readFileSync as n, readdirSync as r, statSync as i, writeFileSync as a } from "node:fs";
|
|
3
|
+
import { join as o } from "node:path";
|
|
4
4
|
//#region src/vite/fingerprint-plugin.ts
|
|
5
|
-
function
|
|
6
|
-
let
|
|
5
|
+
function s(r = {}) {
|
|
6
|
+
let i = r.filename ?? "bundle-fingerprint.txt";
|
|
7
7
|
return {
|
|
8
8
|
name: "declarion-fingerprint",
|
|
9
9
|
apply: "build",
|
|
10
|
-
|
|
10
|
+
writeBundle: {
|
|
11
|
+
order: "post",
|
|
11
12
|
sequential: !0,
|
|
12
13
|
handler() {
|
|
13
|
-
let
|
|
14
|
-
|
|
15
|
-
let
|
|
16
|
-
for (let
|
|
17
|
-
let r =
|
|
18
|
-
|
|
14
|
+
let s = this.environment.config, l = s.build.outDir, u = r.assetsDir ?? s.build.assetsDir ?? "assets", d = o(l, u), f = c(d);
|
|
15
|
+
f.sort();
|
|
16
|
+
let p = e("sha256");
|
|
17
|
+
for (let t of f) {
|
|
18
|
+
let r = o(d, t), i = e("sha256").update(n(r)).digest("hex");
|
|
19
|
+
p.update(`${t.length}:${t}\n`), p.update(`${i.length}:${i}\n`);
|
|
19
20
|
}
|
|
20
|
-
let
|
|
21
|
-
|
|
21
|
+
let m = p.digest("hex");
|
|
22
|
+
t(l, { recursive: !0 }), a(o(l, i), m + "\n", "utf8");
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
}
|
|
26
|
-
function
|
|
27
|
-
let t = [],
|
|
27
|
+
function c(e) {
|
|
28
|
+
let t = [], n = [{
|
|
28
29
|
abs: e,
|
|
29
30
|
rel: ""
|
|
30
31
|
}];
|
|
31
|
-
for (;
|
|
32
|
-
let { abs: e, rel:
|
|
32
|
+
for (; n.length > 0;) {
|
|
33
|
+
let { abs: e, rel: a } = n.pop(), s;
|
|
33
34
|
try {
|
|
34
|
-
s =
|
|
35
|
+
s = r(e);
|
|
35
36
|
} catch (e) {
|
|
36
37
|
if (e && typeof e == "object" && "code" in e && e.code === "ENOENT") return [];
|
|
37
38
|
throw e;
|
|
38
39
|
}
|
|
39
|
-
for (let
|
|
40
|
-
let s =
|
|
41
|
-
|
|
40
|
+
for (let r of s) {
|
|
41
|
+
let s = o(e, r), c = a ? `${a}/${r}` : r;
|
|
42
|
+
i(s).isDirectory() ? n.push({
|
|
42
43
|
abs: s,
|
|
43
44
|
rel: c
|
|
44
45
|
}) : t.push(c);
|
|
@@ -47,4 +48,4 @@ function s(e) {
|
|
|
47
48
|
return t;
|
|
48
49
|
}
|
|
49
50
|
//#endregion
|
|
50
|
-
export {
|
|
51
|
+
export { s as declarionFingerprintPlugin };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@declarion/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "React SDK for Declarion, the schema-driven business apps platform.",
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
"@radix-ui/react-slot": "^1.3.3",
|
|
68
68
|
"@tanstack/react-query": "^5.101.4",
|
|
69
69
|
"@tanstack/react-table": "^8.21.3",
|
|
70
|
-
"@tanstack/react-virtual": "^3.14.
|
|
70
|
+
"@tanstack/react-virtual": "^3.14.9",
|
|
71
71
|
"class-variance-authority": "^0.7.1",
|
|
72
72
|
"clsx": "^2.1.1",
|
|
73
73
|
"date-fns": "^4.4.0",
|
|
74
|
-
"lucide-react": "^1.
|
|
74
|
+
"lucide-react": "^1.30.0",
|
|
75
75
|
"mdast-util-to-string": "^4.0.0",
|
|
76
76
|
"monaco-editor": "^0.56.0",
|
|
77
77
|
"react-markdown": "^10.1.0",
|
|
@@ -94,24 +94,24 @@
|
|
|
94
94
|
"@testing-library/dom": "^10.4.1",
|
|
95
95
|
"@testing-library/jest-dom": "^7.0.0",
|
|
96
96
|
"@testing-library/react": "^16.3.2",
|
|
97
|
-
"@testing-library/user-event": "^14.6.
|
|
98
|
-
"@types/react": "^19.2.
|
|
99
|
-
"@types/react-dom": "^19.2.
|
|
100
|
-
"@vitejs/plugin-react": "^6.0.
|
|
97
|
+
"@testing-library/user-event": "^14.6.3",
|
|
98
|
+
"@types/react": "^19.2.18",
|
|
99
|
+
"@types/react-dom": "^19.2.4",
|
|
100
|
+
"@vitejs/plugin-react": "^6.0.5",
|
|
101
101
|
"@vitest/coverage-v8": "^4.1.10",
|
|
102
|
-
"axe-core": "^4.
|
|
103
|
-
"eslint": "^10.8.
|
|
102
|
+
"axe-core": "^4.13.0",
|
|
103
|
+
"eslint": "^10.8.1",
|
|
104
104
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
105
105
|
"jsdom": "^29.1.1",
|
|
106
106
|
"msw": "^2.15.0",
|
|
107
|
-
"publint": "^0.3.
|
|
107
|
+
"publint": "^0.3.23",
|
|
108
108
|
"react": "^19.2.8",
|
|
109
109
|
"react-dom": "^19.2.8",
|
|
110
110
|
"tailwindcss": "^4.3.3",
|
|
111
111
|
"tsc-alias": "^1.9.1",
|
|
112
112
|
"typescript": "^6.0.3",
|
|
113
|
-
"typescript-eslint": "^8.
|
|
114
|
-
"vite": "^8.1
|
|
113
|
+
"typescript-eslint": "^8.66.0",
|
|
114
|
+
"vite": "^8.2.1",
|
|
115
115
|
"vitest": "^4.1.10"
|
|
116
116
|
},
|
|
117
117
|
"scripts": {
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AgentTurnState } from "../../hooks/useAgentConversation";
|
|
2
|
-
export interface AgentVisualHintsProps {
|
|
3
|
-
turn: AgentTurnState;
|
|
4
|
-
navigate?: (path: string) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare function AgentVisualHints({ turn, navigate }: AgentVisualHintsProps): null;
|