@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.
- package/dist/.build-info.json +2 -2
- package/dist/plugin/bin/macf-plugin-cli.js +10 -20
- package/dist/plugin/bin/macf-plugin-cli.js.map +1 -1
- package/dist/plugin/lib/index.d.ts +1 -0
- package/dist/plugin/lib/index.d.ts.map +1 -1
- package/dist/plugin/lib/index.js +1 -0
- package/dist/plugin/lib/index.js.map +1 -1
- package/dist/plugin/lib/registry-config.d.ts +30 -0
- package/dist/plugin/lib/registry-config.d.ts.map +1 -0
- package/dist/plugin/lib/registry-config.js +52 -0
- package/dist/plugin/lib/registry-config.js.map +1 -0
- package/package.json +2 -2
package/dist/.build-info.json
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";AACA;;;;;;;;;GASG;AACH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
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"}
|
package/dist/plugin/lib/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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"
|