@hy-sde-org/dsh-tool-git 0.1.1-rc.2 → 0.1.5-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -2,11 +2,10 @@ MIT License
2
2
 
3
3
  Copyright (c) 2026 hy-sde
4
4
 
5
- This repository is a port of the oh-my-pi memory surface (retain / recall /
6
- reflect / memory_edit / learn and the durable project-scoped local memory
7
- backend) onto the DeepSeek Harness `ctx.memory` service contract — see
8
- port_omp.md item 4 in the hy-sde fork. The ported portions are distributed
9
- under the same MIT license with their original copyright held by their
5
+ This repository is a port of the oh-my-pi (omp) agentic git commit + review
6
+ surface onto the DeepSeek Harness `ctx.git` service contract. The ported
7
+ portions are distributed under the same MIT license with their original
8
+ copyright held by their
10
9
  respective authors:
11
10
 
12
11
  Copyright (c) 2025 Mario Zechner
package/README.md CHANGED
@@ -7,8 +7,18 @@ Model-facing agentic git tools over the host `ctx.git` service:
7
7
  - **`commit_apply`** — execute a validated split-commit plan: hunk-aware
8
8
  staging, lock-file autoplacement, topological dependency order, cycle
9
9
  rejection before any write, atomic per-commit execution, `dryRun` preview.
10
+ `--push` pushes the current named branch (upstream recorded) and is
11
+ released only by a current `review --target staged` ship verdict.
10
12
  - **`review`** — fan the diff out to parallel reviewer subagents, rank every
11
- finding P0–P3 with confidence, and aggregate a ship/reject verdict.
13
+ finding P0–P3 with confidence, and aggregate a ship/reject verdict; a
14
+ `staged` review records the verdict consumed by the `commit_apply --push`
15
+ gate.
16
+ - **`worktree`** — `acquire` / `release` / `list` / `prune` / `destroy` over
17
+ a persistent pool of isolated git worktrees with durable leases.
18
+
19
+ Read surfaces (`commit` / `review`) resolve through a host `vcs` service when
20
+ one is registered and probing clean, and otherwise degrade to `ctx.git` —
21
+ the unpublished `@deepseek-ai/dsh-vcs` is never required.
12
22
 
13
23
  Plus the `git:tools` system-prompt section. Agent-plane: the package mounts
14
24
  as a preset row (`inject` = tools, systemPrompt, git) and resolves the host
@@ -30,5 +40,5 @@ in the Web UI preset picker. The preset row configures
30
40
  pnpm install
31
41
  pnpm run check # tsc --noEmit
32
42
  pnpm run build # tsc -p tsconfig.build.json → dist/
