@kya-os/cli 1.8.1 → 1.8.3
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/commands/agent.d.ts +35 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +321 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/build.js +2 -2
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.js +3 -3
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/checkpoint-init.d.ts +1 -1
- package/dist/commands/checkpoint-init.d.ts.map +1 -1
- package/dist/commands/checkpoint-init.js +8 -41
- package/dist/commands/checkpoint-init.js.map +1 -1
- package/dist/commands/claim.js +2 -2
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/dco.d.ts +59 -0
- package/dist/commands/dco.d.ts.map +1 -1
- package/dist/commands/dco.js +280 -5
- package/dist/commands/dco.js.map +1 -1
- package/dist/commands/dev.js +1 -1
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +18 -24
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/env.js +6 -6
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/identity.js +3 -3
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/init-stages.d.ts +141 -0
- package/dist/commands/init-stages.d.ts.map +1 -0
- package/dist/commands/init-stages.js +684 -0
- package/dist/commands/init-stages.js.map +1 -0
- package/dist/commands/init.d.ts +46 -16
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +229 -279
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/orchestrator.d.ts +18 -0
- package/dist/commands/orchestrator.d.ts.map +1 -0
- package/dist/commands/orchestrator.js +251 -0
- package/dist/commands/orchestrator.js.map +1 -0
- package/dist/commands/register.d.ts +1 -1
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +35 -7
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/review.d.ts +48 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +220 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/rotate.js +4 -4
- package/dist/commands/rotate.js.map +1 -1
- package/dist/commands/score.d.ts +15 -0
- package/dist/commands/score.d.ts.map +1 -0
- package/dist/commands/score.js +471 -0
- package/dist/commands/score.js.map +1 -0
- package/dist/commands/start.js +3 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.js +6 -6
- package/dist/commands/verify.js.map +1 -1
- package/dist/dco.d.ts +4 -0
- package/dist/dco.d.ts.map +1 -0
- package/dist/dco.js +23 -0
- package/dist/dco.js.map +1 -0
- package/dist/index.js +52 -9
- package/dist/orchestrator/daemon.d.ts +137 -0
- package/dist/orchestrator/daemon.d.ts.map +1 -0
- package/dist/orchestrator/daemon.js +242 -0
- package/dist/orchestrator/daemon.js.map +1 -0
- package/dist/orchestrator/db/dispatches.d.ts +108 -0
- package/dist/orchestrator/db/dispatches.d.ts.map +1 -0
- package/dist/orchestrator/db/dispatches.js +122 -0
- package/dist/orchestrator/db/dispatches.js.map +1 -0
- package/dist/orchestrator/db/index.d.ts +50 -0
- package/dist/orchestrator/db/index.d.ts.map +1 -0
- package/dist/orchestrator/db/index.js +116 -0
- package/dist/orchestrator/db/index.js.map +1 -0
- package/dist/orchestrator/db/journal.d.ts +93 -0
- package/dist/orchestrator/db/journal.d.ts.map +1 -0
- package/dist/orchestrator/db/journal.js +91 -0
- package/dist/orchestrator/db/journal.js.map +1 -0
- package/dist/orchestrator/db/liveness.d.ts +97 -0
- package/dist/orchestrator/db/liveness.d.ts.map +1 -0
- package/dist/orchestrator/db/liveness.js +105 -0
- package/dist/orchestrator/db/liveness.js.map +1 -0
- package/dist/orchestrator/db/mission.d.ts +78 -0
- package/dist/orchestrator/db/mission.d.ts.map +1 -0
- package/dist/orchestrator/db/mission.js +99 -0
- package/dist/orchestrator/db/mission.js.map +1 -0
- package/dist/orchestrator/db/schema.d.ts +14 -0
- package/dist/orchestrator/db/schema.d.ts.map +1 -0
- package/dist/orchestrator/db/schema.js +169 -0
- package/dist/orchestrator/db/schema.js.map +1 -0
- package/dist/orchestrator/db/tickets.d.ts +147 -0
- package/dist/orchestrator/db/tickets.d.ts.map +1 -0
- package/dist/orchestrator/db/tickets.js +238 -0
- package/dist/orchestrator/db/tickets.js.map +1 -0
- package/dist/orchestrator/db/verdicts.d.ts +187 -0
- package/dist/orchestrator/db/verdicts.d.ts.map +1 -0
- package/dist/orchestrator/db/verdicts.js +197 -0
- package/dist/orchestrator/db/verdicts.js.map +1 -0
- package/dist/orchestrator/events.d.ts +69 -0
- package/dist/orchestrator/events.d.ts.map +1 -0
- package/dist/orchestrator/events.js +20 -0
- package/dist/orchestrator/events.js.map +1 -0
- package/dist/orchestrator/github-credential-anchor-sender.d.ts +159 -0
- package/dist/orchestrator/github-credential-anchor-sender.d.ts.map +1 -0
- package/dist/orchestrator/github-credential-anchor-sender.js +313 -0
- package/dist/orchestrator/github-credential-anchor-sender.js.map +1 -0
- package/dist/orchestrator/hub-dispatch.d.ts +120 -0
- package/dist/orchestrator/hub-dispatch.d.ts.map +1 -0
- package/dist/orchestrator/hub-dispatch.js +257 -0
- package/dist/orchestrator/hub-dispatch.js.map +1 -0
- package/dist/orchestrator/hub-observer.d.ts +201 -0
- package/dist/orchestrator/hub-observer.d.ts.map +1 -0
- package/dist/orchestrator/hub-observer.js +474 -0
- package/dist/orchestrator/hub-observer.js.map +1 -0
- package/dist/orchestrator/journal-writer.d.ts +80 -0
- package/dist/orchestrator/journal-writer.d.ts.map +1 -0
- package/dist/orchestrator/journal-writer.js +113 -0
- package/dist/orchestrator/journal-writer.js.map +1 -0
- package/dist/orchestrator/mcp/server.d.ts +136 -0
- package/dist/orchestrator/mcp/server.d.ts.map +1 -0
- package/dist/orchestrator/mcp/server.js +582 -0
- package/dist/orchestrator/mcp/server.js.map +1 -0
- package/dist/orchestrator/mcp/stdio.d.ts +22 -0
- package/dist/orchestrator/mcp/stdio.d.ts.map +1 -0
- package/dist/orchestrator/mcp/stdio.js +51 -0
- package/dist/orchestrator/mcp/stdio.js.map +1 -0
- package/dist/orchestrator/review.d.ts +131 -0
- package/dist/orchestrator/review.d.ts.map +1 -0
- package/dist/orchestrator/review.js +322 -0
- package/dist/orchestrator/review.js.map +1 -0
- package/dist/tui/app.d.ts +33 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +71 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/components.d.ts +110 -0
- package/dist/tui/components.d.ts.map +1 -0
- package/dist/tui/components.js +118 -0
- package/dist/tui/components.js.map +1 -0
- package/dist/tui/index.d.ts +30 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +95 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/keymap.d.ts +33 -0
- package/dist/tui/keymap.d.ts.map +1 -0
- package/dist/tui/keymap.js +49 -0
- package/dist/tui/keymap.js.map +1 -0
- package/dist/tui/nav.d.ts +29 -0
- package/dist/tui/nav.d.ts.map +1 -0
- package/dist/tui/nav.js +39 -0
- package/dist/tui/nav.js.map +1 -0
- package/dist/tui/sanitize.d.ts +25 -0
- package/dist/tui/sanitize.d.ts.map +1 -0
- package/dist/tui/sanitize.js +36 -0
- package/dist/tui/sanitize.js.map +1 -0
- package/dist/tui/theme.d.ts +32 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +63 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/tui/views/agents.d.ts +67 -0
- package/dist/tui/views/agents.d.ts.map +1 -0
- package/dist/tui/views/agents.js +231 -0
- package/dist/tui/views/agents.js.map +1 -0
- package/dist/tui/views/index.d.ts +93 -0
- package/dist/tui/views/index.d.ts.map +1 -0
- package/dist/tui/views/index.js +150 -0
- package/dist/tui/views/index.js.map +1 -0
- package/dist/tui/views/registry.d.ts +22 -0
- package/dist/tui/views/registry.d.ts.map +1 -0
- package/dist/tui/views/registry.js +110 -0
- package/dist/tui/views/registry.js.map +1 -0
- package/dist/utils/agent/backoff.d.ts +31 -0
- package/dist/utils/agent/backoff.d.ts.map +1 -0
- package/dist/utils/agent/backoff.js +51 -0
- package/dist/utils/agent/backoff.js.map +1 -0
- package/dist/utils/agent/markers.d.ts +87 -0
- package/dist/utils/agent/markers.d.ts.map +1 -0
- package/dist/utils/agent/markers.js +147 -0
- package/dist/utils/agent/markers.js.map +1 -0
- package/dist/utils/agent/review.d.ts +67 -0
- package/dist/utils/agent/review.d.ts.map +1 -0
- package/dist/utils/agent/review.js +305 -0
- package/dist/utils/agent/review.js.map +1 -0
- package/dist/utils/agent/spawn-agent.d.ts +117 -0
- package/dist/utils/agent/spawn-agent.d.ts.map +1 -0
- package/dist/utils/agent/spawn-agent.js +177 -0
- package/dist/utils/agent/spawn-agent.js.map +1 -0
- package/dist/utils/agent/task.d.ts +101 -0
- package/dist/utils/agent/task.d.ts.map +1 -0
- package/dist/utils/agent/task.js +357 -0
- package/dist/utils/agent/task.js.map +1 -0
- package/dist/utils/agent/verify.d.ts +47 -0
- package/dist/utils/agent/verify.d.ts.map +1 -0
- package/dist/utils/agent/verify.js +144 -0
- package/dist/utils/agent/verify.js.map +1 -0
- package/dist/utils/agent-detector.d.ts +48 -0
- package/dist/utils/agent-detector.d.ts.map +1 -0
- package/dist/utils/agent-detector.js +74 -0
- package/dist/utils/agent-detector.js.map +1 -0
- package/dist/utils/agent-profile-stage.d.ts +70 -0
- package/dist/utils/agent-profile-stage.d.ts.map +1 -0
- package/dist/utils/agent-profile-stage.js +153 -0
- package/dist/utils/agent-profile-stage.js.map +1 -0
- package/dist/utils/agent-profiles.d.ts +27 -0
- package/dist/utils/agent-profiles.d.ts.map +1 -0
- package/dist/utils/agent-profiles.js +61 -0
- package/dist/utils/agent-profiles.js.map +1 -0
- package/dist/utils/checkpoint-api.d.ts +1 -1
- package/dist/utils/checkpoint-api.js +1 -1
- package/dist/utils/checkpoint-env.d.ts +1 -1
- package/dist/utils/checkpoint-env.js +2 -2
- package/dist/utils/checkpoint-env.js.map +1 -1
- package/dist/utils/checkpoint-scaffold.d.ts +1 -1
- package/dist/utils/checkpoint-scaffold.js +1 -1
- package/dist/utils/cli-kit/browser.d.ts +24 -0
- package/dist/utils/cli-kit/browser.d.ts.map +1 -0
- package/dist/utils/cli-kit/browser.js +58 -0
- package/dist/utils/cli-kit/browser.js.map +1 -0
- package/dist/utils/cli-kit/claim-polling.d.ts +18 -0
- package/dist/utils/cli-kit/claim-polling.d.ts.map +1 -0
- package/dist/utils/{claim-polling.js → cli-kit/claim-polling.js} +19 -26
- package/dist/utils/cli-kit/claim-polling.js.map +1 -0
- package/dist/utils/cli-kit/diagnostics.d.ts +9 -0
- package/dist/utils/cli-kit/diagnostics.d.ts.map +1 -0
- package/dist/utils/cli-kit/diagnostics.js +11 -0
- package/dist/utils/cli-kit/diagnostics.js.map +1 -0
- package/dist/utils/cli-kit/fs-safe.d.ts +14 -0
- package/dist/utils/cli-kit/fs-safe.d.ts.map +1 -0
- package/dist/utils/cli-kit/fs-safe.js +20 -0
- package/dist/utils/cli-kit/fs-safe.js.map +1 -0
- package/dist/utils/cli-kit/index.d.ts +15 -0
- package/dist/utils/cli-kit/index.d.ts.map +1 -0
- package/dist/utils/cli-kit/index.js +10 -0
- package/dist/utils/cli-kit/index.js.map +1 -0
- package/dist/utils/cli-kit/json-file.d.ts +21 -0
- package/dist/utils/cli-kit/json-file.d.ts.map +1 -0
- package/dist/utils/cli-kit/json-file.js +51 -0
- package/dist/utils/cli-kit/json-file.js.map +1 -0
- package/dist/utils/cli-kit/marker-block.d.ts +26 -0
- package/dist/utils/cli-kit/marker-block.d.ts.map +1 -0
- package/dist/utils/cli-kit/marker-block.js +61 -0
- package/dist/utils/cli-kit/marker-block.js.map +1 -0
- package/dist/utils/cli-kit/paths.d.ts +15 -0
- package/dist/utils/cli-kit/paths.d.ts.map +1 -0
- package/dist/utils/cli-kit/paths.js +21 -0
- package/dist/utils/cli-kit/paths.js.map +1 -0
- package/dist/utils/cli-kit/secure-storage.d.ts +14 -0
- package/dist/utils/cli-kit/secure-storage.d.ts.map +1 -0
- package/dist/utils/cli-kit/secure-storage.js +20 -0
- package/dist/utils/cli-kit/secure-storage.js.map +1 -0
- package/dist/utils/cli-kit/step-report.d.ts +16 -0
- package/dist/utils/cli-kit/step-report.d.ts.map +1 -0
- package/dist/utils/cli-kit/step-report.js +36 -0
- package/dist/utils/cli-kit/step-report.js.map +1 -0
- package/dist/utils/dco/agent-metadata.d.ts +1 -1
- package/dist/utils/dco/agent-metadata.js +1 -1
- package/dist/utils/dco/agent-metadata.js.map +1 -1
- package/dist/utils/dco/claude-config.d.ts +18 -14
- package/dist/utils/dco/claude-config.d.ts.map +1 -1
- package/dist/utils/dco/claude-config.js +31 -97
- package/dist/utils/dco/claude-config.js.map +1 -1
- package/dist/utils/dco/dispatch.d.ts +134 -0
- package/dist/utils/dco/dispatch.d.ts.map +1 -0
- package/dist/utils/dco/dispatch.js +399 -0
- package/dist/utils/dco/dispatch.js.map +1 -0
- package/dist/utils/dco/fix.d.ts +122 -0
- package/dist/utils/dco/fix.d.ts.map +1 -0
- package/dist/utils/dco/fix.js +560 -0
- package/dist/utils/dco/fix.js.map +1 -0
- package/dist/utils/dco/git-config.d.ts.map +1 -1
- package/dist/utils/dco/git-config.js +5 -3
- package/dist/utils/dco/git-config.js.map +1 -1
- package/dist/utils/dco/github.d.ts +101 -0
- package/dist/utils/dco/github.d.ts.map +1 -1
- package/dist/utils/dco/github.js +133 -0
- package/dist/utils/dco/github.js.map +1 -1
- package/dist/utils/dco/paths.d.ts +1 -8
- package/dist/utils/dco/paths.d.ts.map +1 -1
- package/dist/utils/dco/paths.js +3 -12
- package/dist/utils/dco/paths.js.map +1 -1
- package/dist/utils/dco/render.d.ts +1 -1
- package/dist/utils/dco/render.d.ts.map +1 -1
- package/dist/utils/dco/render.js +4 -21
- package/dist/utils/dco/render.js.map +1 -1
- package/dist/utils/dco/resolve-agent.d.ts +54 -0
- package/dist/utils/dco/resolve-agent.d.ts.map +1 -0
- package/dist/utils/dco/resolve-agent.js +164 -0
- package/dist/utils/dco/resolve-agent.js.map +1 -0
- package/dist/utils/dco/setup.d.ts +10 -7
- package/dist/utils/dco/setup.d.ts.map +1 -1
- package/dist/utils/dco/setup.js +264 -200
- package/dist/utils/dco/setup.js.map +1 -1
- package/dist/utils/dco/signing-key-writer.d.ts +40 -0
- package/dist/utils/dco/signing-key-writer.d.ts.map +1 -0
- package/dist/utils/dco/signing-key-writer.js +76 -0
- package/dist/utils/dco/signing-key-writer.js.map +1 -0
- package/dist/utils/dco/ssh-key.d.ts +50 -0
- package/dist/utils/dco/ssh-key.d.ts.map +1 -1
- package/dist/utils/dco/ssh-key.js +129 -8
- package/dist/utils/dco/ssh-key.js.map +1 -1
- package/dist/utils/dco/status.d.ts +1 -1
- package/dist/utils/dco/status.d.ts.map +1 -1
- package/dist/utils/dco/status.js +3 -3
- package/dist/utils/dco/status.js.map +1 -1
- package/dist/utils/dco/verify.d.ts +170 -0
- package/dist/utils/dco/verify.d.ts.map +1 -0
- package/dist/utils/dco/verify.js +550 -0
- package/dist/utils/dco/verify.js.map +1 -0
- package/dist/utils/dependency-installer.d.ts +37 -0
- package/dist/utils/dependency-installer.d.ts.map +1 -0
- package/dist/utils/dependency-installer.js +32 -0
- package/dist/utils/dependency-installer.js.map +1 -0
- package/dist/utils/github-credential-stage.d.ts +87 -0
- package/dist/utils/github-credential-stage.d.ts.map +1 -0
- package/dist/utils/github-credential-stage.js +168 -0
- package/dist/utils/github-credential-stage.js.map +1 -0
- package/dist/utils/github-credential.d.ts +160 -0
- package/dist/utils/github-credential.d.ts.map +1 -0
- package/dist/utils/github-credential.js +308 -0
- package/dist/utils/github-credential.js.map +1 -0
- package/dist/utils/gitignore.d.ts +17 -0
- package/dist/utils/gitignore.d.ts.map +1 -0
- package/dist/utils/gitignore.js +40 -0
- package/dist/utils/gitignore.js.map +1 -0
- package/dist/utils/hub-config.d.ts +21 -0
- package/dist/utils/hub-config.d.ts.map +1 -0
- package/dist/utils/hub-config.js +28 -0
- package/dist/utils/hub-config.js.map +1 -0
- package/dist/utils/identity-heal.d.ts +16 -0
- package/dist/utils/identity-heal.d.ts.map +1 -0
- package/dist/utils/identity-heal.js +37 -0
- package/dist/utils/identity-heal.js.map +1 -0
- package/dist/utils/init/pipeline.d.ts +74 -0
- package/dist/utils/init/pipeline.d.ts.map +1 -0
- package/dist/utils/init/pipeline.js +96 -0
- package/dist/utils/init/pipeline.js.map +1 -0
- package/dist/utils/poll.d.ts +15 -1
- package/dist/utils/poll.d.ts.map +1 -1
- package/dist/utils/poll.js +6 -3
- package/dist/utils/poll.js.map +1 -1
- package/dist/utils/register-agent-identity.d.ts +67 -0
- package/dist/utils/register-agent-identity.d.ts.map +1 -0
- package/dist/utils/register-agent-identity.js +34 -0
- package/dist/utils/register-agent-identity.js.map +1 -0
- package/dist/utils/review/did-web-key.d.ts +34 -0
- package/dist/utils/review/did-web-key.d.ts.map +1 -0
- package/dist/utils/review/did-web-key.js +104 -0
- package/dist/utils/review/did-web-key.js.map +1 -0
- package/dist/utils/review/load-registry.d.ts +33 -0
- package/dist/utils/review/load-registry.d.ts.map +1 -0
- package/dist/utils/review/load-registry.js +62 -0
- package/dist/utils/review/load-registry.js.map +1 -0
- package/dist/utils/review/verdict-verify.d.ts +43 -0
- package/dist/utils/review/verdict-verify.d.ts.map +1 -0
- package/dist/utils/review/verdict-verify.js +53 -0
- package/dist/utils/review/verdict-verify.js.map +1 -0
- package/dist/utils/review-registry-writer.d.ts +52 -0
- package/dist/utils/review-registry-writer.d.ts.map +1 -0
- package/dist/utils/review-registry-writer.js +79 -0
- package/dist/utils/review-registry-writer.js.map +1 -0
- package/dist/utils/should-install-dependency.d.ts +17 -0
- package/dist/utils/should-install-dependency.d.ts.map +1 -0
- package/dist/utils/should-install-dependency.js +25 -0
- package/dist/utils/should-install-dependency.js.map +1 -0
- package/dist/utils/tool-readiness.d.ts +57 -0
- package/dist/utils/tool-readiness.d.ts.map +1 -0
- package/dist/utils/tool-readiness.js +114 -0
- package/dist/utils/tool-readiness.js.map +1 -0
- package/dist/utils/which.d.ts +2 -0
- package/dist/utils/which.d.ts.map +1 -0
- package/dist/utils/which.js +22 -0
- package/dist/utils/which.js.map +1 -0
- package/dist/version.d.ts +15 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +29 -0
- package/dist/version.js.map +1 -0
- package/package.json +19 -6
- package/dist/utils/claim-polling.d.ts +0 -21
- package/dist/utils/claim-polling.d.ts.map +0 -1
- package/dist/utils/claim-polling.js.map +0 -1
- package/dist/utils/dco/fs-safe.d.ts +0 -14
- package/dist/utils/dco/fs-safe.d.ts.map +0 -1
- package/dist/utils/dco/fs-safe.js +0 -20
- package/dist/utils/dco/fs-safe.js.map +0 -1
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import ora from "ora";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { pollWithDeadline, timeoutSignal } from "../utils/poll.js";
|
|
5
|
+
const LETTER_GRADE_ORDER = [
|
|
6
|
+
"A",
|
|
7
|
+
"A-",
|
|
8
|
+
"B+",
|
|
9
|
+
"B",
|
|
10
|
+
"B-",
|
|
11
|
+
"C+",
|
|
12
|
+
"C",
|
|
13
|
+
"C-",
|
|
14
|
+
"D",
|
|
15
|
+
"F",
|
|
16
|
+
];
|
|
17
|
+
function isLetterGrade(value) {
|
|
18
|
+
return LETTER_GRADE_ORDER.includes(value);
|
|
19
|
+
}
|
|
20
|
+
/** Rank in the ten-band scale; 0 is best (A), 9 is worst (F). */
|
|
21
|
+
function gradeRank(grade) {
|
|
22
|
+
return LETTER_GRADE_ORDER.indexOf(grade);
|
|
23
|
+
}
|
|
24
|
+
/** A grade "meets" a threshold when it's the same band or better (lower rank). */
|
|
25
|
+
function meetsThreshold(achieved, threshold) {
|
|
26
|
+
return gradeRank(achieved) <= gradeRank(threshold);
|
|
27
|
+
}
|
|
28
|
+
/** 0 = pass. 1 = gate failed (bad/unreachable grade) -- CI keys on this to
|
|
29
|
+
* fail a build. 2 = could-not-run (usage/network/unsupported/timeout),
|
|
30
|
+
* kept distinct from 1 so CI can tell "bad grade" from "tool error". */
|
|
31
|
+
const EXIT_PASS = 0;
|
|
32
|
+
const EXIT_GATE_FAILED = 1;
|
|
33
|
+
const EXIT_USAGE_ERROR = 2;
|
|
34
|
+
const DEFAULT_TIMEOUT_SECONDS = 60;
|
|
35
|
+
const POLL_INTERVAL_MS = 2000;
|
|
36
|
+
const SUBMIT_MAX_RETRIES = 3;
|
|
37
|
+
const SUBMIT_RETRY_BASE_MS = 250;
|
|
38
|
+
const SUBMIT_RETRY_CAP_MS = 2000;
|
|
39
|
+
/** Per-request cap on the submit fetch, matching the per-attempt cap
|
|
40
|
+
* pollWithDeadline already gives every poll request (see
|
|
41
|
+
* utils/poll.ts's timeoutSignal) -- without this, a hung or slow KTA
|
|
42
|
+
* (or a hostile --kta-url) could hang the submit request up to
|
|
43
|
+
* undici's ~300s default with no feedback. */
|
|
44
|
+
const SUBMIT_REQUEST_TIMEOUT_MS = 15000;
|
|
45
|
+
/** Upper bound on a response body read via readJsonWithCap, so a
|
|
46
|
+
* hostile --kta-url can't stream an unbounded body into memory before
|
|
47
|
+
* this command ever gets to `JSON.parse`. A real spec-audit record is a
|
|
48
|
+
* few KB at most; 1 MiB is generous headroom, not a real payload size. */
|
|
49
|
+
const MAX_RESPONSE_BYTES = 1024 * 1024;
|
|
50
|
+
const specReportSchema = z
|
|
51
|
+
.object({
|
|
52
|
+
letterGrade: z.string(),
|
|
53
|
+
rawScore: z.number(),
|
|
54
|
+
})
|
|
55
|
+
.passthrough();
|
|
56
|
+
const publicAgentMatchSchema = z
|
|
57
|
+
.object({
|
|
58
|
+
slug: z.string(),
|
|
59
|
+
claimed: z.boolean(),
|
|
60
|
+
})
|
|
61
|
+
.passthrough();
|
|
62
|
+
// PublicSpecAuditResponse (KTA's src/services/spec-audit/types.ts) lives in
|
|
63
|
+
// a different repo and isn't published in @kya-os/contracts (see PR-35's
|
|
64
|
+
// "contract parity follow-up" note) -- this mirrors ONLY the fields this
|
|
65
|
+
// command reads and passthrough()s the rest, so a field KTA adds later
|
|
66
|
+
// can never break this CLI.
|
|
67
|
+
const specAuditResponseSchema = z
|
|
68
|
+
.object({
|
|
69
|
+
auditId: z.string(),
|
|
70
|
+
status: z.enum(["pending", "running", "complete", "failed"]),
|
|
71
|
+
cached: z.boolean(),
|
|
72
|
+
notAudited: z.boolean(),
|
|
73
|
+
report: specReportSchema.nullable().optional(),
|
|
74
|
+
agent: publicAgentMatchSchema.nullable().optional(),
|
|
75
|
+
failureReason: z.string().nullable().optional(),
|
|
76
|
+
})
|
|
77
|
+
.passthrough();
|
|
78
|
+
const LOCAL_HOSTNAME_PATTERN = /^(localhost|0\.0\.0\.0|127(?:\.\d{1,3}){3}|\[?::1\]?)$/i;
|
|
79
|
+
const PRIVATE_IPV4_PATTERNS = [
|
|
80
|
+
/^10(?:\.\d{1,3}){3}$/,
|
|
81
|
+
/^192\.168(?:\.\d{1,3}){2}$/,
|
|
82
|
+
/^172\.(1[6-9]|2\d|3[01])(?:\.\d{1,3}){2}$/,
|
|
83
|
+
/^169\.254(?:\.\d{1,3}){2}$/,
|
|
84
|
+
];
|
|
85
|
+
/**
|
|
86
|
+
* Best-effort client-side pre-check so a local target fails fast with a
|
|
87
|
+
* friendly message instead of a round trip to KTA's own server-side
|
|
88
|
+
* isUrlSafe() SSRF gate, which is the authoritative check.
|
|
89
|
+
*/
|
|
90
|
+
function isLikelyLocalTarget(url) {
|
|
91
|
+
const hostname = url.hostname.toLowerCase();
|
|
92
|
+
return (LOCAL_HOSTNAME_PATTERN.test(hostname) ||
|
|
93
|
+
PRIVATE_IPV4_PATTERNS.some((pattern) => pattern.test(hostname)));
|
|
94
|
+
}
|
|
95
|
+
function resolveBaseUrl(opts) {
|
|
96
|
+
return opts.ktaUrl ?? process.env.KTA_API_URL ?? "https://knowthat.ai";
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* "CI mode" governs both spinner suppression and whether an unreachable
|
|
100
|
+
* or failed audit counts as a failing gate. Real CI runners are non-TTY,
|
|
101
|
+
* so detecting !isTTY (alongside the explicit --ci/--json flags) means a
|
|
102
|
+
* bare `mcpi score <url>` run from a pipeline gates correctly without the
|
|
103
|
+
* caller having to remember the flag.
|
|
104
|
+
*/
|
|
105
|
+
function isCiMode(opts) {
|
|
106
|
+
return Boolean(opts.ci) || Boolean(opts.json) || !process.stdout.isTTY;
|
|
107
|
+
}
|
|
108
|
+
function sleep(ms) {
|
|
109
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Strips ASCII control characters (C0/C1, including ESC) before a
|
|
113
|
+
* server-controlled string is ever written straight to a terminal. The
|
|
114
|
+
* audit target is attacker-controlled by design -- that's the whole
|
|
115
|
+
* point of this command -- so failureReason/letterGrade/agent.slug must
|
|
116
|
+
* never carry a raw escape sequence into stdout: a malicious MCP server
|
|
117
|
+
* could otherwise use ANSI/OSC sequences (cursor control, screen
|
|
118
|
+
* overwrite, clipboard writes) to make a bad grade look like a pass in a
|
|
119
|
+
* CI log. Only applied on the human-readable path -- the --json payload
|
|
120
|
+
* already escapes control characters safely via JSON.stringify and is
|
|
121
|
+
* left verbatim for machine consumers.
|
|
122
|
+
*
|
|
123
|
+
* Deliberately NOT reusing effects/utils.ts's stripAnsi(): that helper
|
|
124
|
+
* only strips SGR color codes (`\x1b[...m`, for measuring display width),
|
|
125
|
+
* which would leave an OSC sequence (e.g. a clipboard-write payload) or a
|
|
126
|
+
* non-`m` CSI sequence (e.g. a cursor/erase command) untouched -- exactly
|
|
127
|
+
* the attack shapes this function exists to close.
|
|
128
|
+
*/
|
|
129
|
+
function sanitizeForTerminal(value) {
|
|
130
|
+
// eslint-disable-next-line no-control-regex -- deliberately matching control chars to strip them
|
|
131
|
+
return value.replace(/[\x00-\x1f\x7f-\x9f]/g, "");
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Reads a response body up to `maxBytes`, then parses it as JSON --
|
|
135
|
+
* never throws, so every caller can handle a too-large or malformed body
|
|
136
|
+
* the same way it already handles a network error, instead of adding an
|
|
137
|
+
* unhandled-rejection path. Streams via the body reader when available
|
|
138
|
+
* (a real `fetch` Response) so a hostile --kta-url can't force this
|
|
139
|
+
* command to buffer an unbounded body before the cap is ever checked;
|
|
140
|
+
* falls back to the plain `.json()` read for a body-less mock (e.g. this
|
|
141
|
+
* command's own test doubles), which have no unbounded-stream risk to
|
|
142
|
+
* cap in the first place.
|
|
143
|
+
*/
|
|
144
|
+
async function readJsonWithCap(response, maxBytes) {
|
|
145
|
+
const reader = response.body?.getReader();
|
|
146
|
+
if (!reader) {
|
|
147
|
+
try {
|
|
148
|
+
return { ok: true, value: await response.json() };
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
return {
|
|
152
|
+
ok: false,
|
|
153
|
+
reason: error instanceof Error ? error.message : "invalid JSON body",
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
const chunks = [];
|
|
158
|
+
let total = 0;
|
|
159
|
+
try {
|
|
160
|
+
for (;;) {
|
|
161
|
+
const { done, value } = await reader.read();
|
|
162
|
+
if (done)
|
|
163
|
+
break;
|
|
164
|
+
total += value.byteLength;
|
|
165
|
+
if (total > maxBytes) {
|
|
166
|
+
await reader.cancel();
|
|
167
|
+
return { ok: false, reason: `response exceeded ${maxBytes} bytes` };
|
|
168
|
+
}
|
|
169
|
+
chunks.push(value);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
return {
|
|
174
|
+
ok: false,
|
|
175
|
+
reason: error instanceof Error ? error.message : "failed to read response body",
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
const bytes = new Uint8Array(total);
|
|
179
|
+
let offset = 0;
|
|
180
|
+
for (const chunk of chunks) {
|
|
181
|
+
bytes.set(chunk, offset);
|
|
182
|
+
offset += chunk.byteLength;
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
return { ok: true, value: JSON.parse(new TextDecoder().decode(bytes)) };
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
return {
|
|
189
|
+
ok: false,
|
|
190
|
+
reason: error instanceof Error ? error.message : "invalid JSON body",
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
async function submitWithRetry(base, targetUrl) {
|
|
195
|
+
for (let attempt = 0;; attempt++) {
|
|
196
|
+
const { signal, cancel } = timeoutSignal(SUBMIT_REQUEST_TIMEOUT_MS);
|
|
197
|
+
try {
|
|
198
|
+
const response = await fetch(new URL("/api/spec-audits", base).toString(), {
|
|
199
|
+
method: "POST",
|
|
200
|
+
headers: { "content-type": "application/json" },
|
|
201
|
+
body: JSON.stringify({ url: targetUrl }),
|
|
202
|
+
signal,
|
|
203
|
+
});
|
|
204
|
+
if (response.status === 429 && attempt < SUBMIT_MAX_RETRIES) {
|
|
205
|
+
await sleep(Math.min(SUBMIT_RETRY_CAP_MS, SUBMIT_RETRY_BASE_MS * 2 ** attempt));
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
const json = await readJsonWithCap(response, MAX_RESPONSE_BYTES);
|
|
209
|
+
return { status: response.status, ok: response.ok, json };
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
cancel();
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Polls GET /api/spec-audits/[auditId] on a fixed interval via the shared
|
|
218
|
+
* pollWithDeadline helper (see utils/poll.ts) until status is "complete"
|
|
219
|
+
* or "failed", or the deadline elapses. A 429 or other transient HTTP
|
|
220
|
+
* error is treated as "keep waiting" -- the poll path uses KTA's generic
|
|
221
|
+
* fail-open read limiter, so a stray 429 here is expected to clear on the
|
|
222
|
+
* next interval, not a reason to give up on the whole command. A too-large
|
|
223
|
+
* or malformed body is treated the same way (see readJsonWithCap) --
|
|
224
|
+
* indistinguishable from a transient hiccup from this command's point of
|
|
225
|
+
* view, and worth one more interval rather than aborting the whole run.
|
|
226
|
+
*/
|
|
227
|
+
async function pollForResult(base, auditId, timeoutMs) {
|
|
228
|
+
const outcome = await pollWithDeadline(async (signal) => {
|
|
229
|
+
let response;
|
|
230
|
+
try {
|
|
231
|
+
response = await fetch(new URL(`/api/spec-audits/${auditId}`, base).toString(), { signal });
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
return { kind: "continue" };
|
|
235
|
+
}
|
|
236
|
+
if (response.status === 404) {
|
|
237
|
+
// The audit row is gone -- retrying can never succeed.
|
|
238
|
+
return { kind: "fatal", error: new Error("audit not found") };
|
|
239
|
+
}
|
|
240
|
+
if (!response.ok) {
|
|
241
|
+
return { kind: "continue" };
|
|
242
|
+
}
|
|
243
|
+
const json = await readJsonWithCap(response, MAX_RESPONSE_BYTES);
|
|
244
|
+
if (!json.ok) {
|
|
245
|
+
return { kind: "continue" };
|
|
246
|
+
}
|
|
247
|
+
const parsed = specAuditResponseSchema.safeParse(json.value);
|
|
248
|
+
if (!parsed.success) {
|
|
249
|
+
return { kind: "continue" };
|
|
250
|
+
}
|
|
251
|
+
if (parsed.data.status === "complete" ||
|
|
252
|
+
parsed.data.status === "failed") {
|
|
253
|
+
return { kind: "done", value: parsed.data };
|
|
254
|
+
}
|
|
255
|
+
return { kind: "continue" };
|
|
256
|
+
}, { intervalMs: POLL_INTERVAL_MS, timeoutMs });
|
|
257
|
+
if (outcome.outcome === "done") {
|
|
258
|
+
return { kind: "terminal", value: outcome.value };
|
|
259
|
+
}
|
|
260
|
+
if (outcome.outcome === "timeout") {
|
|
261
|
+
return { kind: "timeout" };
|
|
262
|
+
}
|
|
263
|
+
// "interrupted" (Ctrl+C) and "fatal" (404) both mean the command can't
|
|
264
|
+
// finish for a reason a retry wouldn't fix.
|
|
265
|
+
return { kind: "network-error" };
|
|
266
|
+
}
|
|
267
|
+
/** `success` is filled in by the caller once the exit code is known --
|
|
268
|
+
* this only shapes the audit-derived fields, which don't depend on the
|
|
269
|
+
* --min-grade comparison. */
|
|
270
|
+
function toPayload(audit) {
|
|
271
|
+
return {
|
|
272
|
+
auditId: audit.auditId,
|
|
273
|
+
status: audit.status,
|
|
274
|
+
letterGrade: audit.report?.letterGrade ?? null,
|
|
275
|
+
rawScore: audit.report?.rawScore ?? null,
|
|
276
|
+
notAudited: audit.notAudited,
|
|
277
|
+
failureReason: audit.failureReason ?? null,
|
|
278
|
+
agent: audit.agent ?? null,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/** Sets the exit code and prints a single usage/error message, respecting
|
|
282
|
+
* the --json single-object-on-stdout contract even for early failures.
|
|
283
|
+
* Always carries `success: false` so a --json consumer can key on that
|
|
284
|
+
* one field regardless of which failure path produced it. */
|
|
285
|
+
function fail(opts, exitCode, message) {
|
|
286
|
+
process.exitCode = exitCode;
|
|
287
|
+
if (opts.json) {
|
|
288
|
+
console.log(JSON.stringify({ success: false, error: message }, null, 2));
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
console.log(chalk.red(`\n❌ ${message}\n`));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Audits an MCP server's Spec Score via KTA's public on-demand audit API:
|
|
296
|
+
* submits the URL, polls until the audit completes, and prints the letter
|
|
297
|
+
* grade + rawScore/100. With --min-grade, gates on the ten-band ordinal
|
|
298
|
+
* comparison so a release can fail a build on a bad grade.
|
|
299
|
+
*/
|
|
300
|
+
export async function score(url, opts = {}) {
|
|
301
|
+
let parsedUrl;
|
|
302
|
+
try {
|
|
303
|
+
parsedUrl = new URL(url);
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
fail(opts, EXIT_USAGE_ERROR, `"${url}" is not a valid URL`);
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
if (parsedUrl.protocol !== "http:" && parsedUrl.protocol !== "https:") {
|
|
310
|
+
fail(opts, EXIT_USAGE_ERROR, "URL must use http or https");
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
if (isLikelyLocalTarget(parsedUrl)) {
|
|
314
|
+
fail(opts, EXIT_USAGE_ERROR, `"${url}" looks like a local address -- KTA can only audit a publicly reachable server`);
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
if (opts.minGrade && !isLetterGrade(opts.minGrade.toUpperCase())) {
|
|
318
|
+
fail(opts, EXIT_USAGE_ERROR, `"${opts.minGrade}" is not a valid letter grade (A, A-, B+, ... F)`);
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
let timeoutSeconds = DEFAULT_TIMEOUT_SECONDS;
|
|
322
|
+
if (opts.timeout !== undefined) {
|
|
323
|
+
const parsedTimeout = Number(opts.timeout);
|
|
324
|
+
if (!Number.isFinite(parsedTimeout) || parsedTimeout <= 0) {
|
|
325
|
+
fail(opts, EXIT_USAGE_ERROR, `"${opts.timeout}" is not a valid --timeout (expected a positive number of seconds)`);
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
timeoutSeconds = parsedTimeout;
|
|
329
|
+
}
|
|
330
|
+
const base = resolveBaseUrl(opts);
|
|
331
|
+
const interactive = !opts.json && !isCiMode(opts);
|
|
332
|
+
const spinner = interactive
|
|
333
|
+
? ora("Submitting to KTA for a Spec Score audit...").start()
|
|
334
|
+
: null;
|
|
335
|
+
let submitOutcome;
|
|
336
|
+
try {
|
|
337
|
+
submitOutcome = await submitWithRetry(base, parsedUrl.toString());
|
|
338
|
+
}
|
|
339
|
+
catch (error) {
|
|
340
|
+
spinner?.fail("Could not reach KTA");
|
|
341
|
+
fail(opts, EXIT_USAGE_ERROR, `Network error contacting KTA: ${error instanceof Error ? error.message : "unknown error"}`);
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
if (submitOutcome.status === 404) {
|
|
345
|
+
spinner?.fail("Unsupported KTA deployment");
|
|
346
|
+
fail(opts, EXIT_USAGE_ERROR, "This KTA deployment does not support on-demand audits yet");
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
if (submitOutcome.status === 429) {
|
|
350
|
+
spinner?.fail("Rate limited");
|
|
351
|
+
fail(opts, EXIT_USAGE_ERROR, "Rate limited by KTA after repeated retries -- try again later");
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
if (!submitOutcome.ok) {
|
|
355
|
+
spinner?.fail("Submission failed");
|
|
356
|
+
fail(opts, EXIT_USAGE_ERROR, `KTA rejected the audit submission (HTTP ${submitOutcome.status})`);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
const submitJson = submitOutcome.json;
|
|
360
|
+
if (!submitJson.ok) {
|
|
361
|
+
spinner?.fail("Unexpected response");
|
|
362
|
+
fail(opts, EXIT_USAGE_ERROR, `KTA returned an unreadable response: ${submitJson.reason}`);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
const submitParsed = specAuditResponseSchema.safeParse(submitJson.value);
|
|
366
|
+
if (!submitParsed.success) {
|
|
367
|
+
spinner?.fail("Unexpected response");
|
|
368
|
+
fail(opts, EXIT_USAGE_ERROR, "KTA returned an unexpected response shape");
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
let audit = submitParsed.data;
|
|
372
|
+
if (audit.status === "pending" || audit.status === "running") {
|
|
373
|
+
if (spinner)
|
|
374
|
+
spinner.text = "Waiting for the audit to complete...";
|
|
375
|
+
const result = await pollForResult(base, audit.auditId, timeoutSeconds * 1000);
|
|
376
|
+
if (result.kind === "timeout") {
|
|
377
|
+
spinner?.fail("Timed out");
|
|
378
|
+
fail(opts, EXIT_USAGE_ERROR, "Audit did not complete in time; try again");
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
if (result.kind === "network-error") {
|
|
382
|
+
spinner?.fail("Lost connection to KTA");
|
|
383
|
+
fail(opts, EXIT_USAGE_ERROR, "Lost connection to KTA while waiting for the audit to complete");
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
audit = result.value;
|
|
387
|
+
}
|
|
388
|
+
const payload = toPayload(audit);
|
|
389
|
+
// --ci (or --json, or a non-TTY runner) treats an unreachable/failed
|
|
390
|
+
// audit as a gate failure even without --min-grade; --min-grade alone
|
|
391
|
+
// also counts, since specifying a threshold is itself a signal the
|
|
392
|
+
// caller wants CI-style gating. Outside both, an unreachable/failed
|
|
393
|
+
// result is informational only (exit 0) -- a human running the command
|
|
394
|
+
// by hand just wants to know what happened, not have their shell fail.
|
|
395
|
+
const gateModeActive = isCiMode(opts) || Boolean(opts.minGrade);
|
|
396
|
+
let exitCode = EXIT_PASS;
|
|
397
|
+
let message;
|
|
398
|
+
let isFailureTone = false;
|
|
399
|
+
if (audit.status === "failed") {
|
|
400
|
+
message = audit.failureReason ?? "The audit failed";
|
|
401
|
+
isFailureTone = true;
|
|
402
|
+
if (gateModeActive)
|
|
403
|
+
exitCode = EXIT_GATE_FAILED;
|
|
404
|
+
}
|
|
405
|
+
else if (audit.notAudited) {
|
|
406
|
+
isFailureTone = true;
|
|
407
|
+
if (gateModeActive) {
|
|
408
|
+
exitCode = EXIT_GATE_FAILED;
|
|
409
|
+
message = "server was unreachable, no grade produced";
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
message = "no grade: the server was unreachable";
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// Normalize BEFORE the isLetterGrade check: a KTA response carrying a
|
|
417
|
+
// differently-cased or otherwise malformed letterGrade must not slip
|
|
418
|
+
// past this as an unrecognized-but-shrugged-off value (bestbrian
|
|
419
|
+
// review, PR #676) -- see the `else` branch below for the fail-closed
|
|
420
|
+
// consequence when no valid grade can be established under a gate.
|
|
421
|
+
const rawGrade = payload.letterGrade;
|
|
422
|
+
const grade = rawGrade ? rawGrade.toUpperCase() : null;
|
|
423
|
+
if (grade && isLetterGrade(grade) && opts.minGrade) {
|
|
424
|
+
const threshold = opts.minGrade.toUpperCase();
|
|
425
|
+
if (meetsThreshold(grade, threshold)) {
|
|
426
|
+
message = `Spec Score: ${grade} (meets ${threshold})`;
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
isFailureTone = true;
|
|
430
|
+
exitCode = EXIT_GATE_FAILED;
|
|
431
|
+
message = `Spec Score ${grade} is below the required ${threshold}`;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else if (opts.minGrade) {
|
|
435
|
+
// A gate was requested but the "complete" result carries no
|
|
436
|
+
// comparable grade (null, or a shape isLetterGrade doesn't
|
|
437
|
+
// recognize even after normalizing) -- this MUST fail closed, not
|
|
438
|
+
// silently exit 0, or a release gate never actually gates
|
|
439
|
+
// (bestbrian review, PR #676, P1).
|
|
440
|
+
isFailureTone = true;
|
|
441
|
+
exitCode = EXIT_GATE_FAILED;
|
|
442
|
+
message = `Spec Score could not be determined -- required ${opts.minGrade.toUpperCase()}`;
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
message = `Spec Score: ${grade ?? "unknown"}`;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
process.exitCode = exitCode;
|
|
449
|
+
if (opts.json) {
|
|
450
|
+
console.log(JSON.stringify({ ...payload, success: exitCode === EXIT_PASS }, null, 2));
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
if (spinner) {
|
|
454
|
+
if (isFailureTone)
|
|
455
|
+
spinner.fail("Audit complete");
|
|
456
|
+
else
|
|
457
|
+
spinner.succeed("Audit complete");
|
|
458
|
+
}
|
|
459
|
+
const safeMessage = sanitizeForTerminal(message);
|
|
460
|
+
console.log(isFailureTone ? chalk.red(`\n${safeMessage}`) : chalk.green(`\n${safeMessage}`));
|
|
461
|
+
if (!audit.notAudited && audit.status !== "failed" && payload.rawScore !== null) {
|
|
462
|
+
console.log(chalk.gray(` Raw score: ${payload.rawScore}/100`));
|
|
463
|
+
}
|
|
464
|
+
if (payload.agent) {
|
|
465
|
+
console.log(chalk.gray(` Registered agent: ${base}/agents/${sanitizeForTerminal(payload.agent.slug)}`));
|
|
466
|
+
}
|
|
467
|
+
if (!opts.minGrade) {
|
|
468
|
+
console.log(chalk.dim(`\nTip: gate a release on this with: mcpi score ${parsedUrl.toString()} --min-grade B --ci`));
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
//# sourceMappingURL=score.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/commands/score.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/start.js
CHANGED
|
@@ -48,9 +48,9 @@ export async function start() {
|
|
|
48
48
|
console.log(` ${chalk.red("✗")} ${chalk.gray(varName)}`);
|
|
49
49
|
});
|
|
50
50
|
console.log(`\n${chalk.gray("Set these environment variables or run in development mode:")}`);
|
|
51
|
-
console.log(`${chalk.cyan("
|
|
51
|
+
console.log(`${chalk.cyan("kya-os dev")}`);
|
|
52
52
|
console.log(`\n${chalk.gray("For platform-specific variable names:")}`);
|
|
53
|
-
console.log(`${chalk.cyan("
|
|
53
|
+
console.log(`${chalk.cyan("kya-os env show")}`);
|
|
54
54
|
process.exit(21); // XMCP_I_ENOIDENTITY
|
|
55
55
|
}
|
|
56
56
|
// Determine start command
|
|
@@ -86,7 +86,7 @@ export async function start() {
|
|
|
86
86
|
console.log(`${chalk.gray("• npm script 'start' in package.json")}`);
|
|
87
87
|
console.log(`${chalk.gray("• Built output in dist/, build/, or out/")}`);
|
|
88
88
|
console.log(`\n${chalk.gray("Try building first:")}`);
|
|
89
|
-
console.log(`${chalk.cyan("
|
|
89
|
+
console.log(`${chalk.cyan("kya-os build")}`);
|
|
90
90
|
process.exit(1);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAE7D,2CAA2C;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,8DAA8D,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAEvE,MAAM,OAAO,GACX,WAAW,CAAC,YAAY,EAAE,IAAI;YAC9B,WAAW,CAAC,eAAe,EAAE,IAAI;YACjC,WAAW,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC;YAC3C,WAAW,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC;YAC9C,WAAW,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC;YAC1C,WAAW,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS,CACP,uEAAuE,CACxE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6CAA6C;IAC7C,MAAM,eAAe,GAAG;QACtB,mBAAmB;QACnB,cAAc;QACd,WAAW;QACX,qBAAqB;KACtB,CAAC;IAEF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CACxC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CACnC,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,oDAAoD,CAAC,CAAC;QAChE,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,EAAE,CACjF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/status.js
CHANGED
|
@@ -34,7 +34,7 @@ export async function status(options = {}) {
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
if (!processVars.AGENT_DID) {
|
|
37
|
-
const error = 'No XMCP-I identity found. Run "
|
|
37
|
+
const error = 'No XMCP-I identity found. Run "kya-os init" first.';
|
|
38
38
|
if (json) {
|
|
39
39
|
console.log(JSON.stringify({ success: false, error }, null, 2));
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAyB,EAAE;IACtD,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEjC,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAE9C,0CAA0C;IAC1C,IAAI,gBAAgB,GAAQ,IAAI,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEnE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,gBAAgB,EAAE,CAAC;QAC/C,WAAW,GAAG;YACZ,SAAS,EAAE,gBAAgB,CAAC,GAAG;YAC/B,YAAY,EAAE,gBAAgB,CAAC,GAAG;YAClC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS;SAC7C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -27,7 +27,7 @@ export async function verify(options = {}) {
|
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
29
|
showError("Only --local verification is currently supported");
|
|
30
|
-
console.log(chalk.gray("Use:
|
|
30
|
+
console.log(chalk.gray("Use: kya-os verify --local"));
|
|
31
31
|
}
|
|
32
32
|
process.exit(1);
|
|
33
33
|
}
|
|
@@ -41,7 +41,7 @@ export async function verify(options = {}) {
|
|
|
41
41
|
// Load current identity
|
|
42
42
|
const identity = loadCurrentIdentity();
|
|
43
43
|
if (!identity) {
|
|
44
|
-
const error = 'No XMCP-I identity found. Run "
|
|
44
|
+
const error = 'No XMCP-I identity found. Run "kya-os init" first.';
|
|
45
45
|
if (json) {
|
|
46
46
|
console.log(JSON.stringify({ success: false, error }, null, 2));
|
|
47
47
|
}
|
|
@@ -482,10 +482,10 @@ function displayVerificationResults(result, verbose) {
|
|
|
482
482
|
// Usage hints
|
|
483
483
|
if (!result.success || verbose) {
|
|
484
484
|
console.log(chalk.bold("\n💡 Usage:"));
|
|
485
|
-
console.log(chalk.gray("
|
|
486
|
-
console.log(chalk.gray("
|
|
487
|
-
console.log(chalk.gray("
|
|
488
|
-
console.log(chalk.gray("
|
|
485
|
+
console.log(chalk.gray(" kya-os verify --local --proof proof.json"));
|
|
486
|
+
console.log(chalk.gray(" kya-os verify --local --proof proof.json --request request.json --response response.json"));
|
|
487
|
+
console.log(chalk.gray(" kya-os verify --local --json # JSON output"));
|
|
488
|
+
console.log(chalk.gray(" kya-os verify --local --verbose # Detailed output"));
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
491
|
//# sourceMappingURL=verify.js.map
|