@corenel/web-ui 0.13.2 → 0.14.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.
Files changed (193) hide show
  1. package/dist/Composer.d.ts +30 -1
  2. package/dist/Composer.d.ts.map +1 -1
  3. package/dist/Composer.js +111 -19
  4. package/dist/Composer.js.map +1 -1
  5. package/dist/ContextBar.d.ts +9 -3
  6. package/dist/ContextBar.d.ts.map +1 -1
  7. package/dist/ContextBar.js +14 -7
  8. package/dist/ContextBar.js.map +1 -1
  9. package/dist/ContextManager.d.ts +10 -2
  10. package/dist/ContextManager.d.ts.map +1 -1
  11. package/dist/ContextManager.js +14 -10
  12. package/dist/ContextManager.js.map +1 -1
  13. package/dist/DictateButton.d.ts +21 -1
  14. package/dist/DictateButton.d.ts.map +1 -1
  15. package/dist/DictateButton.js +73 -10
  16. package/dist/DictateButton.js.map +1 -1
  17. package/dist/PickChips.d.ts +6 -0
  18. package/dist/PickChips.d.ts.map +1 -0
  19. package/dist/PickChips.js +55 -0
  20. package/dist/PickChips.js.map +1 -0
  21. package/dist/ProcessDock.d.ts +10 -0
  22. package/dist/ProcessDock.d.ts.map +1 -1
  23. package/dist/ProcessDock.js +24 -1
  24. package/dist/ProcessDock.js.map +1 -1
  25. package/dist/RichContent.d.ts.map +1 -1
  26. package/dist/RichContent.js +102 -24
  27. package/dist/RichContent.js.map +1 -1
  28. package/dist/SummaryTranscript.d.ts +5 -1
  29. package/dist/SummaryTranscript.d.ts.map +1 -1
  30. package/dist/SummaryTranscript.js +5 -3
  31. package/dist/SummaryTranscript.js.map +1 -1
  32. package/dist/TodoBar.d.ts +2 -0
  33. package/dist/TodoBar.d.ts.map +1 -1
  34. package/dist/TodoBar.js +8 -0
  35. package/dist/TodoBar.js.map +1 -1
  36. package/dist/TodoLine.d.ts +11 -0
  37. package/dist/TodoLine.d.ts.map +1 -0
  38. package/dist/TodoLine.js +55 -0
  39. package/dist/TodoLine.js.map +1 -0
  40. package/dist/ToolFold.js +1 -1
  41. package/dist/ToolFold.js.map +1 -1
  42. package/dist/Transcript.d.ts +19 -1
  43. package/dist/Transcript.d.ts.map +1 -1
  44. package/dist/Transcript.js +127 -58
  45. package/dist/Transcript.js.map +1 -1
  46. package/dist/agentChat/AgentChat.d.ts +42 -0
  47. package/dist/agentChat/AgentChat.d.ts.map +1 -1
  48. package/dist/agentChat/AgentChat.js +573 -100
  49. package/dist/agentChat/AgentChat.js.map +1 -1
  50. package/dist/agentChat/ChatSettingsSheet.d.ts +9 -0
  51. package/dist/agentChat/ChatSettingsSheet.d.ts.map +1 -0
  52. package/dist/agentChat/ChatSettingsSheet.js +103 -0
  53. package/dist/agentChat/ChatSettingsSheet.js.map +1 -0
  54. package/dist/agentChat/OptionsDrawer.d.ts +8 -0
  55. package/dist/agentChat/OptionsDrawer.d.ts.map +1 -1
  56. package/dist/agentChat/OptionsDrawer.js +24 -215
  57. package/dist/agentChat/OptionsDrawer.js.map +1 -1
  58. package/dist/agentChat/PlanReview.d.ts +1 -1
  59. package/dist/agentChat/PlanReview.d.ts.map +1 -1
  60. package/dist/agentChat/PlanReview.js +1 -1
  61. package/dist/agentChat/PlanReview.js.map +1 -1
  62. package/dist/agentChat/SourceGroups.d.ts +24 -0
  63. package/dist/agentChat/SourceGroups.d.ts.map +1 -0
  64. package/dist/agentChat/SourceGroups.js +117 -0
  65. package/dist/agentChat/SourceGroups.js.map +1 -0
  66. package/dist/agentChat/controller.d.ts +30 -1
  67. package/dist/agentChat/controller.d.ts.map +1 -1
  68. package/dist/agentChat/controller.js.map +1 -1
  69. package/dist/agentChat/pendingQueue.d.ts +4 -0
  70. package/dist/agentChat/pendingQueue.d.ts.map +1 -1
  71. package/dist/agentChat/pendingQueue.js +7 -0
  72. package/dist/agentChat/pendingQueue.js.map +1 -1
  73. package/dist/agentChat/planTool.d.ts +4 -0
  74. package/dist/agentChat/planTool.d.ts.map +1 -0
  75. package/dist/agentChat/planTool.js +4 -0
  76. package/dist/agentChat/planTool.js.map +1 -0
  77. package/dist/agentChat/testSheetHost.d.ts +3 -0
  78. package/dist/agentChat/testSheetHost.d.ts.map +1 -0
  79. package/dist/agentChat/testSheetHost.js +9 -0
  80. package/dist/agentChat/testSheetHost.js.map +1 -0
  81. package/dist/agentChat/useChatOptions.d.ts +63 -0
  82. package/dist/agentChat/useChatOptions.d.ts.map +1 -0
  83. package/dist/agentChat/useChatOptions.js +156 -0
  84. package/dist/agentChat/useChatOptions.js.map +1 -0
  85. package/dist/chatRefreshContext.d.ts +8 -0
  86. package/dist/chatRefreshContext.d.ts.map +1 -0
  87. package/dist/chatRefreshContext.js +14 -0
  88. package/dist/chatRefreshContext.js.map +1 -0
  89. package/dist/chatSkinContext.d.ts +13 -6
  90. package/dist/chatSkinContext.d.ts.map +1 -1
  91. package/dist/chatSkinContext.js +18 -4
  92. package/dist/chatSkinContext.js.map +1 -1
  93. package/dist/chatSkinCss.d.ts.map +1 -1
  94. package/dist/chatSkinCss.js +108 -22
  95. package/dist/chatSkinCss.js.map +1 -1
  96. package/dist/composerAction.d.ts +16 -0
  97. package/dist/composerAction.d.ts.map +1 -0
  98. package/dist/composerAction.js +20 -0
  99. package/dist/composerAction.js.map +1 -0
  100. package/dist/composerHistory.d.ts.map +1 -1
  101. package/dist/composerHistory.js +4 -1
  102. package/dist/composerHistory.js.map +1 -1
  103. package/dist/fx/LiveAnswer.d.ts.map +1 -1
  104. package/dist/fx/LiveAnswer.js +324 -59
  105. package/dist/fx/LiveAnswer.js.map +1 -1
  106. package/dist/fx/arrivalModes.d.ts +17 -2
  107. package/dist/fx/arrivalModes.d.ts.map +1 -1
  108. package/dist/fx/arrivalModes.js +46 -4
  109. package/dist/fx/arrivalModes.js.map +1 -1
  110. package/dist/fx/pacer.d.ts +41 -0
  111. package/dist/fx/pacer.d.ts.map +1 -0
  112. package/dist/fx/pacer.js +66 -0
  113. package/dist/fx/pacer.js.map +1 -0
  114. package/dist/fx/useReveal.d.ts +16 -1
  115. package/dist/fx/useReveal.d.ts.map +1 -1
  116. package/dist/fx/useReveal.js +101 -41
  117. package/dist/fx/useReveal.js.map +1 -1
  118. package/dist/localAddress.d.ts +2 -0
  119. package/dist/localAddress.d.ts.map +1 -0
  120. package/dist/localAddress.js +56 -0
  121. package/dist/localAddress.js.map +1 -0
  122. package/dist/steps/AfterReply.d.ts +67 -0
  123. package/dist/steps/AfterReply.d.ts.map +1 -0
  124. package/dist/steps/AfterReply.js +217 -0
  125. package/dist/steps/AfterReply.js.map +1 -0
  126. package/dist/steps/ChatApproval.d.ts +18 -0
  127. package/dist/steps/ChatApproval.d.ts.map +1 -0
  128. package/dist/steps/ChatApproval.js +35 -0
  129. package/dist/steps/ChatApproval.js.map +1 -0
  130. package/dist/steps/Delegation.d.ts +77 -0
  131. package/dist/steps/Delegation.d.ts.map +1 -0
  132. package/dist/steps/Delegation.js +188 -0
  133. package/dist/steps/Delegation.js.map +1 -0
  134. package/dist/steps/LiveRail.d.ts +14 -0
  135. package/dist/steps/LiveRail.d.ts.map +1 -0
  136. package/dist/steps/LiveRail.js +16 -0
  137. package/dist/steps/LiveRail.js.map +1 -0
  138. package/dist/steps/StepDetail.d.ts +23 -0
  139. package/dist/steps/StepDetail.d.ts.map +1 -0
  140. package/dist/steps/StepDetail.js +195 -0
  141. package/dist/steps/StepDetail.js.map +1 -0
  142. package/dist/steps/StepDetailHost.d.ts +54 -0
  143. package/dist/steps/StepDetailHost.d.ts.map +1 -0
  144. package/dist/steps/StepDetailHost.js +175 -0
  145. package/dist/steps/StepDetailHost.js.map +1 -0
  146. package/dist/steps/StepRail.d.ts +38 -0
  147. package/dist/steps/StepRail.d.ts.map +1 -0
  148. package/dist/steps/StepRail.js +238 -0
  149. package/dist/steps/StepRail.js.map +1 -0
  150. package/dist/steps/approval.d.ts +73 -0
  151. package/dist/steps/approval.d.ts.map +1 -0
  152. package/dist/steps/approval.js +81 -0
  153. package/dist/steps/approval.js.map +1 -0
  154. package/dist/steps/model.d.ts +140 -0
  155. package/dist/steps/model.d.ts.map +1 -0
  156. package/dist/steps/model.js +433 -0
  157. package/dist/steps/model.js.map +1 -0
  158. package/dist/steps/outcome.d.ts +5 -0
  159. package/dist/steps/outcome.d.ts.map +1 -0
  160. package/dist/steps/outcome.js +34 -0
  161. package/dist/steps/outcome.js.map +1 -0
  162. package/dist/steps/peek.d.ts +35 -0
  163. package/dist/steps/peek.d.ts.map +1 -0
  164. package/dist/steps/peek.js +219 -0
  165. package/dist/steps/peek.js.map +1 -0
  166. package/dist/steps/plan.d.ts +50 -0
  167. package/dist/steps/plan.d.ts.map +1 -0
  168. package/dist/steps/plan.js +242 -0
  169. package/dist/steps/plan.js.map +1 -0
  170. package/dist/steps/useRailDetail.d.ts +25 -0
  171. package/dist/steps/useRailDetail.d.ts.map +1 -0
  172. package/dist/steps/useRailDetail.js +108 -0
  173. package/dist/steps/useRailDetail.js.map +1 -0
  174. package/dist/steps/words.d.ts +40 -0
  175. package/dist/steps/words.d.ts.map +1 -0
  176. package/dist/steps/words.js +247 -0
  177. package/dist/steps/words.js.map +1 -0
  178. package/dist/toolRender.d.ts +27 -1
  179. package/dist/toolRender.d.ts.map +1 -1
  180. package/dist/toolRender.js +72 -4
  181. package/dist/toolRender.js.map +1 -1
  182. package/dist/transcriptSkin.d.ts.map +1 -1
  183. package/dist/transcriptSkin.js +66 -0
  184. package/dist/transcriptSkin.js.map +1 -1
  185. package/dist/transcriptSkinCss.d.ts +35 -0
  186. package/dist/transcriptSkinCss.d.ts.map +1 -1
  187. package/dist/transcriptSkinCss.js +360 -19
  188. package/dist/transcriptSkinCss.js.map +1 -1
  189. package/dist/useHoldPress.d.ts +24 -0
  190. package/dist/useHoldPress.d.ts.map +1 -0
  191. package/dist/useHoldPress.js +85 -0
  192. package/dist/useHoldPress.js.map +1 -0
  193. package/package.json +5 -5
