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.
Files changed (114) hide show
  1. package/README.md +72 -3
  2. package/dist/agent.d.ts +17 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +148 -42
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cli/config.d.ts +12 -12
  7. package/dist/cli/repl.d.ts +13 -1
  8. package/dist/cli/repl.d.ts.map +1 -1
  9. package/dist/cli/repl.js +145 -4
  10. package/dist/cli/repl.js.map +1 -1
  11. package/dist/forms/index.d.ts +3 -0
  12. package/dist/forms/index.d.ts.map +1 -0
  13. package/dist/forms/index.js +3 -0
  14. package/dist/forms/index.js.map +1 -0
  15. package/dist/forms/registry.d.ts +119 -0
  16. package/dist/forms/registry.d.ts.map +1 -0
  17. package/dist/forms/registry.js +256 -0
  18. package/dist/forms/registry.js.map +1 -0
  19. package/dist/forms/spec.d.ts +193 -0
  20. package/dist/forms/spec.d.ts.map +1 -0
  21. package/dist/forms/spec.js +295 -0
  22. package/dist/forms/spec.js.map +1 -0
  23. package/dist/index.d.ts +7 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +7 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/prolog/loader.d.ts +18 -0
  28. package/dist/prolog/loader.d.ts.map +1 -1
  29. package/dist/prolog/loader.js +26 -1
  30. package/dist/prolog/loader.js.map +1 -1
  31. package/dist/prolog-src/deepclause_mi.pl +619 -28
  32. package/dist/repl/agent.d.ts +4 -0
  33. package/dist/repl/agent.d.ts.map +1 -1
  34. package/dist/repl/agent.js +2 -0
  35. package/dist/repl/agent.js.map +1 -1
  36. package/dist/repl/form-widget.d.ts +56 -0
  37. package/dist/repl/form-widget.d.ts.map +1 -0
  38. package/dist/repl/form-widget.js +289 -0
  39. package/dist/repl/form-widget.js.map +1 -0
  40. package/dist/repl/harness-tools.d.ts +3 -1
  41. package/dist/repl/harness-tools.d.ts.map +1 -1
  42. package/dist/repl/harness-tools.js +13 -56
  43. package/dist/repl/harness-tools.js.map +1 -1
  44. package/dist/repl/history.d.ts +2 -1
  45. package/dist/repl/history.d.ts.map +1 -1
  46. package/dist/repl/history.js +34 -8
  47. package/dist/repl/history.js.map +1 -1
  48. package/dist/repl/index.d.ts +14 -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/process-backend.d.ts +2 -2
  53. package/dist/repl/process-backend.d.ts.map +1 -1
  54. package/dist/repl/process-executor.d.ts +11 -2
  55. package/dist/repl/process-executor.d.ts.map +1 -1
  56. package/dist/repl/process-executor.js +67 -18
  57. package/dist/repl/process-executor.js.map +1 -1
  58. package/dist/repl/process-worker.d.ts +35 -4
  59. package/dist/repl/process-worker.d.ts.map +1 -1
  60. package/dist/repl/process-worker.js +78 -38
  61. package/dist/repl/process-worker.js.map +1 -1
  62. package/dist/repl/processes.d.ts +4 -0
  63. package/dist/repl/processes.d.ts.map +1 -1
  64. package/dist/repl/processes.js +20 -0
  65. package/dist/repl/processes.js.map +1 -1
  66. package/dist/repl/render.d.ts +17 -0
  67. package/dist/repl/render.d.ts.map +1 -1
  68. package/dist/repl/render.js +50 -0
  69. package/dist/repl/render.js.map +1 -1
  70. package/dist/repl/session.d.ts +105 -7
  71. package/dist/repl/session.d.ts.map +1 -1
  72. package/dist/repl/session.js +219 -15
  73. package/dist/repl/session.js.map +1 -1
  74. package/dist/repl/tui/form-view.d.ts +17 -0
  75. package/dist/repl/tui/form-view.d.ts.map +1 -0
  76. package/dist/repl/tui/form-view.js +25 -0
  77. package/dist/repl/tui/form-view.js.map +1 -0
  78. package/dist/repl/tui/renderer.d.ts +4 -0
  79. package/dist/repl/tui/renderer.d.ts.map +1 -1
  80. package/dist/repl/tui/renderer.js +12 -0
  81. package/dist/repl/tui/renderer.js.map +1 -1
  82. package/dist/repl/worker-host.d.ts +16 -2
  83. package/dist/repl/worker-host.d.ts.map +1 -1
  84. package/dist/repl/worker-host.js +38 -6
  85. package/dist/repl/worker-host.js.map +1 -1
  86. package/dist/repl/worker-protocol.d.ts +14 -0
  87. package/dist/repl/worker-protocol.d.ts.map +1 -1
  88. package/dist/repl/worker-protocol.js +8 -1
  89. package/dist/repl/worker-protocol.js.map +1 -1
  90. package/dist/runner.d.ts +63 -1
  91. package/dist/runner.d.ts.map +1 -1
  92. package/dist/runner.js +350 -40
  93. package/dist/runner.js.map +1 -1
  94. package/dist/sdk.d.ts.map +1 -1
  95. package/dist/sdk.js +12 -0
  96. package/dist/sdk.js.map +1 -1
  97. package/dist/system/assets/docs/AGENT_PROMPT.md +387 -18
  98. package/dist/system/assets/docs/CHAT_PROMPT.md +28 -0
  99. package/dist/system/assets/docs/DML_AUTHORING.md +1 -1
  100. package/dist/system/assets/docs/DML_FORMS.md +740 -0
  101. package/dist/system/assets/docs/DML_REFERENCE.md +180 -4
  102. package/dist/system/assets/docs/HARNESS_EXAMPLES.md +94 -0
  103. package/dist/system/assets/index.d.ts +2 -2
  104. package/dist/system/assets/index.d.ts.map +1 -1
  105. package/dist/system/assets/index.js +4 -0
  106. package/dist/system/assets/index.js.map +1 -1
  107. package/dist/system/environment.d.ts +6 -0
  108. package/dist/system/environment.d.ts.map +1 -1
  109. package/dist/system/environment.js +5 -4
  110. package/dist/system/environment.js.map +1 -1
  111. package/dist/types.d.ts +35 -1
  112. package/dist/types.d.ts.map +1 -1
  113. package/package.json +4 -2
  114. package/src/prolog-src/deepclause_mi.pl +619 -28
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/repl/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/repl/session.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ import { buildHarnessHeader, } from './export.js';
23
23
  import { HistoryStore, harnessHash, moduleVersion, } from './history.js';
