archbyte 0.7.0 → 0.7.2

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/README.md CHANGED
@@ -5,11 +5,8 @@ AI-powered architecture visualization for your codebase. Analyzes code, generate
5
5
  ## Quick Start
6
6
 
7
7
  ```bash
8
- # Install
9
- curl -fsSL https://archbyte.heartbyte.io/install.sh | bash
10
-
11
- # Run (auto-configures on first use)
12
- archbyte run
8
+ # Run directly — no install required
9
+ npx archbyte run
13
10
  ```
14
11
 
15
12
  On first run, ArchByte walks you through sign-in and provider setup interactively. Your API keys stay on your machine — ArchByte never stores or transmits your provider credentials.
@@ -19,8 +16,17 @@ On first run, ArchByte walks you through sign-in and provider setup interactivel
19
16
  Prefer to configure each step separately:
20
17
 
21
18
  ```bash
22
- archbyte login # Sign in or create a free account
23
- archbyte init # Configure your AI provider (BYOK)
19
+ npx archbyte login # Sign in or create a free account
20
+ npx archbyte init # Configure your AI provider (BYOK)
21
+ ```
22
+
23
+ ### Global install (optional)
24
+
25
+ If you prefer a persistent install:
26
+
27
+ ```bash
28
+ npm install -g archbyte
29
+ archbyte run
24
30
  ```
25
31
 
26
32
  ### Setup with Claude Code
@@ -65,11 +71,11 @@ Run `/archbyte-help` in Claude Code to see all commands.
65
71
  Sign in or create a free account. Shows an interactive provider picker (GitHub, Google, Email & Password).
66
72
 
67
73
  ```bash
68
- archbyte login # interactive provider picker
69
- archbyte login --github # sign in with GitHub
70
- archbyte login --google # sign in with Google
71
- archbyte login --email # sign in with email and password
72
- archbyte login --token JWT # login with a pre-existing JWT token
74
+ npx archbyte login # interactive provider picker
75
+ npx archbyte login --github # sign in with GitHub
76
+ npx archbyte login --google # sign in with Google
77
+ npx archbyte login --email # sign in with email and password
78
+ npx archbyte login --token JWT # login with a pre-existing JWT token
73
79
  ```
74
80
 
75
81
  Multiple accounts are supported. If already logged in, you'll be prompted to add a different account.
@@ -79,9 +85,9 @@ Multiple accounts are supported. If already logged in, you'll be prompted to add
79
85
  Sign out of ArchByte.
80
86
 
81
87
  ```bash
82
- archbyte logout # logout active account
83
- archbyte logout user@co.com # logout specific account
84
- archbyte logout --all # logout all accounts
88
+ npx archbyte logout # logout active account
89
+ npx archbyte logout user@co.com # logout specific account
90
+ npx archbyte logout --all # logout all accounts
85
91
  ```
86
92
 
87
93
  ### `archbyte accounts`
@@ -89,9 +95,9 @@ archbyte logout --all # logout all accounts
89
95
  List and manage logged-in accounts.
90
96
 
91
97
  ```bash
92
- archbyte accounts # list all accounts
93
- archbyte accounts switch # interactive account switcher
94
- archbyte accounts switch user@co.com # switch to specific account
98
+ npx archbyte accounts # list all accounts
99
+ npx archbyte accounts switch # interactive account switcher
100
+ npx archbyte accounts switch user@co.com # switch to specific account
95
101
  ```
96
102
 
97
103
  ### `archbyte status`
@@ -99,7 +105,7 @@ archbyte accounts switch user@co.com # switch to specific account
99
105
  Show account status, tier, and usage.
100
106
 
101
107
  ```bash
102
- archbyte status
108
+ npx archbyte status
103
109
  ```
104
110
 
105
111
  ### `archbyte init`
@@ -107,54 +113,54 @@ archbyte status
107
113
  Scaffold an `archbyte.yaml` config and `.archbyte/` directory.
108
114
 
109
115
  ```bash
110
- archbyte init
111
- archbyte init --force # overwrite existing
116
+ npx archbyte init
117
+ npx archbyte init --force # overwrite existing
112
118
  ```
113
119
 
114
120
  > **Why this matters:** Without a config, every team member picks their own rules and thresholds. `init` gives your project a single source of truth for architecture governance from day one.
115
121
  >
116
- > *Example:* You join a new monorepo and want to enforce "no direct DB calls from the frontend." Run `archbyte init`, edit the generated `archbyte.yaml` to add that custom rule, and commit it — now every contributor shares the same guardrails.
122
+ > *Example:* You join a new monorepo and want to enforce "no direct DB calls from the frontend." Run `npx archbyte init`, edit the generated `archbyte.yaml` to add that custom rule, and commit it — now every contributor shares the same guardrails.
117
123
 
118
124
  ### `archbyte generate`
119
125
 
120
126
  Convert analysis JSON into an architecture diagram.
121
127
 
122
128
  ```bash
123
- archbyte generate
124
- archbyte generate --input path/to/analysis.json --output path/to/arch.json
125
- archbyte generate --verbose
129
+ npx archbyte generate
130
+ npx archbyte generate --input path/to/analysis.json --output path/to/arch.json
131
+ npx archbyte generate --verbose
126
132
  ```
127
133
 
128
134
  Merges with existing diagram to preserve user-adjusted node positions.
129
135
 
130
136
  > **Why this matters:** Raw analysis JSON is data — a positioned architecture diagram is *understanding*. Generate turns a flat list of components and dependencies into a spatial map you can actually reason about.
131
137
  >
132
- > *Example:* After an AI analysis finds 40 components and 120 dependencies, `archbyte generate` lays them out by layer so you instantly see that your "AuthService" sits in the wrong tier. Re-running after code changes merges new nodes in without losing the positions you manually adjusted last sprint.
138
+ > *Example:* After an AI analysis finds 40 components and 120 dependencies, `npx archbyte generate` lays them out by layer so you instantly see that your "AuthService" sits in the wrong tier. Re-running after code changes merges new nodes in without losing the positions you manually adjusted last sprint.
133
139
 
134
140
  ### `archbyte serve`
135
141
 
136
142
  Start the HTTP server with the interactive visualization UI.
137
143
 
138
144
  ```bash
139
- archbyte serve # default port 3847
140
- archbyte serve --port 8080
141
- archbyte serve --diagram path/to/architecture.json
145
+ npx archbyte serve # default port 3847
146
+ npx archbyte serve --port 8080
147
+ npx archbyte serve --diagram path/to/architecture.json
142
148
  ```
143
149
 
144
150
  Features: real-time SSE updates, drag-and-drop nodes, environment filtering, flow animation, dependency highlighting, export to PNG/SVG.
