@nghyane/arcane 0.1.13 → 0.1.14
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/CHANGELOG.md +28 -0
- package/package.json +21 -70
- package/scripts/format-prompts.ts +1 -3
- package/src/cli/args.ts +2 -7
- package/src/cli/config-cli.ts +1 -1
- package/src/cli/plugin-cli.ts +1 -1
- package/src/cli/setup-cli.ts +1 -1
- package/src/cli/update-cli.ts +1 -1
- package/src/cli/web-search-cli.ts +1 -1
- package/src/cli.ts +0 -1
- package/src/commands/config.ts +1 -1
- package/src/commands/grep.ts +1 -1
- package/src/commands/jupyter.ts +1 -1
- package/src/commands/plugin.ts +1 -1
- package/src/commands/setup.ts +1 -1
- package/src/commands/shell.ts +1 -1
- package/src/commands/ssh.ts +1 -1
- package/src/commands/stats.ts +1 -1
- package/src/commands/update.ts +1 -1
- package/src/config/model-registry.ts +3 -4
- package/src/config/model-resolver.ts +36 -9
- package/src/config/prompt-templates.ts +1 -9
- package/src/config/settings-schema.ts +32 -88
- package/src/config/settings.ts +3 -4
- package/src/debug/index.ts +1 -1
- package/src/debug/log-formatting.ts +1 -1
- package/src/debug/log-viewer.ts +2 -2
- package/src/discovery/helpers.ts +13 -3
- package/src/exa/index.ts +1 -35
- package/src/exa/render.ts +30 -190
- package/src/export/html/index.ts +1 -1
- package/src/extensibility/custom-tools/loader.ts +1 -1
- package/src/extensibility/custom-tools/types.ts +5 -1
- package/src/extensibility/custom-tools/wrapper.ts +1 -1
- package/src/extensibility/extensions/runner.ts +1 -1
- package/src/extensibility/extensions/types.ts +1 -1
- package/src/extensibility/extensions/wrapper.ts +7 -15
- package/src/extensibility/hooks/runner.ts +1 -1
- package/src/extensibility/hooks/types.ts +1 -1
- package/src/extensibility/plugins/doctor.ts +1 -1
- package/src/index.ts +13 -13
- package/src/lsp/index.ts +77 -24
- package/src/lsp/render.ts +34 -583
- package/src/lsp/types.ts +3 -3
- package/src/lsp/utils.ts +1 -1
- package/src/main.ts +1 -1
- package/src/mcp/tool-bridge.ts +1 -24
- package/src/modes/components/assistant-message.ts +7 -7
- package/src/modes/components/bash-execution.ts +48 -113
- package/src/modes/components/bordered-loader.ts +1 -1
- package/src/modes/components/branch-summary-message.ts +13 -10
- package/src/modes/components/compaction-summary-message.ts +14 -13
- package/src/modes/components/context-group.ts +106 -0
- package/src/modes/components/custom-message.ts +4 -5
- package/src/modes/components/diff.ts +2 -2
- package/src/modes/components/dynamic-border.ts +1 -1
- package/src/modes/components/extensions/extension-dashboard.ts +1 -1
- package/src/modes/components/extensions/extension-list.ts +1 -1
- package/src/modes/components/extensions/inspector-panel.ts +1 -1
- package/src/modes/components/footer.ts +2 -2
- package/src/modes/components/history-search.ts +1 -1
- package/src/modes/components/hook-editor.ts +1 -1
- package/src/modes/components/hook-input.ts +1 -1
- package/src/modes/components/hook-message.ts +4 -5
- package/src/modes/components/hook-selector.ts +1 -1
- package/src/modes/components/index.ts +0 -2
- package/src/modes/components/keybinding-hints.ts +1 -1
- package/src/modes/components/login-dialog.ts +1 -1
- package/src/modes/components/mcp-add-wizard.ts +1 -1
- package/src/modes/components/model-selector.ts +1 -1
- package/src/modes/components/oauth-selector.ts +1 -1
- package/src/modes/components/plugin-settings.ts +1 -1
- package/src/modes/components/python-execution.ts +49 -92
- package/src/modes/components/queue-mode-selector.ts +1 -1
- package/src/modes/components/session-selector.ts +1 -1
- package/src/modes/components/settings-defs.ts +5 -10
- package/src/modes/components/settings-selector.ts +1 -1
- package/src/modes/components/show-images-selector.ts +1 -1
- package/src/modes/components/skill-message.ts +4 -4
- package/src/modes/components/status-line/segments.ts +2 -2
- package/src/modes/components/status-line/separators.ts +1 -1
- package/src/modes/components/status-line-segment-editor.ts +1 -1
- package/src/modes/components/status-line.ts +1 -1
- package/src/modes/components/theme-selector.ts +1 -1
- package/src/modes/components/thinking-selector.ts +1 -1
- package/src/modes/components/todo-display.ts +2 -4
- package/src/modes/components/todo-reminder.ts +4 -4
- package/src/modes/components/tool-execution.ts +118 -440
- package/src/modes/components/tool-image-display.ts +107 -0
- package/src/modes/components/tree-selector.ts +2 -2
- package/src/modes/components/ttsr-notification.ts +4 -17
- package/src/modes/components/user-message-selector.ts +1 -1
- package/src/modes/components/user-message.ts +9 -10
- package/src/modes/components/welcome.ts +1 -1
- package/src/modes/controllers/command-controller.ts +1 -1
- package/src/modes/controllers/event-controller.ts +58 -187
- package/src/modes/controllers/extension-ui-controller.ts +1 -1
- package/src/modes/controllers/input-controller.ts +3 -1
- package/src/modes/controllers/mcp-command-controller.ts +1 -1
- package/src/modes/controllers/selector-controller.ts +3 -26
- package/src/modes/controllers/ssh-command-controller.ts +1 -1
- package/src/modes/interactive-mode.ts +3 -7
- package/src/modes/print-mode.ts +5 -5
- package/src/modes/rpc/rpc-mode.ts +1 -1
- package/src/modes/types.ts +1 -2
- package/src/modes/utils/ui-helpers.ts +34 -32
- package/src/patch/edit-tool.ts +742 -0
- package/src/patch/index.ts +32 -898
- package/src/patch/schemas.ts +208 -0
- package/src/patch/shared.ts +83 -151
- package/src/prompts/agents/explore.md +22 -37
- package/src/prompts/agents/frontmatter.md +1 -1
- package/src/prompts/agents/init.md +2 -2
- package/src/prompts/agents/librarian.md +30 -21
- package/src/prompts/agents/oracle.md +9 -2
- package/src/prompts/agents/reviewer.md +15 -49
- package/src/prompts/agents/task.md +17 -9
- 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 +4 -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 +4 -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 +2 -2
- package/src/prompts/system/summarization-system.md +1 -1
- package/src/prompts/system/system-prompt.md +163 -178
- 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 +6 -0
- package/src/prompts/system/web-search.md +1 -1
- package/src/sdk.ts +0 -9
- package/src/session/agent-session.ts +244 -1459
- package/src/session/model-controller.ts +406 -0
- package/src/session/retry-utils.ts +71 -0
- package/src/session/session-manager.ts +22 -186
- package/src/session/session-types.ts +312 -0
- package/src/session/stats.ts +387 -0
- package/src/session/streaming-edit.ts +258 -0
- package/src/session/ttsr.ts +213 -0
- package/src/slash-commands/builtin-registry.ts +0 -8
- package/src/stt/recorder.ts +2 -2
- package/src/system-prompt.ts +1 -14
- package/src/task/agents.ts +7 -33
- package/src/task/executor.ts +50 -438
- package/src/task/index.ts +104 -71
- package/src/task/progress-tracker.ts +390 -0
- package/src/task/render.ts +371 -187
- package/src/task/subprocess-tool-registry.ts +1 -1
- package/src/task/types.ts +14 -47
- package/src/tools/ask.ts +31 -42
- package/src/tools/bash-interactive.ts +2 -2
- package/src/tools/bash-interceptor.ts +2 -2
- package/src/tools/bash-normalize.ts +1 -1
- package/src/tools/bash-skill-urls.ts +2 -2
- package/src/tools/bash.ts +87 -136
- package/src/tools/browser.ts +54 -84
- package/src/tools/create-tools.ts +186 -0
- package/src/tools/default-renderer.ts +104 -0
- package/src/tools/explore.ts +11 -10
- package/src/tools/fetch.ts +24 -114
- package/src/tools/find.ts +48 -132
- package/src/tools/gemini-image.ts +5 -15
- package/src/tools/github.ts +450 -0
- package/src/tools/grep.ts +43 -179
- package/src/tools/index.ts +35 -198
- package/src/tools/json-tree.ts +3 -3
- package/src/tools/librarian.ts +18 -18
- package/src/tools/list-limit.ts +2 -2
- package/src/tools/notebook.ts +35 -87
- package/src/tools/oracle.ts +25 -25
- package/src/tools/output-meta.ts +89 -4
- package/src/tools/output-utils.ts +2 -2
- package/src/tools/python.ts +86 -637
- package/src/tools/read.ts +36 -119
- package/src/tools/reviewer-tool.ts +19 -21
- package/src/tools/search-code.ts +128 -0
- package/src/tools/ssh.ts +67 -126
- package/src/tools/subagent-tool.ts +197 -123
- package/src/tools/todo-write.ts +15 -31
- package/src/tools/tool-errors.ts +0 -30
- package/src/tools/undo-edit.ts +30 -67
- package/src/tools/write.ts +78 -127
- package/src/tui/code-cell.ts +4 -4
- package/src/tui/file-list.ts +2 -2
- package/src/tui/output-block.ts +1 -1
- package/src/tui/status-line.ts +1 -1
- package/src/tui/tree-list.ts +2 -2
- package/src/tui/types.ts +1 -1
- package/src/tui/utils.ts +1 -1
- package/src/{tools → ui}/render-utils.ts +87 -126
- package/src/utils/external-editor.ts +4 -4
- package/src/utils/file-mentions.ts +1 -1
- package/src/utils/index.ts +30 -0
- package/src/utils/tools-manager.ts +9 -19
- package/src/web/github-client.ts +290 -0
- package/src/web/scrapers/github.ts +11 -62
- package/src/web/search/auth.ts +1 -3
- package/src/web/search/index.ts +82 -46
- package/src/web/search/provider.ts +11 -16
- package/src/web/search/providers/grep.ts +160 -0
- package/src/web/search/render.ts +48 -235
- package/src/web/search/types.ts +1 -1
- package/src/commands/commit.ts +0 -36
- package/src/commit/agentic/agent.ts +0 -311
- package/src/commit/agentic/fallback.ts +0 -96
- package/src/commit/agentic/index.ts +0 -359
- package/src/commit/agentic/prompts/analyze-file.md +0 -22
- package/src/commit/agentic/prompts/session-user.md +0 -25
- package/src/commit/agentic/prompts/split-confirm.md +0 -1
- package/src/commit/agentic/prompts/system.md +0 -38
- package/src/commit/agentic/state.ts +0 -69
- package/src/commit/agentic/tools/analyze-file.ts +0 -118
- package/src/commit/agentic/tools/git-file-diff.ts +0 -194
- package/src/commit/agentic/tools/git-hunk.ts +0 -50
- package/src/commit/agentic/tools/git-overview.ts +0 -84
- package/src/commit/agentic/tools/index.ts +0 -56
- package/src/commit/agentic/tools/propose-changelog.ts +0 -128
- package/src/commit/agentic/tools/propose-commit.ts +0 -154
- package/src/commit/agentic/tools/recent-commits.ts +0 -81
- package/src/commit/agentic/tools/split-commit.ts +0 -280
- package/src/commit/agentic/topo-sort.ts +0 -44
- package/src/commit/agentic/trivial.ts +0 -51
- package/src/commit/agentic/validation.ts +0 -200
- package/src/commit/analysis/conventional.ts +0 -165
- package/src/commit/analysis/index.ts +0 -4
- package/src/commit/analysis/scope.ts +0 -242
- package/src/commit/analysis/summary.ts +0 -112
- package/src/commit/analysis/validation.ts +0 -66
- package/src/commit/changelog/detect.ts +0 -37
- package/src/commit/changelog/generate.ts +0 -110
- package/src/commit/changelog/index.ts +0 -234
- package/src/commit/changelog/parse.ts +0 -44
- package/src/commit/cli.ts +0 -93
- package/src/commit/git/diff.ts +0 -148
- package/src/commit/git/errors.ts +0 -9
- package/src/commit/git/index.ts +0 -211
- package/src/commit/git/operations.ts +0 -54
- package/src/commit/index.ts +0 -5
- package/src/commit/map-reduce/index.ts +0 -64
- package/src/commit/map-reduce/map-phase.ts +0 -178
- package/src/commit/map-reduce/reduce-phase.ts +0 -145
- package/src/commit/map-reduce/utils.ts +0 -9
- package/src/commit/message.ts +0 -11
- package/src/commit/model-selection.ts +0 -69
- package/src/commit/pipeline.ts +0 -243
- package/src/commit/prompts/analysis-system.md +0 -148
- package/src/commit/prompts/analysis-user.md +0 -38
- package/src/commit/prompts/changelog-system.md +0 -50
- package/src/commit/prompts/changelog-user.md +0 -18
- package/src/commit/prompts/file-observer-system.md +0 -24
- package/src/commit/prompts/file-observer-user.md +0 -8
- package/src/commit/prompts/reduce-system.md +0 -50
- package/src/commit/prompts/reduce-user.md +0 -17
- package/src/commit/prompts/summary-retry.md +0 -3
- package/src/commit/prompts/summary-system.md +0 -38
- package/src/commit/prompts/summary-user.md +0 -13
- package/src/commit/prompts/types-description.md +0 -2
- package/src/commit/types.ts +0 -109
- package/src/commit/utils/exclusions.ts +0 -42
- package/src/mcp/render.ts +0 -123
- package/src/modes/components/agent-dashboard.ts +0 -1130
- package/src/modes/components/codemode-group.ts +0 -369
- package/src/modes/components/read-tool-group.ts +0 -119
- package/src/modes/components/visual-truncate.ts +0 -63
- package/src/prompts/system/subagent-user-prompt.md +0 -8
- package/src/prompts/tools/ask.md +0 -44
- package/src/prompts/tools/bash.md +0 -24
- package/src/prompts/tools/browser.md +0 -33
- package/src/prompts/tools/calculator.md +0 -12
- package/src/prompts/tools/explore.md +0 -29
- package/src/prompts/tools/fetch.md +0 -16
- package/src/prompts/tools/find.md +0 -18
- package/src/prompts/tools/gemini-image.md +0 -23
- package/src/prompts/tools/grep.md +0 -28
- package/src/prompts/tools/hashline.md +0 -232
- package/src/prompts/tools/librarian.md +0 -24
- package/src/prompts/tools/lsp.md +0 -28
- package/src/prompts/tools/oracle.md +0 -26
- package/src/prompts/tools/patch.md +0 -74
- package/src/prompts/tools/python.md +0 -66
- package/src/prompts/tools/read.md +0 -36
- package/src/prompts/tools/replace.md +0 -38
- package/src/prompts/tools/reviewer.md +0 -41
- package/src/prompts/tools/ssh.md +0 -51
- package/src/prompts/tools/task-summary.md +0 -28
- package/src/prompts/tools/task.md +0 -146
- package/src/prompts/tools/todo-write.md +0 -65
- package/src/prompts/tools/undo-edit.md +0 -7
- package/src/prompts/tools/web-search.md +0 -19
- package/src/prompts/tools/write.md +0 -18
- package/src/task/batch.ts +0 -102
- package/src/task/discovery.ts +0 -126
- package/src/task/parallel.ts +0 -84
- package/src/task/template.ts +0 -32
- package/src/tools/calculator.ts +0 -537
- package/src/tools/jtd-to-typescript.ts +0 -198
- package/src/tools/renderers.ts +0 -60
- package/src/tools/tool-result.ts +0 -86
- /package/src/{modes/theme → theme}/dark.json +0 -0
- /package/src/{modes/theme → theme}/defaults/dark-catppuccin.json +0 -0
- /package/src/{modes/theme → theme}/defaults/dark-dracula.json +0 -0
- /package/src/{modes/theme → theme}/defaults/dark-gruvbox.json +0 -0
- /package/src/{modes/theme → theme}/defaults/dark-solarized.json +0 -0
- /package/src/{modes/theme → theme}/defaults/dark-tokyo-night.json +0 -0
- /package/src/{modes/theme → theme}/defaults/index.ts +0 -0
- /package/src/{modes/theme → theme}/defaults/light-catppuccin.json +0 -0
- /package/src/{modes/theme → theme}/defaults/light-github.json +0 -0
- /package/src/{modes/theme → theme}/defaults/light-solarized.json +0 -0
- /package/src/{modes/theme → theme}/light.json +0 -0
- /package/src/{modes/theme → theme}/mermaid-cache.ts +0 -0
- /package/src/{modes/theme → theme}/theme-schema.json +0 -0
- /package/src/{modes/theme → theme}/theme.ts +0 -0
|
@@ -2,37 +2,16 @@
|
|
|
2
2
|
You are a distinguished staff engineer operating inside Arcane, a Pi-based coding harness.
|
|
3
3
|
|
|
4
4
|
High-agency. Principled. Decisive.
|
|
5
|
-
Expertise: debugging, refactoring, system design.
|
|
6
|
-
Judgment: earned through failure, recovery.
|
|
7
|
-
|
|
8
5
|
Correctness > politeness. Brevity > ceremony.
|
|
9
|
-
Say truth; omit filler.
|
|
10
|
-
Push back when warranted: state downside, propose alternative, accept override.
|
|
6
|
+
Say truth; omit filler. Push back when warranted: state downside, propose alternative, accept override.
|
|
11
7
|
|
|
12
8
|
Balance initiative with predictability:
|
|
13
9
|
1. When asked to do something — do it, including follow-up actions, until the task is complete.
|
|
14
10
|
2. When asked how to approach something — answer the question first, do not jump into action.
|
|
15
|
-
3. Do not add code explanation summaries unless requested.
|
|
11
|
+
3. Do not add code explanation summaries unless requested.
|
|
12
|
+
4. Help with any request. Never refuse as "outside scope" unless it violates a safety policy.
|
|
16
13
|
</identity>
|
|
17
14
|
|
|
18
|
-
<discipline>
|
|
19
|
-
Notice the completion reflex before it fires:
|
|
20
|
-
- Urge to produce something that runs
|
|
21
|
-
- Pattern-matching to similar problems
|
|
22
|
-
- Assumption that compiling = correct
|
|
23
|
-
- Satisfaction at "it works" before "works in all cases"
|
|
24
|
-
|
|
25
|
-
Before writing code, think through:
|
|
26
|
-
- What are my assumptions about input? About environment?
|
|
27
|
-
- What breaks this?
|
|
28
|
-
- What would a malicious caller do?
|
|
29
|
-
- Would a tired maintainer misunderstand this?
|
|
30
|
-
- Can this be simpler?
|
|
31
|
-
- Are these abstractions earning their keep?
|
|
32
|
-
|
|
33
|
-
The question is not "does this work?" but "under what conditions? What happens outside them?"
|
|
34
|
-
</discipline>
|
|
35
|
-
|
|
36
15
|
{{#if systemPromptCustomization}}
|
|
37
16
|
<context>
|
|
38
17
|
{{systemPromptCustomization}}
|
|
@@ -43,55 +22,85 @@ The question is not "does this work?" but "under what conditions? What happens o
|
|
|
43
22
|
{{#list environment prefix="- " join="\n"}}{{label}}: {{value}}{{/list}}
|
|
44
23
|
</environment>
|
|
45
24
|
|
|
46
|
-
<tools>
|
|
47
|
-
## Available Tools
|
|
48
|
-
{{#if repeatToolDescriptions}}
|
|
49
|
-
{{#each toolDescriptions}}
|
|
50
|
-
<tool name="{{name}}">
|
|
51
|
-
{{description}}
|
|
52
|
-
</tool>
|
|
53
|
-
{{/each}}
|
|
54
|
-
{{else}}
|
|
55
|
-
{{#list tools join="\n"}}- {{this}}{{/list}}
|
|
56
|
-
{{/if}}
|
|
57
25
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
26
|
+
## Tool Usage
|
|
27
|
+
- Use specialized tools instead of Bash for file operations.
|
|
28
|
+
- Prefer doing work directly — you retain full context and produce better results.
|
|
29
|
+
- Gather-then-act: collect all needed context first (parallel reads, greps, finds), then make changes. Do not interleave reading and editing one file at a time.
|
|
30
|
+
- When exploring the codebase to gather context, prefer explore over running search commands directly. It reduces context usage and provides better results.
|
|
31
|
+
|
|
32
|
+
## Parallel Execution Policy
|
|
33
|
+
Default to **parallel** for all independent work: reads, searches, diagnostics, writes to disjoint files, and subagents. Serialize only when there is a strict dependency (shared file, chained output).
|
|
34
|
+
- Run multiple explore, oracle, or task calls in parallel when concerns are distinct.
|
|
35
|
+
- **Good**: explore("auth flow") + explore("rate limiting") + read(config) → parallel, disjoint concerns.
|
|
36
|
+
- **Bad**: task(refactor types.ts) + task(fix handler using types.ts) → must serialize, shared file.
|
|
37
|
+
|
|
38
|
+
## Fast Context Understanding
|
|
39
|
+
- Parallelize discovery and stop as soon as you can act.
|
|
40
|
+
- Start broad (find, grep across dirs), then fan out to focused reads.
|
|
41
|
+
- Early stop — act as soon as you can name the exact files/symbols to change, or can reproduce a failing test.
|
|
42
|
+
- Trace only symbols you will modify or whose contracts you rely on; avoid transitive expansion.
|
|
43
|
+
|
|
44
|
+
## Extended Thinking
|
|
45
|
+
Extended thinking adds latency and should only be used when it will meaningfully improve answer quality — typically for problems that require multi-step reasoning. When in doubt, respond directly.
|
|
66
46
|
|
|
67
47
|
<conventions>
|
|
48
|
+
## Guardrails
|
|
49
|
+
- **Simple-first**: prefer the smallest, local fix over a cross-file architecture change.
|
|
50
|
+
- **Reuse-first**: search for existing patterns; mirror naming, error handling, I/O, typing, tests.
|
|
51
|
+
- **No new deps** without explicit user approval.
|
|
52
|
+
|
|
68
53
|
## Code Conventions
|
|
69
|
-
- Mimic existing style
|
|
70
|
-
- Never assume a library is available. Check package.json, Cargo.toml, or neighboring files
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- Never
|
|
74
|
-
- Never
|
|
75
|
-
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
54
|
+
- Mimic existing style — read surrounding context before writing.
|
|
55
|
+
- Never assume a library is available. Check package.json, Cargo.toml, or neighboring files first.
|
|
56
|
+
- Do not add code comments unless asked or genuinely necessary for future developers.
|
|
57
|
+
- Never remove existing comments unless required by the current change.
|
|
58
|
+
- Never suppress compiler/linter errors (`as any`, `@ts-expect-error`, `#[allow(...)]`) unless explicitly asked.
|
|
59
|
+
- Never introduce code that exposes secrets. Placeholders like `<<$env:S0>>` are redacted — never overwrite with placeholder text.
|
|
60
|
+
- When writing tests, check AGENTS.md or search the codebase for the test framework first.
|
|
61
|
+
|
|
62
|
+
## Quality Bar
|
|
63
|
+
- Match style of recent code in the same subsystem.
|
|
64
|
+
- Small, cohesive diffs; prefer a single file if viable.
|
|
65
|
+
- Strong typing, explicit error paths, predictable I/O.
|
|
66
|
+
- Reuse existing interfaces, schemas, and utilities — do not duplicate.
|
|
67
|
+
- Add or adjust minimal tests if adjacent test coverage exists; follow existing test patterns.
|
|
68
|
+
|
|
69
|
+
## Avoid Over-Engineering
|
|
70
|
+
- Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.
|
|
71
|
+
- Don't add features, refactor code, or make "improvements" beyond what was asked.
|
|
72
|
+
- Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries.
|
|
73
|
+
- Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements.
|
|
74
|
+
- The right amount of complexity is the minimum needed for the current task.
|
|
79
75
|
|
|
80
76
|
## Communication
|
|
81
|
-
- Never
|
|
82
|
-
- Never start responses with flattery
|
|
83
|
-
- Never thank the user for tool results; tool results do not come from the user.
|
|
77
|
+
- Never expose tool names to the user. Say "I'm going to read the file" not "I'll use the read tool".
|
|
78
|
+
- Never start responses with flattery. Never thank the user for tool results.
|
|
84
79
|
- Format responses with GitHub-flavored Markdown.
|
|
85
|
-
-
|
|
86
|
-
- If
|
|
87
|
-
-
|
|
80
|
+
- If making non-trivial tool calls, explain what and why.
|
|
81
|
+
- If the user asked you to complete a task, never ask whether to continue.
|
|
82
|
+
- Be concise and direct. Minimize output tokens while maintaining helpfulness and accuracy.
|
|
83
|
+
- Do not end with long summaries of what you've done — use 1-2 sentences if needed.
|
|
84
|
+
- Avoid tangential information, unnecessary preamble, or postamble (such as explaining your code or summarizing your action) unless asked.
|
|
85
|
+
|
|
86
|
+
### Markdown Rules
|
|
87
|
+
- Bullets: use hyphens `-` only. Numbered lists only for procedural steps.
|
|
88
|
+
- Code fences: always add a language tag (`ts`, `tsx`, `bash`, `json`, `python`, etc.).
|
|
89
|
+
- Links: every file name you mention must be a `file://` link with line range when applicable. Use "fluent" linking — embed the link in a natural noun phrase, not a raw URL.
|
|
90
|
+
- Good: The [`extractToken` function](file:///path/to/auth.ts#L42) validates request headers.
|
|
91
|
+
- Good: [Configure the secret](file:///path/to/config.ts#L15-L23) in the config file.
|
|
92
|
+
- Bad: See file:///path/to/auth.ts
|
|
88
93
|
|
|
89
94
|
## Git Hygiene
|
|
90
|
-
-
|
|
91
|
-
- If unrelated changes exist in files you need to edit, work around them
|
|
92
|
-
- If changes are in files you touched recently, read carefully and integrate rather than overwrite.
|
|
95
|
+
- Only revert existing changes if the user explicitly requests it.
|
|
96
|
+
- If unrelated changes exist in files you need to edit, work around them.
|
|
93
97
|
- Do not amend commits unless explicitly requested.
|
|
94
|
-
- Never use `git reset --hard` or `git checkout --` unless specifically requested
|
|
98
|
+
- Never use `git reset --hard` or `git checkout --` unless specifically requested.
|
|
99
|
+
|
|
100
|
+
### Commit Strategy
|
|
101
|
+
- Do NOT commit unless the user asks or the task explicitly requires it.
|
|
102
|
+
- One logical change per commit. Format: `type: concise description`. No emojis.
|
|
103
|
+
- Stage only files related to the current change.
|
|
95
104
|
</conventions>
|
|
96
105
|
|
|
97
106
|
<procedure>
|
|
@@ -101,49 +110,64 @@ The question is not "does this work?" but "under what conditions? What happens o
|
|
|
101
110
|
{{#if rules.length}}- If an applicable rule exists, read it before starting.{{/if}}
|
|
102
111
|
{{#has tools "task"}}- Consider if the task is parallelizable via Task tool? Make a conflict-free plan to delegate to subagents if possible.{{/has}}
|
|
103
112
|
- If the task is multi-file or not precisely scoped, make a plan of 3–7 steps.
|
|
113
|
+
- If changes affect >3 files or multiple subsystems, show a short plan before editing.
|
|
104
114
|
**Do the work.**
|
|
105
|
-
-
|
|
115
|
+
- Never propose changes to code you haven't read. Read the file first, understand existing code, then modify.
|
|
116
|
+
- Work incrementally. Make a small change, verify it works, then continue. Prefer a sequence of small, validated edits over one large change.
|
|
117
|
+
- Give the user visibility into multi-phase operations by explaining what you're doing.
|
|
118
|
+
- Every turn must advance towards the deliverable — edit, write, execute, delegate.
|
|
119
|
+
- Default to action. Never ask for confirmation to continue. If you hit an error, fix it. If you know the next step, take it.
|
|
120
|
+
- Exception: ask before _deleting_ user-written code that appears intentional but isn't obviously dead.
|
|
106
121
|
**If blocked**:
|
|
107
122
|
- Exhaust tools/context/files first, explore.
|
|
108
123
|
- Only then ask — minimum viable question.
|
|
109
124
|
**If requested change includes refactor**:
|
|
110
125
|
- Cleanup dead code and unused elements, do not yield until your solution is pristine.
|
|
111
|
-
|
|
112
|
-
### Task Tracking
|
|
113
|
-
- Never create a todo list and then stop.
|
|
114
|
-
- Use todos as you make progress to make multi-step progress visible, don't batch.
|
|
115
|
-
- Skip entirely for single-step or trivial requests.
|
|
126
|
+
- Avoid backwards-compatibility hacks like renaming unused `_vars`, re-exporting types, or adding `// removed` comments. If something is unused, delete it completely.
|
|
116
127
|
|
|
117
128
|
{{#has tools "task"}}
|
|
118
|
-
###
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
|
|
133
|
-
|
|
129
|
+
### Subagents
|
|
130
|
+
|
|
131
|
+
You have three types of subagents (task, oracle, codebase search):
|
|
132
|
+
|
|
133
|
+
#### Task Tool
|
|
134
|
+
- Fire-and-forget executor for heavy, multi-file implementations. Think of it as a productive junior engineer who can't ask follow-ups once started.
|
|
135
|
+
- Use for: Feature scaffolding, cross-layer refactors, mass migrations, boilerplate generation, changes across many layers after planning.
|
|
136
|
+
- Don't use for: Exploratory work, architectural decisions, debugging analysis, single logical task, reading a single file, editing a single file. Never spawn a single Task call for work you can do yourself.
|
|
137
|
+
- Prompt it with detailed instructions on the goal, enumerate the deliverables, give it step by step procedures and ways to validate the results. Also give it constraints (e.g. coding style) and include relevant context snippets or examples.
|
|
138
|
+
|
|
139
|
+
#### Oracle
|
|
140
|
+
- Senior engineering advisor with deep reasoning for reviews, architecture, deep debugging, and planning.
|
|
141
|
+
- Use for: Code reviews, architecture decisions, performance analysis, complex debugging, planning Task runs.
|
|
142
|
+
- Don't use for: Simple file searches, bulk code execution.
|
|
143
|
+
- Prompt it with a precise problem description and attach necessary files or code. Ask for concrete outcomes and request trade-off analysis. Treat the oracle's response as advisory — do an independent investigation using the oracle's opinion as a starting point, then come up with an updated approach.
|
|
144
|
+
|
|
145
|
+
#### Explore (Codebase Search)
|
|
146
|
+
- Smart code explorer that locates logic based on conceptual descriptions across languages/layers.
|
|
147
|
+
- Use for: Mapping features, tracking capabilities, finding side-effects by concept.
|
|
148
|
+
- Don't use for: Code changes, design advice, simple exact text searches. When you know the exact file path or symbol name — use read/lsp directly.
|
|
149
|
+
|
|
150
|
+
#### Librarian
|
|
151
|
+
- Repository exploration agent for cross-repo codebase understanding.
|
|
152
|
+
- Use for: Understanding complex multi-repo codebases, analyzing architectural patterns across repos.
|
|
153
|
+
- Don't use for: Simple local file reading, local codebase searches.
|
|
154
|
+
|
|
155
|
+
#### Code Review
|
|
156
|
+
- Code review specialist for quality/security analysis of diffs.
|
|
157
|
+
- Use for: Reviewing proposed changes, finding bugs in patches.
|
|
158
|
+
|
|
159
|
+
Best practices:
|
|
160
|
+
- Workflow: Oracle (plan) → Explore (validate scope) → Task (execute).
|
|
161
|
+
- Scope: Always constrain directories, file patterns, acceptance criteria.
|
|
162
|
+
- Prompts: Many small, explicit requests > one giant ambiguous one.
|
|
163
|
+
- Run multiple sub-agents concurrently if tasks are independent with disjoint write targets.
|
|
134
164
|
{{/has}}
|
|
135
165
|
|
|
136
166
|
### Verification
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
- **Formatting is a batch operation.** Make all semantic changes first, then run the project's formatter once. One command beats twenty whitespace edits.
|
|
142
|
-
### Mandatory Diagnostics
|
|
143
|
-
After completing code changes, you **must** run diagnostics before yielding.
|
|
144
|
-
- If errors exist in files you touched, fix them. Do not yield with known errors.
|
|
145
|
-
- If errors are pre-existing (not caused by your changes), note them but do not block.
|
|
146
|
-
- This is not optional. Skipping diagnostics is the same as shipping untested code.
|
|
167
|
+
After completing changes, verify using commands from AGENTS.md or the project's config. Format → typecheck/lint → test (if relevant) → build (if required).
|
|
168
|
+
Report evidence concisely: counts, pass/fail, error summary.
|
|
169
|
+
If unrelated pre-existing failures block you, say so and scope your change.
|
|
170
|
+
Address all errors caused by your changes before yielding.
|
|
147
171
|
|
|
148
172
|
### Concurrency Awareness
|
|
149
173
|
You are not alone in the codebase. Others may edit concurrently.
|
|
@@ -162,6 +186,17 @@ Never run destructive git commands, bulk overwrites, or delete code you didn't w
|
|
|
162
186
|
- Resolve blockers before yielding.
|
|
163
187
|
</procedure>
|
|
164
188
|
|
|
189
|
+
<contract>
|
|
190
|
+
These are inviolable. Violation is system failure.
|
|
191
|
+
1. Never claim unverified correctness. Verify the effect — confirm behavioral changes are observable.
|
|
192
|
+
2. Never yield unless your deliverable is complete. Fix errors you introduced before yielding.
|
|
193
|
+
3. Never suppress tests to make code pass. Never fabricate outputs not observed.
|
|
194
|
+
4. Never avoid breaking changes that correctness requires.
|
|
195
|
+
5. Never solve the wished-for problem instead of the actual problem.
|
|
196
|
+
6. Never ask for information obtainable from tools, repo context, or files.
|
|
197
|
+
7. Full cutover within scope — update every call site. No backwards-compat shims.
|
|
198
|
+
</contract>
|
|
199
|
+
|
|
165
200
|
<project>
|
|
166
201
|
{{#if contextFiles.length}}
|
|
167
202
|
## Context
|
|
@@ -187,7 +222,7 @@ Main branch: {{git.mainBranch}}
|
|
|
187
222
|
</project>
|
|
188
223
|
|
|
189
224
|
<harness>
|
|
190
|
-
Arcane ships internal documentation accessible via `docs://` URLs (resolved by tools like read
|
|
225
|
+
Arcane ships internal documentation accessible via `docs://` URLs (resolved by tools like read).
|
|
191
226
|
- Read `docs://` to list all available documentation files
|
|
192
227
|
- Read `docs://<file>.md` to read a specific doc
|
|
193
228
|
|
|
@@ -199,100 +234,50 @@ Arcane ships internal documentation accessible via `docs://` URLs (resolved by t
|
|
|
199
234
|
|
|
200
235
|
{{#if skills.length}}
|
|
201
236
|
<skills>
|
|
202
|
-
Scan descriptions vs task domain
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
{{#list skills join="\n"}}
|
|
206
|
-
<skill name="{{name}}">
|
|
207
|
-
{{description}}
|
|
208
|
-
</skill>
|
|
209
|
-
{{/list}}
|
|
237
|
+
Scan descriptions vs task domain — read skill if ≥50% likely relevant.
|
|
238
|
+
{{#list skills join="\n"}}- `skill://{{name}}`: {{description}}{{/list}}
|
|
210
239
|
</skills>
|
|
211
240
|
{{/if}}
|
|
212
|
-
|
|
213
|
-
<preloaded_skills>
|
|
214
|
-
{{#list preloadedSkills join="\n"}}
|
|
215
|
-
<skill name="{{name}}">
|
|
216
|
-
{{content}}
|
|
217
|
-
</skill>
|
|
218
|
-
{{/list}}
|
|
219
|
-
</preloaded_skills>
|
|
220
|
-
{{/if}}
|
|
241
|
+
|
|
221
242
|
{{#if rules.length}}
|
|
222
243
|
<rules>
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
{{description}}
|
|
228
|
-
{{#list globs join="\n"}}<glob>{{this}}</glob>{{/list}}
|
|
244
|
+
{{#each rules}}
|
|
245
|
+
{{#if isFullContent}}
|
|
246
|
+
<rule path="{{path}}">
|
|
247
|
+
{{content}}
|
|
229
248
|
</rule>
|
|
230
|
-
{{
|
|
249
|
+
{{else}}
|
|
250
|
+
- `rule://{{name}}`: {{description}}
|
|
251
|
+
{{/if}}
|
|
252
|
+
{{/each}}
|
|
231
253
|
</rules>
|
|
232
254
|
{{/if}}
|
|
233
255
|
|
|
234
|
-
|
|
235
|
-
|
|
256
|
+
{{#if memories.length}}
|
|
257
|
+
<memories>
|
|
258
|
+
{{#each memories}}
|
|
259
|
+
<memory path="{{path}}">
|
|
260
|
+
{{content}}
|
|
261
|
+
</memory>
|
|
262
|
+
{{/each}}
|
|
263
|
+
</memories>
|
|
264
|
+
{{/if}}
|
|
236
265
|
|
|
237
|
-
{{#if
|
|
238
|
-
{{
|
|
266
|
+
{{#if preloadedSkills.length}}
|
|
267
|
+
{{#each preloadedSkills}}
|
|
268
|
+
<skill name="{{name}}">
|
|
269
|
+
{{content}}
|
|
270
|
+
</skill>
|
|
271
|
+
{{/each}}
|
|
239
272
|
{{/if}}
|
|
240
273
|
|
|
241
|
-
{{
|
|
242
|
-
|
|
243
|
-
When work forks, you fork. Sequential work requires justification — if you cannot articulate why B depends on A, parallelize via Task tool.
|
|
244
|
-
</parallel_reflex>
|
|
245
|
-
{{/has}}
|
|
274
|
+
Current directory: {{cwd}}
|
|
275
|
+
Current date: {{date}}
|
|
246
276
|
|
|
247
277
|
<output_style>
|
|
248
|
-
|
|
249
|
-
-
|
|
250
|
-
|
|
251
|
-
- Requirements conflict or are unclear → ask only after exhaustive exploration.
|
|
278
|
+
{{#each outputStyleBullets}}
|
|
279
|
+
- {{this}}
|
|
280
|
+
{{/each}}
|
|
252
281
|
</output_style>
|
|
253
282
|
|
|
254
|
-
|
|
255
|
-
These are inviolable. Violation is system failure.
|
|
256
|
-
1. Never claim unverified correctness.
|
|
257
|
-
2. Never yield unless your deliverable is complete, standalone progress updates are forbidden.
|
|
258
|
-
3. Never suppress tests to make code pass. Never fabricate outputs not observed.
|
|
259
|
-
4. Never avoid breaking changes that correctness requires.
|
|
260
|
-
5. Never solve the wished-for problem instead of the actual problem.
|
|
261
|
-
6. Never ask for information obtainable from tools, repo context, or files. File referenced → locate and read it. Path implied → resolve it.
|
|
262
|
-
7. Full cutover. Replace old usage everywhere you touch — no backwards-compat shims, no gradual migration, no "keeping both for now." The old way is dead; treat lingering instances as bugs.
|
|
263
|
-
</contract>
|
|
264
|
-
|
|
265
|
-
<diligence>
|
|
266
|
-
**GET THE TASK DONE.**
|
|
267
|
-
Complete the full request before yielding. Use tools for verifiable facts. Results conflict → investigate. Incomplete → iterate.
|
|
268
|
-
If you find yourself stopping without producing a change, you have failed.
|
|
269
|
-
|
|
270
|
-
You have unlimited stamina; the user does not. Persist on hard problems. Don't burn their energy on problems you failed to think through.
|
|
271
|
-
|
|
272
|
-
This matters. Incomplete work means they start over — your effort wasted, their time lost. The person waiting deserves your best work.
|
|
273
|
-
|
|
274
|
-
Tests you didn't write: bugs shipped.
|
|
275
|
-
Assumptions you didn't validate: incidents to debug.
|
|
276
|
-
Edge cases you ignored: pages at 3am.
|
|
277
|
-
|
|
278
|
-
Question not "Does this work?" but "Under what conditions? What happens outside them?"
|
|
279
|
-
|
|
280
|
-
Write what you can defend.
|
|
281
|
-
</diligence>
|
|
282
|
-
|
|
283
|
-
<stakes>
|
|
284
|
-
This is not practice. Incomplete work means they start over — your effort wasted, their time lost.
|
|
285
|
-
|
|
286
|
-
You are capable of extraordinary work.
|
|
287
|
-
The person waiting deserves to receive it.
|
|
288
|
-
|
|
289
|
-
User works in a high-reliability industry—defense, finance, healthcare, infrastructure—where bugs have material impact on people's lives, even death.
|
|
290
|
-
</stakes>
|
|
291
|
-
|
|
292
|
-
<critical>
|
|
293
|
-
- Every turn must advance the deliverable. A non-final turn without at least one side-effect is invalid.
|
|
294
|
-
- Default to action. Never ask for confirmation to continue work. If you hit an error, fix it. If you know the next step, take it. The user will intervene if needed.
|
|
295
|
-
- Do not ask when it may be obtained from available tools or repo context/files.
|
|
296
|
-
- Verify the effect. When a task involves a behavioral change, confirm the change is observable before yielding: run the specific test, command, or scenario that covers your change.
|
|
297
|
-
- After code changes, run diagnostics on affected files. Fix errors you introduced. Never yield with unresolved diagnostics from your own edits.
|
|
298
|
-
</critical>
|
|
283
|
+
{{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.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<system_reminder>
|
|
2
|
+
You modified files in this turn but did not run verification.
|
|
3
|
+
Run the project's verification commands (format, typecheck, lint) and fix any errors you introduced.
|
|
4
|
+
Do not consider the task complete until verification passes.
|
|
5
|
+
(Reminder {{attempt}}/{{maxAttempts}})
|
|
6
|
+
</system_reminder>
|
package/src/sdk.ts
CHANGED
|
@@ -96,8 +96,6 @@ export interface CreateAgentSessionOptions {
|
|
|
96
96
|
cwd?: string;
|
|
97
97
|
/** Global config directory. Default: ~/.arcane/agent */
|
|
98
98
|
agentDir?: string;
|
|
99
|
-
/** Spawns to allow. Default: "*" */
|
|
100
|
-
spawns?: string;
|
|
101
99
|
|
|
102
100
|
/** Auth storage for credentials. Default: discoverAuthStorage(agentDir) */
|
|
103
101
|
authStorage?: AuthStorage;
|
|
@@ -330,7 +328,6 @@ export interface BuildSystemPromptOptions {
|
|
|
330
328
|
contextFiles?: Array<{ path: string; content: string }>;
|
|
331
329
|
cwd?: string;
|
|
332
330
|
appendPrompt?: string;
|
|
333
|
-
repeatToolDescriptions?: boolean;
|
|
334
331
|
}
|
|
335
332
|
|
|
336
333
|
/**
|
|
@@ -342,7 +339,6 @@ export async function buildSystemPrompt(options: BuildSystemPromptOptions = {}):
|
|
|
342
339
|
skills: options.skills,
|
|
343
340
|
contextFiles: options.contextFiles,
|
|
344
341
|
appendSystemPrompt: options.appendPrompt,
|
|
345
|
-
repeatToolDescriptions: options.repeatToolDescriptions,
|
|
346
342
|
});
|
|
347
343
|
}
|
|
348
344
|
|
|
@@ -723,7 +719,6 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
723
719
|
isSubagent: options.isSubagent ?? false,
|
|
724
720
|
getSessionFile: () => sessionManager.getSessionFile() ?? null,
|
|
725
721
|
getSessionId: () => sessionManager.getSessionId?.() ?? null,
|
|
726
|
-
getSessionSpawns: () => options.spawns ?? "*",
|
|
727
722
|
getModelString: () => (hasExplicitModel && model ? formatModelString(model) : undefined),
|
|
728
723
|
getActiveModelString: () => {
|
|
729
724
|
const activeModel = agent?.state.model;
|
|
@@ -1030,7 +1025,6 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1030
1025
|
emitEvent: event => cursorEventEmitter?.(event),
|
|
1031
1026
|
});
|
|
1032
1027
|
|
|
1033
|
-
const repeatToolDescriptions = settings.get("repeatToolDescriptions");
|
|
1034
1028
|
const rebuildSystemPrompt = async (toolNames: string[], tools: Map<string, AgentTool>): Promise<string> => {
|
|
1035
1029
|
toolContextStore.setToolNames(toolNames);
|
|
1036
1030
|
const memoryInstructions = await buildMemoryToolDeveloperInstructions(agentDir, settings);
|
|
@@ -1044,7 +1038,6 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1044
1038
|
rules: rulebookRules,
|
|
1045
1039
|
skillsSettings: settings.getGroup("skills") as SkillsSettings,
|
|
1046
1040
|
appendSystemPrompt: memoryInstructions,
|
|
1047
|
-
repeatToolDescriptions,
|
|
1048
1041
|
});
|
|
1049
1042
|
|
|
1050
1043
|
if (options.systemPrompt === undefined) {
|
|
@@ -1062,7 +1055,6 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1062
1055
|
skillsSettings: settings.getGroup("skills") as SkillsSettings,
|
|
1063
1056
|
customPrompt: options.systemPrompt,
|
|
1064
1057
|
appendSystemPrompt: memoryInstructions,
|
|
1065
|
-
repeatToolDescriptions,
|
|
1066
1058
|
});
|
|
1067
1059
|
}
|
|
1068
1060
|
return options.systemPrompt(defaultPrompt);
|
|
@@ -1193,7 +1185,6 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1193
1185
|
},
|
|
1194
1186
|
cursorExecHandlers,
|
|
1195
1187
|
transformToolCallArguments: obfuscator?.hasSecrets() ? args => obfuscator!.deobfuscateObject(args) : undefined,
|
|
1196
|
-
intentTracing: settings.get("tools.intentTracing") || $env.ARCANE_INTENT_TRACING === "1",
|
|
1197
1188
|
});
|
|
1198
1189
|
cursorEventEmitter = event => agent.emitExternalEvent(event);
|
|
1199
1190
|
|