@xenosystem/agent-interface-ui 0.1.27 → 0.1.29
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/adapters/agentHostPlatformBridge.js +14 -14
- package/dist/adapters/agentHostPlatformBridge.js.map +1 -1
- package/dist/adapters/xenoAgentHostCatalog.d.ts.map +1 -1
- package/dist/adapters/xenoAgentHostCatalog.js +4 -1
- package/dist/adapters/xenoAgentHostCatalog.js.map +1 -1
- package/dist/agent.css +4 -0
- package/dist/components/agent/AgentInterface.d.ts.map +1 -1
- package/dist/components/agent/AgentInterface.js +30 -28
- package/dist/components/agent/AgentInterface.js.map +1 -1
- package/dist/components/agent/AgentView.d.ts +14 -1
- package/dist/components/agent/AgentView.d.ts.map +1 -1
- package/dist/components/agent/AgentView.js +12 -12
- package/dist/components/agent/AgentView.js.map +1 -1
- package/dist/components/agent/IntakePanel.js +4 -4
- package/dist/components/agent/IntakePanel.js.map +1 -1
- package/dist/components/agent/knowledgePanelController.js.map +1 -1
- package/dist/components/agent/personalConversationScope.d.ts +31 -2
- package/dist/components/agent/personalConversationScope.d.ts.map +1 -1
- package/dist/components/agent/personalConversationScope.js +38 -5
- package/dist/components/agent/personalConversationScope.js.map +1 -1
- package/dist/components/agent/subagentConversationProjection.js +1 -1
- package/dist/components/agent/subagentConversationProjection.js.map +1 -1
- package/dist/components/agent/terminalSurfaceAvailability.d.ts +1 -1
- package/dist/components/agent/terminalSurfaceAvailability.d.ts.map +1 -1
- package/dist/components/agent/terminalSurfaceAvailability.js +1 -1
- package/dist/components/agent/terminalSurfaceAvailability.js.map +1 -1
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -1
- package/dist/platformApiTypes.d.ts +38 -38
- package/dist/platformApiTypes.d.ts.map +1 -1
- package/dist/platformBridge.d.ts +21 -0
- package/dist/platformBridge.d.ts.map +1 -1
- package/dist/platformBridge.js +27 -0
- package/dist/platformBridge.js.map +1 -1
- package/dist/stores/agentChatStore.d.ts +16 -1
- package/dist/stores/agentChatStore.d.ts.map +1 -1
- package/dist/stores/agentChatStore.js +19 -17
- package/dist/stores/agentChatStore.js.map +1 -1
- package/dist/stores/xenoChatStore.d.ts.map +1 -1
- package/dist/stores/xenoChatStore.js +19 -9
- package/dist/stores/xenoChatStore.js.map +1 -1
- package/package.json +5 -5
|
@@ -55,7 +55,7 @@ export function IntakePanel({ clientId, runId }) {
|
|
|
55
55
|
return;
|
|
56
56
|
setBusy(true);
|
|
57
57
|
try {
|
|
58
|
-
const result = await run(bridge);
|
|
58
|
+
const result = await run(bridge.intake);
|
|
59
59
|
setRefusal(result.ok ? null : result.reason ?? 'That did not work.');
|
|
60
60
|
}
|
|
61
61
|
finally {
|
|
@@ -69,13 +69,13 @@ export function IntakePanel({ clientId, runId }) {
|
|
|
69
69
|
_jsx("p", { className: "xeno-intake__notice", children: board.trustworthy ? 'Nothing waiting.' : '' })) : (_jsxs(_Fragment, { children: [_jsxs("p", { className: "xeno-intake__summary", "data-testid": "intake-free-count", children: [board.freeCount, " waiting to be picked up"] }), _jsx("ol", { className: "xeno-intake__items", "data-testid": "intake-items", children: board.rows.map((row) => (_jsxs("li", { "data-availability": row.availability, children: [_jsx("span", { className: "xeno-intake__source", children: row.sourceId }), _jsx("span", { className: "xeno-intake__title", children: row.title }), _jsx("span", { className: "xeno-intake__headline", children: row.headline }), _jsxs("div", { className: "xeno-intake__actions", children: [_jsx("button", { type: "button",
|
|
70
70
|
/* Advice only — the host arbitrates and refuses a second
|
|
71
71
|
claimant by name. */
|
|
72
|
-
disabled: busy || !row.canClaim, onClick: () => void act((
|
|
72
|
+
disabled: busy || !row.canClaim, onClick: () => void act((intake) => intake.claim({ itemId: row.id, clientId })), "data-testid": `intake-claim-${row.id}`, children: "Claim" }), _jsx("button", { type: "button",
|
|
73
73
|
/* Dispatch needs a run to dispatch INTO. Without one the
|
|
74
74
|
control is unavailable rather than inventing a run id. */
|
|
75
|
-
disabled: busy || !row.canDispatch || !runId, onClick: () => void act((
|
|
75
|
+
disabled: busy || !row.canDispatch || !runId, onClick: () => void act((intake) => intake.dispatch({
|
|
76
76
|
itemId: row.id,
|
|
77
77
|
clientId,
|
|
78
78
|
runId: runId,
|
|
79
|
-
})), children: "Dispatch" }), _jsx("button", { type: "button", disabled: busy || !row.canRelease, onClick: () => void act((
|
|
79
|
+
})), children: "Dispatch" }), _jsx("button", { type: "button", disabled: busy || !row.canRelease, onClick: () => void act((intake) => intake.release({ itemId: row.id, clientId })), children: "Hand back" })] })] }, row.id))) })] })), refusal && _jsx("p", { className: "xeno-intake__notice", "data-testid": "intake-refusal", children: refusal })] }));
|
|
80
80
|
}
|
|
81
81
|
//# sourceMappingURL=IntakePanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntakePanel.js","sourceRoot":"","sources":["../../../src/components/agent/IntakePanel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAoB,MAAM,kCAAkC,CAAA;AAEvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,OAAO,sBAAsB,EAAE,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAWD,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAoB;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAC5D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE3D,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,CAAC,kBAAkB,CACzB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE,EACxH,QAAQ,CACT,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAA;QACb,IAAI,CAAC;YACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACtE,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAE9C,8EAA8E;IAC9E,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAC3B,
|
|
1
|
+
{"version":3,"file":"IntakePanel.js","sourceRoot":"","sources":["../../../src/components/agent/IntakePanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledgePanelController.js","sourceRoot":"","sources":["../../../src/components/agent/knowledgePanelController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAuB,MAAM,kCAAkC,CAAA;AAW7F,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,0DAA0D,CAAA;AAEtJ,mGAAmG;AACnG,MAAM,OAAO,wBAAwB;IAId;IAAsC;IAAyC;IAH5F,KAAK,GAAwB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACxG,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IAC1C,UAAU,GAAG,CAAC,CAAA;IACtB,YAAqB,WAAmB,EAAmB,QAAsB,EAAmB,MAA8C;QAA7H,gBAAW,GAAX,WAAW,CAAQ;QAAmB,aAAQ,GAAR,QAAQ,CAAc;QAAmB,WAAM,GAAN,MAAM,CAAwC;IAAG,CAAC;IACtJ,WAAW,GAAG,GAAwB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAA;IACnD,SAAS,GAAG,CAAC,QAAoB,EAAgB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;IAC9H,GAAG,CAAC,KAAmC,IAAU,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,EAAE,CAAA,CAAC,CAAC;IAClJ,IAAI,CAAC,KAA6D,IAAU,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;IAC7F,mGAAmG;IACnG,UAAU,KAAW,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC;IAC3D,SAAS;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QACzB,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACtE,OAAO,GAAG,CAAA;IACZ,CAAC;IACO,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"knowledgePanelController.js","sourceRoot":"","sources":["../../../src/components/agent/knowledgePanelController.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,23 @@ export interface ConversationScope {
|
|
|
3
3
|
agentId?: string;
|
|
4
4
|
workspaceId?: string;
|
|
5
5
|
teamId?: string;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Which of the two capability profiles this conversation is, or that nothing is chosen yet.
|
|
8
|
+
*
|
|
9
|
+
* 🔴 The values are the SAME WORDS as `launchMode`, deliberately. They were once
|
|
10
|
+
* `'workspace' | 'chat-only'` against a launch mode of `'chat' | 'agent'`, and one concept in two
|
|
11
|
+
* vocabularies cost a real defect: the scoped-backup projection writes an untyped record and set
|
|
12
|
+
* `workspaceMode: 'chat'` — in NEITHER union — so a RESTORED chat conversation failed
|
|
13
|
+
* `assertResumeLaunchScope`, which compared it against `'chat-only'`, and refused to resume with
|
|
14
|
+
* "Resume mode conflicts with the saved conversation."
|
|
15
|
+
*
|
|
16
|
+
* With one vocabulary the guard is `scope.workspaceMode !== launchMode` and that mistake is
|
|
17
|
+
* unrepresentable.
|
|
18
|
+
*
|
|
19
|
+
* - `chat` — a private managed workspace, no local tool calls (the claude.ai / ChatGPT shape)
|
|
20
|
+
* - `agent` — an explicit local folder and the full development harness (the Claude Code shape)
|
|
21
|
+
*/
|
|
22
|
+
workspaceMode?: 'unselected' | 'chat' | 'agent';
|
|
7
23
|
rootDirectory?: string;
|
|
8
24
|
grantedDirectories?: string[];
|
|
9
25
|
}
|
|
@@ -11,7 +27,7 @@ export interface ConversationScope {
|
|
|
11
27
|
export declare function isPersonalInboxConversation(value: ConversationScope | undefined, inboxAgentId: string): boolean;
|
|
12
28
|
export declare function personalConversationDefaults(): {
|
|
13
29
|
schemaVersion: 3;
|
|
14
|
-
workspaceMode: "chat
|
|
30
|
+
workspaceMode: "chat";
|
|
15
31
|
workspaceId: undefined;
|
|
16
32
|
teamId: undefined;
|
|
17
33
|
rootDirectory: undefined;
|
|
@@ -19,6 +35,19 @@ export declare function personalConversationDefaults(): {
|
|
|
19
35
|
};
|
|
20
36
|
/** Existing durable scope wins. Launch flags are equality preconditions on a
|
|
21
37
|
* resume, not a request to silently move/reconfigure that conversation. */
|
|
38
|
+
/**
|
|
39
|
+
* Read a `workspaceMode` that may have been persisted under the old vocabulary.
|
|
40
|
+
*
|
|
41
|
+
* ⚠️ Conversations saved before 2026-09-07 carry `'workspace'` and `'chat-only'`, and a stored
|
|
42
|
+
* record is not something a rename can reach. Normalising on READ is what makes the rename safe:
|
|
43
|
+
* old records keep working, new ones are written in the single vocabulary, and nothing has to
|
|
44
|
+
* migrate a database to change two words.
|
|
45
|
+
*
|
|
46
|
+
* `'chat'` is deliberately the fallback for an unrecognised value. The two profiles are not
|
|
47
|
+
* symmetric — chat cannot touch the local filesystem and agent can — so an unreadable mode must
|
|
48
|
+
* degrade to the one that grants nothing.
|
|
49
|
+
*/
|
|
50
|
+
export declare function normalizeWorkspaceMode(value: unknown): 'unselected' | 'chat' | 'agent' | undefined;
|
|
22
51
|
export declare function assertResumeLaunchScope(scope: ConversationScope, launchMode?: 'chat' | 'agent', launchRoot?: string): void;
|
|
23
52
|
/** Only explicit canonical session mode can classify an SDK-only projection.
|
|
24
53
|
* workingDirectory alone may be Chat scratch storage, so it is not a mode. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalConversationScope.d.ts","sourceRoot":"","sources":["../../../src/components/agent/personalConversationScope.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"personalConversationScope.d.ts","sourceRoot":"","sources":["../../../src/components/agent/personalConversationScope.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,4EAA4E;AAC5E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAE/G;AAED,wBAAgB,4BAA4B;;;;;;wBAEY,MAAM,EAAE;EAC/D;AAOD;2EAC2E;AAC3E;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAiB7C;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAO1H;AAED;8EAC8E;AAC9E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAY7E"}
|
|
@@ -3,7 +3,7 @@ export function isPersonalInboxConversation(value, inboxAgentId) {
|
|
|
3
3
|
return !!value && value.agentId === inboxAgentId && !value.workspaceId && !value.teamId;
|
|
4
4
|
}
|
|
5
5
|
export function personalConversationDefaults() {
|
|
6
|
-
return { schemaVersion: 3, workspaceMode: 'chat
|
|
6
|
+
return { schemaVersion: 3, workspaceMode: 'chat', workspaceId: undefined, teamId: undefined,
|
|
7
7
|
rootDirectory: undefined, grantedDirectories: [] };
|
|
8
8
|
}
|
|
9
9
|
const pathIdentity = (value) => {
|
|
@@ -12,8 +12,41 @@ const pathIdentity = (value) => {
|
|
|
12
12
|
};
|
|
13
13
|
/** Existing durable scope wins. Launch flags are equality preconditions on a
|
|
14
14
|
* resume, not a request to silently move/reconfigure that conversation. */
|
|
15
|
+
/**
|
|
16
|
+
* Read a `workspaceMode` that may have been persisted under the old vocabulary.
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ Conversations saved before 2026-09-07 carry `'workspace'` and `'chat-only'`, and a stored
|
|
19
|
+
* record is not something a rename can reach. Normalising on READ is what makes the rename safe:
|
|
20
|
+
* old records keep working, new ones are written in the single vocabulary, and nothing has to
|
|
21
|
+
* migrate a database to change two words.
|
|
22
|
+
*
|
|
23
|
+
* `'chat'` is deliberately the fallback for an unrecognised value. The two profiles are not
|
|
24
|
+
* symmetric — chat cannot touch the local filesystem and agent can — so an unreadable mode must
|
|
25
|
+
* degrade to the one that grants nothing.
|
|
26
|
+
*/
|
|
27
|
+
export function normalizeWorkspaceMode(value) {
|
|
28
|
+
/*
|
|
29
|
+
* 🔴 ABSENT is not CHAT, and collapsing them is a real defect rather than a tidy default.
|
|
30
|
+
* `scopeFromSdkSessionMetadata` REFUSES a record with no mode — "never infer SDK Chat/Agent mode
|
|
31
|
+
* from cwd alone" — because guessing a mode from a working directory is how a conversation gets
|
|
32
|
+
* the wrong authority. An earlier version of this function returned 'chat' for undefined and
|
|
33
|
+
* silently turned that refusal into a successful chat scope. Absent in, absent out.
|
|
34
|
+
*/
|
|
35
|
+
if (value === undefined || value === null)
|
|
36
|
+
return undefined;
|
|
37
|
+
if (value === 'agent' || value === 'workspace')
|
|
38
|
+
return 'agent';
|
|
39
|
+
if (value === 'unselected')
|
|
40
|
+
return 'unselected';
|
|
41
|
+
/*
|
|
42
|
+
* Any other value degrades to chat, and the direction is load-bearing: the two profiles are not
|
|
43
|
+
* symmetric — chat cannot touch the local filesystem and agent can — so an unreadable mode must
|
|
44
|
+
* land on the one that grants nothing.
|
|
45
|
+
*/
|
|
46
|
+
return 'chat';
|
|
47
|
+
}
|
|
15
48
|
export function assertResumeLaunchScope(scope, launchMode, launchRoot) {
|
|
16
|
-
if (launchMode && scope.workspaceMode !==
|
|
49
|
+
if (launchMode && scope.workspaceMode !== launchMode) {
|
|
17
50
|
throw new Error('Resume mode conflicts with the saved conversation. Open it without conflicting launch options.');
|
|
18
51
|
}
|
|
19
52
|
if (launchRoot?.trim() && (!scope.rootDirectory || pathIdentity(scope.rootDirectory) !== pathIdentity(launchRoot))) {
|
|
@@ -26,9 +59,9 @@ export function scopeFromSdkSessionMetadata(value) {
|
|
|
26
59
|
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
27
60
|
throw new Error('SDK session metadata is unavailable. Resume needs verified session mode and workspace metadata.');
|
|
28
61
|
const meta = value;
|
|
29
|
-
if (meta.workspaceMode === 'chat
|
|
62
|
+
if (normalizeWorkspaceMode(meta.workspaceMode) === 'chat')
|
|
30
63
|
return personalConversationDefaults();
|
|
31
|
-
if (meta.workspaceMode !== '
|
|
64
|
+
if (normalizeWorkspaceMode(meta.workspaceMode) !== 'agent')
|
|
32
65
|
throw new Error('SDK session mode is unavailable. Recovery requires canonical mode metadata; no folder was guessed.');
|
|
33
66
|
const root = typeof meta.rootDirectory === 'string' ? meta.rootDirectory.trim() : typeof meta.workingDirectory === 'string' ? meta.workingDirectory.trim() : '';
|
|
34
67
|
if (!root || !/^(?:[A-Za-z]:[\\/]|\/|\\\\)/.test(root) || root.includes('\0'))
|
|
@@ -38,6 +71,6 @@ export function scopeFromSdkSessionMetadata(value) {
|
|
|
38
71
|
if (!Array.isArray(meta.grantedDirectories) || meta.grantedDirectories.length > 128 || meta.grantedDirectories.some(v => typeof v !== 'string' || !v.trim() || v.includes('\0'))
|
|
39
72
|
|| !meta.grantedDirectories.some(v => pathIdentity(v) === pathIdentity(root)))
|
|
40
73
|
throw new Error('SDK Agent session workspace grants are unavailable. Reauthorize its root before resuming.');
|
|
41
|
-
return { schemaVersion: 3, workspaceMode: '
|
|
74
|
+
return { schemaVersion: 3, workspaceMode: 'agent', rootDirectory: root, grantedDirectories: [...meta.grantedDirectories] };
|
|
42
75
|
}
|
|
43
76
|
//# sourceMappingURL=personalConversationScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalConversationScope.js","sourceRoot":"","sources":["../../../src/components/agent/personalConversationScope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"personalConversationScope.js","sourceRoot":"","sources":["../../../src/components/agent/personalConversationScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ export function buildSubagentConversationProjection(run, runtimeEvents, agentId,
|
|
|
40
40
|
agentId,
|
|
41
41
|
workspaceId: run.workspaceId,
|
|
42
42
|
teamId: run.teamId,
|
|
43
|
-
workspaceMode: rootDirectory ? '
|
|
43
|
+
workspaceMode: rootDirectory ? 'agent' : 'chat',
|
|
44
44
|
...(rootDirectory ? { rootDirectory, grantedDirectories } : {}),
|
|
45
45
|
messages,
|
|
46
46
|
title: run.childAgentName || run.childAgentId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagentConversationProjection.js","sourceRoot":"","sources":["../../../src/components/agent/subagentConversationProjection.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,mCAAmC,CACjD,GAAyB,EACzB,aAA8C,EAC9C,OAAe,EACf,oBAAoB,GAAG,GAAG,CAAC,oBAAoB;IAE/C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,SAAS,CAAA;IAC7D,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACpG,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC/G,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,GAAG,CAAC,UAAU,CAAC,kBAAkB;KACrC,CAAC,CAAC,CAAA;IACH,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,oBAAoB,GAAG,CAAC,MAAM,EAAE,CAAA;IAC3E,MAAM,QAAQ,GAAkB;QAC9B;YACE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,YAAY;YACzB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO;SACrB;QACD;YACE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS;YACtB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,OAAO;YACpB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C;KACF,CAAA;IACD,MAAM,sBAAsB,GAAwB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChF,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,cAAc,EAAE,GAAG,CAAC,mBAAmB;QACvC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC,CAAA;IACH,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAExD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,OAAO;QACP,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"subagentConversationProjection.js","sourceRoot":"","sources":["../../../src/components/agent/subagentConversationProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export interface TerminalSurfaceAvailability {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function xenoTuiAvailability(input: {
|
|
8
8
|
conversationId?: string | null;
|
|
9
|
-
workspaceMode: '
|
|
9
|
+
workspaceMode: 'agent' | 'chat';
|
|
10
10
|
cwd?: string | null;
|
|
11
11
|
providerKind?: HubAgentRuntimeProviderKind;
|
|
12
12
|
hostAttachAvailable: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalSurfaceAvailability.d.ts","sourceRoot":"","sources":["../../../src/components/agent/terminalSurfaceAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAEnF,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"terminalSurfaceAvailability.d.ts","sourceRoot":"","sources":["../../../src/components/agent/terminalSurfaceAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAEnF,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,OAAO,GAAG,MAAM,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,mBAAmB,EAAE,OAAO,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAA;CACvB,GAAG,2BAA2B,CAW9B;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,wBAAwB,CAAA;IAC/B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,mBAAmB,EAAE,OAAO,CAAA;CAC7B,GAAG,2BAA2B,CAgB9B"}
|
|
@@ -5,7 +5,7 @@ export function xenoTuiAvailability(input) {
|
|
|
5
5
|
return unavailable('This host does not support XENO TUI attachment.');
|
|
6
6
|
if (input.guiTurnActive)
|
|
7
7
|
return unavailable('Wait for the current Agent turn to finish.');
|
|
8
|
-
if (input.workspaceMode === '
|
|
8
|
+
if (input.workspaceMode === 'agent' && !input.cwd?.trim()) {
|
|
9
9
|
return unavailable('Agent mode requires a selected local folder.');
|
|
10
10
|
}
|
|
11
11
|
if (input.providerKind === 'cli-app-server' || input.providerKind === 'cli-remote') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalSurfaceAvailability.js","sourceRoot":"","sources":["../../../src/components/agent/terminalSurfaceAvailability.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,mBAAmB,CAAC,KAOnC;IACC,IAAI,CAAC,KAAK,CAAC,cAAc;QAAE,OAAO,WAAW,CAAC,uCAAuC,CAAC,CAAA;IACtF,IAAI,CAAC,KAAK,CAAC,mBAAmB;QAAE,OAAO,WAAW,CAAC,iDAAiD,CAAC,CAAA;IACrG,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,WAAW,CAAC,4CAA4C,CAAC,CAAA;IACzF,IAAI,KAAK,CAAC,aAAa,KAAK,
|
|
1
|
+
{"version":3,"file":"terminalSurfaceAvailability.js","sourceRoot":"","sources":["../../../src/components/agent/terminalSurfaceAvailability.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,mBAAmB,CAAC,KAOnC;IACC,IAAI,CAAC,KAAK,CAAC,cAAc;QAAE,OAAO,WAAW,CAAC,uCAAuC,CAAC,CAAA;IACtF,IAAI,CAAC,KAAK,CAAC,mBAAmB;QAAE,OAAO,WAAW,CAAC,iDAAiD,CAAC,CAAA;IACrG,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,WAAW,CAAC,4CAA4C,CAAC,CAAA;IACzF,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC,8CAA8C,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,gBAAgB,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;QACnF,OAAO,WAAW,CAAC,qEAAqE,CAAC,CAAA;IAC3F,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAM7C;IACC,IAAI,CAAC,KAAK,CAAC,cAAc;QAAE,OAAO,WAAW,CAAC,uCAAuC,CAAC,CAAA;IACtF,IAAI,CAAC,KAAK,CAAC,mBAAmB;QAAE,OAAO,WAAW,CAAC,yDAAyD,CAAC,CAAA;IAC7G,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,WAAW,CAAC,4CAA4C,CAAC,CAAA;IACzF,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC,mEAAmE,CAAC,CAAA;IACxG,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAA;IACjE,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,WAAW,IAAI,gBAAgB,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;QAC7G,OAAO,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,iEAAiE,CAAC,CAAA;IACnH,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACrD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxF,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,eAAe;QAAE,OAAO,WAAW,CAAC,+CAA+C,CAAC,CAAA;IAC9G,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,qBAAqB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAChG,OAAO,WAAW,CAAC,4DAA4D,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,WAAW,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACjC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,6 +39,44 @@ export * from './adapters/xenoAgentCompatibilityBridge.js';
|
|
|
39
39
|
export * from './adapters/xenoAgentHostCatalog.js';
|
|
40
40
|
export type { XenoAPI } from './platformApiTypes.js';
|
|
41
41
|
export { default as XenoAgentInterface } from './components/agent/AgentInterface.js';
|
|
42
|
+
/**
|
|
43
|
+
* THE XENO AGENT CONVERSATION — the one component every XENO agent surface plugs in.
|
|
44
|
+
*
|
|
45
|
+
* The transcript, the composer, and the logic behind them. Nothing else: the sidebar, the session
|
|
46
|
+
* list, the header tabs and the window chrome live in `XenoAgentInterface`, which renders THIS
|
|
47
|
+
* inside itself. So this is not a second implementation — it is the same component the shipping app
|
|
48
|
+
* draws, made reachable to any host that owns its own window.
|
|
49
|
+
*
|
|
50
|
+
* 🔴 **Deliberately NOT named "chat".** Chat is one of its two modes, and naming the component
|
|
51
|
+
* after one mode is how a product ends up with two implementations. Per this repo's own framing:
|
|
52
|
+
* *Chat and Agent are capability profiles of ONE canonical surface, not separate UIs.*
|
|
53
|
+
*
|
|
54
|
+
* | mode | scope | what it can do |
|
|
55
|
+
* |---|---|---|
|
|
56
|
+
* | **chat** | `workspaceMode: 'chat'`, a private managed workspace | no local tool calls — the shape of claude.ai or ChatGPT |
|
|
57
|
+
* | **agent** | `workspaceMode: 'agent'`, an explicit local folder | the full development harness — the shape of Claude Code or a coworker |
|
|
58
|
+
*
|
|
59
|
+
* The mode is not a flag on this component: it is carried by the conversation's SCOPE and expressed
|
|
60
|
+
* through `allowedDirectories`, `capabilities` and `permissionProfile`. A host selects a mode by
|
|
61
|
+
* opening the right kind of conversation, which is why the two cannot silently blur — see
|
|
62
|
+
* `assertResumeLaunchScope`, which refuses a resume whose scope disagrees with its launch mode.
|
|
63
|
+
*
|
|
64
|
+
* ## Where it plugs in
|
|
65
|
+
*
|
|
66
|
+
* ```
|
|
67
|
+
* ┌──────────┬──────────────────────────┬──────────────────┐
|
|
68
|
+
* │ sessions │ XenoAgentConversation │ editor / browser │
|
|
69
|
+
* │ sidebar │ (this component) │ terminal / diff │
|
|
70
|
+
* └──────────┴──────────────────────────┴──────────────────┘
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* That is `XenoAgentInterface`'s layout, and it is also a XENO Panel host's: the conversation is one
|
|
74
|
+
* tile among others the host arranges. A website, an app, a panel host and the Agent desktop app all
|
|
75
|
+
* mount the same component, so improving the conversation improves every one of them at once —
|
|
76
|
+
* which is the entire reason this export exists.
|
|
77
|
+
*/
|
|
78
|
+
export { AgentView as XenoAgentConversation } from './components/agent/AgentView.js';
|
|
79
|
+
export type { AgentViewProps as XenoAgentConversationProps } from './components/agent/AgentView.js';
|
|
42
80
|
export type { Agent, AgentApprovalRule, AgentCapabilities, AgentInterfaceProps, AgentPermissionProfileName, Conversation, Team, Workspace, WorkspaceApp, } from './components/agent/AgentInterface.js';
|
|
43
81
|
export type AgentInterfaceSurfacePhase = 'idle' | 'connecting' | 'ready' | 'error' | 'stopped';
|
|
44
82
|
export interface AgentInterfaceSurfaceSnapshot {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,gBAAgB,EACjB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE;;;;;;;;;;;;GAYG;AACH,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,kCAAkC,CAAA;AAChD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAClD,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACpF,YAAY,EACV,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,YAAY,GACb,MAAM,sCAAsC,CAAA;AAE7C,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;AAE9F,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,0BAA0B,CAAA;IACjC,OAAO,EAAE,gBAAgB,CAAA;IACzB,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACpC,SAAS,EAAE,8BAA8B,EAAE,CAAA;IAC3C,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,MAAM,6BAA6B,GAAG,CAAC,QAAQ,EAAE,6BAA6B,KAAK,IAAI,CAAA;AAE7F,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,YAAY,CAAsD;IAC1E,OAAO,CAAC,aAAa,CAA+B;gBAExC,MAAM,EAAE,eAAe;IAYnC,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;IAED,SAAS,CAAC,QAAQ,EAAE,6BAA6B,GAAG,MAAM,IAAI;IAQ9D,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC;IAM/C,IAAI,IAAI,IAAI;YAeE,aAAa;YAyBb,gBAAgB;IAU9B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,WAAW;CAIpB;AAMD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,gBAAgB,EACjB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE;;;;;;;;;;;;GAYG;AACH,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,kCAAkC,CAAA;AAChD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAClD,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACpF,YAAY,EAAE,cAAc,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACnG,YAAY,EACV,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,YAAY,GACb,MAAM,sCAAsC,CAAA;AAE7C,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;AAE9F,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,0BAA0B,CAAA;IACjC,OAAO,EAAE,gBAAgB,CAAA;IACzB,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACpC,SAAS,EAAE,8BAA8B,EAAE,CAAA;IAC3C,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,MAAM,6BAA6B,GAAG,CAAC,QAAQ,EAAE,6BAA6B,KAAK,IAAI,CAAA;AAE7F,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,YAAY,CAAsD;IAC1E,OAAO,CAAC,aAAa,CAA+B;gBAExC,MAAM,EAAE,eAAe;IAYnC,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;IAED,SAAS,CAAC,QAAQ,EAAE,6BAA6B,GAAG,MAAM,IAAI;IAQ9D,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC;IAM/C,IAAI,IAAI,IAAI;YAeE,aAAa;YAyBb,gBAAgB;IAU9B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,WAAW;CAIpB;AAMD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,43 @@ export * from './adapters/hubAgentPlatformBridge.js';
|
|
|
38
38
|
export * from './adapters/xenoAgentCompatibilityBridge.js';
|
|
39
39
|
export * from './adapters/xenoAgentHostCatalog.js';
|
|
40
40
|
export { default as XenoAgentInterface } from './components/agent/AgentInterface.js';
|
|
41
|
+
/**
|
|
42
|
+
* THE XENO AGENT CONVERSATION — the one component every XENO agent surface plugs in.
|
|
43
|
+
*
|
|
44
|
+
* The transcript, the composer, and the logic behind them. Nothing else: the sidebar, the session
|
|
45
|
+
* list, the header tabs and the window chrome live in `XenoAgentInterface`, which renders THIS
|
|
46
|
+
* inside itself. So this is not a second implementation — it is the same component the shipping app
|
|
47
|
+
* draws, made reachable to any host that owns its own window.
|
|
48
|
+
*
|
|
49
|
+
* 🔴 **Deliberately NOT named "chat".** Chat is one of its two modes, and naming the component
|
|
50
|
+
* after one mode is how a product ends up with two implementations. Per this repo's own framing:
|
|
51
|
+
* *Chat and Agent are capability profiles of ONE canonical surface, not separate UIs.*
|
|
52
|
+
*
|
|
53
|
+
* | mode | scope | what it can do |
|
|
54
|
+
* |---|---|---|
|
|
55
|
+
* | **chat** | `workspaceMode: 'chat'`, a private managed workspace | no local tool calls — the shape of claude.ai or ChatGPT |
|
|
56
|
+
* | **agent** | `workspaceMode: 'agent'`, an explicit local folder | the full development harness — the shape of Claude Code or a coworker |
|
|
57
|
+
*
|
|
58
|
+
* The mode is not a flag on this component: it is carried by the conversation's SCOPE and expressed
|
|
59
|
+
* through `allowedDirectories`, `capabilities` and `permissionProfile`. A host selects a mode by
|
|
60
|
+
* opening the right kind of conversation, which is why the two cannot silently blur — see
|
|
61
|
+
* `assertResumeLaunchScope`, which refuses a resume whose scope disagrees with its launch mode.
|
|
62
|
+
*
|
|
63
|
+
* ## Where it plugs in
|
|
64
|
+
*
|
|
65
|
+
* ```
|
|
66
|
+
* ┌──────────┬──────────────────────────┬──────────────────┐
|
|
67
|
+
* │ sessions │ XenoAgentConversation │ editor / browser │
|
|
68
|
+
* │ sidebar │ (this component) │ terminal / diff │
|
|
69
|
+
* └──────────┴──────────────────────────┴──────────────────┘
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* That is `XenoAgentInterface`'s layout, and it is also a XENO Panel host's: the conversation is one
|
|
73
|
+
* tile among others the host arranges. A website, an app, a panel host and the Agent desktop app all
|
|
74
|
+
* mount the same component, so improving the conversation improves every one of them at once —
|
|
75
|
+
* which is the entire reason this export exists.
|
|
76
|
+
*/
|
|
77
|
+
export { AgentView as XenoAgentConversation } from './components/agent/AgentView.js';
|
|
41
78
|
export class AgentInterfaceSurfaceController {
|
|
42
79
|
client;
|
|
43
80
|
listeners = new Set();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE;;;;;;;;;;;;GAYG;AACH,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,kCAAkC,CAAA;AAChD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAElD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE;;;;;;;;;;;;GAYG;AACH,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,kCAAkC,CAAA;AAChD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAElD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AA2BpF,MAAM,OAAO,+BAA+B;IACzB,MAAM,CAAiB;IACvB,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC7D,eAAe,GAAwB,IAAI,CAAA;IAC3C,YAAY,GAAkD,IAAI,CAAA;IAClE,aAAa,CAA+B;IAEpD,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG;YACnB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;YACb,sBAAsB,EAAE,EAAE;YAC1B,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;IAED,SAAS,CAAC,QAAuC;QAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAA;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACxC,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,eAAe,EAAE,EAAE,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC,WAAW,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;YACb,sBAAsB,EAAE,EAAE;YAC1B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACjF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7E,IAAI,CAAC,eAAe,EAAE,EAAE,CAAA;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrD,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B;oBAAE,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC7E,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC;gBACf,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,EAAE;gBACb,sBAAsB,EAAE,EAAE;gBAC1B,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC;aACnC,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;YAAE,OAAM;QACzC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,SAA6B,EAAE,SAA2C;QACzF,IAAI,CAAC,WAAW,CAAC;YACf,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,SAAS;YACT,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnG,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;IACJ,CAAC;IAEO,WAAW,CAAC,QAAuC;QACzD,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC9C,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrE,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IACxE,OAAO,qCAAqC,CAAA;AAC9C,CAAC;AACD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA"}
|