@hasna/todos 0.11.43 → 0.11.44
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/cli/commands/environment-snapshots.d.ts +3 -0
- package/dist/cli/commands/environment-snapshots.d.ts.map +1 -0
- package/dist/cli/index.js +442 -29
- package/dist/cli-mcp-parity.d.ts +1 -1
- package/dist/cli-mcp-parity.d.ts.map +1 -1
- package/dist/contracts.js +44 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +336 -0
- package/dist/json-contracts.d.ts.map +1 -1
- package/dist/lib/environment-snapshots.d.ts +111 -0
- package/dist/lib/environment-snapshots.d.ts.map +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +335 -7
- package/dist/mcp/token-utils.d.ts.map +1 -1
- package/dist/mcp/tools/environment-snapshots.d.ts +8 -0
- package/dist/mcp/tools/environment-snapshots.d.ts.map +1 -0
- package/dist/mcp.js +2 -0
- package/dist/registry.js +58 -0
- package/dist/release-provenance.json +3 -3
- package/package.json +1 -1
package/dist/contracts.js
CHANGED
|
@@ -2433,6 +2433,50 @@ var TODOS_JSON_CONTRACTS = [
|
|
|
2433
2433
|
},
|
|
2434
2434
|
optional: {}
|
|
2435
2435
|
}),
|
|
2436
|
+
contract({
|
|
2437
|
+
id: "environment_snapshot",
|
|
2438
|
+
name: "Environment Snapshot",
|
|
2439
|
+
description: "Local reproducibility snapshot for task and run verification context.",
|
|
2440
|
+
surfaces: ["cli", "mcp", "sdk"],
|
|
2441
|
+
stability: "stable",
|
|
2442
|
+
required: {
|
|
2443
|
+
schema_version: field("integer", "Snapshot schema version."),
|
|
2444
|
+
id: field("string", "Content-derived snapshot identifier."),
|
|
2445
|
+
captured_at: isoDateField,
|
|
2446
|
+
root: field("string", "Canonical local project root inspected."),
|
|
2447
|
+
machine: field("object", "Local hostname, platform, and architecture metadata."),
|
|
2448
|
+
target: field("object", "Optional task, run, and agent attachment IDs."),
|
|
2449
|
+
runtime: field("object", "Bun, Node, and executable metadata."),
|
|
2450
|
+
package_manager: field("object", "Detected package manager, lockfile hashes, and redacted manifests."),
|
|
2451
|
+
git: field("object", "Local git branch, commit, dirty state, and porcelain status."),
|
|
2452
|
+
config_hashes: field("array", "SHA-256 hashes of relevant local config files."),
|
|
2453
|
+
command_env: field("object", "Redacted command and environment metadata."),
|
|
2454
|
+
warnings: field("array", "Warnings about missing or unavailable local data.")
|
|
2455
|
+
},
|
|
2456
|
+
optional: {}
|
|
2457
|
+
}),
|
|
2458
|
+
contract({
|
|
2459
|
+
id: "environment_snapshot_comparison",
|
|
2460
|
+
name: "Environment Snapshot Comparison",
|
|
2461
|
+
description: "Drift summary returned when comparing two local environment snapshots.",
|
|
2462
|
+
surfaces: ["cli", "mcp", "sdk"],
|
|
2463
|
+
stability: "stable",
|
|
2464
|
+
required: {
|
|
2465
|
+
schema_version: field("integer", "Comparison schema version."),
|
|
2466
|
+
left_id: field("string", "Left snapshot ID."),
|
|
2467
|
+
right_id: field("string", "Right snapshot ID."),
|
|
2468
|
+
same_root: field("boolean", "Whether both snapshots were captured for the same root."),
|
|
2469
|
+
same_machine: field("boolean", "Whether hostname, platform, and architecture match."),
|
|
2470
|
+
same_runtime: field("boolean", "Whether Bun and Node versions match."),
|
|
2471
|
+
same_git_commit: field("boolean", "Whether git commit IDs match."),
|
|
2472
|
+
dirty_state_changed: field("boolean", "Whether the git dirty flag changed."),
|
|
2473
|
+
changed_config_hashes: field("array", "Changed config hash records."),
|
|
2474
|
+
changed_lockfiles: field("array", "Changed lockfile hash records."),
|
|
2475
|
+
changed_manifests: field("array", "Changed manifest hash records."),
|
|
2476
|
+
warnings: field("array", "Comparison warnings.")
|
|
2477
|
+
},
|
|
2478
|
+
optional: {}
|
|
2479
|
+
}),
|
|
2436
2480
|
contract({
|
|
2437
2481
|
id: "local_event_hook",
|
|
2438
2482
|
name: "Local Event Hook",
|
package/dist/index.d.ts
CHANGED
|
@@ -121,6 +121,8 @@ export { getLocalActivityTimeline } from "./lib/activity-timeline.js";
|
|
|
121
121
|
export type { LocalActivityTimelineEntityType, LocalActivityTimelineEntry, LocalActivityTimelineOptions, LocalActivityTimelineOrder, LocalActivityTimelinePage, LocalActivityTimelineSource, } from "./lib/activity-timeline.js";
|
|
122
122
|
export { runTodosDoctor } from "./lib/doctor.js";
|
|
123
123
|
export type { DoctorBackup, DoctorCheck, DoctorRepair, DoctorResult, DoctorSeverity, DoctorSummary, RunTodosDoctorOptions, } from "./lib/doctor.js";
|
|
124
|
+
export { captureEnvironmentSnapshot, compareEnvironmentSnapshotFiles, compareEnvironmentSnapshots, readEnvironmentSnapshot, recordEnvironmentSnapshot, writeEnvironmentSnapshot, } from "./lib/environment-snapshots.js";
|
|
125
|
+
export type { CaptureEnvironmentSnapshotInput, EnvironmentSnapshot, EnvironmentSnapshotComparison, EnvironmentSnapshotFile, EnvironmentSnapshotManifest, RecordedEnvironmentSnapshot, RecordEnvironmentSnapshotInput, } from "./lib/environment-snapshots.js";
|
|
124
126
|
export { checkTaskDoneContract, getTaskContract, getTaskReview, recordTaskReview, requestTaskReview, setTaskContract, } from "./lib/task-contracts.js";
|
|
125
127
|
export type { RecordTaskReviewInput, RecordableTaskReviewState, RequestTaskReviewInput, SetTaskContractInput, TaskContract, TaskDoneContractResult, TaskReview, TaskReviewHistoryEntry, TaskReviewState, TaskRiskLevel, } from "./lib/task-contracts.js";
|
|
126
128
|
export { formatDispatchMessage, formatSingleTask } from "./lib/dispatch-formatter.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2538,6 +2538,50 @@ var TODOS_JSON_CONTRACTS = [
|
|
|
2538
2538
|
},
|
|
2539
2539
|
optional: {}
|
|
2540
2540
|
}),
|
|
2541
|
+
contract({
|
|
2542
|
+
id: "environment_snapshot",
|
|
2543
|
+
name: "Environment Snapshot",
|
|
2544
|
+
description: "Local reproducibility snapshot for task and run verification context.",
|
|
2545
|
+
surfaces: ["cli", "mcp", "sdk"],
|
|
2546
|
+
stability: "stable",
|
|
2547
|
+
required: {
|
|
2548
|
+
schema_version: field("integer", "Snapshot schema version."),
|
|
2549
|
+
id: field("string", "Content-derived snapshot identifier."),
|
|
2550
|
+
captured_at: isoDateField,
|
|
2551
|
+
root: field("string", "Canonical local project root inspected."),
|
|
2552
|
+
machine: field("object", "Local hostname, platform, and architecture metadata."),
|
|
2553
|
+
target: field("object", "Optional task, run, and agent attachment IDs."),
|
|
2554
|
+
runtime: field("object", "Bun, Node, and executable metadata."),
|
|
2555
|
+
package_manager: field("object", "Detected package manager, lockfile hashes, and redacted manifests."),
|
|
2556
|
+
git: field("object", "Local git branch, commit, dirty state, and porcelain status."),
|
|
2557
|
+
config_hashes: field("array", "SHA-256 hashes of relevant local config files."),
|
|
2558
|
+
command_env: field("object", "Redacted command and environment metadata."),
|
|
2559
|
+
warnings: field("array", "Warnings about missing or unavailable local data.")
|
|
2560
|
+
},
|
|
2561
|
+
optional: {}
|
|
2562
|
+
}),
|
|
2563
|
+
contract({
|
|
2564
|
+
id: "environment_snapshot_comparison",
|
|
2565
|
+
name: "Environment Snapshot Comparison",
|
|
2566
|
+
description: "Drift summary returned when comparing two local environment snapshots.",
|
|
2567
|
+
surfaces: ["cli", "mcp", "sdk"],
|
|
2568
|
+
stability: "stable",
|
|
2569
|
+
required: {
|
|
2570
|
+
schema_version: field("integer", "Comparison schema version."),
|
|
2571
|
+
left_id: field("string", "Left snapshot ID."),
|
|
2572
|
+
right_id: field("string", "Right snapshot ID."),
|
|
2573
|
+
same_root: field("boolean", "Whether both snapshots were captured for the same root."),
|
|
2574
|
+
same_machine: field("boolean", "Whether hostname, platform, and architecture match."),
|
|
2575
|
+
same_runtime: field("boolean", "Whether Bun and Node versions match."),
|
|
2576
|
+
same_git_commit: field("boolean", "Whether git commit IDs match."),
|
|
2577
|
+
dirty_state_changed: field("boolean", "Whether the git dirty flag changed."),
|
|
2578
|
+
changed_config_hashes: field("array", "Changed config hash records."),
|
|
2579
|
+
changed_lockfiles: field("array", "Changed lockfile hash records."),
|
|
2580
|
+
changed_manifests: field("array", "Changed manifest hash records."),
|
|
2581
|
+
warnings: field("array", "Comparison warnings.")
|
|
2582
|
+
},
|
|
2583
|
+
optional: {}
|
|
2584
|
+
}),
|
|
2541
2585
|
contract({
|
|
2542
2586
|
id: "local_event_hook",
|
|
2543
2587
|
name: "Local Event Hook",
|
|
@@ -7393,6 +7437,8 @@ var MCP_TOOL_GROUPS = {
|
|
|
7393
7437
|
"check_file_lock",
|
|
7394
7438
|
"create_comment",
|
|
7395
7439
|
"create_handoff",
|
|
7440
|
+
"capture_environment_snapshot",
|
|
7441
|
+
"compare_environment_snapshots",
|
|
7396
7442
|
"create_inbox_item",
|
|
7397
7443
|
"delete_comment",
|
|
7398
7444
|
"detect_file_relationships",
|
|
@@ -8367,6 +8413,18 @@ var TODOS_CLI_MCP_PARITY = [
|
|
|
8367
8413
|
mcpTool: "build_agent_context_pack"
|
|
8368
8414
|
}
|
|
8369
8415
|
},
|
|
8416
|
+
{
|
|
8417
|
+
domain: "environment-snapshots",
|
|
8418
|
+
cliCommands: ["todos env-snapshot"],
|
|
8419
|
+
mcpTools: ["capture_environment_snapshot", "compare_environment_snapshots"],
|
|
8420
|
+
jsonContracts: ["environment_snapshot", "environment_snapshot_comparison", "structured_error", "api_error"],
|
|
8421
|
+
errorContracts: ["structured_error", "api_error"],
|
|
8422
|
+
status: "matched",
|
|
8423
|
+
example: {
|
|
8424
|
+
cli: "todos env-snapshot capture --task 1234abcd --json",
|
|
8425
|
+
mcpTool: "capture_environment_snapshot"
|
|
8426
|
+
}
|
|
8427
|
+
},
|
|
8370
8428
|
{
|
|
8371
8429
|
domain: "imports",
|
|
8372
8430
|
cliCommands: [
|
|
@@ -16295,6 +16353,278 @@ function runTodosDoctor(options = {}) {
|
|
|
16295
16353
|
summary
|
|
16296
16354
|
};
|
|
16297
16355
|
}
|
|
16356
|
+
// src/lib/environment-snapshots.ts
|
|
16357
|
+
import { createHash as createHash6 } from "crypto";
|
|
16358
|
+
import { existsSync as existsSync12, readFileSync as readFileSync9, statSync as statSync6 } from "fs";
|
|
16359
|
+
import { hostname, platform, arch } from "os";
|
|
16360
|
+
import { dirname as dirname8, join as join12, resolve as resolve9 } from "path";
|
|
16361
|
+
import { tmpdir as tmpdir2 } from "os";
|
|
16362
|
+
init_database();
|
|
16363
|
+
var MANIFEST_FILES = ["package.json", "dashboard/package.json", "sdk/package.json"];
|
|
16364
|
+
var LOCKFILES = ["bun.lock", "bun.lockb", "package-lock.json", "npm-shrinkwrap.json"];
|
|
16365
|
+
var CONFIG_FILES = [
|
|
16366
|
+
"AGENTS.md",
|
|
16367
|
+
"CLAUDE.md",
|
|
16368
|
+
"README.md",
|
|
16369
|
+
"SECURITY.md",
|
|
16370
|
+
"bunfig.toml",
|
|
16371
|
+
"tsconfig.json",
|
|
16372
|
+
"components.json",
|
|
16373
|
+
"next.config.js",
|
|
16374
|
+
"next.config.mjs",
|
|
16375
|
+
"next.config.ts",
|
|
16376
|
+
"vite.config.ts",
|
|
16377
|
+
"dashboard/vite.config.ts"
|
|
16378
|
+
];
|
|
16379
|
+
function sha2563(value) {
|
|
16380
|
+
return createHash6("sha256").update(value).digest("hex");
|
|
16381
|
+
}
|
|
16382
|
+
function fileRecord(root, relativePath) {
|
|
16383
|
+
const path = join12(root, relativePath);
|
|
16384
|
+
if (!existsSync12(path))
|
|
16385
|
+
return null;
|
|
16386
|
+
const stat = statSync6(path);
|
|
16387
|
+
if (!stat.isFile())
|
|
16388
|
+
return null;
|
|
16389
|
+
const content = readFileSync9(path);
|
|
16390
|
+
return { path: relativePath, sha256: sha2563(content), size_bytes: content.length };
|
|
16391
|
+
}
|
|
16392
|
+
function manifestRecord(root, relativePath) {
|
|
16393
|
+
const base = fileRecord(root, relativePath);
|
|
16394
|
+
if (!base)
|
|
16395
|
+
return null;
|
|
16396
|
+
const parsed = readJsonFile(join12(root, relativePath));
|
|
16397
|
+
if (!parsed)
|
|
16398
|
+
return { ...base, redacted: {} };
|
|
16399
|
+
const redacted = redactValue({
|
|
16400
|
+
name: parsed["name"] ?? null,
|
|
16401
|
+
version: parsed["version"] ?? null,
|
|
16402
|
+
packageManager: parsed["packageManager"] ?? null,
|
|
16403
|
+
scripts: parsed["scripts"] ?? {},
|
|
16404
|
+
dependencies: parsed["dependencies"] ?? {},
|
|
16405
|
+
devDependencies: parsed["devDependencies"] ?? {},
|
|
16406
|
+
peerDependencies: parsed["peerDependencies"] ?? {},
|
|
16407
|
+
optionalDependencies: parsed["optionalDependencies"] ?? {}
|
|
16408
|
+
});
|
|
16409
|
+
return { ...base, redacted };
|
|
16410
|
+
}
|
|
16411
|
+
function runLocalCommand(root, args) {
|
|
16412
|
+
const result = Bun.spawnSync({
|
|
16413
|
+
cmd: args,
|
|
16414
|
+
cwd: root,
|
|
16415
|
+
stdout: "pipe",
|
|
16416
|
+
stderr: "pipe",
|
|
16417
|
+
env: { PATH: process.env["PATH"] || "" }
|
|
16418
|
+
});
|
|
16419
|
+
return {
|
|
16420
|
+
exitCode: result.exitCode,
|
|
16421
|
+
stdout: redactEvidenceText(result.stdout.toString("utf8").trim()),
|
|
16422
|
+
stderr: redactEvidenceText(result.stderr.toString("utf8").trim())
|
|
16423
|
+
};
|
|
16424
|
+
}
|
|
16425
|
+
function summarizeGitStatus(lines) {
|
|
16426
|
+
const summary = { added: 0, modified: 0, deleted: 0, renamed: 0, untracked: 0 };
|
|
16427
|
+
for (const line of lines) {
|
|
16428
|
+
if (line.startsWith("??"))
|
|
16429
|
+
summary.untracked += 1;
|
|
16430
|
+
else if (line.includes("R"))
|
|
16431
|
+
summary.renamed += 1;
|
|
16432
|
+
else if (line.includes("D"))
|
|
16433
|
+
summary.deleted += 1;
|
|
16434
|
+
else if (line.includes("A"))
|
|
16435
|
+
summary.added += 1;
|
|
16436
|
+
else if (line.includes("M"))
|
|
16437
|
+
summary.modified += 1;
|
|
16438
|
+
}
|
|
16439
|
+
return summary;
|
|
16440
|
+
}
|
|
16441
|
+
function captureGit(root, warnings) {
|
|
16442
|
+
const inside = runLocalCommand(root, ["git", "rev-parse", "--is-inside-work-tree"]);
|
|
16443
|
+
if (inside.exitCode !== 0 || inside.stdout !== "true") {
|
|
16444
|
+
return { present: false, branch: null, commit: null, is_dirty: false, status_porcelain: [], status_summary: summarizeGitStatus([]) };
|
|
16445
|
+
}
|
|
16446
|
+
const branch = runLocalCommand(root, ["git", "branch", "--show-current"]);
|
|
16447
|
+
const commit = runLocalCommand(root, ["git", "rev-parse", "HEAD"]);
|
|
16448
|
+
const status = runLocalCommand(root, ["git", "status", "--porcelain=v1"]);
|
|
16449
|
+
if (commit.exitCode !== 0)
|
|
16450
|
+
warnings.push(`git commit unavailable: ${commit.stderr || commit.stdout || "unknown error"}`);
|
|
16451
|
+
if (status.exitCode !== 0)
|
|
16452
|
+
warnings.push(`git status unavailable: ${status.stderr || status.stdout || "unknown error"}`);
|
|
16453
|
+
const lines = status.stdout ? status.stdout.split(/\r?\n/).filter(Boolean) : [];
|
|
16454
|
+
return {
|
|
16455
|
+
present: true,
|
|
16456
|
+
branch: branch.stdout || null,
|
|
16457
|
+
commit: commit.stdout || null,
|
|
16458
|
+
is_dirty: lines.length > 0,
|
|
16459
|
+
status_porcelain: lines,
|
|
16460
|
+
status_summary: summarizeGitStatus(lines)
|
|
16461
|
+
};
|
|
16462
|
+
}
|
|
16463
|
+
function packageManager(env, lockfiles) {
|
|
16464
|
+
const userAgent = (env["npm_config_user_agent"] || "").toLowerCase();
|
|
16465
|
+
if (userAgent.includes("bun"))
|
|
16466
|
+
return "bun";
|
|
16467
|
+
if (lockfiles.some((file) => file.path.startsWith("bun.lock")))
|
|
16468
|
+
return "bun";
|
|
16469
|
+
if (userAgent.includes("npm") || lockfiles.some((file) => file.path.includes("package-lock")))
|
|
16470
|
+
return "npm";
|
|
16471
|
+
return "unknown";
|
|
16472
|
+
}
|
|
16473
|
+
function isSecretEnvKey(key) {
|
|
16474
|
+
return /api[_-]?key|token|secret|password|credential|private|session|cookie/i.test(key);
|
|
16475
|
+
}
|
|
16476
|
+
function commandEnv(env, includeValues) {
|
|
16477
|
+
const keys = Object.keys(env).sort();
|
|
16478
|
+
const interesting = keys.filter((key) => isSecretEnvKey(key) || ["CI", "NODE_ENV", "BUN_ENV", "SHELL", "TERM", "PATH", "PWD", "USER", "npm_config_user_agent"].includes(key) || key.startsWith("TODOS_") || key.startsWith("BUN_"));
|
|
16479
|
+
const redactedKeys = interesting.filter(isSecretEnvKey);
|
|
16480
|
+
const values = includeValues ? Object.fromEntries(interesting.map((key) => [key, isSecretEnvKey(key) ? "[REDACTED]" : redactEvidenceText(String(env[key] ?? ""))])) : null;
|
|
16481
|
+
return {
|
|
16482
|
+
command: null,
|
|
16483
|
+
env_keys: interesting,
|
|
16484
|
+
env: values,
|
|
16485
|
+
redacted_keys: redactedKeys
|
|
16486
|
+
};
|
|
16487
|
+
}
|
|
16488
|
+
function defaultSnapshotDir() {
|
|
16489
|
+
const dbPath = getDatabasePath();
|
|
16490
|
+
if (dbPath === ":memory:" || dbPath.startsWith("file::memory:"))
|
|
16491
|
+
return join12(tmpdir2(), "hasna-todos", "environment-snapshots");
|
|
16492
|
+
return join12(dirname8(resolve9(dbPath)), "environment-snapshots");
|
|
16493
|
+
}
|
|
16494
|
+
function snapshotWithId(snapshot) {
|
|
16495
|
+
const digest = sha2563(JSON.stringify(snapshot)).slice(0, 24);
|
|
16496
|
+
return { id: `env_${digest}`, ...snapshot };
|
|
16497
|
+
}
|
|
16498
|
+
function captureEnvironmentSnapshot(input = {}) {
|
|
16499
|
+
const root = resolve9(input.root || process.cwd());
|
|
16500
|
+
const env = input.env || process.env;
|
|
16501
|
+
const warnings = [];
|
|
16502
|
+
const manifests = MANIFEST_FILES.map((file) => manifestRecord(root, file)).filter((file) => Boolean(file));
|
|
16503
|
+
const lockfiles = LOCKFILES.map((file) => fileRecord(root, file)).filter((file) => Boolean(file));
|
|
16504
|
+
const configHashes = CONFIG_FILES.map((file) => fileRecord(root, file)).filter((file) => Boolean(file));
|
|
16505
|
+
const commandMetadata = commandEnv(env, Boolean(input.include_env_values));
|
|
16506
|
+
commandMetadata.command = input.command ? redactEvidenceText(input.command) : null;
|
|
16507
|
+
if (manifests.length === 0)
|
|
16508
|
+
warnings.push("no package manifest found");
|
|
16509
|
+
if (lockfiles.length === 0)
|
|
16510
|
+
warnings.push("no package lockfile found");
|
|
16511
|
+
return snapshotWithId({
|
|
16512
|
+
schema_version: 1,
|
|
16513
|
+
captured_at: input.now ? new Date(input.now).toISOString() : new Date().toISOString(),
|
|
16514
|
+
root,
|
|
16515
|
+
machine: { hostname: hostname(), platform: platform(), arch: arch() },
|
|
16516
|
+
target: {
|
|
16517
|
+
task_id: input.task_id ?? null,
|
|
16518
|
+
run_id: input.run_id ?? null,
|
|
16519
|
+
agent_id: input.agent_id ?? null
|
|
16520
|
+
},
|
|
16521
|
+
runtime: {
|
|
16522
|
+
bun: Bun.version || null,
|
|
16523
|
+
node: process.version,
|
|
16524
|
+
executable: process.execPath
|
|
16525
|
+
},
|
|
16526
|
+
package_manager: {
|
|
16527
|
+
manager: packageManager(env, lockfiles),
|
|
16528
|
+
user_agent: env["npm_config_user_agent"] ? redactEvidenceText(env["npm_config_user_agent"]) : null,
|
|
16529
|
+
manifests,
|
|
16530
|
+
lockfiles
|
|
16531
|
+
},
|
|
16532
|
+
git: captureGit(root, warnings),
|
|
16533
|
+
config_hashes: configHashes,
|
|
16534
|
+
command_env: commandMetadata,
|
|
16535
|
+
warnings
|
|
16536
|
+
});
|
|
16537
|
+
}
|
|
16538
|
+
function writeEnvironmentSnapshot(snapshot, outputPath) {
|
|
16539
|
+
const path = outputPath ? resolve9(outputPath) : join12(defaultSnapshotDir(), `${snapshot.id}.json`);
|
|
16540
|
+
ensureDir2(dirname8(path));
|
|
16541
|
+
writeJsonFile(path, snapshot);
|
|
16542
|
+
return path;
|
|
16543
|
+
}
|
|
16544
|
+
function readEnvironmentSnapshot(path) {
|
|
16545
|
+
const snapshot = readJsonFile(resolve9(path));
|
|
16546
|
+
if (!snapshot || snapshot.schema_version !== 1 || typeof snapshot.id !== "string") {
|
|
16547
|
+
throw new Error(`Invalid environment snapshot: ${path}`);
|
|
16548
|
+
}
|
|
16549
|
+
return snapshot;
|
|
16550
|
+
}
|
|
16551
|
+
function recordEnvironmentSnapshot(input = {}, db) {
|
|
16552
|
+
let taskId = input.task_id;
|
|
16553
|
+
let runId = input.run_id;
|
|
16554
|
+
const needsDatabase = Boolean(taskId || runId);
|
|
16555
|
+
const d = needsDatabase ? db || getDatabase() : null;
|
|
16556
|
+
if (runId) {
|
|
16557
|
+
runId = resolveTaskRunId(runId, d);
|
|
16558
|
+
const run = getTaskRun(runId, d);
|
|
16559
|
+
if (!run)
|
|
16560
|
+
throw new Error(`Run not found: ${input.run_id}`);
|
|
16561
|
+
taskId = taskId || run.task_id;
|
|
16562
|
+
}
|
|
16563
|
+
if (taskId && d) {
|
|
16564
|
+
taskId = resolvePartialId(d, "tasks", taskId) || taskId;
|
|
16565
|
+
if (!getTask(taskId, d))
|
|
16566
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
16567
|
+
}
|
|
16568
|
+
const snapshot = captureEnvironmentSnapshot({ ...input, task_id: taskId, run_id: runId });
|
|
16569
|
+
const outputPath = writeEnvironmentSnapshot(snapshot, input.output_path);
|
|
16570
|
+
let taskVerificationId = null;
|
|
16571
|
+
let runArtifactId = null;
|
|
16572
|
+
if (runId) {
|
|
16573
|
+
const artifact = addTaskRunArtifact({
|
|
16574
|
+
run_id: runId,
|
|
16575
|
+
path: outputPath,
|
|
16576
|
+
artifact_type: "environment_snapshot",
|
|
16577
|
+
description: "Reproducible local environment snapshot",
|
|
16578
|
+
metadata: { environment_snapshot_id: snapshot.id, schema_version: snapshot.schema_version },
|
|
16579
|
+
store_content: input.store_content ?? true,
|
|
16580
|
+
agent_id: input.agent_id
|
|
16581
|
+
}, d);
|
|
16582
|
+
runArtifactId = artifact.id;
|
|
16583
|
+
} else if (taskId) {
|
|
16584
|
+
const verification = addTaskVerification({
|
|
16585
|
+
task_id: taskId,
|
|
16586
|
+
command: input.command || "capture environment snapshot",
|
|
16587
|
+
status: "unknown",
|
|
16588
|
+
output_summary: `environment snapshot ${snapshot.id}`,
|
|
16589
|
+
artifact_path: outputPath,
|
|
16590
|
+
agent_id: input.agent_id,
|
|
16591
|
+
run_at: snapshot.captured_at
|
|
16592
|
+
}, d);
|
|
16593
|
+
taskVerificationId = verification.id;
|
|
16594
|
+
}
|
|
16595
|
+
return { snapshot, output_path: outputPath, task_verification_id: taskVerificationId, run_artifact_id: runArtifactId };
|
|
16596
|
+
}
|
|
16597
|
+
function keyed(files) {
|
|
16598
|
+
return new Map(files.map((file) => [file.path, file]));
|
|
16599
|
+
}
|
|
16600
|
+
function diffFiles(left, right) {
|
|
16601
|
+
const leftMap = keyed(left);
|
|
16602
|
+
const rightMap = keyed(right);
|
|
16603
|
+
const paths = [...new Set([...leftMap.keys(), ...rightMap.keys()])].sort((a, b) => a.localeCompare(b));
|
|
16604
|
+
return paths.map((path) => ({ path, left_sha256: leftMap.get(path)?.sha256 ?? null, right_sha256: rightMap.get(path)?.sha256 ?? null })).filter((entry) => entry.left_sha256 !== entry.right_sha256);
|
|
16605
|
+
}
|
|
16606
|
+
function compareEnvironmentSnapshots(left, right) {
|
|
16607
|
+
const warnings = [];
|
|
16608
|
+
if (left.schema_version !== right.schema_version)
|
|
16609
|
+
warnings.push("snapshot schema versions differ");
|
|
16610
|
+
return {
|
|
16611
|
+
schema_version: 1,
|
|
16612
|
+
left_id: left.id,
|
|
16613
|
+
right_id: right.id,
|
|
16614
|
+
same_root: left.root === right.root,
|
|
16615
|
+
same_machine: left.machine.hostname === right.machine.hostname && left.machine.platform === right.machine.platform && left.machine.arch === right.machine.arch,
|
|
16616
|
+
same_runtime: left.runtime.bun === right.runtime.bun && left.runtime.node === right.runtime.node,
|
|
16617
|
+
same_git_commit: left.git.commit === right.git.commit,
|
|
16618
|
+
dirty_state_changed: left.git.is_dirty !== right.git.is_dirty,
|
|
16619
|
+
changed_config_hashes: diffFiles(left.config_hashes, right.config_hashes),
|
|
16620
|
+
changed_lockfiles: diffFiles(left.package_manager.lockfiles, right.package_manager.lockfiles),
|
|
16621
|
+
changed_manifests: diffFiles(left.package_manager.manifests, right.package_manager.manifests),
|
|
16622
|
+
warnings
|
|
16623
|
+
};
|
|
16624
|
+
}
|
|
16625
|
+
function compareEnvironmentSnapshotFiles(leftPath, rightPath) {
|
|
16626
|
+
return compareEnvironmentSnapshots(readEnvironmentSnapshot(leftPath), readEnvironmentSnapshot(rightPath));
|
|
16627
|
+
}
|
|
16298
16628
|
// src/lib/task-contracts.ts
|
|
16299
16629
|
init_database();
|
|
16300
16630
|
var CONTRACT_KEY = "_contract";
|
|
@@ -16509,6 +16839,7 @@ function checkTaskDoneContract(taskId, db) {
|
|
|
16509
16839
|
};
|
|
16510
16840
|
}
|
|
16511
16841
|
export {
|
|
16842
|
+
writeEnvironmentSnapshot,
|
|
16512
16843
|
writeBuiltinTemplateFiles,
|
|
16513
16844
|
verifyTaskRunArtifacts,
|
|
16514
16845
|
verifyStoredArtifact,
|
|
@@ -16608,6 +16939,8 @@ export {
|
|
|
16608
16939
|
redistributeStaleTasks,
|
|
16609
16940
|
redactEvidenceText,
|
|
16610
16941
|
recordTaskReview,
|
|
16942
|
+
recordEnvironmentSnapshot,
|
|
16943
|
+
readEnvironmentSnapshot,
|
|
16611
16944
|
queueAgentRun,
|
|
16612
16945
|
queryTasksByLocalFields,
|
|
16613
16946
|
previewTemplate,
|
|
@@ -16848,6 +17181,8 @@ export {
|
|
|
16848
17181
|
createAgentContextPack,
|
|
16849
17182
|
countTasks,
|
|
16850
17183
|
completeTask,
|
|
17184
|
+
compareEnvironmentSnapshots,
|
|
17185
|
+
compareEnvironmentSnapshotFiles,
|
|
16851
17186
|
closeDatabase,
|
|
16852
17187
|
cloneTask,
|
|
16853
17188
|
clearChecklist,
|
|
@@ -16863,6 +17198,7 @@ export {
|
|
|
16863
17198
|
checkChecklistItem,
|
|
16864
17199
|
checkBudget,
|
|
16865
17200
|
checkApprovalGate,
|
|
17201
|
+
captureEnvironmentSnapshot,
|
|
16866
17202
|
cancelDispatch,
|
|
16867
17203
|
cancelAgentRunDispatch,
|
|
16868
17204
|
calculateDelay,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-contracts.d.ts","sourceRoot":"","sources":["../src/json-contracts.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3G,MAAM,WAAW,kCAAkC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,GAAG,SAAS,kBAAkB,EAAE,CAAC;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjD,oBAAoB,EAAE,IAAI,CAAC;IAC3B,SAAS,EAAE;QACT,gBAAgB,EAAE,SAAS,CAAC;QAC5B,sBAAsB,EAAE,UAAU,CAAC;QACnC,0BAA0B,EAAE,UAAU,CAAC;QACvC,qBAAqB,EAAE,UAAU,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,8BAA8B,CAAC;IACxC,SAAS,EAAE,uBAAuB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,2BAA2B,EAAE,CAAC;CAC/C;AAsCD,eAAO,MAAM,oBAAoB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"json-contracts.d.ts","sourceRoot":"","sources":["../src/json-contracts.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3G,MAAM,WAAW,kCAAkC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,GAAG,SAAS,kBAAkB,EAAE,CAAC;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjD,oBAAoB,EAAE,IAAI,CAAC;IAC3B,SAAS,EAAE;QACT,gBAAgB,EAAE,SAAS,CAAC;QAC5B,sBAAsB,EAAE,UAAU,CAAC;QACnC,0BAA0B,EAAE,UAAU,CAAC;QACvC,qBAAqB,EAAE,UAAU,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,8BAA8B,CAAC;IACxC,SAAS,EAAE,uBAAuB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,2BAA2B,EAAE,CAAC;CAC/C;AAsCD,eAAO,MAAM,oBAAoB,EAAE,uBAAuB,EAipBzD,CAAC;AAyBF,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAElF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,4BAA4B,CA8BrG;AAED,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,kCAAuC,GAC/C,0BAA0B,CAQ5B;AAED,eAAO,MAAM,6BAA6B,4BAExC,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
export interface EnvironmentSnapshotFile {
|
|
3
|
+
path: string;
|
|
4
|
+
sha256: string;
|
|
5
|
+
size_bytes: number;
|
|
6
|
+
}
|
|
7
|
+
export interface EnvironmentSnapshotManifest extends EnvironmentSnapshotFile {
|
|
8
|
+
redacted: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export interface EnvironmentSnapshot {
|
|
11
|
+
schema_version: 1;
|
|
12
|
+
id: string;
|
|
13
|
+
captured_at: string;
|
|
14
|
+
root: string;
|
|
15
|
+
machine: {
|
|
16
|
+
hostname: string;
|
|
17
|
+
platform: string;
|
|
18
|
+
arch: string;
|
|
19
|
+
};
|
|
20
|
+
target: {
|
|
21
|
+
task_id: string | null;
|
|
22
|
+
run_id: string | null;
|
|
23
|
+
agent_id: string | null;
|
|
24
|
+
};
|
|
25
|
+
runtime: {
|
|
26
|
+
bun: string | null;
|
|
27
|
+
node: string;
|
|
28
|
+
executable: string;
|
|
29
|
+
};
|
|
30
|
+
package_manager: {
|
|
31
|
+
manager: "bun" | "npm" | "unknown";
|
|
32
|
+
user_agent: string | null;
|
|
33
|
+
manifests: EnvironmentSnapshotManifest[];
|
|
34
|
+
lockfiles: EnvironmentSnapshotFile[];
|
|
35
|
+
};
|
|
36
|
+
git: {
|
|
37
|
+
present: boolean;
|
|
38
|
+
branch: string | null;
|
|
39
|
+
commit: string | null;
|
|
40
|
+
is_dirty: boolean;
|
|
41
|
+
status_porcelain: string[];
|
|
42
|
+
status_summary: {
|
|
43
|
+
added: number;
|
|
44
|
+
modified: number;
|
|
45
|
+
deleted: number;
|
|
46
|
+
renamed: number;
|
|
47
|
+
untracked: number;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
config_hashes: EnvironmentSnapshotFile[];
|
|
51
|
+
command_env: {
|
|
52
|
+
command: string | null;
|
|
53
|
+
env_keys: string[];
|
|
54
|
+
env: Record<string, string> | null;
|
|
55
|
+
redacted_keys: string[];
|
|
56
|
+
};
|
|
57
|
+
warnings: string[];
|
|
58
|
+
}
|
|
59
|
+
export interface CaptureEnvironmentSnapshotInput {
|
|
60
|
+
root?: string;
|
|
61
|
+
task_id?: string;
|
|
62
|
+
run_id?: string;
|
|
63
|
+
agent_id?: string;
|
|
64
|
+
command?: string;
|
|
65
|
+
env?: NodeJS.ProcessEnv;
|
|
66
|
+
include_env_values?: boolean;
|
|
67
|
+
now?: string | Date;
|
|
68
|
+
}
|
|
69
|
+
export interface RecordEnvironmentSnapshotInput extends CaptureEnvironmentSnapshotInput {
|
|
70
|
+
output_path?: string;
|
|
71
|
+
store_content?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface RecordedEnvironmentSnapshot {
|
|
74
|
+
snapshot: EnvironmentSnapshot;
|
|
75
|
+
output_path: string;
|
|
76
|
+
task_verification_id: string | null;
|
|
77
|
+
run_artifact_id: string | null;
|
|
78
|
+
}
|
|
79
|
+
export interface EnvironmentSnapshotComparison {
|
|
80
|
+
schema_version: 1;
|
|
81
|
+
left_id: string;
|
|
82
|
+
right_id: string;
|
|
83
|
+
same_root: boolean;
|
|
84
|
+
same_machine: boolean;
|
|
85
|
+
same_runtime: boolean;
|
|
86
|
+
same_git_commit: boolean;
|
|
87
|
+
dirty_state_changed: boolean;
|
|
88
|
+
changed_config_hashes: Array<{
|
|
89
|
+
path: string;
|
|
90
|
+
left_sha256: string | null;
|
|
91
|
+
right_sha256: string | null;
|
|
92
|
+
}>;
|
|
93
|
+
changed_lockfiles: Array<{
|
|
94
|
+
path: string;
|
|
95
|
+
left_sha256: string | null;
|
|
96
|
+
right_sha256: string | null;
|
|
97
|
+
}>;
|
|
98
|
+
changed_manifests: Array<{
|
|
99
|
+
path: string;
|
|
100
|
+
left_sha256: string | null;
|
|
101
|
+
right_sha256: string | null;
|
|
102
|
+
}>;
|
|
103
|
+
warnings: string[];
|
|
104
|
+
}
|
|
105
|
+
export declare function captureEnvironmentSnapshot(input?: CaptureEnvironmentSnapshotInput): EnvironmentSnapshot;
|
|
106
|
+
export declare function writeEnvironmentSnapshot(snapshot: EnvironmentSnapshot, outputPath?: string): string;
|
|
107
|
+
export declare function readEnvironmentSnapshot(path: string): EnvironmentSnapshot;
|
|
108
|
+
export declare function recordEnvironmentSnapshot(input?: RecordEnvironmentSnapshotInput, db?: Database): RecordedEnvironmentSnapshot;
|
|
109
|
+
export declare function compareEnvironmentSnapshots(left: EnvironmentSnapshot, right: EnvironmentSnapshot): EnvironmentSnapshotComparison;
|
|
110
|
+
export declare function compareEnvironmentSnapshotFiles(leftPath: string, rightPath: string): EnvironmentSnapshotComparison;
|
|
111
|
+
//# sourceMappingURL=environment-snapshots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-snapshots.d.ts","sourceRoot":"","sources":["../../src/lib/environment-snapshots.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAqFA,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAO9E"}
|