@nepopsx/cli 0.0.26 → 0.1.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 (60) hide show
  1. package/dist/agents/catalog.d.ts +6 -0
  2. package/dist/agents/catalog.d.ts.map +1 -1
  3. package/dist/agents/catalog.js.map +1 -1
  4. package/dist/agents/remote-config.d.ts +26 -5
  5. package/dist/agents/remote-config.d.ts.map +1 -1
  6. package/dist/agents/remote-config.js +16 -4
  7. package/dist/agents/remote-config.js.map +1 -1
  8. package/dist/commands/import-agents.d.ts.map +1 -1
  9. package/dist/commands/import-agents.js +133 -8
  10. package/dist/commands/import-agents.js.map +1 -1
  11. package/dist/commands/install.d.ts +2 -1
  12. package/dist/commands/install.d.ts.map +1 -1
  13. package/dist/commands/install.js +85 -19
  14. package/dist/commands/install.js.map +1 -1
  15. package/dist/commands/sync.d.ts.map +1 -1
  16. package/dist/commands/sync.js +22 -6
  17. package/dist/commands/sync.js.map +1 -1
  18. package/dist/generator/render.d.ts.map +1 -1
  19. package/dist/generator/render.js +4 -0
  20. package/dist/generator/render.js.map +1 -1
  21. package/dist/hooks/capture-hooks.d.ts +15 -1
  22. package/dist/hooks/capture-hooks.d.ts.map +1 -1
  23. package/dist/hooks/capture-hooks.js +20 -2
  24. package/dist/hooks/capture-hooks.js.map +1 -1
  25. package/dist/hooks/capture-hooks.test.js +40 -1
  26. package/dist/hooks/capture-hooks.test.js.map +1 -1
  27. package/dist/hooks/wire-loop.d.ts +21 -0
  28. package/dist/hooks/wire-loop.d.ts.map +1 -0
  29. package/dist/hooks/wire-loop.js +42 -0
  30. package/dist/hooks/wire-loop.js.map +1 -0
  31. package/dist/import/agents/agent-adapter.d.ts +6 -0
  32. package/dist/import/agents/agent-adapter.d.ts.map +1 -1
  33. package/dist/import/agents/agent-adapter.js +3 -0
  34. package/dist/import/agents/agent-adapter.js.map +1 -1
  35. package/dist/import/agents/artifact-parser.d.ts +8 -1
  36. package/dist/import/agents/artifact-parser.d.ts.map +1 -1
  37. package/dist/import/agents/artifact-parser.js +27 -0
  38. package/dist/import/agents/artifact-parser.js.map +1 -1
  39. package/dist/import/agents/claude-code-adapter.d.ts.map +1 -1
  40. package/dist/import/agents/claude-code-adapter.js +1 -0
  41. package/dist/import/agents/claude-code-adapter.js.map +1 -1
  42. package/dist/import/agents/copilot-agent-adapter.d.ts.map +1 -1
  43. package/dist/import/agents/copilot-agent-adapter.js +6 -0
  44. package/dist/import/agents/copilot-agent-adapter.js.map +1 -1
  45. package/dist/import/agents/scanner.d.ts +8 -0
  46. package/dist/import/agents/scanner.d.ts.map +1 -1
  47. package/dist/import/agents/scanner.js +94 -6
  48. package/dist/import/agents/scanner.js.map +1 -1
  49. package/dist/import/agents/secret-scan.d.ts.map +1 -1
  50. package/dist/import/agents/secret-scan.js +7 -0
  51. package/dist/import/agents/secret-scan.js.map +1 -1
  52. package/dist/index.js +3 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/licensing/installer.d.ts +14 -0
  55. package/dist/licensing/installer.d.ts.map +1 -1
  56. package/dist/licensing/installer.js.map +1 -1
  57. package/dist/scan/config.d.ts.map +1 -1
  58. package/dist/scan/config.js +7 -0
  59. package/dist/scan/config.js.map +1 -1
  60. package/package.json +1 -1
@@ -6,6 +6,12 @@ export interface RemoteAgentEntry {
6
6
  tier: string;
7
7
  /** True when the caller's license tier meets this agent's required tier. */
8
8
  available: boolean;
9
+ /**
10
+ * Where the agent comes from. `custom` = a blessed imported agent (renders server-side
11
+ * from IR, so it skips the scan/enrich gate); `first-party` = a built-in template.
12
+ * Absent on older backends ⇒ treat as first-party.
13
+ */
14
+ origin?: "first-party" | "custom";
9
15
  }
