@quickchatai/pi-quickreview 1.1.0 → 1.3.1
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/README.md +79 -27
- package/assets/config.example.toml +60 -14
- package/assets/prompts/onboarding.md +58 -18
- package/assets/schemas/review-result.v1.json +60 -0
- package/dist/extensions/quickreview.d.ts +13 -5
- package/dist/extensions/quickreview.d.ts.map +1 -1
- package/dist/extensions/quickreview.js +77 -25
- package/dist/extensions/quickreview.js.map +1 -1
- package/dist/src/engine/auth.d.ts +4 -0
- package/dist/src/engine/auth.d.ts.map +1 -1
- package/dist/src/engine/auth.js +11 -2
- package/dist/src/engine/auth.js.map +1 -1
- package/dist/src/engine/envmap.d.ts.map +1 -1
- package/dist/src/engine/envmap.js +5 -0
- package/dist/src/engine/envmap.js.map +1 -1
- package/dist/src/engine/lens/activity.d.ts +45 -0
- package/dist/src/engine/lens/activity.d.ts.map +1 -0
- package/dist/src/engine/lens/activity.js +118 -0
- package/dist/src/engine/lens/activity.js.map +1 -0
- package/dist/src/engine/lens/runlens.d.ts +7 -0
- package/dist/src/engine/lens/runlens.d.ts.map +1 -1
- package/dist/src/engine/lens/runlens.js +30 -1
- package/dist/src/engine/lens/runlens.js.map +1 -1
- package/dist/src/engine/lens/tool.d.ts +7 -0
- package/dist/src/engine/lens/tool.d.ts.map +1 -1
- package/dist/src/engine/lens/tool.js +101 -18
- package/dist/src/engine/lens/tool.js.map +1 -1
- package/dist/src/engine/lens/wave.d.ts +6 -0
- package/dist/src/engine/lens/wave.d.ts.map +1 -1
- package/dist/src/engine/lens/wave.js +16 -0
- package/dist/src/engine/lens/wave.js.map +1 -1
- package/dist/src/engine/pisdk.d.ts +9 -0
- package/dist/src/engine/pisdk.d.ts.map +1 -1
- package/dist/src/engine/pisdk.js +29 -4
- package/dist/src/engine/pisdk.js.map +1 -1
- package/dist/src/githubAuth.d.ts +39 -1
- package/dist/src/githubAuth.d.ts.map +1 -1
- package/dist/src/githubAuth.js +75 -8
- package/dist/src/githubAuth.js.map +1 -1
- package/dist/src/guards.d.ts +14 -1
- package/dist/src/guards.d.ts.map +1 -1
- package/dist/src/guards.js +61 -2
- package/dist/src/guards.js.map +1 -1
- package/dist/src/homes.js +1 -1
- package/dist/src/homes.js.map +1 -1
- package/dist/src/identity.d.ts +34 -0
- package/dist/src/identity.d.ts.map +1 -0
- package/dist/src/identity.js +67 -0
- package/dist/src/identity.js.map +1 -0
- package/dist/src/live/events.d.ts +3 -0
- package/dist/src/live/events.d.ts.map +1 -1
- package/dist/src/live/events.js.map +1 -1
- package/dist/src/live/lensline.d.ts +20 -0
- package/dist/src/live/lensline.d.ts.map +1 -0
- package/dist/src/live/lensline.js +70 -0
- package/dist/src/live/lensline.js.map +1 -0
- package/dist/src/live/projection.d.ts +55 -0
- package/dist/src/live/projection.d.ts.map +1 -0
- package/dist/src/live/projection.js +465 -0
- package/dist/src/live/projection.js.map +1 -0
- package/dist/src/live/read.d.ts +24 -0
- package/dist/src/live/read.d.ts.map +1 -0
- package/dist/src/live/read.js +60 -0
- package/dist/src/live/read.js.map +1 -0
- package/dist/src/live/writer.d.ts +3 -0
- package/dist/src/live/writer.d.ts.map +1 -1
- package/dist/src/live/writer.js +6 -1
- package/dist/src/live/writer.js.map +1 -1
- package/dist/src/localreview.d.ts +18 -8
- package/dist/src/localreview.d.ts.map +1 -1
- package/dist/src/localreview.js +103 -43
- package/dist/src/localreview.js.map +1 -1
- package/dist/src/modelroute.d.ts +42 -0
- package/dist/src/modelroute.d.ts.map +1 -0
- package/dist/src/modelroute.js +126 -0
- package/dist/src/modelroute.js.map +1 -0
- package/dist/src/plugin/args.d.ts +38 -7
- package/dist/src/plugin/args.d.ts.map +1 -1
- package/dist/src/plugin/args.js +134 -37
- package/dist/src/plugin/args.js.map +1 -1
- package/dist/src/plugin/login.d.ts +11 -4
- package/dist/src/plugin/login.d.ts.map +1 -1
- package/dist/src/plugin/login.js +28 -26
- package/dist/src/plugin/login.js.map +1 -1
- package/dist/src/plugin/messages.d.ts +7 -0
- package/dist/src/plugin/messages.d.ts.map +1 -0
- package/dist/src/plugin/messages.js +13 -0
- package/dist/src/plugin/messages.js.map +1 -0
- package/dist/src/plugin/review.d.ts +52 -6
- package/dist/src/plugin/review.d.ts.map +1 -1
- package/dist/src/plugin/review.js +269 -99
- package/dist/src/plugin/review.js.map +1 -1
- package/dist/src/plugin/scan.d.ts +80 -44
- package/dist/src/plugin/scan.d.ts.map +1 -1
- package/dist/src/plugin/scan.js +450 -233
- package/dist/src/plugin/scan.js.map +1 -1
- package/dist/src/plugin/scancases.d.ts +33 -0
- package/dist/src/plugin/scancases.d.ts.map +1 -0
- package/dist/src/plugin/scancases.js +153 -0
- package/dist/src/plugin/scancases.js.map +1 -0
- package/dist/src/plugin/settings.d.ts +18 -0
- package/dist/src/plugin/settings.d.ts.map +1 -0
- package/dist/src/plugin/settings.js +47 -0
- package/dist/src/plugin/settings.js.map +1 -0
- package/dist/src/plugin/setup.d.ts +35 -12
- package/dist/src/plugin/setup.d.ts.map +1 -1
- package/dist/src/plugin/setup.js +258 -118
- package/dist/src/plugin/setup.js.map +1 -1
- package/dist/src/plugin/versiongate.js +1 -1
- package/dist/src/plugin/versiongate.js.map +1 -1
- package/dist/src/profileoverrides.d.ts +3 -0
- package/dist/src/profileoverrides.d.ts.map +1 -1
- package/dist/src/profileoverrides.js +9 -2
- package/dist/src/profileoverrides.js.map +1 -1
- package/dist/src/reviewapi.d.ts +22 -31
- package/dist/src/reviewapi.d.ts.map +1 -1
- package/dist/src/reviewapi.js +90 -66
- package/dist/src/reviewapi.js.map +1 -1
- package/dist/src/reviewconfig.d.ts +12 -0
- package/dist/src/reviewconfig.d.ts.map +1 -1
- package/dist/src/reviewconfig.js +9 -1
- package/dist/src/reviewconfig.js.map +1 -1
- package/dist/src/reviewdest.d.ts +1 -1
- package/dist/src/reviewdest.d.ts.map +1 -1
- package/dist/src/reviewdest.js +4 -3
- package/dist/src/reviewdest.js.map +1 -1
- package/dist/src/reviewtarget.d.ts +36 -0
- package/dist/src/reviewtarget.d.ts.map +1 -0
- package/dist/src/reviewtarget.js +6 -0
- package/dist/src/reviewtarget.js.map +1 -0
- package/dist/src/round-progress.d.ts +5 -0
- package/dist/src/round-progress.d.ts.map +1 -1
- package/dist/src/round-progress.js.map +1 -1
- package/dist/src/savedpost.d.ts +65 -0
- package/dist/src/savedpost.d.ts.map +1 -0
- package/dist/src/savedpost.js +131 -0
- package/dist/src/savedpost.js.map +1 -0
- package/dist/src/scan/caseread.d.ts +84 -0
- package/dist/src/scan/caseread.d.ts.map +1 -0
- package/dist/src/scan/caseread.js +263 -0
- package/dist/src/scan/caseread.js.map +1 -0
- package/dist/src/scan/channelfs.d.ts +6 -0
- package/dist/src/scan/channelfs.d.ts.map +1 -0
- package/dist/src/scan/channelfs.js +27 -0
- package/dist/src/scan/channelfs.js.map +1 -0
- package/dist/src/scan/cutrender.d.ts +13 -0
- package/dist/src/scan/cutrender.d.ts.map +1 -0
- package/dist/src/scan/cutrender.js +51 -0
- package/dist/src/scan/cutrender.js.map +1 -0
- package/dist/src/scan/facts.d.ts +72 -0
- package/dist/src/scan/facts.d.ts.map +1 -0
- package/dist/src/scan/facts.js +593 -0
- package/dist/src/scan/facts.js.map +1 -0
- package/dist/src/scan/findings.d.ts +320 -0
- package/dist/src/scan/findings.d.ts.map +1 -0
- package/dist/src/scan/findings.js +948 -0
- package/dist/src/scan/findings.js.map +1 -0
- package/dist/src/scan/ledger.d.ts +116 -0
- package/dist/src/scan/ledger.d.ts.map +1 -0
- package/dist/src/scan/ledger.js +207 -0
- package/dist/src/scan/ledger.js.map +1 -0
- package/dist/src/scan/presentation.d.ts +19 -0
- package/dist/src/scan/presentation.d.ts.map +1 -0
- package/dist/src/scan/presentation.js +9 -0
- package/dist/src/scan/presentation.js.map +1 -0
- package/dist/src/scan/scan.d.ts +354 -0
- package/dist/src/scan/scan.d.ts.map +1 -0
- package/dist/src/scan/scan.js +725 -0
- package/dist/src/scan/scan.js.map +1 -0
- package/dist/src/scan/scanagents.d.ts +23 -0
- package/dist/src/scan/scanagents.d.ts.map +1 -0
- package/dist/src/scan/scanagents.js +99 -0
- package/dist/src/scan/scanagents.js.map +1 -0
- package/dist/src/scan/scanassemble.d.ts +65 -0
- package/dist/src/scan/scanassemble.d.ts.map +1 -0
- package/dist/src/scan/scanassemble.js +93 -0
- package/dist/src/scan/scanassemble.js.map +1 -0
- package/dist/src/scan/scanfs.d.ts +26 -0
- package/dist/src/scan/scanfs.d.ts.map +1 -0
- package/dist/src/scan/scanfs.js +229 -0
- package/dist/src/scan/scanfs.js.map +1 -0
- package/dist/src/scan/scanlease.d.ts +50 -0
- package/dist/src/scan/scanlease.d.ts.map +1 -0
- package/dist/src/scan/scanlease.js +251 -0
- package/dist/src/scan/scanlease.js.map +1 -0
- package/dist/src/scan/scanleaves.d.ts +55 -0
- package/dist/src/scan/scanleaves.d.ts.map +1 -0
- package/dist/src/scan/scanleaves.js +258 -0
- package/dist/src/scan/scanleaves.js.map +1 -0
- package/dist/src/scan/scanports.d.ts +79 -0
- package/dist/src/scan/scanports.d.ts.map +1 -0
- package/dist/src/scan/scanports.js +8 -0
- package/dist/src/scan/scanports.js.map +1 -0
- package/dist/src/scan/scanrender.d.ts +128 -0
- package/dist/src/scan/scanrender.d.ts.map +1 -0
- package/dist/src/scan/scanrender.js +527 -0
- package/dist/src/scan/scanrender.js.map +1 -0
- package/dist/src/scan/scanreport.d.ts +126 -0
- package/dist/src/scan/scanreport.d.ts.map +1 -0
- package/dist/src/scan/scanreport.js +289 -0
- package/dist/src/scan/scanreport.js.map +1 -0
- package/dist/src/scan/scanrun.d.ts +472 -0
- package/dist/src/scan/scanrun.d.ts.map +1 -0
- package/dist/src/scan/scanrun.js +1733 -0
- package/dist/src/scan/scanrun.js.map +1 -0
- package/dist/src/scan/scantree.d.ts +21 -0
- package/dist/src/scan/scantree.d.ts.map +1 -0
- package/dist/src/scan/scantree.js +297 -0
- package/dist/src/scan/scantree.js.map +1 -0
- package/dist/src/scan/scanverbs.d.ts +208 -0
- package/dist/src/scan/scanverbs.d.ts.map +1 -0
- package/dist/src/scan/scanverbs.js +689 -0
- package/dist/src/scan/scanverbs.js.map +1 -0
- package/dist/src/scan/stage2.d.ts +221 -0
- package/dist/src/scan/stage2.d.ts.map +1 -0
- package/dist/src/scan/stage2.js +617 -0
- package/dist/src/scan/stage2.js.map +1 -0
- package/dist/src/scan/stage2request.d.ts +125 -0
- package/dist/src/scan/stage2request.d.ts.map +1 -0
- package/dist/src/scan/stage2request.js +259 -0
- package/dist/src/scan/stage2request.js.map +1 -0
- package/dist/src/scan/textsniff.d.ts +14 -0
- package/dist/src/scan/textsniff.d.ts.map +1 -0
- package/dist/src/scan/textsniff.js +88 -0
- package/dist/src/scan/textsniff.js.map +1 -0
- package/dist/src/scan/unitcut.d.ts +135 -0
- package/dist/src/scan/unitcut.d.ts.map +1 -0
- package/dist/src/scan/unitcut.js +437 -0
- package/dist/src/scan/unitcut.js.map +1 -0
- package/dist/src/scan/unitcutstore.d.ts +155 -0
- package/dist/src/scan/unitcutstore.d.ts.map +1 -0
- package/dist/src/scan/unitcutstore.js +381 -0
- package/dist/src/scan/unitcutstore.js.map +1 -0
- package/dist/src/setupchecklist.d.ts +240 -0
- package/dist/src/setupchecklist.d.ts.map +1 -0
- package/dist/src/setupchecklist.js +407 -0
- package/dist/src/setupchecklist.js.map +1 -0
- package/package.json +7 -3
- package/skills/qcr-review/SKILL.md +24 -0
- package/skills/qcr-scan/SKILL.md +23 -0
- package/skills/qcr-setup/SKILL.md +18 -0
|
@@ -1,34 +1,33 @@
|
|
|
1
|
+
import type { CoreConfig } from "../reviewconfig.js";
|
|
2
|
+
import { type AssembledScan } from "../scan/scanassemble.js";
|
|
3
|
+
import type { CaseRunner, Refusal } from "../scan/scanports.js";
|
|
4
|
+
import { type ScanVerbs } from "../scan/scanrender.js";
|
|
5
|
+
import type { ScanRun } from "../scan/scanrun.js";
|
|
6
|
+
import { type FindingJson } from "../scan/scanverbs.js";
|
|
7
|
+
import { UnitCutStore } from "../scan/unitcutstore.js";
|
|
8
|
+
import { pluginScanCases } from "./scancases.js";
|
|
1
9
|
import type { PluginHost, SessionUi } from "./session.js";
|
|
2
|
-
/** The npm package
|
|
10
|
+
/** The npm package of the QuickReview app (the `qcr` CLI). The scan does not
|
|
11
|
+
* need it; /qcr-setup's checks still name it. */
|
|
3
12
|
export declare const QCR_PACKAGE = "@quickchatai/quickreview";
|
|
4
|
-
/** The `qcr scan`
|
|
13
|
+
/** The scan subcommands, as `qcr scan` names them. */
|
|
5
14
|
export declare const SCAN_SUBCOMMANDS: readonly ["preview", "start", "status", "stop", "findings", "matches", "match", "suggestions", "stage2", "dismiss", "units", "login", "doctor", "rebuild"];
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
export declare const
|
|
10
|
-
|
|
11
|
-
export declare const
|
|
12
|
-
/** A scan finding as
|
|
13
|
-
export
|
|
14
|
-
fingerprint: string;
|
|
15
|
-
file: string | null;
|
|
16
|
-
range?: {
|
|
17
|
-
start: number | null;
|
|
18
|
-
end: number | null;
|
|
19
|
-
} | null;
|
|
20
|
-
lens?: string;
|
|
21
|
-
severity?: string | null;
|
|
22
|
-
claim?: string;
|
|
23
|
-
[k: string]: unknown;
|
|
24
|
-
}
|
|
15
|
+
/** The subcommands that are the app's: the scan sandbox's, and the triage's
|
|
16
|
+
* dismissal (it writes reviewer memory, which the plugin has none of). */
|
|
17
|
+
export declare const APP_SUBCOMMANDS: readonly string[];
|
|
18
|
+
export declare const SCAN_COMMAND_USAGE = "usage: /qcr-scan [--delta] [--sha REF] [--preview] | /qcr-scan <scan subcommand> \u2026";
|
|
19
|
+
/** How the scan's answers name the next step here. */
|
|
20
|
+
export declare const PLUGIN_SCAN_VERBS: ScanVerbs;
|
|
21
|
+
/** A scan finding as the scan's `--json` lists it. */
|
|
22
|
+
export type ScanFinding = FindingJson;
|
|
25
23
|
/** The guided run's options. */
|
|
26
24
|
export interface ScanOptions {
|
|
27
|
-
sandbox?: string;
|
|
28
25
|
delta: boolean;
|
|
29
26
|
sha?: string;
|
|
27
|
+
/** Price it, start nothing. */
|
|
28
|
+
preview?: boolean;
|
|
30
29
|
}
|
|
31
|
-
/** `/scan`'s arguments: the guided run's flags, or a subcommand
|
|
30
|
+
/** `/qcr-scan`'s arguments: the guided run's flags, or a subcommand. */
|
|
32
31
|
export declare function parseScanCommand(line: string): {
|
|
33
32
|
kind: "guided";
|
|
34
33
|
o: ScanOptions;
|
|
@@ -42,12 +41,47 @@ export declare function parseScanCommand(line: string): {
|
|
|
42
41
|
* repo's directory name and a hash of its real path, so two repos never share
|
|
43
42
|
* a unit cut, a ledger or a findings store. */
|
|
44
43
|
export declare function repoScanHome(env: NodeJS.ProcessEnv, cwd: string): string;
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export
|
|
50
|
-
/** The
|
|
44
|
+
/** Where this repo's scan keeps its state: `QCR_STATE_HOME` when the person
|
|
45
|
+
* set one, else the repo's own home under the qcr state home. */
|
|
46
|
+
export declare function scanStateHome(host: Pick<PluginHost, "env" | "cwd">): string;
|
|
47
|
+
/** The seams a test replaces. */
|
|
48
|
+
export interface ScanCommandDeps {
|
|
49
|
+
/** The core's data root. */
|
|
50
|
+
root: () => string;
|
|
51
|
+
/** The case runner a run's cases go to. Default: SDK sessions of this pi. */
|
|
52
|
+
cases: (o: Parameters<typeof pluginScanCases>[0]) => CaseRunner;
|
|
53
|
+
}
|
|
54
|
+
export declare const SCAN_DEPS: ScanCommandDeps;
|
|
55
|
+
/** The scan engine of one repo in this session. */
|
|
56
|
+
interface RepoScan extends AssembledScan {
|
|
57
|
+
/** The host the latest command came from: the cases borrow its login. */
|
|
58
|
+
host: PluginHost;
|
|
59
|
+
units: UnitCutStore;
|
|
60
|
+
/** The config as it reads now, or why it cannot be read. */
|
|
61
|
+
config: () => {
|
|
62
|
+
ok: true;
|
|
63
|
+
cfg: CoreConfig;
|
|
64
|
+
} | Refusal;
|
|
65
|
+
log: (line: string) => void;
|
|
66
|
+
}
|
|
67
|
+
/** A session's scans: one engine per repo (so a run started here is the one
|
|
68
|
+
* every later `/qcr-scan` sees), and at most one run in flight. */
|
|
69
|
+
export declare class ScanSessions {
|
|
70
|
+
private readonly engines;
|
|
71
|
+
private current;
|
|
72
|
+
/** What is being scanned now; null when nothing is. */
|
|
73
|
+
get running(): string | null;
|
|
74
|
+
/** Resolves once no scan runs. */
|
|
75
|
+
idle(): Promise<void>;
|
|
76
|
+
/** Hold `done` as the run in flight until it settles. */
|
|
77
|
+
hold(label: string, done: Promise<void>): void;
|
|
78
|
+
/** The engine of the repo `host` stands in, built on first use. */
|
|
79
|
+
engine(host: PluginHost, deps: ScanCommandDeps): RepoScan;
|
|
80
|
+
}
|
|
81
|
+
/** The status line for the run in flight: its cases, what it spent against
|
|
82
|
+
* its hard stop, and the time since it started. */
|
|
83
|
+
export declare function scanStatusLine(run: ScanRun | null, startedAt: number, now: number): string;
|
|
84
|
+
/** The findings as markdown, worst first as the scan lists them. */
|
|
51
85
|
export declare function renderScanFindings(findings: readonly ScanFinding[], total: number): string;
|
|
52
86
|
/** What a guided run ended with. */
|
|
53
87
|
export type GuidedScan = {
|
|
@@ -60,20 +94,22 @@ export type GuidedScan = {
|
|
|
60
94
|
error: string;
|
|
61
95
|
};
|
|
62
96
|
/**
|
|
63
|
-
* Price, ask, start, wait, list: the guided scan
|
|
64
|
-
* price; with nobody to ask, nothing is started. Esc (or
|
|
65
|
-
*
|
|
97
|
+
* Price, ask, start, wait, list: the guided scan, waited for to its end. The
|
|
98
|
+
* person confirms the price; with nobody to ask, nothing is started. Esc (or
|
|
99
|
+
* the session ending) stops the run.
|
|
66
100
|
*/
|
|
67
|
-
export declare function guidedScan(host: PluginHost, ui: SessionUi, o: ScanOptions
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
export declare function guidedScan(host: PluginHost, ui: SessionUi, o: ScanOptions, opts?: {
|
|
102
|
+
sessions?: ScanSessions;
|
|
103
|
+
deps?: ScanCommandDeps;
|
|
104
|
+
}): Promise<GuidedScan>;
|
|
105
|
+
/**
|
|
106
|
+
* /qcr-scan. The guided run starts in the background and the command returns
|
|
107
|
+
* (pi's print mode, where nobody can confirm a price, starts nothing); a
|
|
108
|
+
* subcommand is answered here. Never throws: every refusal reaches the person.
|
|
109
|
+
*/
|
|
110
|
+
export declare function runScanCommand(line: string, host: PluginHost, ui: SessionUi, o?: {
|
|
111
|
+
sessions?: ScanSessions;
|
|
112
|
+
deps?: ScanCommandDeps;
|
|
113
|
+
}): Promise<void>;
|
|
114
|
+
export {};
|
|
79
115
|
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/plugin/scan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/plugin/scan.ts"],"names":[],"mappings":"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"}
|