aether-colony 2.0.0 β 2.0.2
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.
Potentially problematic release.
This version of aether-colony might be problematic. Click here for more details.
- package/README.md +2 -2
- package/package.json +2 -2
- package/runtime/aether-utils.sh +29 -5
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
**A multi-agent system for Claude Code where workers spawn other workers.**
|
|
13
13
|
|
|
14
|
-
*Inspired by [
|
|
14
|
+
*Inspired by [glittercowboy's GSD system](https://github.com/glittercowboy/gsd)*
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/aether-colony)
|
|
17
17
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -219,7 +219,7 @@ aether uninstall && npm uninstall -g aether-colony
|
|
|
219
219
|
|
|
220
220
|
## π Acknowledgments
|
|
221
221
|
|
|
222
|
-
Massive shoutout to **[
|
|
222
|
+
Massive shoutout to **[glittercowboy](https://github.com/glittercowboy)** and the **[GSD (Get Shit Done) system](https://github.com/glittercowboy/gsd)**. GSD showed what Claude Code could become with the right orchestration. Aether takes that inspiration and adds ant colony dynamics β pheromones, castes, and nested spawning.
|
|
223
223
|
|
|
224
224
|
---
|
|
225
225
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aether-colony",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Multi-agent system using ant colony intelligence for Claude Code β workers self-organize via pheromone signals",
|
|
5
5
|
"bin": {
|
|
6
6
|
"aether": "./bin/cli.js"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"license": "MIT",
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
30
|
-
"url": "git+https://github.com/
|
|
30
|
+
"url": "git+https://github.com/calcosmic/Aether.git"
|
|
31
31
|
},
|
|
32
32
|
"engines": {
|
|
33
33
|
"node": ">=16.0.0"
|
package/runtime/aether-utils.sh
CHANGED
|
@@ -33,6 +33,20 @@ json_ok() { printf '{"ok":true,"result":%s}\n' "$1"; }
|
|
|
33
33
|
# Error: JSON to stderr, exit 1
|
|
34
34
|
json_err() { printf '{"ok":false,"error":"%s"}\n' "$1" >&2; exit 1; }
|
|
35
35
|
|
|
36
|
+
# --- Caste emoji helper ---
|
|
37
|
+
get_caste_emoji() {
|
|
38
|
+
case "$1" in
|
|
39
|
+
*Queen*|*QUEEN*|*queen*) echo "π" ;;
|
|
40
|
+
*Builder*|*builder*|*Bolt*|*Hammer*|*Forge*|*Mason*|*Brick*|*Anvil*|*Weld*) echo "π¨" ;;
|
|
41
|
+
*Watcher*|*watcher*|*Vigil*|*Sentinel*|*Guard*|*Keen*|*Sharp*|*Hawk*|*Alert*) echo "ποΈ" ;;
|
|
42
|
+
*Scout*|*scout*|*Swift*|*Dash*|*Ranger*|*Track*|*Seek*|*Path*|*Roam*|*Quest*) echo "π" ;;
|
|
43
|
+
*Colonizer*|*colonizer*|*Pioneer*|*Map*|*Chart*|*Venture*|*Explore*|*Compass*|*Atlas*|*Trek*) echo "πΊοΈ" ;;
|
|
44
|
+
*Architect*|*architect*|*Blueprint*|*Draft*|*Design*|*Plan*|*Schema*|*Frame*|*Sketch*|*Model*) echo "ποΈ" ;;
|
|
45
|
+
*Route*|*route*) echo "π" ;;
|
|
46
|
+
*) echo "π" ;;
|
|
47
|
+
esac
|
|
48
|
+
}
|
|
49
|
+
|
|
36
50
|
# --- Subcommand dispatch ---
|
|
37
51
|
cmd="${1:-help}"
|
|
38
52
|
shift 2>/dev/null || true
|
|
@@ -136,7 +150,8 @@ EOF
|
|
|
136
150
|
log_file="$DATA_DIR/activity.log"
|
|
137
151
|
mkdir -p "$DATA_DIR"
|
|
138
152
|
ts=$(date -u +"%H:%M:%S")
|
|
139
|
-
|
|
153
|
+
emoji=$(get_caste_emoji "$caste")
|
|
154
|
+
echo "[$ts] $emoji $action $caste: $description" >> "$log_file"
|
|
140
155
|
json_ok '"logged"'
|
|
141
156
|
;;
|
|
142
157
|
activity-log-init)
|
|
@@ -157,7 +172,10 @@ EOF
|
|
|
157
172
|
# Append phase header to combined log (NOT truncate)
|
|
158
173
|
ts=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
159
174
|
echo "" >> "$log_file"
|
|
160
|
-
echo "
|
|
175
|
+
echo "π βββββββββββββββββββββββββββββββββββββββββββββββββββ" >> "$log_file"
|
|
176
|
+
echo " P H A S E $phase_num: ${phase_name:-unnamed}" >> "$log_file"
|
|
177
|
+
echo " $ts" >> "$log_file"
|
|
178
|
+
echo "βββββββββββββββββββββββββββββββββββββββββββββββββββ π" >> "$log_file"
|
|
161
179
|
archived_flag="false"
|
|
162
180
|
[ -f "$archive_file" ] && archived_flag="true"
|
|
163
181
|
json_ok "{\"archived\":$archived_flag}"
|
|
@@ -249,8 +267,10 @@ EOF
|
|
|
249
267
|
mkdir -p "$DATA_DIR"
|
|
250
268
|
ts=$(date -u +"%H:%M:%S")
|
|
251
269
|
ts_full=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
252
|
-
|
|
253
|
-
|
|
270
|
+
emoji=$(get_caste_emoji "$child_caste")
|
|
271
|
+
parent_emoji=$(get_caste_emoji "$parent_id")
|
|
272
|
+
# Log to activity log with spawn format and emojis
|
|
273
|
+
echo "[$ts] β‘ SPAWN $parent_emoji $parent_id -> $emoji $child_name ($child_caste): $task_summary" >> "$DATA_DIR/activity.log"
|
|
254
274
|
# Log to spawn tree file for visualization
|
|
255
275
|
echo "$ts_full|$parent_id|$child_caste|$child_name|$task_summary|spawned" >> "$DATA_DIR/spawn-tree.txt"
|
|
256
276
|
json_ok '"logged"'
|
|
@@ -264,7 +284,11 @@ EOF
|
|
|
264
284
|
mkdir -p "$DATA_DIR"
|
|
265
285
|
ts=$(date -u +"%H:%M:%S")
|
|
266
286
|
ts_full=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
267
|
-
|
|
287
|
+
emoji=$(get_caste_emoji "$ant_name")
|
|
288
|
+
status_icon="β
"
|
|
289
|
+
[[ "$status" == "failed" ]] && status_icon="β"
|
|
290
|
+
[[ "$status" == "blocked" ]] && status_icon="π«"
|
|
291
|
+
echo "[$ts] $status_icon $emoji $ant_name: $status${summary:+ - $summary}" >> "$DATA_DIR/activity.log"
|
|
268
292
|
# Update spawn tree
|
|
269
293
|
echo "$ts_full|$ant_name|$status|$summary" >> "$DATA_DIR/spawn-tree.txt"
|
|
270
294
|
json_ok '"logged"'
|