145
151
 
146
152
  > **Why this matters:** Architecture diagrams on a wiki go stale the moment they're drawn. A live, interactive diagram that updates in real-time means you're always looking at the truth, not a six-month-old Confluence page.
147
153
  >
148
- > *Example:* During an incident review, run `archbyte serve` and drag the failing service to the center. Click it to highlight all upstream dependencies — now the whole team can see which services are affected and trace the blast radius visually instead of grep-ing through YAML manifests.
154
+ > *Example:* During an incident review, run `npx archbyte serve` and drag the failing service to the center. Click it to highlight all upstream dependencies — now the whole team can see which services are affected and trace the blast radius visually instead of grep-ing through YAML manifests.
149
155
 
150
156
  ### `archbyte validate`
151
157
 
152
158
  Run architecture fitness function rules.
153
159
 
154
160
  ```bash
155
- archbyte validate
156
- archbyte validate --ci # JSON output, exit code 1 on errors
157
- archbyte validate --watch # re-validate on file changes
161
+ npx archbyte validate
162
+ npx archbyte validate --ci # JSON output, exit code 1 on errors
163
+ npx archbyte validate --watch # re-validate on file changes
158
164
  ```
159
165
 
160
166
  **Built-in rules:**
@@ -185,54 +191,54 @@ rules:
185
191
 
186
192
  > **Why this matters:** Code review catches syntax and logic bugs, but architectural violations slip through because no human reviewer holds the entire dependency graph in their head. Validate acts as an automated architect that never misses a rule.
187
193
  >
188
- > *Example:* A junior developer adds a direct import from a React component to a Postgres client library. `archbyte validate --ci` in your GitHub Actions pipeline catches the layer bypass (`presentation -> data`) and fails the build *before* the PR is merged — no manual review needed.
194
+ > *Example:* A junior developer adds a direct import from a React component to a Postgres client library. `npx archbyte validate --ci` in your GitHub Actions pipeline catches the layer bypass (`presentation -> data`) and fails the build *before* the PR is merged — no manual review needed.
189
195
 
190
196
  ### `archbyte stats`
191
197
 
192
198
  Architecture health dashboard.
193
199
 
194
200
  ```bash
195
- archbyte stats
196
- archbyte stats --diagram path/to/architecture.json
201
+ npx archbyte stats
202
+ npx archbyte stats --diagram path/to/architecture.json
197
203
  ```
198
204
 
199
205
  Shows: component counts, layer distribution, connection density, hub detection, orphan detection, layer violations.
200
206
 
201
207
  > **Why this matters:** "How healthy is our architecture?" is usually answered with gut feelings. Stats turns that into numbers you can track over time and discuss objectively in sprint retros.
202
208
  >
203
- > *Example:* You run `archbyte stats` and discover your `ApiGateway` has 14 connections — more than double the threshold. That's a hub risk: if it goes down, 14 services are affected. You bring this to the team meeting with hard data instead of a hunch, and the team agrees to split it into domain-specific gateways.
209
+ > *Example:* You run `npx archbyte stats` and discover your `ApiGateway` has 14 connections — more than double the threshold. That's a hub risk: if it goes down, 14 services are affected. You bring this to the team meeting with hard data instead of a hunch, and the team agrees to split it into domain-specific gateways.
204
210
 
205
211
  ### `archbyte export`
206
212
 
207
213
  Export to various formats.
208
214
 
209
215
  ```bash
210
- archbyte export # mermaid to stdout
211
- archbyte export --format plantuml
212
- archbyte export --format dot # Graphviz
213
- archbyte export --format markdown
214
- archbyte export --format json
215
- archbyte export --output docs/architecture.mmd
216
+ npx archbyte export # mermaid to stdout
217
+ npx archbyte export --format plantuml
218
+ npx archbyte export --format dot # Graphviz
219
+ npx archbyte export --format markdown
220
+ npx archbyte export --format json
221
+ npx archbyte export --output docs/architecture.mmd
216
222
  ```
217
223
 
218
224
  > **Why this matters:** Your architecture diagram shouldn't be locked inside one tool. Export lets you embed it in PRs, design docs, ADRs, or any toolchain your team already uses.
219
225
  >
220
- > *Example:* Before each release, you run `archbyte export --format mermaid --output docs/architecture.mmd` and commit it. GitHub renders the Mermaid diagram inline in your repo — anyone browsing the codebase sees an always-current architecture map without installing anything.
226
+ > *Example:* Before each release, you run `npx archbyte export --format mermaid --output docs/architecture.mmd` and commit it. GitHub renders the Mermaid diagram inline in your repo — anyone browsing the codebase sees an always-current architecture map without installing anything.
221
227
 
222
228
  ### `archbyte diff`
223
229
 
224
230
  Compare architecture snapshots and detect drift.
225
231
 
226
232
  ```bash
227
- archbyte diff --baseline .archbyte/baseline.json
228
- archbyte diff --baseline old.json --current new.json
233
+ npx archbyte diff --baseline .archbyte/baseline.json
234
+ npx archbyte diff --baseline old.json --current new.json
229
235
  ```
230
236
 
231
237
  Reports added/removed components, added/removed connections, density change, new/resolved violations. Exit code 1 on new errors.
232
238
 
233
239
  > **Why this matters:** Architecture erosion happens one commit at a time. By the time someone notices, the codebase has drifted far from its intended design. Diff catches drift early by comparing snapshots and surfacing exactly what changed.
234
240
  >
235
- > *Example:* You save a baseline after your v2.0 release with `cp .archbyte/architecture.json .archbyte/baseline.json`. Two months later, run `archbyte diff --baseline .archbyte/baseline.json` and discover 3 new circular dependencies and a removed service boundary. You can now decide whether to accept the drift or fix it — before it compounds further.
241
+ > *Example:* You save a baseline after your v2.0 release with `cp .archbyte/architecture.json .archbyte/baseline.json`. Two months later, run `npx archbyte diff --baseline .archbyte/baseline.json` and discover 3 new circular dependencies and a removed service boundary. You can now decide whether to accept the drift or fix it — before it compounds further.
236
242
 
237
243
  ### `archbyte patrol`
238
244
 
