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.
- 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 +146 -5
- 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 +650 -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 +112 -7
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +241 -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 +361 -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 +441 -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 +234 -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 +9 -7
- package/src/prolog-src/deepclause_mi.pl +650 -28
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
- [system/1, user/1](#memory-predicates)
|
|
16
16
|
- [output/1, yield/1, log/1](#output-predicates)
|
|
17
17
|
- [answer/1](#answer1)
|
|
18
|
+
- [Forms (structured human input)](#forms-structured-human-input)
|
|
19
|
+
- [Conversation: `chat/1` and `input/1`](#conversation-chat1-and-input1)
|
|
18
20
|
- [Processes and concurrency](#processes-and-concurrency)
|
|
19
21
|
- [Control Flow](#control-flow)
|
|
20
22
|
- [String Interpolation](#string-interpolation)
|
|
@@ -384,6 +386,13 @@ A command is also killed when it produces no output for `DC_HOST_SHELL_IDLE_TIME
|
|
|
384
386
|
(default 180 000 ms); `DC_HOST_SHELL_TIMEOUT_MS` sets a default wall-clock cap
|
|
385
387
|
(0 = disabled). Exit code `124` means a timeout.
|
|
386
388
|
|
|
389
|
+
**The host may refuse a tool.** A session can set a tool **policy** — a whitelist
|
|
390
|
+
or blacklist, by name or glob. A refused `exec/2` fails exactly as a tool that
|
|
391
|
+
returned failure, and the reason is reported to the operator. The policy applies
|
|
392
|
+
to *every* `exec/2`, including one inside a `tool/2` body, so a tool cannot reach
|
|
393
|
+
a capability the policy blocked. `ask_user` is exempt: it is the human channel,
|
|
394
|
+
not a capability.
|
|
395
|
+
|
|
387
396
|
---
|
|
388
397
|
|
|
389
398
|
### Tool Definitions
|
|
@@ -405,6 +414,29 @@ tool(count_words(File, Count), "Count words in a workspace file.") :-
|
|
|
405
414
|
count_words(File, Count).
|
|
406
415
|
```
|
|
407
416
|
|
|
417
|
+
The tool head's **last argument is the output**; the ones before it are inputs. A
|
|
418
|
+
tool that needs more than one input therefore needs a **result argument**: a write
|
|
419
|
+
tool is `fs_write(Path, Content, Result)`, not `fs_write(Path, Content)` —
|
|
420
|
+
otherwise the content is taken for the output, the model is never offered a way
|
|
421
|
+
to pass it, and the write silently does nothing.
|
|
422
|
+
|
|
423
|
+
```prolog
|
|
424
|
+
fs_write(Path, Content, ok) :-
|
|
425
|
+
file_directory_name(Path, Dir),
|
|
426
|
+
( Dir == "." -> true ; make_directory_path(Dir) ),
|
|
427
|
+
write_file(Path, Content).
|
|
428
|
+
|
|
429
|
+
tool(fs_write(Path, Content, Result),
|
|
430
|
+
"Write a text file, creating parent directories.",
|
|
431
|
+
[string, string]) :-
|
|
432
|
+
fs_write(Path, Content, Result).
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
`tool/3` takes the **input types** after the description, in order, one per input
|
|
436
|
+
(`[string, string]` above); the last argument is still the output. A tool whose
|
|
437
|
+
output argument is left unbound fails with an explanation rather than reporting a
|
|
438
|
+
silent success.
|
|
439
|
+
|
|
408
440
|
The head and its delegate must have the **same name and the same arity**. The
|
|
409
441
|
tool body is what runs when the nested agent calls the tool, so a body that
|
|
410
442
|
calls a different arity either calls nothing (`existence_error`) or calls the
|
|
@@ -690,6 +722,29 @@ agent_main :-
|
|
|
690
722
|
answer("Explained!").
|
|
691
723
|
```
|
|
692
724
|
|
|
725
|
+
#### `push_context` / `pop_context`
|
|
726
|
+
|
|
727
|
+
Save the current memory to a stack and restore it, which makes memory
|
|
728
|
+
**backtrackable**. `push_context(clear)` also empties the active memory.
|
|
729
|
+
|
|
730
|
+
```prolog
|
|
731
|
+
agent_main(Draft) :-
|
|
732
|
+
push_context(clear),
|
|
733
|
+
system("You are a terse reviewer."),
|
|
734
|
+
task("Review this in one line: {Draft}", string(Note)),
|
|
735
|
+
pop_context,
|
|
736
|
+
answer(Note).
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
#### `clear_memory`
|
|
740
|
+
|
|
741
|
+
Clear the active memory without saving it.
|
|
742
|
+
|
|
743
|
+
#### `get_memory(-Messages)`
|
|
744
|
+
|
|
745
|
+
Bind the current memory as a list of `message{role, content, media}` dicts, for a
|
|
746
|
+
predicate that needs to inspect or rebuild it.
|
|
747
|
+
|
|
693
748
|
---
|
|
694
749
|
|
|
695
750
|
### Media Predicates
|
|
@@ -718,6 +773,12 @@ agent_main :-
|
|
|
718
773
|
Memory stores `media{path, mime}` — never the image bytes. Judgments
|
|
719
774
|
(`choose`/`rate`/`verify`/`probability`) stay text-only.
|
|
720
775
|
|
|
776
|
+
#### `save_image(+Media, +OutPath)`
|
|
777
|
+
|
|
778
|
+
Write a media reference to a workspace file — a copied image
|
|
779
|
+
(`save_image(media("in.png", "image/png"), "out.png")`) or inline SVG
|
|
780
|
+
(`save_image(media{svg: Svg}, "out.svg")`). Parent directories must exist.
|
|
781
|
+
|
|
721
782
|
---
|
|
722
783
|
|
|
723
784
|
#### Running a command with data in it
|
|
@@ -886,6 +947,165 @@ agent_main :-
|
|
|
886
947
|
|
|
887
948
|
---
|
|
888
949
|
|
|
950
|
+
### Human input
|
|
951
|
+
|
|
952
|
+
#### `input(+Prompt, -Input)`
|
|
953
|
+
|
|
954
|
+
Ask the human and bind their reply. In the REPL this opens the editor's input
|
|
955
|
+
prompt; in a non-interactive run (`-g`, piped stdin, CI) it **fails** rather than
|
|
956
|
+
hang, so guard it when a goal may run unattended:
|
|
957
|
+
|
|
958
|
+
```prolog
|
|
959
|
+
asker(Question, Answer) :-
|
|
960
|
+
( input(Question, Answer)
|
|
961
|
+
-> true
|
|
962
|
+
; Answer = "(no answer available)"
|
|
963
|
+
).
|
|
964
|
+
```
|
|
965
|
+
|
|
966
|
+
### Conversation: `chat/1` and `input/1`
|
|
967
|
+
|
|
968
|
+
A conversation is a harness that talks with the person over many turns and acts
|
|
969
|
+
between them. Failures of `input/1` end the loop.
|
|
970
|
+
|
|
971
|
+
`write/1`, `writeln/1` and `format/2` are captured as output events in the REPL
|
|
972
|
+
(and in `execute`); outside it they write to the process stdout as usual.
|
|
973
|
+
|
|
974
|
+
#### `input(-Message)`
|
|
975
|
+
|
|
976
|
+
Wait for the person's **next message**, with no prompt — the embedding UI is a
|
|
977
|
+
chat interface and is already asking. Fails when there is nobody to talk to (a
|
|
978
|
+
non-interactive run), which is how a conversation loop ends:
|
|
979
|
+
|
|
980
|
+
```prolog
|
|
981
|
+
loop :-
|
|
982
|
+
input(A),
|
|
983
|
+
chat(A),
|
|
984
|
+
loop.
|
|
985
|
+
```
|
|
986
|
+
|
|
987
|
+
`input/2` (with a prompt) is for a question inside a task; `input/1` is the turn
|
|
988
|
+
boundary of a conversation.
|
|
989
|
+
|
|
990
|
+
#### `next(-Item)`
|
|
991
|
+
|
|
992
|
+
The next thing from the conversation **inbox**: `user(Text)` when the person
|
|
993
|
+
speaks, or `message(Term)` when a worker (a subagent or service) sent this
|
|
994
|
+
session a message. Fails when there is nothing left. This is how a conversation
|
|
995
|
+
also reacts to events, without polling:
|
|
996
|
+
|
|
997
|
+
```prolog
|
|
998
|
+
loop(Me) :- next(Item), handle(Me, Item), loop(Me).
|
|
999
|
+
|
|
1000
|
+
handle(_, user(Text)) :- chat(Text).
|
|
1001
|
+
handle(_, message(mail(M))) :- system("New email."), chat("Summarise: {M}").
|
|
1002
|
+
```
|
|
1003
|
+
|
|
1004
|
+
`input/1` is `next/1` restricted to the person — a worker's message that arrives
|
|
1005
|
+
first stays queued for `next/1`.
|
|
1006
|
+
|
|
1007
|
+
#### `chat(+Message)` / `chat(+Message, -Reply)`
|
|
1008
|
+
|
|
1009
|
+
One **conversational turn**: append `Message` as the user message, run the agent
|
|
1010
|
+
loop with every `tool/N` the harness declares, and stop when the model stops
|
|
1011
|
+
calling tools. A traditional agent loop — no `finish`, no `set_result`, no
|
|
1012
|
+
nudging. The reply is streamed to the UI and kept in memory, so the next `chat/1`
|
|
1013
|
+
sees the conversation; `chat/2` also binds the last assistant message.
|
|
1014
|
+
|
|
1015
|
+
```prolog
|
|
1016
|
+
agent_main :-
|
|
1017
|
+
system("You are a support assistant. Be brief."),
|
|
1018
|
+
loop.
|
|
1019
|
+
|
|
1020
|
+
loop :- input(A), chat(A), loop.
|
|
1021
|
+
```
|
|
1022
|
+
|
|
1023
|
+
Use it as the foreground goal (not inside `execute` or a subagent). A turn may
|
|
1024
|
+
open a form, so structured input fits inside a conversation. **A failed turn does
|
|
1025
|
+
not end the conversation**: `chat/1` reports the failure, leaves memory as it was,
|
|
1026
|
+
and the next message starts a fresh turn. See
|
|
1027
|
+
[`docs/DML_CONVERSATION.md`](../../../../docs/DML_CONVERSATION.md).
|
|
1028
|
+
|
|
1029
|
+
### Forms (structured human input)
|
|
1030
|
+
|
|
1031
|
+
A form asks the human for typed, validated input and hands the values back keyed
|
|
1032
|
+
by field name. Forms are always available — there is no directive and nothing to
|
|
1033
|
+
enable.
|
|
1034
|
+
|
|
1035
|
+
**Two shapes**, by where the fields come from: **dynamic** — the model designs
|
|
1036
|
+
the form from a description (give `task/N` the form tools); **fixed** — the spec
|
|
1037
|
+
is written in the code, with no model. Both use the same registry and the same
|
|
1038
|
+
validation.
|
|
1039
|
+
|
|
1040
|
+
**The spec.** `version` is not needed and a field's `type` defaults to `string`:
|
|
1041
|
+
|
|
1042
|
+
```prolog
|
|
1043
|
+
Spec = _{ title: "Refund request",
|
|
1044
|
+
fields: [ _{name: amount, type: number, required: true},
|
|
1045
|
+
_{name: reason, type: string, widget: select, required: true,
|
|
1046
|
+
enum: ["duplicate_charge", "not_received", "other"]},
|
|
1047
|
+
_{name: notes, widget: textarea, maxLength: 500} ],
|
|
1048
|
+
actions: [ _{name: submit, title: "Issue refund", kind: primary},
|
|
1049
|
+
_{name: cancel, title: "Cancel", kind: link} ] }.
|
|
1050
|
+
```
|
|
1051
|
+
|
|
1052
|
+
Field `type` is `string` (default), `number`, `integer`, `boolean`, or an
|
|
1053
|
+
`object` / `array` group; `enum` requires a `string` field. `widget` is a
|
|
1054
|
+
presentation hint only — `text | textarea | number | slider | select | radio |
|
|
1055
|
+
multiselect | checkbox | switch | date | time | datetime | hidden` — and never
|
|
1056
|
+
affects validation. `actions` defaults to submit/cancel.
|
|
1057
|
+
|
|
1058
|
+
**Dynamic: a model drives the loop.** Give `task/N` the form tools and it
|
|
1059
|
+
designs the form from the prompt, waits, and reports:
|
|
1060
|
+
|
|
1061
|
+
```prolog
|
|
1062
|
+
with_tools([render_form, wait_for_form_change, close_form, set_result, finish],
|
|
1063
|
+
task("Ask for the amount and a reason, then report what the user entered.",
|
|
1064
|
+
string(Summary)))
|
|
1065
|
+
```
|
|
1066
|
+
|
|
1067
|
+
The model's three calls: `render_form(Spec)` → a form id;
|
|
1068
|
+
`wait_for_form_change(FormId)` → `{action, values, changed, errors}` with
|
|
1069
|
+
`action` = `"submit"` | `"cancel"`; `close_form(FormId)`.
|
|
1070
|
+
|
|
1071
|
+
In a **conversation** (`chat/1`) the third leg is optional: a chat turn does not
|
|
1072
|
+
end while a form it opened is still unanswered, so it waits for the person and
|
|
1073
|
+
hands back the submission. `wait_for_form_change` is then only needed for another
|
|
1074
|
+
round on a form you kept open.
|
|
1075
|
+
|
|
1076
|
+
**Fixed: the harness drives it itself**, with no model, using the primitives
|
|
1077
|
+
`form/2`, `form_update/2`, `form_errors/2`, `await_form/2,3` and `close_form/1`:
|
|
1078
|
+
|
|
1079
|
+
```prolog
|
|
1080
|
+
agent_main :-
|
|
1081
|
+
form(Spec, F), % render; F is the form handle
|
|
1082
|
+
await_form(F, Change), % blocks until the user acts
|
|
1083
|
+
close_form(F),
|
|
1084
|
+
( Change.action == submit % an atom: submit, cancel, …
|
|
1085
|
+
-> Change.values = Values % dict keyed by field name
|
|
1086
|
+
; Values = _{}
|
|
1087
|
+
).
|
|
1088
|
+
```
|
|
1089
|
+
|
|
1090
|
+
`Change` is `{ formId, revision, action, values, changed, errors }`; `action` is
|
|
1091
|
+
an **atom**.
|
|
1092
|
+
|
|
1093
|
+
**Validation is the host's.** On a submit the host enforces the spec (`required`,
|
|
1094
|
+
`enum`, ranges, `pattern`, lengths) and the harness's `form_validate(+Values,
|
|
1095
|
+
-Errors)`. A refused submit is never returned: the host puts the errors on the
|
|
1096
|
+
form and `await_form/2` / `wait_for_form_change` keeps waiting. Soft rules go in
|
|
1097
|
+
`form_advisories(+Values, -Advisories)` (never blocking; the `advisories` tool).
|
|
1098
|
+
|
|
1099
|
+
`form/2` and friends are **host handlers, not clauses**, so
|
|
1100
|
+
`current_predicate(form/2)` reports `no` — exactly as it does for `exec/2`. That
|
|
1101
|
+
is expected; it does not mean forms are unavailable. The model-facing tools
|
|
1102
|
+
(`render_form`, `update_form`, `set_form_issues`, `wait_for_form_change`,
|
|
1103
|
+
`validate_form`, `advisories`, `close_form`) are built in.
|
|
1104
|
+
|
|
1105
|
+
Full reference: `reference("forms")`.
|
|
1106
|
+
|
|
1107
|
+
---
|
|
1108
|
+
|
|
889
1109
|
## Processes and concurrency
|
|
890
1110
|
|
|
891
1111
|
A **process** (a "subagent") is an isolated DML execution with its own private
|
|
@@ -927,8 +1147,11 @@ collect([Topic|Topics], [Topic-Summary|Rest]) :-
|
|
|
927
1147
|
collect(Topics, Rest).
|
|
928
1148
|
```
|
|
929
1149
|
|
|
930
|
-
`spawn_opt/3` takes
|
|
931
|
-
(`foreground`/`interactive`/`background`), `timeout` (ms)
|
|
1150
|
+
`spawn_opt/3` takes the keys `name`, `priority`
|
|
1151
|
+
(`foreground`/`interactive`/`background`), `timeout` (ms) and `code` — as a dict
|
|
1152
|
+
(`_{name: worker}`), a list (`[name(worker), priority(background)]`) or a single
|
|
1153
|
+
option (`name(worker)`). An option it does not understand is an error; it used to
|
|
1154
|
+
be ignored, so the process silently kept its default label.
|
|
932
1155
|
|
|
933
1156
|
The goal's shape decides the lifecycle:
|
|
934
1157
|
|
|
@@ -957,9 +1180,11 @@ session; `whereis(Name, Pid)` resolves it. A name is released when the process
|
|
|
957
1180
|
exits. A process's default label is its goal's functor, so `send(keeper, stop)`
|
|
958
1181
|
reaches an unregistered `keeper/…` process.
|
|
959
1182
|
|
|
960
|
-
### `serve(+Name, +Goal)` / `service_call(+Target, +Request, -Reply[, +Timeout])` / `service_cast(+Target, +Message)`
|
|
1183
|
+
### `serve(+Name, +Goal[, -Pid])` / `service_call(+Target, +Request, -Reply[, +Timeout])` / `service_cast(+Target, +Message)`
|
|
961
1184
|
|
|
962
|
-
`serve/2` is `spawn/2` + `register/2
|
|
1185
|
+
`serve/2` is `spawn/2` + `register/2` and binds nothing; `serve/3` also binds the
|
|
1186
|
+
pid (what you need to `stop`, `wait` or link it — `spawn/2` already returns one, so
|
|
1187
|
+
there is no separate "options" argument). `service_call` sends
|
|
963
1188
|
`request(Self, Ref, Request)` and waits for `reply(Ref, Reply)`, ignoring other
|
|
964
1189
|
messages; `service_cast` sends without waiting. A service is an ordinary
|
|
965
1190
|
`receive` loop:
|
|
@@ -974,6 +1199,11 @@ counter_service(Count) :-
|
|
|
974
1199
|
).
|
|
975
1200
|
```
|
|
976
1201
|
|
|
1202
|
+
|
|
1203
|
+
The process is labelled with `Name` (not the goal functor), so `ps`, `whereis/2`
|
|
1204
|
+
and `service_call/3` all use the same handle. `process_info/2` reports both the
|
|
1205
|
+
label and the registered names, and its `usage` counts model tokens — a relay
|
|
1206
|
+
service shows zeros while running.
|
|
977
1207
|
### `swarm(+Worker, +Items, -Results[, +Concurrency])` / `pmap(+Worker, +Items, -Values)`
|
|
978
1208
|
|
|
979
1209
|
Run `call(Worker, Item, Value)` once per item, each in its own process, and
|
|
@@ -170,3 +170,97 @@ describe_image(Path, Text) :-
|
|
|
170
170
|
Images are files; `media(Path, Mime)` is the reference. The bytes are read from
|
|
171
171
|
the workspace at call time, only PNG/JPEG/GIF/WebP are accepted, and they never
|
|
172
172
|
enter clauses or memory. Judgments stay text-only.
|
|
173
|
+
|
|
174
|
+
## 9. Forms: structured input from the user
|
|
175
|
+
|
|
176
|
+
Use a form when the program needs **typed, validated** input rather than free
|
|
177
|
+
text. Forms are always available — no directive, nothing to import.
|
|
178
|
+
|
|
179
|
+
**Let the model design and drive the form** (the usual shape). Give `task/N` the
|
|
180
|
+
form tools and describe what you need:
|
|
181
|
+
|
|
182
|
+
```prolog
|
|
183
|
+
doc(collect_claim/0, "Collect an expense claim and report it. Example: /goal collect_claim.").
|
|
184
|
+
|
|
185
|
+
collect_claim(Summary) :-
|
|
186
|
+
system("You collect a new expense claim. Ask for the vendor, the amount and a note."),
|
|
187
|
+
with_tools([render_form, wait_for_form_change, close_form, set_result, finish],
|
|
188
|
+
task("Ask for the three fields, then report exactly what the user entered.",
|
|
189
|
+
string(Summary))).
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The model's loop is three calls: `render_form(spec)` → a form id,
|
|
193
|
+
`wait_for_form_change(formId)` → `{action, values}`, `close_form(formId)`.
|
|
194
|
+
|
|
195
|
+
**Or drive it from DML**, with no model:
|
|
196
|
+
|
|
197
|
+
```prolog
|
|
198
|
+
doc(claim_form/1, "Collect an expense claim. claim_form(-Values) returns the entered values.").
|
|
199
|
+
|
|
200
|
+
claim_form(Values) :-
|
|
201
|
+
form(_{ title: "New expense claim",
|
|
202
|
+
fields: [ _{name: vendor, type: string, required: true},
|
|
203
|
+
_{name: amount, type: integer, required: true, minimum: 0},
|
|
204
|
+
_{name: notes, widget: textarea} ] }, F),
|
|
205
|
+
await_form(F, Change),
|
|
206
|
+
close_form(F),
|
|
207
|
+
( Change.action == submit % an atom: submit, cancel
|
|
208
|
+
-> Change.values = Values
|
|
209
|
+
; Values = _{}
|
|
210
|
+
).
|
|
211
|
+
|
|
212
|
+
%% Domain rules on top of the spec's own constraints; both block a submit, and a
|
|
213
|
+
%% refused submit is never returned — the host shows the errors and waits again.
|
|
214
|
+
form_validate(Values, Errors) :-
|
|
215
|
+
findall(error(amount, "the amount looks implausible"),
|
|
216
|
+
( get_dict(amount, Values, A), A > 100000 ),
|
|
217
|
+
Errors).
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Note what is *not* here: no `version`, no loop for rejected submits, no error
|
|
221
|
+
branch. A field's `type` defaults to `string`, and the host owns validation.
|
|
222
|
+
`Change.action` is an **atom** (`submit`, `cancel`) — compare with `==`, never
|
|
223
|
+
against `"submit"`. `current_predicate(form/2)` reports `no` even when forms work
|
|
224
|
+
(it is a host handler, like `exec/2`). See `reference("forms")` and
|
|
225
|
+
`sdk-examples/forms.dml`.
|
|
226
|
+
|
|
227
|
+
## 10. A conversational agent
|
|
228
|
+
|
|
229
|
+
A conversation talks with the person over many turns and acts between them. Two
|
|
230
|
+
primitives: `input/1` (the next message, no prompt) and `chat/1` (one traditional
|
|
231
|
+
agent turn — tools, no `finish`, no nudging; it ends when the model stops calling
|
|
232
|
+
tools). Run it as the foreground goal, not inside `execute`.
|
|
233
|
+
|
|
234
|
+
```prolog
|
|
235
|
+
doc(agent_main/0, "Chat assistant that can add. Run with /goal agent_main.").
|
|
236
|
+
|
|
237
|
+
agent_main :-
|
|
238
|
+
system("You are a concise assistant. Use add/3 when asked for arithmetic."),
|
|
239
|
+
loop.
|
|
240
|
+
|
|
241
|
+
loop :-
|
|
242
|
+
input(A), % the person's next message; fails when there is none
|
|
243
|
+
chat(A), % one turn: tools, then it replies and stops
|
|
244
|
+
loop.
|
|
245
|
+
|
|
246
|
+
tool(add(A, B, Result), "Add two numbers.", [number, number]) :-
|
|
247
|
+
Result is A + B.
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
`chat(Message, Reply)` binds the assistant's last message if the harness wants to
|
|
251
|
+
post-process it, and a failed turn is reported without ending the conversation.
|
|
252
|
+
Memory carries the conversation, so each turn sees what was said. A turn may open
|
|
253
|
+
a **form** (§9), which is how structured input fits inside a conversation.
|
|
254
|
+
|
|
255
|
+
`next/1` reads the same inbox for **events**: replace `input(A), chat(A)` with a
|
|
256
|
+
`next/1` dispatch, and a worker's message wakes the conversation:
|
|
257
|
+
|
|
258
|
+
```prolog
|
|
259
|
+
loop(Me) :- next(Item), handle(Me, Item), loop(Me).
|
|
260
|
+
|
|
261
|
+
handle(_, user(Text)) :- chat(Text). % the person
|
|
262
|
+
handle(_, message(mail(M))) :- system("New email."), chat("Summarise: {M}").
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
The `message(Term)` comes from `send(Me, mail(M))` in a spawned worker. See
|
|
266
|
+
[`docs/DML_CONVERSATION.md`](../../../../docs/DML_CONVERSATION.md) §5.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type SystemPromptAssetName = 'task';
|
|
2
|
-
export type WorkspaceDocAssetName = 'dml-reference' | 'dml-authoring' | 'harness-examples' | 'harness-patterns' | 'prolog-snippets';
|
|
1
|
+
export type SystemPromptAssetName = 'task' | 'chat';
|
|
2
|
+
export type WorkspaceDocAssetName = 'dml-reference' | 'dml-authoring' | 'dml-forms' | 'harness-examples' | 'harness-patterns' | 'prolog-snippets';
|
|
3
3
|
interface SystemAssetLookupOptions {
|
|
4
4
|
workspaceRoot?: string;
|
|
5
5
|
workspacePath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,CAAC;AAOtB,UAAU,wBAAwB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAWD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAE5E;AAoBD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAE5E;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlG;AAkDD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|
|
@@ -10,6 +10,8 @@ function getSystemPromptFileName(name) {
|
|
|
10
10
|
switch (name) {
|
|
11
11
|
case 'task':
|
|
12
12
|
return 'TASK_PROMPT.md';
|
|
13
|
+
case 'chat':
|
|
14
|
+
return 'CHAT_PROMPT.md';
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
export function getSystemPromptAssetPath(name) {
|
|
@@ -21,6 +23,8 @@ function getWorkspaceDocFileName(name) {
|
|
|
21
23
|
return 'DML_REFERENCE.md';
|
|
22
24
|
case 'dml-authoring':
|
|
23
25
|
return 'DML_AUTHORING.md';
|
|
26
|
+
case 'dml-forms':
|
|
27
|
+
return 'DML_FORMS.md';
|
|
24
28
|
case 'harness-examples':
|
|
25
29
|
return 'HARNESS_EXAMPLES.md';
|
|
26
30
|
case 'harness-patterns':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,12 @@ import { type ExecutionEnvironment } from './runtime/shell-manager.js';
|
|
|
16
16
|
export interface EnvironmentBlockOptions {
|
|
17
17
|
workspacePath?: string;
|
|
18
18
|
environment?: ExecutionEnvironment;
|
|
19
|
+
/**
|
|
20
|
+
* Name of the single capability host tool (default `bash`). A browser
|
|
21
|
+
* embedding registers `python` (Pyodide) instead, and the block must say so or
|
|
22
|
+
* the model calls a tool that does not exist.
|
|
23
|
+
*/
|
|
24
|
+
capabilityTool?: string;
|
|
19
25
|
/** Injectable clock, so tests do not depend on the wall calendar. */
|
|
20
26
|
now?: Date;
|
|
21
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/system/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE/F,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,qEAAqE;IACrE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAoB1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/system/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE/F,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAoB1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAqCjF;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAOlE;AAED,yDAAyD;AACzD,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAEpF"}
|
|
@@ -40,21 +40,22 @@ export function describeNow(now = new Date()) {
|
|
|
40
40
|
* the host: that is the WASM filesystem's mount, which is always there.
|
|
41
41
|
*/
|
|
42
42
|
export function describeEnvironment(options = {}) {
|
|
43
|
-
const { workspacePath, environment } = options;
|
|
43
|
+
const { workspacePath, environment, capabilityTool } = options;
|
|
44
44
|
const sandboxed = environment?.sandboxed ?? false;
|
|
45
45
|
const workspace = workspacePath ?? process.cwd();
|
|
46
46
|
const label = environment?.backendLabel ?? 'unknown';
|
|
47
|
+
const tool = capabilityTool ?? 'bash';
|
|
47
48
|
const lines = [
|
|
48
49
|
'EXECUTION ENVIRONMENT',
|
|
49
|
-
`-
|
|
50
|
+
`- Capability backend: ${label}${environment?.description ? ` (${environment.description})` : ''}.`,
|
|
50
51
|
];
|
|
51
52
|
if (!sandboxed) {
|
|
52
|
-
lines.push(
|
|
53
|
+
lines.push(`- There is NO sandbox: \`exec(${tool}(...))\` and the capability tool run as your user `
|
|
53
54
|
+ 'account. Writes outside the workspace are real files on this machine and '
|
|
54
55
|
+ 'persist, and a `rm` is a real `rm`.');
|
|
55
56
|
}
|
|
56
57
|
else {
|
|
57
|
-
lines.push(`- \`exec(
|
|
58
|
+
lines.push(`- \`exec(${tool}(...))\` is isolated by ${environment?.description}. Writes outside `
|
|
58
59
|
+ 'the workspace stay inside that sandbox and are gone when it ends.');
|
|
59
60
|
}
|
|
60
61
|
lines.push(`- Workspace, as your own tools see it: ${workspace}`, `- Workspace, inside DML and \`exec\`: ${SANDBOX_WORKSPACE_PATH} — and it is the `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/system/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAA6B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/system/environment.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import type { JudgeBackend, JudgeCapabilities } from './judge/types.js';
|
|
6
|
+
import type { FormIssue, FormSpec, JsonObject } from './forms/spec.js';
|
|
6
7
|
export type { JudgeAnswer, JudgeBackend, JudgeBackendRequest, JudgeBackendResponse, JudgeBasis, JudgeCapabilities, JudgeLevel, JudgeOption, JudgeQuestion, JudgeQuestionKind, JudgeSelection, JudgeUsage, JsonValue, } from './judge/types.js';
|
|
7
8
|
/**
|
|
8
9
|
* Options for creating a DeepClause SDK instance
|
|
@@ -185,6 +186,8 @@ export interface RunOptions {
|
|
|
185
186
|
/** Initial conversation messages seeded into memory before DML execution.
|
|
186
187
|
* These appear as proper memory messages, not in the synthesized system prompt. */
|
|
187
188
|
initialMessages?: MemoryMessage[];
|
|
189
|
+
/** Called when a form opens, so an interactive host can collect values. */
|
|
190
|
+
onForm?: (form: FormEventPayload) => void | Promise<void>;
|
|
188
191
|
}
|
|
189
192
|
/**
|
|
190
193
|
* Trace entry for execution logging
|
|
@@ -240,8 +243,31 @@ export interface FrameEventMeta {
|
|
|
240
243
|
depth?: number;
|
|
241
244
|
frameKind?: FrameKind;
|
|
242
245
|
}
|
|
246
|
+
/** What a consumer sees when a form is opened, updated or closed. */
|
|
247
|
+
export interface FormEventPayload {
|
|
248
|
+
op: 'open' | 'update' | 'close';
|
|
249
|
+
formId: string;
|
|
250
|
+
revision: number;
|
|
251
|
+
spec?: FormSpec;
|
|
252
|
+
values?: JsonObject;
|
|
253
|
+
patch?: JsonObject;
|
|
254
|
+
issues?: FormIssue[];
|
|
255
|
+
state?: 'open' | 'submitted' | 'cancelled';
|
|
256
|
+
reason?: string;
|
|
257
|
+
source?: {
|
|
258
|
+
name?: string;
|
|
259
|
+
pid?: string;
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/** What a consumer sends back when the user acts on a form. */
|
|
263
|
+
export interface FormSubmitPayload {
|
|
264
|
+
action: string;
|
|
265
|
+
values?: JsonObject;
|
|
266
|
+
revision?: number;
|
|
267
|
+
errors?: FormIssue[];
|
|
268
|
+
}
|
|
243
269
|
export interface DMLEvent extends FrameEventMeta {
|
|
244
|
-
type: 'output' | 'log' | 'diagnostic' | 'answer' | 'input_required' | 'error' | 'finished' | 'stream' | 'reasoning' | 'tool_call' | 'model_call' | 'usage' | 'memory_compaction' | 'task_activity' | 'solution' | 'meta_result' | 'media';
|
|
270
|
+
type: 'output' | 'log' | 'diagnostic' | 'answer' | 'input_required' | 'error' | 'finished' | 'stream' | 'reasoning' | 'tool_call' | 'model_call' | 'usage' | 'memory_compaction' | 'task_activity' | 'solution' | 'meta_result' | 'media' | 'form';
|
|
245
271
|
content?: string;
|
|
246
272
|
/**
|
|
247
273
|
* Severity of a `log` event. Prolog's own stderr arrives this way; `warning`
|
|
@@ -258,6 +284,8 @@ export interface DMLEvent extends FrameEventMeta {
|
|
|
258
284
|
data?: string;
|
|
259
285
|
kind?: string;
|
|
260
286
|
};
|
|
287
|
+
/** Form interaction (only for 'form' events). See docs/DML_FORMS.md. */
|
|
288
|
+
form?: FormEventPayload;
|
|
261
289
|
/** Model-call lifecycle (only for 'model_call' events). */
|
|
262
290
|
modelCallState?: 'started' | 'completed' | 'failed';
|
|
263
291
|
/** Model id for a 'model_call' event, when known. */
|
|
@@ -381,6 +409,12 @@ export interface DeepClauseSDK {
|
|
|
381
409
|
* @param tool - Tool definition
|
|
382
410
|
*/
|
|
383
411
|
registerTool(name: string, tool: ToolDefinition): void;
|
|
412
|
+
/**
|
|
413
|
+
* Send a form action (the UI's half of `docs/DML_FORMS.md`). Resolves the
|
|
414
|
+
* `await_form`/`wait_for_form_change` that is waiting on the form.
|
|
415
|
+
* @returns whether a form was listening
|
|
416
|
+
*/
|
|
417
|
+
submitForm(formId: string, change: FormSubmitPayload): boolean;
|
|
384
418
|
/**
|
|
385
419
|
* Set tool access policy
|
|
386
420
|
* @param policy - Whitelist/blacklist configuration
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|