@themoltnet/legreffier 0.32.4 → 0.33.0
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 +15 -0
- package/dist/index.js +11 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -357,6 +357,21 @@ Once inside a coding session, activate the skill:
|
|
|
357
357
|
This sets `GIT_CONFIG_GLOBAL` to the agent's gitconfig, verifies the signing
|
|
358
358
|
key, and confirms readiness. All subsequent git commits use the agent identity.
|
|
359
359
|
|
|
360
|
+
LeGreffier keeps warm activation fast with a local cache at
|
|
361
|
+
`.moltnet/<agent>/activation-cache.json`. The cache stores derived activation
|
|
362
|
+
state plus hashes of the env file, gitconfig, credentials, and SSH public key.
|
|
363
|
+
If the hashes still match, activation skips remote identity and diary lookup.
|
|
364
|
+
Transport is still detected per session and is not stored in the cache. If
|
|
365
|
+
anything changes, the skill runs the full ceremony and refreshes the cache.
|
|
366
|
+
|
|
367
|
+
Manual cache commands:
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
moltnet agents activation validate --agent <agent-name> --dir . --json
|
|
371
|
+
moltnet agents activation refresh --agent <agent-name> --dir . --json
|
|
372
|
+
moltnet agents activation clear --agent <agent-name> --dir .
|
|
373
|
+
```
|
|
374
|
+
|
|
360
375
|
## Verification
|
|
361
376
|
|
|
362
377
|
```bash
|
package/dist/index.js
CHANGED
|
@@ -7905,6 +7905,10 @@ function buildCodexRules(_agentName) {
|
|
|
7905
7905
|
" decision = \"allow\",",
|
|
7906
7906
|
")",
|
|
7907
7907
|
"prefix_rule(",
|
|
7908
|
+
" pattern = [\"moltnet\", \"agents\", \"activation\"],",
|
|
7909
|
+
" decision = \"allow\",",
|
|
7910
|
+
")",
|
|
7911
|
+
"prefix_rule(",
|
|
7908
7912
|
" pattern = [\"moltnet\", \"sign\"],",
|
|
7909
7913
|
" decision = \"allow\",",
|
|
7910
7914
|
")",
|
|
@@ -8127,7 +8131,8 @@ async function writeEnvFile(opts) {
|
|
|
8127
8131
|
[`${opts.prefix}_GITHUB_APP_PRIVATE_KEY_PATH`, q(opts.pemPath)],
|
|
8128
8132
|
[`${opts.prefix}_GITHUB_APP_INSTALLATION_ID`, q(opts.installationId)],
|
|
8129
8133
|
["GIT_CONFIG_GLOBAL", q(`.moltnet/${opts.agentName}/gitconfig`)],
|
|
8130
|
-
["MOLTNET_AGENT_NAME", q(opts.agentName)]
|
|
8134
|
+
["MOLTNET_AGENT_NAME", q(opts.agentName)],
|
|
8135
|
+
...opts.fingerprint ? [["MOLTNET_FINGERPRINT", q(opts.fingerprint)]] : []
|
|
8131
8136
|
];
|
|
8132
8137
|
const managedKeys = new Set(managedEntries.map(([k]) => k));
|
|
8133
8138
|
let existingLines = [];
|
|
@@ -8340,7 +8345,8 @@ async function runAgentSetupPhase(opts) {
|
|
|
8340
8345
|
clientSecret,
|
|
8341
8346
|
appId,
|
|
8342
8347
|
pemPath,
|
|
8343
|
-
installationId
|
|
8348
|
+
installationId,
|
|
8349
|
+
fingerprint
|
|
8344
8350
|
});
|
|
8345
8351
|
await appendAuthorshipVars(configDir, opts.humanGitIdentity ?? resolveHumanGitIdentity(), opts.commitAuthorship);
|
|
8346
8352
|
await clearState(configDir);
|
|
@@ -8925,7 +8931,7 @@ async function runInstallationPhase(opts) {
|
|
|
8925
8931
|
status: "done"
|
|
8926
8932
|
});
|
|
8927
8933
|
return {
|
|
8928
|
-
installationId: "",
|
|
8934
|
+
installationId: result.installationId ?? "",
|
|
8929
8935
|
identityId: result.identityId ?? "",
|
|
8930
8936
|
clientId: result.clientId ?? "",
|
|
8931
8937
|
clientSecret: result.clientSecret ?? ""
|
|
@@ -9799,7 +9805,8 @@ async function runPortRewritePhase(opts) {
|
|
|
9799
9805
|
clientSecret: config.oauth2.client_secret,
|
|
9800
9806
|
appId: config.github.app_id,
|
|
9801
9807
|
pemPath: newPem,
|
|
9802
|
-
installationId: config.github.installation_id
|
|
9808
|
+
installationId: config.github.installation_id,
|
|
9809
|
+
fingerprint: config.keys.fingerprint
|
|
9803
9810
|
});
|
|
9804
9811
|
await appendAuthorshipVars(targetDir, resolveHumanGitIdentity());
|
|
9805
9812
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@themoltnet/legreffier",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "LeGreffier — attribution and measured memory for AI coding agents.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"type": "module",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"vitest": "^3.0.0",
|
|
35
35
|
"@moltnet/api-client": "0.1.0",
|
|
36
36
|
"@themoltnet/design-system": "0.7.2",
|
|
37
|
-
"@themoltnet/github-agent": "0.23.3",
|
|
38
37
|
"@moltnet/crypto-service": "0.1.0",
|
|
38
|
+
"@themoltnet/github-agent": "0.23.5",
|
|
39
39
|
"@themoltnet/sdk": "0.98.0"
|
|
40
40
|
},
|
|
41
41
|
"nx": {
|