deepclause-sdk 0.1.0 → 0.1.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.
Files changed (142) hide show
  1. package/README.md +83 -12
  2. package/dist/agent.d.ts +14 -1
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +117 -9
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cli/config.d.ts +86 -26
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +15 -0
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.js +38 -0
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/repl.d.ts +27 -0
  13. package/dist/cli/repl.d.ts.map +1 -1
  14. package/dist/cli/repl.js +191 -5
  15. package/dist/cli/repl.js.map +1 -1
  16. package/dist/cli/run.d.ts.map +1 -1
  17. package/dist/cli/run.js +16 -0
  18. package/dist/cli/run.js.map +1 -1
  19. package/dist/cli/visualize.d.ts +4 -0
  20. package/dist/cli/visualize.d.ts.map +1 -1
  21. package/dist/cli/visualize.js +29 -4
  22. package/dist/cli/visualize.js.map +1 -1
  23. package/dist/prolog/bridge.d.ts +3 -1
  24. package/dist/prolog/bridge.d.ts.map +1 -1
  25. package/dist/prolog/bridge.js +2 -0
  26. package/dist/prolog/bridge.js.map +1 -1
  27. package/dist/prolog/loader.d.ts +32 -0
  28. package/dist/prolog/loader.d.ts.map +1 -1
  29. package/dist/prolog/loader.js +87 -0
  30. package/dist/prolog/loader.js.map +1 -1
  31. package/dist/prolog-src/deepclause_mi.pl +1217 -120
  32. package/dist/repl/agent.d.ts +33 -1
  33. package/dist/repl/agent.d.ts.map +1 -1
  34. package/dist/repl/agent.js +91 -8
  35. package/dist/repl/agent.js.map +1 -1
  36. package/dist/repl/backend.d.ts +31 -0
  37. package/dist/repl/backend.d.ts.map +1 -1
  38. package/dist/repl/backend.js +122 -77
  39. package/dist/repl/backend.js.map +1 -1
  40. package/dist/repl/harness-tools.d.ts +49 -2
  41. package/dist/repl/harness-tools.d.ts.map +1 -1
  42. package/dist/repl/harness-tools.js +87 -7
  43. package/dist/repl/harness-tools.js.map +1 -1
  44. package/dist/repl/imagegen.d.ts +29 -0
  45. package/dist/repl/imagegen.d.ts.map +1 -0
  46. package/dist/repl/imagegen.js +84 -0
  47. package/dist/repl/imagegen.js.map +1 -0
  48. package/dist/repl/index.d.ts +20 -2
  49. package/dist/repl/index.d.ts.map +1 -1
  50. package/dist/repl/index.js +6 -0
  51. package/dist/repl/index.js.map +1 -1
  52. package/dist/repl/model-resolver.d.ts +59 -0
  53. package/dist/repl/model-resolver.d.ts.map +1 -0
  54. package/dist/repl/model-resolver.js +156 -0
  55. package/dist/repl/model-resolver.js.map +1 -0
  56. package/dist/repl/render.d.ts +36 -2
  57. package/dist/repl/render.d.ts.map +1 -1
  58. package/dist/repl/render.js +175 -17
  59. package/dist/repl/render.js.map +1 -1
  60. package/dist/repl/session.d.ts +129 -4
  61. package/dist/repl/session.d.ts.map +1 -1
  62. package/dist/repl/session.js +380 -17
  63. package/dist/repl/session.js.map +1 -1
  64. package/dist/repl/tool-arguments.d.ts +36 -0
  65. package/dist/repl/tool-arguments.d.ts.map +1 -0
  66. package/dist/repl/tool-arguments.js +123 -0
  67. package/dist/repl/tool-arguments.js.map +1 -0
  68. package/dist/repl/toolset.d.ts +28 -1
  69. package/dist/repl/toolset.d.ts.map +1 -1
  70. package/dist/repl/toolset.js +52 -4
  71. package/dist/repl/toolset.js.map +1 -1
  72. package/dist/repl/tui/transcript.d.ts +2 -0
  73. package/dist/repl/tui/transcript.d.ts.map +1 -1
  74. package/dist/repl/tui/transcript.js +16 -0
  75. package/dist/repl/tui/transcript.js.map +1 -1
  76. package/dist/runner.d.ts +44 -2
  77. package/dist/runner.d.ts.map +1 -1
  78. package/dist/runner.js +293 -33
  79. package/dist/runner.js.map +1 -1
  80. package/dist/system/assets/docs/AGENT_PROMPT.md +1000 -44
  81. package/dist/system/assets/docs/DML_AUTHORING.md +96 -17
  82. package/dist/system/assets/docs/DML_REFERENCE.md +652 -39
  83. package/dist/system/assets/docs/PROLOG_SNIPPETS.md +45 -1
  84. package/dist/system/assets/docs/TASK_PROMPT.md +2 -0
  85. package/dist/system/environment.d.ts +36 -0
  86. package/dist/system/environment.d.ts.map +1 -0
  87. package/dist/system/environment.js +81 -0
  88. package/dist/system/environment.js.map +1 -0
  89. package/dist/system/runtime/shell-manager.d.ts +40 -2
  90. package/dist/system/runtime/shell-manager.d.ts.map +1 -1
  91. package/dist/system/runtime/shell-manager.js +82 -16
  92. package/dist/system/runtime/shell-manager.js.map +1 -1
  93. package/dist/system/runtime/shell-tool-events.js +25 -1
  94. package/dist/system/runtime/shell-tool-events.js.map +1 -1
  95. package/dist/types.d.ts +76 -2
  96. package/dist/types.d.ts.map +1 -1
  97. package/dist/visualize/ascii.d.ts +55 -0
  98. package/dist/visualize/ascii.d.ts.map +1 -0
  99. package/dist/visualize/ascii.js +242 -0
  100. package/dist/visualize/ascii.js.map +1 -0
  101. package/dist/visualize/display.d.ts +24 -0
  102. package/dist/visualize/display.d.ts.map +1 -0
  103. package/dist/visualize/display.js +29 -0
  104. package/dist/visualize/display.js.map +1 -0
  105. package/dist/visualize/graphics.d.ts +35 -0
  106. package/dist/visualize/graphics.d.ts.map +1 -0
  107. package/dist/visualize/graphics.js +96 -0
  108. package/dist/visualize/graphics.js.map +1 -0
  109. package/dist/visualize/image.d.ts +38 -0
  110. package/dist/visualize/image.d.ts.map +1 -0
  111. package/dist/visualize/image.js +95 -0
  112. package/dist/visualize/image.js.map +1 -0
  113. package/dist/visualize/index.d.ts +7 -0
  114. package/dist/visualize/index.d.ts.map +1 -1
  115. package/dist/visualize/index.js +9 -0
  116. package/dist/visualize/index.js.map +1 -1
  117. package/dist/visualize/raster.d.ts +23 -0
  118. package/dist/visualize/raster.d.ts.map +1 -0
  119. package/dist/visualize/raster.js +47 -0
  120. package/dist/visualize/raster.js.map +1 -0
  121. package/dist/visualize/svg.d.ts +39 -0
  122. package/dist/visualize/svg.d.ts.map +1 -0
  123. package/dist/visualize/svg.js +148 -0
  124. package/dist/visualize/svg.js.map +1 -0
  125. package/dist/visualize/transcode.d.ts +13 -0
  126. package/dist/visualize/transcode.d.ts.map +1 -0
  127. package/dist/visualize/transcode.js +40 -0
  128. package/dist/visualize/transcode.js.map +1 -0
  129. package/docs/images/repl.png +0 -0
  130. package/package.json +10 -6
  131. package/src/prolog-src/deepclause_mi.pl +1217 -120
  132. package/dist/compaction.d.ts +0 -98
  133. package/dist/compaction.d.ts.map +0 -1
  134. package/dist/compaction.js +0 -471
  135. package/dist/compaction.js.map +0 -1
  136. package/dist/repl/tools.d.ts +0 -53
  137. package/dist/repl/tools.d.ts.map +0 -1
  138. package/dist/repl/tools.js +0 -307
  139. package/dist/repl/tools.js.map +0 -1
  140. package/dist/system/assets/compactors/default-loop-compactor.dml +0 -43
  141. package/dist/system/assets/compactors/default-session-compactor.dml +0 -30
  142. package/dist/system/assets/docs/META_PROMPT.md +0 -68
