@ia-qa/qa-discovery 0.4.0 → 0.5.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.
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderScanReport = renderScanReport;
4
4
  const classificationView_1 = require("./classificationView");
5
5
  const coverageView_1 = require("./coverageView");
6
+ const planView_1 = require("./planView");
6
7
  /**
7
8
  * A branded, self-contained HTML report for one discovery scan.
8
9
  *
@@ -86,11 +87,15 @@ const REPORT_CSS = `
86
87
  .form-card h3{font-size:14px;font-weight:700;margin-bottom:6px}
87
88
  .form-card .fmeta{font-size:12.5px;color:var(--muted);margin-bottom:10px}
88
89
  .note{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:10px;max-width:82ch}
90
+ /* Used by the coverage and plan sections. It was referenced by the first of them before
91
+ it existed, so both rendered their one-line summary as body text. */
92
+ .headline{font-size:15px;font-weight:600;line-height:1.5;margin-bottom:10px}
93
+ .headline code{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;color:var(--orange2)}
89
94
  footer{border-top:1px solid var(--border);padding:18px 0 26px;color:var(--muted);font-size:12px}
90
95
  footer a{color:var(--orange2)}
91
96
  `;
92
97
  function renderScanReport(input) {
93
- const { manifest, pages, shared, loginWall, session, hrefBlind, droppedByCap, sitemapDeclared, classification, coverageMap } = input;
98
+ const { manifest, pages, shared, loginWall, session, hrefBlind, droppedByCap, sitemapDeclared, classification, coverageMap, plan } = input;
94
99
  const formCount = pages.reduce((n, p) => n + p.forms.length, 0);
95
100
  const fields = pages.flatMap((p) => [...p.forms.flatMap((f) => f.fields), ...p.looseFields]);
96
101
  const unstable = fields.filter((f) => !f.stableSelector);
@@ -301,6 +306,12 @@ function renderScanReport(input) {
301
306
  if (coverageMap) {
302
307
  parts.push((0, coverageView_1.renderCoverageHtml)(coverageMap));
303
308
  }
309
+ // ── What a model reads these pages as ────────────────────────────────────
310
+ // Same module as the terminal and _overview.md: one wording, three renderings. It sits
311
+ // beside the coverage gap it comments on and adds nothing to its ranking.
312
+ if (plan) {
313
+ parts.push((0, planView_1.renderPlanHtml)(plan));
314
+ }
304
315
  // ── Model-classified entry points ────────────────────────────────────────
305
316
  // Its own section, its own label, its own ink. Everything above is a literal
306
317
  // observation; this is a reading of one, and a shared table would lend it a
@@ -366,10 +377,15 @@ function renderScanReport(input) {
366
377
  parts.push(`</div></main><footer><div class="wrap">
367
378
  Generated by <a href="${BRAND.home}">IA-QA</a> <code>qa-discovery</code> — ${
368
379
  // "no LLM" is true of the capture and false of this document the moment a
369
- // classification section is in it. A footer that keeps saying it either way
380
+ // model-written section is in it. A footer that keeps saying it either way
370
381
  // is the smallest possible version of the lie this package is built against.
371
- classification
372
- ? `capture deterministic and local; the classified section came from <code>${esc(classification.model)}</code>.`
382
+ // Both model sections count — the second one owed this line as much as the first,
383
+ // and a footer updated for only one of them is the same lie with a smaller surface.
384
+ classification || plan
385
+ ? `capture deterministic and local; the ${
386
+ // Named per section rather than lumped together: a reader who sees one model
387
+ // section must not be told two came from a model, and vice versa.
388
+ [classification ? 'classified' : '', plan ? 'page-reading' : ''].filter(Boolean).join(' and ')} section${classification && plan ? 's' : ''} came from <code>${esc([...new Set([classification?.model, plan?.model].filter(Boolean))].join(', '))}</code>.`
373
389
  : 'deterministic, local, no LLM.'}
374
390
  · <a href="${BRAND.method}">Methods</a> · <a href="${BRAND.tools}">Tools</a>
