deepclause-sdk 0.2.2 → 0.3.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.
- package/README.md +72 -3
- package/dist/agent.d.ts +17 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +148 -42
- package/dist/agent.js.map +1 -1
- package/dist/cli/config.d.ts +12 -12
- package/dist/cli/repl.d.ts +13 -1
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +145 -4
- package/dist/cli/repl.js.map +1 -1
- package/dist/forms/index.d.ts +3 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +3 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/registry.d.ts +119 -0
- package/dist/forms/registry.d.ts.map +1 -0
- package/dist/forms/registry.js +256 -0
- package/dist/forms/registry.js.map +1 -0
- package/dist/forms/spec.d.ts +193 -0
- package/dist/forms/spec.d.ts.map +1 -0
- package/dist/forms/spec.js +295 -0
- package/dist/forms/spec.js.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/prolog/loader.d.ts +18 -0
- package/dist/prolog/loader.d.ts.map +1 -1
- package/dist/prolog/loader.js +26 -1
- package/dist/prolog/loader.js.map +1 -1
- package/dist/prolog-src/deepclause_mi.pl +619 -28
- package/dist/repl/agent.d.ts +4 -0
- package/dist/repl/agent.d.ts.map +1 -1
- package/dist/repl/agent.js +2 -0
- package/dist/repl/agent.js.map +1 -1
- package/dist/repl/form-widget.d.ts +56 -0
- package/dist/repl/form-widget.d.ts.map +1 -0
- package/dist/repl/form-widget.js +289 -0
- package/dist/repl/form-widget.js.map +1 -0
- package/dist/repl/harness-tools.d.ts +3 -1
- package/dist/repl/harness-tools.d.ts.map +1 -1
- package/dist/repl/harness-tools.js +13 -56
- package/dist/repl/harness-tools.js.map +1 -1
- package/dist/repl/history.d.ts +2 -1
- package/dist/repl/history.d.ts.map +1 -1
- package/dist/repl/history.js +34 -8
- package/dist/repl/history.js.map +1 -1
- package/dist/repl/index.d.ts +14 -2
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +6 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/repl/process-backend.d.ts +2 -2
- package/dist/repl/process-backend.d.ts.map +1 -1
- package/dist/repl/process-executor.d.ts +11 -2
- package/dist/repl/process-executor.d.ts.map +1 -1
- package/dist/repl/process-executor.js +67 -18
- package/dist/repl/process-executor.js.map +1 -1
- package/dist/repl/process-worker.d.ts +35 -4
- package/dist/repl/process-worker.d.ts.map +1 -1
- package/dist/repl/process-worker.js +78 -38
- package/dist/repl/process-worker.js.map +1 -1
- package/dist/repl/processes.d.ts +4 -0
- package/dist/repl/processes.d.ts.map +1 -1
- package/dist/repl/processes.js +20 -0
- package/dist/repl/processes.js.map +1 -1
- package/dist/repl/render.d.ts +17 -0
- package/dist/repl/render.d.ts.map +1 -1
- package/dist/repl/render.js +50 -0
- package/dist/repl/render.js.map +1 -1
- package/dist/repl/session.d.ts +105 -7
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +219 -15
- package/dist/repl/session.js.map +1 -1
- package/dist/repl/tui/form-view.d.ts +17 -0
- package/dist/repl/tui/form-view.d.ts.map +1 -0
- package/dist/repl/tui/form-view.js +25 -0
- package/dist/repl/tui/form-view.js.map +1 -0
- package/dist/repl/tui/renderer.d.ts +4 -0
- package/dist/repl/tui/renderer.d.ts.map +1 -1
- package/dist/repl/tui/renderer.js +12 -0
- package/dist/repl/tui/renderer.js.map +1 -1
- package/dist/repl/worker-host.d.ts +16 -2
- package/dist/repl/worker-host.d.ts.map +1 -1
- package/dist/repl/worker-host.js +38 -6
- package/dist/repl/worker-host.js.map +1 -1
- package/dist/repl/worker-protocol.d.ts +14 -0
- package/dist/repl/worker-protocol.d.ts.map +1 -1
- package/dist/repl/worker-protocol.js +8 -1
- package/dist/repl/worker-protocol.js.map +1 -1
- package/dist/runner.d.ts +63 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +350 -40
- package/dist/runner.js.map +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +12 -0
- package/dist/sdk.js.map +1 -1
- package/dist/system/assets/docs/AGENT_PROMPT.md +387 -18
- package/dist/system/assets/docs/CHAT_PROMPT.md +28 -0
- package/dist/system/assets/docs/DML_AUTHORING.md +1 -1
- package/dist/system/assets/docs/DML_FORMS.md +740 -0
- package/dist/system/assets/docs/DML_REFERENCE.md +180 -4
- package/dist/system/assets/docs/HARNESS_EXAMPLES.md +94 -0
- package/dist/system/assets/index.d.ts +2 -2
- package/dist/system/assets/index.d.ts.map +1 -1
- package/dist/system/assets/index.js +4 -0
- package/dist/system/assets/index.js.map +1 -1
- package/dist/system/environment.d.ts +6 -0
- package/dist/system/environment.d.ts.map +1 -1
- package/dist/system/environment.js +5 -4
- package/dist/system/environment.js.map +1 -1
- package/dist/types.d.ts +35 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/prolog-src/deepclause_mi.pl +619 -28
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The form representation: the declarative spec a harness (or a model) produces,
|
|
3
|
+
* the values a UI collects, and the two validators.
|
|
4
|
+
*
|
|
5
|
+
* Pure functions and types — no runtime, no registry, no events. See
|
|
6
|
+
* `docs/DML_FORMS.md` §5.
|
|
7
|
+
*/
|
|
8
|
+
export const DEFAULT_ACTIONS = [
|
|
9
|
+
{ name: 'submit', title: 'Submit', kind: 'primary' },
|
|
10
|
+
{ name: 'cancel', title: 'Cancel', kind: 'link' },
|
|
11
|
+
];
|
|
12
|
+
export function actionsOf(spec) {
|
|
13
|
+
return spec.actions && spec.actions.length > 0 ? spec.actions : DEFAULT_ACTIONS;
|
|
14
|
+
}
|
|
15
|
+
/** Every field, depth-first, with its dotted path (`a.b`, `items[0].c` is the value form). */
|
|
16
|
+
export function walkFields(fields, prefix = '') {
|
|
17
|
+
const out = [];
|
|
18
|
+
for (const field of fields) {
|
|
19
|
+
const path = prefix ? `${prefix}.${field.name}` : field.name;
|
|
20
|
+
out.push({ path, field });
|
|
21
|
+
if (field.type === 'object')
|
|
22
|
+
out.push(...walkFields(field.properties, path));
|
|
23
|
+
}
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
/** The declared fields, keyed by path. */
|
|
27
|
+
export function fieldMap(spec) {
|
|
28
|
+
const map = new Map();
|
|
29
|
+
for (const ref of walkFields(spec.fields))
|
|
30
|
+
map.set(ref.path, ref.field);
|
|
31
|
+
return map;
|
|
32
|
+
}
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Defaults
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
/** Resolve defaults into a complete value set (deepest-first). Never mutates input. */
|
|
37
|
+
export function applyDefaults(spec, values = {}) {
|
|
38
|
+
const out = { ...(spec.initial ?? {}), ...values };
|
|
39
|
+
applyFieldDefaults(spec.fields, out);
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
function applyFieldDefaults(fields, target) {
|
|
43
|
+
for (const field of fields) {
|
|
44
|
+
const current = target[field.name];
|
|
45
|
+
if (field.type === 'object') {
|
|
46
|
+
const child = isPlainObject(current) ? current : {};
|
|
47
|
+
target[field.name] = child;
|
|
48
|
+
applyFieldDefaults(field.properties, child);
|
|
49
|
+
}
|
|
50
|
+
else if (field.type === 'array') {
|
|
51
|
+
if (!Array.isArray(current))
|
|
52
|
+
target[field.name] = Array.isArray(field.default) ? field.default : [];
|
|
53
|
+
}
|
|
54
|
+
else if (current === undefined && field.default !== undefined) {
|
|
55
|
+
target[field.name] = field.default;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function isPlainObject(value) {
|
|
60
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
61
|
+
}
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
// Normalization: fill in what a spec may leave out
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
const FIELD_TYPES = new Set([
|
|
66
|
+
'string',
|
|
67
|
+
'number',
|
|
68
|
+
'integer',
|
|
69
|
+
'boolean',
|
|
70
|
+
'object',
|
|
71
|
+
'array',
|
|
72
|
+
'null',
|
|
73
|
+
]);
|
|
74
|
+
/**
|
|
75
|
+
* Accept a spec the way a caller would naturally write one.
|
|
76
|
+
*
|
|
77
|
+
* `version` and a field's `type` are boilerplate: a model asked for "a form with
|
|
78
|
+
* an amount and a reason" should be able to answer `{title: "Refund", fields:
|
|
79
|
+
* [{name: "amount", type: "number"}, {name: "reason"}]}` and have it work.
|
|
80
|
+
* A bare string field is shorthand for a `string` field of that name.
|
|
81
|
+
*
|
|
82
|
+
* This only fills gaps. Anything genuinely broken (no fields, a duplicate or
|
|
83
|
+
* illegal name, a layout that references an unknown field) is still reported by
|
|
84
|
+
* `validateSpec`.
|
|
85
|
+
*/
|
|
86
|
+
export function normalizeSpec(raw) {
|
|
87
|
+
const source = isPlainObject(raw) ? raw : {};
|
|
88
|
+
const spec = { ...source };
|
|
89
|
+
if (spec.version === undefined)
|
|
90
|
+
spec.version = 1;
|
|
91
|
+
spec.fields = (Array.isArray(spec.fields) ? spec.fields : []).map(normalizeField);
|
|
92
|
+
if (spec.layout !== undefined && !Array.isArray(spec.layout))
|
|
93
|
+
delete spec.layout;
|
|
94
|
+
return spec;
|
|
95
|
+
}
|
|
96
|
+
function normalizeField(raw) {
|
|
97
|
+
if (typeof raw === 'string')
|
|
98
|
+
return { name: raw, type: 'string' };
|
|
99
|
+
if (!isPlainObject(raw))
|
|
100
|
+
return raw;
|
|
101
|
+
const field = { ...raw };
|
|
102
|
+
// Missing type is a string. An explicit unknown type is left for validation to
|
|
103
|
+
// report rather than being silently reinterpreted.
|
|
104
|
+
if (field.type === undefined || field.type === null || field.type === '')
|
|
105
|
+
field.type = 'string';
|
|
106
|
+
if (field.type === 'object') {
|
|
107
|
+
field.properties = (Array.isArray(field.properties) ? field.properties : []).map(normalizeField);
|
|
108
|
+
}
|
|
109
|
+
if (field.type === 'array' && field.items !== undefined) {
|
|
110
|
+
field.items = normalizeField(field.items);
|
|
111
|
+
}
|
|
112
|
+
if (field.required === 'true' || field.required === 'yes')
|
|
113
|
+
field.required = true;
|
|
114
|
+
return field;
|
|
115
|
+
}
|
|
116
|
+
/** True when `type` is one this runtime knows. */
|
|
117
|
+
export function isFieldType(type) {
|
|
118
|
+
return typeof type === 'string' && FIELD_TYPES.has(type);
|
|
119
|
+
}
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
// Static validation: is this a well-formed spec?
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
export function validateSpec(spec) {
|
|
124
|
+
const issues = [];
|
|
125
|
+
const err = (path, message) => {
|
|
126
|
+
issues.push({ path, level: 'error', message });
|
|
127
|
+
};
|
|
128
|
+
if (spec.version !== 1)
|
|
129
|
+
err('', `unsupported form version: ${String(spec.version)}`);
|
|
130
|
+
if (!Array.isArray(spec.fields) || spec.fields.length === 0)
|
|
131
|
+
err('', 'a form needs at least one field');
|
|
132
|
+
const seen = new Set();
|
|
133
|
+
for (const ref of walkFields(spec.fields ?? [])) {
|
|
134
|
+
if (seen.has(ref.path))
|
|
135
|
+
err(ref.path, 'duplicate field path');
|
|
136
|
+
seen.add(ref.path);
|
|
137
|
+
validateFieldSpec(ref.field, ref.path, err);
|
|
138
|
+
}
|
|
139
|
+
if (spec.layout) {
|
|
140
|
+
const columns = new Map();
|
|
141
|
+
collectGridColumns(spec.layout, columns);
|
|
142
|
+
validateLayout(spec.layout, seen, columns, err);
|
|
143
|
+
}
|
|
144
|
+
return issues;
|
|
145
|
+
}
|
|
146
|
+
function validateFieldSpec(field, path, err) {
|
|
147
|
+
if (!field.name || !/^[A-Za-z_][A-Za-z0-9_]*$/.test(field.name)) {
|
|
148
|
+
err(path, `invalid field name: ${JSON.stringify(field.name)}`);
|
|
149
|
+
}
|
|
150
|
+
if (!isFieldType(field.type)) {
|
|
151
|
+
err(path, `unknown field type ${JSON.stringify(field.type)}: use string, number, integer, boolean, object or array`);
|
|
152
|
+
}
|
|
153
|
+
if (field.type === 'string') {
|
|
154
|
+
const s = field;
|
|
155
|
+
if (s.enum && s.enum.length === 0)
|
|
156
|
+
err(path, 'enum must not be empty');
|
|
157
|
+
if (s.minLength !== undefined && s.maxLength !== undefined && s.minLength > s.maxLength) {
|
|
158
|
+
err(path, 'minLength exceeds maxLength');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (field.type === 'number' || field.type === 'integer') {
|
|
162
|
+
const n = field;
|
|
163
|
+
if (n.minimum !== undefined && n.maximum !== undefined && n.minimum > n.maximum) {
|
|
164
|
+
err(path, 'minimum exceeds maximum');
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (field.type === 'array') {
|
|
168
|
+
const a = field;
|
|
169
|
+
if (a.minItems !== undefined && a.maxItems !== undefined && a.minItems > a.maxItems) {
|
|
170
|
+
err(path, 'minItems exceeds maxItems');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function collectGridColumns(nodes, out) {
|
|
175
|
+
for (const node of nodes) {
|
|
176
|
+
if (node.kind === 'grid')
|
|
177
|
+
out.set('grid', node.columns);
|
|
178
|
+
for (const child of layoutChildren(node))
|
|
179
|
+
collectGridColumns(child, out);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
function layoutChildren(node) {
|
|
183
|
+
switch (node.kind) {
|
|
184
|
+
case 'row':
|
|
185
|
+
case 'column':
|
|
186
|
+
case 'grid':
|
|
187
|
+
case 'box':
|
|
188
|
+
return [node.children];
|
|
189
|
+
case 'tabs':
|
|
190
|
+
return node.tabs.map((tab) => tab.children);
|
|
191
|
+
default:
|
|
192
|
+
return [];
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
function validateLayout(nodes, fieldPaths, gridColumns, err) {
|
|
196
|
+
for (const node of nodes) {
|
|
197
|
+
if (node.kind === 'field' && !fieldPaths.has(node.field)) {
|
|
198
|
+
err(node.field, 'layout references an unknown field');
|
|
199
|
+
}
|
|
200
|
+
if (node.kind === 'grid' && (!Number.isInteger(node.columns) || node.columns < 1)) {
|
|
201
|
+
err('', 'grid columns must be a positive integer');
|
|
202
|
+
}
|
|
203
|
+
if (node.span !== undefined) {
|
|
204
|
+
const columns = node.kind === 'grid' ? node.columns : gridColumns.get('grid');
|
|
205
|
+
if (columns !== undefined && node.span > columns) {
|
|
206
|
+
err('', `span ${node.span} exceeds the grid width ${columns}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
for (const children of layoutChildren(node))
|
|
210
|
+
validateLayout(children, fieldPaths, gridColumns, err);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// ---------------------------------------------------------------------------
|
|
214
|
+
// Dynamic validation: are these values acceptable? (shape only — domain rules
|
|
215
|
+
// are the harness's `form_validate/2`.)
|
|
216
|
+
// ---------------------------------------------------------------------------
|
|
217
|
+
export function validateValues(spec, values) {
|
|
218
|
+
const issues = [];
|
|
219
|
+
for (const ref of walkFields(spec.fields)) {
|
|
220
|
+
validateValue(ref.field, ref.path, valueAtPath(values, ref.path), issues);
|
|
221
|
+
}
|
|
222
|
+
return issues;
|
|
223
|
+
}
|
|
224
|
+
/** Read a dotted field path out of a value tree. */
|
|
225
|
+
export function valueAtPath(values, path) {
|
|
226
|
+
const parts = path.split('.');
|
|
227
|
+
let current = values;
|
|
228
|
+
for (const part of parts) {
|
|
229
|
+
if (!isPlainObject(current))
|
|
230
|
+
return undefined;
|
|
231
|
+
current = current[part];
|
|
232
|
+
}
|
|
233
|
+
return current;
|
|
234
|
+
}
|
|
235
|
+
function isEmpty(value) {
|
|
236
|
+
return value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0);
|
|
237
|
+
}
|
|
238
|
+
function validateValue(field, path, value, issues) {
|
|
239
|
+
const warn = (message) => {
|
|
240
|
+
issues.push({ path, level: 'error', message });
|
|
241
|
+
};
|
|
242
|
+
if (isEmpty(value)) {
|
|
243
|
+
if (field.required)
|
|
244
|
+
warn('is required');
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
switch (field.type) {
|
|
248
|
+
case 'string': {
|
|
249
|
+
const s = field;
|
|
250
|
+
if (typeof value !== 'string')
|
|
251
|
+
return warn('must be a string');
|
|
252
|
+
if (s.enum && !s.enum.includes(value))
|
|
253
|
+
warn(`must be one of: ${s.enum.join(', ')}`);
|
|
254
|
+
if (s.minLength !== undefined && value.length < s.minLength)
|
|
255
|
+
warn(`must be at least ${s.minLength} characters`);
|
|
256
|
+
if (s.maxLength !== undefined && value.length > s.maxLength)
|
|
257
|
+
warn(`must be at most ${s.maxLength} characters`);
|
|
258
|
+
if (s.pattern !== undefined && !new RegExp(s.pattern).test(value))
|
|
259
|
+
warn('does not match the required pattern');
|
|
260
|
+
if (s.format === 'email' && !/^[^@\s]+@[^@\s]+$/.test(value))
|
|
261
|
+
warn('is not a valid email address');
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
case 'number':
|
|
265
|
+
case 'integer': {
|
|
266
|
+
const n = field;
|
|
267
|
+
if (typeof value !== 'number' || Number.isNaN(value))
|
|
268
|
+
return warn('must be a number');
|
|
269
|
+
if (field.type === 'integer' && !Number.isInteger(value))
|
|
270
|
+
warn('must be a whole number');
|
|
271
|
+
if (n.minimum !== undefined && value < n.minimum)
|
|
272
|
+
warn(`must be at least ${n.minimum}`);
|
|
273
|
+
if (n.maximum !== undefined && value > n.maximum)
|
|
274
|
+
warn(`must be at most ${n.maximum}`);
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
case 'boolean':
|
|
278
|
+
if (typeof value !== 'boolean')
|
|
279
|
+
warn('must be true or false');
|
|
280
|
+
break;
|
|
281
|
+
case 'array': {
|
|
282
|
+
const a = field;
|
|
283
|
+
if (!Array.isArray(value))
|
|
284
|
+
return warn('must be a list');
|
|
285
|
+
if (a.minItems !== undefined && value.length < a.minItems)
|
|
286
|
+
warn(`needs at least ${a.minItems} items`);
|
|
287
|
+
if (a.maxItems !== undefined && value.length > a.maxItems)
|
|
288
|
+
warn(`allows at most ${a.maxItems} items`);
|
|
289
|
+
break;
|
|
290
|
+
}
|
|
291
|
+
default:
|
|
292
|
+
break;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/forms/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
* with LLM-powered task execution.
|
|
6
6
|
*/
|
|
7
7
|
export { createDeepClause } from './sdk.js';
|
|
8
|
-
export
|
|
8
|
+
export { setPrologHost, getPrologHost, recordPrologMessage } from './prolog/loader.js';
|
|
9
|
+
export * from './forms/index.js';
|
|
10
|
+
export type { PrologHost } from './prolog/loader.js';
|
|
11
|
+
export type { CompactionAction, CompactionScope, CompactionTrigger, CreateOptions, DeepClauseSDK, LLMBackend, LLMBackendMessage, LLMBackendRequest, LLMBackendResponse, LLMBackendTool, LLMBackendToolCall, LLMUsage, MemoryMessage, RunOptions, DMLEvent, TraceEntry, ToolDefinition, ToolPolicy, FormEventPayload, FormSubmitPayload, } from './types.js';
|
|
9
12
|
export { createHarnessRepl } from './repl/index.js';
|
|
10
13
|
export { DMLSession } from './repl/session.js';
|
|
11
14
|
export type { HarnessRepl, HarnessReplOptions, RunOpts, DMLQueryEvent, ReplEvent, RollbackResult } from './repl/index.js';
|
|
12
|
-
export type { DMLSessionOptions, DMLQueryOptions } from './repl/session.js';
|
|
15
|
+
export type { DMLSessionOptions, DMLQueryOptions, ProcessSession } from './repl/session.js';
|
|
13
16
|
export { formatListing, highlightProlog, reflowListing } from './repl/highlight.js';
|
|
14
17
|
export { HarnessAgent, buildAgentSystemPrompt, describeTools } from './repl/agent.js';
|
|
15
18
|
export type { HarnessAgentOptions, HarnessAgentRunOptions } from './repl/agent.js';
|
|
@@ -22,6 +25,8 @@ export type { ReplStatusSnapshot, ReplStatusTrackerOptions, StatusModelInfo, Sta
|
|
|
22
25
|
export { DEFAULT_COMPACTION_SETTINGS, SUMMARY_PREFIX, buildSummaryMessage, buildSummarizationPrompt, calculateContextTokens, compactMemory, estimateMemoryTokens, findCompactionCut, findExistingSummary, generateMemorySummary, serializeMemoryConversation, shouldCompact, toCompactionEvent, } from './repl/compaction.js';
|
|
23
26
|
export type { CompactionSettings, CompactMemoryResult, CompactMemoryReason, MemoryCompactionEvent, } from './repl/compaction.js';
|
|
24
27
|
export type { HarnessExportOptions, HarnessExportResult } from './repl/export.js';
|
|
28
|
+
export { startProcessWorker } from './repl/process-worker.js';
|
|
29
|
+
export type { ProcessWorkerPort } from './repl/process-worker.js';
|
|
25
30
|
export { createPiBackend, createPiAdapter, resolvePiPaths, selectPiModel } from './repl/backend.js';
|
|
26
31
|
export { createReplToolset, buildToolCatalog } from './repl/toolset.js';
|
|
27
32
|
export { pickFromList, filterItems, renderPick } from './repl/picker.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
* with LLM-powered task execution.
|
|
6
6
|
*/
|
|
7
7
|
export { createDeepClause } from './sdk.js';
|
|
8
|
+
// Engine host seam: lets a non-Node embedding (the browser) supply the SWI-Prolog
|
|
9
|
+
// loader and workspace mount. See docs/DML_FORMS.md-adjacent embedding notes.
|
|
10
|
+
export { setPrologHost, getPrologHost, recordPrologMessage } from './prolog/loader.js';
|
|
11
|
+
// Form spec/types/validators: reusable by a host renderer (the browser UI).
|
|
12
|
+
export * from './forms/index.js';
|
|
8
13
|
// DML REPL (goal + prompt mode) for CLI and embedding
|
|
9
14
|
export { createHarnessRepl } from './repl/index.js';
|
|
10
15
|
export { DMLSession } from './repl/session.js';
|
|
@@ -16,6 +21,8 @@ export { loadProjectContext } from './repl/project-context.js';
|
|
|
16
21
|
// RepL status accounting (status bar) and TypeScript compaction (ported from pi)
|
|
17
22
|
export { ReplStatusTracker, formatStatusLine, formatTokens, formatUsageSegment, formatContextSegment, formatModelSegment, } from './repl/status.js';
|
|
18
23
|
export { DEFAULT_COMPACTION_SETTINGS, SUMMARY_PREFIX, buildSummaryMessage, buildSummarizationPrompt, calculateContextTokens, compactMemory, estimateMemoryTokens, findCompactionCut, findExistingSummary, generateMemorySummary, serializeMemoryConversation, shouldCompact, toCompactionEvent, } from './repl/compaction.js';
|
|
24
|
+
// L2 process worker body, for hosts that run it outside `worker_threads`.
|
|
25
|
+
export { startProcessWorker } from './repl/process-worker.js';
|
|
19
26
|
export { createPiBackend, createPiAdapter, resolvePiPaths, selectPiModel } from './repl/backend.js';
|
|
20
27
|
export { createReplToolset, buildToolCatalog } from './repl/toolset.js';
|
|
21
28
|
export { pickFromList, filterItems, renderPick } from './repl/picker.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,kFAAkF;AAClF,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACvF,4EAA4E;AAC5E,cAAc,kBAAkB,CAAC;AAyBjC,sDAAsD;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpF,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,iFAAiF;AACjF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAQ9B,0EAA0E;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD,4EAA4E;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,mEAAmE;AACnE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAqB1B,iEAAiE;AACjE,0FAA0F;AAC1F,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,MAAM,GACP,MAAM,qBAAqB,CAAC"}
|
package/dist/prolog/loader.d.ts
CHANGED
|
@@ -32,6 +32,23 @@ export interface SWIPLModule {
|
|
|
32
32
|
prolog: Prolog;
|
|
33
33
|
FS: SWIPLFileSystem;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* A host-supplied engine loader, for embeddings that are not Node (the browser).
|
|
37
|
+
*
|
|
38
|
+
* The default path below mounts a host directory with NODEFS and reads the
|
|
39
|
+
* Prolog sources from disk. A browser host instead loads the WebAssembly build,
|
|
40
|
+
* writes the bundled sources into the Emscripten filesystem, and maps the
|
|
41
|
+
* workspace to an in-memory (or OPFS-backed) directory. Everything above the
|
|
42
|
+
* loader — the runner, sessions, the meta-interpreter — is unchanged.
|
|
43
|
+
*/
|
|
44
|
+
export interface PrologHost {
|
|
45
|
+
load(): Promise<SWIPLModule>;
|
|
46
|
+
mountWorkspace(swipl: SWIPLModule, workspacePath: string): void;
|
|
47
|
+
}
|
|
48
|
+
/** Install a host loader. Passing `null` restores the default Node behaviour. */
|
|
49
|
+
export declare function setPrologHost(host: PrologHost | null): void;
|
|
50
|
+
/** The installed host loader, if any. */
|
|
51
|
+
export declare function getPrologHost(): PrologHost | null;
|
|
35
52
|
/**
|
|
36
53
|
* SWI-Prolog's own stdout/stderr, captured instead of printed.
|
|
37
54
|
*
|
|
@@ -50,6 +67,7 @@ export interface PrologMessage {
|
|
|
50
67
|
text: string;
|
|
51
68
|
level: PrologMessageLevel;
|
|
52
69
|
}
|
|
70
|
+
export declare function recordPrologMessage(channel: 'stdout' | 'stderr', text: string): void;
|
|
53
71
|
/**
|
|
54
72
|
* Take everything SWI has written since the last call.
|
|
55
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/prolog/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,UAAU,KAAK;IACb,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,OAAO,CAAC;CACjB;AAGD,UAAU,MAAM;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IAC5D,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GACnD,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAGD,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,eAAe,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/prolog/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,UAAU,KAAK;IACb,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,OAAO,CAAC;CACjB;AAGD,UAAU,MAAM;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IAC5D,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GACnD,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAGD,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,eAAe,CAAC;CACrB;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACjE;AAID,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAI3D;AAED,yCAAyC;AACzC,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAmBD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAsBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQpF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CAWpD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CAwBvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAgE9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AAwDD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,EAAE,CAE3D"}
|
package/dist/prolog/loader.js
CHANGED
|
@@ -7,6 +7,17 @@ import { dirname, join, resolve } from 'path';
|
|
|
7
7
|
let swiplInstance = null;
|
|
8
8
|
let initPromise = null;
|
|
9
9
|
let currentWorkspacePath = null;
|
|
10
|
+
let prologHost = null;
|
|
11
|
+
/** Install a host loader. Passing `null` restores the default Node behaviour. */
|
|
12
|
+
export function setPrologHost(host) {
|
|
13
|
+
prologHost = host;
|
|
14
|
+
swiplInstance = null;
|
|
15
|
+
initPromise = null;
|
|
16
|
+
}
|
|
17
|
+
/** The installed host loader, if any. */
|
|
18
|
+
export function getPrologHost() {
|
|
19
|
+
return prologHost;
|
|
20
|
+
}
|
|
10
21
|
// Get the directory of this module for resolving Prolog source files
|
|
11
22
|
const __filename = fileURLToPath(import.meta.url);
|
|
12
23
|
const __dirname = dirname(__filename);
|
|
@@ -45,7 +56,7 @@ function classifyPrologMessage(channel, text) {
|
|
|
45
56
|
// Unlabelled stderr output is usually a diagnostic wearing no label.
|
|
46
57
|
return trimmed.length > 0 ? 'warning' : 'info';
|
|
47
58
|
}
|
|
48
|
-
function recordPrologMessage(channel, text) {
|
|
59
|
+
export function recordPrologMessage(channel, text) {
|
|
49
60
|
const line = text.replace(/\r?\n$/, '');
|
|
50
61
|
if (line.trim().length === 0)
|
|
51
62
|
return;
|
|
@@ -78,6 +89,16 @@ export function takePrologMessages() {
|
|
|
78
89
|
* Load and initialize SWI-Prolog WASM
|
|
79
90
|
*/
|
|
80
91
|
export async function loadProlog() {
|
|
92
|
+
// A host loader (browser) owns initialization end to end.
|
|
93
|
+
if (prologHost) {
|
|
94
|
+
if (swiplInstance)
|
|
95
|
+
return swiplInstance;
|
|
96
|
+
if (initPromise)
|
|
97
|
+
return initPromise;
|
|
98
|
+
initPromise = prologHost.load();
|
|
99
|
+
swiplInstance = await initPromise;
|
|
100
|
+
return swiplInstance;
|
|
101
|
+
}
|
|
81
102
|
// Return existing instance if available
|
|
82
103
|
if (swiplInstance) {
|
|
83
104
|
return swiplInstance;
|
|
@@ -96,6 +117,10 @@ export async function loadProlog() {
|
|
|
96
117
|
* Uses NODEFS for direct host filesystem access
|
|
97
118
|
*/
|
|
98
119
|
export function mountWorkspace(swipl, workspacePath) {
|
|
120
|
+
if (prologHost) {
|
|
121
|
+
prologHost.mountWorkspace(swipl, workspacePath);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
99
124
|
const absolutePath = resolve(workspacePath);
|
|
100
125
|
// Ensure the host directory exists
|
|
101
126
|
if (!existsSync(absolutePath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/prolog/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAyC9C,IAAI,aAAa,GAAuB,IAAI,CAAC;AAC7C,IAAI,WAAW,GAAgC,IAAI,CAAC;AACpD,IAAI,oBAAoB,GAAkB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/prolog/loader.ts"],"names":[],"mappings":"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"}
|