deepclause-sdk 0.2.1 → 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 +146 -5
  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 +650 -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 +112 -7
  71. package/dist/repl/session.d.ts.map +1 -1
  72. package/dist/repl/session.js +241 -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 +361 -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 +441 -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 +234 -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 +9 -7
  114. package/src/prolog-src/deepclause_mi.pl +650 -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,7 +23,16 @@ 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';
28
+ /**
29
+ * Context note added when a saved session is reloaded. The opening words are
30
+ * also the de-duplication marker in `repl_note_resumed/2` — keep them in sync.
31
+ */
32
+ const RESUME_NOTE = 'This session was reloaded from a saved snapshot and its transient state was reset: '
33
+ + 'the harness and conversation memory were restored, but any subagents/services running '
34
+ + 'before are gone. Re-create anything you still need.';
35
+ const RESUME_NOTE_PREFIX = 'This session was reloaded';
27
36
  let sessionCounter = 0;
28
37
  /**
29
38
  * One human, one editor: human-channel requests from the foreground and from any
@@ -54,6 +63,10 @@ function historyEventFromRecord(record) {
54
63
  toolState: record.toolState,
55
64
  toolSummary: typeof record.toolSummary === 'string' ? record.toolSummary : undefined,
56
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,
57
70
  };
58
71
  case 'solution':
59
72
  return {
@@ -117,6 +130,8 @@ export class DMLSession {
117
130
  tools;
118
131
  toolPolicy;
119
132
  inputHandler;
133
+ /** Host-side interaction for an opened form (docs/DML_FORMS.md). */
134
+ formHandler;
120
135
  maxDepth;
121
136
  maxModelCalls;
122
137
  hostToolsCatalog;
