@oh-my-pi/pi-coding-agent 3.13.1337 → 3.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +88 -0
- package/docs/theme.md +38 -5
- package/examples/sdk/11-sessions.ts +2 -2
- package/package.json +7 -4
- package/src/cli/file-processor.ts +51 -2
- package/src/cli/plugin-cli.ts +25 -19
- package/src/cli/update-cli.ts +4 -3
- package/src/core/agent-session.ts +31 -4
- package/src/core/compaction/branch-summarization.ts +4 -32
- package/src/core/compaction/compaction.ts +6 -84
- package/src/core/compaction/utils.ts +2 -3
- package/src/core/custom-tools/types.ts +2 -0
- package/src/core/export-html/index.ts +1 -1
- package/src/core/hooks/index.ts +1 -1
- package/src/core/hooks/tool-wrapper.ts +0 -1
- package/src/core/hooks/types.ts +2 -2
- package/src/core/plugins/doctor.ts +9 -1
- package/src/core/sdk.ts +2 -1
- package/src/core/session-manager.ts +552 -41
- package/src/core/settings-manager.ts +174 -0
- package/src/core/system-prompt.ts +9 -14
- package/src/core/title-generator.ts +2 -8
- package/src/core/tools/ask.ts +19 -37
- package/src/core/tools/bash.ts +2 -37
- package/src/core/tools/edit.ts +2 -9
- package/src/core/tools/exa/render.ts +52 -48
- package/src/core/tools/find.ts +10 -8
- package/src/core/tools/grep.ts +45 -17
- package/src/core/tools/ls.ts +22 -2
- package/src/core/tools/lsp/clients/biome-client.ts +207 -0
- package/src/core/tools/lsp/clients/index.ts +49 -0
- package/src/core/tools/lsp/clients/lsp-linter-client.ts +98 -0
- package/src/core/tools/lsp/config.ts +3 -0
- package/src/core/tools/lsp/index.ts +107 -55
- package/src/core/tools/lsp/render.ts +192 -79
- package/src/core/tools/lsp/types.ts +27 -0
- package/src/core/tools/lsp/utils.ts +62 -22
- package/src/core/tools/notebook.ts +9 -1
- package/src/core/tools/output.ts +37 -14
- package/src/core/tools/read.ts +349 -34
- package/src/core/tools/renderers.ts +290 -89
- package/src/core/tools/review.ts +12 -5
- package/src/core/tools/task/agents.ts +5 -5
- package/src/core/tools/task/commands.ts +3 -3
- package/src/core/tools/task/executor.ts +33 -1
- package/src/core/tools/task/index.ts +93 -6
- package/src/core/tools/task/render.ts +147 -66
- package/src/core/tools/task/types.ts +14 -9
- package/src/core/tools/web-fetch.ts +242 -103
- package/src/core/tools/web-search/index.ts +64 -20
- package/src/core/tools/web-search/providers/exa.ts +68 -172
- package/src/core/tools/web-search/render.ts +264 -74
- package/src/core/tools/write.ts +2 -8
- package/src/main.ts +10 -6
- package/src/modes/cleanup.ts +23 -0
- package/src/modes/index.ts +9 -4
- package/src/modes/interactive/components/bash-execution.ts +6 -3
- package/src/modes/interactive/components/branch-summary-message.ts +1 -1
- package/src/modes/interactive/components/compaction-summary-message.ts +1 -1
- package/src/modes/interactive/components/dynamic-border.ts +1 -1
- package/src/modes/interactive/components/extensions/extension-dashboard.ts +4 -5
- package/src/modes/interactive/components/extensions/extension-list.ts +18 -16
- package/src/modes/interactive/components/extensions/inspector-panel.ts +8 -8
- package/src/modes/interactive/components/hook-message.ts +2 -2
- package/src/modes/interactive/components/hook-selector.ts +1 -1
- package/src/modes/interactive/components/model-selector.ts +22 -9
- package/src/modes/interactive/components/oauth-selector.ts +20 -4
- package/src/modes/interactive/components/plugin-settings.ts +4 -2
- package/src/modes/interactive/components/session-selector.ts +9 -6
- package/src/modes/interactive/components/settings-defs.ts +285 -1
- package/src/modes/interactive/components/settings-selector.ts +176 -3
- package/src/modes/interactive/components/status-line/index.ts +4 -0
- package/src/modes/interactive/components/status-line/presets.ts +94 -0
- package/src/modes/interactive/components/status-line/segments.ts +350 -0
- package/src/modes/interactive/components/status-line/separators.ts +55 -0
- package/src/modes/interactive/components/status-line/types.ts +81 -0
- package/src/modes/interactive/components/status-line-segment-editor.ts +357 -0
- package/src/modes/interactive/components/status-line.ts +169 -233
- package/src/modes/interactive/components/tool-execution.ts +446 -211
- package/src/modes/interactive/components/tree-selector.ts +17 -6
- package/src/modes/interactive/components/ttsr-notification.ts +4 -4
- package/src/modes/interactive/components/welcome.ts +27 -19
- package/src/modes/interactive/interactive-mode.ts +98 -13
- package/src/modes/interactive/theme/dark.json +3 -2
- package/src/modes/interactive/theme/defaults/dark-arctic.json +111 -0
- package/src/modes/interactive/theme/defaults/dark-catppuccin.json +106 -0
- package/src/modes/interactive/theme/defaults/dark-cyberpunk.json +109 -0
- package/src/modes/interactive/theme/defaults/dark-dracula.json +105 -0
- package/src/modes/interactive/theme/defaults/dark-forest.json +103 -0
- package/src/modes/interactive/theme/defaults/dark-github.json +112 -0
- package/src/modes/interactive/theme/defaults/dark-gruvbox.json +119 -0
- package/src/modes/interactive/theme/defaults/dark-monochrome.json +101 -0
- package/src/modes/interactive/theme/defaults/dark-monokai.json +105 -0
- package/src/modes/interactive/theme/defaults/dark-nord.json +104 -0
- package/src/modes/interactive/theme/defaults/dark-ocean.json +108 -0
- package/src/modes/interactive/theme/defaults/dark-one.json +107 -0
- package/src/modes/interactive/theme/defaults/dark-retro.json +99 -0
- package/src/modes/interactive/theme/defaults/dark-rose-pine.json +95 -0
- package/src/modes/interactive/theme/defaults/dark-solarized.json +96 -0
- package/src/modes/interactive/theme/defaults/dark-sunset.json +106 -0
- package/src/modes/interactive/theme/defaults/dark-synthwave.json +102 -0
- package/src/modes/interactive/theme/defaults/dark-tokyo-night.json +108 -0
- package/src/modes/interactive/theme/defaults/index.ts +67 -0
- package/src/modes/interactive/theme/defaults/light-arctic.json +106 -0
- package/src/modes/interactive/theme/defaults/light-catppuccin.json +105 -0
- package/src/modes/interactive/theme/defaults/light-cyberpunk.json +103 -0
- package/src/modes/interactive/theme/defaults/light-forest.json +107 -0
- package/src/modes/interactive/theme/defaults/light-github.json +114 -0
- package/src/modes/interactive/theme/defaults/light-gruvbox.json +115 -0
- package/src/modes/interactive/theme/defaults/light-monochrome.json +100 -0
- package/src/modes/interactive/theme/defaults/light-ocean.json +106 -0
- package/src/modes/interactive/theme/defaults/light-one.json +105 -0
- package/src/modes/interactive/theme/defaults/light-retro.json +105 -0
- package/src/modes/interactive/theme/defaults/light-solarized.json +101 -0
- package/src/modes/interactive/theme/defaults/light-sunset.json +106 -0
- package/src/modes/interactive/theme/defaults/light-synthwave.json +105 -0
- package/src/modes/interactive/theme/defaults/light-tokyo-night.json +118 -0
- package/src/modes/interactive/theme/light.json +3 -2
- package/src/modes/interactive/theme/theme-schema.json +120 -4
- package/src/modes/interactive/theme/theme.ts +1228 -14
- package/src/prompts/branch-summary-preamble.md +3 -0
- package/src/prompts/branch-summary.md +28 -0
- package/src/prompts/compaction-summary.md +34 -0
- package/src/prompts/compaction-turn-prefix.md +16 -0
- package/src/prompts/compaction-update-summary.md +41 -0
- package/src/prompts/init.md +30 -0
- package/src/{core/tools/task/bundled-agents → prompts}/reviewer.md +6 -0
- package/src/prompts/summarization-system.md +3 -0
- package/src/prompts/system-prompt.md +27 -0
- package/src/{core/tools/task/bundled-agents → prompts}/task.md +2 -0
- package/src/prompts/title-system.md +8 -0
- package/src/prompts/tools/ask.md +24 -0
- package/src/prompts/tools/bash.md +23 -0
- package/src/prompts/tools/edit.md +9 -0
- package/src/prompts/tools/find.md +6 -0
- package/src/prompts/tools/grep.md +12 -0
- package/src/prompts/tools/lsp.md +14 -0
- package/src/prompts/tools/output.md +23 -0
- package/src/prompts/tools/read.md +25 -0
- package/src/prompts/tools/web-fetch.md +8 -0
- package/src/prompts/tools/web-search.md +10 -0
- package/src/prompts/tools/write.md +10 -0
- package/src/commands/init.md +0 -20
- /package/src/{core/tools/task/bundled-commands → prompts}/architect-plan.md +0 -0
- /package/src/{core/tools/task/bundled-agents → prompts}/browser.md +0 -0
- /package/src/{core/tools/task/bundled-agents → prompts}/explore.md +0 -0
- /package/src/{core/tools/task/bundled-commands → prompts}/implement-with-critic.md +0 -0
- /package/src/{core/tools/task/bundled-commands → prompts}/implement.md +0 -0
- /package/src/{core/tools/task/bundled-agents → prompts}/plan.md +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
3
|
+
"name": "dark-rose-pine",
|
|
4
|
+
"vars": {
|
|
5
|
+
"base": "#191724",
|
|
6
|
+
"surface": "#1f1d2e",
|
|
7
|
+
"overlay": "#26233a",
|
|
8
|
+
"muted": "#6e6a86",
|
|
9
|
+
"subtle": "#908caa",
|
|
10
|
+
"text": "#e0def4",
|
|
11
|
+
"love": "#eb6f92",
|
|
12
|
+
"gold": "#f6c177",
|
|
13
|
+
"rose": "#ebbcba",
|
|
14
|
+
"pine": "#31748f",
|
|
15
|
+
"foam": "#9ccfd8",
|
|
16
|
+
"iris": "#c4a7e7",
|
|
17
|
+
"highlightLow": "#21202e",
|
|
18
|
+
"highlightMed": "#403d52",
|
|
19
|
+
"highlightHigh": "#524f67"
|
|
20
|
+
},
|
|
21
|
+
"colors": {
|
|
22
|
+
"accent": "iris",
|
|
23
|
+
"border": "pine",
|
|
24
|
+
"borderAccent": "foam",
|
|
25
|
+
"borderMuted": "highlightMed",
|
|
26
|
+
"success": "foam",
|
|
27
|
+
"error": "love",
|
|
28
|
+
"warning": "gold",
|
|
29
|
+
"muted": "muted",
|
|
30
|
+
"dim": "subtle",
|
|
31
|
+
"text": "",
|
|
32
|
+
"thinkingText": "subtle",
|
|
33
|
+
"selectedBg": "overlay",
|
|
34
|
+
"userMessageBg": "highlightLow",
|
|
35
|
+
"userMessageText": "",
|
|
36
|
+
"customMessageBg": "overlay",
|
|
37
|
+
"customMessageText": "",
|
|
38
|
+
"customMessageLabel": "iris",
|
|
39
|
+
"toolPendingBg": "surface",
|
|
40
|
+
"toolSuccessBg": "highlightLow",
|
|
41
|
+
"toolErrorBg": "#2d1f26",
|
|
42
|
+
"toolTitle": "foam",
|
|
43
|
+
"toolText": "",
|
|
44
|
+
"toolOutput": "muted",
|
|
45
|
+
"mdHeading": "iris",
|
|
46
|
+
"mdLink": "foam",
|
|
47
|
+
"mdLinkUrl": "subtle",
|
|
48
|
+
"mdCode": "rose",
|
|
49
|
+
"mdCodeBlock": "text",
|
|
50
|
+
"mdCodeBlockBorder": "highlightMed",
|
|
51
|
+
"mdQuote": "muted",
|
|
52
|
+
"mdQuoteBorder": "highlightMed",
|
|
53
|
+
"mdHr": "highlightMed",
|
|
54
|
+
"mdListBullet": "iris",
|
|
55
|
+
"toolDiffAdded": "foam",
|
|
56
|
+
"toolDiffRemoved": "love",
|
|
57
|
+
"toolDiffContext": "muted",
|
|
58
|
+
"link": "foam",
|
|
59
|
+
"syntaxComment": "muted",
|
|
60
|
+
"syntaxKeyword": "pine",
|
|
61
|
+
"syntaxFunction": "rose",
|
|
62
|
+
"syntaxVariable": "text",
|
|
63
|
+
"syntaxString": "gold",
|
|
64
|
+
"syntaxNumber": "rose",
|
|
65
|
+
"syntaxType": "foam",
|
|
66
|
+
"syntaxOperator": "subtle",
|
|
67
|
+
"syntaxPunctuation": "subtle",
|
|
68
|
+
"thinkingOff": "highlightMed",
|
|
69
|
+
"thinkingMinimal": "subtle",
|
|
70
|
+
"thinkingLow": "pine",
|
|
71
|
+
"thinkingMedium": "foam",
|
|
72
|
+
"thinkingHigh": "iris",
|
|
73
|
+
"thinkingXhigh": "#e0c1ff",
|
|
74
|
+
"bashMode": "foam",
|
|
75
|
+
"statusLineBg": "overlay",
|
|
76
|
+
"statusLineSep": "highlightMed",
|
|
77
|
+
"statusLineModel": "iris",
|
|
78
|
+
"statusLinePath": "foam",
|
|
79
|
+
"statusLineGitClean": "foam",
|
|
80
|
+
"statusLineGitDirty": "gold",
|
|
81
|
+
"statusLineContext": "subtle",
|
|
82
|
+
"statusLineSpend": "rose",
|
|
83
|
+
"statusLineStaged": "foam",
|
|
84
|
+
"statusLineDirty": "gold",
|
|
85
|
+
"statusLineUntracked": "love",
|
|
86
|
+
"statusLineOutput": "pine",
|
|
87
|
+
"statusLineCost": "rose",
|
|
88
|
+
"statusLineSubagents": "iris"
|
|
89
|
+
},
|
|
90
|
+
"export": {
|
|
91
|
+
"pageBg": "base",
|
|
92
|
+
"cardBg": "surface",
|
|
93
|
+
"infoBg": "overlay"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
3
|
+
"name": "dark-solarized",
|
|
4
|
+
"vars": {
|
|
5
|
+
"base03": "#002b36",
|
|
6
|
+
"base02": "#073642",
|
|
7
|
+
"base01": "#586e75",
|
|
8
|
+
"base00": "#657b83",
|
|
9
|
+
"base0": "#839496",
|
|
10
|
+
"base1": "#93a1a1",
|
|
11
|
+
"base2": "#eee8d5",
|
|
12
|
+
"base3": "#fdf6e3",
|
|
13
|
+
"yellow": "#b58900",
|
|
14
|
+
"orange": "#cb4b16",
|
|
15
|
+
"red": "#dc322f",
|
|
16
|
+
"magenta": "#d33682",
|
|
17
|
+
"violet": "#6c71c4",
|
|
18
|
+
"blue": "#268bd2",
|
|
19
|
+
"cyan": "#2aa198",
|
|
20
|
+
"green": "#859900"
|
|
21
|
+
},
|
|
22
|
+
"colors": {
|
|
23
|
+
"accent": "blue",
|
|
24
|
+
"border": "base01",
|
|
25
|
+
"borderAccent": "cyan",
|
|
26
|
+
"borderMuted": "base02",
|
|
27
|
+
"success": "green",
|
|
28
|
+
"error": "red",
|
|
29
|
+
"warning": "yellow",
|
|
30
|
+
"muted": "base01",
|
|
31
|
+
"dim": "base00",
|
|
32
|
+
"text": "",
|
|
33
|
+
"thinkingText": "base01",
|
|
34
|
+
"selectedBg": "base02",
|
|
35
|
+
"userMessageBg": "base02",
|
|
36
|
+
"userMessageText": "",
|
|
37
|
+
"customMessageBg": "base02",
|
|
38
|
+
"customMessageText": "",
|
|
39
|
+
"customMessageLabel": "violet",
|
|
40
|
+
"toolPendingBg": "base03",
|
|
41
|
+
"toolSuccessBg": "base03",
|
|
42
|
+
"toolErrorBg": "base03",
|
|
43
|
+
"toolText": "base0",
|
|
44
|
+
"toolTitle": "",
|
|
45
|
+
"toolOutput": "base01",
|
|
46
|
+
"mdHeading": "yellow",
|
|
47
|
+
"mdLink": "blue",
|
|
48
|
+
"mdLinkUrl": "base01",
|
|
49
|
+
"mdCode": "cyan",
|
|
50
|
+
"mdCodeBlock": "base0",
|
|
51
|
+
"mdCodeBlockBorder": "base01",
|
|
52
|
+
"mdQuote": "base01",
|
|
53
|
+
"mdQuoteBorder": "base01",
|
|
54
|
+
"mdHr": "base01",
|
|
55
|
+
"mdListBullet": "yellow",
|
|
56
|
+
"toolDiffAdded": "green",
|
|
57
|
+
"toolDiffRemoved": "red",
|
|
58
|
+
"toolDiffContext": "base01",
|
|
59
|
+
"link": "blue",
|
|
60
|
+
"syntaxComment": "base01",
|
|
61
|
+
"syntaxKeyword": "green",
|
|
62
|
+
"syntaxFunction": "blue",
|
|
63
|
+
"syntaxVariable": "cyan",
|
|
64
|
+
"syntaxString": "cyan",
|
|
65
|
+
"syntaxNumber": "violet",
|
|
66
|
+
"syntaxType": "yellow",
|
|
67
|
+
"syntaxOperator": "base0",
|
|
68
|
+
"syntaxPunctuation": "base0",
|
|
69
|
+
"thinkingOff": "base02",
|
|
70
|
+
"thinkingMinimal": "base01",
|
|
71
|
+
"thinkingLow": "cyan",
|
|
72
|
+
"thinkingMedium": "blue",
|
|
73
|
+
"thinkingHigh": "violet",
|
|
74
|
+
"thinkingXhigh": "magenta",
|
|
75
|
+
"bashMode": "cyan",
|
|
76
|
+
"statusLineBg": "base03",
|
|
77
|
+
"statusLineSep": "base01",
|
|
78
|
+
"statusLineModel": "magenta",
|
|
79
|
+
"statusLinePath": "cyan",
|
|
80
|
+
"statusLineGitClean": "green",
|
|
81
|
+
"statusLineGitDirty": "yellow",
|
|
82
|
+
"statusLineContext": "violet",
|
|
83
|
+
"statusLineSpend": "cyan",
|
|
84
|
+
"statusLineStaged": "green",
|
|
85
|
+
"statusLineDirty": "yellow",
|
|
86
|
+
"statusLineUntracked": "blue",
|
|
87
|
+
"statusLineOutput": "magenta",
|
|
88
|
+
"statusLineCost": "orange",
|
|
89
|
+
"statusLineSubagents": "blue"
|
|
90
|
+
},
|
|
91
|
+
"export": {
|
|
92
|
+
"pageBg": "base03",
|
|
93
|
+
"cardBg": "base02",
|
|
94
|
+
"infoBg": "base02"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
3
|
+
"name": "dark-sunset",
|
|
4
|
+
"vars": {
|
|
5
|
+
"golden": "#FFC345",
|
|
6
|
+
"amber": "#FF9E4A",
|
|
7
|
+
"coral": "#FF785E",
|
|
8
|
+
"deepPurple": "#614E72",
|
|
9
|
+
"twilightBlue": "#214675",
|
|
10
|
+
"violet": "#7C4BE5",
|
|
11
|
+
"magenta": "#A93EB9",
|
|
12
|
+
"deepViolet": "#45046B",
|
|
13
|
+
"warmOrange": "#FA9C32",
|
|
14
|
+
"emberRed": "#E44C1D",
|
|
15
|
+
"softPink": "#FDBAE7",
|
|
16
|
+
"dimViolet": "#5E508D",
|
|
17
|
+
"darkPurple": "#2a1f35",
|
|
18
|
+
"darkestPurple": "#1a1323",
|
|
19
|
+
"accentGlow": "#FF9E4A",
|
|
20
|
+
"horizonGlow": "#FF6B35",
|
|
21
|
+
"duskGray": "#4a4552",
|
|
22
|
+
"twilightGray": "#352f3d"
|
|
23
|
+
},
|
|
24
|
+
"colors": {
|
|
25
|
+
"accent": "accentGlow",
|
|
26
|
+
"border": "deepPurple",
|
|
27
|
+
"borderAccent": "golden",
|
|
28
|
+
"borderMuted": "twilightGray",
|
|
29
|
+
"success": "#89d281",
|
|
30
|
+
"error": "emberRed",
|
|
31
|
+
"warning": "golden",
|
|
32
|
+
"muted": "duskGray",
|
|
33
|
+
"dim": "dimViolet",
|
|
34
|
+
"text": "",
|
|
35
|
+
"thinkingText": "duskGray",
|
|
36
|
+
|
|
37
|
+
"selectedBg": "#2d2436",
|
|
38
|
+
"userMessageBg": "#251a1f",
|
|
39
|
+
"userMessageText": "",
|
|
40
|
+
"customMessageBg": "darkPurple",
|
|
41
|
+
"customMessageText": "",
|
|
42
|
+
"customMessageLabel": "softPink",
|
|
43
|
+
"toolPendingBg": "#1f1a28",
|
|
44
|
+
"toolSuccessBg": "#1a1620",
|
|
45
|
+
"toolErrorBg": "#2a1a1a",
|
|
46
|
+
"toolText": "",
|
|
47
|
+
"toolTitle": "",
|
|
48
|
+
"toolOutput": "duskGray",
|
|
49
|
+
|
|
50
|
+
"mdHeading": "golden",
|
|
51
|
+
"mdLink": "violet",
|
|
52
|
+
"mdLinkUrl": "dimViolet",
|
|
53
|
+
"mdCode": "softPink",
|
|
54
|
+
"mdCodeBlock": "#FFB89E",
|
|
55
|
+
"mdCodeBlockBorder": "twilightGray",
|
|
56
|
+
"mdQuote": "duskGray",
|
|
57
|
+
"mdQuoteBorder": "twilightGray",
|
|
58
|
+
"mdHr": "twilightGray",
|
|
59
|
+
"mdListBullet": "accentGlow",
|
|
60
|
+
|
|
61
|
+
"toolDiffAdded": "#89d281",
|
|
62
|
+
"toolDiffRemoved": "emberRed",
|
|
63
|
+
"toolDiffContext": "duskGray",
|
|
64
|
+
|
|
65
|
+
"link": "violet",
|
|
66
|
+
|
|
67
|
+
"syntaxComment": "#7a6f85",
|
|
68
|
+
"syntaxKeyword": "violet",
|
|
69
|
+
"syntaxFunction": "golden",
|
|
70
|
+
"syntaxVariable": "coral",
|
|
71
|
+
"syntaxString": "warmOrange",
|
|
72
|
+
"syntaxNumber": "#FFB89E",
|
|
73
|
+
"syntaxType": "magenta",
|
|
74
|
+
"syntaxOperator": "#c9bdd0",
|
|
75
|
+
"syntaxPunctuation": "#b3a8ba",
|
|
76
|
+
|
|
77
|
+
"thinkingOff": "twilightGray",
|
|
78
|
+
"thinkingMinimal": "dimViolet",
|
|
79
|
+
"thinkingLow": "deepPurple",
|
|
80
|
+
"thinkingMedium": "violet",
|
|
81
|
+
"thinkingHigh": "magenta",
|
|
82
|
+
"thinkingXhigh": "softPink",
|
|
83
|
+
|
|
84
|
+
"bashMode": "horizonGlow",
|
|
85
|
+
|
|
86
|
+
"statusLineBg": "#0f0a14",
|
|
87
|
+
"statusLineSep": 237,
|
|
88
|
+
"statusLineModel": "softPink",
|
|
89
|
+
"statusLinePath": "twilightBlue",
|
|
90
|
+
"statusLineGitClean": "#89d281",
|
|
91
|
+
"statusLineGitDirty": "amber",
|
|
92
|
+
"statusLineContext": "dimViolet",
|
|
93
|
+
"statusLineSpend": "coral",
|
|
94
|
+
"statusLineStaged": 70,
|
|
95
|
+
"statusLineDirty": 215,
|
|
96
|
+
"statusLineUntracked": 213,
|
|
97
|
+
"statusLineOutput": 205,
|
|
98
|
+
"statusLineCost": 205,
|
|
99
|
+
"statusLineSubagents": "golden"
|
|
100
|
+
},
|
|
101
|
+
"export": {
|
|
102
|
+
"pageBg": "#120d18",
|
|
103
|
+
"cardBg": "#1c1424",
|
|
104
|
+
"infoBg": "#2d1f28"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
3
|
+
"name": "dark-synthwave",
|
|
4
|
+
"vars": {
|
|
5
|
+
"hotPink": "#ff2975",
|
|
6
|
+
"neonMagenta": "#f222ff",
|
|
7
|
+
"electricPurple": "#8c1eff",
|
|
8
|
+
"cyberPurple": "#8a04ed",
|
|
9
|
+
"darkIndigo": "#240c76",
|
|
10
|
+
"deepPurple": "#5c2c6d",
|
|
11
|
+
"neonCyan": "#00ffff",
|
|
12
|
+
"chrome": "#c0c0c8",
|
|
13
|
+
"chromeDark": "#8b8b95",
|
|
14
|
+
"neonBlue": "#0080ff",
|
|
15
|
+
"neonOrange": "#ff901f",
|
|
16
|
+
"gold": "#ffd319",
|
|
17
|
+
"vaporPink": "#ef9af2",
|
|
18
|
+
"darkBg": "#0c0c0c",
|
|
19
|
+
"darkPurpleBg": "#1a0e2e",
|
|
20
|
+
"deepVioletBg": "#2d1b3d",
|
|
21
|
+
"selectedBg": "#2a1342",
|
|
22
|
+
"userMsgBg": "#1f0c36",
|
|
23
|
+
"toolPendingBg": "#1a0e2e",
|
|
24
|
+
"toolSuccessBg": "#0f1a1f",
|
|
25
|
+
"toolErrorBg": "#2e0a1a",
|
|
26
|
+
"customMsgBg": "#2a1342"
|
|
27
|
+
},
|
|
28
|
+
"colors": {
|
|
29
|
+
"accent": "hotPink",
|
|
30
|
+
"border": "electricPurple",
|
|
31
|
+
"borderAccent": "neonMagenta",
|
|
32
|
+
"borderMuted": "deepPurple",
|
|
33
|
+
"success": "neonCyan",
|
|
34
|
+
"error": "hotPink",
|
|
35
|
+
"warning": "gold",
|
|
36
|
+
"muted": "chromeDark",
|
|
37
|
+
"dim": "deepPurple",
|
|
38
|
+
"text": "",
|
|
39
|
+
"thinkingText": "chromeDark",
|
|
40
|
+
"selectedBg": "selectedBg",
|
|
41
|
+
"userMessageBg": "userMsgBg",
|
|
42
|
+
"userMessageText": "",
|
|
43
|
+
"customMessageBg": "customMsgBg",
|
|
44
|
+
"customMessageText": "",
|
|
45
|
+
"customMessageLabel": "vaporPink",
|
|
46
|
+
"toolPendingBg": "toolPendingBg",
|
|
47
|
+
"toolSuccessBg": "toolSuccessBg",
|
|
48
|
+
"toolErrorBg": "toolErrorBg",
|
|
49
|
+
"toolText": "",
|
|
50
|
+
"toolTitle": "",
|
|
51
|
+
"toolOutput": "chromeDark",
|
|
52
|
+
"mdHeading": "neonMagenta",
|
|
53
|
+
"mdLink": "neonCyan",
|
|
54
|
+
"mdLinkUrl": "deepPurple",
|
|
55
|
+
"mdCode": "vaporPink",
|
|
56
|
+
"mdCodeBlock": "chrome",
|
|
57
|
+
"mdCodeBlockBorder": "electricPurple",
|
|
58
|
+
"mdQuote": "chromeDark",
|
|
59
|
+
"mdQuoteBorder": "deepPurple",
|
|
60
|
+
"mdHr": "electricPurple",
|
|
61
|
+
"mdListBullet": "hotPink",
|
|
62
|
+
"toolDiffAdded": "neonCyan",
|
|
63
|
+
"toolDiffRemoved": "hotPink",
|
|
64
|
+
"toolDiffContext": "chromeDark",
|
|
65
|
+
"link": "neonCyan",
|
|
66
|
+
"syntaxComment": "deepPurple",
|
|
67
|
+
"syntaxKeyword": "neonMagenta",
|
|
68
|
+
"syntaxFunction": "gold",
|
|
69
|
+
"syntaxVariable": "chrome",
|
|
70
|
+
"syntaxString": "neonOrange",
|
|
71
|
+
"syntaxNumber": "vaporPink",
|
|
72
|
+
"syntaxType": "neonCyan",
|
|
73
|
+
"syntaxOperator": "hotPink",
|
|
74
|
+
"syntaxPunctuation": "chrome",
|
|
75
|
+
"thinkingOff": "deepPurple",
|
|
76
|
+
"thinkingMinimal": "chromeDark",
|
|
77
|
+
"thinkingLow": "electricPurple",
|
|
78
|
+
"thinkingMedium": "neonMagenta",
|
|
79
|
+
"thinkingHigh": "hotPink",
|
|
80
|
+
"thinkingXhigh": "neonCyan",
|
|
81
|
+
"bashMode": "neonCyan",
|
|
82
|
+
"statusLineBg": "darkBg",
|
|
83
|
+
"statusLineSep": 240,
|
|
84
|
+
"statusLineModel": "vaporPink",
|
|
85
|
+
"statusLinePath": "neonCyan",
|
|
86
|
+
"statusLineGitClean": "neonCyan",
|
|
87
|
+
"statusLineGitDirty": "neonOrange",
|
|
88
|
+
"statusLineContext": "electricPurple",
|
|
89
|
+
"statusLineSpend": "chrome",
|
|
90
|
+
"statusLineStaged": "neonCyan",
|
|
91
|
+
"statusLineDirty": "neonOrange",
|
|
92
|
+
"statusLineUntracked": "hotPink",
|
|
93
|
+
"statusLineOutput": "neonMagenta",
|
|
94
|
+
"statusLineCost": "vaporPink",
|
|
95
|
+
"statusLineSubagents": "hotPink"
|
|
96
|
+
},
|
|
97
|
+
"export": {
|
|
98
|
+
"pageBg": "#0c0c0c",
|
|
99
|
+
"cardBg": "#1a0e2e",
|
|
100
|
+
"infoBg": "#2a1342"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
3
|
+
"name": "dark-tokyo-night",
|
|
4
|
+
"vars": {
|
|
5
|
+
"bg": "#1a1b26",
|
|
6
|
+
"bgDark": "#16161e",
|
|
7
|
+
"fg": "#a9b1d6",
|
|
8
|
+
"comment": "#51597d",
|
|
9
|
+
"cyan": "#7dcfff",
|
|
10
|
+
"blue": "#7aa2f7",
|
|
11
|
+
"purple": "#bb9af7",
|
|
12
|
+
"magenta": "#bb9af7",
|
|
13
|
+
"green": "#9ece6a",
|
|
14
|
+
"teal": "#73daca",
|
|
15
|
+
"darkTeal": "#2ac3de",
|
|
16
|
+
"orange": "#ff9e64",
|
|
17
|
+
"yellow": "#e0af68",
|
|
18
|
+
"red": "#f7768e",
|
|
19
|
+
"darkRed": "#db4b4b",
|
|
20
|
+
"gray": "#363b54",
|
|
21
|
+
"dimGray": "#51597d",
|
|
22
|
+
"lightBlue": "#c0caf5",
|
|
23
|
+
"cyan2": "#0db9d7",
|
|
24
|
+
"statusBg": "#0f1019",
|
|
25
|
+
"selectedBg": "#2a2f41"
|
|
26
|
+
},
|
|
27
|
+
"colors": {
|
|
28
|
+
"accent": "purple",
|
|
29
|
+
"border": "blue",
|
|
30
|
+
"borderAccent": "cyan",
|
|
31
|
+
"borderMuted": "gray",
|
|
32
|
+
"success": "green",
|
|
33
|
+
"error": "darkRed",
|
|
34
|
+
"warning": "yellow",
|
|
35
|
+
"muted": "comment",
|
|
36
|
+
"dim": "dimGray",
|
|
37
|
+
"text": "",
|
|
38
|
+
"thinkingText": "dimGray",
|
|
39
|
+
|
|
40
|
+
"selectedBg": "selectedBg",
|
|
41
|
+
"userMessageBg": "bgDark",
|
|
42
|
+
"userMessageText": "",
|
|
43
|
+
"customMessageBg": "#221d2e",
|
|
44
|
+
"customMessageText": "",
|
|
45
|
+
"customMessageLabel": "purple",
|
|
46
|
+
"toolPendingBg": "#1a1e2e",
|
|
47
|
+
"toolSuccessBg": "#16191f",
|
|
48
|
+
"toolErrorBg": "#291d1d",
|
|
49
|
+
"toolTitle": "purple",
|
|
50
|
+
"toolOutput": "dimGray",
|
|
51
|
+
|
|
52
|
+
"mdHeading": "purple",
|
|
53
|
+
"mdLink": "cyan",
|
|
54
|
+
"mdLinkUrl": "dimGray",
|
|
55
|
+
"mdCode": "lightBlue",
|
|
56
|
+
"mdCodeBlock": "fg",
|
|
57
|
+
"mdCodeBlockBorder": "gray",
|
|
58
|
+
"mdQuote": "comment",
|
|
59
|
+
"mdQuoteBorder": "gray",
|
|
60
|
+
"mdHr": "gray",
|
|
61
|
+
"mdListBullet": "cyan",
|
|
62
|
+
|
|
63
|
+
"toolDiffAdded": "green",
|
|
64
|
+
"toolDiffRemoved": "red",
|
|
65
|
+
"toolDiffContext": "comment",
|
|
66
|
+
|
|
67
|
+
"link": "cyan",
|
|
68
|
+
|
|
69
|
+
"syntaxComment": "comment",
|
|
70
|
+
"syntaxKeyword": "purple",
|
|
71
|
+
"syntaxFunction": "blue",
|
|
72
|
+
"syntaxVariable": "lightBlue",
|
|
73
|
+
"syntaxString": "green",
|
|
74
|
+
"syntaxNumber": "orange",
|
|
75
|
+
"syntaxType": "cyan2",
|
|
76
|
+
"syntaxOperator": "fg",
|
|
77
|
+
"syntaxPunctuation": "fg",
|
|
78
|
+
|
|
79
|
+
"thinkingOff": "gray",
|
|
80
|
+
"thinkingMinimal": "dimGray",
|
|
81
|
+
"thinkingLow": "blue",
|
|
82
|
+
"thinkingMedium": "cyan",
|
|
83
|
+
"thinkingHigh": "purple",
|
|
84
|
+
"thinkingXhigh": "#c9a0ff",
|
|
85
|
+
|
|
86
|
+
"bashMode": "cyan",
|
|
87
|
+
|
|
88
|
+
"statusLineBg": "statusBg",
|
|
89
|
+
"statusLineSep": 238,
|
|
90
|
+
"statusLineModel": "purple",
|
|
91
|
+
"statusLinePath": "cyan",
|
|
92
|
+
"statusLineGitClean": "green",
|
|
93
|
+
"statusLineGitDirty": "yellow",
|
|
94
|
+
"statusLineContext": "blue",
|
|
95
|
+
"statusLineSpend": "teal",
|
|
96
|
+
"statusLineStaged": 70,
|
|
97
|
+
"statusLineDirty": 178,
|
|
98
|
+
"statusLineUntracked": 39,
|
|
99
|
+
"statusLineOutput": 205,
|
|
100
|
+
"statusLineCost": 205,
|
|
101
|
+
"statusLineSubagents": "orange"
|
|
102
|
+
},
|
|
103
|
+
"export": {
|
|
104
|
+
"pageBg": "#16161e",
|
|
105
|
+
"cardBg": "#1a1b26",
|
|
106
|
+
"infoBg": "#2a2639"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import dark_arctic from "./dark-arctic.json" with { type: "json" };
|
|
2
|
+
import dark_catppuccin from "./dark-catppuccin.json" with { type: "json" };
|
|
3
|
+
import dark_cyberpunk from "./dark-cyberpunk.json" with { type: "json" };
|
|
4
|
+
import dark_dracula from "./dark-dracula.json" with { type: "json" };
|
|
5
|
+
import dark_forest from "./dark-forest.json" with { type: "json" };
|
|
6
|
+
import dark_github from "./dark-github.json" with { type: "json" };
|
|
7
|
+
import dark_gruvbox from "./dark-gruvbox.json" with { type: "json" };
|
|
8
|
+
import dark_monochrome from "./dark-monochrome.json" with { type: "json" };
|
|
9
|
+
import dark_monokai from "./dark-monokai.json" with { type: "json" };
|
|
10
|
+
import dark_nord from "./dark-nord.json" with { type: "json" };
|
|
11
|
+
import dark_ocean from "./dark-ocean.json" with { type: "json" };
|
|
12
|
+
import dark_one from "./dark-one.json" with { type: "json" };
|
|
13
|
+
import dark_retro from "./dark-retro.json" with { type: "json" };
|
|
14
|
+
import dark_rose_pine from "./dark-rose-pine.json" with { type: "json" };
|
|
15
|
+
import dark_solarized from "./dark-solarized.json" with { type: "json" };
|
|
16
|
+
import dark_sunset from "./dark-sunset.json" with { type: "json" };
|
|
17
|
+
import dark_synthwave from "./dark-synthwave.json" with { type: "json" };
|
|
18
|
+
import dark_tokyo_night from "./dark-tokyo-night.json" with { type: "json" };
|
|
19
|
+
import light_arctic from "./light-arctic.json" with { type: "json" };
|
|
20
|
+
import light_catppuccin from "./light-catppuccin.json" with { type: "json" };
|
|
21
|
+
import light_cyberpunk from "./light-cyberpunk.json" with { type: "json" };
|
|
22
|
+
import light_forest from "./light-forest.json" with { type: "json" };
|
|
23
|
+
import light_github from "./light-github.json" with { type: "json" };
|
|
24
|
+
import light_gruvbox from "./light-gruvbox.json" with { type: "json" };
|
|
25
|
+
import light_monochrome from "./light-monochrome.json" with { type: "json" };
|
|
26
|
+
import light_ocean from "./light-ocean.json" with { type: "json" };
|
|
27
|
+
import light_one from "./light-one.json" with { type: "json" };
|
|
28
|
+
import light_retro from "./light-retro.json" with { type: "json" };
|
|
29
|
+
import light_solarized from "./light-solarized.json" with { type: "json" };
|
|
30
|
+
import light_sunset from "./light-sunset.json" with { type: "json" };
|
|
31
|
+
import light_synthwave from "./light-synthwave.json" with { type: "json" };
|
|
32
|
+
import light_tokyo_night from "./light-tokyo-night.json" with { type: "json" };
|
|
33
|
+
|
|
34
|
+
export const defaultThemes = {
|
|
35
|
+
"dark-arctic": dark_arctic,
|
|
36
|
+
"dark-catppuccin": dark_catppuccin,
|
|
37
|
+
"dark-cyberpunk": dark_cyberpunk,
|
|
38
|
+
"dark-dracula": dark_dracula,
|
|
39
|
+
"dark-forest": dark_forest,
|
|
40
|
+
"dark-github": dark_github,
|
|
41
|
+
"dark-gruvbox": dark_gruvbox,
|
|
42
|
+
"dark-monochrome": dark_monochrome,
|
|
43
|
+
"dark-monokai": dark_monokai,
|
|
44
|
+
"dark-nord": dark_nord,
|
|
45
|
+
"dark-ocean": dark_ocean,
|
|
46
|
+
"dark-one": dark_one,
|
|
47
|
+
"dark-retro": dark_retro,
|
|
48
|
+
"dark-rose-pine": dark_rose_pine,
|
|
49
|
+
"dark-solarized": dark_solarized,
|
|
50
|
+
"dark-sunset": dark_sunset,
|
|
51
|
+
"dark-synthwave": dark_synthwave,
|
|
52
|
+
"dark-tokyo-night": dark_tokyo_night,
|
|
53
|
+
"light-arctic": light_arctic,
|
|
54
|
+
"light-catppuccin": light_catppuccin,
|
|
55
|
+
"light-cyberpunk": light_cyberpunk,
|
|
56
|
+
"light-forest": light_forest,
|
|
57
|
+
"light-github": light_github,
|
|
58
|
+
"light-gruvbox": light_gruvbox,
|
|
59
|
+
"light-monochrome": light_monochrome,
|
|
60
|
+
"light-ocean": light_ocean,
|
|
61
|
+
"light-one": light_one,
|
|
62
|
+
"light-retro": light_retro,
|
|
63
|
+
"light-solarized": light_solarized,
|
|
64
|
+
"light-sunset": light_sunset,
|
|
65
|
+
"light-synthwave": light_synthwave,
|
|
66
|
+
"light-tokyo-night": light_tokyo_night,
|
|
67
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
3
|
+
"name": "light-arctic",
|
|
4
|
+
"vars": {
|
|
5
|
+
"snow0": "#FFFFFF",
|
|
6
|
+
"snow1": "#F8F9FA",
|
|
7
|
+
"snow2": "#ECEFF4",
|
|
8
|
+
"snow3": "#E5E9F0",
|
|
9
|
+
"ice0": "#D8DEE9",
|
|
10
|
+
"ice1": "#C2C9D6",
|
|
11
|
+
"ice2": "#B4BCC8",
|
|
12
|
+
"frost0": "#8FBCBB",
|
|
13
|
+
"frost1": "#88C0D0",
|
|
14
|
+
"frost2": "#81A1C1",
|
|
15
|
+
"frost3": "#5E81AC",
|
|
16
|
+
"polar0": "#2E3440",
|
|
17
|
+
"polar1": "#3B4252",
|
|
18
|
+
"polar2": "#434C5E",
|
|
19
|
+
"polar3": "#4C566A",
|
|
20
|
+
"aurora0": "#BF616A",
|
|
21
|
+
"aurora1": "#D08770",
|
|
22
|
+
"aurora2": "#EBCB8B",
|
|
23
|
+
"aurora3": "#A3BE8C",
|
|
24
|
+
"aurora4": "#B48EAD",
|
|
25
|
+
"userMsgBg": "#F0F4F8",
|
|
26
|
+
"toolPendingBg": "#EEF3FA",
|
|
27
|
+
"toolSuccessBg": "#EDF6F0",
|
|
28
|
+
"toolErrorBg": "#FAF0F0",
|
|
29
|
+
"customMsgBg": "#F3EFF8",
|
|
30
|
+
"selectedBg": "#DFE6ED"
|
|
31
|
+
},
|
|
32
|
+
"colors": {
|
|
33
|
+
"accent": "frost0",
|
|
34
|
+
"border": "frost2",
|
|
35
|
+
"borderAccent": "frost1",
|
|
36
|
+
"borderMuted": "ice1",
|
|
37
|
+
"success": "aurora3",
|
|
38
|
+
"error": "aurora0",
|
|
39
|
+
"warning": "aurora2",
|
|
40
|
+
"muted": "polar3",
|
|
41
|
+
"dim": "ice2",
|
|
42
|
+
"text": "",
|
|
43
|
+
"thinkingText": "polar3",
|
|
44
|
+
"selectedBg": "selectedBg",
|
|
45
|
+
"userMessageBg": "userMsgBg",
|
|
46
|
+
"userMessageText": "",
|
|
47
|
+
"customMessageBg": "customMsgBg",
|
|
48
|
+
"customMessageText": "",
|
|
49
|
+
"customMessageLabel": "aurora4",
|
|
50
|
+
"toolPendingBg": "toolPendingBg",
|
|
51
|
+
"toolSuccessBg": "toolSuccessBg",
|
|
52
|
+
"toolErrorBg": "toolErrorBg",
|
|
53
|
+
"toolText": "",
|
|
54
|
+
"toolTitle": "",
|
|
55
|
+
"toolOutput": "polar3",
|
|
56
|
+
"mdHeading": "frost3",
|
|
57
|
+
"mdLink": "frost2",
|
|
58
|
+
"mdLinkUrl": "ice2",
|
|
59
|
+
"mdCode": "frost0",
|
|
60
|
+
"mdCodeBlock": "polar2",
|
|
61
|
+
"mdCodeBlockBorder": "ice1",
|
|
62
|
+
"mdQuote": "polar3",
|
|
63
|
+
"mdQuoteBorder": "ice1",
|
|
64
|
+
"mdHr": "ice1",
|
|
65
|
+
"mdListBullet": "frost1",
|
|
66
|
+
"toolDiffAdded": "aurora3",
|
|
67
|
+
"toolDiffRemoved": "aurora0",
|
|
68
|
+
"toolDiffContext": "polar3",
|
|
69
|
+
"link": "frost2",
|
|
70
|
+
"syntaxComment": "#6C7A89",
|
|
71
|
+
"syntaxKeyword": "#5E81AC",
|
|
72
|
+
"syntaxFunction": "#88C0D0",
|
|
73
|
+
"syntaxVariable": "#434C5E",
|
|
74
|
+
"syntaxString": "#A3BE8C",
|
|
75
|
+
"syntaxNumber": "#B48EAD",
|
|
76
|
+
"syntaxType": "#8FBCBB",
|
|
77
|
+
"syntaxOperator": "#4C566A",
|
|
78
|
+
"syntaxPunctuation": "#4C566A",
|
|
79
|
+
"thinkingOff": "ice1",
|
|
80
|
+
"thinkingMinimal": "ice2",
|
|
81
|
+
"thinkingLow": "frost2",
|
|
82
|
+
"thinkingMedium": "frost1",
|
|
83
|
+
"thinkingHigh": "aurora4",
|
|
84
|
+
"thinkingXhigh": "#7B68A6",
|
|
85
|
+
"bashMode": "aurora3",
|
|
86
|
+
"statusLineBg": "snow2",
|
|
87
|
+
"statusLineSep": "ice1",
|
|
88
|
+
"statusLineModel": "aurora4",
|
|
89
|
+
"statusLinePath": "frost3",
|
|
90
|
+
"statusLineGitClean": "aurora3",
|
|
91
|
+
"statusLineGitDirty": "aurora1",
|
|
92
|
+
"statusLineContext": "frost2",
|
|
93
|
+
"statusLineSpend": "frost0",
|
|
94
|
+
"statusLineStaged": 108,
|
|
95
|
+
"statusLineDirty": 173,
|
|
96
|
+
"statusLineUntracked": 109,
|
|
97
|
+
"statusLineOutput": 139,
|
|
98
|
+
"statusLineCost": 139,
|
|
99
|
+
"statusLineSubagents": "frost1"
|
|
100
|
+
},
|
|
101
|
+
"export": {
|
|
102
|
+
"pageBg": "#FAFBFC",
|
|
103
|
+
"cardBg": "#FFFFFF",
|
|
104
|
+
"infoBg": "#F0F4F8"
|
|
105
|
+
}
|
|
106
|
+
}
|