24
24
  import { buildDiagramPrompt, extractMermaid, parseMermaidFlowchart, rasterizeSvg, renderFlowchartSvg, renderMermaidAscii, resolveMedia, validateMermaid, } from '../visualize/index.js';
25
25
  import { generateLlmReply } from '../prolog/bridge.js';
26
+ import { FormRegistry } from '../forms/registry.js';
26
27
  import { formatModelCatalogEntry } from './model-resolver.js';
27
28
  /**
28
29
  * Context note added when a saved session is reloaded. The opening words are
@@ -62,6 +63,10 @@ function historyEventFromRecord(record) {
62
63
  toolState: record.toolState,
63
64
  toolSummary: typeof record.toolSummary === 'string' ? record.toolSummary : undefined,
64
65
  toolArgs: record.toolArgs,
66
+ toolResult: record.toolResult,
67
+ toolError: typeof record.toolError === 'string' ? record.toolError : undefined,
68
+ toolDurationMs: typeof record.toolDurationMs === 'number' ? record.toolDurationMs : undefined,
69
+ toolExitCode: typeof record.toolExitCode === 'number' ? record.toolExitCode : undefined,
65
70
  };
66
71
  case 'solution':
67
72
  return {
@@ -125,6 +130,8 @@ export class DMLSession {
125
130
  tools;
126
131
  toolPolicy;
127
132
  inputHandler;
133
+ /** Host-side interaction for an opened form (docs/DML_FORMS.md). */
134
+ formHandler;
128
135
  maxDepth;
129
136
  maxModelCalls;
