youmd 0.10.2 → 0.12.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/commands/brain.d.ts.map +1 -1
- package/dist/commands/brain.js +91 -28
- package/dist/commands/brain.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +6 -1
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/conversations.d.ts +5 -0
- package/dist/commands/conversations.d.ts.map +1 -0
- package/dist/commands/conversations.js +116 -0
- package/dist/commands/conversations.js.map +1 -0
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +16 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/founder.d.ts +13 -0
- package/dist/commands/founder.d.ts.map +1 -0
- package/dist/commands/founder.js +189 -0
- package/dist/commands/founder.js.map +1 -0
- package/dist/commands/handoff.d.ts +5 -0
- package/dist/commands/handoff.d.ts.map +1 -0
- package/dist/commands/handoff.js +432 -0
- package/dist/commands/handoff.js.map +1 -0
- package/dist/commands/orchestrate.d.ts +15 -0
- package/dist/commands/orchestrate.d.ts.map +1 -1
- package/dist/commands/orchestrate.js +294 -0
- package/dist/commands/orchestrate.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +8 -1
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/reconcile.d.ts +15 -0
- package/dist/commands/reconcile.d.ts.map +1 -0
- package/dist/commands/reconcile.js +260 -0
- package/dist/commands/reconcile.js.map +1 -0
- package/dist/commands/session.d.ts +28 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +895 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/stack.d.ts +2 -0
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +26 -0
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +11 -0
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/tasks.d.ts +57 -0
- package/dist/commands/tasks.d.ts.map +1 -1
- package/dist/commands/tasks.js +236 -31
- package/dist/commands/tasks.js.map +1 -1
- package/dist/generated/capability-registry.d.ts +311 -71
- package/dist/generated/capability-registry.d.ts.map +1 -1
- package/dist/generated/capability-registry.js +346 -71
- package/dist/generated/capability-registry.js.map +1 -1
- package/dist/index.js +113 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +362 -1
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +171 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/brain/adapters.d.ts +20 -1
- package/dist/lib/brain/adapters.d.ts.map +1 -1
- package/dist/lib/brain/adapters.js +113 -2
- package/dist/lib/brain/adapters.js.map +1 -1
- package/dist/lib/brain/approval-key-trust.d.ts +29 -0
- package/dist/lib/brain/approval-key-trust.d.ts.map +1 -0
- package/dist/lib/brain/approval-key-trust.js +139 -0
- package/dist/lib/brain/approval-key-trust.js.map +1 -0
- package/dist/lib/brain/cache.d.ts +2 -2
- package/dist/lib/brain/cache.d.ts.map +1 -1
- package/dist/lib/brain/cache.js +4 -4
- package/dist/lib/brain/cache.js.map +1 -1
- package/dist/lib/brain/content.d.ts +56 -0
- package/dist/lib/brain/content.d.ts.map +1 -0
- package/dist/lib/brain/content.js +362 -0
- package/dist/lib/brain/content.js.map +1 -0
- package/dist/lib/brain/descriptor-validator.d.ts +11 -0
- package/dist/lib/brain/descriptor-validator.d.ts.map +1 -0
- package/dist/lib/brain/descriptor-validator.js +185 -0
- package/dist/lib/brain/descriptor-validator.js.map +1 -0
- package/dist/lib/brain/discovery.d.ts.map +1 -1
- package/dist/lib/brain/discovery.js +103 -60
- package/dist/lib/brain/discovery.js.map +1 -1
- package/dist/lib/brain/index.d.ts +2 -0
- package/dist/lib/brain/index.d.ts.map +1 -1
- package/dist/lib/brain/index.js +8 -2
- package/dist/lib/brain/index.js.map +1 -1
- package/dist/lib/brain/proposal.d.ts +53 -5
- package/dist/lib/brain/proposal.d.ts.map +1 -1
- package/dist/lib/brain/proposal.js +341 -64
- package/dist/lib/brain/proposal.js.map +1 -1
- package/dist/lib/brain/safe-file.d.ts +25 -1
- package/dist/lib/brain/safe-file.d.ts.map +1 -1
- package/dist/lib/brain/safe-file.js +250 -30
- package/dist/lib/brain/safe-file.js.map +1 -1
- package/dist/lib/brain/safe-open.d.ts +2 -0
- package/dist/lib/brain/safe-open.d.ts.map +1 -0
- package/dist/lib/brain/safe-open.js +77 -0
- package/dist/lib/brain/safe-open.js.map +1 -0
- package/dist/lib/brain/safety.d.ts.map +1 -1
- package/dist/lib/brain/safety.js +5 -0
- package/dist/lib/brain/safety.js.map +1 -1
- package/dist/lib/brain/staged-apply.d.ts +2 -1
- package/dist/lib/brain/staged-apply.d.ts.map +1 -1
- package/dist/lib/brain/staged-apply.js +6 -3
- package/dist/lib/brain/staged-apply.js.map +1 -1
- package/dist/lib/brain/store.d.ts +3 -0
- package/dist/lib/brain/store.d.ts.map +1 -1
- package/dist/lib/brain/store.js +68 -0
- package/dist/lib/brain/store.js.map +1 -1
- package/dist/lib/brain/sync.d.ts +87 -0
- package/dist/lib/brain/sync.d.ts.map +1 -0
- package/dist/lib/brain/sync.js +238 -0
- package/dist/lib/brain/sync.js.map +1 -0
- package/dist/lib/brain/types.d.ts +23 -0
- package/dist/lib/brain/types.d.ts.map +1 -1
- package/dist/lib/config.d.ts +7 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +3 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/daemon.js +1 -1
- package/dist/lib/daemon.js.map +1 -1
- package/dist/lib/goalRegistryFile.d.ts +169 -0
- package/dist/lib/goalRegistryFile.d.ts.map +1 -0
- package/dist/lib/goalRegistryFile.js +518 -0
- package/dist/lib/goalRegistryFile.js.map +1 -0
- package/dist/lib/goalsFile.d.ts +101 -0
- package/dist/lib/goalsFile.d.ts.map +1 -0
- package/dist/lib/goalsFile.js +413 -0
- package/dist/lib/goalsFile.js.map +1 -0
- package/dist/lib/handoff.d.ts +170 -0
- package/dist/lib/handoff.d.ts.map +1 -0
- package/dist/lib/handoff.js +316 -0
- package/dist/lib/handoff.js.map +1 -0
- package/dist/lib/machine-identity.d.ts +2 -0
- package/dist/lib/machine-identity.d.ts.map +1 -1
- package/dist/lib/machine-identity.js +13 -6
- package/dist/lib/machine-identity.js.map +1 -1
- package/dist/lib/onboarding.d.ts +4 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +11 -3
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/orchestrator/loop.d.ts +7 -0
- package/dist/lib/orchestrator/loop.d.ts.map +1 -1
- package/dist/lib/orchestrator/loop.js +53 -0
- package/dist/lib/orchestrator/loop.js.map +1 -1
- package/dist/lib/orchestrator/run-journal.d.ts +178 -0
- package/dist/lib/orchestrator/run-journal.d.ts.map +1 -0
- package/dist/lib/orchestrator/run-journal.js +912 -0
- package/dist/lib/orchestrator/run-journal.js.map +1 -0
- package/dist/lib/orchestrator/supervisor.d.ts +11 -0
- package/dist/lib/orchestrator/supervisor.d.ts.map +1 -1
- package/dist/lib/orchestrator/supervisor.js +304 -116
- package/dist/lib/orchestrator/supervisor.js.map +1 -1
- package/dist/lib/orchestrator/tools.d.ts +2 -0
- package/dist/lib/orchestrator/tools.d.ts.map +1 -1
- package/dist/lib/orchestrator/tools.js +214 -1
- package/dist/lib/orchestrator/tools.js.map +1 -1
- package/dist/lib/redact.d.ts.map +1 -1
- package/dist/lib/redact.js +31 -6
- package/dist/lib/redact.js.map +1 -1
- package/dist/lib/remote-agent-event.d.ts +19 -0
- package/dist/lib/remote-agent-event.d.ts.map +1 -0
- package/dist/lib/remote-agent-event.js +85 -0
- package/dist/lib/remote-agent-event.js.map +1 -0
- package/dist/lib/remote-command.d.ts.map +1 -1
- package/dist/lib/remote-command.js +19 -0
- package/dist/lib/remote-command.js.map +1 -1
- package/dist/lib/remote-executor.d.ts +7 -1
- package/dist/lib/remote-executor.d.ts.map +1 -1
- package/dist/lib/remote-executor.js +391 -0
- package/dist/lib/remote-executor.js.map +1 -1
- package/dist/lib/sessionCheckpoint.d.ts +104 -0
- package/dist/lib/sessionCheckpoint.d.ts.map +1 -0
- package/dist/lib/sessionCheckpoint.js +191 -0
- package/dist/lib/sessionCheckpoint.js.map +1 -0
- package/dist/lib/sessionHandoff.d.ts +47 -0
- package/dist/lib/sessionHandoff.d.ts.map +1 -0
- package/dist/lib/sessionHandoff.js +305 -0
- package/dist/lib/sessionHandoff.js.map +1 -0
- package/dist/lib/stream.d.ts +3 -1
- package/dist/lib/stream.d.ts.map +1 -1
- package/dist/lib/stream.js +8 -3
- package/dist/lib/stream.js.map +1 -1
- package/dist/lib/taskLedgerProposal.d.ts +102 -0
- package/dist/lib/taskLedgerProposal.d.ts.map +1 -0
- package/dist/lib/taskLedgerProposal.js +408 -0
- package/dist/lib/taskLedgerProposal.js.map +1 -0
- package/dist/lib/tasksFile.d.ts +23 -2
- package/dist/lib/tasksFile.d.ts.map +1 -1
- package/dist/lib/tasksFile.js +122 -10
- package/dist/lib/tasksFile.js.map +1 -1
- package/dist/mcp/registry.d.ts.map +1 -1
- package/dist/mcp/registry.js +110 -0
- package/dist/mcp/registry.js.map +1 -1
- package/native/prebuilds/darwin-universal/youmd_safe_open.node +0 -0
- package/native/safe-open/youmd_safe_open.c +224 -0
- package/package.json +11 -3
- package/scripts/build-safe-open.mjs +63 -0
- package/scripts/skillstack-sync/com.you.context-sync.plist +1 -1
- package/scripts/skillstack-sync/com.you.identity-sync.plist +1 -1
- package/scripts/skillstack-sync/com.you.orchestrator-watch.plist +1 -1
- package/scripts/skillstack-sync/com.you.realtime-sync.plist +7 -1
- package/scripts/skillstack-sync/com.you.skillstack-sync.plist +1 -1
- package/scripts/skillstack-sync/context-sync.sh +19 -7
- package/scripts/skillstack-sync/install-daemons-linux.sh +6 -0
- package/scripts/smoke-safe-open-node.cjs +50 -0
|
@@ -72,6 +72,7 @@ const project_1 = require("./project");
|
|
|
72
72
|
const supervisor_1 = require("./orchestrator/supervisor");
|
|
73
73
|
const config_1 = require("./config");
|
|
74
74
|
const version_1 = require("./version");
|
|
75
|
+
const handoff_1 = require("./handoff");
|
|
75
76
|
/** The exact set of actions a remote machine may trigger. The keys ARE the
|
|
76
77
|
* security boundary — extending it requires a code change + review. */
|
|
77
78
|
exports.ALLOWED_REMOTE_ACTIONS = [
|
|
@@ -95,6 +96,14 @@ exports.ALLOWED_REMOTE_ACTIONS = [
|
|
|
95
96
|
"agent.list",
|
|
96
97
|
"agent.output",
|
|
97
98
|
"agent.stop",
|
|
99
|
+
// End-of-day handoff actions stay inside this typed executor. checkpoint
|
|
100
|
+
// writes a bounded coordinator receipt and never signals a worker;
|
|
101
|
+
// push_clean pins the observed commit OID; sync invokes the canonical machine
|
|
102
|
+
// reconciliation rather than duplicating identity/skill logic here.
|
|
103
|
+
"handoff.checkpoint",
|
|
104
|
+
"handoff.push_clean",
|
|
105
|
+
"handoff.pull_clean",
|
|
106
|
+
"handoff.sync",
|
|
98
107
|
];
|
|
99
108
|
exports.ACTION_SPECS = {
|
|
100
109
|
"git.status": {
|
|
@@ -171,6 +180,30 @@ exports.ACTION_SPECS = {
|
|
|
171
180
|
timeoutMs: 10000,
|
|
172
181
|
description: "stop a running worker agent (opt-in host)",
|
|
173
182
|
},
|
|
183
|
+
"handoff.checkpoint": {
|
|
184
|
+
needsProject: false,
|
|
185
|
+
mutating: "reversible",
|
|
186
|
+
timeoutMs: 15000,
|
|
187
|
+
description: "record an unverified coordinator state receipt without stopping or signaling active work (opt-in host)",
|
|
188
|
+
},
|
|
189
|
+
"handoff.push_clean": {
|
|
190
|
+
needsProject: true,
|
|
191
|
+
mutating: "reversible",
|
|
192
|
+
timeoutMs: 120000,
|
|
193
|
+
description: "push one clean non-divergent branch's exact observed HEAD without force (opt-in host)",
|
|
194
|
+
},
|
|
195
|
+
"handoff.pull_clean": {
|
|
196
|
+
needsProject: true,
|
|
197
|
+
mutating: "reversible",
|
|
198
|
+
timeoutMs: 120000,
|
|
199
|
+
description: "fetch and fast-forward one clean clone from exact planned git state, with postconditions (opt-in host)",
|
|
200
|
+
},
|
|
201
|
+
"handoff.sync": {
|
|
202
|
+
needsProject: false,
|
|
203
|
+
mutating: "reversible",
|
|
204
|
+
timeoutMs: 360000,
|
|
205
|
+
description: "canonical You.md identity, shared-skill, and project-context reconciliation (opt-in host)",
|
|
206
|
+
},
|
|
174
207
|
};
|
|
175
208
|
/**
|
|
176
209
|
* Whether THIS host accepts remote requests to launch/stop autonomous worker agents.
|
|
@@ -444,6 +477,10 @@ async function readGitState(cwd, timeoutMs) {
|
|
|
444
477
|
ahead: 0,
|
|
445
478
|
behind: 0,
|
|
446
479
|
lastCommit: null,
|
|
480
|
+
headOid: null,
|
|
481
|
+
upstream: null,
|
|
482
|
+
upstreamOid: null,
|
|
483
|
+
remoteIdentity: null,
|
|
447
484
|
};
|
|
448
485
|
const branch = await git(["rev-parse", "--abbrev-ref", "HEAD"], cwd, timeoutMs);
|
|
449
486
|
if (branch.exitCode === 0)
|
|
@@ -462,6 +499,22 @@ async function readGitState(cwd, timeoutMs) {
|
|
|
462
499
|
const last = await git(["log", "-1", "--pretty=%h %s"], cwd, timeoutMs);
|
|
463
500
|
if (last.exitCode === 0)
|
|
464
501
|
state.lastCommit = last.stdout.trim() || null;
|
|
502
|
+
const head = await git(["rev-parse", "HEAD"], cwd, timeoutMs);
|
|
503
|
+
if (head.exitCode === 0)
|
|
504
|
+
state.headOid = head.stdout.trim() || null;
|
|
505
|
+
const upstream = await git(["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{upstream}"], cwd, timeoutMs);
|
|
506
|
+
if (upstream.exitCode === 0)
|
|
507
|
+
state.upstream = upstream.stdout.trim() || null;
|
|
508
|
+
const upstreamOid = await git(["rev-parse", "@{upstream}"], cwd, timeoutMs);
|
|
509
|
+
if (upstreamOid.exitCode === 0)
|
|
510
|
+
state.upstreamOid = upstreamOid.stdout.trim() || null;
|
|
511
|
+
const upstreamName = state.upstream?.match(/^([^/]+)\//)?.[1];
|
|
512
|
+
if (upstreamName) {
|
|
513
|
+
const remoteUrl = await git(["remote", "get-url", upstreamName], cwd, timeoutMs);
|
|
514
|
+
if (remoteUrl.exitCode === 0) {
|
|
515
|
+
state.remoteIdentity = (0, handoff_1.normalizeGitRemoteIdentity)(remoteUrl.stdout.trim());
|
|
516
|
+
}
|
|
517
|
+
}
|
|
465
518
|
return state;
|
|
466
519
|
}
|
|
467
520
|
function reject(action, reason) {
|
|
@@ -761,6 +814,344 @@ async function executeRemoteAction(opts) {
|
|
|
761
814
|
secretValuesExposed: false,
|
|
762
815
|
};
|
|
763
816
|
}
|
|
817
|
+
case "handoff.checkpoint": {
|
|
818
|
+
const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "handoff checkpoints");
|
|
819
|
+
if (gate)
|
|
820
|
+
return gate;
|
|
821
|
+
const workers = (0, supervisor_1.refreshWorkers)();
|
|
822
|
+
const receipt = {
|
|
823
|
+
schemaVersion: "you-md/handoff-receipt/v1",
|
|
824
|
+
host: os.hostname(),
|
|
825
|
+
createdAt: new Date().toISOString(),
|
|
826
|
+
workers: workers.map((worker) => ({
|
|
827
|
+
id: worker.id,
|
|
828
|
+
harness: worker.harness,
|
|
829
|
+
project: worker.project ?? null,
|
|
830
|
+
status: worker.status,
|
|
831
|
+
startedAt: worker.startedAt,
|
|
832
|
+
endedAt: worker.endedAt ?? null,
|
|
833
|
+
})),
|
|
834
|
+
activeWorkPreserved: true,
|
|
835
|
+
signalsSent: [],
|
|
836
|
+
arbitraryChatControl: false,
|
|
837
|
+
secretValuesExposed: false,
|
|
838
|
+
};
|
|
839
|
+
const dir = path.join(os.homedir(), ".you", "handoff", "receipts");
|
|
840
|
+
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
841
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
842
|
+
const receiptPath = path.join(dir, `${stamp}.json`);
|
|
843
|
+
fs.writeFileSync(receiptPath, `${JSON.stringify(receipt, null, 2)}\n`, { mode: 0o600 });
|
|
844
|
+
return {
|
|
845
|
+
ok: true,
|
|
846
|
+
action,
|
|
847
|
+
exitCode: 0,
|
|
848
|
+
output: cleanOutput(`unverified coordinator state receipt ${receiptPath}\nworkers: ${workers.length}\nrunning: ${workers.filter((worker) => worker.status === "running").length}\nno worker message delivered; active work preserved; no signals sent`, ""),
|
|
849
|
+
status: "ok",
|
|
850
|
+
secretValuesExposed: false,
|
|
851
|
+
};
|
|
852
|
+
}
|
|
853
|
+
case "handoff.push_clean": {
|
|
854
|
+
const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "clean handoff pushes");
|
|
855
|
+
if (gate)
|
|
856
|
+
return gate;
|
|
857
|
+
const repo = cwd;
|
|
858
|
+
const expectedHead = typeof args.expectedHead === "string" ? args.expectedHead.trim() : "";
|
|
859
|
+
const expectedBranch = typeof args.expectedBranch === "string" ? args.expectedBranch.trim() : "";
|
|
860
|
+
const expectedUpstream = typeof args.expectedUpstream === "string" ? args.expectedUpstream.trim() : "";
|
|
861
|
+
const expectedUpstreamOid = typeof args.expectedUpstreamOid === "string" ? args.expectedUpstreamOid.trim() : "";
|
|
862
|
+
const expectedRemoteIdentity = typeof args.expectedRemoteIdentity === "string" ? args.expectedRemoteIdentity.trim() : "";
|
|
863
|
+
const expectedFinalOid = typeof args.expectedFinalOid === "string" ? args.expectedFinalOid.trim() : "";
|
|
864
|
+
if ((0, handoff_1.normalizeGitRemoteIdentity)(expectedRemoteIdentity) !== expectedRemoteIdentity ||
|
|
865
|
+
!/^[0-9a-f]{40,64}$/i.test(expectedFinalOid) ||
|
|
866
|
+
expectedFinalOid !== expectedHead) {
|
|
867
|
+
return reject(action, "clean push requires one canonical planned remote identity and final OID");
|
|
868
|
+
}
|
|
869
|
+
const before = await readGitState(repo, 20000);
|
|
870
|
+
if (before.headOid !== expectedHead ||
|
|
871
|
+
before.branch !== expectedBranch ||
|
|
872
|
+
before.upstream !== expectedUpstream ||
|
|
873
|
+
before.upstreamOid !== expectedUpstreamOid ||
|
|
874
|
+
before.remoteIdentity !== expectedRemoteIdentity) {
|
|
875
|
+
return reject(action, "repository changed after handoff planning; clean push preconditions failed");
|
|
876
|
+
}
|
|
877
|
+
if (before.dirty)
|
|
878
|
+
return reject(action, "clean push gate failed: working tree or index is dirty");
|
|
879
|
+
if (!before.branch || before.branch === "HEAD")
|
|
880
|
+
return reject(action, "clean push gate failed: detached HEAD");
|
|
881
|
+
if (before.ahead <= 0)
|
|
882
|
+
return reject(action, "clean push gate failed: branch is not ahead");
|
|
883
|
+
if (before.behind > 0)
|
|
884
|
+
return reject(action, "clean push gate failed: branch diverged from upstream");
|
|
885
|
+
const headResult = await git(["rev-parse", "HEAD"], repo, 20000);
|
|
886
|
+
const upstreamResult = await git(["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{upstream}"], repo, 20000);
|
|
887
|
+
const head = headResult.stdout.trim();
|
|
888
|
+
const upstream = upstreamResult.stdout.trim();
|
|
889
|
+
const upstreamMatch = upstream.match(/^([^/]+)\/(.+)$/);
|
|
890
|
+
if (headResult.exitCode !== 0 || !/^[0-9a-f]{40,64}$/i.test(head) || upstreamResult.exitCode !== 0 || !upstreamMatch) {
|
|
891
|
+
return reject(action, "clean push gate failed: exact HEAD or upstream could not be resolved");
|
|
892
|
+
}
|
|
893
|
+
const remote = upstreamMatch[1];
|
|
894
|
+
const remoteBranch = upstreamMatch[2];
|
|
895
|
+
const branchFormat = await git(["check-ref-format", `refs/heads/${remoteBranch}`], repo, 20000);
|
|
896
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(remote) || branchFormat.exitCode !== 0) {
|
|
897
|
+
return reject(action, "clean push upstream remote or branch ref is unsafe");
|
|
898
|
+
}
|
|
899
|
+
const range = `${upstream}..${head}`;
|
|
900
|
+
const pathHistory = await git(["log", "--format=", "--name-only", "-z", range], repo, 30000);
|
|
901
|
+
if (pathHistory.exitCode !== 0)
|
|
902
|
+
return reject(action, "clean push gate failed: ahead path history could not be inventoried");
|
|
903
|
+
const historicalPaths = pathHistory.stdout.split("\0").map((value) => value.trim()).filter(Boolean);
|
|
904
|
+
const sensitive = historicalPaths.filter((file) => {
|
|
905
|
+
const base = path.basename(file).toLowerCase();
|
|
906
|
+
return ((/^\.env(?:\..+)?$/.test(base) && !/^\.env\.(?:example|sample|template)$/.test(base)) ||
|
|
907
|
+
/(?:credentials?|secrets?|private[-_.]?key|id_rsa|id_ed25519)/i.test(base));
|
|
908
|
+
});
|
|
909
|
+
if (sensitive.length > 0) {
|
|
910
|
+
return reject(action, `secret-safe gate blocked ahead commit path(s): ${sensitive.slice(0, 8).join(", ")}`);
|
|
911
|
+
}
|
|
912
|
+
const objectList = await git(["rev-list", "--objects", "--no-object-names", range], repo, 30000);
|
|
913
|
+
if (objectList.exitCode !== 0)
|
|
914
|
+
return reject(action, "secret-safe gate could not enumerate every ahead object");
|
|
915
|
+
const objectIds = [...new Set(objectList.stdout.split("\n").map((value) => value.trim()).filter(Boolean))];
|
|
916
|
+
if (objectIds.length > 5000)
|
|
917
|
+
return reject(action, "secret-safe gate refused an unbounded ahead object range");
|
|
918
|
+
const secretHits = [];
|
|
919
|
+
let scannedBytes = 0;
|
|
920
|
+
const contentPatterns = [
|
|
921
|
+
["private-key", /-----BEGIN [A-Z ]*PRIVATE KEY-----/],
|
|
922
|
+
["github-token", /\bgh[pousr]_[A-Za-z0-9]{20,}\b/],
|
|
923
|
+
["api-secret-assignment", /\b(?:API_KEY|SECRET|TOKEN|PASSWORD|PRIVATE_KEY)\s*[:=]\s*["']?[A-Za-z0-9_./+\-=]{16,}/i],
|
|
924
|
+
];
|
|
925
|
+
for (const oid of objectIds) {
|
|
926
|
+
if (!/^[0-9a-f]{40,64}$/i.test(oid))
|
|
927
|
+
return reject(action, "secret-safe gate received an invalid ahead object id");
|
|
928
|
+
const type = await git(["cat-file", "-t", oid], repo, 20000);
|
|
929
|
+
if (type.exitCode !== 0)
|
|
930
|
+
return reject(action, `secret-safe gate could not classify ahead object ${oid.slice(0, 12)}`);
|
|
931
|
+
if (type.stdout.trim() !== "blob")
|
|
932
|
+
continue;
|
|
933
|
+
const size = await git(["cat-file", "-s", oid], repo, 20000);
|
|
934
|
+
const blobBytes = Number(size.stdout.trim());
|
|
935
|
+
if (size.exitCode !== 0 || !Number.isFinite(blobBytes) || blobBytes < 0) {
|
|
936
|
+
return reject(action, `secret-safe gate could not size ahead blob ${oid.slice(0, 12)}`);
|
|
937
|
+
}
|
|
938
|
+
if (blobBytes > 1024 * 1024)
|
|
939
|
+
return reject(action, `secret-safe gate cannot completely scan oversized ahead blob ${oid.slice(0, 12)}`);
|
|
940
|
+
scannedBytes += blobBytes;
|
|
941
|
+
if (scannedBytes > 50 * 1024 * 1024)
|
|
942
|
+
return reject(action, "secret-safe gate refused an unbounded total ahead blob size");
|
|
943
|
+
const shown = await git(["cat-file", "blob", oid], repo, 20000);
|
|
944
|
+
if (shown.exitCode !== 0 || Buffer.byteLength(shown.stdout, "utf8") !== blobBytes) {
|
|
945
|
+
return reject(action, `secret-safe gate could not read complete ahead blob ${oid.slice(0, 12)}`);
|
|
946
|
+
}
|
|
947
|
+
if (shown.stdout.includes("\0"))
|
|
948
|
+
return reject(action, `secret-safe gate cannot scan binary ahead blob ${oid.slice(0, 12)}`);
|
|
949
|
+
const hit = contentPatterns.find(([, pattern]) => pattern.test(shown.stdout));
|
|
950
|
+
if (hit)
|
|
951
|
+
secretHits.push(`${oid.slice(0, 12)} (${hit[0]})`);
|
|
952
|
+
}
|
|
953
|
+
if (secretHits.length > 0) {
|
|
954
|
+
return reject(action, `secret-safe gate found possible credential material: ${secretHits.slice(0, 8).join(", ")}`);
|
|
955
|
+
}
|
|
956
|
+
const diffCheck = await git(["diff", "--check", range], repo, 30000);
|
|
957
|
+
if (diffCheck.exitCode !== 0)
|
|
958
|
+
return reject(action, `diff check failed: ${cleanOutput(diffCheck.stdout, diffCheck.stderr)}`);
|
|
959
|
+
const hasContext = ["AGENTS.md", "CLAUDE.md", "project-context", ".you"]
|
|
960
|
+
.some((entry) => fs.existsSync(path.join(repo, entry)));
|
|
961
|
+
if (!hasContext)
|
|
962
|
+
return reject(action, "context gate failed: no AGENTS.md, CLAUDE.md, project-context, or .you context found");
|
|
963
|
+
let testSummary = "no package test declared; structural gates only";
|
|
964
|
+
const packagePath = path.join(repo, "package.json");
|
|
965
|
+
if (fs.existsSync(packagePath)) {
|
|
966
|
+
let pkg;
|
|
967
|
+
try {
|
|
968
|
+
pkg = JSON.parse(fs.readFileSync(packagePath, "utf8"));
|
|
969
|
+
}
|
|
970
|
+
catch (error) {
|
|
971
|
+
return reject(action, `test gate could not read package.json: ${error instanceof Error ? error.message : String(error)}`);
|
|
972
|
+
}
|
|
973
|
+
const testName = ["test", "typecheck", "build"].find((name) => typeof pkg.scripts?.[name] === "string");
|
|
974
|
+
if (testName) {
|
|
975
|
+
const runner = fs.existsSync(path.join(repo, "pnpm-lock.yaml"))
|
|
976
|
+
? { file: "pnpm", args: ["run", testName] }
|
|
977
|
+
: fs.existsSync(path.join(repo, "yarn.lock"))
|
|
978
|
+
? { file: "yarn", args: [testName] }
|
|
979
|
+
: { file: "npm", args: ["run", testName] };
|
|
980
|
+
const checked = await runProcess(runner.file, runner.args, repo, 300000);
|
|
981
|
+
if (checked.exitCode !== 0) {
|
|
982
|
+
return {
|
|
983
|
+
ok: false,
|
|
984
|
+
action,
|
|
985
|
+
exitCode: checked.exitCode,
|
|
986
|
+
output: cleanOutput(checked.stdout, checked.stderr),
|
|
987
|
+
error: `${testName} gate failed`,
|
|
988
|
+
status: "error",
|
|
989
|
+
secretValuesExposed: false,
|
|
990
|
+
};
|
|
991
|
+
}
|
|
992
|
+
testSummary = `${runner.file} ${runner.args.join(" ")} passed`;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
// Recheck the complete observable state after slow gates. A concurrent
|
|
996
|
+
// index/worktree/HEAD change aborts; the push refspec also pins the
|
|
997
|
+
// originally observed OID, so a race cannot push a later commit.
|
|
998
|
+
const after = await readGitState(repo, 20000);
|
|
999
|
+
const headAfter = await git(["rev-parse", "HEAD"], repo, 20000);
|
|
1000
|
+
if (after.dirty ||
|
|
1001
|
+
after.branch !== before.branch ||
|
|
1002
|
+
after.ahead !== before.ahead ||
|
|
1003
|
+
after.behind !== before.behind ||
|
|
1004
|
+
after.remoteIdentity !== expectedRemoteIdentity ||
|
|
1005
|
+
headAfter.stdout.trim() !== head) {
|
|
1006
|
+
return reject(action, "repository changed during clean push gates; retry from a fresh plan");
|
|
1007
|
+
}
|
|
1008
|
+
const push = await git(["push", remote, `${head}:refs/heads/${remoteBranch}`], repo, spec.timeoutMs);
|
|
1009
|
+
const remoteCheck = await git(["ls-remote", "--heads", remote, `refs/heads/${remoteBranch}`], repo, 30000);
|
|
1010
|
+
const observedRemoteHead = remoteCheck.stdout.trim().split(/\s+/)[0] || "";
|
|
1011
|
+
const gitState = await readGitState(repo, 20000);
|
|
1012
|
+
const ok = push.exitCode === 0 &&
|
|
1013
|
+
remoteCheck.exitCode === 0 &&
|
|
1014
|
+
observedRemoteHead === expectedFinalOid &&
|
|
1015
|
+
!gitState.dirty &&
|
|
1016
|
+
gitState.headOid === expectedFinalOid &&
|
|
1017
|
+
gitState.upstreamOid === expectedFinalOid &&
|
|
1018
|
+
gitState.remoteIdentity === expectedRemoteIdentity &&
|
|
1019
|
+
gitState.ahead === 0 &&
|
|
1020
|
+
gitState.behind === 0;
|
|
1021
|
+
return {
|
|
1022
|
+
ok,
|
|
1023
|
+
action,
|
|
1024
|
+
exitCode: push.exitCode,
|
|
1025
|
+
output: cleanOutput(`preflight: exact HEAD ${head.slice(0, 12)}; canonical remote ${expectedRemoteIdentity}; secret-safe; context present; ${testSummary}\n${push.stdout}`, [push.stderr, remoteCheck.stderr].filter(Boolean).join("\n")),
|
|
1026
|
+
gitState,
|
|
1027
|
+
status: ok ? "ok" : "error",
|
|
1028
|
+
...(ok ? {} : { error: push.timedOut ? "clean push timed out" : "clean exact-HEAD push failed or did not converge" }),
|
|
1029
|
+
secretValuesExposed: false,
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
1032
|
+
case "handoff.pull_clean": {
|
|
1033
|
+
const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "clean handoff pulls");
|
|
1034
|
+
if (gate)
|
|
1035
|
+
return gate;
|
|
1036
|
+
const repo = cwd;
|
|
1037
|
+
const expectedHead = typeof args.expectedHead === "string" ? args.expectedHead.trim() : "";
|
|
1038
|
+
const expectedBranch = typeof args.expectedBranch === "string" ? args.expectedBranch.trim() : "";
|
|
1039
|
+
const expectedUpstream = typeof args.expectedUpstream === "string" ? args.expectedUpstream.trim() : "";
|
|
1040
|
+
const expectedUpstreamOid = typeof args.expectedUpstreamOid === "string" ? args.expectedUpstreamOid.trim() : "";
|
|
1041
|
+
const expectedRemoteIdentity = typeof args.expectedRemoteIdentity === "string" ? args.expectedRemoteIdentity.trim() : "";
|
|
1042
|
+
const expectedFinalOid = typeof args.expectedFinalOid === "string" ? args.expectedFinalOid.trim() : "";
|
|
1043
|
+
if (!/^[0-9a-f]{40,64}$/i.test(expectedHead) ||
|
|
1044
|
+
!expectedBranch ||
|
|
1045
|
+
!expectedUpstream ||
|
|
1046
|
+
!/^[0-9a-f]{40,64}$/i.test(expectedUpstreamOid) ||
|
|
1047
|
+
(0, handoff_1.normalizeGitRemoteIdentity)(expectedRemoteIdentity) !== expectedRemoteIdentity ||
|
|
1048
|
+
!/^[0-9a-f]{40,64}$/i.test(expectedFinalOid)) {
|
|
1049
|
+
return reject(action, "clean pull requires exact planned HEAD, branch, upstream ref/OID, canonical remote identity, and final OID");
|
|
1050
|
+
}
|
|
1051
|
+
const before = await readGitState(repo, 20000);
|
|
1052
|
+
if (before.dirty ||
|
|
1053
|
+
before.headOid !== expectedHead ||
|
|
1054
|
+
before.branch !== expectedBranch ||
|
|
1055
|
+
before.upstream !== expectedUpstream ||
|
|
1056
|
+
before.upstreamOid !== expectedUpstreamOid ||
|
|
1057
|
+
before.remoteIdentity !== expectedRemoteIdentity) {
|
|
1058
|
+
return reject(action, "repository changed after handoff planning; clean pull preconditions failed");
|
|
1059
|
+
}
|
|
1060
|
+
const upstreamMatch = expectedUpstream.match(/^([^/]+)\/(.+)$/);
|
|
1061
|
+
if (!upstreamMatch)
|
|
1062
|
+
return reject(action, "clean pull upstream is not an exact remote branch ref");
|
|
1063
|
+
const remote = upstreamMatch[1];
|
|
1064
|
+
const remoteBranch = upstreamMatch[2];
|
|
1065
|
+
const remoteRef = `refs/heads/${remoteBranch}`;
|
|
1066
|
+
const branchFormat = await git(["check-ref-format", remoteRef], repo, 20000);
|
|
1067
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(remote) || branchFormat.exitCode !== 0) {
|
|
1068
|
+
return reject(action, "clean pull upstream remote or branch ref is unsafe");
|
|
1069
|
+
}
|
|
1070
|
+
const trackingRef = `refs/remotes/${remote}/${remoteBranch}`;
|
|
1071
|
+
const fetch = await git(["fetch", "--no-tags", remote, `${remoteRef}:${trackingRef}`], repo, spec.timeoutMs);
|
|
1072
|
+
if (fetch.exitCode !== 0) {
|
|
1073
|
+
return {
|
|
1074
|
+
ok: false,
|
|
1075
|
+
action,
|
|
1076
|
+
exitCode: fetch.exitCode,
|
|
1077
|
+
output: cleanOutput(fetch.stdout, fetch.stderr),
|
|
1078
|
+
error: fetch.timedOut ? "clean pull fetch timed out" : "clean pull fetch failed",
|
|
1079
|
+
status: "error",
|
|
1080
|
+
secretValuesExposed: false,
|
|
1081
|
+
};
|
|
1082
|
+
}
|
|
1083
|
+
const fetchedResult = await git(["rev-parse", "FETCH_HEAD"], repo, 20000);
|
|
1084
|
+
const fetchedHead = fetchedResult.stdout.trim();
|
|
1085
|
+
if (fetchedResult.exitCode !== 0 || !/^[0-9a-f]{40,64}$/i.test(fetchedHead)) {
|
|
1086
|
+
return reject(action, "clean pull could not resolve the exact fetched HEAD");
|
|
1087
|
+
}
|
|
1088
|
+
if (fetchedHead !== expectedFinalOid) {
|
|
1089
|
+
return reject(action, "clean pull remote no longer matches the one planned final OID");
|
|
1090
|
+
}
|
|
1091
|
+
const afterFetch = await readGitState(repo, 20000);
|
|
1092
|
+
if (afterFetch.dirty ||
|
|
1093
|
+
afterFetch.headOid !== expectedHead ||
|
|
1094
|
+
afterFetch.branch !== expectedBranch ||
|
|
1095
|
+
afterFetch.remoteIdentity !== expectedRemoteIdentity) {
|
|
1096
|
+
return reject(action, "repository changed during clean pull fetch; worktree fast-forward aborted");
|
|
1097
|
+
}
|
|
1098
|
+
const ancestor = await git(["merge-base", "--is-ancestor", expectedHead, fetchedHead], repo, 20000);
|
|
1099
|
+
if (ancestor.exitCode !== 0)
|
|
1100
|
+
return reject(action, "remote HEAD is not a fast-forward descendant; no merge performed");
|
|
1101
|
+
if (fetchedHead !== expectedHead) {
|
|
1102
|
+
const fastForward = await git(["merge", "--ff-only", fetchedHead], repo, spec.timeoutMs);
|
|
1103
|
+
if (fastForward.exitCode !== 0) {
|
|
1104
|
+
return {
|
|
1105
|
+
ok: false,
|
|
1106
|
+
action,
|
|
1107
|
+
exitCode: fastForward.exitCode,
|
|
1108
|
+
output: cleanOutput(fastForward.stdout, fastForward.stderr),
|
|
1109
|
+
error: fastForward.timedOut ? "clean fast-forward timed out" : "clean fast-forward failed",
|
|
1110
|
+
status: "error",
|
|
1111
|
+
secretValuesExposed: false,
|
|
1112
|
+
};
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
const remoteCheck = await git(["ls-remote", "--heads", remote, remoteRef], repo, 30000);
|
|
1116
|
+
const observedRemoteHead = remoteCheck.stdout.trim().split(/\s+/)[0] || "";
|
|
1117
|
+
const after = await readGitState(repo, 20000);
|
|
1118
|
+
const ok = remoteCheck.exitCode === 0 &&
|
|
1119
|
+
observedRemoteHead === expectedFinalOid &&
|
|
1120
|
+
!after.dirty &&
|
|
1121
|
+
after.branch === expectedBranch &&
|
|
1122
|
+
after.headOid === expectedFinalOid &&
|
|
1123
|
+
after.upstream === expectedUpstream &&
|
|
1124
|
+
after.upstreamOid === expectedFinalOid &&
|
|
1125
|
+
after.remoteIdentity === expectedRemoteIdentity &&
|
|
1126
|
+
after.ahead === 0 &&
|
|
1127
|
+
after.behind === 0;
|
|
1128
|
+
return {
|
|
1129
|
+
ok,
|
|
1130
|
+
action,
|
|
1131
|
+
exitCode: ok ? 0 : remoteCheck.exitCode,
|
|
1132
|
+
output: cleanOutput(`precondition HEAD ${expectedHead.slice(0, 12)}; fetched ${fetchedHead.slice(0, 12)}; fast-forward only\n${fetch.stdout}`, [fetch.stderr, remoteCheck.stderr].filter(Boolean).join("\n")),
|
|
1133
|
+
gitState: after,
|
|
1134
|
+
status: ok ? "ok" : "error",
|
|
1135
|
+
...(ok ? {} : { error: "clean pull postconditions failed; remote moved again or repository did not converge" }),
|
|
1136
|
+
secretValuesExposed: false,
|
|
1137
|
+
};
|
|
1138
|
+
}
|
|
1139
|
+
case "handoff.sync": {
|
|
1140
|
+
const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "handoff sync");
|
|
1141
|
+
if (gate)
|
|
1142
|
+
return gate;
|
|
1143
|
+
const res = await youmd(["machine", "sync-now"], spec.timeoutMs);
|
|
1144
|
+
const ok = res.exitCode === 0;
|
|
1145
|
+
return {
|
|
1146
|
+
ok,
|
|
1147
|
+
action,
|
|
1148
|
+
exitCode: res.exitCode,
|
|
1149
|
+
output: cleanOutput(res.stdout, res.stderr),
|
|
1150
|
+
status: ok ? "ok" : "error",
|
|
1151
|
+
...(ok ? {} : { error: res.timedOut ? "handoff sync timed out" : "handoff sync failed" }),
|
|
1152
|
+
secretValuesExposed: false,
|
|
1153
|
+
};
|
|
1154
|
+
}
|
|
764
1155
|
}
|
|
765
1156
|
}
|
|
766
1157
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-executor.js","sourceRoot":"","sources":["../../src/lib/remote-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-executor.js","sourceRoot":"","sources":["../../src/lib/remote-executor.ts"],"names":[],"mappings":"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"}
|