dsh-git-worktree 0.3.2 → 0.4.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.en.md +21 -11
  3. package/README.md +21 -11
  4. package/lib/adapters/registry.js +7 -1
  5. package/lib/adapters/registry.js.map +1 -1
  6. package/lib/client/WorktreeReviewRow.d.ts +1 -1
  7. package/lib/client/WorktreeReviewRow.js +2 -2
  8. package/lib/client/WorktreeReviewRow.js.map +1 -1
  9. package/lib/client/actions.d.ts +25 -4
  10. package/lib/client/actions.js +104 -0
  11. package/lib/client/actions.js.map +1 -1
  12. package/lib/client/review-console/DeliveryProof.d.ts +5 -0
  13. package/lib/client/review-console/DeliveryProof.js +32 -0
  14. package/lib/client/review-console/DeliveryProof.js.map +1 -0
  15. package/lib/client/review-console/PreflightStatus.d.ts +11 -0
  16. package/lib/client/review-console/PreflightStatus.js +31 -0
  17. package/lib/client/review-console/PreflightStatus.js.map +1 -0
  18. package/lib/client/review-console/ReviewActions.d.ts +4 -1
  19. package/lib/client/review-console/ReviewActions.js +103 -14
  20. package/lib/client/review-console/ReviewActions.js.map +1 -1
  21. package/lib/client/review-console/WorktreeReviewPanel.d.ts +3 -1
  22. package/lib/client/review-console/WorktreeReviewPanel.js +18 -3
  23. package/lib/client/review-console/WorktreeReviewPanel.js.map +1 -1
  24. package/lib/client/review-console/preflight-cache.d.ts +19 -0
  25. package/lib/client/review-console/preflight-cache.js +85 -0
  26. package/lib/client/review-console/preflight-cache.js.map +1 -0
  27. package/lib/client/review-console/review-console.styles.js +27 -3
  28. package/lib/client/review-console/review-console.styles.js.map +1 -1
  29. package/lib/client/target-console/TargetStatusAction.d.ts +4 -2
  30. package/lib/client/target-console/TargetStatusAction.js +196 -23
  31. package/lib/client/target-console/TargetStatusAction.js.map +1 -1
  32. package/lib/client/target-console/WorktreeConsoleView.d.ts +4 -2
  33. package/lib/client/target-console/WorktreeConsoleView.js +33 -73
  34. package/lib/client/target-console/WorktreeConsoleView.js.map +1 -1
  35. package/lib/client/target-console/WorktreeManagerModal.d.ts +13 -0
  36. package/lib/client/target-console/WorktreeManagerModal.js +8 -0
  37. package/lib/client/target-console/WorktreeManagerModal.js.map +1 -0
  38. package/lib/client/target-console/WorktreeReviewStatus.d.ts +3 -1
  39. package/lib/client/target-console/WorktreeReviewStatus.js +22 -15
  40. package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
  41. package/lib/client/target-console/index.d.ts +2 -1
  42. package/lib/client/target-console/index.js +4 -3
  43. package/lib/client/target-console/index.js.map +1 -1
  44. package/lib/client/target-console/target-console.styles.js +22 -3
  45. package/lib/client/target-console/target-console.styles.js.map +1 -1
  46. package/lib/client.js +1297 -77
  47. package/lib/console-contract.d.ts +6 -1
  48. package/lib/console-contract.js.map +1 -1
  49. package/lib/console-host/control-plane.js +153 -37
  50. package/lib/console-host/control-plane.js.map +1 -1
  51. package/lib/console-host/projection.d.ts +5 -3
  52. package/lib/console-host/projection.js +43 -10
  53. package/lib/console-host/projection.js.map +1 -1
  54. package/lib/console-remote/schemas.js +19 -1
  55. package/lib/console-remote/schemas.js.map +1 -1
  56. package/lib/ports.d.ts +3 -0
  57. package/lib/session-checkout-module.js +31 -4
  58. package/lib/session-checkout-module.js.map +1 -1
  59. package/lib/types.d.ts +11 -1
  60. package/lib/types.js.map +1 -1
  61. package/package.json +13 -13
  62. package/scripts/check-publish.mjs +1 -1
package/lib/types.d.ts CHANGED
@@ -47,6 +47,9 @@ export interface WorktreeDeliveryProofView {
47
47
  localHeadBefore: string;
48
48
  localHeadAfter: string;
49
49
  changedFiles: string[];
50
+ /** Validation evidence copied from the exact Review that authorized this delivery. */
51
+ validationStatus?: WorktreeValidationStatus;
52
+ validationSummary?: string;
50
53
  /** Whether this round's commit is still an ancestor of Local HEAD at view time. null when there is no commit. */
51
54
  commitInLocalHistory: boolean | null;
52
55
  }
@@ -91,7 +94,7 @@ export type WorktreeDeliveryView = {
91
94
  proof?: WorktreeDeliveryProofView;
92
95
  deliveredAt: number;
93
96
  };
