approval-md 0.0.1 → 0.2.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.
- package/LICENSE +176 -0
- package/NOTICE +5 -0
- package/README.md +940 -4
- package/SPEC.md +476 -34
- package/cli.js +29 -3
- package/dist/src/adapters/agentmail.d.ts +426 -0
- package/dist/src/adapters/agentmail.js +1200 -0
- package/dist/src/adapters/agentmail.js.map +1 -0
- package/dist/src/adapters/conformance.d.ts +149 -0
- package/dist/src/adapters/conformance.js +461 -0
- package/dist/src/adapters/conformance.js.map +1 -0
- package/dist/src/adapters/contract.d.ts +628 -0
- package/dist/src/adapters/contract.js +1035 -0
- package/dist/src/adapters/contract.js.map +1 -0
- package/dist/src/adapters/email.d.ts +324 -0
- package/dist/src/adapters/email.js +749 -0
- package/dist/src/adapters/email.js.map +1 -0
- package/dist/src/adapters/env-passphrase.d.ts +93 -0
- package/dist/src/adapters/env-passphrase.js +132 -0
- package/dist/src/adapters/env-passphrase.js.map +1 -0
- package/dist/src/adapters/public.d.ts +11 -0
- package/dist/src/adapters/public.js +11 -0
- package/dist/src/adapters/public.js.map +1 -0
- package/dist/src/adapters/registry.d.ts +59 -0
- package/dist/src/adapters/registry.js +77 -0
- package/dist/src/adapters/registry.js.map +1 -0
- package/dist/src/adapters/smtp.d.ts +213 -0
- package/dist/src/adapters/smtp.js +499 -0
- package/dist/src/adapters/smtp.js.map +1 -0
- package/dist/src/adapters/vault-provider.d.ts +114 -0
- package/dist/src/adapters/vault-provider.js +161 -0
- package/dist/src/adapters/vault-provider.js.map +1 -0
- package/dist/src/adapters/zzz.d.ts +66 -0
- package/dist/src/adapters/zzz.js +299 -0
- package/dist/src/adapters/zzz.js.map +1 -0
- package/dist/src/channels/batch.d.ts +109 -0
- package/dist/src/channels/batch.js +121 -0
- package/dist/src/channels/batch.js.map +1 -0
- package/dist/src/channels/cli.d.ts +193 -0
- package/dist/src/channels/cli.js +468 -0
- package/dist/src/channels/cli.js.map +1 -0
- package/dist/src/channels/conformance.d.ts +92 -0
- package/dist/src/channels/conformance.js +445 -0
- package/dist/src/channels/conformance.js.map +1 -0
- package/dist/src/channels/contract.d.ts +623 -0
- package/dist/src/channels/contract.js +494 -0
- package/dist/src/channels/contract.js.map +1 -0
- package/dist/src/channels/payload-view.d.ts +35 -0
- package/dist/src/channels/payload-view.js +43 -0
- package/dist/src/channels/payload-view.js.map +1 -0
- package/dist/src/channels/render-queue.d.ts +149 -0
- package/dist/src/channels/render-queue.js +564 -0
- package/dist/src/channels/render-queue.js.map +1 -0
- package/dist/src/channels/tagging.d.ts +196 -0
- package/dist/src/channels/tagging.js +723 -0
- package/dist/src/channels/tagging.js.map +1 -0
- package/dist/src/channels/telegram.d.ts +1832 -0
- package/dist/src/channels/telegram.js +3190 -0
- package/dist/src/channels/telegram.js.map +1 -0
- package/dist/src/channels/web.d.ts +341 -0
- package/dist/src/channels/web.js +903 -0
- package/dist/src/channels/web.js.map +1 -0
- package/dist/src/cli/adapter.d.ts +90 -0
- package/dist/src/cli/adapter.js +288 -0
- package/dist/src/cli/adapter.js.map +1 -0
- package/dist/src/cli/amend.d.ts +59 -0
- package/dist/src/cli/amend.js +2171 -0
- package/dist/src/cli/amend.js.map +1 -0
- package/dist/src/cli/args.d.ts +43 -0
- package/dist/src/cli/args.js +86 -0
- package/dist/src/cli/args.js.map +1 -0
- package/dist/src/cli/attest.d.ts +41 -0
- package/dist/src/cli/attest.js +307 -0
- package/dist/src/cli/attest.js.map +1 -0
- package/dist/src/cli/audit-card.d.ts +62 -0
- package/dist/src/cli/audit-card.js +201 -0
- package/dist/src/cli/audit-card.js.map +1 -0
- package/dist/src/cli/audit.d.ts +59 -0
- package/dist/src/cli/audit.js +460 -0
- package/dist/src/cli/audit.js.map +1 -0
- package/dist/src/cli/channel-telegram.d.ts +806 -0
- package/dist/src/cli/channel-telegram.js +2063 -0
- package/dist/src/cli/channel-telegram.js.map +1 -0
- package/dist/src/cli/channel-web.d.ts +131 -0
- package/dist/src/cli/channel-web.js +357 -0
- package/dist/src/cli/channel-web.js.map +1 -0
- package/dist/src/cli/channel.d.ts +71 -0
- package/dist/src/cli/channel.js +438 -0
- package/dist/src/cli/channel.js.map +1 -0
- package/dist/src/cli/checkpoint-tap.d.ts +169 -0
- package/dist/src/cli/checkpoint-tap.js +238 -0
- package/dist/src/cli/checkpoint-tap.js.map +1 -0
- package/dist/src/cli/codex.d.ts +2 -0
- package/dist/src/cli/codex.js +172 -0
- package/dist/src/cli/codex.js.map +1 -0
- package/dist/src/cli/coverage.d.ts +61 -0
- package/dist/src/cli/coverage.js +343 -0
- package/dist/src/cli/coverage.js.map +1 -0
- package/dist/src/cli/daemon.d.ts +120 -0
- package/dist/src/cli/daemon.js +631 -0
- package/dist/src/cli/daemon.js.map +1 -0
- package/dist/src/cli/doctor.d.ts +129 -0
- package/dist/src/cli/doctor.js +2762 -0
- package/dist/src/cli/doctor.js.map +1 -0
- package/dist/src/cli/env.d.ts +65 -0
- package/dist/src/cli/env.js +302 -0
- package/dist/src/cli/env.js.map +1 -0
- package/dist/src/cli/execute.d.ts +202 -0
- package/dist/src/cli/execute.js +1682 -0
- package/dist/src/cli/execute.js.map +1 -0
- package/dist/src/cli/exit-codes.d.ts +73 -0
- package/dist/src/cli/exit-codes.js +82 -0
- package/dist/src/cli/exit-codes.js.map +1 -0
- package/dist/src/cli/feedback.d.ts +60 -0
- package/dist/src/cli/feedback.js +205 -0
- package/dist/src/cli/feedback.js.map +1 -0
- package/dist/src/cli/gate-window.d.ts +40 -0
- package/dist/src/cli/gate-window.js +294 -0
- package/dist/src/cli/gate-window.js.map +1 -0
- package/dist/src/cli/gate.d.ts +68 -0
- package/dist/src/cli/gate.js +557 -0
- package/dist/src/cli/gate.js.map +1 -0
- package/dist/src/cli/git-scope.d.ts +190 -0
- package/dist/src/cli/git-scope.js +295 -0
- package/dist/src/cli/git-scope.js.map +1 -0
- package/dist/src/cli/gloss-attach.d.ts +85 -0
- package/dist/src/cli/gloss-attach.js +107 -0
- package/dist/src/cli/gloss-attach.js.map +1 -0
- package/dist/src/cli/gloss-codex-child.d.ts +9 -0
- package/dist/src/cli/gloss-codex-child.js +149 -0
- package/dist/src/cli/gloss-codex-child.js.map +1 -0
- package/dist/src/cli/gloss-codex.d.ts +24 -0
- package/dist/src/cli/gloss-codex.js +255 -0
- package/dist/src/cli/gloss-codex.js.map +1 -0
- package/dist/src/cli/gloss-options.d.ts +42 -0
- package/dist/src/cli/gloss-options.js +79 -0
- package/dist/src/cli/gloss-options.js.map +1 -0
- package/dist/src/cli/gloss.d.ts +265 -0
- package/dist/src/cli/gloss.js +362 -0
- package/dist/src/cli/gloss.js.map +1 -0
- package/dist/src/cli/help.d.ts +103 -0
- package/dist/src/cli/help.js +2339 -0
- package/dist/src/cli/help.js.map +1 -0
- package/dist/src/cli/hook-codex.d.ts +78 -0
- package/dist/src/cli/hook-codex.js +167 -0
- package/dist/src/cli/hook-codex.js.map +1 -0
- package/dist/src/cli/hook.d.ts +331 -0
- package/dist/src/cli/hook.js +2849 -0
- package/dist/src/cli/hook.js.map +1 -0
- package/dist/src/cli/import.d.ts +35 -0
- package/dist/src/cli/import.js +175 -0
- package/dist/src/cli/import.js.map +1 -0
- package/dist/src/cli/init.d.ts +84 -0
- package/dist/src/cli/init.js +336 -0
- package/dist/src/cli/init.js.map +1 -0
- package/dist/src/cli/instructions.d.ts +23 -0
- package/dist/src/cli/instructions.js +262 -0
- package/dist/src/cli/instructions.js.map +1 -0
- package/dist/src/cli/journal.d.ts +41 -0
- package/dist/src/cli/journal.js +238 -0
- package/dist/src/cli/journal.js.map +1 -0
- package/dist/src/cli/log-advance.d.ts +287 -0
- package/dist/src/cli/log-advance.js +840 -0
- package/dist/src/cli/log-advance.js.map +1 -0
- package/dist/src/cli/log-anchor.d.ts +176 -0
- package/dist/src/cli/log-anchor.js +387 -0
- package/dist/src/cli/log-anchor.js.map +1 -0
- package/dist/src/cli/log-checkpoint.d.ts +22 -0
- package/dist/src/cli/log-checkpoint.js +128 -0
- package/dist/src/cli/log-checkpoint.js.map +1 -0
- package/dist/src/cli/log-sync.d.ts +243 -0
- package/dist/src/cli/log-sync.js +849 -0
- package/dist/src/cli/log-sync.js.map +1 -0
- package/dist/src/cli/log-verbs.d.ts +16 -0
- package/dist/src/cli/log-verbs.js +360 -0
- package/dist/src/cli/log-verbs.js.map +1 -0
- package/dist/src/cli/long-help.d.ts +70 -0
- package/dist/src/cli/long-help.js +148 -0
- package/dist/src/cli/long-help.js.map +1 -0
- package/dist/src/cli/main.d.ts +77 -0
- package/dist/src/cli/main.js +1206 -0
- package/dist/src/cli/main.js.map +1 -0
- package/dist/src/cli/mcp.d.ts +52 -0
- package/dist/src/cli/mcp.js +306 -0
- package/dist/src/cli/mcp.js.map +1 -0
- package/dist/src/cli/paths.d.ts +56 -0
- package/dist/src/cli/paths.js +79 -0
- package/dist/src/cli/paths.js.map +1 -0
- package/dist/src/cli/payload.d.ts +58 -0
- package/dist/src/cli/payload.js +253 -0
- package/dist/src/cli/payload.js.map +1 -0
- package/dist/src/cli/policy.d.ts +43 -0
- package/dist/src/cli/policy.js +229 -0
- package/dist/src/cli/policy.js.map +1 -0
- package/dist/src/cli/preflight.d.ts +363 -0
- package/dist/src/cli/preflight.js +1175 -0
- package/dist/src/cli/preflight.js.map +1 -0
- package/dist/src/cli/progress.d.ts +78 -0
- package/dist/src/cli/progress.js +112 -0
- package/dist/src/cli/progress.js.map +1 -0
- package/dist/src/cli/prompt.d.ts +209 -0
- package/dist/src/cli/prompt.js +312 -0
- package/dist/src/cli/prompt.js.map +1 -0
- package/dist/src/cli/quickstart.d.ts +46 -0
- package/dist/src/cli/quickstart.js +297 -0
- package/dist/src/cli/quickstart.js.map +1 -0
- package/dist/src/cli/records.d.ts +34 -0
- package/dist/src/cli/records.js +66 -0
- package/dist/src/cli/records.js.map +1 -0
- package/dist/src/cli/render.d.ts +22 -0
- package/dist/src/cli/render.js +132 -0
- package/dist/src/cli/render.js.map +1 -0
- package/dist/src/cli/sandbox.d.ts +51 -0
- package/dist/src/cli/sandbox.js +150 -0
- package/dist/src/cli/sandbox.js.map +1 -0
- package/dist/src/cli/scaffold.d.ts +79 -0
- package/dist/src/cli/scaffold.js +137 -0
- package/dist/src/cli/scaffold.js.map +1 -0
- package/dist/src/cli/setup-adapter.d.ts +137 -0
- package/dist/src/cli/setup-adapter.js +509 -0
- package/dist/src/cli/setup-adapter.js.map +1 -0
- package/dist/src/cli/setup-channel.d.ts +117 -0
- package/dist/src/cli/setup-channel.js +635 -0
- package/dist/src/cli/setup-channel.js.map +1 -0
- package/dist/src/cli/setup-checkpoint.d.ts +57 -0
- package/dist/src/cli/setup-checkpoint.js +196 -0
- package/dist/src/cli/setup-checkpoint.js.map +1 -0
- package/dist/src/cli/setup-common.d.ts +275 -0
- package/dist/src/cli/setup-common.js +376 -0
- package/dist/src/cli/setup-common.js.map +1 -0
- package/dist/src/cli/setup-flow.d.ts +287 -0
- package/dist/src/cli/setup-flow.js +476 -0
- package/dist/src/cli/setup-flow.js.map +1 -0
- package/dist/src/cli/setup-service.d.ts +96 -0
- package/dist/src/cli/setup-service.js +308 -0
- package/dist/src/cli/setup-service.js.map +1 -0
- package/dist/src/cli/setup.d.ts +202 -0
- package/dist/src/cli/setup.js +473 -0
- package/dist/src/cli/setup.js.map +1 -0
- package/dist/src/cli/style.d.ts +320 -0
- package/dist/src/cli/style.js +469 -0
- package/dist/src/cli/style.js.map +1 -0
- package/dist/src/cli/token.d.ts +39 -0
- package/dist/src/cli/token.js +274 -0
- package/dist/src/cli/token.js.map +1 -0
- package/dist/src/cli/up.d.ts +155 -0
- package/dist/src/cli/up.js +849 -0
- package/dist/src/cli/up.js.map +1 -0
- package/dist/src/cli/usage.d.ts +37 -0
- package/dist/src/cli/usage.js +91 -0
- package/dist/src/cli/usage.js.map +1 -0
- package/dist/src/cli/values.d.ts +40 -0
- package/dist/src/cli/values.js +189 -0
- package/dist/src/cli/values.js.map +1 -0
- package/dist/src/cli/vault.d.ts +59 -0
- package/dist/src/cli/vault.js +362 -0
- package/dist/src/cli/vault.js.map +1 -0
- package/dist/src/cli/verb-registry.d.ts +76 -0
- package/dist/src/cli/verb-registry.js +2341 -0
- package/dist/src/cli/verb-registry.js.map +1 -0
- package/dist/src/cli/wordmark.d.ts +31 -0
- package/dist/src/cli/wordmark.js +52 -0
- package/dist/src/cli/wordmark.js.map +1 -0
- package/dist/src/codex/doctor.d.ts +13 -0
- package/dist/src/codex/doctor.js +41 -0
- package/dist/src/codex/doctor.js.map +1 -0
- package/dist/src/codex/manifest.d.ts +49 -0
- package/dist/src/codex/manifest.js +103 -0
- package/dist/src/codex/manifest.js.map +1 -0
- package/dist/src/codex/templates.d.ts +41 -0
- package/dist/src/codex/templates.js +319 -0
- package/dist/src/codex/templates.js.map +1 -0
- package/dist/src/codex/trust.d.ts +19 -0
- package/dist/src/codex/trust.js +183 -0
- package/dist/src/codex/trust.js.map +1 -0
- package/dist/src/codex/workspace-plan.d.ts +131 -0
- package/dist/src/codex/workspace-plan.js +561 -0
- package/dist/src/codex/workspace-plan.js.map +1 -0
- package/dist/src/core/actor.d.ts +2 -0
- package/dist/src/core/actor.js +5 -0
- package/dist/src/core/actor.js.map +1 -0
- package/dist/src/core/advance-cycle.d.ts +170 -0
- package/dist/src/core/advance-cycle.js +200 -0
- package/dist/src/core/advance-cycle.js.map +1 -0
- package/dist/src/core/agents-md.d.ts +276 -0
- package/dist/src/core/agents-md.js +747 -0
- package/dist/src/core/agents-md.js.map +1 -0
- package/dist/src/core/apply-patch.d.ts +49 -0
- package/dist/src/core/apply-patch.js +266 -0
- package/dist/src/core/apply-patch.js.map +1 -0
- package/dist/src/core/attest.d.ts +420 -0
- package/dist/src/core/attest.js +589 -0
- package/dist/src/core/attest.js.map +1 -0
- package/dist/src/core/audit.d.ts +492 -0
- package/dist/src/core/audit.js +882 -0
- package/dist/src/core/audit.js.map +1 -0
- package/dist/src/core/budgets.d.ts +238 -0
- package/dist/src/core/budgets.js +449 -0
- package/dist/src/core/budgets.js.map +1 -0
- package/dist/src/core/checkpoint.d.ts +500 -0
- package/dist/src/core/checkpoint.js +738 -0
- package/dist/src/core/checkpoint.js.map +1 -0
- package/dist/src/core/child-env.d.ts +88 -0
- package/dist/src/core/child-env.js +86 -0
- package/dist/src/core/child-env.js.map +1 -0
- package/dist/src/core/clock.d.ts +52 -0
- package/dist/src/core/clock.js +43 -0
- package/dist/src/core/clock.js.map +1 -0
- package/dist/src/core/command-class.d.ts +543 -0
- package/dist/src/core/command-class.js +2356 -0
- package/dist/src/core/command-class.js.map +1 -0
- package/dist/src/core/coverage-sources/adapter.d.ts +40 -0
- package/dist/src/core/coverage-sources/adapter.js +71 -0
- package/dist/src/core/coverage-sources/adapter.js.map +1 -0
- package/dist/src/core/coverage-sources/gh.d.ts +48 -0
- package/dist/src/core/coverage-sources/gh.js +136 -0
- package/dist/src/core/coverage-sources/gh.js.map +1 -0
- package/dist/src/core/coverage-sources/git.d.ts +101 -0
- package/dist/src/core/coverage-sources/git.js +269 -0
- package/dist/src/core/coverage-sources/git.js.map +1 -0
- package/dist/src/core/coverage.d.ts +217 -0
- package/dist/src/core/coverage.js +337 -0
- package/dist/src/core/coverage.js.map +1 -0
- package/dist/src/core/credential-spec.d.ts +72 -0
- package/dist/src/core/credential-spec.js +23 -0
- package/dist/src/core/credential-spec.js.map +1 -0
- package/dist/src/core/dark-session.d.ts +331 -0
- package/dist/src/core/dark-session.js +714 -0
- package/dist/src/core/dark-session.js.map +1 -0
- package/dist/src/core/decision-refusal.d.ts +185 -0
- package/dist/src/core/decision-refusal.js +265 -0
- package/dist/src/core/decision-refusal.js.map +1 -0
- package/dist/src/core/env-file.d.ts +450 -0
- package/dist/src/core/env-file.js +837 -0
- package/dist/src/core/env-file.js.map +1 -0
- package/dist/src/core/execute.d.ts +858 -0
- package/dist/src/core/execute.js +1271 -0
- package/dist/src/core/execute.js.map +1 -0
- package/dist/src/core/frontmatter.d.ts +78 -0
- package/dist/src/core/frontmatter.js +100 -0
- package/dist/src/core/frontmatter.js.map +1 -0
- package/dist/src/core/gate-window.d.ts +312 -0
- package/dist/src/core/gate-window.js +506 -0
- package/dist/src/core/gate-window.js.map +1 -0
- package/dist/src/core/gate.d.ts +1364 -0
- package/dist/src/core/gate.js +3002 -0
- package/dist/src/core/gate.js.map +1 -0
- package/dist/src/core/git-run.d.ts +73 -0
- package/dist/src/core/git-run.js +93 -0
- package/dist/src/core/git-run.js.map +1 -0
- package/dist/src/core/harness-version.d.ts +157 -0
- package/dist/src/core/harness-version.js +211 -0
- package/dist/src/core/harness-version.js.map +1 -0
- package/dist/src/core/harness-wait.d.ts +55 -0
- package/dist/src/core/harness-wait.js +58 -0
- package/dist/src/core/harness-wait.js.map +1 -0
- package/dist/src/core/head-retry.d.ts +107 -0
- package/dist/src/core/head-retry.js +121 -0
- package/dist/src/core/head-retry.js.map +1 -0
- package/dist/src/core/instance.d.ts +253 -0
- package/dist/src/core/instance.js +319 -0
- package/dist/src/core/instance.js.map +1 -0
- package/dist/src/core/intake-limits.d.ts +247 -0
- package/dist/src/core/intake-limits.js +350 -0
- package/dist/src/core/intake-limits.js.map +1 -0
- package/dist/src/core/jcs.d.ts +52 -0
- package/dist/src/core/jcs.js +132 -0
- package/dist/src/core/jcs.js.map +1 -0
- package/dist/src/core/journal.d.ts +144 -0
- package/dist/src/core/journal.js +200 -0
- package/dist/src/core/journal.js.map +1 -0
- package/dist/src/core/live-draw.d.ts +436 -0
- package/dist/src/core/live-draw.js +703 -0
- package/dist/src/core/live-draw.js.map +1 -0
- package/dist/src/core/log-reconcile.d.ts +89 -0
- package/dist/src/core/log-reconcile.js +136 -0
- package/dist/src/core/log-reconcile.js.map +1 -0
- package/dist/src/core/log-subscribe.d.ts +36 -0
- package/dist/src/core/log-subscribe.js +162 -0
- package/dist/src/core/log-subscribe.js.map +1 -0
- package/dist/src/core/log.d.ts +278 -0
- package/dist/src/core/log.js +546 -0
- package/dist/src/core/log.js.map +1 -0
- package/dist/src/core/loop.d.ts +274 -0
- package/dist/src/core/loop.js +487 -0
- package/dist/src/core/loop.js.map +1 -0
- package/dist/src/core/md-fence.d.ts +41 -0
- package/dist/src/core/md-fence.js +74 -0
- package/dist/src/core/md-fence.js.map +1 -0
- package/dist/src/core/money.d.ts +147 -0
- package/dist/src/core/money.js +195 -0
- package/dist/src/core/money.js.map +1 -0
- package/dist/src/core/payload-census.d.ts +74 -0
- package/dist/src/core/payload-census.js +146 -0
- package/dist/src/core/payload-census.js.map +1 -0
- package/dist/src/core/payload-store.d.ts +175 -0
- package/dist/src/core/payload-store.js +340 -0
- package/dist/src/core/payload-store.js.map +1 -0
- package/dist/src/core/payload.d.ts +71 -0
- package/dist/src/core/payload.js +80 -0
- package/dist/src/core/payload.js.map +1 -0
- package/dist/src/core/policy-diff.d.ts +292 -0
- package/dist/src/core/policy-diff.js +588 -0
- package/dist/src/core/policy-diff.js.map +1 -0
- package/dist/src/core/policy-expectations.d.ts +199 -0
- package/dist/src/core/policy-expectations.js +394 -0
- package/dist/src/core/policy-expectations.js.map +1 -0
- package/dist/src/core/policy-explain.d.ts +150 -0
- package/dist/src/core/policy-explain.js +258 -0
- package/dist/src/core/policy-explain.js.map +1 -0
- package/dist/src/core/policy-load.d.ts +527 -0
- package/dist/src/core/policy-load.js +536 -0
- package/dist/src/core/policy-load.js.map +1 -0
- package/dist/src/core/policy-match.d.ts +281 -0
- package/dist/src/core/policy-match.js +478 -0
- package/dist/src/core/policy-match.js.map +1 -0
- package/dist/src/core/policy-proposal.d.ts +265 -0
- package/dist/src/core/policy-proposal.js +458 -0
- package/dist/src/core/policy-proposal.js.map +1 -0
- package/dist/src/core/prompt-layout.d.ts +221 -0
- package/dist/src/core/prompt-layout.js +422 -0
- package/dist/src/core/prompt-layout.js.map +1 -0
- package/dist/src/core/protected-path-guard.d.ts +453 -0
- package/dist/src/core/protected-path-guard.js +1566 -0
- package/dist/src/core/protected-path-guard.js.map +1 -0
- package/dist/src/core/registration.d.ts +25 -0
- package/dist/src/core/registration.js +39 -0
- package/dist/src/core/registration.js.map +1 -0
- package/dist/src/core/reindex.d.ts +99 -0
- package/dist/src/core/reindex.js +336 -0
- package/dist/src/core/reindex.js.map +1 -0
- package/dist/src/core/sampler.d.ts +313 -0
- package/dist/src/core/sampler.js +388 -0
- package/dist/src/core/sampler.js.map +1 -0
- package/dist/src/core/sandbox.d.ts +290 -0
- package/dist/src/core/sandbox.js +424 -0
- package/dist/src/core/sandbox.js.map +1 -0
- package/dist/src/core/seal.d.ts +165 -0
- package/dist/src/core/seal.js +290 -0
- package/dist/src/core/seal.js.map +1 -0
- package/dist/src/core/state.d.ts +505 -0
- package/dist/src/core/state.js +1009 -0
- package/dist/src/core/state.js.map +1 -0
- package/dist/src/core/task-file.d.ts +185 -0
- package/dist/src/core/task-file.js +464 -0
- package/dist/src/core/task-file.js.map +1 -0
- package/dist/src/core/telegram-config.d.ts +93 -0
- package/dist/src/core/telegram-config.js +114 -0
- package/dist/src/core/telegram-config.js.map +1 -0
- package/dist/src/core/token.d.ts +409 -0
- package/dist/src/core/token.js +561 -0
- package/dist/src/core/token.js.map +1 -0
- package/dist/src/core/validate.d.ts +138 -0
- package/dist/src/core/validate.js +0 -0
- package/dist/src/core/validate.js.map +1 -0
- package/dist/src/core/values.d.ts +137 -0
- package/dist/src/core/values.js +153 -0
- package/dist/src/core/values.js.map +1 -0
- package/dist/src/core/vault.d.ts +291 -0
- package/dist/src/core/vault.js +612 -0
- package/dist/src/core/vault.js.map +1 -0
- package/dist/src/core/verified-snapshot.d.ts +204 -0
- package/dist/src/core/verified-snapshot.js +506 -0
- package/dist/src/core/verified-snapshot.js.map +1 -0
- package/dist/src/core/verify.d.ts +336 -0
- package/dist/src/core/verify.js +549 -0
- package/dist/src/core/verify.js.map +1 -0
- package/dist/src/core/version.d.ts +8 -0
- package/dist/src/core/version.js +9 -0
- package/dist/src/core/version.js.map +1 -0
- package/dist/src/core/wysiwys.d.ts +370 -0
- package/dist/src/core/wysiwys.js +728 -0
- package/dist/src/core/wysiwys.js.map +1 -0
- package/dist/src/daemon/advance-child.d.ts +39 -0
- package/dist/src/daemon/advance-child.js +78 -0
- package/dist/src/daemon/advance-child.js.map +1 -0
- package/dist/src/daemon/advance.d.ts +466 -0
- package/dist/src/daemon/advance.js +849 -0
- package/dist/src/daemon/advance.js.map +1 -0
- package/dist/src/daemon/audit.d.ts +87 -0
- package/dist/src/daemon/audit.js +90 -0
- package/dist/src/daemon/audit.js.map +1 -0
- package/dist/src/daemon/daemon.d.ts +1180 -0
- package/dist/src/daemon/daemon.js +1988 -0
- package/dist/src/daemon/daemon.js.map +1 -0
- package/dist/src/daemon/dark-session.d.ts +64 -0
- package/dist/src/daemon/dark-session.js +119 -0
- package/dist/src/daemon/dark-session.js.map +1 -0
- package/dist/src/daemon/draw-child.d.ts +36 -0
- package/dist/src/daemon/draw-child.js +132 -0
- package/dist/src/daemon/draw-child.js.map +1 -0
- package/dist/src/daemon/draw.d.ts +154 -0
- package/dist/src/daemon/draw.js +458 -0
- package/dist/src/daemon/draw.js.map +1 -0
- package/dist/src/daemon/git-evidence.d.ts +173 -0
- package/dist/src/daemon/git-evidence.js +345 -0
- package/dist/src/daemon/git-evidence.js.map +1 -0
- package/dist/src/daemon/projection.d.ts +180 -0
- package/dist/src/daemon/projection.js +233 -0
- package/dist/src/daemon/projection.js.map +1 -0
- package/dist/src/daemon/prune.d.ts +207 -0
- package/dist/src/daemon/prune.js +376 -0
- package/dist/src/daemon/prune.js.map +1 -0
- package/dist/src/mcp/http.d.ts +113 -0
- package/dist/src/mcp/http.js +343 -0
- package/dist/src/mcp/http.js.map +1 -0
- package/dist/src/mcp/server.d.ts +265 -0
- package/dist/src/mcp/server.js +602 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/docs/adapter-api.md +106 -0
- package/docs/cli-reference.md +5716 -0
- package/docs/codex-enforced-session.md +30 -0
- package/package.json +53 -4
- package/schema/.gitkeep +0 -0
- package/schema/LICENSE +117 -0
- package/schema/codex-instance.schema.json +82 -0
- package/schema/envelope.schema.json +137 -0
- package/schema/event.schema.json +1811 -0
- package/schema/fixtures/codex-instance/invalid/unpinned-codex-version.json +40 -0
- package/schema/fixtures/codex-instance/valid/canonical.json +40 -0
- package/schema/fixtures/envelope/invalid/action-missing-idempotency-key.json +15 -0
- package/schema/fixtures/envelope/invalid/action-unknown-class-format.json +14 -0
- package/schema/fixtures/envelope/invalid/confidence-out-of-range.json +11 -0
- package/schema/fixtures/envelope/invalid/est-cost-bare-number.json +14 -0
- package/schema/fixtures/envelope/invalid/est-cost-noncanonical-string.json +14 -0
- package/schema/fixtures/envelope/invalid/malformed-assignee.json +10 -0
- package/schema/fixtures/envelope/invalid/malformed-created-by.json +7 -0
- package/schema/fixtures/envelope/invalid/malformed-max-latency.json +11 -0
- package/schema/fixtures/envelope/invalid/malformed-payload-hash.json +14 -0
- package/schema/fixtures/envelope/invalid/max-cost-bare-number.json +11 -0
- package/schema/fixtures/envelope/invalid/missing-origin.json +3 -0
- package/schema/fixtures/envelope/invalid/negative-est-cost.json +14 -0
- package/schema/fixtures/envelope/invalid/unknown-state.json +7 -0
- package/schema/fixtures/envelope/invalid/unknown-top-level-field.json +8 -0
- package/schema/fixtures/envelope/valid/action-payload-hash.json +17 -0
- package/schema/fixtures/envelope/valid/actions-without-budget.json +18 -0
- package/schema/fixtures/envelope/valid/canonical.json +25 -0
- package/schema/fixtures/envelope/valid/minimal.json +7 -0
- package/schema/fixtures/envelope/valid/multi-action-executed.json +30 -0
- package/schema/fixtures/envelope/valid/record-write-stage.json +22 -0
- package/schema/fixtures/event/invalid/approval-granted-agent-actor.json +15 -0
- package/schema/fixtures/event/invalid/approval-granted-empty-batch-delivery-id.json +17 -0
- package/schema/fixtures/event/invalid/approval-granted-fifth-reaction.json +16 -0
- package/schema/fixtures/event/invalid/approval-granted-missing-actor.json +14 -0
- package/schema/fixtures/event/invalid/approval-requested-missing-action-key.json +14 -0
- package/schema/fixtures/event/invalid/approval-withdrawn-agent-policy-drift.json +15 -0
- package/schema/fixtures/event/invalid/approval-withdrawn-missing-reason.json +15 -0
- package/schema/fixtures/event/invalid/approval-withdrawn-system-actor.json +15 -0
- package/schema/fixtures/event/invalid/audit-decision-refused-human-actor.json +17 -0
- package/schema/fixtures/event/invalid/audit-decision-refused-missing-code.json +16 -0
- package/schema/fixtures/event/invalid/audit-reviewed-agent-actor.json +15 -0
- package/schema/fixtures/event/invalid/audit-reviewed-loved-no-note.json +16 -0
- package/schema/fixtures/event/invalid/audit-reviewed-system-actor.json +15 -0
- package/schema/fixtures/event/invalid/bad-actor-prefix.json +15 -0
- package/schema/fixtures/event/invalid/est-cost-bare-number.json +17 -0
- package/schema/fixtures/event/invalid/execution-completed-fabricated-exit-code.json +16 -0
- package/schema/fixtures/event/invalid/execution-completed-provider-ref-empty-id.json +18 -0
- package/schema/fixtures/event/invalid/execution-completed-provider-ref-extra-field.json +19 -0
- package/schema/fixtures/event/invalid/execution-completed-provider-ref-id-not-string.json +18 -0
- package/schema/fixtures/event/invalid/execution-completed-provider-ref-missing-adapter.json +17 -0
- package/schema/fixtures/event/invalid/execution-failed-open-reported-by.json +16 -0
- package/schema/fixtures/event/invalid/execution-indeterminate-open-reason.json +14 -0
- package/schema/fixtures/event/invalid/execution-reconciled-agent-actor.json +17 -0
- package/schema/fixtures/event/invalid/execution-started-negative-env-stripped.json +16 -0
- package/schema/fixtures/event/invalid/gate-bypassed-missing-opened-seq.json +15 -0
- package/schema/fixtures/event/invalid/gate-closed-non-integer-opened-seq.json +13 -0
- package/schema/fixtures/event/invalid/gate-opened-agent-actor.json +16 -0
- package/schema/fixtures/event/invalid/gate-organ-attested-absolute-path.json +14 -0
- package/schema/fixtures/event/invalid/gate-organ-attested-agent-actor.json +14 -0
- package/schema/fixtures/event/invalid/gate-organ-attested-missing-organ-path.json +13 -0
- package/schema/fixtures/event/invalid/harness-unknown-kind.json +18 -0
- package/schema/fixtures/event/invalid/harness-version-multiline.json +16 -0
- package/schema/fixtures/event/invalid/log-checkpoint-agent-actor.json +17 -0
- package/schema/fixtures/event/invalid/log-checkpoint-missing-signature.json +16 -0
- package/schema/fixtures/event/invalid/log-checkpoint-short-signed-hash.json +17 -0
- package/schema/fixtures/event/invalid/log-checkpoint-unknown-signature-alg.json +17 -0
- package/schema/fixtures/event/invalid/malformed-ts.json +15 -0
- package/schema/fixtures/event/invalid/missing-alg.json +14 -0
- package/schema/fixtures/event/invalid/missing-hash.json +14 -0
- package/schema/fixtures/event/invalid/non-integer-seq.json +15 -0
- package/schema/fixtures/event/invalid/payload-pruned-human-actor.json +14 -0
- package/schema/fixtures/event/invalid/payload-pruned-missing-hash.json +14 -0
- package/schema/fixtures/event/invalid/policy-declined-agent-actor.json +15 -0
- package/schema/fixtures/event/invalid/policy-proposed-missing-diff.json +19 -0
- package/schema/fixtures/event/invalid/policy-proposed-system-actor.json +26 -0
- package/schema/fixtures/event/invalid/short-hash.json +15 -0
- package/schema/fixtures/event/invalid/unknown-alg.json +15 -0
- package/schema/fixtures/event/invalid/unknown-event-type.json +15 -0
- package/schema/fixtures/event/invalid/unknown-top-level-field.json +16 -0
- package/schema/fixtures/event/valid/approval-expired.json +15 -0
- package/schema/fixtures/event/valid/approval-granted-batch.json +19 -0
- package/schema/fixtures/event/valid/approval-granted-reaction.json +16 -0
- package/schema/fixtures/event/valid/approval-granted.json +15 -0
- package/schema/fixtures/event/valid/approval-rejected.json +15 -0
- package/schema/fixtures/event/valid/approval-requested.json +19 -0
- package/schema/fixtures/event/valid/approval-revoked.json +15 -0
- package/schema/fixtures/event/valid/approval-withdrawn-policy-drift.json +17 -0
- package/schema/fixtures/event/valid/approval-withdrawn.json +16 -0
- package/schema/fixtures/event/valid/audit-decision-refused.json +20 -0
- package/schema/fixtures/event/valid/audit-reviewed-reaction.json +17 -0
- package/schema/fixtures/event/valid/audit-reviewed.json +15 -0
- package/schema/fixtures/event/valid/audit-sampled.json +14 -0
- package/schema/fixtures/event/valid/budget-exceeded.json +21 -0
- package/schema/fixtures/event/valid/envelope-drift.json +16 -0
- package/schema/fixtures/event/valid/execution-completed-harness-report.json +16 -0
- package/schema/fixtures/event/valid/execution-completed-provider-ref.json +18 -0
- package/schema/fixtures/event/valid/execution-completed.json +15 -0
- package/schema/fixtures/event/valid/execution-failed-harness-report.json +16 -0
- package/schema/fixtures/event/valid/execution-failed.json +15 -0
- package/schema/fixtures/event/valid/execution-indeterminate.json +15 -0
- package/schema/fixtures/event/valid/execution-reconciled.json +17 -0
- package/schema/fixtures/event/valid/execution-started-env-stripped.json +17 -0
- package/schema/fixtures/event/valid/execution-started.json +14 -0
- package/schema/fixtures/event/valid/gate-bypassed-harness-version.json +18 -0
- package/schema/fixtures/event/valid/gate-bypassed.json +19 -0
- package/schema/fixtures/event/valid/gate-closed.json +14 -0
- package/schema/fixtures/event/valid/gate-opened.json +16 -0
- package/schema/fixtures/event/valid/gate-organ-attested.json +14 -0
- package/schema/fixtures/event/valid/genesis-null-prev.json +14 -0
- package/schema/fixtures/event/valid/log-checkpoint.json +17 -0
- package/schema/fixtures/event/valid/payload-pruned-orphan.json +13 -0
- package/schema/fixtures/event/valid/payload-pruned.json +17 -0
- package/schema/fixtures/event/valid/policy-declined.json +16 -0
- package/schema/fixtures/event/valid/policy-proposed.json +35 -0
- package/schema/fixtures/event/valid/policy-updated.json +14 -0
- package/schema/fixtures/event/valid/reconciliation-required.json +18 -0
- package/schema/fixtures/event/valid/reconciliation-satisfied.json +17 -0
- package/schema/fixtures/event/valid/route-accepted.json +15 -0
- package/schema/fixtures/event/valid/route-proposed.json +16 -0
- package/schema/fixtures/event/valid/spec-example.json +15 -0
- package/schema/fixtures/event/valid/task-registered-harness-version.json +23 -0
- package/schema/fixtures/event/valid/task-registered.json +14 -0
- package/schema/fixtures/hash/known-answer-pre-121.json +74 -0
- package/schema/fixtures/hash/known-answer.json +74 -0
- package/schema/fixtures/policy/invalid/bad-approval-ttl.json +7 -0
- package/schema/fixtures/policy/invalid/bad-web-port.json +4 -0
- package/schema/fixtures/policy/invalid/checkpoint-key-not-base64.json +6 -0
- package/schema/fixtures/policy/invalid/class-rule-missing-autonomy.json +9 -0
- package/schema/fixtures/policy/invalid/empty-class-key.json +6 -0
- package/schema/fixtures/policy/invalid/live-rate-on-human-only.json +7 -0
- package/schema/fixtures/policy/invalid/malformed-class-key.json +6 -0
- package/schema/fixtures/policy/invalid/missing-version.json +8 -0
- package/schema/fixtures/policy/invalid/negative-limit.json +9 -0
- package/schema/fixtures/policy/invalid/non-numeric-limit.json +9 -0
- package/schema/fixtures/policy/invalid/non-positive-max-pending.json +9 -0
- package/schema/fixtures/policy/invalid/on-expiry-grant.json +8 -0
- package/schema/fixtures/policy/invalid/payload-retention-bare-number.json +4 -0
- package/schema/fixtures/policy/invalid/payload-retention-compound.json +4 -0
- package/schema/fixtures/policy/invalid/payload-retention-fractional.json +4 -0
- package/schema/fixtures/policy/invalid/payload-retention-zero.json +4 -0
- package/schema/fixtures/policy/invalid/protected-paths-escape.json +4 -0
- package/schema/fixtures/policy/invalid/protected-paths-glob.json +4 -0
- package/schema/fixtures/policy/invalid/retro-rate-on-human-only.json +7 -0
- package/schema/fixtures/policy/invalid/retro-rate-on-manual.json +7 -0
- package/schema/fixtures/policy/invalid/retro-rate-zero.json +7 -0
- package/schema/fixtures/policy/invalid/sample-rate-too-high.json +5 -0
- package/schema/fixtures/policy/invalid/sampling-secret-env-empty.json +7 -0
- package/schema/fixtures/policy/invalid/sampling-secret-env-not-string.json +6 -0
- package/schema/fixtures/policy/invalid/skew-tolerance-compound.json +6 -0
- package/schema/fixtures/policy/invalid/unknown-autonomy.json +7 -0
- package/schema/fixtures/policy/invalid/unknown-class-rule-key.json +6 -0
- package/schema/fixtures/policy/invalid/unknown-top-level-key.json +7 -0
- package/schema/fixtures/policy/invalid/vault-passphrase-env-empty.json +6 -0
- package/schema/fixtures/policy/invalid/vault-passphrase-literal.json +6 -0
- package/schema/fixtures/policy/invalid/version-not-string.json +4 -0
- package/schema/fixtures/policy/valid/canonical.json +47 -0
- package/schema/fixtures/policy/valid/checkpoint-keys.json +18 -0
- package/schema/fixtures/policy/valid/class-approvers-limits.json +25 -0
- package/schema/fixtures/policy/valid/class-retro-rate.json +17 -0
- package/schema/fixtures/policy/valid/global-budgets.json +19 -0
- package/schema/fixtures/policy/valid/human-only.json +9 -0
- package/schema/fixtures/policy/valid/minimal.json +6 -0
- package/schema/fixtures/policy/valid/protected-paths.json +10 -0
- package/schema/fixtures/policy/valid/record-namespace.json +13 -0
- package/schema/fixtures/policy/valid/request-volume-limits.json +26 -0
- package/schema/fixtures/policy/valid/retention-and-sampling-secret.json +16 -0
- package/schema/fixtures/policy/valid/skew-tolerance.json +15 -0
- package/schema/fixtures/policy/valid/vault-passphrase-env.json +14 -0
- package/schema/fixtures/policy/valid/wildcards.json +15 -0
- package/schema/fixtures/policy-md/invalid/alias-bomb.md +15 -0
- package/schema/fixtures/policy-md/invalid/no-fence.md +7 -0
- package/schema/fixtures/policy-md/invalid/protected-route-not-a-subclass.md +16 -0
- package/schema/fixtures/policy-md/invalid/schema-invalid-autonomy.md +16 -0
- package/schema/fixtures/policy-md/invalid/schema-invalid-read-proof.md +17 -0
- package/schema/fixtures/policy-md/invalid/two-fences.md +19 -0
- package/schema/fixtures/policy-md/invalid/unclosed-fence.md +11 -0
- package/schema/fixtures/policy-md/invalid/wrong-info-string.md +11 -0
- package/schema/fixtures/policy-md/invalid/yaml-syntax-error.md +13 -0
- package/schema/fixtures/policy-md/precedence/both/APPROVAL.md +7 -0
- package/schema/fixtures/policy-md/precedence/both/APPROVALS.md +7 -0
- package/schema/fixtures/policy-md/precedence/fallback-only/APPROVALS.md +7 -0
- package/schema/fixtures/policy-md/valid/canonical.md +50 -0
- package/schema/fixtures/policy-md/valid/daemon-read-proof.md +18 -0
- package/schema/fixtures/policy-md/valid/minimal.md +3 -0
- package/schema/fixtures/policy-md/valid/prose-lookalikes.md +54 -0
- package/schema/fixtures/policy-md/valid/routed-protected-paths.md +49 -0
- package/schema/fixtures/policy-md/valid/with-values.md +79 -0
- package/schema/fixtures/sample-record/invalid/bad-date-time.json +4 -0
- package/schema/fixtures/sample-record/invalid/missing-required-field.json +3 -0
- package/schema/fixtures/sample-record/invalid/unknown-top-level-field.json +5 -0
- package/schema/fixtures/sample-record/invalid/wrong-type.json +4 -0
- package/schema/fixtures/sample-record/valid/minimal.json +4 -0
- package/schema/fixtures/sample-record/valid/with-note.json +5 -0
- package/schema/fixtures/values/invalid/class-shaped.json +9 -0
- package/schema/fixtures/values/invalid/duplicate-entry.json +4 -0
- package/schema/fixtures/values/invalid/non-string-item.json +4 -0
- package/schema/fixtures/values/invalid/over-cap.json +26 -0
- package/schema/fixtures/values/invalid/unknown-key.json +5 -0
- package/schema/fixtures/values/invalid/version-string.json +1 -0
- package/schema/fixtures/values/valid/empty-lists.json +7 -0
- package/schema/fixtures/values/valid/full.json +20 -0
- package/schema/fixtures/values/valid/minimal.json +1 -0
- package/schema/fixtures/values-md/invalid/schema-invalid.md +62 -0
- package/schema/fixtures/values-md/invalid/two-blocks.md +69 -0
- package/schema/fixtures/values-md/invalid/unterminated.md +61 -0
- package/schema/fixtures/values-md/invalid/yaml-error.md +63 -0
- package/schema/fixtures/values-md/valid/absent.md +50 -0
- package/schema/fixtures/values-md/valid/with-values.md +79 -0
- package/schema/policy.schema.json +501 -0
- package/schema/sample-record.schema.json +26 -0
- package/schema/values.schema.json +55 -0
- package/templates/codex/README.md +9 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal presentation: colour, glyphs, headings, tables (APRV-91, APRV-93).
|
|
3
|
+
*
|
|
4
|
+
* The observation behind this file was a real `examples/email-demo.md` run and
|
|
5
|
+
* a `policy amend --dry-run` the operator called dense: two 64-hex hashes on one
|
|
6
|
+
* line, the same absolute path three times, every line the same visual weight,
|
|
7
|
+
* no colour anywhere. Nothing was WRONG; nothing was scannable either.
|
|
8
|
+
*
|
|
9
|
+
* The design rules, from APRV-91's brief:
|
|
10
|
+
*
|
|
11
|
+
* 1. ROLES, NOT COLOURS. Callers ask for `ok` or `key`, never for green or
|
|
12
|
+
* bold, so a theme is one table and a colour-blind reader loses nothing.
|
|
13
|
+
* 2. COLOUR IS REDUNDANT, ALWAYS. Every coloured thing is also carried by a
|
|
14
|
+
* glyph or a word, so the plain-text degradation is lossless. That is not
|
|
15
|
+
* politeness: piped output IS the tested output, and a pipe gets no colour.
|
|
16
|
+
* 3. NEVER COLOUR A COPYABLE VALUE. Hashes, tokens, paths and commands are
|
|
17
|
+
* printed raw so a triple-click yields clean bytes. Colour the LABEL.
|
|
18
|
+
* 4. DECIDED ONCE. {@link style} memoizes the process-wide answer; tests build
|
|
19
|
+
* their own with {@link makeStyle} rather than mutating the environment.
|
|
20
|
+
*
|
|
21
|
+
* NO NEW DEPENDENCY, deliberately: a colour library is thousands of lines to
|
|
22
|
+
* buy the eleven escape sequences below, and this repo justifies every package.
|
|
23
|
+
*
|
|
24
|
+
* `--json` IS AN ABSOLUTE VETO here, above even FORCE_COLOR. The brief lists
|
|
25
|
+
* `--json` alongside the other conditions, but the machine-readable shapes are
|
|
26
|
+
* frozen public API; one escape byte in a JSON stream is a parse error, not a
|
|
27
|
+
* cosmetic regression. So a caller that passes `json: true` cannot get colour by
|
|
28
|
+
* any combination of environment variables.
|
|
29
|
+
*/
|
|
30
|
+
/** The presentation roles. A theme is this list mapped to SGR parameters. */
|
|
31
|
+
export type Role = "brand" | "ok" | "warn" | "fail" | "key" | "value" | "muted" | "rule" | "secret";
|
|
32
|
+
/** The glyph vocabulary, and its ASCII degradation. */
|
|
33
|
+
declare const GLYPHS: {
|
|
34
|
+
readonly ok: readonly ["✓", "[ok]"];
|
|
35
|
+
readonly fail: readonly ["✗", "[x]"];
|
|
36
|
+
readonly skip: readonly ["–", "[-]"];
|
|
37
|
+
readonly point: readonly ["▸", ">"];
|
|
38
|
+
readonly bar: readonly ["│", "|"];
|
|
39
|
+
readonly rule: readonly ["─", "-"];
|
|
40
|
+
};
|
|
41
|
+
export type Glyph = keyof typeof GLYPHS;
|
|
42
|
+
/** How many characters of a 64-hex digest a human is shown. */
|
|
43
|
+
export declare const SHORT_HASH_LENGTH = 12;
|
|
44
|
+
export interface StyleInput {
|
|
45
|
+
/**
|
|
46
|
+
* Whether stdout is a terminal. Omitted means "ask this process".
|
|
47
|
+
*
|
|
48
|
+
* Tests pass an explicit `true` to render coloured output into a captured
|
|
49
|
+
* string, which is the only way to assert BOTH modes without a pty.
|
|
50
|
+
*/
|
|
51
|
+
tty?: boolean;
|
|
52
|
+
/** Environment to read. Omitted means `process.env`. */
|
|
53
|
+
env?: Record<string, string | undefined>;
|
|
54
|
+
/** Whether this invocation is answering in JSON. An absolute veto on colour. */
|
|
55
|
+
json?: boolean;
|
|
56
|
+
/** The `--no-color` flag. An explicit off, above FORCE_COLOR. */
|
|
57
|
+
noColor?: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface Style {
|
|
60
|
+
/** Whether escape sequences are emitted at all. */
|
|
61
|
+
readonly enabled: boolean;
|
|
62
|
+
/** Whether glyphs degrade to their ASCII spellings. */
|
|
63
|
+
readonly ascii: boolean;
|
|
64
|
+
/** Wrap `text` in `role`. A no-op when colour is off, or when text is empty. */
|
|
65
|
+
paint(role: Role, text: string): string;
|
|
66
|
+
brand(text: string): string;
|
|
67
|
+
ok(text: string): string;
|
|
68
|
+
warn(text: string): string;
|
|
69
|
+
fail(text: string): string;
|
|
70
|
+
key(text: string): string;
|
|
71
|
+
/** Identity by contract: a value is never dressed. Here so call sites can say so. */
|
|
72
|
+
value(text: string): string;
|
|
73
|
+
muted(text: string): string;
|
|
74
|
+
secret(text: string): string;
|
|
75
|
+
/** One glyph, already coloured by its natural role where it has one. */
|
|
76
|
+
glyph(name: Glyph): string;
|
|
77
|
+
/** The bare glyph, uncoloured. */
|
|
78
|
+
rawGlyph(name: Glyph): string;
|
|
79
|
+
/** A section heading: the label in `key`, nothing else. */
|
|
80
|
+
heading(text: string): string;
|
|
81
|
+
/** A horizontal rule of `width` characters, in `rule`. */
|
|
82
|
+
rule(width?: number): string;
|
|
83
|
+
/** Aligned two-column rows. Column one in `key` unless the row says otherwise. */
|
|
84
|
+
table(rows: readonly TableRow[], options?: TableOptions): string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* One row of a two-column table.
|
|
88
|
+
*
|
|
89
|
+
* `left` is the label column and `right` the detail. `glyph` puts a coloured
|
|
90
|
+
* status mark ahead of the label (doctor's column), and `plainLeft` opts a row
|
|
91
|
+
* out of `key` styling for a left cell that is itself a copyable value.
|
|
92
|
+
*/
|
|
93
|
+
export interface TableRow {
|
|
94
|
+
left: string;
|
|
95
|
+
right?: string;
|
|
96
|
+
glyph?: Glyph;
|
|
97
|
+
/** Role for the glyph and, when set, nothing else. Defaults by glyph name. */
|
|
98
|
+
role?: Role;
|
|
99
|
+
plainLeft?: boolean;
|
|
100
|
+
/** Extra lines printed under the row, indented to the detail column. */
|
|
101
|
+
under?: readonly string[];
|
|
102
|
+
}
|
|
103
|
+
export interface TableOptions {
|
|
104
|
+
/** Spaces before every row. Default 0. */
|
|
105
|
+
indent?: number;
|
|
106
|
+
/** Spaces between the columns. Default 2. */
|
|
107
|
+
gap?: number;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* One cell. A bare string is an UNDRESSED cell, which is the common case and
|
|
111
|
+
* the safe default: rule 3 above says a value is never painted, so a caller has
|
|
112
|
+
* to ask for a role before anything is.
|
|
113
|
+
*/
|
|
114
|
+
export interface Cell {
|
|
115
|
+
text: string;
|
|
116
|
+
role?: Role;
|
|
117
|
+
}
|
|
118
|
+
export type GridCell = string | Cell;
|
|
119
|
+
/** A row, with the lines that hang beneath it when it has any. */
|
|
120
|
+
export interface GridRow {
|
|
121
|
+
cells: readonly GridCell[];
|
|
122
|
+
under?: readonly string[];
|
|
123
|
+
}
|
|
124
|
+
export type GridInput = readonly GridCell[] | GridRow;
|
|
125
|
+
export interface GridOptions {
|
|
126
|
+
/** A header row, rendered in `key` unless a cell asks for its own role. */
|
|
127
|
+
header?: readonly GridCell[];
|
|
128
|
+
/** Per-column alignment; missing entries are `left`. */
|
|
129
|
+
align?: readonly ("left" | "right")[];
|
|
130
|
+
/** Spaces before every row. Default 0. */
|
|
131
|
+
indent?: number;
|
|
132
|
+
/** Spaces between columns: one number for all, or one per boundary. */
|
|
133
|
+
gap?: number;
|
|
134
|
+
gaps?: readonly number[];
|
|
135
|
+
/** Spaces (after `indent`) before an `under` line. Default 2. */
|
|
136
|
+
underHang?: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The one aligned-columns renderer in this CLI (APRV-102).
|
|
140
|
+
*
|
|
141
|
+
* Three hand-rolled versions of this arithmetic existed — `style.table`,
|
|
142
|
+
* `execute.ts`'s queue and `hook.ts`'s classify — and they had already drifted
|
|
143
|
+
* on the question that matters: WIDTH IS MEASURED ON THE UNDRESSED TEXT.
|
|
144
|
+
* Escape sequences occupy no terminal columns, so padding computed after
|
|
145
|
+
* painting is wrong by exactly the length of the escapes and the table lines up
|
|
146
|
+
* only in a pipe. Here the cell text is padded and painted separately, so the
|
|
147
|
+
* coloured render is the plain one with escapes inserted and nothing else.
|
|
148
|
+
*
|
|
149
|
+
* Every line is `trimEnd`ed: trailing spaces are invisible in review and very
|
|
150
|
+
* visible in the diff of a pinned transcript.
|
|
151
|
+
*
|
|
152
|
+
* Returned with no trailing newline; the caller owns the stream.
|
|
153
|
+
*/
|
|
154
|
+
export declare function table(st: Style, rows: readonly GridInput[], options?: GridOptions): string;
|
|
155
|
+
/**
|
|
156
|
+
* The one shape a refusal is printed in (APRV-91 #8/#13).
|
|
157
|
+
*
|
|
158
|
+
* ✗ payload-mismatch message.json does not hash to the registered hash
|
|
159
|
+
* fix: approval payload hash message.json
|
|
160
|
+
*
|
|
161
|
+
* Glyph and machine-readable code in `fail`, message plain, and an optional
|
|
162
|
+
* repair on a second line. NEVER followed by a help page: the operator did not
|
|
163
|
+
* mistype anything, so the flags are not the answer and printing them buries
|
|
164
|
+
* the one line that is.
|
|
165
|
+
*
|
|
166
|
+
* The `fix:` LABEL is dressed and the command after it is not, which departs
|
|
167
|
+
* from the brief's "the command in `key`" on purpose. A fix line exists to be
|
|
168
|
+
* copied and run, and rule 3 (never dress a copyable value) is the rule that
|
|
169
|
+
* makes the whole palette safe to trust. The label alone carries the emphasis.
|
|
170
|
+
*
|
|
171
|
+
* Returned as text with no trailing newline, so callers keep control of the
|
|
172
|
+
* stream and of whether a blank line follows.
|
|
173
|
+
*/
|
|
174
|
+
export declare function refusal(style: Style, code: string, message: string, fix?: string): string;
|
|
175
|
+
/**
|
|
176
|
+
* The one shape a legitimate skip is printed in (APRV-153).
|
|
177
|
+
*
|
|
178
|
+
* – web-port this policy declares no channels.web.port, so no queue page is served
|
|
179
|
+
* to enable: approval policy amend
|
|
180
|
+
*
|
|
181
|
+
* The counterpart of {@link refusal} for a part that is not wrong. The fact it
|
|
182
|
+
* reports is doctor's fact (an optional part, absent by configuration), so it
|
|
183
|
+
* borrows doctor's vocabulary: the skip glyph, the check name in `warn`, the
|
|
184
|
+
* detail plain. `approval up` used to print these through {@link refusal}, and
|
|
185
|
+
* the red ✗ taught an operator that a healthy startup had failed; this shape
|
|
186
|
+
* exists to prevent that mis-reading.
|
|
187
|
+
*
|
|
188
|
+
* The second line is labelled `to enable:` rather than `fix:` because nothing
|
|
189
|
+
* is broken and there is nothing to repair; it is the path to turning the part
|
|
190
|
+
* on. Like a fix line it exists to be copied and run, so the label is dressed
|
|
191
|
+
* and the command after it is not (rule 3).
|
|
192
|
+
*
|
|
193
|
+
* Returned as text with no trailing newline, like {@link refusal}.
|
|
194
|
+
*/
|
|
195
|
+
export declare function skipNotice(style: Style, check: string, detail: string, enable?: string): string;
|
|
196
|
+
/**
|
|
197
|
+
* The notice under a printed execution token, on a surface that is not Telegram.
|
|
198
|
+
*
|
|
199
|
+
* Three facts and an instruction, in the order a reader needs them: it works
|
|
200
|
+
* once, nothing anywhere can give it back, so the copy has to happen now.
|
|
201
|
+
*/
|
|
202
|
+
export declare const TOKEN_NOTICE = "single-use \u00B7 stored nowhere \u00B7 copy it now";
|
|
203
|
+
/** The same, for the Telegram listener, where the extra clause is load-bearing. */
|
|
204
|
+
export declare const TOKEN_NOTICE_TELEGRAM = "single-use \u00B7 stored nowhere \u00B7 not sent to Telegram \u00B7 copy it now";
|
|
205
|
+
/**
|
|
206
|
+
* The execution token, in a rule-boxed panel (APRV-91's brief, APRV-102).
|
|
207
|
+
*
|
|
208
|
+
* ─────────────────────────────────────────────────────────────
|
|
209
|
+
* execution token task-042:chaser
|
|
210
|
+
* 729a25b06567ccc0aed356f3423e39bf12b6252056b7890acde455603010fb11
|
|
211
|
+
* single-use · stored nowhere · copy it now
|
|
212
|
+
* ─────────────────────────────────────────────────────────────
|
|
213
|
+
*
|
|
214
|
+
* Trust surfaces look different from chatter: this is the one value in the whole
|
|
215
|
+
* CLI that exists for exactly as long as the terminal keeps it, so it gets a box
|
|
216
|
+
* and whitespace rather than a prefix on a line of prose.
|
|
217
|
+
*
|
|
218
|
+
* THE TOKEN LINE IS UNCOLOURED AND ALONE. Rule 3 in the header is not a
|
|
219
|
+
* preference here: a triple-click on the token must yield the token, and an
|
|
220
|
+
* escape sequence in the middle of it yields something that cannot be spent.
|
|
221
|
+
* The label carries the emphasis, the notice wears `secret` (bold yellow, never
|
|
222
|
+
* red: red is failure and this is a success), and the rules wear `rule`.
|
|
223
|
+
*
|
|
224
|
+
* One helper rather than one per surface, because `grant`, the Telegram listener
|
|
225
|
+
* and the CLI channel each print this and three copies is three chances for the
|
|
226
|
+
* one that matters to lose its warning.
|
|
227
|
+
*/
|
|
228
|
+
export declare function tokenPanel(st: Style, actionKey: string, token: string, notice?: string): string;
|
|
229
|
+
/** Build a style. Tests use this; the CLI uses {@link style}. */
|
|
230
|
+
export declare function makeStyle(input?: StyleInput): Style;
|
|
231
|
+
/**
|
|
232
|
+
* The process-wide style, decided once.
|
|
233
|
+
*
|
|
234
|
+
* `json` and `noColor` are known only after a command line is parsed, so the
|
|
235
|
+
* first caller passes them and later callers get that same answer. A verb that
|
|
236
|
+
* answers in JSON therefore has to ask FIRST, which every JSON branch does by
|
|
237
|
+
* construction: it asks for the style before it prints.
|
|
238
|
+
*/
|
|
239
|
+
export declare function style(input?: StyleInput): Style;
|
|
240
|
+
/** Forget the memoized answer. For tests, and for nothing else. */
|
|
241
|
+
export declare function resetStyle(): void;
|
|
242
|
+
/**
|
|
243
|
+
* The first 12 characters of a digest, for human output only.
|
|
244
|
+
*
|
|
245
|
+
* 12 hex characters is 48 bits: ample to tell two hashes in one report apart,
|
|
246
|
+
* which is the entire job here, and short enough that two of them fit on a line
|
|
247
|
+
* with their labels. The FULL value stays in `--json`, which is what anything
|
|
248
|
+
* comparing hashes should be reading. Anything that is not a 64-hex digest is
|
|
249
|
+
* returned untouched, so this is safe to apply to a field that may be null or
|
|
250
|
+
* already short.
|
|
251
|
+
*/
|
|
252
|
+
export declare function shortHash(hash: string): string;
|
|
253
|
+
/**
|
|
254
|
+
* `path` relative to `cwd` when it is inside it, absolute otherwise.
|
|
255
|
+
*
|
|
256
|
+
* The dense-output complaint was largely this: the same 70-character absolute
|
|
257
|
+
* path three times in one report. A path INSIDE the working directory is
|
|
258
|
+
* printed relative because that is how the operator would type it. A path
|
|
259
|
+
* outside stays absolute, because `../../../etc/approval/APPROVAL.md` is worse
|
|
260
|
+
* than the truth in every way.
|
|
261
|
+
*/
|
|
262
|
+
export declare function relPath(path: string, cwd: string): string;
|
|
263
|
+
/** One numbered step of a {@link runbook}: a command, and at most a comment. */
|
|
264
|
+
export interface RunbookStep {
|
|
265
|
+
/** The runnable command, printed raw so a triple-click yields clean bytes. */
|
|
266
|
+
command: string;
|
|
267
|
+
/** A short trailing comment. Rendered after the command as `# …`. */
|
|
268
|
+
note?: string;
|
|
269
|
+
}
|
|
270
|
+
/** The body of a {@link runbook}, in the order a reader needs it. */
|
|
271
|
+
export interface RunbookInput {
|
|
272
|
+
/**
|
|
273
|
+
* Verbatim output from whatever refused (git, gh), indented under the
|
|
274
|
+
* headline. It goes here rather than inline in the headline because a
|
|
275
|
+
* remote's four-line rejection swallowed into a sentence is the exact
|
|
276
|
+
* failure APRV-129 exists to undo.
|
|
277
|
+
*/
|
|
278
|
+
quote?: readonly string[];
|
|
279
|
+
/** YOUR STATE: three or four short lines, one fact each, no commands. */
|
|
280
|
+
state: readonly string[];
|
|
281
|
+
/** NEXT STEPS: numbered, ONE runnable command per line. */
|
|
282
|
+
steps: readonly RunbookStep[];
|
|
283
|
+
/** Closing pointers: one line each, rationale compressed, no commands. */
|
|
284
|
+
footer?: readonly string[];
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* A refusal the operator has to READ AND ACT ON, rendered as a runbook
|
|
288
|
+
* (APRV-129).
|
|
289
|
+
*
|
|
290
|
+
* ✗ push-rejected the remote refused the push
|
|
291
|
+
* ! [remote rejected] main -> main (protected branch hook declined)
|
|
292
|
+
*
|
|
293
|
+
* YOUR STATE
|
|
294
|
+
* attestation appended at seq 2
|
|
295
|
+
* committed LOCALLY on main, NOT on origin
|
|
296
|
+
*
|
|
297
|
+
* NEXT STEPS
|
|
298
|
+
* 1. git branch policy-amend-2
|
|
299
|
+
* 2. git push -u origin policy-amend-2
|
|
300
|
+
*
|
|
301
|
+
* why a merge commit: … see docs/cli-reference.md
|
|
302
|
+
*
|
|
303
|
+
* The shape comes from the first live `push-rejected`, which said all of this
|
|
304
|
+
* correctly as one paragraph and was read as the single word REJECTED. The
|
|
305
|
+
* register already existed in this file (the token panel, doctor's
|
|
306
|
+
* line-per-check), and this is that register applied to recovery.
|
|
307
|
+
*
|
|
308
|
+
* ONE RUNNABLE COMMAND PER LINE is the load-bearing rule. A step is a command
|
|
309
|
+
* and at most a trailing comment, so the reader can copy down the list without
|
|
310
|
+
* parsing prose for the part that is typed. Rationale is not deleted: it is
|
|
311
|
+
* compressed into `footer` as one line plus a documentation pointer.
|
|
312
|
+
*
|
|
313
|
+
* Structure survives with styling stripped: the headings are their own words,
|
|
314
|
+
* the numbers are literal digits, and the indentation is spaces. NO_COLOR and
|
|
315
|
+
* ASCII mode lose the colour and the glyph spelling, nothing else.
|
|
316
|
+
*
|
|
317
|
+
* Returned as text with no trailing newline, like {@link refusal}.
|
|
318
|
+
*/
|
|
319
|
+
export declare function runbook(st: Style, code: string, headline: string, input: RunbookInput): string;
|
|
320
|
+
export {};
|