@prettier-ai/dsh-client-ui-tool 0.1.2-alpha.1 → 0.1.2-alpha.2
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/lib/client.js +20 -11
- package/lib/types/client/apply.d.ts +2 -1
- package/lib/types/client/contract/slots.d.ts +12 -7
- package/lib/types/client/index.d.ts +1 -1
- package/lib/types/client/tool/ToolCallTree.d.ts +1 -1
- package/lib/types/client/tool/ToolDetails.d.ts +1 -1
- package/package.json +16 -26
package/lib/client.js
CHANGED
|
@@ -1035,7 +1035,7 @@ window.__ModuleLoader__.load({
|
|
|
1035
1035
|
}
|
|
1036
1036
|
//#endregion
|
|
1037
1037
|
//#region \0dsh-css:/home/runner/work/dsh-publisher/dsh-publisher/upstream/packages/client/ui-tool/src/client/tool/components/ToolRow.module.css.mjs
|
|
1038
|
-
const css$3 = ".RAJz1a_root{flex-direction:column;display:flex}.RAJz1a_row{position:relative;overflow:hidden}.RAJz1a_root[data-state=running] .RAJz1a_row:after{content:\"\";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite RAJz1a_dsh-tool-row-sweep;position:absolute;top:0;bottom:0;left:0}@keyframes RAJz1a_dsh-tool-row-sweep{0%{left:-300px}90%,to{left:100%}}.RAJz1a_leading{flex-shrink:0}.RAJz1a_root[data-tool^=cordis_] .RAJz1a_leading,.RAJz1a_root[data-tool^=cordis_] .RAJz1a_title{color:var(--dsw-alias-state-business-primary)}.RAJz1a_root[data-tool^=cordis_] .RAJz1a_title{font-weight:500}.RAJz1a_root[data-tool^=cordis_] .RAJz1a_sep{background:var(--dsw-alias-state-business-primary)}.RAJz1a_chevron{color:var(--dsw-alias-label-secondary)}.RAJz1a_title{font-weight:400}.RAJz1a_sep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.RAJz1a_summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);flex:auto;overflow:hidden}.RAJz1a_summarySuffix{white-space:nowrap;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);flex:none;margin-left:4px}.RAJz1a_fileLink{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:inherit;text-align:left;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-secondary);text-decoration:underline;text-decoration-color:var(--dsw-alias-label-
|
|
1038
|
+
const css$3 = ".RAJz1a_root{flex-direction:column;display:flex}.RAJz1a_row{position:relative;overflow:hidden}.RAJz1a_root[data-state=running] .RAJz1a_row:after{content:\"\";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite RAJz1a_dsh-tool-row-sweep;position:absolute;top:0;bottom:0;left:0}@keyframes RAJz1a_dsh-tool-row-sweep{0%{left:-300px}90%,to{left:100%}}.RAJz1a_leading{flex-shrink:0}.RAJz1a_root[data-tool^=cordis_] .RAJz1a_leading,.RAJz1a_root[data-tool^=cordis_] .RAJz1a_title{color:var(--dsw-alias-state-business-primary)}.RAJz1a_root[data-tool^=cordis_] .RAJz1a_title{font-weight:500}.RAJz1a_root[data-tool^=cordis_] .RAJz1a_sep{background:var(--dsw-alias-state-business-primary)}.RAJz1a_chevron{color:var(--dsw-alias-label-secondary)}.RAJz1a_title{font-weight:400}.RAJz1a_sep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.RAJz1a_summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);flex:auto;overflow:hidden}.RAJz1a_summarySuffix{white-space:nowrap;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);flex:none;margin-left:4px}.RAJz1a_diffStat{font-family:var(--ds-font-family-code);font-size:calc(var(--dsh-content-font-size-secondary,13px) - 2px);color:var(--dsw-alias-label-caption);margin-left:10px;transform:translateY(.5px)}.RAJz1a_fileLink{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:inherit;text-align:left;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-secondary);text-decoration:underline dotted;text-decoration-color:var(--dsw-alias-label-tertiary);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;flex:0 auto;margin:0;padding:0;text-decoration-thickness:1px;overflow:hidden}.RAJz1a_fileLink:hover{color:var(--dsw-alias-label-primary);text-decoration-color:currentColor}.RAJz1a_errorSummary{color:var(--dsw-alias-state-error-primary)}.RAJz1a_bodyWrap{flex-direction:column;display:flex}.RAJz1a_inspectButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:0;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin:4px 0 2px 4px;padding:2px 8px;font-size:11px;line-height:16px;transition:opacity .1s;display:inline-flex}.RAJz1a_root:hover .RAJz1a_inspectButton,.RAJz1a_inspectButton:focus-visible{opacity:1}.RAJz1a_inspectButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.RAJz1a_bodyScroll{max-height:260px;overflow-y:auto}.RAJz1a_ioCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-markdown-code-block);font:var(--dsw-font-markdown-code-block-small);border-radius:12px;flex-direction:column;margin:4px 0 4px 4px;display:flex}.RAJz1a_ioSection{grid-template-columns:max-content 1fr;align-items:baseline;column-gap:14px;max-height:150px;padding:12px 16px;display:grid;overflow-y:auto}.RAJz1a_ioSection::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px}.RAJz1a_ioSection::-webkit-scrollbar-track{margin:6px 0}.RAJz1a_ioLabel{color:var(--dsw-alias-label-caption);align-self:start;position:sticky;top:0}.RAJz1a_ioDivider{background:var(--dsw-alias-border-l2);flex:none;height:1px}.RAJz1a_ioText{white-space:pre-wrap;word-break:break-word;min-width:0;color:var(--dsw-alias-label-secondary)}.RAJz1a_ioText[data-error]{color:var(--dsw-alias-state-error-primary)}.RAJz1a_codeBody,.RAJz1a_terminalBody,.RAJz1a_diffBody,.RAJz1a_readBody,.RAJz1a_searchBody,.RAJz1a_webBody{margin:4px 0 4px 4px}.RAJz1a_searchRecovery{white-space:pre-wrap;overflow-wrap:anywhere;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-tertiary);margin:4px 0 4px 4px}.RAJz1a_codeBody{--dsl-code-block-content-font:var(--dsw-font-markdown-code-block-small)}.RAJz1a_terminalBody{--dsl-terminal-font:var(--dsw-font-markdown-code-block-small);--dsl-terminal-line-height:18px;--dsl-terminal-output-max-height:224px;border:1px solid var(--dsw-alias-border-l1)}.RAJz1a_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}";
|
|
1039
1039
|
const tagId$3 = "@prettier-ai/dsh-client-ui-tool/ToolRow.module.css";
|
|
1040
1040
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
1041
1041
|
const tag = document.createElement("style");
|
|
@@ -1050,6 +1050,7 @@ window.__ModuleLoader__.load({
|
|
|
1050
1050
|
"chevron": "RAJz1a_chevron",
|
|
1051
1051
|
"codeBody": "RAJz1a_codeBody",
|
|
1052
1052
|
"diffBody": "RAJz1a_diffBody",
|
|
1053
|
+
"diffStat": "RAJz1a_diffStat",
|
|
1053
1054
|
"dsh-tool-row-sweep": "RAJz1a_dsh-tool-row-sweep",
|
|
1054
1055
|
"errorSummary": "RAJz1a_errorSummary",
|
|
1055
1056
|
"fileLink": "RAJz1a_fileLink",
|
|
@@ -1113,7 +1114,12 @@ window.__ModuleLoader__.load({
|
|
|
1113
1114
|
const status = stateStatus$1(state, t);
|
|
1114
1115
|
const failureLine = state === "error" ? errorSummary ?? null : null;
|
|
1115
1116
|
const summaryText = failureLine ?? terminalBody?.description ?? summary;
|
|
1116
|
-
const
|
|
1117
|
+
const diffStat = (0, react.useMemo)(() => {
|
|
1118
|
+
if (diffBody === null) return null;
|
|
1119
|
+
const { added, removed } = (0, _prettier_ai_dsh_client_ui_primitives.diffTotals)(diffBody.card.diffs);
|
|
1120
|
+
return `+${added} -${removed}`;
|
|
1121
|
+
}, [diffBody]);
|
|
1122
|
+
const suffix = failureLine === null ? summarySuffix ?? diffStat : null;
|
|
1117
1123
|
const fileLink = filePath !== void 0 && onOpenFile !== void 0 && failureLine === null;
|
|
1118
1124
|
const toggleExpand = () => {
|
|
1119
1125
|
setExpanded((v) => !v);
|
|
@@ -1162,7 +1168,7 @@ window.__ModuleLoader__.load({
|
|
|
1162
1168
|
children: summaryText
|
|
1163
1169
|
}),
|
|
1164
1170
|
suffix !== null && (0, react_jsx_runtime.jsx)("span", {
|
|
1165
|
-
className: ToolRow_module_css_default.summarySuffix,
|
|
1171
|
+
className: clsx(ToolRow_module_css_default.summarySuffix, suffix === diffStat && ToolRow_module_css_default.diffStat),
|
|
1166
1172
|
children: suffix
|
|
1167
1173
|
})
|
|
1168
1174
|
] }),
|
|
@@ -1376,8 +1382,8 @@ window.__ModuleLoader__.load({
|
|
|
1376
1382
|
* @param props - whole-Tool owner data and the Tool-owned child-slot share.
|
|
1377
1383
|
* @returns the Tool call tree.
|
|
1378
1384
|
*/
|
|
1379
|
-
function ToolCallTree({ renderSlot, node, selectedCallId, cwd, openFile, inspectCall,
|
|
1380
|
-
const home =
|
|
1385
|
+
function ToolCallTree({ renderSlot, node, selectedCallId, cwd, openFile, inspectCall, useHostInfo, t }) {
|
|
1386
|
+
const home = useHostInfo((info) => info.home);
|
|
1381
1387
|
const block = node.data.root;
|
|
1382
1388
|
return (0, react_jsx_runtime.jsx)(ToolCallBranch, {
|
|
1383
1389
|
renderSlot,
|
|
@@ -1419,8 +1425,8 @@ window.__ModuleLoader__.load({
|
|
|
1419
1425
|
* @param props - selected call slice, workspace root, host home, and locale seat.
|
|
1420
1426
|
* @returns the details output body.
|
|
1421
1427
|
*/
|
|
1422
|
-
function ToolDetails({ block, cwd,
|
|
1423
|
-
const home =
|
|
1428
|
+
function ToolDetails({ block, cwd, useHostInfo, t }) {
|
|
1429
|
+
const home = useHostInfo((info) => info.home);
|
|
1424
1430
|
const terminalModel = terminalCardModel(block, cwd);
|
|
1425
1431
|
if (terminalModel !== null) {
|
|
1426
1432
|
const terminal = localizeTerminalCardModel(terminalModel, t);
|
|
@@ -2069,15 +2075,18 @@ window.__ModuleLoader__.load({
|
|
|
2069
2075
|
};
|
|
2070
2076
|
//#endregion
|
|
2071
2077
|
//#region lib/types/client/apply.js
|
|
2072
|
-
/** Required services: the slot registry and the Host
|
|
2073
|
-
const inject = ["slots", "
|
|
2078
|
+
/** Required services: the slot registry and the Remote face carrying the Host home used for POSIX `~`. */
|
|
2079
|
+
const inject = ["slots", "remote"];
|
|
2074
2080
|
/**
|
|
2075
2081
|
* Mount the whole-Tool renderers and built-in atomic Tool registrations.
|
|
2076
2082
|
* @param ctx - Client root context.
|
|
2077
2083
|
*/
|
|
2078
2084
|
function apply(ctx) {
|
|
2079
|
-
const
|
|
2080
|
-
|
|
2085
|
+
const hostInfo = {
|
|
2086
|
+
getSnapshot: () => ctx.remote.$host,
|
|
2087
|
+
subscribe: (listener) => ctx.on("connection/reset", listener)
|
|
2088
|
+
};
|
|
2089
|
+
const toolInject = () => ({ hooks: { hostInfo } });
|
|
2081
2090
|
ctx.slots.inject("conversation.chat.node", () => ctx.slots.register({
|
|
2082
2091
|
name: "conversation.chat.node",
|
|
2083
2092
|
key: "tool-call",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/** Register the Tool call tree, details renderer, and built-in atomic views. */
|
|
1
2
|
import type { Context as ClientContext } from '@prettier-ai/cordis';
|
|
2
|
-
/** Required services: the slot registry and the Host
|
|
3
|
+
/** Required services: the slot registry and the Remote face carrying the Host home used for POSIX `~`. */
|
|
3
4
|
export declare const inject: string[];
|
|
4
5
|
/**
|
|
5
6
|
* Mount the whole-Tool renderers and built-in atomic Tool registrations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Tool UI slot declarations and their composed component props. */
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { HostObservable, InjectFace, PropsLocale, PropsRenderSlots, PropsRuntime } from '@prettier-ai/dsh-client-ui-slots';
|
|
3
|
+
import type { RemoteHostFacts } from '@prettier-ai/dsh-api-remotes/client';
|
|
4
4
|
import type { ToolCallBlock } from '@prettier-ai/dsh-client-ui-chat/client';
|
|
5
5
|
declare module '@prettier-ai/dsh-client-ui-slots' {
|
|
6
6
|
interface SlotMap {
|
|
@@ -45,14 +45,19 @@ export interface ToolCallOwnerProps {
|
|
|
45
45
|
/** Full props of a registered atomic Tool view. */
|
|
46
46
|
export type ToolCallViewProps = PropsRuntime<'tool.call.toolview'>;
|
|
47
47
|
/** Injected Host description for POSIX home-path display. */
|
|
48
|
-
export type
|
|
48
|
+
export type ToolHostInfoInjected = {
|
|
49
49
|
hooks: {
|
|
50
|
-
/**
|
|
51
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Fixed Host facts, reached through a hook rather than injected as values:
|
|
52
|
+
* the renderer memoizes an entry's inject result for the registration's
|
|
53
|
+
* lifetime, so facts read there would freeze at whatever the first render
|
|
54
|
+
* saw. Select the field the view needs (`info => info.home`).
|
|
55
|
+
*/
|
|
56
|
+
hostInfo: HostObservable<RemoteHostFacts>;
|
|
52
57
|
};
|
|
53
58
|
};
|
|
54
59
|
/** Full props of the Tool call-tree renderer registered as a `tool-call` Chat Node. */
|
|
55
|
-
export type ToolTreeProps = PropsRuntime<'conversation.chat.node', 'tool-call'> & PropsRenderSlots<'tool.call.toolview'> & PropsLocale<'conversation'> & InjectFace<
|
|
60
|
+
export type ToolTreeProps = PropsRuntime<'conversation.chat.node', 'tool-call'> & PropsRenderSlots<'tool.call.toolview'> & PropsLocale<'conversation'> & InjectFace<ToolHostInfoInjected>;
|
|
56
61
|
/** Full props of the selected Tool output renderer in the details panel. */
|
|
57
|
-
export type ToolDetailsProps = PropsRuntime<'conversation.details.tool'> & PropsLocale<'conversation'> & InjectFace<
|
|
62
|
+
export type ToolDetailsProps = PropsRuntime<'conversation.details.tool'> & PropsLocale<'conversation'> & InjectFace<ToolHostInfoInjected>;
|
|
58
63
|
//# sourceMappingURL=slots.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** Browser Tool plugin: whole-call composition and keyed atomic Tool views. */
|
|
2
2
|
export { apply, inject } from './apply.ts';
|
|
3
|
-
export type { ToolCallOwnerProps, ToolCallViewProps,
|
|
3
|
+
export type { ToolCallOwnerProps, ToolCallViewProps, ToolDetailsProps, ToolHostInfoInjected, ToolTreeProps, } from './contract/slots.ts';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -5,5 +5,5 @@ import type { ToolTreeProps } from '../contract/slots.ts';
|
|
|
5
5
|
* @param props - whole-Tool owner data and the Tool-owned child-slot share.
|
|
6
6
|
* @returns the Tool call tree.
|
|
7
7
|
*/
|
|
8
|
-
export declare function ToolCallTree({ renderSlot, node, selectedCallId, cwd, openFile, inspectCall,
|
|
8
|
+
export declare function ToolCallTree({ renderSlot, node, selectedCallId, cwd, openFile, inspectCall, useHostInfo, t, }: ToolTreeProps): import("react").JSX.Element;
|
|
9
9
|
//# sourceMappingURL=ToolCallTree.d.ts.map
|
|
@@ -5,5 +5,5 @@ import type { ToolDetailsProps } from '../contract/slots.ts';
|
|
|
5
5
|
* @param props - selected call slice, workspace root, host home, and locale seat.
|
|
6
6
|
* @returns the details output body.
|
|
7
7
|
*/
|
|
8
|
-
export declare function ToolDetails({ block, cwd,
|
|
8
|
+
export declare function ToolDetails({ block, cwd, useHostInfo, t, }: Pick<ToolDetailsProps, 'block' | 'cwd' | 'useHostInfo' | 't'>): import("react").JSX.Element;
|
|
9
9
|
//# sourceMappingURL=ToolDetails.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prettier-ai/dsh-client-ui-tool",
|
|
3
3
|
"description": "Client Tool call-tree renderer and keyed per-tool presentation slot",
|
|
4
|
-
"version": "0.1.2-alpha.
|
|
4
|
+
"version": "0.1.2-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -45,37 +45,27 @@
|
|
|
45
45
|
"clsx": "^2.0.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@prettier-ai/cordis": "^4.0.
|
|
49
|
-
"@prettier-ai/dsh-client-connection": "^0.1.2-alpha.1",
|
|
50
|
-
"@prettier-ai/dsh-client-ui-conversation": "^0.1.2-alpha.1",
|
|
51
|
-
"@prettier-ai/dsh-invariants": "^0.1.2-alpha.1",
|
|
52
|
-
"@prettier-ai/dsh-api-workspace-controller": "^0.1.2-alpha.1",
|
|
53
|
-
"@prettier-ai/dsh-client-locale": "^0.1.2-alpha.1",
|
|
54
|
-
"@prettier-ai/dsh-client-ui-chat": "^0.1.2-alpha.1",
|
|
55
|
-
"@prettier-ai/dsh-api-remotes": "^0.1.2-alpha.1",
|
|
56
|
-
"@prettier-ai/dsh-client-ui-renderer": "^0.1.2-alpha.1",
|
|
57
|
-
"@prettier-ai/dsh-client-ui-session": "^0.1.2-alpha.1",
|
|
58
|
-
"@prettier-ai/dsh-util-workspace-path": "^0.1.2-alpha.1"
|
|
48
|
+
"@prettier-ai/cordis": "^4.0.2"
|
|
59
49
|
},
|
|
60
50
|
"devDependencies": {
|
|
61
51
|
"@testing-library/react": "^16.1.0",
|
|
62
52
|
"@types/react": "~18.3.1",
|
|
63
53
|
"react": "^18.2.0",
|
|
64
54
|
"react-dom": "^18.2.0",
|
|
65
|
-
"@prettier-ai/cordis": "^4.0.
|
|
66
|
-
"@prettier-ai/dsh-api-remotes": "^0.1.2-alpha.
|
|
67
|
-
"@prettier-ai/dsh-client-connection": "^0.1.2-alpha.
|
|
68
|
-
"@prettier-ai/dsh-client-locale": "^0.1.2-alpha.
|
|
69
|
-
"@prettier-ai/dsh-client-test-runtime": "^0.1.2-alpha.
|
|
70
|
-
"@prettier-ai/dsh-client-ui-conversation": "^0.1.2-alpha.
|
|
71
|
-
"@prettier-ai/dsh-client-ui-primitives": "^0.1.2-alpha.
|
|
72
|
-
"@prettier-ai/dsh-
|
|
73
|
-
"@prettier-ai/dsh-
|
|
74
|
-
"@prettier-ai/dsh-
|
|
75
|
-
"@prettier-ai/dsh-client-ui-renderer": "^0.1.2-alpha.
|
|
76
|
-
"@prettier-ai/dsh-client-ui-session": "^0.1.2-alpha.
|
|
77
|
-
"@prettier-ai/dsh-
|
|
78
|
-
"@prettier-ai/dsh-util-workspace-path": "^0.1.2-alpha.
|
|
55
|
+
"@prettier-ai/cordis": "^4.0.2",
|
|
56
|
+
"@prettier-ai/dsh-api-remotes": "^0.1.2-alpha.2",
|
|
57
|
+
"@prettier-ai/dsh-client-connection": "^0.1.2-alpha.2",
|
|
58
|
+
"@prettier-ai/dsh-client-locale": "^0.1.2-alpha.2",
|
|
59
|
+
"@prettier-ai/dsh-client-test-runtime": "^0.1.2-alpha.2",
|
|
60
|
+
"@prettier-ai/dsh-client-ui-conversation": "^0.1.2-alpha.2",
|
|
61
|
+
"@prettier-ai/dsh-client-ui-primitives": "^0.1.2-alpha.2",
|
|
62
|
+
"@prettier-ai/dsh-invariants": "^0.1.2-alpha.2",
|
|
63
|
+
"@prettier-ai/dsh-client-ui-slots": "^0.1.2-alpha.2",
|
|
64
|
+
"@prettier-ai/dsh-client-ui-chat": "^0.1.2-alpha.2",
|
|
65
|
+
"@prettier-ai/dsh-client-ui-renderer": "^0.1.2-alpha.2",
|
|
66
|
+
"@prettier-ai/dsh-client-ui-session": "^0.1.2-alpha.2",
|
|
67
|
+
"@prettier-ai/dsh-api-workspace-controller": "^0.1.2-alpha.2",
|
|
68
|
+
"@prettier-ai/dsh-util-workspace-path": "^0.1.2-alpha.2"
|
|
79
69
|
},
|
|
80
70
|
"files": [
|
|
81
71
|
"lib/index.js",
|