@nghyane/arcane 0.1.14 → 0.1.15
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/package.json +1 -1
- package/src/modes/components/bash-execution.ts +4 -1
- package/src/modes/components/branch-summary-message.ts +4 -1
- package/src/modes/components/compaction-summary-message.ts +8 -1
- package/src/modes/components/python-execution.ts +4 -1
- package/src/patch/shared.ts +1 -1
- package/src/prompts/agents/explore.md +1 -1
- package/src/prompts/agents/frontmatter.md +1 -1
- package/src/prompts/agents/init.md +1 -1
- package/src/prompts/agents/librarian.md +1 -1
- package/src/prompts/agents/oracle.md +1 -1
- package/src/prompts/agents/reviewer.md +1 -1
- package/src/prompts/agents/task.md +1 -1
- package/src/prompts/compaction/branch-summary-context.md +1 -1
- package/src/prompts/compaction/branch-summary-preamble.md +1 -1
- package/src/prompts/compaction/branch-summary.md +1 -1
- package/src/prompts/compaction/compaction-short-summary.md +1 -1
- package/src/prompts/compaction/compaction-summary-context.md +1 -1
- package/src/prompts/compaction/compaction-summary.md +1 -1
- package/src/prompts/compaction/compaction-turn-prefix.md +1 -1
- package/src/prompts/compaction/compaction-update-summary.md +1 -1
- package/src/prompts/memories/consolidation.md +1 -1
- package/src/prompts/memories/read_path.md +1 -1
- package/src/prompts/memories/stage_one_input.md +1 -1
- package/src/prompts/memories/stage_one_system.md +1 -1
- package/src/prompts/review-request.md +1 -1
- package/src/prompts/system/agent-creation-architect.md +1 -1
- package/src/prompts/system/agent-creation-user.md +1 -1
- package/src/prompts/system/custom-system-prompt.md +1 -1
- package/src/prompts/system/file-operations.md +1 -1
- package/src/prompts/system/subagent-system-prompt.md +1 -1
- package/src/prompts/system/summarization-system.md +1 -1
- package/src/prompts/system/system-prompt.md +1 -2
- package/src/prompts/system/title-system.md +1 -1
- package/src/prompts/system/ttsr-interrupt.md +1 -1
- package/src/prompts/system/verification-reminder.md +1 -1
- package/src/prompts/system/web-search.md +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@nghyane/arcane",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.15",
|
|
5
5
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
6
6
|
"homepage": "https://github.com/nghyane/arcane",
|
|
7
7
|
"author": "Can Bölük",
|
|
@@ -8,7 +8,7 @@ import { Container, Loader, Spacer, Text, type TUI } from "@nghyane/arcane-tui";
|
|
|
8
8
|
import { getSymbolTheme, theme } from "../../theme/theme";
|
|
9
9
|
import type { TruncationMeta } from "../../tools/output-meta";
|
|
10
10
|
import { renderStatusLine } from "../../tui/status-line";
|
|
11
|
-
import { formatCount, replaceTabs } from "../../ui/render-utils";
|
|
11
|
+
import { formatClickHint, formatCount, replaceTabs } from "../../ui/render-utils";
|
|
12
12
|
|
|
13
13
|
const TAIL_LINES = 4;
|
|
14
14
|
const MAX_DISPLAY_LINE_CHARS = 4000;
|
|
@@ -127,6 +127,9 @@ export class BashExecutionComponent extends Container {
|
|
|
127
127
|
if (this.#truncation) {
|
|
128
128
|
bodyLines.push(theme.fg("warning", "output truncated"));
|
|
129
129
|
}
|
|
130
|
+
if (!showAll && skipped > 0) {
|
|
131
|
+
bodyLines.push(formatClickHint(theme));
|
|
132
|
+
}
|
|
130
133
|
}
|
|
131
134
|
|
|
132
135
|
this.#bodyText.setText(bodyLines.length > 0 ? bodyLines.join("\n") : "");
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Container, LeftBorderBox, Markdown, Spacer, Text } from "@nghyane/arcane-tui";
|
|
2
2
|
import type { BranchSummaryMessage } from "../../session/messages";
|
|
3
3
|
import { getMarkdownTheme, theme } from "../../theme/theme";
|
|
4
|
+
import { formatClickHint } from "../../ui/render-utils";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Component that renders a branch summary message with collapsed/expanded state.
|
|
@@ -42,7 +43,9 @@ export class BranchSummaryMessageComponent extends Container {
|
|
|
42
43
|
}),
|
|
43
44
|
);
|
|
44
45
|
} else {
|
|
45
|
-
this.#box.addChild(
|
|
46
|
+
this.#box.addChild(
|
|
47
|
+
new Text(`${theme.fg("customMessageText", "Branch summary")} ${formatClickHint(theme)}`, 0, 0),
|
|
48
|
+
);
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Container, LeftBorderBox, Markdown, Spacer, Text } from "@nghyane/arcane-tui";
|
|
2
2
|
import type { CompactionSummaryMessage } from "../../session/messages";
|
|
3
3
|
import { getMarkdownTheme, theme } from "../../theme/theme";
|
|
4
|
+
import { formatClickHint } from "../../ui/render-utils";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Component that renders a compaction message with collapsed/expanded state.
|
|
@@ -43,7 +44,13 @@ export class CompactionSummaryMessageComponent extends Container {
|
|
|
43
44
|
}),
|
|
44
45
|
);
|
|
45
46
|
} else {
|
|
46
|
-
this.#box.addChild(
|
|
47
|
+
this.#box.addChild(
|
|
48
|
+
new Text(
|
|
49
|
+
`${theme.fg("customMessageText", `Compacted from ${tokenStr} tokens`)} ${formatClickHint(theme)}`,
|
|
50
|
+
0,
|
|
51
|
+
0,
|
|
52
|
+
),
|
|
53
|
+
);
|
|
47
54
|
if (this.message.shortSummary) {
|
|
48
55
|
this.#box.addChild(new Text(theme.fg("customMessageText", this.message.shortSummary), 0, 1));
|
|
49
56
|
}
|
|
@@ -8,7 +8,7 @@ import { Container, Loader, Spacer, Text, type TUI } from "@nghyane/arcane-tui";
|
|
|
8
8
|
import { getSymbolTheme, theme } from "../../theme/theme";
|
|
9
9
|
import type { TruncationMeta } from "../../tools/output-meta";
|
|
10
10
|
import { renderStatusLine } from "../../tui/status-line";
|
|
11
|
-
import { formatCount, replaceTabs } from "../../ui/render-utils";
|
|
11
|
+
import { formatClickHint, formatCount, replaceTabs } from "../../ui/render-utils";
|
|
12
12
|
|
|
13
13
|
const TAIL_LINES = 4;
|
|
14
14
|
const MAX_DISPLAY_LINE_CHARS = 4000;
|
|
@@ -127,6 +127,9 @@ export class PythonExecutionComponent extends Container {
|
|
|
127
127
|
if (this.#truncation) {
|
|
128
128
|
bodyLines.push(theme.fg("warning", "output truncated"));
|
|
129
129
|
}
|
|
130
|
+
if (!showAll && skipped > 0) {
|
|
131
|
+
bodyLines.push(formatClickHint(theme));
|
|
132
|
+
}
|
|
130
133
|
}
|
|
131
134
|
|
|
132
135
|
this.#bodyText.setText(bodyLines.length > 0 ? bodyLines.join("\n") : "");
|
package/src/patch/shared.ts
CHANGED
|
@@ -315,7 +315,7 @@ export const editToolRenderer = {
|
|
|
315
315
|
}
|
|
316
316
|
if (!expanded && diffLines.length > maxLines) {
|
|
317
317
|
const remaining = diffLines.length - maxLines;
|
|
318
|
-
treeBody.push(uiTheme.fg("dim", `… ${remaining} more lines`)
|
|
318
|
+
treeBody.push(`${uiTheme.fg("dim", `… ${remaining} more lines`)} ${formatClickHint(uiTheme)}`);
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
// Diagnostics
|
|
@@ -30,4 +30,4 @@ Before searching, decompose the query into:
|
|
|
30
30
|
- Format each file as: `[relativePath#L{start}-L{end}](file://{absolutePath}#L{start}-L{end})`
|
|
31
31
|
- **Use generous line ranges**: Extend ranges to capture complete logical units (full functions, classes, blocks). Add 5-10 lines buffer.
|
|
32
32
|
|
|
33
|
-
Your final message must contain ONLY the search results — no preamble like "I'll search for...".
|
|
33
|
+
Your final message must contain ONLY the search results — no preamble like "I'll search for...".
|
|
@@ -59,4 +59,4 @@ Be comprehensive and direct. No filler.
|
|
|
59
59
|
Only your final message is returned to the caller. It must be self-contained with all findings, paths, and explanations. Do not reference tool names or intermediate steps — present conclusions directly. Your final message must contain ONLY the information found — no preamble.
|
|
60
60
|
|
|
61
61
|
Use "fluent" linking — embed file/PR/commit references in natural noun phrases, not raw URLs. Example: The [`handleAuth` function](file:///path/to/auth.ts#L42) validates tokens.
|
|
62
|
-
</critical>
|
|
62
|
+
</critical>
|
|
@@ -33,4 +33,4 @@ Final verdict:
|
|
|
33
33
|
<critical>
|
|
34
34
|
Only your last message is returned. It must be self-contained — all findings and verdict in one response. Your final message must contain ONLY the review findings — no preamble.
|
|
35
35
|
Every finding must be patch-anchored and evidence-backed.
|
|
36
|
-
</critical>
|
|
36
|
+
</critical>
|
|
@@ -19,4 +19,4 @@ Do the task end to end. Don’t hand back half-baked work.
|
|
|
19
19
|
- When done, write a concise summary of what you did as your final response. This is your output.
|
|
20
20
|
- Use tools to get feedback on your generated code. Run diagnostics and type checks. If build/test commands aren’t known, find them in the environment.
|
|
21
21
|
- Follow the main agent’s instructions and AGENTS.md conventions.
|
|
22
|
-
</directives>
|
|
22
|
+
</directives>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
The user explored a different conversation branch before returning here.
|
|
2
|
-
Summary of that exploration:
|
|
2
|
+
Summary of that exploration:
|
|
@@ -30,4 +30,4 @@ Use EXACT format:
|
|
|
30
30
|
## Next Steps
|
|
31
31
|
1. [What should happen next to continue]
|
|
32
32
|
|
|
33
|
-
Prioritize recent work over older context. Keep sections concise. Preserve exact file paths, function names, error messages.
|
|
33
|
+
Prioritize recent work over older context. Keep sections concise. Preserve exact file paths, function names, error messages.
|
|
@@ -38,4 +38,4 @@ Use this format (sections can be omitted if not applicable):
|
|
|
38
38
|
|
|
39
39
|
Output only structured summary; no extra text.
|
|
40
40
|
|
|
41
|
-
Prioritize recent context over older context — the last 2-3 turns are most likely to contain the active work state. Preserve exact file paths, function names, error messages, and relevant tool outputs. Include repository state changes (branch, uncommitted changes) if mentioned.
|
|
41
|
+
Prioritize recent context over older context — the last 2-3 turns are most likely to contain the active work state. Preserve exact file paths, function names, error messages, and relevant tool outputs. Include repository state changes (branch, uncommitted changes) if mentioned.
|
|
@@ -14,4 +14,4 @@ Summarize the prefix to provide context for the retained suffix:
|
|
|
14
14
|
|
|
15
15
|
Output only the structured summary. No extra text.
|
|
16
16
|
|
|
17
|
-
Be concise. Preserve exact file paths, function names, error messages, and relevant tool outputs or command results if they appear. Focus on what's needed to understand the kept suffix.
|
|
17
|
+
Be concise. Preserve exact file paths, function names, error messages, and relevant tool outputs or command results if they appear. Focus on what's needed to understand the kept suffix.
|
|
@@ -42,4 +42,4 @@ Use this format (omit sections if not applicable):
|
|
|
42
42
|
|
|
43
43
|
Output only structured summary; no extra text.
|
|
44
44
|
|
|
45
|
-
Keep sections concise. Preserve relevant tool outputs/command results. Include repository state changes (branch, uncommitted changes) if mentioned.
|
|
45
|
+
Keep sections concise. Preserve relevant tool outputs/command results. Include repository state changes (branch, uncommitted changes) if mentioned.
|
|
@@ -27,4 +27,4 @@ Requirements:
|
|
|
27
27
|
- scripts/templates/examples are optional. When present, each entry writes to skills/<name>/<bucket>/<path>.
|
|
28
28
|
- Only include files worth keeping long-term; omit stale assets so they are pruned.
|
|
29
29
|
- Preserve useful prior themes; remove stale or contradictory guidance.
|
|
30
|
-
- Keep memory advisory: current repository state wins.
|
|
30
|
+
- Keep memory advisory: current repository state wins.
|
|
@@ -8,4 +8,4 @@ Operational rules:
|
|
|
8
8
|
5) Conflict workflow: if memory disagrees with repo state or user instruction, prefer repo/user, treat memory as stale, proceed with corrected behavior, then update/regenerate memory artifacts through normal execution.
|
|
9
9
|
6) Escalate confidence only after repository verification; memory alone is never sufficient proof.
|
|
10
10
|
Memory summary:
|
|
11
|
-
{{memory_summary}}
|
|
11
|
+
{{memory_summary}}
|
|
@@ -18,4 +18,4 @@ Rules:
|
|
|
18
18
|
- rollout_summary: compact synopsis of what future runs should remember.
|
|
19
19
|
- rollout_slug: short lowercase slug (letters/numbers/_), or null.
|
|
20
20
|
- raw_memory: detailed durable memory blocks with enough context to reuse.
|
|
21
|
-
- If no durable signal exists, return empty strings for rollout_summary/raw_memory and null rollout_slug.
|
|
21
|
+
- If no durable signal exists, return empty strings for rollout_summary/raw_memory and null rollout_slug.
|
|
@@ -62,4 +62,4 @@ Key principles for your system prompts:
|
|
|
62
62
|
- Make the agent proactive in seeking clarification when needed
|
|
63
63
|
- Build in quality assurance and self-correction mechanisms
|
|
64
64
|
|
|
65
|
-
Remember: The agents you create should be autonomous experts capable of handling their designated tasks with minimal additional guidance. Your system prompts are their complete operational manual.
|
|
65
|
+
Remember: The agents you create should be autonomous experts capable of handling their designated tasks with minimal additional guidance. Your system prompts are their complete operational manual.
|
|
@@ -16,4 +16,4 @@ For additional parent conversation context, check {{contextFile}} (`tail -100` o
|
|
|
16
16
|
- Do NOT abort due to uncertainty or missing info that can be obtained via tools or repo context. Use find/grep/read first, then proceed with reasonable defaults if multiple options are acceptable.
|
|
17
17
|
- Aborting is only acceptable when truly blocked after exhausting tools and reasonable attempts. If you abort, include what you tried and the exact blocker in the result.
|
|
18
18
|
- Keep going until request is fully fulfilled. This matters.
|
|
19
|
-
</critical>
|
|
19
|
+
</critical>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
|
|
2
2
|
|
|
3
|
-
Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.
|
|
3
|
+
Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.
|
|
@@ -22,7 +22,6 @@ Balance initiative with predictability:
|
|
|
22
22
|
{{#list environment prefix="- " join="\n"}}{{label}}: {{value}}{{/list}}
|
|
23
23
|
</environment>
|
|
24
24
|
|
|
25
|
-
|
|
26
25
|
## Tool Usage
|
|
27
26
|
- Use specialized tools instead of Bash for file operations.
|
|
28
27
|
- Prefer doing work directly — you retain full context and produce better results.
|
|
@@ -280,4 +279,4 @@ Current date: {{date}}
|
|
|
280
279
|
{{/each}}
|
|
281
280
|
</output_style>
|
|
282
281
|
|
|
283
|
-
{{appendSystemPrompt}}
|
|
282
|
+
{{appendSystemPrompt}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
Generate a very short title (3-6 words) for a coding session based on the user's first message. The title should capture the main task or topic.
|
|
2
|
-
Output ONLY the title, nothing else. No quotes, no punctuation at the end.
|
|
2
|
+
Output ONLY the title, nothing else. No quotes, no punctuation at the end.
|
|
@@ -3,4 +3,4 @@ You modified files in this turn but did not run verification.
|
|
|
3
3
|
Run the project's verification commands (format, typecheck, lint) and fix any errors you introduced.
|
|
4
4
|
Do not consider the task complete until verification passes.
|
|
5
5
|
(Reminder {{attempt}}/{{maxAttempts}})
|
|
6
|
-
</system_reminder>
|
|
6
|
+
</system_reminder>
|