@cleanslate/sdk 1.0.11 → 1.1.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 (87) hide show
  1. package/README.md +29 -1
  2. package/dist/agent/cleanSlateAgentExtensions.d.ts +53 -0
  3. package/dist/agent/cleanSlateAgentExtensions.d.ts.map +1 -0
  4. package/dist/agent/cleanSlateAgentExtensions.js +74 -0
  5. package/dist/agent/cleanSlateAgentExtensions.js.map +1 -0
  6. package/dist/agent/cleanSlateAgentSession.d.ts +1 -0
  7. package/dist/agent/cleanSlateAgentSession.d.ts.map +1 -1
  8. package/dist/agent/cleanSlateAgentSession.js +17 -3
  9. package/dist/agent/cleanSlateAgentSession.js.map +1 -1
  10. package/dist/agent/cleanSlateExecutionQuery.d.ts.map +1 -1
  11. package/dist/agent/cleanSlateExecutionQuery.js +6 -3
  12. package/dist/agent/cleanSlateExecutionQuery.js.map +1 -1
  13. package/dist/externalAgents/externalAgentPresentation.d.ts +9 -0
  14. package/dist/externalAgents/externalAgentPresentation.d.ts.map +1 -0
  15. package/dist/externalAgents/externalAgentPresentation.js +104 -0
  16. package/dist/externalAgents/externalAgentPresentation.js.map +1 -0
  17. package/dist/externalAgents/externalAgentTypes.d.ts +31 -0
  18. package/dist/externalAgents/externalAgentTypes.d.ts.map +1 -1
  19. package/dist/externalAgents/handoff.d.ts.map +1 -1
  20. package/dist/externalAgents/handoff.js +2 -1
  21. package/dist/externalAgents/handoff.js.map +1 -1
  22. package/dist/externalAgents/index.d.ts +1 -0
  23. package/dist/externalAgents/index.d.ts.map +1 -1
  24. package/dist/externalAgents/index.js +1 -0
  25. package/dist/externalAgents/index.js.map +1 -1
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/node/cleanSlateNodeAgentRuntime.d.ts +9 -0
  31. package/dist/node/cleanSlateNodeAgentRuntime.d.ts.map +1 -1
  32. package/dist/node/cleanSlateNodeAgentRuntime.js +50 -6
  33. package/dist/node/cleanSlateNodeAgentRuntime.js.map +1 -1
  34. package/dist/node/cleanSlateNodeMainService.d.ts.map +1 -1
  35. package/dist/node/cleanSlateNodeMainService.js +18 -0
  36. package/dist/node/cleanSlateNodeMainService.js.map +1 -1
  37. package/dist/node/externalAgents/externalAgentHistory.d.ts +12 -0
  38. package/dist/node/externalAgents/externalAgentHistory.d.ts.map +1 -0
  39. package/dist/node/externalAgents/externalAgentHistory.js +444 -0
  40. package/dist/node/externalAgents/externalAgentHistory.js.map +1 -0
  41. package/dist/node/externalAgents/externalAgentRegistry.js +1 -1
  42. package/dist/node/externalAgents/externalAgentRegistry.js.map +1 -1
  43. package/dist/node/externalAgents/externalAgentService.d.ts.map +1 -1
  44. package/dist/node/externalAgents/externalAgentService.js +9 -1
  45. package/dist/node/externalAgents/externalAgentService.js.map +1 -1
  46. package/dist/node/externalAgents/externalAgentSession.d.ts.map +1 -1
  47. package/dist/node/externalAgents/externalAgentSession.js +1 -1
  48. package/dist/node/externalAgents/externalAgentSession.js.map +1 -1
  49. package/dist/node/externalAgents/generatedSdkVersion.d.ts +1 -1
  50. package/dist/node/externalAgents/generatedSdkVersion.d.ts.map +1 -1
  51. package/dist/node/externalAgents/generatedSdkVersion.js +1 -1
  52. package/dist/node/externalAgents/generatedSdkVersion.js.map +1 -1
  53. package/dist/node/externalAgents/hostToolsBridge.d.ts.map +1 -1
  54. package/dist/node/externalAgents/hostToolsBridge.js +2 -1
  55. package/dist/node/externalAgents/hostToolsBridge.js.map +1 -1
  56. package/dist/node/externalAgents/index.d.ts +1 -0
  57. package/dist/node/externalAgents/index.d.ts.map +1 -1
  58. package/dist/node/externalAgents/index.js +1 -0
  59. package/dist/node/externalAgents/index.js.map +1 -1
  60. package/dist/node/externalAgents/transports/acp/acpClient.d.ts +1 -1
  61. package/dist/node/externalAgents/transports/acp/acpClient.d.ts.map +1 -1
  62. package/dist/node/externalAgents/transports/acp/acpClient.js +5 -2
  63. package/dist/node/externalAgents/transports/acp/acpClient.js.map +1 -1
  64. package/dist/node/externalAgents/transports/acp/acpEventMapper.d.ts.map +1 -1
  65. package/dist/node/externalAgents/transports/acp/acpEventMapper.js +169 -2
  66. package/dist/node/externalAgents/transports/acp/acpEventMapper.js.map +1 -1
  67. package/dist/node/index.d.ts +2 -0
  68. package/dist/node/index.d.ts.map +1 -1
  69. package/dist/node/index.js +1 -0
  70. package/dist/node/index.js.map +1 -1
  71. package/dist/protocol/cleanSlateAI.d.ts +1 -4
  72. package/dist/protocol/cleanSlateAI.d.ts.map +1 -1
  73. package/dist/protocol/cleanSlateService.d.ts.map +1 -1
  74. package/dist/protocol/cleanSlateService.js +15 -10
  75. package/dist/protocol/cleanSlateService.js.map +1 -1
  76. package/dist/protocol/cleanSlateTranscriptIntegrity.d.ts +12 -0
  77. package/dist/protocol/cleanSlateTranscriptIntegrity.d.ts.map +1 -0
  78. package/dist/protocol/cleanSlateTranscriptIntegrity.js +95 -0
  79. package/dist/protocol/cleanSlateTranscriptIntegrity.js.map +1 -0
  80. package/dist/tools/cleanSlateBrowserPolicy.d.ts +19 -0
  81. package/dist/tools/cleanSlateBrowserPolicy.d.ts.map +1 -0
  82. package/dist/tools/cleanSlateBrowserPolicy.js +40 -0
  83. package/dist/tools/cleanSlateBrowserPolicy.js.map +1 -0
  84. package/dist/tools/registry.d.ts.map +1 -1
  85. package/dist/tools/registry.js +3 -1
  86. package/dist/tools/registry.js.map +1 -1
  87. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ import type { ICleanSlatePersistedThreadMessage } from '../protocol/cleanSlateAI.js';
