@counterfact-labs/cli 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +7 -1
  2. package/bundle/client-release.json +1 -1
  3. package/dist/adapters/anthropic.js +11 -2
  4. package/dist/adapters/completion.js +3 -0
  5. package/dist/adapters/durable-write.js +9 -2
  6. package/dist/adapters/files.js +25 -13
  7. package/dist/adapters/git-ignore.js +28 -14
  8. package/dist/adapters/git.js +1 -1
  9. package/dist/adapters/gitignore-output.js +41 -0
  10. package/dist/adapters/models.js +1 -6
  11. package/dist/adapters/output-paths.js +5 -2
  12. package/dist/adapters/public-instructions.js +1 -1
  13. package/dist/adapters/relay-plan.js +2 -5
  14. package/dist/adapters/release.js +2 -1
  15. package/dist/adapters/repository-files.js +164 -4
  16. package/dist/adapters/repository-root.js +18 -2
  17. package/dist/adapters/results.js +8 -4
  18. package/dist/adapters/settings.js +26 -1
  19. package/dist/adapters/snapshot.js +86 -15
  20. package/dist/analysis-core/analysis/finding-audience-switch.js +1 -0
  21. package/dist/analysis-core/analysis/schemas.js +1 -1
  22. package/dist/analysis-core/analysis/source-notes/types.js +1 -1
  23. package/dist/analysis-core/chunks/377MLK4M.js +21 -0
  24. package/dist/analysis-core/chunks/{D6AWHLRI.js → 3JWEFCTJ.js} +1 -1
  25. package/dist/analysis-core/chunks/{3227KXHF.js → 4H23CSUM.js} +1 -1
  26. package/dist/analysis-core/chunks/5DGPLXYB.js +1 -0
  27. package/dist/analysis-core/chunks/5TATKWLG.js +1 -0
  28. package/dist/analysis-core/chunks/{EH3QQ3T4.js → 6B2HILSY.js} +1 -1
  29. package/dist/analysis-core/chunks/6QY5BV5B.js +14 -0
  30. package/dist/analysis-core/chunks/6U2IR4XB.js +1 -0
  31. package/dist/analysis-core/chunks/A7WJJMRY.js +1 -0
  32. package/dist/analysis-core/chunks/C6X5GDG4.js +1 -0
  33. package/dist/analysis-core/chunks/DLPVYWHZ.js +1 -0
  34. package/dist/analysis-core/chunks/DZZBQDGO.js +1 -0
  35. package/dist/analysis-core/chunks/F3R4J3ND.js +1 -0
  36. package/dist/analysis-core/chunks/FOKDE64Y.js +1 -0
  37. package/dist/analysis-core/chunks/K2GNDX3W.js +1 -0
  38. package/dist/analysis-core/chunks/KTNA2KTN.js +7 -0
  39. package/dist/analysis-core/chunks/KWECQJ6X.js +1 -0
  40. package/dist/analysis-core/chunks/{SL27GMEN.js → M6HYSTQD.js} +1 -1
  41. package/dist/analysis-core/chunks/{ZAA44GPI.js → N7U5N42V.js} +1 -1
  42. package/dist/analysis-core/chunks/NIOS7U6C.js +41 -0
  43. package/dist/analysis-core/chunks/{QMIXCT62.js → OPMA32A6.js} +1 -1
  44. package/dist/analysis-core/chunks/PECX3OXB.js +1 -0
  45. package/dist/analysis-core/chunks/QFY6A3MS.js +66 -0
  46. package/dist/analysis-core/chunks/SKVEBOGA.js +1 -0
  47. package/dist/analysis-core/chunks/{T66VDFXF.js → STI4JE7L.js} +1 -1
  48. package/dist/analysis-core/chunks/SVMEWGD3.js +1 -0
  49. package/dist/analysis-core/chunks/X7WZAA7S.js +1 -0
  50. package/dist/analysis-core/chunks/YDBO7P4X.js +1 -0
  51. package/dist/analysis-core/chunks/YUY436SM.js +1 -0
  52. package/dist/analysis-core/chunks/ZTOVBAG7.js +1 -0
  53. package/dist/analysis-core/contracts/file-safety.js +1 -0
  54. package/dist/analysis-core/contracts/relay-analysis.js +1 -0
  55. package/dist/analysis-core/contracts/requests.js +1 -1
  56. package/dist/analysis-core/conventions/analysis-fit.js +1 -1
  57. package/dist/analysis-core/conventions/file-admission.js +1 -1
  58. package/dist/analysis-core/data/finding-types.js +1 -1
  59. package/dist/analysis-core/findings/sites.js +1 -0
  60. package/dist/analysis-core/github/repo-key.js +1 -1
  61. package/dist/analysis-core/import/outside-loader-sources.js +1 -1
  62. package/dist/analysis-core/index.js +3 -3
  63. package/dist/analysis-core/llm/output-limit.js +1 -1
  64. package/dist/analysis-core/llm/types.js +1 -0
  65. package/dist/analysis-core/requests/answer-formats.js +1 -1
  66. package/dist/analysis-core/requests/headline-request.js +1 -1
  67. package/dist/analysis-core/requests/local-plan.js +1 -1
  68. package/dist/analysis-core/requests/registry.js +1 -1
  69. package/dist/analysis-core/requests/template-version.js +1 -1
  70. package/dist/analysis-core/requests/tools.js +1 -1
  71. package/dist/analysis-core/settings.js +1 -1
  72. package/dist/analysis-core/stages/engine-entry.js +1 -0
  73. package/dist/analysis-core/stages/execution-ports.js +1 -0
  74. package/dist/bundle/seal/deserialise.js +9 -1
  75. package/dist/bundle/seal/engine.js +76 -0
  76. package/dist/bundle/seal/freeze.js +9 -0
  77. package/dist/bundle/seal/metadata.js +3 -0
  78. package/dist/bundle/seal/open-engine.js +26 -0
  79. package/dist/bundle/seal/open.js +2 -8
  80. package/dist/cli/commands/analyze.js +36 -4
  81. package/dist/cli/commands/finding.js +9 -3
  82. package/dist/cli/context.js +4 -1
  83. package/dist/cli/finding-display.js +39 -0
  84. package/dist/cli/finding-lookup.js +92 -0
  85. package/dist/cli/finding-settings.js +5 -0
  86. package/dist/cli/fix-requests.js +42 -0
  87. package/dist/cli/intake-payload.js +19 -11
  88. package/dist/cli/main.js +9 -4
  89. package/dist/cli/mcp.js +65 -18
  90. package/dist/cli/relay-check.js +46 -13
  91. package/dist/cli/relay-preparation.js +28 -5
  92. package/dist/cli/result-check.js +68 -0
  93. package/dist/cli/summary.js +10 -3
  94. package/dist/contract/agent-choice.js +15 -0
  95. package/dist/contract/agent-proposal.js +38 -0
  96. package/dist/contract/attestation.js +106 -0
  97. package/dist/contract/cli-refusals.js +3 -0
  98. package/dist/contract/cli-version.js +1 -1
  99. package/dist/contract/console.js +21 -16
  100. package/dist/contract/engine.js +44 -0
  101. package/dist/contract/findings.js +28 -0
  102. package/dist/contract/fix-requests.js +30 -0
  103. package/dist/contract/messages.js +6 -94
  104. package/dist/contract/public-report.js +1 -0
  105. package/dist/contract/runtime-environment.js +12 -1
  106. package/dist/core/analysis/run-to-end.js +7 -52
  107. package/dist/gatekeeper/attestation.js +1 -1
  108. package/dist/gatekeeper/channel-binding.js +15 -0
  109. package/dist/gatekeeper/cli-api.js +12 -2
  110. package/dist/gatekeeper/connection-exchange.js +16 -12
  111. package/dist/gatekeeper/model.js +2 -1
  112. package/dist/gatekeeper/production-attestation.js +23 -17
  113. package/dist/gatekeeper/trust/policy.js +4 -1
  114. package/dist/gatekeeper/trust/schema.js +4 -0
  115. package/dist/transport/kms.js +25 -0
  116. package/package.json +4 -3
  117. package/dist/adapters/quality.js +0 -6
  118. package/dist/adapters/report.js +0 -29
  119. package/dist/analysis-core/analysis/analysis-flags.js +0 -1
  120. package/dist/analysis-core/analysis/finding-quality/config.js +0 -1
  121. package/dist/analysis-core/analysis/finding-quality/policy.js +0 -1
  122. package/dist/analysis-core/analysis/headlines/attachment.js +0 -1
  123. package/dist/analysis-core/analysis/headlines/input.js +0 -1
  124. package/dist/analysis-core/chunks/3CKW5JIF.js +0 -1
  125. package/dist/analysis-core/chunks/6YCABS5T.js +0 -1
  126. package/dist/analysis-core/chunks/7OYIBWX3.js +0 -1
  127. package/dist/analysis-core/chunks/DRGDIIFA.js +0 -1
  128. package/dist/analysis-core/chunks/FTODBFQW.js +0 -1
  129. package/dist/analysis-core/chunks/HPIAEQHE.js +0 -37
  130. package/dist/analysis-core/chunks/IVDDV6CU.js +0 -14
  131. package/dist/analysis-core/chunks/JF4GYMOZ.js +0 -1
  132. package/dist/analysis-core/chunks/K5OTWBTT.js +0 -22
  133. package/dist/analysis-core/chunks/MXXNED6N.js +0 -7
  134. package/dist/analysis-core/chunks/NCWEOJVJ.js +0 -6
  135. package/dist/analysis-core/chunks/O652FQQH.js +0 -1
  136. package/dist/analysis-core/chunks/OFBJNHC6.js +0 -1
  137. package/dist/analysis-core/chunks/QV2EOS7U.js +0 -1
  138. package/dist/analysis-core/chunks/STZOC7LN.js +0 -1
  139. package/dist/analysis-core/chunks/T2SAP7OV.js +0 -60
  140. package/dist/analysis-core/chunks/T5TREZCQ.js +0 -1
  141. package/dist/analysis-core/chunks/TDNTU4TF.js +0 -1
  142. package/dist/analysis-core/chunks/U5HOEVPE.js +0 -1
  143. package/dist/analysis-core/chunks/UEWL3GMQ.js +0 -1
  144. package/dist/analysis-core/chunks/V7BFUTM7.js +0 -1
  145. package/dist/core/analysis/finding-quality/config.js +0 -4
  146. package/dist/core/analysis/structural-run.js +0 -16