375
391
  </div></footer></body></html>`);
@@ -1 +1 @@
1
- {"version":3,"file":"htmlReport.js","sourceRoot":"","sources":["../src/htmlReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"htmlReport.js","sourceRoot":"","sources":["../src/htmlReport.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,3 +22,9 @@ export { INTENTS, SENSITIVITIES, INTENT_IDS, SENSITIVITY_IDS, UNKNOWN_INTENT, TA
22
22
  export type { IntentDef, SensitivityDef, ToolTrigger } from './taxonomy';
23
23
  export { classifyPage, entryPointsOf, buildPrompt, parseClassifications, validate, collect } from './ai/classify';
24
24
  export type { ClassifyOptions, ClassifyResult, Classification, DroppedClassification, EntryPoint } from './ai/classify';
25
+ export { callModel, providerError, parseJsonReply, parseJsonList, HOSTS } from './ai/model';
26
+ export type { ModelOptions, ModelCall } from './ai/model';
27
+ export { readPage, planPayload, buildPlanPrompt, offeredPlanPaths, anchorPaths, shellHeadings, ownHeadings, validateReading, planEgressNotice, isReadable, PLAN_SCHEMA, PLAN_FILENAME, SHELL_THRESHOLD, } from './ai/plan';
28
+ export type { PlanReading, PlanPayload, PageReadingOutcome, DroppedReading } from './ai/plan';
29
+ export { loadPlan, planFor, planPath, buildPlanView, planHeadline, renderPlanTerminal, renderPlanMarkdown, renderPlanHtml, PLAN_CAVEAT, } from './planView';
30
+ export type { PlanDocument, PlanView, PlannedPage } from './planView';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.collect = exports.validate = exports.parseClassifications = exports.buildPrompt = exports.entryPointsOf = exports.classifyPage = exports.taxonomyForPrompt = exports.securityToolsFor = exports.isSensitivity = exports.isIntent = exports.TAXONOMY_VERSION = exports.UNKNOWN_INTENT = exports.SENSITIVITY_IDS = exports.INTENT_IDS = exports.SENSITIVITIES = exports.INTENTS = exports.SHARED_REF = exports.loadCaptureIndex = exports.verifyClaim = exports.verifyCitation = exports.DEFAULT_SAFE_QUERY_PARAMS = exports.redactUrlSecrets = exports.apiCallFingerprint = exports.normalizeApiUrl = exports.SESSION_FILENAME = exports.CONFIG_DIR = exports.resolveSession = exports.sessionTarget = exports.sessionPath = exports.configPath = exports.captureDir = exports.setBaseDir = exports.baseDir = exports.configExists = exports.saveConfig = exports.loadConfig = exports.renderScanReport = exports.OVERVIEW_FILENAME = exports.renderOverview = exports.compareCaptures = exports.SHARED_CALLS_SCHEMA = exports.PAGE_CAPTURE_SCHEMA = exports.capturePage = exports.HISTORY_LIMIT = exports.historyPath = exports.appendHistory = exports.readHistory = exports.SURFACE_SCHEMA = exports.scanApp = void 0;
3
+ exports.callModel = exports.collect = exports.validate = exports.parseClassifications = exports.buildPrompt = exports.entryPointsOf = exports.classifyPage = exports.taxonomyForPrompt = exports.securityToolsFor = exports.isSensitivity = exports.isIntent = exports.TAXONOMY_VERSION = exports.UNKNOWN_INTENT = exports.SENSITIVITY_IDS = exports.INTENT_IDS = exports.SENSITIVITIES = exports.INTENTS = exports.SHARED_REF = exports.loadCaptureIndex = exports.verifyClaim = exports.verifyCitation = exports.DEFAULT_SAFE_QUERY_PARAMS = exports.redactUrlSecrets = exports.apiCallFingerprint = exports.normalizeApiUrl = exports.SESSION_FILENAME = exports.CONFIG_DIR = exports.resolveSession = exports.sessionTarget = exports.sessionPath = exports.configPath = exports.captureDir = exports.setBaseDir = exports.baseDir = exports.configExists = exports.saveConfig = exports.loadConfig = exports.renderScanReport = exports.OVERVIEW_FILENAME = exports.renderOverview = exports.compareCaptures = exports.SHARED_CALLS_SCHEMA = exports.PAGE_CAPTURE_SCHEMA = exports.capturePage = exports.HISTORY_LIMIT = exports.historyPath = exports.appendHistory = exports.readHistory = exports.SURFACE_SCHEMA = exports.scanApp = void 0;
4
+ exports.PLAN_CAVEAT = exports.renderPlanHtml = exports.renderPlanMarkdown = exports.renderPlanTerminal = exports.planHeadline = exports.buildPlanView = exports.planPath = exports.planFor = exports.loadPlan = exports.SHELL_THRESHOLD = exports.PLAN_FILENAME = exports.PLAN_SCHEMA = exports.isReadable = exports.planEgressNotice = exports.validateReading = exports.ownHeadings = exports.shellHeadings = exports.anchorPaths = exports.offeredPlanPaths = exports.buildPlanPrompt = exports.planPayload = exports.readPage = exports.HOSTS = exports.parseJsonList = exports.parseJsonReply = exports.providerError = void 0;
4
5
  var scan_1 = require("./scan");
5
6
  Object.defineProperty(exports, "scanApp", { enumerable: true, get: function () { return scan_1.scanApp; } });
6
7
  var scan_2 = require("./scan");
@@ -63,4 +64,34 @@ Object.defineProperty(exports, "buildPrompt", { enumerable: true, get: function
63
64
  Object.defineProperty(exports, "parseClassifications", { enumerable: true, get: function () { return classify_1.parseClassifications; } });
64
65
  Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return classify_1.validate; } });
65
66
  Object.defineProperty(exports, "collect", { enumerable: true, get: function () { return classify_1.collect; } });
67
+ var model_1 = require("./ai/model");
68
+ Object.defineProperty(exports, "callModel", { enumerable: true, get: function () { return model_1.callModel; } });
69
+ Object.defineProperty(exports, "providerError", { enumerable: true, get: function () { return model_1.providerError; } });
70
+ Object.defineProperty(exports, "parseJsonReply", { enumerable: true, get: function () { return model_1.parseJsonReply; } });
71
+ Object.defineProperty(exports, "parseJsonList", { enumerable: true, get: function () { return model_1.parseJsonList; } });
72
+ Object.defineProperty(exports, "HOSTS", { enumerable: true, get: function () { return model_1.HOSTS; } });
73
+ var plan_1 = require("./ai/plan");
74
+ Object.defineProperty(exports, "readPage", { enumerable: true, get: function () { return plan_1.readPage; } });
75
+ Object.defineProperty(exports, "planPayload", { enumerable: true, get: function () { return plan_1.planPayload; } });
76
+ Object.defineProperty(exports, "buildPlanPrompt", { enumerable: true, get: function () { return plan_1.buildPlanPrompt; } });
77
+ Object.defineProperty(exports, "offeredPlanPaths", { enumerable: true, get: function () { return plan_1.offeredPlanPaths; } });
78
+ Object.defineProperty(exports, "anchorPaths", { enumerable: true, get: function () { return plan_1.anchorPaths; } });
79
+ Object.defineProperty(exports, "shellHeadings", { enumerable: true, get: function () { return plan_1.shellHeadings; } });
80
+ Object.defineProperty(exports, "ownHeadings", { enumerable: true, get: function () { return plan_1.ownHeadings; } });
81
+ Object.defineProperty(exports, "validateReading", { enumerable: true, get: function () { return plan_1.validateReading; } });
82
+ Object.defineProperty(exports, "planEgressNotice", { enumerable: true, get: function () { return plan_1.planEgressNotice; } });
83
+ Object.defineProperty(exports, "isReadable", { enumerable: true, get: function () { return plan_1.isReadable; } });
84
+ Object.defineProperty(exports, "PLAN_SCHEMA", { enumerable: true, get: function () { return plan_1.PLAN_SCHEMA; } });
85
+ Object.defineProperty(exports, "PLAN_FILENAME", { enumerable: true, get: function () { return plan_1.PLAN_FILENAME; } });
86
+ Object.defineProperty(exports, "SHELL_THRESHOLD", { enumerable: true, get: function () { return plan_1.SHELL_THRESHOLD; } });
87
+ var planView_1 = require("./planView");
88
+ Object.defineProperty(exports, "loadPlan", { enumerable: true, get: function () { return planView_1.loadPlan; } });
89
+ Object.defineProperty(exports, "planFor", { enumerable: true, get: function () { return planView_1.planFor; } });
90
+ Object.defineProperty(exports, "planPath", { enumerable: true, get: function () { return planView_1.planPath; } });
91
+ Object.defineProperty(exports, "buildPlanView", { enumerable: true, get: function () { return planView_1.buildPlanView; } });
92
+ Object.defineProperty(exports, "planHeadline", { enumerable: true, get: function () { return planView_1.planHeadline; } });
93
+ Object.defineProperty(exports, "renderPlanTerminal", { enumerable: true, get: function () { return planView_1.renderPlanTerminal; } });
94
+ Object.defineProperty(exports, "renderPlanMarkdown", { enumerable: true, get: function () { return planView_1.renderPlanMarkdown; } });
95
+ Object.defineProperty(exports, "renderPlanHtml", { enumerable: true, get: function () { return planView_1.renderPlanHtml; } });
96
+ Object.defineProperty(exports, "PLAN_CAVEAT", { enumerable: true, get: function () { return planView_1.PLAN_CAVEAT; } });
66
97
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAAxB,+FAAA,OAAO,OAAA;AAEhB,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AAEvB,qCAAmF;AAA1E,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,uCAAkE;AAAzD,mGAAA,WAAW,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AAGzC,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAG5B,+BAAyC;AAAhC,uGAAA,eAAe,OAAA;AAGxB,uCAA+D;AAAtD,0GAAA,cAAc,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAE1C,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AAEzB,mCAakB;AAZhB,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,iGAAA,OAAO,OAAA;AACP,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,oGAAA,UAAU,OAAA;AACV,0GAAA,gBAAgB,OAAA;AAIlB,qCAA6G;AAApG,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAGzF,yCAAwF;AAA/E,2GAAA,cAAc,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,uGAAA,UAAU,OAAA;AAGlE,uCAAiL;AAAxK,mGAAA,OAAO,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAG5J,0CAAkH;AAAzG,wGAAA,YAAY,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,mGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,+BAAiC;AAAxB,+FAAA,OAAO,OAAA;AAEhB,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AAEvB,qCAAmF;AAA1E,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,uCAAkE;AAAzD,mGAAA,WAAW,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AAGzC,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAG5B,+BAAyC;AAAhC,uGAAA,eAAe,OAAA;AAGxB,uCAA+D;AAAtD,0GAAA,cAAc,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAE1C,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AAEzB,mCAakB;AAZhB,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,iGAAA,OAAO,OAAA;AACP,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,oGAAA,UAAU,OAAA;AACV,0GAAA,gBAAgB,OAAA;AAIlB,qCAA6G;AAApG,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAGzF,yCAAwF;AAA/E,2GAAA,cAAc,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,uGAAA,UAAU,OAAA;AAGlE,uCAAiL;AAAxK,mGAAA,OAAO,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAG5J,0CAAkH;AAAzG,wGAAA,YAAY,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,mGAAA,OAAO,OAAA;AAG1F,oCAA4F;AAAnF,kGAAA,SAAS,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,8FAAA,KAAK,OAAA;AAGvE,kCAcmB;AAbjB,gGAAA,QAAQ,OAAA;AACR,mGAAA,WAAW,OAAA;AACX,uGAAA,eAAe,OAAA;AACf,wGAAA,gBAAgB,OAAA;AAChB,mGAAA,WAAW,OAAA;AACX,qGAAA,aAAa,OAAA;AACb,mGAAA,WAAW,OAAA;AACX,uGAAA,eAAe,OAAA;AACf,wGAAA,gBAAgB,OAAA;AAChB,kGAAA,UAAU,OAAA;AACV,mGAAA,WAAW,OAAA;AACX,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AAIjB,uCAUoB;AATlB,oGAAA,QAAQ,OAAA;AACR,mGAAA,OAAO,OAAA;AACP,oGAAA,QAAQ,OAAA;AACR,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA"}
@@ -45,6 +45,7 @@ declare const TOOLS: ({
45
45
  provider?: undefined;
46
46
  model?: undefined;
47
47
  api_key_env?: undefined;
48
+ all?: undefined;
48
49
  limit?: undefined;
49
50
  };
50
51
  };
@@ -86,6 +87,52 @@ declare const TOOLS: ({
86
87
  session?: undefined;
87
88
  network?: undefined;
88
89
  network_threshold?: undefined;
90
+ all?: undefined;
91
+ limit?: undefined;
92
+ };
93
+ };
94
+ } | {
95
+ name: string;
96
+ description: string;
97
+ inputSchema: {
98
+ type: string;
99
+ properties: {
100
+ page: {
101
+ type: string;
102
+ description: string;
103
+ };
104
+ all: {
105
+ type: string;
106
+ description: string;
107
+ };
108
+ provider: {
109
+ type: string;
110
+ enum: string[];
111
+ description: string;
112
+ };
113
+ model: {
114
+ type: string;
115
+ description: string;
116
+ };
117
+ api_key_env: {
118
+ type: string;
119
+ description: string;
120
+ };
121
+ write: {
122
+ type: string;
123
+ description: string;
124
+ };
125
+ out_dir: {
126
+ type: string;
127
+ description: string;
128
+ };
129
+ url?: undefined;
130
+ max_depth?: undefined;
131
+ max_pages?: undefined;
132
+ reveal?: undefined;
133
+ session?: undefined;
134
+ network?: undefined;
135
+ network_threshold?: undefined;
89
136
  limit?: undefined;
90
137
  };
91
138
  };
@@ -114,6 +161,7 @@ declare const TOOLS: ({
114
161
  provider?: undefined;
115
162
  model?: undefined;
116
163
  api_key_env?: undefined;
164
+ all?: undefined;
117
165
  limit?: undefined;
118
166
  };
119
167
  };
@@ -140,6 +188,7 @@ declare const TOOLS: ({
140
188
  provider?: undefined;
141
189
  model?: undefined;
142
190
  api_key_env?: undefined;
191
+ all?: undefined;
143
192
  };
144
193
  };
145
194
  })[];
@@ -46,6 +46,8 @@ const coverage_1 = require("../coverage");
46
46
  const coverage_2 = require("../cli/coverage");
47
47
  const citations_1 = require("../citations");
48
48
  const classify_1 = require("../ai/classify");
49
+ const plan_1 = require("../ai/plan");
50
+ const overviewFile_1 = require("../overviewFile");
49
51
  const taxonomy_1 = require("../taxonomy");
50
52
  const sandbox_1 = require("./sandbox");
51
53
  /** Where each provider's key is looked up when nothing names one explicitly. */
@@ -108,6 +110,22 @@ const TOOLS = [
108
110
  },
109
111
  },
110
112
  },
113
+ {
114
+ name: 'plan_pages',
115
+ description: "OPTIONAL, BYOK. What somebody comes to each page TO DO, and what they can no longer do if it breaks — in the words of whoever uses the app. A different question from classify_app, on a different axis: that one says what an entry point IS against a closed vocabulary, this one says what a person is trying to achieve, which no DOM states. Neither is better than the other and neither ranks the other. Reads the capture scan_app wrote, offline — no browser, the app is never touched. \"Offline\" means no browser, NOT that nothing leaves: this and classify_app are the only tools here that send anything anywhere. IT SENDS LESS THAN classify_app, deliberately: each page's URL, title, description, its headings MINUS the ones repeated across the whole app (the shell is not a page's content), and each field's label, name, type and whether it is required — plus the NAMES of the other captured pages. NO selectors and NO observed API calls ever leave for this. Live text from the user's app all the same: say so before calling it on a private or authenticated app. By default it reads only the pages coverage_map found that no test visits, IN THE ORDER that tool ranked them, so an interrupted run has read what mattered most; with no tracked suite there is no untested list and it reads every readable page and reports `scope: \"all\"`. Every reading cites the capture and is resolved and CHECKED before it is kept; at least one citation must land on a top-level heading, a form or a field, so a reading propped up by nav labels is dropped. That proves the premise, never the conclusion — present the sentence and the `confidence`, never on its own. A reading under `unclear` is the model saying it cannot tell: an answer needing a person, not a retry. IMPORTANT: a page whose outcome is `failed` means the model call did not succeed — say that; it is not a finding about the app. This RANKS nothing (the order is coverage_map's measurement) and GATES nothing. The API key is read from an environment variable on THIS machine (api_key_env); never pass a raw key.",
116
+ inputSchema: {
117
+ type: 'object',
118
+ properties: {
119
+ page: { type: 'string', description: 'Read just this page from the capture. Omit for the default selection.' },
120
+ all: { type: 'boolean', description: 'Read every readable page, tested or not, instead of only the ones no test visits.' },
121
+ provider: { type: 'string', enum: ['anthropic', 'openai', 'google'], description: 'Overrides the "ai" block in config.json. Omit to use what the project already configured.' },
122
+ model: { type: 'string', description: 'Pinned model id, e.g. claude-haiku-4-5, gpt-4o-mini. Runs at temperature 0.' },
123
+ api_key_env: { type: 'string', description: 'Name of the environment variable on this machine holding the API key. The raw key is never passed through a tool call.' },
124
+ write: { type: 'boolean', description: 'Persist .ia-qa-discovery/plan.json and refresh _overview.md. Default true.' },
125
+ out_dir: { type: 'string', description: 'Resolve .ia-qa-discovery/ under this directory instead of the current one.' },
126
+ },
127
+ },
128
+ },
111
129
  {
112
130
  name: 'coverage_map',
113
131
  description: "Read-only, local, no browser and no network. What the user's test suite does NOT test: compares the pages a scan_app capture found against the pages the suite was OBSERVED visiting, and ranks the gap by what each page takes as input (credentials, a declared `<form method=post>`, required inputs, API calls). `writeCalls` is in the output but is NOT a ranking factor and is not evidence the page writes: a scan never submits anything, so a non-GET it observed fired at page load and is usually a telemetry beacon. Also reports depth — how many of each visited page's contracted elements the tests actually name. PREREQUISITE, and it is not optional: this needs @ia-qa/self-healing installed in the project AND at least one watched run of the suite — `ia-qa-heal run`, or `ia-qa-pal tour --suite` from @ia-qa/pal (either runs the suite with capture on and records where it went). Without it this returns `measured: false` with a typed `reason` — treat that as NO MEASUREMENT and say so; it is never zero coverage, and reporting it as \"the suite covers nothing\" is wrong. The three reasons are `no-surface` (nobody has scanned the app: call scan_app first), `no-healing` (no suite is tracked: the user must install @ia-qa/self-healing and run map + run), `no-run` (contracts exist but no run was ever watched: the user runs `ia-qa-heal run` or `ia-qa-pal tour --suite`). Never present a contract as proof a page is tested — a contract means somebody configured that page, only a watched run means a test went there. `named` is not `asserted`: a test that clicks a button names it without checking anything. Read `notMeasured` before reporting any total — a login wall, an app that navigates without <a href>, or the page cap all make the gap look smaller than it is. This emits NO verdict and is not a gate: an uncovered page may be deliberately out of scope, which is the user's call, declared in `outOfScope` in config.json.",
@@ -131,6 +149,34 @@ const TOOLS = [
131
149
  },
132
150
  ];
