deepclause-sdk 0.1.0 → 0.1.2
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 +83 -12
- package/dist/agent.d.ts +14 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +117 -9
- package/dist/agent.js.map +1 -1
- package/dist/cli/config.d.ts +86 -26
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +15 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl.d.ts +27 -0
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +191 -5
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +16 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/visualize.d.ts +4 -0
- package/dist/cli/visualize.d.ts.map +1 -1
- package/dist/cli/visualize.js +29 -4
- package/dist/cli/visualize.js.map +1 -1
- package/dist/prolog/bridge.d.ts +3 -1
- package/dist/prolog/bridge.d.ts.map +1 -1
- package/dist/prolog/bridge.js +2 -0
- package/dist/prolog/bridge.js.map +1 -1
- package/dist/prolog/loader.d.ts +32 -0
- package/dist/prolog/loader.d.ts.map +1 -1
- package/dist/prolog/loader.js +87 -0
- package/dist/prolog/loader.js.map +1 -1
- package/dist/prolog-src/deepclause_mi.pl +1217 -120
- package/dist/repl/agent.d.ts +33 -1
- package/dist/repl/agent.d.ts.map +1 -1
- package/dist/repl/agent.js +91 -8
- package/dist/repl/agent.js.map +1 -1
- package/dist/repl/backend.d.ts +31 -0
- package/dist/repl/backend.d.ts.map +1 -1
- package/dist/repl/backend.js +122 -77
- package/dist/repl/backend.js.map +1 -1
- package/dist/repl/harness-tools.d.ts +49 -2
- package/dist/repl/harness-tools.d.ts.map +1 -1
- package/dist/repl/harness-tools.js +87 -7
- package/dist/repl/harness-tools.js.map +1 -1
- package/dist/repl/imagegen.d.ts +29 -0
- package/dist/repl/imagegen.d.ts.map +1 -0
- package/dist/repl/imagegen.js +84 -0
- package/dist/repl/imagegen.js.map +1 -0
- package/dist/repl/index.d.ts +20 -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/model-resolver.d.ts +59 -0
- package/dist/repl/model-resolver.d.ts.map +1 -0
- package/dist/repl/model-resolver.js +156 -0
- package/dist/repl/model-resolver.js.map +1 -0
- package/dist/repl/render.d.ts +36 -2
- package/dist/repl/render.d.ts.map +1 -1
- package/dist/repl/render.js +175 -17
- package/dist/repl/render.js.map +1 -1
- package/dist/repl/session.d.ts +129 -4
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +380 -17
- package/dist/repl/session.js.map +1 -1
- package/dist/repl/tool-arguments.d.ts +36 -0
- package/dist/repl/tool-arguments.d.ts.map +1 -0
- package/dist/repl/tool-arguments.js +123 -0
- package/dist/repl/tool-arguments.js.map +1 -0
- package/dist/repl/toolset.d.ts +28 -1
- package/dist/repl/toolset.d.ts.map +1 -1
- package/dist/repl/toolset.js +52 -4
- package/dist/repl/toolset.js.map +1 -1
- package/dist/repl/tui/transcript.d.ts +2 -0
- package/dist/repl/tui/transcript.d.ts.map +1 -1
- package/dist/repl/tui/transcript.js +16 -0
- package/dist/repl/tui/transcript.js.map +1 -1
- package/dist/runner.d.ts +44 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +293 -33
- package/dist/runner.js.map +1 -1
- package/dist/system/assets/docs/AGENT_PROMPT.md +1000 -44
- package/dist/system/assets/docs/DML_AUTHORING.md +96 -17
- package/dist/system/assets/docs/DML_REFERENCE.md +652 -39
- package/dist/system/assets/docs/PROLOG_SNIPPETS.md +45 -1
- package/dist/system/assets/docs/TASK_PROMPT.md +2 -0
- package/dist/system/environment.d.ts +36 -0
- package/dist/system/environment.d.ts.map +1 -0
- package/dist/system/environment.js +81 -0
- package/dist/system/environment.js.map +1 -0
- package/dist/system/runtime/shell-manager.d.ts +40 -2
- package/dist/system/runtime/shell-manager.d.ts.map +1 -1
- package/dist/system/runtime/shell-manager.js +82 -16
- package/dist/system/runtime/shell-manager.js.map +1 -1
- package/dist/system/runtime/shell-tool-events.js +25 -1
- package/dist/system/runtime/shell-tool-events.js.map +1 -1
- package/dist/types.d.ts +76 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/visualize/ascii.d.ts +55 -0
- package/dist/visualize/ascii.d.ts.map +1 -0
- package/dist/visualize/ascii.js +242 -0
- package/dist/visualize/ascii.js.map +1 -0
- package/dist/visualize/display.d.ts +24 -0
- package/dist/visualize/display.d.ts.map +1 -0
- package/dist/visualize/display.js +29 -0
- package/dist/visualize/display.js.map +1 -0
- package/dist/visualize/graphics.d.ts +35 -0
- package/dist/visualize/graphics.d.ts.map +1 -0
- package/dist/visualize/graphics.js +96 -0
- package/dist/visualize/graphics.js.map +1 -0
- package/dist/visualize/image.d.ts +38 -0
- package/dist/visualize/image.d.ts.map +1 -0
- package/dist/visualize/image.js +95 -0
- package/dist/visualize/image.js.map +1 -0
- package/dist/visualize/index.d.ts +7 -0
- package/dist/visualize/index.d.ts.map +1 -1
- package/dist/visualize/index.js +9 -0
- package/dist/visualize/index.js.map +1 -1
- package/dist/visualize/raster.d.ts +23 -0
- package/dist/visualize/raster.d.ts.map +1 -0
- package/dist/visualize/raster.js +47 -0
- package/dist/visualize/raster.js.map +1 -0
- package/dist/visualize/svg.d.ts +39 -0
- package/dist/visualize/svg.d.ts.map +1 -0
- package/dist/visualize/svg.js +148 -0
- package/dist/visualize/svg.js.map +1 -0
- package/dist/visualize/transcode.d.ts +13 -0
- package/dist/visualize/transcode.d.ts.map +1 -0
- package/dist/visualize/transcode.js +40 -0
- package/dist/visualize/transcode.js.map +1 -0
- package/docs/images/repl.png +0 -0
- package/package.json +10 -6
- package/src/prolog-src/deepclause_mi.pl +1217 -120
- package/dist/compaction.d.ts +0 -98
- package/dist/compaction.d.ts.map +0 -1
- package/dist/compaction.js +0 -471
- package/dist/compaction.js.map +0 -1
- package/dist/repl/tools.d.ts +0 -53
- package/dist/repl/tools.d.ts.map +0 -1
- package/dist/repl/tools.js +0 -307
- package/dist/repl/tools.js.map +0 -1
- package/dist/system/assets/compactors/default-loop-compactor.dml +0 -43
- package/dist/system/assets/compactors/default-session-compactor.dml +0 -30
- package/dist/system/assets/docs/META_PROMPT.md +0 -68
|
@@ -106,12 +106,24 @@ function inferToolLifecycleFields(toolResult) {
|
|
|
106
106
|
let toolBackend;
|
|
107
107
|
let toolExitCode;
|
|
108
108
|
let toolSummary;
|
|
109
|
+
let toolError;
|
|
109
110
|
let toolDurationMs;
|
|
110
111
|
if (toolResult && typeof toolResult === 'object') {
|
|
111
112
|
const result = toolResult;
|
|
112
113
|
if (result.success === false) {
|
|
113
114
|
toolState = 'failed';
|
|
114
115
|
}
|
|
116
|
+
// A tool that refuses, or fails, by returning an error rather than throwing.
|
|
117
|
+
// This was missing, so `{ error: "…" }` — including the runtime's own
|
|
118
|
+
// "already running further up the call chain" refusal — was reported as a
|
|
119
|
+
// completed call, and the transcript showed a tick for something that did not
|
|
120
|
+
// happen. Only a non-empty string (or `{ message }`) counts, so a successful
|
|
121
|
+
// result that carries `error: ""` or `error: null` is not mislabelled.
|
|
122
|
+
const errorText = readErrorText(result.error);
|
|
123
|
+
if (errorText) {
|
|
124
|
+
toolState = 'failed';
|
|
125
|
+
toolError = errorText;
|
|
126
|
+
}
|
|
115
127
|
if (typeof result.pid === 'number') {
|
|
116
128
|
toolPid = result.pid;
|
|
117
129
|
}
|
|
@@ -133,10 +145,22 @@ function inferToolLifecycleFields(toolResult) {
|
|
|
133
145
|
toolPid,
|
|
134
146
|
toolBackend,
|
|
135
147
|
toolExitCode,
|
|
136
|
-
toolSummary,
|
|
148
|
+
toolSummary: toolSummary ?? toolError,
|
|
149
|
+
toolError,
|
|
137
150
|
toolDurationMs,
|
|
138
151
|
};
|
|
139
152
|
}
|
|
153
|
+
/** A non-empty error string from `error: "…"` or `error: { message: "…" }`. */
|
|
154
|
+
function readErrorText(value) {
|
|
155
|
+
if (typeof value === 'string')
|
|
156
|
+
return value.trim() ? value : undefined;
|
|
157
|
+
if (value && typeof value === 'object') {
|
|
158
|
+
const message = value.message;
|
|
159
|
+
if (typeof message === 'string' && message.trim())
|
|
160
|
+
return message;
|
|
161
|
+
}
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
140
164
|
function formatShellStreamLine(toolName, streamName, line, pid, backend) {
|
|
141
165
|
const pidSuffix = typeof pid === 'number' ? `[${pid}]` : backend === 'sandbox' ? '[sandbox]' : '';
|
|
142
166
|
return `${toolName}${pidSuffix} ${streamName} ${line}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-tool-events.js","sourceRoot":"","sources":["../../../src/system/runtime/shell-tool-events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shell-tool-events.js","sourceRoot":"","sources":["../../../src/system/runtime/shell-tool-events.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -48,6 +48,58 @@ export interface MediaRef {
|
|
|
48
48
|
path: string;
|
|
49
49
|
mimeType: string;
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* A parsed `model_spec` from a `with_model/2` scope: a provider+id with optional
|
|
53
|
+
* temperature/maxTokens/reasoning overrides. `default`/`none` means "no override".
|
|
54
|
+
*/
|
|
55
|
+
export type ModelSpec = 'default' | {
|
|
56
|
+
provider?: string;
|
|
57
|
+
id: string;
|
|
58
|
+
temperature?: number;
|
|
59
|
+
maxTokens?: number;
|
|
60
|
+
/** Reasoning level (`off|minimal|low|medium|high|xhigh|max`). */
|
|
61
|
+
reasoning?: string;
|
|
62
|
+
};
|
|
63
|
+
/** A fully resolved model profile used for one call. */
|
|
64
|
+
export interface ResolvedModel {
|
|
65
|
+
provider: string;
|
|
66
|
+
id: string;
|
|
67
|
+
temperature?: number;
|
|
68
|
+
maxTokens?: number;
|
|
69
|
+
/** Context window, for nested compaction thresholds. */
|
|
70
|
+
contextWindow?: number;
|
|
71
|
+
/** Whether the model supports a reasoning/thinking mode. */
|
|
72
|
+
reasoning: boolean;
|
|
73
|
+
/** Requested reasoning level for this scope, if any. */
|
|
74
|
+
reasoningLevel?: string;
|
|
75
|
+
/** For the env backend: how reasoning maps to provider options. */
|
|
76
|
+
reasoningType?: 'effort' | 'budget_tokens' | 'thinking_config' | 'none';
|
|
77
|
+
reasoningBudgetMap?: Record<string, number>;
|
|
78
|
+
/** For the pi backend: thinking levels the model accepts. */
|
|
79
|
+
supportedThinkingLevels?: string[];
|
|
80
|
+
}
|
|
81
|
+
/** Request passed to an injected image-generation backend (see `task/…, media(X))`). */
|
|
82
|
+
export interface ImageGenerationRequest {
|
|
83
|
+
/** The prompt (the task description, interpolated). */
|
|
84
|
+
prompt: string;
|
|
85
|
+
/** Attached input images, for image-to-image. */
|
|
86
|
+
refs?: MediaRef[];
|
|
87
|
+
/** Optional square/edge size in px. */
|
|
88
|
+
size?: number;
|
|
89
|
+
signal?: AbortSignal;
|
|
90
|
+
}
|
|
91
|
+
export interface ImageGenerationResult {
|
|
92
|
+
/** Workspace-relative path of the written image. */
|
|
93
|
+
path: string;
|
|
94
|
+
mimeType: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* A host image generator. The pi backend implements this on top of pi's image
|
|
98
|
+
* models and credential store; tests inject a canned one.
|
|
99
|
+
*/
|
|
100
|
+
export interface ImageBackend {
|
|
101
|
+
generate(request: ImageGenerationRequest): Promise<ImageGenerationResult>;
|
|
102
|
+
}
|
|
51
103
|
/** Resolved media bytes attached to a backend message (base64). */
|
|
52
104
|
export interface LLMBackendMedia {
|
|
53
105
|
mimeType: string;
|
|
@@ -86,6 +138,8 @@ export interface LLMBackendRequest {
|
|
|
86
138
|
onText?: (chunk: string) => void;
|
|
87
139
|
/** Receives reasoning/thinking text as it becomes available (display only). */
|
|
88
140
|
onReasoning?: (chunk: string) => void;
|
|
141
|
+
/** Per-call model override from `with_model/2`. */
|
|
142
|
+
target?: ResolvedModel;
|
|
89
143
|
}
|
|
90
144
|
export interface LLMBackendResponse {
|
|
91
145
|
text: string;
|
|
@@ -180,13 +234,22 @@ export interface FrameEventMeta {
|
|
|
180
234
|
frameKind?: FrameKind;
|
|
181
235
|
}
|
|
182
236
|
export interface DMLEvent extends FrameEventMeta {
|
|
183
|
-
type: 'output' | 'log' | 'answer' | 'input_required' | 'error' | 'finished' | 'stream' | 'reasoning' | 'tool_call' | 'model_call' | 'usage' | 'memory_compaction' | 'task_activity' | 'solution' | 'meta_result' | 'media';
|
|
237
|
+
type: 'output' | 'log' | 'diagnostic' | 'answer' | 'input_required' | 'error' | 'finished' | 'stream' | 'reasoning' | 'tool_call' | 'model_call' | 'usage' | 'memory_compaction' | 'task_activity' | 'solution' | 'meta_result' | 'media';
|
|
184
238
|
content?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Severity of a `log` event. Prolog's own stderr arrives this way; `warning`
|
|
241
|
+
* and `error` are shown even without `--verbose`, because a deprecated or
|
|
242
|
+
* failing construct is not low-level noise the user opted out of seeing.
|
|
243
|
+
*/
|
|
244
|
+
level?: 'info' | 'warning' | 'error';
|
|
245
|
+
/** Which stream a diagnostic came from (only for Prolog diagnostics). */
|
|
246
|
+
channel?: 'stdout' | 'stderr';
|
|
185
247
|
/** Media produced by a step (path in the workspace, optional inline base64). */
|
|
186
248
|
media?: {
|
|
187
249
|
path?: string;
|
|
188
250
|
mimeType: string;
|
|
189
251
|
data?: string;
|
|
252
|
+
kind?: string;
|
|
190
253
|
};
|
|
191
254
|
/** Model-call lifecycle (only for 'model_call' events). */
|
|
192
255
|
modelCallState?: 'started' | 'completed' | 'failed';
|
|
@@ -362,10 +425,21 @@ export type FrameKind = 'query' | 'nested' | 'object';
|
|
|
362
425
|
/**
|
|
363
426
|
* Variable with type information for type-safe LLM outputs
|
|
364
427
|
*/
|
|
428
|
+
export interface SchemaField {
|
|
429
|
+
name: string;
|
|
430
|
+
type: string;
|
|
431
|
+
required: boolean;
|
|
432
|
+
/** Absent when the field declares no default. */
|
|
433
|
+
default?: unknown;
|
|
434
|
+
}
|
|
365
435
|
export interface TypedVar {
|
|
366
436
|
name: string;
|
|
367
|
-
type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object';
|
|
437
|
+
type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'media';
|
|
368
438
|
itemType?: TypedVar['type'];
|
|
439
|
+
/** Name of the declared `schema/2`, when the output names one. */
|
|
440
|
+
schema?: string;
|
|
441
|
+
/** The schema's fields, resolved at run time (see `decodeAgentOutputVars`). */
|
|
442
|
+
fields?: SchemaField[];
|
|
369
443
|
}
|
|
370
444
|
/**
|
|
371
445
|
* Internal types for Prolog bridge communication
|
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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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render a Mermaid `flowchart` (the subset `visualize` asks the model for) as a
|
|
3
|
+
* Unicode tree, so a diagram can be shown inline in the REPL, in a tool result,
|
|
4
|
+
* or over a terminal that has no image protocol.
|
|
5
|
+
*
|
|
6
|
+
* No dependencies and no browser: the diagram is parsed into nodes and edges and
|
|
7
|
+
* laid out as an indented flow. `parseMermaidFlowchart` / `buildFlowTree` are
|
|
8
|
+
* also consumed by `svg.ts` for the terminal-image path.
|
|
9
|
+
*
|
|
10
|
+
* Supported: `flowchart TD|TB|BT|LR|RL`, node shapes `[..] (..) {..} ([..])
|
|
11
|
+
* [[..]] ((..)) {{..}}`, quoted labels, chained edges (`A --> B --> C`),
|
|
12
|
+
* connectors `--> --- -.-> ==> -.- ===`, edge labels (`-->|x|`, `-- x -->`),
|
|
13
|
+
* and `subgraph`/`end` (grouping is flattened).
|
|
14
|
+
*/
|
|
15
|
+
export type NodeShape = 'rect' | 'round' | 'diamond' | 'stadium' | 'subroutine' | 'circle' | 'hexagon';
|
|
16
|
+
export interface MermaidNode {
|
|
17
|
+
id: string;
|
|
18
|
+
/** The display label (defaults to the node id). */
|
|
19
|
+
label: string;
|
|
20
|
+
shape: NodeShape;
|
|
21
|
+
}
|
|
22
|
+
export interface MermaidEdge {
|
|
23
|
+
from: string;
|
|
24
|
+
to: string;
|
|
25
|
+
/** Edge label (`-->|yes|` or `-- yes -->`). */
|
|
26
|
+
label?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ParsedFlowchart {
|
|
29
|
+
/** `TD`, `LR`, … (defaults to `TD`). */
|
|
30
|
+
direction: string;
|
|
31
|
+
nodes: MermaidNode[];
|
|
32
|
+
edges: MermaidEdge[];
|
|
33
|
+
}
|
|
34
|
+
export interface FlowTreeNode {
|
|
35
|
+
id: string;
|
|
36
|
+
label: string;
|
|
37
|
+
shape: NodeShape;
|
|
38
|
+
/** Label on the edge from the parent (undefined for a root). */
|
|
39
|
+
edgeLabel?: string;
|
|
40
|
+
/** True for a back/duplicate reference (the subtree is not expanded again). */
|
|
41
|
+
repeated?: boolean;
|
|
42
|
+
children: FlowTreeNode[];
|
|
43
|
+
}
|
|
44
|
+
/** Parse a Mermaid flowchart into nodes and edges. */
|
|
45
|
+
export declare function parseMermaidFlowchart(source: string): ParsedFlowchart;
|
|
46
|
+
/** Build the root(s) of a tree view, marking back/duplicate references. */
|
|
47
|
+
export declare function buildFlowTree(parsed: ParsedFlowchart): FlowTreeNode[];
|
|
48
|
+
/** Lay a tree view out as indented Unicode lines. */
|
|
49
|
+
export declare function renderFlowTree(roots: FlowTreeNode[]): string[];
|
|
50
|
+
/**
|
|
51
|
+
* Render Mermaid flowchart source as terminal text. Falls back to the trimmed
|
|
52
|
+
* source when the input is not a recognizable flowchart.
|
|
53
|
+
*/
|
|
54
|
+
export declare function renderMermaidAscii(source: string): string;
|
|
55
|
+
//# sourceMappingURL=ascii.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii.d.ts","sourceRoot":"","sources":["../../src/visualize/ascii.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvG,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AA0HD,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAsCrE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,EAAE,CA+CrE;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAkB9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzD"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render a Mermaid `flowchart` (the subset `visualize` asks the model for) as a
|
|
3
|
+
* Unicode tree, so a diagram can be shown inline in the REPL, in a tool result,
|
|
4
|
+
* or over a terminal that has no image protocol.
|
|
5
|
+
*
|
|
6
|
+
* No dependencies and no browser: the diagram is parsed into nodes and edges and
|
|
7
|
+
* laid out as an indented flow. `parseMermaidFlowchart` / `buildFlowTree` are
|
|
8
|
+
* also consumed by `svg.ts` for the terminal-image path.
|
|
9
|
+
*
|
|
10
|
+
* Supported: `flowchart TD|TB|BT|LR|RL`, node shapes `[..] (..) {..} ([..])
|
|
11
|
+
* [[..]] ((..)) {{..}}`, quoted labels, chained edges (`A --> B --> C`),
|
|
12
|
+
* connectors `--> --- -.-> ==> -.- ===`, edge labels (`-->|x|`, `-- x -->`),
|
|
13
|
+
* and `subgraph`/`end` (grouping is flattened).
|
|
14
|
+
*/
|
|
15
|
+
const HEADER = /^\s*(?:flowchart|graph)\s+(TD|TB|BT|LR|RL)\b/i;
|
|
16
|
+
const CONNECTOR = /^(-{2,3}>|={2,}>|-\.-+>|-\.-|--o|--x|-{2,}|={2,})/;
|
|
17
|
+
/** Shape open/close pairs, longest opener first. */
|
|
18
|
+
const SHAPES = [
|
|
19
|
+
{ open: '([', close: '])', shape: 'stadium' },
|
|
20
|
+
{ open: '[[', close: ']]', shape: 'subroutine' },
|
|
21
|
+
{ open: '((', close: '))', shape: 'circle' },
|
|
22
|
+
{ open: '{{', close: '}}', shape: 'hexagon' },
|
|
23
|
+
{ open: '[', close: ']', shape: 'rect' },
|
|
24
|
+
{ open: '(', close: ')', shape: 'round' },
|
|
25
|
+
{ open: '{', close: '}', shape: 'diamond' },
|
|
26
|
+
];
|
|
27
|
+
/** Normalize `-- label -->` into `-->|label|` so one edge form is parsed. */
|
|
28
|
+
function normalizeEdgeLabels(line) {
|
|
29
|
+
return line
|
|
30
|
+
.replace(/--\s+([^|>{}[\]]+?)\s+-->/g, '-->|$1|')
|
|
31
|
+
.replace(/--\s+([^|>{}[\]]+?)\s+---/g, '---|$1|');
|
|
32
|
+
}
|
|
33
|
+
/** Read one node reference (`id` plus an optional shape) starting at `i`. */
|
|
34
|
+
function readNode(text, i) {
|
|
35
|
+
let j = i;
|
|
36
|
+
while (j < text.length && /\s/.test(text[j])) {
|
|
37
|
+
j += 1;
|
|
38
|
+
}
|
|
39
|
+
const idMatch = /^([A-Za-z_][A-Za-z0-9_-]*|\d+)/.exec(text.slice(j));
|
|
40
|
+
if (!idMatch) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const id = idMatch[1];
|
|
44
|
+
j += id.length;
|
|
45
|
+
let label = id;
|
|
46
|
+
let shape = 'rect';
|
|
47
|
+
const spec = SHAPES.find((s) => text.startsWith(s.open, j));
|
|
48
|
+
if (spec) {
|
|
49
|
+
const start = j + spec.open.length;
|
|
50
|
+
const close = text.indexOf(spec.close, start);
|
|
51
|
+
if (close !== -1) {
|
|
52
|
+
label = text.slice(start, close).trim();
|
|
53
|
+
shape = spec.shape;
|
|
54
|
+
j = close + spec.close.length;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if ((label.startsWith('"') && label.endsWith('"')) || (label.startsWith("'") && label.endsWith("'"))) {
|
|
58
|
+
label = label.slice(1, -1);
|
|
59
|
+
}
|
|
60
|
+
return { node: { id, label: label || id, shape }, next: j };
|
|
61
|
+
}
|
|
62
|
+
/** Parse a single flowchart line into edges (and register any new nodes). */
|
|
63
|
+
function parseLine(line, nodes, edges) {
|
|
64
|
+
const text = normalizeEdgeLabels(line.trim().replace(/;+\s*$/, ''));
|
|
65
|
+
if (!text) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const register = (node) => {
|
|
69
|
+
const existing = nodes.get(node.id);
|
|
70
|
+
if (existing) {
|
|
71
|
+
// Prefer a real label over a bare id reference.
|
|
72
|
+
if (node.label !== node.id && existing.label === existing.id) {
|
|
73
|
+
nodes.set(node.id, { ...existing, label: node.label, shape: node.shape });
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
nodes.set(node.id, node);
|
|
78
|
+
};
|
|
79
|
+
let cursor = 0;
|
|
80
|
+
let prev = readNode(text, cursor);
|
|
81
|
+
if (!prev) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
register(prev.node);
|
|
85
|
+
cursor = prev.next;
|
|
86
|
+
for (;;) {
|
|
87
|
+
while (cursor < text.length && /\s/.test(text[cursor])) {
|
|
88
|
+
cursor += 1;
|
|
89
|
+
}
|
|
90
|
+
if (cursor >= text.length) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const connector = CONNECTOR.exec(text.slice(cursor));
|
|
94
|
+
if (!connector) {
|
|
95
|
+
const extra = readNode(text, cursor);
|
|
96
|
+
if (!extra) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
register(extra.node);
|
|
100
|
+
prev = extra;
|
|
101
|
+
cursor = extra.next;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
cursor += connector[1].length;
|
|
105
|
+
while (cursor < text.length && /\s/.test(text[cursor])) {
|
|
106
|
+
cursor += 1;
|
|
107
|
+
}
|
|
108
|
+
let label;
|
|
109
|
+
if (text[cursor] === '|') {
|
|
110
|
+
const close = text.indexOf('|', cursor + 1);
|
|
111
|
+
if (close !== -1) {
|
|
112
|
+
label = text.slice(cursor + 1, close).trim() || undefined;
|
|
113
|
+
cursor = close + 1;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const next = readNode(text, cursor);
|
|
117
|
+
if (!next) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
register(next.node);
|
|
121
|
+
edges.push({ from: prev.node.id, to: next.node.id, label });
|
|
122
|
+
prev = next;
|
|
123
|
+
cursor = next.next;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/** Parse a Mermaid flowchart into nodes and edges. */
|
|
127
|
+
export function parseMermaidFlowchart(source) {
|
|
128
|
+
const nodes = new Map();
|
|
129
|
+
const edges = [];
|
|
130
|
+
let direction = 'TD';
|
|
131
|
+
let subgraphs = 0;
|
|
132
|
+
let sawHeader = false;
|
|
133
|
+
for (const rawLine of (source ?? '').split('\n')) {
|
|
134
|
+
const trimmed = rawLine.replace(/\s+$/, '').trim();
|
|
135
|
+
if (!trimmed || trimmed.startsWith('%%')) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
const header = HEADER.exec(trimmed);
|
|
139
|
+
if (header) {
|
|
140
|
+
direction = header[1].toUpperCase() === 'TB' ? 'TD' : header[1].toUpperCase();
|
|
141
|
+
sawHeader = true;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
// Only parse a body once a flowchart header has been seen, so prose that
|
|
145
|
+
// was not a diagram is not mistaken for a list of bare nodes.
|
|
146
|
+
if (!sawHeader) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (/^subgraph\b/i.test(trimmed)) {
|
|
150
|
+
subgraphs += 1;
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
if (/^end\b/i.test(trimmed) && subgraphs > 0) {
|
|
154
|
+
subgraphs -= 1;
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
if (/^(classDef|class|style|linkStyle|click|direction)\b/i.test(trimmed)) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
parseLine(trimmed, nodes, edges);
|
|
161
|
+
}
|
|
162
|
+
return { direction, nodes: [...nodes.values()], edges };
|
|
163
|
+
}
|
|
164
|
+
/** Build the root(s) of a tree view, marking back/duplicate references. */
|
|
165
|
+
export function buildFlowTree(parsed) {
|
|
166
|
+
const byId = new Map(parsed.nodes.map((n) => [n.id, n]));
|
|
167
|
+
const children = new Map();
|
|
168
|
+
const indegree = new Map();
|
|
169
|
+
for (const node of parsed.nodes) {
|
|
170
|
+
children.set(node.id, []);
|
|
171
|
+
indegree.set(node.id, 0);
|
|
172
|
+
}
|
|
173
|
+
for (const edge of parsed.edges) {
|
|
174
|
+
if (!byId.has(edge.from)) {
|
|
175
|
+
byId.set(edge.from, { id: edge.from, label: edge.from, shape: 'rect' });
|
|
176
|
+
}
|
|
177
|
+
if (!byId.has(edge.to)) {
|
|
178
|
+
byId.set(edge.to, { id: edge.to, label: edge.to, shape: 'rect' });
|
|
179
|
+
}
|
|
180
|
+
indegree.set(edge.to, (indegree.get(edge.to) ?? 0) + 1);
|
|
181
|
+
indegree.set(edge.from, indegree.get(edge.from) ?? 0);
|
|
182
|
+
if (!children.has(edge.from)) {
|
|
183
|
+
children.set(edge.from, []);
|
|
184
|
+
}
|
|
185
|
+
children.get(edge.from).push(edge);
|
|
186
|
+
}
|
|
187
|
+
const build = (id, edgeLabel, seen) => {
|
|
188
|
+
const node = byId.get(id) ?? { id, label: id, shape: 'rect' };
|
|
189
|
+
const repeated = seen.has(id);
|
|
190
|
+
const treeNode = {
|
|
191
|
+
id,
|
|
192
|
+
label: node.label,
|
|
193
|
+
shape: node.shape,
|
|
194
|
+
edgeLabel,
|
|
195
|
+
repeated,
|
|
196
|
+
children: [],
|
|
197
|
+
};
|
|
198
|
+
if (repeated) {
|
|
199
|
+
return treeNode;
|
|
200
|
+
}
|
|
201
|
+
seen.add(id);
|
|
202
|
+
for (const edge of children.get(id) ?? []) {
|
|
203
|
+
treeNode.children.push(build(edge.to, edge.label, seen));
|
|
204
|
+
}
|
|
205
|
+
return treeNode;
|
|
206
|
+
};
|
|
207
|
+
const roots = parsed.nodes.filter((n) => (indegree.get(n.id) ?? 0) === 0).map((n) => n.id);
|
|
208
|
+
const rootIds = roots.length > 0 ? roots : parsed.nodes.slice(0, 1).map((n) => n.id);
|
|
209
|
+
return rootIds.map((id) => build(id, undefined, new Set()));
|
|
210
|
+
}
|
|
211
|
+
/** Lay a tree view out as indented Unicode lines. */
|
|
212
|
+
export function renderFlowTree(roots) {
|
|
213
|
+
const lines = [];
|
|
214
|
+
const emit = (node, prefix, isLast) => {
|
|
215
|
+
const edge = node.edgeLabel ? `(${node.edgeLabel}) ` : '';
|
|
216
|
+
lines.push(`${prefix}${isLast ? '└─▶ ' : '├─▶ '}${edge}${node.label}${node.repeated ? ' ↻' : ''}`);
|
|
217
|
+
const childPrefix = prefix + (isLast ? ' ' : '│ ');
|
|
218
|
+
node.children.forEach((child, index) => emit(child, childPrefix, index === node.children.length - 1));
|
|
219
|
+
};
|
|
220
|
+
for (const root of roots) {
|
|
221
|
+
if (roots.length === 1) {
|
|
222
|
+
lines.push(root.label);
|
|
223
|
+
root.children.forEach((child, index) => emit(child, '', index === root.children.length - 1));
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
emit(root, '', root === roots[roots.length - 1]);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return lines;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Render Mermaid flowchart source as terminal text. Falls back to the trimmed
|
|
233
|
+
* source when the input is not a recognizable flowchart.
|
|
234
|
+
*/
|
|
235
|
+
export function renderMermaidAscii(source) {
|
|
236
|
+
const parsed = parseMermaidFlowchart(source);
|
|
237
|
+
if (parsed.nodes.length === 0) {
|
|
238
|
+
return (source ?? '').trim();
|
|
239
|
+
}
|
|
240
|
+
return renderFlowTree(buildFlowTree(parsed)).join('\n');
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=ascii.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../../src/visualize/ascii.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared "diagram → terminal image" step.
|
|
3
|
+
*
|
|
4
|
+
* Both `/viz` (user-typed) and the authoring agent's `visualize` tool use this,
|
|
5
|
+
* so a diagram is painted the same way everywhere: resolve the terminal's image
|
|
6
|
+
* protocol, rasterize the SVG (no browser), and encode an inline image. Returns
|
|
7
|
+
* undefined when the terminal has no image support or no rasterizer is
|
|
8
|
+
* installed, so the caller can fall back to the ASCII tree.
|
|
9
|
+
*/
|
|
10
|
+
import { type GraphicsMode } from './graphics.js';
|
|
11
|
+
export interface DiagramImageSource {
|
|
12
|
+
svg: string;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}
|
|
16
|
+
export interface DiagramImageOptions {
|
|
17
|
+
/** `auto` (default) or a forced protocol; `ascii`/`off` disable the image. */
|
|
18
|
+
graphics?: GraphicsMode;
|
|
19
|
+
maxWidthCells?: number;
|
|
20
|
+
maxHeightCells?: number;
|
|
21
|
+
}
|
|
22
|
+
/** Encode a diagram as inline terminal-image lines, or undefined. */
|
|
23
|
+
export declare function renderDiagramImage(source: DiagramImageSource, options?: DiagramImageOptions): Promise<string[] | undefined>;
|
|
24
|
+
//# sourceMappingURL=display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/visualize/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAgD,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhG,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qEAAqE;AACrE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAe/B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared "diagram → terminal image" step.
|
|
3
|
+
*
|
|
4
|
+
* Both `/viz` (user-typed) and the authoring agent's `visualize` tool use this,
|
|
5
|
+
* so a diagram is painted the same way everywhere: resolve the terminal's image
|
|
6
|
+
* protocol, rasterize the SVG (no browser), and encode an inline image. Returns
|
|
7
|
+
* undefined when the terminal has no image support or no rasterizer is
|
|
8
|
+
* installed, so the caller can fall back to the ASCII tree.
|
|
9
|
+
*/
|
|
10
|
+
import { rasterizeSvg } from './raster.js';
|
|
11
|
+
import { renderTerminalImage, resolveGraphicsProtocol } from './graphics.js';
|
|
12
|
+
/** Encode a diagram as inline terminal-image lines, or undefined. */
|
|
13
|
+
export async function renderDiagramImage(source, options = {}) {
|
|
14
|
+
const protocol = resolveGraphicsProtocol(options.graphics ?? 'auto');
|
|
15
|
+
if (!protocol) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const png = await rasterizeSvg(source.svg, { width: source.width, height: source.height });
|
|
19
|
+
if (!png) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const image = renderTerminalImage(png, {
|
|
23
|
+
protocol,
|
|
24
|
+
maxWidthCells: options.maxWidthCells ?? 80,
|
|
25
|
+
maxHeightCells: options.maxHeightCells,
|
|
26
|
+
});
|
|
27
|
+
return image?.lines;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/visualize/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAqB,MAAM,eAAe,CAAC;AAehG,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0B,EAC1B,UAA+B,EAAE;IAEjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE;QACrC,QAAQ;QACR,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;QAC1C,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IACH,OAAO,KAAK,EAAE,KAAK,CAAC;AACtB,CAAC"}
|