@@ -147,6 +162,7 @@ export class DMLSession {
147
162
  modelCallBudget;
148
163
  dmlReference;
149
164
  dmlAuthoring;
165
+ dmlForms;
150
166
  harnessExamples;
151
167
  harnessPatterns;
152
168
  prologSnippets;
@@ -167,6 +183,8 @@ export class DMLSession {
167
183
  /** Session-scoped subagents (spec §2). */
168
184
  processBackend;
169
185
  processBackendPromise;
186
+ /** Form host state (docs/DML_FORMS.md); active only when the harness opts in. */
187
+ forms = new FormRegistry();
170
188
  /**
171
189
  * The harness snapshot new processes should run. On the main session this is
172
190
  * unset (children snapshot the live module); a worker host sets it to the
@@ -195,6 +213,7 @@ export class DMLSession {
195
213
  ?? (options.askUser ? (prompt, choices) => options.askUser(prompt, choices).then((r) => ('cancelled' in r ? undefined : r.answer)) : undefined)
196
214
  ?? options.onInputRequired
197
215
  ?? undefined;
216
+ this.formHandler = options.onForm;
198
217
  this.maxDepth = options.maxDepth ?? 3;
199
218
  this.maxModelCalls = options.maxModelCalls ?? 100;
200
219
  this.modelCallBudget = this.maxModelCalls;
@@ -217,6 +236,7 @@ export class DMLSession {
217
236
  this.runner = new DMLRunner(swipl, {
218
237
  ...options.runnerOptions,
219
238
  environment: this.executionEnvironment,
239
+ capabilityTool: options.capabilityTool,
220
240
  compactMessages: options.compaction
221
241
  ? (messages, lastInputTokens, contextWindow) => this.compactLoopMessages(messages, lastInputTokens, contextWindow)
222
242
  : undefined,
@@ -242,9 +262,10 @@ export class DMLSession {
242
262
  const store = new HistoryStore(options.workspacePath ?? process.cwd(), session.sessionId, options.history, session.harnessName);
243
263
  snapshot = await store.readSessionHarness();
244
264
  session.recordedServices = await store.readServiceRecords();
245
- if (!snapshot) {
246
- throw new Error(`session not found or has no saved harness: ${session.sessionId}`);
247
- }
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.
248
269
  }
249
270
  const sessionParams = {
250
271
  workspace_path: options.workspacePath ?? './',
@@ -272,6 +293,7 @@ export class DMLSession {
272
293
  session.agentMessages = snapshot.memory.agent;
273
294
  }
274
295
  await session.restoreHarnessFromHistory(snapshot);
296
+ session.noteSessionResumed();
275
297
  }
276
298
  else if (session.autoLoadHarness) {
277
299
  // One harness per name: a fresh session starts from the harness's current
@@ -283,6 +305,27 @@ export class DMLSession {
283
305
  session.warnHistory(new Error(`could not load harness '${session.harnessName}': ${loaded.error}`));
284
306
  }
285
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
+ }
286
329
  }
287
330
  return session;
288
331
  }
@@ -345,7 +388,12 @@ export class DMLSession {
345
388
  };
346
389
  if (mode === 'worker') {
347
390
  const { RemoteProcessHost } = await import('./worker-host.js');
348
- 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
+ });
349
397
  await host.start();
350
398
  this.processBackend = host;
351
399
  return host;
@@ -401,7 +449,7 @@ export class DMLSession {
401
449
  * Events from the resumed session, to render it on load. Empty unless this
402
450
  * session was opened with `resume` and history is enabled.
403
451
  */
404
- async resumedTranscript(limit = 400) {
452
+ async resumedTranscript(limit = Number.POSITIVE_INFINITY) {
405
453
  if (!this.resume || !this.history)
406
454
  return [];
407
455
  const records = await this.history.readEvents(this.sessionId, limit);
@@ -472,11 +520,40 @@ export class DMLSession {
472
520
  sendProcess(to, messageTerm) {
473
521
  this.processBackend?.send(to, messageTerm);
474
522
  }
475
- /** Request/reply against a service process (library(service) protocol). */
476
- async callProcess(to, messageTerm, timeoutMs = 300_000) {
477
- 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);
478
556
  }
479
- /** Resolve a process primitive for this (non-process) foreground run. */
480
557
  async handleForeground(request, signal) {
481
558
  return (await this.ensureProcessBackend()).foregroundHandle(request, signal);
482
559
  }
@@ -561,7 +638,12 @@ export class DMLSession {
561
638
  * (a swarm item reports `failed`, say), whereas throwing would kill the process
562
639
  * before it can report and leave a waiting parent hanging.
563
640
  */
564
- 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
+ }
565
647
  const text = this.processSnapshotFor().text;
566
648
  const child = await DMLSession.open({
567
649
  ...this.openOptions,
@@ -692,6 +774,19 @@ export class DMLSession {
692
774
  this.warnHistory(error);
693
775
  }
694
776
  }
777
+ /**
778
+ * Note in the model's context that this session was restored. Without it an
779
+ * agent can assume work from a previous run is still alive — a subagent, a
780
+ * service, an in-flight job — when the runtime state is gone. The note is
781
+ * replaced (not stacked) across repeated resumes.
782
+ */
783
+ noteSessionResumed() {
784
+ this.prologQuery(`deepclause_mi:repl_note_resumed('${this.sessionId}', ${quoteString(RESUME_NOTE)})`);
785
+ this.agentMessages = [
786
+ ...this.agentMessages.filter((message) => !message.content.startsWith(RESUME_NOTE_PREFIX)),
787
+ { role: 'system', content: RESUME_NOTE },
788
+ ];
789
+ }
695
790
  /**
696
791
  * Restore a resumed session's harness from its durable snapshot and continue
697
792
  * its turn numbering. The saved module is a restore, not a user load, so it
@@ -838,6 +933,25 @@ export class DMLSession {
838
933
  return undefined;
839
934
  }
840
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
+ }
841
955
  async finishHistoryTurn(record) {
842
956
  if (!this.history)
843
957
  return;
@@ -920,6 +1034,7 @@ export class DMLSession {
920
1034
  this.turnCounter += 1;
921
1035
  const historyTurn = this.turnCounter;
922
1036
  const historyStart = Date.now();
1037
+ await this.recordHistoryTurnStart({ turn: historyTurn, mode: 'goal', request: goal });
923
1038
  const frame = this.runner.registerDefaultFrame(frameKind);
924
1039
  if (!frame) {
925
1040
  yield { type: 'error', content: 'Failed to create query frame' };
@@ -954,6 +1069,7 @@ export class DMLSession {
954
1069
  durationMs: Date.now() - historyStart,
955
1070
  modelCalls: this.modelCallsThisTurn,
956
1071
  });
1072
+ await this.persistSessionHarness(this.history?.currentVersion ?? 0);
957
1073
  }
958
1074
  /** Load the bundled DML reference once, for inclusion in the meta prompt. */
959
1075
  async loadDmlReference() {
@@ -983,6 +1099,17 @@ export class DMLSession {
983
1099
  }
984
1100
  /** Load a bundled doc asset once (cached by field). */
985
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
+ }
986
1113
  const cached = name === 'harness-examples'
987
1114
  ? this.harnessExamples
988
1115
  : name === 'harness-patterns'
@@ -1264,6 +1391,7 @@ export class DMLSession {
1264
1391
  this.turnCounter += 1;
1265
1392
  const turn = this.turnCounter;
1266
1393
  const historyStart = Date.now();
1394
+ await this.recordHistoryTurnStart({ turn, mode: 'prompt', request });
1267
1395
  this.lastTurnCommitted = false;
1268
1396
  this.lastCommitVersion = undefined;
1269
1397
  // No automatic transaction: `define`/`assert`/… are refused until the agent
@@ -1367,6 +1495,7 @@ export class DMLSession {
1367
1495
  : undefined,
1368
1496
  workspacePath: this.workspacePath,
1369
1497
  environment: this.executionEnvironment,
1498
+ capabilityTool: this.openOptions.capabilityTool,
1370
1499
  currentModel: `${this.provider}:${this.model}`,
1371
1500
  modelCatalog: this.modelResolver?.catalog(),
1372
1501
  knownMessages: this.agentMessages,
@@ -1519,8 +1648,8 @@ export class DMLSession {
1519
1648
  }
1520
1649
  const before = this.transactionBefore;
1521
1650
  const after = this.predicateList();
1522
- const changed = this.simplePredicateDiff(before, after);
1523
1651
  const touched = this.editTouched();
1652
+ const changed = this.simplePredicateDiff(before, after, touched);
1524
1653
  this.transactionBefore = null;
1525
1654
  const committed = this.transactionDirty;
1526
1655
  let version;
@@ -1545,6 +1674,61 @@ export class DMLSession {
1545
1674
  warnings.push(...this.probeToolContracts());
1546
1675
  warnings.push(...this.probeDocContracts());
1547
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
+ ];
1548
1732
  return { committed: true, changed, warnings };
1549
1733
  }
1550
1734
  /**
@@ -1636,13 +1820,27 @@ export class DMLSession {
1636
1820
  this.lastCommitVersion = undefined;
1637
1821
  this.transactionDirty = false;
1638
1822
  }
1639
- 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 = []) {
1640
1834
  const beforeSet = new Set(before);
1641
1835
  const afterSet = new Set(after);
1836
+ const touchedSet = new Set(touched);
1642
1837
  const changed = [];
1643
- for (const predicate of after)
1838
+ for (const predicate of after) {
1644
1839
  if (!beforeSet.has(predicate))
1645
1840
  changed.push(`+${predicate}`);
1841
+ else if (touchedSet.has(predicate))
1842
+ changed.push(`~${predicate}`);
1843
+ }
1646
1844
  for (const predicate of before)
1647
1845
  if (!afterSet.has(predicate))
1648
1846
  changed.push(`-${predicate}`);
@@ -1724,13 +1922,16 @@ export class DMLSession {
1724
1922
  return this.loadDocAsset('harness-patterns');
1725
1923
  case 'snippets':
1726
1924
  return this.loadDocAsset('prolog-snippets');
1925
+ case 'forms':
1926
+ case 'dml-forms':
1927
+ return this.loadDocAsset('dml-forms');
1727
1928
  case 'tools':
1728
1929
  return this.hostToolsCatalog ?? '(no host capability tools registered)';
1729
1930
  default:
1730
- 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.`;
1731
1932
  }
1732
1933
  }
1733
- async execute(goal, limit, signal, onEvent, bindingMode = 'full') {
1934
+ async execute(goal, limit, signal, onEvent, bindingMode = 'full', _timeoutMs) {
1734
1935
  return this.executeGoal(goal, limit ?? 5, onEvent, signal, bindingMode);
1735
1936
  }
1736
1937
  /**
@@ -1781,6 +1982,7 @@ export class DMLSession {
1781
1982
  onInputRequired: inputHandler
1782
1983
  ? (prompt) => this.requireInput(prompt)
1783
1984
  : async () => undefined,
1985
+ onForm: this.formHandler,
1784
1986
  signal: options.signal,
1785
1987
  onModelCall: () => this.reserveModelCall(),
1786
1988
  // A run that is not itself a process resolves primitives through the
@@ -1788,9 +1990,33 @@ export class DMLSession {
1788
1990
  onProcessRequest: options.process
1789
1991
  ? (request, signal) => options.process.handle(request, signal)
1790
1992
  : (request, signal) => this.handleForeground(request, signal),
1993
+ forms: this.forms,
1791
1994
  };
1792
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
+ }
1793
2015
  // ---- TypeScript compaction (ported from pi) ----
2016
+ /** Read the live harness memory (for disposable execute workers). */
2017
+ harnessMemory() {
2018
+ return this.getMemory('harness');
2019
+ }
1794
2020
  /** Read a live memory slot as `MemoryMessage[]`. */
1795
2021
  getMemory(slot) {
1796
2022
  const result = this.prologQuery(`deepclause_mi:repl_get_memory('${this.sessionId}', ${slot}, Messages)`);