@ai-matrx/agents 0.59.236 → 0.59.238
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/CHANGELOG.md +11 -2
- package/dist/context/react/index.cjs +10 -72
- package/dist/context/react/index.d.cts +4 -21
- package/dist/context/react/index.d.ts +4 -21
- package/dist/context/react/index.js +5 -67
- package/dist/generated/provision-offers.d.cts +1 -1
- package/dist/generated/provision-offers.d.ts +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.59.238
|
|
4
|
+
|
|
5
|
+
- **The context views never warn the person (Arman, 2026-10-22).** `ContextRulesChip` loses `mismatchCount` / `mismatches` (no amber face, no warning glyph, no "N · M" count); `ContextRulesTable` and `ContextRulesPanelBody` lose `mismatches` (no row marker, no "expected X, got Y" banner); `describeMismatches` is deleted. `compareReceipt` is unchanged — the host still files the silent `context_truth_mismatch`. A self-check row keeps its tooltip from `row.blockedBy`. Guard: `context/react/a-context-view-never-warns-the-person.test.tsx`. Consumer action: stop passing `mismatchCount` / `mismatches`.
|
|
6
|
+
|
|
7
|
+
## 0.59.237
|
|
8
|
+
|
|
9
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff 2db38eea90 f16d942650 -- apps/shared/matrx-agents/src`
|
|
10
|
+
has no shipped-source changes outside tests, fixtures and docs). No consumer action required.
|
|
11
|
+
|
|
3
12
|
## 0.59.236
|
|
4
13
|
|
|
5
|
-
|
|
6
|
-
|
|
14
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff 2aaf4949f7 2db38eea90 -- apps/shared/matrx-agents/src`
|
|
15
|
+
has no shipped-source changes outside tests, fixtures and docs). No consumer action required.
|
|
7
16
|
|
|
8
17
|
## 0.59.235
|
|
9
18
|
|
|
@@ -158,9 +158,6 @@ var RotateCcwIcon = sized(import_icons.RotateCcwIcon);
|
|
|
158
158
|
var ArrowDownToLineIcon = sized(import_icons.ArrowDownToLineIcon);
|
|
159
159
|
var MinusIcon = sized(import_icons.MinusIcon);
|
|
160
160
|
|
|
161
|
-
// context/react/ContextRulesTable.tsx
|
|
162
|
-
var import_icons6 = require("@ai-matrx/design-system/icons");
|
|
163
|
-
|
|
164
161
|
// context/react/hierarchy.ts
|
|
165
162
|
var AI_MATRX_LEVEL = { id: "ai_matrx", path: ["AI Matrx"], order: 900 };
|
|
166
163
|
var ATTACHED_LEVEL = { id: "attached", path: ["Attached"], order: 500 };
|
|
@@ -308,35 +305,6 @@ function withLimit(row, limit) {
|
|
|
308
305
|
function rowId(row) {
|
|
309
306
|
return `${row.surfaceKey}::${row.key}`;
|
|
310
307
|
}
|
|
311
|
-
function show(field, v) {
|
|
312
|
-
if (v === null || v === void 0) return "none";
|
|
313
|
-
if (typeof v === "boolean") return v ? "On" : "Off";
|
|
314
|
-
if (typeof v === "number") return formatLimit(v);
|
|
315
|
-
if (field === "delivery" || field === "missing") {
|
|
316
|
-
return DELIVERY_LABEL[v] ?? String(v);
|
|
317
|
-
}
|
|
318
|
-
if (typeof v === "object") {
|
|
319
|
-
const r = v;
|
|
320
|
-
const parts = [];
|
|
321
|
-
if (r.include !== void 0) parts.push(r.include ? "On" : "Off");
|
|
322
|
-
if (r.max_inline_chars !== void 0) parts.push(formatLimit(r.max_inline_chars));
|
|
323
|
-
return parts.join(", ") || "none";
|
|
324
|
-
}
|
|
325
|
-
return String(v);
|
|
326
|
-
}
|
|
327
|
-
var FIELD_LABEL = {
|
|
328
|
-
include: "Include",
|
|
329
|
-
max_inline_chars: "Inline max",
|
|
330
|
-
delivery: "Delivery",
|
|
331
|
-
user_rule: "Your rule",
|
|
332
|
-
missing: "Not sent"
|
|
333
|
-
};
|
|
334
|
-
function describeMismatches(list) {
|
|
335
|
-
const text = list.map(
|
|
336
|
-
(m) => m.reason === "self_check" ? SELF_CHECK_TOOLTIP : m.field === "missing" ? "Missing from the server's receipt" : `${FIELD_LABEL[m.field]}: expected ${show(m.field, m.expected)}, got ${show(m.field, m.actual)}`
|
|
337
|
-
).join(" \xB7 ");
|
|
338
|
-
return text.length > 140 ? `${text.slice(0, 139)}\u2026` : text;
|
|
339
|
-
}
|
|
340
308
|
function onRequestReason(row) {
|
|
341
309
|
if (row.chars === null) return "Size unknown \u2014 the agent reads it on request";
|
|
342
310
|
if (row.max_inline_chars === 0) return "Never inline \u2014 the agent reads it on request";
|
|
@@ -505,7 +473,6 @@ function ContextRulesTable({
|
|
|
505
473
|
rows,
|
|
506
474
|
cap,
|
|
507
475
|
readOnly,
|
|
508
|
-
mismatches,
|
|
509
476
|
onChange,
|
|
510
477
|
onOpenRow,
|
|
511
478
|
density = "compact",
|
|
@@ -537,7 +504,6 @@ function ContextRulesTable({
|
|
|
537
504
|
depth: headed ? depth : 0,
|
|
538
505
|
readOnly,
|
|
539
506
|
selected: selectedKey === row.key,
|
|
540
|
-
mismatches: mismatches?.filter((m) => m.key === row.key) ?? [],
|
|
541
507
|
onChange,
|
|
542
508
|
onOpenRow,
|
|
543
509
|
comfortable,
|
|
@@ -694,13 +660,12 @@ function ContextRuleRow({
|
|
|
694
660
|
comfortable,
|
|
695
661
|
readOnly,
|
|
696
662
|
selected,
|
|
697
|
-
mismatches,
|
|
698
663
|
onChange,
|
|
699
664
|
onOpenRow,
|
|
700
665
|
lead,
|
|
701
666
|
trail
|
|
702
667
|
}) {
|
|
703
|
-
const selfChecked = row.blockedBy === "self_check"
|
|
668
|
+
const selfChecked = row.blockedBy === "self_check";
|
|
704
669
|
const decided = selfChecked ? SELF_CHECK_TOOLTIP : row.serverResolved ? SERVER_RESOLVED_TOOLTIP : `Include: ${LAYER_LABEL[row.decided_by.include]} \xB7 Limit: ${LAYER_LABEL[row.decided_by.max_inline_chars]}`;
|
|
705
670
|
const labelNode = onOpenRow ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
706
671
|
"button",
|
|
@@ -719,7 +684,6 @@ function ContextRuleRow({
|
|
|
719
684
|
"data-server-resolved": row.serverResolved ? "true" : void 0,
|
|
720
685
|
"data-self-check": selfChecked ? "true" : void 0,
|
|
721
686
|
"data-included": row.include ? "true" : "false",
|
|
722
|
-
"data-mismatch": mismatches.length > 0 ? "true" : void 0,
|
|
723
687
|
"aria-selected": selected || void 0,
|
|
724
688
|
className: (0, import_design_system3.cn)(
|
|
725
689
|
grid,
|
|
@@ -738,18 +702,6 @@ function ContextRuleRow({
|
|
|
738
702
|
!row.include && "opacity-50"
|
|
739
703
|
),
|
|
740
704
|
children: [
|
|
741
|
-
mismatches.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_design_system3.Tooltip, { children: [
|
|
742
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_design_system3.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
743
|
-
"span",
|
|
744
|
-
{
|
|
745
|
-
role: "img",
|
|
746
|
-
"aria-label": "Mismatch",
|
|
747
|
-
className: "inline-flex shrink-0 text-warning",
|
|
748
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons6.AlertTriangleIcon, { className: "h-3.5 w-3.5" })
|
|
749
|
-
}
|
|
750
|
-
) }),
|
|
751
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_design_system3.TooltipContent, { children: describeMismatches(mismatches) })
|
|
752
|
-
] }) : null,
|
|
753
705
|
lead ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "inline-flex shrink-0 items-center", children: lead }) : null,
|
|
754
706
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_design_system3.Tooltip, { children: [
|
|
755
707
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_design_system3.TooltipTrigger, { asChild: true, children: labelNode }),
|
|
@@ -854,7 +806,7 @@ function InlineMaxButton({
|
|
|
854
806
|
var React3 = __toESM(require("react"), 1);
|
|
855
807
|
var import_controls = require("@ai-matrx/design-system/controls");
|
|
856
808
|
var import_design_system4 = require("@ai-matrx/design-system");
|
|
857
|
-
var
|
|
809
|
+
var import_icons7 = require("@ai-matrx/design-system/icons");
|
|
858
810
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
859
811
|
var BLIND_TOOLTIP = "This model can't read these values";
|
|
860
812
|
var BLIND_LABEL = "Not read";
|
|
@@ -892,9 +844,7 @@ function ContextRulesChip({
|
|
|
892
844
|
onChange,
|
|
893
845
|
onResetAll,
|
|
894
846
|
onOpenFullView,
|
|
895
|
-
mismatchCount = 0,
|
|
896
847
|
modelReadsContext = true,
|
|
897
|
-
mismatches,
|
|
898
848
|
onOpenRow,
|
|
899
849
|
isMobile,
|
|
900
850
|
readOnly,
|
|
@@ -915,7 +865,6 @@ function ContextRulesChip({
|
|
|
915
865
|
const faceName = name ? `${name} \xB7 ${count} included` : `${count} included`;
|
|
916
866
|
const anyOverride = rows.some(hasOverride);
|
|
917
867
|
const blind = !modelReadsContext;
|
|
918
|
-
const warn = mismatchCount > 0 && !blind;
|
|
919
868
|
const comfortable = !!isMobile;
|
|
920
869
|
const headerName = hierarchy ? "" : name;
|
|
921
870
|
const canMaster = !readOnly && on !== void 0 && onToggleAll !== void 0;
|
|
@@ -927,14 +876,12 @@ function ContextRulesChip({
|
|
|
927
876
|
variant,
|
|
928
877
|
"aria-label": faceName,
|
|
929
878
|
...name ? { title: name } : {},
|
|
930
|
-
...warn ? { "data-mismatch": "true" } : {},
|
|
931
879
|
...blind ? { "data-blind": "true" } : {},
|
|
932
880
|
...pressed !== void 0 ? { pressed } : {},
|
|
933
|
-
|
|
934
|
-
icon: eyeOpen ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(EyeIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons8.EyeOffIcon, {}),
|
|
881
|
+
icon: eyeOpen ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(EyeIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons7.EyeOffIcon, {}),
|
|
935
882
|
...isMobile ? { onClick: () => setOpen(true) } : {},
|
|
936
883
|
className: (0, import_design_system4.cn)("min-w-0", className),
|
|
937
|
-
children: `${name ? `${name} \xB7 ` : ""}${count}
|
|
884
|
+
children: `${name ? `${name} \xB7 ` : ""}${count}`
|
|
938
885
|
}
|
|
939
886
|
);
|
|
940
887
|
const faceTip = blind ? BLIND_TOOLTIP : name ? null : faceName;
|
|
@@ -958,7 +905,7 @@ function ContextRulesChip({
|
|
|
958
905
|
comfortable ? "h-12" : "h-10"
|
|
959
906
|
),
|
|
960
907
|
children: [
|
|
961
|
-
eyeOpen ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(EyeIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
908
|
+
eyeOpen ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(EyeIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons7.EyeOffIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
962
909
|
headerName ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "min-w-0 truncate text-sm font-medium", children: headerName }) : null,
|
|
963
910
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: `${count} \xB7 ${charsLabel} chars` }),
|
|
964
911
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "ml-auto flex shrink-0 items-center gap-0.5", children: [
|
|
@@ -983,7 +930,7 @@ function ContextRulesChip({
|
|
|
983
930
|
setOpen(false);
|
|
984
931
|
onOpenFullView();
|
|
985
932
|
},
|
|
986
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
933
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons7.PanelRightIcon, { className: "h-3.5 w-3.5" })
|
|
987
934
|
}
|
|
988
935
|
)
|
|
989
936
|
] })
|
|
@@ -1000,7 +947,6 @@ function ContextRulesChip({
|
|
|
1000
947
|
onChange,
|
|
1001
948
|
hierarchy,
|
|
1002
949
|
onSetInclude,
|
|
1003
|
-
...mismatches ? { mismatches } : {},
|
|
1004
950
|
...onOpenRow ? { onOpenRow } : {}
|
|
1005
951
|
}
|
|
1006
952
|
) })
|
|
@@ -1029,7 +975,7 @@ function ContextRulesChip({
|
|
|
1029
975
|
// context/react/ContextRulesPanelBody.tsx
|
|
1030
976
|
var React5 = __toESM(require("react"), 1);
|
|
1031
977
|
var import_design_system7 = require("@ai-matrx/design-system");
|
|
1032
|
-
var
|
|
978
|
+
var import_icons8 = require("@ai-matrx/design-system/icons");
|
|
1033
979
|
|
|
1034
980
|
// context/react/ContextDeliveredValue.tsx
|
|
1035
981
|
var React4 = __toESM(require("react"), 1);
|
|
@@ -1312,7 +1258,6 @@ function RowDetail({
|
|
|
1312
1258
|
row,
|
|
1313
1259
|
cap,
|
|
1314
1260
|
readOnly,
|
|
1315
|
-
mismatches,
|
|
1316
1261
|
onChange,
|
|
1317
1262
|
renderDetail,
|
|
1318
1263
|
comfortable,
|
|
@@ -1323,10 +1268,6 @@ function RowDetail({
|
|
|
1323
1268
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("h3", { className: "min-w-0 truncate text-sm font-medium", children: row.label }),
|
|
1324
1269
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: `${formatChars(row.chars)} chars \xB7 ${DELIVERY_LABEL[row.delivery]}` })
|
|
1325
1270
|
] }),
|
|
1326
|
-
mismatches.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-start gap-1.5 rounded-md border border-warning/40 bg-warning/10 px-2 py-1.5 text-xs text-warning", children: [
|
|
1327
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons9.AlertTriangleIcon, { className: "mt-0.5 h-3.5 w-3.5 shrink-0" }),
|
|
1328
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: describeMismatches(mismatches) })
|
|
1329
|
-
] }) : null,
|
|
1330
1271
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "grid grid-cols-[auto_1fr] items-center gap-x-4 gap-y-2 text-xs", children: [
|
|
1331
1272
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-muted-foreground", children: "Include" }),
|
|
1332
1273
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: (0, import_design_system7.cn)("flex items-center", comfortable ? "h-11" : "h-7"), children: readOnly ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FrozenInclude, { name: row.label, checked: row.include }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
@@ -1361,7 +1302,6 @@ function RowDetail({
|
|
|
1361
1302
|
function ContextRulesPanelBody({
|
|
1362
1303
|
rows,
|
|
1363
1304
|
cap,
|
|
1364
|
-
mismatches,
|
|
1365
1305
|
blocks,
|
|
1366
1306
|
loadView,
|
|
1367
1307
|
readOnly,
|
|
@@ -1398,7 +1338,7 @@ function ContextRulesPanelBody({
|
|
|
1398
1338
|
const selected = !openedBlock && selectedKey ? rows.find((r) => r.key === selectedKey) ?? null : null;
|
|
1399
1339
|
const comfortable = !!isMobile;
|
|
1400
1340
|
const search = /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "relative shrink-0 border-b border-border p-2", children: [
|
|
1401
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1341
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons8.SearchIcon, { className: "pointer-events-none absolute left-4 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground" }),
|
|
1402
1342
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1403
1343
|
import_design_system7.Input,
|
|
1404
1344
|
{
|
|
@@ -1423,8 +1363,7 @@ function ContextRulesPanelBody({
|
|
|
1423
1363
|
onChange,
|
|
1424
1364
|
hierarchy,
|
|
1425
1365
|
onSetInclude,
|
|
1426
|
-
onOpenRow: (key) => select(key)
|
|
1427
|
-
...mismatches ? { mismatches } : {}
|
|
1366
|
+
onOpenRow: (key) => select(key)
|
|
1428
1367
|
}
|
|
1429
1368
|
),
|
|
1430
1369
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
@@ -1443,7 +1382,6 @@ function ContextRulesPanelBody({
|
|
|
1443
1382
|
row: selected,
|
|
1444
1383
|
cap,
|
|
1445
1384
|
readOnly,
|
|
1446
|
-
mismatches: mismatches?.filter((m) => m.key === selected.key) ?? [],
|
|
1447
1385
|
onChange,
|
|
1448
1386
|
renderDetail,
|
|
1449
1387
|
comfortable,
|
|
@@ -1485,7 +1423,7 @@ function ContextRulesPanelBody({
|
|
|
1485
1423
|
comfortable ? "h-11 text-sm" : "h-7 text-xs"
|
|
1486
1424
|
),
|
|
1487
1425
|
children: [
|
|
1488
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1426
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons8.ChevronLeftIcon, { className: comfortable ? "h-4 w-4" : "h-3.5 w-3.5" }),
|
|
1489
1427
|
"Back"
|
|
1490
1428
|
]
|
|
1491
1429
|
}
|
|
@@ -166,18 +166,6 @@ interface ResolvedContextRow extends Omit<ContextRuleResult, "delivery"> {
|
|
|
166
166
|
/** The non-person layers the rule was resolved from. Absent = default only. */
|
|
167
167
|
layers?: ContextRuleLayers;
|
|
168
168
|
}
|
|
169
|
-
interface ContextReceiptMismatch {
|
|
170
|
-
key: string;
|
|
171
|
-
field: "include" | "max_inline_chars" | "delivery" | "user_rule" | "missing";
|
|
172
|
-
expected: unknown;
|
|
173
|
-
actual: unknown;
|
|
174
|
-
/**
|
|
175
|
-
* `"self_check"`: a real difference from what was shown — the server's
|
|
176
|
-
* safety check stripped the value before the model call. Say "removed by
|
|
177
|
-
* the server's safety check", not "the screen was wrong".
|
|
178
|
-
*/
|
|
179
|
-
reason?: "self_check";
|
|
180
|
-
}
|
|
181
169
|
|
|
182
170
|
/**
|
|
183
171
|
* THE HIERARCHY of the context rules table — where each value sits, and the
|
|
@@ -273,8 +261,6 @@ interface ContextRulesTableProps {
|
|
|
273
261
|
rows: readonly ResolvedContextRow[];
|
|
274
262
|
cap: number;
|
|
275
263
|
readOnly?: boolean | undefined;
|
|
276
|
-
/** From `compareReceipt` — rows with a mismatch get an amber marker. */
|
|
277
|
-
mismatches?: readonly ContextReceiptMismatch[];
|
|
278
264
|
/** `next === null` resets the person's rule for that key. */
|
|
279
265
|
onChange: (key: string, surfaceKey: string, next: SavedContextRule | null) => void;
|
|
280
266
|
onOpenRow?: (key: string) => void;
|
|
@@ -308,7 +294,7 @@ interface ContextRulesTableProps {
|
|
|
308
294
|
* page's own groups — each heading full width with its switch. Presentational
|
|
309
295
|
* and state-agnostic — every edit goes out through `onChange`.
|
|
310
296
|
*/
|
|
311
|
-
declare function ContextRulesTable({ rows, cap, readOnly,
|
|
297
|
+
declare function ContextRulesTable({ rows, cap, readOnly, onChange, onOpenRow, density, selectedKey, hierarchy, onSetInclude, renderRowLead, renderRowTrail, className, }: ContextRulesTableProps): React.JSX.Element;
|
|
312
298
|
|
|
313
299
|
/**
|
|
314
300
|
* The header's "N · chars" total. A row whose size is not known yet (an
|
|
@@ -342,13 +328,11 @@ interface ContextRulesChipProps {
|
|
|
342
328
|
/** Levels and groups with a switch each (see `ContextRulesTable`). */
|
|
343
329
|
hierarchy?: ContextHierarchy | null | undefined;
|
|
344
330
|
onSetInclude?: ((changes: ContextRuleChange[]) => void) | undefined;
|
|
345
|
-
/** False: this turn's model cannot read context — muted face
|
|
331
|
+
/** False: this turn's model cannot read context — muted face. */
|
|
346
332
|
modelReadsContext?: boolean | undefined;
|
|
347
333
|
onChange: (key: string, surfaceKey: string, next: SavedContextRule | null) => void;
|
|
348
334
|
onResetAll: () => void;
|
|
349
335
|
onOpenFullView: () => void;
|
|
350
|
-
mismatchCount?: number;
|
|
351
|
-
mismatches?: readonly ContextReceiptMismatch[];
|
|
352
336
|
onOpenRow?: (key: string) => void;
|
|
353
337
|
/** Bottom sheet instead of a popover. */
|
|
354
338
|
isMobile?: boolean;
|
|
@@ -371,12 +355,11 @@ interface ContextRulesChipProps {
|
|
|
371
355
|
* "N · chars" summary, page master switch, reset-all, full view) over the
|
|
372
356
|
* compact rules table. Popover on desktop, bottom sheet on mobile.
|
|
373
357
|
*/
|
|
374
|
-
declare function ContextRulesChip({ label, rows, cap, on, onToggleAll, hierarchy, onSetInclude, onChange, onResetAll, onOpenFullView,
|
|
358
|
+
declare function ContextRulesChip({ label, rows, cap, on, onToggleAll, hierarchy, onSetInclude, onChange, onResetAll, onOpenFullView, modelReadsContext, onOpenRow, isMobile, readOnly, open: openProp, onOpenChange, pressed, className, variant, }: ContextRulesChipProps): React.JSX.Element;
|
|
375
359
|
|
|
376
360
|
interface ContextRulesPanelBodyProps {
|
|
377
361
|
rows: readonly ResolvedContextRow[];
|
|
378
362
|
cap: number;
|
|
379
|
-
mismatches?: readonly ContextReceiptMismatch[];
|
|
380
363
|
/** The latest receipt's `blocks`: listed read-only under "Also sent". */
|
|
381
364
|
blocks?: readonly ContextReceiptBlock[];
|
|
382
365
|
/** The viewer door (RULES.md §5b): fetches a value's or block's exact text when it opens. */
|
|
@@ -400,7 +383,7 @@ interface ContextRulesPanelBodyProps {
|
|
|
400
383
|
* list is the whole panel. Open and wide (≥ 40rem): list beside detail. Open
|
|
401
384
|
* and narrow (or `isMobile`): the detail alone, with Back to the list.
|
|
402
385
|
*/
|
|
403
|
-
declare function ContextRulesPanelBody({ rows, cap,
|
|
386
|
+
declare function ContextRulesPanelBody({ rows, cap, blocks, loadView, readOnly, onChange, hierarchy, onSetInclude, renderDetail, isMobile, selectedKey: selectedProp, onSelectedKeyChange, className, }: ContextRulesPanelBodyProps): React.JSX.Element;
|
|
404
387
|
|
|
405
388
|
interface InlineMaxInputProps {
|
|
406
389
|
/** The person's own limit, or null when inherited. */
|
|
@@ -166,18 +166,6 @@ interface ResolvedContextRow extends Omit<ContextRuleResult, "delivery"> {
|
|
|
166
166
|
/** The non-person layers the rule was resolved from. Absent = default only. */
|
|
167
167
|
layers?: ContextRuleLayers;
|
|
168
168
|
}
|
|
169
|
-
interface ContextReceiptMismatch {
|
|
170
|
-
key: string;
|
|
171
|
-
field: "include" | "max_inline_chars" | "delivery" | "user_rule" | "missing";
|
|
172
|
-
expected: unknown;
|
|
173
|
-
actual: unknown;
|
|
174
|
-
/**
|
|
175
|
-
* `"self_check"`: a real difference from what was shown — the server's
|
|
176
|
-
* safety check stripped the value before the model call. Say "removed by
|
|
177
|
-
* the server's safety check", not "the screen was wrong".
|
|
178
|
-
*/
|
|
179
|
-
reason?: "self_check";
|
|
180
|
-
}
|
|
181
169
|
|
|
182
170
|
/**
|
|
183
171
|
* THE HIERARCHY of the context rules table — where each value sits, and the
|
|
@@ -273,8 +261,6 @@ interface ContextRulesTableProps {
|
|
|
273
261
|
rows: readonly ResolvedContextRow[];
|
|
274
262
|
cap: number;
|
|
275
263
|
readOnly?: boolean | undefined;
|
|
276
|
-
/** From `compareReceipt` — rows with a mismatch get an amber marker. */
|
|
277
|
-
mismatches?: readonly ContextReceiptMismatch[];
|
|
278
264
|
/** `next === null` resets the person's rule for that key. */
|
|
279
265
|
onChange: (key: string, surfaceKey: string, next: SavedContextRule | null) => void;
|
|
280
266
|
onOpenRow?: (key: string) => void;
|
|
@@ -308,7 +294,7 @@ interface ContextRulesTableProps {
|
|
|
308
294
|
* page's own groups — each heading full width with its switch. Presentational
|
|
309
295
|
* and state-agnostic — every edit goes out through `onChange`.
|
|
310
296
|
*/
|
|
311
|
-
declare function ContextRulesTable({ rows, cap, readOnly,
|
|
297
|
+
declare function ContextRulesTable({ rows, cap, readOnly, onChange, onOpenRow, density, selectedKey, hierarchy, onSetInclude, renderRowLead, renderRowTrail, className, }: ContextRulesTableProps): React.JSX.Element;
|
|
312
298
|
|
|
313
299
|
/**
|
|
314
300
|
* The header's "N · chars" total. A row whose size is not known yet (an
|
|
@@ -342,13 +328,11 @@ interface ContextRulesChipProps {
|
|
|
342
328
|
/** Levels and groups with a switch each (see `ContextRulesTable`). */
|
|
343
329
|
hierarchy?: ContextHierarchy | null | undefined;
|
|
344
330
|
onSetInclude?: ((changes: ContextRuleChange[]) => void) | undefined;
|
|
345
|
-
/** False: this turn's model cannot read context — muted face
|
|
331
|
+
/** False: this turn's model cannot read context — muted face. */
|
|
346
332
|
modelReadsContext?: boolean | undefined;
|
|
347
333
|
onChange: (key: string, surfaceKey: string, next: SavedContextRule | null) => void;
|
|
348
334
|
onResetAll: () => void;
|
|
349
335
|
onOpenFullView: () => void;
|
|
350
|
-
mismatchCount?: number;
|
|
351
|
-
mismatches?: readonly ContextReceiptMismatch[];
|
|
352
336
|
onOpenRow?: (key: string) => void;
|
|
353
337
|
/** Bottom sheet instead of a popover. */
|
|
354
338
|
isMobile?: boolean;
|
|
@@ -371,12 +355,11 @@ interface ContextRulesChipProps {
|
|
|
371
355
|
* "N · chars" summary, page master switch, reset-all, full view) over the
|
|
372
356
|
* compact rules table. Popover on desktop, bottom sheet on mobile.
|
|
373
357
|
*/
|
|
374
|
-
declare function ContextRulesChip({ label, rows, cap, on, onToggleAll, hierarchy, onSetInclude, onChange, onResetAll, onOpenFullView,
|
|
358
|
+
declare function ContextRulesChip({ label, rows, cap, on, onToggleAll, hierarchy, onSetInclude, onChange, onResetAll, onOpenFullView, modelReadsContext, onOpenRow, isMobile, readOnly, open: openProp, onOpenChange, pressed, className, variant, }: ContextRulesChipProps): React.JSX.Element;
|
|
375
359
|
|
|
376
360
|
interface ContextRulesPanelBodyProps {
|
|
377
361
|
rows: readonly ResolvedContextRow[];
|
|
378
362
|
cap: number;
|
|
379
|
-
mismatches?: readonly ContextReceiptMismatch[];
|
|
380
363
|
/** The latest receipt's `blocks`: listed read-only under "Also sent". */
|
|
381
364
|
blocks?: readonly ContextReceiptBlock[];
|
|
382
365
|
/** The viewer door (RULES.md §5b): fetches a value's or block's exact text when it opens. */
|
|
@@ -400,7 +383,7 @@ interface ContextRulesPanelBodyProps {
|
|
|
400
383
|
* list is the whole panel. Open and wide (≥ 40rem): list beside detail. Open
|
|
401
384
|
* and narrow (or `isMobile`): the detail alone, with Back to the list.
|
|
402
385
|
*/
|
|
403
|
-
declare function ContextRulesPanelBody({ rows, cap,
|
|
386
|
+
declare function ContextRulesPanelBody({ rows, cap, blocks, loadView, readOnly, onChange, hierarchy, onSetInclude, renderDetail, isMobile, selectedKey: selectedProp, onSelectedKeyChange, className, }: ContextRulesPanelBodyProps): React.JSX.Element;
|
|
404
387
|
|
|
405
388
|
interface InlineMaxInputProps {
|
|
406
389
|
/** The person's own limit, or null when inherited. */
|
|
@@ -122,9 +122,6 @@ var RotateCcwIcon = sized(GRotateCcwIcon);
|
|
|
122
122
|
var ArrowDownToLineIcon = sized(GArrowDownToLineIcon);
|
|
123
123
|
var MinusIcon = sized(GMinusIcon);
|
|
124
124
|
|
|
125
|
-
// context/react/ContextRulesTable.tsx
|
|
126
|
-
import { AlertTriangleIcon } from "@ai-matrx/design-system/icons";
|
|
127
|
-
|
|
128
125
|
// context/react/hierarchy.ts
|
|
129
126
|
var AI_MATRX_LEVEL = { id: "ai_matrx", path: ["AI Matrx"], order: 900 };
|
|
130
127
|
var ATTACHED_LEVEL = { id: "attached", path: ["Attached"], order: 500 };
|
|
@@ -278,35 +275,6 @@ function withLimit(row, limit) {
|
|
|
278
275
|
function rowId(row) {
|
|
279
276
|
return `${row.surfaceKey}::${row.key}`;
|
|
280
277
|
}
|
|
281
|
-
function show(field, v) {
|
|
282
|
-
if (v === null || v === void 0) return "none";
|
|
283
|
-
if (typeof v === "boolean") return v ? "On" : "Off";
|
|
284
|
-
if (typeof v === "number") return formatLimit(v);
|
|
285
|
-
if (field === "delivery" || field === "missing") {
|
|
286
|
-
return DELIVERY_LABEL[v] ?? String(v);
|
|
287
|
-
}
|
|
288
|
-
if (typeof v === "object") {
|
|
289
|
-
const r = v;
|
|
290
|
-
const parts = [];
|
|
291
|
-
if (r.include !== void 0) parts.push(r.include ? "On" : "Off");
|
|
292
|
-
if (r.max_inline_chars !== void 0) parts.push(formatLimit(r.max_inline_chars));
|
|
293
|
-
return parts.join(", ") || "none";
|
|
294
|
-
}
|
|
295
|
-
return String(v);
|
|
296
|
-
}
|
|
297
|
-
var FIELD_LABEL = {
|
|
298
|
-
include: "Include",
|
|
299
|
-
max_inline_chars: "Inline max",
|
|
300
|
-
delivery: "Delivery",
|
|
301
|
-
user_rule: "Your rule",
|
|
302
|
-
missing: "Not sent"
|
|
303
|
-
};
|
|
304
|
-
function describeMismatches(list) {
|
|
305
|
-
const text = list.map(
|
|
306
|
-
(m) => m.reason === "self_check" ? SELF_CHECK_TOOLTIP : m.field === "missing" ? "Missing from the server's receipt" : `${FIELD_LABEL[m.field]}: expected ${show(m.field, m.expected)}, got ${show(m.field, m.actual)}`
|
|
307
|
-
).join(" \xB7 ");
|
|
308
|
-
return text.length > 140 ? `${text.slice(0, 139)}\u2026` : text;
|
|
309
|
-
}
|
|
310
278
|
function onRequestReason(row) {
|
|
311
279
|
if (row.chars === null) return "Size unknown \u2014 the agent reads it on request";
|
|
312
280
|
if (row.max_inline_chars === 0) return "Never inline \u2014 the agent reads it on request";
|
|
@@ -475,7 +443,6 @@ function ContextRulesTable({
|
|
|
475
443
|
rows,
|
|
476
444
|
cap,
|
|
477
445
|
readOnly,
|
|
478
|
-
mismatches,
|
|
479
446
|
onChange,
|
|
480
447
|
onOpenRow,
|
|
481
448
|
density = "compact",
|
|
@@ -507,7 +474,6 @@ function ContextRulesTable({
|
|
|
507
474
|
depth: headed ? depth : 0,
|
|
508
475
|
readOnly,
|
|
509
476
|
selected: selectedKey === row.key,
|
|
510
|
-
mismatches: mismatches?.filter((m) => m.key === row.key) ?? [],
|
|
511
477
|
onChange,
|
|
512
478
|
onOpenRow,
|
|
513
479
|
comfortable,
|
|
@@ -664,13 +630,12 @@ function ContextRuleRow({
|
|
|
664
630
|
comfortable,
|
|
665
631
|
readOnly,
|
|
666
632
|
selected,
|
|
667
|
-
mismatches,
|
|
668
633
|
onChange,
|
|
669
634
|
onOpenRow,
|
|
670
635
|
lead,
|
|
671
636
|
trail
|
|
672
637
|
}) {
|
|
673
|
-
const selfChecked = row.blockedBy === "self_check"
|
|
638
|
+
const selfChecked = row.blockedBy === "self_check";
|
|
674
639
|
const decided = selfChecked ? SELF_CHECK_TOOLTIP : row.serverResolved ? SERVER_RESOLVED_TOOLTIP : `Include: ${LAYER_LABEL[row.decided_by.include]} \xB7 Limit: ${LAYER_LABEL[row.decided_by.max_inline_chars]}`;
|
|
675
640
|
const labelNode = onOpenRow ? /* @__PURE__ */ jsx3(
|
|
676
641
|
"button",
|
|
@@ -689,7 +654,6 @@ function ContextRuleRow({
|
|
|
689
654
|
"data-server-resolved": row.serverResolved ? "true" : void 0,
|
|
690
655
|
"data-self-check": selfChecked ? "true" : void 0,
|
|
691
656
|
"data-included": row.include ? "true" : "false",
|
|
692
|
-
"data-mismatch": mismatches.length > 0 ? "true" : void 0,
|
|
693
657
|
"aria-selected": selected || void 0,
|
|
694
658
|
className: cn3(
|
|
695
659
|
grid,
|
|
@@ -708,18 +672,6 @@ function ContextRuleRow({
|
|
|
708
672
|
!row.include && "opacity-50"
|
|
709
673
|
),
|
|
710
674
|
children: [
|
|
711
|
-
mismatches.length > 0 ? /* @__PURE__ */ jsxs3(Tooltip3, { children: [
|
|
712
|
-
/* @__PURE__ */ jsx3(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx3(
|
|
713
|
-
"span",
|
|
714
|
-
{
|
|
715
|
-
role: "img",
|
|
716
|
-
"aria-label": "Mismatch",
|
|
717
|
-
className: "inline-flex shrink-0 text-warning",
|
|
718
|
-
children: /* @__PURE__ */ jsx3(AlertTriangleIcon, { className: "h-3.5 w-3.5" })
|
|
719
|
-
}
|
|
720
|
-
) }),
|
|
721
|
-
/* @__PURE__ */ jsx3(TooltipContent3, { children: describeMismatches(mismatches) })
|
|
722
|
-
] }) : null,
|
|
723
675
|
lead ? /* @__PURE__ */ jsx3("span", { className: "inline-flex shrink-0 items-center", children: lead }) : null,
|
|
724
676
|
/* @__PURE__ */ jsxs3(Tooltip3, { children: [
|
|
725
677
|
/* @__PURE__ */ jsx3(TooltipTrigger3, { asChild: true, children: labelNode }),
|
|
@@ -835,7 +787,7 @@ import {
|
|
|
835
787
|
TooltipTrigger as TooltipTrigger4,
|
|
836
788
|
cn as cn4
|
|
837
789
|
} from "@ai-matrx/design-system";
|
|
838
|
-
import {
|
|
790
|
+
import { EyeOffIcon, PanelRightIcon } from "@ai-matrx/design-system/icons";
|
|
839
791
|
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
840
792
|
var BLIND_TOOLTIP = "This model can't read these values";
|
|
841
793
|
var BLIND_LABEL = "Not read";
|
|
@@ -873,9 +825,7 @@ function ContextRulesChip({
|
|
|
873
825
|
onChange,
|
|
874
826
|
onResetAll,
|
|
875
827
|
onOpenFullView,
|
|
876
|
-
mismatchCount = 0,
|
|
877
828
|
modelReadsContext = true,
|
|
878
|
-
mismatches,
|
|
879
829
|
onOpenRow,
|
|
880
830
|
isMobile,
|
|
881
831
|
readOnly,
|
|
@@ -896,7 +846,6 @@ function ContextRulesChip({
|
|
|
896
846
|
const faceName = name ? `${name} \xB7 ${count} included` : `${count} included`;
|
|
897
847
|
const anyOverride = rows.some(hasOverride);
|
|
898
848
|
const blind = !modelReadsContext;
|
|
899
|
-
const warn = mismatchCount > 0 && !blind;
|
|
900
849
|
const comfortable = !!isMobile;
|
|
901
850
|
const headerName = hierarchy ? "" : name;
|
|
902
851
|
const canMaster = !readOnly && on !== void 0 && onToggleAll !== void 0;
|
|
@@ -908,14 +857,12 @@ function ContextRulesChip({
|
|
|
908
857
|
variant,
|
|
909
858
|
"aria-label": faceName,
|
|
910
859
|
...name ? { title: name } : {},
|
|
911
|
-
...warn ? { "data-mismatch": "true" } : {},
|
|
912
860
|
...blind ? { "data-blind": "true" } : {},
|
|
913
861
|
...pressed !== void 0 ? { pressed } : {},
|
|
914
|
-
...warn ? { tone: "warning", glyphTone: "warning", iconEnd: /* @__PURE__ */ jsx4(AlertTriangleIcon2, {}) } : {},
|
|
915
862
|
icon: eyeOpen ? /* @__PURE__ */ jsx4(EyeIcon, {}) : /* @__PURE__ */ jsx4(EyeOffIcon, {}),
|
|
916
863
|
...isMobile ? { onClick: () => setOpen(true) } : {},
|
|
917
864
|
className: cn4("min-w-0", className),
|
|
918
|
-
children: `${name ? `${name} \xB7 ` : ""}${count}
|
|
865
|
+
children: `${name ? `${name} \xB7 ` : ""}${count}`
|
|
919
866
|
}
|
|
920
867
|
);
|
|
921
868
|
const faceTip = blind ? BLIND_TOOLTIP : name ? null : faceName;
|
|
@@ -981,7 +928,6 @@ function ContextRulesChip({
|
|
|
981
928
|
onChange,
|
|
982
929
|
hierarchy,
|
|
983
930
|
onSetInclude,
|
|
984
|
-
...mismatches ? { mismatches } : {},
|
|
985
931
|
...onOpenRow ? { onOpenRow } : {}
|
|
986
932
|
}
|
|
987
933
|
) })
|
|
@@ -1015,7 +961,7 @@ import {
|
|
|
1015
961
|
TooltipProvider as TooltipProvider4,
|
|
1016
962
|
cn as cn7
|
|
1017
963
|
} from "@ai-matrx/design-system";
|
|
1018
|
-
import {
|
|
964
|
+
import { ChevronLeftIcon, SearchIcon } from "@ai-matrx/design-system/icons";
|
|
1019
965
|
|
|
1020
966
|
// context/react/ContextDeliveredValue.tsx
|
|
1021
967
|
import * as React4 from "react";
|
|
@@ -1298,7 +1244,6 @@ function RowDetail({
|
|
|
1298
1244
|
row,
|
|
1299
1245
|
cap,
|
|
1300
1246
|
readOnly,
|
|
1301
|
-
mismatches,
|
|
1302
1247
|
onChange,
|
|
1303
1248
|
renderDetail,
|
|
1304
1249
|
comfortable,
|
|
@@ -1309,10 +1254,6 @@ function RowDetail({
|
|
|
1309
1254
|
/* @__PURE__ */ jsx7("h3", { className: "min-w-0 truncate text-sm font-medium", children: row.label }),
|
|
1310
1255
|
/* @__PURE__ */ jsx7("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: `${formatChars(row.chars)} chars \xB7 ${DELIVERY_LABEL[row.delivery]}` })
|
|
1311
1256
|
] }),
|
|
1312
|
-
mismatches.length > 0 ? /* @__PURE__ */ jsxs7("div", { className: "flex items-start gap-1.5 rounded-md border border-warning/40 bg-warning/10 px-2 py-1.5 text-xs text-warning", children: [
|
|
1313
|
-
/* @__PURE__ */ jsx7(AlertTriangleIcon3, { className: "mt-0.5 h-3.5 w-3.5 shrink-0" }),
|
|
1314
|
-
/* @__PURE__ */ jsx7("span", { children: describeMismatches(mismatches) })
|
|
1315
|
-
] }) : null,
|
|
1316
1257
|
/* @__PURE__ */ jsxs7("div", { className: "grid grid-cols-[auto_1fr] items-center gap-x-4 gap-y-2 text-xs", children: [
|
|
1317
1258
|
/* @__PURE__ */ jsx7("span", { className: "text-muted-foreground", children: "Include" }),
|
|
1318
1259
|
/* @__PURE__ */ jsx7("div", { className: cn7("flex items-center", comfortable ? "h-11" : "h-7"), children: readOnly ? /* @__PURE__ */ jsx7(FrozenInclude, { name: row.label, checked: row.include }) : /* @__PURE__ */ jsx7(
|
|
@@ -1347,7 +1288,6 @@ function RowDetail({
|
|
|
1347
1288
|
function ContextRulesPanelBody({
|
|
1348
1289
|
rows,
|
|
1349
1290
|
cap,
|
|
1350
|
-
mismatches,
|
|
1351
1291
|
blocks,
|
|
1352
1292
|
loadView,
|
|
1353
1293
|
readOnly,
|
|
@@ -1409,8 +1349,7 @@ function ContextRulesPanelBody({
|
|
|
1409
1349
|
onChange,
|
|
1410
1350
|
hierarchy,
|
|
1411
1351
|
onSetInclude,
|
|
1412
|
-
onOpenRow: (key) => select(key)
|
|
1413
|
-
...mismatches ? { mismatches } : {}
|
|
1352
|
+
onOpenRow: (key) => select(key)
|
|
1414
1353
|
}
|
|
1415
1354
|
),
|
|
1416
1355
|
/* @__PURE__ */ jsx7(
|
|
@@ -1429,7 +1368,6 @@ function ContextRulesPanelBody({
|
|
|
1429
1368
|
row: selected,
|
|
1430
1369
|
cap,
|
|
1431
1370
|
readOnly,
|
|
1432
|
-
mismatches: mismatches?.filter((m) => m.key === selected.key) ?? [],
|
|
1433
1371
|
onChange,
|
|
1434
1372
|
renderDetail,
|
|
1435
1373
|
comfortable,
|
|
@@ -8401,7 +8401,7 @@ interface ContentPlanPlanShapeOffer {
|
|
|
8401
8401
|
site_context?: string;
|
|
8402
8402
|
archetype_options: unknown;
|
|
8403
8403
|
current_plan_summary?: string;
|
|
8404
|
-
target_page_count?:
|
|
8404
|
+
target_page_count?: string;
|
|
8405
8405
|
}
|
|
8406
8406
|
/** Offered shape of provision `content_plan.research_wave` (kind `content_plan.research_wave.offer`). */
|
|
8407
8407
|
interface ContentPlanResearchWaveOffer {
|
|
@@ -8401,7 +8401,7 @@ interface ContentPlanPlanShapeOffer {
|
|
|
8401
8401
|
site_context?: string;
|
|
8402
8402
|
archetype_options: unknown;
|
|
8403
8403
|
current_plan_summary?: string;
|
|
8404
|
-
target_page_count?:
|
|
8404
|
+
target_page_count?: string;
|
|
8405
8405
|
}
|
|
8406
8406
|
/** Offered shape of provision `content_plan.research_wave` (kind `content_plan.research_wave.offer`). */
|
|
8407
8407
|
interface ContentPlanResearchWaveOffer {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-matrx/agents",
|
|
3
|
-
"version": "0.59.
|
|
3
|
+
"version": "0.59.238",
|
|
4
4
|
"description": "Portable AI Matrx agent stream protocol, event projection, and safe result-presentation primitives.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -511,9 +511,9 @@
|
|
|
511
511
|
"@ai-matrx/alchemy": "latest",
|
|
512
512
|
"@ai-matrx/api": "latest",
|
|
513
513
|
"@ai-matrx/associations": "latest",
|
|
514
|
-
"@ai-matrx/design-system": "latest",
|
|
515
|
-
"@ai-matrx/data": "latest",
|
|
516
514
|
"@ai-matrx/content-ir": "latest",
|
|
515
|
+
"@ai-matrx/data": "latest",
|
|
516
|
+
"@ai-matrx/design-system": "latest",
|
|
517
517
|
"@ai-matrx/diff": "latest",
|
|
518
518
|
"@ai-matrx/icons": "latest",
|
|
519
519
|
"@ai-matrx/kit": "latest"
|
|
@@ -561,5 +561,5 @@
|
|
|
561
561
|
"verify:tarball": "node ./scripts/verify-tarball.mjs",
|
|
562
562
|
"typegen:self-test": "node scripts/typegen/drop-guard.self-test.mjs && node scripts/typegen/check-api-types-fresh.mjs --self-test"
|
|
563
563
|
},
|
|
564
|
-
"gitHead": "
|
|
564
|
+
"gitHead": "9df14659778c1a3b93c2c09bddcdc93b145ca736"
|
|
565
565
|
}
|