@delorenj/pjangler 1.2.33 → 1.3.7
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/README.md +72 -0
- package/dist/index.js +4754 -2564
- package/dist/mcp-server.js +4516 -2141
- package/dist/prompt.js +404 -0
- package/package.json +7 -5
- package/templates/commonproject/copier.yml +6 -1
- package/templates/commonproject/template/.agents/hooks/README.md +10 -10
- package/templates/commonproject/template/.agents/hooks/hooks.master.json +1 -1
- package/templates/commonproject/template/.agents/hooks/sync.py +4 -4
- package/templates/commonproject/template/.agents/local.example.json +1 -1
- package/templates/commonproject/template/.mise/scripts/hindsight-setup.sh +1 -1
- package/templates/commonproject/template/.mise/scripts/provision-packs.py +14 -50
- package/templates/commonproject/template/mise.toml.jinja +11 -11
- package/templates/hermes-agent/copier.yml +34 -14
- package/templates/hermes-agent/template/.runtime-scaffold/.gitignore.jinja +44 -0
- package/templates/hermes-agent/template/.runtime-scaffold/README.md +11 -10
- package/templates/hermes-agent/template/.scripts/01-config.sh +13 -4
- package/templates/hermes-agent/template/.scripts/05-fleet-env.sh +18 -28
- package/templates/hermes-agent/template/.scripts/10-hermes-profile.sh +73 -14
- package/templates/hermes-agent/template/.scripts/20-runtime-repo.sh +37 -32
- package/templates/hermes-agent/template/.scripts/30-telegram.sh +18 -4
- package/templates/hermes-agent/template/.scripts/42-ticket-provider.sh +18 -1
- package/templates/hermes-agent/template/.scripts/70-systemd.sh +114 -24
- package/templates/hermes-agent/template/.scripts/80-registry.sh +19 -3
- package/templates/hermes-agent/template/.scripts/_lib.sh +74 -11
- package/templates/hermes-agent/template/.scripts/checkpoint.sh +29 -1
- package/templates/hermes-agent/template/.scripts/config.example.toml +7 -4
- package/templates/hermes-agent/template/.scripts/credential-launch.sh +81 -0
- package/templates/hermes-agent/template/.scripts/heartbeat.sh +15 -2
- package/templates/hermes-agent/template/.scripts/lib/fleet-env.sh +202 -0
- package/templates/hermes-agent/template/.scripts/lib/parse-fleet-env.py +734 -0
- package/templates/hermes-agent/template/.scripts/lifecycle.sh +126 -0
- package/templates/hermes-agent/template/.scripts/providers/plane.sh +31 -5
- package/templates/hermes-agent/template/.scripts/secret-scan.py +82 -16
- package/templates/hermes-agent/template/SOUL.md.jinja +48 -12
- package/templates/hermes-agent/template/hermes.jinja +51 -10
- package/templates/hermes-agent/template/momo.jinja +177 -0
- package/templates/hermes-agent/template/role.yaml.jinja +31 -21
|
@@ -2,25 +2,32 @@
|
|
|
2
2
|
# The agent's actual state (memory, sessions, evolving SOUL) lives in the
|
|
3
3
|
# ignored local runtime. This file is the immutable contract for this role.
|
|
4
4
|
|
|
5
|
-
repo: {{ target_repo }}
|
|
6
|
-
role: {{ role }}
|
|
7
|
-
agent_id: {{ agent_id }}
|
|
8
|
-
display_name:
|
|
9
|
-
purpose:
|
|
5
|
+
repo: {{ target_repo | tojson }}
|
|
6
|
+
role: {{ role | tojson }}
|
|
7
|
+
agent_id: {{ agent_id | tojson }}
|
|
8
|
+
display_name: {{ display_name | tojson }}
|
|
9
|
+
purpose: {{ agent_purpose | tojson }}
|
|
10
10
|
|
|
11
|
-
#
|
|
11
|
+
# Process-local gateway inference target (empty = inherit from shared
|
|
12
|
+
# ~/.hermes/config.yaml). key_env is a variable NAME only; its secret value is
|
|
13
|
+
# injected at runtime and must never be written here.
|
|
12
14
|
model:
|
|
13
|
-
provider:
|
|
14
|
-
name:
|
|
15
|
+
provider: {{ model_provider | tojson }}
|
|
16
|
+
name: {{ model_name | tojson }}
|
|
17
|
+
base_url: {{ model_base_url | tojson }}
|
|
18
|
+
api_mode: {{ model_api_mode | tojson }}
|
|
19
|
+
key_env: {{ model_key_env | tojson }}
|
|
15
20
|
|
|
16
|
-
# Hermes profile name. ~/.hermes/profiles/<name>
|
|
17
|
-
#
|
|
18
|
-
|
|
21
|
+
# Hermes profile name. ~/.hermes/profiles/<name> is a REAL directory managed by
|
|
22
|
+
# `pj migrate hermes.runtime-singleton`: shared config/auth/skills link to the
|
|
23
|
+
# fleet root while role-owned state links into ./runtime. Never replace the
|
|
24
|
+
# named profile with a symlink to runtime.
|
|
25
|
+
profile: {{ agent_id | tojson }}
|
|
19
26
|
|
|
20
27
|
# Telegram bot identity (one bot per agent — see docs/architecture.md).
|
|
21
28
|
telegram:
|
|
22
29
|
provisioning_status: "deferred"
|
|
23
|
-
bot_username:
|
|
30
|
+
bot_username: {{ bot_handle | tojson }}
|
|
24
31
|
bot_id: ""
|
|
25
32
|
|
|
26
33
|
# Slack is opt-in. Credentials live only in runtime/.env; this block records
|
|
@@ -37,14 +44,14 @@ slack:
|
|
|
37
44
|
# The heartbeat reconciliation pass talks ONLY to this via .scripts/lib/ticket-provider.sh;
|
|
38
45
|
# swapping providers is a one-line change here. Filled in by 42-ticket-provider.sh.
|
|
39
46
|
ticket_provider:
|
|
40
|
-
name: {{ ticket_provider }}
|
|
47
|
+
name: {{ ticket_provider | tojson }}
|
|
41
48
|
board_id: ""
|
|
42
49
|
board_url: ""
|
|
43
50
|
{%- if ticket_provider == 'linear' %}
|
|
44
51
|
team: "" # Linear team key, e.g. DEL (set before first sentinel run)
|
|
45
52
|
project: "" # optional Linear project name to scope milestones/issues
|
|
46
53
|
{%- elif ticket_provider == 'plane' %}
|
|
47
|
-
workspace:
|
|
54
|
+
workspace: {{ plane_workspace | tojson }}
|
|
48
55
|
project: "" # Plane project uuid (set by 42-ticket-provider.sh)
|
|
49
56
|
{%- elif ticket_provider == 'trello' %}
|
|
50
57
|
board: "" # Trello board id (set by 42-ticket-provider.sh)
|
|
@@ -63,7 +70,7 @@ reconcile:
|
|
|
63
70
|
# Plane project (1:1 with this agent) — retained for fleet-registry back-compat.
|
|
64
71
|
plane:
|
|
65
72
|
# Empty -> resolved from ~/.config/hermes-agent-template/config.toml [plane].workspace
|
|
66
|
-
workspace:
|
|
73
|
+
workspace: {{ plane_workspace | tojson }}
|
|
67
74
|
# identifier is set by .scripts/42-ticket-provider.sh after creation (plane only)
|
|
68
75
|
identifier: ""
|
|
69
76
|
|
|
@@ -71,16 +78,19 @@ plane:
|
|
|
71
78
|
# reads the fleet registry and routes canonical commands by target_agent_id;
|
|
72
79
|
# this profile does not install its own NATS consumer or inbox bridge.
|
|
73
80
|
bloodbank:
|
|
81
|
+
# Quarantine gate: discovery is safe; execution requires explicit activation.
|
|
82
|
+
enabled: false
|
|
74
83
|
gateway_scope: fleet
|
|
75
|
-
target_agent_id:
|
|
76
|
-
producer: "hermes-agent:
|
|
84
|
+
target_agent_id: {{ agent_id | tojson }}
|
|
85
|
+
producer: {{ ("hermes-agent:" ~ agent_id) | tojson }}
|
|
77
86
|
|
|
78
|
-
# Pure-local
|
|
79
|
-
#
|
|
87
|
+
# Pure-local role-owned state. HERMES_HOME itself is the named profile directory
|
|
88
|
+
# above; the legacy GitHub identity remains metadata-only for locating old
|
|
89
|
+
# archives, and provisioning never creates or attaches a submodule.
|
|
80
90
|
runtime:
|
|
81
91
|
# Empty owner -> resolved from config.toml [github].runtime_repo_owner.
|
|
82
|
-
github_owner:
|
|
83
|
-
github_repo:
|
|
92
|
+
github_owner: {{ runtime_repo_owner | tojson }}
|
|
93
|
+
github_repo: {{ runtime_repo | tojson }}
|
|
84
94
|
local_path: "./runtime"
|
|
85
95
|
checkpoint:
|
|
86
96
|
cadence: "disabled"
|