deepclause-sdk 0.1.2 → 0.2.1
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 +45 -6
- package/dist/cli/config.d.ts +2 -2
- package/dist/cli/repl.d.ts +55 -4
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +675 -52
- package/dist/cli/repl.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/prolog-src/deepclause_mi.pl +516 -2
- package/dist/repl/backend.d.ts +9 -0
- package/dist/repl/backend.d.ts.map +1 -1
- package/dist/repl/backend.js +62 -5
- package/dist/repl/backend.js.map +1 -1
- package/dist/repl/harness-tools.d.ts +36 -0
- package/dist/repl/harness-tools.d.ts.map +1 -1
- package/dist/repl/harness-tools.js +173 -0
- package/dist/repl/harness-tools.js.map +1 -1
- package/dist/repl/history.d.ts +29 -0
- package/dist/repl/history.d.ts.map +1 -1
- package/dist/repl/history.js +71 -0
- package/dist/repl/history.js.map +1 -1
- package/dist/repl/index.d.ts +6 -0
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +9 -1
- package/dist/repl/index.js.map +1 -1
- package/dist/repl/picker.d.ts +3 -0
- package/dist/repl/picker.d.ts.map +1 -1
- package/dist/repl/picker.js +132 -0
- package/dist/repl/picker.js.map +1 -1
- package/dist/repl/process-backend.d.ts +31 -0
- package/dist/repl/process-backend.d.ts.map +1 -0
- package/dist/repl/process-backend.js +10 -0
- package/dist/repl/process-backend.js.map +1 -0
- package/dist/repl/process-executor.d.ts +67 -0
- package/dist/repl/process-executor.d.ts.map +1 -0
- package/dist/repl/process-executor.js +371 -0
- package/dist/repl/process-executor.js.map +1 -0
- package/dist/repl/process-worker.d.ts +10 -0
- package/dist/repl/process-worker.d.ts.map +1 -0
- package/dist/repl/process-worker.js +210 -0
- package/dist/repl/process-worker.js.map +1 -0
- package/dist/repl/processes.d.ts +282 -0
- package/dist/repl/processes.d.ts.map +1 -0
- package/dist/repl/processes.js +557 -0
- package/dist/repl/processes.js.map +1 -0
- package/dist/repl/render.d.ts +52 -2
- package/dist/repl/render.d.ts.map +1 -1
- package/dist/repl/render.js +52 -17
- package/dist/repl/render.js.map +1 -1
- package/dist/repl/session.d.ts +135 -3
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +413 -4
- package/dist/repl/session.js.map +1 -1
- package/dist/repl/status.d.ts +3 -1
- package/dist/repl/status.d.ts.map +1 -1
- package/dist/repl/status.js +4 -0
- package/dist/repl/status.js.map +1 -1
- package/dist/repl/tui/autocomplete.d.ts +19 -0
- package/dist/repl/tui/autocomplete.d.ts.map +1 -0
- package/dist/repl/tui/autocomplete.js +48 -0
- package/dist/repl/tui/autocomplete.js.map +1 -0
- package/dist/repl/tui/document.d.ts +51 -0
- package/dist/repl/tui/document.d.ts.map +1 -0
- package/dist/repl/tui/document.js +160 -0
- package/dist/repl/tui/document.js.map +1 -0
- package/dist/repl/tui/harness-view.d.ts +102 -0
- package/dist/repl/tui/harness-view.d.ts.map +1 -0
- package/dist/repl/tui/harness-view.js +323 -0
- package/dist/repl/tui/harness-view.js.map +1 -0
- package/dist/repl/tui/picker.d.ts +31 -0
- package/dist/repl/tui/picker.d.ts.map +1 -0
- package/dist/repl/tui/picker.js +43 -0
- package/dist/repl/tui/picker.js.map +1 -0
- package/dist/repl/tui/renderer.d.ts +98 -0
- package/dist/repl/tui/renderer.d.ts.map +1 -0
- package/dist/repl/tui/renderer.js +289 -0
- package/dist/repl/tui/renderer.js.map +1 -0
- package/dist/repl/tui/services-panel.d.ts +35 -0
- package/dist/repl/tui/services-panel.d.ts.map +1 -0
- package/dist/repl/tui/services-panel.js +108 -0
- package/dist/repl/tui/services-panel.js.map +1 -0
- package/dist/repl/tui/status-bar.d.ts +6 -2
- package/dist/repl/tui/status-bar.d.ts.map +1 -1
- package/dist/repl/tui/status-bar.js +82 -24
- package/dist/repl/tui/status-bar.js.map +1 -1
- package/dist/repl/tui/terminal.d.ts +28 -0
- package/dist/repl/tui/terminal.d.ts.map +1 -0
- package/dist/repl/tui/terminal.js +94 -0
- package/dist/repl/tui/terminal.js.map +1 -0
- package/dist/repl/tui/theme.d.ts +60 -0
- package/dist/repl/tui/theme.d.ts.map +1 -1
- package/dist/repl/tui/theme.js +142 -0
- package/dist/repl/tui/theme.js.map +1 -1
- package/dist/repl/tui/tool-pane.d.ts +68 -0
- package/dist/repl/tui/tool-pane.d.ts.map +1 -0
- package/dist/repl/tui/tool-pane.js +261 -0
- package/dist/repl/tui/tool-pane.js.map +1 -0
- package/dist/repl/tui/working-line.d.ts +23 -0
- package/dist/repl/tui/working-line.d.ts.map +1 -0
- package/dist/repl/tui/working-line.js +58 -0
- package/dist/repl/tui/working-line.js.map +1 -0
- package/dist/repl/worker-host.d.ts +80 -0
- package/dist/repl/worker-host.d.ts.map +1 -0
- package/dist/repl/worker-host.js +305 -0
- package/dist/repl/worker-host.js.map +1 -0
- package/dist/repl/worker-protocol.d.ts +123 -0
- package/dist/repl/worker-protocol.d.ts.map +1 -0
- package/dist/repl/worker-protocol.js +9 -0
- package/dist/repl/worker-protocol.js.map +1 -0
- package/dist/runner.d.ts +24 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +47 -0
- package/dist/runner.js.map +1 -1
- package/dist/system/assets/docs/AGENT_PROMPT.md +193 -0
- package/dist/system/assets/docs/DML_AUTHORING.md +21 -0
- package/dist/system/assets/docs/DML_REFERENCE.md +145 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/prolog-src/deepclause_mi.pl +516 -2
package/README.md
CHANGED
|
@@ -383,10 +383,47 @@ See [`docs/REPL.md`](docs/REPL.md) and
|
|
|
383
383
|
### Commands
|
|
384
384
|
|
|
385
385
|
`/goal <dml>`, `/listing [filter]`, `/viz [entry] [--spec]`, `/show <path>`,
|
|
386
|
-
`/gen <prompt>`, `/
|
|
387
|
-
`/
|
|
388
|
-
`/
|
|
389
|
-
|
|
386
|
+
`/gen <prompt>`, `/spawn <goal>` (`/serve`), `/ps [--watch|--logs|--code]`,
|
|
387
|
+
`/send <name> <term>` (`/cast`), `/call <name> <term>`, `/stop <name>`,
|
|
388
|
+
`/model [id]`, `/reasoning [level]`, `/show-reasoning [mode]`,
|
|
389
|
+
`/harness [width]`, `/login`, `/help`, `/reset`, `/rollback`, `/compact [notes]`,
|
|
390
|
+
`/export [file]`, `/freeze`/`/unfreeze`, `/params`, `/trace`/`/notrace`,
|
|
391
|
+
`/halt` (aliases `/exit`, `/quit`). The legacy `goal:`/`listing.` dotted forms
|
|
392
|
+
still work.
|
|
393
|
+
|
|
394
|
+
## Subagents and concurrency
|
|
395
|
+
|
|
396
|
+
The REPL can run **subagents**: session-scoped DML processes that keep running
|
|
397
|
+
after the turn that started them, talk to each other by messages, and run in
|
|
398
|
+
parallel. Start one with `/spawn`, watch them with `/ps --watch --logs`, and
|
|
399
|
+
message them with `/send` / `/call`:
|
|
400
|
+
|
|
401
|
+
```text
|
|
402
|
+
dml> /spawn debate("Nuclear power should expand", 2)
|
|
403
|
+
spawned proc(main, sess_abc, p1)
|
|
404
|
+
dml> /ps --watch --logs
|
|
405
|
+
──────────────────────────────────────────────
|
|
406
|
+
⚙ services — 2 processes · 2 active · debater running · debater running
|
|
407
|
+
──────────────────────────────────────────────
|
|
408
|
+
debater PRO opening: the evidence supports setting a price…
|
|
409
|
+
debater CON (round 2): a price is regressive without a rebate…
|
|
410
|
+
debater ✓ set_result
|
|
411
|
+
debater › finished
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
The authoring agent uses the same machinery through its `spawn` / `ps` / `send`
|
|
415
|
+
/ `call` / `stop` / `swarm` / `wait` tools, and DML programs use the built-ins
|
|
416
|
+
directly (`spawn`, `send`/`receive`, `serve`/`service_call`, `swarm`/`pmap`). A
|
|
417
|
+
subagent runs against a **private snapshot** of the module with **value
|
|
418
|
+
semantics** — a result comes back by message, never by a shared variable — which
|
|
419
|
+
is what makes it safe to run many at once.
|
|
420
|
+
|
|
421
|
+
Execution has two modes: `--execution worker` (the default; a worker thread with
|
|
422
|
+
its own WASM — true parallelism and hard cancellation) and `--execution inline`
|
|
423
|
+
(cooperative, in-process). The same DML runs unchanged.
|
|
424
|
+
|
|
425
|
+
See [`docs/SUBAGENTS.md`](docs/SUBAGENTS.md) for the model, the surface, the
|
|
426
|
+
Erlang/BEAM inspiration, and the L1/L2 seam.
|
|
390
427
|
|
|
391
428
|
## Install
|
|
392
429
|
|
|
@@ -595,7 +632,8 @@ const { valid, errors, warnings } = await validateWithProlog(dmlSource);
|
|
|
595
632
|
|
|
596
633
|
```text
|
|
597
634
|
src/
|
|
598
|
-
├── repl/ # living-module REPL (session, agent, render, history, media,
|
|
635
|
+
├── repl/ # living-module REPL (session, agent, render, history, media,
|
|
636
|
+
│ # processes, process-executor, worker-host, models)
|
|
599
637
|
├── cli/ # init, run, repl, login, set-backend, visualize
|
|
600
638
|
├── visualize/ # diagrams: Mermaid → Unicode tree / SVG / PNG + terminal graphics
|
|
601
639
|
├── system/ # shell/AgentVM, config, model database + catalog, bundled docs
|
|
@@ -624,7 +662,8 @@ npm test # vitest
|
|
|
624
662
|
npm run repl # deepclause repl via tsx
|
|
625
663
|
```
|
|
626
664
|
|
|
627
|
-
See [`docs/`](docs/): [`
|
|
665
|
+
See [`docs/`](docs/): [`SUBAGENTS.md`](docs/SUBAGENTS.md) (subagents and
|
|
666
|
+
concurrency), [`STATUS.md`](docs/STATUS.md) (current state),
|
|
628
667
|
[`REPL.md`](docs/REPL.md),
|
|
629
668
|
[`DML_REPL_PROPOSAL.md`](docs/DML_REPL_PROPOSAL.md),
|
|
630
669
|
[`DML_REPL_SESSION_HISTORY.md`](docs/DML_REPL_SESSION_HISTORY.md),
|
package/dist/cli/config.d.ts
CHANGED
|
@@ -420,6 +420,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
420
420
|
inlineJson?: boolean | undefined;
|
|
421
421
|
} | undefined;
|
|
422
422
|
tools?: string[] | null | undefined;
|
|
423
|
+
render?: "rich" | "plain" | "json" | undefined;
|
|
423
424
|
harness?: string | undefined;
|
|
424
425
|
exportOnExit?: boolean | undefined;
|
|
425
426
|
exportPath?: string | undefined;
|
|
@@ -431,7 +432,6 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
431
432
|
writeDepth?: number | undefined;
|
|
432
433
|
promptPrefix?: string | undefined;
|
|
433
434
|
tui?: "auto" | "off" | "on" | undefined;
|
|
434
|
-
render?: "rich" | "plain" | "json" | undefined;
|
|
435
435
|
showReasoning?: "summary" | "off" | "full" | undefined;
|
|
436
436
|
showToolArgs?: boolean | undefined;
|
|
437
437
|
maxToolResultChars?: number | undefined;
|
|
@@ -695,6 +695,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
695
695
|
inlineJson?: boolean | undefined;
|
|
696
696
|
} | undefined;
|
|
697
697
|
tools?: string[] | null | undefined;
|
|
698
|
+
render?: "rich" | "plain" | "json" | undefined;
|
|
698
699
|
harness?: string | undefined;
|
|
699
700
|
exportOnExit?: boolean | undefined;
|
|
700
701
|
exportPath?: string | undefined;
|
|
@@ -706,7 +707,6 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
706
707
|
writeDepth?: number | undefined;
|
|
707
708
|
promptPrefix?: string | undefined;
|
|
708
709
|
tui?: "auto" | "off" | "on" | undefined;
|
|
709
|
-
render?: "rich" | "plain" | "json" | undefined;
|
|
710
710
|
showReasoning?: "summary" | "off" | "full" | undefined;
|
|
711
711
|
showToolArgs?: boolean | undefined;
|
|
712
712
|
maxToolResultChars?: number | undefined;
|
package/dist/cli/repl.d.ts
CHANGED
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { Command } from 'commander';
|
|
10
10
|
import { type HarnessRepl } from '../repl/index.js';
|
|
11
|
-
import {
|
|
11
|
+
import { type ReplEventRenderer } from '../repl/render.js';
|
|
12
12
|
import { type ReplStatusSnapshot } from '../repl/status.js';
|
|
13
13
|
import { type ReplToolset } from '../repl/toolset.js';
|
|
14
|
+
import { type ModelResolver } from '../repl/model-resolver.js';
|
|
14
15
|
import type { ImageBackend } from '../types.js';
|
|
15
16
|
import { type DiagramMode, type GraphicsMode } from '../visualize/index.js';
|
|
16
17
|
export interface ReplCliOptions {
|
|
@@ -54,6 +55,8 @@ export interface ReplCliOptions {
|
|
|
54
55
|
sandbox?: boolean;
|
|
55
56
|
/** Refuse to start unless the effective shell backend is a sandbox. */
|
|
56
57
|
requireSandbox?: boolean;
|
|
58
|
+
/** Start with the live harness side view open (experiment; `/harness` toggles). */
|
|
59
|
+
harnessView?: boolean;
|
|
57
60
|
noAsk?: boolean;
|
|
58
61
|
answer?: string;
|
|
59
62
|
interactiveInput?: boolean;
|
|
@@ -63,6 +66,10 @@ export interface ReplCliOptions {
|
|
|
63
66
|
open?: boolean;
|
|
64
67
|
/** Interactive UI: auto (TUI on a TTY), on, or off. */
|
|
65
68
|
tui?: 'auto' | 'on' | 'off';
|
|
69
|
+
/** Process execution mode: inline (L1, default) or worker (L2, planned). */
|
|
70
|
+
execution?: 'inline' | 'worker';
|
|
71
|
+
/** Worker pool size for `--execution worker`. */
|
|
72
|
+
workers?: number;
|
|
66
73
|
}
|
|
67
74
|
export type ReplInput = {
|
|
68
75
|
kind: 'empty';
|
|
@@ -85,6 +92,14 @@ export type ReplInput = {
|
|
|
85
92
|
} | {
|
|
86
93
|
kind: 'model';
|
|
87
94
|
model?: string;
|
|
95
|
+
} | {
|
|
96
|
+
kind: 'harness';
|
|
97
|
+
width?: string;
|
|
98
|
+
} | {
|
|
99
|
+
kind: 'reasoning';
|
|
100
|
+
level?: string;
|
|
101
|
+
} | {
|
|
102
|
+
kind: 'show-reasoning';
|
|
88
103
|
} | {
|
|
89
104
|
kind: 'export';
|
|
90
105
|
path?: string;
|
|
@@ -115,6 +130,28 @@ export type ReplInput = {
|
|
|
115
130
|
} | {
|
|
116
131
|
kind: 'prompt';
|
|
117
132
|
prompt: string;
|
|
133
|
+
} | {
|
|
134
|
+
kind: 'spawn';
|
|
135
|
+
goal: string;
|
|
136
|
+
name?: string;
|
|
137
|
+
} | {
|
|
138
|
+
kind: 'ps';
|
|
139
|
+
watch?: boolean;
|
|
140
|
+
logs?: boolean;
|
|
141
|
+
code?: string;
|
|
142
|
+
} | {
|
|
143
|
+
kind: 'login';
|
|
144
|
+
} | {
|
|
145
|
+
kind: 'send';
|
|
146
|
+
target: string;
|
|
147
|
+
message: string;
|
|
148
|
+
} | {
|
|
149
|
+
kind: 'call';
|
|
150
|
+
target: string;
|
|
151
|
+
message: string;
|
|
152
|
+
} | {
|
|
153
|
+
kind: 'stop';
|
|
154
|
+
target: string;
|
|
118
155
|
} | {
|
|
119
156
|
kind: 'unknown-command';
|
|
120
157
|
name: string;
|
|
@@ -130,6 +167,11 @@ export declare function formatTurnInput(turn: {
|
|
|
130
167
|
mode: 'goal' | 'prompt';
|
|
131
168
|
request: string;
|
|
132
169
|
}): string;
|
|
170
|
+
/**
|
|
171
|
+
* Slash commands are executed (or queued), never steered into a running model
|
|
172
|
+
* turn: `/send`, `/call`, `/ps`, `/stop` … address processes, not the model.
|
|
173
|
+
*/
|
|
174
|
+
export declare function isSlashCommand(line: string): boolean;
|
|
133
175
|
/**
|
|
134
176
|
* Classify one REPL input line.
|
|
135
177
|
*
|
|
@@ -141,7 +183,7 @@ export declare function classifyReplInput(line: string): ReplInput;
|
|
|
141
183
|
/** Run one goal and render its solutions. Returns a process exit code. */
|
|
142
184
|
export declare function runGoalWithRenderer(repl: HarnessRepl, goal: string, options: {
|
|
143
185
|
first?: boolean;
|
|
144
|
-
renderer:
|
|
186
|
+
renderer: ReplEventRenderer;
|
|
145
187
|
signal?: AbortSignal;
|
|
146
188
|
}): Promise<number>;
|
|
147
189
|
/**
|
|
@@ -153,7 +195,8 @@ export declare function runGoalWithRenderer(repl: HarnessRepl, goal: string, opt
|
|
|
153
195
|
export declare function buildCliOnInput(options: ReplCliOptions): ((prompt: string, choices?: string[]) => Promise<string | undefined>) | undefined;
|
|
154
196
|
export interface ReplRuntime {
|
|
155
197
|
repl: HarnessRepl;
|
|
156
|
-
renderer
|
|
198
|
+
/** String renderer for plain/json output, or the TUI's component renderer. */
|
|
199
|
+
renderer: ReplEventRenderer;
|
|
157
200
|
workspace: string;
|
|
158
201
|
promptPrefix: string;
|
|
159
202
|
toolset: ReplToolset;
|
|
@@ -165,6 +208,14 @@ export interface ReplRuntime {
|
|
|
165
208
|
/** Active model capabilities (pi backend), used by the status bar. */
|
|
166
209
|
contextWindow?: number;
|
|
167
210
|
reasoning: boolean;
|
|
211
|
+
/** How much model reasoning the renderer shows (the picker changes this live). */
|
|
212
|
+
reasoningMode: 'off' | 'summary' | 'full';
|
|
213
|
+
/** Models this session can switch to, for the model picker. */
|
|
214
|
+
modelResolver?: ModelResolver;
|
|
215
|
+
/** The backend, so a picker can change the reasoning level live. */
|
|
216
|
+
llmBackend?: import('../types.js').LLMBackend;
|
|
217
|
+
/** Set the reasoning level shown in the status bar. */
|
|
218
|
+
setThinkingLevel?: (level: string | undefined) => void;
|
|
168
219
|
thinkingLevel?: string;
|
|
169
220
|
/** Session id of this run. */
|
|
170
221
|
sessionId: string;
|
|
@@ -198,7 +249,7 @@ export declare function dispatchReplInput(runtime: ReplRuntime, input: ReplInput
|
|
|
198
249
|
exportPath?: string;
|
|
199
250
|
signal?: AbortSignal;
|
|
200
251
|
}): Promise<boolean>;
|
|
201
|
-
export declare function runInteractiveGoal(repl: HarnessRepl, renderer:
|
|
252
|
+
export declare function runInteractiveGoal(repl: HarnessRepl, renderer: ReplEventRenderer, goal: string, options: ReplCliOptions, ask: (query: string) => Promise<string | null>, signal?: AbortSignal): Promise<void>;
|
|
202
253
|
/**
|
|
203
254
|
* Interactive TUI for the REPL: a scrolling transcript, a fixed editor, and a
|
|
204
255
|
* fixed status bar below the input. It reuses `ReplRenderer` (rich mode) for all
|
package/dist/cli/repl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/cli/repl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/cli/repl.ts"],"names":[],"mappings":"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"}
|