@cleanslate/sdk 1.0.10 → 1.0.12

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 (53) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/cleanSlateAgentSession.d.ts +1 -0
  3. package/dist/agent/cleanSlateAgentSession.d.ts.map +1 -1
  4. package/dist/agent/cleanSlateAgentSession.js +17 -3
  5. package/dist/agent/cleanSlateAgentSession.js.map +1 -1
  6. package/dist/agent/cleanSlateExecutionQuery.d.ts.map +1 -1
  7. package/dist/agent/cleanSlateExecutionQuery.js +6 -3
  8. package/dist/agent/cleanSlateExecutionQuery.js.map +1 -1
  9. package/dist/externalAgents/handoff.d.ts.map +1 -1
  10. package/dist/externalAgents/handoff.js +2 -1
  11. package/dist/externalAgents/handoff.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/node/cleanSlateNodeMainService.d.ts.map +1 -1
  17. package/dist/node/cleanSlateNodeMainService.js +18 -0
  18. package/dist/node/cleanSlateNodeMainService.js.map +1 -1
  19. package/dist/node/externalAgents/externalAgentRegistry.js +3 -3
  20. package/dist/node/externalAgents/externalAgentRegistry.js.map +1 -1
  21. package/dist/node/externalAgents/externalAgentService.d.ts +2 -2
  22. package/dist/node/externalAgents/externalAgentService.d.ts.map +1 -1
  23. package/dist/node/externalAgents/externalAgentService.js +7 -7
  24. package/dist/node/externalAgents/externalAgentService.js.map +1 -1
  25. package/dist/node/externalAgents/externalAgentVersion.d.ts +1 -1
  26. package/dist/node/externalAgents/externalAgentVersion.d.ts.map +1 -1
  27. package/dist/node/externalAgents/externalAgentVersion.js +1 -6
  28. package/dist/node/externalAgents/externalAgentVersion.js.map +1 -1
  29. package/dist/node/externalAgents/generatedSdkVersion.d.ts +2 -0
  30. package/dist/node/externalAgents/generatedSdkVersion.d.ts.map +1 -0
  31. package/dist/node/externalAgents/generatedSdkVersion.js +3 -0
  32. package/dist/node/externalAgents/generatedSdkVersion.js.map +1 -0
  33. package/dist/node/externalAgents/hostToolsBridge.d.ts.map +1 -1
  34. package/dist/node/externalAgents/hostToolsBridge.js +2 -1
  35. package/dist/node/externalAgents/hostToolsBridge.js.map +1 -1
  36. package/dist/node/externalAgents/transports/acp/acpEventMapper.d.ts.map +1 -1
  37. package/dist/node/externalAgents/transports/acp/acpEventMapper.js +169 -2
  38. package/dist/node/externalAgents/transports/acp/acpEventMapper.js.map +1 -1
  39. package/dist/protocol/cleanSlateService.d.ts.map +1 -1
  40. package/dist/protocol/cleanSlateService.js +15 -10
  41. package/dist/protocol/cleanSlateService.js.map +1 -1
  42. package/dist/protocol/cleanSlateTranscriptIntegrity.d.ts +12 -0
  43. package/dist/protocol/cleanSlateTranscriptIntegrity.d.ts.map +1 -0
  44. package/dist/protocol/cleanSlateTranscriptIntegrity.js +95 -0
  45. package/dist/protocol/cleanSlateTranscriptIntegrity.js.map +1 -0
  46. package/dist/tools/cleanSlateBrowserPolicy.d.ts +19 -0
  47. package/dist/tools/cleanSlateBrowserPolicy.d.ts.map +1 -0
  48. package/dist/tools/cleanSlateBrowserPolicy.js +40 -0
  49. package/dist/tools/cleanSlateBrowserPolicy.js.map +1 -0
  50. package/dist/tools/registry.d.ts.map +1 -1
  51. package/dist/tools/registry.js +3 -1
  52. package/dist/tools/registry.js.map +1 -1
  53. package/package.json +5 -4
