deepclause-sdk 0.3.0 → 0.4.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 (42) hide show
  1. package/README.md +14 -0
  2. package/dist/cli/repl.d.ts.map +1 -1
  3. package/dist/cli/repl.js +32 -1
  4. package/dist/cli/repl.js.map +1 -1
  5. package/dist/cli/run.d.ts.map +1 -1
  6. package/dist/cli/run.js +4 -0
  7. package/dist/cli/run.js.map +1 -1
  8. package/dist/prolog-src/deepclause_mi.pl +168 -13
  9. package/dist/repl/agent.d.ts +7 -0
  10. package/dist/repl/agent.d.ts.map +1 -1
  11. package/dist/repl/agent.js +21 -9
  12. package/dist/repl/agent.js.map +1 -1
  13. package/dist/repl/harness-tools.d.ts +1 -0
  14. package/dist/repl/harness-tools.d.ts.map +1 -1
  15. package/dist/repl/harness-tools.js +2 -2
  16. package/dist/repl/harness-tools.js.map +1 -1
  17. package/dist/repl/history.d.ts +23 -1
  18. package/dist/repl/history.d.ts.map +1 -1
  19. package/dist/repl/history.js +42 -0
  20. package/dist/repl/history.js.map +1 -1
  21. package/dist/repl/index.d.ts +6 -0
  22. package/dist/repl/index.d.ts.map +1 -1
  23. package/dist/repl/index.js +3 -0
  24. package/dist/repl/index.js.map +1 -1
  25. package/dist/repl/render.d.ts.map +1 -1
  26. package/dist/repl/render.js +10 -0
  27. package/dist/repl/render.js.map +1 -1
  28. package/dist/repl/session.d.ts +38 -0
  29. package/dist/repl/session.d.ts.map +1 -1
  30. package/dist/repl/session.js +98 -5
  31. package/dist/repl/session.js.map +1 -1
  32. package/dist/runner.d.ts +7 -1
  33. package/dist/runner.d.ts.map +1 -1
  34. package/dist/runner.js +31 -4
  35. package/dist/runner.js.map +1 -1
  36. package/dist/system/assets/docs/AGENT_PROMPT.md +65 -0
  37. package/dist/system/assets/docs/DML_AUTHORING.md +7 -3
  38. package/dist/system/assets/docs/DML_REFERENCE.md +59 -0
  39. package/dist/types.d.ts +14 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/prolog-src/deepclause_mi.pl +168 -13
@@ -89,6 +89,9 @@
89
89
  repl_commit/3,
90
90
  repl_last_commit_summary/2,
91
91
  repl_execute_frame/4,
92
+ read_workspace_file/3,
93
+ workspace_read_path/3,
94
+ read_workspace_chars/2,
92
95
  repl_record_meta/3,
93
96
  repl_memory_term/3,
94
97
  repl_get_memory/3,
@@ -165,6 +168,7 @@
165
168
  :- dynamic session_form_result/2. % session_form_result(SessionId, Result) - forms primitive results
166
169
  :- dynamic session_builtin_tool/2. % session_builtin_tool(SessionId, ToolName) - runtime-installed tools
167
170
  :- dynamic session_next_result/2. % session_next_result(SessionId, Item) - conversation inbox item
171
+ :- dynamic session_resource/2. % session_resource(SessionId, Resource) - held stream/form (docs/DML_REPL_SUSPEND_RESUME.md)
168
172
 
169
173
  %% ============================================================
170
174
  %% DML Parsing
@@ -826,7 +830,7 @@ process_directive(consult(File), SessionId) :-
826
830
  !,
827
831
  % Set session ID for get_session_id to find, then call our custom consult
828
832
  nb_setval(current_session_id, SessionId),
829
- system:read_file_to_string(File, Code, []),
833
+ read_workspace_file(SessionId, File, Code),
830
834
  consult_string(Code, SessionId).
831
835
  %% Handle use_module directive
832
836
  process_directive(use_module(Module), SessionId) :-
@@ -1046,6 +1050,7 @@ repl_unhandled_directives(SessionId, Directives) :-
1046
1050
  %% The engine is registered as the session's default `query` frame so that
