@ai-matrx/agents 0.59.241 → 0.59.243
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/catalog/native/index.cjs +4 -4
- package/dist/catalog/native/index.d.cts +2 -2
- package/dist/catalog/native/index.d.ts +2 -2
- package/dist/catalog/native/index.js +4 -4
- package/dist/catalog/react/index.cjs +7 -7
- package/dist/catalog/react/index.d.cts +2 -2
- package/dist/catalog/react/index.d.ts +2 -2
- package/dist/catalog/react/index.js +7 -7
- package/dist/models/index.cjs +4 -2
- package/dist/models/index.d.cts +13 -8
- package/dist/models/index.d.ts +13 -8
- package/dist/models/index.js +4 -2
- package/dist/models/react/index.d.cts +1 -1
- package/dist/models/react/index.d.ts +1 -1
- package/dist/versions/index.cjs +3 -3
- package/dist/versions/index.js +3 -3
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.59.243
|
|
4
|
+
|
|
5
|
+
- **`SearchInput` is now `CatalogSearchField` (`@ai-matrx/agents/catalog/react` and `/native`).** It was never `@ai-matrx/design-system`'s `SearchInput`: it is the compact field that drives the agent list's listbox (a `ref`, `onKeyDown`, ARIA combobox wiring, `onChange(value)` with no debounce), which the design-system one does not offer. The old name collided with design-system's in the export census. **Consumer action:** rename the import (`SearchInput` -> `CatalogSearchField`).
|
|
6
|
+
|
|
3
7
|
## 0.59.241
|
|
4
8
|
|
|
5
|
-
|
|
6
|
-
|
|
9
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff c3acf23378 a53838052a -- apps/shared/matrx-agents/src`
|
|
10
|
+
has no shipped-source changes outside tests, fixtures and docs). No consumer action required.
|
|
11
|
+
|
|
12
|
+
## 0.59.240
|
|
13
|
+
|
|
14
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff 6acfc6b938 c3acf23378 -- 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.239
|
|
9
18
|
|
|
@@ -31,6 +31,7 @@ __export(native_exports, {
|
|
|
31
31
|
AgentPickerBody: () => AgentPickerBody,
|
|
32
32
|
AgentRow: () => AgentRow,
|
|
33
33
|
AgentSubView: () => AgentSubView,
|
|
34
|
+
CatalogSearchField: () => CatalogSearchField,
|
|
34
35
|
CheckRow: () => CheckRow,
|
|
35
36
|
DEFAULT_AGENT_CATALOG_NATIVE_THEME: () => DEFAULT_AGENT_CATALOG_NATIVE_THEME,
|
|
36
37
|
FavoriteAgentButton: () => FavoriteAgentButton,
|
|
@@ -38,7 +39,6 @@ __export(native_exports, {
|
|
|
38
39
|
HOVER_GRACE_MS: () => HOVER_GRACE_MS,
|
|
39
40
|
LIGHT_AGENT_CATALOG_NATIVE_THEME: () => LIGHT_AGENT_CATALOG_NATIVE_THEME,
|
|
40
41
|
OptionRow: () => OptionRow,
|
|
41
|
-
SearchInput: () => SearchInput,
|
|
42
42
|
SidePanelHeader: () => SidePanelHeader,
|
|
43
43
|
_resetNativeIconState: () => _resetNativeIconState,
|
|
44
44
|
announceMissingSvgOnce: () => announceMissingSvgOnce,
|
|
@@ -1722,7 +1722,7 @@ var import_react_native6 = require("react-native");
|
|
|
1722
1722
|
// catalog/native/primitives.tsx
|
|
1723
1723
|
var import_react_native5 = require("react-native");
|
|
1724
1724
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
1725
|
-
function
|
|
1725
|
+
function CatalogSearchField({
|
|
1726
1726
|
value,
|
|
1727
1727
|
onChange,
|
|
1728
1728
|
placeholder,
|
|
@@ -2499,7 +2499,7 @@ function AgentListContent({
|
|
|
2499
2499
|
};
|
|
2500
2500
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native9.View, { style: [styles6.container, { backgroundColor: theme.colors.background }], children: [
|
|
2501
2501
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.View, { style: { paddingHorizontal: theme.spacing.sm, paddingBottom: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2502
|
-
|
|
2502
|
+
CatalogSearchField,
|
|
2503
2503
|
{
|
|
2504
2504
|
value: consumer.searchTerm,
|
|
2505
2505
|
onChange: consumer.setSearchTerm,
|
|
@@ -2776,7 +2776,7 @@ function AgentSubView({
|
|
|
2776
2776
|
option.value
|
|
2777
2777
|
)) }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
|
|
2778
2778
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.View, { style: { paddingHorizontal: theme.spacing.sm, paddingVertical: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2779
|
-
|
|
2779
|
+
CatalogSearchField,
|
|
2780
2780
|
{
|
|
2781
2781
|
value: search,
|
|
2782
2782
|
onChange: setSearch,
|
|
@@ -973,7 +973,7 @@ interface AgentIconProps {
|
|
|
973
973
|
*/
|
|
974
974
|
declare function AgentIcon({ name, size, color, filled, report, }: AgentIconProps): react.JSX.Element;
|
|
975
975
|
|
|
976
|
-
declare function
|
|
976
|
+
declare function CatalogSearchField({ value, onChange, placeholder, autoFocus, }: {
|
|
977
977
|
value: string;
|
|
978
978
|
onChange: (v: string) => void;
|
|
979
979
|
placeholder: string;
|
|
@@ -1033,4 +1033,4 @@ declare function orchestraDepthLine(badge: OrchestraBadge): string | null;
|
|
|
1033
1033
|
*/
|
|
1034
1034
|
declare function orchestraDelegatesLine(badge: OrchestraBadge, limit?: number): string | null;
|
|
1035
1035
|
|
|
1036
|
-
export { type AgentCatalogIconName, type AgentCatalogLinkComponent, type AgentCatalogNativeColors, type AgentCatalogNativeProviderProps, type AgentCatalogNativeTheme, type AgentCatalogNativeThemeOverride, type AgentCatalogPlatformDefaults, AgentCatalogProvider, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentIcon, type AgentIconProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListSheet, type AgentListSheetProps, type AgentListTabCounts, AgentListTabs, type AgentListTabsProps, AgentPickerBody, type AgentPickerProps, AgentRow, type AgentRowProps, AgentSubView, type AgentSubViewName, type AgentSubViewProps, CheckRow, DEFAULT_AGENT_CATALOG_NATIVE_THEME, FavoriteAgentButton, type FavoriteAgentButtonProps, FilterChip, HOVER_GRACE_MS, LIGHT_AGENT_CATALOG_NATIVE_THEME, OptionRow, OrchestraBadge,
|
|
1036
|
+
export { type AgentCatalogIconName, type AgentCatalogLinkComponent, type AgentCatalogNativeColors, type AgentCatalogNativeProviderProps, type AgentCatalogNativeTheme, type AgentCatalogNativeThemeOverride, type AgentCatalogPlatformDefaults, AgentCatalogProvider, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentIcon, type AgentIconProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListSheet, type AgentListSheetProps, type AgentListTabCounts, AgentListTabs, type AgentListTabsProps, AgentPickerBody, type AgentPickerProps, AgentRow, type AgentRowProps, AgentSubView, type AgentSubViewName, type AgentSubViewProps, CatalogSearchField, CheckRow, DEFAULT_AGENT_CATALOG_NATIVE_THEME, FavoriteAgentButton, type FavoriteAgentButtonProps, FilterChip, HOVER_GRACE_MS, LIGHT_AGENT_CATALOG_NATIVE_THEME, OptionRow, OrchestraBadge, SidePanelHeader, type UseAgentConsumerReturn, _resetNativeIconState, announceMissingSvgOnce, coerceVisibleTab, orchestraDelegatesLine, orchestraDepthLine, orchestraLabel, orchestraModeLabel, resolveAgentCatalogNativeTheme, resolveSvgModule, useAgentCatalog, useAgentCatalogNativeTheme, useAgentCatalogRows, useAgentCatalogState, useAgentCatalogUiPorts, useAgentConsumer, useAgentListCore };
|
|
@@ -973,7 +973,7 @@ interface AgentIconProps {
|
|
|
973
973
|
*/
|
|
974
974
|
declare function AgentIcon({ name, size, color, filled, report, }: AgentIconProps): react.JSX.Element;
|
|
975
975
|
|
|
976
|
-
declare function
|
|
976
|
+
declare function CatalogSearchField({ value, onChange, placeholder, autoFocus, }: {
|
|
977
977
|
value: string;
|
|
978
978
|
onChange: (v: string) => void;
|
|
979
979
|
placeholder: string;
|
|
@@ -1033,4 +1033,4 @@ declare function orchestraDepthLine(badge: OrchestraBadge): string | null;
|
|
|
1033
1033
|
*/
|
|
1034
1034
|
declare function orchestraDelegatesLine(badge: OrchestraBadge, limit?: number): string | null;
|
|
1035
1035
|
|
|
1036
|
-
export { type AgentCatalogIconName, type AgentCatalogLinkComponent, type AgentCatalogNativeColors, type AgentCatalogNativeProviderProps, type AgentCatalogNativeTheme, type AgentCatalogNativeThemeOverride, type AgentCatalogPlatformDefaults, AgentCatalogProvider, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentIcon, type AgentIconProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListSheet, type AgentListSheetProps, type AgentListTabCounts, AgentListTabs, type AgentListTabsProps, AgentPickerBody, type AgentPickerProps, AgentRow, type AgentRowProps, AgentSubView, type AgentSubViewName, type AgentSubViewProps, CheckRow, DEFAULT_AGENT_CATALOG_NATIVE_THEME, FavoriteAgentButton, type FavoriteAgentButtonProps, FilterChip, HOVER_GRACE_MS, LIGHT_AGENT_CATALOG_NATIVE_THEME, OptionRow, OrchestraBadge,
|
|
1036
|
+
export { type AgentCatalogIconName, type AgentCatalogLinkComponent, type AgentCatalogNativeColors, type AgentCatalogNativeProviderProps, type AgentCatalogNativeTheme, type AgentCatalogNativeThemeOverride, type AgentCatalogPlatformDefaults, AgentCatalogProvider, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentIcon, type AgentIconProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListSheet, type AgentListSheetProps, type AgentListTabCounts, AgentListTabs, type AgentListTabsProps, AgentPickerBody, type AgentPickerProps, AgentRow, type AgentRowProps, AgentSubView, type AgentSubViewName, type AgentSubViewProps, CatalogSearchField, CheckRow, DEFAULT_AGENT_CATALOG_NATIVE_THEME, FavoriteAgentButton, type FavoriteAgentButtonProps, FilterChip, HOVER_GRACE_MS, LIGHT_AGENT_CATALOG_NATIVE_THEME, OptionRow, OrchestraBadge, SidePanelHeader, type UseAgentConsumerReturn, _resetNativeIconState, announceMissingSvgOnce, coerceVisibleTab, orchestraDelegatesLine, orchestraDepthLine, orchestraLabel, orchestraModeLabel, resolveAgentCatalogNativeTheme, resolveSvgModule, useAgentCatalog, useAgentCatalogNativeTheme, useAgentCatalogRows, useAgentCatalogState, useAgentCatalogUiPorts, useAgentConsumer, useAgentListCore };
|
|
@@ -1680,7 +1680,7 @@ import { Pressable as Pressable5, ScrollView as ScrollView2, StyleSheet as Style
|
|
|
1680
1680
|
// catalog/native/primitives.tsx
|
|
1681
1681
|
import { Pressable as Pressable4, StyleSheet as StyleSheet2, Text as Text4, TextInput, View as View2 } from "react-native";
|
|
1682
1682
|
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1683
|
-
function
|
|
1683
|
+
function CatalogSearchField({
|
|
1684
1684
|
value,
|
|
1685
1685
|
onChange,
|
|
1686
1686
|
placeholder,
|
|
@@ -2457,7 +2457,7 @@ function AgentListContent({
|
|
|
2457
2457
|
};
|
|
2458
2458
|
return /* @__PURE__ */ jsxs7(View4, { style: [styles6.container, { backgroundColor: theme.colors.background }], children: [
|
|
2459
2459
|
/* @__PURE__ */ jsx10(View4, { style: { paddingHorizontal: theme.spacing.sm, paddingBottom: 6 }, children: /* @__PURE__ */ jsx10(
|
|
2460
|
-
|
|
2460
|
+
CatalogSearchField,
|
|
2461
2461
|
{
|
|
2462
2462
|
value: consumer.searchTerm,
|
|
2463
2463
|
onChange: consumer.setSearchTerm,
|
|
@@ -2734,7 +2734,7 @@ function AgentSubView({
|
|
|
2734
2734
|
option.value
|
|
2735
2735
|
)) }) : /* @__PURE__ */ jsxs8(Fragment, { children: [
|
|
2736
2736
|
/* @__PURE__ */ jsx11(View5, { style: { paddingHorizontal: theme.spacing.sm, paddingVertical: 6 }, children: /* @__PURE__ */ jsx11(
|
|
2737
|
-
|
|
2737
|
+
CatalogSearchField,
|
|
2738
2738
|
{
|
|
2739
2739
|
value: search,
|
|
2740
2740
|
onChange: setSearch,
|
|
@@ -2955,6 +2955,7 @@ export {
|
|
|
2955
2955
|
AgentPickerBody,
|
|
2956
2956
|
AgentRow,
|
|
2957
2957
|
AgentSubView,
|
|
2958
|
+
CatalogSearchField,
|
|
2958
2959
|
CheckRow,
|
|
2959
2960
|
DEFAULT_AGENT_CATALOG_NATIVE_THEME,
|
|
2960
2961
|
FavoriteAgentButton,
|
|
@@ -2962,7 +2963,6 @@ export {
|
|
|
2962
2963
|
HOVER_GRACE_MS,
|
|
2963
2964
|
LIGHT_AGENT_CATALOG_NATIVE_THEME,
|
|
2964
2965
|
OptionRow,
|
|
2965
|
-
SearchInput,
|
|
2966
2966
|
SidePanelHeader,
|
|
2967
2967
|
_resetNativeIconState,
|
|
2968
2968
|
announceMissingSvgOnce,
|
|
@@ -36,6 +36,7 @@ __export(react_exports, {
|
|
|
36
36
|
AgentRow: () => AgentRow,
|
|
37
37
|
AgentSortPanel: () => AgentSortPanel,
|
|
38
38
|
AgentTagsPanel: () => AgentTagsPanel,
|
|
39
|
+
CatalogSearchField: () => CatalogSearchField,
|
|
39
40
|
CheckRow: () => CheckRow,
|
|
40
41
|
FavoriteAgentButton: () => FavoriteAgentButton,
|
|
41
42
|
FilterChip: () => FilterChip,
|
|
@@ -46,7 +47,6 @@ __export(react_exports, {
|
|
|
46
47
|
PANEL_HEIGHT: () => PANEL_HEIGHT,
|
|
47
48
|
PANEL_WIDTH: () => PANEL_WIDTH,
|
|
48
49
|
SORT_OPTIONS: () => SORT_OPTIONS,
|
|
49
|
-
SearchInput: () => SearchInput,
|
|
50
50
|
SidePanelHeader: () => SidePanelHeader,
|
|
51
51
|
coerceVisibleTab: () => coerceVisibleTab,
|
|
52
52
|
lookUpAgentOnce: () => lookUpAgentOnce,
|
|
@@ -1036,7 +1036,7 @@ var import_react8 = require("react");
|
|
|
1036
1036
|
var import_design_system = require("@ai-matrx/design-system");
|
|
1037
1037
|
var import_icons = require("@ai-matrx/design-system/icons");
|
|
1038
1038
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
1039
|
-
var
|
|
1039
|
+
var CatalogSearchField = ({
|
|
1040
1040
|
ref,
|
|
1041
1041
|
value,
|
|
1042
1042
|
onChange,
|
|
@@ -1180,7 +1180,7 @@ function AgentCategoriesPanel({
|
|
|
1180
1180
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-col h-full", children: [
|
|
1181
1181
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SidePanelHeader, { title: "Categories", onClose }),
|
|
1182
1182
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1183
|
-
|
|
1183
|
+
CatalogSearchField,
|
|
1184
1184
|
{
|
|
1185
1185
|
value: search,
|
|
1186
1186
|
onChange: setSearch,
|
|
@@ -1918,7 +1918,7 @@ function AgentListContent({
|
|
|
1918
1918
|
const defaultAgent = defaultRow?.row ?? null;
|
|
1919
1919
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col h-full", children: [
|
|
1920
1920
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1921
|
-
|
|
1921
|
+
CatalogSearchField,
|
|
1922
1922
|
{
|
|
1923
1923
|
ref: inputRef,
|
|
1924
1924
|
value: consumer.searchTerm,
|
|
@@ -2189,7 +2189,7 @@ function AgentMobileSubView({
|
|
|
2189
2189
|
)),
|
|
2190
2190
|
view === "categories" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
|
|
2191
2191
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2192
|
-
|
|
2192
|
+
CatalogSearchField,
|
|
2193
2193
|
{
|
|
2194
2194
|
value: catSearch,
|
|
2195
2195
|
onChange: setCatSearch,
|
|
@@ -2223,7 +2223,7 @@ function AgentMobileSubView({
|
|
|
2223
2223
|
] }),
|
|
2224
2224
|
view === "tags" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
|
|
2225
2225
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2226
|
-
|
|
2226
|
+
CatalogSearchField,
|
|
2227
2227
|
{
|
|
2228
2228
|
value: tagSearch,
|
|
2229
2229
|
onChange: setTagSearch,
|
|
@@ -2290,7 +2290,7 @@ function AgentTagsPanel({
|
|
|
2290
2290
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex flex-col h-full", children: [
|
|
2291
2291
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SidePanelHeader, { title: "Tags", onClose }),
|
|
2292
2292
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2293
|
-
|
|
2293
|
+
CatalogSearchField,
|
|
2294
2294
|
{
|
|
2295
2295
|
value: search,
|
|
2296
2296
|
onChange: setSearch,
|
|
@@ -1174,7 +1174,7 @@ interface FavoriteAgentButtonProps {
|
|
|
1174
1174
|
}
|
|
1175
1175
|
declare function FavoriteAgentButton({ id, variant, disabled, }: FavoriteAgentButtonProps): react.JSX.Element;
|
|
1176
1176
|
|
|
1177
|
-
declare const
|
|
1177
|
+
declare const CatalogSearchField: ({ ref, value, onChange, placeholder, onKeyDown, inputProps, }: {
|
|
1178
1178
|
ref?: Ref<HTMLInputElement>;
|
|
1179
1179
|
value: string;
|
|
1180
1180
|
onChange: (v: string) => void;
|
|
@@ -1251,4 +1251,4 @@ declare function orchestraDepthLine(badge: OrchestraBadge): string | null;
|
|
|
1251
1251
|
*/
|
|
1252
1252
|
declare function orchestraDelegatesLine(badge: OrchestraBadge, limit?: number): string | null;
|
|
1253
1253
|
|
|
1254
|
-
export { type AgentCatalogLinkComponent, AgentCatalogProvider, type AgentCatalogProviderProps, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentCategoriesPanel, type AgentCategoriesPanelProps, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListDropdown, type AgentListDropdownProps, type AgentListFilter, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListPanel, AgentListPanelBody, type AgentListPanelBodyProps, type AgentListPanelProps, type AgentListTabCounts, AgentListTabs, AgentMobileSubView, type AgentMobileSubViewProps, AgentRow, type AgentRowProps, AgentSortPanel, type AgentSortPanelProps, AgentTagsPanel, type AgentTagsPanelProps, CheckRow, FavoriteAgentButton, FilterChip, HOVER_GRACE_MS, type IconProps, LIST_MAX_HEIGHT, Music4Icon, OptionRow, type OrchestraBadge, PANEL_HEIGHT, PANEL_WIDTH, type RightPanel, SORT_OPTIONS,
|
|
1254
|
+
export { type AgentCatalogLinkComponent, AgentCatalogProvider, type AgentCatalogProviderProps, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentCategoriesPanel, type AgentCategoriesPanelProps, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListDropdown, type AgentListDropdownProps, type AgentListFilter, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListPanel, AgentListPanelBody, type AgentListPanelBodyProps, type AgentListPanelProps, type AgentListTabCounts, AgentListTabs, AgentMobileSubView, type AgentMobileSubViewProps, AgentRow, type AgentRowProps, AgentSortPanel, type AgentSortPanelProps, AgentTagsPanel, type AgentTagsPanelProps, CatalogSearchField, CheckRow, FavoriteAgentButton, FilterChip, HOVER_GRACE_MS, type IconProps, LIST_MAX_HEIGHT, Music4Icon, OptionRow, type OrchestraBadge, PANEL_HEIGHT, PANEL_WIDTH, type RightPanel, SORT_OPTIONS, SidePanelHeader, type UseAgentConsumerReturn, coerceVisibleTab, lookUpAgentOnce, orchestraDelegatesLine, orchestraDepthLine, orchestraLabel, orchestraModeLabel, panelHeightBelow, sideThatFits, useAgentCatalog, useAgentCatalogRows, useAgentCatalogState, useAgentCatalogUiPorts, useAgentConsumer, useAgentListCore, useAgentSummary };
|
|
@@ -1174,7 +1174,7 @@ interface FavoriteAgentButtonProps {
|
|
|
1174
1174
|
}
|
|
1175
1175
|
declare function FavoriteAgentButton({ id, variant, disabled, }: FavoriteAgentButtonProps): react.JSX.Element;
|
|
1176
1176
|
|
|
1177
|
-
declare const
|
|
1177
|
+
declare const CatalogSearchField: ({ ref, value, onChange, placeholder, onKeyDown, inputProps, }: {
|
|
1178
1178
|
ref?: Ref<HTMLInputElement>;
|
|
1179
1179
|
value: string;
|
|
1180
1180
|
onChange: (v: string) => void;
|
|
@@ -1251,4 +1251,4 @@ declare function orchestraDepthLine(badge: OrchestraBadge): string | null;
|
|
|
1251
1251
|
*/
|
|
1252
1252
|
declare function orchestraDelegatesLine(badge: OrchestraBadge, limit?: number): string | null;
|
|
1253
1253
|
|
|
1254
|
-
export { type AgentCatalogLinkComponent, AgentCatalogProvider, type AgentCatalogProviderProps, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentCategoriesPanel, type AgentCategoriesPanelProps, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListDropdown, type AgentListDropdownProps, type AgentListFilter, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListPanel, AgentListPanelBody, type AgentListPanelBodyProps, type AgentListPanelProps, type AgentListTabCounts, AgentListTabs, AgentMobileSubView, type AgentMobileSubViewProps, AgentRow, type AgentRowProps, AgentSortPanel, type AgentSortPanelProps, AgentTagsPanel, type AgentTagsPanelProps, CheckRow, FavoriteAgentButton, FilterChip, HOVER_GRACE_MS, type IconProps, LIST_MAX_HEIGHT, Music4Icon, OptionRow, type OrchestraBadge, PANEL_HEIGHT, PANEL_WIDTH, type RightPanel, SORT_OPTIONS,
|
|
1254
|
+
export { type AgentCatalogLinkComponent, AgentCatalogProvider, type AgentCatalogProviderProps, type AgentCatalogRenderModelRef, type AgentCatalogUiPorts, AgentCategoriesPanel, type AgentCategoriesPanelProps, AgentDetailCard, type AgentDetailCardProps, AgentFilterBar, type AgentFilterBarProps, AgentListContent, type AgentListContentProps, type AgentListCoreOptions, AgentListDropdown, type AgentListDropdownProps, type AgentListFilter, AgentListInlinePicker, type AgentListInlinePickerProps, AgentListPanel, AgentListPanelBody, type AgentListPanelBodyProps, type AgentListPanelProps, type AgentListTabCounts, AgentListTabs, AgentMobileSubView, type AgentMobileSubViewProps, AgentRow, type AgentRowProps, AgentSortPanel, type AgentSortPanelProps, AgentTagsPanel, type AgentTagsPanelProps, CatalogSearchField, CheckRow, FavoriteAgentButton, FilterChip, HOVER_GRACE_MS, type IconProps, LIST_MAX_HEIGHT, Music4Icon, OptionRow, type OrchestraBadge, PANEL_HEIGHT, PANEL_WIDTH, type RightPanel, SORT_OPTIONS, SidePanelHeader, type UseAgentConsumerReturn, coerceVisibleTab, lookUpAgentOnce, orchestraDelegatesLine, orchestraDepthLine, orchestraLabel, orchestraModeLabel, panelHeightBelow, sideThatFits, useAgentCatalog, useAgentCatalogRows, useAgentCatalogState, useAgentCatalogUiPorts, useAgentConsumer, useAgentListCore, useAgentSummary };
|
|
@@ -996,7 +996,7 @@ import { useCallback as useCallback5, useEffect as useEffect5, useMemo as useMem
|
|
|
996
996
|
import { cn } from "@ai-matrx/design-system";
|
|
997
997
|
import { CheckIcon, SearchIcon, XIcon } from "@ai-matrx/design-system/icons";
|
|
998
998
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
999
|
-
var
|
|
999
|
+
var CatalogSearchField = ({
|
|
1000
1000
|
ref,
|
|
1001
1001
|
value,
|
|
1002
1002
|
onChange,
|
|
@@ -1140,7 +1140,7 @@ function AgentCategoriesPanel({
|
|
|
1140
1140
|
return /* @__PURE__ */ jsxs2("div", { className: "flex flex-col h-full", children: [
|
|
1141
1141
|
/* @__PURE__ */ jsx4(SidePanelHeader, { title: "Categories", onClose }),
|
|
1142
1142
|
/* @__PURE__ */ jsx4("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx4(
|
|
1143
|
-
|
|
1143
|
+
CatalogSearchField,
|
|
1144
1144
|
{
|
|
1145
1145
|
value: search,
|
|
1146
1146
|
onChange: setSearch,
|
|
@@ -1878,7 +1878,7 @@ function AgentListContent({
|
|
|
1878
1878
|
const defaultAgent = defaultRow?.row ?? null;
|
|
1879
1879
|
return /* @__PURE__ */ jsxs7("div", { className: "flex flex-col h-full", children: [
|
|
1880
1880
|
/* @__PURE__ */ jsx10("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx10(
|
|
1881
|
-
|
|
1881
|
+
CatalogSearchField,
|
|
1882
1882
|
{
|
|
1883
1883
|
ref: inputRef,
|
|
1884
1884
|
value: consumer.searchTerm,
|
|
@@ -2149,7 +2149,7 @@ function AgentMobileSubView({
|
|
|
2149
2149
|
)),
|
|
2150
2150
|
view === "categories" && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
2151
2151
|
/* @__PURE__ */ jsx11("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx11(
|
|
2152
|
-
|
|
2152
|
+
CatalogSearchField,
|
|
2153
2153
|
{
|
|
2154
2154
|
value: catSearch,
|
|
2155
2155
|
onChange: setCatSearch,
|
|
@@ -2183,7 +2183,7 @@ function AgentMobileSubView({
|
|
|
2183
2183
|
] }),
|
|
2184
2184
|
view === "tags" && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
2185
2185
|
/* @__PURE__ */ jsx11("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx11(
|
|
2186
|
-
|
|
2186
|
+
CatalogSearchField,
|
|
2187
2187
|
{
|
|
2188
2188
|
value: tagSearch,
|
|
2189
2189
|
onChange: setTagSearch,
|
|
@@ -2250,7 +2250,7 @@ function AgentTagsPanel({
|
|
|
2250
2250
|
return /* @__PURE__ */ jsxs10("div", { className: "flex flex-col h-full", children: [
|
|
2251
2251
|
/* @__PURE__ */ jsx13(SidePanelHeader, { title: "Tags", onClose }),
|
|
2252
2252
|
/* @__PURE__ */ jsx13("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx13(
|
|
2253
|
-
|
|
2253
|
+
CatalogSearchField,
|
|
2254
2254
|
{
|
|
2255
2255
|
value: search,
|
|
2256
2256
|
onChange: setSearch,
|
|
@@ -2956,6 +2956,7 @@ export {
|
|
|
2956
2956
|
AgentRow,
|
|
2957
2957
|
AgentSortPanel,
|
|
2958
2958
|
AgentTagsPanel,
|
|
2959
|
+
CatalogSearchField,
|
|
2959
2960
|
CheckRow,
|
|
2960
2961
|
FavoriteAgentButton,
|
|
2961
2962
|
FilterChip,
|
|
@@ -2966,7 +2967,6 @@ export {
|
|
|
2966
2967
|
PANEL_HEIGHT,
|
|
2967
2968
|
PANEL_WIDTH,
|
|
2968
2969
|
SORT_OPTIONS,
|
|
2969
|
-
SearchInput,
|
|
2970
2970
|
SidePanelHeader,
|
|
2971
2971
|
coerceVisibleTab,
|
|
2972
2972
|
lookUpAgentOnce,
|
package/dist/models/index.cjs
CHANGED
|
@@ -861,7 +861,9 @@ function createModelFavorites(config) {
|
|
|
861
861
|
};
|
|
862
862
|
const listCanonical = async () => {
|
|
863
863
|
try {
|
|
864
|
-
const
|
|
864
|
+
const c = client();
|
|
865
|
+
const scoped = c.schema?.("users");
|
|
866
|
+
const { data, error } = await (scoped?.rpc ? scoped.rpc("ues_list", { p_kind: "favorite" }) : c.rpc("ues_list", { p_kind: "favorite" }));
|
|
865
867
|
if (error) {
|
|
866
868
|
sink({ code: "model-favorite-ues_list-failed", message: error.message });
|
|
867
869
|
return null;
|
|
@@ -1599,7 +1601,7 @@ function aiRpc(client, fn) {
|
|
|
1599
1601
|
async function readCatalog(client, variant) {
|
|
1600
1602
|
if (variant === "admin") {
|
|
1601
1603
|
const [rpcRes, offeringsRes] = await Promise.all([
|
|
1602
|
-
client
|
|
1604
|
+
aiRpc(client, "admin_model_catalog"),
|
|
1603
1605
|
aiRpc(client, "admin_model_offerings")
|
|
1604
1606
|
]);
|
|
1605
1607
|
if (rpcRes.error) throw rpcRes.error;
|
package/dist/models/index.d.cts
CHANGED
|
@@ -339,14 +339,19 @@ declare function reconcileModelFavoriteIds(cached: readonly string[], canonical:
|
|
|
339
339
|
missingFromCanonical: string[];
|
|
340
340
|
};
|
|
341
341
|
declare function favoriteIdsEqual(a: readonly string[], b: readonly string[]): boolean;
|
|
342
|
+
type ModelFavoritesRpcResult = PromiseLike<{
|
|
343
|
+
data: unknown;
|
|
344
|
+
error: {
|
|
345
|
+
message: string;
|
|
346
|
+
code?: string;
|
|
347
|
+
} | null;
|
|
348
|
+
}>;
|
|
342
349
|
interface ModelFavoritesClient {
|
|
343
|
-
rpc(fn: string, args?: Record<string, unknown>):
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
} | null;
|
|
349
|
-
}>;
|
|
350
|
+
rpc(fn: string, args?: Record<string, unknown>): ModelFavoritesRpcResult;
|
|
351
|
+
/** `users.ues_list` lives in its owner schema (the public forwarder closes). */
|
|
352
|
+
schema?(name: string): {
|
|
353
|
+
rpc?(fn: string, args?: Record<string, unknown>): ModelFavoritesRpcResult;
|
|
354
|
+
};
|
|
350
355
|
}
|
|
351
356
|
interface ModelFavoritesCache {
|
|
352
357
|
get(): readonly string[];
|
|
@@ -756,7 +761,7 @@ declare const selectModelIdentityLookupStatus: (s: ModelRecordsState, modelId: s
|
|
|
756
761
|
* - "user" → `ai.model_public` (anon + authenticated; masked, points pricing), filtered to
|
|
757
762
|
* ROUTABLE models via `ai.model_offering`, which also supplies each model's serving
|
|
758
763
|
* TIERS (`served_via` — the endpoint's public Matrx brand, never the real vendor).
|
|
759
|
-
* - "admin" → `
|
|
764
|
+
* - "admin" → `ai.admin_model_catalog()` + `ai.admin_model_offerings()` (SECURITY
|
|
760
765
|
* DEFINER, gated by `is_super_admin()`): raw $ pricing, real vendors, every
|
|
761
766
|
* offering. NEVER read `ai.model_admin` / `ai.offering` directly from a client.
|
|
762
767
|
*
|
package/dist/models/index.d.ts
CHANGED
|
@@ -339,14 +339,19 @@ declare function reconcileModelFavoriteIds(cached: readonly string[], canonical:
|
|
|
339
339
|
missingFromCanonical: string[];
|
|
340
340
|
};
|
|
341
341
|
declare function favoriteIdsEqual(a: readonly string[], b: readonly string[]): boolean;
|
|
342
|
+
type ModelFavoritesRpcResult = PromiseLike<{
|
|
343
|
+
data: unknown;
|
|
344
|
+
error: {
|
|
345
|
+
message: string;
|
|
346
|
+
code?: string;
|
|
347
|
+
} | null;
|
|
348
|
+
}>;
|
|
342
349
|
interface ModelFavoritesClient {
|
|
343
|
-
rpc(fn: string, args?: Record<string, unknown>):
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
} | null;
|
|
349
|
-
}>;
|
|
350
|
+
rpc(fn: string, args?: Record<string, unknown>): ModelFavoritesRpcResult;
|
|
351
|
+
/** `users.ues_list` lives in its owner schema (the public forwarder closes). */
|
|
352
|
+
schema?(name: string): {
|
|
353
|
+
rpc?(fn: string, args?: Record<string, unknown>): ModelFavoritesRpcResult;
|
|
354
|
+
};
|
|
350
355
|
}
|
|
351
356
|
interface ModelFavoritesCache {
|
|
352
357
|
get(): readonly string[];
|
|
@@ -756,7 +761,7 @@ declare const selectModelIdentityLookupStatus: (s: ModelRecordsState, modelId: s
|
|
|
756
761
|
* - "user" → `ai.model_public` (anon + authenticated; masked, points pricing), filtered to
|
|
757
762
|
* ROUTABLE models via `ai.model_offering`, which also supplies each model's serving
|
|
758
763
|
* TIERS (`served_via` — the endpoint's public Matrx brand, never the real vendor).
|
|
759
|
-
* - "admin" → `
|
|
764
|
+
* - "admin" → `ai.admin_model_catalog()` + `ai.admin_model_offerings()` (SECURITY
|
|
760
765
|
* DEFINER, gated by `is_super_admin()`): raw $ pricing, real vendors, every
|
|
761
766
|
* offering. NEVER read `ai.model_admin` / `ai.offering` directly from a client.
|
|
762
767
|
*
|
package/dist/models/index.js
CHANGED
|
@@ -702,7 +702,9 @@ function createModelFavorites(config) {
|
|
|
702
702
|
};
|
|
703
703
|
const listCanonical = async () => {
|
|
704
704
|
try {
|
|
705
|
-
const
|
|
705
|
+
const c = client();
|
|
706
|
+
const scoped = c.schema?.("users");
|
|
707
|
+
const { data, error } = await (scoped?.rpc ? scoped.rpc("ues_list", { p_kind: "favorite" }) : c.rpc("ues_list", { p_kind: "favorite" }));
|
|
706
708
|
if (error) {
|
|
707
709
|
sink({ code: "model-favorite-ues_list-failed", message: error.message });
|
|
708
710
|
return null;
|
|
@@ -1440,7 +1442,7 @@ function aiRpc(client, fn) {
|
|
|
1440
1442
|
async function readCatalog(client, variant) {
|
|
1441
1443
|
if (variant === "admin") {
|
|
1442
1444
|
const [rpcRes, offeringsRes] = await Promise.all([
|
|
1443
|
-
client
|
|
1445
|
+
aiRpc(client, "admin_model_catalog"),
|
|
1444
1446
|
aiRpc(client, "admin_model_offerings")
|
|
1445
1447
|
]);
|
|
1446
1448
|
if (rpcRes.error) throw rpcRes.error;
|
|
@@ -372,7 +372,7 @@ interface ModelRecords {
|
|
|
372
372
|
* - "user" → `ai.model_public` (anon + authenticated; masked, points pricing), filtered to
|
|
373
373
|
* ROUTABLE models via `ai.model_offering`, which also supplies each model's serving
|
|
374
374
|
* TIERS (`served_via` — the endpoint's public Matrx brand, never the real vendor).
|
|
375
|
-
* - "admin" → `
|
|
375
|
+
* - "admin" → `ai.admin_model_catalog()` + `ai.admin_model_offerings()` (SECURITY
|
|
376
376
|
* DEFINER, gated by `is_super_admin()`): raw $ pricing, real vendors, every
|
|
377
377
|
* offering. NEVER read `ai.model_admin` / `ai.offering` directly from a client.
|
|
378
378
|
*
|
|
@@ -372,7 +372,7 @@ interface ModelRecords {
|
|
|
372
372
|
* - "user" → `ai.model_public` (anon + authenticated; masked, points pricing), filtered to
|
|
373
373
|
* ROUTABLE models via `ai.model_offering`, which also supplies each model's serving
|
|
374
374
|
* TIERS (`served_via` — the endpoint's public Matrx brand, never the real vendor).
|
|
375
|
-
* - "admin" → `
|
|
375
|
+
* - "admin" → `ai.admin_model_catalog()` + `ai.admin_model_offerings()` (SECURITY
|
|
376
376
|
* DEFINER, gated by `is_super_admin()`): raw $ pricing, real vendors, every
|
|
377
377
|
* offering. NEVER read `ai.model_admin` / `ai.offering` directly from a client.
|
|
378
378
|
*
|
package/dist/versions/index.cjs
CHANGED
|
@@ -202,7 +202,7 @@ var AgentVersionsError = class extends Error {
|
|
|
202
202
|
}
|
|
203
203
|
};
|
|
204
204
|
async function listAgentVersions(client, query) {
|
|
205
|
-
const { data, error } = await client.rpc("agx_get_version_history", {
|
|
205
|
+
const { data, error } = await client.schema("agent").rpc("agx_get_version_history", {
|
|
206
206
|
p_agent_id: query.agentId,
|
|
207
207
|
p_limit: query.limit ?? 50,
|
|
208
208
|
p_offset: query.offset ?? 0
|
|
@@ -211,7 +211,7 @@ async function listAgentVersions(client, query) {
|
|
|
211
211
|
return Array.isArray(data) ? data : [];
|
|
212
212
|
}
|
|
213
213
|
async function readAgentVersionSnapshot(client, query) {
|
|
214
|
-
const { data, error } = await client.rpc("agx_get_version_snapshot", {
|
|
214
|
+
const { data, error } = await client.schema("agent").rpc("agx_get_version_snapshot", {
|
|
215
215
|
p_agent_id: query.agentId,
|
|
216
216
|
p_version_number: query.version
|
|
217
217
|
});
|
|
@@ -227,7 +227,7 @@ async function resolveAgentVersionId(client, versionId) {
|
|
|
227
227
|
return { versionId: row.id, agentId: row.agent_id, versionNumber: row.version_number, agentName: row.name };
|
|
228
228
|
}
|
|
229
229
|
async function promoteAgentVersion(client, query) {
|
|
230
|
-
const { data, error } = await client.rpc("agx_promote_version", {
|
|
230
|
+
const { data, error } = await client.schema("agent").rpc("agx_promote_version", {
|
|
231
231
|
p_agent_id: query.agentId,
|
|
232
232
|
p_version_number: query.version
|
|
233
233
|
});
|
package/dist/versions/index.js
CHANGED
|
@@ -159,7 +159,7 @@ var AgentVersionsError = class extends Error {
|
|
|
159
159
|
}
|
|
160
160
|
};
|
|
161
161
|
async function listAgentVersions(client, query) {
|
|
162
|
-
const { data, error } = await client.rpc("agx_get_version_history", {
|
|
162
|
+
const { data, error } = await client.schema("agent").rpc("agx_get_version_history", {
|
|
163
163
|
p_agent_id: query.agentId,
|
|
164
164
|
p_limit: query.limit ?? 50,
|
|
165
165
|
p_offset: query.offset ?? 0
|
|
@@ -168,7 +168,7 @@ async function listAgentVersions(client, query) {
|
|
|
168
168
|
return Array.isArray(data) ? data : [];
|
|
169
169
|
}
|
|
170
170
|
async function readAgentVersionSnapshot(client, query) {
|
|
171
|
-
const { data, error } = await client.rpc("agx_get_version_snapshot", {
|
|
171
|
+
const { data, error } = await client.schema("agent").rpc("agx_get_version_snapshot", {
|
|
172
172
|
p_agent_id: query.agentId,
|
|
173
173
|
p_version_number: query.version
|
|
174
174
|
});
|
|
@@ -184,7 +184,7 @@ async function resolveAgentVersionId(client, versionId) {
|
|
|
184
184
|
return { versionId: row.id, agentId: row.agent_id, versionNumber: row.version_number, agentName: row.name };
|
|
185
185
|
}
|
|
186
186
|
async function promoteAgentVersion(client, query) {
|
|
187
|
-
const { data, error } = await client.rpc("agx_promote_version", {
|
|
187
|
+
const { data, error } = await client.schema("agent").rpc("agx_promote_version", {
|
|
188
188
|
p_agent_id: query.agentId,
|
|
189
189
|
p_version_number: query.version
|
|
190
190
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-matrx/agents",
|
|
3
|
-
"version": "0.59.
|
|
3
|
+
"version": "0.59.243",
|
|
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,11 +511,11 @@
|
|
|
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
514
|
"@ai-matrx/data": "latest",
|
|
516
515
|
"@ai-matrx/content-ir": "latest",
|
|
517
|
-
"@ai-matrx/
|
|
516
|
+
"@ai-matrx/design-system": "latest",
|
|
518
517
|
"@ai-matrx/diff": "latest",
|
|
518
|
+
"@ai-matrx/icons": "latest",
|
|
519
519
|
"@ai-matrx/kit": "latest"
|
|
520
520
|
},
|
|
521
521
|
"peerDependencies": {
|
|
@@ -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": "e41fcb7db59aeb66d6906bf8e40a678bd510cea0"
|
|
565
565
|
}
|