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.
- package/README.md +14 -0
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +32 -1
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +4 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/prolog-src/deepclause_mi.pl +168 -13
- package/dist/repl/agent.d.ts +7 -0
- package/dist/repl/agent.d.ts.map +1 -1
- package/dist/repl/agent.js +21 -9
- package/dist/repl/agent.js.map +1 -1
- package/dist/repl/harness-tools.d.ts +1 -0
- package/dist/repl/harness-tools.d.ts.map +1 -1
- package/dist/repl/harness-tools.js +2 -2
- package/dist/repl/harness-tools.js.map +1 -1
- package/dist/repl/history.d.ts +23 -1
- package/dist/repl/history.d.ts.map +1 -1
- package/dist/repl/history.js +42 -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 +3 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/repl/render.d.ts.map +1 -1
- package/dist/repl/render.js +10 -0
- package/dist/repl/render.js.map +1 -1
- package/dist/repl/session.d.ts +38 -0
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +98 -5
- package/dist/repl/session.js.map +1 -1
- package/dist/runner.d.ts +7 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +31 -4
- package/dist/runner.js.map +1 -1
- package/dist/system/assets/docs/AGENT_PROMPT.md +65 -0
- package/dist/system/assets/docs/DML_AUTHORING.md +7 -3
- package/dist/system/assets/docs/DML_REFERENCE.md +59 -0
- package/dist/types.d.ts +14 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/prolog-src/deepclause_mi.pl +168 -13
package/dist/types.d.ts
CHANGED
|
@@ -259,6 +259,13 @@ export interface FormEventPayload {
|
|
|
259
259
|
pid?: string;
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
|
+
/** A turn stopped at a safe point, with the goal that resumes it. */
|
|
263
|
+
export interface SuspendEventPayload {
|
|
264
|
+
/** The goal to run to continue where the turn stopped, e.g. `loop(3)`. */
|
|
265
|
+
continuation: string;
|
|
266
|
+
/** Turn memory at the stop, so a resume continues the same conversation. */
|
|
267
|
+
memory?: string;
|
|
268
|
+
}
|
|
262
269
|
/** What a consumer sends back when the user acts on a form. */
|
|
263
270
|
export interface FormSubmitPayload {
|
|
264
271
|
action: string;
|
|
@@ -267,7 +274,7 @@ export interface FormSubmitPayload {
|
|
|
267
274
|
errors?: FormIssue[];
|
|
268
275
|
}
|
|
269
276
|
export interface DMLEvent extends FrameEventMeta {
|
|
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';
|
|
277
|
+
type: 'output' | 'log' | 'diagnostic' | 'answer' | 'input_required' | 'error' | 'finished' | 'stream' | 'reasoning' | 'tool_call' | 'model_call' | 'usage' | 'memory_compaction' | 'task_activity' | 'solution' | 'meta_result' | 'media' | 'html' | 'form' | 'suspend';
|
|
271
278
|
content?: string;
|
|
272
279
|
/**
|
|
273
280
|
* Severity of a `log` event. Prolog's own stderr arrives this way; `warning`
|
|
@@ -284,8 +291,14 @@ export interface DMLEvent extends FrameEventMeta {
|
|
|
284
291
|
data?: string;
|
|
285
292
|
kind?: string;
|
|
286
293
|
};
|
|
294
|
+
/** Workspace HTML miniapp produced by `output(html(Path))`. */
|
|
295
|
+
html?: {
|
|
296
|
+
path: string;
|
|
297
|
+
};
|
|
287
298
|
/** Form interaction (only for 'form' events). See docs/DML_FORMS.md. */
|
|
288
299
|
form?: FormEventPayload;
|
|
300
|
+
/** A turn stopped at a safe point (only for 'suspend' events). */
|
|
301
|
+
suspend?: SuspendEventPayload;
|
|
289
302
|
/** Model-call lifecycle (only for 'model_call' events). */
|
|
290
303
|
modelCallState?: 'started' | 'completed' | 'failed';
|
|
291
304
|
/** Model id for a 'model_call' event, when known. */
|
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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"}
|
package/package.json
CHANGED
|
@@ -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
|
-
|
|
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
|
-
(
|
|
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
|
-
|
|
1402
|
-
|
|
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
|
-
|
|
6243
|
-
workspace_predicate_clause(S, (S:read_file_to_string(F, C,
|
|
6244
|
-
|
|
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
|
-
|
|
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,
|
|
6536
|
+
mi_call(read_file_to_string(File, Content, _Options), StateIn, StateIn) :-
|
|
6395
6537
|
!,
|
|
6396
|
-
|
|
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
|
-
|
|
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(_)).
|