@cairn-tool/cairn 2.0.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/.markdownlintrc +7 -0
- package/LICENSE +21 -0
- package/README.md +1431 -0
- package/dist/agent/audit/baseline.d.ts +69 -0
- package/dist/agent/audit/baseline.js +128 -0
- package/dist/agent/audit/baseline.js.map +1 -0
- package/dist/agent/audit/index.d.ts +126 -0
- package/dist/agent/audit/index.js +625 -0
- package/dist/agent/audit/index.js.map +1 -0
- package/dist/agent/import/detect.d.ts +49 -0
- package/dist/agent/import/detect.js +159 -0
- package/dist/agent/import/detect.js.map +1 -0
- package/dist/agent/import/normalize.d.ts +72 -0
- package/dist/agent/import/normalize.js +475 -0
- package/dist/agent/import/normalize.js.map +1 -0
- package/dist/agent/install/index.d.ts +211 -0
- package/dist/agent/install/index.js +907 -0
- package/dist/agent/install/index.js.map +1 -0
- package/dist/agent/manifest.d.ts +75 -0
- package/dist/agent/manifest.js +210 -0
- package/dist/agent/manifest.js.map +1 -0
- package/dist/agent/marketplace/index.d.ts +69 -0
- package/dist/agent/marketplace/index.js +212 -0
- package/dist/agent/marketplace/index.js.map +1 -0
- package/dist/agent/marketplace/spec.d.ts +48 -0
- package/dist/agent/marketplace/spec.js +237 -0
- package/dist/agent/marketplace/spec.js.map +1 -0
- package/dist/agent/output.d.ts +36 -0
- package/dist/agent/output.js +56 -0
- package/dist/agent/output.js.map +1 -0
- package/dist/agent/overlays.d.ts +38 -0
- package/dist/agent/overlays.js +223 -0
- package/dist/agent/overlays.js.map +1 -0
- package/dist/agent/package/index.d.ts +105 -0
- package/dist/agent/package/index.js +339 -0
- package/dist/agent/package/index.js.map +1 -0
- package/dist/agent/package/tar.d.ts +36 -0
- package/dist/agent/package/tar.js +137 -0
- package/dist/agent/package/tar.js.map +1 -0
- package/dist/agent/parser.d.ts +13 -0
- package/dist/agent/parser.js +559 -0
- package/dist/agent/parser.js.map +1 -0
- package/dist/agent/render.d.ts +16 -0
- package/dist/agent/render.js +721 -0
- package/dist/agent/render.js.map +1 -0
- package/dist/agent/sarif.d.ts +18 -0
- package/dist/agent/sarif.js +56 -0
- package/dist/agent/sarif.js.map +1 -0
- package/dist/agent/scaffold.d.ts +86 -0
- package/dist/agent/scaffold.js +250 -0
- package/dist/agent/scaffold.js.map +1 -0
- package/dist/agent/targets/antigravity.d.ts +17 -0
- package/dist/agent/targets/antigravity.js +218 -0
- package/dist/agent/targets/antigravity.js.map +1 -0
- package/dist/agent/targets/claude-code.d.ts +2 -0
- package/dist/agent/targets/claude-code.js +220 -0
- package/dist/agent/targets/claude-code.js.map +1 -0
- package/dist/agent/targets/codex.d.ts +2 -0
- package/dist/agent/targets/codex.js +212 -0
- package/dist/agent/targets/codex.js.map +1 -0
- package/dist/agent/targets/cursor.d.ts +2 -0
- package/dist/agent/targets/cursor.js +210 -0
- package/dist/agent/targets/cursor.js.map +1 -0
- package/dist/agent/targets/index.d.ts +31 -0
- package/dist/agent/targets/index.js +64 -0
- package/dist/agent/targets/index.js.map +1 -0
- package/dist/agent/targets/opencode.d.ts +15 -0
- package/dist/agent/targets/opencode.js +215 -0
- package/dist/agent/targets/opencode.js.map +1 -0
- package/dist/agent/targets/schema.d.ts +315 -0
- package/dist/agent/targets/schema.js +179 -0
- package/dist/agent/targets/schema.js.map +1 -0
- package/dist/agent/test/assert.d.ts +46 -0
- package/dist/agent/test/assert.js +288 -0
- package/dist/agent/test/assert.js.map +1 -0
- package/dist/agent/test/index.d.ts +73 -0
- package/dist/agent/test/index.js +181 -0
- package/dist/agent/test/index.js.map +1 -0
- package/dist/agent/test/schema.d.ts +81 -0
- package/dist/agent/test/schema.js +235 -0
- package/dist/agent/test/schema.js.map +1 -0
- package/dist/agent/types.d.ts +204 -0
- package/dist/agent/types.js +11 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/agent/upgrade.d.ts +29 -0
- package/dist/agent/upgrade.js +72 -0
- package/dist/agent/upgrade.js.map +1 -0
- package/dist/agent/writer.d.ts +30 -0
- package/dist/agent/writer.js +73 -0
- package/dist/agent/writer.js.map +1 -0
- package/dist/archive/db.d.ts +20 -0
- package/dist/archive/db.js +98 -0
- package/dist/archive/db.js.map +1 -0
- package/dist/archive/progress.d.ts +62 -0
- package/dist/archive/progress.js +151 -0
- package/dist/archive/progress.js.map +1 -0
- package/dist/archive/query.d.ts +86 -0
- package/dist/archive/query.js +241 -0
- package/dist/archive/query.js.map +1 -0
- package/dist/archive/run.d.ts +91 -0
- package/dist/archive/run.js +331 -0
- package/dist/archive/run.js.map +1 -0
- package/dist/archive/segments.d.ts +89 -0
- package/dist/archive/segments.js +144 -0
- package/dist/archive/segments.js.map +1 -0
- package/dist/archive/sets.d.ts +58 -0
- package/dist/archive/sets.js +344 -0
- package/dist/archive/sets.js.map +1 -0
- package/dist/archive/tar-read.d.ts +35 -0
- package/dist/archive/tar-read.js +90 -0
- package/dist/archive/tar-read.js.map +1 -0
- package/dist/audit-baseline.d.ts +66 -0
- package/dist/audit-baseline.js +124 -0
- package/dist/audit-baseline.js.map +1 -0
- package/dist/automation.d.ts +16 -0
- package/dist/automation.js +38 -0
- package/dist/automation.js.map +1 -0
- package/dist/backlinks.d.ts +15 -0
- package/dist/backlinks.js +30 -0
- package/dist/backlinks.js.map +1 -0
- package/dist/checkers/katex.d.ts +3 -0
- package/dist/checkers/katex.js +71 -0
- package/dist/checkers/katex.js.map +1 -0
- package/dist/checkers/markdown-lint.d.ts +28 -0
- package/dist/checkers/markdown-lint.js +53 -0
- package/dist/checkers/markdown-lint.js.map +1 -0
- package/dist/checkers/mermaid.d.ts +6 -0
- package/dist/checkers/mermaid.js +53 -0
- package/dist/checkers/mermaid.js.map +1 -0
- package/dist/checkers/references.d.ts +3 -0
- package/dist/checkers/references.js +55 -0
- package/dist/checkers/references.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +1117 -0
- package/dist/cli.js.map +1 -0
- package/dist/command-result.d.ts +6 -0
- package/dist/command-result.js +13 -0
- package/dist/command-result.js.map +1 -0
- package/dist/commands/agent-audit.d.ts +21 -0
- package/dist/commands/agent-audit.js +119 -0
- package/dist/commands/agent-audit.js.map +1 -0
- package/dist/commands/agent-doctor.d.ts +25 -0
- package/dist/commands/agent-doctor.js +217 -0
- package/dist/commands/agent-doctor.js.map +1 -0
- package/dist/commands/agent-import.d.ts +21 -0
- package/dist/commands/agent-import.js +212 -0
- package/dist/commands/agent-import.js.map +1 -0
- package/dist/commands/agent-install.d.ts +18 -0
- package/dist/commands/agent-install.js +59 -0
- package/dist/commands/agent-install.js.map +1 -0
- package/dist/commands/agent-installed.d.ts +6 -0
- package/dist/commands/agent-installed.js +17 -0
- package/dist/commands/agent-installed.js.map +1 -0
- package/dist/commands/agent-marketplace.d.ts +11 -0
- package/dist/commands/agent-marketplace.js +178 -0
- package/dist/commands/agent-marketplace.js.map +1 -0
- package/dist/commands/agent-package.d.ts +16 -0
- package/dist/commands/agent-package.js +159 -0
- package/dist/commands/agent-package.js.map +1 -0
- package/dist/commands/agent-scaffold.d.ts +17 -0
- package/dist/commands/agent-scaffold.js +181 -0
- package/dist/commands/agent-scaffold.js.map +1 -0
- package/dist/commands/agent-specs.d.ts +7 -0
- package/dist/commands/agent-specs.js +20 -0
- package/dist/commands/agent-specs.js.map +1 -0
- package/dist/commands/agent-test.d.ts +21 -0
- package/dist/commands/agent-test.js +50 -0
- package/dist/commands/agent-test.js.map +1 -0
- package/dist/commands/agent-uninstall.d.ts +6 -0
- package/dist/commands/agent-uninstall.js +45 -0
- package/dist/commands/agent-uninstall.js.map +1 -0
- package/dist/commands/agent-upgrade.d.ts +5 -0
- package/dist/commands/agent-upgrade.js +105 -0
- package/dist/commands/agent-upgrade.js.map +1 -0
- package/dist/commands/agent.d.ts +27 -0
- package/dist/commands/agent.js +549 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/archive.d.ts +47 -0
- package/dist/commands/archive.js +311 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/audit.d.ts +25 -0
- package/dist/commands/audit.js +325 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/check-snippets.d.ts +58 -0
- package/dist/commands/check-snippets.js +247 -0
- package/dist/commands/check-snippets.js.map +1 -0
- package/dist/commands/check-urls.d.ts +52 -0
- package/dist/commands/check-urls.js +205 -0
- package/dist/commands/check-urls.js.map +1 -0
- package/dist/commands/code-blocks.d.ts +8 -0
- package/dist/commands/code-blocks.js +66 -0
- package/dist/commands/code-blocks.js.map +1 -0
- package/dist/commands/completion.d.ts +15 -0
- package/dist/commands/completion.js +20 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/context.d.ts +16 -0
- package/dist/commands/context.js +131 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/describe.d.ts +12 -0
- package/dist/commands/describe.js +62 -0
- package/dist/commands/describe.js.map +1 -0
- package/dist/commands/diff.d.ts +11 -0
- package/dist/commands/diff.js +185 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/fix.d.ts +59 -0
- package/dist/commands/fix.js +173 -0
- package/dist/commands/fix.js.map +1 -0
- package/dist/commands/frontmatter.d.ts +7 -0
- package/dist/commands/frontmatter.js +84 -0
- package/dist/commands/frontmatter.js.map +1 -0
- package/dist/commands/graph.d.ts +12 -0
- package/dist/commands/graph.js +122 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/headers.d.ts +7 -0
- package/dist/commands/headers.js +48 -0
- package/dist/commands/headers.js.map +1 -0
- package/dist/commands/index.d.ts +8 -0
- package/dist/commands/index.js +32 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/links.d.ts +9 -0
- package/dist/commands/links.js +123 -0
- package/dist/commands/links.js.map +1 -0
- package/dist/commands/lint-dir.d.ts +15 -0
- package/dist/commands/lint-dir.js +156 -0
- package/dist/commands/lint-dir.js.map +1 -0
- package/dist/commands/lint.d.ts +14 -0
- package/dist/commands/lint.js +45 -0
- package/dist/commands/lint.js.map +1 -0
- package/dist/commands/orphans.d.ts +10 -0
- package/dist/commands/orphans.js +74 -0
- package/dist/commands/orphans.js.map +1 -0
- package/dist/commands/outline.d.ts +7 -0
- package/dist/commands/outline.js +54 -0
- package/dist/commands/outline.js.map +1 -0
- package/dist/commands/query.d.ts +18 -0
- package/dist/commands/query.js +341 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/refs-to.d.ts +8 -0
- package/dist/commands/refs-to.js +65 -0
- package/dist/commands/refs-to.js.map +1 -0
- package/dist/commands/refs.d.ts +10 -0
- package/dist/commands/refs.js +103 -0
- package/dist/commands/refs.js.map +1 -0
- package/dist/commands/rename-file.d.ts +16 -0
- package/dist/commands/rename-file.js +215 -0
- package/dist/commands/rename-file.js.map +1 -0
- package/dist/commands/rename-heading.d.ts +10 -0
- package/dist/commands/rename-heading.js +182 -0
- package/dist/commands/rename-heading.js.map +1 -0
- package/dist/commands/schema.d.ts +10 -0
- package/dist/commands/schema.js +34 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/scripts.d.ts +59 -0
- package/dist/commands/scripts.js +222 -0
- package/dist/commands/scripts.js.map +1 -0
- package/dist/commands/section.d.ts +9 -0
- package/dist/commands/section.js +49 -0
- package/dist/commands/section.js.map +1 -0
- package/dist/commands/serve.d.ts +6 -0
- package/dist/commands/serve.js +48 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/stats.d.ts +6 -0
- package/dist/commands/stats.js +109 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/structure.d.ts +6 -0
- package/dist/commands/structure.js +130 -0
- package/dist/commands/structure.js.map +1 -0
- package/dist/commands/tables.d.ts +8 -0
- package/dist/commands/tables.js +77 -0
- package/dist/commands/tables.js.map +1 -0
- package/dist/commands/tasks.d.ts +8 -0
- package/dist/commands/tasks.js +59 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/commands/toc.d.ts +18 -0
- package/dist/commands/toc.js +105 -0
- package/dist/commands/toc.js.map +1 -0
- package/dist/commands/update-check.d.ts +36 -0
- package/dist/commands/update-check.js +119 -0
- package/dist/commands/update-check.js.map +1 -0
- package/dist/commands/usage.d.ts +56 -0
- package/dist/commands/usage.js +883 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/validate-frontmatter.d.ts +13 -0
- package/dist/commands/validate-frontmatter.js +34 -0
- package/dist/commands/validate-frontmatter.js.map +1 -0
- package/dist/completion/model.d.ts +49 -0
- package/dist/completion/model.js +194 -0
- package/dist/completion/model.js.map +1 -0
- package/dist/completion/shells.d.ts +2 -0
- package/dist/completion/shells.js +280 -0
- package/dist/completion/shells.js.map +1 -0
- package/dist/config-schema.d.ts +15 -0
- package/dist/config-schema.js +44 -0
- package/dist/config-schema.js.map +1 -0
- package/dist/config.d.ts +102 -0
- package/dist/config.js +614 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +106 -0
- package/dist/context.js +202 -0
- package/dist/context.js.map +1 -0
- package/dist/contract/describe.d.ts +84 -0
- package/dist/contract/describe.js +104 -0
- package/dist/contract/describe.js.map +1 -0
- package/dist/contract/registry.d.ts +2 -0
- package/dist/contract/registry.js +622 -0
- package/dist/contract/registry.js.map +1 -0
- package/dist/contract/schemas/agent.d.ts +2 -0
- package/dist/contract/schemas/agent.js +572 -0
- package/dist/contract/schemas/agent.js.map +1 -0
- package/dist/contract/schemas/archive.d.ts +3 -0
- package/dist/contract/schemas/archive.js +227 -0
- package/dist/contract/schemas/archive.js.map +1 -0
- package/dist/contract/schemas/index.d.ts +11 -0
- package/dist/contract/schemas/index.js +49 -0
- package/dist/contract/schemas/index.js.map +1 -0
- package/dist/contract/schemas/markdown.d.ts +15 -0
- package/dist/contract/schemas/markdown.js +1035 -0
- package/dist/contract/schemas/markdown.js.map +1 -0
- package/dist/contract/schemas/meta.d.ts +5 -0
- package/dist/contract/schemas/meta.js +233 -0
- package/dist/contract/schemas/meta.js.map +1 -0
- package/dist/contract/schemas/scripts.d.ts +4 -0
- package/dist/contract/schemas/scripts.js +183 -0
- package/dist/contract/schemas/scripts.js.map +1 -0
- package/dist/contract/schemas/shared.d.ts +11 -0
- package/dist/contract/schemas/shared.js +26 -0
- package/dist/contract/schemas/shared.js.map +1 -0
- package/dist/contract/schemas/usage.d.ts +6 -0
- package/dist/contract/schemas/usage.js +489 -0
- package/dist/contract/schemas/usage.js.map +1 -0
- package/dist/contract/types.d.ts +63 -0
- package/dist/contract/types.js +2 -0
- package/dist/contract/types.js.map +1 -0
- package/dist/contract/version.d.ts +20 -0
- package/dist/contract/version.js +21 -0
- package/dist/contract/version.js.map +1 -0
- package/dist/diff.d.ts +156 -0
- package/dist/diff.js +500 -0
- package/dist/diff.js.map +1 -0
- package/dist/edit-plan.d.ts +133 -0
- package/dist/edit-plan.js +245 -0
- package/dist/edit-plan.js.map +1 -0
- package/dist/fix/markdownlint-fixer.d.ts +34 -0
- package/dist/fix/markdownlint-fixer.js +125 -0
- package/dist/fix/markdownlint-fixer.js.map +1 -0
- package/dist/fix/registry.d.ts +48 -0
- package/dist/fix/registry.js +28 -0
- package/dist/fix/registry.js.map +1 -0
- package/dist/fix/relative-links-fixer.d.ts +21 -0
- package/dist/fix/relative-links-fixer.js +96 -0
- package/dist/fix/relative-links-fixer.js.map +1 -0
- package/dist/fix/snippets-fixer.d.ts +2 -0
- package/dist/fix/snippets-fixer.js +64 -0
- package/dist/fix/snippets-fixer.js.map +1 -0
- package/dist/fix/toc-fixer.d.ts +2 -0
- package/dist/fix/toc-fixer.js +94 -0
- package/dist/fix/toc-fixer.js.map +1 -0
- package/dist/formats.d.ts +22 -0
- package/dist/formats.js +34 -0
- package/dist/formats.js.map +1 -0
- package/dist/formatters.d.ts +11 -0
- package/dist/formatters.js +48 -0
- package/dist/formatters.js.map +1 -0
- package/dist/frontmatter-validation.d.ts +11 -0
- package/dist/frontmatter-validation.js +188 -0
- package/dist/frontmatter-validation.js.map +1 -0
- package/dist/git.d.ts +40 -0
- package/dist/git.js +124 -0
- package/dist/git.js.map +1 -0
- package/dist/graph.d.ts +50 -0
- package/dist/graph.js +200 -0
- package/dist/graph.js.map +1 -0
- package/dist/input-selection.d.ts +9 -0
- package/dist/input-selection.js +122 -0
- package/dist/input-selection.js.map +1 -0
- package/dist/input.d.ts +2 -0
- package/dist/input.js +32 -0
- package/dist/input.js.map +1 -0
- package/dist/link-target.d.ts +39 -0
- package/dist/link-target.js +68 -0
- package/dist/link-target.js.map +1 -0
- package/dist/lint.d.ts +13 -0
- package/dist/lint.js +27 -0
- package/dist/lint.js.map +1 -0
- package/dist/markdown-ast.d.ts +73 -0
- package/dist/markdown-ast.js +187 -0
- package/dist/markdown-ast.js.map +1 -0
- package/dist/object-path.d.ts +14 -0
- package/dist/object-path.js +14 -0
- package/dist/object-path.js.map +1 -0
- package/dist/option-utils.d.ts +13 -0
- package/dist/option-utils.js +25 -0
- package/dist/option-utils.js.map +1 -0
- package/dist/outline.d.ts +16 -0
- package/dist/outline.js +32 -0
- package/dist/outline.js.map +1 -0
- package/dist/query/entities.d.ts +60 -0
- package/dist/query/entities.js +219 -0
- package/dist/query/entities.js.map +1 -0
- package/dist/query/execute.d.ts +22 -0
- package/dist/query/execute.js +0 -0
- package/dist/query/execute.js.map +1 -0
- package/dist/query/plan.d.ts +76 -0
- package/dist/query/plan.js +183 -0
- package/dist/query/plan.js.map +1 -0
- package/dist/query/render.d.ts +3 -0
- package/dist/query/render.js +39 -0
- package/dist/query/render.js.map +1 -0
- package/dist/refs.d.ts +19 -0
- package/dist/refs.js +10 -0
- package/dist/refs.js.map +1 -0
- package/dist/result.d.ts +49 -0
- package/dist/result.js +47 -0
- package/dist/result.js.map +1 -0
- package/dist/runtime.d.ts +35 -0
- package/dist/runtime.js +77 -0
- package/dist/runtime.js.map +1 -0
- package/dist/sarif.d.ts +36 -0
- package/dist/sarif.js +30 -0
- package/dist/sarif.js.map +1 -0
- package/dist/scripts/execute.d.ts +65 -0
- package/dist/scripts/execute.js +235 -0
- package/dist/scripts/execute.js.map +1 -0
- package/dist/scripts/registry.d.ts +55 -0
- package/dist/scripts/registry.js +103 -0
- package/dist/scripts/registry.js.map +1 -0
- package/dist/scripts/resolve.d.ts +90 -0
- package/dist/scripts/resolve.js +288 -0
- package/dist/scripts/resolve.js.map +1 -0
- package/dist/sections.d.ts +53 -0
- package/dist/sections.js +100 -0
- package/dist/sections.js.map +1 -0
- package/dist/serve/errors.d.ts +25 -0
- package/dist/serve/errors.js +45 -0
- package/dist/serve/errors.js.map +1 -0
- package/dist/serve/paths.d.ts +32 -0
- package/dist/serve/paths.js +71 -0
- package/dist/serve/paths.js.map +1 -0
- package/dist/serve/server.d.ts +31 -0
- package/dist/serve/server.js +123 -0
- package/dist/serve/server.js.map +1 -0
- package/dist/serve/tools.d.ts +19 -0
- package/dist/serve/tools.js +597 -0
- package/dist/serve/tools.js.map +1 -0
- package/dist/snippets.d.ts +184 -0
- package/dist/snippets.js +454 -0
- package/dist/snippets.js.map +1 -0
- package/dist/sqlite-store.d.ts +62 -0
- package/dist/sqlite-store.js +104 -0
- package/dist/sqlite-store.js.map +1 -0
- package/dist/sqlite.d.ts +59 -0
- package/dist/sqlite.js +51 -0
- package/dist/sqlite.js.map +1 -0
- package/dist/toc.d.ts +58 -0
- package/dist/toc.js +83 -0
- package/dist/toc.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/update-notifier.d.ts +95 -0
- package/dist/update-notifier.js +301 -0
- package/dist/update-notifier.js.map +1 -0
- package/dist/url-cache.d.ts +14 -0
- package/dist/url-cache.js +70 -0
- package/dist/url-cache.js.map +1 -0
- package/dist/usage/aggregate.d.ts +107 -0
- package/dist/usage/aggregate.js +435 -0
- package/dist/usage/aggregate.js.map +1 -0
- package/dist/usage/db/index.d.ts +49 -0
- package/dist/usage/db/index.js +118 -0
- package/dist/usage/db/index.js.map +1 -0
- package/dist/usage/db/migrations.d.ts +29 -0
- package/dist/usage/db/migrations.js +38 -0
- package/dist/usage/db/migrations.js.map +1 -0
- package/dist/usage/db/open.d.ts +33 -0
- package/dist/usage/db/open.js +37 -0
- package/dist/usage/db/open.js.map +1 -0
- package/dist/usage/db/schema.d.ts +18 -0
- package/dist/usage/db/schema.js +147 -0
- package/dist/usage/db/schema.js.map +1 -0
- package/dist/usage/db/store.d.ts +74 -0
- package/dist/usage/db/store.js +280 -0
- package/dist/usage/db/store.js.map +1 -0
- package/dist/usage/events.d.ts +202 -0
- package/dist/usage/events.js +243 -0
- package/dist/usage/events.js.map +1 -0
- package/dist/usage/filter.d.ts +43 -0
- package/dist/usage/filter.js +97 -0
- package/dist/usage/filter.js.map +1 -0
- package/dist/usage/providers/antigravity.d.ts +2 -0
- package/dist/usage/providers/antigravity.js +431 -0
- package/dist/usage/providers/antigravity.js.map +1 -0
- package/dist/usage/providers/claude-code.d.ts +2 -0
- package/dist/usage/providers/claude-code.js +400 -0
- package/dist/usage/providers/claude-code.js.map +1 -0
- package/dist/usage/providers/codex.d.ts +2 -0
- package/dist/usage/providers/codex.js +387 -0
- package/dist/usage/providers/codex.js.map +1 -0
- package/dist/usage/providers/gemini-cli.d.ts +2 -0
- package/dist/usage/providers/gemini-cli.js +466 -0
- package/dist/usage/providers/gemini-cli.js.map +1 -0
- package/dist/usage/providers/index.d.ts +23 -0
- package/dist/usage/providers/index.js +46 -0
- package/dist/usage/providers/index.js.map +1 -0
- package/dist/usage/providers/opencode.d.ts +2 -0
- package/dist/usage/providers/opencode.js +422 -0
- package/dist/usage/providers/opencode.js.map +1 -0
- package/dist/usage/providers/protobuf.d.ts +35 -0
- package/dist/usage/providers/protobuf.js +125 -0
- package/dist/usage/providers/protobuf.js.map +1 -0
- package/dist/usage/providers/types.d.ts +74 -0
- package/dist/usage/providers/types.js +2 -0
- package/dist/usage/providers/types.js.map +1 -0
- package/dist/usage/scan.d.ts +54 -0
- package/dist/usage/scan.js +216 -0
- package/dist/usage/scan.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace-index.d.ts +39 -0
- package/dist/workspace-index.js +265 -0
- package/dist/workspace-index.js.map +1 -0
- package/dist/workspace.d.ts +89 -0
- package/dist/workspace.js +219 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +92 -0
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
import { schemaUri } from "../version.js";
|
|
2
|
+
import { DRAFT, stringArray } from "./shared.js";
|
|
3
|
+
/**
|
|
4
|
+
* Fragments are inlined into every document that needs them rather than shared
|
|
5
|
+
* by `$ref`: a schema retrieved with `cairn schema <id>` must compile on
|
|
6
|
+
* its own.
|
|
7
|
+
*/
|
|
8
|
+
const TOKENS = {
|
|
9
|
+
type: "object",
|
|
10
|
+
description: "Token counters. Requests are deduplicated API responses, not transcript lines.",
|
|
11
|
+
required: [
|
|
12
|
+
"input",
|
|
13
|
+
"output",
|
|
14
|
+
"cacheRead",
|
|
15
|
+
"cacheWrite",
|
|
16
|
+
"cacheWrite5m",
|
|
17
|
+
"cacheWrite1h",
|
|
18
|
+
"thinking",
|
|
19
|
+
"webSearch",
|
|
20
|
+
"webFetch",
|
|
21
|
+
"requests",
|
|
22
|
+
],
|
|
23
|
+
properties: {
|
|
24
|
+
input: { type: "integer", minimum: 0 },
|
|
25
|
+
output: { type: "integer", minimum: 0 },
|
|
26
|
+
cacheRead: { type: "integer", minimum: 0 },
|
|
27
|
+
cacheWrite: {
|
|
28
|
+
type: "integer",
|
|
29
|
+
minimum: 0,
|
|
30
|
+
description: "Authoritative cache-write total, whether or not the TTL split is known.",
|
|
31
|
+
},
|
|
32
|
+
cacheWrite5m: {
|
|
33
|
+
type: "integer",
|
|
34
|
+
minimum: 0,
|
|
35
|
+
description: "Best-effort TTL split. The oldest records carry no split, so 5m and 1h can sum to less than cacheWrite, and never to more.",
|
|
36
|
+
},
|
|
37
|
+
cacheWrite1h: { type: "integer", minimum: 0 },
|
|
38
|
+
thinking: { type: "integer", minimum: 0 },
|
|
39
|
+
webSearch: { type: "integer", minimum: 0, description: "Server-side web search requests." },
|
|
40
|
+
webFetch: { type: "integer", minimum: 0 },
|
|
41
|
+
requests: { type: "integer", minimum: 0 },
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
const SCOPE = {
|
|
45
|
+
type: "object",
|
|
46
|
+
description: "What the report covered.",
|
|
47
|
+
required: ["provider", "root", "window", "projects", "subagents", "last", "index"],
|
|
48
|
+
properties: {
|
|
49
|
+
provider: { type: "string", description: "`--provider` as given, which may be `all`." },
|
|
50
|
+
providers: {
|
|
51
|
+
...stringArray,
|
|
52
|
+
description: "The providers actually scanned: those the selector named that also have logs on this machine.",
|
|
53
|
+
},
|
|
54
|
+
root: {
|
|
55
|
+
type: "string",
|
|
56
|
+
description: "Log root the transcripts were read from. With several providers this is the first; `roots` names them all.",
|
|
57
|
+
},
|
|
58
|
+
roots: {
|
|
59
|
+
type: "object",
|
|
60
|
+
description: "Log root per scanned provider.",
|
|
61
|
+
additionalProperties: { type: "string" },
|
|
62
|
+
},
|
|
63
|
+
window: {
|
|
64
|
+
type: "object",
|
|
65
|
+
description: "Inclusive day bounds. Null means unbounded on that side.",
|
|
66
|
+
required: ["since", "until"],
|
|
67
|
+
properties: {
|
|
68
|
+
since: { type: ["string", "null"] },
|
|
69
|
+
until: { type: ["string", "null"] },
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
projects: { ...stringArray, description: "`--project` selectors, as typed." },
|
|
73
|
+
subagents: { type: "boolean" },
|
|
74
|
+
last: { type: ["integer", "null"], minimum: 0 },
|
|
75
|
+
index: { type: "boolean", description: "False when `--no-index` bypassed the cache." },
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
const SCAN = {
|
|
79
|
+
type: "object",
|
|
80
|
+
description: "What the scan touched. Unreadable transcripts and malformed lines are counted rather than fatal; only --strict turns them into exit 2.",
|
|
81
|
+
required: ["discovered", "cached", "parsed", "skipped", "malformed", "selected", "failures"],
|
|
82
|
+
properties: {
|
|
83
|
+
discovered: { type: "integer", minimum: 0 },
|
|
84
|
+
cached: { type: "integer", minimum: 0, description: "Served from the index unopened." },
|
|
85
|
+
parsed: { type: "integer", minimum: 0 },
|
|
86
|
+
skipped: { type: "integer", minimum: 0 },
|
|
87
|
+
malformed: { type: "integer", minimum: 0, description: "Lines that were not valid JSON." },
|
|
88
|
+
selected: {
|
|
89
|
+
type: "integer",
|
|
90
|
+
minimum: 0,
|
|
91
|
+
description: "Transcripts left after the project and window filters.",
|
|
92
|
+
},
|
|
93
|
+
failures: {
|
|
94
|
+
type: "array",
|
|
95
|
+
items: {
|
|
96
|
+
type: "object",
|
|
97
|
+
required: ["file", "reason"],
|
|
98
|
+
properties: { file: { type: "string" }, reason: { type: "string" } },
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
const CAPABILITIES = {
|
|
104
|
+
type: "object",
|
|
105
|
+
description: "What this provider's logs can answer. Reports read these rather than branching on the provider name.",
|
|
106
|
+
required: [
|
|
107
|
+
"tokens",
|
|
108
|
+
"cacheTokens",
|
|
109
|
+
"tools",
|
|
110
|
+
"skills",
|
|
111
|
+
"subagents",
|
|
112
|
+
"hooks",
|
|
113
|
+
"mcp",
|
|
114
|
+
"slashCommands",
|
|
115
|
+
"projects",
|
|
116
|
+
],
|
|
117
|
+
properties: {
|
|
118
|
+
tokens: { type: "boolean" },
|
|
119
|
+
cacheTokens: { type: "boolean" },
|
|
120
|
+
tools: { type: "boolean" },
|
|
121
|
+
skills: { type: "boolean" },
|
|
122
|
+
subagents: { type: "boolean" },
|
|
123
|
+
hooks: { type: "boolean" },
|
|
124
|
+
mcp: { type: "boolean" },
|
|
125
|
+
slashCommands: { type: "boolean" },
|
|
126
|
+
projects: { type: "boolean" },
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
const ROW = {
|
|
130
|
+
type: "object",
|
|
131
|
+
description: "One rollup row. Only `key` and `count` are always present; each dimension fills in the fields that mean something for it, so read a row by the `dimension` the payload declares.",
|
|
132
|
+
required: ["key", "count"],
|
|
133
|
+
properties: {
|
|
134
|
+
key: { type: "string" },
|
|
135
|
+
provider: { type: "string", description: "Set where a row belongs to exactly one provider." },
|
|
136
|
+
count: {
|
|
137
|
+
type: "integer",
|
|
138
|
+
minimum: 0,
|
|
139
|
+
description: "The dimension's primary tally: requests for tokens, calls for tools, spawns for agents, runs for hooks.",
|
|
140
|
+
},
|
|
141
|
+
tokens: TOKENS,
|
|
142
|
+
sessions: { type: "integer", minimum: 0 },
|
|
143
|
+
toolCalls: { type: "integer", minimum: 0 },
|
|
144
|
+
prompts: { type: "integer", minimum: 0 },
|
|
145
|
+
kind: { enum: ["builtin", "mcp", "agent", "skill"] },
|
|
146
|
+
server: { type: "string", description: "MCP server, for a tool named mcp__<server>__<tool>." },
|
|
147
|
+
failures: { type: "integer", minimum: 0 },
|
|
148
|
+
cancelled: { type: "integer", minimum: 0 },
|
|
149
|
+
meanMs: { type: "integer", minimum: 0 },
|
|
150
|
+
maxMs: { type: "integer", minimum: 0 },
|
|
151
|
+
maxDepth: { type: "integer", minimum: 0, description: "Deepest observed subagent nesting." },
|
|
152
|
+
project: { type: "string" },
|
|
153
|
+
title: { type: "string" },
|
|
154
|
+
gitBranch: { type: "string" },
|
|
155
|
+
firstTs: { type: "string" },
|
|
156
|
+
lastTs: { type: "string" },
|
|
157
|
+
durationMs: { type: "integer", minimum: 0 },
|
|
158
|
+
subagents: { type: "integer", minimum: 0, description: "Subagent transcripts in the session." },
|
|
159
|
+
models: stringArray,
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
export const usageRollupSchema = {
|
|
163
|
+
id: "usage-rollup",
|
|
164
|
+
uri: schemaUri("v1", "usage-rollup"),
|
|
165
|
+
title: "Usage rollup",
|
|
166
|
+
commands: [
|
|
167
|
+
"usage tokens",
|
|
168
|
+
"usage tools",
|
|
169
|
+
"usage sessions",
|
|
170
|
+
"usage projects",
|
|
171
|
+
"usage skills",
|
|
172
|
+
"usage agents",
|
|
173
|
+
"usage hooks",
|
|
174
|
+
"usage commands",
|
|
175
|
+
],
|
|
176
|
+
schema: {
|
|
177
|
+
$schema: DRAFT,
|
|
178
|
+
$id: schemaUri("v1", "usage-rollup"),
|
|
179
|
+
title: "Usage rollup",
|
|
180
|
+
description: "Emitted by every tabular `usage` subcommand with `--format json`. `rows` is what `--top` left; `totals` always covers the whole selection.",
|
|
181
|
+
type: "object",
|
|
182
|
+
required: ["provider", "scope", "dimension", "rows", "truncated", "totals", "scan"],
|
|
183
|
+
properties: {
|
|
184
|
+
provider: { type: "string" },
|
|
185
|
+
scope: SCOPE,
|
|
186
|
+
dimension: {
|
|
187
|
+
type: "string",
|
|
188
|
+
description: "What each row's `key` names: model, day, week, month, project, session, provider, name, kind, server, skill, role, path, hook, or command.",
|
|
189
|
+
},
|
|
190
|
+
supported: {
|
|
191
|
+
type: "boolean",
|
|
192
|
+
description: "False when no scanned provider records this kind of activity, in which case `rows` is empty and the absence is not a finding.",
|
|
193
|
+
},
|
|
194
|
+
rows: { type: "array", items: ROW },
|
|
195
|
+
truncated: {
|
|
196
|
+
type: "boolean",
|
|
197
|
+
description: "True when --top clipped the listing. `totals` is unaffected.",
|
|
198
|
+
},
|
|
199
|
+
totals: {
|
|
200
|
+
type: "object",
|
|
201
|
+
required: ["rows", "count", "tokens"],
|
|
202
|
+
properties: {
|
|
203
|
+
rows: { type: "integer", minimum: 0, description: "Rows before --top clipped them." },
|
|
204
|
+
count: { type: "integer", minimum: 0 },
|
|
205
|
+
tokens: TOKENS,
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
scan: SCAN,
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
export const usageSummarySchema = {
|
|
213
|
+
id: "usage-summary",
|
|
214
|
+
uri: schemaUri("v1", "usage-summary"),
|
|
215
|
+
title: "Usage summary",
|
|
216
|
+
commands: ["usage summary"],
|
|
217
|
+
schema: {
|
|
218
|
+
$schema: DRAFT,
|
|
219
|
+
$id: schemaUri("v1", "usage-summary"),
|
|
220
|
+
title: "Usage summary",
|
|
221
|
+
description: "Emitted by `usage summary --format json`. Headline totals over the selection.",
|
|
222
|
+
type: "object",
|
|
223
|
+
required: ["provider", "scope", "summary", "scan"],
|
|
224
|
+
properties: {
|
|
225
|
+
provider: { type: "string" },
|
|
226
|
+
scope: SCOPE,
|
|
227
|
+
summary: {
|
|
228
|
+
type: "object",
|
|
229
|
+
required: [
|
|
230
|
+
"sessions",
|
|
231
|
+
"transcripts",
|
|
232
|
+
"subagentTranscripts",
|
|
233
|
+
"projects",
|
|
234
|
+
"prompts",
|
|
235
|
+
"errors",
|
|
236
|
+
"compactions",
|
|
237
|
+
"firstDay",
|
|
238
|
+
"lastDay",
|
|
239
|
+
"days",
|
|
240
|
+
"tokens",
|
|
241
|
+
"tokensByKind",
|
|
242
|
+
"models",
|
|
243
|
+
"tools",
|
|
244
|
+
"features",
|
|
245
|
+
],
|
|
246
|
+
properties: {
|
|
247
|
+
sessions: { type: "integer", minimum: 0 },
|
|
248
|
+
transcripts: { type: "integer", minimum: 0 },
|
|
249
|
+
subagentTranscripts: { type: "integer", minimum: 0 },
|
|
250
|
+
projects: { type: "integer", minimum: 0 },
|
|
251
|
+
prompts: {
|
|
252
|
+
type: "integer",
|
|
253
|
+
minimum: 0,
|
|
254
|
+
description: "Turns the user actually typed, excluding tool results and injected turns.",
|
|
255
|
+
},
|
|
256
|
+
errors: { type: "integer", minimum: 0, description: "Recorded API errors." },
|
|
257
|
+
compactions: { type: "integer", minimum: 0 },
|
|
258
|
+
firstDay: { type: ["string", "null"] },
|
|
259
|
+
lastDay: { type: ["string", "null"] },
|
|
260
|
+
days: { type: "integer", minimum: 0, description: "Days with any activity." },
|
|
261
|
+
tokens: TOKENS,
|
|
262
|
+
tokensByKind: {
|
|
263
|
+
type: "object",
|
|
264
|
+
description: "The same totals split by transcript kind.",
|
|
265
|
+
required: ["main", "subagent"],
|
|
266
|
+
properties: { main: TOKENS, subagent: TOKENS },
|
|
267
|
+
},
|
|
268
|
+
models: { type: "array", items: ROW, description: "Top models by token total." },
|
|
269
|
+
tools: { type: "array", items: ROW, description: "Top tools by call count." },
|
|
270
|
+
features: {
|
|
271
|
+
type: "object",
|
|
272
|
+
required: ["skills", "subagents", "hooks", "hookFailures", "slashCommands", "mcpCalls"],
|
|
273
|
+
properties: {
|
|
274
|
+
skills: { type: "integer", minimum: 0 },
|
|
275
|
+
subagents: { type: "integer", minimum: 0 },
|
|
276
|
+
hooks: { type: "integer", minimum: 0 },
|
|
277
|
+
hookFailures: { type: "integer", minimum: 0 },
|
|
278
|
+
slashCommands: { type: "integer", minimum: 0 },
|
|
279
|
+
mcpCalls: { type: "integer", minimum: 0 },
|
|
280
|
+
},
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
scan: SCAN,
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
export const usageProvidersSchema = {
|
|
289
|
+
id: "usage-providers",
|
|
290
|
+
uri: schemaUri("v1", "usage-providers"),
|
|
291
|
+
title: "Usage providers",
|
|
292
|
+
commands: ["usage providers"],
|
|
293
|
+
schema: {
|
|
294
|
+
$schema: DRAFT,
|
|
295
|
+
$id: schemaUri("v1", "usage-providers"),
|
|
296
|
+
title: "Usage providers",
|
|
297
|
+
description: "Emitted by `usage providers --format json`. Every registered log source, whether it is present on this machine, and what it can report.",
|
|
298
|
+
type: "object",
|
|
299
|
+
required: ["providers"],
|
|
300
|
+
properties: {
|
|
301
|
+
providers: {
|
|
302
|
+
type: "array",
|
|
303
|
+
items: {
|
|
304
|
+
type: "object",
|
|
305
|
+
required: ["name", "title", "source", "default", "available", "root", "capabilities"],
|
|
306
|
+
properties: {
|
|
307
|
+
name: { type: "string" },
|
|
308
|
+
title: { type: "string" },
|
|
309
|
+
source: { type: "string", description: "Where this provider's logs come from." },
|
|
310
|
+
default: { type: "boolean" },
|
|
311
|
+
available: { type: "boolean" },
|
|
312
|
+
root: { type: ["string", "null"], description: "Null when nothing was found." },
|
|
313
|
+
capabilities: CAPABILITIES,
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
export const usageIndexSchema = {
|
|
321
|
+
id: "usage-index",
|
|
322
|
+
uri: schemaUri("v1", "usage-index"),
|
|
323
|
+
title: "Usage index status",
|
|
324
|
+
commands: ["usage index"],
|
|
325
|
+
schema: {
|
|
326
|
+
$schema: DRAFT,
|
|
327
|
+
$id: schemaUri("v1", "usage-index"),
|
|
328
|
+
title: "Usage index status",
|
|
329
|
+
description: "Emitted by `usage index --format json`. `usage` keeps one SQLite store for every provider. `schemaVersion` is that store's own migrated version, reported so a caller can tell an out-of-date store from a current one; it is not the contract version. `shards` is retained at 0: it described the per-project JSON shard files this store replaced, and there is no longer any such thing.",
|
|
330
|
+
type: "object",
|
|
331
|
+
required: ["provider", "action", "cache"],
|
|
332
|
+
properties: {
|
|
333
|
+
provider: { type: "string" },
|
|
334
|
+
action: { enum: ["status", "rebuild", "clear"] },
|
|
335
|
+
caches: {
|
|
336
|
+
type: "array",
|
|
337
|
+
description: "One entry per selected provider. Each caches separately, so every action is per provider.",
|
|
338
|
+
items: {
|
|
339
|
+
type: "object",
|
|
340
|
+
required: ["provider", "root", "present", "shards", "entries", "bytes", "updatedAt"],
|
|
341
|
+
properties: {
|
|
342
|
+
provider: { type: "string" },
|
|
343
|
+
root: {
|
|
344
|
+
type: "string",
|
|
345
|
+
description: "Path of the store, which every provider shares.",
|
|
346
|
+
},
|
|
347
|
+
present: { type: "boolean" },
|
|
348
|
+
shards: {
|
|
349
|
+
type: "integer",
|
|
350
|
+
minimum: 0,
|
|
351
|
+
description: "Always 0; see the top-level description.",
|
|
352
|
+
},
|
|
353
|
+
entries: {
|
|
354
|
+
type: "integer",
|
|
355
|
+
minimum: 0,
|
|
356
|
+
description: "Transcripts held for this provider.",
|
|
357
|
+
},
|
|
358
|
+
bytes: {
|
|
359
|
+
type: "integer",
|
|
360
|
+
minimum: 0,
|
|
361
|
+
description: "Size of the whole store, including its write-ahead log. Reported identically on every entry rather than partitioned, because one file holds them all.",
|
|
362
|
+
},
|
|
363
|
+
days: {
|
|
364
|
+
type: "integer",
|
|
365
|
+
minimum: 0,
|
|
366
|
+
description: "Day buckets held, across the whole store.",
|
|
367
|
+
},
|
|
368
|
+
events: {
|
|
369
|
+
type: "integer",
|
|
370
|
+
minimum: 0,
|
|
371
|
+
description: "Events held, across the whole store.",
|
|
372
|
+
},
|
|
373
|
+
schemaVersion: {
|
|
374
|
+
type: "integer",
|
|
375
|
+
minimum: 0,
|
|
376
|
+
description: "Migrated schema version of the store.",
|
|
377
|
+
},
|
|
378
|
+
updatedAt: { type: ["string", "null"] },
|
|
379
|
+
removed: {
|
|
380
|
+
type: "integer",
|
|
381
|
+
minimum: 0,
|
|
382
|
+
description: "Transcripts dropped by --clear.",
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
},
|
|
387
|
+
cache: {
|
|
388
|
+
type: "object",
|
|
389
|
+
description: "The store: one provider's rows when one was selected, the total across them otherwise. `bytes`, `days` and `events` are whole-store figures either way, and so are not summed.",
|
|
390
|
+
required: ["root", "present", "shards", "entries", "bytes", "updatedAt"],
|
|
391
|
+
properties: {
|
|
392
|
+
root: { type: "string" },
|
|
393
|
+
present: { type: "boolean" },
|
|
394
|
+
shards: {
|
|
395
|
+
type: "integer",
|
|
396
|
+
minimum: 0,
|
|
397
|
+
description: "Always 0; see the top-level description.",
|
|
398
|
+
},
|
|
399
|
+
entries: { type: "integer", minimum: 0, description: "Transcripts held in the store." },
|
|
400
|
+
bytes: { type: "integer", minimum: 0 },
|
|
401
|
+
days: { type: "integer", minimum: 0 },
|
|
402
|
+
events: { type: "integer", minimum: 0 },
|
|
403
|
+
schemaVersion: { type: "integer", minimum: 0 },
|
|
404
|
+
updatedAt: { type: ["string", "null"] },
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
removed: { type: "integer", minimum: 0, description: "Transcripts dropped by --clear." },
|
|
408
|
+
scan: SCAN,
|
|
409
|
+
},
|
|
410
|
+
},
|
|
411
|
+
};
|
|
412
|
+
/**
|
|
413
|
+
* The store's own description, shared by `usage import` and `usage migrate`.
|
|
414
|
+
*
|
|
415
|
+
* Inlined into both documents rather than shared by `$ref`, like every other
|
|
416
|
+
* fragment here: a schema retrieved with `cairn schema <id>` must compile alone.
|
|
417
|
+
*/
|
|
418
|
+
const DATABASE = {
|
|
419
|
+
type: "object",
|
|
420
|
+
description: "The usage store on disk.",
|
|
421
|
+
required: ["path", "present", "schemaVersion"],
|
|
422
|
+
properties: {
|
|
423
|
+
path: { type: "string" },
|
|
424
|
+
present: { type: "boolean" },
|
|
425
|
+
schemaVersion: {
|
|
426
|
+
type: "integer",
|
|
427
|
+
minimum: 0,
|
|
428
|
+
description: "Migrated schema version of the store. Hand-owned and migrated rather than discarded, and unrelated to the contract version.",
|
|
429
|
+
},
|
|
430
|
+
files: { type: "integer", minimum: 0 },
|
|
431
|
+
days: { type: "integer", minimum: 0 },
|
|
432
|
+
events: { type: "integer", minimum: 0 },
|
|
433
|
+
bytes: { type: "integer", minimum: 0 },
|
|
434
|
+
updatedAt: { type: ["string", "null"] },
|
|
435
|
+
providers: {
|
|
436
|
+
type: "object",
|
|
437
|
+
description: "Transcripts held, keyed by provider.",
|
|
438
|
+
additionalProperties: { type: "integer", minimum: 0 },
|
|
439
|
+
},
|
|
440
|
+
},
|
|
441
|
+
};
|
|
442
|
+
export const usageImportSchema = {
|
|
443
|
+
id: "usage-import",
|
|
444
|
+
uri: schemaUri("v1", "usage-import"),
|
|
445
|
+
title: "Usage import",
|
|
446
|
+
commands: ["usage import", "usage migrate"],
|
|
447
|
+
schema: {
|
|
448
|
+
$schema: DRAFT,
|
|
449
|
+
$id: schemaUri("v1", "usage-import"),
|
|
450
|
+
title: "Usage import",
|
|
451
|
+
description: "Emitted by `usage import` and `usage migrate` with `--format json`. `migrations.applied` is what this invocation ran; it is empty on an already-current store, which is the normal case.",
|
|
452
|
+
type: "object",
|
|
453
|
+
required: ["action", "database", "migrations"],
|
|
454
|
+
properties: {
|
|
455
|
+
provider: { type: "string" },
|
|
456
|
+
action: { enum: ["import", "migrate"] },
|
|
457
|
+
database: DATABASE,
|
|
458
|
+
migrations: {
|
|
459
|
+
type: "object",
|
|
460
|
+
required: ["from", "to", "applied", "pending"],
|
|
461
|
+
properties: {
|
|
462
|
+
from: { type: "integer", minimum: 0, description: "Version before this invocation." },
|
|
463
|
+
to: { type: "integer", minimum: 0, description: "Version after it." },
|
|
464
|
+
applied: {
|
|
465
|
+
type: "array",
|
|
466
|
+
items: { type: "integer", minimum: 0 },
|
|
467
|
+
description: "Versions this invocation ran, in order.",
|
|
468
|
+
},
|
|
469
|
+
pending: {
|
|
470
|
+
type: "array",
|
|
471
|
+
items: { type: "integer", minimum: 0 },
|
|
472
|
+
description: "Versions still to run. Non-empty only under `--check`, which reports without writing.",
|
|
473
|
+
},
|
|
474
|
+
},
|
|
475
|
+
},
|
|
476
|
+
sources: {
|
|
477
|
+
type: "array",
|
|
478
|
+
description: "Log roots read, one per provider that had any.",
|
|
479
|
+
items: {
|
|
480
|
+
type: "object",
|
|
481
|
+
required: ["provider", "root"],
|
|
482
|
+
properties: { provider: { type: "string" }, root: { type: "string" } },
|
|
483
|
+
},
|
|
484
|
+
},
|
|
485
|
+
scan: SCAN,
|
|
486
|
+
},
|
|
487
|
+
},
|
|
488
|
+
};
|
|
489
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/contract/schemas/usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { OutputFormat } from "../types.js";
|
|
2
|
+
export type JsonSchema = Record<string, unknown>;
|
|
3
|
+
export interface SchemaEntry {
|
|
4
|
+
/** CLI-facing id, e.g. "agent-result". */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Canonical `$id` embedded in the document. */
|
|
7
|
+
uri: string;
|
|
8
|
+
title: string;
|
|
9
|
+
/** Command ids that emit this shape. */
|
|
10
|
+
commands: string[];
|
|
11
|
+
schema: JsonSchema;
|
|
12
|
+
}
|
|
13
|
+
export type ContractStream = "stdout" | "stderr";
|
|
14
|
+
export interface ExitCodeMeaning {
|
|
15
|
+
code: 0 | 1 | 2;
|
|
16
|
+
meaning: string;
|
|
17
|
+
}
|
|
18
|
+
export interface CommandContract {
|
|
19
|
+
/** Space-joined command path, e.g. "md graph". */
|
|
20
|
+
id: string;
|
|
21
|
+
/**
|
|
22
|
+
* Accepted output formats, or null when the command has no output format at
|
|
23
|
+
* all — `serve` speaks a protocol on stdout rather than writing a payload.
|
|
24
|
+
* Null is not the same as undeclared; `describe` already reports null for a
|
|
25
|
+
* command with no contract row, and its published schema permits both.
|
|
26
|
+
*/
|
|
27
|
+
formats: readonly OutputFormat[] | null;
|
|
28
|
+
/** Built-in default, before any project configuration is applied. */
|
|
29
|
+
defaultFormat: OutputFormat | null;
|
|
30
|
+
/** True when `.cairn.yml` may override the format for this command. */
|
|
31
|
+
formatConfigurable: boolean;
|
|
32
|
+
/** Schema id for `--format json`, or `null` when none is published yet. */
|
|
33
|
+
outputSchema: string | null;
|
|
34
|
+
/** Schema id for `--format jsonl`. */
|
|
35
|
+
jsonlSchema?: string | null;
|
|
36
|
+
/** External schema URI for `--format sarif`. */
|
|
37
|
+
sarifSchema?: string | null;
|
|
38
|
+
exitCodes: ExitCodeMeaning[];
|
|
39
|
+
/**
|
|
40
|
+
* Present only when the command forwards a child process's exit status
|
|
41
|
+
* verbatim, which is outside the three declared codes. `exitCodes` still
|
|
42
|
+
* describes the outcomes this tool decides itself.
|
|
43
|
+
*/
|
|
44
|
+
exitCodePassthrough?: {
|
|
45
|
+
min: number;
|
|
46
|
+
max: number;
|
|
47
|
+
description: string;
|
|
48
|
+
};
|
|
49
|
+
/** Which stream carries the primary payload, per outcome. */
|
|
50
|
+
stream: {
|
|
51
|
+
success: ContractStream;
|
|
52
|
+
findings?: ContractStream;
|
|
53
|
+
};
|
|
54
|
+
/** True when the command may modify files on disk. */
|
|
55
|
+
writes: boolean;
|
|
56
|
+
stability: "stable" | "experimental";
|
|
57
|
+
/**
|
|
58
|
+
* Behavior a consumer would otherwise be surprised by. Recorded truthfully,
|
|
59
|
+
* including current inconsistencies — changing them is a breaking change
|
|
60
|
+
* under the rules in docs/contract.md.
|
|
61
|
+
*/
|
|
62
|
+
notes?: string;
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version of the contract surface itself: the envelope shape, the `describe`
|
|
3
|
+
* payload, the schema id scheme, and the machine-stream guarantees.
|
|
4
|
+
*
|
|
5
|
+
* Hand-owned and unrelated to the semantic-release-managed package version.
|
|
6
|
+
* Individual payload schemas are versioned separately by the major in their
|
|
7
|
+
* `$id` path, so a breaking change to one command's output does not bump this.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CONTRACT_VERSION = "3";
|
|
10
|
+
export declare const SCHEMA_BASE = "https://github.com/cairn-tool/cairn/schema";
|
|
11
|
+
/** Major version segment of a schema id path. */
|
|
12
|
+
export type SchemaMajor = "v1";
|
|
13
|
+
/**
|
|
14
|
+
* Builds a schema `$id`. These are identifiers, not fetchable URLs — retrieve a
|
|
15
|
+
* schema with `cairn schema <id>`. Ajv resolves by registered `$id` and
|
|
16
|
+
* never performs network access, so this is correct JSON Schema usage.
|
|
17
|
+
*/
|
|
18
|
+
export declare function schemaUri(major: SchemaMajor, id: string): string;
|
|
19
|
+
/** SARIF is an external standard; it is referenced, never redefined here. */
|
|
20
|
+
export declare const SARIF_SCHEMA_URI = "https://json.schemastore.org/sarif-2.1.0.json";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version of the contract surface itself: the envelope shape, the `describe`
|
|
3
|
+
* payload, the schema id scheme, and the machine-stream guarantees.
|
|
4
|
+
*
|
|
5
|
+
* Hand-owned and unrelated to the semantic-release-managed package version.
|
|
6
|
+
* Individual payload schemas are versioned separately by the major in their
|
|
7
|
+
* `$id` path, so a breaking change to one command's output does not bump this.
|
|
8
|
+
*/
|
|
9
|
+
export const CONTRACT_VERSION = "3";
|
|
10
|
+
export const SCHEMA_BASE = "https://github.com/cairn-tool/cairn/schema";
|
|
11
|
+
/**
|
|
12
|
+
* Builds a schema `$id`. These are identifiers, not fetchable URLs — retrieve a
|
|
13
|
+
* schema with `cairn schema <id>`. Ajv resolves by registered `$id` and
|
|
14
|
+
* never performs network access, so this is correct JSON Schema usage.
|
|
15
|
+
*/
|
|
16
|
+
export function schemaUri(major, id) {
|
|
17
|
+
return `${SCHEMA_BASE}/${major}/${id}.json`;
|
|
18
|
+
}
|
|
19
|
+
/** SARIF is an external standard; it is referenced, never redefined here. */
|
|
20
|
+
export const SARIF_SCHEMA_URI = "https://json.schemastore.org/sarif-2.1.0.json";
|
|
21
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/contract/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,4CAA4C,CAAC;AAKxE;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,EAAU;IACtD,OAAO,GAAG,WAAW,IAAI,KAAK,IAAI,EAAE,OAAO,CAAC;AAC9C,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,+CAA+C,CAAC"}
|