10
16
  /** Bundles that are internal plumbing, not user-installable standalone agents. */
11
17
  export declare const INTERNAL_BUNDLES: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,aAAsC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC,GACzD,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAwBpC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;CACnC;AAED,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,aAAsC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC,GACzD,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAwBpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,0EAA0E;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAYtE,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAW,EACX,OAA0D;IAE1D,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE;YACnE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,EAAE,EAAE;YACnD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,0EAA0E;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAkBtE,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAW,EACX,OAA0D;IAE1D,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE;YACnE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,EAAE,EAAE;YACnD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AgentConfig, WorkspaceConfig } from '@nepopsx/core';
1
+ import type { AgentConfig, OutputProvider, WorkspaceConfig } from '@nepopsx/core';
2
2
  import type { ConfigEnrichmentMetadata } from '../enrichment/types.js';
3
3
  export declare function loadLocalAgentConfig(rootDir: string, agentName: string, agentCfg?: AgentConfig): Record<string, unknown> | null;
4
4
  export declare function pushRemoteAgentConfig(rootDir: string, licenseKey: string, agentName: string, config: Record<string, unknown>, workspace?: string, enrichment?: ConfigEnrichmentMetadata): Promise<void>;
@@ -52,11 +52,32 @@ export interface BlessedRenderFile {
52
52
  path: string;
53
53
  content: string;
54
54
  }
55
+ /**
56
+ * The workspace CAPABILITY UNION for blessed custom agents — which platform features
57
+ * `sync` should wire as workspace-global files (.mcp.json / hooks). The union of every
58
+ * blessed agent's bless-time selection (an agent enabled it ⇒ the workspace wires it).
59
+ * All-off when there are no blessed agents. `workspaceKnowledge` is rendered into each
60
+ * agent's body server-side, so it is informational here, not acted on by the CLI.
61
+ */
62
+ export interface BlessedCapabilities {
63
+ workspaceKnowledge: boolean;
64
+ liveRecallMcp: boolean;
65
+ captureHooks: boolean;
66
+ guardHook: boolean;
67
+ }
68
+ export interface BlessedRenderResult {
69
+ files: BlessedRenderFile[];
70
+ capabilities: BlessedCapabilities;
71
+ /** Providers the workspace's blessed agents target (drives which hook files to write). */
72
+ providers: OutputProvider[];
73
+ }
55
74
  /**
56
75
  * Fetch the rendered provider files for every BLESSED imported agent in the
57
- * workspace. Lets `sync` materialize the org's governed custom agents so a
58
- * teammate who clones the repo gets them (the bless-time render never touches
59
- * their disk). Best-effort: returns [] on any error so sync never hard-fails on it.
76
+ * workspace, plus the capability union telling `sync` what workspace-global wiring
77
+ * (.mcp.json / hooks) to materialize. Lets `sync` give a teammate who clones the repo
78
+ * the org's governed custom agents AND the self-learning loop wired around them (the
79
+ * bless-time render never touches their disk). Best-effort: callers treat a throw as
80
+ * "skip" so sync never hard-fails on it.
60
81
  */
61
- export declare function fetchBlessedRender(rootDir: string, licenseKey: string, workspace?: string): Promise<BlessedRenderFile[]>;
82
+ export declare function fetchBlessedRender(rootDir: string, licenseKey: string, workspace?: string): Promise<BlessedRenderResult>;
62
83
  //# sourceMappingURL=remote-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-config.d.ts","sourceRoot":"","sources":["../../src/agents/remote-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-config.d.ts","sourceRoot":"","sources":["../../src/agents/remote-config.ts"],"names":[],"mappings":"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"}
@@ -151,11 +151,19 @@ export async function fetchApprovedLearnings(rootDir, licenseKey, workspace) {
151
151
  merged_learnings: payload.merged_learnings ?? {},
152
152
  };
153
153
  }
