@hoilab/ada-cli 0.85.1 → 0.85.4
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/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +33 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/helper-path.mjs +34 -0
- package/dist/core/export-html/template.css +1150 -0
- package/dist/core/export-html/template.html +57 -0
- package/dist/core/export-html/template.js +1948 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +78 -0
- package/dist/core/prompts/sistema.md +134 -0
- package/dist/core/proveedores-registry/index.d.ts +1 -1
- package/dist/core/proveedores-registry/index.d.ts.map +1 -1
- package/dist/core/proveedores-registry/index.js +1 -1
- package/dist/core/proveedores-registry/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +48 -7
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +29 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +90 -0
- package/dist/modes/interactive/theme/light.json +89 -0
- package/dist/modes/interactive/theme/theme-schema.json +352 -0
- package/dist/skills/ada-engine/SKILL.md +153 -0
- package/dist/skills/skill-creator/SKILL.md +90 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "dark",
|
|
4
|
+
"vars": {
|
|
5
|
+
"cyan": "#00d7ff",
|
|
6
|
+
"blue": "#5f87ff",
|
|
7
|
+
"green": "#b5bd68",
|
|
8
|
+
"red": "#cc6666",
|
|
9
|
+
"yellow": "#ffff00",
|
|
10
|
+
"text": "#d4d4d4",
|
|
11
|
+
"gray": "#808080",
|
|
12
|
+
"dimGray": "#666666",
|
|
13
|
+
"darkGray": "#505050",
|
|
14
|
+
"accent": "#8abeb7",
|
|
15
|
+
"selectedBg": "#3a3a4a",
|
|
16
|
+
"userMsgBg": "#343541",
|
|
17
|
+
"toolPendingBg": "#282832",
|
|
18
|
+
"toolSuccessBg": "#283228",
|
|
19
|
+
"toolErrorBg": "#3c2828",
|
|
20
|
+
"customMsgBg": "#2d2838"
|
|
21
|
+
},
|
|
22
|
+
"colors": {
|
|
23
|
+
"accent": "accent",
|
|
24
|
+
"border": "blue",
|
|
25
|
+
"borderAccent": "cyan",
|
|
26
|
+
"borderMuted": "darkGray",
|
|
27
|
+
"success": "green",
|
|
28
|
+
"error": "red",
|
|
29
|
+
"warning": "yellow",
|
|
30
|
+
"muted": "gray",
|
|
31
|
+
"dim": "dimGray",
|
|
32
|
+
"text": "text",
|
|
33
|
+
"thinkingText": "gray",
|
|
34
|
+
|
|
35
|
+
"selectedBg": "selectedBg",
|
|
36
|
+
"scrollbarThumb": "selectedBg",
|
|
37
|
+
"searchMatchBg": "selectedBg",
|
|
38
|
+
"searchMatchText": "text",
|
|
39
|
+
"userMessageBg": "userMsgBg",
|
|
40
|
+
"userMessageText": "text",
|
|
41
|
+
"customMessageBg": "customMsgBg",
|
|
42
|
+
"customMessageText": "text",
|
|
43
|
+
"customMessageLabel": "#9575cd",
|
|
44
|
+
"toolPendingBg": "toolPendingBg",
|
|
45
|
+
"toolSuccessBg": "toolSuccessBg",
|
|
46
|
+
"toolErrorBg": "toolErrorBg",
|
|
47
|
+
"toolTitle": "text",
|
|
48
|
+
"toolOutput": "gray",
|
|
49
|
+
|
|
50
|
+
"mdHeading": "#f0c674",
|
|
51
|
+
"mdLink": "#81a2be",
|
|
52
|
+
"mdLinkUrl": "dimGray",
|
|
53
|
+
"mdCode": "accent",
|
|
54
|
+
"mdCodeBlock": "green",
|
|
55
|
+
"mdCodeBlockBorder": "gray",
|
|
56
|
+
"mdQuote": "gray",
|
|
57
|
+
"mdQuoteBorder": "gray",
|
|
58
|
+
"mdHr": "gray",
|
|
59
|
+
"mdListBullet": "accent",
|
|
60
|
+
|
|
61
|
+
"toolDiffAdded": "green",
|
|
62
|
+
"toolDiffRemoved": "red",
|
|
63
|
+
"toolDiffContext": "gray",
|
|
64
|
+
|
|
65
|
+
"syntaxComment": "#6A9955",
|
|
66
|
+
"syntaxKeyword": "#569CD6",
|
|
67
|
+
"syntaxFunction": "#DCDCAA",
|
|
68
|
+
"syntaxVariable": "#9CDCFE",
|
|
69
|
+
"syntaxString": "#CE9178",
|
|
70
|
+
"syntaxNumber": "#B5CEA8",
|
|
71
|
+
"syntaxType": "#4EC9B0",
|
|
72
|
+
"syntaxOperator": "#D4D4D4",
|
|
73
|
+
"syntaxPunctuation": "#D4D4D4",
|
|
74
|
+
|
|
75
|
+
"thinkingOff": "darkGray",
|
|
76
|
+
"thinkingMinimal": "#6e6e6e",
|
|
77
|
+
"thinkingLow": "#5f87af",
|
|
78
|
+
"thinkingMedium": "#81a2be",
|
|
79
|
+
"thinkingHigh": "#b294bb",
|
|
80
|
+
"thinkingXhigh": "#d183e8",
|
|
81
|
+
"thinkingMax": "#ff5fff",
|
|
82
|
+
|
|
83
|
+
"bashMode": "green"
|
|
84
|
+
},
|
|
85
|
+
"export": {
|
|
86
|
+
"pageBg": "#18181e",
|
|
87
|
+
"cardBg": "#1e1e24",
|
|
88
|
+
"infoBg": "#3c3728"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "light",
|
|
4
|
+
"vars": {
|
|
5
|
+
"teal": "#5a8080",
|
|
6
|
+
"blue": "#547da7",
|
|
7
|
+
"green": "#588458",
|
|
8
|
+
"red": "#aa5555",
|
|
9
|
+
"yellow": "#9a7326",
|
|
10
|
+
"text": "#1f2328",
|
|
11
|
+
"mediumGray": "#6c6c6c",
|
|
12
|
+
"dimGray": "#767676",
|
|
13
|
+
"lightGray": "#b0b0b0",
|
|
14
|
+
"selectedBg": "#d0d0e0",
|
|
15
|
+
"userMsgBg": "#e8e8e8",
|
|
16
|
+
"toolPendingBg": "#e8e8f0",
|
|
17
|
+
"toolSuccessBg": "#e8f0e8",
|
|
18
|
+
"toolErrorBg": "#f0e8e8",
|
|
19
|
+
"customMsgBg": "#ede7f6"
|
|
20
|
+
},
|
|
21
|
+
"colors": {
|
|
22
|
+
"accent": "teal",
|
|
23
|
+
"border": "blue",
|
|
24
|
+
"borderAccent": "teal",
|
|
25
|
+
"borderMuted": "lightGray",
|
|
26
|
+
"success": "green",
|
|
27
|
+
"error": "red",
|
|
28
|
+
"warning": "yellow",
|
|
29
|
+
"muted": "mediumGray",
|
|
30
|
+
"dim": "dimGray",
|
|
31
|
+
"text": "text",
|
|
32
|
+
"thinkingText": "mediumGray",
|
|
33
|
+
|
|
34
|
+
"selectedBg": "selectedBg",
|
|
35
|
+
"scrollbarThumb": "selectedBg",
|
|
36
|
+
"searchMatchBg": "selectedBg",
|
|
37
|
+
"searchMatchText": "text",
|
|
38
|
+
"userMessageBg": "userMsgBg",
|
|
39
|
+
"userMessageText": "text",
|
|
40
|
+
"customMessageBg": "customMsgBg",
|
|
41
|
+
"customMessageText": "text",
|
|
42
|
+
"customMessageLabel": "#7e57c2",
|
|
43
|
+
"toolPendingBg": "toolPendingBg",
|
|
44
|
+
"toolSuccessBg": "toolSuccessBg",
|
|
45
|
+
"toolErrorBg": "toolErrorBg",
|
|
46
|
+
"toolTitle": "text",
|
|
47
|
+
"toolOutput": "mediumGray",
|
|
48
|
+
|
|
49
|
+
"mdHeading": "yellow",
|
|
50
|
+
"mdLink": "blue",
|
|
51
|
+
"mdLinkUrl": "dimGray",
|
|
52
|
+
"mdCode": "teal",
|
|
53
|
+
"mdCodeBlock": "green",
|
|
54
|
+
"mdCodeBlockBorder": "mediumGray",
|
|
55
|
+
"mdQuote": "mediumGray",
|
|
56
|
+
"mdQuoteBorder": "mediumGray",
|
|
57
|
+
"mdHr": "mediumGray",
|
|
58
|
+
"mdListBullet": "green",
|
|
59
|
+
|
|
60
|
+
"toolDiffAdded": "green",
|
|
61
|
+
"toolDiffRemoved": "red",
|
|
62
|
+
"toolDiffContext": "mediumGray",
|
|
63
|
+
|
|
64
|
+
"syntaxComment": "#008000",
|
|
65
|
+
"syntaxKeyword": "#0000FF",
|
|
66
|
+
"syntaxFunction": "#795E26",
|
|
67
|
+
"syntaxVariable": "#001080",
|
|
68
|
+
"syntaxString": "#A31515",
|
|
69
|
+
"syntaxNumber": "#098658",
|
|
70
|
+
"syntaxType": "#267F99",
|
|
71
|
+
"syntaxOperator": "#000000",
|
|
72
|
+
"syntaxPunctuation": "#000000",
|
|
73
|
+
|
|
74
|
+
"thinkingOff": "lightGray",
|
|
75
|
+
"thinkingMinimal": "#767676",
|
|
76
|
+
"thinkingLow": "blue",
|
|
77
|
+
"thinkingMedium": "teal",
|
|
78
|
+
"thinkingHigh": "#875f87",
|
|
79
|
+
"thinkingXhigh": "#8b008b",
|
|
80
|
+
"thinkingMax": "#af005f",
|
|
81
|
+
|
|
82
|
+
"bashMode": "green"
|
|
83
|
+
},
|
|
84
|
+
"export": {
|
|
85
|
+
"pageBg": "#f8f8f8",
|
|
86
|
+
"cardBg": "#ffffff",
|
|
87
|
+
"infoBg": "#fffae6"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Pi Coding Agent Theme",
|
|
4
|
+
"description": "Theme schema for Pi coding agent",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["name", "colors"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "JSON schema reference"
|
|
11
|
+
},
|
|
12
|
+
"name": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"pattern": "^[^/]+$",
|
|
15
|
+
"description": "Theme name. Must not contain '/' because it is reserved for automatic light/dark theme settings."
|
|
16
|
+
},
|
|
17
|
+
"vars": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"description": "Reusable color variables",
|
|
20
|
+
"additionalProperties": {
|
|
21
|
+
"oneOf": [
|
|
22
|
+
{
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Hex color (#RRGGBB), variable reference, or empty string for terminal default"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "integer",
|
|
28
|
+
"minimum": 0,
|
|
29
|
+
"maximum": 255,
|
|
30
|
+
"description": "256-color palette index (0-255)"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"colors": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"description": "Theme color definitions (thinkingMax, scrollbarThumb, and search highlight colors are optional and use compatible fallbacks)",
|
|
38
|
+
"required": [
|
|
39
|
+
"accent",
|
|
40
|
+
"border",
|
|
41
|
+
"borderAccent",
|
|
42
|
+
"borderMuted",
|
|
43
|
+
"success",
|
|
44
|
+
"error",
|
|
45
|
+
"warning",
|
|
46
|
+
"muted",
|
|
47
|
+
"dim",
|
|
48
|
+
"text",
|
|
49
|
+
"thinkingText",
|
|
50
|
+
"selectedBg",
|
|
51
|
+
"userMessageBg",
|
|
52
|
+
"userMessageText",
|
|
53
|
+
"customMessageBg",
|
|
54
|
+
"customMessageText",
|
|
55
|
+
"customMessageLabel",
|
|
56
|
+
"toolPendingBg",
|
|
57
|
+
"toolSuccessBg",
|
|
58
|
+
"toolErrorBg",
|
|
59
|
+
"toolTitle",
|
|
60
|
+
"toolOutput",
|
|
61
|
+
"mdHeading",
|
|
62
|
+
"mdLink",
|
|
63
|
+
"mdLinkUrl",
|
|
64
|
+
"mdCode",
|
|
65
|
+
"mdCodeBlock",
|
|
66
|
+
"mdCodeBlockBorder",
|
|
67
|
+
"mdQuote",
|
|
68
|
+
"mdQuoteBorder",
|
|
69
|
+
"mdHr",
|
|
70
|
+
"mdListBullet",
|
|
71
|
+
"toolDiffAdded",
|
|
72
|
+
"toolDiffRemoved",
|
|
73
|
+
"toolDiffContext",
|
|
74
|
+
"syntaxComment",
|
|
75
|
+
"syntaxKeyword",
|
|
76
|
+
"syntaxFunction",
|
|
77
|
+
"syntaxVariable",
|
|
78
|
+
"syntaxString",
|
|
79
|
+
"syntaxNumber",
|
|
80
|
+
"syntaxType",
|
|
81
|
+
"syntaxOperator",
|
|
82
|
+
"syntaxPunctuation",
|
|
83
|
+
"thinkingOff",
|
|
84
|
+
"thinkingMinimal",
|
|
85
|
+
"thinkingLow",
|
|
86
|
+
"thinkingMedium",
|
|
87
|
+
"thinkingHigh",
|
|
88
|
+
"thinkingXhigh",
|
|
89
|
+
"bashMode"
|
|
90
|
+
],
|
|
91
|
+
"properties": {
|
|
92
|
+
"accent": {
|
|
93
|
+
"$ref": "#/$defs/colorValue",
|
|
94
|
+
"description": "Primary accent color (logo, selected items, cursor)"
|
|
95
|
+
},
|
|
96
|
+
"border": {
|
|
97
|
+
"$ref": "#/$defs/colorValue",
|
|
98
|
+
"description": "Normal borders"
|
|
99
|
+
},
|
|
100
|
+
"borderAccent": {
|
|
101
|
+
"$ref": "#/$defs/colorValue",
|
|
102
|
+
"description": "Highlighted borders"
|
|
103
|
+
},
|
|
104
|
+
"borderMuted": {
|
|
105
|
+
"$ref": "#/$defs/colorValue",
|
|
106
|
+
"description": "Subtle borders"
|
|
107
|
+
},
|
|
108
|
+
"success": {
|
|
109
|
+
"$ref": "#/$defs/colorValue",
|
|
110
|
+
"description": "Success states"
|
|
111
|
+
},
|
|
112
|
+
"error": {
|
|
113
|
+
"$ref": "#/$defs/colorValue",
|
|
114
|
+
"description": "Error states"
|
|
115
|
+
},
|
|
116
|
+
"warning": {
|
|
117
|
+
"$ref": "#/$defs/colorValue",
|
|
118
|
+
"description": "Warning states"
|
|
119
|
+
},
|
|
120
|
+
"muted": {
|
|
121
|
+
"$ref": "#/$defs/colorValue",
|
|
122
|
+
"description": "Secondary/dimmed text"
|
|
123
|
+
},
|
|
124
|
+
"dim": {
|
|
125
|
+
"$ref": "#/$defs/colorValue",
|
|
126
|
+
"description": "Very dimmed text (more subtle than muted)"
|
|
127
|
+
},
|
|
128
|
+
"text": {
|
|
129
|
+
"$ref": "#/$defs/colorValue",
|
|
130
|
+
"description": "Default text color (usually empty string)"
|
|
131
|
+
},
|
|
132
|
+
"thinkingText": {
|
|
133
|
+
"$ref": "#/$defs/colorValue",
|
|
134
|
+
"description": "Thinking block text color"
|
|
135
|
+
},
|
|
136
|
+
"selectedBg": {
|
|
137
|
+
"$ref": "#/$defs/colorValue",
|
|
138
|
+
"description": "Selected item background"
|
|
139
|
+
},
|
|
140
|
+
"scrollbarThumb": {
|
|
141
|
+
"$ref": "#/$defs/colorValue",
|
|
142
|
+
"description": "Fullscreen scrollbar thumb background (falls back to selectedBg when omitted)"
|
|
143
|
+
},
|
|
144
|
+
"searchMatchBg": {
|
|
145
|
+
"$ref": "#/$defs/colorValue",
|
|
146
|
+
"description": "Transcript search match background and current-match text (falls back to selectedBg when omitted)"
|
|
147
|
+
},
|
|
148
|
+
"searchMatchText": {
|
|
149
|
+
"$ref": "#/$defs/colorValue",
|
|
150
|
+
"description": "Transcript search match text and current-match background (falls back to text when omitted)"
|
|
151
|
+
},
|
|
152
|
+
"userMessageBg": {
|
|
153
|
+
"$ref": "#/$defs/colorValue",
|
|
154
|
+
"description": "User message background"
|
|
155
|
+
},
|
|
156
|
+
"userMessageText": {
|
|
157
|
+
"$ref": "#/$defs/colorValue",
|
|
158
|
+
"description": "User message text color"
|
|
159
|
+
},
|
|
160
|
+
"customMessageBg": {
|
|
161
|
+
"$ref": "#/$defs/colorValue",
|
|
162
|
+
"description": "Custom message background (hook-injected messages)"
|
|
163
|
+
},
|
|
164
|
+
"customMessageText": {
|
|
165
|
+
"$ref": "#/$defs/colorValue",
|
|
166
|
+
"description": "Custom message text color"
|
|
167
|
+
},
|
|
168
|
+
"customMessageLabel": {
|
|
169
|
+
"$ref": "#/$defs/colorValue",
|
|
170
|
+
"description": "Custom message type label color"
|
|
171
|
+
},
|
|
172
|
+
"toolPendingBg": {
|
|
173
|
+
"$ref": "#/$defs/colorValue",
|
|
174
|
+
"description": "Tool execution box (pending state)"
|
|
175
|
+
},
|
|
176
|
+
"toolSuccessBg": {
|
|
177
|
+
"$ref": "#/$defs/colorValue",
|
|
178
|
+
"description": "Tool execution box (success state)"
|
|
179
|
+
},
|
|
180
|
+
"toolErrorBg": {
|
|
181
|
+
"$ref": "#/$defs/colorValue",
|
|
182
|
+
"description": "Tool execution box (error state)"
|
|
183
|
+
},
|
|
184
|
+
"toolTitle": {
|
|
185
|
+
"$ref": "#/$defs/colorValue",
|
|
186
|
+
"description": "Tool execution box title color"
|
|
187
|
+
},
|
|
188
|
+
"toolOutput": {
|
|
189
|
+
"$ref": "#/$defs/colorValue",
|
|
190
|
+
"description": "Tool execution box output text color"
|
|
191
|
+
},
|
|
192
|
+
"mdHeading": {
|
|
193
|
+
"$ref": "#/$defs/colorValue",
|
|
194
|
+
"description": "Markdown heading text"
|
|
195
|
+
},
|
|
196
|
+
"mdLink": {
|
|
197
|
+
"$ref": "#/$defs/colorValue",
|
|
198
|
+
"description": "Markdown link text"
|
|
199
|
+
},
|
|
200
|
+
"mdLinkUrl": {
|
|
201
|
+
"$ref": "#/$defs/colorValue",
|
|
202
|
+
"description": "Markdown link URL"
|
|
203
|
+
},
|
|
204
|
+
"mdCode": {
|
|
205
|
+
"$ref": "#/$defs/colorValue",
|
|
206
|
+
"description": "Markdown inline code"
|
|
207
|
+
},
|
|
208
|
+
"mdCodeBlock": {
|
|
209
|
+
"$ref": "#/$defs/colorValue",
|
|
210
|
+
"description": "Markdown code block content"
|
|
211
|
+
},
|
|
212
|
+
"mdCodeBlockBorder": {
|
|
213
|
+
"$ref": "#/$defs/colorValue",
|
|
214
|
+
"description": "Markdown code block fences"
|
|
215
|
+
},
|
|
216
|
+
"mdQuote": {
|
|
217
|
+
"$ref": "#/$defs/colorValue",
|
|
218
|
+
"description": "Markdown blockquote text"
|
|
219
|
+
},
|
|
220
|
+
"mdQuoteBorder": {
|
|
221
|
+
"$ref": "#/$defs/colorValue",
|
|
222
|
+
"description": "Markdown blockquote border"
|
|
223
|
+
},
|
|
224
|
+
"mdHr": {
|
|
225
|
+
"$ref": "#/$defs/colorValue",
|
|
226
|
+
"description": "Markdown horizontal rule"
|
|
227
|
+
},
|
|
228
|
+
"mdListBullet": {
|
|
229
|
+
"$ref": "#/$defs/colorValue",
|
|
230
|
+
"description": "Markdown list bullets/numbers"
|
|
231
|
+
},
|
|
232
|
+
"toolDiffAdded": {
|
|
233
|
+
"$ref": "#/$defs/colorValue",
|
|
234
|
+
"description": "Added lines in tool diffs"
|
|
235
|
+
},
|
|
236
|
+
"toolDiffRemoved": {
|
|
237
|
+
"$ref": "#/$defs/colorValue",
|
|
238
|
+
"description": "Removed lines in tool diffs"
|
|
239
|
+
},
|
|
240
|
+
"toolDiffContext": {
|
|
241
|
+
"$ref": "#/$defs/colorValue",
|
|
242
|
+
"description": "Context lines in tool diffs"
|
|
243
|
+
},
|
|
244
|
+
"syntaxComment": {
|
|
245
|
+
"$ref": "#/$defs/colorValue",
|
|
246
|
+
"description": "Syntax highlighting: comments"
|
|
247
|
+
},
|
|
248
|
+
"syntaxKeyword": {
|
|
249
|
+
"$ref": "#/$defs/colorValue",
|
|
250
|
+
"description": "Syntax highlighting: keywords"
|
|
251
|
+
},
|
|
252
|
+
"syntaxFunction": {
|
|
253
|
+
"$ref": "#/$defs/colorValue",
|
|
254
|
+
"description": "Syntax highlighting: function names"
|
|
255
|
+
},
|
|
256
|
+
"syntaxVariable": {
|
|
257
|
+
"$ref": "#/$defs/colorValue",
|
|
258
|
+
"description": "Syntax highlighting: variable names"
|
|
259
|
+
},
|
|
260
|
+
"syntaxString": {
|
|
261
|
+
"$ref": "#/$defs/colorValue",
|
|
262
|
+
"description": "Syntax highlighting: string literals"
|
|
263
|
+
},
|
|
264
|
+
"syntaxNumber": {
|
|
265
|
+
"$ref": "#/$defs/colorValue",
|
|
266
|
+
"description": "Syntax highlighting: number literals"
|
|
267
|
+
},
|
|
268
|
+
"syntaxType": {
|
|
269
|
+
"$ref": "#/$defs/colorValue",
|
|
270
|
+
"description": "Syntax highlighting: type names"
|
|
271
|
+
},
|
|
272
|
+
"syntaxOperator": {
|
|
273
|
+
"$ref": "#/$defs/colorValue",
|
|
274
|
+
"description": "Syntax highlighting: operators"
|
|
275
|
+
},
|
|
276
|
+
"syntaxPunctuation": {
|
|
277
|
+
"$ref": "#/$defs/colorValue",
|
|
278
|
+
"description": "Syntax highlighting: punctuation"
|
|
279
|
+
},
|
|
280
|
+
"thinkingOff": {
|
|
281
|
+
"$ref": "#/$defs/colorValue",
|
|
282
|
+
"description": "Thinking level border: off"
|
|
283
|
+
},
|
|
284
|
+
"thinkingMinimal": {
|
|
285
|
+
"$ref": "#/$defs/colorValue",
|
|
286
|
+
"description": "Thinking level border: minimal"
|
|
287
|
+
},
|
|
288
|
+
"thinkingLow": {
|
|
289
|
+
"$ref": "#/$defs/colorValue",
|
|
290
|
+
"description": "Thinking level border: low"
|
|
291
|
+
},
|
|
292
|
+
"thinkingMedium": {
|
|
293
|
+
"$ref": "#/$defs/colorValue",
|
|
294
|
+
"description": "Thinking level border: medium"
|
|
295
|
+
},
|
|
296
|
+
"thinkingHigh": {
|
|
297
|
+
"$ref": "#/$defs/colorValue",
|
|
298
|
+
"description": "Thinking level border: high"
|
|
299
|
+
},
|
|
300
|
+
"thinkingXhigh": {
|
|
301
|
+
"$ref": "#/$defs/colorValue",
|
|
302
|
+
"description": "Thinking level border: xhigh"
|
|
303
|
+
},
|
|
304
|
+
"thinkingMax": {
|
|
305
|
+
"$ref": "#/$defs/colorValue",
|
|
306
|
+
"description": "Thinking level border: max (falls back to thinkingXhigh when omitted)"
|
|
307
|
+
},
|
|
308
|
+
"bashMode": {
|
|
309
|
+
"$ref": "#/$defs/colorValue",
|
|
310
|
+
"description": "Editor border color in bash mode"
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
"additionalProperties": false
|
|
314
|
+
},
|
|
315
|
+
"export": {
|
|
316
|
+
"type": "object",
|
|
317
|
+
"description": "Optional colors for HTML export (defaults derived from userMessageBg if not specified)",
|
|
318
|
+
"properties": {
|
|
319
|
+
"pageBg": {
|
|
320
|
+
"$ref": "#/$defs/colorValue",
|
|
321
|
+
"description": "Page background color"
|
|
322
|
+
},
|
|
323
|
+
"cardBg": {
|
|
324
|
+
"$ref": "#/$defs/colorValue",
|
|
325
|
+
"description": "Card/container background color"
|
|
326
|
+
},
|
|
327
|
+
"infoBg": {
|
|
328
|
+
"$ref": "#/$defs/colorValue",
|
|
329
|
+
"description": "Info sections background (system prompt, notices)"
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"additionalProperties": false
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"additionalProperties": false,
|
|
336
|
+
"$defs": {
|
|
337
|
+
"colorValue": {
|
|
338
|
+
"oneOf": [
|
|
339
|
+
{
|
|
340
|
+
"type": "string",
|
|
341
|
+
"description": "Hex color (#RRGGBB), variable reference, or empty string for terminal default"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"type": "integer",
|
|
345
|
+
"minimum": 0,
|
|
346
|
+
"maximum": 255,
|
|
347
|
+
"description": "256-color palette index (0-255)"
|
|
348
|
+
}
|
|
349
|
+
]
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ada-engine
|
|
3
|
+
description: >
|
|
4
|
+
Orquestación autónoma: goal engine (objetivo de largo plazo con fases TDD y
|
|
5
|
+
juez con evidencia), workflows (deep-research, code-review, product-build,
|
|
6
|
+
codebase-audit, multi-perspective, scripts custom), grafo de trabajo
|
|
7
|
+
AUTÓNOMO. Cárgala SIEMPRE que el usuario pida: un objetivo grande o "goal",
|
|
8
|
+
investigación web profunda, revisión de código sistemática, construir un
|
|
9
|
+
producto con criterios, auditoría del repo, o análisis desde N perspectivas.
|
|
10
|
+
Si la tarea es una sola pasada (un fix, un script, responder algo), NO la
|
|
11
|
+
cargues — usa las tools normales.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Ada Intelligence Engine — Opera SIN pensar
|
|
15
|
+
|
|
16
|
+
Regla #1: **DECIDE tú, sin preguntar.** Si el usuario describe un objetivo,
|
|
17
|
+
tú eliges goal, workflow o tools normales según el árbol de abajo, y ejecutas
|
|
18
|
+
el procedimiento completo. Nunca respondas "¿quieres que lo haga con goal o
|
|
19
|
+
workflow?" — ya lo decides tú.
|
|
20
|
+
|
|
21
|
+
## Árbol de decisión (evalúa el pedido del usuario, elige el primero que aplique)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
¿El usuario pide un OBJETIVO de largo plazo, iterativo, con criterios de éxito?
|
|
25
|
+
(ej: "arregla el login y verifícalo", "construye X", "mejora Y hasta que...")
|
|
26
|
+
→ GOAL ENGINE. Ve a la Sección A.
|
|
27
|
+
|
|
28
|
+
¿El usuario pide INVESTIGACIÓN / REVISIÓN / AUDITORÍA / ANÁLISIS MULTI-ÁNGULO?
|
|
29
|
+
(ej: "investiga Z", "revisa este código", "audita el repo", "compara A y B")
|
|
30
|
+
→ WORKFLOW. Ve a la Sección B.
|
|
31
|
+
|
|
32
|
+
¿El usuario pide UNA TAREA CONCRETA de una pasada?
|
|
33
|
+
(ej: "crea un script", "corrige este bug", "explica X", "escribe un test")
|
|
34
|
+
→ TOOLS NORMALES. No hagas nada especial del engine.
|
|
35
|
+
|
|
36
|
+
¿El usuario menciona "goal"/"workflow" EXPLÍCITAMENTE aunque la tarea parezca
|
|
37
|
+
simple? → Respeta su elección y ve a la sección correspondiente.
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Sección A — GOAL (objetivo de largo plazo)
|
|
41
|
+
|
|
42
|
+
### Procedimiento exacto (en este orden, sin saltarte pasos)
|
|
43
|
+
|
|
44
|
+
1. **Crea el contrato** con la tool `goal_new`:
|
|
45
|
+
- `goal`: el objetivo verbatim del usuario.
|
|
46
|
+
- `doneCriteria`: 2-5 criterios **medibles y observables** (nunca vagos).
|
|
47
|
+
Si el usuario no los dio, **inventalos tú** a partir de su pedido.
|
|
48
|
+
- `verifyCommand`: comando de verificación si aplica (si no, "").
|
|
49
|
+
2. **El goal queda en estado `setup`** — NO empieces a trabajar todavía.
|
|
50
|
+
3. **Responde al usuario EXACTAMENTE con este formato** (corto, una línea):
|
|
51
|
+
```
|
|
52
|
+
🎯 Goal creado: <id>
|
|
53
|
+
Criterios: <c1> · <c2> …
|
|
54
|
+
Apruebalo con: /goal approve <id>
|
|
55
|
+
```
|
|
56
|
+
O si el usuario puede aprobar desde el panel: "Pulsa Approve en el panel Engine".
|
|
57
|
+
4. **Cuando el goal esté aprobado** (estado `active`), el engine lanza un
|
|
58
|
+
**workflow dinámico por sub-tarea** (uno a la vez). El goal es el
|
|
59
|
+
CONTENEDOR — los pasos viven en los workflows. Tu trabajo:
|
|
60
|
+
- Si el plan (sub-tareas) está vacío: **divídelo tú** con la tool `todo`/
|
|
61
|
+
planificación — cada sub-tarea es UN paso concreto y verificable.
|
|
62
|
+
- El engine lanza el workflow de cada sub-tarea automáticamente; NO lo
|
|
63
|
+
lances tú a mano.
|
|
64
|
+
- Escribe código, corre tests, edita archivos. **El grafo se registra
|
|
65
|
+
SOLO** — no hagas nada para el grafo.
|
|
66
|
+
5. **Cuando todas las sub-tareas estén done**, el juez evalúa los criterios.
|
|
67
|
+
Solo si emite `done`, el goal se completa. Nunca completes sin evidencia
|
|
68
|
+
real (archivo:línea, URL o salida de comando).
|
|
69
|
+
|
|
70
|
+
### Cómo responder durante el goal (sin sobre-explicar)
|
|
71
|
+
|
|
72
|
+
- Al completar una sub-tarea: `✓ <sub-tarea> — <1 línea de qué se hizo>`
|
|
73
|
+
- Si algo bloquea: usa `goal_blocked` con el motivo y dile al usuario qué
|
|
74
|
+
necesitas.
|
|
75
|
+
- Si una decisión necesita al usuario: `ask_user_question` (no adivines
|
|
76
|
+
criterios irreversibles como borrar datos o gastar dinero).
|
|
77
|
+
|
|
78
|
+
## Sección B — WORKFLOW (investigación/revisión/auditoría)
|
|
79
|
+
|
|
80
|
+
### Elegir el workflow (sin preguntar, según el pedido)
|
|
81
|
+
|
|
82
|
+
| El usuario pide… | Lanzas… |
|
|
83
|
+
|---|---|
|
|
84
|
+
| Investigar algo con fuentes | `workflow run deep_research question="..."` |
|
|
85
|
+
| Revisar código | `workflow run code_review` |
|
|
86
|
+
| Construir un producto con criterios | `workflow run product_build brief="..."` |
|
|
87
|
+
| Auditar el repo | `workflow run codebase_audit` |
|
|
88
|
+
| Analizar desde N perspectivas | `workflow run multi_perspective problem="..."` |
|
|
89
|
+
| Un flujo custom tuyo/guardado | `workflow run <nombre_script>` |
|
|
90
|
+
|
|
91
|
+
### Procedimiento exacto
|
|
92
|
+
|
|
93
|
+
1. Llama la tool `workflow` con `command: "run"` y el `name` + args.
|
|
94
|
+
2. **La confirmación de coste es automática** (fail-closed 15s). No la
|
|
95
|
+
simules — el sistema la maneja. Si se confirma, el run arranca.
|
|
96
|
+
3. **Responde al usuario EXACTAMENTE**:
|
|
97
|
+
```
|
|
98
|
+
⚡ Workflow lanzado: <name> (<runId>)
|
|
99
|
+
Fases: <f1> → <f2> → …
|
|
100
|
+
Sigue el progreso en el panel Engine o con /workflow status <runId>
|
|
101
|
+
```
|
|
102
|
+
4. Durante el run no bloquees esperando — el run es en background. Si el
|
|
103
|
+
usuario pregunta, usa `workflow status <runId>` y reporta fase actual,
|
|
104
|
+
agentes, tokens y coste.
|
|
105
|
+
|
|
106
|
+
## Sección C — TOOLS NORMALES (una pasada)
|
|
107
|
+
|
|
108
|
+
No cargues nada del engine. Haz la tarea con las tools normales
|
|
109
|
+
(write/edit/bash/read). El grafo se registra solo si escribes archivos — no
|
|
110
|
+
hagas nada especial. Responde normal.
|
|
111
|
+
|
|
112
|
+
## Comportamiento global (aplica siempre)
|
|
113
|
+
|
|
114
|
+
1. **Decide y ejecuta** — nunca preguntes "¿goal o workflow?".
|
|
115
|
+
2. **Responde corto**: una línea de estado + el siguiente paso que el usuario
|
|
116
|
+
debe dar (si lo hay). No expliques el engine.
|
|
117
|
+
3. **No registres el grafo manualmente** — es automático (escribir archivo →
|
|
118
|
+
ARTIFACT + implemented_by; test que pasa → verified_by; goal → spine).
|
|
119
|
+
4. **Solo usa `graph_add_nodes`** cuando estés haciendo una auditoría y
|
|
120
|
+
quieras marcar `QA_FINDING`/`RISK`/`DECISION` concretos con su contexto.
|
|
121
|
+
5. **Respeta los frenos**: si el bucle del goal se repite (3 turnos iguales),
|
|
122
|
+
pausa con `goal_blocked`/`goal_wait` y pide claridad. No fuerces.
|
|
123
|
+
6. **Evidencia antes de done**: nunca declares un goal completado sin
|
|
124
|
+
`archivo:línea`/URL/comando que lo pruebe.
|
|
125
|
+
|
|
126
|
+
## Referencia rápida (no la repitas al usuario)
|
|
127
|
+
|
|
128
|
+
- **Modelo**: el goal es un CONTENEDOR; cada sub-tarea lanza un workflow
|
|
129
|
+
dinámico (goal_subtask). Cuando todas las sub-tareas done → juez → done.
|
|
130
|
+
- **Tools del goal**: `goal_new` (crear contrato), `goal_complete` (cerrar con
|
|
131
|
+
evidencia), `goal_blocked`, `goal_wait`, `todo` (ver/crear sub-tareas),
|
|
132
|
+
`ask_user_question`.
|
|
133
|
+
- **Tool `workflow`**: run/list/status/abort. Args: question=, brief=, problem=,
|
|
134
|
+
verifyCommand=, k=v custom.
|
|
135
|
+
- **Scripts custom**: `~/.ada/agent/workflows/<nombre>.js` — se lanzan con
|
|
136
|
+
`workflow run <nombre>`. Cualquier JS con la API agent/parallel/pipeline/
|
|
137
|
+
phase/store/checkpoint/args/cwd/runId/log.
|
|
138
|
+
- **Modelo**: los subagentes HEREDAN el modelo de la sesión principal por
|
|
139
|
+
defecto (misma auth → misma API key del chat). Los tiers cheap/main/judge
|
|
140
|
+
configuran overrides.
|
|
141
|
+
- **Grafo**: autónomo (GraphSync). Consultas: `/graph gaps|context|search|gate`.
|
|
142
|
+
- **Modelos**: tiers cheap/main/judge configurables; jueces intermedios baratos.
|
|
143
|
+
|
|
144
|
+
## Prohibido
|
|
145
|
+
|
|
146
|
+
- ✗ Responder "¿goal o workflow?" — decide tú.
|
|
147
|
+
- ✗ Completar un goal sin evidencia citada.
|
|
148
|
+
- ✗ Registrar el grafo manualmente (FILE/TASK) — automático.
|
|
149
|
+
- ✗ Lanzar un workflow sin confirmación de coste (el sistema la pide; no la
|
|
150
|
+
eludas inventando resultados).
|
|
151
|
+
- ✗ Crear goals o workflows desde un subagente — solo la sesión principal.
|
|
152
|
+
- ✗ Inventar fuentes en deep_research — cada claim necesita ≥2 fuentes reales.
|
|
153
|
+
- ✗ Consenso falso en multi_perspective — señala desacuerdos.
|