@nghyane/arcane 0.1.8 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/package.json +6 -6
  2. package/src/config/settings-schema.ts +0 -10
  3. package/src/discovery/helpers.ts +1 -6
  4. package/src/index.ts +1 -0
  5. package/src/main.ts +3 -0
  6. package/src/memories/index.ts +3 -3
  7. package/src/modes/components/model-selector.ts +1 -1
  8. package/src/modes/components/settings-defs.ts +0 -8
  9. package/src/modes/components/status-line.ts +15 -40
  10. package/src/modes/components/user-message.ts +2 -0
  11. package/src/modes/components/welcome.ts +1 -1
  12. package/src/modes/interactive-mode.ts +2 -0
  13. package/src/modes/theme/dark.json +56 -59
  14. package/src/modes/theme/defaults/dark-catppuccin.json +47 -56
  15. package/src/modes/theme/defaults/dark-dracula.json +24 -32
  16. package/src/modes/theme/defaults/dark-gruvbox.json +53 -74
  17. package/src/modes/theme/defaults/dark-solarized.json +33 -35
  18. package/src/modes/theme/defaults/dark-tokyo-night.json +57 -67
  19. package/src/modes/theme/defaults/index.ts +3 -179
  20. package/src/modes/theme/defaults/light-catppuccin.json +42 -50
  21. package/src/modes/theme/defaults/light-github.json +68 -94
  22. package/src/modes/theme/defaults/light-solarized.json +41 -49
  23. package/src/modes/theme/light.json +14 -12
  24. package/src/modes/theme/theme-schema.json +4 -0
  25. package/src/modes/theme/theme.ts +89 -6
  26. package/src/patch/applicator.ts +12 -4
  27. package/src/prompts/agents/task.md +1 -1
  28. package/src/prompts/system/subagent-system-prompt.md +2 -14
  29. package/src/prompts/system/system-prompt.md +12 -14
  30. package/src/prompts/tools/task.md +49 -178
  31. package/src/prompts/tools/todo-write.md +4 -4
  32. package/src/sdk.ts +15 -16
  33. package/src/session/session-manager.ts +1 -3
  34. package/src/task/executor.ts +2 -2
  35. package/src/task/index.ts +5 -5
  36. package/src/task/types.ts +7 -20
  37. package/src/tools/index.ts +16 -33
  38. package/src/tools/subagent-tool.ts +5 -5
  39. package/src/tools/todo-write.ts +0 -37
  40. package/src/tui/output-block.ts +2 -12
  41. package/src/modes/theme/defaults/alabaster.json +0 -93
  42. package/src/modes/theme/defaults/amethyst.json +0 -96
  43. package/src/modes/theme/defaults/anthracite.json +0 -93
  44. package/src/modes/theme/defaults/basalt.json +0 -91
  45. package/src/modes/theme/defaults/birch.json +0 -95
  46. package/src/modes/theme/defaults/dark-abyss.json +0 -91
  47. package/src/modes/theme/defaults/dark-arctic.json +0 -104
  48. package/src/modes/theme/defaults/dark-aurora.json +0 -95
  49. package/src/modes/theme/defaults/dark-cavern.json +0 -91
  50. package/src/modes/theme/defaults/dark-copper.json +0 -95
  51. package/src/modes/theme/defaults/dark-cosmos.json +0 -90
  52. package/src/modes/theme/defaults/dark-cyberpunk.json +0 -102
  53. package/src/modes/theme/defaults/dark-eclipse.json +0 -91
  54. package/src/modes/theme/defaults/dark-ember.json +0 -95
  55. package/src/modes/theme/defaults/dark-equinox.json +0 -90
  56. package/src/modes/theme/defaults/dark-forest.json +0 -96
  57. package/src/modes/theme/defaults/dark-github.json +0 -105
  58. package/src/modes/theme/defaults/dark-lavender.json +0 -95
  59. package/src/modes/theme/defaults/dark-lunar.json +0 -89
  60. package/src/modes/theme/defaults/dark-midnight.json +0 -95
  61. package/src/modes/theme/defaults/dark-monochrome.json +0 -94
  62. package/src/modes/theme/defaults/dark-monokai.json +0 -98
  63. package/src/modes/theme/defaults/dark-nebula.json +0 -90
  64. package/src/modes/theme/defaults/dark-nord.json +0 -97
  65. package/src/modes/theme/defaults/dark-ocean.json +0 -101
  66. package/src/modes/theme/defaults/dark-one.json +0 -100
  67. package/src/modes/theme/defaults/dark-rainforest.json +0 -91
  68. package/src/modes/theme/defaults/dark-reef.json +0 -91
  69. package/src/modes/theme/defaults/dark-retro.json +0 -92
  70. package/src/modes/theme/defaults/dark-rose-pine.json +0 -96
  71. package/src/modes/theme/defaults/dark-sakura.json +0 -95
  72. package/src/modes/theme/defaults/dark-slate.json +0 -95
  73. package/src/modes/theme/defaults/dark-solstice.json +0 -90
  74. package/src/modes/theme/defaults/dark-starfall.json +0 -91
  75. package/src/modes/theme/defaults/dark-sunset.json +0 -99
  76. package/src/modes/theme/defaults/dark-swamp.json +0 -90
  77. package/src/modes/theme/defaults/dark-synthwave.json +0 -103
  78. package/src/modes/theme/defaults/dark-taiga.json +0 -91
  79. package/src/modes/theme/defaults/dark-terminal.json +0 -95
  80. package/src/modes/theme/defaults/dark-tundra.json +0 -91
  81. package/src/modes/theme/defaults/dark-twilight.json +0 -91
  82. package/src/modes/theme/defaults/dark-volcanic.json +0 -91
  83. package/src/modes/theme/defaults/graphite.json +0 -92
  84. package/src/modes/theme/defaults/light-arctic.json +0 -107
  85. package/src/modes/theme/defaults/light-aurora-day.json +0 -91
  86. package/src/modes/theme/defaults/light-canyon.json +0 -91
  87. package/src/modes/theme/defaults/light-cirrus.json +0 -90
  88. package/src/modes/theme/defaults/light-coral.json +0 -95
  89. package/src/modes/theme/defaults/light-cyberpunk.json +0 -96
  90. package/src/modes/theme/defaults/light-dawn.json +0 -90
  91. package/src/modes/theme/defaults/light-dunes.json +0 -91
  92. package/src/modes/theme/defaults/light-eucalyptus.json +0 -95
  93. package/src/modes/theme/defaults/light-forest.json +0 -100
  94. package/src/modes/theme/defaults/light-frost.json +0 -95
  95. package/src/modes/theme/defaults/light-glacier.json +0 -91
  96. package/src/modes/theme/defaults/light-gruvbox.json +0 -108
  97. package/src/modes/theme/defaults/light-haze.json +0 -90
  98. package/src/modes/theme/defaults/light-honeycomb.json +0 -95
  99. package/src/modes/theme/defaults/light-lagoon.json +0 -91
  100. package/src/modes/theme/defaults/light-lavender.json +0 -95
  101. package/src/modes/theme/defaults/light-meadow.json +0 -91
  102. package/src/modes/theme/defaults/light-mint.json +0 -95
  103. package/src/modes/theme/defaults/light-monochrome.json +0 -101
  104. package/src/modes/theme/defaults/light-ocean.json +0 -99
  105. package/src/modes/theme/defaults/light-one.json +0 -99
  106. package/src/modes/theme/defaults/light-opal.json +0 -91
  107. package/src/modes/theme/defaults/light-orchard.json +0 -91
  108. package/src/modes/theme/defaults/light-paper.json +0 -95
  109. package/src/modes/theme/defaults/light-prism.json +0 -90
  110. package/src/modes/theme/defaults/light-retro.json +0 -98
  111. package/src/modes/theme/defaults/light-sand.json +0 -95
  112. package/src/modes/theme/defaults/light-savanna.json +0 -91
  113. package/src/modes/theme/defaults/light-soleil.json +0 -90
  114. package/src/modes/theme/defaults/light-sunset.json +0 -99
  115. package/src/modes/theme/defaults/light-synthwave.json +0 -98
  116. package/src/modes/theme/defaults/light-tokyo-night.json +0 -111
  117. package/src/modes/theme/defaults/light-wetland.json +0 -91
  118. package/src/modes/theme/defaults/light-zenith.json +0 -89
  119. package/src/modes/theme/defaults/limestone.json +0 -94
  120. package/src/modes/theme/defaults/mahogany.json +0 -97
  121. package/src/modes/theme/defaults/marble.json +0 -93
  122. package/src/modes/theme/defaults/obsidian.json +0 -91
  123. package/src/modes/theme/defaults/onyx.json +0 -91
  124. package/src/modes/theme/defaults/pearl.json +0 -93
  125. package/src/modes/theme/defaults/porcelain.json +0 -91
  126. package/src/modes/theme/defaults/quartz.json +0 -96
  127. package/src/modes/theme/defaults/sandstone.json +0 -95
  128. package/src/modes/theme/defaults/titanium.json +0 -90
  129. package/src/prompts/system/subagent-submit-reminder.md +0 -11
  130. package/src/tools/jtd-to-json-schema.ts +0 -247
  131. package/src/tools/submit-result.ts +0 -152
