@ethlete/agent-rules 0.1.0-next.20 → 0.1.0-next.22
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 +15 -0
- package/content/hooks/context-warning.py +86 -22
- package/content/hooks/subagent-model-policy.py +15 -8
- package/content/rules/subagent-models.md +13 -7
- package/content/skills/rxjs-signals/SKILL.md +2 -0
- 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,20 @@
|
|
|
1
1
|
# @ethlete/agent-rules
|
|
2
2
|
|
|
3
|
+
## 0.1.0-next.22
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 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.
|
|
8
|
+
- 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.
|
|
9
|
+
- The `rxjs-signals` skill says which operators may follow `takeUntilDestroyed()`.
|
|
10
|
+
- 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.
|
|
11
|
+
|
|
12
|
+
## 0.1.0-next.21
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- The subagent model rule now gives haiku small, fully specified jobs as well as lookups. The model hook also finds an agent definition whose file name is capitalized, for example an `Explore.md` that overrides the built-in agent.
|
|
17
|
+
|
|
3
18
|
## 0.1.0-next.20
|
|
4
19
|
|
|
5
20
|
### Minor 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":
|
|
@@ -42,7 +42,7 @@ POLICY = """A subagent's model is a choice, not an inheritance. This call passes
|
|
|
42
42
|
would run on the model leading this session - which is how one expensive model ends up doing every small job. \
|
|
43
43
|
Call the tool again with `model` set:
|
|
44
44
|
|
|
45
|
-
- `haiku` -
|
|
45
|
+
- `haiku` - lookups and small, fully specified jobs: grep, find, read and summarize files or a CI log, run a command and report, a mechanical edit in named files.
|
|
46
46
|
- `sonnet` - scoped work with a clear target: a fix in a named file, a spec, a docs page, a lint cleanup, \
|
|
47
47
|
research that needs reasoning. Sonnet 5.5 is close to opus here and costs less.
|
|
48
48
|
- `opus` - hard work: a bug with no known cause, a change across many files, a review of a diff, and any task \
|
|
@@ -51,12 +51,13 @@ 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 \
|
|
58
59
|
judgment-heavy - planning, design, cross-cutting review, or leading other subagents. Deny it for implementation \
|
|
59
|
-
(`model: "sonnet"` or `"opus"`) or for a
|
|
60
|
+
(`model: "sonnet"` or `"opus"`) or for a lookup or a small, fully specified job (`model: "haiku"`), then repeat the call with that model."""
|
|
60
61
|
|
|
61
62
|
|
|
62
63
|
def agent_name(argv):
|
|
@@ -109,11 +110,17 @@ def definition_sets_model(root, subagent_type):
|
|
|
109
110
|
"""True when a project or user agent definition of that name declares its own model."""
|
|
110
111
|
if not subagent_type:
|
|
111
112
|
return False
|
|
112
|
-
file_name = f"{subagent_type.split(':')[-1]}.md"
|
|
113
|
-
candidates = [
|
|
114
|
-
|
|
115
|
-
os.path.join(
|
|
116
|
-
|
|
113
|
+
file_name = f"{subagent_type.split(':')[-1]}.md".lower()
|
|
114
|
+
candidates = []
|
|
115
|
+
for directory in (
|
|
116
|
+
os.path.join(root or ".", ".claude", "agents"),
|
|
117
|
+
os.path.join(os.path.expanduser("~"), ".claude", "agents"),
|
|
118
|
+
):
|
|
119
|
+
try:
|
|
120
|
+
entries = os.listdir(directory)
|
|
121
|
+
except OSError:
|
|
122
|
+
continue
|
|
123
|
+
candidates += [os.path.join(directory, entry) for entry in entries if entry.lower() == file_name]
|
|
117
124
|
for path in candidates:
|
|
118
125
|
try:
|
|
119
126
|
with open(path, encoding="utf-8") as f:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: subagent-models
|
|
3
|
-
description: A subagent's model is an explicit choice on every call - haiku for lookups, sonnet for scoped work, opus for hard work, fable for judgment.
|
|
3
|
+
description: A subagent's model is an explicit choice on every call - haiku for lookups and small specified jobs, sonnet for scoped work, opus for hard work, fable for judgment.
|
|
4
4
|
kind: rule
|
|
5
5
|
scope: both
|
|
6
6
|
---
|
|
@@ -11,18 +11,24 @@ A subagent spawned without a `model` runs on the model leading the session, so a
|
|
|
11
11
|
model ends up doing every small job it delegates. **Set `model` on every call**, matched to the
|
|
12
12
|
task:
|
|
13
13
|
|
|
14
|
-
| Model | The work it fits
|
|
15
|
-
| -------- |
|
|
16
|
-
| `haiku` |
|
|
17
|
-
| `sonnet` | Scoped work with a clear target: a fix in a named file, a spec, a docs page, a lint cleanup, research that needs reasoning. Sonnet 5.5 is close to opus here and costs less.
|
|
18
|
-
| `opus` | Hard work: a bug with no known cause, a change across many files, a review of a diff, and any task sonnet did not finish.
|
|
19
|
-
| `fable` | Judgment-heavy work: planning, design, cross-cutting review, leading other subagents. The most expensive of the four, so ask the user before picking it.
|
|
14
|
+
| Model | The work it fits |
|
|
15
|
+
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
16
|
+
| `haiku` | Lookups and small, fully specified jobs: grep, find, read and summarize files or a CI log, run a command and report, a mechanical edit in named files. Haiku 5.5 does these well. |
|
|
17
|
+
| `sonnet` | Scoped work with a clear target: a fix in a named file, a spec, a docs page, a lint cleanup, research that needs reasoning. Sonnet 5.5 is close to opus here and costs less. |
|
|
18
|
+
| `opus` | Hard work: a bug with no known cause, a change across many files, a review of a diff, and any task sonnet did not finish. |
|
|
19
|
+
| `fable` | Judgment-heavy work: planning, design, cross-cutting review, leading other subagents. The most expensive of the four, so ask the user before picking it. |
|
|
20
20
|
|
|
21
21
|
Effort follows the prompt, not a parameter: scope the prompt to one question, name what "done"
|
|
22
22
|
means, and say "keep it brief" for a lookup. Two calls need no `model` of their own - a named
|
|
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
|
|
@@ -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
|
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":";;;AAAA,2BAA8C;AAC9C,+BAAqC;AACrC,6CAAuE;AAEvE,yCAAmF;AACnF,iDAAiD;AACjD,qDAA0E;AAE7D,QAAA,aAAa,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAIlE,QAAA,gBAAgB,GAAG,4BAA4B,CAAC;AAEhD,QAAA,sBAAsB,GAAG,kCAAkC,CAAC;AA8CzE,uGAAuG;AAChG,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,wBAAgB,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAErC,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF,MAAM,eAAe,GAAwB;IAC3C,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,yBAAyB;IACzB,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;CACP,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAY,EAA0C,EAAE;IACzE,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAE5C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,MAAM,GAAG,gCAAgC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAEjC,IACE,OAAO,KAAK,SAAS;QACrB,OAAO,KAAK,MAAM;QAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EACvE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,oDAAoD,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,MAAM,GAAG,sBAAsB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;QACpG,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,0CAA0C,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,KAAK,CAAC,yBAAyB,CAAC,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,yBAAyB,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,gDAAgD,CAAC,CAAC;IACvF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAa,EAAE;IAChD,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,wBAAgB,CAAC,CAAC;IAE1C,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAErD,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAgB,2BAA2B,CAAC,CAAC;IAClE,CAAC;IAED,kBAAkB,CAAC,KAAgC,CAAC,CAAC;IAErD,OAAO,KAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,GAAc,EAAE,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAsB,CAAC,CAAC,CAAC;IAEpG,OAAO,OAAO,CAAC,MAAM;QACnB,CAAC,CAAC;YACE,GAAG,wBAAgB,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAChI;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AA6BW,QAAA,iBAAiB,GAA0B,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;AAEnG;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAE5F,oGAAoG;AACvF,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AAE9D,MAAM,eAAe,GAAG,CAAC,IAAY,EAAoB,EAAE;IAChE,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,8BAAsB,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhD,IAAI,MAAe,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAElH,MAAM,MAAM,GAAG,MAAqB,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,+BAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,yBAAiB,CAAC,QAAQ,CAAC,GAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC3F,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC,CAAC;AAvBW,QAAA,eAAe,mBAuB1B;AAEF;;;;;GAKG;AACI,MAAM,aAAa,GAAG,CAAC,IAAY,EAAiB,EAAE;IAC3D,MAAM,QAAQ,GAAkB,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAsB,EAAE,EAAE;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,qBAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,qBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAqC,EAAE,CAAC,CAAC;IAClF,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW;IAC1D,uBAAuB,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU;IACxD,YAAY,EAAE,OAAO,CAAC,KAAK;IAC3B,kBAAkB,EAAE,OAAO,CAAC,WAAW;IACvC,gBAAgB,EAAE,OAAO,CAAC,SAAS;CACpC,CAAC,CAAC;AAEI,MAAM,UAAU,GAAG,CAAC,OAAyD,EAAc,EAAE;;IAClG,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,OAAO,GAAG,MAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,UAAU,mCAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAA,+BAAoB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAElD,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO;QACL,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;QACtE,IAAI,0FACC,IAAA,8BAAe,GAAE,GACjB,IAAA,kCAAiB,EAAC,IAAI,CAAC,KAC1B,aAAa,EAAE,IAAA,oCAAmB,EAAC,IAAI,CAAC,KACrC,WAAW,CAAC,OAAO,CAAC,GACpB,IAAA,8BAAiB,EAAC,IAAA,iCAAoB,EAAC,IAAI,CAAC,CAAC,GAC7C,CAAC,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC,CACpB;QACD,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE;QAC1B,uBAAuB,EAAE,MAAA,GAAG,CAAC,uBAAuB,mCAAI,KAAK;QAC7D,KAAK,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE;QACtB,QAAQ,EAAE,MAAA,GAAG,CAAC,QAAQ,mCAAI,EAAE;QAC5B,OAAO;QACP,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;QACpB,cAAc,EAAE,wBAAwB,CAAC,GAAG,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,UAAU,cA6BrB"}
|
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":";;;AAAA,2BASY;AACZ,+BAA+C;AAC/C,qCAAqE;AACrE,iCAAiD;AACjD,qCAAoD;AACpD,iCAA0C;AAE1C,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,OAA0C,EAAE,EAAE;IACrE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEzC,IAAI,IAAA,8BAAuB,EAAC,IAAI,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,UAAU,SAAS,sBAAsB,SAAS,EAAE,CAAC,CAAC;QAE1D,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,GAAG,CAAC,UAAU,SAAS,QAAQ,SAAS,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM;YAAE,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,OAAO;IACT,CAAC;IAED,IAAI,IAAA,cAAS,EAAC,UAAU,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QAC3C,GAAG,CAAC,UAAU,SAAS,8BAA8B,CAAC,CAAC;QAEvD,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAA,iBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,aAAa,GAAG,IAAA,eAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7F,GAAG,CAAC,UAAU,SAAS,iBAAiB,SAAS,EAAE,CAAC,CAAC;IACrD,GAAG,CAAC,UAAU,SAAS,QAAQ,SAAS,UAAU,CAAC,CAAC;IAEpD,IAAI,MAAM;QAAE,OAAO;IAEnB,IAAA,kBAAa,EAAC,UAAU,EAAE,GAAG,MAAM,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,OAA0C,EAAE,EAAE;IACnE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAE/C,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC;QAAE,OAAO;IAEtC,KAAK,MAAM,KAAK,IAAI,IAAA,gBAAW,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAA,cAAS,EAAC,MAAM,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAA,cAAS,EAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3G,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAErD,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,UAAU,aAAa,IAAI,KAAK,MAAM,aAAa,IAAI,KAAK,iBAAiB,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QAED,GAAG,CAAC,UAAU,aAAa,IAAI,KAAK,MAAM,aAAa,IAAI,KAAK,yBAAyB,CAAC,CAAC;QAE3F,IAAI,MAAM;YAAE,SAAS;QAErB,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAA,eAAU,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEhC,IAAI,CAAC;YACH,IAAA,gBAAW,EAAC,IAAA,eAAQ,EAAC,IAAA,cAAO,EAAC,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,eAAU,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAChC,GAAG,CAAC,UAAU,aAAa,IAAI,KAAK,mCAAoC,KAAe,CAAC,OAAO,GAAG,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;0DAMsC,CAAC;AAE3D,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAY,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAU,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK;QAAE,OAAO,OAAO,CAAC;IAE9D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,mBAAU,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,OAA0C,EAAE,EAAE;IACnE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,UAAU,SAAS,4BAA4B,aAAa,SAAS,CAAC,CAAC;QAE3E,OAAO;IACT,CAAC;IAED,GAAG,CAAC,UAAU,SAAS,mCAAmC,CAAC,CAAC;IAE5D,IAAI,MAAM;QAAE,OAAO;IAEnB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAY,CAAC,CAAC;IAC7C,MAAM,QAAQ,GACZ,KAAK,KAAK,CAAC,CAAC;QACV,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;QACzF,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,WAAW,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAE5F,IAAA,kBAAa,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAA0C,EAAE,EAAE;IACnE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,yBAAgB,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAA,eAAU,EAAC,IAAI,CAAC;QAC1B,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAA6B;QACrE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAE/C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,yBAAyB,CAAC,KAAK,IAAI,CAAC;IAE5D,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,GAAG,CAAC,UAAU,yBAAgB,qBAAqB,CAAC,CAAC;QAErD,OAAO;IACT,CAAC;IAED,IAAI,YAAY,IAAI,QAAQ;QAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEtE,GAAG,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAEtC,GAAG,CAAC,UAAU,yBAAgB,2CAA2C,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM;QAAE,IAAA,kBAAa,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,OAAmB,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC;IAE1G,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAErB,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QAEpF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CACT,0HAA0H,CAC3H,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3BW,QAAA,OAAO,WA2BlB"}
|
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":";;;AAAA,2BAAwG;AACxG,+BAAoE;AACpE,qCAAmD;AACnD,+CAAkD;AAClD,iCAA6C;AAa7C,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE3G,MAAM,QAAQ,GAAG,CAAC,OAAuF,EAAE,EAAE;IAC3G,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,cAAc,GAAG,CAAC,OAAuC,EAAE,EAAE;IACjE,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,OAAO,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,IAAI,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEpE,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC;QACnB,OAAO,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;IAClC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErF,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE;IACpC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IAEvE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,MAAM,qCAAqC,CAAC,CAAC;IAClF,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,IAAI,GAAG,CAAC,OAAmB,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhG,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAEjD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,2DAA2D,CAAC,CAAC;QAE5F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAEtC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QAEzC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAA,WAAM,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAEpD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AA9CW,QAAA,IAAI,QA8Cf;AAEK,MAAM,KAAK,GAAG,CAAC,OAAmB,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5G,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAExC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACxE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEvG,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,+CAA+C,CAAC,CAAC;IAEhF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AApBW,QAAA,KAAK,SAoBhB"}
|
|
@@ -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":";;;;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,qGAAqG;AACrG,MAAM,UAAU,GAAG,MAAO,CAAC;AAE3B,MAAM,IAAI,GAAG,QAAQ,CAAC;AACtB,MAAM,UAAU,GAAG,cAAc,CAAC;AAoVlC,MAAM,WAAW,GAAG;IAClB,iEAAiE;IACjE,2FAA2F;CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,GAAG,EAAE;;IACzC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,0CAAE,IAAI,EAAE,CAAC;IAElE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,IAAI,GAAG,IAAA,YAAO,GAAE,CAAC;IAEvB,IAAI,IAAA,aAAQ,GAAE,KAAK,QAAQ;QAAE,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEjH,IAAI,IAAA,aAAQ,GAAE,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE,CAAC;QAE/C,OAAO,IAAA,WAAI,EAAC,OAAO,IAAI,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,0CAAE,IAAI,EAAE,CAAC;IAEtD,OAAO,IAAA,WAAI,EAAC,QAAQ,IAAI,IAAA,WAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;AACzF,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC;AAEF,MAAM,aAAa,GAAG,GAAc,EAAE;IACpC,MAAM,IAAI,GAAG,IAAA,8BAAsB,GAAE,CAAC;IAEtC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,MAAe,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6EAA6E,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,SAAS,GAAG,MAA4B,CAAC;IAE/C,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gFAAgF,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,CAAC,OAAO,8CAA8C,gBAAgB,8BAA8B,CAC1I,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,mBAAmB,GAAG,GAAG,EAAE,WACtC,OAAA,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,0CAAE,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA,EAAA,CAAC;AADxF,QAAA,mBAAmB,uBACqE;AAErG,MAAM,QAAQ,GAAG;IACf,8EAA8E;IAC9E,+FAA+F;CAChG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CAAO,SAAoB,EAAE,EAAE;;IACpD,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnF,IAAI,QAA4B,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,GAAG,UAAU,UAAU,KAAK,EAAE,EAAE;YAC7F,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE;YAAE,QAAQ,GAAG,MAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoC,CAAC,KAAK,0CAAE,KAAK,CAAC;IACvG,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAA,wBAAe,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAA,CAAC;AAEF;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAU,OAAiD,EAAc,EAAE;IACrG,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAErC,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC3F,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,iCAAM,OAAO,KAAE,MAAM,IAAG,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAAC,WAAM,CAAC;QACP,gGAAgG;QAChG,qCAAqC;QACrC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;IAEnG,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;IAEpD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC,CAAA,CAAC;AAjCW,QAAA,YAAY,gBAiCvB;AAEK,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAkB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAAxE,QAAA,eAAe,mBAAyD;AAE9E,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAkB,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;AAA/F,QAAA,eAAe,mBAAgF;AAErG,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAoB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAAnF,QAAA,iBAAiB,qBAAkE;AAEzF,MAAM,cAAc,GAAG,CAAO,GAAW,EAAE,EAAE,0DAClD,OAAA,CAAC,MAAM,IAAA,oBAAY,EAA4B,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA,GAAA,CAAC;AADtE,QAAA,cAAc,kBACwD;AAE5E,MAAM,eAAe,GAAG,CAAO,OAKrC,EAAE,EAAE,0DAAC,OAAA,CAAC,MAAM,IAAA,oBAAY,kBAAiC,EAAE,EAAE,aAAa,IAAK,OAAO,EAAG,CAAC,CAAC,MAAM,CAAA,GAAA,CAAC;AALtF,QAAA,eAAe,mBAKuE;AAE5F,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE,CACvD,IAAA,oBAAY,EAAuB,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;AAD1D,QAAA,oBAAoB,wBACsC;AAEvE,8FAA8F;AACvF,MAAM,oBAAoB,GAAG,CAAC,OAOpC,EAAE,EAAE,CAAC,IAAA,oBAAY,kBAAoB,EAAE,EAAE,aAAa,IAAK,OAAO,EAAG,CAAC;AAP1D,QAAA,oBAAoB,wBAOsC;AAEvE,uGAAuG;AAChG,MAAM,mBAAmB,GAAG,CAAC,OAKnC,EAAE,EAAE,CAAC,IAAA,oBAAY,kBAAoB,EAAE,EAAE,aAAa,IAAK,OAAO,EAAG,CAAC;AAL1D,QAAA,mBAAmB,uBAKuC;AAEhE,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAqB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;AAAlG,QAAA,kBAAkB,sBAAgF;AAExG,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAE,EAAE,CACpD,IAAA,oBAAY,EAAyB,EAAE,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;AADzD,QAAA,sBAAsB,0BACmC;AAE/D,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAmB,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAA5F,QAAA,gBAAgB,oBAA4E;AAEzG;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAA4D,EAAE,EAAE,CAC/F,IAAA,oBAAY,kBAAoB,EAAE,EAAE,WAAW,IAAK,OAAO,EAAG,CAAC;AADpD,QAAA,gBAAgB,oBACoC;AAEjE,4GAA4G;AACrG,MAAM,sBAAsB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC9E,IAAA,oBAAY,kBAA2B,EAAE,EAAE,gBAAgB,IAAK,OAAO,EAAG,CAAC;AADhE,QAAA,sBAAsB,0BAC0C;AAE7E;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAqB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;AAAlG,QAAA,kBAAkB,sBAAgF;AAE/G,6GAA6G;AACtG,MAAM,uBAAuB,GAAG,CAAC,OAA0C,EAAE,EAAE,CACpF,IAAA,oBAAY,kBAAoB,EAAE,EAAE,YAAY,IAAK,OAAO,EAAG,CAAC;AADrD,QAAA,uBAAuB,2BAC8B;AAElE;;;GAGG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAA2C,EAAE,EAAE,CAClF,IAAA,oBAAY,kBAAoB,EAAE,EAAE,cAAc,IAAK,OAAO,EAAG,CAAC;AADvD,QAAA,oBAAoB,wBACmC;AAEpE,iGAAiG;AAC1F,MAAM,uBAAuB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC/E,IAAA,oBAAY,kBAA4B,EAAE,EAAE,iBAAiB,IAAK,OAAO,EAAG,CAAC;AADlE,QAAA,uBAAuB,2BAC2C;AAExE,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAA9E,QAAA,cAAc,kBAAgE;AAE3F;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CAAC,KAAwB,EAAE,UAAiC,EAAE,EAAE,EAAE,CAC5G,IAAA,oBAAY,kBACV,EAAE,EAAE,sBAAsB,EAC1B,KAAK,IACF,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7C,CAAC;AALQ,QAAA,4BAA4B,gCAKpC;AAEE,MAAM,iBAAiB,GAAG,GAAS,EAAE,0DAC1C,OAAA,CAAC,MAAM,IAAA,oBAAY,EAAmC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA,GAAA,CAAC;AAD7E,QAAA,iBAAiB,qBAC4D;AAE1F;;;;;;GAMG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAkB,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;AAArG,QAAA,sBAAsB,0BAA+E;AAElH;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC9E,IAAA,oBAAY,kBAAoB,EAAE,EAAE,gBAAgB,IAAK,OAAO,EAAG,CAAC;AADzD,QAAA,sBAAsB,0BACmC;AAEtE;;;GAGG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC7E,IAAA,oBAAY,kBAAoB,EAAE,EAAE,eAAe,IAAK,OAAO,EAAG,CAAC;AADxD,QAAA,qBAAqB,yBACmC;AAErE;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,CAAC,OAAyC,EAAE,EAAE,CACnF,IAAA,oBAAY,kBAAoB,EAAE,EAAE,iBAAiB,IAAK,OAAO,EAAG,CAAC;AAD1D,QAAA,uBAAuB,2BACmC;AAEvE;;;;;;;GAOG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAYrC,EAAE,EAAE,CAAC,IAAA,oBAAY,gCAA0B,EAAE,EAAE,eAAe,IAAK,OAAO,KAAE,KAAK,EAAE,KAAK,IAAG,CAAC;AAZhF,QAAA,qBAAqB,yBAY2D;AAE7F,+EAA+E;AACxE,MAAM,0BAA0B,GAAG,CAAC,OAAoD,EAAE,EAAE,CACjG,IAAA,oBAAY,gCAAoB,EAAE,EAAE,eAAe,IAAK,OAAO,KAAE,KAAK,EAAE,IAAI,IAAG,CAAC;AADrE,QAAA,0BAA0B,8BAC2C;AAElF,+FAA+F;AACxF,MAAM,uBAAuB,GAAG,CAAC,EAAU,EAAE,EAAE,CACpD,IAAA,oBAAY,EAA0B,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;AAD1D,QAAA,uBAAuB,2BACmC;AAYvE,uGAAuG;AAChG,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAA6B,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAA9F,QAAA,kBAAkB,sBAA4E;AAE3G;;;GAGG;AACI,MAAM,uBAAuB,GAAG,CAAC,EAAU,EAAE,EAAE,CACpD,IAAA,oBAAY,EAA0B,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;AAD1D,QAAA,uBAAuB,2BACmC;AAavE;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAA2D,EAAE,EAAE,CAClG,IAAA,oBAAY,kBACV,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,CAAC,GAAG,IACb,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;IACrC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;IAC1C,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAC7C,CAAC;AAPQ,QAAA,oBAAoB,wBAO5B"}
|