@@ -241,11 +247,11 @@ Continuous architecture health monitoring — runs the validation pipeline on a
241
247
  Inspired by [Gastown's](https://github.com/steveyegge/gastown) patrol loop pattern.
242
248
 
243
249
  ```bash
244
- archbyte patrol # default 5m interval
245
- archbyte patrol --interval 30s # 30 second cycles
246
- archbyte patrol --interval 1h # hourly
247
- archbyte patrol --on-violation json # JSON output for piping
248
- archbyte patrol --history # view patrol history dashboard
250
+ npx archbyte patrol # default 5m interval
251
+ npx archbyte patrol --interval 30s # 30 second cycles
252
+ npx archbyte patrol --interval 1h # hourly
253
+ npx archbyte patrol --on-violation json # JSON output for piping
254
+ npx archbyte patrol --history # view patrol history dashboard
249
255
  ```
250
256
 
251
257
  **Options:**
@@ -263,19 +269,19 @@ The patrol daemon:
263
269
 
264
270
  > **Why this matters:** Validate catches violations at a point in time; Patrol catches them *over time*. Running continuously, it detects the moment a violation appears and tells you when violations get resolved — giving you a living health timeline for your architecture.
265
271
  >
266
- > *Example:* You start `archbyte patrol --interval 5m` in a tmux session during a refactoring sprint. Mid-afternoon, it flags a new circular dependency introduced in the latest commit. You fix it immediately instead of discovering it three weeks later in a failing CI pipeline. At the end of the sprint, `archbyte patrol --history` shows the team a sparkline proving architecture health improved from 72% to 95%.
272
+ > *Example:* You start `npx archbyte patrol --interval 5m` in a tmux session during a refactoring sprint. Mid-afternoon, it flags a new circular dependency introduced in the latest commit. You fix it immediately instead of discovering it three weeks later in a failing CI pipeline. At the end of the sprint, `npx archbyte patrol --history` shows the team a sparkline proving architecture health improved from 72% to 95%.
267
273
 
268
274
  ### `archbyte workflow`
269
275
 
270
276
  Composable multi-step architecture pipelines with dependency tracking and resume-on-failure. Inspired by Gastown's MEOW (Molecular Expression of Work) system.
271
277
 
272
278
  ```bash
273
- archbyte workflow --list # list available workflows
274
- archbyte workflow --run full-analysis # run a workflow
275
- archbyte workflow --show ci-check # show step details
276
- archbyte workflow --status # show progress bars
277
- archbyte workflow --create "my-pipeline" # scaffold a custom workflow
278
- archbyte workflow --reset # clear all state
279
+ npx archbyte workflow --list # list available workflows
280
+ npx archbyte workflow --run full-analysis # run a workflow
281
+ npx archbyte workflow --show ci-check # show step details
282
+ npx archbyte workflow --status # show progress bars
283
+ npx archbyte workflow --create "my-pipeline" # scaffold a custom workflow
284
+ npx archbyte workflow --reset # clear all state
279
285
  ```
280
286
 
281
287
  **Built-in workflows:**
@@ -314,7 +320,7 @@ Workflows **resume on failure** — completed steps are skipped when you re-run.
314
320
 
315
321
  > **Why this matters:** Running `generate`, then `validate`, then `stats`, then `export` manually is tedious and error-prone. Workflows chain them into a single reproducible pipeline — and if step 3 fails, you re-run and it skips the already-completed steps instead of starting from scratch.
316
322
  >
317
- > *Example:* You add a `ci-check` workflow to your GitHub Actions. On every PR, it runs `archbyte workflow --run ci-check`, which validates architecture rules in CI mode and exits non-zero on violations. No manual steps, no forgotten checks. For bigger releases, `archbyte workflow --run full-analysis` runs the entire generate-validate-stats-export pipeline in one command and produces a Mermaid diagram committed to `docs/`.
323
+ > *Example:* You add a `ci-check` workflow to your GitHub Actions. On every PR, it runs `npx archbyte workflow --run ci-check`, which validates architecture rules in CI mode and exits non-zero on violations. No manual steps, no forgotten checks. For bigger releases, `npx archbyte workflow --run full-analysis` runs the entire generate-validate-stats-export pipeline in one command and produces a Mermaid diagram committed to `docs/`.
318
324
 
319
325
  ## Keyboard Shortcuts (UI)
320
326
 
@@ -328,8 +334,8 @@ Workflows **resume on failure** — completed steps are skipped when you re-run.
328
334
 
329
335
  ## Requirements
330
336
 
331
- - Node.js >= 18
332
- - Claude Code (for `/archbyte-analyze`)
337
+ - Node.js >= 18 (for `npx archbyte`)
338
+ - Claude Code (for `/archbyte-analyze` slash commands)
333
339
 
334
340
  ## License
335
341
 
@@ -53,6 +53,7 @@ export async function loadPremiumAgents() {
53
53
  import("./premium/migration-planner.js"),
54
54
  import("./premium/api-contract-verifier.js"),
55
55
  import("./premium/drift-detector.js"),
56
+ import("./premium/infra-agent-auditor.js"),
56
57
  ]);
57
58
  return [
58
59
  mods[0].securityAuditor,
@@ -62,6 +63,7 @@ export async function loadPremiumAgents() {
62
63
  mods[4].migrationPlanner,
63
64
  mods[5].apiContractVerifier,
64
65
  mods[6].driftDetector,
66
+ mods[7].infraAgentAuditor,
65
67
  ];
66
68
  }