@@ -111,7 +111,7 @@ export function createSubagentTool<T extends TProperties>(
111
111
 
112
112
  let contextFilePath: string | undefined;
113
113
  if (passContext) {
114
- const compactContext = this.session.getCompactContext?.();
114
+ const compactContext = this.session.subagentContext?.getCompactContext?.();
115
115
  if (compactContext) {
116
116
  contextFilePath = path.join(effectiveArtifactsDir, "context.md");
117
117
  await Bun.write(contextFilePath, compactContext);
@@ -125,7 +125,7 @@ export function createSubagentTool<T extends TProperties>(
125
125
  description: buildDescription(params),
126
126
  index: 0,
127
127
  id,
128
- taskDepth: this.session.taskDepth ?? 0,
128
+ isSubagent: true,
129
129
  modelOverride,
130
130
  sessionFile,
131
131
  persistArtifacts: !!artifactsDir,
@@ -134,13 +134,13 @@ export function createSubagentTool<T extends TProperties>(
134
134
  enableLsp: false,
135
135
  signal,
136
136
  onProgress: emitProgress,
137
- authStorage: this.session.authStorage,
138
- modelRegistry: this.session.modelRegistry,
137
+ authStorage: this.session.subagentContext?.authStorage,
138
+ modelRegistry: this.session.subagentContext?.modelRegistry,
139
139
  settings: this.session.settings,
140
140
  contextFiles: this.session.contextFiles,
141
141
  skills: this.session.skills,
142
142
  promptTemplates: this.session.promptTemplates,
143
- mcpManager: this.session.mcpManager,
143
+ mcpManager: this.session.subagentContext?.mcpManager,
144
144
  });
145
145
 
146
146
  if (tempArtifactsDir) {
@@ -78,39 +78,6 @@ function normalizeTodos(items: Array<{ id?: string; content?: string; status?: s
78
78
  });
79
79
  }
80
80
 
81
- function validateSequentialTodos(todos: TodoItem[]): { valid: boolean; error?: string } {
82
- if (todos.length === 0) return { valid: true };
83
-
84
- const firstIncompleteIndex = todos.findIndex(todo => todo.status !== "completed");
85
- if (firstIncompleteIndex >= 0) {
86
- for (let i = firstIncompleteIndex + 1; i < todos.length; i++) {
87
- if (todos[i].status === "completed") {
88
- return {
89
- valid: false,
90
- error: `Error: Cannot complete "${todos[i].content}" before completing "${todos[firstIncompleteIndex].content}". Todos must be completed sequentially.`,
91
- };
92
- }
93
- }
94
- }
95
-
96
- const inProgressIndices = todos.reduce<number[]>((acc, todo, index) => {
97
- if (todo.status === "in_progress") acc.push(index);
98
- return acc;
99
- }, []);
100
-
101
- for (const idx of inProgressIndices) {
102
- const hasPriorIncomplete = todos.slice(0, idx).some(t => t.status === "pending");
103
- if (hasPriorIncomplete) {
104
- return {
105
- valid: false,
106
- error: `Cannot start "${todos[idx].content}" while earlier tasks are still pending.`,
107
- };
108
- }
109
- }
110
-
111
- return { valid: true };
112
- }
113
-
114
81
  async function loadTodoFile(filePath: string): Promise<TodoFile | null> {
115
82
  const file = Bun.file(filePath);
116
83
  if (!(await file.exists())) return null;
@@ -168,10 +135,6 @@ export class TodoWriteTool implements AgentTool<typeof todoWriteSchema, TodoWrit
168
135
  _context?: AgentToolContext,
169
136
  ): Promise<AgentToolResult<TodoWriteToolDetails>> {
170
137
  const todos = normalizeTodos(params.todos ?? []);
171
- const validation = validateSequentialTodos(todos);
172
- if (!validation.valid) {
173
- throw new Error(validation.error ?? "Todos must be completed sequentially.");
174
- }
175
138
  const updatedAt = Date.now();
176
139
 
177
140
  const sessionFile = this.session.getSessionFile();
@@ -32,18 +32,8 @@ export function renderOutputBlock(options: OutputBlockOptions, theme: Theme): st
32
32
  ? "accent"
33
33
  : "dim";
34
34
  const border = (text: string) => theme.fg(borderColor, text);
35
- const bgFn = (() => {
36
- if (!state || !applyBg) return undefined;
37
- const bgAnsi = theme.getBgAnsi(getStateBgColor(state));
38
- // Keep block background stable even if inner content contains SGR resets (e.g. "\x1b[0m"),
39
- // which would otherwise clear the outer background mid-line.
40
- return (text: string) => {
41
- const stabilized = text
42
- .replace(/\x1b\[(?:0)?m/g, m => `${m}${bgAnsi}`)
43
- .replace(/\x1b\[49m/g, m => `${m}${bgAnsi}`);
44
- return `${bgAnsi}${stabilized}\x1b[49m`;
45
- };
46
- })();
35
+ const bgColor = state && applyBg ? getStateBgColor(state) : undefined;
36
+ const bgFn = bgColor ? (text: string) => theme.wrapBg(bgColor, text) : undefined;
47
37
 
48
38
  const buildBarLine = (leftChar: string, rightChar: string, label?: string, meta?: string): string => {
49
39
  const left = border(`${leftChar}${cap}`);
@@ -1,93 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/nghyane/arcane/main/packages/coding-agent/theme-schema.json",
3
- "name": "alabaster",
4
- "vars": {
5
- "alabaster": "#fdfcfb",
6
- "chiseledBlack": "#1a1c20",
7
- "shadowGray": "#505860",
8
- "carvedDepth": "#6a7080",
9
- "subtleShadow": "#e8e8ec",
10
- "lightShadow": "#f0f0f4",
11
- "accent": "#404850",
12
- "warmShadow": "#8a7060",
13
- "selectedBg": "#f0eff0",
14
- "userMsgBg": "#f5f4f5",
15
- "toolPendingBg": "#f3f3f8",
16
- "toolSuccessBg": "#f4f5f4",
17
- "toolErrorBg": "#f8f3f3",
18
- "customMsgBg": "#f6f4f7"
19
- },
20
- "colors": {
21
- "accent": "shadowGray",
22
- "border": "subtleShadow",
23
- "borderAccent": "shadowGray",
24
- "borderMuted": "lightShadow",
25
- "success": "#405840",
26
- "error": "#704040",
27
- "warning": "#806850",
28
- "muted": "carvedDepth",
29
- "dim": "#909098",
30
- "text": "",
31
- "thinkingText": "carvedDepth",
32
- "selectedBg": "selectedBg",
33
- "userMessageBg": "userMsgBg",
34
- "userMessageText": "",
35
- "customMessageBg": "customMsgBg",
36
- "customMessageText": "",
37
- "customMessageLabel": "shadowGray",
38
- "toolPendingBg": "toolPendingBg",
39
- "toolSuccessBg": "toolSuccessBg",
40
- "toolErrorBg": "toolErrorBg",
41
- "toolTitle": "",
42
- "toolOutput": "carvedDepth",
43
- "mdHeading": "chiseledBlack",
44
- "mdLink": "shadowGray",
45
- "mdLinkUrl": "carvedDepth",
46
- "mdCode": "accent",
47
- "mdCodeBlock": "shadowGray",
48
- "mdCodeBlockBorder": "subtleShadow",
49
- "mdQuote": "carvedDepth",
50
- "mdQuoteBorder": "subtleShadow",
51
- "mdHr": "subtleShadow",
52
- "mdListBullet": "shadowGray",
53
- "toolDiffAdded": "#405840",
54
- "toolDiffRemoved": "#704040",
55
- "toolDiffContext": "carvedDepth",
56
- "syntaxComment": "#707880",
57
- "syntaxKeyword": "#303840",
58
- "syntaxFunction": "chiseledBlack",
59
- "syntaxVariable": "chiseledBlack",
60
- "syntaxString": "warmShadow",
61
- "syntaxNumber": "shadowGray",
62
- "syntaxType": "#303840",
63
- "syntaxOperator": "#404850",
64
- "syntaxPunctuation": "#505860",
65
- "thinkingOff": "#c0c0c8",
66
- "thinkingMinimal": "#a0a0a8",
67
- "thinkingLow": "#808090",
68
- "thinkingMedium": "#606870",
69
- "thinkingHigh": "#505860",
70
- "thinkingXhigh": "#303840",
71
- "bashMode": "#405840",
72
- "statusLineBg": "#ececf0",
73
- "statusLineSep": "#a0a0a8",
74
- "statusLineModel": "#505860",
75
- "statusLinePath": "#404850",
76
- "statusLineGitClean": "#305030",
77
- "statusLineGitDirty": "#806030",
78
- "statusLineContext": "#404860",
79
- "statusLineSpend": "#405050",
80
- "statusLineStaged": 28,
81
- "statusLineDirty": 136,
82
- "statusLineUntracked": 31,
83
- "statusLineOutput": 133,
84
- "statusLineCost": 133,
85
- "statusLineSubagents": "shadowGray",
86
- "pythonMode": "#f0c040"
87
- },
88
- "export": {
89
- "pageBg": "#fdfcfb",
90
- "cardBg": "#ffffff",
91
- "infoBg": "#faf9f8"
92
- }
93
- }
@@ -1,96 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/nghyane/arcane/main/packages/coding-agent/theme-schema.json",
3
- "name": "amethyst",
4
- "vars": {
5
- "amethyst": "#b48eff",
6
- "violet": "#9b6fd8",
7
- "deepPurple": "#6b4d9e",
8
- "quartz": "#f0e8f4",
9
- "roseQuartz": "#e5b4d4",
10
- "gold": "#d4af37",
11
- "lavender": "#c8a8e9",
12
- "crystalFacet": "#2a2435",
13
- "caveDark": "#140f18",
14
- "caveDeep": "#0f0b13",
15
- "selectedBg": "#221b28",
16
- "userMsgBg": "#1a1420",
17
- "toolPendingBg": "#1b1624",
18
- "toolSuccessBg": "#151220",
19
- "toolErrorBg": "#261418",
20
- "customMsgBg": "#1f1828"
21
- },
22
- "colors": {
23
- "accent": "amethyst",
24
- "border": "deepPurple",
25
- "borderAccent": "amethyst",
26
- "borderMuted": "crystalFacet",
27
- "success": "#8eb897",
28
- "error": "#d96c75",
29
- "warning": "gold",
30
- "muted": "#8b7a99",
31
- "dim": "#6a5a78",
32
- "text": "",
33
- "thinkingText": "#8b7a99",
34
- "selectedBg": "selectedBg",
35
- "userMessageBg": "userMsgBg",
36
- "userMessageText": "",
37
- "customMessageBg": "customMsgBg",
38
- "customMessageText": "",
39
- "customMessageLabel": "lavender",
40
- "toolPendingBg": "toolPendingBg",
41
- "toolSuccessBg": "toolSuccessBg",
42
- "toolErrorBg": "toolErrorBg",
43
- "toolTitle": "",
44
- "toolOutput": "#8b7a99",
45
- "mdHeading": "amethyst",
46
- "mdLink": "violet",
47
- "mdLinkUrl": "#6a5a78",
48
- "mdCode": "roseQuartz",
49
- "mdCodeBlock": "quartz",
50
- "mdCodeBlockBorder": "crystalFacet",
51
- "mdQuote": "#8b7a99",
52
- "mdQuoteBorder": "crystalFacet",
53
- "mdHr": "crystalFacet",
54
- "mdListBullet": "amethyst",
55
- "toolDiffAdded": "#8eb897",
56
- "toolDiffRemoved": "#d96c75",
57
- "toolDiffContext": "#8b7a99",
58
- "link": "violet",
59
- "syntaxComment": "#7a6b88",
60
- "syntaxKeyword": "amethyst",
61
- "syntaxFunction": "gold",
62
- "syntaxVariable": "lavender",
63
- "syntaxString": "roseQuartz",
64
- "syntaxNumber": "#a8c9b0",
65
- "syntaxType": "violet",
66
- "syntaxOperator": "quartz",
67
- "syntaxPunctuation": "#c0b0cf",
68
- "thinkingOff": "crystalFacet",
69
- "thinkingMinimal": "#6a5a78",
70
- "thinkingLow": "deepPurple",
71
- "thinkingMedium": "violet",
72
- "thinkingHigh": "amethyst",
73
- "thinkingXhigh": "lavender",
74
- "bashMode": "amethyst",
75
- "statusLineBg": "caveDeep",
76
- "statusLineSep": 240,
77
- "statusLineModel": "roseQuartz",
78
- "statusLinePath": "violet",
79
- "statusLineGitClean": "#8eb897",
80
- "statusLineGitDirty": "gold",
81
- "statusLineContext": "lavender",
82
- "statusLineSpend": "deepPurple",
83
- "statusLineStaged": 141,
84
- "statusLineDirty": 179,
85
- "statusLineUntracked": 183,
86
- "statusLineOutput": 213,
87
- "statusLineCost": 213,
88
- "statusLineSubagents": "amethyst",
89
- "pythonMode": "gold"
90
- },
91
- "export": {
92
- "pageBg": "caveDark",
93
- "cardBg": "#1b1520",
94
- "infoBg": "#251d2b"
95
- }
96
- }
@@ -1,93 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/nghyane/arcane/main/packages/coding-agent/theme-schema.json",
3
- "name": "anthracite",
4
- "vars": {
5
- "coal": "#121419",
6
- "steel": "#3d4555",
7
- "steelLight": "#4f5566",
8
- "ember": "#e8734a",
9
- "emberDim": "#b5583a",
10
- "ash": "#d4d8e4",
11
- "ashGray": "#9ca3b5",
12
- "soot": "#6b7280",
13
- "sootDark": "#4d5561",
14
- "coalLighter": "#1a1e25",
15
- "success": "#7fb069",
16
- "error": "#d9534f",
17
- "warning": "#e89c4a"
18
- },
19
- "colors": {
20
- "accent": "ember",
21
- "border": "steel",
22
- "borderAccent": "steelLight",
23
- "borderMuted": "sootDark",
24
- "success": "success",
25
- "error": "error",
26
- "warning": "warning",
27
- "muted": "ashGray",
28
- "dim": "soot",
29
- "text": "",
30
- "thinkingText": "soot",
31
- "selectedBg": "#252932",
32
- "userMessageBg": "#1a1511",
33
- "userMessageText": "",
34
- "customMessageBg": "#1f1a24",
35
- "customMessageText": "",
36
- "customMessageLabel": "#c99a6e",
37
- "toolPendingBg": "#171a21",
38
- "toolSuccessBg": "#141a16",
39
- "toolErrorBg": "#221617",
40
- "toolTitle": "",
41
- "toolOutput": "ashGray",
42
- "mdHeading": "ember",
43
- "mdLink": "#6ba3d4",
44
- "mdLinkUrl": "soot",
45
- "mdCode": "#e8b089",
46
- "mdCodeBlock": "#c1cfe0",
47
- "mdCodeBlockBorder": "steel",
48
- "mdQuote": "ashGray",
49
- "mdQuoteBorder": "sootDark",
50
- "mdHr": "steel",
51
- "mdListBullet": "ember",
52
- "toolDiffAdded": "success",
53
- "toolDiffRemoved": "error",
54
- "toolDiffContext": "soot",
55
- "link": "#6ba3d4",
56
- "syntaxComment": "#6b8099",
57
- "syntaxKeyword": "#7ba8d4",
58
- "syntaxFunction": "#e8a069",
59
- "syntaxVariable": "#a9b8cf",
60
- "syntaxString": "#c98963",
61
- "syntaxNumber": "#89b084",
62
- "syntaxType": "#67b8a8",
63
- "syntaxOperator": "#b8bfcc",
64
- "syntaxPunctuation": "#9ca3b5",
65
- "thinkingOff": "sootDark",
66
- "thinkingMinimal": "soot",
67
- "thinkingLow": "#5f7fa3",
68
- "thinkingMedium": "#6ba3d4",
69
- "thinkingHigh": "#c99a6e",
70
- "thinkingXhigh": "#e8b089",
71
- "bashMode": "#6ba3d4",
72
- "statusLineBg": "#0f1114",
73
- "statusLineSep": 240,
74
- "statusLineModel": "#c99a6e",
75
- "statusLinePath": "#6ba3d4",
76
- "statusLineGitClean": "#7fb069",
77
- "statusLineGitDirty": "#e89c4a",
78
- "statusLineContext": "#8791a6",
79
- "statusLineSpend": "#6ba3d4",
80
- "statusLineStaged": 107,
81
- "statusLineDirty": 179,
82
- "statusLineUntracked": 74,
83
- "statusLineOutput": 173,
84
- "statusLineCost": 173,
85
- "statusLineSubagents": "ember",
86
- "pythonMode": "#f0c040"
87
- },
88
- "export": {
89
- "pageBg": "#121419",
90
- "cardBg": "#1a1e25",
91
- "infoBg": "#2a2317"
92
- }
93
- }
@@ -1,91 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/nghyane/arcane/main/packages/coding-agent/theme-schema.json",
3
- "name": "basalt",
4
- "vars": {
5
- "charcoal": "#171613",
6
- "coolingLava": "#3a3530",
7
- "warmGray": "#4a433d",
8
- "pumice": "#e4e0d8",
9
- "dustyWhite": "#cac5bd",
10
- "ironOxide": "#c45a3a",
11
- "rustOrange": "#d97651",
12
- "mineralGreen": "#6a9a6a",
13
- "lichtenGreen": "#8bb88b",
14
- "obsidian": "#0f0d0b",
15
- "emberRed": "#b84a2c",
16
- "ashGray": "#5a524b"
17
- },
18
- "colors": {
19
- "accent": "#c45a3a",
20
- "border": "#3a3530",
21
- "borderAccent": "#4a433d",
22
- "borderMuted": "#2a2520",
23
- "success": "#6a9a6a",
24
- "error": "#b84a2c",
25
- "warning": "#d97651",
26
- "muted": "#5a524b",
27
- "dim": "#4a433d",
28
- "text": "",
29
- "thinkingText": "#cac5bd",
30
- "selectedBg": "#2a2520",
31
- "userMessageBg": "#3a3530",
32
- "userMessageText": "",
33
- "customMessageBg": "#4a433d",
34
- "customMessageText": "",
35
- "customMessageLabel": "#c45a3a",
36
- "toolPendingBg": "#2a2520",
37
- "toolSuccessBg": "#1f2520",
38
- "toolErrorBg": "#2a1f1d",
39
- "toolTitle": "",
40
- "toolOutput": "#cac5bd",
41
- "mdHeading": "#c45a3a",
42
- "mdLink": "#8bb88b",
43
- "mdLinkUrl": "#6a9a6a",
44
- "mdCode": "#d97651",
45
- "mdCodeBlock": "#cac5bd",
46
- "mdCodeBlockBorder": "#3a3530",
47
- "mdQuote": "#cac5bd",
48
- "mdQuoteBorder": "#4a433d",
49
- "mdHr": "#3a3530",
50
- "mdListBullet": "#c45a3a",
51
- "toolDiffAdded": "#6a9a6a",
52
- "toolDiffRemoved": "#b84a2c",
53
- "toolDiffContext": "#5a524b",
54
- "syntaxComment": "#5a524b",
55
- "syntaxKeyword": "#c45a3a",
56
- "syntaxFunction": "#8bb88b",
57
- "syntaxVariable": "#e4e0d8",
58
- "syntaxString": "#6a9a6a",
59
- "syntaxNumber": "#d97651",
60
- "syntaxType": "#c45a3a",
61
- "syntaxOperator": "#cac5bd",
62
- "syntaxPunctuation": "#cac5bd",
63
- "thinkingOff": "#3a3530",
64
- "thinkingMinimal": "#4a433d",
65
- "thinkingLow": "#5a524b",
66
- "thinkingMedium": "#6a605a",
67
- "thinkingHigh": "#7a706a",
68
- "thinkingXhigh": "#8a807a",
69
- "bashMode": "#c45a3a",
70
- "statusLineBg": "#0f0d0b",
71
- "statusLineSep": "#3a3530",
72
- "statusLineModel": "#c45a3a",
73
- "statusLinePath": "#cac5bd",
74
- "statusLineGitClean": "#6a9a6a",
75
- "statusLineGitDirty": "#d97651",
76
- "statusLineContext": "#8bb88b",
77
- "statusLineSpend": "#d97651",
78
- "statusLineStaged": "#6a9a6a",
79
- "statusLineDirty": "#d97651",
80
- "statusLineUntracked": "#5a524b",
81
- "statusLineOutput": "#cac5bd",
82
- "statusLineCost": "#d97651",
83
- "statusLineSubagents": "#c45a3a",
84
- "pythonMode": "#f0c040"
85
- },
86
- "export": {
87
- "pageBg": "#171613",
88
- "cardBg": "#1f1c19",
89
- "infoBg": "#2a2520"
90
- }
91
- }
@@ -1,95 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/nghyane/arcane/main/packages/coding-agent/theme-schema.json",
3
- "name": "birch",
4
- "vars": {
5
- "barkCream": "#f9f7f1",
6
- "barkCharcoal": "#505048",
7
- "mossSage": "#608058",
8
- "barkStriation": "#c8c4b8",
9
- "forestFloor": "#282820",
10
- "lightMoss": "#7a9a70",
11
- "darkMoss": "#4a603f",
12
- "warmGray": "#9a958a",
13
- "mutedSage": "#8a9d84",
14
- "deepBark": "#3a3832",
15
- "selectedBg": "#ede9df",
16
- "userMsgBg": "#f2efe7",
17
- "toolPendingBg": "#eef0ed",
18
- "toolSuccessBg": "#ecf2ea",
19
- "toolErrorBg": "#f5efed",
20
- "customMsgBg": "#eef5ec"
21
- },
22
- "colors": {
23
- "accent": "mossSage",
24
- "border": "barkStriation",
25
- "borderAccent": "mossSage",
26
- "borderMuted": "barkStriation",
27
- "success": "lightMoss",
28
- "error": "#b85a50",
29
- "warning": "#b8984a",
30
- "muted": "warmGray",
31
- "dim": "mutedSage",
32
- "text": "",
33
- "thinkingText": "warmGray",
34
- "selectedBg": "selectedBg",
35
- "userMessageBg": "userMsgBg",
36
- "userMessageText": "",
37
- "customMessageBg": "customMsgBg",
38
- "customMessageText": "",
39
- "customMessageLabel": "#5a7a52",
40
- "toolPendingBg": "toolPendingBg",
41
- "toolSuccessBg": "toolSuccessBg",
42
- "toolErrorBg": "toolErrorBg",
43
- "toolTitle": "",
44
- "toolOutput": "barkCharcoal",
45
- "mdHeading": "#8a7050",
46
- "mdLink": "#4a7060",
47
- "mdLinkUrl": "warmGray",
48
- "mdCode": "mossSage",
49
- "mdCodeBlock": "darkMoss",
50
- "mdCodeBlockBorder": "barkStriation",
51
- "mdQuote": "warmGray",
52
- "mdQuoteBorder": "barkStriation",
53
- "mdHr": "barkStriation",
54
- "mdListBullet": "lightMoss",
55
- "toolDiffAdded": "lightMoss",
56
- "toolDiffRemoved": "#b85a50",
57
- "toolDiffContext": "warmGray",
58
- "syntaxComment": "#7a8070",
59
- "syntaxKeyword": "#4a7060",
60
- "syntaxFunction": "#6a7a50",
61
- "syntaxVariable": "#3a5048",
62
- "syntaxString": "#8a604a",
63
- "syntaxNumber": "#4a7a5a",
64
- "syntaxType": "#5a6a70",
65
- "syntaxOperator": "barkCharcoal",
66
- "syntaxPunctuation": "barkCharcoal",
67
- "thinkingOff": "barkStriation",
68
- "thinkingMinimal": "mutedSage",
69
- "thinkingLow": "#6a8a70",
70
- "thinkingMedium": "mossSage",
71
- "thinkingHigh": "#5a7a60",
72
- "thinkingXhigh": "#4a6050",
73
- "bashMode": "lightMoss",
74
- "statusLineBg": "#ebe7dc",
75
- "statusLineSep": "barkStriation",
76
- "statusLineModel": "#5a6a5a",
77
- "statusLinePath": "#4a5a60",
78
- "statusLineGitClean": "darkMoss",
79
- "statusLineGitDirty": "#9a7040",
80
- "statusLineContext": "#6a6a70",
81
- "statusLineSpend": "#4a6a6a",
82
- "statusLineStaged": 28,
83
- "statusLineDirty": 136,
84
- "statusLineUntracked": 31,
85
- "statusLineOutput": 133,
86
- "statusLineCost": 133,
87
- "statusLineSubagents": "mossSage",
88
- "pythonMode": "#f0c040"
89
- },
90
- "export": {
91
- "pageBg": "#f9f7f1",
92
- "cardBg": "#fefdfb",
93
- "infoBg": "#f5f8f3"
94
- }
95
- }
@@ -1,91 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/nghyane/arcane/main/packages/coding-agent/theme-schema.json",
3
- "name": "dark-abyss",
4
- "vars": {
5
- "abyssBlack": "#05070B",
6
- "trenchBlue": "#0B111A",
7
- "pressureBlue": "#142338",
8
- "slateBlue": "#22324B",
9
- "abyssCyan": "#3FD3FF",
10
- "glowCyan": "#7BE7FF",
11
- "crystalBlue": "#5AA4FF",
12
- "kelpGreen": "#35C28A",
13
- "warningAmber": "#F2B04C",
14
- "errorRed": "#E85B5B",
15
- "mutedSteel": "#8FA1B5",
16
- "dimSteel": "#617289"
17
- },
18
- "colors": {
19
- "accent": "abyssCyan",
20
- "border": "slateBlue",
21
- "borderAccent": "glowCyan",
22
- "borderMuted": "pressureBlue",
23
- "success": "kelpGreen",
24
- "error": "errorRed",
25
- "warning": "warningAmber",
26
- "muted": "mutedSteel",
27
- "dim": "dimSteel",
28
- "text": "",
29
- "thinkingText": "mutedSteel",
30
- "selectedBg": "pressureBlue",
31
- "userMessageBg": "trenchBlue",
32
- "userMessageText": "",
33
- "customMessageBg": "#101826",
34
- "customMessageText": "",
35
- "customMessageLabel": "crystalBlue",
36
- "toolPendingBg": "abyssBlack",
37
- "toolSuccessBg": "#0B1512",
38
- "toolErrorBg": "#1A0F12",
39
- "toolTitle": "",
40
- "toolOutput": "mutedSteel",
41
- "mdHeading": "warningAmber",
42
- "mdLink": "abyssCyan",
43
- "mdLinkUrl": "dimSteel",
44
- "mdCode": "crystalBlue",
45
- "mdCodeBlock": "glowCyan",
46
- "mdCodeBlockBorder": "slateBlue",
47
- "mdQuote": "mutedSteel",
48
- "mdQuoteBorder": "slateBlue",
49
- "mdHr": "pressureBlue",
50
- "mdListBullet": "abyssCyan",
51
- "toolDiffAdded": "kelpGreen",
52
- "toolDiffRemoved": "errorRed",
53
- "toolDiffContext": "mutedSteel",
54
- "syntaxComment": "dimSteel",
55
- "syntaxKeyword": "abyssCyan",
56
- "syntaxFunction": "warningAmber",
57
- "syntaxVariable": "crystalBlue",
58
- "syntaxString": "warningAmber",
59
- "syntaxNumber": "kelpGreen",
60
- "syntaxType": "glowCyan",
61
- "syntaxOperator": "mutedSteel",
62
- "syntaxPunctuation": "mutedSteel",
63
- "thinkingOff": "pressureBlue",
64
- "thinkingMinimal": "dimSteel",
65
- "thinkingLow": "slateBlue",
66
- "thinkingMedium": "abyssCyan",
67
- "thinkingHigh": "glowCyan",
68
- "thinkingXhigh": "crystalBlue",
69
- "bashMode": "abyssCyan",
70
- "statusLineBg": "#05070B",
71
- "statusLineSep": "slateBlue",
72
- "statusLineModel": "glowCyan",
73
- "statusLinePath": "crystalBlue",
74
- "statusLineGitClean": "kelpGreen",
75
- "statusLineGitDirty": "warningAmber",
76
- "statusLineContext": "mutedSteel",
77
- "statusLineSpend": "abyssCyan",
78
- "statusLineStaged": "kelpGreen",
79
- "statusLineDirty": "warningAmber",
80
- "statusLineUntracked": "glowCyan",
81
- "statusLineOutput": "crystalBlue",
82
- "statusLineCost": "warningAmber",
83
- "statusLineSubagents": "glowCyan",
84
- "pythonMode": "#f0c040"
85
- },
86
- "export": {
87
- "pageBg": "#05070B",
88
- "cardBg": "#0B111A",
89
- "infoBg": "#142338"
90
- }
91
- }