@@ -0,0 +1,95 @@
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 class CleanSlateTranscriptIntegrityError extends Error {
6
+ constructor(index, reason) {
7
+ super(`[invalid_tool_history] Saved tool history is inconsistent at message ${index}: ${reason}. Recover the saved conversation or start a new one.`);
8
+ this.code = 'invalid_tool_history';
9
+ this.name = 'CleanSlateTranscriptIntegrityError';
10
+ }
11
+ }
12
+ /**
13
+ * Prepare a prompt copy without changing saved history or executing tools.
14
+ * Missing results describe an unknown outcome; missing calls and ambiguous IDs
15
+ * require recovery from authoritative history rather than invented tool calls.
16
+ */
17
+ export function prepareCleanSlateProviderMessages(messages, onMissingResult) {
18
+ const prepared = [];
19
+ const seenCallIds = new Set();
20
+ const missingResultIds = [];
21
+ for (let index = 0; index < messages.length; index++) {
22
+ const message = messages[index];
23
+ const fail = (reason) => { throw new CleanSlateTranscriptIntegrityError(index, reason); };
24
+ if (message.role === 'tool') {
25
+ fail(`tool result ${message.toolCallId ?? '(missing ID)'} has no immediately preceding call`);
26
+ }
27
+ if (message.toolCalls !== undefined && !Array.isArray(message.toolCalls)) {
28
+ fail('tool calls must be an array');
29
+ }
30
+ if (!message.toolCalls?.length) {
31
+ prepared.push(message);
32
+ continue;
33
+ }
34
+ if (message.role !== 'assistant') {
35
+ fail('only assistant messages can contain tool calls');
36
+ }
37
+ const calls = new Map();
38
+ for (const call of message.toolCalls) {
39
+ if (!call || typeof call.id !== 'string' || !call.id.trim()) {
40
+ fail('a tool call is missing its stable ID');
41
+ }
42
+ if (typeof call.toolName !== 'string' || !call.toolName.trim()) {
43
+ fail(`tool call ${call.id} is missing its name`);
44
+ }
45
+ if (seenCallIds.has(call.id)) {
46
+ fail(`duplicate tool call ID ${call.id}`);
47
+ }
48
+ seenCallIds.add(call.id);
49
+ calls.set(call.id, call);
50
+ }
51
+ const results = [];
52
+ const resultIds = new Set();
53
+ while (index + 1 < messages.length && messages[index + 1].role === 'tool') {
54
+ const result = messages[++index];
55
+ const id = result.toolCallId;
56
+ if (typeof id !== 'string' || !id.trim()) {
57
+ fail('a tool result is missing its stable ID');
58
+ }
59
+ const call = calls.get(id);
60
+ if (!call) {
61
+ fail(`tool result ${id} does not belong to the immediately preceding call group`);
62
+ }
63
+ if (resultIds.has(id)) {
64
+ fail(`duplicate tool result ID ${id}`);
65
+ }
66
+ if (result.toolName !== undefined && result.toolName !== call.toolName) {
67
+ fail(`tool result ${id} has a different tool name from its call`);
68
+ }
69
+ resultIds.add(id);
70
+ results.push(result);
71
+ }
72
+ prepared.push(message.content == null ? { ...message, content: '' } : message, ...results);
73
+ for (const [id, call] of calls) {
74
+ if (resultIds.has(id)) {
75
+ continue;
76
+ }
77
+ missingResultIds.push(id);
78
+ prepared.push({
79
+ role: 'tool',
80
+ toolCallId: id,
81
+ toolName: call.toolName,
82
+ content: JSON.stringify({
83
+ success: false,
84
+ code: 'tool_result_missing',
85
+ message: 'No result was recorded for this tool call. Its execution status is unknown. Do not assume success or repeat an external action without checking its state.'
86
+ })
87
+ });
88
+ }
89
+ }
90
+ for (const id of missingResultIds) {
91
+ onMissingResult?.(id);
92
+ }
93
+ return prepared;
94
+ }
95
+ //# sourceMappingURL=cleanSlateTranscriptIntegrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateTranscriptIntegrity.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateTranscriptIntegrity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Browser policy is defined beside the capability and adapted by each host.
3
+ * This keeps the built-in agent, external agents, and the advertised tool
4
+ * catalog aligned without making any one prompt surface the source of truth.
5
+ */
6
+ export declare const CLEANSLATE_BROWSER_POLICY: Readonly<{
7
+ activation: "Use browser_* tools only when the current user request explicitly asks to open a browser, preview a page, inspect the DOM, capture screenshots, or perform visual/browser verification.";
8
+ incidentalUiChanges: "Do not open the browser, collect browser evidence, or require browser verification only because UI files changed.";
9
+ nonBrowserVerification: "When browser verification was not explicitly requested, rely on code inspection, diagnostics, tests, and concise completion reporting instead.";
10
+ boundSurface: "When browser work is requested, use the browser tools bound to the current CleanSlate chat; they operate the user's visible CleanSlate browser.";
11
+ noSilentFallback: "Do not substitute another browser, OS shell opener, or browser-automation environment unless the user explicitly requests that destination. If a required browser capability is unavailable or fails, report it instead of silently switching.";
12
+ }>;
13
+ export declare function getCleanSlateBrowserOptInLines(): readonly string[];
14
+ export declare function getCleanSlateBrowserHostPolicy(): string;
15
+ export declare function applyCleanSlateBrowserToolPolicy<T extends {
16
+ readonly category?: string;
17
+ readonly description: string;
18
+ }>(tool: T): T;
19
+ //# sourceMappingURL=cleanSlateBrowserPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateBrowserPolicy.d.ts","sourceRoot":"","sources":["../../src/tools/cleanSlateBrowserPolicy.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAC;AAEH,wBAAgB,8BAA8B,IAAI,SAAS,MAAM,EAAE,CAMlE;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD;AAED,wBAAgB,gCAAgC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAMnI"}
@@ -0,0 +1,40 @@
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
+ * Browser policy is defined beside the capability and adapted by each host.
7
+ * This keeps the built-in agent, external agents, and the advertised tool
8
+ * catalog aligned without making any one prompt surface the source of truth.
9
+ */
10
+ export const CLEANSLATE_BROWSER_POLICY = Object.freeze({
11
+ activation: 'Use browser_* tools only when the current user request explicitly asks to open a browser, preview a page, inspect the DOM, capture screenshots, or perform visual/browser verification.',
12
+ incidentalUiChanges: 'Do not open the browser, collect browser evidence, or require browser verification only because UI files changed.',
13
+ nonBrowserVerification: 'When browser verification was not explicitly requested, rely on code inspection, diagnostics, tests, and concise completion reporting instead.',
14
+ boundSurface: 'When browser work is requested, use the browser tools bound to the current CleanSlate chat; they operate the user\'s visible CleanSlate browser.',
15
+ noSilentFallback: 'Do not substitute another browser, OS shell opener, or browser-automation environment unless the user explicitly requests that destination. If a required browser capability is unavailable or fails, report it instead of silently switching.'
16
+ });
17
+ export function getCleanSlateBrowserOptInLines() {
18
+ return [
19
+ CLEANSLATE_BROWSER_POLICY.activation,
20
+ CLEANSLATE_BROWSER_POLICY.incidentalUiChanges,
21
+ CLEANSLATE_BROWSER_POLICY.nonBrowserVerification
22
+ ];
23
+ }
24
+ export function getCleanSlateBrowserHostPolicy() {
25
+ return [
26
+ ...getCleanSlateBrowserOptInLines(),
27
+ CLEANSLATE_BROWSER_POLICY.boundSurface,
28
+ CLEANSLATE_BROWSER_POLICY.noSilentFallback
29
+ ].join(' ');
30
+ }
31
+ export function applyCleanSlateBrowserToolPolicy(tool) {
32
+ if (tool.category !== 'browser') {
33
+ return tool;
34
+ }
35
+ return {
36
+ ...tool,
37
+ description: `${tool.description} Request scope: ${CLEANSLATE_BROWSER_POLICY.activation} ${CLEANSLATE_BROWSER_POLICY.incidentalUiChanges}`
38
+ };
39
+ }
40
+ //# sourceMappingURL=cleanSlateBrowserPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateBrowserPolicy.js","sourceRoot":"","sources":["../../src/tools/cleanSlateBrowserPolicy.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,UAAU,EAAE,yLAAyL;IACrM,mBAAmB,EAAE,mHAAmH;IACxI,sBAAsB,EAAE,gJAAgJ;IACxK,YAAY,EAAE,kJAAkJ;IAChK,gBAAgB,EAAE,gPAAgP;CAClQ,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B;IAC7C,OAAO;QACN,yBAAyB,CAAC,UAAU;QACpC,yBAAyB,CAAC,mBAAmB;QAC7C,yBAAyB,CAAC,sBAAsB;KAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC7C,OAAO;QACN,GAAG,8BAA8B,EAAE;QACnC,yBAAyB,CAAC,YAAY;QACtC,yBAAyB,CAAC,gBAAgB;KAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAyE,IAAO;IAC/H,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACjD,OAAO;QACN,GAAG,IAAI;QACP,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,mBAAmB,yBAAyB,CAAC,UAAU,IAAI,yBAAyB,CAAC,mBAAmB,EAAE;KAC1I,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA2DnE,eAAO,MAAM,SAAS,EAAE,cAAc,EAgErC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAI5G"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA8HnE,eAAO,MAAM,SAAS,EAAE,cAAc,EAA0D,CAAC;AAEjG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAI5G"}
@@ -32,7 +32,8 @@ import { mcpCallTool, mcpListToolsTool } from './MCPTools.js';
32
32
  import { listSkillsTool } from './SkillTools.js';