1047
1051
  %% step_engine/4 keeps working as a thin wrapper over step_frame/4.
1048
1052
  create_engine(SessionId, _MemoryId, Args, Params, InitialMemory, Engine) :-
1053
+ release_stale_resources(SessionId),
1049
1054
  assertz(session_params(SessionId, Params)),
1050
1055
  determine_agent_goal(SessionId, Args, Goal),
1051
1056
  % Check if tracing is enabled and store in session state
@@ -1318,7 +1323,8 @@ repl_initial_state(SessionId, FrameKind, InitialState) :-
1318
1323
  %% step_engine/4 and the runner can drive it.
1319
1324
  query_start(SessionId, Text, FrameKind, InitialState, Error) :-
1320
1325
  catch(
1321
- ( read_repl_goal(SessionId, Text, Goal, Names),
1326
+ ( release_stale_resources(SessionId),
1327
+ read_repl_goal(SessionId, Text, Goal, Names),
1322
1328
  create_frame_raw(SessionId, FrameKind, 0,
1323
1329
  deepclause_mi:repl_solve(Goal, Names, SessionId, InitialState),
1324
1330
  FrameId),
@@ -1398,8 +1404,16 @@ repl_solve(Goal, Names, SessionId, State) :-
1398
1404
  nb_setval(current_session_id, SessionId),
1399
1405
  catch(
1400
1406
  repl_solve_loop(Goal, Names, SessionId, State),
1401
- '$answer_commit',
1402
- true
1407
+ Error,
1408
+ % `answer/1` and `suspend/1` both stop enumeration, and both have already
1409
+ % yielded to the host (the answer text, or the continuation). Anything else
1410
+ % is a real error.
1411
+ ( Error == '$answer_commit'
1412
+ -> true
1413
+ ; Error == '$suspend_commit'
1414
+ -> true
1415
+ ; throw(Error)
1416
+ )
1403
1417
  ).
1404
1418
 
1405
1419
  repl_solve_loop(Goal, Names, SessionId, State) :-
@@ -2055,6 +2069,7 @@ repl_assert_many(SessionId, ClausesText, Result) :-
2055
2069
  %% have no plain indicator here (process_clause owns them).
2056
2070
  repl_term_indicator((:- _), _) :- !, fail.
2057
2071
  repl_term_indicator((tool(_, _) :- _), _) :- !, fail.
2072
+ repl_term_indicator((tool(_, _, _) :- _), _) :- !, fail.
2058
2073
  repl_term_indicator((tool(_) :- _), _) :- !, fail.
2059
2074
  repl_term_indicator(Term, Name/Arity) :-
2060
2075
  repl_head_of(Term, Head),
@@ -3209,7 +3224,9 @@ step_engine(SessionId, Status, Content, Payload) :-
3209
3224
  %% process_engine_result(+Result, -Status, -Content, -Payload)
3210
3225
  process_engine_result(output(Text), output, Text, none) :- !.
3211
3226
  process_engine_result(media(Payload), media, '', Payload) :- is_dict(Payload), !.
3227
+ process_engine_result(html(Payload), html, '', Payload) :- is_dict(Payload), !.
3212
3228
  process_engine_result(log(Text), log, Text, none) :- !.
3229
+ process_engine_result(suspend(Continuation, Memory), suspend, '', payload{continuation: Continuation, memory: Memory}) :- !.
3213
3230
  process_engine_result(answer(Text), answer, Text, none) :- !.
3214
3231
  %% Current 8-arg format (with model spec from with_model/2)
3215
3232
  %% Conversation: the same loop with `mode: chat` (no finish, ends when the model stops).
@@ -3436,6 +3453,8 @@ mi(Goal, StateIn, SessionId) :-
3436
3453
  Error,
3437
3454
  ( Error == '$answer_commit'
3438
3455
  -> true % answer/1 threw to commit - success, no backtracking
3456
+ ; Error == '$suspend_commit'
3457
+ -> true % suspend/1 threw to stop here; the host holds the continuation
3439
3458
  ; Error == gas_exhausted
3440
3459
  -> engine_yield(error("Gas exhausted: execution exceeded iteration limit")),
3441
3460
  fail
@@ -3798,6 +3817,9 @@ create_tool_engine(SessionId, ToolName, Args, ToolEngineId) :-
3798
3817
 
3799
3818
  %% handle_tool_engine_error(+Error, -Result)
3800
3819
  handle_tool_engine_error('$answer_commit', true) :- !.
3820
+ %% A tool body that suspends has already handed its continuation to the host; the
3821
+ %% tool engine stops with it rather than turning it into a tool failure.
3822
+ handle_tool_engine_error('$suspend_commit', suspended) :- !.
3801
3823
  handle_tool_engine_error(Error, error{message: ErrMsg}) :-
3802
3824
  format(atom(ErrMsg), '~w', [Error]).
3803
3825
 
@@ -3839,6 +3861,12 @@ process_tool_engine_result(request_llm(Messages), request_llm, '',
3839
3861
  process_tool_engine_result(request_judgment(Payload), request_judgment, '', Payload) :- !.
3840
3862
  process_tool_engine_result(request_agent_loop(Desc, Vars, Tools, Memory, ToolScope, ReasoningEffort, RecipeContext, ModelSpec, Mode), request_agent_loop, '',
3841
3863
  payload{taskDescription: Desc, outputVars: Vars, userTools: Tools, memory: Memory, toolScope: ToolScope, reasoningEffort: ReasoningEffort, recipeContext: RecipeContext, modelSpec: ModelSpec, mode: Mode}) :- !.
3864
+ %% task/N from inside a tool: includes the model spec.
3865
+ process_tool_engine_result(request_agent_loop(Desc, Vars, Tools, Memory, ToolScope, ReasoningEffort, RecipeContext, ModelSpec), request_agent_loop, '',
3866
+ payload{taskDescription: Desc, outputVars: Vars, userTools: Tools, memory: Memory, toolScope: ToolScope, reasoningEffort: ReasoningEffort, recipeContext: RecipeContext, modelSpec: ModelSpec}) :- !.
3867
+ %% prompt/N from inside a tool: no tools and no memory, but carries the model spec.
3868
+ process_tool_engine_result(request_agent_loop(Desc, Vars, Tools, Memory, ToolScope, ModelSpec), request_agent_loop, '',
3869
+ payload{taskDescription: Desc, outputVars: Vars, userTools: Tools, memory: Memory, toolScope: ToolScope, reasoningEffort: none, recipeContext: "", modelSpec: ModelSpec}) :- !.
3842
3870
  process_tool_engine_result(request_agent_loop(Desc, Vars, Tools, Memory, ToolScope, ReasoningEffort, RecipeContext), request_agent_loop, '',
3843
3871
  payload{taskDescription: Desc, outputVars: Vars, userTools: Tools, memory: Memory, toolScope: ToolScope, reasoningEffort: ReasoningEffort, recipeContext: RecipeContext}) :- !.
3844
3872
  %% Legacy 5-arg format (no reasoning/recipe)
@@ -5298,6 +5326,61 @@ mi_call(answer(Text), StateIn, StateIn) :-
5298
5326
  engine_yield(answer(InterpText)),
5299
5327
  throw('$answer_commit').
5300
5328
 
5329
+ %% mi_call(suspend(+Continuation), +StateIn, -StateOut)
5330
+ %% Stop the turn at a **safe point** and let the host persist a resumable
5331
+ %% continuation (docs/DML_REPL_SUSPEND_RESUME.md).
5332
+ %%
5333
+ %% `Continuation` is the goal that resumes where this left off — the entry point
5334
+ %% of the loop whose state is the argument, e.g.
5335
+ %%
5336
+ %% loop(State) :- ..., checkpoint(State), suspend(loop(State)).
5337
+ %%
5338
+ %% A turn is suspended *between* host calls, never inside one: a model call, a
5339
+ %% shell command or a form wait has already handed control to the host by the time
5340
+ %% this runs. Non-serializable state it did not hand over — an open stream, an open
5341
+ %% form — makes it refuse, so a resumed session can never inherit a half-written
5342
+ %% file.
5343
+ mi_call(suspend(Continuation), StateIn, StateIn) :-
5344
+ !,
5345
+ get_session_id(SessionId),
5346
+ ( session_resource(SessionId, Resource)
5347
+ -> format(atom(Message),
5348
+ 'cannot suspend while holding ~w: close it first', [Resource]),
5349
+ throw(error(suspend_refused(Resource), Message))
5350
+ ; true
5351
+ ),
5352
+ term_string(Continuation, ContinuationText),
5353
+ get_memory(StateIn, Memory),
5354
+ engine_yield(suspend(ContinuationText, Memory)),
5355
+ throw('$suspend_commit').
5356
+
5357
+ %% release_stale_resources(+SessionId)
5358
+ %% A turn that was aborted while holding a stream leaves the handle open and the
5359
+ %% ledger non-empty, which would block every later `suspend/1`. Runs start clean:
5360
+ %% close whatever the previous turn left open and forget it. (A suspension is a
5361
+ %% clean stop, so it never leaves anything behind — `suspend/1` refuses while the
5362
+ %% ledger is non-empty.)
5363
+ release_stale_resources(SessionId) :-
5364
+ forall(session_resource(SessionId, Resource),
5365
+ ( Resource = file(_, Stream)
5366
+ -> catch(close(Stream), _, true)
5367
+ ; true
5368
+ )),
5369
+ retractall(session_resource(SessionId, _)).
5370
+
5371
+ %% acquire_resource(+Resource) / release_resources(+Pattern)
5372
+ %% What a turn holds that a snapshot cannot: a stream or an open form.
5373
+ acquire_resource(Resource) :-
5374
+ get_session_id(SessionId),
5375
+ ( session_resource(SessionId, Resource)
5376
+ -> true
5377
+ ; assertz(session_resource(SessionId, Resource))
5378
+ ).
5379
+
5380
+ release_resources(Pattern) :-
5381
+ get_session_id(SessionId),
5382
+ retractall(session_resource(SessionId, Pattern)).
5383
+
5301
5384
  %% mi_call(output(Media), +StateIn, -StateOut)
5302
5385
  %% Present an image instead of text: `output(media(Path, Mime))`, `output(media(Path))`,
5303
5386
  %% or a dict form (`media{svg: Svg}`, `media{data: Base64, mime: Mime}`). The host
@@ -5321,6 +5404,22 @@ mi_call(output(Media), StateIn, StateIn) :-
5321
5404
  add_trace_entry(SessionId, media, media, [Path], Depth),
5322
5405
  engine_yield(media(media{path: Path, mimeType: Mime, kind: Kind, data: Data})).
5323
5406
 
5407
+ %% mi_call(output(html(Path)), +StateIn, -StateOut)
5408
+ %% Present a workspace HTML file as an interactive miniapp.
5409
+ mi_call(output(html(Path)), StateIn, StateIn) :-
5410
+ nonvar(Path),
5411
+ ( string(Path)
5412
+ -> HtmlPath = Path
5413
+ ; atom(Path)
5414
+ -> atom_string(Path, HtmlPath)
5415
+ ; fail
5416
+ ),
5417
+ get_session_id(SessionId),
5418
+ get_depth(StateIn, Depth),
5419
+ add_trace_entry(SessionId, html, html, [HtmlPath], Depth),
5420
+ !,
5421
+ engine_yield(html(html{path: HtmlPath})).
5422
+
5324
5423
  %% mi_call(output(Text), +StateIn, -StateOut)
5325
5424
  mi_call(output(Text), StateIn, StateIn) :-
5326
5425
  get_params(StateIn, Params),
@@ -5365,7 +5464,10 @@ mi_call(form(Spec, FormId), StateIn, StateIn) :-
5365
5464
  session_form_result(SessionId, Result),
5366
5465
  retract(session_form_result(SessionId, _)),
5367
5466
  ( Result = ok(Dict)
5368
- -> get_dict(formId, Dict, FormId)
5467
+ -> get_dict(formId, Dict, FormId),
5468
+ % An open form is host state a snapshot cannot carry, so `suspend/1`
5469
+ % refuses until it is closed (docs/DML_REPL_SUSPEND_RESUME.md).
5470
+ acquire_resource(form(FormId))
5369
5471
  ; throw(error(form_open_failed(Result), form/2))
5370
5472
  ).
5371
5473
 
@@ -5390,6 +5492,7 @@ mi_call(form_errors(FormId, Issues), StateIn, StateIn) :-
5390
5492
  %% mi_call(close_form(+FormId), +StateIn, -StateOut)
5391
5493
  mi_call(close_form(FormId), StateIn, StateIn) :-
5392
5494
  !,
5495
+ release_resources(form(FormId)),
5393
5496
  get_session_id(SessionId),
5394
5497
  engine_yield(request_form(close, FormId)),
5395
5498
  get_next_signal(SessionId, _),
@@ -5648,6 +5751,10 @@ repl_reserved_clause((tool(ToolHead, _) :- _)) :-
5648
5751
  !,
5649
5752
  functor(ToolHead, Name, _),
5650
5753
  repl_reserved_name(Name).
5754
+ repl_reserved_clause((tool(ToolHead, _, _) :- _)) :-
5755
+ !,
5756
+ functor(ToolHead, Name, _),
5757
+ repl_reserved_name(Name).
5651
5758
  repl_reserved_clause((tool(ToolHead) :- _)) :-
5652
5759
  !,
5653
5760
  functor(ToolHead, Name, _),
@@ -6229,6 +6336,41 @@ pattern_normalise(Value, Normalised) :-
6229
6336
  split_string(Lower, " _-", "", Parts),
6230
6337
  atomic_list_concat(Parts, '', Normalised).
6231
6338
 
6339
+ %% read_workspace_file(+SessionId, +File, -Content)
6340
+ %%
6341
+ %% `read_file_to_string/3` goes through SWI's `absolute_file_name/2`, which
6342
+ %% resolves differently inside an `execute` frame and can turn
6343
+ %% `/workspace/foo` into `/home/foo` (or a basename under another cwd). The
6344
+ %% mounted FS accepts the absolute path through open/4, so read it explicitly
6345
+ %% and join the lines. Relative paths are anchored at the session workspace.
6346
+ read_workspace_file(SessionId, File, Content) :-
6347
+ deepclause_mi:workspace_read_path(SessionId, File, Path),
6348
+ setup_call_cleanup(
6349
+ open(Path, read, Stream, [encoding(utf8)]),
6350
+ deepclause_mi:read_workspace_chars(Stream, Chars),
6351
+ close(Stream)
6352
+ ),
6353
+ string_chars(Content, Chars).
6354
+
6355
+ workspace_read_path(_SessionId, File, Path) :-
6356
+ ( string(File)
6357
+ -> Text = File
6358
+ ; atom(File)
6359
+ -> atom_string(File, Text)
6360
+ ; throw(error(type_error(file_name, File), context(read_workspace_file/3, _)))
6361
+ ),
6362
+ ( sub_string(Text, 0, 1, _, "/")
6363
+ -> Path = Text
6364
+ ; atomic_list_concat(['/workspace/', Text], '', Path)
6365
+ ).
6366
+
6367
+ read_workspace_chars(Stream, [Char|Chars]) :-
6368
+ get_char(Stream, Char),
6369
+ Char \== end_of_file,
6370
+ !,
6371
+ deepclause_mi:read_workspace_chars(Stream, Chars).
6372
+ read_workspace_chars(_, []).
6373
+
6232
6374
  %% repl_inject_workspace_predicates(+SessionId)
6233
6375
  %% Idempotent: assertz/1 the same clauses twice is harmless (a duplicate clause
6234
6376
  %% yields the same solution once? no - it yields twice), so clear first.
@@ -6239,9 +6381,9 @@ repl_inject_workspace_predicates(SessionId) :-
6239
6381
  catch(assertz(Clause), _, true)).
6240
6382
 
6241
6383
  workspace_predicate_clause(S, (S:read_file(F, C) :-
6242
- system:read_file_to_string(F, C, []))).
6243
- workspace_predicate_clause(S, (S:read_file_to_string(F, C, O) :-
6244
- system:read_file_to_string(F, C, O))).
6384
+ deepclause_mi:read_workspace_file(S, F, C))).
6385
+ workspace_predicate_clause(S, (S:read_file_to_string(F, C, _O) :-
6386
+ deepclause_mi:read_workspace_file(S, F, C))).
6245
6387
  workspace_predicate_clause(S, (S:write_file(F, C) :-
6246
6388
  system:open(F, write, St), system:write(St, C), system:close(St))).
6247
6389
  workspace_predicate_clause(S, (S:append_file(F, C) :-
@@ -6295,7 +6437,7 @@ mi_call(consult(File), StateIn, StateIn) :-
6295
6437
  !,
6296
6438
  get_session_id(SessionId),
6297
6439
  guard_not_frozen(SessionId),
6298
- system:read_file_to_string(File, Code, []),
6440
+ read_workspace_file(SessionId, File, Code),
6299
6441
  consult_string(Code, SessionId).
6300
6442
 
6301
6443
  mi_call(use_module(Module), StateIn, StateIn) :-
@@ -6391,15 +6533,17 @@ consult_process_term(Head, SessionId) :-
6391
6533
  assertz(SessionId:Head).
6392
6534
 
6393
6535
  %% mi_call(read_file_to_string(File, Content, Options), +StateIn, -StateOut)
6394
- mi_call(read_file_to_string(File, Content, Options), StateIn, StateIn) :-
6536
+ mi_call(read_file_to_string(File, Content, _Options), StateIn, StateIn) :-
6395
6537
  !,
6396
- system:read_file_to_string(File, Content, Options).
6538
+ get_session_id(SessionId),
6539
+ read_workspace_file(SessionId, File, Content).
6397
6540
 
6398
6541
  %% mi_call(read_file(File, Content), +StateIn, -StateOut)
6399
6542
  %% Simplified version without options
6400
6543
  mi_call(read_file(File, Content), StateIn, StateIn) :-
6401
6544
  !,
6402
- system:read_file_to_string(File, Content, []).
6545
+ get_session_id(SessionId),
6546
+ read_workspace_file(SessionId, File, Content).
6403
6547
 
6404
6548
  %% mi_call(write_file(File, Content), +StateIn, -StateOut)
6405
6549
  %% Write string content to a file
@@ -6421,11 +6565,21 @@ mi_call(append_file(File, Content), StateIn, StateIn) :-
6421
6565
  %% Open a file for reading/writing
6422
6566
  mi_call(open(File, Mode, Stream), StateIn, StateIn) :-
6423
6567
  !,
6424
- open(File, Mode, Stream).
6568
+ open(File, Mode, Stream),
6569
+ % A stream is not serializable, so a suspended session must not be holding
6570
+ % one. Track it here and `suspend/1` refuses while the ledger is non-empty.
6571
+ acquire_resource(file(File, Stream)).
6572
+
6573
+ %% mi_call(open(File, Mode, Stream, Options), +StateIn, -StateOut)
6574
+ mi_call(open(File, Mode, Stream, Options), StateIn, StateIn) :-
6575
+ !,
6576
+ open(File, Mode, Stream, Options),
6577
+ acquire_resource(file(File, Stream)).
6425
6578
 
6426
6579
  %% mi_call(close(Stream), +StateIn, -StateOut)
6427
6580
  mi_call(close(Stream), StateIn, StateIn) :-
6428
6581
  !,
6582
+ release_resources(file(_, Stream)),
6429
6583
  close(Stream).
6430
6584
 
6431
6585
  %% mi_call(write(Stream, Content), +StateIn, -StateOut)
@@ -6640,6 +6794,7 @@ is_mi_special_predicate(get_memory(_)).
6640
6794
  is_mi_special_predicate(format(_,_)).
6641
6795
  is_mi_special_predicate(writeln(_)).
6642
6796
  is_mi_special_predicate(write(_)).
6797
+ is_mi_special_predicate(suspend(_)).
6643
6798
  is_mi_special_predicate(input(_,_)).
6644
6799
  %% Conversation (docs/DML_CONVERSATION.md)
6645
6800
  is_mi_special_predicate(input(_)).
@@ -43,6 +43,11 @@ export interface HarnessAgentOptions {
43
43
  modelCatalog?: ModelCatalogEntry[];
44
44
  /** Pre-loaded documentation for the `reference` tool (handled by the controller). */
45
45
  knownMessages?: MemoryMessage[];
46
+ /**
47
+ * Replace the bundled authoring prompt. Used by embeddings with a smaller
48
+ * model/context, where the full guide would exceed the context window.
49
+ */
50
+ agentSystemPrompt?: string;
46
51
  }
47
52
  export interface HarnessAgentRunOptions {
48
53
  signal?: AbortSignal;
@@ -63,6 +68,8 @@ export declare function buildAgentSystemPrompt(options?: {
63
68
  capabilityTool?: string;
64
69
  /** Injectable clock, so tests do not depend on the wall calendar. */
65
70
  now?: Date;
71
+ /** Optional replacement for the bundled prompt (e.g. a local-model profile). */
72
+ systemPrompt?: string;
66
73
  }): Promise<string>;
67
74
  /**
68
75
  * A multi-turn authoring agent. `run` yields `DMLEvent`s (streaming text,
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/repl/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/repl/agent.ts"],"names":[],"mappings":"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"}
@@ -49,14 +49,21 @@ export function describeTools(tools) {
49
49
  */
50
50
  export async function buildAgentSystemPrompt(options = {}) {
51
51
  let prompt = '';
52
- try {
53
- prompt = await readAgentPromptAsset({ workspacePath: options.workspacePath });
52
+ if (options.systemPrompt !== undefined) {
53
+ prompt = options.systemPrompt;
54
54
  }
55
- catch {
56
- prompt = 'You are an agent with access to a DML REPL.';
55
+ else {
56
+ try {
57
+ prompt = await readAgentPromptAsset({ workspacePath: options.workspacePath });
58
+ }
59
+ catch {
60
+ prompt = 'You are an agent with access to a DML REPL.';
61
+ }
57
62
  }
58
63
  // The models this session can switch to with `with_model/2`, with catalog prices.
59
- const catalog = options.modelCatalog ?? [];
64
+ // A replacement prompt is already a deliberate, bounded profile; appending the
65
+ // full catalog to it defeats that budget.
66
+ const catalog = options.systemPrompt === undefined ? (options.modelCatalog ?? []) : [];
60
67
  if (options.currentModel || catalog.length > 0) {
61
68
  const shown = catalog.slice(0, 60).map(formatModelCatalogEntry);
62
69
  prompt += [
@@ -68,10 +75,14 @@ export async function buildAgentSystemPrompt(options = {}) {
68
75
  '- Other models may be configured with `deepclause login`; a `with_model` spec must name one of these.',
69
76
  ].filter(Boolean).join('\n') + '\n';
70
77
  }
71
- // Append a workspace `AGENTS.md` so repo-specific rules always apply.
72
- const project = await loadProjectContext(options.workspacePath);
73
- if (project) {
74
- prompt += `\n\nPROJECT INSTRUCTIONS (AGENTS.md)\n${project.content}\n`;
78
+ // Append a workspace `AGENTS.md` so repo-specific rules always apply. A
79
+ // replacement profile is self-contained: appending the project contract can
80
+ // double its size and push a local model over its context window.
81
+ if (options.systemPrompt === undefined) {
82
+ const project = await loadProjectContext(options.workspacePath);
83
+ if (project) {
84
+ prompt += `\n\nPROJECT INSTRUCTIONS (AGENTS.md)\n${project.content}\n`;
85
+ }
75
86
  }
76
87
  // Where we are running and what time it is, last: these change per turn, so
77
88
  // everything stable (the docs, the model catalog, AGENTS.md) stays ahead of
@@ -241,6 +252,7 @@ export class HarnessAgent {
241
252
  modelCatalog: this.options.modelCatalog,
242
253
  environment: this.options.environment,
243
254
  capabilityTool: this.options.capabilityTool,
255
+ systemPrompt: this.options.agentSystemPrompt,
244
256
  });
245
257
  this.messages.push({ role: 'user', content: request });
246
258
  const backendTools = [...tools].map(([name, tool]) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/repl/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/repl/agent.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ export interface HarnessToolController {
60
60
  beginTurn(): Promise<{
61
61
  ok: boolean;
62
62
  error?: string;
63
+ message?: string;
63
64
  }>;
64
65
  /** Validate and commit the open transaction; records a history version. */
65
66
  endTurn(): Promise<HarnessCommitResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"harness-tools.d.ts","sourceRoot":"","sources":["../../src/repl/harness-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-tools.d.ts","sourceRoot":"","sources":["../../src/repl/harness-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGrE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpD,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAE3D;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qFAAqF;AACrF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,IAAI,OAAO,CAAC;IACpB,wEAAwE;IACxE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,sDAAsD;IACtD,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,mDAAmD;IACnD,SAAS,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,2EAA2E;IAC3E,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxC,mDAAmD;IACnD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,gEAAgE;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,+CAA+C;IAC/C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,0CAA0C;IAC1C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,gCAAgC;IAChC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,0CAA0C;IAC1C,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,kDAAkD;IAClD,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,EACnC,WAAW,CAAC,EAAE,WAAW;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC,6DAA6D;IAC7D,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC9F,iDAAiD;IACjD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACxE,sDAAsD;IACtD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC9E,2DAA2D;IAC3D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,6DAA6D;IAC7D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,iEAAiE;IACjE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,4DAA4D;IAC5D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,+BAA+B;IAC/B,SAAS,IAAI,WAAW,EAAE,CAAC;IAC3B,4CAA4C;IAC5C,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/C,yEAAyE;IACzE,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,6DAA6D;IAC7D,qBAAqB,IAAI,MAAM,CAAC;IAChC,yCAAyC;IACzC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IAC9C,oDAAoD;IACpD,WAAW,CAAC,EAAE,EAAE,GAAG,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,+CAA+C;IAC/C,WAAW,CAAC,EAAE,EAAE,GAAG,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxF,gDAAgD;IAChD,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAMD,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB5F;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IAC9C,SAAS,IAAI,WAAW,EAAE,CAAC;IAC3B,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/C,qBAAqB,IAAI,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnF;AAID,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CA6SjG"}
@@ -69,7 +69,7 @@ export function createHarnessTools(controller) {
69
69
  execute: async (args) => text(await controller.listing(String(args.filter ?? 'all').trim() || 'all')),
70
70
  });
71
71
  tools.set('begin_turn', {
72
- description: 'Open an edit transaction (snapshot the harness). You MUST call this before the first edit; `define`/`assert`/`assert_many`/`retract`/`delete` are refused while no transaction is open. `end_turn` commits it, `rollback` discards it.',
72
+ description: 'Open the edit transaction (snapshot the harness). Call this once before the first edit; it is a no-op if the transaction is already open. `define`/`assert`/`assert_many`/`retract`/`delete` are refused while no transaction is open. `end_turn` commits it, `rollback` discards it.',
73
73
  parameters: { type: 'object', properties: {}, required: [] },
74
74
  execute: async () => {
75
75
  return controller.beginTurn();
@@ -123,7 +123,7 @@ export function createHarnessTools(controller) {
123
123
  execute: async (args) => frozenError('assert') ?? controller.assertClause(String(args.clause ?? '')),
124
124
  });
125
125
  tools.set('assert_many', {
126
- description: 'Assert a block of clauses in the order written. Requires an open transaction (call begin_turn first). Use this to define a whole predicate so clause order (base case before recursive rule) is preserved.',
126
+ description: 'Assert a block of clauses in the order written. Requires an open transaction (call begin_turn first). Use this only for a NEW predicate, so clause order (base case before recursive rule) is preserved. It cannot append to an existing predicate, including doc/2; use define with the complete clause set to replace one.',
127
127
  parameters: {
128
128
  type: 'object',
129
129
  properties: { clauses: stringProp('The DML clauses/facts, in order, each ending with a period.') },
@@ -1 +1 @@
1
- {"version":3,"file":"harness-tools.js","sourceRoot":"","sources":["../../src/repl/harness-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-tools.js","sourceRoot":"","sources":["../../src/repl/harness-tools.ts"],"names":[],"mappings":"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"}