@garygentry/system1-core 0.3.2 → 0.4.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/dist/config/load.d.ts +11 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +34 -5
- package/dist/config/load.js.map +1 -1
- package/dist/egress/scrub.d.ts.map +1 -1
- package/dist/egress/scrub.js +16 -0
- package/dist/egress/scrub.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/model/schema.d.ts +22 -0
- package/dist/model/schema.d.ts.map +1 -0
- package/dist/model/schema.js +26 -0
- package/dist/model/schema.js.map +1 -0
- package/dist/opportunities/backlog.d.ts +280 -0
- package/dist/opportunities/backlog.d.ts.map +1 -0
- package/dist/opportunities/backlog.js +393 -0
- package/dist/opportunities/backlog.js.map +1 -0
- package/dist/prepare.d.ts +8 -0
- package/dist/prepare.d.ts.map +1 -1
- package/dist/prepare.js +42 -6
- package/dist/prepare.js.map +1 -1
- package/dist/project/project.d.ts +36 -0
- package/dist/project/project.d.ts.map +1 -1
- package/dist/project/project.js +64 -18
- package/dist/project/project.js.map +1 -1
- package/dist/sources/filter.d.ts +19 -0
- package/dist/sources/filter.d.ts.map +1 -0
- package/dist/sources/filter.js +30 -0
- package/dist/sources/filter.js.map +1 -0
- package/dist/sources/read.d.ts +10 -0
- package/dist/sources/read.d.ts.map +1 -1
- package/dist/sources/read.js +7 -2
- package/dist/sources/read.js.map +1 -1
- package/dist/sources/types.d.ts +2 -2
- package/dist/sources/types.d.ts.map +1 -1
- package/dist/spec/lint.d.ts +35 -0
- package/dist/spec/lint.d.ts.map +1 -0
- package/dist/spec/lint.js +174 -0
- package/dist/spec/lint.js.map +1 -0
- package/dist/spec/spec.d.ts +2 -0
- package/dist/spec/spec.d.ts.map +1 -1
- package/dist/spec/spec.js +3 -1
- package/dist/spec/spec.js.map +1 -1
- package/dist/tools/ask.d.ts.map +1 -1
- package/dist/tools/ask.js +10 -13
- package/dist/tools/ask.js.map +1 -1
- package/dist/tools/context.d.ts +5 -0
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +24 -0
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/doctor.d.ts +3 -1
- package/dist/tools/doctor.d.ts.map +1 -1
- package/dist/tools/doctor.js +57 -10
- package/dist/tools/doctor.js.map +1 -1
- package/dist/tools/many.d.ts.map +1 -1
- package/dist/tools/many.js +3 -0
- package/dist/tools/many.js.map +1 -1
- package/dist/tools/opportunities.d.ts +33 -0
- package/dist/tools/opportunities.d.ts.map +1 -0
- package/dist/tools/opportunities.js +74 -0
- package/dist/tools/opportunities.js.map +1 -0
- package/dist/tools/schemas.d.ts +155 -12
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +32 -25
- package/dist/tools/schemas.js.map +1 -1
- package/dist/tools/spec-check.d.ts +6 -0
- package/dist/tools/spec-check.d.ts.map +1 -1
- package/dist/tools/spec-check.js +3 -0
- package/dist/tools/spec-check.js.map +1 -1
- package/dist/tools/spec-lint.d.ts +31 -0
- package/dist/tools/spec-lint.d.ts.map +1 -0
- package/dist/tools/spec-lint.js +53 -0
- package/dist/tools/spec-lint.js.map +1 -0
- package/dist/transport/openrouter.d.ts +4 -1
- package/dist/transport/openrouter.d.ts.map +1 -1
- package/dist/transport/openrouter.js +5 -2
- package/dist/transport/openrouter.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wiring.d.ts.map +1 -1
- package/dist/wiring.js +11 -2
- package/dist/wiring.js.map +1 -1
- package/package.json +2 -2
- package/dist/config.d.ts +0 -28
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -64
- package/dist/config.js.map +0 -1
- package/dist/testdata/index.d.ts +0 -5
- package/dist/testdata/index.d.ts.map +0 -1
- package/dist/testdata/index.js +0 -6
- package/dist/testdata/index.js.map +0 -1
package/dist/tools/doctor.js
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* Unlike the other tools it builds its own context: a broken config is one of
|
|
7
7
|
* the things it diagnoses, so it must not fail before it can report it.
|
|
8
8
|
*/
|
|
9
|
-
import { accessSync, constants, statSync } from "node:fs";
|
|
9
|
+
import { accessSync, constants, existsSync, statSync } from "node:fs";
|
|
10
10
|
import { delimiter, join } from "node:path";
|
|
11
11
|
import { userConfigDir } from "../config/load.js";
|
|
12
12
|
import { detectHarness } from "../config/session.js";
|
|
13
|
+
import { isDecisionsError } from "../errors.js";
|
|
14
|
+
import { backlogPath, readBacklog } from "../opportunities/backlog.js";
|
|
13
15
|
import { ping } from "../ping.js";
|
|
14
16
|
import { activeTriggers, route } from "../route/route.js";
|
|
15
17
|
import { CLI_PACKAGE, VERSION } from "../version.js";
|
|
@@ -24,6 +26,7 @@ export const DOCTOR_CHECKS = [
|
|
|
24
26
|
"key",
|
|
25
27
|
"consent",
|
|
26
28
|
"route",
|
|
29
|
+
"backlog",
|
|
27
30
|
"network",
|
|
28
31
|
];
|
|
29
32
|
/**
|
|
@@ -56,6 +59,34 @@ function routeCheck(config) {
|
|
|
56
59
|
};
|
|
57
60
|
}
|
|
58
61
|
}
|
|
62
|
+
function backlogProblem(error) {
|
|
63
|
+
const problems = isDecisionsError(error) ? error.details?.problems : undefined;
|
|
64
|
+
const first = Array.isArray(problems) ? problems[0] : undefined;
|
|
65
|
+
const count = Array.isArray(problems) && problems.length > 1 ? ` (+${problems.length - 1} more)` : "";
|
|
66
|
+
return `the backlog doesn't validate: ${first ?? (error instanceof Error ? error.message : String(error))}${count}`;
|
|
67
|
+
}
|
|
68
|
+
/** The scout backlog is optional; a malformed one is worth knowing about before `list` fails on it. */
|
|
69
|
+
function backlogCheck(repoRoot) {
|
|
70
|
+
const file = backlogPath(repoRoot);
|
|
71
|
+
if (!existsSync(file))
|
|
72
|
+
return { name: "backlog", status: "ok", detail: "no scout backlog yet" };
|
|
73
|
+
try {
|
|
74
|
+
const { opportunities } = readBacklog(file);
|
|
75
|
+
return {
|
|
76
|
+
name: "backlog",
|
|
77
|
+
status: "ok",
|
|
78
|
+
detail: `${opportunities.length} opportunit${opportunities.length === 1 ? "y" : "ies"} in ${file}`,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
return {
|
|
83
|
+
name: "backlog",
|
|
84
|
+
status: "warn",
|
|
85
|
+
detail: backlogProblem(error),
|
|
86
|
+
fix: "`decide opportunities check` lists every problem; correct the file by hand or move it aside (decide never repairs it)",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
59
90
|
export const CODEX_RULE = 'prefix_rule(pattern = ["decide"], decision = "allow")';
|
|
60
91
|
export async function runDoctor(options) {
|
|
61
92
|
const { env } = options;
|
|
@@ -103,15 +134,30 @@ export async function runDoctor(options) {
|
|
|
103
134
|
fix: "correct or remove these keys (docs/configuration.md lists every key)",
|
|
104
135
|
});
|
|
105
136
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
137
|
+
const credentials = join(userConfigDir(env, options.home), "credentials");
|
|
138
|
+
checks.push(config.apiKey && config.apiKeyQuoted
|
|
139
|
+
? {
|
|
109
140
|
name: "key",
|
|
110
141
|
status: "warn",
|
|
111
|
-
detail:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
142
|
+
detail: `OPENROUTER_API_KEY present (${config.apiKeySource}), but wrapped in quotes; they were removed`,
|
|
143
|
+
fix: config.apiKeySource === "env"
|
|
144
|
+
? "set OPENROUTER_API_KEY without the surrounding quotes"
|
|
145
|
+
: `remove the extra quotes around openrouter_api_key in ${credentials}`,
|
|
146
|
+
advisory: true,
|
|
147
|
+
}
|
|
148
|
+
: config.apiKey
|
|
149
|
+
? {
|
|
150
|
+
name: "key",
|
|
151
|
+
status: "ok",
|
|
152
|
+
detail: `OPENROUTER_API_KEY present (${config.apiKeySource})`,
|
|
153
|
+
}
|
|
154
|
+
: {
|
|
155
|
+
name: "key",
|
|
156
|
+
status: "warn",
|
|
157
|
+
detail: "no API key: only replay works",
|
|
158
|
+
// The file this shell would read: XDG_CONFIG_HOME moves it.
|
|
159
|
+
fix: `set OPENROUTER_API_KEY, or write \`openrouter_api_key: <key>\` to ${credentials} (create its directory first; chmod 600)`,
|
|
160
|
+
});
|
|
115
161
|
checks.push(config.egress.consent.granted
|
|
116
162
|
? { name: "consent", status: "ok", detail: `egress consent granted for ${config.repoRoot}` }
|
|
117
163
|
: {
|
|
@@ -123,6 +169,7 @@ export async function runDoctor(options) {
|
|
|
123
169
|
"prompt's shell escape (not as a chat message) with --confirm added",
|
|
124
170
|
});
|
|
125
171
|
checks.push(routeCheck(config.route));
|
|
172
|
+
checks.push(backlogCheck(config.repoRoot));
|
|
126
173
|
let reach;
|
|
127
174
|
try {
|
|
128
175
|
reach = await ping({
|
|
@@ -173,8 +220,8 @@ function pathCheck(harness, env) {
|
|
|
173
220
|
return {
|
|
174
221
|
name: "path",
|
|
175
222
|
status: "warn",
|
|
176
|
-
detail: "decide is not on PATH, so the
|
|
177
|
-
fix:
|
|
223
|
+
detail: "decide is not on PATH, so the System 1 plugin's bin/ is not loaded",
|
|
224
|
+
fix: `npm i -g ${CLI_PACKAGE}@${VERSION} (also puts decide in your own terminal), or install the System 1 plugin from its marketplace`,
|
|
178
225
|
};
|
|
179
226
|
}
|
|
180
227
|
return {
|
package/dist/tools/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/tools/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/tools/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/many.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"many.d.ts","sourceRoot":"","sources":["../../src/tools/many.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAQ,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAGvF,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAID,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD,2EAA2E;IAC3E,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,kFAAkF;IAClF,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,2BAA2B;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACrD,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzE,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,+CAA+C;IAC/C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAID;;;GAGG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"many.d.ts","sourceRoot":"","sources":["../../src/tools/many.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAQ,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAGvF,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAID,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD,2EAA2E;IAC3E,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,kFAAkF;IAClF,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,2BAA2B;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACrD,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzE,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,+CAA+C;IAC/C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAID;;;GAGG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CA0GtF;AAyCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,cAAc,CAQ5E"}
|
package/dist/tools/many.js
CHANGED
|
@@ -23,6 +23,8 @@ export async function runMany(ctx, rawInput) {
|
|
|
23
23
|
profile: req.profile,
|
|
24
24
|
cwd: ctx.config.repoRoot,
|
|
25
25
|
exclude: ctx.config.egress.exclude,
|
|
26
|
+
filter: req.exclude,
|
|
27
|
+
oversize: "skip",
|
|
26
28
|
...(input.allowOutside ? { allowOutside: true } : {}),
|
|
27
29
|
});
|
|
28
30
|
const base = {
|
|
@@ -76,6 +78,7 @@ export async function runMany(ctx, rawInput) {
|
|
|
76
78
|
const projected = project({
|
|
77
79
|
rows,
|
|
78
80
|
keep: req.keep,
|
|
81
|
+
keepAny: req.keepAny,
|
|
79
82
|
...(req.sort ? { sort: req.sort } : {}),
|
|
80
83
|
...(input.limit !== undefined ? { limit: input.limit } : {}),
|
|
81
84
|
...(input.fields ? { fields: input.fields } : {}),
|
package/dist/tools/many.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"many.js","sourceRoot":"","sources":["../../src/tools/many.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"many.js","sourceRoot":"","sources":["../../src/tools/many.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Opportunity, type OpportunityStatus } from "../opportunities/backlog.js";
|
|
2
|
+
import { type ToolContext } from "./context.js";
|
|
3
|
+
export interface OpportunitiesAddResult {
|
|
4
|
+
file: string;
|
|
5
|
+
added: string[];
|
|
6
|
+
updated: string[];
|
|
7
|
+
/** `new` entries at a covered path that this add didn't see again. */
|
|
8
|
+
staled: string[];
|
|
9
|
+
total: number;
|
|
10
|
+
}
|
|
11
|
+
/** Validate candidates and merge them into the backlog. Local only: nothing is sent. */
|
|
12
|
+
export declare function runOpportunitiesAdd(ctx: ToolContext, rawInput: unknown, now?: () => Date): OpportunitiesAddResult;
|
|
13
|
+
export interface OpportunitiesListResult {
|
|
14
|
+
file: string;
|
|
15
|
+
total: number;
|
|
16
|
+
/** Matching the filters, before `limit`. */
|
|
17
|
+
matched: number;
|
|
18
|
+
/** Every saving here is projected: arithmetic over the inputs shown with it. */
|
|
19
|
+
basis: "projected";
|
|
20
|
+
opportunities: Array<Partial<Opportunity> & {
|
|
21
|
+
id: string;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export declare function runOpportunitiesList(ctx: ToolContext, rawInput?: unknown): OpportunitiesListResult;
|
|
25
|
+
export interface OpportunitiesCheckResult {
|
|
26
|
+
file: string;
|
|
27
|
+
exists: boolean;
|
|
28
|
+
entries: number;
|
|
29
|
+
byStatus: Partial<Record<OpportunityStatus, number>>;
|
|
30
|
+
}
|
|
31
|
+
/** Validate the backlog on disk. Malformed is a typed error (exit 2); nothing is repaired. */
|
|
32
|
+
export declare function runOpportunitiesCheck(ctx: ToolContext, rawInput?: unknown): OpportunitiesCheckResult;
|
|
33
|
+
//# sourceMappingURL=opportunities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunities.d.ts","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAQvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAG3D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,sEAAsE;IACtE,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,OAAO,EACjB,GAAG,GAAE,MAAM,IAAuB,GACjC,sBAAsB,CAexB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,KAAK,EAAE,WAAW,CAAA;IAClB,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC5D;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,OAAY,GACrB,uBAAuB,CAkBzB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;CACrD;AAED,8FAA8F;AAC9F,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,OAAY,GACrB,wBAAwB,CAO1B"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { DecisionsError } from "../errors.js";
|
|
3
|
+
import { backlogPath, ENTRY_FIELDS, mergeCandidates, parseRecordFilter, parseRecordSort, readBacklog, readField, recordMatches, withBacklogLock, writeBacklog, } from "../opportunities/backlog.js";
|
|
4
|
+
import { checkInput } from "./context.js";
|
|
5
|
+
/** Validate candidates and merge them into the backlog. Local only: nothing is sent. */
|
|
6
|
+
export function runOpportunitiesAdd(ctx, rawInput, now = () => new Date()) {
|
|
7
|
+
const input = checkInput("opportunities-add", rawInput);
|
|
8
|
+
const file = backlogPath(ctx.config.repoRoot);
|
|
9
|
+
const merged = withBacklogLock(file, () => {
|
|
10
|
+
const result = mergeCandidates(readBacklog(file), input.candidates, now().toISOString());
|
|
11
|
+
writeBacklog(file, result.backlog);
|
|
12
|
+
return result;
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
file,
|
|
16
|
+
added: merged.added,
|
|
17
|
+
updated: merged.updated,
|
|
18
|
+
staled: merged.staled,
|
|
19
|
+
total: merged.backlog.opportunities.length,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function runOpportunitiesList(ctx, rawInput = {}) {
|
|
23
|
+
const input = checkInput("opportunities-list", rawInput);
|
|
24
|
+
const filters = (input.keep ?? []).map(parseRecordFilter);
|
|
25
|
+
const sort = parseRecordSort(input.sort ?? "projected:desc");
|
|
26
|
+
assertFields(input.fields);
|
|
27
|
+
const file = backlogPath(ctx.config.repoRoot);
|
|
28
|
+
const { opportunities } = readBacklog(file);
|
|
29
|
+
const matched = opportunities
|
|
30
|
+
.filter((o) => filters.every((f) => recordMatches(o, f)))
|
|
31
|
+
.sort((a, b) => compare(readField(a, sort.field), readField(b, sort.field), sort.direction));
|
|
32
|
+
const shown = input.limit === undefined ? matched : matched.slice(0, input.limit);
|
|
33
|
+
return {
|
|
34
|
+
file,
|
|
35
|
+
total: opportunities.length,
|
|
36
|
+
matched: matched.length,
|
|
37
|
+
basis: "projected",
|
|
38
|
+
opportunities: shown.map((o) => pick(o, input.fields)),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/** Validate the backlog on disk. Malformed is a typed error (exit 2); nothing is repaired. */
|
|
42
|
+
export function runOpportunitiesCheck(ctx, rawInput = {}) {
|
|
43
|
+
checkInput("opportunities-check", rawInput);
|
|
44
|
+
const file = backlogPath(ctx.config.repoRoot);
|
|
45
|
+
const backlog = readBacklog(file);
|
|
46
|
+
const byStatus = {};
|
|
47
|
+
for (const o of backlog.opportunities)
|
|
48
|
+
byStatus[o.status] = (byStatus[o.status] ?? 0) + 1;
|
|
49
|
+
return { file, exists: existsSync(file), entries: backlog.opportunities.length, byStatus };
|
|
50
|
+
}
|
|
51
|
+
/** Missing values sort last either way. */
|
|
52
|
+
function compare(a, b, direction) {
|
|
53
|
+
if (a === undefined || b === undefined)
|
|
54
|
+
return a === b ? 0 : a === undefined ? 1 : -1;
|
|
55
|
+
const order = typeof a === "number" && typeof b === "number" ? a - b : String(a).localeCompare(String(b));
|
|
56
|
+
return direction === "asc" ? order : -order;
|
|
57
|
+
}
|
|
58
|
+
function pick(o, fields) {
|
|
59
|
+
if (!fields)
|
|
60
|
+
return o;
|
|
61
|
+
const out = { id: o.id };
|
|
62
|
+
for (const f of fields)
|
|
63
|
+
if (Object.hasOwn(o, f))
|
|
64
|
+
out[f] = o[f];
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
/** Checked before reading, so a typo is an error even on an empty backlog. */
|
|
68
|
+
function assertFields(fields = []) {
|
|
69
|
+
const unknown = fields.filter((f) => !ENTRY_FIELDS.includes(f));
|
|
70
|
+
if (unknown.length) {
|
|
71
|
+
throw new DecisionsError("invalid-request", `--fields: no field ${unknown.join(", ")}. Fields: ${ENTRY_FIELDS.join(", ")}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=opportunities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAEL,WAAW,EACX,YAAY,EACZ,eAAe,EAGf,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAA;AAY3D,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CACjC,GAAgB,EAChB,QAAiB,EACjB,GAAG,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;IAElC,MAAM,KAAK,GAAG,UAAU,CAAwB,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QACxF,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IACF,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM;KAC3C,CAAA;AACH,CAAC;AAYD,MAAM,UAAU,oBAAoB,CAClC,GAAgB,EAChB,QAAQ,GAAY,EAAE;IAEtB,MAAM,KAAK,GAAG,UAAU,CAAyB,oBAAoB,EAAE,QAAQ,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,CAAA;IAC5D,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,aAAa;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACjF,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,aAAa,CAAC,MAAM;QAC3B,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACvD,CAAA;AACH,CAAC;AASD,8FAA8F;AAC9F,MAAM,UAAU,qBAAqB,CACnC,GAAgB,EAChB,QAAQ,GAAY,EAAE;IAEtB,UAAU,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAY,WAAW,CAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAyC,EAAE,CAAA;IACzD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa;QAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACzF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC5F,CAAC;AAED,2CAA2C;AAC3C,SAAS,OAAO,CAAC,CAAU,EAAE,CAAU,EAAE,SAAyB;IAChE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrF,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7F,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAC7C,CAAC;AAED,SAAS,IAAI,CAAC,CAAc,EAAE,MAA0B;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAA;IACrB,MAAM,GAAG,GAA4B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAA;IACjD,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAsB,CAAC,CAAA;IACnF,OAAO,GAA4C,CAAA;AACrD,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,MAAM,GAAsB,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAA;IACH,CAAC;AACH,CAAC"}
|
package/dist/tools/schemas.d.ts
CHANGED
|
@@ -6,17 +6,14 @@ export declare const AskInput: Type.TObject<{
|
|
|
6
6
|
questions: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
|
|
7
7
|
type: Type.TLiteral<"noul">;
|
|
8
8
|
instructions: Type.TString;
|
|
9
|
-
/** Optional `true`/`false` criteria that sharpen an ambiguous statement. */
|
|
10
9
|
criteria: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
11
10
|
}>, Type.TObject<{
|
|
12
11
|
type: Type.TLiteral<"choice">;
|
|
13
12
|
instructions: Type.TString;
|
|
14
|
-
/** Option key to when it applies. At least two, including a way out. */
|
|
15
13
|
criteria: Type.TRecord<"^.*$", Type.TString>;
|
|
16
14
|
}>, Type.TObject<{
|
|
17
15
|
type: Type.TLiteral<"score">;
|
|
18
16
|
instructions: Type.TString;
|
|
19
|
-
/** Levels, lowest first and 0-indexed. */
|
|
20
17
|
criteria: Type.TArray<Type.TString>;
|
|
21
18
|
}>]>>>;
|
|
22
19
|
/** Where the content comes from. Defaults to the spec's `source`. */
|
|
@@ -46,10 +43,17 @@ export declare const AskInput: Type.TObject<{
|
|
|
46
43
|
staged: Type.TOptional<Type.TBoolean>;
|
|
47
44
|
paths: Type.TOptional<Type.TArray<Type.TString>>;
|
|
48
45
|
}>]>>>;
|
|
46
|
+
/**
|
|
47
|
+
* Leave out paths matching these globs (repo-relative, like `glob`). A per-call
|
|
48
|
+
* choice, reported as `filtered`; egress excludes still apply on top.
|
|
49
|
+
*/
|
|
50
|
+
exclude: Type.TOptional<Type.TArray<Type.TString>>;
|
|
49
51
|
/** `file` | `hunk` | `row` | `lines:N[/overlap]`. */
|
|
50
52
|
split: Type.TOptional<Type.TString>;
|
|
51
53
|
/** Filters, ANDed: `relevant>=0.7`, `kind in fix,feature`. */
|
|
52
54
|
keep: Type.TOptional<Type.TArray<Type.TString>>;
|
|
55
|
+
/** Kept when any of these matches (and every `keep` does): `a>=0.3`, `b>=0.3`. */
|
|
56
|
+
keepAny: Type.TOptional<Type.TArray<Type.TString>>;
|
|
53
57
|
mode: Type.TOptional<Type.TUnion<[Type.TLiteral<"auto">, Type.TLiteral<"live">, Type.TLiteral<"record">, Type.TLiteral<"replay">]>>;
|
|
54
58
|
model: Type.TOptional<Type.TString>;
|
|
55
59
|
/**
|
|
@@ -65,17 +69,14 @@ export declare const ManyInput: Type.TObject<{
|
|
|
65
69
|
questions: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
|
|
66
70
|
type: Type.TLiteral<"noul">;
|
|
67
71
|
instructions: Type.TString;
|
|
68
|
-
/** Optional `true`/`false` criteria that sharpen an ambiguous statement. */
|
|
69
72
|
criteria: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
70
73
|
}>, Type.TObject<{
|
|
71
74
|
type: Type.TLiteral<"choice">;
|
|
72
75
|
instructions: Type.TString;
|
|
73
|
-
/** Option key to when it applies. At least two, including a way out. */
|
|
74
76
|
criteria: Type.TRecord<"^.*$", Type.TString>;
|
|
75
77
|
}>, Type.TObject<{
|
|
76
78
|
type: Type.TLiteral<"score">;
|
|
77
79
|
instructions: Type.TString;
|
|
78
|
-
/** Levels, lowest first and 0-indexed. */
|
|
79
80
|
criteria: Type.TArray<Type.TString>;
|
|
80
81
|
}>]>>>;
|
|
81
82
|
/** Where the content comes from. Defaults to the spec's `source`. */
|
|
@@ -105,10 +106,17 @@ export declare const ManyInput: Type.TObject<{
|
|
|
105
106
|
staged: Type.TOptional<Type.TBoolean>;
|
|
106
107
|
paths: Type.TOptional<Type.TArray<Type.TString>>;
|
|
107
108
|
}>]>>>;
|
|
109
|
+
/**
|
|
110
|
+
* Leave out paths matching these globs (repo-relative, like `glob`). A per-call
|
|
111
|
+
* choice, reported as `filtered`; egress excludes still apply on top.
|
|
112
|
+
*/
|
|
113
|
+
exclude: Type.TOptional<Type.TArray<Type.TString>>;
|
|
108
114
|
/** `file` | `hunk` | `row` | `lines:N[/overlap]`. */
|
|
109
115
|
split: Type.TOptional<Type.TString>;
|
|
110
116
|
/** Filters, ANDed: `relevant>=0.7`, `kind in fix,feature`. */
|
|
111
117
|
keep: Type.TOptional<Type.TArray<Type.TString>>;
|
|
118
|
+
/** Kept when any of these matches (and every `keep` does): `a>=0.3`, `b>=0.3`. */
|
|
119
|
+
keepAny: Type.TOptional<Type.TArray<Type.TString>>;
|
|
112
120
|
mode: Type.TOptional<Type.TUnion<[Type.TLiteral<"auto">, Type.TLiteral<"live">, Type.TLiteral<"record">, Type.TLiteral<"replay">]>>;
|
|
113
121
|
model: Type.TOptional<Type.TString>;
|
|
114
122
|
/**
|
|
@@ -141,6 +149,68 @@ export declare const SpecCheckInput: Type.TObject<{
|
|
|
141
149
|
/** Proceed past the spend guard. */
|
|
142
150
|
confirm: Type.TOptional<Type.TBoolean>;
|
|
143
151
|
}>;
|
|
152
|
+
export declare const SpecLintInput: Type.TObject<{
|
|
153
|
+
/** Spec name (repo → user → bundled) or path. Omitted: every spec in reach. */
|
|
154
|
+
spec: Type.TOptional<Type.TString>;
|
|
155
|
+
}>;
|
|
156
|
+
export declare const OpportunitiesAddInput: Type.TObject<{
|
|
157
|
+
/** Candidates to merge into `.system1/opportunities.json`. */
|
|
158
|
+
candidates: Type.TArray<Type.TObject<{
|
|
159
|
+
mode: Type.TUnion<[Type.TLiteral<"code">, Type.TLiteral<"agents">]>;
|
|
160
|
+
location: Type.TObject<{
|
|
161
|
+
path: Type.TString;
|
|
162
|
+
lines: Type.TOptional<Type.TObject<{
|
|
163
|
+
start: Type.TInteger;
|
|
164
|
+
end: Type.TInteger;
|
|
165
|
+
}>>;
|
|
166
|
+
}>;
|
|
167
|
+
mechanism: Type.TString;
|
|
168
|
+
shape: Type.TUnion<[Type.TLiteral<"single">, Type.TLiteral<"fanout">, Type.TLiteral<"cascade">, Type.TLiteral<"pairwise">]>;
|
|
169
|
+
evidence: Type.TString;
|
|
170
|
+
questions: Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
|
|
171
|
+
type: Type.TLiteral<"noul">;
|
|
172
|
+
instructions: Type.TString;
|
|
173
|
+
criteria: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
174
|
+
}>, Type.TObject<{
|
|
175
|
+
type: Type.TLiteral<"choice">;
|
|
176
|
+
instructions: Type.TString;
|
|
177
|
+
criteria: Type.TRecord<"^.*$", Type.TString>;
|
|
178
|
+
}>, Type.TObject<{
|
|
179
|
+
type: Type.TLiteral<"score">;
|
|
180
|
+
instructions: Type.TString;
|
|
181
|
+
criteria: Type.TArray<Type.TString>;
|
|
182
|
+
}>]>>;
|
|
183
|
+
benefit: Type.TUnion<[Type.TLiteral<"cost">, Type.TLiteral<"quality">, Type.TLiteral<"latency">]>;
|
|
184
|
+
projected: Type.TObject<{
|
|
185
|
+
volume: Type.TNumber;
|
|
186
|
+
per: Type.TString;
|
|
187
|
+
currentCostPerItemUsd: Type.TNumber;
|
|
188
|
+
decisionCostPerItemUsd: Type.TNumber;
|
|
189
|
+
note: Type.TOptional<Type.TString>;
|
|
190
|
+
}>;
|
|
191
|
+
risk: Type.TObject<{
|
|
192
|
+
level: Type.TUnion<[Type.TLiteral<"low">, Type.TLiteral<"medium">, Type.TLiteral<"high">]>;
|
|
193
|
+
note: Type.TString;
|
|
194
|
+
}>;
|
|
195
|
+
next: Type.TString;
|
|
196
|
+
status: Type.TOptional<Type.TUnion<[Type.TLiteral<"new">, Type.TLiteral<"stale">, Type.TLiteral<"adopted">, Type.TLiteral<"rejected">]>>;
|
|
197
|
+
statusReason: Type.TOptional<Type.TString>;
|
|
198
|
+
source: Type.TObject<{
|
|
199
|
+
sweep: Type.TString;
|
|
200
|
+
answers: Type.TUnion<[Type.TLiteral<"live">, Type.TLiteral<"replay">]>;
|
|
201
|
+
}>;
|
|
202
|
+
}>>;
|
|
203
|
+
}>;
|
|
204
|
+
export declare const OpportunitiesListInput: Type.TObject<{
|
|
205
|
+
/** Record filters, ANDed: `status=new`, `risk in medium,high`, `projected>=0.01`. */
|
|
206
|
+
keep: Type.TOptional<Type.TArray<Type.TString>>;
|
|
207
|
+
/** `projected:desc` (the default), `seenAt:asc`, … */
|
|
208
|
+
sort: Type.TOptional<Type.TString>;
|
|
209
|
+
limit: Type.TOptional<Type.TInteger>;
|
|
210
|
+
/** Top-level fields to include per entry; `id` always is. */
|
|
211
|
+
fields: Type.TOptional<Type.TArray<Type.TString>>;
|
|
212
|
+
}>;
|
|
213
|
+
export declare const OpportunitiesCheckInput: Type.TObject<{}>;
|
|
144
214
|
export declare const RouteInput: Type.TObject<{
|
|
145
215
|
/** The user's prompt, as the harness hook received it. */
|
|
146
216
|
prompt: Type.TString;
|
|
@@ -150,6 +220,9 @@ export type ManyInput = Static<typeof ManyInput>;
|
|
|
150
220
|
export type UsageInput = Static<typeof UsageInput>;
|
|
151
221
|
export type SpecCheckInput = Static<typeof SpecCheckInput>;
|
|
152
222
|
export type RouteInput = Static<typeof RouteInput>;
|
|
223
|
+
export type SpecLintInput = Static<typeof SpecLintInput>;
|
|
224
|
+
export type OpportunitiesAddInput = Static<typeof OpportunitiesAddInput>;
|
|
225
|
+
export type OpportunitiesListInput = Static<typeof OpportunitiesListInput>;
|
|
153
226
|
export declare const TOOL_SCHEMAS: {
|
|
154
227
|
readonly ask: Type.TObject<{
|
|
155
228
|
/** A saved spec: name (repo → user → bundled) or path. */
|
|
@@ -158,17 +231,14 @@ export declare const TOOL_SCHEMAS: {
|
|
|
158
231
|
questions: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
|
|
159
232
|
type: Type.TLiteral<"noul">;
|
|
160
233
|
instructions: Type.TString;
|
|
161
|
-
/** Optional `true`/`false` criteria that sharpen an ambiguous statement. */
|
|
162
234
|
criteria: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
163
235
|
}>, Type.TObject<{
|
|
164
236
|
type: Type.TLiteral<"choice">;
|
|
165
237
|
instructions: Type.TString;
|
|
166
|
-
/** Option key to when it applies. At least two, including a way out. */
|
|
167
238
|
criteria: Type.TRecord<"^.*$", Type.TString>;
|
|
168
239
|
}>, Type.TObject<{
|
|
169
240
|
type: Type.TLiteral<"score">;
|
|
170
241
|
instructions: Type.TString;
|
|
171
|
-
/** Levels, lowest first and 0-indexed. */
|
|
172
242
|
criteria: Type.TArray<Type.TString>;
|
|
173
243
|
}>]>>>;
|
|
174
244
|
/** Where the content comes from. Defaults to the spec's `source`. */
|
|
@@ -198,10 +268,17 @@ export declare const TOOL_SCHEMAS: {
|
|
|
198
268
|
staged: Type.TOptional<Type.TBoolean>;
|
|
199
269
|
paths: Type.TOptional<Type.TArray<Type.TString>>;
|
|
200
270
|
}>]>>>;
|
|
271
|
+
/**
|
|
272
|
+
* Leave out paths matching these globs (repo-relative, like `glob`). A per-call
|
|
273
|
+
* choice, reported as `filtered`; egress excludes still apply on top.
|
|
274
|
+
*/
|
|
275
|
+
exclude: Type.TOptional<Type.TArray<Type.TString>>;
|
|
201
276
|
/** `file` | `hunk` | `row` | `lines:N[/overlap]`. */
|
|
202
277
|
split: Type.TOptional<Type.TString>;
|
|
203
278
|
/** Filters, ANDed: `relevant>=0.7`, `kind in fix,feature`. */
|
|
204
279
|
keep: Type.TOptional<Type.TArray<Type.TString>>;
|
|
280
|
+
/** Kept when any of these matches (and every `keep` does): `a>=0.3`, `b>=0.3`. */
|
|
281
|
+
keepAny: Type.TOptional<Type.TArray<Type.TString>>;
|
|
205
282
|
mode: Type.TOptional<Type.TUnion<[Type.TLiteral<"auto">, Type.TLiteral<"live">, Type.TLiteral<"record">, Type.TLiteral<"replay">]>>;
|
|
206
283
|
model: Type.TOptional<Type.TString>;
|
|
207
284
|
/**
|
|
@@ -217,17 +294,14 @@ export declare const TOOL_SCHEMAS: {
|
|
|
217
294
|
questions: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
|
|
218
295
|
type: Type.TLiteral<"noul">;
|
|
219
296
|
instructions: Type.TString;
|
|
220
|
-
/** Optional `true`/`false` criteria that sharpen an ambiguous statement. */
|
|
221
297
|
criteria: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
222
298
|
}>, Type.TObject<{
|
|
223
299
|
type: Type.TLiteral<"choice">;
|
|
224
300
|
instructions: Type.TString;
|
|
225
|
-
/** Option key to when it applies. At least two, including a way out. */
|
|
226
301
|
criteria: Type.TRecord<"^.*$", Type.TString>;
|
|
227
302
|
}>, Type.TObject<{
|
|
228
303
|
type: Type.TLiteral<"score">;
|
|
229
304
|
instructions: Type.TString;
|
|
230
|
-
/** Levels, lowest first and 0-indexed. */
|
|
231
305
|
criteria: Type.TArray<Type.TString>;
|
|
232
306
|
}>]>>>;
|
|
233
307
|
/** Where the content comes from. Defaults to the spec's `source`. */
|
|
@@ -257,10 +331,17 @@ export declare const TOOL_SCHEMAS: {
|
|
|
257
331
|
staged: Type.TOptional<Type.TBoolean>;
|
|
258
332
|
paths: Type.TOptional<Type.TArray<Type.TString>>;
|
|
259
333
|
}>]>>>;
|
|
334
|
+
/**
|
|
335
|
+
* Leave out paths matching these globs (repo-relative, like `glob`). A per-call
|
|
336
|
+
* choice, reported as `filtered`; egress excludes still apply on top.
|
|
337
|
+
*/
|
|
338
|
+
exclude: Type.TOptional<Type.TArray<Type.TString>>;
|
|
260
339
|
/** `file` | `hunk` | `row` | `lines:N[/overlap]`. */
|
|
261
340
|
split: Type.TOptional<Type.TString>;
|
|
262
341
|
/** Filters, ANDed: `relevant>=0.7`, `kind in fix,feature`. */
|
|
263
342
|
keep: Type.TOptional<Type.TArray<Type.TString>>;
|
|
343
|
+
/** Kept when any of these matches (and every `keep` does): `a>=0.3`, `b>=0.3`. */
|
|
344
|
+
keepAny: Type.TOptional<Type.TArray<Type.TString>>;
|
|
264
345
|
mode: Type.TOptional<Type.TUnion<[Type.TLiteral<"auto">, Type.TLiteral<"live">, Type.TLiteral<"record">, Type.TLiteral<"replay">]>>;
|
|
265
346
|
model: Type.TOptional<Type.TString>;
|
|
266
347
|
/**
|
|
@@ -293,6 +374,68 @@ export declare const TOOL_SCHEMAS: {
|
|
|
293
374
|
/** Proceed past the spend guard. */
|
|
294
375
|
confirm: Type.TOptional<Type.TBoolean>;
|
|
295
376
|
}>;
|
|
377
|
+
readonly "spec-lint": Type.TObject<{
|
|
378
|
+
/** Spec name (repo → user → bundled) or path. Omitted: every spec in reach. */
|
|
379
|
+
spec: Type.TOptional<Type.TString>;
|
|
380
|
+
}>;
|
|
381
|
+
readonly "opportunities-add": Type.TObject<{
|
|
382
|
+
/** Candidates to merge into `.system1/opportunities.json`. */
|
|
383
|
+
candidates: Type.TArray<Type.TObject<{
|
|
384
|
+
mode: Type.TUnion<[Type.TLiteral<"code">, Type.TLiteral<"agents">]>;
|
|
385
|
+
location: Type.TObject<{
|
|
386
|
+
path: Type.TString;
|
|
387
|
+
lines: Type.TOptional<Type.TObject<{
|
|
388
|
+
start: Type.TInteger;
|
|
389
|
+
end: Type.TInteger;
|
|
390
|
+
}>>;
|
|
391
|
+
}>;
|
|
392
|
+
mechanism: Type.TString;
|
|
393
|
+
shape: Type.TUnion<[Type.TLiteral<"single">, Type.TLiteral<"fanout">, Type.TLiteral<"cascade">, Type.TLiteral<"pairwise">]>;
|
|
394
|
+
evidence: Type.TString;
|
|
395
|
+
questions: Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
|
|
396
|
+
type: Type.TLiteral<"noul">;
|
|
397
|
+
instructions: Type.TString;
|
|
398
|
+
criteria: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
399
|
+
}>, Type.TObject<{
|
|
400
|
+
type: Type.TLiteral<"choice">;
|
|
401
|
+
instructions: Type.TString;
|
|
402
|
+
criteria: Type.TRecord<"^.*$", Type.TString>;
|
|
403
|
+
}>, Type.TObject<{
|
|
404
|
+
type: Type.TLiteral<"score">;
|
|
405
|
+
instructions: Type.TString;
|
|
406
|
+
criteria: Type.TArray<Type.TString>;
|
|
407
|
+
}>]>>;
|
|
408
|
+
benefit: Type.TUnion<[Type.TLiteral<"cost">, Type.TLiteral<"quality">, Type.TLiteral<"latency">]>;
|
|
409
|
+
projected: Type.TObject<{
|
|
410
|
+
volume: Type.TNumber;
|
|
411
|
+
per: Type.TString;
|
|
412
|
+
currentCostPerItemUsd: Type.TNumber;
|
|
413
|
+
decisionCostPerItemUsd: Type.TNumber;
|
|
414
|
+
note: Type.TOptional<Type.TString>;
|
|
415
|
+
}>;
|
|
416
|
+
risk: Type.TObject<{
|
|
417
|
+
level: Type.TUnion<[Type.TLiteral<"low">, Type.TLiteral<"medium">, Type.TLiteral<"high">]>;
|
|
418
|
+
note: Type.TString;
|
|
419
|
+
}>;
|
|
420
|
+
next: Type.TString;
|
|
421
|
+
status: Type.TOptional<Type.TUnion<[Type.TLiteral<"new">, Type.TLiteral<"stale">, Type.TLiteral<"adopted">, Type.TLiteral<"rejected">]>>;
|
|
422
|
+
statusReason: Type.TOptional<Type.TString>;
|
|
423
|
+
source: Type.TObject<{
|
|
424
|
+
sweep: Type.TString;
|
|
425
|
+
answers: Type.TUnion<[Type.TLiteral<"live">, Type.TLiteral<"replay">]>;
|
|
426
|
+
}>;
|
|
427
|
+
}>>;
|
|
428
|
+
}>;
|
|
429
|
+
readonly "opportunities-list": Type.TObject<{
|
|
430
|
+
/** Record filters, ANDed: `status=new`, `risk in medium,high`, `projected>=0.01`. */
|
|
431
|
+
keep: Type.TOptional<Type.TArray<Type.TString>>;
|
|
432
|
+
/** `projected:desc` (the default), `seenAt:asc`, … */
|
|
433
|
+
sort: Type.TOptional<Type.TString>;
|
|
434
|
+
limit: Type.TOptional<Type.TInteger>;
|
|
435
|
+
/** Top-level fields to include per entry; `id` always is. */
|
|
436
|
+
fields: Type.TOptional<Type.TArray<Type.TString>>;
|
|
437
|
+
}>;
|
|
438
|
+
readonly "opportunities-check": Type.TObject<{}>;
|
|
296
439
|
readonly route: Type.TObject<{
|
|
297
440
|
/** The user's prompt, as the harness hook received it. */
|
|
298
441
|
prompt: Type.TString;
|