@@ -1 +0,0 @@
1
- import{b,c as p}from"./STZOC7LN.js";import{b as g}from"./UEWL3GMQ.js";import{a as o}from"./U5HOEVPE.js";import{a as r}from"./EH3QQ3T4.js";import{z as T}from"zod";import{z as n}from"zod";function u(a=r){return n.object({rows:n.array(n.object({key:n.string().describe(a("finding-headlines-key")),headline:n.string().nullable().describe(a("finding-headlines-headline")),ifLeft:n.string().nullable().describe(a("finding-headlines-if-left"))}).strict())}).strict()}var V=u();import{z as m}from"zod";var l=m.object({isSystemPrompt:m.boolean(),name:m.string(),reason:m.string()});import{z as c}from"zod";var y=c.object({verdicts:c.array(c.object({id:c.string(),inScope:c.boolean(),reason:c.string()}))});import{z as e}from"zod";var H=3,P=64e3,X=8,I=60,v=e.object({subKind:e.string().describe(r("analysis-structure-schema-1")),kind:e.string().describe(r("analysis-structure-schema-2")),severity:e.string().describe(r("analysis-structure-schema-3")),title:e.string(),cause:e.string(),evidence:e.array(e.object({path:e.string(),line:e.number(),excerpt:e.string()})),children:e.array(e.object({ref:e.string().describe(r("analysis-structure-schema-4")),how:e.string()})),files:e.array(e.object({path:e.string(),action:e.string().describe(r("analysis-structure-schema-5")),role:e.string().describe(r("analysis-structure-schema-6")),unit:e.string().describe(r("analysis-structure-schema-7")),loadMode:e.string().describe(r("analysis-structure-schema-8")),loadVia:e.string().describe(r("analysis-structure-schema-9")),purpose:e.string(),fmName:e.string().describe(r("analysis-structure-schema-10")),fmDescription:e.string(),fmTools:e.array(e.string())})),segments:e.array(e.object({path:e.string(),startLine:e.number(),endLine:e.number(),to:e.string().describe(r("analysis-structure-schema-11")),disposition:e.string().describe(r("analysis-structure-schema-12")),intoPath:e.string().describe(r("analysis-structure-schema-13")),intoLine:e.number().describe(r("analysis-structure-schema-14")),childRef:e.string().describe(r("analysis-structure-schema-15")),heading:e.string().describe(r("analysis-structure-schema-16")),reason:e.string()})),additions:e.array(e.object({path:e.string(),text:e.string(),kind:e.string().describe(r("analysis-structure-schema-17")),heading:e.string()})),reorders:e.array(e.object({path:e.string(),startLine:e.number(),endLine:e.number(),order:e.array(e.number()).describe(r("analysis-structure-schema-reorder-order")),reasons:e.array(e.string()).describe(r("analysis-structure-schema-reorder-reasons"))})).describe(r("analysis-structure-schema-18")),toolMoves:e.array(e.object({tool:e.string(),fromUnit:e.string(),toUnit:e.string(),reason:e.string()}))}),f=e.object({structures:e.array(v)}),S=e.object({verdict:e.string().describe(r("structure-recheck-verdict")),reason:e.string()}),j=e.object({verdicts:e.array(e.object({index:e.number(),inScope:e.boolean(),reason:e.string()}))});import{z as t}from"zod";var k=t.object({verdicts:t.array(o.shape.verdicts.element.extend({decisive:t.boolean(),quotes:t.array(t.object({side:t.enum(["against","for"]),repo:t.string(),path:t.string(),line:t.number().int().positive(),quote:t.string()}))}))});import{z as s}from"zod";var W=4,Y=1,D=16e3,x=s.object({path:s.string(),startLine:s.number(),endLine:s.number()}),_=s.object({decision:s.string().describe(r("analysis-split-check-schema-1")),reason:s.string(),frontDoor:s.object({job:s.string().describe(r("analysis-split-check-schema-2")),skills:s.array(s.string()).describe(r("analysis-split-check-schema-3"))}),subAgents:s.array(s.object({name:s.string().describe(r("analysis-split-check-schema-4")),job:s.string().describe(r("analysis-split-check-schema-5")),description:s.string().describe(r("analysis-split-check-schema-6")),skills:s.array(s.string()),tools:s.array(s.string()).describe(r("analysis-split-check-schema-7")),promptSections:s.array(x),knowledgeSections:s.array(x).describe(r("analysis-split-check-schema-8")),resolves:s.array(s.string()).describe(r("analysis-split-check-schema-9")),evidence:s.array(s.object({path:s.string(),line:s.number(),excerpt:s.string()})),handoff:s.string().describe(r("analysis-split-check-schema-10"))}))});function me(a=d=>d,U){let d={codeJudge:l,findings:p({}),scope:y,structures:f,structureScope:j,check:o,opinion:k,sourceNotes:g,shape:_,recheck:S,findingHeadlines:u(i=>U?.(i)??r(i)),judge:T.object({row:T.string().min(1).nullable()}).strict()},E=b().map(({name:i,schema:h})=>[i,h]);return Object.fromEntries([...Object.entries(d),...E].map(([i,h])=>[i,a(h)]))}export{V as a,H as b,P as c,X as d,I as e,k as f,W as g,Y as h,D as i,me as j};
@@ -1 +0,0 @@
1
- import{z as e}from"zod";var t=e.object({verdicts:e.array(e.object({id:e.string(),evidenceAgainst:e.string(),evidenceFor:e.string(),verdict:e.enum(["keep","drop"]),reason:e.string()}))});export{t as a};
@@ -1 +0,0 @@
1
- import{z as e}from"zod";var t=["Says","But also says","Unclear","Context","Requirement","What actually happens","Why it's a gap","Evidence"],n=e.object({sites:e.array(e.object({index:e.number(),role:e.string(),meaning:e.string(),keyPhrase:e.string()})),support:e.string(),supportNote:e.string(),counterEvidence:e.array(e.object({repo:e.string(),path:e.string(),line:e.number(),excerpt:e.string(),meaning:e.string()}))}),s=e.object({sites:e.array(e.object({index:e.number().int().nonnegative(),role:e.enum(t),meaning:e.string(),keyPhrase:e.string()})),support:e.enum(["supported","partly","not_supported"]),supportNote:e.string(),counterEvidence:e.array(e.object({repo:e.string(),path:e.string(),line:e.number().int().positive(),excerpt:e.string(),meaning:e.string()}))});export{t as a,n as b,s as c};
@@ -1 +0,0 @@
1
- import{b as e}from"./3CKW5JIF.js";function r(n){return n.CF_FINDING_HEADLINES==="1"}function o(n){return n.CF_IMPORT_OUTSIDE_LOADERS==="1"}function i(n){return n.CF_PROMPT_AGREE==="1"}function s(n){return e(n,"saved")}export{r as a,o as b,i as c,s as d};
@@ -1,4 +0,0 @@
1
- export { readLocalQualityConfig as readFindingQualityConfig } from "../../../adapters/quality.js";
2
- import { assertFindingQualityPrompts as assertSharedPrompts } from "../../../analysis-core/analysis/finding-quality/config.js";
3
- import { readableRequestTools } from "../../../adapters/instructions.js";
4
- export const assertFindingQualityPrompts = (config) => assertSharedPrompts(config, readableRequestTools());
@@ -1,16 +0,0 @@
1
- import { structureStage, applyAnalysisDelta } from "../../analysis-core/index.js";
2
- import { analysisExecution } from "../../adapters/models.js";
3
- /** The local product supplies its in-memory allowance; the shared stage owns every transition. */
4
- export async function runStructures(settings, model, input, options = {}) {
5
- const execution = await analysisExecution(model, options, settings);
6
- let state = { ...input.state, repos: input.repos, mapped: input.fragments.map(({ fragment }) => fragment),
7
- findingsRaw: input.findings, warnings: input.state?.warnings ?? [], splitCheckPriced: true, splitFindingsPriced: true };
8
- const ports = { readers: [], model: execution.model, instructions: execution.instructions, requestTools: async () => execution.requestTools, context: {},
9
- progress: { checkpoint: async () => { }, assertHeld: () => { }, elapsedMs: () => 0, log: () => { } } };
10
- for (;;) {
11
- const delta = await structureStage({ phase: "structuring", state, settings, execution: { scopeConcurrency: 4, forLocal: true } }, ports);
12
- state = applyAnalysisDelta(state, delta);
13
- if (delta.next === "persisting")
14
- return { state, structures: (state.structuresRaw ?? []), warnings: state.warnings ?? [] };
15
- }
16
- }