@@ -0,0 +1,117 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /* The source list: one switchable row per builtin namespace, connected server
3
+ * or skill, each expandable to the tools it brings, plus what this chat has
4
+ * loaded. Moved out of OptionsDrawer unchanged so the phone settings Sheet
5
+ * shows the very same switches. `phone` only resizes it to the phone scale
6
+ * (44px rows, nothing under 12px). */
7
+ import { useState } from 'react';
8
+ import { parseMcpWireName } from '@corenel/protocol';
9
+ import { setSkillEnabled } from '@corenel/harness/skills';
10
+ import { isSourceEnabled, setSourceEnabled } from '@corenel/tools-web/sessionCapabilities';
11
+ import { removeLoadedTool } from '@corenel/tools-web/sessionLoadedTools';
12
+ import { IcX, IcChevronRight } from '@corenel/ui-kit/icons';
13
+ import { Section, Toggle } from '@corenel/ui-kit/FieldControls';
14
+ /* The source list is the primary control here, and it is worked down with a
15
+ * thumb as often as a mouse. `Toggle` carries its own 44px hit area; the row
16
+ * beside it -- whose left two thirds opens the source -- has to match, or half
17
+ * of every row stays a mouse-sized target on a device with no mouse.
18
+ *
19
+ * A module const on `(pointer: coarse)`, which is what this package already
20
+ * does: primary-pointer coarseness does not change at runtime (Composer.tsx). */
21
+ const COARSE_POINTER = typeof matchMedia !== 'undefined' && matchMedia('(pointer: coarse)').matches;
22
+ export function SourceGroups(p) {
23
+ const { groups, sessionId, sentCount, sourceCount, loaded, phone } = p;
24
+ const [ownExpanded, setOwnExpanded] = useState(null);
25
+ const expanded = p.onExpanded ? (p.expanded ?? null) : ownExpanded;
26
+ const setExpanded = p.onExpanded ?? setOwnExpanded;
27
+ const st = phone ? PHONE : S;
28
+ const group = (label, meta, children, key) => phone
29
+ ? (_jsxs("div", { style: PHONE.group, children: [_jsxs("div", { style: PHONE.groupHead, children: [_jsx("span", { children: label }), meta != null && _jsx("span", { children: meta })] }), children] }, key))
30
+ : _jsx(Section, { label: label, meta: meta, children: children }, key);
31
+ return (_jsxs(_Fragment, { children: [loaded && loaded.names.length > 0 && group('Loaded in this chat', loaded.names.length, loaded.names.map((n) => {
32
+ const parsed = parseMcpWireName(n);
33
+ return (_jsxs("div", { style: st.loadedRow, "data-loaded-tool": n, children: [_jsx("span", { style: st.toolNm, title: loaded.searchable.get(n)?.description, children: parsed ? `${parsed.server} · ${parsed.tool}` : n }), _jsx("button", { style: st.iconBtn, onClick: () => removeLoadedTool(sessionId, n), "aria-label": `Stop sending ${n}`, title: "Stop sending this tool (it stays searchable)", children: _jsx(IcX, { size: 13 }) })] }, n));
34
+ })), groups.map((g) => group(g.group === 'Built-in' && !phone ? `Sources · ${g.group}` : g.group, g.group === 'Built-in' ? sourceCount : undefined, g.rows.map((r) => {
35
+ /* The same conjunction the run applies (enabledSkillCatalog):
36
+ * a skill off everywhere is withheld from every chat, so
37
+ * reading only this chat's override showed it as on. */
38
+ const on = !r.offEverywhere && isSourceEnabled(sessionId, r.id);
39
+ const isOpen = expanded === r.id;
40
+ return (_jsxs("div", { "data-source-row": r.id, children: [_jsxs("div", { style: st.sourceRow, children: [_jsxs("button", { style: st.sourceMain, onClick: () => setExpanded(isOpen ? null : r.id), "aria-expanded": isOpen, children: [_jsx("span", { style: { ...S.sourceChevron, transform: isOpen ? 'rotate(90deg)' : 'none' }, children: _jsx(IcChevronRight, { size: 12 }) }), _jsxs("span", { style: S.sourceText, children: [_jsx("span", { style: on ? st.sourceName : st.sourceNameOff, children: r.label }), _jsx("span", { style: st.sourceSub, children: r.error
41
+ ? 'error'
42
+ : r.offEverywhere
43
+ ? 'off everywhere'
44
+ : !r.tools.length
45
+ ? 'prompt only'
46
+ /* "N of M" only once they differ. Saying "2 tools"
47
+ * while sending one is the untraceable kind of
48
+ * copy this codebase keeps finding. */
49
+ : sentCount(r) === r.tools.length
50
+ ? `${r.tools.length} tool${r.tools.length === 1 ? '' : 's'}`
51
+ : `${sentCount(r)} of ${r.tools.length} tools` })] })] }), _jsx(Toggle, { ariaLabel: `${r.label} in this chat`, checked: on, onChange: (v) => {
52
+ /* Selecting gives access. A skill off everywhere is
53
+ * turned on for real (the person's own act, the
54
+ * consent an install from a URL is not); turning one
55
+ * off stays scoped to this chat. */
56
+ if (v && r.offEverywhere)
57
+ setSkillEnabled(r.id.slice('skill:'.length), true);
58
+ setSourceEnabled(sessionId, r.id, v);
59
+ } })] }), r.error && isOpen && _jsx("div", { style: st.serverErr, children: r.error }), isOpen && r.tools.map((t) => {
60
+ /* A tool is only sent when BOTH its source and it are on.
61
+ * Rendering the conjunction rather than its own flag is
62
+ * what keeps the switch honest while the source is off:
63
+ * a control reading "on" for something being withheld
64
+ * would be a claim the run does not honour. */
65
+ const toolOn = on && isSourceEnabled(sessionId, `tool:${t.id}`);
66
+ return (_jsxs("div", { style: st.toolRow, title: t.description, children: [_jsxs("span", { style: S.toolMain, children: [_jsxs("span", { style: toolOn ? st.toolNm : st.toolNmOff, children: [t.name, t.badge && _jsx("span", { style: st.toolSidecar, children: t.badge })] }), t.description && _jsx("span", { style: st.toolDesc, children: t.description })] }), t.status && (_jsx("span", { style: { ...(!toolOn ? S.toolDenied : t.status === 'deny' ? S.toolDenied : t.status === 'ask' ? S.toolAsks : S.toolAuto), ...(phone ? PHONE.status : null) }, children: toolOn ? t.status : 'off' })), _jsx(Toggle, { ariaLabel: `${t.name} in this chat`, checked: toolOn,
67
+ /* Disabled with the source off: the only honest way
68
+ * to turn this one back on is to turn the source on,
69
+ * and a switch that appeared to work while changing
70
+ * nothing visible is worse than one that cannot. */
71
+ disabled: !on, onChange: (v) => setSourceEnabled(sessionId, `tool:${t.id}`, v) })] }, t.id));
72
+ })] }, r.id));
73
+ }), g.group))] }));
74
+ }
75
+ const S = {
76
+ iconBtn: { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 30, height: 30, border: 0, borderRadius: 'var(--radius-sm)', background: 'transparent', color: 'var(--text-tertiary)', cursor: 'pointer' },
77
+ // A source row: a wide click target that expands, plus the per-chat switch.
78
+ sourceRow: { display: 'flex', alignItems: 'center', gap: 8, minHeight: COARSE_POINTER ? 44 : 32, padding: '0 2px' },
79
+ sourceMain: { flex: 1, minWidth: 0, display: 'flex', alignItems: 'center', gap: 7, minHeight: COARSE_POINTER ? 44 : 28, padding: '4px 2px', border: 0, background: 'transparent', cursor: 'pointer', textAlign: 'left', fontFamily: 'inherit' },
80
+ sourceChevron: { display: 'inline-flex', alignItems: 'center', color: 'var(--text-disabled)', transition: 'transform 120ms ease', flexShrink: 0 },
81
+ sourceText: { display: 'flex', flexDirection: 'column', gap: 1, minWidth: 0 },
82
+ sourceName: { fontSize: 13, fontWeight: 600, color: 'var(--text-primary)', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
83
+ sourceNameOff: { fontSize: 13, fontWeight: 600, color: 'var(--text-disabled)', textDecoration: 'line-through', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
84
+ sourceSub: { fontSize: 10.5, color: 'var(--text-tertiary)', fontFamily: 'var(--font-mono)', fontVariantNumeric: 'tabular-nums' },
85
+ loadedRow: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 8, padding: '2px 3px 2px 9px', minWidth: 0 },
86
+ serverErr: { padding: '2px 6px 6px', fontSize: 11.5, lineHeight: 1.4, color: 'var(--danger)' },
87
+ toolRow: { display: 'flex', alignItems: 'center', gap: 8, minHeight: 26, padding: '0 9px 0 21px', borderRadius: 'var(--radius-sm)', color: 'var(--text-secondary)' },
88
+ toolMain: { display: 'flex', flexDirection: 'column', gap: 1, flex: 1, minWidth: 0 },
89
+ toolNm: { fontFamily: 'var(--font-mono)', fontSize: 11.5, color: 'var(--text-primary)', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
90
+ toolNmOff: { fontFamily: 'var(--font-mono)', fontSize: 11.5, color: 'var(--text-disabled)', textDecoration: 'line-through', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
91
+ toolDesc: { fontSize: 11, lineHeight: 1.35, color: 'var(--text-tertiary)', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
92
+ toolSidecar: { marginLeft: 6, padding: '0 5px', borderRadius: 'var(--radius-sm)', background: 'var(--accent-soft)', color: 'var(--accent)', fontFamily: 'var(--font-sans)', fontSize: 9.5, fontWeight: 600, textTransform: 'uppercase', letterSpacing: '0.06em', verticalAlign: 'middle' },
93
+ toolAuto: { marginLeft: 'auto', flexShrink: 0, alignSelf: 'center', fontSize: 10.5, color: 'var(--text-disabled)', textTransform: 'uppercase', letterSpacing: '0.06em' },
94
+ toolAsks: { marginLeft: 'auto', flexShrink: 0, alignSelf: 'center', fontSize: 10.5, color: 'var(--warning)', textTransform: 'uppercase', letterSpacing: '0.06em' },
95
+ toolDenied: { marginLeft: 'auto', flexShrink: 0, alignSelf: 'center', fontSize: 10.5, color: 'var(--danger)', textTransform: 'uppercase', letterSpacing: '0.06em' },
96
+ };
97
+ /* The phone scale: the same rows at 44px with text at 15/14/12. */
98
+ const PHONE = {
99
+ ...S,
100
+ group: { display: 'flex', flexDirection: 'column', padding: '4px 16px 8px' },
101
+ groupHead: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', minHeight: 32, fontSize: 12, fontWeight: 600, color: 'var(--text-tertiary)' },
102
+ iconBtn: { ...S.iconBtn, width: 44, height: 44 },
103
+ sourceRow: { ...S.sourceRow, minHeight: 44 },
104
+ sourceMain: { ...S.sourceMain, minHeight: 44 },
105
+ sourceName: { ...S.sourceName, fontSize: 15 },
106
+ sourceNameOff: { ...S.sourceNameOff, fontSize: 15 },
107
+ sourceSub: { ...S.sourceSub, fontSize: 12 },
108
+ loadedRow: { ...S.loadedRow, minHeight: 44 },
109
+ serverErr: { ...S.serverErr, fontSize: 14 },
110
+ toolRow: { ...S.toolRow, minHeight: 44 },
111
+ toolNm: { ...S.toolNm, fontSize: 14 },
112
+ toolNmOff: { ...S.toolNmOff, fontSize: 14 },
113
+ toolDesc: { ...S.toolDesc, fontSize: 12 },
114
+ toolSidecar: { ...S.toolSidecar, fontSize: 12 },
115
+ status: { fontSize: 12 },
116
+ };
117
+ //# sourceMappingURL=SourceGroups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceGroups.js","sourceRoot":"","sources":["../../agentChat/SourceGroups.tsx"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface BaseSendOpts {
15
15
  partsOverride?: SystemParts;
16
16
  budgetNotices?: 'notes' | 'transcript';
17
17
  }
18
+ /** `partial`: a running tool's streamed output tail (tool-delta), when it streams. */
18
19
  export interface ControllerLiveTool {
19
20
  id: string;
20
21
  name: string;
@@ -23,6 +24,7 @@ export interface ControllerLiveTool {
23
24
  isError?: boolean;
24
25
  done?: boolean;
25
26
  ms?: number;
27
+ partial?: string;
26
28
  }
27
29
  /** One recorded agent event with its wall-clock. `ev` is opaque to web-ui (the
28
30
  * host reinterprets it as its AgentRecordedEvent) so this stays free of src/ types. */
@@ -56,13 +58,32 @@ export interface ControllerSessionState {
56
58
  /** `requester` says who raised it — the run loop, or a command the user typed.
57
59
  * Optional so an engine that only ever asks on the agent's behalf need not
58
60
  * set it; absent reads as 'agent'. `agent` names a delegated callee that is
59
- * asking, `caller` the agent that called it. */
61
+ * asking, `caller` the agent that called it. `id` names THIS request (so an
62
+ * answer can be bound to it, see resolvePermIf); `input` is only the
63
+ * command, path and folder the ask is about, clipped, never the whole tool
64
+ * input; `askedAt` is when it was raised. All three optional: a controller
65
+ * with no ids (ACP, a remote run) has one ask at a time. `hook` is a System
66
+ * One ask's detail (tool HOOK_ASK_TOOL): the tool it fired on, every reason,
67
+ * and for an after-tool ask the result. */
60
68
  pendingPerm: {
61
69
  tool: string;
62
70
  summary: string;
63
71
  requester?: 'agent' | 'you';
64
72
  agent?: string;
65
73
  caller?: string;
74
+ id?: number;
75
+ input?: {
76
+ command?: string;
77
+ path?: string;
78
+ cwd?: string;
79
+ root?: string;
80
+ };
81
+ askedAt?: number;
82
+ hook?: {
83
+ tool: string;
84
+ reasons: string[];
85
+ result?: string;
86
+ };
66
87
  } | null;
67
88
  pendingAsk: {
68
89
  questions: AskQuestion[];
@@ -139,7 +160,15 @@ export interface AgentSurfaceController<O extends BaseSendOpts = BaseSendOpts> {
139
160
  toggleInclude(id: string, turnId: string): void;
140
161
  /** `note`: the person's reason for a deny, handed to the model. */
141
162
  resolvePerm(id: string, allow: boolean, always?: boolean, note?: string): void;
163
+ /** Answer only if `permId` is still the pending request; false, and nothing
164
+ * changed, when it was answered or replaced. Optional: a controller without
165
+ * request ids answers through resolvePerm. */
166
+ resolvePermIf?(id: string, permId: number, allow: boolean, always?: boolean, note?: string): boolean;
142
167
  resolveAsk(id: string, answers: AskAnswers | null): void;
168
+ /** A tool result a System One check or hook blocked, kept in this page's
169
+ * memory only; undefined after a reload. Optional: a controller that runs
170
+ * no System One gate (ACP, a remote run) has none. */
171
+ blockedResult?(id: string, callId: string): string | undefined;
143
172
  /** Answer a pending standing-rule suggestion (Task 10's banner). */
144
173
  respondSuggestion(id: string, choice: SuggestionChoice): void;
145
174
  stop(id: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"AAAA;;;;kCAIkC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA6J9C,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAyB,UAAqC,EAAE,EAAU;IAC5G,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAyB,UAAqC;IAC/F,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"AAAA;;;;kCAIkC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAgL9C,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAyB,UAAqC,EAAE,EAAU;IAC5G,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAyB,UAAqC;IAC/F,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -16,6 +16,10 @@ type Listener = () => void;
16
16
  export declare function getPending(sessionId: string): PendingMsg[];
17
17
  export declare function addPending(sessionId: string, text: string, images: string[]): PendingMsg;
18
18
  export declare function removePending(sessionId: string, id: string): void;
19
+ /** Drop what was waiting on this run (queued, and injecting into it) from one
20
+ * session; held entries stay, since they were already set aside to send by
21
+ * hand. Stop under the smart composer. */
22
+ export declare function dropQueued(sessionId: string): void;
19
23
  export declare function editPending(sessionId: string, id: string, text: string): void;
20
24
  /** Move entries between states. Clears any `note`: the note explains why an
21
25
  * entry is sitting where it is, so a state change has by definition
@@ -1 +1 @@
1
- {"version":3,"file":"pendingQueue.d.ts","sourceRoot":"","sources":["../../agentChat/pendingQueue.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;kFAE8E;IAC9E,KAAK,EAAE,YAAY,CAAC;IACpB;;2EAEuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AA0C3B,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAE1D;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAUxF;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED;;qBAEqB;AACrB,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAI3F;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGhF;AAED;;yDAEyD;AACzD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,IAAI,CAGzD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAI/D"}
1
+ {"version":3,"file":"pendingQueue.d.ts","sourceRoot":"","sources":["../../agentChat/pendingQueue.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;kFAE8E;IAC9E,KAAK,EAAE,YAAY,CAAC;IACpB;;2EAEuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AA0C3B,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAE1D;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAUxF;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED;;0CAE0C;AAC1C,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGlD;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED;;qBAEqB;AACrB,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAI3F;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGhF;AAED;;yDAEyD;AACzD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,IAAI,CAGzD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAI/D"}
@@ -73,6 +73,13 @@ export function removePending(sessionId, id) {
73
73
  store = { ...store, [sessionId]: getPending(sessionId).filter((p) => p.id !== id) };
74
74
  save();
75
75
  }
76
+ /** Drop what was waiting on this run (queued, and injecting into it) from one
77
+ * session; held entries stay, since they were already set aside to send by
78
+ * hand. Stop under the smart composer. */
79
+ export function dropQueued(sessionId) {
80
+ store = { ...store, [sessionId]: getPending(sessionId).filter((p) => p.state === 'held') };
81
+ save();
82
+ }
76
83
  export function editPending(sessionId, id, text) {
77
84
  store = { ...store, [sessionId]: getPending(sessionId).map((p) => (p.id === id ? { ...p, text } : p)) };
78
85
  save();
@@ -1 +1 @@
1
- {"version":3,"file":"pendingQueue.js","sourceRoot":"","sources":["../../agentChat/pendingQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pendingQueue.js","sourceRoot":"","sources":["../../agentChat/pendingQueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** The tool a plan is submitted for review with. Its own module so hosts can
2
+ * name it without loading the plan card. */
3
+ export declare const SUBMIT_PLAN = "submit_plan";
4
+ //# sourceMappingURL=planTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planTool.d.ts","sourceRoot":"","sources":["../../agentChat/planTool.ts"],"names":[],"mappings":"AAAA;4CAC4C;AAC5C,eAAO,MAAM,WAAW,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** The tool a plan is submitted for review with. Its own module so hosts can
2
+ * name it without loading the plan card. */
3
+ export const SUBMIT_PLAN = 'submit_plan';
4
+ //# sourceMappingURL=planTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planTool.js","sourceRoot":"","sources":["../../agentChat/planTool.ts"],"names":[],"mappings":"AAAA;4CAC4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function withTestSheetHost(ui: React.ReactElement): React.ReactElement;
3
+ //# sourceMappingURL=testSheetHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testSheetHost.d.ts","sourceRoot":"","sources":["../../agentChat/testSheetHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAE5E"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SheetHostProvider } from '@corenel/ui-kit/sheetHost';
3
+ function TestSheet({ label, className, children }) {
4
+ return _jsx("div", { role: "dialog", "aria-label": label, className: className, children: children });
5
+ }
6
+ export function withTestSheetHost(ui) {
7
+ return _jsx(SheetHostProvider, { Sheet: TestSheet, children: ui });
8
+ }
9
+ //# sourceMappingURL=testSheetHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testSheetHost.js","sourceRoot":"","sources":["../../agentChat/testSheetHost.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,2BAA2B,CAAC;AAEnF,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAkB;IAC/D,OAAO,cAAK,IAAI,EAAC,QAAQ,gBAAa,KAAK,EAAE,SAAS,EAAE,SAAS,YAAG,QAAQ,GAAO,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAsB;IACtD,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,SAAS,YAAG,EAAE,GAAqB,CAAC;AACvE,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { AgentTool } from '@corenel/protocol';
2
+ import { type Policy } from '@corenel/harness/guardrail';
3
+ import { type PersonaEntry } from '@corenel/harness/prompts/config';
4
+ import type { OptionsDrawerProps } from './OptionsDrawer';
5
+ export declare const policyBlurb: (p: Policy) => string;
6
+ /** One switchable provider of tools. `id` is what the override store records,
7
+ * and what a host expands back into tool names for `toolDeny`. */
8
+ export interface SourceRow {
9
+ id: string;
10
+ label: string;
11
+ tools: {
12
+ id: string;
13
+ name: string;
14
+ description?: string;
15
+ status?: 'allow' | 'ask' | 'deny';
16
+ badge?: string;
17
+ }[];
18
+ error?: string;
19
+ /** A skill that is off EVERYWHERE (never turned on). The run offers it to no
20
+ * chat, so the row must read off whatever this chat's override says, and
21
+ * turning it on here has to enable the skill itself. */
22
+ offEverywhere?: boolean;
23
+ }
24
+ export interface ChatOptions {
25
+ personas: PersonaEntry[];
26
+ personaLabel: string;
27
+ pickPersona(id: string): void;
28
+ /** Read the persona list again (it lives on the sidecar, which may still be
29
+ * dialling when the options first render). */
30
+ reloadPersonas(): void;
31
+ newPersona: {
32
+ name: string;
33
+ system: string;
34
+ } | null;
35
+ setNewPersona(v: {
36
+ name: string;
37
+ system: string;
38
+ } | null): void;
39
+ /** Save the draft. Resolves true once created, false when the name or the
40
+ * system prompt is blank (nothing created, draft kept); rejects when the
41
+ * store fails. */
42
+ addPersona(): Promise<boolean>;
43
+ removePersona(id: string): Promise<void>;
44
+ activePolicy: Policy;
45
+ policyEditorOpen: boolean;
46
+ setPolicyEditorOpen(v: boolean): void;
47
+ /** A policy was saved: re-read the active one. */
48
+ bumpPolicies(): void;
49
+ sources: {
50
+ group: string;
51
+ rows: SourceRow[];
52
+ }[];
53
+ sourceCount: number;
54
+ /** How many of a source's tools this conversation still sends. */
55
+ sentCount(r: SourceRow): number;
56
+ loadedHere: string[];
57
+ searchable: Map<string, AgentTool>;
58
+ capTick: number;
59
+ }
60
+ export declare function useChatOptions(p: Pick<OptionsDrawerProps, 'sessionId' | 'personaName' | 'onPersona' | 'policyName' | 'onPolicy' | 'toolBadge' | 'registryTick' | 'capabilities'> & {
61
+ open: boolean;
62
+ }): ChatOptions;
63
+ //# sourceMappingURL=useChatOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatOptions.d.ts","sourceRoot":"","sources":["../../agentChat/useChatOptions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAiD,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAKhH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAO1D,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,MAAsD,CAAC;AAiB/F;mEACmE;AACnE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IAKd,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;6DAEyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;mDAC+C;IAC/C,cAAc,IAAI,IAAI,CAAC;IACvB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,aAAa,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAChE;;uBAEmB;IACnB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,kDAAkD;IAClD,YAAY,IAAI,IAAI,CAAC;IACrB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,EAAE,CAAA;KAAE,EAAE,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CAmIlN"}
@@ -0,0 +1,156 @@
1
+ /* Everything the chat options compute, shared by the desktop OptionsDrawer and
2
+ * the phone ChatSettingsSheet so the two cannot disagree about what a chat
3
+ * runs with. Moved out of OptionsDrawer unchanged: the persona list, the
4
+ * active policy, the source list and what this conversation has loaded. */
5
+ import { useCallback, useEffect, useMemo, useState } from 'react';
6
+ import { allTools } from '@corenel/harness/tools/builtins';
7
+ import { resolveNamespace, toolAddress, toolMatchesAnyGlob, NAMESPACE_LABELS } from '@corenel/harness/tools/namespaces';
8
+ import { parseMcpWireName, needsHuman } from '@corenel/protocol';
9
+ import { PermissionService, STANDARD_POLICY, getPolicy } from '@corenel/harness/guardrail';
10
+ import { loadPersonas, createPersona, deletePersona } from '@corenel/harness/prompts/config';
11
+ import { listSkills, subscribeSkills } from '@corenel/harness/skills';
12
+ import { isSourceEnabled, subscribeSessionCapabilities } from '@corenel/tools-web/sessionCapabilities';
13
+ import { sessionSearchableTools } from '@corenel/tools-web/sessionTools';
14
+ import { loadedToolNames, subscribeLoadedTools } from '@corenel/tools-web/sessionLoadedTools';
15
+ const BUILTIN_BLURB = {
16
+ standard: 'Reads run automatically; writes ask first.',
17
+ 'read-only': 'Inspection only; writes are refused.',
18
+ autonomous: 'Everything runs without prompts.',
19
+ };
20
+ export const policyBlurb = (p) => BUILTIN_BLURB[p.name] || p.description || '';
21
+ /** Effective per-tool status under a policy, shown on an EXPANDED source's tool
22
+ * list. Matches by namespace address (fs:*) and bare name. */
23
+ function toolStatus(policy, tool) {
24
+ const deny = policy.tools?.deny ?? [];
25
+ const allow = policy.tools?.allow ?? [];
26
+ if (deny.length && toolMatchesAnyGlob(tool, deny))
27
+ return 'deny';
28
+ if (allow.length && !toolMatchesAnyGlob(tool, allow))
29
+ return 'deny';
30
+ const level = new PermissionService({ policy }).resolveLevel({
31
+ name: tool.name, address: toolAddress(tool), mutates: tool.mutates, permission: tool.permission, roomSafe: tool.roomSafe,
32
+ });
33
+ // `owner` is an ask routed to the agent's owner on a team daemon. This list
34
+ // says whether the tool stops for a person, which it does.
35
+ return needsHuman(level) ? 'ask' : level;
36
+ }
37
+ export function useChatOptions(p) {
38
+ const { sessionId, personaName, onPersona, policyName, toolBadge, registryTick, capabilities, open } = p;
39
+ // Persona/policy LISTS stay internal — only the selected ids are the host's.
40
+ const [personas, setPersonas] = useState([]);
41
+ const [newPersona, setNewPersona] = useState(null);
42
+ /* CAUGHT, because "not yet" is the ordinary case at mount. Personas live in
43
+ * the config workspace, which lives on the sidecar, and the sidecar is still
44
+ * dialling when this drawer first renders -- `channelFor` throws "that
45
+ * machine is not connected", correctly, and with no catch that became an
46
+ * unhandled rejection on every single app start (twice, under StrictMode). */
47
+ const reloadPersonas = useCallback(() => {
48
+ loadPersonas().then(setPersonas).catch(() => setPersonas([]));
49
+ }, []);
50
+ useEffect(() => { reloadPersonas(); }, [reloadPersonas]);
51
+ const personaLabel = personas.find((x) => x.id === personaName)?.name || personaName;
52
+ const pickPersona = (id) => { onPersona(id); };
53
+ const addPersona = async () => {
54
+ const name = (newPersona?.name || '').trim();
55
+ const system = (newPersona?.system || '').trim();
56
+ if (!name || !system)
57
+ return false;
58
+ const id = await createPersona(name, system);
59
+ await loadPersonas().then(setPersonas);
60
+ setNewPersona(null);
61
+ onPersona(id);
62
+ return true;
63
+ };
64
+ const removePersona = async (id) => {
65
+ await deletePersona(id);
66
+ const list = await loadPersonas();
67
+ setPersonas(list);
68
+ if (personaName === id)
69
+ onPersona(list[0]?.id || 'default');
70
+ };
71
+ const [policyEditorOpen, setPolicyEditorOpen] = useState(false);
72
+ const [policyListVersion, setPolicyListVersion] = useState(0);
73
+ const bumpPolicies = useCallback(() => setPolicyListVersion((v) => v + 1), []);
74
+ // eslint-disable-next-line react-hooks/exhaustive-deps
75
+ const activePolicy = useMemo(() => getPolicy(policyName) ?? STANDARD_POLICY, [policyName, policyListVersion]);
76
+ const [skills, setSkills] = useState([]);
77
+ useEffect(() => {
78
+ const reload = () => { listSkills().then(setSkills).catch(() => setSkills([])); };
79
+ reload();
80
+ return subscribeSkills(reload);
81
+ }, []);
82
+ // Re-render when an override changes so the switches and the run agree
83
+ // without the drawer being closed and reopened.
84
+ const [capTick, setCapTick] = useState(0);
85
+ useEffect(() => subscribeSessionCapabilities(() => setCapTick((t) => t + 1)), []);
86
+ useEffect(() => subscribeLoadedTools(() => setCapTick((t) => t + 1)), []);
87
+ const toolsFn = capabilities?.tools ?? allTools;
88
+ /* THE SOURCE LIST — builtin namespaces, then connected servers, then skills.
89
+ * Built in one pass so the row count and the expanded detail cannot disagree. */
90
+ const sources = useMemo(() => {
91
+ const registry = toolsFn();
92
+ /* ONE SOURCE OF TRUTH: the tool registry the engine actually runs with.
93
+ *
94
+ * The Connected rows used to come from a CLOUD server list while Settings
95
+ * wrote daemon.json on the machine -- two stores, the same word for both.
96
+ * Every MCP tool in the registry already carries its server in its wire
97
+ * name, so grouping them here shows exactly the servers whose tools a run
98
+ * can reach, and needs no second list to drift from. */
99
+ const mcpByServer = new Map();
100
+ for (const t of registry) {
101
+ if (resolveNamespace(t) !== 'mcp')
102
+ continue;
103
+ const parsed = parseMcpWireName(t.name);
104
+ const server = parsed?.server ?? 'mcp';
105
+ (mcpByServer.get(server) ?? mcpByServer.set(server, []).get(server))
106
+ .push({ id: t.name, name: parsed?.tool ?? t.name, description: t.description });
107
+ }
108
+ const builtin = NAMESPACE_LABELS
109
+ // `mcp` becomes one row PER SERVER below; `skill` is not a tool namespace.
110
+ .filter((c) => c.ns !== 'mcp' && c.ns !== 'skill')
111
+ .map((c) => ({
112
+ id: `ns:${c.ns}`,
113
+ label: c.label,
114
+ tools: registry
115
+ .filter((t) => resolveNamespace(t) === c.ns)
116
+ .map((t) => ({ id: t.name, name: t.name, description: t.description, status: toolStatus(activePolicy, t), badge: toolBadge?.(t.name) })),
117
+ }))
118
+ .filter((r) => r.tools.length > 0);
119
+ /* Labelled by the registry server name: the name it was registered under
120
+ * in Settings -> Tools, and the same name the "Loaded in this chat" list
121
+ * and the wire name carry. */
122
+ const connected = [...mcpByServer.entries()].map(([server, tools]) => ({
123
+ id: `mcp:${server}`,
124
+ label: server,
125
+ tools,
126
+ }));
127
+ const skillRows = skills.map((s2) => ({
128
+ id: `skill:${s2.name}`, label: s2.name, tools: [], ...(s2.enabled ? {} : { offEverywhere: true }),
129
+ }));
130
+ return [
131
+ { group: 'Built-in', rows: builtin },
132
+ { group: 'Connected', rows: connected },
133
+ { group: 'Skills', rows: skillRows },
134
+ ].filter((g) => g.rows.length > 0);
135
+ // eslint-disable-next-line react-hooks/exhaustive-deps
136
+ }, [toolsFn, activePolicy, skills, registryTick, toolBadge]);
137
+ const sentCount = (r) => r.tools.filter((t) => isSourceEnabled(sessionId, `tool:${t.id}`)).length;
138
+ const sourceCount = sources.reduce((n, g) => n + g.rows.length, 0);
139
+ /* LOADED IN THIS CHAT. MCP tools reach the model only once `tool_search`
140
+ * finds them or one is picked from "/", so a connected server no longer means
141
+ * its schemas ride every request -- and the old "over the 128-tool limit"
142
+ * warning has nothing left to warn about. What this conversation DOES carry
143
+ * is listed instead, each removable. Filtered to tools still enabled here,
144
+ * the same rule the run applies, so a switched-off server's tools do not
145
+ * linger in the list. Only read while the options are showing. */
146
+ const searchable = open
147
+ ? new Map(sessionSearchableTools(sessionId, toolsFn()).map((t) => [t.name, t]))
148
+ : new Map();
149
+ const loadedHere = open ? loadedToolNames(sessionId).filter((n) => searchable.has(n)) : [];
150
+ return {
151
+ personas, personaLabel, pickPersona, reloadPersonas, newPersona, setNewPersona, addPersona, removePersona,
152
+ activePolicy, policyEditorOpen, setPolicyEditorOpen, bumpPolicies,
153
+ sources, sourceCount, sentCount, loadedHere, searchable, capTick,
154
+ };
155
+ }
156
+ //# sourceMappingURL=useChatOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatOptions.js","sourceRoot":"","sources":["../../agentChat/useChatOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type JSX, type ReactNode } from 'react';
2
+ export declare function ChatRefreshScope(p: {
3
+ on: boolean;
4
+ children: ReactNode;
5
+ }): JSX.Element;
6
+ /** True inside an AgentChat running with the refreshed transcript. */
7
+ export declare function useChatRefreshScope(): boolean;
8
+ //# sourceMappingURL=chatRefreshContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatRefreshContext.d.ts","sourceRoot":"","sources":["../chatRefreshContext.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI5E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAErF;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C"}