67
69
  catch {
@@ -6,3 +6,12 @@ registerPrompt("pipeline/connection-mapper", "GB0WSCMLEUUgHEMNOgkRFzVSEAckDQMEMx
6
6
  registerPrompt("pipeline/flow-detector", "GB0WSCMLEUUgHEMNOgkRFzVSEAckDQMEMxdDCTAaHAw1FwAcbFk1CyAeGhInWQANJFITGi0TEQY1UgAHLA0RHTVSAgYmWR0BJBwXASQATm9LQ01IaFMREyQcFystFxoAIgYKBywKXk97UiYeJxcASCUACh4nF1QGLh8OHSwQFwQ1GwwGYgkVETUXEQYxWVwIJAEQCSUcVBQ0FxYNMVVUFTQQTBs3G1hFNhcBAC0WHxZtUgYeJxcARSQfChw2HAYWaFxpSGJZMgozUgYJIRFORTpSEx0gFR0WKRcRRGIKAQcyEREBIBwGSWERCwksFxEJbVIXDSERGgotHQQRYgR+RWFSTkgyDBYJKAELDTBWBxAjAQAaKxsRF3tSAAcvCRsLJBwXSAs9B0VpGQYKIxtZBiABBkgxFQECMltpSGJZWUUiGgIGLBwYX2EXFQ0sDVsRLgIKC20IAQA0F0MGIxQRb2FSQ0ViDREGKRwMBC0eDV9hBgsNYgoEACIbBQEhWQAAIhoNBy4WExxhBxANJllcAG8VTURiWxETJBwXRScUHRE1FxFKbllWEiQQCwctElZMS3hRRmJTXgQxGzEHNw0RFmtYWUgDKT1FMx0WHCcKWwAvFhMHKxcAFmEWBhwnGgAAJVIFGi0UVAYuFgZIMhgAESQADRtsc1RFYTQMGmIcFQYpSEMTYgkVESleQwUnDRwKJV5DACMXEAkkACUBLhxUGEt4IDoLLT0mAD5ZSA0XGBxhAAYYLQsARSQEBgY2WRcKLxwGCzYQGwsyUgIGJlkGCjQGBhtiDRwENVILCTQcVCYOPCA6By0xRQQkKiwHNzcgYRsNSDYREUUxAAweKx0RAWERDAwnWQcELAIPDTFVVBY1ExcBIVkHBiAcDQ0wWQYAMgcPHDFVVAozUicHIRIRF2EBBho0EBcAMlxDISRZAA0kUhAcIw0dBmEBAAksFxEXYQECETFZVisuUgYeJxcASCUACh4nF1QVIAYXDTAXB0UlFxcNIQ0RAWNeQxonDQEXL1IGBTINDUUkBAYGNjobCy8XABwrFhoWb1InB2I3OzFhGw0eJxcARTETFxwnCxoWYQYLCTZZFRckUg0HNlkREygWBgYhHBBFKBxDHCocVAwvAhYcbHN+NyQBEwcsHVQSKAYLSA03ODxhE0MiETY6RS4QCQ0hDU5vOnhDSGAcAgAvBiAHLBcRBjUbDAYxW05FGlxNRh9VfkVhUAIYKysbEDUXEEp4WS9Lb1w+Yj9zfiwnUg0HYgkVETUXEQYxWRIKNBwHRGILERE0AA1IJxQEEThSAhowGA0Wbw==");
7
7
  registerPrompt("pipeline/service-describer", "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");
8
8
  registerPrompt("pipeline/validator", "GB0WSCMLEUUgUhAHJA0DBDMXQwkwGhwMNRcAHDcLEUUzFxUBJw4RF29SNQkuEBAENRdDHCocVAQvEw8RMRAHRTMXEB0uDQdFIBwHSDEMEwIkARdIIRYGFyQRFwEtFwdLS3ggACcaH0UnHRFSSEhaRWtYNBotFxNFIh0OGC0XEQs1UhcRMhwHT2tIQw1sHlpJYRNDOicYFxFhExMYYg0NFSQWQwkxWVYWJAAVASEcVkUyGgwdLh1UByRSQQ4wFhoRJBwHSkhLWkVrWDQNIxJUASQBABorCQAMLhwQQmhDVCYuHxMHLBwaETJSFAE2EVQALAIXEWIWBkU0HAAEJxgGRSUXEAswEAQRKB0NG2Kb9PFhAhEHNBAQAGEQBhw2HAZFLhwGG0hKWkVrWDENJgwaASAcF0ghFhoLJBEXAS0XB09rSEMsNwkYDCITFw1iFgZFNBwNDSEcBxYgABpIIRYaCyQRFwEtFwdFNRoCHGIKHAo0HgdIIBxUFyQfDB4nHX5Rb1JJQhULGwsmUgAHLBcRBjUbDAZiDQ0VJAFJQnhZEUsmXE9IIxdUDCwCDBo2WRcKLxwGCzYQGwthBgsJNlkHDS4HDwxiGxFFYxoXHDJbfm8CICo8Czo1KWExLCYRLSYkCDw3O3hzWUUYHRZILxgNRQ48LzFiCxEDJAAGBiEcVAYuHxMHLBwaEWE7JxtiDRwENVICBDAcFQE4UgYQKwoARSgcQxwqHFQGLh8TBywcGhEyUg8BMQ1UBCMdFQ1sc1lFBR1DJg0tVAwvBAYGNlkaADZSAAcvCRsLJBwXG25ZEAQ1EwEJMRwHSWEdEUgnAQAAMxwCBGIKERc3GwANMVd+SGE2DEgMNiBFIBYHSCEWGgskERcBLRcHRTUdQwstFAQKLxcNHDFZAA0gBkMMLRdTEWEXGwExDVQML1IXACdZGAwyBk1ib1k7Cy0LQwkmHVQGLhwNDSENHQovAUMRLQxUBDMXQwArHhwJOFIABywfHQEkHBdIIxsbEDVSAQkxHBBFLhxDHCocVAYuHxMHLBwaEWECAhwqClhFNRcAACwWGAomGwYbblkVCyVSBhArCgAMLxVDCy0XGgAiBgoHLApab2xSMxonHxEXYQAGBS0PHQsmUgEJJlkXCi8cBgs2EBsLMlIMHicLVAQlFgoGJVkHFSQRFgQjDR0TJFIMBicKWm9sUioOYg0cAGETDQkuAAcMMlIPBy0SB0UzFwIbLRcVBy0XT0gwHAAQMxxDDS8JABxhEQwaMBwXESgdDRtsWTgAMgFDATFZGQozF01iSCsRFjEdDQxiDh0RKVIsJg4gVARhODAnDFkbBysXABx4cw9vYVJBCy0UBAovFw0cFgAEAAIdERonGgAMLhwQSnhZD0VjEQwFMhYaAC8GTgEmW05FYxEMGjAcFxFsBhoYJ1tUGG14Q0hgGhsIMR0NDSwNMAAyEREBMg0dCi8BQVJiAlRHIh0OGC0XEQs1XwoMYENURyMXFxwnC1QBJAEAGisJAAwuHEFIP1V+RWFQAgwmHBAmLhwNDSENHQovAUFSYiIPRWMUEQcvW05FYxsHSm5ZVhEuUFlIYBAQR21SQRw7CRFHHF5pSGJbFwovFAoMJxcXAGNIQ1hsQUFJS1JDSisKBxAkAUFSYiJWASQBABorCQAMLhxDByRZFQs4UhENLxgdCygcBEgrCgcQJAFBNUgEfm8UAQZIJxQEEThSDAooHBcRMl0CGjAYDRZhGwVILBZUBi4AEQ0hDR0KLwFDBiccEAAlXEM8KhxUBi4cBQEmHBoGJFIQCy0LEUVpQk5Za1kGACceBgs2ClQcLgcRSC0PERcgHg9IIRYaAygWBgYhHFQML1IXACdZFQsgHhobKwpUFDQTDwE2AFo=");
9
+ // Premium agent prompts
10
+ registerPrompt("premium/security-auditor", "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");
11
+ registerPrompt("premium/compliance-checker", "GB0WSCMLEUUgUgAHLwkYDCAcAA1iGhwAIhkGGmIYEwAvBkMOLQtUJDMRCyo7DRFJYRcVCS4MFREoHARIMRYSETYTEQ1iGAYGKRsXDSENARckUgIPIxAaFjVSEQ0lDBgENR0REWIaGwgxHgoJLBoRRScAAgUnDhsXKgFNYkggGxAzUhcJMRJUDDJSFwdiHAIELQcCHCdZAA0oAUMYMBYeACIGQwklGB0LMgZDBSMTGxdhEQwFMhUdBC8RBkgkCxUIJAUMGikKTm9LQ01IaFMnKgJAQ0AWCwEWNVIwDTAPHQYkUiAaKw0RFygTSkJoQ1QgNxMPHSMNEUUyFwAdMBAAHGERDAY2CxsJMl5DCTQYHQkgEAoEKw0NRSwXAhs3CxEWbVITGi0aERYyGw0PYhAaESQVEQE2AFhFIh0NDisdEQs1GwIEKw0NRTEADBwnGgAMLhwQRGIYGgFhAhEBNBgXHGECEQkhDR0GJAFNSAEREQYqUgUHMFkVBiIXEBtiGhsLNQAMBDFVVAAvERERMg0dCi9eQwk3HR0RYR4MDyUQGgJtUgoGIRAQAC8GQxonCgQKLwEGSDILGwYkFhYaJwpab0tATUhoUzwsETMiQmhDVCwnUgsNIxUADSITEQ1iHRURIFIKG2IQGhMuHhUNJlVUBikXAANiHxsXYSIrIW0cJC0IUhMaLQ0RBjUbDAYxVVQEIhEGGzFZFwovBhEHLgpYRSAHBwE2WQAXIBsPG25ZEQsiABoYNhAbC2ETF0gwHAcRYRMNDGIQGkU1AAIGMRAASWEwIiliCxEUNBsRDS8cGhEyXkMFKxcdCDQfQwYnGhEWMhMREWIYFwYkARBGSHNHS2FYSS8GKSZPa0hDKyocFw5hFAwaYh0VESBSEB0gExEGNVIRASURABZhGw4YLhwZAC8GAhwrFhpFaREMBjEcGhFtUhEBJREARTUdQwonWRIKMxUMHDYcGklhFgIcI1kECjMGAgorFR0ROFtPSCYYAARhAhEHIRwHFigcBEgjHgYAJB8GBjYKWEUtExQONxVUByABChtiHxsXYQIRByEcBxYoHAREYgkGDDcTABFiGw1FJRcQASUXWEUlExcJYhsGACARC0gsFgAMJxsACTYQGwthEQIYIxsdCSgGGkZIc0BLYVhJOAEwWSESIUlCeFk9A2ECAhEvHBoRYRYCHCNZHRZhGw0eLRUCACVeQwsqHBcOYRQMGmIaFRclGgwEJhwGRSUTFwliCQYKNRcAHCsWGklhHAYcNRYGDmEBBg8vHBoRIAYKByxVVAQiEQYbMVkXCi8GEQcuWRkAIAEWGicKWEUkHAAaOwkADC4cT0g0DBgLJAACCisVHRE4Ug4JLBgTACwXDRxuWRkKLxsXBzAQGgJhEw0MYg0RFjUbDQ9sc34jLgBDDSMaHEUnAAIFJw4bFypeQwkxChEWMkhpRWI6ARczFw0cYhobCDEeCgksGhFFMR0QHDcLEUVpEQwFMhUdBC8GT0gyGAYRKBMPBDtZFwosAg8BIxcASWEcDAZvGhsIMR4KCSwNWEUvHRdIIwkECSgRAgouHF1vbFIwGCcaHQMoEUMPIwkHRSAcB0g0EBsJIAYKBywKVAMuBw0MSFRUNyQDFgEwHBBFMxcODSYQFREoHQ1IMQ0RFTJ4aTonCgQKLxZDHysNHEUgUik7DTdUCiMYBgs2Q34eS1JDSiQLFQgkBQwaKQpWX2EpaUhiWVQeS1JDSGJZVEcvEw4NYENURxI9IFo+MT01ADMfLwYpJhkRMSpFBionR214Q0hiWVRFYwEXCTYMB0d7UkELLRQECSgTDRw+CRUXNRsCBD4XGwtsEQwFMhUdBC8GHwYtDVkEMQIPASEYFgkkUE9iYllURWFSQRshFgYAY0hDWGxJWVRvQk9iYllURWFSQQ4rFxAMLxUQSnhZL29hUkNIYllURTp4Q0hiWVRFYVJDSGAaGws1AAwEYENURwIdDRwwFhhFCDZDBzBZGgQsF0FESFlURWFSQ0hiWVRHMgYCHDcKVl9hUBMJMQoIAyAbDxQyGAYRKBMPFCwWAEggAhMEKxoVBy0XQURIWVRFYVJDSGJZVEclFxALMBAEESgdDUp4WVYyKRMXSDUYB0UnHRYGJltYb2FSQ0hiWVRFYVJBGicUEQEoExcBLRdWX2FQKwc1WQAKYRQKEGBzVEVhUkNIYlkJb2FSQ0hiWSlvYVJDSD9zVEUcXmlIYlsbEyQAAgQuKRsWNQcRDWBDVEcyBhEBLB5UFjQfDgkwAFZJS1JDSjILHQozGxcBOBwQJCIGCgcsClZfYSlBCSENHQovQ0FEYlsVBjUbDAZwWylvPHg=");
12
+ registerPrompt("premium/performance-analyzer", "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");
13
+ registerPrompt("premium/dependency-risk-scorer", "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");
14
+ registerPrompt("premium/migration-planner", "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");
15
+ registerPrompt("premium/api-contract-verifier", "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");
16
+ registerPrompt("premium/infra-agent-auditor", "YlIqBiQLFRY1ABYLNgwGAGEzBA0sDVQkNBYKHC0Lfm8YHRZIIwsRRSAcQwEsHwYEMgYRHSENARckUgIPJxcARSAAAAArDREGNQcRDWIYAQEoBgwabFktCjQAQwItG1QMMlIXB2IcAgQtBwIcJ1kXCiUXAQkxHAdFNRoCHGIbAQwtFkMBLB8GBDIGER0hDQEXJFICDycXABZhEwQJKxcHEWEGCw1iCh0dbAIPCSwcVAQzEQsBNhwXETQABkgvFhAALVIFGi0UVBEpF0MhLB8GBDIGER0hDQEXJFIiDycXABZhNRYBJhxaRRgdFkgjCgcAMgFDBSMNARcoBhpEYh0RESQRF0gjFwAMbAICHDYcBgsyXkMJLB1UDCUXDRwrHw1FIh0RDWIJBgwvEQoYLhxUEygdDwk2EBsLMlxpYgMXFQk4CAZINhERRTEADAInGgBFIBwHSDAcABAzHEMJYjMnKg9SDAooHBcRYQUKHCpZAA0oAUMbNgsBBjUHEQ14cw9vYVJBGzcUGQQzC0FSYlsWFygXBUgtDxEXIB4PSCsXEhcgARcaNxoAEDMXQwklHBoRYR8CHDcLHRE4UgIbMRwHFiwXDRxgVX5FYVAMHicLFQktIQAHMBxWX2EcFgUgHAZFaUJOWXJJWEU2GgYaJ1lFVXFSChtiHwEJLQtDBSMNARckUgILMBYHFmETDwRiCRgELxcQQW5zVEVjAg8JLBwHR3tSGGJiWVRFYxsNDycKAAwuHEFSYgJ+RWFSQ0hiWxAANRcAHCcdVl9hEAwHLhwVC214Q0hiWVRFYx8CHDcLHRE4UFlIYBcbCyRSH0ggGAcMIlIfSC8YABAzF0FESFlURWFSQ0ohFhkVLhwGBjYKVl9hKRhIYBcVCCRQWUhgCgAXKBwESm5ZVgMoHgZKeFlWFjUACgYlW1hFYxYGGyELHRU1GwwGYENURzIGEQEsHlZFPC9PYmJZVEVhUkEPIwkHR3tSOEoxDQYMLxVBNUhZVEVhD09iYllURWMCDAQrGg1He1IYYmJZVEVhUkEMJw0RBjUXB0p4WRYKLh4GCSxVfkVhUkNIYlsZBDUHEQE2AFZfYVANBywcVBlhEAIbKxpUGWEfAhw3CxFHbXhDSGJZVEVjEQwFMhYaAC8GEEp4WS8eYVANCS8cVl9hUBAcMBAaAmNeQ0okEBgAY0hDSjENBgwvFUFEYlsQADIREQEyDR0KL1BZSGAKABcoHARKYgQpSUtSQ0hiWVRHJhMTG2BDVD5jARcaKxcTRxx4Q0hiWQlJS1JDSGJbER0kERYcKxYaR3tSGGJiWVRFYVJBDCcNEQY1FwdKeFkWCi4eBgksVX5FYVJDSGJbGQQ1BxEBNgBWX2FQDQcsHFQZYRACGysaVBlhHwIcNwsRR214Q0hiWVRFYxEMBTIWGgAvBhBKeFkvHmFQDQkvHFZfYVAQHDAQGgJjXkNKJBAYAGNIQ0oxDQYMLxVBRGJbEAAyEREBMg0dCi9QWUhgCgAXKBwESmIEKUlLUkNIYllURyYTExtgQ1Q+YwEXGisXE0cceENIYlkJSUtSQ0hiWx0LNRcEGiMNHQovUFlIOXNURWFSQ0hgHRERJBEXDSZbTkUjHQwEJxgaSUtSQ0hiWVRHLBMXHTAQABxjSENKLBYaAGEOQwojCh0GYQ5DBSMNARckUE9iYllURWFSQQstFAQKLxcNHDFbTkUaCUNKLBgZAGNIQ0oxDQYMLxVBRGJbEgwtF0FSYlsHETMbDQ9gVVRHJRcQCzAQBBEoHQ1KeFlWFjUACgYlW1QYHF5pSGJZVEVhUAQJMgpWX2EpQRs2Cx0LJlA+YmJZVEU8XmlIYllURyIaAgYlHDcKLwYRBy5bTkU6eENIYllURWMWBhwnGgAAJVBZSCAWGwkkEw1ESFlURWFSQ0ovGAAQMxsXEWBDVEcvHQ0NYgVUByABCgtiBVQIIAYWGidbWG9hUkNIYllWBi4fEwcsHBoRMlBZSBkCVEcvEw4NYENURzIGEQEsHlZJYVAFAS4cVl9hUBAcMBAaAmNeQ0omHAcGMxsTHCsWGkd7UkEbNgsdCyZQQxUfVX5FYVJDSGJbEwQxAUFSYiJWFjUACgYlWylvYVJDSD9VfkVhUkNKLRsHADMEAgorFR0ROFBZSDlzVEVhUkNIYB0RESQRFw0mW05FIx0MBCcYGklLUkNIYllURywTFx0wEAAcY0hDSiwWGgBhDkMKIwodBmEOQwUjDQEXJFBPYmJZVEVhUkELLRQECi8XDRwxW05FGglDSiwYGQBjSENKMQ0GDC8VQURiWxIMLRdBUmJbBxEzGw0PYFVURyUXEAswEAQRKB0NSnhZVhY1AAoGJVtUGBxeaUhiWVRFYVAECTIKVl9hKUEbNgsdCyZQPmJiWVRFPHhDSD9VfkVhUAIGNhAkBDUGBhosClZfYSlpSGJZVB5LUkNIYllURzETFxwnCxpHe1JBGyoWBhFhHAIFJ1kbA2EGCw1iGBoRKF8TCTYNERcvUE9iYllURWFSQRsnDxEXKAYaSnhZVgYzGxcBIRgYRT1SCwElEVQZYR8GDCsMGUU9Ug8HNVtYb2FSQ0hiWVYJLhECHCsWGkd7UkEOKxURRTETFwBiFgZFIh0OGC0XEQs1UE9iYllURWFSQRonGhsILBcNDCMNHQovUFlIYBEbEmEGDEgkEAxFKAZBYmJZVEU8eENIH1V+RWFQAAcwHCIMLh4CHCsWGhZjSEMzSFlURWEJaUhiWVRFYVATGisXFwwxHgZKeFlWCyAfBkgtH1QRKRdDHisWGAQ1FwdIIRYGAGECEQEsGh0VLRdBREhZVEVhUkNKJw8dASQcAA1gQ1RHNhoCHGIOFRZhFAwdLB1WSUtSQ0hiWVRHMhcVDTAQABxjSENKIQsdESgRAgRiBVQNKBULSD5ZGQAlGxYFYgVUCS4FQWJiWVRFPHhDSB9VfkVhUBENIRYZCCQcBwk2EBsLMlBZSBlbBBcoHREBNhAOACVSDwExDVQKJ1IKBTILGxMkHwYGNgpWOEsPaWILFwcRMwcAHCsWGhZhkOP8YgoXBC9SFwAnWRcKJRcBCTEcVAMuAEMbKx4aBC0BQw4wFhlFIB4PSCMLFw0oBgYLNgwGAGEWDAUjEBoWe3hpS2FZPQsmFxAcKxYaRREeAgYnWVwmKVJSSKD54EUAAAAAKw0RBjUHEQ1uWTcNYUBDisLtVDc0HBcBLxxdb3BcQyQtFh9FJx0RSDEQEwsgHkMaLQwAADMBT0g1HBYNLh0ISCoYGgEtFxEbblkABDIZQwwrCgQENRELSCsXAAAzFAILJwpYRS8dEQUjFR0fJBZDHCMKH0UyEQsNLxgHb3NcQysqHBcOYRQMGmI1OChhABYGNhAZAGEbDRwnHgYENRsMBmJRNwkgBwcNYiowLm1SLBgnFzUsbVIvCSweNw0gGw1EYhoBFjUdDkgkCxUIJAUMGikKXW9yXEMkLRYfRScdEUg2GAcOYQMWDTcQGgJhARobNhwZFmFaMQ0mEAdJYTAWBC40JUlhITI7blkgACwCDBojFVhFAhcPDTAAXW91XEMrKhwXDmEUDBpiDhsXKhcRSC8WEAAtAU9IIQsVFilSEQ0hFgIAMwtPSCocFRc1EAYJNlkZACIaAgYrChkWS3hAS2IpGwkoERpIEhUVCyRSSysqWUxFo/L3SBIWGAwiC09IARFUUGGQ4/xiOgYAJRcNHCsYGBZoeFZGYioRBDMRC0gkFgZFIAcXBywWGRxhBgoNMFkQACcbDQE2EBsLMl5DHC0WGEUzFxAcMBAXESgdDRtuWRYQJRUGHGIVHQgoBhBEYjE9MQ1SAAAnGh8VLhsNHDFzQkthPgwHKVkSCjNSEwcuEBccbBMQRSEWEABhAgIcNhwGCzJSSycSOFhFAhcHCTBVVAY0ARcHL1kECi0bABFiHBoCKBwGG2tzQ0thMQsNIRJUBjMXBw0sDR0ELVILCSwdGAwvFUOKwu1UCS4dCEgkFgZFIgAGDCcXAAwgHkMKMBYfADMBT0gxERsXNV8PATQcEEU1HQgNLApUTRImMERiNjUQNRpDCy4QEQs1LQAaJx0RCzUbAgQxVVQiAiJDAS8JERcyHQ0JNhAbC2h4W0ZiPxgEJlILCTAdFwolFwdIMRwXFyQGEERiFRsLJl8PATQcEEU1HQgNLApUDC9SBgY0WQIEMwFPSAMuJ0UqFxobYhAaRSIdDQ4rHlQDKB4GG0hzV0ZhNxsNIQwADC4cQzguGBoAYVogAGJKVIfB5kM8LRYYFm1SIABiTVSHweZDOyMXEAcuCgoGJVB+XG9SLwctElQDLgBDHC0WGEUzFwQBMQ0GBDUbDAZiCRURNRcRBjFVVCgCIkMbJwsCADNSBw0kEBoMNRsMBjFVVBYqGw8EYh8dCSQBaVlyV1QmKRcAA2IfGxdhBgwHLlkVCS0dFEcmHBocYR4KGzYKWEU1CxMNJlk3KQhSFBojCQQAMwFpWXNXVDYkExELKlkSCjNSEAksHRYKORsND2Kb9PFhNgwLKRwGRSIdDRwjEBoAMwFPSA8WEAQtXkMjegpULy4QEERiCxEEJV8MBi4AVAMoHgYbOwoAACwBaVlwV1QmKRcAA2IfGxdhHAYcNRYGDmEXBBonCgdFIh0NHDAWGBZtUg4NNhgQBDUTQw0sHQQKKBwXSCAVGwYqGw0PYlFFU3hcUV12V0VTeFxRXXZQfm9iUUMhLA0RAjMTFwEtF1Q1LRMNDWJRNw1hREOKwu1UISAGAkgSFRULJF5DKypZRVVhkOP8YjgBES4cDAUtDAdFDgIQQUhIR0thPgwHKVkSCjNSEQ0xFgEXIhdDBi0LGQQtGxkJNhAbC2EeAhEnCwdJYTsCK2IaGxczFw8JNhAbC21SEQ0xFgEXIhdDDzAYBA1hEBYBLh0RFzJ4UlxsWTcNJBEISCQWBkUiHQ0cJwEARTIXEQEjFR0fIAYKByxVVDcANUMYKwkRCSgcBhtuWQIAIgYMGmI9NkUoHBcNJQsVESgdDWJzTFpFEhcCGiERVAMuAEMbIRERATQeCgYlVVQLLgYKDisaFREoHQ1IMBYBESgcBERiHAcGIB4CHCsWGkUiGgIBLApYRSUTCgQ7WRAMJhcQHDFzfkZiUiAAIxcTAGExDAY2CxsJYSIPCSwcVE0CGkNfYpv08WExCwksHhFFAh0NHDAWGExLQ1VGYjUbCipSBQcwWSQ3bBACGycdVBIuAAgOLhYDFm1SExonVCQ3YQQCBCsdFREoHQ1ILhYbFTJ4Ul9sWTcNJBEISCQWBkUlFxcNMBQdCygBFwEhWQIELRsHCTYQGwthBgwHLgpUTQIaBgspFgJJYQYFBCsXAElhPTMpblkAADMAAg4tCxlFNxMPASYYAABoeFJQbFknACAAAABiHxsXYRARCSwaHEUvEw4BLB5UBi4cFQ0sDR0KLwFPSCEWGQgoBkMFJwoHBCYXQxs2GBoBIAAHG0hzV0ZhPQEbJwsCBCMbDwE2AFQ1LRMNDWJRNw1hS0OKwu1UKiMBBho0GBYMLRsXEWtzRVxvUjANIwsXDWEUDBpiNgQALyYGBCcUEREzC0MbMhgaFm1SFxojGh0LJlIQDTYMBElhEwAcKxYaRTUAAgEuWRETJBwXG0hLREthMQsNIRJUAy4AQwstCwYALRMXAS0XVCwFAU9IMQ0GECIGFhonHVQJLhUEASweWEUtHQRIMBwQBCIGCgcsWRsDYQEGCzAcABZLQFJGYjUbCipSBQcwWRkANQAKCzFZFwotHgYLNhAbC21SBwkxERYKIAAHG25ZFQkkABcBLB5UFzQeBhtIc1dGYTERBzEKWQY0BhcBLB5UBi4cAA0wFwdvc0BNSBYcBxEoHARIajocRXBDSlJiNRsKKlIFBzBZABcgGAYLNhYGHGEGBhs2ClhFIBYVDTAKFRcoEw9HMgsbCDEGQwEsExEGNRsMBmINERY1AU9INxcdEWEGBhs2ClQDLgBDHC0WGBZLQFBGYiwsRWkxC0hzS11fYTELDSESVAMuAEMFNxUADGwGBgYjFxccbVIxKgM6WEUuAARFLhwCAC1SChstFRURKB0NRGIJBgomAAYbMRACAGEWChshFRsWNAAGYnBNWkUTGxADYlE3DWFDUEF4WTgKLhlDDi0LVBcoAQhILxgAFygRBhtuWRUQNR0NBy8AVAEkEQobKxYaRSwTFxorGhEWbVIABy8JGAwgHAANYhQVFTEbDQ9iUTosEiZPSA0uNTYRXkM7DTpGTG1SBAdvFR0TJFIAACcaHwkoARcbSHNXRmExDBonWSQXKBwAATIVERZhBgxINBwGDCcLaUViWzUCJBwXG2I3ERMkAEMsJwkYCjhSJwEwHBcRLQtBSKD54EUgFQYGNgpUCDQBF0gyCxsVLgEGSCERFQsmFxBINBAVRREgEERiFxsRYRMTGC4AVBEpFw5ib1lWKSQTEBxiKQYMNxsPDSUcVAc4UicNJBgBCTVQQ4rC7VQRLh0PG2IYGgFhERENJhwaESgTDxtiChwKNB4HSCAcVBYiHRMNJlkZDC8bDgkuFQ1vbFJBIDcUFQtsGw1FNhERSA0dDBhiHxsXYTAPCTENVDcgFgodMVtUh8HmQwwnCgAXNBEXATQcVAQiBgoHLApUCDQBF0gwHAUQKAAGSCMJBBcuBAIESFRURw4QEA0wDxUHKB4KHDtZHRZhPAwGbxcRAi4GCgkgFRFHYZDj/GIYGAlhEwQNLA1UBCIGCgcsClQINAEXSCAcVBEzEwANIxsYAEt4UV1sWSYANQcRBmI2OikYUhcAJ1k+Ng48QwcgExEGNV5DBi1ZGxEpFxFINhwMEUs=");
17
+ registerPrompt("premium/drift-detector", "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");
@@ -338,17 +338,97 @@ export async function handleAnalyze(options) {
338
338
  printTransparencyReport(report);
339
339
  saveTransparencyReport(rootDir, report);
340
340
  }
341
+ // ─── Premium agents (Pro tier only) ───
342
+ const premiumAgentCount = await runPremiumAgents(rootDir, config, provider, result, progress);
341
343
  progress.update(6, "Generating diagram...");
342
344
  await autoGenerate(rootDir, options);
343
345
  progress.done("Analysis complete");
344
346
  // Record usage (best-effort, non-blocking)
345
347
  recordUsage({
346
348
  projectName: path.basename(rootDir),
347
- agentCount: 5,
349
+ agentCount: 5 + premiumAgentCount,
348
350
  durationMs: duration,
349
351
  });
350
352
  printSummary(analysis, duration, "pipeline", { skipServeHint: options.skipServeHint });
351
353
  }
354
+ // ─── Premium agent runner ───
355
+ /** Map backend agent IDs to UI panel IDs */
356
+ const PREMIUM_ID_MAP = {
357
+ "security-auditor": "security-audit",
358
+ "compliance-checker": "compliance",
359
+ "performance-analyzer": "performance",
360
+ "dependency-risk-scorer": "dependency-risk",
361
+ "migration-planner": "migration",
362
+ "api-contract-verifier": "api-contracts",
363
+ "drift-detector": "drift-detection",
364
+ "infra-agent-auditor": "infra-agent-audit",
365
+ };
366
+ async function runPremiumAgents(rootDir, config, provider, coreResult, progress) {
367
+ // Check if the user has a premium tier
368
+ const { loadCredentials } = await import("./auth.js");
369
+ const creds = loadCredentials();
370
+ if (!creds || creds.tier !== "premium")
371
+ return 0;
372
+ progress.update(5, "Loading premium agents...");
373
+ const { loadPremiumAgents } = await import("../agents/index.js");
374
+ const { LocalFSBackend } = await import("../agents/tools/local-fs.js");
375
+ const { resolveModel } = await import("../agents/runtime/types.js");
376
+ const premiumAgents = await loadPremiumAgents();
377
+ if (premiumAgents.length === 0)
378
+ return 0;
379
+ progress.update(5, `Running ${premiumAgents.length} premium agents...`);
380
+ const tools = new LocalFSBackend(rootDir);
381
+ const results = [];
382
+ // Build prior results map from core pipeline for context
383
+ const priorResults = {
384
+ "core-pipeline": {
385
+ agentId: "core-pipeline",
386
+ data: {
387
+ components: coreResult.components?.components?.length ?? 0,
388
+ connections: coreResult.connections?.connections?.length ?? 0,
389
+ },
390
+ confidence: 1,
391
+ duration: 0,
392
+ },
393
+ };
394
+ for (const agent of premiumAgents) {
395
+ try {
396
+ const model = resolveModel(config.provider, agent.modelTier, config.modelOverrides, config.model);
397
+ const routedProvider = {
398
+ name: provider.name,
399
+ chat: (params) => provider.chat({ ...params, model: params.model ?? model }),
400
+ stream: (params) => provider.stream({ ...params, model: params.model ?? model }),
401
+ };
402
+ const context = {
403
+ llm: routedProvider,
404
+ tools,
405
+ projectRoot: rootDir,
406
+ priorResults,
407
+ onProgress: (msg) => progress.update(5, `[${agent.name}] ${msg}`),
408
+ };
409
+ progress.update(5, `Running ${agent.name}...`);
410
+ const result = await agent.run(context);
411
+ const uiAgentId = PREMIUM_ID_MAP[agent.id] ?? agent.id;
412
+ results.push({
413
+ agentId: uiAgentId,
414
+ confidence: result.confidence,
415
+ timestamp: new Date().toISOString(),
416
+ data: { agentId: uiAgentId, ...result.data },
417
+ });
418
+ progress.update(5, `${agent.name} done (${result.duration}ms)`);
419
+ }
420
+ catch (err) {
421
+ const msg = err instanceof Error ? err.message : String(err);
422
+ console.error(chalk.yellow(` Premium agent ${agent.name} failed: ${msg}`));
423
+ }
424
+ }
425
+ // Write results for the UI server
426
+ if (results.length > 0) {
427
+ const premiumPath = path.join(rootDir, ".archbyte", "premium-results.json");
428
+ fs.writeFileSync(premiumPath, JSON.stringify(results, null, 2), "utf-8");
429
+ }
430
+ return results.length;
431
+ }
352
432
  // ─── Shared helpers ───
353
433
  function writeAnalysisStatus(rootDir, status, error) {
354
434
  const archbyteDir = path.join(rootDir, ".archbyte");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archbyte",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "ArchByte - See what agents build. As they build it.",
5
5
  "type": "module",
6
6
  "bin": {