133
151
  exports.TOOLS = TOOLS;
152
+ /**
153
+ * Which model to call, and the key to call it with — one door for both BYOK tools.
154
+ *
155
+ * Config first, arguments as override: an agent on a configured project calls either tool
156
+ * with no arguments at all. The key is read **here**, from this machine's environment, and is
157
+ * never an argument: a tool call can be logged, replayed, or composed by an agent acting on
158
+ * third-party content. Two tools resolving a credential two ways is how one of them ends up
159
+ * accepting something the other refuses.
160
+ */
161
+ function resolveModel(args) {
162
+ const configured = ((0, config_1.configExists)()
163
+ ? (0, config_1.loadConfig)().ai
164
+ : undefined) ?? {};
165
+ const provider = (args?.provider ?? configured.provider);
166
+ const model = args?.model ?? configured.model;
167
+ if (!provider || !model) {
168
+ throw new Error('No model to call. Either add an "ai" block to .ia-qa-discovery/config.json, or pass provider + model + api_key_env. ' +
169
+ 'The deterministic tools (scan_app, coverage_map, discovery_history) work fully without any of this.');
170
+ }
171
+ const keyEnv = args?.api_key_env ??
172
+ (configured.apiKey?.source === 'env' ? configured.apiKey.key : undefined) ??
173
+ DEFAULT_KEY_ENV[provider];
174
+ const apiKey = process.env[keyEnv];
175
+ if (!apiKey) {
176
+ throw new Error(`Environment variable "${keyEnv}" is not set on this machine, so there is no key to call ${provider} with.`);
177
+ }
178
+ return { provider, model, apiKey, baseUrl: (args?.base_url ?? configured.baseUrl) };
179
+ }
134
180
  async function callTool(name, args) {
135
181
  if (name === 'scan_app') {
136
182
  const outDir = args?.out_dir;
@@ -169,25 +215,7 @@ async function callTool(name, args) {
169
215
  if (index.pages.size === 0) {
170
216
  throw new Error('No capture to classify. Run scan_app first — this reads what that wrote, it does not make one.');
171
217
  }
172
- // Config first, arguments as override. An agent on a configured project
173
- // calls this with no arguments at all.
174
- const configured = ((0, config_1.configExists)() ? (0, config_1.loadConfig)().ai : undefined) ?? {};
175
- const provider = (args?.provider ?? configured.provider);
176
- const model = args?.model ?? configured.model;
177
- if (!provider || !model) {
178
- throw new Error('No model to call. Either add an "ai" block to .ia-qa-discovery/config.json, or pass provider + model + api_key_env. ' +
179
- 'The deterministic tools (scan_app, discovery_history) work fully without any of this.');
180
- }
181
- // The key is read here, from this machine's environment. It is never an
182
- // argument: a tool call can be logged, replayed, or composed by an agent
183
- // acting on third-party content.
184
- const keyEnv = args?.api_key_env ??
185
- (configured.apiKey?.source === 'env' ? configured.apiKey.key : undefined) ??
186
- DEFAULT_KEY_ENV[provider];
187
- const apiKey = process.env[keyEnv];
188
- if (!apiKey) {
189
- throw new Error(`Environment variable "${keyEnv}" is not set on this machine, so there is no key to call ${provider} with.`);
190
- }
218
+ const { provider, model, apiKey, baseUrl } = resolveModel(args);
191
219
  const pages = [...index.pages.values()].filter((p) => !args?.page || p.page === args.page);
192
220
  if (pages.length === 0) {
193
221
  throw new Error(`No page "${args.page}" in the capture. Have: ${[...index.pages.keys()].join(', ')}`);
@@ -200,7 +228,7 @@ async function callTool(name, args) {
200
228
  for (const page of pages) {
201
229
  if ((0, classify_1.entryPointsOf)(page).length === 0)
202
230
  continue; // takes no input; not sent at all
203
- const result = await (0, classify_1.classifyPage)(page, index, { provider, model, apiKey });
231
+ const result = await (0, classify_1.classifyPage)(page, index, { provider, model, apiKey, baseUrl });
204
232
  perPage[page.page] = result;
205
233
  kept += result.kept.length;
206
234
  refused += result.refused.length;
@@ -233,6 +261,101 @@ async function callTool(name, args) {
233
261
  (0, config_1.setBaseDir)(null);
234
262
  }
235
263
  }
264
+ if (name === 'plan_pages') {
265
+ const outDir = args?.out_dir;
266
+ if (outDir)
267
+ (0, config_1.setBaseDir)((0, sandbox_1.assertInsideProject)(outDir, 'out_dir'));
268
+ try {
269
+ const index = (0, citations_1.loadCaptureIndex)();
270
+ if (index.pages.size === 0) {
271
+ throw new Error('No capture to read. Run scan_app first — this reads what that wrote, it does not make one.');
272
+ }
273
+ const { provider, model, apiKey, baseUrl } = resolveModel(args);
274
+ const captured = [...index.pages.values()];
275
+ const names = captured.map((p) => p.page);
276
+ // Over every captured page, never over the selection: a heading is the shell because
277
+ // the app repeats it, and a narrowed list would make the same heading look specific.
278
+ const shell = (0, plan_1.shellHeadings)(captured);
279
+ // The same selection the CLI makes, and for the same reason — the question is only
280
+ // worth asking about pages nothing tests. A missing sibling package is not a refusal:
281
+ // it reads everything and says so.
282
+ const readable = captured.filter(plan_1.isReadable);
283
+ let scope = 'all';
284
+ let order = [];
285
+ let targets = readable;
286
+ let because = 'Every readable page in the capture.';
287
+ if (!args?.all) {
288
+ const config = (() => {
289
+ try {
290
+ return (0, config_1.loadConfig)();
291
+ }
292
+ catch {
293
+ return null;
294
+ }
295
+ })();
296
+ const outcome = (0, coverage_1.computeCoverage)({
297
+ captureDirPath: (0, config_1.captureDir)(),
298
+ healingDirPath: path.join((0, config_1.baseDir)(), coverage_1.HEALING_DIR),
299
+ scope: config?.outOfScope,
300
+ });
301
+ if (outcome.ok) {
302
+ scope = 'uncovered';
303
+ order = outcome.map.uncovered.map((u) => u.page);
304
+ const rank = new Map(order.map((n, i) => [n, i]));
305
+ targets = readable.filter((p) => rank.has(p.page)).sort((a, b) => rank.get(a.page) - rank.get(b.page));
306
+ because = `The ${order.length} page(s) coverage_map found that no test visits, in its order.`;
307
+ }
308
+ else {
309
+ because = `No coverage map here (${outcome.refusal.reason}), so there is no untested list to narrow to — every readable page was read instead.`;
310
+ }
311
+ }
312
+ if (args?.page)
313
+ targets = targets.filter((p) => p.page === args.page);
314
+ if (targets.length === 0) {
315
+ // Not an error: on a fully covered app there is genuinely nothing to ask about, and
316
+ // throwing would read to an agent as a broken tool.
317
+ return JSON.stringify({ schema: plan_1.PLAN_SCHEMA, scope, targeted: [], totals: { read: 0, unclear: 0, dropped: 0, failed: 0 }, pages: {}, because, written: false }, null, 2);
318
+ }
319
+ const perPage = {};
320
+ const totals = { read: 0, unclear: 0, dropped: 0, failed: 0 };
321
+ const failures = [];
322
+ for (const page of targets) {
323
+ const outcome = await (0, plan_1.readPage)(page, index, { provider, model, apiKey, baseUrl }, names, shell);
324
+ perPage[page.page] = outcome;
325
+ totals[outcome.status] += 1;
326
+ if (outcome.status === 'failed')
327
+ failures.push(`${page.page}: ${outcome.reason}`);
328
+ }
329
+ const document = {
330
+ schema: plan_1.PLAN_SCHEMA,
331
+ readAt: new Date().toISOString(),
332
+ model: `${provider}/${model}`,
333
+ scope,
334
+ targeted: targets.map((p) => p.page),
335
+ because,
336
+ totals,
337
+ // Named at the top level so a caller cannot summarise the totals without meeting it:
338
+ // zero read because the call failed is not zero read.
339
+ ...(failures.length > 0
340
+ ? { failed: failures, note: 'Some pages could not be read at all — the model call did not succeed. This says nothing about the app.' }
341
+ : {}),
342
+ pages: perPage,
343
+ };
344
+ // Never overwrite a good previous reading with the record of a bad key.
345
+ const write = args?.write !== false && totals.failed < targets.length;
346
+ if (write) {
347
+ const file = path.join((0, config_1.baseDir)(), config_1.CONFIG_DIR, plan_1.PLAN_FILENAME);
348
+ fs.mkdirSync(path.dirname(file), { recursive: true });
349
+ fs.writeFileSync(file, JSON.stringify(document, null, 2) + '\n', 'utf8');
350
+ (0, overviewFile_1.refreshOverview)();
351
+ }
352
+ return JSON.stringify({ ...document, written: write }, null, 2);
353
+ }
354
+ finally {
355
+ if (outDir)
356
+ (0, config_1.setBaseDir)(null);
357
+ }
358
+ }
236
359
  if (name === 'coverage_map') {
237
360
  const outDir = args?.out_dir;
238
361
  if (outDir)
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { PageCapture } from './capture/page';
2
2
  import { type ClassificationView } from './classificationView';
3
+ import { type PlanView } from './planView';
3
4
  import type { CoverageMap } from './coverage';
4
5
  import type { SharedCallsFile } from './sharedCalls';
5
6
  import type { SurfaceManifest } from './scan';
@@ -45,5 +46,13 @@ export interface OverviewInput {
45
46
  * "coverage: unknown" row appears in its place. An absent measurement is absent.
46
47
  */
47
48
  coverageMap?: CoverageMap;
49
+ /**
50
+ * The BYOK reading of what each page is FOR (`ia-qa-discover-ai plan`), when one exists.
51
+ *
52
+ * A second population of model output, kept apart from the first for the same reason the
53
+ * first is kept apart from the observations: they answer different questions, at different
54
+ * confidences, and a shared table would merge them into one voice.
55
+ */
56
+ plan?: PlanView;
48
57
  }
49
58
  export declare function renderOverview(input: OverviewInput): string;
package/dist/overview.js CHANGED
@@ -4,6 +4,7 @@ exports.OVERVIEW_FILENAME = void 0;
4
4
  exports.renderOverview = renderOverview;
5
5
  const classificationView_1 = require("./classificationView");
6
6
  const coverageView_1 = require("./coverageView");
7
+ const planView_1 = require("./planView");
7
8
  /**
8
9
  * `_overview.md` — the human-readable index of a scan.
9
10
  *
@@ -30,7 +31,7 @@ function submitTarget(form) {
30
31
  return `${method} → ${action}`;
31
32
  }
32
33
  function renderOverview(input) {
33
- const { manifest, pages, shared, loginWall, session, hrefBlind, droppedByCap, sitemapDeclared, classification, coverageMap } = input;
34
+ const { manifest, pages, shared, loginWall, session, hrefBlind, droppedByCap, sitemapDeclared, classification, coverageMap, plan } = input;
34
35
  const lines = [];
35
36
  const formCount = pages.reduce((n, p) => n + p.forms.length, 0);
36
37
  const pageCalls = pages.reduce((n, p) => n + p.apiCalls.length, 0);
@@ -291,9 +292,13 @@ function renderOverview(input) {
291
292
  lines.push('_Computed ' + coverageMap.computedAt + ' from the run recorded ' + coverageMap.suite.recordedAt + '._');
292
293
  lines.push('');
293
294
  }
294
- // Everything above this line is a literal observation. Everything in this
295
- // section is a model's reading of one, and it says so in its own heading —
296
- // the two must never share a table.
295
+ // Everything above this line is a literal observation. Everything below is a model's
296
+ // reading of one, and each section says so in its own heading — the two must never share
297
+ // a table. The plan comes first because it is about the pages the section above just
298
+ // ranked, and it deliberately adds no row to that ranking.
299
+ if (plan) {
300
+ lines.push((0, planView_1.renderPlanMarkdown)(plan));
301
+ }
297
302
  if (classification) {
298
303
  const c = classification;
299
304
  lines.push('## 🤖 What these entry points are FOR — model-classified');