@moxxy/plugin-self-update 0.26.0 → 0.28.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/dist/core-tools/apply.d.ts.map +1 -1
- package/dist/core-tools/apply.js +13 -0
- package/dist/core-tools/apply.js.map +1 -1
- package/dist/core-tools/begin.d.ts.map +1 -1
- package/dist/core-tools/begin.js +17 -0
- package/dist/core-tools/begin.js.map +1 -1
- package/dist/core-tools/edit.d.ts.map +1 -1
- package/dist/core-tools/edit.js +14 -0
- package/dist/core-tools/edit.js.map +1 -1
- package/dist/core-tools/preflight.d.ts.map +1 -1
- package/dist/core-tools/preflight.js +12 -0
- package/dist/core-tools/preflight.js.map +1 -1
- package/dist/core-tools/rollback.d.ts.map +1 -1
- package/dist/core-tools/rollback.js +13 -0
- package/dist/core-tools/rollback.js.map +1 -1
- package/dist/core-tools/status.d.ts.map +1 -1
- package/dist/core-tools/status.js +7 -0
- package/dist/core-tools/status.js.map +1 -1
- package/dist/core-tools/verify.d.ts.map +1 -1
- package/dist/core-tools/verify.js +23 -0
- package/dist/core-tools/verify.js.map +1 -1
- package/dist/core-tools/write.d.ts.map +1 -1
- package/dist/core-tools/write.js +14 -0
- package/dist/core-tools/write.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/core-tools/apply.ts +13 -0
- package/src/core-tools/begin.ts +17 -0
- package/src/core-tools/edit.ts +14 -0
- package/src/core-tools/preflight.ts +12 -0
- package/src/core-tools/rollback.ts +13 -0
- package/src/core-tools/status.ts +7 -0
- package/src/core-tools/verify.ts +23 -0
- package/src/core-tools/write.ts +14 -0
- package/src/index.ts +80 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/core-tools/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1E,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/core-tools/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1E,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAkDvD"}
|
package/dist/core-tools/apply.js
CHANGED
|
@@ -5,11 +5,24 @@ import { resolveCore, snapshotDir } from './shared.js';
|
|
|
5
5
|
// ── self_update_core_apply ──────────────────────────────────────────────────
|
|
6
6
|
export function coreApplyTool(cd) {
|
|
7
7
|
const { deps } = cd;
|
|
8
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
8
9
|
return defineTool({
|
|
9
10
|
name: 'self_update_core_apply',
|
|
10
11
|
description: 'Overlay the verified build into the live global install (snapshotting the previous dist for rollback) and stage a restart. The new core code only activates after moxxy restarts. Requires a prior successful self_update_core_verify.',
|
|
11
12
|
inputSchema: z.object({ coreTxnId: z.string().min(1) }),
|
|
12
13
|
permission: { action: 'prompt' },
|
|
14
|
+
// Swaps freshly-built dists into the live @moxxy install (snapshotting the
|
|
15
|
+
// old ones under the txn dir) — writes outside ~/.moxxy by design.
|
|
16
|
+
isolation: {
|
|
17
|
+
capabilities: {
|
|
18
|
+
fs: {
|
|
19
|
+
read: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
20
|
+
write: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
21
|
+
},
|
|
22
|
+
net: { mode: 'none' },
|
|
23
|
+
timeMs: 120_000,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
13
26
|
handler: async (input, ctx) => {
|
|
14
27
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
15
28
|
if (journal.state !== 'verified') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/core-tools/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAE1E,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,EAAgB;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,wOAAwO;QAC1O,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,SAAS,QAAQ,OAAO,CAAC,KAAK,uDAAuD,CAAC,CAAC;YAC3H,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC;gBAChC,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,OAAO;gBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;aACzD,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/I,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC;YACjC,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1F,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,eAAe,EAAE,IAAI;gBACrB,OAAO,EACL,wNAAwN;aAC3N,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/core-tools/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"begin.d.ts","sourceRoot":"","sources":["../../src/core-tools/begin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAW3E,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"begin.d.ts","sourceRoot":"","sources":["../../src/core-tools/begin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAW3E,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAgGvD"}
|
package/dist/core-tools/begin.js
CHANGED
|
@@ -5,6 +5,7 @@ import { resolveCore } from './shared.js';
|
|
|
5
5
|
// ── self_update_core_begin ──────────────────────────────────────────────────
|
|
6
6
|
export function coreBeginTool(cd) {
|
|
7
7
|
const { deps } = cd;
|
|
8
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
8
9
|
return defineTool({
|
|
9
10
|
name: 'self_update_core_begin',
|
|
10
11
|
description: 'Start a Tier-2 core patch: provision a source clone pinned to the EXACT installed commit (git clone/fetch + checkout gitHead + pnpm install — this can take minutes) and open a transaction. Returns a coreTxnId and the repo path. Edit files ONLY via self_update_core_write / self_update_core_edit, then self_update_core_verify. Prefer a Tier-1 plugin override first — only patch core when truly unavoidable.',
|
|
@@ -15,6 +16,22 @@ export function coreBeginTool(cd) {
|
|
|
15
16
|
.describe('Affected @moxxy/* package names, e.g. ["@moxxy/core"].'),
|
|
16
17
|
}),
|
|
17
18
|
permission: { action: 'prompt' },
|
|
19
|
+
// Provisions the pinned source clone under ~/.moxxy/self-update: git
|
|
20
|
+
// clone/fetch from the repo URL in the published @moxxy/core metadata (or
|
|
21
|
+
// the config override) plus a full `pnpm install` — the hosts are
|
|
22
|
+
// genuinely dynamic and first use legitimately takes minutes.
|
|
23
|
+
isolation: {
|
|
24
|
+
capabilities: {
|
|
25
|
+
subprocess: true,
|
|
26
|
+
commands: ['git', 'pnpm'],
|
|
27
|
+
net: { mode: 'any' },
|
|
28
|
+
fs: {
|
|
29
|
+
read: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
30
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
31
|
+
},
|
|
32
|
+
timeMs: 1_800_000,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
18
35
|
handler: async (input, ctx) => {
|
|
19
36
|
const install = resolveCore(cd);
|
|
20
37
|
if (!install)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"begin.js","sourceRoot":"","sources":["../../src/core-tools/begin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"begin.js","sourceRoot":"","sources":["../../src/core-tools/begin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/core-tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/core-tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAuCtD"}
|
package/dist/core-tools/edit.js
CHANGED
|
@@ -15,6 +15,20 @@ export function coreEditTool(cd) {
|
|
|
15
15
|
newString: z.string(),
|
|
16
16
|
}),
|
|
17
17
|
permission: { action: 'prompt' },
|
|
18
|
+
// All real I/O is confined to the provisioned clone + journal under
|
|
19
|
+
// ~/.moxxy/self-update (safeRepoPath refuses escapes). `$cwd/**` is
|
|
20
|
+
// declared read-only because the input-level cap check resolves the
|
|
21
|
+
// repo-relative `file` input against the session cwd, not the clone.
|
|
22
|
+
isolation: {
|
|
23
|
+
capabilities: {
|
|
24
|
+
fs: {
|
|
25
|
+
read: ['$cwd/**', `${deps.moxxyDir}/self-update/**`],
|
|
26
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
27
|
+
},
|
|
28
|
+
net: { mode: 'none' },
|
|
29
|
+
timeMs: 15_000,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
18
32
|
handler: async (input, ctx) => {
|
|
19
33
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
20
34
|
const abs = safeRepoPath(journal.repoDir, input.file);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/core-tools/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,EAAgB;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,gIAAgI;QAClI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC;YAC9F,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/E,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/core-tools/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,EAAgB;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,gIAAgI;QAClI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;oBACpD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;iBAC3C;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,MAAM;aACf;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC;YAC9F,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/E,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/core-tools/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/core-tools/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAqB3D"}
|
|
@@ -3,11 +3,23 @@ import { corePreflight } from '../core-update.js';
|
|
|
3
3
|
import { resolveCore } from './shared.js';
|
|
4
4
|
// ── self_update_core_preflight ──────────────────────────────────────────────
|
|
5
5
|
export function corePreflightTool(cd) {
|
|
6
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
6
7
|
return defineTool({
|
|
7
8
|
name: 'self_update_core_preflight',
|
|
8
9
|
description: 'Read-only. Check whether a Tier-2 core patch is even possible: git + pnpm present, @moxxy/core resolvable, a pinned source commit (gitHead) and repo URL in its published metadata. Run this BEFORE attempting to patch @moxxy/core; if any check fails, do not start — tell the user.',
|
|
9
10
|
inputSchema: z.object({}),
|
|
10
11
|
permission: { action: 'allow' },
|
|
12
|
+
// Probes `git --version` / `pnpm --version` (10s cap each) and resolves
|
|
13
|
+
// the live install — a package.json read under the @moxxy scope dir.
|
|
14
|
+
isolation: {
|
|
15
|
+
capabilities: {
|
|
16
|
+
subprocess: true,
|
|
17
|
+
commands: ['git', 'pnpm'],
|
|
18
|
+
...(scopeDir ? { fs: { read: [`${scopeDir}/**`] } } : {}),
|
|
19
|
+
net: { mode: 'none' },
|
|
20
|
+
timeMs: 30_000,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
11
23
|
handler: async () => corePreflight(resolveCore(cd)),
|
|
12
24
|
});
|
|
13
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/core-tools/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,EAAgB;IAChD,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,wRAAwR;QAC1R,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/core-tools/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,EAAgB;IAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC;IAC3C,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,wRAAwR;QAC1R,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,wEAAwE;QACxE,qEAAqE;QACrE,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,MAAM;aACf;SACF;QACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/core-tools/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/core-tools/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAoC1D"}
|
|
@@ -5,11 +5,24 @@ import { resolveCore, snapshotDir } from './shared.js';
|
|
|
5
5
|
// ── self_update_core_rollback ───────────────────────────────────────────────
|
|
6
6
|
export function coreRollbackTool(cd) {
|
|
7
7
|
const { deps } = cd;
|
|
8
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
8
9
|
return defineTool({
|
|
9
10
|
name: 'self_update_core_rollback',
|
|
10
11
|
description: 'Undo a core overlay: restore the previous dist from the snapshot. A restart is required to drop the patched code. Use if a core patch built+loaded but misbehaves.',
|
|
11
12
|
inputSchema: z.object({ coreTxnId: z.string().min(1), reason: z.string().optional() }),
|
|
12
13
|
permission: { action: 'allow' },
|
|
14
|
+
// Restores the snapshotted dists back over the live @moxxy install —
|
|
15
|
+
// like core_apply, it writes outside ~/.moxxy by design.
|
|
16
|
+
isolation: {
|
|
17
|
+
capabilities: {
|
|
18
|
+
fs: {
|
|
19
|
+
read: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
20
|
+
write: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
21
|
+
},
|
|
22
|
+
net: { mode: 'none' },
|
|
23
|
+
timeMs: 120_000,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
13
26
|
handler: async (input, ctx) => {
|
|
14
27
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
15
28
|
const install = resolveCore(cd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/core-tools/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAE1E,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,EAAgB;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,oKAAoK;QACtK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/D,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACxH,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;YAC9B,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACrG,2EAA2E;YAC3E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/core-tools/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAE1E,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,EAAgB;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC;IAC3C,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,oKAAoK;QACtK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,qEAAqE;QACrE,yDAAyD;QACzD,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE;oBACF,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;oBAClF,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;iBACpF;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,OAAO;aAChB;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/D,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACxH,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;YAC9B,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACrG,2EAA2E;YAC3E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core-tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core-tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CA2BxD"}
|
|
@@ -8,6 +8,13 @@ export function coreStatusTool(cd) {
|
|
|
8
8
|
description: 'List Tier-2 core-update transactions and their state.',
|
|
9
9
|
inputSchema: z.object({}),
|
|
10
10
|
permission: { action: 'allow' },
|
|
11
|
+
isolation: {
|
|
12
|
+
capabilities: {
|
|
13
|
+
fs: { read: [`${deps.moxxyDir}/self-update/**`] },
|
|
14
|
+
net: { mode: 'none' },
|
|
15
|
+
timeMs: 10_000,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
11
18
|
handler: async () => {
|
|
12
19
|
const all = await listCoreTxns(deps.moxxyDir);
|
|
13
20
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/core-tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,EAAgB;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,OAAO;gBACL,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,SAAS,EAAE,CAAC,CAAC,KAAK;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/core-tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,EAAgB;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC,EAAE;gBACjD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,MAAM;aACf;SACF;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,OAAO;gBACL,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,SAAS,EAAE,CAAC,CAAC,KAAK;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/core-tools/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/core-tools/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAsDxD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
1
2
|
import { defineTool, z } from '@moxxy/sdk';
|
|
2
3
|
import { readCoreJournal, verifyCorePackages, writeCoreJournal } from '../core-update.js';
|
|
3
4
|
import { emitSafe } from '../deps.js';
|
|
@@ -5,11 +6,33 @@ import { resolveCore } from './shared.js';
|
|
|
5
6
|
// ── self_update_core_verify ─────────────────────────────────────────────────
|
|
6
7
|
export function coreVerifyTool(cd) {
|
|
7
8
|
const { deps } = cd;
|
|
9
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
8
10
|
return defineTool({
|
|
9
11
|
name: 'self_update_core_verify',
|
|
10
12
|
description: 'Build, typecheck and test the affected core packages (and their dependents) in the clone, and confirm the patch adds no new runtime dependency. Returns stage results. Run AFTER edits; nothing in the live install changes here.',
|
|
11
13
|
inputSchema: z.object({ coreTxnId: z.string().min(1) }),
|
|
12
14
|
permission: { action: 'prompt' },
|
|
15
|
+
// Runs `pnpm --filter … build/typecheck/test` in the provisioned clone —
|
|
16
|
+
// three child stages capped at 12 minutes each. The repo's own test suites
|
|
17
|
+
// legitimately bind localhost sockets, but no registry access is needed
|
|
18
|
+
// (deps were installed at core_begin) — hence the loopback-only allowlist.
|
|
19
|
+
// The read glob over the live install's node_modules root covers the
|
|
20
|
+
// added-runtime-deps presence probes.
|
|
21
|
+
isolation: {
|
|
22
|
+
capabilities: {
|
|
23
|
+
subprocess: true,
|
|
24
|
+
commands: ['pnpm'],
|
|
25
|
+
net: { mode: 'allowlist', hosts: ['localhost', '127.0.0.1', '::1'] },
|
|
26
|
+
fs: {
|
|
27
|
+
read: [
|
|
28
|
+
...(scopeDir ? [`${path.dirname(scopeDir)}/**`] : []),
|
|
29
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
30
|
+
],
|
|
31
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
32
|
+
},
|
|
33
|
+
timeMs: 2_400_000,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
13
36
|
handler: async (input, ctx) => {
|
|
14
37
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
15
38
|
const install = resolveCore(cd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core-tools/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,EAAgB;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,mOAAmO;QACrO,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,KAAK,EAAE,QAAQ;gBACf,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,QAAQ;aACjG,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACpD,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACxG,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,EAAE;oBACV,CAAC,CAAC,wGAAwG;oBAC1G,CAAC,CAAC,wDAAwD;aAC7D,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core-tools/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/core-tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/core-tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAmCvD"}
|
package/dist/core-tools/write.js
CHANGED
|
@@ -15,6 +15,20 @@ export function coreWriteTool(cd) {
|
|
|
15
15
|
content: z.string(),
|
|
16
16
|
}),
|
|
17
17
|
permission: { action: 'prompt' },
|
|
18
|
+
// All real I/O is confined to the provisioned clone + journal under
|
|
19
|
+
// ~/.moxxy/self-update (safeRepoPath refuses escapes). `$cwd/**` is
|
|
20
|
+
// declared read-only because the input-level cap check resolves the
|
|
21
|
+
// repo-relative `file` input against the session cwd, not the clone.
|
|
22
|
+
isolation: {
|
|
23
|
+
capabilities: {
|
|
24
|
+
fs: {
|
|
25
|
+
read: ['$cwd/**', `${deps.moxxyDir}/self-update/**`],
|
|
26
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
27
|
+
},
|
|
28
|
+
net: { mode: 'none' },
|
|
29
|
+
timeMs: 15_000,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
18
32
|
handler: async (input, ctx) => {
|
|
19
33
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
20
34
|
const abs = safeRepoPath(journal.repoDir, input.file);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/core-tools/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,EAAgB;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,sMAAsM;QACxM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YACjG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/core-tools/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAkC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,EAAgB;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,sMAAsM;QACxM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YACjG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;oBACpD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;iBAC3C;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,MAAM;aACf;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,MAAM,EAGZ,MAAM,YAAY,CAAC;AAkBpB,OAAO,EAA+C,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAG7F,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,CAW1F;AAQD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAyD3B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,MAAM,EAGZ,MAAM,YAAY,CAAC;AAkBpB,OAAO,EAA+C,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAG7F,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,CAW1F;AAQD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAyD3B,CAAC;AAuXL,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -95,6 +95,8 @@ function classifyTool(deps) {
|
|
|
95
95
|
text: z.string().optional().describe('The user request or a short description of the problem.'),
|
|
96
96
|
}),
|
|
97
97
|
permission: { action: 'allow' },
|
|
98
|
+
// Pure in-memory: scans ctx.log and the registry snapshot.
|
|
99
|
+
isolation: { capabilities: { net: { mode: 'none' }, timeMs: 10_000 } },
|
|
98
100
|
handler: (input, ctx) => {
|
|
99
101
|
const signals = gatherSignals(ctx.log, deps.snapshot().tools ?? []);
|
|
100
102
|
return classify(input, signals);
|
|
@@ -114,6 +116,22 @@ function beginTool(deps) {
|
|
|
114
116
|
.describe('Plugin directory name or skill slug (no path separators).'),
|
|
115
117
|
}),
|
|
116
118
|
permission: { action: 'allow' },
|
|
119
|
+
// Snapshots the target (source-only — SNAPSHOT_EXCLUDE drops
|
|
120
|
+
// node_modules/.git/dist) into the txn dir; nothing outside ~/.moxxy moves.
|
|
121
|
+
isolation: {
|
|
122
|
+
capabilities: {
|
|
123
|
+
fs: {
|
|
124
|
+
read: [
|
|
125
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
126
|
+
`${deps.moxxyDir}/skills/**`,
|
|
127
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
128
|
+
],
|
|
129
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
130
|
+
},
|
|
131
|
+
net: { mode: 'none' },
|
|
132
|
+
timeMs: 30_000,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
117
135
|
handler: async (input, ctx) => {
|
|
118
136
|
// Single-flight per target (mirrors the Tier-2 core_begin guard): two
|
|
119
137
|
// concurrent begins on the same plugin/skill snapshot independently, so a
|
|
@@ -155,6 +173,32 @@ function verifyTool(deps) {
|
|
|
155
173
|
description: 'Build, test and load-check the change in a transaction, then hot-reload it into the live session. Returns the stage results and what registered. On failure of a modify, the previous working version is automatically restored. Refuses after 2 failed cycles (escalate to the user). Run AFTER your edits; if it passes, call self_update_apply.',
|
|
156
174
|
inputSchema: z.object({ txnId: z.string().min(1) }),
|
|
157
175
|
permission: { action: 'prompt' },
|
|
176
|
+
// Runs the target plugin's own package-manager install/build/test as child
|
|
177
|
+
// processes (npm by default; pnpm/yarn/bun via its `packageManager` field).
|
|
178
|
+
// net 'any' is honest: `install` fetches from whatever registry the
|
|
179
|
+
// plugin's toolchain is configured for, and plugin test suites may
|
|
180
|
+
// legitimately open sockets. Budget covers the three child stages, each
|
|
181
|
+
// capped at 5 minutes, plus the reload.
|
|
182
|
+
isolation: {
|
|
183
|
+
capabilities: {
|
|
184
|
+
subprocess: true,
|
|
185
|
+
commands: ['npm', 'pnpm', 'yarn', 'bun'],
|
|
186
|
+
net: { mode: 'any' },
|
|
187
|
+
fs: {
|
|
188
|
+
read: [
|
|
189
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
190
|
+
`${deps.moxxyDir}/skills/**`,
|
|
191
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
192
|
+
],
|
|
193
|
+
write: [
|
|
194
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
195
|
+
`${deps.moxxyDir}/skills/**`,
|
|
196
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
timeMs: 960_000,
|
|
200
|
+
},
|
|
201
|
+
},
|
|
158
202
|
handler: async (input, ctx) => {
|
|
159
203
|
const journal = await readJournal(deps.moxxyDir, input.txnId);
|
|
160
204
|
if (failedAttemptCount(journal) >= MAX_FAILED_ATTEMPTS) {
|
|
@@ -268,6 +312,16 @@ function applyTool(deps) {
|
|
|
268
312
|
description: 'Finalize a verified self-update transaction: mark it committed and prune old snapshots. The change is already live (loaded during verify); this is the keep-it confirmation. Requires a prior successful self_update_verify.',
|
|
269
313
|
inputSchema: z.object({ txnId: z.string().min(1) }),
|
|
270
314
|
permission: { action: 'prompt' },
|
|
315
|
+
isolation: {
|
|
316
|
+
capabilities: {
|
|
317
|
+
fs: {
|
|
318
|
+
read: [`${deps.moxxyDir}/self-update/**`],
|
|
319
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
320
|
+
},
|
|
321
|
+
net: { mode: 'none' },
|
|
322
|
+
timeMs: 30_000,
|
|
323
|
+
},
|
|
324
|
+
},
|
|
271
325
|
handler: async (input, ctx) => {
|
|
272
326
|
const journal = await readJournal(deps.moxxyDir, input.txnId);
|
|
273
327
|
if (journal.state !== 'verified') {
|
|
@@ -291,6 +345,25 @@ function rollbackTool(deps) {
|
|
|
291
345
|
reason: z.string().optional(),
|
|
292
346
|
}),
|
|
293
347
|
permission: { action: 'allow' },
|
|
348
|
+
// Restores the pre-change snapshot back over the live plugin/skill dir.
|
|
349
|
+
isolation: {
|
|
350
|
+
capabilities: {
|
|
351
|
+
fs: {
|
|
352
|
+
read: [
|
|
353
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
354
|
+
`${deps.moxxyDir}/skills/**`,
|
|
355
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
356
|
+
],
|
|
357
|
+
write: [
|
|
358
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
359
|
+
`${deps.moxxyDir}/skills/**`,
|
|
360
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
361
|
+
],
|
|
362
|
+
},
|
|
363
|
+
net: { mode: 'none' },
|
|
364
|
+
timeMs: 60_000,
|
|
365
|
+
},
|
|
366
|
+
},
|
|
294
367
|
handler: async (input, ctx) => {
|
|
295
368
|
const journal = await readJournal(deps.moxxyDir, input.txnId);
|
|
296
369
|
await restoreSnapshot(deps.moxxyDir, journal);
|
|
@@ -312,6 +385,13 @@ function statusTool(deps) {
|
|
|
312
385
|
description: 'List self-update transactions and their state (open / verified / committed / rolled_back / escalated).',
|
|
313
386
|
inputSchema: z.object({ txnId: z.string().optional() }),
|
|
314
387
|
permission: { action: 'allow' },
|
|
388
|
+
isolation: {
|
|
389
|
+
capabilities: {
|
|
390
|
+
fs: { read: [`${deps.moxxyDir}/self-update/**`] },
|
|
391
|
+
net: { mode: 'none' },
|
|
392
|
+
timeMs: 10_000,
|
|
393
|
+
},
|
|
394
|
+
},
|
|
315
395
|
handler: async (input) => {
|
|
316
396
|
const all = await listTransactions(deps.moxxyDir);
|
|
317
397
|
const rows = (input.txnId ? all.filter((j) => j.txnId === input.txnId) : all).map((j) => ({
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moxxy/plugin-self-update",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"description": "Model-callable self-update: guardrailed, transactional editing of moxxy's own plugins/skills (Tier 1, hot-reloaded) and core packages (Tier 2, build+overlay+restart). Every change is approval-gated, verified, and auto-rolled-back on failure. Disable to lock the code base.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"moxxy",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"zod": "^3.24.0",
|
|
46
|
-
"@moxxy/sdk": "0.
|
|
46
|
+
"@moxxy/sdk": "0.28.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/node": "^22.10.0",
|
package/src/core-tools/apply.ts
CHANGED
|
@@ -6,12 +6,25 @@ import { resolveCore, snapshotDir, type CoreToolDeps } from './shared.js';
|
|
|
6
6
|
// ── self_update_core_apply ──────────────────────────────────────────────────
|
|
7
7
|
export function coreApplyTool(cd: CoreToolDeps): ToolDef {
|
|
8
8
|
const { deps } = cd;
|
|
9
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
9
10
|
return defineTool({
|
|
10
11
|
name: 'self_update_core_apply',
|
|
11
12
|
description:
|
|
12
13
|
'Overlay the verified build into the live global install (snapshotting the previous dist for rollback) and stage a restart. The new core code only activates after moxxy restarts. Requires a prior successful self_update_core_verify.',
|
|
13
14
|
inputSchema: z.object({ coreTxnId: z.string().min(1) }),
|
|
14
15
|
permission: { action: 'prompt' },
|
|
16
|
+
// Swaps freshly-built dists into the live @moxxy install (snapshotting the
|
|
17
|
+
// old ones under the txn dir) — writes outside ~/.moxxy by design.
|
|
18
|
+
isolation: {
|
|
19
|
+
capabilities: {
|
|
20
|
+
fs: {
|
|
21
|
+
read: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
22
|
+
write: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
23
|
+
},
|
|
24
|
+
net: { mode: 'none' },
|
|
25
|
+
timeMs: 120_000,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
15
28
|
handler: async (input, ctx: ToolContext) => {
|
|
16
29
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
17
30
|
if (journal.state !== 'verified') {
|
package/src/core-tools/begin.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { resolveCore, type CoreToolDeps } from './shared.js';
|
|
|
14
14
|
// ── self_update_core_begin ──────────────────────────────────────────────────
|
|
15
15
|
export function coreBeginTool(cd: CoreToolDeps): ToolDef {
|
|
16
16
|
const { deps } = cd;
|
|
17
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
17
18
|
return defineTool({
|
|
18
19
|
name: 'self_update_core_begin',
|
|
19
20
|
description:
|
|
@@ -25,6 +26,22 @@ export function coreBeginTool(cd: CoreToolDeps): ToolDef {
|
|
|
25
26
|
.describe('Affected @moxxy/* package names, e.g. ["@moxxy/core"].'),
|
|
26
27
|
}),
|
|
27
28
|
permission: { action: 'prompt' },
|
|
29
|
+
// Provisions the pinned source clone under ~/.moxxy/self-update: git
|
|
30
|
+
// clone/fetch from the repo URL in the published @moxxy/core metadata (or
|
|
31
|
+
// the config override) plus a full `pnpm install` — the hosts are
|
|
32
|
+
// genuinely dynamic and first use legitimately takes minutes.
|
|
33
|
+
isolation: {
|
|
34
|
+
capabilities: {
|
|
35
|
+
subprocess: true,
|
|
36
|
+
commands: ['git', 'pnpm'],
|
|
37
|
+
net: { mode: 'any' },
|
|
38
|
+
fs: {
|
|
39
|
+
read: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
40
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
41
|
+
},
|
|
42
|
+
timeMs: 1_800_000,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
28
45
|
handler: async (input, ctx: ToolContext) => {
|
|
29
46
|
const install = resolveCore(cd);
|
|
30
47
|
if (!install) throw new Error('could not resolve the installed @moxxy/core — cannot self-update core');
|
package/src/core-tools/edit.ts
CHANGED
|
@@ -18,6 +18,20 @@ export function coreEditTool(cd: CoreToolDeps): ToolDef {
|
|
|
18
18
|
newString: z.string(),
|
|
19
19
|
}),
|
|
20
20
|
permission: { action: 'prompt' },
|
|
21
|
+
// All real I/O is confined to the provisioned clone + journal under
|
|
22
|
+
// ~/.moxxy/self-update (safeRepoPath refuses escapes). `$cwd/**` is
|
|
23
|
+
// declared read-only because the input-level cap check resolves the
|
|
24
|
+
// repo-relative `file` input against the session cwd, not the clone.
|
|
25
|
+
isolation: {
|
|
26
|
+
capabilities: {
|
|
27
|
+
fs: {
|
|
28
|
+
read: ['$cwd/**', `${deps.moxxyDir}/self-update/**`],
|
|
29
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
30
|
+
},
|
|
31
|
+
net: { mode: 'none' },
|
|
32
|
+
timeMs: 15_000,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
21
35
|
handler: async (input, ctx: ToolContext) => {
|
|
22
36
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
23
37
|
const abs = safeRepoPath(journal.repoDir, input.file);
|
|
@@ -4,12 +4,24 @@ import { resolveCore, type CoreToolDeps } from './shared.js';
|
|
|
4
4
|
|
|
5
5
|
// ── self_update_core_preflight ──────────────────────────────────────────────
|
|
6
6
|
export function corePreflightTool(cd: CoreToolDeps): ToolDef {
|
|
7
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
7
8
|
return defineTool({
|
|
8
9
|
name: 'self_update_core_preflight',
|
|
9
10
|
description:
|
|
10
11
|
'Read-only. Check whether a Tier-2 core patch is even possible: git + pnpm present, @moxxy/core resolvable, a pinned source commit (gitHead) and repo URL in its published metadata. Run this BEFORE attempting to patch @moxxy/core; if any check fails, do not start — tell the user.',
|
|
11
12
|
inputSchema: z.object({}),
|
|
12
13
|
permission: { action: 'allow' },
|
|
14
|
+
// Probes `git --version` / `pnpm --version` (10s cap each) and resolves
|
|
15
|
+
// the live install — a package.json read under the @moxxy scope dir.
|
|
16
|
+
isolation: {
|
|
17
|
+
capabilities: {
|
|
18
|
+
subprocess: true,
|
|
19
|
+
commands: ['git', 'pnpm'],
|
|
20
|
+
...(scopeDir ? { fs: { read: [`${scopeDir}/**`] } } : {}),
|
|
21
|
+
net: { mode: 'none' },
|
|
22
|
+
timeMs: 30_000,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
13
25
|
handler: async () => corePreflight(resolveCore(cd)),
|
|
14
26
|
});
|
|
15
27
|
}
|
|
@@ -6,12 +6,25 @@ import { resolveCore, snapshotDir, type CoreToolDeps } from './shared.js';
|
|
|
6
6
|
// ── self_update_core_rollback ───────────────────────────────────────────────
|
|
7
7
|
export function coreRollbackTool(cd: CoreToolDeps): ToolDef {
|
|
8
8
|
const { deps } = cd;
|
|
9
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
9
10
|
return defineTool({
|
|
10
11
|
name: 'self_update_core_rollback',
|
|
11
12
|
description:
|
|
12
13
|
'Undo a core overlay: restore the previous dist from the snapshot. A restart is required to drop the patched code. Use if a core patch built+loaded but misbehaves.',
|
|
13
14
|
inputSchema: z.object({ coreTxnId: z.string().min(1), reason: z.string().optional() }),
|
|
14
15
|
permission: { action: 'allow' },
|
|
16
|
+
// Restores the snapshotted dists back over the live @moxxy install —
|
|
17
|
+
// like core_apply, it writes outside ~/.moxxy by design.
|
|
18
|
+
isolation: {
|
|
19
|
+
capabilities: {
|
|
20
|
+
fs: {
|
|
21
|
+
read: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
22
|
+
write: [...(scopeDir ? [`${scopeDir}/**`] : []), `${deps.moxxyDir}/self-update/**`],
|
|
23
|
+
},
|
|
24
|
+
net: { mode: 'none' },
|
|
25
|
+
timeMs: 120_000,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
15
28
|
handler: async (input, ctx: ToolContext) => {
|
|
16
29
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
17
30
|
const install = resolveCore(cd);
|
package/src/core-tools/status.ts
CHANGED
|
@@ -10,6 +10,13 @@ export function coreStatusTool(cd: CoreToolDeps): ToolDef {
|
|
|
10
10
|
description: 'List Tier-2 core-update transactions and their state.',
|
|
11
11
|
inputSchema: z.object({}),
|
|
12
12
|
permission: { action: 'allow' },
|
|
13
|
+
isolation: {
|
|
14
|
+
capabilities: {
|
|
15
|
+
fs: { read: [`${deps.moxxyDir}/self-update/**`] },
|
|
16
|
+
net: { mode: 'none' },
|
|
17
|
+
timeMs: 10_000,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
13
20
|
handler: async () => {
|
|
14
21
|
const all = await listCoreTxns(deps.moxxyDir);
|
|
15
22
|
return {
|
package/src/core-tools/verify.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
1
2
|
import { defineTool, z, type ToolContext, type ToolDef } from '@moxxy/sdk';
|
|
2
3
|
import { readCoreJournal, verifyCorePackages, writeCoreJournal } from '../core-update.js';
|
|
3
4
|
import { emitSafe } from '../deps.js';
|
|
@@ -6,12 +7,34 @@ import { resolveCore, type CoreToolDeps } from './shared.js';
|
|
|
6
7
|
// ── self_update_core_verify ─────────────────────────────────────────────────
|
|
7
8
|
export function coreVerifyTool(cd: CoreToolDeps): ToolDef {
|
|
8
9
|
const { deps } = cd;
|
|
10
|
+
const scopeDir = resolveCore(cd)?.scopeDir;
|
|
9
11
|
return defineTool({
|
|
10
12
|
name: 'self_update_core_verify',
|
|
11
13
|
description:
|
|
12
14
|
'Build, typecheck and test the affected core packages (and their dependents) in the clone, and confirm the patch adds no new runtime dependency. Returns stage results. Run AFTER edits; nothing in the live install changes here.',
|
|
13
15
|
inputSchema: z.object({ coreTxnId: z.string().min(1) }),
|
|
14
16
|
permission: { action: 'prompt' },
|
|
17
|
+
// Runs `pnpm --filter … build/typecheck/test` in the provisioned clone —
|
|
18
|
+
// three child stages capped at 12 minutes each. The repo's own test suites
|
|
19
|
+
// legitimately bind localhost sockets, but no registry access is needed
|
|
20
|
+
// (deps were installed at core_begin) — hence the loopback-only allowlist.
|
|
21
|
+
// The read glob over the live install's node_modules root covers the
|
|
22
|
+
// added-runtime-deps presence probes.
|
|
23
|
+
isolation: {
|
|
24
|
+
capabilities: {
|
|
25
|
+
subprocess: true,
|
|
26
|
+
commands: ['pnpm'],
|
|
27
|
+
net: { mode: 'allowlist', hosts: ['localhost', '127.0.0.1', '::1'] },
|
|
28
|
+
fs: {
|
|
29
|
+
read: [
|
|
30
|
+
...(scopeDir ? [`${path.dirname(scopeDir)}/**`] : []),
|
|
31
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
32
|
+
],
|
|
33
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
34
|
+
},
|
|
35
|
+
timeMs: 2_400_000,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
15
38
|
handler: async (input, ctx: ToolContext) => {
|
|
16
39
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
17
40
|
const install = resolveCore(cd);
|
package/src/core-tools/write.ts
CHANGED
|
@@ -18,6 +18,20 @@ export function coreWriteTool(cd: CoreToolDeps): ToolDef {
|
|
|
18
18
|
content: z.string(),
|
|
19
19
|
}),
|
|
20
20
|
permission: { action: 'prompt' },
|
|
21
|
+
// All real I/O is confined to the provisioned clone + journal under
|
|
22
|
+
// ~/.moxxy/self-update (safeRepoPath refuses escapes). `$cwd/**` is
|
|
23
|
+
// declared read-only because the input-level cap check resolves the
|
|
24
|
+
// repo-relative `file` input against the session cwd, not the clone.
|
|
25
|
+
isolation: {
|
|
26
|
+
capabilities: {
|
|
27
|
+
fs: {
|
|
28
|
+
read: ['$cwd/**', `${deps.moxxyDir}/self-update/**`],
|
|
29
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
30
|
+
},
|
|
31
|
+
net: { mode: 'none' },
|
|
32
|
+
timeMs: 15_000,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
21
35
|
handler: async (input, ctx: ToolContext) => {
|
|
22
36
|
const journal = await readCoreJournal(deps.moxxyDir, input.coreTxnId);
|
|
23
37
|
const abs = safeRepoPath(journal.repoDir, input.file);
|
package/src/index.ts
CHANGED
|
@@ -156,6 +156,8 @@ function classifyTool(deps: SelfUpdateDeps): ToolDef {
|
|
|
156
156
|
text: z.string().optional().describe('The user request or a short description of the problem.'),
|
|
157
157
|
}),
|
|
158
158
|
permission: { action: 'allow' },
|
|
159
|
+
// Pure in-memory: scans ctx.log and the registry snapshot.
|
|
160
|
+
isolation: { capabilities: { net: { mode: 'none' }, timeMs: 10_000 } },
|
|
159
161
|
handler: (input, ctx: ToolContext) => {
|
|
160
162
|
const signals = gatherSignals(ctx.log, deps.snapshot().tools ?? []);
|
|
161
163
|
return classify(input, signals);
|
|
@@ -177,6 +179,22 @@ function beginTool(deps: SelfUpdateDeps): ToolDef {
|
|
|
177
179
|
.describe('Plugin directory name or skill slug (no path separators).'),
|
|
178
180
|
}),
|
|
179
181
|
permission: { action: 'allow' },
|
|
182
|
+
// Snapshots the target (source-only — SNAPSHOT_EXCLUDE drops
|
|
183
|
+
// node_modules/.git/dist) into the txn dir; nothing outside ~/.moxxy moves.
|
|
184
|
+
isolation: {
|
|
185
|
+
capabilities: {
|
|
186
|
+
fs: {
|
|
187
|
+
read: [
|
|
188
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
189
|
+
`${deps.moxxyDir}/skills/**`,
|
|
190
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
191
|
+
],
|
|
192
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
193
|
+
},
|
|
194
|
+
net: { mode: 'none' },
|
|
195
|
+
timeMs: 30_000,
|
|
196
|
+
},
|
|
197
|
+
},
|
|
180
198
|
handler: async (input, ctx: ToolContext) => {
|
|
181
199
|
// Single-flight per target (mirrors the Tier-2 core_begin guard): two
|
|
182
200
|
// concurrent begins on the same plugin/skill snapshot independently, so a
|
|
@@ -225,6 +243,32 @@ function verifyTool(deps: SelfUpdateDeps): ToolDef {
|
|
|
225
243
|
'Build, test and load-check the change in a transaction, then hot-reload it into the live session. Returns the stage results and what registered. On failure of a modify, the previous working version is automatically restored. Refuses after 2 failed cycles (escalate to the user). Run AFTER your edits; if it passes, call self_update_apply.',
|
|
226
244
|
inputSchema: z.object({ txnId: z.string().min(1) }),
|
|
227
245
|
permission: { action: 'prompt' },
|
|
246
|
+
// Runs the target plugin's own package-manager install/build/test as child
|
|
247
|
+
// processes (npm by default; pnpm/yarn/bun via its `packageManager` field).
|
|
248
|
+
// net 'any' is honest: `install` fetches from whatever registry the
|
|
249
|
+
// plugin's toolchain is configured for, and plugin test suites may
|
|
250
|
+
// legitimately open sockets. Budget covers the three child stages, each
|
|
251
|
+
// capped at 5 minutes, plus the reload.
|
|
252
|
+
isolation: {
|
|
253
|
+
capabilities: {
|
|
254
|
+
subprocess: true,
|
|
255
|
+
commands: ['npm', 'pnpm', 'yarn', 'bun'],
|
|
256
|
+
net: { mode: 'any' },
|
|
257
|
+
fs: {
|
|
258
|
+
read: [
|
|
259
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
260
|
+
`${deps.moxxyDir}/skills/**`,
|
|
261
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
262
|
+
],
|
|
263
|
+
write: [
|
|
264
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
265
|
+
`${deps.moxxyDir}/skills/**`,
|
|
266
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
267
|
+
],
|
|
268
|
+
},
|
|
269
|
+
timeMs: 960_000,
|
|
270
|
+
},
|
|
271
|
+
},
|
|
228
272
|
handler: async (input, ctx: ToolContext) => {
|
|
229
273
|
const journal = await readJournal(deps.moxxyDir, input.txnId);
|
|
230
274
|
|
|
@@ -356,6 +400,16 @@ function applyTool(deps: SelfUpdateDeps): ToolDef {
|
|
|
356
400
|
'Finalize a verified self-update transaction: mark it committed and prune old snapshots. The change is already live (loaded during verify); this is the keep-it confirmation. Requires a prior successful self_update_verify.',
|
|
357
401
|
inputSchema: z.object({ txnId: z.string().min(1) }),
|
|
358
402
|
permission: { action: 'prompt' },
|
|
403
|
+
isolation: {
|
|
404
|
+
capabilities: {
|
|
405
|
+
fs: {
|
|
406
|
+
read: [`${deps.moxxyDir}/self-update/**`],
|
|
407
|
+
write: [`${deps.moxxyDir}/self-update/**`],
|
|
408
|
+
},
|
|
409
|
+
net: { mode: 'none' },
|
|
410
|
+
timeMs: 30_000,
|
|
411
|
+
},
|
|
412
|
+
},
|
|
359
413
|
handler: async (input, ctx: ToolContext) => {
|
|
360
414
|
const journal = await readJournal(deps.moxxyDir, input.txnId);
|
|
361
415
|
if (journal.state !== 'verified') {
|
|
@@ -383,6 +437,25 @@ function rollbackTool(deps: SelfUpdateDeps): ToolDef {
|
|
|
383
437
|
reason: z.string().optional(),
|
|
384
438
|
}),
|
|
385
439
|
permission: { action: 'allow' },
|
|
440
|
+
// Restores the pre-change snapshot back over the live plugin/skill dir.
|
|
441
|
+
isolation: {
|
|
442
|
+
capabilities: {
|
|
443
|
+
fs: {
|
|
444
|
+
read: [
|
|
445
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
446
|
+
`${deps.moxxyDir}/skills/**`,
|
|
447
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
448
|
+
],
|
|
449
|
+
write: [
|
|
450
|
+
`${deps.moxxyDir}/plugins/**`,
|
|
451
|
+
`${deps.moxxyDir}/skills/**`,
|
|
452
|
+
`${deps.moxxyDir}/self-update/**`,
|
|
453
|
+
],
|
|
454
|
+
},
|
|
455
|
+
net: { mode: 'none' },
|
|
456
|
+
timeMs: 60_000,
|
|
457
|
+
},
|
|
458
|
+
},
|
|
386
459
|
handler: async (input, ctx: ToolContext) => {
|
|
387
460
|
const journal = await readJournal(deps.moxxyDir, input.txnId);
|
|
388
461
|
await restoreSnapshot(deps.moxxyDir, journal);
|
|
@@ -405,6 +478,13 @@ function statusTool(deps: SelfUpdateDeps): ToolDef {
|
|
|
405
478
|
description: 'List self-update transactions and their state (open / verified / committed / rolled_back / escalated).',
|
|
406
479
|
inputSchema: z.object({ txnId: z.string().optional() }),
|
|
407
480
|
permission: { action: 'allow' },
|
|
481
|
+
isolation: {
|
|
482
|
+
capabilities: {
|
|
483
|
+
fs: { read: [`${deps.moxxyDir}/self-update/**`] },
|
|
484
|
+
net: { mode: 'none' },
|
|
485
|
+
timeMs: 10_000,
|
|
486
|
+
},
|
|
487
|
+
},
|
|
408
488
|
handler: async (input) => {
|
|
409
489
|
const all = await listTransactions(deps.moxxyDir);
|
|
410
490
|
const rows = (input.txnId ? all.filter((j) => j.txnId === input.txnId) : all).map((j) => ({
|