@groundnuty/macf 0.2.12 → 0.2.13

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.
@@ -1,4 +1,4 @@
1
1
  {
2
- "commit": "4a630a48baedf5bc08efd2b03d2ada0cd48166ad",
3
- "built_at": "2026-05-01T17:20:06.189Z"
2
+ "commit": "c4e6da796b9a9e5b4b181fa8ad0972709486a240",
3
+ "built_at": "2026-05-01T18:05:12.117Z"
4
4
  }
@@ -16,35 +16,23 @@ import { getOwnRegistration, listPeers } from '../lib/registry.js';
16
16
  import { pingAgent } from '../lib/health.js';
17
17
  import { probePeerHealth } from '../lib/probe-peer-health.js';
18
18
  import { buildDashboardHealth } from '../lib/build-dashboard-health.js';
19
+ import { getRegistryConfig } from '../lib/registry-config.js';
19
20
  import { checkIssues } from '../lib/work.js';
20
21
  import { createRegistryFromConfig } from '@groundnuty/macf-core';
21
22
  import { generateToken } from '@groundnuty/macf-core';
22
23
  import { toVariableSegment } from '@groundnuty/macf-core';
23
24
  const command = process.argv[2];
24
- function getRegistryConfig() {
25
- const repoEnv = process.env['MACF_REGISTRY_REPO'];
26
- if (repoEnv) {
27
- const parts = repoEnv.split('/');
28
- if (parts.length === 2 && parts[0] && parts[1]) {
29
- return { type: 'repo', owner: parts[0], repo: parts[1] };
30
- }
31
- }
32
- const orgEnv = process.env['MACF_REGISTRY_ORG'];
33
- if (orgEnv)
34
- return { type: 'org', org: orgEnv };
35
- const userEnv = process.env['MACF_REGISTRY_USER'];
36
- if (userEnv)
37
- return { type: 'profile', user: userEnv };
38
- // Default fallback
39
- return { type: 'repo', owner: 'groundnuty', repo: 'macf' };
40
- }
41
25
  async function main() {
42
26
  const agentName = process.env['MACF_AGENT_NAME'] ?? 'unknown';
43
27
  const project = process.env['MACF_PROJECT'] ?? 'MACF';
44
28
  const registryConfig = getRegistryConfig();
45
29
  switch (command) {
46
30
  case 'status': {
47
- const token = await generateToken();
31
+ // Local-mode skip-token: LocalRegistryClient ignores the token argument
32
+ // (no GitHub backend); generateToken() requires APP_ID/INSTALL_ID/KEY_PATH
33
+ // env vars which claude.sh intentionally doesn't export in local mode
34
+ // per DR-024 / PR #329. Mirrors `channel-server/src/server.ts` line 210.
35
+ const token = registryConfig.type === 'local' ? '' : await generateToken();
48
36
  const registry = createRegistryFromConfig(registryConfig, project, token);
49
37
  // Fetch own registration from the registry so the dashboard header
50
38
  // reflects whether THIS agent is actually registered (see #84 —
@@ -58,7 +46,8 @@ async function main() {
58
46
  break;
59
47
  }
60
48
  case 'peers': {
61
- const token = await generateToken();
49
+ // Local-mode skip-token (see status case for rationale).
50
+ const token = registryConfig.type === 'local' ? '' : await generateToken();
62
51
  const registry = createRegistryFromConfig(registryConfig, project, token);
63
52
  const peers = await listPeers(registry);
64
53
  const peersWithHealth = await Promise.all(peers.map(async (p) => ({ ...p, health: await probePeerHealth(p) })));
@@ -83,7 +72,8 @@ async function main() {
83
72
  process.exitCode = 1;
84
73
  return;
85
74
  }
86
- const token = await generateToken();
75
+ // Local-mode skip-token (see status case for rationale).
76
+ const token = registryConfig.type === 'local' ? '' : await generateToken();
87
77
  const registry = createRegistryFromConfig(registryConfig, project, token);
88
78
  // Look up the target in the registry. Names in the registry are
89
79
  // sanitized (uppercase, underscores), so match in that space.
@@ -1 +1 @@
1
- {"version":3,"file":"macf-plugin-cli.js","sourceRoot":"","sources":["../../../src/plugin/bin/macf-plugin-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macf-plugin-cli.js","sourceRoot":"","sources":["../../../src/plugin/bin/macf-plugin-cli.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type { OwnRegistration, PeerEntry } from './registry.js';
3
3
  export { pingAgent } from './health.js';
4
4
  export { probePeerHealth } from './probe-peer-health.js';
5
5
  export { buildDashboardHealth } from './build-dashboard-health.js';
6
+ export { getRegistryConfig } from './registry-config.js';
6
7
  export { checkIssues } from './work.js';
7
8
  export type { PendingIssue } from './work.js';
8
9
  export { formatDashboard, formatPeerTable, formatIssues } from './format.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -2,6 +2,7 @@ export { getOwnRegistration, listPeers } from './registry.js';
2
2
  export { pingAgent } from './health.js';
3
3
  export { probePeerHealth } from './probe-peer-health.js';
4
4
  export { buildDashboardHealth } from './build-dashboard-health.js';
5
+ export { getRegistryConfig } from './registry-config.js';
5
6
  export { checkIssues } from './work.js';
6
7
  export { formatDashboard, formatPeerTable, formatIssues } from './format.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { RegistryConfig } from '@groundnuty/macf-core';
2
+ /**
3
+ * Build a `RegistryConfig` from `claude.sh`-exported env vars.
4
+ *
5
+ * Env-var → variant mapping (matches `claude.sh` template's
6
+ * `registryEnvLines()` for each registry type):
7
+ *
8
+ * - `MACF_REGISTRY_TYPE=local` + `MACF_REGISTRY_PATH=<abs-path>` — DR-024
9
+ * local mode (sister to DR-010). Path is required when type is `local`;
10
+ * throws with a fix-it diagnostic if missing.
11
+ * - `MACF_REGISTRY_REPO=<owner>/<repo>` — repo-scoped GitHub Variables.
12
+ * - `MACF_REGISTRY_ORG=<org>` — org-scoped GitHub Variables.
13
+ * - `MACF_REGISTRY_USER=<user>` — profile-scoped GitHub Variables.
14
+ *
15
+ * Default fallback: `groundnuty/macf` repo (preserves pre-DR-024 behaviour
16
+ * for plugin invocations outside a launched workspace, e.g. one-off CLI
17
+ * use against the framework repo).
18
+ *
19
+ * Local mode wins over repo/org/profile env vars when both are set —
20
+ * `MACF_REGISTRY_TYPE` is the explicit signal claude.sh exports for
21
+ * mode selection.
22
+ *
23
+ * Surfaced by macf#332 — pre-fix, the function ignored
24
+ * `MACF_REGISTRY_TYPE=local` entirely and fell through to the default
25
+ * fallback, so `/macf-peers` etc. dispatched to a GitHub registry path
26
+ * that then required App-cred env vars. Critical regression for v0.2.12
27
+ * local-mode consumers.
28
+ */
29
+ export declare function getRegistryConfig(env?: NodeJS.ProcessEnv): RegistryConfig;
30
+ //# sourceMappingURL=registry-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-config.d.ts","sourceRoot":"","sources":["../../../src/plugin/lib/registry-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAuBtF"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Build a `RegistryConfig` from `claude.sh`-exported env vars.
3
+ *
4
+ * Env-var → variant mapping (matches `claude.sh` template's
5
+ * `registryEnvLines()` for each registry type):
6
+ *
7
+ * - `MACF_REGISTRY_TYPE=local` + `MACF_REGISTRY_PATH=<abs-path>` — DR-024
8
+ * local mode (sister to DR-010). Path is required when type is `local`;
9
+ * throws with a fix-it diagnostic if missing.
10
+ * - `MACF_REGISTRY_REPO=<owner>/<repo>` — repo-scoped GitHub Variables.
11
+ * - `MACF_REGISTRY_ORG=<org>` — org-scoped GitHub Variables.
12
+ * - `MACF_REGISTRY_USER=<user>` — profile-scoped GitHub Variables.
13
+ *
14
+ * Default fallback: `groundnuty/macf` repo (preserves pre-DR-024 behaviour
15
+ * for plugin invocations outside a launched workspace, e.g. one-off CLI
16
+ * use against the framework repo).
17
+ *
18
+ * Local mode wins over repo/org/profile env vars when both are set —
19
+ * `MACF_REGISTRY_TYPE` is the explicit signal claude.sh exports for
20
+ * mode selection.
21
+ *
22
+ * Surfaced by macf#332 — pre-fix, the function ignored
23
+ * `MACF_REGISTRY_TYPE=local` entirely and fell through to the default
24
+ * fallback, so `/macf-peers` etc. dispatched to a GitHub registry path
25
+ * that then required App-cred env vars. Critical regression for v0.2.12
26
+ * local-mode consumers.
27
+ */
28
+ export function getRegistryConfig(env = process.env) {
29
+ if (env['MACF_REGISTRY_TYPE'] === 'local') {
30
+ const path = env['MACF_REGISTRY_PATH'];
31
+ if (!path) {
32
+ throw new Error('MACF_REGISTRY_TYPE=local but MACF_REGISTRY_PATH is not set. ' +
33
+ 'Run `macf init --local` to regenerate claude.sh, or set MACF_REGISTRY_PATH manually.');
34
+ }
35
+ return { type: 'local', path };
36
+ }
37
+ const repoEnv = env['MACF_REGISTRY_REPO'];
38
+ if (repoEnv) {
39
+ const parts = repoEnv.split('/');
40
+ if (parts.length === 2 && parts[0] && parts[1]) {
41
+ return { type: 'repo', owner: parts[0], repo: parts[1] };
42
+ }
43
+ }
44
+ const orgEnv = env['MACF_REGISTRY_ORG'];
45
+ if (orgEnv)
46
+ return { type: 'org', org: orgEnv };
47
+ const userEnv = env['MACF_REGISTRY_USER'];
48
+ if (userEnv)
49
+ return { type: 'profile', user: userEnv };
50
+ return { type: 'repo', owner: 'groundnuty', repo: 'macf' };
51
+ }
52
+ //# sourceMappingURL=registry-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-config.js","sourceRoot":"","sources":["../../../src/plugin/lib/registry-config.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACpE,IAAI,GAAG,CAAC,oBAAoB,CAAC,KAAK,OAAO,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC9D,sFAAsF,CACvF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1C,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groundnuty/macf",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "Multi-Agent Coordination Framework CLI — coordinate Claude Code agents via GitHub. Installs as `macf` binary; use `macf init` to set up an agent workspace, `macf update` to refresh rules + version pins.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,7 +35,7 @@
35
35
  "test:watch": "vitest"
36
36
  },
37
37
  "dependencies": {
38
- "@groundnuty/macf-core": "0.2.12",
38
+ "@groundnuty/macf-core": "0.2.13",
39
39
  "commander": "^14.0.3",
40
40
  "reflect-metadata": "^0.2.2",
41
41
  "zod": "^4.0.0"