154
+ const NO_CAPABILITIES = {
155
+ workspaceKnowledge: false,
156
+ liveRecallMcp: false,
157
+ captureHooks: false,
158
+ guardHook: false,
159
+ };
154
160
  /**
155
161
  * Fetch the rendered provider files for every BLESSED imported agent in the
156
- * workspace. Lets `sync` materialize the org's governed custom agents so a
157
- * teammate who clones the repo gets them (the bless-time render never touches
158
- * their disk). Best-effort: returns [] on any error so sync never hard-fails on it.
162
+ * workspace, plus the capability union telling `sync` what workspace-global wiring
163
+ * (.mcp.json / hooks) to materialize. Lets `sync` give a teammate who clones the repo
164
+ * the org's governed custom agents AND the self-learning loop wired around them (the
165
+ * bless-time render never touches their disk). Best-effort: callers treat a throw as
166
+ * "skip" so sync never hard-fails on it.
159
167
  */
160
168
  export async function fetchBlessedRender(rootDir, licenseKey, workspace) {
161
169
  const apiBase = resolveApiBase(rootDir);
@@ -168,6 +176,10 @@ export async function fetchBlessedRender(rootDir, licenseKey, workspace) {
168
176
  throw new Error(`Failed to fetch blessed agents (${response.status}): ${body || response.statusText}`);
169
177
  }
170
178
  const payload = (await response.json());
171
- return payload.files ?? [];
179
+ return {
180
+ files: payload.files ?? [],
181
+ capabilities: { ...NO_CAPABILITIES, ...(payload.capabilities ?? {}) },
182
+ providers: payload.providers ?? [],
183
+ };
172
184
  }
173
185
  //# sourceMappingURL=remote-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-config.js","sourceRoot":"","sources":["../../src/agents/remote-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-config.js","sourceRoot":"","sources":["../../src/agents/remote-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAQxD,MAAM,yBAAyB,GAAG,kDAAkD,CAAC;AAErF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,SAAiB,EACjB,QAAsB;IAEtB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAA+B,EAC/B,SAAkB,EAClB,UAAqC;IAErC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,OAAO,4BAA4B,SAAS,EAAE,EACjD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,UAAU,EAAE;YACrC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS;YACT,MAAM;YACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;KACH,EACD,mBAAmB,CACpB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,KAAK,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAChI,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,UAAkB,EAClB,SAAkB;IAElB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAC;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,CAAC,QAAQ,EAAE,EACd;QACE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,UAAU,EAAE;SACtC;KACF,EACD,mBAAmB,CACpB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;IACjE,OAAO,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAC/B,CAAC;AAOD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,UAAkB,EAClB,SAAkB;IAElB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,8BAA8B,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,CAAC,QAAQ,EAAE,EACd,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE,EAAE,EACtD,mBAAmB,CACpB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAGlC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,CAAU,EAAmC,EAAE;YACrE,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjE,MAAM,CAAC,GAAG,CAA4B,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACnE,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YACnE,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACjE,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,MAAgC;gBAC1C,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAqC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpI,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,GAA6C,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;gBACpF,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,UAAkB,EAClB,MAAuB,EACvB,UAAqC;IAErC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,OAAO,oBAAoB,EAC9B;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,UAAU,EAAE;YACrC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;YAC3B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;YACrE,MAAM,EAAE,MAA4C;YACpD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;KACH,EACD,mBAAmB,CACpB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnH,CAAC;AACH,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,UAAkB,EAClB,SAAkB;IAElB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,qBAAqB,CAAC,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,CAAC,QAAQ,EAAE,EACd;QACE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,UAAU,EAAE;SACtC;KACF,EACD,mBAAmB,CACpB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuD,CAAC;IAC3F,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QAC5C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC;AA6BD,MAAM,eAAe,GAAwB;IAC3C,kBAAkB,EAAE,KAAK;IACzB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,UAAkB,EAClB,SAAkB;IAElB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,wBAAwB,CAAC,CAAC;IACxD,IAAI,SAAS;QAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,CAAC,QAAQ,EAAE,EACd,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE,EAAE,EACtD,mBAAmB,CACpB,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIrC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,YAAY,EAAE,EAAE,GAAG,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;QACrE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;KACnC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"import-agents.d.ts","sourceRoot":"","sources":["../../src/commands/import-agents.ts"],"names":[],"mappings":"AAaA,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8HrF"}
1
+ {"version":3,"file":"import-agents.d.ts","sourceRoot":"","sources":["../../src/commands/import-agents.ts"],"names":[],"mappings":"AAcA,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAiLD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwJrF"}
@@ -5,7 +5,7 @@ import chalk from 'chalk';
5
5
  import { input } from '@inquirer/prompts';
6
6
  import { resolveApiBase } from '../config/api-config.js';