2
+ /** Imported agents store one protocol item per row. Present one assistant turn
3
+ * across those rows without changing the history used for agent handoffs. Also
4
+ * works on imports saved before this projection existed. */
5
+ export declare function coalesceExternalAgentTranscript(history: readonly ICleanSlatePersistedThreadMessage[]): ICleanSlatePersistedThreadMessage[];
6
+ /** Codex desktop navigation markers have no UI action in ACP. Hide them only
7
+ * in prose; code examples and the original provider transcript stay intact. */
8
+ export declare function externalAgentDisplayText(text: string, isStreaming?: boolean): string;
9
+ //# sourceMappingURL=externalAgentPresentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalAgentPresentation.d.ts","sourceRoot":"","sources":["../../src/externalAgents/externalAgentPresentation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAcrF;;4DAE4D;AAC5D,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,SAAS,iCAAiC,EAAE,GAAG,iCAAiC,EAAE,CA4B1I;AAED;+EAC+E;AAC/E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,MAAM,CA4BlF"}
@@ -0,0 +1,104 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ function displayPayload(message) {
6
+ if (!message.renderPayload) {
7
+ return undefined;
8
+ }
9
+ try {
10
+ const value = JSON.parse(message.renderPayload);
11
+ if (Array.isArray(value?.timeline) && value.timeline.every(block => block && typeof block.id === 'string' && typeof block.type === 'string')) {
12
+ return value;
13
+ }
14
+ }
15
+ catch { /* Keep malformed history as its original message. */ }
16
+ return undefined;
17
+ }
18
+ /** Imported agents store one protocol item per row. Present one assistant turn
19
+ * across those rows without changing the history used for agent handoffs. Also
20
+ * works on imports saved before this projection existed. */
21
+ export function coalesceExternalAgentTranscript(history) {
22
+ const transcript = [];
23
+ let segment = [];
24
+ const flush = () => {
25
+ if (segment.length > 1 && segment.some(item => item.payload?.timeline.some(block => block.externalTool))) {
26
+ const timeline = segment.flatMap(({ message, payload, index }) => payload?.timeline ?? (message.content.trim()
27
+ ? [{ id: `external-text-${index}`, type: 'assistant_text', content: message.content }] : []));
28
+ const content = timeline.filter(block => block.type === 'assistant_text').map(block => block.content ?? '').join('\n\n');
29
+ transcript.push({
30
+ ...segment[0].message, content,
31
+ renderPayload: JSON.stringify({ response: content, timeline, transcriptStatus: segment.some(item => item.payload?.transcriptStatus === 'interrupted') ? 'interrupted' : 'completed' })
32
+ });
33
+ }
34
+ else {
35
+ transcript.push(...segment.map(item => item.message));
36
+ }
37
+ segment = [];
38
+ };
39
+ for (const [index, message] of history.entries()) {
40
+ if (message.role === 'user' && !message.images?.length && message.content.includes('<external_codex_apps_open_page>') && !externalAgentDisplayText(message.content).trim()) {
41
+ continue;
42
+ }
43
+ const payload = displayPayload(message);
44
+ const eligible = (message.role === 'assistant' || message.role === 'cleanSlate')
45
+ && !message.isInternalState && !message.images?.length && !message.id?.startsWith('hosted-')
46
+ && !/^Conversation handed off to /.test(message.content)
47
+ && (!message.renderPayload || !!payload && payload.timeline.length > 0 && !payload.planning_question
48
+ && !payload.to_do?.length && !payload.code_snippet && !payload.timeline.some(block => block.type === 'turn'));
49
+ if (eligible) {
50
+ segment.push({ message, payload, index });
51
+ }
52
+ else {
53
+ flush();
54
+ transcript.push(message);
55
+ }
56
+ }
57
+ flush();
58
+ return transcript;
59
+ }
60
+ /** Codex desktop navigation markers have no UI action in ACP. Hide them only
61
+ * in prose; code examples and the original provider transcript stay intact. */
62
+ export function externalAgentDisplayText(text, isStreaming = false) {
63
+ if (!text.includes(isStreaming ? '<external_' : '<external_codex_apps_')) {
64
+ return text;
65
+ }
66
+ const opening = '<external_codex_apps_open_page>';
67
+ const closing = '</external_codex_apps_open_page>';
68
+ let fence;
69
+ let inMarker = false;
70
+ const visible = [];
71
+ const lines = text.split(/(?<=\n)/);
72
+ for (const [index, line] of lines.entries()) {
73
+ const delimiter = /^ {0,3}(`{3,}|~{3,})/.exec(line)?.[1];
74
+ if (!inMarker && delimiter) {
75
+ if (!fence) {
76
+ fence = delimiter;
77
+ }
78
+ else if (delimiter[0] === fence[0] && delimiter.length >= fence.length && /^\s*$/.test(line.slice(line.indexOf(delimiter) + delimiter.length))) {
79
+ fence = undefined;
80
+ }
81
+ visible.push(line);
82
+ continue;
83
+ }
84
+ if (!inMarker && (fence || /^(?: {4}|\t)/.test(line))) {
85
+ visible.push(line);
86
+ continue;
87
+ }
88
+ if (inMarker || line.trimStart().startsWith(opening)) {
89
+ const end = line.indexOf(closing);
90
+ inMarker = end < 0;
91
+ if (end >= 0) {
92
+ visible.push(line.slice(end + closing.length));
93
+ }
94
+ continue;
95
+ }
96
+ const partial = line.trim();
97
+ if (isStreaming && index === lines.length - 1 && partial.startsWith('<external_') && opening.startsWith(partial)) {
98
+ continue;
99
+ }
100
+ visible.push(line);
101
+ }
102
+ return visible.join('');
103
+ }
104
+ //# sourceMappingURL=externalAgentPresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalAgentPresentation.js","sourceRoot":"","sources":["../../src/externalAgents/externalAgentPresentation.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,37 @@ export interface IExternalAgentUsage {
18
18
  export interface IExternalAgentConfig {
19
19
  readonly transport: 'acp';
20
20
  readonly agentId: string;
21
+ /** User-selected local account directory, retained when resuming imported history. */
22
+ readonly dataHome?: string;
23
+ }
24
+ export type ExternalAgentHistorySource = 'claude' | 'codex';
25
+ export interface IExternalAgentHistoryQuery {
26
+ readonly source?: ExternalAgentHistorySource;
27
+ readonly dataHome?: string;
28
+ /** Restrict results to this local project and its descendant directories. */
29
+ readonly projectRoot?: string;
30
+ /** Also scan the standard home when a different account is configured. */
31
+ readonly includeDefaultHomes?: boolean;
32
+ }
33
+ export interface IExternalAgentHistoryEntry {
34
+ readonly id: string;
35
+ readonly source: ExternalAgentHistorySource;
36
+ readonly sessionId: string;
37
+ readonly dataHome: string;
38
+ readonly path: string;
39
+ readonly title: string;
40
+ readonly cwd?: string;
41
+ readonly createdAt: number;
42
+ readonly updatedAt: number;
43
+ }
44
+ export interface IExternalAgentHistoryDiscovery {
45
+ readonly sessions: readonly IExternalAgentHistoryEntry[];
46
+ readonly warnings: readonly string[];
47
+ }
48
+ export interface IExternalAgentHistoryImportResult {
49
+ readonly id: string;
50
+ readonly imported: boolean;
51
+ readonly warnings: readonly string[];
21
52
  }
22
53
  export interface IExternalAgentDescriptor {
23
54
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"externalAgentTypes.d.ts","sourceRoot":"","sources":["../../src/externalAgents/externalAgentTypes.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,cAAc,CAAC;AACrG,MAAM,MAAM,gCAAgC,GAAG,WAAW,GAAG,SAAS,CAAC;AACvE,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClH;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IACrL,QAAQ,CAAC,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,SAAS;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IACvS,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,SAAS;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IAC1J,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjI;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC1L;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAAE,GACjM;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAA;CAAE,GAClJ;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACla;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAC9K;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,8BAA8B,EAAE,CAAA;CAAE,GACtL;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAChH;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5K,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"externalAgentTypes.d.ts","sourceRoot":"","sources":["../../src/externalAgents/externalAgentTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/externalAgents/handoff.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,MAAM,CAGhI;AAED,mFAAmF;AACnF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAInG"}
1
+ {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/externalAgents/handoff.ts"],"names":[],"mappings":"AAOA,8EAA8E;AAC9E,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,MAAM,CAGhI;AAED,mFAAmF;AACnF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAInG"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) CleanSlate. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ import { getCleanSlateBrowserHostPolicy } from '../tools/cleanSlateBrowserPolicy.js';
5
6
  /** Transfer visible conversation data when entering a fresh agent session. */
6
7
  export function createExternalAgentHandoffPrompt(message, history) {
7
8
  if (!history.length) {
@@ -15,6 +16,6 @@ export function createExternalAgentHostPrompt(message, toolNames) {
15
16
  if (!browserTools.includes('browser_open')) {
16
17
  return message;
17
18
  }
18
- return `You are assisting inside CleanSlate. The connected cleanslate-ide MCP server provides the browser for this chat. For browser requests, use its browser_open and other advertised browser tools by default; they open and control the user's visible CleanSlate browser. Do not substitute your own browser environment, an OS shell open command, or a separate browser application unless the user explicitly requests that destination. Use the same CleanSlate browser tools for navigation, inspection, screenshots, and interaction. If a required capability is unavailable or fails, report it rather than silently switching browsers. Respect the user's explicit browser choice and all tool permissions.\nAvailable CleanSlate browser tools: ${browserTools.join(', ')}.\n\n${message}`;
19
+ return `You are assisting inside CleanSlate. The connected cleanslate-ide MCP server provides the browser for this chat. ${getCleanSlateBrowserHostPolicy()} Use the same CleanSlate browser tools for navigation, inspection, screenshots, and interaction. Respect the user's explicit browser choice and all tool permissions.\nAvailable CleanSlate browser tools: ${browserTools.join(', ')}.\n\n${message}`;
19
20
  }
20
21
  //# sourceMappingURL=handoff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/externalAgents/handoff.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,8EAA8E;AAC9E,MAAM,UAAU,gCAAgC,CAAC,OAAe,EAAE,OAAsD;IACvH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;IACxC,OAAO,+MAA+M,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sDAAsD,OAAO,EAAE,CAAC;AAC9S,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,6BAA6B,CAAC,OAAe,EAAE,SAA4B;IAC1F,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;IAC/D,OAAO,4tBAA4tB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC;AAC7wB,CAAC"}
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/externalAgents/handoff.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,8EAA8E;AAC9E,MAAM,UAAU,gCAAgC,CAAC,OAAe,EAAE,OAAsD;IACvH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;IACxC,OAAO,+MAA+M,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sDAAsD,OAAO,EAAE,CAAC;AAC9S,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,6BAA6B,CAAC,OAAe,EAAE,SAA4B;IAC1F,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;IAC/D,OAAO,oHAAoH,8BAA8B,EAAE,8MAA8M,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC;AACnZ,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './externalAgentTypes.js';
2
2
  export { createExternalAgentHandoffPrompt } from './handoff.js';
3
+ export { coalesceExternalAgentTranscript, externalAgentDisplayText } from './externalAgentPresentation.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/externalAgents/index.ts"],"names":[],"mappings":"AAKA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/externalAgents/index.ts"],"names":[],"mappings":"AAKA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -4,4 +4,5 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  export * from './externalAgentTypes.js';
6
6
  export { createExternalAgentHandoffPrompt } from './handoff.js';
7
+ export { coalesceExternalAgentTranscript, externalAgentDisplayText } from './externalAgentPresentation.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/externalAgents/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/externalAgents/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -32,10 +32,13 @@ export type { CleanSlateConversationKind, ICleanSlateConversationBranch } from '
32
32
  export { CleanSlateExecutionQueryEngine } from './agent/cleanSlateExecutionQuery.js';
33
33
  export { CLEANSLATE_CODING_PROFILE, CLEANSLATE_GENERAL_PROFILE } from './agent/cleanSlateDomainProfile.js';
34
34
  export type { ICleanSlateDomainProfile } from './agent/cleanSlateDomainProfile.js';
35
+ export { CLEANSLATE_AGENT_EXTENSION_API_VERSION, CleanSlateAgentExtensionHost } from './agent/cleanSlateAgentExtensions.js';
36
+ export type { CleanSlateAgentExtensionPermission, CleanSlateAgentRunEntryPoint, ICleanSlateAgentExtensionHostOptions, ICleanSlateAgentExtensionRun, ICleanSlateAgentExtensionRunOutcome, ICleanSlateAgentExtensionV1 } from './agent/cleanSlateAgentExtensions.js';
35
37
  export { CleanSlateEditService } from './services/cleanSlateEditService.js';
36
38
  export { CleanSlateDiffService } from './services/cleanSlateDiffService.js';
37
39
  export type { AIProvider, ICleanSlateManagedAccount, ICleanSlateManagedEntitlements, ICleanSlateManagedModel } from './protocol/cleanSlateAI.js';
38
40
  export { CleanSlateCodeParser } from './protocol/cleanSlateCodeParser.js';
41
+ export { CleanSlateTranscriptIntegrityError } from './protocol/cleanSlateTranscriptIntegrity.js';
39
42
  export type { ICleanSlateCodeChunk } from './protocol/cleanSlateCodeParser.js';
40
43
  export { URI } from './core/uri.js';
41
44
  export { Range } from './core/range.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,9 +13,11 @@ export { CleanSlateAgentCoordinator, formatCleanSlateChildAgentNotification } fr
13
13
  export { CleanSlateConversationBranchService } from './services/cleanSlateConversationBranchService.js';
14
14
  export { CleanSlateExecutionQueryEngine } from './agent/cleanSlateExecutionQuery.js';
15
15
  export { CLEANSLATE_CODING_PROFILE, CLEANSLATE_GENERAL_PROFILE } from './agent/cleanSlateDomainProfile.js';
16
+ export { CLEANSLATE_AGENT_EXTENSION_API_VERSION, CleanSlateAgentExtensionHost } from './agent/cleanSlateAgentExtensions.js';
16
17
  export { CleanSlateEditService } from './services/cleanSlateEditService.js';
17
18
  export { CleanSlateDiffService } from './services/cleanSlateDiffService.js';
18
19
  export { CleanSlateCodeParser } from './protocol/cleanSlateCodeParser.js';
20
+ export { CleanSlateTranscriptIntegrityError } from './protocol/cleanSlateTranscriptIntegrity.js';
19
21
  //#endregion
20
22
  //#region primitives the host contracts are expressed in
21
23
  export { URI } from './core/uri.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAyBhG,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EACN,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA2B/C,YAAY;AAEZ,qBAAqB;AAErB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,0BAA0B,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAY9H,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AAMxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAQ5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,YAAY;AAEZ,wDAAwD;AAExD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGhF,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAyBhG,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EACN,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA2B/C,YAAY;AAEZ,qBAAqB;AAErB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,0BAA0B,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAY9H,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AAMxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,sCAAsC,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAS5H,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAQ5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAGjG,YAAY;AAEZ,wDAAwD;AAExD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGhF,YAAY"}
@@ -1,3 +1,4 @@
1
+ import { type ICleanSlateAgentExtensionHostOptions, type ICleanSlateAgentExtensionV1 } from '../agent/cleanSlateAgentExtensions.js';
1
2
  import { CleanSlateStreamPart } from '../agent/cleanSlateAgentTypes.js';
2
3
  import { AIProvider, CleanSlateEmbeddingProvider, ICleanSlateConfiguration, ICleanSlateAgentRuntimeSnapshot, ICleanSlateLogger, ICleanSlateMainService, ICleanSlateManagedEntitlements, ICleanSlatePendingAgentInteraction, IChatMessagePart } from '../protocol/cleanSlateAI.js';
3
4
  import { CleanSlateManagedTokenCoordinator } from '../protocol/cleanSlateManagedTokenCoordinator.js';
@@ -52,6 +53,9 @@ export interface ICleanSlateNodeAgentRuntimeOptions {
52
53
  sessionId?: string;
53
54
  /** Deterministic host context such as project instructions and @mentioned files. */
54
55
  additionalContext?: string | ((task: string) => string | Promise<string>);
56
+ /** Trusted in-process extensions. Each requested capability also requires an explicit host grant. */
57
+ extensions?: readonly ICleanSlateAgentExtensionV1[];
58
+ extensionHostOptions?: ICleanSlateAgentExtensionHostOptions;
55
59
  /** Host-owned permission policy evaluated before every native tool. */
56
60
  approveTool?: (request: {
57
61
  toolName: string;
@@ -101,6 +105,8 @@ export declare class CleanSlateNodeAgentRuntime {
101
105
  private readonly agentCoordinator;
102
106
  private readonly sideChats;
103
107
  private readonly sessionId;
108
+ private readonly extensionHost;
109
+ private activeExtensionRun;
104
110
  private readonly contextService;
105
111
  constructor(options: ICleanSlateNodeAgentRuntimeOptions);
106
112
  run(task: string, signal?: AbortSignal): AsyncIterable<CleanSlateStreamPart>;
@@ -108,7 +114,9 @@ export declare class CleanSlateNodeAgentRuntime {
108
114
  plan(task: string, signal?: AbortSignal): AsyncIterable<CleanSlateStreamPart>;
109
115
  private runInPhase;
110
116
  resumePendingQuestion(answer: string, signal?: AbortSignal): AsyncIterable<CleanSlateStreamPart>;
117
+ private resumePendingQuestionCore;
111
118
  approvePlan(signal?: AbortSignal): AsyncIterable<CleanSlateStreamPart>;
119
+ private approvePlanCore;
112
120
  getPendingQuestion(): ICleanSlatePendingAgentInteraction | undefined;
113
121
  rejectPlan(): void;
114
122
  getSessionSnapshot(): ICleanSlateNodeAgentSessionSnapshot;
@@ -125,6 +133,7 @@ export declare class CleanSlateNodeAgentRuntime {
125
133
  closeSideChat(id: string): boolean;
126
134
  getModels(): Promise<string[]>;
127
135
  getManagedEntitlements(): Promise<ICleanSlateManagedEntitlements>;
136
+ private runWithExtensions;
128
137
  private runMessages;
129
138
  getAvailableToolCount(): number;
130
139
  getResult(): import("./cleanSlateHeadlessRunner.js").ICleanSlateHeadlessRunResult;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanSlateNodeAgentRuntime.d.ts","sourceRoot":"","sources":["../../src/node/cleanSlateNodeAgentRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanSlateNodeAgentRuntime.d.ts","sourceRoot":"","sources":["../../src/node/cleanSlateNodeAgentRuntime.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
+ import { randomUUID } from 'crypto';
7
8
  import { CleanSlateAgentExecutionSupport } from '../agent/cleanSlateAgentExecutionSupport.js';
8
9
  import { CleanSlateAgentParsingSupport } from '../agent/cleanSlateAgentParsing.js';
9
10
  import { CleanSlateAgentSession } from '../agent/cleanSlateAgentSession.js';
11
+ import { CleanSlateAgentExtensionHost } from '../agent/cleanSlateAgentExtensions.js';
10
12
  import { CleanSlateExecutionBudget } from '../agent/cleanSlateExecutionBudget.js';
11
13
  import { AgentPhase, parseSlashCommand } from '../agent/cleanSlatePrompts.js';
12
14
  import { CleanSlateQueryRunner } from '../agent/cleanSlateQueryRunner.js';
@@ -162,6 +164,9 @@ export class CleanSlateNodeAgentRuntime {
162
164
  };
163
165
  this.rootPath = path.resolve(options.rootPath);
164
166
  this.sessionId = options.sessionId?.trim() || `cli-${process.pid}-${Date.now()}`;
167
+ this.extensionHost = options.extensions?.length
168
+ ? new CleanSlateAgentExtensionHost(options.extensions, options.extensionHostOptions ?? { grantedPermissions: {} })
169
+ : undefined;
165
170
  this.mainService = options.mainService ?? new NodeCleanSlateMainService(this.rootPath);
166
171
  this.configService = new NodeConfigurationService(options.configuration, this.mainService, options.onManagedTokenRefresh, options.managedSessionExpiredMessage, options.fetcher, options.managedTokenCoordinator);
167
172
  this.managedTokenCoordinator = this.configService.managedTokenCoordinator;
@@ -228,7 +233,7 @@ export class CleanSlateNodeAgentRuntime {
228
233
  });
229
234
  }
230
235
  async *run(task, signal) {
231
- yield* this.runInPhase(task, AgentPhase.EXECUTION, signal);
236
+ yield* this.runWithExtensions('run', task, signal, () => this.runInPhase(task, AgentPhase.EXECUTION, signal));
232
237
  }
233
238
  async configureRun(configuration, agentDefinition) {
234
239
  this.options.agentDefinition = agentDefinition;
@@ -236,7 +241,7 @@ export class CleanSlateNodeAgentRuntime {
236
241
  this.options.configuration = this.configService.getConfiguration();
237
242
  }
238
243
  async *plan(task, signal) {
239
- yield* this.runInPhase(task, AgentPhase.PLANNING, signal);
244
+ yield* this.runWithExtensions('plan', task, signal, () => this.runInPhase(task, AgentPhase.PLANNING, signal));
240
245
  }
241
246
  async *runInPhase(task, phase, signal) {
242
247
  const objective = task.trim();
@@ -263,11 +268,14 @@ export class CleanSlateNodeAgentRuntime {
263
268
  yield* this.runMessages(messages, objective, phase, signal);
264
269
  }
265
270
  async *resumePendingQuestion(answer, signal) {
271
+ const objective = this.agentSession.getSnapshot()?.objective?.trim() || 'Continue the current task.';
272
+ yield* this.runWithExtensions('resumePendingQuestion', objective, signal, () => this.resumePendingQuestionCore(answer, objective, signal));
273
+ }
274
+ async *resumePendingQuestionCore(answer, objective, signal) {
266
275
  const pending = this.agentSession.resumePendingQuestion(answer);
267
276
  if (!pending) {
268
277
  throw new Error('There is no pending agent question to resume.');
269
278
  }
270
- const objective = pending.objective?.trim() || 'Continue the current task.';
271
279
  this.threadService.addMessage('user', answer);
272
280
  this.taskSessionService.resumeCurrentTask();
273
281
  const phase = pending.phase === AgentPhase.PLANNING ? AgentPhase.PLANNING : AgentPhase.EXECUTION;
@@ -275,11 +283,13 @@ export class CleanSlateNodeAgentRuntime {
275
283
  yield* this.runMessages(this.agentSession.getMutableMessages(), objective, phase, signal);
276
284
  }
277
285
  async *approvePlan(signal) {
286
+ const objective = this.agentSession.getSnapshot()?.objective?.trim() || 'Continue the current task.';
287
+ yield* this.runWithExtensions('approvePlan', objective, signal, () => this.approvePlanCore(objective, signal));
288
+ }
289
+ async *approvePlanCore(objective, signal) {
278
290
  if (!this.taskSessionService.isAwaitingApproval()) {
279
291
  throw new Error('There is no pending plan to approve.');
280
292
  }
281
- const snapshot = this.agentSession.getSnapshot();
282
- const objective = snapshot?.objective?.trim() || 'Continue the current task.';
283
293
  this.taskSessionService.approvePlan();
284
294
  const approvalMessages = this.agentSession.continueWithLatestUserMessage([
285
295
  {
@@ -373,6 +383,36 @@ export class CleanSlateNodeAgentRuntime {
373
383
  getManagedEntitlements() {
374
384
  return this.configService.getManagedEntitlements();
375
385
  }
386
+ async *runWithExtensions(entryPoint, task, signal, streamFactory) {
387
+ const run = {
388
+ sessionId: this.sessionId,
389
+ runId: randomUUID(),
390
+ entryPoint,
391
+ task,
392
+ startedAt: Date.now()
393
+ };
394
+ this.activeExtensionRun = run;
395
+ let error;
396
+ await this.extensionHost?.start(run);
397
+ try {
398
+ for await (const part of streamFactory()) {
399
+ await this.extensionHost?.stream(run, part);
400
+ yield part;
401
+ }
402
+ }
403
+ catch (caught) {
404
+ error = caught;
405
+ throw caught;
406
+ }
407
+ finally {
408
+ this.activeExtensionRun = undefined;
409
+ await this.extensionHost?.end(run, {
410
+ status: signal?.aborted ? 'cancelled' : error ? 'failed' : 'completed',
411
+ endedAt: Date.now(),
412
+ error: error instanceof Error ? error.message : error === undefined ? undefined : String(error)
413
+ });
414
+ }
415
+ }
376
416
  async *runMessages(messages, objective, phase, signal) {
377
417
  const parsingSupport = new CleanSlateAgentParsingSupport(this.configService);
378
418
  const budget = new CleanSlateExecutionBudget(parsingSupport.getExecutionLoopSettings().maxTurns);
@@ -468,10 +508,14 @@ export class CleanSlateNodeAgentRuntime {
468
508
  const additional = typeof this.options.additionalContext === 'function'
469
509
  ? await this.options.additionalContext(task)
470
510
  : this.options.additionalContext;
511
+ const extensionContext = this.activeExtensionRun
512
+ ? await this.extensionHost?.provideContext(this.activeExtensionRun)
513
+ : '';
471
514
  return [
472
515
  `Workspace root: ${this.rootPath}`,
473
516
  instructions?.trim() ? `Agent instructions:\n${instructions.trim()}` : '',
474
- additional?.trim()
517
+ additional?.trim(),
518
+ extensionContext?.trim()
475
519
  ].filter(Boolean).join('\n\n');
476
520
  }
477
521
  workspaceIsEmpty() {