@trenchwork/erosolar 1.1.41 → 1.1.42

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 (72) hide show
  1. package/LICENSE +16 -21
  2. package/README.md +236 -236
  3. package/agents/erosolar-code.rules.json +199 -199
  4. package/dist/bin/erosolar.js +0 -0
  5. package/dist/capabilities/enhancedGitCapability.js +63 -63
  6. package/dist/config.js +12 -12
  7. package/dist/contracts/models.schema.json +9 -9
  8. package/dist/contracts/module-schema.json +367 -367
  9. package/dist/contracts/schemas/agent-profile.schema.json +157 -157
  10. package/dist/contracts/schemas/agent-rules.schema.json +238 -238
  11. package/dist/contracts/schemas/agent-schemas.schema.json +528 -528
  12. package/dist/contracts/schemas/agent.schema.json +90 -90
  13. package/dist/contracts/schemas/tool-selection.schema.json +174 -174
  14. package/dist/contracts/tools.schema.json +42 -42
  15. package/dist/core/constants.js +7 -7
  16. package/dist/core/contextManager.js +16 -16
  17. package/dist/core/hitl.d.ts.map +1 -1
  18. package/dist/core/hitl.js +17 -16
  19. package/dist/core/hitl.js.map +1 -1
  20. package/dist/core/permissionMode.d.ts +40 -0
  21. package/dist/core/permissionMode.d.ts.map +1 -0
  22. package/dist/core/permissionMode.js +86 -0
  23. package/dist/core/permissionMode.js.map +1 -0
  24. package/dist/core/secretStore.js +1 -1
  25. package/dist/core/taskCompletionDetector.js +17 -17
  26. package/dist/core/toolRuntime.d.ts.map +1 -1
  27. package/dist/core/toolRuntime.js +21 -2
  28. package/dist/core/toolRuntime.js.map +1 -1
  29. package/dist/headless/interactiveShell.d.ts +7 -5
  30. package/dist/headless/interactiveShell.d.ts.map +1 -1
  31. package/dist/headless/interactiveShell.js +92 -159
  32. package/dist/headless/interactiveShell.js.map +1 -1
  33. package/dist/leanAgent.js +38 -38
  34. package/dist/runtime/agentSession.js +4 -4
  35. package/dist/shell/commandRegistry.js +6 -6
  36. package/dist/shell/commandRegistry.js.map +1 -1
  37. package/dist/shell/toolPresentation.d.ts +47 -0
  38. package/dist/shell/toolPresentation.d.ts.map +1 -0
  39. package/dist/shell/toolPresentation.js +260 -0
  40. package/dist/shell/toolPresentation.js.map +1 -0
  41. package/dist/shell/vimMode.js +29 -29
  42. package/dist/tools/bashTools.js +2 -2
  43. package/dist/tools/bashTools.js.map +1 -1
  44. package/dist/tools/hitlTools.js +18 -18
  45. package/dist/tools/webTools.d.ts.map +1 -1
  46. package/dist/tools/webTools.js +75 -3
  47. package/dist/tools/webTools.js.map +1 -1
  48. package/dist/ui/ink/App.d.ts +2 -0
  49. package/dist/ui/ink/App.d.ts.map +1 -1
  50. package/dist/ui/ink/App.js +2 -2
  51. package/dist/ui/ink/App.js.map +1 -1
  52. package/dist/ui/ink/ChatStatic.d.ts +6 -5
  53. package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
  54. package/dist/ui/ink/ChatStatic.js +35 -10
  55. package/dist/ui/ink/ChatStatic.js.map +1 -1
  56. package/dist/ui/ink/InkPromptController.d.ts +11 -0
  57. package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
  58. package/dist/ui/ink/InkPromptController.js +50 -11
  59. package/dist/ui/ink/InkPromptController.js.map +1 -1
  60. package/dist/ui/ink/Prompt.d.ts +2 -0
  61. package/dist/ui/ink/Prompt.d.ts.map +1 -1
  62. package/dist/ui/ink/Prompt.js +8 -2
  63. package/dist/ui/ink/Prompt.js.map +1 -1
  64. package/dist/ui/ink/StatusLine.d.ts +16 -8
  65. package/dist/ui/ink/StatusLine.d.ts.map +1 -1
  66. package/dist/ui/ink/StatusLine.js +45 -4
  67. package/dist/ui/ink/StatusLine.js.map +1 -1
  68. package/dist/ui/theme.d.ts.map +1 -1
  69. package/dist/ui/theme.js +4 -6
  70. package/dist/ui/theme.js.map +1 -1
  71. package/package.json +116 -116
  72. package/scripts/postinstall.cjs +57 -57