7
7
  import { readLicense, resolveWorkspaceName } from '../licensing/index.js';
8
- import { fetchWithTimeout } from '../utils/fetch.js';
8
+ import { fetchWithTimeout, friendlyHttpError } from '../utils/fetch.js';
9
9
  import { DOWNLOAD_TIMEOUT_MS } from '../constants.js';
10
10
  import { scanRepo } from '../import/agents/scanner.js';
11
11
  import { assembleBundles } from '../import/agents/assembler.js';
@@ -44,6 +44,7 @@ function toPayload(b) {
44
44
  subAgents: b.agent.subAgents,
45
45
  handoffs: b.agent.handoffs,
46
46
  userInvocable: b.agent.userInvocable,
47
+ disableModelInvocation: b.agent.disableModelInvocation,
47
48
  target: b.agent.target,
48
49
  extra: extraR.value,
49
50
  raw: rawR.value,
@@ -54,6 +55,105 @@ function toPayload(b) {
54
55
  },
55
56
  };
56
57
  }
58
+ /**
59
+ * Serialize a STANDALONE artifact (skill / slash-command / Copilot prompt) into an import
60
+ * payload. These are first-class governed bundles — scanned + blessed + installed like
61
+ * agents — just with no orchestration graph and no self-learning loop. `body` (the artifact
62
+ * content) is the scanned text; `raw` is byte-lossless. A Claude command imports as kind
63
+ * `command`; a Copilot prompt as kind `prompt`; a SKILL.md as kind `skill`.
64
+ */
65
+ function toArtifactPayload(a, usedBy) {
66
+ const bodyR = redactSecrets(a.body);
67
+ const rawR = redactSecrets(a.raw);
68
+ const redactions = bodyR.count + rawR.count;
69
+ // Map the scan kind → bundle kind. skill/instruction/mcp/config keep their kind; a Claude
70
+ // command stays `command`, a Copilot prompt becomes `prompt`.
71
+ const kind = a.kind === 'skill' || a.kind === 'instruction' || a.kind === 'mcp' || a.kind === 'config'
72
+ ? a.kind
73
+ : a.originProvider === 'github-copilot'
74
+ ? 'prompt'
75
+ : 'command';
76
+ return {
77
+ redactions,
78
+ payload: {
79
+ slug: a.slug,
80
+ name: a.name,
81
+ kind,
82
+ description: a.description,
83
+ originProvider: a.originProvider,
84
+ instructions: bodyR.value,
85
+ importedFrom: a.importedFrom,
86
+ fidelity: redactions > 0
87
+ ? [{ field: 'secrets', severity: 'loss', detail: `Redacted ${redactions} secret(s) before import.` }]
88
+ : [],
89
+ // Artifacts have no agent graph; keep `raw` for byte-lossless round-trip. `usedBy` =
90
+ // agent slugs that use it (M:N). `importedFrom` is echoed into the IR so env files
91
+ // (instruction/mcp/config) render back to their EXACT source path.
92
+ ir: { agent: { raw: rawR.value }, kind, usedBy, importedFrom: a.importedFrom },
93
+ },
94
+ };
95
+ }
96
+ /**
97
+ * Collect every skill + command/prompt as ONE governed bundle (deduped by kind+slug —
98
+ * the same skill in .claude AND .github is one logical artifact). Per the Agent Skills
99
+ * standard, skills are WORKSPACE-scoped primitives (not owned by an agent); an agent's use
100
+ * of a skill is a many-to-many USAGE link, computed separately in `computeArtifactUsage`.
101
+ */
102
+ function allArtifacts(scan) {
103
+ const seen = new Set();
104
+ const out = [];
105
+ const consider = (a) => {
106
+ const key = `${a.kind}:${a.slug}`;
107
+ if (seen.has(key))
108
+ return;
109
+ seen.add(key);
110
+ out.push(a);
111
+ };
112
+ scan.skills.forEach(consider);
113
+ scan.commands.forEach(consider);
114
+ // Environment layer (instruction files, MCP configs, openspec/workflow blobs) — governed
115
+ // first-class alongside skills/commands; deduped by kind+slug.
116
+ (scan.instructions ?? []).forEach(consider);
117
+ (scan.mcp ?? []).forEach(consider);
118
+ (scan.config ?? []).forEach(consider);
119
+ return out;
120
+ }
121
+ /**
122
+ * Compute the USAGE graph: artifact (kind:slug) → the agent slugs that use it. Two signals,
123
+ * per the standard's relationship types:
124
+ * - DECLARED: the agent's `skills:` frontmatter names it (Claude's explicit link).
125
+ * - REFERENCED: the agent body mentions the artifact's name (soft link — what
126
+ * apm-work-planner uses, since its agents reference skills in prose, not frontmatter).
127
+ * Many-to-many: a skill used by N agents links to all N. Returns `kind:slug → [agentSlug]`.
128
+ */
129
+ function computeArtifactUsage(scan) {
130
+ const usage = new Map();
131
+ const add = (key, agentSlug) => {
132
+ const arr = usage.get(key) ?? [];
133
+ if (!arr.includes(agentSlug))
134
+ arr.push(agentSlug);
135
+ usage.set(key, arr);
136
+ };
137
+ const artifacts = allArtifacts(scan);
138
+ for (const agent of scan.agents) {
139
+ const declared = new Set((Array.isArray(agent.extra?.skills) ? agent.extra.skills : [])
140
+ .filter((s) => typeof s === 'string')
141
+ .map((s) => s.toLowerCase()));
142
+ const body = (agent.instructions ?? '').toLowerCase();
143
+ for (const a of artifacts) {
144
+ const declaredHit = declared.has(a.slug.toLowerCase()) || declared.has(a.name.toLowerCase());
145
+ // Word-boundary-ish match on the slug/name so a substring doesn't false-positive.
146
+ const re = new RegExp(`(^|[^a-z0-9-])${escapeRe(a.slug.toLowerCase())}([^a-z0-9-]|$)`);
147
+ const referenced = re.test(body) || body.includes(a.name.toLowerCase());
148
+ if (declaredHit || referenced)
149
+ add(`${a.kind}:${a.slug}`, agent.slug);
150
+ }
151
+ }
152
+ return usage;
153
+ }
154
+ function escapeRe(s) {
155
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
156
+ }
57
157
  /** Greedily batch payloads so each POST body stays under the size limit (413 fix). */