33
- pnpm run test # vitest (commit + review end-to-end on real temp repos)
43
+ pnpm run test # vitest (47 tests: commit/review/worktree/push-gate end-to-end on real temp repos)
34
44
  ```
package/dist/commit.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * Port of omp (oh-my-pi)'s agentic commit flow, re-architected for the harness:
8
8
  * omp runs its own hidden LLM session; here the model scripts the plan between
9
9
  * the two tool calls, so every decision is visible and reviewable (see
10
- * port_omp.md item: commit). The deterministic parts — validation, topo order,
10
+ * LICENSE). The deterministic parts — validation, topo order,
11
11
  * lock-file assignment, execution — are direct ports.
12
12
  * @module @hy-sde-org/dsh-tool-git/commit
13
13
  */
@@ -15,6 +15,8 @@ import type { Context } from '@deepseek-ai/cordis';
15
15
  import type { ToolExecution } from '@deepseek-ai/dsh-tools';
16
16
  import type { CommitType, NumstatEntry } from '@hy-sde-org/dsh-git';
17
17
  /** Call working directory resolution shared by the git tools. */
18
+ /** Read the optional policy service; the gate is active only when the policy is enabled and its gate is on. */
19
+ export declare function reviewGateOf(ctx: Context): import('./orchestration-policy.ts').ResolvedReviewGateConfig | undefined;
18
20
  export declare function resolveCwd(exec: ToolExecution, cwdArg: string | undefined): string;
19
21
  /** Configuration consumed by the commit tools. */
20
22
  export interface CommitToolConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAS3D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAqC,MAAM,qBAAqB,CAAA;AAOtG,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMlF;AAOD,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAmBD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,gBAAqB,GAAG,IAAI,CA4JjF;AAuFD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;IACxB,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;CAChB;AA0BD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAuO7F"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAgB3D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAqC,MAAM,qBAAqB,CAAA;AAKtG,iEAAiE;AACjE,+GAA+G;AAC/G,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,2BAA2B,EAAE,wBAAwB,GAAG,SAAS,CAInH;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMlF;AAOD,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAmBD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,gBAAqB,GAAG,IAAI,CA4JjF;AAuFD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;IACxB,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;CAChB;AA6DD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CA6R7F"}
package/dist/commit.js CHANGED
@@ -7,17 +7,25 @@
7
7
  * Port of omp (oh-my-pi)'s agentic commit flow, re-architected for the harness:
8
8
  * omp runs its own hidden LLM session; here the model scripts the plan between
9
9
  * the two tool calls, so every decision is visible and reviewable (see
10
- * port_omp.md item: commit). The deterministic parts — validation, topo order,
10
+ * LICENSE). The deterministic parts — validation, topo order,
11
11
  * lock-file assignment, execution — are direct ports.
12
12
  * @module @hy-sde-org/dsh-tool-git/commit
13
13
  */
14
14
  import { defineTool } from '@deepseek-ai/dsh-tools';
15
- import { formatCommitMessage, assignLockFilesToPlan, detectTrivialChange, computeDependencyOrder, validateHunkSelections, EXCLUDED_LOCK_FILES, } from '@hy-sde-org/dsh-git';
16
- /** Commit-type vocabulary for schema + validation (kept in sync with types). */
17
- const COMMIT_TYPES = [
18
- 'feat', 'fix', 'refactor', 'perf', 'docs', 'test', 'build', 'ci', 'chore', 'style', 'revert',
19
- ];
15
+ import { openReads } from "./reads.js";
16
+ import { resolvePosture } from "./orchestration-policy.js";
17
+ import { decidePushGate, headOf, indexTreeOf, latestStagedVerdict } from "./push-gate.js";
18
+ import { formatCommitMessage, assignLockFilesToPlan, detectTrivialChange, computeDependencyOrder, validateHunkSelections, EXCLUDED_LOCK_FILES, withRepoLock, vcs, conventional, } from '@hy-sde-org/dsh-git';
19
+ /** Commit-type vocabulary for schema + validation (llm-git canonical, 22 types). */
20
+ const COMMIT_TYPES = [...conventional.COMMIT_TYPE_ORDER];
20
21
  /** Call working directory resolution shared by the git tools. */
22
+ /** Read the optional policy service; the gate is active only when the policy is enabled and its gate is on. */
23
+ export function reviewGateOf(ctx) {
24
+ const policy = ctx.get('orchestrationPolicy');
25
+ if (policy === undefined || !policy.config.enabled)
26
+ return undefined;
27
+ return policy.config.reviewGate.enabled ? policy.config.reviewGate : undefined;
28
+ }
21
29
  export function resolveCwd(exec, cwdArg) {
22
30
  const base = exec.agent?.session.header.cwd;
23
31
  if (typeof base === 'string' && base.length > 0) {
@@ -94,23 +102,23 @@ export function applyCommitTool(ctx, config = {}) {
94
102
  },
95
103
  isConcurrencySafe: () => false,
96
104
  async execute(args, exec) {
97
- const git = ctx.git;
98
105
  const cwd = resolveCwd(exec, args.cwd);
99
- if (!(await git.isRepo(cwd, exec.signal))) {
106
+ const reads = await openReads(ctx, cwd, exec.signal);
107
+ if (!(await reads.isRepo())) {
100
108
  throw new Error(`commit requires a git repository: ${cwd} is not inside a working tree`);
101
109
  }
102
110
  const warnings = [];
103
- let stagedFiles = await git.diff.changedFiles(cwd, { cached: true, signal: exec.signal });
111
+ let stagedFiles = await reads.changedFiles({ cached: true });
104
112
  if (stagedFiles.length === 0 && !args.stagedOnly) {
105
- const status = await git.status(cwd, exec.signal);
113
+ const status = await reads.status();
106
114
  if (status.unstaged > 0 || status.untracked > 0) {
107
- await git.addAll(cwd, [], exec.signal);
115
+ await ctx.git.addAll(cwd, [], exec.signal);
108
116
  warnings.push('nothing was staged; staged all working-tree changes automatically for analysis');
109
117
  }
110
- stagedFiles = await git.diff.changedFiles(cwd, { cached: true, signal: exec.signal });
118
+ stagedFiles = await reads.changedFiles({ cached: true });
111
119
  }
112
120
  if (stagedFiles.length === 0) {
113
- const status = await git.status(cwd, exec.signal);
121
+ const status = await reads.status();
114
122
  if (status.untracked > 0) {
115
123
  warnings.push(`detected ${status.untracked} untracked file(s) not included — rerun without stagedOnly to stage them`);
116
124
  }
@@ -127,9 +135,9 @@ export function applyCommitTool(ctx, config = {}) {
127
135
  analysisGuidance: 'No staged changes and nothing was auto-staged. Nothing to commit.',
128
136
  };
129
137
  }
130
- const numstat = await git.diff.numstat(cwd, { cached: true, signal: exec.signal });
131
- const branch = (await git.branch(cwd, exec.signal)) ?? undefined;
132
- let diffText = await git.diffText(cwd, { cached: true, binary: true }, exec.signal);
138
+ const numstat = await reads.numstat({ cached: true });
139
+ const branch = (await reads.branch()) ?? undefined;
140
+ let diffText = await reads.diffText({ cached: true });
133
141
  let diffTruncated = false;
134
142
  if (diffText.length > maxDiffChars) {
135
143
  diffText = diffText.slice(0, maxDiffChars);
@@ -246,7 +254,7 @@ function validateGroupFields(commits) {
246
254
  for (const [i, group] of commits.entries()) {
247
255
  const label = `group ${i + 1}`;
248
256
  if (!COMMIT_TYPES.includes(group.type)) {
249
- errors.push(`${label}: unknown commit type "${String(group.type)}"; use one of ${COMMIT_TYPES.join(', ')}`);
257
+ errors.push(`${label}: unknown commit type "${group.type}"; use one of ${COMMIT_TYPES.join(', ')}`);
250
258
  }
251
259
  if (typeof group.summary !== 'string' || group.summary.trim().length === 0) {
252
260
  errors.push(`${label}: summary is required and must be non-empty`);
@@ -263,6 +271,37 @@ function validateGroupFields(commits) {
263
271
  }
264
272
  return errors;
265
273
  }
274
+ /**
275
+ * Advisory conventional-commit quality checks (llm-git rules) for a split
276
+ * plan. Never blocks: returns one readable line per issue so the model can
277
+ * refine summaries/types in its next round. `warnings` is mutated for
278
+ * stat-free cross-checks (type/file extension consistency).
279
+ */
280
+ function collectConventionalAdvisories(commits, _warnings) {
281
+ const lines = [];
282
+ for (const [i, group] of commits.entries()) {
283
+ const label = `group ${i + 1}`;
284
+ const commitMessage = {
285
+ type: group.type,
286
+ scope: group.scope ?? null,
287
+ summary: group.summary,
288
+ body: group.details.map(detail => detail.text),
289
+ footers: group.issueRefs.map(ref => `Refs: ${ref}`),
290
+ };
291
+ const report = conventional.validateSummaryQuality(group.summary, group.type);
292
+ for (const issue of report.errors) {
293
+ lines.push(`${label} [${issue.code}] ${issue.message}`);
294
+ }
295
+ // Validate the full message shape too (lengths, trailing period, scope).
296
+ const full = conventional.validateCommitMessage(commitMessage, conventional.DEFAULT_CONVENTIONAL_CONFIG);
297
+ for (const issue of full.errors) {
298
+ if (!lines.includes(`${label} [${issue.code}] ${issue.message}`)) {
299
+ lines.push(`${label} [${issue.code}] ${issue.message}`);
300
+ }
301
+ }
302
+ }
303
+ return lines;
304
+ }
266
305
  export function applyCommitApplyTool(ctx, _config = {}) {
267
306
  ctx.tools.register(defineTool({
268
307
  name: 'commit_apply',
@@ -322,7 +361,7 @@ export function applyCommitApplyTool(ctx, _config = {}) {
322
361
  },
323
362
  },
324
363
  dryRun: { type: 'boolean', description: 'Validate and print the exact commit messages without writing anything (default false).' },
325
- push: { type: 'boolean', description: 'Push the branch after committing (default false).' },
364
+ push: { type: 'boolean', description: 'Push the current branch to `origin` after committing and record upstream tracking (`git push --set-upstream origin <branch>`), so PR flows can consume it. Requires a named branch: on a detached HEAD it fails with guidance (acquire a named-branch slot with `worktree acquire --branch`). Reruns stay no-follow-tags; force is never implied. Default false.' },
326
365
  cwd: { type: 'string', description: 'Working directory; defaults to the session workspace.' },
327
366
  },
328
367
  output: {
@@ -362,6 +401,9 @@ export function applyCommitApplyTool(ctx, _config = {}) {
362
401
  if (!(await git.isRepo(cwd, exec.signal))) {
363
402
  throw new Error(`commit_apply requires a git repository: ${cwd} is not inside a working tree`);
364
403
  }
404
+ // Discovery-based repo identity for the advisory layer and the write
405
+ // lock (VcsError NotARepository taxonomy at the tool boundary).
406
+ vcs.requireGit(cwd);
365
407
  if (!Array.isArray(args.commits) || args.commits.length === 0) {
366
408
  throw new Error('commit_apply requires a non-empty commits plan (call `commit` first to analyze)');
367
409
  }
@@ -374,6 +416,28 @@ export function applyCommitApplyTool(ctx, _config = {}) {
374
416
  if (stagedFiles.length === 0) {
375
417
  throw new Error('nothing is staged; run `commit` (adds changes) or `git add` first, or review `commit` with stagedOnly');
376
418
  }
419
+ // P2 review gate (fail-closed): before any write, a gated push must carry
420
+ // a current ship verdict for THIS staged range. The identity snapshot
421
+ // happens before staging/committing so an unaffected index still matches.
422
+ const pushGate = reviewGateOf(ctx);
423
+ if (args.push && pushGate !== undefined) {
424
+ const root = await git.root(cwd, exec.signal);
425
+ const posture = resolvePosture(pushGate.posture, root, pushGate.default);
426
+ if (posture === 'review-gated') {
427
+ const gateDecision = decidePushGate({
428
+ posture,
429
+ record: latestStagedVerdict(root),
430
+ beforeHead: await headOf(git, cwd, exec.signal),
431
+ indexTree: await indexTreeOf(git, cwd, exec.signal),
432
+ requireVerdict: pushGate.requireVerdict,
433
+ onUnavailable: pushGate.onUnavailable,
434
+ });
435
+ if (!gateDecision.allowed) {
436
+ throw new Error(`commit_apply --push refused by the review gate: ${gateDecision.reason}`);
437
+ }
438
+ warnings.push(gateDecision.reason);
439
+ }
440
+ }
377
441
  assignLockFilesToPlan(plan, stagedFiles);
378
442
  // Coverage: every staged file planned exactly once.
379
443
  const planned = new Set();
@@ -401,6 +465,13 @@ export function applyCommitApplyTool(ctx, _config = {}) {
401
465
  if (fieldErrors.length > 0) {
402
466
  throw new Error(fieldErrors.map(error => `- ${error}`).join('\n'));
403
467
  }
468
+ // Advisory conventional-commit quality checks (llm-git rules): never
469
+ // block execution — surface past-tense/limit hints as warnings so the
470
+ // model can refine the plan in the next round.
471
+ const advisory = collectConventionalAdvisories(plan.commits, warnings);
472
+ const advisoryText = advisory.map(item => `- ${item}`);
473
+ if (advisoryText.length > 0)
474
+ warnings.push(...advisoryText);
404
475
  const order = computeDependencyOrder(plan.commits);
405
476
  if ('error' in order) {
406
477
  throw new Error(`Plan rejected before anything was written: ${order.error}`);
@@ -410,7 +481,7 @@ export function applyCommitApplyTool(ctx, _config = {}) {
410
481
  if (!group) {
411
482
  throw new Error('Plan rejected before anything was written: commit order references an unknown group');
412
483
  }
413
- return formatCommitMessage({ type: group.type, scope: group.scope, details: group.details ?? [], issueRefs: group.issueRefs ?? [] }, normalizeSummary(group.summary));
484
+ return formatCommitMessage({ type: group.type, scope: group.scope, details: group.details, issueRefs: group.issueRefs }, normalizeSummary(group.summary));
414
485
  });
415
486
  if (args.dryRun) {
416
487
  return {
@@ -422,50 +493,70 @@ export function applyCommitApplyTool(ctx, _config = {}) {
422
493
  };
423
494
  }
424
495
  const created = [];
425
- await git.resetIndex(cwd, [], exec.signal);
426
- try {
427
- for (let position = 0; position < order.length; position++) {
428
- const index = order[position];
429
- const group = index === undefined ? undefined : plan.commits[index];
430
- if (index === undefined || group === undefined) {
431
- throw new Error('Plan rejected before anything was written: commit order references an unknown group');
432
- }
433
- try {
434
- await git.stageHunks(cwd, group.changes, { rawDiff: stagedDiff, signal: exec.signal });
435
- }
436
- catch (error) {
437
- const message = error instanceof Error ? error.message : String(error);
438
- throw new Error(`${position} of ${order.length} commits created so far; failed to stage group ${position + 1}: ${message}. `
439
- + 'No changes were lost — remaining changes are unstaged.');
496
+ // Serialize this multi-step mutation against other in-process callers
497
+ // on the same repo (git's O_EXCL lock files have no waiter). Keyed by
498
+ // the primary repo root so worktrees of the same repo share one queue.
499
+ await withRepoLock(cwd, async () => {
500
+ await git.resetIndex(cwd, [], exec.signal);
501
+ try {
502
+ for (let position = 0; position < order.length; position++) {
503
+ const index = order[position];
504
+ const group = index === undefined ? undefined : plan.commits[index];
505
+ if (index === undefined || group === undefined) {
506
+ throw new Error('Plan rejected before anything was written: commit order references an unknown group');
507
+ }
508
+ try {
509
+ await git.stageHunks(cwd, group.changes, { rawDiff: stagedDiff, signal: exec.signal });
510
+ }
511
+ catch (error) {
512
+ const message = error instanceof Error ? error.message : String(error);
513
+ throw new Error(`${position} of ${order.length} commits created so far; failed to stage group ${position + 1}: ${message}. `
514
+ + 'No changes were lost — remaining changes are unstaged.');
515
+ }
516
+ const message = formatCommitMessage({ type: group.type, scope: group.scope, details: group.details, issueRefs: group.issueRefs }, normalizeSummary(group.summary));
517
+ try {
518
+ await git.commit(cwd, message, { signal: exec.signal });
519
+ }
520
+ catch (error) {
521
+ const detail = error instanceof Error ? error.message : String(error);
522
+ throw new Error(`Commit ${position + 1} of ${order.length} failed: ${detail}. `
523
+ + `${position} of ${order.length} commits created; no changes were lost.`);
524
+ }
525
+ const hash = (await git.log(cwd, { max: 1, signal: exec.signal }))[0]?.hash ?? '';
526
+ created.push({
527
+ position: position + 1,
528
+ hash,
529
+ message,
530
+ changes: group.changes.map(change => change.path),
531
+ });
532
+ await git.resetIndex(cwd, [], exec.signal);
440
533
  }
441
- const message = formatCommitMessage({ type: group.type, scope: group.scope, details: group.details ?? [], issueRefs: group.issueRefs ?? [] }, normalizeSummary(group.summary));
442
- try {
443
- await git.commit(cwd, message, { signal: exec.signal });
444
- }
445
- catch (error) {
446
- const detail = error instanceof Error ? error.message : String(error);
447
- throw new Error(`Commit ${position + 1} of ${order.length} failed: ${detail}. `
448
- + `${position} of ${order.length} commits created; no changes were lost.`);
534
+ }
535
+ catch (error) {
536
+ // Leave the index empty so the user's worktree changes stay intact and
537
+ // inspectable; nothing was lost, no partial staging is leaked.
538
+ await git.resetIndex(cwd, [], exec.signal).catch(() => undefined);
539
+ throw error;
540
+ }
541
+ if (args.push) {
542
+ // A1 semantics: push the named branch to origin and record upstream
543
+ // (`-u`), so a freshly cut `worktree acquire --branch` slot becomes
544
+ // consumable by PR tooling. Detached HEAD has no branch to push, so
545
+ // fail with guidance instead of git's raw "not on a branch" error.
546
+ const currentBranch = await git.branch(cwd, exec.signal);
547
+ if (currentBranch === undefined) {
548
+ throw new Error('commit_apply --push requires a named branch, but HEAD is detached: '
549
+ + 'acquire a named-branch slot with `worktree acquire --branch <name>` '
550
+ + 'or `git switch -c <name>` before pushing');
449
551
  }
450
- const hash = (await git.log(cwd, { max: 1, signal: exec.signal }))[0]?.hash ?? '';
451
- created.push({
452
- position: position + 1,
453
- hash,
454
- message,
455
- changes: group.changes.map(change => change.path),
552
+ await git.push(cwd, {
553
+ signal: exec.signal,
554
+ remote: 'origin',
555
+ branch: currentBranch,
556
+ setUpstream: true,
456
557
  });
457
- await git.resetIndex(cwd, [], exec.signal);
458
558
  }
459
- }
460
- catch (error) {
461
- // Leave the index empty so the user's worktree changes stay intact and
462
- // inspectable; nothing was lost, no partial staging is leaked.
463
- await git.resetIndex(cwd, [], exec.signal).catch(() => undefined);
464
- throw error;
465
- }
466
- if (args.push) {
467
- await git.push(cwd, { signal: exec.signal });
468
- }
559
+ }, exec.signal);
469
560
  return {
470
561
  mode: created.length === 1 ? 'single' : 'split',
471
562
  created,
@@ -479,7 +570,7 @@ export function applyCommitApplyTool(ctx, _config = {}) {
479
570
  /** Deep-clone an input group into the service's own table (schema-validated fields). */
480
571
  function cloneGroup(group) {
481
572
  return {
482
- changes: (group.changes ?? []).map(change => ({
573
+ changes: group.changes.map(change => ({
483
574
  path: change.path,
484
575
  hunks: normalizeHunks(change.hunks),
485
576
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,12 +2,14 @@
2
2
  * Model-facing agentic git tools over the host `ctx.git` service: `commit`
3
3
  * (analyze + suggest a split-plan skeleton), `commit_apply` (validate and
4
4
  * execute a model-authored split plan with dependency order, cycle rejection,
5
- * lock-file placement, and atomic hunk-staged commits), and `review` (parallel
6
- * reviewer subagents with P0–P3 findings and a ship/reject verdict), plus a
7
- * `git:tools` system-prompt section.
5
+ * lock-file placement, and atomic hunk-staged commits), `review` (parallel
6
+ * reviewer subagents with P0–P3 findings and a ship/reject verdict), and
7
+ * `worktree` (a persistent pool of isolated git worktrees with durable
8
+ * leases — the firstmate/treehouse model), plus a `git:tools` system-prompt
9
+ * section.
8
10
  *
9
11
  * Port of omp (oh-my-pi)'s commit + review surface for the DeepSeek Harness —
10
- * see port_omp.md item: commit/review. Agent-plane: this package mounts as a
12
+ * see LICENSE. Agent-plane: this package mounts as a
11
13
  * preset row and resolves the host `git` service; it registers no service of
12
14
  * its own. Deterministic validation and execution mechanics are direct ports
13
15
  * of omp's `commit/agentic/*` and `commit/git/*` — the model does the planning
@@ -15,9 +17,10 @@
15
17
  * @module @hy-sde-org/dsh-tool-git
16
18
  */