33
33
  import { webFetchTool, webSearchTool } from './WebRetrievalTools.js';
34
34
  import { browserClickTool, browserCheckTool, browserClipboardTool, browserCloseTabTool, browserClearAnnotationsTool, browserDeleteAnnotationTool, browserDiagnosticsTool, browserDialogTool, browserFillTool, browserGetUrlTool, browserHoverTool, browserKeyTool, browserListAnnotationsTool, browserNewTabTool, browserOpenTool, browserScreenshotTool, browserScrollTool, browserSelectTool, browserSelectTabTool, browserSnapshotTool, browserStartAnnotationTool, browserStopAnnotationTool, browserTabsTool, browserTypeTool, browserUploadTool, browserWaitTool } from './BrowserAutomationTools.js';
35
- export const ALL_TOOLS = [
35
+ import { applyCleanSlateBrowserToolPolicy } from './cleanSlateBrowserPolicy.js';
36
+ const cleanSlateTools = [
36
37
  readFileTool,
37
38
  readFileRangeTool,
38
39
  semanticSearchTool,
@@ -97,6 +98,7 @@ export const ALL_TOOLS = [
97
98
  undoEditTool,
98
99
  fileHistoryRewindTool
99
100
  ];
101
+ export const ALL_TOOLS = cleanSlateTools.map(applyCleanSlateBrowserToolPolicy);
100
102
  export function getToolByName(name) {
101
103
  return ALL_TOOLS.find(tool => tool.name === name);
102
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/I,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EAClB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,SAAS,GAAqB;IACvC,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,aAAa;IACb,uBAAuB;IACvB,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,0BAA0B;IAC1B,yBAAyB;IACzB,yBAAyB;IACzB,aAAa;IACb,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,0BAA0B;IAC1B,yBAAyB;IACzB,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,WAAW;IACX,eAAe;IAClB,cAAc;IACd,eAAe;IACf,gBAAgB;IACb,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,sBAAsB;IACtB,kBAAkB;IAClB,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,qBAAqB;CACxB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,KAAU,EAAE,OAA8B;IAC1F,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,cAAc,CAAC,CAAC;IAC5D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleanslate/sdk",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Slate agent runtime: execution loop, tool protocol, edit engine and Node host.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,11 +42,12 @@
42
42
  "node": ">=20"
43
43
  },
44
44
  "scripts": {
45
- "build": "tsc -p tsconfig.json",
46
- "watch": "tsc -p tsconfig.json --watch",
45
+ "generate-version": "node ./scripts/write-sdk-version.mjs",
46
+ "build": "npm run generate-version && tsc -p tsconfig.json",
47
+ "watch": "npm run generate-version && tsc -p tsconfig.json --watch",
47
48
  "clean": "rm -rf dist",
48
49
  "test": "npm run build && node --test \"dist/test/*.test.js\"",
49
- "typecheck": "tsc -p tsconfig.json --noEmit",
50
+ "typecheck": "npm run generate-version && tsc -p tsconfig.json --noEmit",
50
51
  "prepublishOnly": "npm run clean && npm run build && npm test"
51
52
  },
52
53
  "dependencies": {