130
137
  hostToolsCatalog;
@@ -155,6 +162,7 @@ export class DMLSession {
155
162
  modelCallBudget;
156
163
  dmlReference;
157
164
  dmlAuthoring;
165
+ dmlForms;
158
166
  harnessExamples;
159
167
  harnessPatterns;
160
168
  prologSnippets;
@@ -175,6 +183,8 @@ export class DMLSession {
175
183
  /** Session-scoped subagents (spec §2). */
176
184
  processBackend;
177
185
  processBackendPromise;
186
+ /** Form host state (docs/DML_FORMS.md); active only when the harness opts in. */
187
+ forms = new FormRegistry();
178
188
  /**
179
189
  * The harness snapshot new processes should run. On the main session this is
180
190
  * unset (children snapshot the live module); a worker host sets it to the
@@ -203,6 +213,7 @@ export class DMLSession {
203
213
  ?? (options.askUser ? (prompt, choices) => options.askUser(prompt, choices).then((r) => ('cancelled' in r ? undefined : r.answer)) : undefined)
204
214
  ?? options.onInputRequired
205
215
  ?? undefined;
216
+ this.formHandler = options.onForm;
206
217
  this.maxDepth = options.maxDepth ?? 3;
207
218
  this.maxModelCalls = options.maxModelCalls ?? 100;
208
219
  this.modelCallBudget = this.maxModelCalls;
@@ -225,6 +236,7 @@ export class DMLSession {
225
236
  this.runner = new DMLRunner(swipl, {
226
237
  ...options.runnerOptions,
227
238
  environment: this.executionEnvironment,
239
+ capabilityTool: options.capabilityTool,
228
240
  compactMessages: options.compaction
229
241
  ? (messages, lastInputTokens, contextWindow) => this.compactLoopMessages(messages, lastInputTokens, contextWindow)
230
242
  : undefined,
@@ -250,9 +262,10 @@ export class DMLSession {
250
262
  const store = new HistoryStore(options.workspacePath ?? process.cwd(), session.sessionId, options.history, session.harnessName);
251
263
  snapshot = await store.readSessionHarness();
252
264
  session.recordedServices = await store.readServiceRecords();
253
- if (!snapshot) {
254
- throw new Error(`session not found or has no saved harness: ${session.sessionId}`);
255
- }
265
+ // A session can have a transcript but no harness snapshot (older builds,
266
+ // or a turn interrupted before its first commit). Resume it from the
267
+ // current harness instead of refusing to open it; the transcript reader
268
+ // still restores every turn and event it has.
256
269
  }
257
270
  const sessionParams = {
258
271
  workspace_path: options.workspacePath ?? './',
@@ -292,6 +305,27 @@ export class DMLSession {
292
305
  session.warnHistory(new Error(`could not load harness '${session.harnessName}': ${loaded.error}`));
293
306
  }
294
307
  }
308
+ if (options.resume)
309
+ session.noteSessionResumed();
310
+ }
311
+ // Creating a session (or loading a harness) can move SWI's cwd away from the
312
+ // workspace, so reassert it before any goal runs — with the **mounted** path.
313
+ // `mountWorkspace` puts every workspace at `/workspace` and points both
314
+ // Emscripten's cwd and SWI's there; the host path is not in the WASM filesystem,
315
+ // so asserting *that* throws (harmlessly in the main thread, but it means the
316
+ // reassert never happened where it was needed).
317
+ //
318
+ // `working_directory/2` is process-global, so this is only meaningful while a
319
+ // process has one mount — true for every session today, since the mount itself
320
+ // is process-global. Query with `.once()`: `prolog.call()` returns an
321
+ // unexecuted query and wedges the next one.
322
+ if (options.workspacePath) {
323
+ try {
324
+ swipl.prolog.query("working_directory(_, '/workspace').").once();
325
+ }
326
+ catch {
327
+ /* non-fatal: absolute paths still resolve */
328
+ }
295
329
  }
296
330
  return session;
297
331
  }
@@ -354,7 +388,12 @@ export class DMLSession {
354
388
  };