94
- export type WorktreeApplyPreflightBlockedReason = 'not_owner' | 'not_ready_for_review' | 'stale_target' | 'stale_isolated' | 'project_acceptance_busy' | 'checkout_unavailable' | 'git_error';
97
+ export type WorktreeApplyPreflightBlockedReason = 'not_owner' | 'not_ready_for_review' | 'stale_target' | 'stale_local' | 'stale_isolated' | 'project_acceptance_busy' | 'checkout_unavailable' | 'git_error';
95
98
  export interface WorktreeApplyPreflightFacts {
96
99
  checkoutId: string;
97
100
  reviewId: string;
@@ -104,6 +107,11 @@ export interface WorktreeApplyPreflightFacts {
104
107
  isolatedHeadOid: string;
105
108
  changedFiles: string[];
106
109
  }
110
+ export interface WorktreeAcceptanceBlockerView {
111
+ checkoutId: string;
112
+ ownerSessionId: string;
113
+ state: 'preview_active' | 'preview_detached' | 'finalized' | 'retained' | 'working' | 'ready_for_review' | 'delivered';
114
+ }
107
115
  export type WorktreeApplyPreflightView = ({
108
116
  status: 'ready' | 'local_advanced' | 'already_in_local';
109
117
  localModified: false;
@@ -119,6 +127,8 @@ export type WorktreeApplyPreflightView = ({
119
127
  revision: number;
120
128
  reason: WorktreeApplyPreflightBlockedReason;
121
129
  message: string;
130
+ /** Path-free identity for the exact Worktree holding this project's acceptance slot. */
131
+ blocker?: WorktreeAcceptanceBlockerView;
122
132
  };
123
133
  export interface SessionTargetProjectView {
124
134
  id: string;
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA8XH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,sBAAsB;IACtB,WAAW;IACX,cAAc;IACd,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,2BAA2B;IAC3B,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;IACvB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;CACT,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0YH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,sBAAsB;IACtB,WAAW;IACX,cAAc;IACd,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,2BAA2B;IAC3B,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;IACvB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;CACT,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-git-worktree",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "Experimental Git worktree Session Targets for DeepSeek Harness with real isolated sessions, review ToolViews, human-confirmed delivery, and safe cleanup.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "homepage": "https://github.com/wloops/dsh-git-worktree#readme",
61
61
  "engines": {
62
- "node": ">=20"
62
+ "node": "^22.19.0 || >=24.0.0"
63
63
  },
64
64
  "scripts": {
65
65
  "build": "node scripts/clean-lib.mjs && tsc && tsdown",
@@ -76,14 +76,14 @@
76
76
  },
77
77
  "dependencies": {
78
78
  "@deepseek-ai/cordis": "4.0.1",
79
- "@deepseek-ai/dsh-agent": "0.1.0-rc.7",
80
- "@deepseek-ai/dsh-commands": "0.1.0-rc.7",
81
- "@deepseek-ai/dsh-session": "0.1.0-rc.7",
82
- "@deepseek-ai/dsh-subprocess": "0.1.0-rc.7",
83
- "@deepseek-ai/dsh-system-prompt": "0.1.0-rc.7",
84
- "@deepseek-ai/dsh-tools": "0.1.0-rc.7",
85
- "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.7",
86
- "@deepseek-ai/dsh-typert-registry": "0.1.0-rc.7",
79
+ "@deepseek-ai/dsh-agent": "0.1.0-rc.8",
80
+ "@deepseek-ai/dsh-commands": "0.1.0-rc.8",
81
+ "@deepseek-ai/dsh-session": "0.1.0-rc.8",
82
+ "@deepseek-ai/dsh-subprocess": "0.1.0-rc.8",
83
+ "@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8",
84
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.8",
85
+ "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8",
86
+ "@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8",
87
87
  "@deepseek-ai/schemastery": "3.18.1",
88
88
  "zod": "4.4.3"
89
89
  },
@@ -91,9 +91,9 @@
91
91
  "react": "^18.2.0"
92
92
  },
93
93
  "devDependencies": {
94
- "@deepseek-ai/dsh-api-gateway": "0.1.0-rc.7",
95
- "@deepseek-ai/dsh-client-connection": "0.1.0-rc.7",
96
- "@deepseek-ai/dsh-typert-loader": "0.1.0-rc.7",
94
+ "@deepseek-ai/dsh-api-gateway": "0.1.0-rc.8",
95
+ "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8",
96
+ "@deepseek-ai/dsh-typert-loader": "0.1.0-rc.8",
97
97
  "@testing-library/react": "^16.3.2",
98
98
  "@types/node": "^22.0.0",
99
99
  "@types/react": "~18.3.31",
@@ -161,7 +161,7 @@ if (!handoff || handoff.id !== manifest.name || typeof handoff.factory !== 'func
161
161
  fail(`client bundle must call window.__ModuleLoader__.load with id ${JSON.stringify(manifest.name)} and a factory`)
162
162
  }
163
163
  const browserRequire = (specifier) => {
164
- if (specifier === '@deepseek-ai/dsh-client-ui-primitives') return { Modal: () => null }
164
+ if (specifier === '@deepseek-ai/dsh-client-ui-primitives') return { Modal: () => null, Menu: () => null }
165
165
  return require(specifier)
166
166
  }
167
167
  let clientExports