@@ -1,98 +0,0 @@
1
- import type { CompactionAction, CompactionOptions, CompactionScope, CompactionTrigger, CompactorBinding, CompactorDefinition, DMLEvent, MemoryMessage, ToolPolicy } from './types.js';
2
- import type { Provider, ProviderConfig, ResolvedModelConfig } from './system/config/model-slots.js';
3
- export interface ResolvedCompactorDefinition {
4
- source: string;
5
- sourceType: 'inline' | 'file' | 'auto';
6
- timeoutMs: number;
7
- gasLimit?: number;
8
- model?: string;
9
- provider?: 'openai' | 'anthropic' | 'google' | 'openrouter';
10
- inheritTools: boolean;
11
- toolPolicy?: ToolPolicy | null;
12
- }
13
- export interface ResolvedCompactorBinding {
14
- name?: string;
15
- scope: CompactionScope;
16
- trigger: CompactionTrigger;
17
- compactor: ResolvedCompactorDefinition;
18
- }
19
- export interface ResolvedCompactionOptions {
20
- enabled: boolean;
21
- bindings: ResolvedCompactorBinding[];
22
- }
23
- export interface ParsedCompactorDecision {
24
- apply: boolean;
25
- messages?: MemoryMessage[];
26
- rewrite?: CompactorRewriteSpec;
27
- }
28
- export interface CompactorRewriteSpec {
29
- keepLastMessages: number;
30
- summary: string;
31
- }
32
- export interface CompactorExecutionRequest {
33
- binding: ResolvedCompactorBinding;
34
- messages: MemoryMessage[];
35
- params: Record<string, unknown>;
36
- }
37
- export interface CompactorExecutionResponse {
38
- answer?: string;
39
- error?: string;
40
- usageByModel?: import('./system/runtime/token-usage.js').TokenUsageByModel;
41
- }
42
- export interface AppliedCompactorResult {
43
- messages: MemoryMessage[];
44
- event: DMLEvent;
45
- applied: boolean;
46
- usageByModel?: import('./system/runtime/token-usage.js').TokenUsageByModel;
47
- }
48
- export interface ResolvedCompactorModelConfig {
49
- model: string;
50
- modelId: string;
51
- provider: Provider;
52
- apiKey?: string;
53
- baseUrl?: string;
54
- temperature: number;
55
- maxOutputTokens?: number;
56
- }
57
- export declare function resolveCompactionOptions(base?: CompactionOptions, override?: CompactionOptions): ResolvedCompactionOptions | null;
58
- export declare function resolveBinding(binding: CompactorBinding): ResolvedCompactorBinding;
59
- export declare function resolveCompactorDefinition(definition: CompactorDefinition): ResolvedCompactorDefinition;
60
- export declare function getCompactionBindings(options: ResolvedCompactionOptions | null, scope: CompactionScope, trigger: CompactionTrigger): ResolvedCompactorBinding[];
61
- export declare function estimateTokensForText(text: string): number;
62
- export declare function estimateTokensForMessages(messages: MemoryMessage[]): number;
63
- export declare function detectProviderFromModel(model: string): Provider;
64
- export declare function resolveCompactorModelConfig(params: {
65
- binding: ResolvedCompactorBinding;
66
- selection: ResolvedModelConfig;
67
- providerConfigs?: Partial<Record<Provider, ProviderConfig>>;
68
- baseUrl?: string;
69
- }): ResolvedCompactorModelConfig;
70
- export declare function buildCompactorParams(binding: ResolvedCompactorBinding, messages: MemoryMessage[], knownInputTokens?: number, maxContextTokens?: number): Record<string, unknown>;
71
- export declare function executeCompactor(params: {
72
- binding: ResolvedCompactorBinding;
73
- messages: MemoryMessage[];
74
- knownInputTokens?: number;
75
- maxContextTokens?: number;
76
- execute: (request: CompactorExecutionRequest) => Promise<CompactorExecutionResponse>;
77
- emitEvent?: (event: DMLEvent) => void;
78
- }): Promise<AppliedCompactorResult>;
79
- export declare function parseCompactorAnswer(answer: string): ParsedCompactorDecision | null;
80
- export declare function applyCompactorRewrite(binding: ResolvedCompactorBinding, messages: MemoryMessage[], rewrite: CompactorRewriteSpec): MemoryMessage[] | null;
81
- export declare function normalizeMessageArray(value: unknown): MemoryMessage[] | null;
82
- export declare function validateMessageArray(messages: MemoryMessage[]): string | null;
83
- export declare function buildCompactionEvent(params: {
84
- binding: ResolvedCompactorBinding;
85
- action: CompactionAction;
86
- beforeTokens: number;
87
- afterTokens?: number;
88
- error?: string;
89
- }): DMLEvent;
90
- export declare function formatCompactionEventContent(params: {
91
- binding: ResolvedCompactorBinding;
92
- action: CompactionAction;
93
- beforeTokens: number;
94
- afterTokens?: number;
95
- error?: string;
96
- }): string;
97
- export declare function getBindingLabel(binding: ResolvedCompactorBinding): string;
98
- //# sourceMappingURL=compaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
@@ -1,471 +0,0 @@
1
- const DEFAULT_DML_COMPACTOR_TIMEOUT_MS = 15_000;
2
- export function resolveCompactionOptions(base, override) {
3
- const enabled = override?.enabled ?? base?.enabled ?? false;
4
- if (!enabled) {
5
- return null;
6
- }
7
- const bindings = [
8
- ...(base?.bindings ?? []),
9
- ...(override?.bindings ?? []),
10
- ].map(resolveBinding);
11
- if (bindings.length === 0) {
12
- return null;
13
- }
14
- return {
15
- enabled: true,
16
- bindings,
17
- };
18
- }
19
- export function resolveBinding(binding) {
20
- return {
21
- name: binding.name,
22
- scope: binding.scope,
23
- trigger: binding.trigger,
24
- compactor: resolveCompactorDefinition(binding.compactor),
25
- };
26
- }
27
- export function resolveCompactorDefinition(definition) {
28
- return {
29
- source: definition.source,
30
- sourceType: definition.sourceType ?? 'auto',
31
- timeoutMs: Math.max(0, definition.timeoutMs ?? DEFAULT_DML_COMPACTOR_TIMEOUT_MS),
32
- gasLimit: definition.gasLimit,
33
- model: definition.model,
34
- provider: definition.provider,
35
- inheritTools: definition.inheritTools ?? false,
36
- toolPolicy: definition.toolPolicy,
37
- };
38
- }
39
- export function getCompactionBindings(options, scope, trigger) {
40
- if (!options) {
41
- return [];
42
- }
43
- return options.bindings.filter((binding) => binding.scope === scope && binding.trigger === trigger);
44
- }
45
- export function estimateTokensForText(text) {
46
- return Math.max(1, Math.ceil(text.length / 4));
47
- }
48
- const PER_MESSAGE_OVERHEAD = 4;
49
- export function estimateTokensForMessages(messages) {
50
- return messages.reduce((total, message) => total + PER_MESSAGE_OVERHEAD + estimateTokensForText(message.content), 0);
51
- }
52
- export function detectProviderFromModel(model) {
53
- const lower = model.toLowerCase();
54
- if (lower.includes('gpt') || lower.includes('o1') || lower.includes('o3')) {
55
- return 'openai';
56
- }
57
- if (lower.includes('claude')) {
58
- return 'anthropic';
59
- }
60
- if (lower.includes('gemini') || lower.includes('palm')) {
61
- return 'google';
62
- }
63
- return 'openrouter';
64
- }
65
- export function resolveCompactorModelConfig(params) {
66
- const model = params.binding.compactor.model ?? params.selection.model;
67
- const provider = params.binding.compactor.provider
68
- ?? (params.binding.compactor.model ? detectProviderFromModel(model) : params.selection.provider);
69
- const providerConfig = provider === params.selection.provider
70
- ? {
71
- apiKey: params.selection.apiKey,
72
- baseUrl: params.baseUrl ?? params.selection.baseUrl,
73
- }
74
- : {
75
- apiKey: params.providerConfigs?.[provider]?.apiKey,
76
- baseUrl: params.baseUrl ?? params.providerConfigs?.[provider]?.baseUrl,
77
- };
78
- return {
79
- model,
80
- modelId: params.binding.compactor.model ?? params.selection.id,
81
- provider,
82
- apiKey: providerConfig.apiKey,
83
- baseUrl: providerConfig.baseUrl,
84
- temperature: params.selection.temperature,
85
- maxOutputTokens: params.selection.maxOutputTokens,
86
- };
87
- }
88
- export function buildCompactorParams(binding, messages, knownInputTokens, maxContextTokens) {
89
- return {
90
- compact_scope: binding.scope,
91
- compact_trigger: binding.trigger,
92
- compact_binding_name: binding.name ?? getBindingLabel(binding),
93
- message_count: messages.length,
94
- estimated_tokens: knownInputTokens ?? estimateTokensForMessages(messages),
95
- max_context_tokens: maxContextTokens ?? 0,
96
- messages_json: JSON.stringify(messages),
97
- };
98
- }
99
- export async function executeCompactor(params) {
100
- const estimatedTokens = params.knownInputTokens ?? estimateTokensForMessages(params.messages);
101
- const beforeTokens = estimatedTokens;
102
- if (params.messages.length === 0) {
103
- return {
104
- messages: params.messages,
105
- applied: false,
106
- event: buildCompactionEvent({
107
- binding: params.binding,
108
- action: 'skipped',
109
- beforeTokens,
110
- afterTokens: beforeTokens,
111
- }),
112
- };
113
- }
114
- const request = {
115
- binding: params.binding,
116
- messages: params.messages,
117
- params: buildCompactorParams(params.binding, params.messages, params.knownInputTokens, params.maxContextTokens),
118
- };
119
- params.emitEvent?.(buildCompactionEvent({
120
- binding: params.binding,
121
- action: 'running',
122
- beforeTokens,
123
- }));
124
- let response;
125
- try {
126
- response = await params.execute(request);
127
- }
128
- catch (error) {
129
- return {
130
- messages: params.messages,
131
- applied: false,
132
- event: buildCompactionEvent({
133
- binding: params.binding,
134
- action: 'failed',
135
- beforeTokens,
136
- afterTokens: beforeTokens,
137
- error: error instanceof Error ? error.message : String(error),
138
- }),
139
- };
140
- }
141
- if (response.error) {
142
- return {
143
- messages: params.messages,
144
- applied: false,
145
- event: buildCompactionEvent({
146
- binding: params.binding,
147
- action: 'failed',
148
- beforeTokens,
149
- afterTokens: beforeTokens,
150
- error: response.error,
151
- }),
152
- usageByModel: response.usageByModel,
153
- };
154
- }
155
- const parsed = parseCompactorAnswer(response.answer ?? '');
156
- if (!parsed) {
157
- return {
158
- messages: params.messages,
159
- applied: false,
160
- event: buildCompactionEvent({
161
- binding: params.binding,
162
- action: 'failed',
163
- beforeTokens,
164
- afterTokens: beforeTokens,
165
- error: 'Compactor returned an unreadable response',
166
- }),
167
- usageByModel: response.usageByModel,
168
- };
169
- }
170
- if (!parsed.apply) {
171
- return {
172
- messages: params.messages,
173
- applied: false,
174
- event: buildCompactionEvent({
175
- binding: params.binding,
176
- action: 'skipped',
177
- beforeTokens,
178
- afterTokens: beforeTokens,
179
- }),
180
- usageByModel: response.usageByModel,
181
- };
182
- }
183
- const rewrittenMessages = !parsed.messages && parsed.rewrite
184
- ? applyCompactorRewrite(params.binding, params.messages, parsed.rewrite)
185
- : parsed.messages;
186
- if (!rewrittenMessages) {
187
- return {
188
- messages: params.messages,
189
- applied: false,
190
- event: buildCompactionEvent({
191
- binding: params.binding,
192
- action: 'failed',
193
- beforeTokens,
194
- afterTokens: beforeTokens,
195
- error: 'Compactor applied but did not return messages',
196
- }),
197
- usageByModel: response.usageByModel,
198
- };
199
- }
200
- const validationError = validateMessageArray(rewrittenMessages);
201
- if (validationError) {
202
- return {
203
- messages: params.messages,
204
- applied: false,
205
- event: buildCompactionEvent({
206
- binding: params.binding,
207
- action: 'failed',
208
- beforeTokens,
209
- afterTokens: beforeTokens,
210
- error: validationError,
211
- }),
212
- usageByModel: response.usageByModel,
213
- };
214
- }
215
- const afterTokens = estimateTokensForMessages(rewrittenMessages);
216
- if (afterTokens >= beforeTokens) {
217
- return {
218
- messages: params.messages,
219
- applied: false,
220
- event: buildCompactionEvent({
221
- binding: params.binding,
222
- action: 'skipped',
223
- beforeTokens,
224
- afterTokens,
225
- error: 'Compactor did not reduce message size',
226
- }),
227
- usageByModel: response.usageByModel,
228
- };
229
- }
230
- return {
231
- messages: rewrittenMessages,
232
- applied: true,
233
- event: buildCompactionEvent({
234
- binding: params.binding,
235
- action: 'applied',
236
- beforeTokens,
237
- afterTokens,
238
- }),
239
- usageByModel: response.usageByModel,
240
- };
241
- }
242
- export function parseCompactorAnswer(answer) {
243
- const trimmed = answer.trim();
244
- if (!trimmed) {
245
- return null;
246
- }
247
- const rewriteSpec = parseCompactorRewriteSpec(trimmed);
248
- if (rewriteSpec) {
249
- return rewriteSpec;
250
- }
251
- if (trimmed === 'no_op' || trimmed === 'skip') {
252
- return { apply: false };
253
- }
254
- const parsed = unwrapCompactorJson(tryParseCompactorJson(trimmed));
255
- if (!parsed || typeof parsed !== 'object' || parsed === null) {
256
- return null;
257
- }
258
- const record = parsed;
259
- const action = typeof record.action === 'string' ? record.action : undefined;
260
- if (action === 'no_op' || action === 'skip' || action === 'noop') {
261
- return { apply: false };
262
- }
263
- const apply = typeof record.apply === 'boolean'
264
- ? record.apply
265
- : Boolean(record.messages
266
- ?? record.messages_out
267
- ?? record.memory
268
- ?? record.memory_out
269
- ?? record.summary
270
- ?? record.compacted_summary);
271
- if (!apply) {
272
- return { apply: false };
273
- }
274
- const rawMessages = record.messages ?? record.messages_out ?? record.memory ?? record.memory_out;
275
- const messages = normalizeMessageArray(rawMessages);
276
- if (messages) {
277
- return {
278
- apply: true,
279
- messages,
280
- };
281
- }
282
- const rewrite = parseCompactorRewriteRecord(record);
283
- if (!rewrite) {
284
- return null;
285
- }
286
- return {
287
- apply: true,
288
- rewrite,
289
- };
290
- }
291
- export function applyCompactorRewrite(binding, messages, rewrite) {
292
- const summary = rewrite.summary.trim();
293
- if (!summary) {
294
- return null;
295
- }
296
- const keepLastMessages = clampKeepLastMessages(rewrite.keepLastMessages);
297
- const summaryMessage = {
298
- role: 'assistant',
299
- content: summary,
300
- };
301
- if (binding.scope === 'session') {
302
- return [
303
- summaryMessage,
304
- ...messages.slice(-keepLastMessages),
305
- ];
306
- }
307
- const systemMessages = messages.filter((message) => message.role === 'system');
308
- const conversationalMessages = messages.filter((message) => message.role !== 'system');
309
- return [
310
- ...systemMessages,
311
- summaryMessage,
312
- ...conversationalMessages.slice(-keepLastMessages),
313
- ];
314
- }
315
- export function normalizeMessageArray(value) {
316
- if (!Array.isArray(value)) {
317
- return null;
318
- }
319
- const messages = [];
320
- for (const item of value) {
321
- if (!item || typeof item !== 'object') {
322
- return null;
323
- }
324
- const record = item;
325
- const role = record.role;
326
- const content = record.content;
327
- if ((role !== 'system' && role !== 'user' && role !== 'assistant') || typeof content !== 'string') {
328
- return null;
329
- }
330
- messages.push({ role, content });
331
- }
332
- return messages;
333
- }
334
- export function validateMessageArray(messages) {
335
- for (const message of messages) {
336
- if (message.role !== 'system' && message.role !== 'user' && message.role !== 'assistant') {
337
- return `Invalid message role: ${String(message.role)}`;
338
- }
339
- if (typeof message.content !== 'string') {
340
- return 'Message content must be a string';
341
- }
342
- }
343
- return null;
344
- }
345
- export function buildCompactionEvent(params) {
346
- return {
347
- type: 'memory_compaction',
348
- content: formatCompactionEventContent(params),
349
- compactionScope: params.binding.scope,
350
- compactionTrigger: params.binding.trigger,
351
- compactionAction: params.action,
352
- compactionBindingName: params.binding.name,
353
- beforeTokens: params.beforeTokens,
354
- afterTokens: params.afterTokens,
355
- compactionError: params.error,
356
- };
357
- }
358
- export function formatCompactionEventContent(params) {
359
- const label = params.binding.name ?? getBindingLabel(params.binding);
360
- const errorSuffix = params.error ? ` (${params.error})` : '';
361
- if (params.action === 'running') {
362
- return `compact ${params.binding.scope}.${params.binding.trigger} running ${label} ${params.beforeTokens} tokens${errorSuffix}`;
363
- }
364
- return `compact ${params.binding.scope}.${params.binding.trigger} ${params.action} ${label} ${params.beforeTokens} -> ${params.afterTokens ?? params.beforeTokens} tokens${errorSuffix}`;
365
- }
366
- export function getBindingLabel(binding) {
367
- return `${binding.scope}:${binding.trigger}`;
368
- }
369
- function tryParseJson(value) {
370
- try {
371
- return JSON.parse(value);
372
- }
373
- catch {
374
- return null;
375
- }
376
- }
377
- function tryParseCompactorJson(value) {
378
- const direct = tryParseJson(value);
379
- if (direct !== null) {
380
- return direct;
381
- }
382
- const fenced = extractFencedJson(value);
383
- if (!fenced) {
384
- return null;
385
- }
386
- return tryParseJson(fenced);
387
- }
388
- function extractFencedJson(value) {
389
- const match = value.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);
390
- return match?.[1]?.trim() || null;
391
- }
392
- function unwrapCompactorJson(value) {
393
- if (typeof value !== 'string') {
394
- return value ?? null;
395
- }
396
- return tryParseJson(value);
397
- }
398
- function parseCompactorRewriteRecord(record) {
399
- const summary = typeof record.summary === 'string'
400
- ? record.summary
401
- : typeof record.compacted_summary === 'string'
402
- ? record.compacted_summary
403
- : null;
404
- if (!summary) {
405
- return null;
406
- }
407
- const keepLastMessages = parseKeepLastMessages(record.keep_last_messages
408
- ?? record.keepLastMessages
409
- ?? record.tail_messages
410
- ?? record.tailMessages);
411
- if (keepLastMessages === null) {
412
- return null;
413
- }
414
- return {
415
- keepLastMessages,
416
- summary,
417
- };
418
- }
419
- function parseCompactorRewriteSpec(answer) {
420
- if (!answer.startsWith('DC_COMPACTOR_REWRITE_V1\n')) {
421
- return null;
422
- }
423
- const withoutPrefix = answer.slice('DC_COMPACTOR_REWRITE_V1\n'.length);
424
- const summaryMarker = '\nsummary:\n';
425
- const summaryIndex = withoutPrefix.indexOf(summaryMarker);
426
- if (summaryIndex === -1) {
427
- return null;
428
- }
429
- const header = withoutPrefix.slice(0, summaryIndex);
430
- const summary = withoutPrefix.slice(summaryIndex + summaryMarker.length);
431
- const headerLines = header.split('\n').map((line) => line.trim()).filter(Boolean);
432
- const applyLine = headerLines.find((line) => line.startsWith('apply='));
433
- const keepLine = headerLines.find((line) => line.startsWith('keep_last_messages='));
434
- if (!applyLine || !keepLine) {
435
- return null;
436
- }
437
- const applyValue = applyLine.slice('apply='.length).trim();
438
- if (applyValue === 'false') {
439
- return { apply: false };
440
- }
441
- if (applyValue !== 'true') {
442
- return null;
443
- }
444
- const keepLastMessages = parseKeepLastMessages(keepLine.slice('keep_last_messages='.length).trim());
445
- if (keepLastMessages === null) {
446
- return null;
447
- }
448
- return {
449
- apply: true,
450
- rewrite: {
451
- keepLastMessages,
452
- summary,
453
- },
454
- };
455
- }
456
- function parseKeepLastMessages(value) {
457
- if (typeof value === 'number' && Number.isInteger(value)) {
458
- return value;
459
- }
460
- if (typeof value === 'string') {
461
- const parsed = Number.parseInt(value, 10);
462
- if (Number.isInteger(parsed)) {
463
- return parsed;
464
- }
465
- }
466
- return null;
467
- }
468
- function clampKeepLastMessages(value) {
469
- return Math.max(0, Math.min(8, value));
470
- }
471
- //# sourceMappingURL=compaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Host-backed meta tools (M3).
3
- *
4
- * A `meta` frame's agent tool set is *replaced* with exactly these tools; the
5
- * harness's own DML tools are hidden from the code-writing model. The tools act
6
- * on the live scratch module (snapshot/restored by the prompt transaction).
7
- *
8
- * M3 ships listing/assert/retract/execute; M6 adds ask_user.
9
- */
10
- import type { DMLEvent, ToolDefinition } from '../types.js';
11
- export interface ExecuteResult {
12
- bindings: Array<{
13
- name: string;
14
- value: string;
15
- }>;
16
- solutions: Array<Array<{
17
- name: string;
18
- value: string;
19
- }>>;
20
- output: string;
21
- error?: string;
22
- }
23
- export interface MetaToolContext {
24
- sessionId: string;
25
- prologQuery: (goal: string) => Record<string, unknown> | null;
26
- isFrozen: () => boolean;
27
- /** Run a goal in an `execute` child frame and collect its result. */
28
- executeGoal: (goal: string, limit?: number, signal?: AbortSignal) => Promise<ExecuteResult>;
29
- /** Human-in-the-loop channel (M6). */
30
- askUser?: (prompt: string, options?: string[]) => Promise<{
31
- answer: string;
32
- } | {
33
- cancelled: true;
34
- }>;
35
- /** Catalog of capability host tools, returned by listing(tools). */
36
- hostToolsCatalog?: string;
37
- /** Emit meta-tool lifecycle events so results appear in sequence. */
38
- onEvent?: (event: DMLEvent) => void;
39
- /** Workspace-scoped file tools for the author (writes land on disk immediately). */
40
- fileTools?: {
41
- read: (path: string) => Promise<string | null>;
42
- write: (path: string, content: string) => Promise<void>;
43
- list: (path?: string) => Promise<string[]>;
44
- remove: (path: string) => Promise<void>;
45
- };
46
- }
47
- export declare function createMetaTools(ctx: MetaToolContext): Map<string, ToolDefinition>;
48
- /**
49
- * Compact catalog injected into the meta prompt. The full schemas are always
50
- * available through the `listing(tools)` / `listing` tool.
51
- */
52
- export declare function describeMetaTools(): string;
53
- //# sourceMappingURL=tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/repl/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,qEAAqE;IACrE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5F,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACpG,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,oFAAoF;IACpF,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC/C,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACzC,CAAC;CACH;AAiBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CA8SjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAW1C"}