58
158
  function chunkByBytes(items, maxBytes) {
59
159
  const out = [];
@@ -96,17 +196,26 @@ export async function importAgentsCommand(options) {
96
196
  /* best-effort */
97
197
  }
98
198
  }
99
- const bundles = assembleBundles(scanRepo(cwd));
100
- if (bundles.length === 0) {
101
- console.log(chalk.dim('nepopsx import-agents: no agents found under .claude/agents or .github/agents.'));
199
+ const scan = scanRepo(cwd);
200
+ const bundles = assembleBundles(scan);
201
+ // Skills/commands/prompts are governed first-class too one bundle each (deduped). Even a
202
+ // repo with no agents (a pure skill/command library) imports them.
203
+ const artifacts = allArtifacts(scan);
204
+ const usage = computeArtifactUsage(scan); // kind:slug → [agent slugs that use it]
205
+ if (bundles.length === 0 && artifacts.length === 0) {
206
+ console.log(chalk.dim('nepopsx import-agents: no agents, skills, commands, or prompts found.'));
102
207
  return;
103
208
  }
104
- const serialized = bundles.map(toPayload);
209
+ const serialized = [
210
+ ...bundles.map(toPayload),
211
+ ...artifacts.map((a) => toArtifactPayload(a, usage.get(`${a.kind}:${a.slug}`) ?? [])),
212
+ ];
105
213
  const totalRedactions = serialized.reduce((n, s) => n + s.redactions, 0);
106
214
  const dangling = bundles.reduce((n, b) => n + b.graph.filter((e) => !e.resolvedInSet).length, 0);
107
215
  // ── Dry run: report locally, no auth, no POST ──────────────────────────────
108
216
  if (options.dryRun) {
109
- console.log(chalk.bold.cyan(`\n🔎 nepopsx import-agents dry run (${bundles.length} bundle(s))\n`));
217
+ const total = bundles.length + artifacts.length;
218
+ console.log(chalk.bold.cyan(`\n🔎 nepopsx import-agents — dry run (${total} bundle(s): ${bundles.length} agent(s), ${artifacts.length} artifact(s))\n`));
110
219
  for (const b of bundles) {
111
220
  const tag = b.agent.kind === 'command' ? chalk.magenta('orchestrator') : chalk.dim('agent');
112
221
  // Collapse multi-kind edges to one entry per target so a sub-agent reached
@@ -120,6 +229,23 @@ export async function importAgentsCommand(options) {
120
229
  console.log(` ${chalk.bold(b.agent.slug)} ${tag} ${chalk.dim(`[${b.agent.originProvider}]`)}${edges}`);
121
230
  console.log(` ${chalk.dim(b.agent.importedFrom)}`);
122
231
  }
232
+ for (const a of artifacts) {
233
+ const kindTag = a.kind === 'skill'
234
+ ? chalk.cyan('skill')
235
+ : a.kind === 'instruction'
236
+ ? chalk.magenta('instruction')
237
+ : a.kind === 'mcp'
238
+ ? chalk.red('mcp')
239
+ : a.kind === 'config'
240
+ ? chalk.blue('config')
241
+ : a.originProvider === 'github-copilot'
242
+ ? chalk.yellow('prompt')
243
+ : chalk.green('command');
244
+ const users = usage.get(`${a.kind}:${a.slug}`) ?? [];
245
+ const usedBy = users.length ? chalk.dim(` used by ${users.join(', ')}`) : chalk.dim(' (workspace)');
246
+ console.log(` ${chalk.bold(a.slug)} ${kindTag} ${chalk.dim(`[${a.originProvider}]`)}${usedBy}`);
247
+ console.log(` ${chalk.dim(a.importedFrom)}`);
248
+ }
123
249
  const batches = chunkByBytes(serialized.map((s) => s.payload), MAX_REQUEST_BYTES);
124
250
  console.log(chalk.dim(`\n ${totalRedactions} secret(s) would be redacted · ${dangling} dangling ref(s) · ${batches.length} batch(es).`));
125
251
  console.log(chalk.dim(' No changes sent. Re-run without --dry-run to import as PENDING for review.\n'));
@@ -164,8 +290,7 @@ export async function importAgentsCommand(options) {
164
290
  body: JSON.stringify({ workspace, bundles: batch }),
165
291
  }, DOWNLOAD_TIMEOUT_MS);
166
292
  if (!response.ok) {
167
- const body = await response.text().catch(() => '');
168
- console.error(chalk.red(`nepopsx import-agents: batch ${i + 1}/${batches.length} → ${response.status} ${body.slice(0, 200)}`));
293
+ console.error(chalk.red(await friendlyHttpError(response, "nepopsx import-agents failed")));
169
294
  process.exitCode = 1;
170
295
  return;
171
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import-agents.js","sourceRoot":"","sources":["../../src/commands/import-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-agents.js","sourceRoot":"","sources":["../../src/commands/import-agents.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  interface InstallOptions {
2
- version?: string;
2
+ /** Specific package version (CLI flag `--pkg-version`; `--version` is the program flag). */
3
+ pkgVersion?: string;
3
4
  agent?: boolean;
4
5
  apply?: string;
5
6
  yes?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAoEA,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2CD,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAyff"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAsEA,UAAU,cAAc;IACtB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2CD,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA4ff"}
@@ -9,9 +9,8 @@ import { readLicense, reconcileLicenseWorkspace } from "../licensing/license-man
9
9
  import { fetchRemoteTemplates, serverEnforces } from "../licensing/index.js";
10
10
  import { downloadBundle, downloadBootstrapConfig, decryptBundle, verifyBundleSha, } from "../licensing/installer.js";
11
11
  import { detectRuflo, generateRufloConfig, buildRufloBinding } from "../ruflo/index.js";
12
- import { generateCaptureHooks } from "../hooks/capture-hooks.js";
13
12
  import { resolveApiBase } from "../config/api-config.js";
14
- import { generateMcpConfig } from "../mcp/config-generator.js";
13
+ import { wireAgentLoop, ALL_ON_CAPABILITIES } from "../hooks/wire-loop.js";
15
14
  import { getAgentConfigPath, getAgentSupportOperations, bundleToOperations, } from "../agents/configuration.js";
16
15
  import { loadLocalAgentConfig, pushRemoteAgentConfig, pushRemoteWorkspaceConfig, fetchRemoteEnrichmentState, } from '../agents/remote-config.js';
17
16
  import { loadCustomInstructions } from '../customs/instructions.js';
@@ -20,7 +19,10 @@ import { checkEnrichmentGate, checkAgentEnrichmentGate, enrichSingleAgent, parse
20
19
  import { setWatermarkData, applyLicenseWatermark, } from "../generator/render.js";
21
20
  import { writeGeneratedFiles, printWriteResult } from "../generator/writer.js";
22
21
  import { generateManifest } from "../security/index.js";
23
- const AGENT_NAME_RE = /^[a-z][a-z0-9-]*$/;
22
+ import { fetchEntitledAgents } from "../agents/catalog.js";
23
+ // Bare slug (`rt-architect`) or org-scoped (`@acme-inc/rt-architect`). Scoped form
24
+ // targets a blessed custom agent in a specific org; both resolve server-side.
25
+ const AGENT_NAME_RE = /^(@[a-z0-9][a-z0-9-]*\/)?[a-z][a-z0-9-]*$/;
24
26
  const WORKSPACE_CONFIG = ".nepopsx/workspace.yaml";
25
27
  const VALID_PROVIDERS = new Set(['github-copilot', 'claude-code', 'cursor', 'windsurf', 'augment']);
26
28
  function resolveProviders(cliProviders, agentConfig) {
@@ -73,7 +75,21 @@ export async function installCommand(agent, options) {
73
75
  // — enrichment-state, agent-config push, bundle download — targets the real
74
76
  // workspace instead of 404ing on "unknown".
75
77
  const activeLicense = reconcileLicenseWorkspace(rootDir, license);
76
- const requestedVersion = normalizeRequestedVersion(options.version);
78
+ const requestedVersion = normalizeRequestedVersion(options.pkgVersion);
79
+ // ── Blessed custom agent fast-path ─────────────────────────
80
+ // A blessed custom agent renders SERVER-SIDE from its stored IR (knowledge already
81
+ // injected), so it does NOT use the local scan/enrich tailoring pipeline that
82
+ // first-party templates need. Resolve the catalog up front: if the target is a custom
83
+ // agent, install it through the streamlined path (download → write → wire the loop) so
84
+ // `install <blessed-slug>` works identically to a first-party install — minus the scan
85
+ // gate that doesn't apply. Falls through to the normal path on any resolution hiccup.
86
+ const catalog = await fetchEntitledAgents(rootDir, activeLicense);
87
+ const bareName = agent.includes("/") ? agent.split("/")[1] : agent;
88
+ const catalogEntry = catalog?.find((a) => a.name === agent || a.name === bareName);
89
+ if (catalogEntry?.origin === "custom") {
90
+ await installBlessedAgent(rootDir, activeLicense, agent, requestedVersion, options);
91
+ return;
92
+ }
77
93
  // ── Enrichment gate check ──────────────────────────────────
78
94
  // Fetch server enrichment state once — used for both workspace and agent-level prompts.
79
95
  const remoteEnrichmentState = await fetchRemoteEnrichmentState(rootDir, activeLicense.key, activeLicense.workspace);
@@ -398,23 +414,73 @@ export async function installCommand(agent, options) {
398
414
  else if (!ruflo.hasLocalConfig) {
399
415
  console.log(chalk.dim("\n 💡 Install Ruflo for memory-powered agents: ") + chalk.cyan("npx ruflo@latest init"));
400
416
  }
401
- // Register our own provider-agnostic MCP server (nepopsx-memory) so Claude
402
- // Code / Copilot can call learning_search + learning_store for governed team
403
- // recall. Independent of Ruflo; uses a ${NEPOPSX_DEVICE_TOKEN} env placeholder
404
- // so the committed .mcp.json never carries the raw device token.
405
- const mcpFiles = generateMcpConfig({ rootDir, apiUrl: resolveApiBase(rootDir) });
406
- if (mcpFiles.length > 0) {
407
- console.log(chalk.dim(` MCP recall server (nepopsx-memory): ${mcpFiles.join(", ")}`) +
408
- chalk.dim(`\n → export ${"NEPOPSX_DEVICE_TOKEN"}=<your device token> to authenticate recall`));
409
- }
410
- // Set up session-end capture hooks so reflector learnings auto-sync to the
411
- // backend (`nepopsx capture` → /learnings/auto) — native on each chosen provider.
412
- const hookFiles = generateCaptureHooks(rootDir, providers);
413
- if (hookFiles.length > 0) {
414
- console.log(chalk.dim(` Capture hooks (learnings auto-sync on session end): ${hookFiles.join(", ")}`));
415
- }
417
+ // Wire the self-learning loop (recall MCP + capture/guard hooks) from the agent's
418
+ // CAPABILITY SET the SAME helper `sync` uses, so a blessed custom agent and a
419
+ // first-party agent install identically. The backend sends the capabilities (all-on
420
+ // for first-party, the bless-time selection for custom); an older backend omits them,
421
+ // in which case we keep install's historical all-on behavior.
422
+ wireAgentLoop(rootDir, providers, encBundle.capabilities ?? ALL_ON_CAPABILITIES);
416
423
  console.log(chalk.bold.green(`\n✅ Installed ${agent}@${resolvedVersion}\n`));
417
424
  }
425
+ /**
426
+ * Streamlined install for a BLESSED CUSTOM agent. A blessed agent is rendered server-side
427
+ * from its stored IR (with the workspace's approved knowledge already injected), so it does
428
+ * NOT use the local scan/enrich tailoring pipeline first-party templates need. We just
429
+ * download the rendered files + capabilities, write them (watermarked), and wire the loop
430
+ * via the SAME helper first-party install uses — so "once blessed, it's just an agent."
431
+ * Blessed agents are server-owned, so we don't add them to workspace.yaml `config.agents`;
432
+ * `sync` continues to keep them fresh from the org library.
433
+ */
434
+ async function installBlessedAgent(rootDir, activeLicense, agent, requestedVersion, options) {
435
+ const providers = resolveProviders(options.providers, undefined);
436
+ console.log(chalk.bold.cyan(`\nInstalling ${agent} (custom agent)...\n`));
437
+ let encBundle;
438
+ try {
439
+ encBundle = await downloadBundle(rootDir, activeLicense, agent, requestedVersion ?? "latest", [], providers);
440
+ }
441
+ catch (err) {
442
+ console.error(chalk.red("Download failed:"), err instanceof Error ? err.message : String(err));
443
+ process.exit(1);
444
+ return;
445
+ }
446
+ let decryptedJson;
447
+ try {
448
+ decryptedJson = decryptBundle(encBundle, activeLicense.key);
449
+ verifyBundleSha(decryptedJson, encBundle.sha256);
450
+ }
451
+ catch (err) {
452
+ console.error(chalk.red("Integrity check failed:"), err instanceof Error ? err.message : String(err));
453
+ process.exit(1);
454
+ return;
455
+ }
456
+ const templates = JSON.parse(decryptedJson);
457
+ // Watermark the rendered files exactly as the first-party path does.
458
+ const fingerprint = generateFingerprint(activeLicense.org, activeLicense.key, activeLicense.workspace ?? "");
459
+ setWatermarkData({
460
+ version: "0.1.0",
461
+ org: activeLicense.org,
462
+ plan: activeLicense.tier,
463
+ valid_until: activeLicense.valid_until,
464
+ fingerprint,
465
+ });
466
+ const bundle = { agent, version: encBundle.version, templates, source: "remote" };
467
+ const operations = bundleToOperations(bundle);
468
+ for (const op of operations) {
469
+ if (op.path.startsWith(".claude/skills/"))
470
+ continue;
471
+ op.content = applyLicenseWatermark(op.content, op.path);
472
+ }
473
+ setWatermarkData(null);
474
+ const result = writeGeneratedFiles(rootDir, operations, false);
475
+ printWriteResult(result, false);
476
+ // Wire the self-learning loop from the agent's bless-time capabilities — identical to
477
+ // sync, and to first-party install (which sends all-on). The one shared helper.
478
+ wireAgentLoop(rootDir, providers, encBundle.capabilities ?? ALL_ON_CAPABILITIES);
479
+ const allFiles = operations.map((op) => ({ path: op.path, content: op.content }));
480
+ const manifest = generateManifest(rootDir, allFiles);
481
+ console.log(chalk.dim(`Integrity manifest: ${manifest.length} file(s) hashed → .nepopsx/manifest.sha256`));
482
+ console.log(chalk.bold.green(`\n✅ Installed ${agent}@${encBundle.version}\n`));
483
+ }
418
484
  async function handleAgentAssistedEnrichment(rootDir, license, agent, requestedVersion, workspaceConfig, localState, options) {
419
485
  const customInstructions = loadCustomInstructions(resolve(rootDir, workspaceConfig.customs_dir ?? 'customs'));
420
486
  const bootstrap = await downloadBootstrapConfig(rootDir, license, agent, requestedVersion, customInstructions);