@cleanslate/sdk 0.1.0 → 1.0.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/README.md +11 -3
- package/VENDOR.md +15 -4
- package/dist/agent/cleanSlateAgentSession.d.ts +5 -0
- package/dist/agent/cleanSlateAgentSession.d.ts.map +1 -1
- package/dist/agent/cleanSlateAgentSession.js +5 -0
- package/dist/agent/cleanSlateAgentSession.js.map +1 -1
- package/dist/agent/cleanSlateExecutionQuery.d.ts.map +1 -1
- package/dist/agent/cleanSlateExecutionQuery.js +2 -1
- package/dist/agent/cleanSlateExecutionQuery.js.map +1 -1
- package/dist/agent/cleanSlateProviderMessageOrder.d.ts +24 -0
- package/dist/agent/cleanSlateProviderMessageOrder.d.ts.map +1 -0
- package/dist/agent/cleanSlateProviderMessageOrder.js +37 -0
- package/dist/agent/cleanSlateProviderMessageOrder.js.map +1 -0
- package/dist/agent/cleanSlateStreamReveal.d.ts +46 -0
- package/dist/agent/cleanSlateStreamReveal.d.ts.map +1 -0
- package/dist/agent/cleanSlateStreamReveal.js +94 -0
- package/dist/agent/cleanSlateStreamReveal.js.map +1 -0
- package/dist/composer/instructions/baseInstructions.d.ts +1 -1
- package/dist/composer/instructions/baseInstructions.d.ts.map +1 -1
- package/dist/composer/instructions/baseInstructions.js +1 -1
- package/dist/composer/kernel/coreKernel.d.ts +1 -1
- package/dist/composer/kernel/coreKernel.d.ts.map +1 -1
- package/dist/composer/kernel/coreKernel.js +1 -1
- package/dist/core/buffer.d.ts +19 -15
- package/dist/core/buffer.d.ts.map +1 -1
- package/dist/core/buffer.js +129 -12
- package/dist/core/buffer.js.map +1 -1
- package/dist/core/path.d.ts +40 -0
- package/dist/core/path.d.ts.map +1 -0
- package/dist/core/path.js +1461 -0
- package/dist/core/path.js.map +1 -0
- package/dist/core/platform.d.ts.map +1 -1
- package/dist/core/platform.js +20 -9
- package/dist/core/platform.js.map +1 -1
- package/dist/core/process.d.ts +13 -0
- package/dist/core/process.d.ts.map +1 -0
- package/dist/core/process.js +25 -0
- package/dist/core/process.js.map +1 -0
- package/dist/core/resources.js +3 -3
- package/dist/core/uri.js +1 -1
- package/dist/host/browserAutomation.d.ts +3 -3
- package/dist/host/browserAutomation.d.ts.map +1 -1
- package/dist/host/events.d.ts +21 -0
- package/dist/host/events.d.ts.map +1 -0
- package/dist/host/events.js +6 -0
- package/dist/host/events.js.map +1 -0
- package/dist/host/files.d.ts +11 -2
- package/dist/host/files.d.ts.map +1 -1
- package/dist/host/services.d.ts +4 -4
- package/dist/host/services.d.ts.map +1 -1
- package/dist/host/textModel.d.ts +9 -3
- package/dist/host/textModel.d.ts.map +1 -1
- package/dist/host/workspace.d.ts +18 -5
- package/dist/host/workspace.d.ts.map +1 -1
- package/dist/host/workspace.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/node/cleanSlateHeadlessRunner.d.ts +8 -0
- package/dist/node/cleanSlateHeadlessRunner.d.ts.map +1 -1
- package/dist/node/cleanSlateHeadlessRunner.js +1 -1
- package/dist/node/cleanSlateHeadlessRunner.js.map +1 -1
- package/dist/node/cleanSlateMemoryVectorStore.d.ts +19 -0
- package/dist/node/cleanSlateMemoryVectorStore.d.ts.map +1 -0
- package/dist/node/cleanSlateMemoryVectorStore.js +73 -0
- package/dist/node/cleanSlateMemoryVectorStore.js.map +1 -0
- package/dist/node/cleanSlateNodeAgentRuntime.d.ts +8 -1
- package/dist/node/cleanSlateNodeAgentRuntime.d.ts.map +1 -1
- package/dist/node/cleanSlateNodeAgentRuntime.js +41 -2
- package/dist/node/cleanSlateNodeAgentRuntime.js.map +1 -1
- package/dist/node/cleanSlateNodeHttpTransport.d.ts +33 -0
- package/dist/node/cleanSlateNodeHttpTransport.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeHttpTransport.js +181 -0
- package/dist/node/cleanSlateNodeHttpTransport.js.map +1 -0
- package/dist/node/cleanSlateNodeIndexService.d.ts +88 -10
- package/dist/node/cleanSlateNodeIndexService.d.ts.map +1 -1
- package/dist/node/cleanSlateNodeIndexService.js +447 -93
- package/dist/node/cleanSlateNodeIndexService.js.map +1 -1
- package/dist/node/cleanSlateNodeMainService.d.ts +18 -10
- package/dist/node/cleanSlateNodeMainService.d.ts.map +1 -1
- package/dist/node/cleanSlateNodeMainService.js +169 -121
- package/dist/node/cleanSlateNodeMainService.js.map +1 -1
- package/dist/node/cleanSlateNodeSearchService.d.ts +7 -1
- package/dist/node/cleanSlateNodeSearchService.d.ts.map +1 -1
- package/dist/node/cleanSlateNodeSearchService.js +11 -11
- package/dist/node/cleanSlateNodeSearchService.js.map +1 -1
- package/dist/node/cleanSlateNodeToolContext.d.ts +2 -0
- package/dist/node/cleanSlateNodeToolContext.d.ts.map +1 -1
- package/dist/node/cleanSlateNodeToolContext.js +20 -1
- package/dist/node/cleanSlateNodeToolContext.js.map +1 -1
- package/dist/node/cleanSlateNodeWebRetrieval.d.ts +3 -0
- package/dist/node/cleanSlateNodeWebRetrieval.d.ts.map +1 -1
- package/dist/node/cleanSlateNodeWebRetrieval.js +6 -1
- package/dist/node/cleanSlateNodeWebRetrieval.js.map +1 -1
- package/dist/node/cleanSlateOpenAIMessageAdapter.d.ts.map +1 -1
- package/dist/node/cleanSlateOpenAIMessageAdapter.js +4 -0
- package/dist/node/cleanSlateOpenAIMessageAdapter.js.map +1 -1
- package/dist/node/index.d.ts +4 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +2 -0
- package/dist/node/index.js.map +1 -1
- package/dist/protocol/cleanSlateAI.d.ts +13 -13
- package/dist/protocol/cleanSlateAI.d.ts.map +1 -1
- package/dist/protocol/cleanSlateCodeParser.d.ts +13 -0
- package/dist/protocol/cleanSlateCodeParser.d.ts.map +1 -0
- package/dist/protocol/cleanSlateCodeParser.js +102 -0
- package/dist/protocol/cleanSlateCodeParser.js.map +1 -0
- package/dist/protocol/cleanSlateModelsDevCatalog.d.ts +27 -0
- package/dist/protocol/cleanSlateModelsDevCatalog.d.ts.map +1 -0
- package/dist/protocol/cleanSlateModelsDevCatalog.js +87 -0
- package/dist/protocol/cleanSlateModelsDevCatalog.js.map +1 -0
- package/dist/protocol/cleanSlateProviderTranscript.d.ts +25 -0
- package/dist/protocol/cleanSlateProviderTranscript.d.ts.map +1 -0
- package/dist/protocol/cleanSlateProviderTranscript.js +125 -0
- package/dist/protocol/cleanSlateProviderTranscript.js.map +1 -0
- package/dist/protocol/cleanSlateRuntimeConfig.d.ts +33 -0
- package/dist/protocol/cleanSlateRuntimeConfig.d.ts.map +1 -0
- package/dist/protocol/cleanSlateRuntimeConfig.js +63 -0
- package/dist/protocol/cleanSlateRuntimeConfig.js.map +1 -0
- package/dist/protocol/cleanSlateService.js.map +1 -1
- package/dist/protocol/cleanSlateThreadSession.d.ts +17 -0
- package/dist/protocol/cleanSlateThreadSession.d.ts.map +1 -0
- package/dist/protocol/cleanSlateThreadSession.js +34 -0
- package/dist/protocol/cleanSlateThreadSession.js.map +1 -0
- package/dist/services/cleanSlateCommandExecutionService.d.ts +3 -3
- package/dist/services/cleanSlateCommandExecutionService.d.ts.map +1 -1
- package/dist/services/cleanSlateFileHistory.js +3 -4
- package/dist/services/cleanSlateFileHistory.js.map +1 -1
- package/dist/tools/FindByNameTool.js +2 -2
- package/dist/tools/FindByNameTool.js.map +1 -1
- package/dist/tools/FindReferencesTool.js +2 -2
- package/dist/tools/FindReferencesTool.js.map +1 -1
- package/dist/tools/GetDefinitionsTool.js +2 -2
- package/dist/tools/GetDefinitionsTool.js.map +1 -1
- package/dist/tools/GrepSearchTool.d.ts.map +1 -1
- package/dist/tools/GrepSearchTool.js +16 -10
- package/dist/tools/GrepSearchTool.js.map +1 -1
- package/dist/tools/ListDirTool.js +2 -2
- package/dist/tools/ListDirTool.js.map +1 -1
- package/dist/tools/ReadFileRangeTool.js +2 -2
- package/dist/tools/ReadFileRangeTool.js.map +1 -1
- package/dist/tools/ReadFileTool.js +2 -2
- package/dist/tools/ReadFileTool.js.map +1 -1
- package/dist/tools/ReadLintsTool.js +3 -3
- package/dist/tools/ReadLintsTool.js.map +1 -1
- package/dist/tools/ReadSymbolsTool.js +2 -2
- package/dist/tools/ReadSymbolsTool.js.map +1 -1
- package/dist/tools/SubmitArtifactTool.d.ts.map +1 -1
- package/dist/tools/SubmitArtifactTool.js +4 -6
- package/dist/tools/SubmitArtifactTool.js.map +1 -1
- package/dist/tools/utils.d.ts +19 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +64 -16
- package/dist/tools/utils.js.map +1 -1
- package/package.json +14 -2
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
/**
|
|
6
|
+
* Transcript flattening shared by the provider paths that cannot represent tool
|
|
7
|
+
* calls natively. Gemini and Bedrock both need CleanSlate's tool turns rendered
|
|
8
|
+
* back into plain text, and the exact wording is part of the wire contract with
|
|
9
|
+
* the model — a host that formats it differently gets different completions, so
|
|
10
|
+
* this lives in one place rather than in each host's main service.
|
|
11
|
+
*/
|
|
12
|
+
/** Collapses a message content payload (string or part array) to plain text. */
|
|
13
|
+
export function messageContentToText(content) {
|
|
14
|
+
if (typeof content === 'string') {
|
|
15
|
+
return content;
|
|
16
|
+
}
|
|
17
|
+
if (Array.isArray(content)) {
|
|
18
|
+
return content
|
|
19
|
+
.filter(part => part?.type === 'text')
|
|
20
|
+
.map(part => part.text ?? '')
|
|
21
|
+
.filter(text => text.length > 0)
|
|
22
|
+
.join('\n');
|
|
23
|
+
}
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
/** JSON stringify that degrades to String() rather than throwing on cycles. */
|
|
27
|
+
export function safeStringifyForTranscript(value) {
|
|
28
|
+
try {
|
|
29
|
+
return JSON.stringify(value);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return String(value);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Maps message content to Gemini parts, inlining base64 data-URL images. */
|
|
36
|
+
export function toGeminiParts(content) {
|
|
37
|
+
if (typeof content === 'string') {
|
|
38
|
+
return content.trim().length > 0 ? [{ text: content }] : [];
|
|
39
|
+
}
|
|
40
|
+
if (!Array.isArray(content)) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
return content.map(part => {
|
|
44
|
+
if (part?.type === 'text') {
|
|
45
|
+
return { text: part.text ?? '' };
|
|
46
|
+
}
|
|
47
|
+
if (part?.type === 'image_url' && part.image_url?.url) {
|
|
48
|
+
const match = String(part.image_url.url).match(/^data:(image\/[a-zA-Z0-9.\-+]+);base64,(.*)$/);
|
|
49
|
+
if (match) {
|
|
50
|
+
return {
|
|
51
|
+
inlineData: {
|
|
52
|
+
mimeType: match[1],
|
|
53
|
+
data: match[2]
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}).filter(Boolean);
|
|
60
|
+
}
|
|
61
|
+
export function toGeminiToolCallTranscriptText(toolCall, toolCallId) {
|
|
62
|
+
return [
|
|
63
|
+
`Tool call (${toolCallId}): ${toolCall.toolName || 'tool'}`,
|
|
64
|
+
`Arguments: ${safeStringifyForTranscript(toolCall.input ?? {})}`
|
|
65
|
+
].join('\n');
|
|
66
|
+
}
|
|
67
|
+
export function toGeminiToolResultTranscriptText(toolMessage) {
|
|
68
|
+
return [
|
|
69
|
+
`Tool result (${toolMessage.toolCallId || 'tool_result'}): ${toolMessage.toolName || 'tool'}`,
|
|
70
|
+
messageContentToText(toolMessage.content)
|
|
71
|
+
].filter(part => typeof part === 'string' && part.trim().length > 0).join('\n');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Rewrites a CleanSlate message list into Gemini `contents`, folding tool calls
|
|
75
|
+
* and tool results into text turns. Consecutive tool messages collapse into a
|
|
76
|
+
* single user turn so the model sees one result block per round trip.
|
|
77
|
+
*/
|
|
78
|
+
export function toGeminiContents(messages) {
|
|
79
|
+
const systemParts = [];
|
|
80
|
+
const contents = [];
|
|
81
|
+
for (let index = 0; index < messages.length; index++) {
|
|
82
|
+
const message = messages[index];
|
|
83
|
+
if (message.role === 'system') {
|
|
84
|
+
systemParts.push(...toGeminiParts(message.content));
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (message.role === 'tool') {
|
|
88
|
+
const parts = [];
|
|
89
|
+
while (index < messages.length && messages[index].role === 'tool') {
|
|
90
|
+
const toolMessage = messages[index];
|
|
91
|
+
parts.push({
|
|
92
|
+
text: toGeminiToolResultTranscriptText(toolMessage)
|
|
93
|
+
});
|
|
94
|
+
index++;
|
|
95
|
+
}
|
|
96
|
+
index--;
|
|
97
|
+
contents.push({
|
|
98
|
+
role: 'user',
|
|
99
|
+
parts
|
|
100
|
+
});
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const parts = toGeminiParts(message.content);
|
|
104
|
+
if (message.role === 'assistant' && message.toolCalls?.length) {
|
|
105
|
+
for (let toolIndex = 0; toolIndex < message.toolCalls.length; toolIndex++) {
|
|
106
|
+
const toolCall = message.toolCalls[toolIndex];
|
|
107
|
+
const toolCallId = toolCall.id || `call_${index}_${toolIndex}`;
|
|
108
|
+
parts.push({
|
|
109
|
+
text: toGeminiToolCallTranscriptText(toolCall, toolCallId)
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (parts.length) {
|
|
114
|
+
contents.push({
|
|
115
|
+
role: message.role === 'assistant' ? 'model' : 'user',
|
|
116
|
+
parts
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
contents,
|
|
122
|
+
systemInstruction: systemParts.length ? { role: 'user', parts: systemParts } : undefined
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=cleanSlateProviderTranscript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSlateProviderTranscript.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateProviderTranscript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ICleanSlateRuntimeConfig } from './cleanSlateAI.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a variable to its trimmed value, or `undefined` when unset or blank.
|
|
4
|
+
* Hosts layer their own sources behind this (process env, `.env` files, …); the
|
|
5
|
+
* lookup is the only thing they need to supply to build a runtime config.
|
|
6
|
+
*/
|
|
7
|
+
export type CleanSlateEnvLookup = (name: string) => string | undefined;
|
|
8
|
+
export declare const CLEANSLATE_DEFAULT_AUTH_WEB_URL = "https://thewariend.com/auth";
|
|
9
|
+
export declare const CLEANSLATE_DEFAULT_API_BASE_URL = "https://api.thewariend.com/api";
|
|
10
|
+
export declare const CLEANSLATE_DEFAULT_PRO_CHECKOUT_URL = "https://api.thewariend.com/checkout/cleanslate/pro";
|
|
11
|
+
/** Trims a raw env value, treating blank as unset. Does not touch the value otherwise. */
|
|
12
|
+
export declare function normalizeEnvValue(value: string | undefined): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Trims a base URL and drops trailing slashes so callers can join paths with a
|
|
15
|
+
* plain `${base}/x` without producing `//`, which strict gateways 404 on.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeBaseUrlValue(value: string | undefined): string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Resolves a CleanSlate service URL from the environment, falling back to the
|
|
20
|
+
* shipped default. Throws rather than returning a malformed URL — a bad
|
|
21
|
+
* override should fail loudly at startup instead of producing requests to a
|
|
22
|
+
* nonsense host later.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveCleanSlateUrl(name: string, fallback: string, lookup: CleanSlateEnvLookup): string;
|
|
25
|
+
/**
|
|
26
|
+
* Builds the runtime config every host serves from `getRuntimeConfig`. The
|
|
27
|
+
* managed AI base is always derived from the API base so the two can never
|
|
28
|
+
* point at different deployments.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildCleanSlateRuntimeConfig(lookup: CleanSlateEnvLookup): ICleanSlateRuntimeConfig;
|
|
31
|
+
/** The managed-provider base URL, derived from the same API base as the runtime config. */
|
|
32
|
+
export declare function resolveCleanSlateManagedBaseUrl(lookup: CleanSlateEnvLookup): string;
|
|
33
|
+
//# sourceMappingURL=cleanSlateRuntimeConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSlateRuntimeConfig.d.ts","sourceRoot":"","sources":["../../src/protocol/cleanSlateRuntimeConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEvE,eAAO,MAAM,+BAA+B,gCAAgC,CAAC;AAC7E,eAAO,MAAM,+BAA+B,mCAAmC,CAAC;AAChF,eAAO,MAAM,mCAAmC,uDAAuD,CAAC;AAExG,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM/E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOnF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAYxG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,wBAAwB,CAKlG;AAED,2FAA2F;AAC3F,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAEnF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
export const CLEANSLATE_DEFAULT_AUTH_WEB_URL = 'https://thewariend.com/auth';
|
|
6
|
+
export const CLEANSLATE_DEFAULT_API_BASE_URL = 'https://api.thewariend.com/api';
|
|
7
|
+
export const CLEANSLATE_DEFAULT_PRO_CHECKOUT_URL = 'https://api.thewariend.com/checkout/cleanslate/pro';
|
|
8
|
+
/** Trims a raw env value, treating blank as unset. Does not touch the value otherwise. */
|
|
9
|
+
export function normalizeEnvValue(value) {
|
|
10
|
+
if (typeof value !== 'string') {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const trimmed = value.trim();
|
|
14
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Trims a base URL and drops trailing slashes so callers can join paths with a
|
|
18
|
+
* plain `${base}/x` without producing `//`, which strict gateways 404 on.
|
|
19
|
+
*/
|
|
20
|
+
export function normalizeBaseUrlValue(value) {
|
|
21
|
+
const trimmed = normalizeEnvValue(value);
|
|
22
|
+
if (!trimmed) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const stripped = trimmed.replace(/\/+$/, '');
|
|
26
|
+
return stripped.length > 0 ? stripped : undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolves a CleanSlate service URL from the environment, falling back to the
|
|
30
|
+
* shipped default. Throws rather than returning a malformed URL — a bad
|
|
31
|
+
* override should fail loudly at startup instead of producing requests to a
|
|
32
|
+
* nonsense host later.
|
|
33
|
+
*/
|
|
34
|
+
export function resolveCleanSlateUrl(name, fallback, lookup) {
|
|
35
|
+
const value = normalizeBaseUrlValue(lookup(name)) ?? fallback.replace(/\/+$/, '');
|
|
36
|
+
let parsed;
|
|
37
|
+
try {
|
|
38
|
+
parsed = new URL(value);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
throw new Error(`${name} must be an absolute HTTP(S) URL.`);
|
|
42
|
+
}
|
|
43
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
44
|
+
throw new Error(`${name} must use HTTP or HTTPS.`);
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Builds the runtime config every host serves from `getRuntimeConfig`. The
|
|
50
|
+
* managed AI base is always derived from the API base so the two can never
|
|
51
|
+
* point at different deployments.
|
|
52
|
+
*/
|
|
53
|
+
export function buildCleanSlateRuntimeConfig(lookup) {
|
|
54
|
+
const authWebUrl = resolveCleanSlateUrl('CLEANSLATE_AUTH_WEB_URL', CLEANSLATE_DEFAULT_AUTH_WEB_URL, lookup);
|
|
55
|
+
const apiBaseUrl = resolveCleanSlateUrl('CLEANSLATE_API_BASE_URL', CLEANSLATE_DEFAULT_API_BASE_URL, lookup);
|
|
56
|
+
const proCheckoutUrl = resolveCleanSlateUrl('CLEANSLATE_PRO_CHECKOUT_URL', CLEANSLATE_DEFAULT_PRO_CHECKOUT_URL, lookup);
|
|
57
|
+
return { authWebUrl, apiBaseUrl, managedAIBaseUrl: `${apiBaseUrl}/cleanslate`, proCheckoutUrl };
|
|
58
|
+
}
|
|
59
|
+
/** The managed-provider base URL, derived from the same API base as the runtime config. */
|
|
60
|
+
export function resolveCleanSlateManagedBaseUrl(lookup) {
|
|
61
|
+
return `${resolveCleanSlateUrl('CLEANSLATE_API_BASE_URL', CLEANSLATE_DEFAULT_API_BASE_URL, lookup)}/cleanslate`;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=cleanSlateRuntimeConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSlateRuntimeConfig.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateRuntimeConfig.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAWhG,MAAM,CAAC,MAAM,+BAA+B,GAAG,6BAA6B,CAAC;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,gCAAgC,CAAC;AAChF,MAAM,CAAC,MAAM,mCAAmC,GAAG,oDAAoD,CAAC;AAExG,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgB,EAAE,MAA2B;IAC/F,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClF,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAA2B;IACvE,MAAM,UAAU,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,oBAAoB,CAAC,6BAA6B,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;IACxH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,UAAU,aAAa,EAAE,cAAc,EAAE,CAAC;AACjG,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,+BAA+B,CAAC,MAA2B;IAC1E,OAAO,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,CAAC,aAAa,CAAC;AACjH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanSlateService.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cleanSlateService.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ICleanSlatePersistedSession } from './cleanSlateAI.js';
|
|
2
|
+
/**
|
|
3
|
+
* The bucket an archived session belongs to. Identity is the workspace the
|
|
4
|
+
* session ran in, but sessions arrive from hosts that populate different
|
|
5
|
+
* fields — the editor knows a project root, a headless run may only know a work
|
|
6
|
+
* dir. Every writer must agree on this order or the same session lands under
|
|
7
|
+
* two keys and the archive lists it twice.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveArchivedSessionWorkspaceId(session: ICleanSlatePersistedSession): string;
|
|
10
|
+
/**
|
|
11
|
+
* Rewrites a session for archival after it was published by whichever host owns
|
|
12
|
+
* it. A session that was still generating is recorded as `detached` rather than
|
|
13
|
+
* `running`: the run does not survive the publish, and a persisted `running`
|
|
14
|
+
* status would show as a live agent that nothing is driving.
|
|
15
|
+
*/
|
|
16
|
+
export declare function toArchivedSessionSnapshot(session: ICleanSlatePersistedSession): ICleanSlatePersistedSession;
|
|
17
|
+
//# sourceMappingURL=cleanSlateThreadSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSlateThreadSession.d.ts","sourceRoot":"","sources":["../../src/protocol/cleanSlateThreadSession.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAM9F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,2BAA2B,GAAG,2BAA2B,CAQ3G"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
/**
|
|
6
|
+
* The bucket an archived session belongs to. Identity is the workspace the
|
|
7
|
+
* session ran in, but sessions arrive from hosts that populate different
|
|
8
|
+
* fields — the editor knows a project root, a headless run may only know a work
|
|
9
|
+
* dir. Every writer must agree on this order or the same session lands under
|
|
10
|
+
* two keys and the archive lists it twice.
|
|
11
|
+
*/
|
|
12
|
+
export function resolveArchivedSessionWorkspaceId(session) {
|
|
13
|
+
return session.projectRoot?.trim()
|
|
14
|
+
|| session.workDir?.trim()
|
|
15
|
+
|| session.workspaceId?.trim()
|
|
16
|
+
|| session.workspaceName?.trim()
|
|
17
|
+
|| 'default';
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Rewrites a session for archival after it was published by whichever host owns
|
|
21
|
+
* it. A session that was still generating is recorded as `detached` rather than
|
|
22
|
+
* `running`: the run does not survive the publish, and a persisted `running`
|
|
23
|
+
* status would show as a live agent that nothing is driving.
|
|
24
|
+
*/
|
|
25
|
+
export function toArchivedSessionSnapshot(session) {
|
|
26
|
+
const wasLive = session.status === 'running' || session.isGenerating === true;
|
|
27
|
+
return {
|
|
28
|
+
...session,
|
|
29
|
+
status: wasLive ? 'detached' : session.status,
|
|
30
|
+
isGenerating: undefined,
|
|
31
|
+
updatedAt: Date.now()
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=cleanSlateThreadSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSlateThreadSession.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateThreadSession.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAAC,OAAoC;IACrF,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;WAC9B,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;WACvB,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;WAC3B,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE;WAC7B,SAAS,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAoC;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9E,OAAO;QACN,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC7C,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Disposable } from '../core/lifecycle.js';
|
|
2
2
|
import { CancellationToken } from '../core/cancellation.js';
|
|
3
|
-
import {
|
|
3
|
+
import { Subscribable } from '../host/events.js';
|
|
4
4
|
import { ICleanSlateBackgroundCommandOptions, ICleanSlateBackgroundCommandResult, ICleanSlateCommandExecutionOptions, ICleanSlateCommandExecutionResult, ICleanSlateCommandOutputEvent, ICleanSlateMainService, ICleanSlateStopBackgroundCommandResult } from '../protocol/cleanSlateAI.js';
|
|
5
5
|
export interface ICleanSlateCommandExecutionService {
|
|
6
6
|
_serviceBrand: undefined;
|
|
7
7
|
executeCommand(options: ICleanSlateCommandExecutionOptions): Promise<ICleanSlateCommandExecutionResult>;
|
|
8
|
-
executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken):
|
|
8
|
+
executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken): Subscribable<ICleanSlateCommandOutputEvent | null>;
|
|
9
9
|
startBackgroundCommand(options: ICleanSlateBackgroundCommandOptions): Promise<ICleanSlateBackgroundCommandResult>;
|
|
10
10
|
stopBackgroundCommand(processId: string): Promise<ICleanSlateStopBackgroundCommandResult>;
|
|
11
11
|
getBackgroundCommand(processId: string): Promise<ICleanSlateBackgroundCommandResult>;
|
|
@@ -16,7 +16,7 @@ export declare class CleanSlateCommandExecutionService extends Disposable implem
|
|
|
16
16
|
readonly _serviceBrand: undefined;
|
|
17
17
|
constructor(mainService: ICleanSlateMainService);
|
|
18
18
|
executeCommand(options: ICleanSlateCommandExecutionOptions): Promise<ICleanSlateCommandExecutionResult>;
|
|
19
|
-
executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken):
|
|
19
|
+
executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken): Subscribable<ICleanSlateCommandOutputEvent | null>;
|
|
20
20
|
startBackgroundCommand(options: ICleanSlateBackgroundCommandOptions): Promise<ICleanSlateBackgroundCommandResult>;
|
|
21
21
|
stopBackgroundCommand(processId: string): Promise<ICleanSlateStopBackgroundCommandResult>;
|
|
22
22
|
getBackgroundCommand(processId: string): Promise<ICleanSlateBackgroundCommandResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanSlateCommandExecutionService.d.ts","sourceRoot":"","sources":["../../src/services/cleanSlateCommandExecutionService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cleanSlateCommandExecutionService.d.ts","sourceRoot":"","sources":["../../src/services/cleanSlateCommandExecutionService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACN,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,EACtB,sCAAsC,EACtC,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,kCAAkC;IAClD,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACxG,oBAAoB,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;IACjJ,sBAAsB,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAClH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAC1F,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACrF,sBAAsB,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC;CACxE;AAED,qBAAa,iCAAkC,SAAQ,UAAW,YAAW,kCAAkC;IAI7G,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH7B,SAAiB,aAAa,EAAE,SAAS,CAAC;gBAGxB,WAAW,EAAE,sBAAsB;IAKrD,cAAc,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAIvG,oBAAoB,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,GAAE,iBAA0C,GAAG,YAAY,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAIxK,sBAAsB,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIjH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAIzF,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIpF,sBAAsB,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC;CAGvE"}
|
|
@@ -2,7 +2,6 @@
|
|
|
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 { VSBuffer } from '../core/buffer.js';
|
|
6
5
|
import { basename, joinPath, relativePath } from '../core/resources.js';
|
|
7
6
|
import { URI } from '../core/uri.js';
|
|
8
7
|
import { FileOperationResult, toFileOperationResult } from '../host/files.js';
|
|
@@ -30,7 +29,7 @@ export class CleanSlateFileHistory {
|
|
|
30
29
|
const entryId = this.createEntryId(request.resource);
|
|
31
30
|
const backupRelativePath = `${this.entriesFolder}/${entryId}.txt`;
|
|
32
31
|
const backupResource = joinPath(request.storageRoot ?? request.workspaceRoot, backupRelativePath);
|
|
33
|
-
await request.fileService.writeFile(backupResource,
|
|
32
|
+
await request.fileService.writeFile(backupResource, content);
|
|
34
33
|
const entry = {
|
|
35
34
|
id: entryId,
|
|
36
35
|
createdAt: new Date().toISOString(),
|
|
@@ -90,7 +89,7 @@ export class CleanSlateFileHistory {
|
|
|
90
89
|
return;
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
|
-
await fileService.writeFile(resource,
|
|
92
|
+
await fileService.writeFile(resource, content);
|
|
94
93
|
}
|
|
95
94
|
static findRewindEntry(manifest, workspaceRoot, resource, historyEntryId) {
|
|
96
95
|
if (historyEntryId) {
|
|
@@ -132,7 +131,7 @@ export class CleanSlateFileHistory {
|
|
|
132
131
|
}
|
|
133
132
|
static async writeManifest(fileService, workspaceRoot, manifest) {
|
|
134
133
|
const manifestResource = joinPath(workspaceRoot, this.manifestFile);
|
|
135
|
-
await fileService.writeFile(manifestResource,
|
|
134
|
+
await fileService.writeFile(manifestResource, JSON.stringify(manifest, null, 2));
|
|
136
135
|
}
|
|
137
136
|
static isEntry(value) {
|
|
138
137
|
const entry = value;
|