355
389
  if (mode === 'worker') {
356
390
  const { RemoteProcessHost } = await import('./worker-host.js');
357
- const host = new RemoteProcessHost(this, { onEvent });
391
+ const host = new RemoteProcessHost(this, {
392
+ onEvent,
393
+ workerFactory: this.openOptions.processWorkerFactory,
394
+ beforeStart: this.openOptions.beforeProcessStart,
395
+ beforeSpawn: this.openOptions.beforeProcessSpawn,
396
+ });
358
397
  await host.start();
359
398
  this.processBackend = host;
360
399
  return host;
@@ -410,7 +449,7 @@ export class DMLSession {
410
449
  * Events from the resumed session, to render it on load. Empty unless this
411
450
  * session was opened with `resume` and history is enabled.
412
451
  */
413
- async resumedTranscript(limit = 400) {
452
+ async resumedTranscript(limit = Number.POSITIVE_INFINITY) {
414
453
  if (!this.resume || !this.history)
415
454
  return [];
416
455
  const records = await this.history.readEvents(this.sessionId, limit);
@@ -481,11 +520,40 @@ export class DMLSession {
481
520
  sendProcess(to, messageTerm) {
482
521
  this.processBackend?.send(to, messageTerm);
483
522
  }
484
- /** Request/reply against a service process (library(service) protocol). */
485
- async callProcess(to, messageTerm, timeoutMs = 300_000) {
486
- return (await this.ensureProcessBackend()).callTerm(to, messageTerm, timeoutMs);
523
+ /**
524
+ * Request/reply against a service process (library(service) protocol).
525
+ *
526
+ * The message is normalized first: prose ("hello from the REPL") is not a
527
+ * Prolog term, and interpolating it into `request(From, Ref, …)` used to leave
528
+ * the caller waiting out the timeout while the service failed to parse the goal.
529
+ */
530
+ async callProcess(to, messageTerm, timeoutMs = 30_000, signal) {
531
+ return (await this.ensureProcessBackend()).callTerm(to, this.normalizeMessage(messageTerm), timeoutMs, signal);
532
+ }
533
+ /** Quote a `call` message that does not parse as a term, so it is a payload. */
534
+ normalizeMessage(text) {
535
+ if (!text.trim())
536
+ return 'true';
537
+ const result = this.prologQuery(`deepclause_mi:repl_normalize_message(${quoteString(text)}, Term)`);
538
+ return String(plainValue(result?.Term) ?? text);
539
+ }
540
+ /** The synthetic pid shared by foreground/execute work in this session. */
541
+ async processHostPid() {
542
+ const backend = await this.ensureProcessBackend();
543
+ const hostPid = backend.hostPid?.();
544
+ if (!hostPid)
545
+ throw new Error('this process backend has no host pid');
546
+ return hostPid;
547
+ }
548
+ /** Handle a process primitive on behalf of a remote child session. */
549
+ async handleProcessRequest(pid, request, signal) {
550
+ const backend = await this.ensureProcessBackend();
551
+ const candidate = backend;
552
+ if (typeof candidate.handleRequest !== 'function') {
553
+ throw new Error('this process backend cannot service remote child requests');
554
+ }
555
+ return candidate.handleRequest(pid, request, signal);
487
556
  }
488
- /** Resolve a process primitive for this (non-process) foreground run. */
489
557
  async handleForeground(request, signal) {
490
558
  return (await this.ensureProcessBackend()).foregroundHandle(request, signal);
491
559
  }
@@ -570,7 +638,12 @@ export class DMLSession {
570
638
  * (a swarm item reports `failed`, say), whereas throwing would kill the process
571
639
  * before it can report and leave a waiting parent hanging.
572
640
  */
573
- async createProcessSession() {
641
+ async createProcessSession(pid) {
642
+ if (this.openOptions.createProcessSession) {
643
+ if (!pid)
644
+ throw new Error('createProcessSession requires a pid');
645
+ return this.openOptions.createProcessSession(pid);
646
+ }
574
647
  const text = this.processSnapshotFor().text;
575
648
  const child = await DMLSession.open({
576
649
  ...this.openOptions,
@@ -860,6 +933,25 @@ export class DMLSession {
860
933
  return undefined;
861
934
  }
862
935
  }
936
+ /** Write the user turn immediately, so an interrupted turn keeps its request. */
937
+ async recordHistoryTurnStart(record) {
938
+ if (!this.history)
939
+ return;
940
+ try {
941
+ this.assertHistoryFacts(await this.history.recordTurn({
942
+ ...record,
943
+ outcome: 'running',
944
+ durationMs: 0,
945
+ modelCalls: 0,
946
+ }));
947
+ // Snapshot before the turn as well: an interrupted turn then still has a
948
+ // resumable harness and transcript, not just the previous turn's files.
949
+ await this.persistSessionHarness(this.history.currentVersion);
950
+ }
951
+ catch (error) {
952
+ this.warnHistory(error);
953
+ }
954
+ }
863
955
  async finishHistoryTurn(record) {
864
956
  if (!this.history)
865
957
  return;
@@ -942,6 +1034,7 @@ export class DMLSession {
942
1034
  this.turnCounter += 1;
943
1035
  const historyTurn = this.turnCounter;
944
1036
  const historyStart = Date.now();
1037
+ await this.recordHistoryTurnStart({ turn: historyTurn, mode: 'goal', request: goal });
945
1038
  const frame = this.runner.registerDefaultFrame(frameKind);
946
1039
  if (!frame) {
947
1040
  yield { type: 'error', content: 'Failed to create query frame' };
@@ -976,6 +1069,7 @@ export class DMLSession {
976
1069
  durationMs: Date.now() - historyStart,
977
1070
  modelCalls: this.modelCallsThisTurn,
978
1071
  });
1072
+ await this.persistSessionHarness(this.history?.currentVersion ?? 0);
979
1073
  }
980
1074
  /** Load the bundled DML reference once, for inclusion in the meta prompt. */
981
1075
  async loadDmlReference() {
@@ -1005,6 +1099,17 @@ export class DMLSession {
1005
1099
  }
1006
1100
  /** Load a bundled doc asset once (cached by field). */
1007
1101
  async loadDocAsset(name) {
1102
+ if (name === 'dml-forms') {
1103
+ if (this.dmlForms !== undefined)
1104
+ return this.dmlForms;
1105
+ try {
1106
+ this.dmlForms = await fs.readFile(getWorkspaceDocAssetPath('dml-forms'), 'utf8');
1107
+ }
1108
+ catch {
1109
+ this.dmlForms = '';
1110
+ }
1111
+ return this.dmlForms;
1112
+ }
1008
1113
  const cached = name === 'harness-examples'
1009
1114
  ? this.harnessExamples
1010
1115
  : name === 'harness-patterns'
@@ -1286,6 +1391,7 @@ export class DMLSession {
1286
1391
  this.turnCounter += 1;
1287
1392
  const turn = this.turnCounter;
1288
1393
  const historyStart = Date.now();
1394
+ await this.recordHistoryTurnStart({ turn, mode: 'prompt', request });
1289
1395
  this.lastTurnCommitted = false;
1290
1396
  this.lastCommitVersion = undefined;
1291
1397
  // No automatic transaction: `define`/`assert`/… are refused until the agent
@@ -1389,6 +1495,7 @@ export class DMLSession {
1389
1495
  : undefined,
1390
1496
  workspacePath: this.workspacePath,
1391
1497
  environment: this.executionEnvironment,
1498
+ capabilityTool: this.openOptions.capabilityTool,
1392
1499
  currentModel: `${this.provider}:${this.model}`,
1393
1500
  modelCatalog: this.modelResolver?.catalog(),
1394
1501
  knownMessages: this.agentMessages,
@@ -1541,8 +1648,8 @@ export class DMLSession {
1541
1648
  }
1542
1649
  const before = this.transactionBefore;
1543
1650
  const after = this.predicateList();
1544
- const changed = this.simplePredicateDiff(before, after);
1545
1651
  const touched = this.editTouched();
1652
+ const changed = this.simplePredicateDiff(before, after, touched);
1546
1653
  this.transactionBefore = null;
1547
1654
  const committed = this.transactionDirty;
1548
1655
  let version;
@@ -1567,6 +1674,61 @@ export class DMLSession {
1567
1674
  warnings.push(...this.probeToolContracts());
1568
1675
  warnings.push(...this.probeDocContracts());
1569
1676
  }
1677
+ // `committed` means a version was recorded. It used to be hard-coded `true`,
1678
+ // so a turn whose every edit was refused reported `{committed: true,
1679
+ // changed: []}` — which reads as "committed, nothing changed" and hides that
1680
+ // the edit never landed.
1681
+ return { committed, changed, warnings };
1682
+ }
1683
+ /**
1684
+ * The living module serialized as loadable DML (the editable harness source).
1685
+ * `header: none` keeps it free of the export banner, so it round-trips through
1686
+ * `replaceHarness` without accumulating comments.
1687
+ */
1688
+ async harnessSource() {
1689
+ const result = this.prologQuery(`deepclause_mi:export_harness('${this.sessionId}', none, Text)`);
1690
+ return String(plainValue(result?.Text) ?? '');
1691
+ }
1692
+ /**
1693
+ * Replace the whole living module with `source` and commit it as a new
1694
+ * version.
1695
+ *
1696
+ * `loadCode` only adds/replaces clauses, so a predicate deleted from the text
1697
+ * would survive. This abolishes the user predicates (and their directives,
1698
+ * tools and sources) and reloads the text, preserving conversation memory, so
1699
+ * the editor's text is the source of truth. The result is an ordinary commit:
1700
+ * a history version, the persisted harness, and the same contract warnings.
1701
+ */
1702
+ async replaceHarness(source) {
1703
+ if (this.disposed)
1704
+ return { committed: false, error: 'Session has been disposed' };
1705
+ if (this.isFrozen())
1706
+ return { committed: false, error: 'harness is frozen; editing is disabled' };
1707
+ // `repl_rollback` abolishes the predicates *before* loading, so a syntax error
1708
+ // would otherwise leave the session empty. Keep the previous text and put it
1709
+ // back if the new source does not load.
1710
+ const previous = await this.harnessSource();
1711
+ const before = this.predicateList();
1712
+ const result = this.prologQuery(`deepclause_mi:repl_rollback('${this.sessionId}', ${quoteString(source)}, Result)`);
1713
+ const outcome = plainValue(result?.Result);
1714
+ if (outcome !== 'ok') {
1715
+ this.prologQuery(`deepclause_mi:repl_rollback('${this.sessionId}', ${quoteString(previous)}, _)`);
1716
+ return { committed: false, error: String(outcome ?? 'replace failed') };
1717
+ }
1718
+ const after = this.predicateList();
1719
+ const changed = this.simplePredicateDiff(before, after);
1720
+ let version;
1721
+ if (this.history) {
1722
+ version = await this.recordHistoryChange('commit', this.turnCounter, before, { touched: after });
1723
+ }
1724
+ this.lastTurnCommitted = true;
1725
+ this.lastCommitVersion = version;
1726
+ await this.persistSessionHarness(this.history?.currentVersion ?? 0);
1727
+ const warnings = [
1728
+ ...(await this.probeNondeterminism(after)),
1729
+ ...this.probeToolContracts(),
1730
+ ...this.probeDocContracts(),
1731
+ ];
1570
1732
  return { committed: true, changed, warnings };
1571
1733
  }
1572
1734
  /**
@@ -1658,13 +1820,27 @@ export class DMLSession {
1658
1820
  this.lastCommitVersion = undefined;
1659
1821
  this.transactionDirty = false;
1660
1822
  }
1661
- simplePredicateDiff(before, after) {
1823
+ /**
1824
+ * `+f/1` added, `-f/1` removed, `~f/1` rewritten in place.
1825
+ *
1826
+ * A set diff alone reports `[]` when a predicate is replaced by a new definition
1827
+ * with the same name and arity — the most common edit there is. An agent that
1828
+ * reads `changed` as "did my edit land?" was then told nothing had happened
1829
+ * while the clause block had in fact been swapped. `touched` is what makes the
1830
+ * rewrite visible: the edit tools replace by abolish-and-reassert, so anything
1831
+ * they touched and that still exists was rewritten.
1832
+ */
1833
+ simplePredicateDiff(before, after, touched = []) {
1662
1834
  const beforeSet = new Set(before);
1663
1835
  const afterSet = new Set(after);
1836
+ const touchedSet = new Set(touched);
1664
1837
  const changed = [];
1665
- for (const predicate of after)
1838
+ for (const predicate of after) {
1666
1839
  if (!beforeSet.has(predicate))
1667
1840
  changed.push(`+${predicate}`);
1841
+ else if (touchedSet.has(predicate))
1842
+ changed.push(`~${predicate}`);
1843
+ }
1668
1844
  for (const predicate of before)
1669
1845
  if (!afterSet.has(predicate))
1670
1846
  changed.push(`-${predicate}`);
@@ -1746,13 +1922,16 @@ export class DMLSession {
1746
1922
  return this.loadDocAsset('harness-patterns');
1747
1923
  case 'snippets':
1748
1924
  return this.loadDocAsset('prolog-snippets');
1925
+ case 'forms':
1926
+ case 'dml-forms':
1927
+ return this.loadDocAsset('dml-forms');
1749
1928
  case 'tools':
1750
1929
  return this.hostToolsCatalog ?? '(no host capability tools registered)';
1751
1930
  default:
1752
- return `unknown reference topic '${topic}'. Topics: language, authoring, examples, patterns, snippets, tools.`;
1931
+ return `unknown reference topic '${topic}'. Topics: language, authoring, examples, patterns, snippets, forms, tools.`;
1753
1932
  }
1754
1933
  }
1755
- async execute(goal, limit, signal, onEvent, bindingMode = 'full') {
1934
+ async execute(goal, limit, signal, onEvent, bindingMode = 'full', _timeoutMs) {
1756
1935
  return this.executeGoal(goal, limit ?? 5, onEvent, signal, bindingMode);
1757
1936
  }
1758
1937
  /**
@@ -1803,6 +1982,7 @@ export class DMLSession {
1803
1982
  onInputRequired: inputHandler
1804
1983
  ? (prompt) => this.requireInput(prompt)
1805
1984
  : async () => undefined,
1985
+ onForm: this.formHandler,
1806
1986
  signal: options.signal,
1807
1987
  onModelCall: () => this.reserveModelCall(),
1808
1988
  // A run that is not itself a process resolves primitives through the
@@ -1810,9 +1990,33 @@ export class DMLSession {
1810
1990
  onProcessRequest: options.process
1811
1991
  ? (request, signal) => options.process.handle(request, signal)
1812
1992
  : (request, signal) => this.handleForeground(request, signal),
1993
+ forms: this.forms,
1813
1994
  };
1814
1995
  }
1996
+ /** The session's form host (docs/DML_FORMS.md). */
1997
+ formRegistry() {
1998
+ return this.forms;
1999
+ }
2000
+ /** Install the host-side interaction for opened forms. */
2001
+ setFormHandler(handler) {
2002
+ this.formHandler = handler;
2003
+ }
2004
+ /**
2005
+ * Send a form action from the UI (the REPL's half of the form protocol).
2006
+ * Resolves an `await_form`/`wait_for_form_change` blocked in the session.
2007
+ */
2008
+ submitForm(formId, change) {
2009
+ const record = this.forms.get(formId);
2010
+ if (!record || record.state !== 'open')
2011
+ return false;
2012
+ this.forms.submit(formId, change.action, change.values ?? {}, change.errors ?? []);
2013
+ return true;
2014
+ }
1815
2015
  // ---- TypeScript compaction (ported from pi) ----
2016
+ /** Read the live harness memory (for disposable execute workers). */
2017
+ harnessMemory() {
2018
+ return this.getMemory('harness');
2019
+ }
1816
2020
  /** Read a live memory slot as `MemoryMessage[]`. */
1817
2021
  getMemory(slot) {
1818
2022
  const result = this.prologQuery(`deepclause_mi:repl_get_memory('${this.sessionId}', ${slot}, Messages)`);