@ethlete/agent-rules 0.1.0-next.21 → 0.1.0-next.23
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 +17 -0
- package/content/hooks/context-warning.py +86 -22
- package/content/hooks/subagent-model-policy.py +2 -1
- package/content/rules/subagent-models.md +6 -0
- package/content/skills/api-source/SKILL.md +39 -13
- package/content/skills/rxjs-signals/SKILL.md +2 -0
- package/content/skills/theming/SKILL.md +10 -5
- package/package.json +1 -1
- package/src/lib/config.js +29 -0
- package/src/lib/config.js.map +1 -1
- package/src/lib/migrate.js +5 -0
- package/src/lib/migrate.js.map +1 -1
- package/src/lib/sync.js +7 -2
- package/src/lib/sync.js.map +1 -1
- package/src/lib/targets/hooks-shared.js +2 -1
- package/src/lib/targets/hooks-shared.js.map +1 -1
- package/src/lib/timetrack.js +2 -2
- package/src/lib/timetrack.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @ethlete/agent-rules
|
|
2
2
|
|
|
3
|
+
## 0.1.0-next.23
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- The `api-source` skill now finds the managed clone in `.ethlete/<name>` when `apiRepoPaths` has no entry, and reads the checkout and the local url from `yarn et api help <name>`.
|
|
8
|
+
- Theming: `provideColorScheme()` now swaps the default accent of the root surface through its `colorThemeVariants`, so the app root needs no `[etProvideSurface]` for it.
|
|
9
|
+
- Theming: add `SurfaceTheme.colorThemeVariants`, which swaps any chosen accent for a version that reads well on the surface, and deprecate `colorTheme` and `semanticColorThemes`.
|
|
10
|
+
|
|
11
|
+
## 0.1.0-next.22
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Fix `sync` deleting hand-written hooks named `ethlete*` and mis-pruning skill folders with a relative `--root`; `migrate` now validates the config first and leaves a symlinked `CLAUDE.md` alone.
|
|
16
|
+
- The context-warning hook now warns a Claude sub-agent from its own transcript and, at the critical tier, makes it commit and hand back its remaining steps instead of growing past the budget.
|
|
17
|
+
- The `rxjs-signals` skill says which operators may follow `takeUntilDestroyed()`.
|
|
18
|
+
- A locked Timetrack asks to be unlocked when an agent calls it and holds the request up to a minute, and a write queued for approval surfaces the app; the `timetrack` CLI waits long enough for both.
|
|
19
|
+
|
|
3
20
|
## 0.1.0-next.21
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -6,7 +6,7 @@ the session transcript, and emits a warning (visible to both the user and the
|
|
|
6
6
|
agent) when it crosses a threshold. Recommends the handoff skill so work can
|
|
7
7
|
continue in a fresh session.
|
|
8
8
|
|
|
9
|
-
Registered on
|
|
9
|
+
Registered on five events, because a warning the agent cannot see while it works
|
|
10
10
|
is not a warning:
|
|
11
11
|
|
|
12
12
|
* SessionStart - states the budget and how to scope work to it, before the
|
|
@@ -20,6 +20,12 @@ is not a warning:
|
|
|
20
20
|
delivered to the model and the conversation continues, so the decision to
|
|
21
21
|
finish or hand off happens without the user having to ask for it.
|
|
22
22
|
|
|
23
|
+
Inside a Claude sub-agent, PostToolBatch fires with `agent_id` set and the parent's
|
|
24
|
+
`transcript_path`, so the sub-agent's own transcript is read instead and it gets the
|
|
25
|
+
same tiers. Its end of turn arrives as SubagentStop, whose block `reason` becomes its
|
|
26
|
+
next instruction: at the critical tier, hand back a report with the exact remaining
|
|
27
|
+
steps, which is the only handoff a sub-agent has.
|
|
28
|
+
|
|
23
29
|
Runs under both Claude Code and Codex, selected by `--agent` on the command
|
|
24
30
|
line rather than sniffed from the payload - the generator writes the flag, so
|
|
25
31
|
the two never have to be told apart at runtime. Codex has only UserPromptSubmit;
|
|
@@ -332,8 +338,11 @@ def tail_lines(path, limit):
|
|
|
332
338
|
return list(reversed(chunk.split(b"\n"))), start == 0
|
|
333
339
|
|
|
334
340
|
|
|
335
|
-
def claude_usage_in(lines):
|
|
336
|
-
"""(usage, model) from the newest
|
|
341
|
+
def claude_usage_in(lines, sidechain=False):
|
|
342
|
+
"""(usage, model) from the newest assistant message of the chain in `lines`, or (None, None).
|
|
343
|
+
|
|
344
|
+
A sub-agent's own transcript marks every entry `isSidechain`, so reading one needs `sidechain`.
|
|
345
|
+
"""
|
|
337
346
|
for line in lines:
|
|
338
347
|
if not line.strip():
|
|
339
348
|
continue
|
|
@@ -341,7 +350,7 @@ def claude_usage_in(lines):
|
|
|
341
350
|
obj = json.loads(line)
|
|
342
351
|
except (json.JSONDecodeError, UnicodeDecodeError):
|
|
343
352
|
continue
|
|
344
|
-
if obj.get("type") != "assistant" or obj.get("isSidechain"):
|
|
353
|
+
if obj.get("type") != "assistant" or bool(obj.get("isSidechain")) != sidechain:
|
|
345
354
|
continue
|
|
346
355
|
message = obj.get("message") or {}
|
|
347
356
|
usage = message.get("usage")
|
|
@@ -350,7 +359,7 @@ def claude_usage_in(lines):
|
|
|
350
359
|
return None, None
|
|
351
360
|
|
|
352
361
|
|
|
353
|
-
def claude_context_state(transcript_path):
|
|
362
|
+
def claude_context_state(transcript_path, sidechain=False):
|
|
354
363
|
"""(tokens, model, window, thread id, is sub-agent) from the main-chain assistant message.
|
|
355
364
|
|
|
356
365
|
tokens is its total input tokens (fresh + cache read + cache creation). Claude reports no
|
|
@@ -361,16 +370,16 @@ def claude_context_state(transcript_path):
|
|
|
361
370
|
limit = TAIL_BYTES
|
|
362
371
|
while True:
|
|
363
372
|
lines, complete = tail_lines(transcript_path, limit)
|
|
364
|
-
usage, model = claude_usage_in(lines)
|
|
373
|
+
usage, model = claude_usage_in(lines, sidechain)
|
|
365
374
|
if usage:
|
|
366
375
|
tokens = (
|
|
367
376
|
usage.get("input_tokens", 0)
|
|
368
377
|
+ usage.get("cache_read_input_tokens", 0)
|
|
369
378
|
+ usage.get("cache_creation_input_tokens", 0)
|
|
370
379
|
)
|
|
371
|
-
return tokens, model, None, None,
|
|
380
|
+
return tokens, model, None, None, sidechain
|
|
372
381
|
if complete or limit >= MAX_TAIL_BYTES:
|
|
373
|
-
return 0, None, None, None,
|
|
382
|
+
return 0, None, None, None, sidechain
|
|
374
383
|
limit *= GROWTH_FACTOR
|
|
375
384
|
|
|
376
385
|
|
|
@@ -482,6 +491,26 @@ def starts_handoff(block):
|
|
|
482
491
|
return isinstance(path, str) and path.endswith(".md") and "handoffs" in path.replace("\\", "/").split("/")
|
|
483
492
|
|
|
484
493
|
|
|
494
|
+
def subagent_transcript(data):
|
|
495
|
+
"""The transcript of the Claude sub-agent a hook fired in, or None when it cannot be found.
|
|
496
|
+
|
|
497
|
+
Inside a sub-agent, `transcript_path` is the parent's. Only SubagentStop carries
|
|
498
|
+
`agent_transcript_path`; every other event is resolved through the layout Claude Code writes,
|
|
499
|
+
`<session>.jsonl` next to `<session>/subagents/agent-<agent_id>.jsonl`.
|
|
500
|
+
"""
|
|
501
|
+
explicit = data.get("agent_transcript_path")
|
|
502
|
+
if explicit and os.path.isfile(explicit):
|
|
503
|
+
return explicit
|
|
504
|
+
parent = data.get("transcript_path")
|
|
505
|
+
agent_id = str(data.get("agent_id") or "")
|
|
506
|
+
if not parent or not agent_id:
|
|
507
|
+
return None
|
|
508
|
+
session = os.path.splitext(os.path.basename(parent))[0]
|
|
509
|
+
name = agent_id if agent_id.startswith("agent-") else f"agent-{agent_id}"
|
|
510
|
+
path = os.path.join(os.path.dirname(parent), session, "subagents", f"{name}.jsonl")
|
|
511
|
+
return path if os.path.isfile(path) else None
|
|
512
|
+
|
|
513
|
+
|
|
485
514
|
def handoff_under_way_in_turn(transcript_path):
|
|
486
515
|
"""True when the current Claude turn requested, invoked or wrote a handoff save."""
|
|
487
516
|
lines, _ = tail_lines(transcript_path, TAIL_BYTES)
|
|
@@ -678,16 +707,25 @@ def reminder(tier, tokens, budget, priced):
|
|
|
678
707
|
)
|
|
679
708
|
|
|
680
709
|
|
|
710
|
+
SUBAGENT_HAND_BACK = (
|
|
711
|
+
"Finish only the atomic edit in flight - start nothing new. Commit what is committable, "
|
|
712
|
+
"then end your run with the hand-back report to the parent agent: what is done (with the "
|
|
713
|
+
"commit), the findings, and the exact remaining steps - files, commands, what 'done' means "
|
|
714
|
+
"- so a fresh sub-agent can carry them out. That report is your handoff; a sub-agent cannot "
|
|
715
|
+
"hand off to a new session."
|
|
716
|
+
)
|
|
717
|
+
|
|
718
|
+
|
|
681
719
|
def subagent_message(tier, tokens, budget, priced):
|
|
682
720
|
k = f"~{tokens // 1000}k"
|
|
683
721
|
pct = round(tokens / budget * 100)
|
|
684
722
|
budget_k = f"{budget // 1000}k"
|
|
685
723
|
next_step = (
|
|
686
|
-
|
|
687
|
-
"completed work, and remaining work, and stop."
|
|
724
|
+
SUBAGENT_HAND_BACK
|
|
688
725
|
if tier >= 2
|
|
689
|
-
else "
|
|
690
|
-
"
|
|
726
|
+
else "Wrap up: keep reads and tool output small, take no detours, and plan to hand back "
|
|
727
|
+
"to the parent agent before 85%. If the task will not fit, finish the current slice and "
|
|
728
|
+
"hand back the rest as exact remaining steps."
|
|
691
729
|
)
|
|
692
730
|
return (
|
|
693
731
|
f"[context-warning hook] This warning applies to a sub-agent thread, not the "
|
|
@@ -697,6 +735,15 @@ def subagent_message(tier, tokens, budget, priced):
|
|
|
697
735
|
)
|
|
698
736
|
|
|
699
737
|
|
|
738
|
+
def subagent_stop_message(tier, tokens, budget, priced):
|
|
739
|
+
return (
|
|
740
|
+
f"[context-warning hook] This sub-agent is at ~{tokens // 1000}k tokens - "
|
|
741
|
+
f"{round(tokens / budget * 100)}% of its {budget // 1000}k {limit_name(priced)}. "
|
|
742
|
+
f"Take on no further task work. {SUBAGENT_HAND_BACK} If your last message already is that "
|
|
743
|
+
f"report, repeat it unchanged and end."
|
|
744
|
+
)
|
|
745
|
+
|
|
746
|
+
|
|
700
747
|
def subagent_reminder(tokens, budget, priced):
|
|
701
748
|
return (
|
|
702
749
|
f"[context-warning hook] Handoff mode is active for this sub-agent thread, not the "
|
|
@@ -766,14 +813,17 @@ def main():
|
|
|
766
813
|
|
|
767
814
|
profile = resolve_profile(profile, handoff_skill(root))
|
|
768
815
|
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
816
|
+
claude_subagent = agent == "claude" and bool(data.get("agent_id"))
|
|
817
|
+
if claude_subagent:
|
|
818
|
+
if event not in ("PostToolBatch", "Stop", "SubagentStop"):
|
|
819
|
+
return
|
|
820
|
+
transcript_path = subagent_transcript(data)
|
|
821
|
+
session_id = f"{data.get('session_id', 'unknown')}-{data.get('agent_id')}"
|
|
822
|
+
else:
|
|
823
|
+
if event == "SubagentStop":
|
|
824
|
+
return
|
|
825
|
+
transcript_path = data.get("transcript_path")
|
|
826
|
+
session_id = data.get("session_id", "unknown")
|
|
777
827
|
auto_mode = data.get("permission_mode") in profile["auto_modes"] and not auto_handoff_save_disabled(local_config)
|
|
778
828
|
has_transcript = bool(transcript_path) and os.path.isfile(transcript_path)
|
|
779
829
|
|
|
@@ -782,7 +832,10 @@ def main():
|
|
|
782
832
|
return
|
|
783
833
|
|
|
784
834
|
if has_transcript:
|
|
785
|
-
|
|
835
|
+
if claude_subagent:
|
|
836
|
+
tokens, model, reported_window, thread_id, is_subagent = claude_context_state(transcript_path, True)
|
|
837
|
+
else:
|
|
838
|
+
tokens, model, reported_window, thread_id, is_subagent = CONTEXT_READERS[agent](transcript_path)
|
|
786
839
|
else:
|
|
787
840
|
tokens, model, reported_window, thread_id, is_subagent = 0, None, None, None, False
|
|
788
841
|
window = reported_window or profile["default_window"] or window_for(model)
|
|
@@ -813,7 +866,18 @@ def main():
|
|
|
813
866
|
write_state(state_file, state)
|
|
814
867
|
if saving:
|
|
815
868
|
return
|
|
816
|
-
elif tier and (
|
|
869
|
+
elif tier and (
|
|
870
|
+
state["saving"] or (agent == "claude" and not is_subagent and handoff_under_way_in_turn(transcript_path))
|
|
871
|
+
):
|
|
872
|
+
return
|
|
873
|
+
|
|
874
|
+
if claude_subagent and event in ("Stop", "SubagentStop"):
|
|
875
|
+
# A sub-agent's end of turn ends its run, so the critical tier blocks it once per tier
|
|
876
|
+
# and the reason becomes its next instruction: hand back, do not start new work.
|
|
877
|
+
if tier < 2 or tier <= state["stop_tier"]:
|
|
878
|
+
return
|
|
879
|
+
write_state(state_file, {**state, "stop_tier": tier})
|
|
880
|
+
print(json.dumps({"decision": "block", "reason": subagent_stop_message(tier, tokens, budget, priced)}))
|
|
817
881
|
return
|
|
818
882
|
|
|
819
883
|
if event == "Stop":
|
|
@@ -51,7 +51,8 @@ sonnet did not finish.
|
|
|
51
51
|
expensive of the four, so choosing it asks the user first.
|
|
52
52
|
|
|
53
53
|
Effort follows the prompt, not a parameter: scope the prompt to one question, name what "done" is, and say \
|
|
54
|
-
"keep it brief" for a lookup.
|
|
54
|
+
"keep it brief" for a lookup. A subagent has the session's context budget on its own transcript and hands back \
|
|
55
|
+
at the critical tier, so size the prompt to one slice that fits; more work means a fresh subagent per slice. An agent type defined under `.claude/agents/` carries its own model and reasoning \
|
|
55
56
|
effort, so a call that names one needs no `model` of its own."""
|
|
56
57
|
|
|
57
58
|
FABLE_REASON = """This subagent would run on fable, the most expensive model. Approve it where the task is \
|
|
@@ -23,6 +23,12 @@ means, and say "keep it brief" for a lookup. Two calls need no `model` of their
|
|
|
23
23
|
agent type carries the model and reasoning effort its own definition sets, and a fork always
|
|
24
24
|
inherits the parent's model.
|
|
25
25
|
|
|
26
|
+
A subagent has the same context budget as the session, measured on its own transcript, and the
|
|
27
|
+
context-warning hook tells it to hand back at the critical tier. Size each prompt to fit: one
|
|
28
|
+
slice of work, the files it needs named, and "keep your context small - no whole big files".
|
|
29
|
+
Work that will not fit goes to several subagents in sequence, a fresh one per slice; a subagent
|
|
30
|
+
that hands back early names its remaining steps, which become the next one's prompt.
|
|
31
|
+
|
|
26
32
|
A subagent does not have to be a Claude one. Delegate to a Codex agent where another model
|
|
27
33
|
family would answer better - a second opinion, a review of your own diff, a bug hunt your own
|
|
28
34
|
reading failed - and whenever the Claude usage limit is close, because a Codex run does not draw
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-source
|
|
3
|
-
description: How to read the source of the API an app in this repo talks to, from a local backend checkout
|
|
3
|
+
description: How to read the source of the API an app in this repo talks to, from a local backend checkout - the one apiRepoPaths names, or the managed clone et api keeps in .ethlete/<name>. Read when a response shape, a status code, an error body, an enum or an auth rule has to be confirmed rather than guessed - and never edit that checkout as part of work in this repo.
|
|
4
4
|
kind: skill
|
|
5
5
|
scope: consumer
|
|
6
6
|
---
|
|
@@ -24,9 +24,34 @@ the checkout is not deployed until the API team ships it.
|
|
|
24
24
|
|
|
25
25
|
## 1. Resolve the checkout for your app
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
`ethlete.config.local.json` at the repo root
|
|
27
|
+
A checkout can come from two places, and `et api` checks them in this order:
|
|
28
|
+
|
|
29
|
+
1. `apiRepoPaths[<name>]` in the gitignored `ethlete.config.local.json` at the repo root.
|
|
30
|
+
2. The managed clone `.ethlete/<name>` in the repo root, which `et api clone` creates.
|
|
31
|
+
|
|
32
|
+
A missing `apiRepoPaths` entry is therefore not a missing checkout. Look for the managed clone
|
|
33
|
+
before you report anything.
|
|
34
|
+
|
|
35
|
+
### With `ethlete.apis.js`
|
|
36
|
+
|
|
37
|
+
When the repo root has `ethlete.apis.js` (or `ethlete.apis.cjs`), it declares each API by name.
|
|
38
|
+
Find the API your app calls in that file, then let the CLI resolve it:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
yarn et api help <name> # url, services, and the checkout path and state
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The `Checkout` section names the directory to search, or the problem that stops it. The `url`
|
|
45
|
+
line is where the local API runs. Use this output, not a memory note, an old handoff or a sibling
|
|
46
|
+
folder that looks right: the configuration on disk can have changed since they were written.
|
|
47
|
+
|
|
48
|
+
If the CLI reports no checkout and the API declares a `repoUrl`, the fix is
|
|
49
|
+
`yarn et api clone <name>`. Ask the user before you run it. It uses the network and writes a
|
|
50
|
+
clone into the repo.
|
|
51
|
+
|
|
52
|
+
### Without `ethlete.apis.js`
|
|
53
|
+
|
|
54
|
+
The paths are a map in `ethlete.config.local.json`:
|
|
30
55
|
|
|
31
56
|
```json
|
|
32
57
|
{
|
|
@@ -44,16 +69,17 @@ app to checkout. They are per machine, so the map lives in the gitignored
|
|
|
44
69
|
Older checkouts still keep these keys in `ethlete-agents.config.local.json`. Read that file as a
|
|
45
70
|
fallback when `ethlete.config.local.json` is absent.
|
|
46
71
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- **The key is the app** as this repo names it - the workspace project name, which is
|
|
50
|
-
normally also the folder under `apps/`. Match the app you are working in.
|
|
72
|
+
- **The key is the API name** from `ethlete.apis.js`. Without that file, it is the app as this
|
|
73
|
+
repo names it - the workspace project name, normally also the folder under `apps/`.
|
|
51
74
|
- **A relative path resolves from the repo root**, not from the app folder.
|
|
52
|
-
- **Require an exact
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
- **Require an exact key.** If several apps intentionally share one API, configure the explicit
|
|
76
|
+
`"*"` fallback. Never treat an unrelated single entry as a fallback.
|
|
77
|
+
|
|
78
|
+
### No checkout anywhere - stop and ask
|
|
79
|
+
|
|
80
|
+
Do not guess a sibling folder, and do not clone without approval. Say which app you needed
|
|
81
|
+
the API for, and offer the `apiRepoPaths` snippet above. The file is gitignored, so adding it
|
|
82
|
+
changes nothing for anyone else.
|
|
57
83
|
|
|
58
84
|
Without a checkout, fall back to what the running API tells you: the generated API
|
|
59
85
|
description if the project serves one (`/openapi.json`, `/swagger`, `/api/doc`), and the
|
|
@@ -42,6 +42,8 @@ const data = toSignal(obs$);
|
|
|
42
42
|
intended semantics.
|
|
43
43
|
- **`takeUntilDestroyed()` goes last in its pipe** (`ethlete/take-until-destroyed-last`), so
|
|
44
44
|
higher-order operators such as `switchMap` and their inner subscriptions are covered.
|
|
45
|
+
Completion-only operators (`finalize`, `defaultIfEmpty`, `toArray`, …) may follow it, and
|
|
46
|
+
chained `.pipe(...).pipe(...)` calls count as one pipe.
|
|
45
47
|
Other limiting and finalization operators do not have a universal “last” position;
|
|
46
48
|
place them where their semantics belong.
|
|
47
49
|
- **Side effects go in `tap()`**, never in the `subscribe()` callback - keep
|
|
@@ -90,11 +90,16 @@ the interactive element itself, never on a wrapper.
|
|
|
90
90
|
(`[etProvideColor]="errorColorTheme()"`) or force it programmatically
|
|
91
91
|
(`provideColor.forceColor(theme)` / `clearForcedColor()`). Inside that scope,
|
|
92
92
|
`--et-theme-color-primary-*` _is_ the error color.
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
`
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
- **A surface swaps a chosen accent; it never picks one.** The chosen accent is the
|
|
94
|
+
nearest `[etProvideColor]`, else the `isDefault` theme, or for
|
|
95
|
+
`injectSemanticColorTheme(type)` the theme of that `type`. The nearest surface's
|
|
96
|
+
`SurfaceTheme.colorThemeVariants` (e.g. `{ brand: 'brand-on-light', success: 'success-on-light' }`,
|
|
97
|
+
variants registered without a `type`) swaps it; an accent without an entry stays the
|
|
98
|
+
same on every surface. With no surface above, the root surface swaps, and
|
|
99
|
+
`provideColorScheme()` paints its swap of the default accent on `<html>`. A neutral that follows the surface is `color="surface"`
|
|
100
|
+
(`interactionColor`), not a variant. `colorTheme` and `semanticColorThemes` are
|
|
101
|
+
deprecated. Never add per-surface logic to a color theme or new CSS vars for it.
|
|
102
|
+
`injectErrorTheme()`, `injectWarningTheme()` and `injectSuccessTheme()` are
|
|
98
103
|
deprecated: they ignore the surface.
|
|
99
104
|
|
|
100
105
|
## Pitfalls
|
package/package.json
CHANGED
package/src/lib/config.js
CHANGED
|
@@ -41,6 +41,34 @@ const parseJson = (text) => {
|
|
|
41
41
|
return { error: error instanceof Error ? error.message : String(error) };
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
+
const assertConfigShapes = (value) => {
|
|
45
|
+
const arrays = ['exclude', 'hooks', 'gitHooks'];
|
|
46
|
+
const objects = ['vars', 'gitFlow', 'jira'];
|
|
47
|
+
for (const key of arrays) {
|
|
48
|
+
const entry = value[key];
|
|
49
|
+
if (entry !== undefined && (!Array.isArray(entry) || entry.some((item) => typeof item !== 'string'))) {
|
|
50
|
+
throw new Error(`${exports.CONFIG_FILE_NAME}: "${key}" must be an array of strings.`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const targets = value['targets'];
|
|
54
|
+
if (targets !== undefined &&
|
|
55
|
+
targets !== 'auto' &&
|
|
56
|
+
(!Array.isArray(targets) || targets.some((t) => typeof t !== 'string'))) {
|
|
57
|
+
throw new Error(`${exports.CONFIG_FILE_NAME}: "targets" must be "auto" or an array of strings.`);
|
|
58
|
+
}
|
|
59
|
+
for (const key of objects) {
|
|
60
|
+
const entry = value[key];
|
|
61
|
+
if (entry !== undefined && (typeof entry !== 'object' || entry === null || Array.isArray(entry))) {
|
|
62
|
+
throw new Error(`${exports.CONFIG_FILE_NAME}: "${key}" must be an object.`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (value['profile'] !== undefined && value['profile'] !== 'consumer' && value['profile'] !== 'sdk') {
|
|
66
|
+
throw new Error(`${exports.CONFIG_FILE_NAME}: "profile" must be "consumer" or "sdk".`);
|
|
67
|
+
}
|
|
68
|
+
if (value['claudeMdImportsAgentsMd'] !== undefined && typeof value['claudeMdImportsAgentsMd'] !== 'boolean') {
|
|
69
|
+
throw new Error(`${exports.CONFIG_FILE_NAME}: "claudeMdImportsAgentsMd" must be a boolean.`);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
44
72
|
const readRawConfig = (root) => {
|
|
45
73
|
const path = (0, path_1.join)(root, exports.CONFIG_FILE_NAME);
|
|
46
74
|
if (!(0, fs_1.existsSync)(path))
|
|
@@ -52,6 +80,7 @@ const readRawConfig = (root) => {
|
|
|
52
80
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
53
81
|
throw new Error(`${exports.CONFIG_FILE_NAME}: expected a JSON object.`);
|
|
54
82
|
}
|
|
83
|
+
assertConfigShapes(value);
|
|
55
84
|
return value;
|
|
56
85
|
};
|
|
57
86
|
const unknownConfigKeyWarnings = (raw) => {
|
package/src/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/src/lib/migrate.js
CHANGED
|
@@ -31,6 +31,10 @@ const migrateClaudeMd = (options) => {
|
|
|
31
31
|
(0, fs_1.writeFileSync)(claudePath, `@${AGENTS_MD}\n`, 'utf8');
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
|
+
if ((0, fs_1.lstatSync)(claudePath).isSymbolicLink()) {
|
|
35
|
+
log(`skip ${CLAUDE_MD} — a symlink, left untouched`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
34
38
|
const claudeContent = withoutMarkedBlock((0, fs_1.readFileSync)(claudePath, 'utf8')).trim();
|
|
35
39
|
const agentsContent = (0, fs_1.existsSync)(agentsPath) ? (0, fs_1.readFileSync)(agentsPath, 'utf8').trim() : '';
|
|
36
40
|
const merged = [claudeContent, agentsContent].filter((part) => part.length > 0).join('\n\n');
|
|
@@ -138,6 +142,7 @@ const migrateConfig = (options) => {
|
|
|
138
142
|
const migrate = (options) => {
|
|
139
143
|
const { root, dryRun = false } = options;
|
|
140
144
|
console.log(dryRun ? 'Migration plan (dry run):' : 'Migrating to the AGENTS.md + .agents/skills layout:');
|
|
145
|
+
(0, config_1.loadConfig)({ root });
|
|
141
146
|
migrateClaudeMd({ root, dryRun });
|
|
142
147
|
migrateSkills({ root, dryRun });
|
|
143
148
|
addLayoutNote({ root, dryRun });
|
package/src/lib/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/migrate.ts"],"names":[],"mappings":";;;AAAA,2BASY;AACZ,+BAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/migrate.ts"],"names":[],"mappings":"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"}
|
package/src/lib/sync.js
CHANGED
|
@@ -25,8 +25,13 @@ const diffPlan = (options) => {
|
|
|
25
25
|
};
|
|
26
26
|
/** Removing the last generated file from a skill folder must not leave the folder behind. */
|
|
27
27
|
const pruneEmptyDirs = (options) => {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const root = (0, path_1.resolve)(options.root);
|
|
29
|
+
let current = (0, path_1.resolve)((0, path_1.dirname)(options.from));
|
|
30
|
+
const isInsideRoot = (path) => {
|
|
31
|
+
const rel = (0, path_1.relative)(root, path);
|
|
32
|
+
return rel !== '' && !rel.startsWith('..') && !(0, path_1.isAbsolute)(rel);
|
|
33
|
+
};
|
|
34
|
+
while (isInsideRoot(current)) {
|
|
30
35
|
if (!(0, fs_1.existsSync)(current) || (0, fs_1.readdirSync)(current).length > 0)
|
|
31
36
|
return;
|
|
32
37
|
(0, fs_1.rmdirSync)(current);
|
package/src/lib/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/sync.ts"],"names":[],"mappings":";;;AAAA,2BAAwG;AACxG,+
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ exports.KNOWN_HOOKS = {
|
|
|
19
19
|
// reaches a long autonomous run before the user sends a message.
|
|
20
20
|
{ event: 'PostToolBatch', agents: ['claude'] },
|
|
21
21
|
{ event: 'Stop', agents: ['claude'] },
|
|
22
|
+
{ event: 'SubagentStop', agents: ['claude'] },
|
|
22
23
|
],
|
|
23
24
|
file: 'context-warning.py',
|
|
24
25
|
timeout: 10,
|
|
@@ -72,7 +73,7 @@ const mergeHookSettings = (options) => {
|
|
|
72
73
|
const kept = groups
|
|
73
74
|
.map((group) => {
|
|
74
75
|
var _a;
|
|
75
|
-
return (Object.assign(Object.assign({}, group), { hooks: ((_a = group.hooks) !== null && _a !== void 0 ? _a : []).filter((hook) => { var _a; return !((_a = hook.command) !== null && _a !== void 0 ? _a : '').includes(hooksDir); }) }));
|
|
76
|
+
return (Object.assign(Object.assign({}, group), { hooks: ((_a = group.hooks) !== null && _a !== void 0 ? _a : []).filter((hook) => { var _a; return !((_a = hook.command) !== null && _a !== void 0 ? _a : '').includes(`${hooksDir}/`); }) }));
|
|
76
77
|
})
|
|
77
78
|
.filter((group) => group.hooks.length > 0);
|
|
78
79
|
if (kept.length > 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/hooks-shared.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,+BAA4B;AAC5B,kDAAqD;AACrD,sCAAyC;AAmBzC;;;GAGG;AACU,QAAA,WAAW,GAAmC;IACzD,iBAAiB,EAAE;QACjB,MAAM,EAAE;YACN,EAAE,KAAK,EAAE,kBAAkB,EAAE;YAC7B,4EAA4E;YAC5E,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC7C,mFAAmF;YACnF,iEAAiE;YACjE,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"hooks-shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/hooks-shared.ts"],"names":[],"mappings":"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"}
|
package/src/lib/timetrack.js
CHANGED
|
@@ -14,8 +14,8 @@ const DISCOVERY_FILENAME = 'agent.json';
|
|
|
14
14
|
* mismatch stops here rather than at a field that is missing for a reason nobody can see.
|
|
15
15
|
*/
|
|
16
16
|
const PROTOCOL_VERSION = 3;
|
|
17
|
-
/**
|
|
18
|
-
const TIMEOUT_MS =
|
|
17
|
+
/** Covers the app's own deadlines: up to 60 seconds for the user to unlock it, then 60 to answer. */
|
|
18
|
+
const TIMEOUT_MS = 130000;
|
|
19
19
|
const PATH = '/agent';
|
|
20
20
|
const PROOF_PATH = '/agent/proof';
|
|
21
21
|
const NOT_RUNNING = [
|
package/src/lib/timetrack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timetrack.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack.ts"],"names":[],"mappings":";;;;AAAA,mCAAkE;AAClE,2BAA8C;AAC9C,2BAAuC;AACvC,+BAA4B;AAE5B,2FAA2F;AAC3F,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,
|
|
1
|
+
{"version":3,"file":"timetrack.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack.ts"],"names":[],"mappings":"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"}
|