17
19
  import { Context } from '@deepseek-ai/cordis';
20
+ import type { WorktreeToolConfig } from './worktree.ts';
18
21
  import type { GitPromptConfig } from './prompt.ts';
19
22
  /** Plugin configuration. */
20
- export interface Config extends GitPromptConfig {
23
+ export interface Config extends GitPromptConfig, WorktreeToolConfig {
21
24
  /** `ctx.subagents` provider name for review reviewers (default `spawn`). */
22
25
  reviewProvider?: string;
23
26
  /** Cap on parallel review reviewers (default 4). */
@@ -30,16 +33,20 @@ export interface Config extends GitPromptConfig {
30
33
  export { buildGitPromptSection, } from './prompt.ts';
31
34
  export type { GitPromptConfig } from './prompt.ts';
32
35
  export { applyCommitTool, applyCommitApplyTool, resolveCwd } from './commit.ts';
36
+ export { openReads } from './reads.ts';
37
+ export type { ReadSurface, ReadRange } from './reads.ts';
33
38
  export type { CommitToolConfig, CommitAnalysisValue, CommitApplyValue } from './commit.ts';
34
39
  export { applyReviewTool } from './review.ts';
35
40
  export type { ReviewToolConfig, SliceResult } from './review.ts';
41
+ export { applyWorktreeTool } from './worktree.ts';
42
+ export type { WorktreeToolConfig } from './worktree.ts';
36
43
  /** Cordis plugin name for loader diagnostics. */
37
44
  export declare const name = "tool-git";
38
45
  /** Services consumed by this plugin (git resolved from the host bundle). */
39
46
  export declare const inject: string[];
40
47
  /**
41
- * Register the three git tools and the `git:tools` prompt section.
42
- * @param ctx - the agent-plane plugin context (injects `tools`, `systemPrompt`, `git`).
48
+ * Register the four git tools and the `git:tools` prompt section.
49
+ * @param ctx - the agent-plane plugin context (injects `tools`, `systemPrompt`, `git`; `vcs` is resolved opportunistically).
43
50
  * @param config - resolved plugin configuration.
44
51
  */
45
52
  export declare function apply(ctx: Context, config?: Config): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAK7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,4BAA4B;AAC5B,MAAM,WAAW,MAAO,SAAQ,eAAe;IAC7C,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,OAAO,EACL,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC/E,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEhE,iDAAiD;AACjD,eAAO,MAAM,IAAI,aAAa,CAAA;AAE9B,4EAA4E;AAC5E,eAAO,MAAM,MAAM,UAAmC,CAAA;AAEtD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAS7D;;;;;;AAED,wBAAsC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAK7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,4BAA4B;AAC5B,MAAM,WAAW,MAAO,SAAQ,eAAe,EAAE,kBAAkB;IACjE,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,OAAO,EACL,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,iDAAiD;AACjD,eAAO,MAAM,IAAI,aAAa,CAAA;AAE9B,4EAA4E;AAC5E,eAAO,MAAM,MAAM,UAAmC,CAAA;AAEtD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAe7D;;;;;;AAED,wBAAsC"}
package/dist/index.js CHANGED
@@ -2,12 +2,14 @@
2
2
  * Model-facing agentic git tools over the host `ctx.git` service: `commit`
3
3
  * (analyze + suggest a split-plan skeleton), `commit_apply` (validate and
4
4
  * execute a model-authored split plan with dependency order, cycle rejection,
5
- * lock-file placement, and atomic hunk-staged commits), and `review` (parallel
6
- * reviewer subagents with P0–P3 findings and a ship/reject verdict), plus a
7
- * `git:tools` system-prompt section.
5
+ * lock-file placement, and atomic hunk-staged commits), `review` (parallel
6
+ * reviewer subagents with P0–P3 findings and a ship/reject verdict), and
7
+ * `worktree` (a persistent pool of isolated git worktrees with durable
8
+ * leases — the firstmate/treehouse model), plus a `git:tools` system-prompt
9
+ * section.
8
10
  *
9
11
  * Port of omp (oh-my-pi)'s commit + review surface for the DeepSeek Harness —
10
- * see port_omp.md item: commit/review. Agent-plane: this package mounts as a
12
+ * see LICENSE. Agent-plane: this package mounts as a
11
13
  * preset row and resolves the host `git` service; it registers no service of
12
14
  * its own. Deterministic validation and execution mechanics are direct ports
13
15
  * of omp's `commit/agentic/*` and `commit/git/*` — the model does the planning
@@ -16,17 +18,20 @@
16
18
  */
17
19
  import { applyCommitTool, applyCommitApplyTool } from "./commit.js";
18
20
  import { applyReviewTool } from "./review.js";
21
+ import { applyWorktreeTool } from "./worktree.js";
19
22
  import { buildGitPromptSection } from "./prompt.js";
20
23
  export { buildGitPromptSection, } from "./prompt.js";
21
24
  export { applyCommitTool, applyCommitApplyTool, resolveCwd } from "./commit.js";
25
+ export { openReads } from "./reads.js";
22
26
  export { applyReviewTool } from "./review.js";
27
+ export { applyWorktreeTool } from "./worktree.js";
23
28
  /** Cordis plugin name for loader diagnostics. */
24
29
  export const name = 'tool-git';
25
30
  /** Services consumed by this plugin (git resolved from the host bundle). */
26
31
  export const inject = ['tools', 'systemPrompt', 'git'];
27
32
  /**
28
- * Register the three git tools and the `git:tools` prompt section.
29
- * @param ctx - the agent-plane plugin context (injects `tools`, `systemPrompt`, `git`).
33
+ * Register the four git tools and the `git:tools` prompt section.
34
+ * @param ctx - the agent-plane plugin context (injects `tools`, `systemPrompt`, `git`; `vcs` is resolved opportunistically).
30
35
  * @param config - resolved plugin configuration.
31
36
  */
32
37
  export function apply(ctx, config = {}) {
@@ -37,6 +42,12 @@ export function apply(ctx, config = {}) {
37
42
  ...config.maxReviewers !== undefined ? { maxReviewers: config.maxReviewers } : {},
38
43
  ...config.maxReviewerDiffChars !== undefined ? { maxReviewerDiffChars: config.maxReviewerDiffChars } : {},
39
44
  });
45
+ applyWorktreeTool(ctx, {
46
+ ...config.worktreeRoot !== undefined ? { worktreeRoot: config.worktreeRoot } : {},
47
+ ...config.worktreeBaseBranch !== undefined ? { worktreeBaseBranch: config.worktreeBaseBranch } : {},
48
+ ...config.worktreeFetchBeforeAcquire !== undefined ? { worktreeFetchBeforeAcquire: config.worktreeFetchBeforeAcquire } : {},
49
+ ...config.worktreeLockWaitMs !== undefined ? { worktreeLockWaitMs: config.worktreeLockWaitMs } : {},
50
+ });
40
51
  ctx.systemPrompt.section(buildGitPromptSection(config));
41
52
  }
42
53
  export default { name, inject, apply };