@moxxy/plugin-self-update 0.26.0 → 0.27.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.
Files changed (37) hide show
  1. package/dist/core-tools/apply.d.ts.map +1 -1
  2. package/dist/core-tools/apply.js +13 -0
  3. package/dist/core-tools/apply.js.map +1 -1
  4. package/dist/core-tools/begin.d.ts.map +1 -1
  5. package/dist/core-tools/begin.js +17 -0
  6. package/dist/core-tools/begin.js.map +1 -1
  7. package/dist/core-tools/edit.d.ts.map +1 -1
  8. package/dist/core-tools/edit.js +14 -0
  9. package/dist/core-tools/edit.js.map +1 -1
  10. package/dist/core-tools/preflight.d.ts.map +1 -1
  11. package/dist/core-tools/preflight.js +12 -0
  12. package/dist/core-tools/preflight.js.map +1 -1
  13. package/dist/core-tools/rollback.d.ts.map +1 -1
  14. package/dist/core-tools/rollback.js +13 -0
  15. package/dist/core-tools/rollback.js.map +1 -1
  16. package/dist/core-tools/status.d.ts.map +1 -1
  17. package/dist/core-tools/status.js +7 -0
  18. package/dist/core-tools/status.js.map +1 -1
  19. package/dist/core-tools/verify.d.ts.map +1 -1
  20. package/dist/core-tools/verify.js +23 -0
  21. package/dist/core-tools/verify.js.map +1 -1
  22. package/dist/core-tools/write.d.ts.map +1 -1
  23. package/dist/core-tools/write.js +14 -0
  24. package/dist/core-tools/write.js.map +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +80 -0
  27. package/dist/index.js.map +1 -1
  28. package/package.json +2 -2
  29. package/src/core-tools/apply.ts +13 -0
  30. package/src/core-tools/begin.ts +17 -0
  31. package/src/core-tools/edit.ts +14 -0
  32. package/src/core-tools/preflight.ts +12 -0
  33. package/src/core-tools/rollback.ts +13 -0
  34. package/src/core-tools/status.ts +7 -0
  35. package/src/core-tools/verify.ts +23 -0
  36. package/src/core-tools/write.ts +14 -0
  37. 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,CAqCvD"}
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"}
@@ -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,CA+EvD"}
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"}
@@ -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,CAyBtD"}
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"}
@@ -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,CAS3D"}
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,CAuB1D"}
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,CAoBxD"}
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":"AAAA,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,CAgCxD"}
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,CAqBvD"}
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"}
@@ -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"}
@@ -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;AAuSL,eAAe,gBAAgB,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":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,CAAC,GAMF,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,GAGb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAuB,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,GAGd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,qBAAqB,CAAC,IAAoB,EAAE,KAAsB;IAChF,MAAM,KAAK,GAAc;QACvB,YAAY,CAAC,IAAI,CAAC;QAClB,SAAS,CAAC,IAAI,CAAC;QACf,UAAU,CAAC,IAAI,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC;QACf,YAAY,CAAC,IAAI,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC;KACjB,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAQD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,CAAC,GAAG,EAAE;IAC5C,IAAI,IAAI,GAA0B,IAAI,CAAC;IACvC,IAAI,UAAU,GAAoC,IAAI,CAAC;IACvD,IAAI,WAAW,GAAgD,IAAI,CAAC;IACpE,IAAI,OAAO,GAA4B,EAAE,CAAC;IAE1C,MAAM,IAAI,GAAmB;QAC3B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;QACjD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;QACzD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,GAAG,EAAE,CACZ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,WAAW;YACT,CAAC,CAAC,WAAW,CAAC;gBACV,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;QACvB,IAAI,cAAc;YAChB,OAAO,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,CAAC;QACD,UAAU,EAAE;YACV,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;YACjD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACxB,IAAI,eAAe;gBACjB,OAAO,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,CAAC;SACF;KACF,CAAC;IAEF,MAAM,KAAK,GAAmB;QAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACd,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAiB,YAAY,CAAC,IAAI,IAAI,CAAC;YAC9D,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAyB,kBAAkB,CAAC,IAAI,IAAI,CAAC;YAClF,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAqC,aAAa,CAAC,IAAI,IAAI,CAAC;YAC1F,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CACjC,kBAAkB,CACnB,CAAC;YACF,OAAO,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;IAEF,OAAO,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC,EAAE,CAAC;AAEL,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAoB;IACxC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,oWAAoW;QACtW,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAClG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;SAChG,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAgB,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gRAAgR;QAClR,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjC,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,2DAA2D,CAAC;SACzE,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,sEAAsE;YACtE,0EAA0E;YAC1E,sEAAsE;YACtE,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CACvF,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4CAA4C,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI;oBACvE,QAAQ,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,KAAK,sCAAsC;oBAClF,wEAAwE,MAAM,CAAC,KAAK,OAAO;oBAC3F,0BAA0B,CAC7B,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxG,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE;gBACjC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,IAAI,EAAE,qEAAqE;aAC5E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,IAAoB;IACtC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oVAAoV;QACtV,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAE9D,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBACvD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,+BAA+B,CAAC,CAAC;gBACpE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,kBAAkB,mBAAmB,+FAA+F;oBAC7I,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC9B,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;gBACnC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtG,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC9D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,CAAC;oBACD,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACR,oEAAoE;oBACpE,sEAAsE;oBACtE,gEAAgE;oBAChE,kEAAkE;oBAClE,IAAI,SAAS;wBAAE,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;oBAC7C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9F,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,GAAG;oBACb,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;iBAClF,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;YAC3B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChG,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,IAAI,EAAE,qFAAqF;aAC5F,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAUD,KAAK,UAAU,YAAY,CAAC,IAAoB,EAAE,OAAgB;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;IAChH,CAAC;IAED,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;IACvG,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACrE,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,4FAA4F;SACtG,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,8DAA8D;YACvE,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAgB;IACzC,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,yEAAyE;QAClF,MAAM,EAAE,CAAC,CAAC,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,8NAA8N;QAChO,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,eAAe,KAAK,CAAC,KAAK,QAAQ,OAAO,CAAC,KAAK,kDAAkD,CAClG,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;YAC5B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAoB;IACxC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,iMAAiM;QACnM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;YAC9B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACtF,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,IAAoB;IACtC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,wGAAwG;QACrH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBACrC,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAoB,EAAE,GAAgB,EAAE,OAAgB,EAAE,MAAc;IAC9F,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QAC7D,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAClC,oEAAoE;QACpE,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;IAC5B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,0EAA0E;AAC1E,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,CAAC,GAMF,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,GAGb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAuB,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,GAGd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,qBAAqB,CAAC,IAAoB,EAAE,KAAsB;IAChF,MAAM,KAAK,GAAc;QACvB,YAAY,CAAC,IAAI,CAAC;QAClB,SAAS,CAAC,IAAI,CAAC;QACf,UAAU,CAAC,IAAI,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC;QACf,YAAY,CAAC,IAAI,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC;KACjB,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAQD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,CAAC,GAAG,EAAE;IAC5C,IAAI,IAAI,GAA0B,IAAI,CAAC;IACvC,IAAI,UAAU,GAAoC,IAAI,CAAC;IACvD,IAAI,WAAW,GAAgD,IAAI,CAAC;IACpE,IAAI,OAAO,GAA4B,EAAE,CAAC;IAE1C,MAAM,IAAI,GAAmB;QAC3B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;QACjD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;QACzD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,GAAG,EAAE,CACZ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,WAAW;YACT,CAAC,CAAC,WAAW,CAAC;gBACV,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;QACvB,IAAI,cAAc;YAChB,OAAO,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,CAAC;QACD,UAAU,EAAE;YACV,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;YACjD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACxB,IAAI,eAAe;gBACjB,OAAO,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,CAAC;SACF;KACF,CAAC;IAEF,MAAM,KAAK,GAAmB;QAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACd,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAiB,YAAY,CAAC,IAAI,IAAI,CAAC;YAC9D,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAyB,kBAAkB,CAAC,IAAI,IAAI,CAAC;YAClF,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAqC,aAAa,CAAC,IAAI,IAAI,CAAC;YAC1F,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CACjC,kBAAkB,CACnB,CAAC;YACF,OAAO,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;IAEF,OAAO,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC,EAAE,CAAC;AAEL,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAoB;IACxC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,oWAAoW;QACtW,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAClG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;SAChG,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,2DAA2D;QAC3D,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACtE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAgB,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gRAAgR;QAClR,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjC,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,2DAA2D,CAAC;SACzE,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,6DAA6D;QAC7D,4EAA4E;QAC5E,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE;oBACF,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,QAAQ,aAAa;wBAC7B,GAAG,IAAI,CAAC,QAAQ,YAAY;wBAC5B,GAAG,IAAI,CAAC,QAAQ,iBAAiB;qBAClC;oBACD,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,sEAAsE;YACtE,0EAA0E;YAC1E,sEAAsE;YACtE,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CACvF,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4CAA4C,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI;oBACvE,QAAQ,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,KAAK,sCAAsC;oBAClF,wEAAwE,MAAM,CAAC,KAAK,OAAO;oBAC3F,0BAA0B,CAC7B,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxG,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE;gBACjC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,IAAI,EAAE,qEAAqE;aAC5E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,IAAoB;IACtC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oVAAoV;QACtV,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,2EAA2E;QAC3E,4EAA4E;QAC5E,oEAAoE;QACpE,mEAAmE;QACnE,wEAAwE;QACxE,wCAAwC;QACxC,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpB,EAAE,EAAE;oBACF,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,QAAQ,aAAa;wBAC7B,GAAG,IAAI,CAAC,QAAQ,YAAY;wBAC5B,GAAG,IAAI,CAAC,QAAQ,iBAAiB;qBAClC;oBACD,KAAK,EAAE;wBACL,GAAG,IAAI,CAAC,QAAQ,aAAa;wBAC7B,GAAG,IAAI,CAAC,QAAQ,YAAY;wBAC5B,GAAG,IAAI,CAAC,QAAQ,iBAAiB;qBAClC;iBACF;gBACD,MAAM,EAAE,OAAO;aAChB;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAE9D,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBACvD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,+BAA+B,CAAC,CAAC;gBACpE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,kBAAkB,mBAAmB,+FAA+F;oBAC7I,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC9B,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;gBACnC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtG,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC9D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,CAAC;oBACD,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACR,oEAAoE;oBACpE,sEAAsE;oBACtE,gEAAgE;oBAChE,kEAAkE;oBAClE,IAAI,SAAS;wBAAE,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;oBAC7C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9F,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,GAAG;oBACb,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;iBAClF,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;YAC3B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChG,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,IAAI,EAAE,qFAAqF;aAC5F,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAUD,KAAK,UAAU,YAAY,CAAC,IAAoB,EAAE,OAAgB;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;IAChH,CAAC;IAED,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;IACvG,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACrE,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,4FAA4F;SACtG,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,8DAA8D;YACvE,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAgB;IACzC,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,yEAAyE;QAClF,MAAM,EAAE,CAAC,CAAC,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,8NAA8N;QAChO,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE;oBACF,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;oBACzC,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,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,eAAe,KAAK,CAAC,KAAK,QAAQ,OAAO,CAAC,KAAK,kDAAkD,CAClG,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;YAC5B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAoB;IACxC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,iMAAiM;QACnM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACF,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC/B,wEAAwE;QACxE,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE;oBACF,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,QAAQ,aAAa;wBAC7B,GAAG,IAAI,CAAC,QAAQ,YAAY;wBAC5B,GAAG,IAAI,CAAC,QAAQ,iBAAiB;qBAClC;oBACD,KAAK,EAAE;wBACL,GAAG,IAAI,CAAC,QAAQ,aAAa;wBAC7B,GAAG,IAAI,CAAC,QAAQ,YAAY;wBAC5B,GAAG,IAAI,CAAC,QAAQ,iBAAiB;qBAClC;iBACF;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,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;YAC9B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACtF,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,IAAoB;IACtC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,wGAAwG;QACrH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,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,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBACrC,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAoB,EAAE,GAAgB,EAAE,OAAgB,EAAE,MAAc;IAC9F,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QAC7D,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAClC,oEAAoE;QACpE,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;IAC5B,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,0EAA0E;AAC1E,eAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moxxy/plugin-self-update",
3
- "version": "0.26.0",
3
+ "version": "0.27.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.26.0"
46
+ "@moxxy/sdk": "0.27.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^22.10.0",
@@ -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') {
@@ -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');
@@ -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);
@@ -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 {
@@ -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);
@@ -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) => ({