@tai42/studio-sdk 1.6.0 → 1.8.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/components/components.css +36 -1
- package/dist/components/explorer-view.d.ts +1 -1
- package/dist/components/explorer-view.d.ts.map +1 -1
- package/dist/components/explorer-view.js +0 -0
- package/dist/components/explorer-view.js.map +1 -1
- package/dist/components/tool-picker.d.ts.map +1 -1
- package/dist/components/tool-picker.js +6 -5
- package/dist/components/tool-picker.js.map +1 -1
- package/dist/hooks/useApi.d.ts +6 -0
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useToolDisplayNames.d.ts +73 -0
- package/dist/hooks/useToolDisplayNames.d.ts.map +1 -0
- package/dist/hooks/useToolDisplayNames.js +115 -0
- package/dist/hooks/useToolDisplayNames.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/testing.d.ts +2 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +2 -0
- package/dist/testing.js.map +1 -1
- package/package.json +2 -2
- package/src/components/components.css +36 -1
- package/src/components/explorer-view.tsx +201 -67
- package/src/components/tool-picker.tsx +6 -5
- package/src/hooks/useToolDisplayNames.tsx +160 -0
- package/src/index.ts +10 -0
- package/src/testing.ts +2 -0
|
@@ -2081,13 +2081,48 @@
|
|
|
2081
2081
|
flex-wrap: wrap;
|
|
2082
2082
|
}
|
|
2083
2083
|
|
|
2084
|
-
/*
|
|
2084
|
+
/* The paged-view footer: range text on the leading edge, the per-page select and
|
|
2085
|
+
prev/next controls on the trailing edge. Wraps on a narrow surface so it never
|
|
2086
|
+
widens the page. */
|
|
2087
|
+
.tai-explorer-pagination {
|
|
2088
|
+
display: flex;
|
|
2089
|
+
align-items: center;
|
|
2090
|
+
justify-content: space-between;
|
|
2091
|
+
gap: var(--tai-space-3);
|
|
2092
|
+
flex-wrap: wrap;
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
/* -- Card grids -------------------------------------------------------------------
|
|
2096
|
+
`grid-auto-rows: 1fr` makes every row of the track the same height, and the
|
|
2097
|
+
child chain below stretches each card to fill its cell, so a row's cards stay
|
|
2098
|
+
level however much text each carries. */
|
|
2085
2099
|
.tai-grid-cards {
|
|
2086
2100
|
display: grid;
|
|
2087
2101
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
2102
|
+
grid-auto-rows: 1fr;
|
|
2088
2103
|
gap: var(--tai-space-4);
|
|
2089
2104
|
}
|
|
2090
2105
|
|
|
2106
|
+
.tai-grid-cards > [role='listitem'] {
|
|
2107
|
+
display: flex;
|
|
2108
|
+
min-width: 0;
|
|
2109
|
+
}
|
|
2110
|
+
|
|
2111
|
+
.tai-grid-cards > [role='listitem'] > .tai-card {
|
|
2112
|
+
flex: 1;
|
|
2113
|
+
min-width: 0;
|
|
2114
|
+
display: flex;
|
|
2115
|
+
flex-direction: column;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
/* Card description clamp so grid rows stay uniform: two lines, then ellipsis. */
|
|
2119
|
+
.tai-clamp-2 {
|
|
2120
|
+
display: -webkit-box;
|
|
2121
|
+
-webkit-box-orient: vertical;
|
|
2122
|
+
-webkit-line-clamp: 2;
|
|
2123
|
+
overflow: hidden;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2091
2126
|
/* -- Responsive bands ---------------------------------------------------------------
|
|
2092
2127
|
1024-1279 medium: the card grid drops to two columns. The sidebar keeps the
|
|
2093
2128
|
width it has at every band above 1023, and `.tai-split` is already fluid —
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* {@link matchesSelectedTags}, {@link UNTAGGED_TOKEN}) so every consuming screen
|
|
13
13
|
* shares one vocabulary/untagged-sentinel/OR-match rule rather than copying it.
|
|
14
14
|
*/
|
|
15
|
-
import type
|
|
15
|
+
import { type ReactNode } from 'react';
|
|
16
16
|
import { type Folder } from './folder-nav';
|
|
17
17
|
/** Reserved filter token for items carrying NO tag; namespaced so it never
|
|
18
18
|
* collides with a real tag. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAmC,MAAM,OAAO,CAAC;AAE1F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAe,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAExD;gCACgC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAQ7C;;mEAEmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,KAAmB,EACnB,OAAuC,EACvC,YAA+B,EAC/B,aAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,QAAQ,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,UAAU,GAAyB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YACvD,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK;gBACL,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;gBACvD,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;mBAEmB;AACnB,MAAM,UAAU,mBAAmB,CACjC,QAA2B,EAC3B,QAA6B;IAE7B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AA0FD,sFAAsF;AACtF,SAAS,OAAO,CAAC,EACf,KAAK,EACL,MAAM,EACN,QAAQ,GAKT;IACC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,kBACN,MAAM,gBACR,GAAG,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EACrD,OAAO,EAAE,QAAQ,aAEjB,yBAAO,KAAK,CAAC,KAAK,GAAQ,EAC1B,yBAAO,KAAK,CAAC,KAAK,GAAQ,IACnB,CACV,CAAC;AACJ,CAAC;AAED;;4BAE4B;AAC5B,SAAS,YAAY,CAAC,EACpB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,GAOf;IACC,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,cAAc,KAAK,SAAS,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CACL,eAAK,IAAI,EAAC,OAAO,gBAAa,WAAW,EAAE,SAAS,EAAC,SAAS,aAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,KAAC,OAAO,IAEN,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EACpC,QAAQ,EAAE,GAAG,EAAE;oBACb,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,IALI,KAAK,CAAC,KAAK,CAMhB,CACH,CAAC,EACD,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACZ,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,GAAQ,CAC9E,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED;sFACsF;AACtF,SAAS,WAAW,CAAC,EACnB,MAAM,EACN,UAAU,EACV,mBAAmB,GAKpB;IACC,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAI,EAChD,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IACrD,CACP,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAC7C,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAEzD,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,IAAK,UAAgC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAAY,EAAE,EAAE;QACf,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,GAAG,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC;AAOD,MAAM,UAAU,YAAY,CAAI,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,WAAW,GACU;IACrB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,6EAA6E;IAC7E,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/C,IAAI,WAAW,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAExF,8EAA8E;IAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAC,UAAU,OAAK,WAAW,CAAC,KAAK,GAAI,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GACd,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;QAC/E,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,SAAS,GAAG,CAAC,KAAa,EAAQ,EAAE;QACxC,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QAC5D,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,iFAAiF;IACjF,gFAAgF;IAChF,2EAA2E;IAC3E,iFAAiF;IACjF,2BAA2B;IAC3B,MAAM,SAAS,GAAG,CAChB,IAAO,EACgF,EAAE;QACzF,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,wEAAwE;gBACxE,iCAAiC;gBACjC,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,WAAW,KAAK,KAAK;oBAAE,OAAO;gBACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IACE,MAAM,YAAY,OAAO;oBACzB,MAAM,CAAC,OAAO,CAAC,6CAA6C,CAAC,KAAK,IAAI,EACtE,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhE,iFAAiF;IACjF,mEAAmE;IACnE,MAAM,OAAO,GAAuB;QAClC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAU,CAAC;QACpE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAU,CAAC;KAC7D,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IAEnE,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,eAAK,SAAS,EAAC,yBAAyB,gBAAa,GAAG,KAAK,aAAa,aACxE,eAAM,SAAS,EAAC,WAAW,YAAE,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAQ,EACtJ,eAAK,SAAS,EAAC,SAAS,aACtB,KAAC,MAAM,kBACM,gBAAgB,EAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EACvB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;4BACvB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7B,CAAC,EACD,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BACjC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;4BACnB,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW;yBAClC,CAAC,CAAC,GACH,EAIF,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,gBACJ,eAAe,mBACX,aAAa,IAAI,CAAC,EACjC,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,aAAa,IAAI,CAAC;gCAAE,OAAO;4BAC/B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;wBAC7B,CAAC,qBAGM,EACT,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,gBACJ,WAAW,mBACP,aAAa,IAAI,SAAS,EACzC,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,aAAa,IAAI,SAAS;gCAAE,OAAO;4BACvC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;wBAC7B,CAAC,qBAGM,EACT,eAAM,SAAS,EAAC,WAAW,YAAE,QAAQ,MAAM,CAAC,aAAa,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,GAAQ,IACxF,IACF,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,IAAe,CAAC;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,iFAAiF;QACjF,+EAA+E;QAC/E,4CAA4C;QAC5C,IAAI,GAAG,CACL,KAAC,UAAU,OAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,GAAI,CAC1F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,GAAG,CACL,8BACE,KAAC,cAAc,kBAAa,KAAK,YAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxB,cAAK,IAAI,EAAC,UAAU,YAClB,KAAC,IAAI,IAAC,WAAW,kBACf,KAAC,WAAW,IACV,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,GACxC,GACG,IAPiB,UAAU,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAQ/C,CACP,CAAC,CAAC,CAAC,CACF,cACE,IAAI,EAAC,UAAU,KAEX,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAExB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAHlB,QAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAIjC,CACP,CACF,GACc,EAChB,MAAM,IACN,CACJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,gFAAgF;QAChF,8EAA8E;QAC9E,6EAA6E;QAC7E,IAAI,GAAG,CACL,8BACE,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,YACxB,MAAC,KAAK,eACJ,KAAC,KAAK,cACJ,KAAC,EAAE,cACA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,EAAE,IAAkB,OAAO,EAAE,MAAM,CAAC,OAAO,YACzC,MAAM,CAAC,MAAM,IADP,MAAM,CAAC,GAAG,CAEd,CACN,CAAC,GACC,GACC,EACR,KAAC,KAAK,cACH,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxB,KAAC,EAAE,cACD,KAAC,EAAE,IAAC,OAAO,EAAE,OAAO,CAAC,MAAM,YACzB,KAAC,WAAW,IACV,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,GACxC,GACC,IAPE,UAAU,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAQ/B,CACN,CAAC,CAAC,CAAC,CACF,KAAC,EAAE,OAA4C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YACjE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IADf,QAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAEpC,CACN,CACF,GACK,IACF,GACK,EACd,MAAM,IACN,CACJ,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,oDAAoD;IACpD,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAEnF,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,SAAS,aACrB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,gBAAM,SAAS,EAAC,SAAS,aACvB,KAAC,UAAU,KAAG,EACd,KAAC,SAAS,IACR,KAAK,EAAE,MAAM,CAAC,KAAK,gBACP,MAAM,CAAC,KAAK,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4CAClB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wCACtC,CAAC,GACD,IACG,CACR,CAAC,CAAC,CAAC,IAAI,EACR,eAAM,SAAS,EAAC,WAAW,YAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,GAAQ,IACxE,EACN,KAAC,UAAU,IAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,gBAAc,GAAG,KAAK,OAAO,GAAI,IACpF,EAEN,KAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,GACpB,EAED,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1E,KAAC,YAAY,IACX,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,GACnC,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,IAAI,IACD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-picker.d.ts","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-picker.d.ts","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"AAoCA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,wFAAwF;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1D;AAyDD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAA8B,EAC9B,QAAwB,EACxB,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,GACb,EAAE,eAAe,+BAgEjB"}
|
|
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
* selected value; this component fetches nothing.
|
|
8
8
|
*
|
|
9
9
|
* Four optional extensions, each inert unless supplied; the preset create flow
|
|
10
|
-
* passes
|
|
10
|
+
* passes all four and the multi-tool picker every one but `agentToolNames`:
|
|
11
11
|
* - `excludeNames` removes names from the options (e.g. a preset cannot be
|
|
12
12
|
* another preset's base, so the preset create flow excludes existing preset
|
|
13
13
|
* names). The server stays the authority — a slipped-through name is rejected
|
|
@@ -30,8 +30,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
30
30
|
* Pinned by a test.
|
|
31
31
|
*/
|
|
32
32
|
import { useState } from 'react';
|
|
33
|
+
import { toolDisplayLabel } from '../hooks/useToolDisplayNames';
|
|
33
34
|
import { Field } from './field';
|
|
34
35
|
import { Select } from './select';
|
|
36
|
+
const NO_DISPLAY_NAMES = {};
|
|
35
37
|
const UNTAGGED = 'Untagged';
|
|
36
38
|
// Radix `Select.Item` forbids an empty-string value, so the "no filter" choice
|
|
37
39
|
// uses a sentinel rather than ''. A tool literally tagged this string would just
|
|
@@ -43,12 +45,11 @@ function groupFor(name, tagsByTool) {
|
|
|
43
45
|
return tags[0] ?? UNTAGGED;
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
46
|
-
* The option label: `Display Name (raw)` when a distinct display name maps
|
|
47
|
-
* name, else the bare name; either way suffixed " (agent)" for an agent run tool.
|
|
48
|
+
* The option label: `Display Name (raw)` when a distinct non-empty display name maps
|
|
49
|
+
* the name, else the bare name; either way suffixed " (agent)" for an agent run tool.
|
|
48
50
|
*/
|
|
49
51
|
function optionLabel(name, displayNames, agentToolNames) {
|
|
50
|
-
const
|
|
51
|
-
const base = display !== undefined && display !== name ? `${display} (${name})` : name;
|
|
52
|
+
const base = toolDisplayLabel(displayNames ?? NO_DISPLAY_NAMES, name);
|
|
52
53
|
return agentToolNames?.has(name) === true ? `${base} (agent)` : base;
|
|
53
54
|
}
|
|
54
55
|
/** Build the grouped option clusters (sorted group labels, "Untagged" last). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-picker.js","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAgCpD,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,+EAA+E;AAC/E,iFAAiF;AACjF,uFAAuF;AACvF,MAAM,QAAQ,GAAG,cAAc,CAAC;AAEhC,kFAAkF;AAClF,SAAS,QAAQ,CAAC,IAAY,EAAE,UAAuD;IACrF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,IAAY,EACZ,YAA0D,EAC1D,cAA+C;IAE/C,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-picker.js","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/useApi.d.ts
CHANGED
|
@@ -49,6 +49,8 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
49
49
|
output_schema: Record<string, unknown> | null;
|
|
50
50
|
conflicted: boolean;
|
|
51
51
|
conflicted_reason: string | null;
|
|
52
|
+
uses: string[];
|
|
53
|
+
used_by: string[];
|
|
52
54
|
}[]>;
|
|
53
55
|
readonly createPreset: (body: import("@tai42/api-client").CreatePresetBody) => Promise<{
|
|
54
56
|
name: string;
|
|
@@ -62,6 +64,8 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
62
64
|
output_schema: Record<string, unknown> | null;
|
|
63
65
|
conflicted: boolean;
|
|
64
66
|
conflicted_reason: string | null;
|
|
67
|
+
uses: string[];
|
|
68
|
+
used_by: string[];
|
|
65
69
|
}>;
|
|
66
70
|
readonly getPreset: (name: string, signal?: AbortSignal) => Promise<{
|
|
67
71
|
name: string;
|
|
@@ -75,6 +79,8 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
75
79
|
output_schema: Record<string, unknown> | null;
|
|
76
80
|
conflicted: boolean;
|
|
77
81
|
conflicted_reason: string | null;
|
|
82
|
+
uses: string[];
|
|
83
|
+
used_by: string[];
|
|
78
84
|
fixed_kwargs: Record<string, unknown>;
|
|
79
85
|
}>;
|
|
80
86
|
readonly listPresetVersions: (name: string, signal?: AbortSignal) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,eAAO,MAAM,WAAW;;+BAW8nY,CAAC;iDAAsF,CAAC;;;;;uCAAuM,CAAC;;;;;4EAAgO,CAAC;wFAAgG,CAAC;;;+CAA2G,CAAC;;;;;aAAqL,CAAC;cAAoC,CAAC;mBAA8B,CAAC;;oDAAkF,CAAC;;;;;mBAA2L,CAAC;;kCAAkE,CAAC;;;;;iCAA8I,CAAC
|
|
1
|
+
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useToolDisplayNames` — the tool-meta display-name overlay (`GET /api/tool-meta`),
|
|
3
|
+
* fetched once per auth flip and held as SDK state, so every tool picker across the
|
|
4
|
+
* app labels a raw tool name with its human display name from ONE shared read rather
|
|
5
|
+
* than each picker refetching the overlay.
|
|
6
|
+
*
|
|
7
|
+
* A PLAIN fetch state machine (`loading` / `ready` / `failed`), NOT TanStack Query:
|
|
8
|
+
* the SDK is the shared leaf across the plugin boundary and holds no query context,
|
|
9
|
+
* exactly as `useSystemKinds` and `useCapabilities` do. It is DELIBERATELY
|
|
10
|
+
* non-blocking — the map reads empty until the overlay is `ready`, and a failed fetch
|
|
11
|
+
* settles into `failed` QUIETLY (no unauthorized routing, no loud error) because a
|
|
12
|
+
* display name is cosmetic: a picker with an empty map falls back to the bare raw
|
|
13
|
+
* name, never a hard-failed page.
|
|
14
|
+
*/
|
|
15
|
+
import { type ReactNode } from 'react';
|
|
16
|
+
export type ToolDisplayNamesState = {
|
|
17
|
+
readonly status: 'loading';
|
|
18
|
+
} | {
|
|
19
|
+
readonly status: 'ready';
|
|
20
|
+
readonly names: Readonly<Record<string, string>>;
|
|
21
|
+
} | {
|
|
22
|
+
readonly status: 'failed';
|
|
23
|
+
readonly error: unknown;
|
|
24
|
+
};
|
|
25
|
+
export interface ToolDisplayNamesContextValue {
|
|
26
|
+
readonly state: ToolDisplayNamesState;
|
|
27
|
+
/** Re-fetch the overlay (drives the app-level refresh after a display-name edit). */
|
|
28
|
+
readonly reload: () => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Fetch the tool-meta overlay once the caller is authenticated and hold its
|
|
32
|
+
* display-name map as SDK state. Gated on `isAuthenticated` (the overlay is an authed
|
|
33
|
+
* read), so the login screen never fires a doomed request; a fetch failure settles
|
|
34
|
+
* into `failed` QUIETLY, because the consuming pickers fall back to the bare raw name.
|
|
35
|
+
* `reload` re-fetches on demand, so an app-level display-name write refreshes every
|
|
36
|
+
* picker without a remount.
|
|
37
|
+
*/
|
|
38
|
+
export declare function ToolDisplayNamesProvider({ children }: {
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
}): import("react").FunctionComponentElement<import("react").ProviderProps<ToolDisplayNamesContextValue | null>>;
|
|
41
|
+
/**
|
|
42
|
+
* The live raw-name → display-name map — `{}` while the overlay is loading/failed, no
|
|
43
|
+
* provider is mounted, or no row carries a display name. A tool picker folds this into
|
|
44
|
+
* its option labels; an unmapped name reads the bare raw name.
|
|
45
|
+
*/
|
|
46
|
+
export declare function useToolDisplayNames(): Readonly<Record<string, string>>;
|
|
47
|
+
/**
|
|
48
|
+
* Re-fetch the display-name overlay. A surface that writes a display name calls this
|
|
49
|
+
* so the app-level provider — and every picker reading it — refreshes alongside the
|
|
50
|
+
* surface's own list invalidation. A no-op when no provider is mounted.
|
|
51
|
+
*/
|
|
52
|
+
export declare function useReloadToolDisplayNames(): () => void;
|
|
53
|
+
/**
|
|
54
|
+
* The option label for a raw tool name under a display-name map: `Display (raw)` when
|
|
55
|
+
* a display name maps the name and is non-empty AND differs from the raw name, else
|
|
56
|
+
* the bare raw name. Shared so every tool picker labels identically.
|
|
57
|
+
*
|
|
58
|
+
* @param names - the raw-name → display-name map (from {@link useToolDisplayNames}).
|
|
59
|
+
* @param rawName - the raw tool name to label.
|
|
60
|
+
* @returns `Display (raw)` for a distinct non-empty display name, else `rawName`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function toolDisplayLabel(names: Readonly<Record<string, string>>, rawName: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Serve a FIXED display-name map — the test seam for a consumer that renders a tool
|
|
65
|
+
* picker without a live fetch. `reload` defaults to a no-op; a test that exercises the
|
|
66
|
+
* reload wiring passes a spy. Re-exported from the testing entry.
|
|
67
|
+
*/
|
|
68
|
+
export declare function StaticToolDisplayNamesProvider({ names, reload, children, }: {
|
|
69
|
+
readonly names: Readonly<Record<string, string>>;
|
|
70
|
+
readonly reload?: () => void;
|
|
71
|
+
readonly children: ReactNode;
|
|
72
|
+
}): import("react").FunctionComponentElement<import("react").ProviderProps<ToolDisplayNamesContextValue | null>>;
|
|
73
|
+
//# sourceMappingURL=useToolDisplayNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolDisplayNames.d.ts","sourceRoot":"","sources":["../../src/hooks/useToolDisplayNames.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAkBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,gHAqC7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAItE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,IAAI,CAGtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKjG;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,MAAwB,EACxB,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B,gHAMA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useToolDisplayNames` — the tool-meta display-name overlay (`GET /api/tool-meta`),
|
|
3
|
+
* fetched once per auth flip and held as SDK state, so every tool picker across the
|
|
4
|
+
* app labels a raw tool name with its human display name from ONE shared read rather
|
|
5
|
+
* than each picker refetching the overlay.
|
|
6
|
+
*
|
|
7
|
+
* A PLAIN fetch state machine (`loading` / `ready` / `failed`), NOT TanStack Query:
|
|
8
|
+
* the SDK is the shared leaf across the plugin boundary and holds no query context,
|
|
9
|
+
* exactly as `useSystemKinds` and `useCapabilities` do. It is DELIBERATELY
|
|
10
|
+
* non-blocking — the map reads empty until the overlay is `ready`, and a failed fetch
|
|
11
|
+
* settles into `failed` QUIETLY (no unauthorized routing, no loud error) because a
|
|
12
|
+
* display name is cosmetic: a picker with an empty map falls back to the bare raw
|
|
13
|
+
* name, never a hard-failed page.
|
|
14
|
+
*/
|
|
15
|
+
import { createContext, createElement, useCallback, useContext, useEffect, useMemo, useState, } from 'react';
|
|
16
|
+
import { useApi } from './useApi';
|
|
17
|
+
import { useAuth } from './useAuth';
|
|
18
|
+
const ToolDisplayNamesContext = createContext(null);
|
|
19
|
+
/** The shared empty map returned while loading/failed or with no provider mounted. */
|
|
20
|
+
const EMPTY_NAMES = Object.freeze({});
|
|
21
|
+
/** Build the raw-name → display-name map from the overlay rows with a truthy `display_name`. */
|
|
22
|
+
function buildNames(overlay) {
|
|
23
|
+
const names = {};
|
|
24
|
+
for (const row of overlay.meta) {
|
|
25
|
+
if (row.display_name !== null && row.display_name !== '') {
|
|
26
|
+
names[row.tool_name] = row.display_name;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return names;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Fetch the tool-meta overlay once the caller is authenticated and hold its
|
|
33
|
+
* display-name map as SDK state. Gated on `isAuthenticated` (the overlay is an authed
|
|
34
|
+
* read), so the login screen never fires a doomed request; a fetch failure settles
|
|
35
|
+
* into `failed` QUIETLY, because the consuming pickers fall back to the bare raw name.
|
|
36
|
+
* `reload` re-fetches on demand, so an app-level display-name write refreshes every
|
|
37
|
+
* picker without a remount.
|
|
38
|
+
*/
|
|
39
|
+
export function ToolDisplayNamesProvider({ children }) {
|
|
40
|
+
const { isAuthenticated } = useAuth();
|
|
41
|
+
const api = useApi();
|
|
42
|
+
const [state, setState] = useState({ status: 'loading' });
|
|
43
|
+
const [attempt, setAttempt] = useState(0);
|
|
44
|
+
const reload = useCallback(() => {
|
|
45
|
+
setAttempt((n) => n + 1);
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (!isAuthenticated) {
|
|
49
|
+
// No credential → nothing to read. Reset to the neutral `loading` state so the
|
|
50
|
+
// next sign-in re-fetches cleanly; every picker reads the empty map meanwhile.
|
|
51
|
+
setState({ status: 'loading' });
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const controller = new AbortController();
|
|
55
|
+
setState({ status: 'loading' });
|
|
56
|
+
api.listToolMeta(controller.signal).then((overlay) => {
|
|
57
|
+
if (!controller.signal.aborted) {
|
|
58
|
+
setState({ status: 'ready', names: buildNames(overlay) });
|
|
59
|
+
}
|
|
60
|
+
}, (error) => {
|
|
61
|
+
if (!controller.signal.aborted)
|
|
62
|
+
setState({ status: 'failed', error });
|
|
63
|
+
});
|
|
64
|
+
return () => {
|
|
65
|
+
controller.abort();
|
|
66
|
+
};
|
|
67
|
+
}, [api, isAuthenticated, attempt]);
|
|
68
|
+
const value = useMemo(() => ({ state, reload }), [state, reload]);
|
|
69
|
+
return createElement(ToolDisplayNamesContext.Provider, { value }, children);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The live raw-name → display-name map — `{}` while the overlay is loading/failed, no
|
|
73
|
+
* provider is mounted, or no row carries a display name. A tool picker folds this into
|
|
74
|
+
* its option labels; an unmapped name reads the bare raw name.
|
|
75
|
+
*/
|
|
76
|
+
export function useToolDisplayNames() {
|
|
77
|
+
const value = useContext(ToolDisplayNamesContext);
|
|
78
|
+
if (value?.state.status !== 'ready')
|
|
79
|
+
return EMPTY_NAMES;
|
|
80
|
+
return value.state.names;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Re-fetch the display-name overlay. A surface that writes a display name calls this
|
|
84
|
+
* so the app-level provider — and every picker reading it — refreshes alongside the
|
|
85
|
+
* surface's own list invalidation. A no-op when no provider is mounted.
|
|
86
|
+
*/
|
|
87
|
+
export function useReloadToolDisplayNames() {
|
|
88
|
+
const value = useContext(ToolDisplayNamesContext);
|
|
89
|
+
return value?.reload ?? (() => undefined);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The option label for a raw tool name under a display-name map: `Display (raw)` when
|
|
93
|
+
* a display name maps the name and is non-empty AND differs from the raw name, else
|
|
94
|
+
* the bare raw name. Shared so every tool picker labels identically.
|
|
95
|
+
*
|
|
96
|
+
* @param names - the raw-name → display-name map (from {@link useToolDisplayNames}).
|
|
97
|
+
* @param rawName - the raw tool name to label.
|
|
98
|
+
* @returns `Display (raw)` for a distinct non-empty display name, else `rawName`.
|
|
99
|
+
*/
|
|
100
|
+
export function toolDisplayLabel(names, rawName) {
|
|
101
|
+
const display = names[rawName];
|
|
102
|
+
return display !== undefined && display !== '' && display !== rawName
|
|
103
|
+
? `${display} (${rawName})`
|
|
104
|
+
: rawName;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Serve a FIXED display-name map — the test seam for a consumer that renders a tool
|
|
108
|
+
* picker without a live fetch. `reload` defaults to a no-op; a test that exercises the
|
|
109
|
+
* reload wiring passes a spy. Re-exported from the testing entry.
|
|
110
|
+
*/
|
|
111
|
+
export function StaticToolDisplayNamesProvider({ names, reload = () => undefined, children, }) {
|
|
112
|
+
const value = useMemo(() => ({ state: { status: 'ready', names }, reload }), [names, reload]);
|
|
113
|
+
return createElement(ToolDisplayNamesContext.Provider, { value }, children);
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=useToolDisplayNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolDisplayNames.js","sourceRoot":"","sources":["../../src/hooks/useToolDisplayNames.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export { CapabilityProvider, useCapabilities, useCanWrite, isFullProjection, cov
|
|
|
30
30
|
export type { CapabilityState, CapabilityContextValue } from './hooks/useCapabilities';
|
|
31
31
|
export { SystemKindsProvider, useSystemKinds, useFeatureOff, useFeatureOffMessage, } from './hooks/useSystemKinds';
|
|
32
32
|
export type { SystemKindsState } from './hooks/useSystemKinds';
|
|
33
|
+
export { ToolDisplayNamesProvider, useToolDisplayNames, useReloadToolDisplayNames, toolDisplayLabel, } from './hooks/useToolDisplayNames';
|
|
34
|
+
export type { ToolDisplayNamesState, ToolDisplayNamesContextValue, } from './hooks/useToolDisplayNames';
|
|
33
35
|
export { ThemeProvider, useTheme } from './hooks/useTheme';
|
|
34
36
|
export type { Theme, ThemePreference, ThemeState } from './hooks/useTheme';
|
|
35
37
|
export { useBreakpoint } from './hooks/useBreakpoint';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AAGrC,YAAY,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG7F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClG,YAAY,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,OAAO,EACP,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACpG,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAChG,YAAY,EACV,cAAc,EACd,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,MAAM,EACN,qBAAqB,EACrB,cAAc,EACd,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG/E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,YAAY,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,YAAY,EACV,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ export { UnauthorizedProvider, useOnUnauthorized } from './hooks/useUnauthorized
|
|
|
32
32
|
export { AuthProvider, useAuth } from './hooks/useAuth';
|
|
33
33
|
export { CapabilityProvider, useCapabilities, useCanWrite, isFullProjection, coversAnyRoute, coversRoute, coversWrite, } from './hooks/useCapabilities';
|
|
34
34
|
export { SystemKindsProvider, useSystemKinds, useFeatureOff, useFeatureOffMessage, } from './hooks/useSystemKinds';
|
|
35
|
+
export { ToolDisplayNamesProvider, useToolDisplayNames, useReloadToolDisplayNames, toolDisplayLabel, } from './hooks/useToolDisplayNames';
|
|
35
36
|
export { ThemeProvider, useTheme } from './hooks/useTheme';
|
|
36
37
|
export { useBreakpoint } from './hooks/useBreakpoint';
|
|
37
38
|
export { useInteractionsStream } from './hooks/useSse';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/testing.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
export { __resetContributions } from './plugin/registry';
|
|
3
3
|
/** Test-only plugin host-state reset, cleared between cases beside the registry reset. */
|
|
4
4
|
export { __resetPluginHostState } from './plugin/host-state';
|
|
5
|
+
/** Test-only injector: serves a fixed tool display-name map without a live fetch. */
|
|
6
|
+
export { StaticToolDisplayNamesProvider } from './hooks/useToolDisplayNames';
|
|
5
7
|
/**
|
|
6
8
|
* Fires every live `ResizeObserver` stub's callback for the elements it is
|
|
7
9
|
* observing. Pair it with `setElementOverflow` to drive a component that
|
package/dist/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,0FAA0F;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,0FAA0F;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,qFAAqF;AACrF,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAuE7E;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAK7D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAMnF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CA4GxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,KAAK;IAC7B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAQA"}
|
package/dist/testing.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
export { __resetContributions } from './plugin/registry';
|
|
3
3
|
/** Test-only plugin host-state reset, cleared between cases beside the registry reset. */
|
|
4
4
|
export { __resetPluginHostState } from './plugin/host-state';
|
|
5
|
+
/** Test-only injector: serves a fixed tool display-name map without a live fetch. */
|
|
6
|
+
export { StaticToolDisplayNamesProvider } from './hooks/useToolDisplayNames';
|
|
5
7
|
const liveResizeObservers = new Set();
|
|
6
8
|
/**
|
|
7
9
|
* An in-memory Web Storage, installed for both `localStorage` and
|
package/dist/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,0FAA0F;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tai42/studio-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "tai42 <oss@tai42.ai>",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"@radix-ui/react-select": "^2.3.2",
|
|
90
90
|
"@radix-ui/react-tabs": "^1.1.16",
|
|
91
91
|
"@radix-ui/react-tooltip": "^1.2.11",
|
|
92
|
-
"@tai42/api-client": "1.
|
|
92
|
+
"@tai42/api-client": "1.8.0"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
|
95
95
|
"build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
|
|
@@ -2081,13 +2081,48 @@
|
|
|
2081
2081
|
flex-wrap: wrap;
|
|
2082
2082
|
}
|
|
2083
2083
|
|
|
2084
|
-
/*
|
|
2084
|
+
/* The paged-view footer: range text on the leading edge, the per-page select and
|
|
2085
|
+
prev/next controls on the trailing edge. Wraps on a narrow surface so it never
|
|
2086
|
+
widens the page. */
|
|
2087
|
+
.tai-explorer-pagination {
|
|
2088
|
+
display: flex;
|
|
2089
|
+
align-items: center;
|
|
2090
|
+
justify-content: space-between;
|
|
2091
|
+
gap: var(--tai-space-3);
|
|
2092
|
+
flex-wrap: wrap;
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
/* -- Card grids -------------------------------------------------------------------
|
|
2096
|
+
`grid-auto-rows: 1fr` makes every row of the track the same height, and the
|
|
2097
|
+
child chain below stretches each card to fill its cell, so a row's cards stay
|
|
2098
|
+
level however much text each carries. */
|
|
2085
2099
|
.tai-grid-cards {
|
|
2086
2100
|
display: grid;
|
|
2087
2101
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
2102
|
+
grid-auto-rows: 1fr;
|
|
2088
2103
|
gap: var(--tai-space-4);
|
|
2089
2104
|
}
|
|
2090
2105
|
|
|
2106
|
+
.tai-grid-cards > [role='listitem'] {
|
|
2107
|
+
display: flex;
|
|
2108
|
+
min-width: 0;
|
|
2109
|
+
}
|
|
2110
|
+
|
|
2111
|
+
.tai-grid-cards > [role='listitem'] > .tai-card {
|
|
2112
|
+
flex: 1;
|
|
2113
|
+
min-width: 0;
|
|
2114
|
+
display: flex;
|
|
2115
|
+
flex-direction: column;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
/* Card description clamp so grid rows stay uniform: two lines, then ellipsis. */
|
|
2119
|
+
.tai-clamp-2 {
|
|
2120
|
+
display: -webkit-box;
|
|
2121
|
+
-webkit-box-orient: vertical;
|
|
2122
|
+
-webkit-line-clamp: 2;
|
|
2123
|
+
overflow: hidden;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2091
2126
|
/* -- Responsive bands ---------------------------------------------------------------
|
|
2092
2127
|
1024-1279 medium: the card grid drops to two columns. The sidebar keeps the
|
|
2093
2128
|
width it has at every band above 1023, and `.tai-split` is already fluid —
|
|
@@ -12,14 +12,15 @@
|
|
|
12
12
|
* {@link matchesSelectedTags}, {@link UNTAGGED_TOKEN}) so every consuming screen
|
|
13
13
|
* shares one vocabulary/untagged-sentinel/OR-match rule rather than copying it.
|
|
14
14
|
*/
|
|
15
|
-
import type
|
|
15
|
+
import { useCallback, useEffect, useState, type MouseEvent, type ReactNode } from 'react';
|
|
16
16
|
|
|
17
17
|
import { EntityCardGrid } from './entity-card-grid';
|
|
18
18
|
import { childFolders, FolderBreadcrumb, FolderRow, type Folder } from './folder-nav';
|
|
19
19
|
import { SearchIcon } from './icons';
|
|
20
20
|
import { TextInput } from './inputs';
|
|
21
|
-
import { Card, EmptyState } from './primitives';
|
|
21
|
+
import { Button, Card, EmptyState } from './primitives';
|
|
22
22
|
import { ScrollRegion } from './scroll-region';
|
|
23
|
+
import { Select } from './select';
|
|
23
24
|
import { Table, TBody, TD, TH, THead, TR } from './table';
|
|
24
25
|
import { useViewMode, ViewToggle } from './view-toggle';
|
|
25
26
|
|
|
@@ -262,6 +263,49 @@ function FolderEntry({
|
|
|
262
263
|
);
|
|
263
264
|
}
|
|
264
265
|
|
|
266
|
+
/** The page-size choices, and the default. */
|
|
267
|
+
const PAGE_SIZES = [12, 24, 48, 96] as const;
|
|
268
|
+
const DEFAULT_PAGE_SIZE = 24;
|
|
269
|
+
|
|
270
|
+
const PAGE_SIZE_STORAGE_PREFIX = 'tai-studio.page-size.';
|
|
271
|
+
|
|
272
|
+
function readStoredPageSize(surface: string): number {
|
|
273
|
+
try {
|
|
274
|
+
const raw = globalThis.localStorage.getItem(PAGE_SIZE_STORAGE_PREFIX + surface);
|
|
275
|
+
const parsed = raw === null ? Number.NaN : Number(raw);
|
|
276
|
+
if ((PAGE_SIZES as readonly number[]).includes(parsed)) return parsed;
|
|
277
|
+
} catch {
|
|
278
|
+
// No storage (private mode / non-browser) — fall back to the default.
|
|
279
|
+
}
|
|
280
|
+
return DEFAULT_PAGE_SIZE;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* The persisted page size for one `surface`, mirroring {@link useViewMode}: an
|
|
285
|
+
* invalid or absent stored value degrades to the default, and a storage failure
|
|
286
|
+
* degrades to in-memory only — never a thrown boot.
|
|
287
|
+
*/
|
|
288
|
+
function usePageSize(surface: string): readonly [number, (size: number) => void] {
|
|
289
|
+
const [size, setSizeState] = useState<number>(() => readStoredPageSize(surface));
|
|
290
|
+
const setSize = useCallback(
|
|
291
|
+
(next: number) => {
|
|
292
|
+
setSizeState(next);
|
|
293
|
+
try {
|
|
294
|
+
globalThis.localStorage.setItem(PAGE_SIZE_STORAGE_PREFIX + surface, String(next));
|
|
295
|
+
} catch {
|
|
296
|
+
// Storage unavailable — the choice still applies for this session.
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
[surface],
|
|
300
|
+
);
|
|
301
|
+
return [size, setSize];
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/** One page entry: a subfolder (sorted first) or a filtered item, in one array. */
|
|
305
|
+
type ExplorerEntry<T> =
|
|
306
|
+
| { readonly kind: 'folder'; readonly folder: Folder }
|
|
307
|
+
| { readonly kind: 'item'; readonly item: T };
|
|
308
|
+
|
|
265
309
|
export function ExplorerView<T>({
|
|
266
310
|
items,
|
|
267
311
|
getItemKey,
|
|
@@ -282,6 +326,17 @@ export function ExplorerView<T>({
|
|
|
282
326
|
emptyStates,
|
|
283
327
|
}: ExplorerViewProps<T>): ReactNode {
|
|
284
328
|
const [viewMode, setViewMode] = useViewMode(viewSurface);
|
|
329
|
+
const [pageSize, setPageSize] = usePageSize(viewSurface);
|
|
330
|
+
const [page, setPage] = useState(1);
|
|
331
|
+
|
|
332
|
+
const query = search ? search.value.trim() : '';
|
|
333
|
+
const tagKey = tags !== undefined ? tags.selected.join('') : '';
|
|
334
|
+
|
|
335
|
+
// A new filter view starts on its first page; the clamp below then handles a
|
|
336
|
+
// set that shrinks under the current page without a reset.
|
|
337
|
+
useEffect(() => {
|
|
338
|
+
setPage(1);
|
|
339
|
+
}, [currentFolderId, query, tagKey, pageSize]);
|
|
285
340
|
|
|
286
341
|
if (viewSurface === '') throw new Error('ExplorerView requires a non-empty viewSurface key.');
|
|
287
342
|
if (columns.length === 0) throw new Error('ExplorerView requires at least one column.');
|
|
@@ -295,7 +350,6 @@ export function ExplorerView<T>({
|
|
|
295
350
|
const inFolder = items.filter((item) => getFolderId(item) === currentFolderId);
|
|
296
351
|
|
|
297
352
|
const selectedSet = tags !== undefined ? new Set(tags.selected) : undefined;
|
|
298
|
-
const query = search ? search.value.trim() : '';
|
|
299
353
|
const filtered = inFolder.filter((item) => {
|
|
300
354
|
if (tags !== undefined && selectedSet !== undefined && selectedSet.size > 0) {
|
|
301
355
|
if (!matchesSelectedTags(tags.getTags(item), selectedSet)) return false;
|
|
@@ -348,91 +402,171 @@ export function ExplorerView<T>({
|
|
|
348
402
|
|
|
349
403
|
const hasEntries = subfolders.length > 0 || filtered.length > 0;
|
|
350
404
|
|
|
405
|
+
// Subfolders (sorted first) then filtered items, as ONE entries array both views
|
|
406
|
+
// slice by page — so a page can straddle the folder→item boundary.
|
|
407
|
+
const entries: ExplorerEntry<T>[] = [
|
|
408
|
+
...subfolders.map((folder) => ({ kind: 'folder', folder }) as const),
|
|
409
|
+
...filtered.map((item) => ({ kind: 'item', item }) as const),
|
|
410
|
+
];
|
|
411
|
+
const pageCount = Math.max(1, Math.ceil(entries.length / pageSize));
|
|
412
|
+
const effectivePage = Math.min(page, pageCount);
|
|
413
|
+
// Reconcile the stored page to the clamp so a set that shrinks below the page
|
|
414
|
+
// and then regrows (no reset dep changed) stays on the clamped page instead of
|
|
415
|
+
// jumping back to the stale one. Guarded, so this render-time set never loops.
|
|
416
|
+
if (page !== effectivePage) setPage(effectivePage);
|
|
417
|
+
const pageStart = (effectivePage - 1) * pageSize;
|
|
418
|
+
const pageEntries = entries.slice(pageStart, pageStart + pageSize);
|
|
419
|
+
|
|
420
|
+
const footer =
|
|
421
|
+
entries.length > 0 ? (
|
|
422
|
+
<nav className="tai-explorer-pagination" aria-label={`${label} pagination`}>
|
|
423
|
+
<span className="tai-muted">{`${String(pageStart + 1)}–${String(Math.min(pageStart + pageSize, entries.length))} of ${String(entries.length)}`}</span>
|
|
424
|
+
<div className="tai-row">
|
|
425
|
+
<Select
|
|
426
|
+
aria-label="Items per page"
|
|
427
|
+
value={String(pageSize)}
|
|
428
|
+
onValueChange={(value) => {
|
|
429
|
+
setPageSize(Number(value));
|
|
430
|
+
}}
|
|
431
|
+
options={PAGE_SIZES.map((size) => ({
|
|
432
|
+
value: String(size),
|
|
433
|
+
label: `${String(size)} per page`,
|
|
434
|
+
}))}
|
|
435
|
+
/>
|
|
436
|
+
{/* aria-disabled, never the disabled attribute: a button removed from
|
|
437
|
+
the tab order at the bound drops focus to the body (WCAG 2.4.3).
|
|
438
|
+
The click guard makes activation at the bound an inert no-op. */}
|
|
439
|
+
<Button
|
|
440
|
+
variant="ghost"
|
|
441
|
+
aria-label="Previous page"
|
|
442
|
+
aria-disabled={effectivePage <= 1}
|
|
443
|
+
onClick={() => {
|
|
444
|
+
if (effectivePage <= 1) return;
|
|
445
|
+
setPage(effectivePage - 1);
|
|
446
|
+
}}
|
|
447
|
+
>
|
|
448
|
+
Prev
|
|
449
|
+
</Button>
|
|
450
|
+
<Button
|
|
451
|
+
variant="ghost"
|
|
452
|
+
aria-label="Next page"
|
|
453
|
+
aria-disabled={effectivePage >= pageCount}
|
|
454
|
+
onClick={() => {
|
|
455
|
+
if (effectivePage >= pageCount) return;
|
|
456
|
+
setPage(effectivePage + 1);
|
|
457
|
+
}}
|
|
458
|
+
>
|
|
459
|
+
Next
|
|
460
|
+
</Button>
|
|
461
|
+
<span className="tai-muted">{`Page ${String(effectivePage)} of ${String(pageCount)}`}</span>
|
|
462
|
+
</div>
|
|
463
|
+
</nav>
|
|
464
|
+
) : null;
|
|
465
|
+
|
|
351
466
|
let body: ReactNode;
|
|
352
467
|
if (!hasEntries) {
|
|
353
468
|
// The current folder renders nothing. A filter emptied it (`inFolder` non-empty)
|
|
354
|
-
// → "no match"; otherwise the folder is genuinely empty.
|
|
469
|
+
// → "no match"; otherwise the folder is genuinely empty. The ladder decides on
|
|
470
|
+
// the full, unsliced sets, never on a page.
|
|
355
471
|
body = (
|
|
356
472
|
<EmptyState {...(inFolder.length > 0 ? emptyStates.noMatch : emptyStates.emptyFolder)} />
|
|
357
473
|
);
|
|
358
474
|
} else if (viewMode === 'cards') {
|
|
359
475
|
body = (
|
|
360
|
-
|
|
361
|
-
{
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
<
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
476
|
+
<>
|
|
477
|
+
<EntityCardGrid aria-label={label}>
|
|
478
|
+
{pageEntries.map((entry) =>
|
|
479
|
+
entry.kind === 'folder' ? (
|
|
480
|
+
<div role="listitem" key={`folder:${entry.folder.id}`}>
|
|
481
|
+
<Card interactive>
|
|
482
|
+
<FolderEntry
|
|
483
|
+
folder={entry.folder}
|
|
484
|
+
onNavigate={onNavigate}
|
|
485
|
+
renderFolderActions={renderFolderActions}
|
|
486
|
+
/>
|
|
487
|
+
</Card>
|
|
488
|
+
</div>
|
|
489
|
+
) : (
|
|
490
|
+
<div
|
|
491
|
+
role="listitem"
|
|
492
|
+
key={`item:${getItemKey(entry.item)}`}
|
|
493
|
+
{...openProps(entry.item)}
|
|
494
|
+
>
|
|
495
|
+
{renderCard(entry.item)}
|
|
496
|
+
</div>
|
|
497
|
+
),
|
|
498
|
+
)}
|
|
499
|
+
</EntityCardGrid>
|
|
500
|
+
{footer}
|
|
501
|
+
</>
|
|
378
502
|
);
|
|
379
503
|
} else {
|
|
380
504
|
// Folder rows share the item table, spanning every column, sorted above items —
|
|
381
505
|
// so a folder-with-only-subfolders is folder ROWS, never a header-only table.
|
|
382
506
|
// A too-wide table scrolls inside its own box rather than widening the page.
|
|
383
507
|
body = (
|
|
384
|
-
|
|
385
|
-
<
|
|
386
|
-
<
|
|
387
|
-
<
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
{column.
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
</THead>
|
|
395
|
-
<TBody>
|
|
396
|
-
{subfolders.map((folder) => (
|
|
397
|
-
<TR key={`folder:${folder.id}`}>
|
|
398
|
-
<TD colSpan={columns.length}>
|
|
399
|
-
<FolderEntry
|
|
400
|
-
folder={folder}
|
|
401
|
-
onNavigate={onNavigate}
|
|
402
|
-
renderFolderActions={renderFolderActions}
|
|
403
|
-
/>
|
|
404
|
-
</TD>
|
|
508
|
+
<>
|
|
509
|
+
<ScrollRegion label={label}>
|
|
510
|
+
<Table>
|
|
511
|
+
<THead>
|
|
512
|
+
<TR>
|
|
513
|
+
{columns.map((column) => (
|
|
514
|
+
<TH key={column.key} numeric={column.numeric}>
|
|
515
|
+
{column.header}
|
|
516
|
+
</TH>
|
|
517
|
+
))}
|
|
405
518
|
</TR>
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
519
|
+
</THead>
|
|
520
|
+
<TBody>
|
|
521
|
+
{pageEntries.map((entry) =>
|
|
522
|
+
entry.kind === 'folder' ? (
|
|
523
|
+
<TR key={`folder:${entry.folder.id}`}>
|
|
524
|
+
<TD colSpan={columns.length}>
|
|
525
|
+
<FolderEntry
|
|
526
|
+
folder={entry.folder}
|
|
527
|
+
onNavigate={onNavigate}
|
|
528
|
+
renderFolderActions={renderFolderActions}
|
|
529
|
+
/>
|
|
530
|
+
</TD>
|
|
531
|
+
</TR>
|
|
532
|
+
) : (
|
|
533
|
+
<TR key={`item:${getItemKey(entry.item)}`} {...openProps(entry.item)}>
|
|
534
|
+
{renderRow(entry.item)}
|
|
535
|
+
</TR>
|
|
536
|
+
),
|
|
537
|
+
)}
|
|
538
|
+
</TBody>
|
|
539
|
+
</Table>
|
|
540
|
+
</ScrollRegion>
|
|
541
|
+
{footer}
|
|
542
|
+
</>
|
|
415
543
|
);
|
|
416
544
|
}
|
|
417
545
|
|
|
546
|
+
// Every surface label is a regular English plural (Tools/Templates/Resources/
|
|
547
|
+
// Flows), so a count of one drops the trailing "s".
|
|
548
|
+
const countLabel =
|
|
549
|
+
items.length === 1 ? label.toLowerCase().replace(/s$/, '') : label.toLowerCase();
|
|
550
|
+
|
|
418
551
|
return (
|
|
419
552
|
<div className="tai-explorer">
|
|
420
553
|
<div className="tai-explorer-controls">
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
<
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
554
|
+
<div className="tai-row">
|
|
555
|
+
{search !== undefined ? (
|
|
556
|
+
<span className="tai-row">
|
|
557
|
+
<SearchIcon />
|
|
558
|
+
<TextInput
|
|
559
|
+
value={search.value}
|
|
560
|
+
aria-label={search.label}
|
|
561
|
+
placeholder={search.placeholder}
|
|
562
|
+
onChange={(event) => {
|
|
563
|
+
search.onChange(event.target.value);
|
|
564
|
+
}}
|
|
565
|
+
/>
|
|
566
|
+
</span>
|
|
567
|
+
) : null}
|
|
568
|
+
<span className="tai-muted">{`${String(items.length)} ${countLabel}`}</span>
|
|
569
|
+
</div>
|
|
436
570
|
<ViewToggle value={viewMode} onValueChange={setViewMode} aria-label={`${label} view`} />
|
|
437
571
|
</div>
|
|
438
572
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* selected value; this component fetches nothing.
|
|
7
7
|
*
|
|
8
8
|
* Four optional extensions, each inert unless supplied; the preset create flow
|
|
9
|
-
* passes
|
|
9
|
+
* passes all four and the multi-tool picker every one but `agentToolNames`:
|
|
10
10
|
* - `excludeNames` removes names from the options (e.g. a preset cannot be
|
|
11
11
|
* another preset's base, so the preset create flow excludes existing preset
|
|
12
12
|
* names). The server stays the authority — a slipped-through name is rejected
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import { useState } from 'react';
|
|
32
32
|
|
|
33
|
+
import { toolDisplayLabel } from '../hooks/useToolDisplayNames';
|
|
33
34
|
import { Field } from './field';
|
|
34
35
|
import { Select, type SelectGroup } from './select';
|
|
35
36
|
|
|
@@ -63,6 +64,7 @@ export interface ToolPickerProps {
|
|
|
63
64
|
readonly displayNames?: Readonly<Record<string, string>>;
|
|
64
65
|
}
|
|
65
66
|
|
|
67
|
+
const NO_DISPLAY_NAMES: Readonly<Record<string, string>> = {};
|
|
66
68
|
const UNTAGGED = 'Untagged';
|
|
67
69
|
// Radix `Select.Item` forbids an empty-string value, so the "no filter" choice
|
|
68
70
|
// uses a sentinel rather than ''. A tool literally tagged this string would just
|
|
@@ -76,16 +78,15 @@ function groupFor(name: string, tagsByTool: Readonly<Record<string, readonly str
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
/**
|
|
79
|
-
* The option label: `Display Name (raw)` when a distinct display name maps
|
|
80
|
-
* name, else the bare name; either way suffixed " (agent)" for an agent run tool.
|
|
81
|
+
* The option label: `Display Name (raw)` when a distinct non-empty display name maps
|
|
82
|
+
* the name, else the bare name; either way suffixed " (agent)" for an agent run tool.
|
|
81
83
|
*/
|
|
82
84
|
function optionLabel(
|
|
83
85
|
name: string,
|
|
84
86
|
displayNames: Readonly<Record<string, string>> | undefined,
|
|
85
87
|
agentToolNames: ReadonlySet<string> | undefined,
|
|
86
88
|
): string {
|
|
87
|
-
const
|
|
88
|
-
const base = display !== undefined && display !== name ? `${display} (${name})` : name;
|
|
89
|
+
const base = toolDisplayLabel(displayNames ?? NO_DISPLAY_NAMES, name);
|
|
89
90
|
return agentToolNames?.has(name) === true ? `${base} (agent)` : base;
|
|
90
91
|
}
|
|
91
92
|
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useToolDisplayNames` — the tool-meta display-name overlay (`GET /api/tool-meta`),
|
|
3
|
+
* fetched once per auth flip and held as SDK state, so every tool picker across the
|
|
4
|
+
* app labels a raw tool name with its human display name from ONE shared read rather
|
|
5
|
+
* than each picker refetching the overlay.
|
|
6
|
+
*
|
|
7
|
+
* A PLAIN fetch state machine (`loading` / `ready` / `failed`), NOT TanStack Query:
|
|
8
|
+
* the SDK is the shared leaf across the plugin boundary and holds no query context,
|
|
9
|
+
* exactly as `useSystemKinds` and `useCapabilities` do. It is DELIBERATELY
|
|
10
|
+
* non-blocking — the map reads empty until the overlay is `ready`, and a failed fetch
|
|
11
|
+
* settles into `failed` QUIETLY (no unauthorized routing, no loud error) because a
|
|
12
|
+
* display name is cosmetic: a picker with an empty map falls back to the bare raw
|
|
13
|
+
* name, never a hard-failed page.
|
|
14
|
+
*/
|
|
15
|
+
import {
|
|
16
|
+
createContext,
|
|
17
|
+
createElement,
|
|
18
|
+
useCallback,
|
|
19
|
+
useContext,
|
|
20
|
+
useEffect,
|
|
21
|
+
useMemo,
|
|
22
|
+
useState,
|
|
23
|
+
type ReactNode,
|
|
24
|
+
} from 'react';
|
|
25
|
+
import type { ToolMetaOverlay } from '@tai42/api-client';
|
|
26
|
+
|
|
27
|
+
import { useApi } from './useApi';
|
|
28
|
+
import { useAuth } from './useAuth';
|
|
29
|
+
|
|
30
|
+
export type ToolDisplayNamesState =
|
|
31
|
+
| { readonly status: 'loading' }
|
|
32
|
+
| { readonly status: 'ready'; readonly names: Readonly<Record<string, string>> }
|
|
33
|
+
| { readonly status: 'failed'; readonly error: unknown };
|
|
34
|
+
|
|
35
|
+
export interface ToolDisplayNamesContextValue {
|
|
36
|
+
readonly state: ToolDisplayNamesState;
|
|
37
|
+
/** Re-fetch the overlay (drives the app-level refresh after a display-name edit). */
|
|
38
|
+
readonly reload: () => void;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const ToolDisplayNamesContext = createContext<ToolDisplayNamesContextValue | null>(null);
|
|
42
|
+
|
|
43
|
+
/** The shared empty map returned while loading/failed or with no provider mounted. */
|
|
44
|
+
const EMPTY_NAMES: Readonly<Record<string, string>> = Object.freeze({});
|
|
45
|
+
|
|
46
|
+
/** Build the raw-name → display-name map from the overlay rows with a truthy `display_name`. */
|
|
47
|
+
function buildNames(overlay: ToolMetaOverlay): Readonly<Record<string, string>> {
|
|
48
|
+
const names: Record<string, string> = {};
|
|
49
|
+
for (const row of overlay.meta) {
|
|
50
|
+
if (row.display_name !== null && row.display_name !== '') {
|
|
51
|
+
names[row.tool_name] = row.display_name;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return names;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Fetch the tool-meta overlay once the caller is authenticated and hold its
|
|
59
|
+
* display-name map as SDK state. Gated on `isAuthenticated` (the overlay is an authed
|
|
60
|
+
* read), so the login screen never fires a doomed request; a fetch failure settles
|
|
61
|
+
* into `failed` QUIETLY, because the consuming pickers fall back to the bare raw name.
|
|
62
|
+
* `reload` re-fetches on demand, so an app-level display-name write refreshes every
|
|
63
|
+
* picker without a remount.
|
|
64
|
+
*/
|
|
65
|
+
export function ToolDisplayNamesProvider({ children }: { children: ReactNode }) {
|
|
66
|
+
const { isAuthenticated } = useAuth();
|
|
67
|
+
const api = useApi();
|
|
68
|
+
const [state, setState] = useState<ToolDisplayNamesState>({ status: 'loading' });
|
|
69
|
+
const [attempt, setAttempt] = useState(0);
|
|
70
|
+
|
|
71
|
+
const reload = useCallback(() => {
|
|
72
|
+
setAttempt((n) => n + 1);
|
|
73
|
+
}, []);
|
|
74
|
+
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (!isAuthenticated) {
|
|
77
|
+
// No credential → nothing to read. Reset to the neutral `loading` state so the
|
|
78
|
+
// next sign-in re-fetches cleanly; every picker reads the empty map meanwhile.
|
|
79
|
+
setState({ status: 'loading' });
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const controller = new AbortController();
|
|
83
|
+
setState({ status: 'loading' });
|
|
84
|
+
api.listToolMeta(controller.signal).then(
|
|
85
|
+
(overlay) => {
|
|
86
|
+
if (!controller.signal.aborted) {
|
|
87
|
+
setState({ status: 'ready', names: buildNames(overlay) });
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
(error: unknown) => {
|
|
91
|
+
if (!controller.signal.aborted) setState({ status: 'failed', error });
|
|
92
|
+
},
|
|
93
|
+
);
|
|
94
|
+
return () => {
|
|
95
|
+
controller.abort();
|
|
96
|
+
};
|
|
97
|
+
}, [api, isAuthenticated, attempt]);
|
|
98
|
+
|
|
99
|
+
const value = useMemo<ToolDisplayNamesContextValue>(() => ({ state, reload }), [state, reload]);
|
|
100
|
+
|
|
101
|
+
return createElement(ToolDisplayNamesContext.Provider, { value }, children);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* The live raw-name → display-name map — `{}` while the overlay is loading/failed, no
|
|
106
|
+
* provider is mounted, or no row carries a display name. A tool picker folds this into
|
|
107
|
+
* its option labels; an unmapped name reads the bare raw name.
|
|
108
|
+
*/
|
|
109
|
+
export function useToolDisplayNames(): Readonly<Record<string, string>> {
|
|
110
|
+
const value = useContext(ToolDisplayNamesContext);
|
|
111
|
+
if (value?.state.status !== 'ready') return EMPTY_NAMES;
|
|
112
|
+
return value.state.names;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Re-fetch the display-name overlay. A surface that writes a display name calls this
|
|
117
|
+
* so the app-level provider — and every picker reading it — refreshes alongside the
|
|
118
|
+
* surface's own list invalidation. A no-op when no provider is mounted.
|
|
119
|
+
*/
|
|
120
|
+
export function useReloadToolDisplayNames(): () => void {
|
|
121
|
+
const value = useContext(ToolDisplayNamesContext);
|
|
122
|
+
return value?.reload ?? (() => undefined);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The option label for a raw tool name under a display-name map: `Display (raw)` when
|
|
127
|
+
* a display name maps the name and is non-empty AND differs from the raw name, else
|
|
128
|
+
* the bare raw name. Shared so every tool picker labels identically.
|
|
129
|
+
*
|
|
130
|
+
* @param names - the raw-name → display-name map (from {@link useToolDisplayNames}).
|
|
131
|
+
* @param rawName - the raw tool name to label.
|
|
132
|
+
* @returns `Display (raw)` for a distinct non-empty display name, else `rawName`.
|
|
133
|
+
*/
|
|
134
|
+
export function toolDisplayLabel(names: Readonly<Record<string, string>>, rawName: string): string {
|
|
135
|
+
const display = names[rawName];
|
|
136
|
+
return display !== undefined && display !== '' && display !== rawName
|
|
137
|
+
? `${display} (${rawName})`
|
|
138
|
+
: rawName;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Serve a FIXED display-name map — the test seam for a consumer that renders a tool
|
|
143
|
+
* picker without a live fetch. `reload` defaults to a no-op; a test that exercises the
|
|
144
|
+
* reload wiring passes a spy. Re-exported from the testing entry.
|
|
145
|
+
*/
|
|
146
|
+
export function StaticToolDisplayNamesProvider({
|
|
147
|
+
names,
|
|
148
|
+
reload = () => undefined,
|
|
149
|
+
children,
|
|
150
|
+
}: {
|
|
151
|
+
readonly names: Readonly<Record<string, string>>;
|
|
152
|
+
readonly reload?: () => void;
|
|
153
|
+
readonly children: ReactNode;
|
|
154
|
+
}) {
|
|
155
|
+
const value = useMemo<ToolDisplayNamesContextValue>(
|
|
156
|
+
() => ({ state: { status: 'ready', names }, reload }),
|
|
157
|
+
[names, reload],
|
|
158
|
+
);
|
|
159
|
+
return createElement(ToolDisplayNamesContext.Provider, { value }, children);
|
|
160
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -71,6 +71,16 @@ export {
|
|
|
71
71
|
useFeatureOffMessage,
|
|
72
72
|
} from './hooks/useSystemKinds';
|
|
73
73
|
export type { SystemKindsState } from './hooks/useSystemKinds';
|
|
74
|
+
export {
|
|
75
|
+
ToolDisplayNamesProvider,
|
|
76
|
+
useToolDisplayNames,
|
|
77
|
+
useReloadToolDisplayNames,
|
|
78
|
+
toolDisplayLabel,
|
|
79
|
+
} from './hooks/useToolDisplayNames';
|
|
80
|
+
export type {
|
|
81
|
+
ToolDisplayNamesState,
|
|
82
|
+
ToolDisplayNamesContextValue,
|
|
83
|
+
} from './hooks/useToolDisplayNames';
|
|
74
84
|
export { ThemeProvider, useTheme } from './hooks/useTheme';
|
|
75
85
|
export type { Theme, ThemePreference, ThemeState } from './hooks/useTheme';
|
|
76
86
|
export { useBreakpoint } from './hooks/useBreakpoint';
|
package/src/testing.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
export { __resetContributions } from './plugin/registry';
|
|
3
3
|
/** Test-only plugin host-state reset, cleared between cases beside the registry reset. */
|
|
4
4
|
export { __resetPluginHostState } from './plugin/host-state';
|
|
5
|
+
/** Test-only injector: serves a fixed tool display-name map without a live fetch. */
|
|
6
|
+
export { StaticToolDisplayNamesProvider } from './hooks/useToolDisplayNames';
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Every `ResizeObserver` the stub has handed out and not yet had disconnected,
|