@harness-engineering/cli 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/personas/adversarial-reviewer.yaml +43 -0
- package/dist/agents/personas/frontend-races-reviewer.yaml +54 -0
- package/dist/agents/personas/typescript-strict-reviewer.yaml +53 -0
- package/dist/agents/skills/CHANGELOG.md +12 -0
- package/dist/agents/skills/claude-code/align-design-system/SKILL.md +18 -0
- package/dist/agents/skills/claude-code/align-design-system/skill.yaml +3 -0
- package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +37 -5
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +107 -22
- package/dist/agents/skills/claude-code/harness-code-review/references/confidence-rubric.md +45 -0
- package/dist/agents/skills/claude-code/harness-code-review/references/risk-keywords.md +40 -0
- package/dist/agents/skills/claude-code/harness-code-review/skill.yaml +3 -0
- package/dist/agents/skills/claude-code/harness-compound/SKILL.md +7 -4
- package/dist/agents/skills/claude-code/harness-ideate/SKILL.md +277 -0
- package/dist/agents/skills/claude-code/harness-ideate/references/scoring.md +88 -0
- package/dist/agents/skills/claude-code/harness-ideate/skill.yaml +66 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +14 -4
- package/dist/agents/skills/claude-code/harness-pulse/SKILL.md +12 -16
- package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +34 -6
- package/dist/agents/skills/claude-code/harness-strategy/SKILL.md +152 -0
- package/dist/agents/skills/claude-code/harness-strategy/references/interview.md +122 -0
- package/dist/agents/skills/claude-code/harness-strategy/skill.yaml +54 -0
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +76 -10
- package/dist/agents/skills/claude-code/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/codex/align-design-system/SKILL.md +18 -0
- package/dist/agents/skills/codex/align-design-system/skill.yaml +3 -0
- package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +37 -5
- package/dist/agents/skills/codex/harness-code-review/SKILL.md +107 -22
- package/dist/agents/skills/codex/harness-code-review/references/confidence-rubric.md +45 -0
- package/dist/agents/skills/codex/harness-code-review/references/risk-keywords.md +40 -0
- package/dist/agents/skills/codex/harness-code-review/skill.yaml +3 -0
- package/dist/agents/skills/codex/harness-compound/SKILL.md +7 -4
- package/dist/agents/skills/codex/harness-ideate/SKILL.md +277 -0
- package/dist/agents/skills/codex/harness-ideate/references/scoring.md +88 -0
- package/dist/agents/skills/codex/harness-ideate/skill.yaml +66 -0
- package/dist/agents/skills/codex/harness-planning/SKILL.md +14 -4
- package/dist/agents/skills/codex/harness-pulse/SKILL.md +12 -16
- package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +34 -6
- package/dist/agents/skills/codex/harness-strategy/SKILL.md +152 -0
- package/dist/agents/skills/codex/harness-strategy/references/interview.md +122 -0
- package/dist/agents/skills/codex/harness-strategy/skill.yaml +54 -0
- package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +76 -10
- package/dist/agents/skills/codex/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/cursor/align-design-system/SKILL.md +18 -0
- package/dist/agents/skills/cursor/align-design-system/skill.yaml +3 -0
- package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +37 -5
- package/dist/agents/skills/cursor/harness-code-review/SKILL.md +107 -22
- package/dist/agents/skills/cursor/harness-code-review/references/confidence-rubric.md +45 -0
- package/dist/agents/skills/cursor/harness-code-review/references/risk-keywords.md +40 -0
- package/dist/agents/skills/cursor/harness-code-review/skill.yaml +3 -0
- package/dist/agents/skills/cursor/harness-compound/SKILL.md +7 -4
- package/dist/agents/skills/cursor/harness-ideate/SKILL.md +277 -0
- package/dist/agents/skills/cursor/harness-ideate/references/scoring.md +88 -0
- package/dist/agents/skills/cursor/harness-ideate/skill.yaml +66 -0
- package/dist/agents/skills/cursor/harness-planning/SKILL.md +14 -4
- package/dist/agents/skills/cursor/harness-pulse/SKILL.md +12 -16
- package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +34 -6
- package/dist/agents/skills/cursor/harness-strategy/SKILL.md +152 -0
- package/dist/agents/skills/cursor/harness-strategy/references/interview.md +122 -0
- package/dist/agents/skills/cursor/harness-strategy/skill.yaml +54 -0
- package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +76 -10
- package/dist/agents/skills/cursor/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/gemini-cli/align-design-system/SKILL.md +18 -0
- package/dist/agents/skills/gemini-cli/align-design-system/skill.yaml +3 -0
- package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +37 -5
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +107 -22
- package/dist/agents/skills/gemini-cli/harness-code-review/references/confidence-rubric.md +45 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/references/risk-keywords.md +40 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +3 -0
- package/dist/agents/skills/gemini-cli/harness-compound/SKILL.md +7 -4
- package/dist/agents/skills/gemini-cli/harness-ideate/SKILL.md +277 -0
- package/dist/agents/skills/gemini-cli/harness-ideate/references/scoring.md +88 -0
- package/dist/agents/skills/gemini-cli/harness-ideate/skill.yaml +66 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +14 -4
- package/dist/agents/skills/gemini-cli/harness-pulse/SKILL.md +12 -16
- package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +34 -6
- package/dist/agents/skills/gemini-cli/harness-strategy/SKILL.md +152 -0
- package/dist/agents/skills/gemini-cli/harness-strategy/references/interview.md +122 -0
- package/dist/agents/skills/gemini-cli/harness-strategy/skill.yaml +54 -0
- package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +76 -10
- package/dist/agents/skills/gemini-cli/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/package.json +1 -1
- package/dist/agents/skills/tests/harness-strategy.test.ts +145 -0
- package/dist/agents-md-WMJO5HSM.js +13 -0
- package/dist/analyzer-V633GUHY-MBCQWKDU.js +26 -0
- package/dist/{architecture-ZTEHGIHD.js → architecture-EVYVGPRZ.js} +6 -6
- package/dist/{assess-project-OKDW3YSK.js → assess-project-KZG563SO.js} +1 -1
- package/dist/bin/harness-mcp.js +17 -17
- package/dist/bin/harness.js +27 -27
- package/dist/{check-phase-gate-YJWFDW66.js → check-phase-gate-MK364VXS.js} +6 -6
- package/dist/{chunk-6UHDQP2N.js → chunk-2N4OENGE.js} +1 -1
- package/dist/{chunk-OLTVDPA2.js → chunk-2SNRCAC3.js} +3 -3
- package/dist/{chunk-HLPY3RHE.js → chunk-4BDOSCNY.js} +909 -559
- package/dist/{chunk-S7GEONXL.js → chunk-5XL5QJ5B.js} +2 -2
- package/dist/{chunk-OQE6ME2Z.js → chunk-7EQAZKJ5.js} +2 -2
- package/dist/{chunk-QUPC37UB.js → chunk-ACOOG3UW.js} +6 -6
- package/dist/{chunk-B4OLYXZ4.js → chunk-B7KMTHN3.js} +89 -7
- package/dist/{chunk-OH3NXXUY.js → chunk-BDGTZRZ6.js} +11 -1
- package/dist/{chunk-P7EO7USC.js → chunk-C7J55C6E.js} +10 -10
- package/dist/{chunk-4EGPFB7V.js → chunk-CAQPSFPT.js} +4753 -744
- package/dist/{chunk-TIH53QXY.js → chunk-CLI4K2CH.js} +1 -1
- package/dist/{chunk-ZKA3TGYS.js → chunk-EEFRPEWT.js} +1 -1
- package/dist/{chunk-TIZ3L6CU.js → chunk-FZ5MBXEG.js} +6 -6
- package/dist/{chunk-IY2TZLY5.js → chunk-GOHWCHCS.js} +1809 -812
- package/dist/{chunk-VG6UK6G6.js → chunk-HRSE6IQD.js} +2 -2
- package/dist/{chunk-67RP7MLR.js → chunk-KBCPELBC.js} +3 -3
- package/dist/{chunk-MQG7FHXX.js → chunk-KI6PHH6Q.js} +3 -3
- package/dist/{chunk-HMMSWRWR.js → chunk-LADPYELQ.js} +23 -3
- package/dist/{chunk-W3PDVZ4I.js → chunk-N55WOGN3.js} +90 -21
- package/dist/{chunk-H2ZJOJ7A.js → chunk-PP6ZRL5T.js} +316 -42
- package/dist/{chunk-B3B64OPD.js → chunk-STESM73J.js} +2 -2
- package/dist/{chunk-WOXR6I3R.js → chunk-UBZQE3JN.js} +2 -2
- package/dist/{chunk-6T5AYG5S.js → chunk-UJFNIWC7.js} +5 -5
- package/dist/{chunk-CXAHK5PJ.js → chunk-UUO4K7NX.js} +9 -9
- package/dist/{chunk-Z2GUITAS.js → chunk-UXPWSV3B.js} +9 -9
- package/dist/{chunk-PARV3G2F.js → chunk-VBNJAKUH.js} +2 -2
- package/dist/{chunk-XTIPZUPR.js → chunk-X4EFYVCZ.js} +2 -2
- package/dist/{ci-workflow-YGTQTNVC.js → ci-workflow-IW2H5DC4.js} +5 -5
- package/dist/{dist-E3SAAHCM.js → dist-ICW4QUEW.js} +5 -1
- package/dist/{dist-XIJWWQ5N.js → dist-JCFK263L.js} +52 -4
- package/dist/{dist-R3TOOPJ7.js → dist-OWHMNL4W.js} +1 -1
- package/dist/{docs-KCTLXK2G.js → docs-7CP6VV42.js} +6 -6
- package/dist/engine-MKJEBWU7.js +13 -0
- package/dist/{entropy-M27JUL3V.js → entropy-6JOZJYG7.js} +5 -5
- package/dist/{feedback-W25QO3OL.js → feedback-T65AEJEG.js} +1 -1
- package/dist/{generate-agent-definitions-RNMU5U5R.js → generate-agent-definitions-4VI4YTO2.js} +6 -6
- package/dist/{glob-helper-EX4YZKZO.js → glob-helper-GLZAURJC.js} +1 -1
- package/dist/{graph-loader-EIFEOUVI.js → graph-loader-HHXN5FLP.js} +1 -1
- package/dist/index.d.ts +627 -6
- package/dist/index.js +27 -27
- package/dist/{loader-HZKJ5ABV.js → loader-AWTHHE3A.js} +5 -5
- package/dist/{mcp-NEAPIDTT.js → mcp-JBIBINO2.js} +17 -17
- package/dist/{performance-3AVQUDRG.js → performance-NCOUDOMW.js} +6 -6
- package/dist/{review-pipeline-KA7SGUXJ.js → review-pipeline-YIC6JPMY.js} +5 -5
- package/dist/{runtime-IP6FVV5M.js → runtime-5MHV4UEE.js} +5 -5
- package/dist/{scan-LYKLM4EQ.js → scan-P7YFKB77.js} +1 -1
- package/dist/{security-EAR4FJWI.js → security-VZPJNIDP.js} +1 -1
- package/dist/{validate-EVH3UXIC.js → validate-7BE4VTFI.js} +6 -6
- package/dist/validate-cross-check-F7GEBRDH.js +13 -0
- package/package.json +7 -7
- package/dist/agents-md-267R2NUJ.js +0 -13
- package/dist/analyzer-VY6DJVOU-WYKV3TTW.js +0 -26
- package/dist/engine-J64WPH5K.js +0 -13
- package/dist/validate-cross-check-SNE3SQOB.js +0 -13
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-KET4QQZB.js";
|
|
4
4
|
import {
|
|
5
5
|
init_dist
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GOHWCHCS.js";
|
|
7
7
|
import {
|
|
8
8
|
Err,
|
|
9
9
|
Ok
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-BDGTZRZ6.js";
|
|
11
11
|
|
|
12
12
|
// src/persona/generators/runtime.ts
|
|
13
13
|
init_dist();
|
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
7
7
|
import {
|
|
8
8
|
init_dist
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GOHWCHCS.js";
|
|
10
10
|
import {
|
|
11
11
|
Ok
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BDGTZRZ6.js";
|
|
13
13
|
|
|
14
14
|
// src/mcp/tools/entropy.ts
|
|
15
15
|
init_dist();
|
|
16
16
|
async function loadEntropyGraphOptions(projectPath) {
|
|
17
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
17
|
+
const { loadGraphStore } = await import("./graph-loader-HHXN5FLP.js");
|
|
18
18
|
const store = await loadGraphStore(projectPath);
|
|
19
19
|
if (!store) return void 0;
|
|
20
|
-
const { GraphEntropyAdapter } = await import("./dist-
|
|
20
|
+
const { GraphEntropyAdapter } = await import("./dist-OWHMNL4W.js");
|
|
21
21
|
const adapter = new GraphEntropyAdapter(store);
|
|
22
22
|
const driftData = adapter.computeDriftData();
|
|
23
23
|
const deadCodeData = adapter.computeDeadCodeData();
|
|
@@ -127,7 +127,7 @@ function buildSummaryResponse(report) {
|
|
|
127
127
|
}
|
|
128
128
|
async function handleDetectEntropy(input) {
|
|
129
129
|
try {
|
|
130
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
130
|
+
const { EntropyAnalyzer } = await import("./dist-JCFK263L.js");
|
|
131
131
|
const typeFilter = input.type ?? "all";
|
|
132
132
|
const analyzer = new EntropyAnalyzer({
|
|
133
133
|
rootDir: sanitizePath(input.path),
|
|
@@ -146,7 +146,7 @@ async function handleDetectEntropy(input) {
|
|
|
146
146
|
return resultToMcpResponse(result);
|
|
147
147
|
}
|
|
148
148
|
if (!result.ok) return resultToMcpResponse(result);
|
|
149
|
-
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-
|
|
149
|
+
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-JCFK263L.js");
|
|
150
150
|
const report = result.value;
|
|
151
151
|
const deadCode = report.deadCode;
|
|
152
152
|
const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
|
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
} from "./chunk-3WGJMBKH.js";
|
|
8
8
|
import {
|
|
9
9
|
init_dist as init_dist2
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GOHWCHCS.js";
|
|
11
11
|
import {
|
|
12
12
|
Err,
|
|
13
13
|
Ok
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BDGTZRZ6.js";
|
|
15
15
|
import {
|
|
16
16
|
init_dist,
|
|
17
17
|
skipDirGlobs
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-PP6ZRL5T.js";
|
|
19
19
|
import {
|
|
20
20
|
ArchConfigSchema
|
|
21
21
|
} from "./chunk-QCLOIUMX.js";
|
|
@@ -29,6 +29,7 @@ import * as path from "path";
|
|
|
29
29
|
init_dist2();
|
|
30
30
|
init_dist();
|
|
31
31
|
import { z } from "zod";
|
|
32
|
+
import { BackendDefSchema, RoutingConfigSchema } from "@harness-engineering/orchestrator";
|
|
32
33
|
var LayerSchema = z.object({
|
|
33
34
|
/** Human-readable name of the layer */
|
|
34
35
|
name: z.string(),
|
|
@@ -55,7 +56,21 @@ var AgentConfigSchema = z.object({
|
|
|
55
56
|
/** Maximum execution time in milliseconds */
|
|
56
57
|
timeout: z.number().default(3e5),
|
|
57
58
|
/** Optional list of skill IDs pre-authorized for the agent */
|
|
58
|
-
skills: z.array(z.string()).optional()
|
|
59
|
+
skills: z.array(z.string()).optional(),
|
|
60
|
+
/**
|
|
61
|
+
* Named backend definitions (Spec 2 — multi-backend routing).
|
|
62
|
+
*
|
|
63
|
+
* Each entry maps a backend name (chosen by the project) to a backend
|
|
64
|
+
* type plus its connection details (model, endpoint, apiKey, etc.).
|
|
65
|
+
* Referenced from `craft.llm.backend`, from orchestrator routing rules,
|
|
66
|
+
* and from any future subsystem that needs a configured LLM backend.
|
|
67
|
+
*
|
|
68
|
+
* Schema is re-exported from @harness-engineering/orchestrator so this
|
|
69
|
+
* file and the orchestrator runtime validate against the same source.
|
|
70
|
+
*/
|
|
71
|
+
backends: z.record(z.string(), BackendDefSchema).optional(),
|
|
72
|
+
/** Routing rules for orchestrator agent dispatch. */
|
|
73
|
+
routing: RoutingConfigSchema.optional()
|
|
59
74
|
});
|
|
60
75
|
var EntropyConfigSchema = z.object({
|
|
61
76
|
/** Explicit entry points for reachability analysis (overrides auto-detection) */
|
|
@@ -351,6 +366,65 @@ var ComplianceConfigSchema = z.object({
|
|
|
351
366
|
/** Branch naming convention settings */
|
|
352
367
|
branching: BranchingConfigSchema.default({})
|
|
353
368
|
});
|
|
369
|
+
var CraftConfigSchema = z.object({
|
|
370
|
+
llm: z.object({
|
|
371
|
+
/**
|
|
372
|
+
* Name of an entry in `agent.backends` to route craft LLM calls
|
|
373
|
+
* through. Supported backend types: claude, anthropic, openai,
|
|
374
|
+
* local, pi, mock. (gemini is declared in agent.backends but is
|
|
375
|
+
* not yet wired through the craft adapter.)
|
|
376
|
+
*/
|
|
377
|
+
backend: z.string().optional(),
|
|
378
|
+
/**
|
|
379
|
+
* Special-case mode that doesn't correspond to a backend def.
|
|
380
|
+
* - `in-session` — defer prompts to the calling chat session
|
|
381
|
+
* via the two-step MCP flow (collect → finalize).
|
|
382
|
+
* - `mock` — deterministic mock provider, for tests / smoke runs.
|
|
383
|
+
*/
|
|
384
|
+
mode: z.enum(["in-session", "mock"]).optional()
|
|
385
|
+
}).optional()
|
|
386
|
+
});
|
|
387
|
+
var LocalModelsHardwareOverrideSchema = z.object({
|
|
388
|
+
platform: z.enum(["macos", "nvidia", "cpu"]),
|
|
389
|
+
vramGb: z.number().positive(),
|
|
390
|
+
bandwidthGbps: z.number().positive(),
|
|
391
|
+
ramGb: z.number().positive().optional(),
|
|
392
|
+
gpuName: z.string().optional(),
|
|
393
|
+
cpuName: z.string().optional()
|
|
394
|
+
});
|
|
395
|
+
var LocalModelsPoolConfigSchema = z.object({
|
|
396
|
+
/** Hard ceiling on total on-disk size of installed pool members. */
|
|
397
|
+
diskBudgetGb: z.number().positive().default(100),
|
|
398
|
+
/** Hugging Face org allowlist. Models outside these orgs cannot be installed (D1). */
|
|
399
|
+
allowedOrgs: z.array(z.string()).default([]),
|
|
400
|
+
/** Optional family allowlist; empty means "all families under the allowed orgs". */
|
|
401
|
+
allowedFamilies: z.array(z.string()).default([])
|
|
402
|
+
});
|
|
403
|
+
var LocalModelsRefreshConfigSchema = z.object({
|
|
404
|
+
/** Re-rank cadence in ms. Floor 1h to keep HF API usage civil (D9). */
|
|
405
|
+
intervalMs: z.number().int().min(36e5, "minimum 1h").default(864e5),
|
|
406
|
+
/** Minimum score delta to emit a swap proposal (D2). */
|
|
407
|
+
proposalThreshold: z.number().nonnegative().default(5),
|
|
408
|
+
/** Random jitter added to the interval to avoid thundering herd (D9). */
|
|
409
|
+
jitterMs: z.number().int().nonnegative().default(6e5)
|
|
410
|
+
});
|
|
411
|
+
var LocalModelsInstallerConfigSchema = z.object({
|
|
412
|
+
/** `'ollama'` performs auto-install via REST; `'advisory'` emits copy-paste only (D4). */
|
|
413
|
+
backend: z.enum(["ollama", "advisory"]).default("ollama"),
|
|
414
|
+
/** Ollama REST endpoint. Only consulted when `backend === 'ollama'`. */
|
|
415
|
+
ollamaEndpoint: z.string().url().default("http://localhost:11434")
|
|
416
|
+
});
|
|
417
|
+
var LocalModelsConfigSchema = z.object({
|
|
418
|
+
/** Opt-in switch. Default false preserves today's behavior. */
|
|
419
|
+
enabled: z.boolean().default(false),
|
|
420
|
+
pool: LocalModelsPoolConfigSchema.default({}),
|
|
421
|
+
refresh: LocalModelsRefreshConfigSchema.default({}),
|
|
422
|
+
installer: LocalModelsInstallerConfigSchema.default({}),
|
|
423
|
+
hardware: z.object({
|
|
424
|
+
/** Manual override that skips autodetection (D7 fallback path). */
|
|
425
|
+
override: LocalModelsHardwareOverrideSchema.optional()
|
|
426
|
+
}).optional()
|
|
427
|
+
});
|
|
354
428
|
var HarnessConfigSchema = z.object({
|
|
355
429
|
/** Configuration schema version */
|
|
356
430
|
version: z.literal(1),
|
|
@@ -402,6 +476,8 @@ var HarnessConfigSchema = z.object({
|
|
|
402
476
|
phaseGates: PhaseGatesConfigSchema.optional(),
|
|
403
477
|
/** Design system consistency settings */
|
|
404
478
|
design: DesignConfigSchema.optional(),
|
|
479
|
+
/** Shared configuration for craft-pipeline ceiling skills (LLM-judgment) */
|
|
480
|
+
craft: CraftConfigSchema.optional(),
|
|
405
481
|
/** Internationalization (i18n) settings */
|
|
406
482
|
i18n: I18nConfigSchema.optional(),
|
|
407
483
|
/** Code review settings */
|
|
@@ -453,7 +529,7 @@ var HarnessConfigSchema = z.object({
|
|
|
453
529
|
connectors: z.record(z.string(), z.record(z.string(), z.unknown())).default({})
|
|
454
530
|
}).optional(),
|
|
455
531
|
/**
|
|
456
|
-
*
|
|
532
|
+
* Disk-hygiene rules consumed by `harness cleanup-sessions --all`.
|
|
457
533
|
* Keys correspond to registered target names (sessions, cache, maintenance,
|
|
458
534
|
* dashboard-state, snapshots, analyzer-output); values override the default
|
|
459
535
|
* TTL in hours. Unknown keys are ignored (forward-compatible).
|
|
@@ -462,7 +538,7 @@ var HarnessConfigSchema = z.object({
|
|
|
462
538
|
ttlHours: z.record(z.string(), z.number().positive()).optional()
|
|
463
539
|
}).optional(),
|
|
464
540
|
/**
|
|
465
|
-
*
|
|
541
|
+
* Pre-launch OSV malware guard configuration.
|
|
466
542
|
* `enabled: false` disables the guard; `strict: true` reverses the default
|
|
467
543
|
* fail-open posture on OSV.dev network errors.
|
|
468
544
|
*/
|
|
@@ -470,7 +546,13 @@ var HarnessConfigSchema = z.object({
|
|
|
470
546
|
enabled: z.boolean().default(true),
|
|
471
547
|
strict: z.boolean().default(false),
|
|
472
548
|
cacheTtlHours: z.number().positive().default(24)
|
|
473
|
-
}).optional()
|
|
549
|
+
}).optional(),
|
|
550
|
+
/**
|
|
551
|
+
* Local Model Lifecycle Manager (LMLM) configuration. Optional and
|
|
552
|
+
* disabled by default (`enabled: false`); see
|
|
553
|
+
* `docs/changes/local-model-lifecycle-manager/proposal.md`.
|
|
554
|
+
*/
|
|
555
|
+
localModels: LocalModelsConfigSchema.optional()
|
|
474
556
|
});
|
|
475
557
|
|
|
476
558
|
// src/config/loader.ts
|
|
@@ -21,7 +21,7 @@ function isOk(result) {
|
|
|
21
21
|
function isErr(result) {
|
|
22
22
|
return result.ok === false;
|
|
23
23
|
}
|
|
24
|
-
var STANDARD_COGNITIVE_MODES, DEFAULT_SKILL_CONTEXT_BUDGET, SESSION_SECTION_NAMES, TrajectoryMetadataSchema, PromptCacheStatsSchema, OTLPKeyValueSchema, OTLPSpanSchema, TokenScopeSchema, BridgeKindSchema, AuthTokenSchema, AuthTokenPublicSchema, AuthAuditEntrySchema, WebhookSubscriptionSchema, WebhookSubscriptionPublicSchema, GatewayEventSchema, WebhookDeliveryStatusSchema, WebhookDeliverySchema, INDEXED_FILE_KINDS, SessionSummarySchema, INSIGHTS_KEYS, SESSIONS_DEFAULTS, NotificationSinkKindSchema, NotificationSeveritySchema, NotificationActionSchema, NotificationEnvelopeSchema, NotificationSinkConfigSchema, NotificationsConfigSchema, NotificationDeliveryResultSchema, SkillProvenanceSchema, ProposalKindSchema, ProposalStatusSchema, ProposalGateFindingSchema, ProposalGateSchema, ProposalDecisionSchema, ProposalContentSchema, ProposalSourceSchema, SkillProposalSchema, EmitSkillProposalInputSchema, EditProposalInputSchema;
|
|
24
|
+
var STANDARD_COGNITIVE_MODES, DEFAULT_SKILL_CONTEXT_BUDGET, SESSION_SECTION_NAMES, TrajectoryMetadataSchema, PromptCacheStatsSchema, OTLPKeyValueSchema, OTLPSpanSchema, REQUIRED_STRATEGY_SECTIONS, OPTIONAL_STRATEGY_SECTIONS, TokenScopeSchema, BridgeKindSchema, AuthTokenSchema, AuthTokenPublicSchema, AuthAuditEntrySchema, WebhookSubscriptionSchema, WebhookSubscriptionPublicSchema, GatewayEventSchema, WebhookDeliveryStatusSchema, WebhookDeliverySchema, INDEXED_FILE_KINDS, SessionSummarySchema, INSIGHTS_KEYS, SESSIONS_DEFAULTS, NotificationSinkKindSchema, NotificationSeveritySchema, NotificationActionSchema, NotificationEnvelopeSchema, NotificationSinkConfigSchema, NotificationsConfigSchema, NotificationDeliveryResultSchema, SkillProvenanceSchema, ProposalKindSchema, ProposalStatusSchema, ProposalGateFindingSchema, ProposalGateSchema, ProposalDecisionSchema, ProposalContentSchema, ProposalSourceSchema, SkillProposalSchema, EmitSkillProposalInputSchema, EditProposalInputSchema;
|
|
25
25
|
var init_dist = __esm({
|
|
26
26
|
"../types/dist/index.mjs"() {
|
|
27
27
|
STANDARD_COGNITIVE_MODES = [
|
|
@@ -96,6 +96,14 @@ var init_dist = __esm({
|
|
|
96
96
|
attributes: z.array(OTLPKeyValueSchema),
|
|
97
97
|
status: z.object({ code: z.number().int() }).optional()
|
|
98
98
|
});
|
|
99
|
+
REQUIRED_STRATEGY_SECTIONS = [
|
|
100
|
+
"Target problem",
|
|
101
|
+
"Our approach",
|
|
102
|
+
"Who it's for",
|
|
103
|
+
"Key metrics",
|
|
104
|
+
"Tracks"
|
|
105
|
+
];
|
|
106
|
+
OPTIONAL_STRATEGY_SECTIONS = ["Milestones", "Not working on", "Marketing"];
|
|
99
107
|
TokenScopeSchema = z2.enum([
|
|
100
108
|
"admin",
|
|
101
109
|
"trigger-job",
|
|
@@ -347,6 +355,8 @@ export {
|
|
|
347
355
|
PromptCacheStatsSchema,
|
|
348
356
|
OTLPKeyValueSchema,
|
|
349
357
|
OTLPSpanSchema,
|
|
358
|
+
REQUIRED_STRATEGY_SECTIONS,
|
|
359
|
+
OPTIONAL_STRATEGY_SECTIONS,
|
|
350
360
|
TokenScopeSchema,
|
|
351
361
|
BridgeKindSchema,
|
|
352
362
|
AuthTokenSchema,
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-B7KMTHN3.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-GOHWCHCS.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-BDGTZRZ6.js";
|
|
17
17
|
|
|
18
18
|
// src/mcp/tools/docs.ts
|
|
19
19
|
init_dist();
|
|
@@ -50,18 +50,18 @@ async function handleCheckDocs(input) {
|
|
|
50
50
|
const projectPath = sanitizePath(input.path);
|
|
51
51
|
const scope = input.scope ?? "coverage";
|
|
52
52
|
if (scope === "integrity") {
|
|
53
|
-
const { validateKnowledgeMap } = await import("./dist-
|
|
53
|
+
const { validateKnowledgeMap } = await import("./dist-JCFK263L.js");
|
|
54
54
|
const result2 = await validateKnowledgeMap(projectPath);
|
|
55
55
|
return resultToMcpResponse(result2);
|
|
56
56
|
}
|
|
57
57
|
if (scope === "all") {
|
|
58
|
-
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-
|
|
58
|
+
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-JCFK263L.js");
|
|
59
59
|
const domain2 = input.domain ?? "src";
|
|
60
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
60
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-HHXN5FLP.js");
|
|
61
61
|
const store2 = await loadGraphStore2(projectPath);
|
|
62
62
|
let graphCoverage2;
|
|
63
63
|
if (store2) {
|
|
64
|
-
const { Assembler } = await import("./dist-
|
|
64
|
+
const { Assembler } = await import("./dist-OWHMNL4W.js");
|
|
65
65
|
const assembler = new Assembler(store2);
|
|
66
66
|
const report = assembler.checkCoverage();
|
|
67
67
|
graphCoverage2 = {
|
|
@@ -94,13 +94,13 @@ async function handleCheckDocs(input) {
|
|
|
94
94
|
}
|
|
95
95
|
return resultToMcpResponse(Ok({ coverage, integrity }));
|
|
96
96
|
}
|
|
97
|
-
const { checkDocCoverage } = await import("./dist-
|
|
97
|
+
const { checkDocCoverage } = await import("./dist-JCFK263L.js");
|
|
98
98
|
const domain = input.domain ?? "src";
|
|
99
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
99
|
+
const { loadGraphStore } = await import("./graph-loader-HHXN5FLP.js");
|
|
100
100
|
const store = await loadGraphStore(projectPath);
|
|
101
101
|
let graphCoverage;
|
|
102
102
|
if (store) {
|
|
103
|
-
const { Assembler } = await import("./dist-
|
|
103
|
+
const { Assembler } = await import("./dist-OWHMNL4W.js");
|
|
104
104
|
const assembler = new Assembler(store);
|
|
105
105
|
const report = assembler.checkCoverage();
|
|
106
106
|
graphCoverage = {
|