@@ -1,90 +1,90 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "Agent Contract v1.0",
4
- "description": "JSON Schema for agent interaction contract",
5
- "version": "1.0.0",
6
- "definitions": {
7
- "AgentEvent": {
8
- "type": "object",
9
- "required": ["type", "timestamp"],
10
- "properties": {
11
- "type": {
12
- "enum": [
13
- "message.start",
14
- "message.delta",
15
- "message.complete",
16
- "tool.start",
17
- "tool.complete",
18
- "tool.error",
19
- "edit.explanation",
20
- "error",
21
- "usage"
22
- ]
23
- },
24
- "timestamp": {
25
- "type": "number"
26
- }
27
- }
28
- },
29
- "ModelConfig": {
30
- "type": "object",
31
- "required": ["provider", "model"],
32
- "properties": {
33
- "provider": {
34
- "type": "string"
35
- },
36
- "model": {
37
- "type": "string"
38
- },
39
- "temperature": {
40
- "type": "number",
41
- "minimum": 0,
42
- "maximum": 2
43
- },
44
- "maxTokens": {
45
- "type": "integer",
46
- "minimum": 1
47
- }
48
- }
49
- },
50
- "CapabilityManifest": {
51
- "type": "object",
52
- "required": ["contractVersion", "profile", "model", "tools", "features"],
53
- "properties": {
54
- "contractVersion": {
55
- "type": "string"
56
- },
57
- "profile": {
58
- "type": "string"
59
- },
60
- "model": {
61
- "$ref": "#/definitions/ModelConfig"
62
- },
63
- "tools": {
64
- "type": "array",
65
- "items": {
66
- "type": "object",
67
- "required": ["name", "description", "category"],
68
- "properties": {
69
- "name": {
70
- "type": "string"
71
- },
72
- "description": {
73
- "type": "string"
74
- },
75
- "category": {
76
- "type": "string"
77
- }
78
- }
79
- }
80
- },
81
- "features": {
82
- "type": "array",
83
- "items": {
84
- "type": "string"
85
- }
86
- }
87
- }
88
- }
89
- }
90
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Agent Contract v1.0",
4
+ "description": "JSON Schema for agent interaction contract",
5
+ "version": "1.0.0",
6
+ "definitions": {
7
+ "AgentEvent": {
8
+ "type": "object",
9
+ "required": ["type", "timestamp"],
10
+ "properties": {
11
+ "type": {
12
+ "enum": [
13
+ "message.start",
14
+ "message.delta",
15
+ "message.complete",
16
+ "tool.start",
17
+ "tool.complete",
18
+ "tool.error",
19
+ "edit.explanation",
20
+ "error",
21
+ "usage"
22
+ ]
23
+ },
24
+ "timestamp": {
25
+ "type": "number"
26
+ }
27
+ }
28
+ },
29
+ "ModelConfig": {
30
+ "type": "object",
31
+ "required": ["provider", "model"],
32
+ "properties": {
33
+ "provider": {
34
+ "type": "string"
35
+ },
36
+ "model": {
37
+ "type": "string"
38
+ },
39
+ "temperature": {
40
+ "type": "number",
41
+ "minimum": 0,
42
+ "maximum": 2
43
+ },
44
+ "maxTokens": {
45
+ "type": "integer",
46
+ "minimum": 1
47
+ }
48
+ }
49
+ },
50
+ "CapabilityManifest": {
51
+ "type": "object",
52
+ "required": ["contractVersion", "profile", "model", "tools", "features"],
53
+ "properties": {
54
+ "contractVersion": {
55
+ "type": "string"
56
+ },
57
+ "profile": {
58
+ "type": "string"
59
+ },
60
+ "model": {
61
+ "$ref": "#/definitions/ModelConfig"
62
+ },
63
+ "tools": {
64
+ "type": "array",
65
+ "items": {
66
+ "type": "object",
67
+ "required": ["name", "description", "category"],
68
+ "properties": {
69
+ "name": {
70
+ "type": "string"
71
+ },
72
+ "description": {
73
+ "type": "string"
74
+ },
75
+ "category": {
76
+ "type": "string"
77
+ }
78
+ }
79
+ }
80
+ },
81
+ "features": {
82
+ "type": "array",
83
+ "items": {
84
+ "type": "string"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
@@ -1,174 +1,174 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "Tool Selection Contract v1.0",
4
- "description": "Schema describing toggleable tool suites and presets exposed to an agent runtime.",
5
- "type": "object",
6
- "required": ["contractVersion", "profile", "version", "options"],
7
- "properties": {
8
- "contractVersion": {
9
- "type": "string",
10
- "description": "Version of the tool selection contract implemented by the payload."
11
- },
12
- "profile": {
13
- "type": "string",
14
- "description": "Agent profile identifier that the tool selection applies to."
15
- },
16
- "version": {
17
- "type": "string",
18
- "description": "Semantic or date-based version for the manifest."
19
- },
20
- "label": {
21
- "type": "string",
22
- "description": "Optional human readable label for the manifest."
23
- },
24
- "description": {
25
- "type": "string",
26
- "description": "Optional longer description."
27
- },
28
- "options": {
29
- "type": "array",
30
- "minItems": 1,
31
- "items": {
32
- "$ref": "#/definitions/ToolOption"
33
- },
34
- "description": "Toggleable tool suites."
35
- },
36
- "presets": {
37
- "type": "array",
38
- "description": "Optional named sets of enabled/disabled tools.",
39
- "items": {
40
- "$ref": "#/definitions/ToolPreset"
41
- }
42
- },
43
- "metadata": {
44
- "type": "object",
45
- "description": "Implementation specific metadata."
46
- }
47
- },
48
- "definitions": {
49
- "ToolOption": {
50
- "type": "object",
51
- "required": ["id", "label", "description", "defaultEnabled", "pluginIds"],
52
- "properties": {
53
- "id": {
54
- "type": "string",
55
- "description": "Unique identifier for the tool option."
56
- },
57
- "label": {
58
- "type": "string",
59
- "description": "Human readable name."
60
- },
61
- "description": {
62
- "type": "string",
63
- "description": "Operator facing description."
64
- },
65
- "category": {
66
- "type": "string",
67
- "description": "Optional grouping/category label."
68
- },
69
- "defaultEnabled": {
70
- "type": "boolean",
71
- "description": "Whether the tool is enabled by default."
72
- },
73
- "pluginIds": {
74
- "type": "array",
75
- "minItems": 1,
76
- "description": "IDs of the tool plugins activated by this option.",
77
- "items": {
78
- "type": "string"
79
- },
80
- "uniqueItems": true
81
- },
82
- "requiresSecret": {
83
- "type": "string",
84
- "description": "Identifier of a secret that must be configured before the tool can load."
85
- },
86
- "scopes": {
87
- "type": "array",
88
- "description": "Capabilities unlocked when this option is enabled.",
89
- "items": {
90
- "type": "string",
91
- "enum": [
92
- "filesystem:read",
93
- "filesystem:write",
94
- "process:exec",
95
- "network:web",
96
- "network:api",
97
- "analysis:code",
98
- "analysis:quality",
99
- "analysis:dependency",
100
- "analysis:testing",
101
- "analysis:security",
102
- "planning:refactor",
103
- "external:web-search"
104
- ]
105
- },
106
- "uniqueItems": true
107
- },
108
- "metadata": {
109
- "type": "object",
110
- "description": "Implementation specific metadata."
111
- }
112
- }
113
- },
114
- "ToolPreset": {
115
- "type": "object",
116
- "required": ["id", "label"],
117
- "properties": {
118
- "id": {
119
- "type": "string",
120
- "description": "Unique identifier for the preset."
121
- },
122
- "label": {
123
- "type": "string",
124
- "description": "Human readable name for the preset."
125
- },
126
- "description": {
127
- "type": "string",
128
- "description": "Longer description or guidance."
129
- },
130
- "enabled": {
131
- "type": "array",
132
- "description": "Tool option IDs forced on by the preset.",
133
- "items": {
134
- "type": "string"
135
- },
136
- "uniqueItems": true
137
- },
138
- "disabled": {
139
- "type": "array",
140
- "description": "Tool option IDs forced off by the preset.",
141
- "items": {
142
- "type": "string"
143
- },
144
- "uniqueItems": true
145
- },
146
- "locked": {
147
- "type": "array",
148
- "description": "Tool option IDs that cannot be toggled while the preset is active.",
149
- "items": {
150
- "type": "string"
151
- },
152
- "uniqueItems": true
153
- },
154
- "appliesTo": {
155
- "type": "array",
156
- "description": "Frontends where this preset should be available.",
157
- "items": {
158
- "type": "string",
159
- "enum": ["cli", "browser", "http", "worker", "service"]
160
- },
161
- "uniqueItems": true
162
- },
163
- "notes": {
164
- "type": "string",
165
- "description": "Optional operator note rendered with the preset."
166
- },
167
- "metadata": {
168
- "type": "object",
169
- "description": "Implementation specific metadata."
170
- }
171
- }
172
- }
173
- }
174
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Tool Selection Contract v1.0",
4
+ "description": "Schema describing toggleable tool suites and presets exposed to an agent runtime.",
5
+ "type": "object",
6
+ "required": ["contractVersion", "profile", "version", "options"],
7
+ "properties": {
8
+ "contractVersion": {
9
+ "type": "string",
10
+ "description": "Version of the tool selection contract implemented by the payload."
11
+ },
12
+ "profile": {
13
+ "type": "string",
14
+ "description": "Agent profile identifier that the tool selection applies to."
15
+ },
16
+ "version": {
17
+ "type": "string",
18
+ "description": "Semantic or date-based version for the manifest."
19
+ },
20
+ "label": {
21
+ "type": "string",
22
+ "description": "Optional human readable label for the manifest."
23
+ },
24
+ "description": {
25
+ "type": "string",
26
+ "description": "Optional longer description."
27
+ },
28
+ "options": {
29
+ "type": "array",
30
+ "minItems": 1,
31
+ "items": {
32
+ "$ref": "#/definitions/ToolOption"
33
+ },
34
+ "description": "Toggleable tool suites."
35
+ },
36
+ "presets": {
37
+ "type": "array",
38
+ "description": "Optional named sets of enabled/disabled tools.",
39
+ "items": {
40
+ "$ref": "#/definitions/ToolPreset"
41
+ }
42
+ },
43
+ "metadata": {
44
+ "type": "object",
45
+ "description": "Implementation specific metadata."
46
+ }
47
+ },
48
+ "definitions": {
49
+ "ToolOption": {
50
+ "type": "object",
51
+ "required": ["id", "label", "description", "defaultEnabled", "pluginIds"],
52
+ "properties": {
53
+ "id": {
54
+ "type": "string",
55
+ "description": "Unique identifier for the tool option."
56
+ },
57
+ "label": {
58
+ "type": "string",
59
+ "description": "Human readable name."
60
+ },
61
+ "description": {
62
+ "type": "string",
63
+ "description": "Operator facing description."
64
+ },
65
+ "category": {
66
+ "type": "string",
67
+ "description": "Optional grouping/category label."
68
+ },
69
+ "defaultEnabled": {
70
+ "type": "boolean",
71
+ "description": "Whether the tool is enabled by default."
72
+ },
73
+ "pluginIds": {
74
+ "type": "array",
75
+ "minItems": 1,
76
+ "description": "IDs of the tool plugins activated by this option.",
77
+ "items": {
78
+ "type": "string"
79
+ },
80
+ "uniqueItems": true
81
+ },
82
+ "requiresSecret": {
83
+ "type": "string",
84
+ "description": "Identifier of a secret that must be configured before the tool can load."
85
+ },
86
+ "scopes": {
87
+ "type": "array",
88
+ "description": "Capabilities unlocked when this option is enabled.",
89
+ "items": {
90
+ "type": "string",
91
+ "enum": [
92
+ "filesystem:read",
93
+ "filesystem:write",
94
+ "process:exec",
95
+ "network:web",
96
+ "network:api",
97
+ "analysis:code",
98
+ "analysis:quality",
99
+ "analysis:dependency",
100
+ "analysis:testing",
101
+ "analysis:security",
102
+ "planning:refactor",
103
+ "external:web-search"
104
+ ]
105
+ },
106
+ "uniqueItems": true
107
+ },
108
+ "metadata": {
109
+ "type": "object",
110
+ "description": "Implementation specific metadata."
111
+ }
112
+ }
113
+ },
114
+ "ToolPreset": {
115
+ "type": "object",
116
+ "required": ["id", "label"],
117
+ "properties": {
118
+ "id": {
119
+ "type": "string",
120
+ "description": "Unique identifier for the preset."
121
+ },
122
+ "label": {
123
+ "type": "string",
124
+ "description": "Human readable name for the preset."
125
+ },
126
+ "description": {
127
+ "type": "string",
128
+ "description": "Longer description or guidance."
129
+ },
130
+ "enabled": {
131
+ "type": "array",
132
+ "description": "Tool option IDs forced on by the preset.",
133
+ "items": {
134
+ "type": "string"
135
+ },
136
+ "uniqueItems": true
137
+ },
138
+ "disabled": {
139
+ "type": "array",
140
+ "description": "Tool option IDs forced off by the preset.",
141
+ "items": {
142
+ "type": "string"
143
+ },
144
+ "uniqueItems": true
145
+ },
146
+ "locked": {
147
+ "type": "array",
148
+ "description": "Tool option IDs that cannot be toggled while the preset is active.",
149
+ "items": {
150
+ "type": "string"
151
+ },
152
+ "uniqueItems": true
153
+ },
154
+ "appliesTo": {
155
+ "type": "array",
156
+ "description": "Frontends where this preset should be available.",
157
+ "items": {
158
+ "type": "string",
159
+ "enum": ["cli", "browser", "http", "worker", "service"]
160
+ },
161
+ "uniqueItems": true
162
+ },
163
+ "notes": {
164
+ "type": "string",
165
+ "description": "Optional operator note rendered with the preset."
166
+ },
167
+ "metadata": {
168
+ "type": "object",
169
+ "description": "Implementation specific metadata."
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
@@ -1,42 +1,42 @@
1
- {
2
- "$schema": "./schemas/tool-selection.schema.json",
3
- "contractVersion": "1.0.0",
4
- "profile": "agi-cli",
5
- "version": "2024.12.04",
6
- "label": "AGI CLI unified tool manifest",
7
- "description": "Core toolset with filesystem, editing, search, and execution.",
8
- "options": [
9
- {
10
- "id": "core-tools",
11
- "label": "Core Tools",
12
- "description": "Filesystem, editing, unified search, and execution.",
13
- "defaultEnabled": true,
14
- "category": "core",
15
- "pluginIds": [
16
- "tool.filesystem.local",
17
- "tool.edit",
18
- "tool.search.local",
19
- "tool.bash.local",
20
- "tool.enhanced-git",
21
- "tool.orchestration.unified",
22
- "tool.bidirectional-audit"
23
- ],
24
- "metadata": {
25
- "locked": true
26
- }
27
- },
28
- {
29
- "id": "dependency-management-tools",
30
- "label": "Dependency Management Tools",
31
- "description": "Automatic dependency recovery, npm install on failure, and continuous operation capabilities.",
32
- "defaultEnabled": true,
33
- "category": "operations",
34
- "pluginIds": [
35
- "tool.dependency-management"
36
- ],
37
- "metadata": {
38
- "locked": true
39
- }
40
- }
41
- ]
42
- }
1
+ {
2
+ "$schema": "./schemas/tool-selection.schema.json",
3
+ "contractVersion": "1.0.0",
4
+ "profile": "agi-cli",
5
+ "version": "2024.12.04",
6
+ "label": "AGI CLI unified tool manifest",
7
+ "description": "Core toolset with filesystem, editing, search, and execution.",
8
+ "options": [
9
+ {
10
+ "id": "core-tools",
11
+ "label": "Core Tools",
12
+ "description": "Filesystem, editing, unified search, and execution.",
13
+ "defaultEnabled": true,
14
+ "category": "core",
15
+ "pluginIds": [
16
+ "tool.filesystem.local",
17
+ "tool.edit",
18
+ "tool.search.local",
19
+ "tool.bash.local",
20
+ "tool.enhanced-git",
21
+ "tool.orchestration.unified",
22
+ "tool.bidirectional-audit"
23
+ ],
24
+ "metadata": {
25
+ "locked": true
26
+ }
27
+ },
28
+ {
29
+ "id": "dependency-management-tools",
30
+ "label": "Dependency Management Tools",
31
+ "description": "Automatic dependency recovery, npm install on failure, and continuous operation capabilities.",
32
+ "defaultEnabled": true,
33
+ "category": "operations",
34
+ "pluginIds": [
35
+ "tool.dependency-management"
36
+ ],
37
+ "metadata": {
38
+ "locked": true
39
+ }
40
+ }
41
+ ]
42
+ }
@@ -15,13 +15,13 @@ export const TASK_FULLY_COMPLETE = 'TASK_FULLY_COMPLETE';
15
15
  * - Creating fictional reports, summaries, or deliverables
16
16
  * - Generating random/synthetic data disguised as real results
17
17
  */
18
- export const NO_SIMULATIONS_POLICY = `STRICT NO-SIMULATION POLICY:
19
- - Execute REAL operations only - NO simulations, NO mocks, NO fake data
20
- - Never create fictional reports, summaries, or deliverables
21
- - Never generate "simulated" results or hypothetical outcomes
22
- - If a task cannot be executed for real, report inability clearly
23
- - All outputs must be genuine results from actual execution
24
- - Forbidden words in deliverables: "simulated", "hypothetical", "theoretical", "mock", "fake"
18
+ export const NO_SIMULATIONS_POLICY = `STRICT NO-SIMULATION POLICY:
19
+ - Execute REAL operations only - NO simulations, NO mocks, NO fake data
20
+ - Never create fictional reports, summaries, or deliverables
21
+ - Never generate "simulated" results or hypothetical outcomes
22
+ - If a task cannot be executed for real, report inability clearly
23
+ - All outputs must be genuine results from actual execution
24
+ - Forbidden words in deliverables: "simulated", "hypothetical", "theoretical", "mock", "fake"
25
25
  `;
26
26
  /**
27
27
  * Patterns that indicate simulation/fake content in output