dsh-git-worktree 0.10.0 → 0.11.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/CHANGELOG.md +41 -1
- package/README.en.md +7 -4
- package/README.md +7 -4
- package/lib/adapters/registry.js +4 -32
- package/lib/adapters/registry.js.map +1 -1
- package/lib/client/actions.d.ts +2 -0
- package/lib/client/pre-session/controller.js +5 -0
- package/lib/client/pre-session/controller.js.map +1 -1
- package/lib/client/review-console/PreflightStatus.js +5 -2
- package/lib/client/review-console/PreflightStatus.js.map +1 -1
- package/lib/client/review-console/ReviewActions.js +47 -46
- package/lib/client/review-console/ReviewActions.js.map +1 -1
- package/lib/client/review-console/ReviewDetailsModal.js +13 -3
- package/lib/client/review-console/ReviewDetailsModal.js.map +1 -1
- package/lib/client/review-console/review-console.styles.js +22 -11
- package/lib/client/review-console/review-console.styles.js.map +1 -1
- package/lib/client/target-console/WorktreeReviewStatus.js +7 -7
- package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
- package/lib/client/workspace-sidebar/index.js +6 -3
- package/lib/client/workspace-sidebar/index.js.map +1 -1
- package/lib/client.js +1461 -467
- package/lib/commit-message.d.ts +2 -0
- package/lib/commit-message.js +5 -0
- package/lib/commit-message.js.map +1 -0
- package/lib/console-host/control-plane.js +6 -5
- package/lib/console-host/control-plane.js.map +1 -1
- package/lib/console-remote/schemas.d.ts +1 -1
- package/lib/console-remote/schemas.js +2 -1
- package/lib/console-remote/schemas.js.map +1 -1
- package/lib/host-compat.js +2 -1
- package/lib/host-compat.js.map +1 -1
- package/lib/i18n/client-messages.d.ts +8 -4
- package/lib/i18n/client-messages.js +2 -4
- package/lib/i18n/client-messages.js.map +1 -1
- package/lib/i18n/host-messages.d.ts +3 -7
- package/lib/i18n/host-messages.js +3 -7
- package/lib/i18n/host-messages.js.map +1 -1
- package/lib/index.d.ts +9 -9
- package/lib/ports.d.ts +1 -1
- package/lib/session-checkout-apply.js +6 -5
- package/lib/session-checkout-apply.js.map +1 -1
- package/lib/session-checkout-module.js +10 -7
- package/lib/session-checkout-module.js.map +1 -1
- package/lib/workspace-provider-lifecycle.js +31 -6
- package/lib/workspace-provider-lifecycle.js.map +1 -1
- package/package.json +43 -41
- package/scripts/check-publish.mjs +2 -0
- package/scripts/workspace-sidebar-upstream-alpha.mjs +16 -14
- package/scripts/workspace-sidebar-upstream-next.mjs +12 -16
- package/scripts/workspace-sidebar-upstream.mjs +18 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isValidCommitMessage } from './commit-message.js';
|
|
1
2
|
import { hostMessages, hostPersistedCleanupMessage } from './i18n/host-messages.js';
|
|
2
3
|
import { hostMessage } from './i18n/host.js';
|
|
3
4
|
import { createHash } from 'node:crypto';
|
|
@@ -146,14 +147,11 @@ export function createSessionCheckoutModule(dependencies) {
|
|
|
146
147
|
};
|
|
147
148
|
}
|
|
148
149
|
function projectPreviousReview(review) {
|
|
149
|
-
const suggestedCommitMessage = review.suggestedCommitMessage.length <= 500
|
|
150
|
-
? review.suggestedCommitMessage
|
|
151
|
-
: review.suggestedCommitMessage.slice(0, 500).replace(/[\uD800-\uDBFF]$/u, '');
|
|
152
150
|
return {
|
|
153
151
|
reviewId: review.reviewId,
|
|
154
152
|
iteration: review.iteration,
|
|
155
153
|
summary: review.summary,
|
|
156
|
-
suggestedCommitMessage,
|
|
154
|
+
suggestedCommitMessage: review.suggestedCommitMessage,
|
|
157
155
|
changedFiles: review.changedFiles.slice(0, 50),
|
|
158
156
|
};
|
|
159
157
|
}
|
|
@@ -1156,7 +1154,7 @@ export function createSessionCheckoutModule(dependencies) {
|
|
|
1156
1154
|
}
|
|
1157
1155
|
const summary = input.summary.trim();
|
|
1158
1156
|
const suggestedCommitMessage = input.suggestedCommitMessage.trim();
|
|
1159
|
-
if (!summary || !suggestedCommitMessage || input.tests.length > 20) {
|
|
1157
|
+
if (!summary || !isValidCommitMessage(suggestedCommitMessage) || input.tests.length > 20) {
|
|
1160
1158
|
throw new SessionCheckoutError('invalid_input', hostMessage('theReviewSummaryCommitMessageOrValidationItemsAre'));
|
|
1161
1159
|
}
|
|
1162
1160
|
const record = dependencies.registry.read().managedCheckouts[binding.target.checkoutId];
|
|
@@ -1220,8 +1218,7 @@ export function createSessionCheckoutModule(dependencies) {
|
|
|
1220
1218
|
return operationError('not_owner', hostMessage('onlyTheOwnerIsolatedSessionCanSaveACheckpoint'));
|
|
1221
1219
|
}
|
|
1222
1220
|
const commitMessage = input.commitMessage.trim();
|
|
1223
|
-
if (!commitMessage
|
|
1224
|
-
|| commitMessage.length > 500
|
|
1221
|
+
if (!isValidCommitMessage(commitMessage)
|
|
1225
1222
|
|| !input.expectedReviewId.trim()
|
|
1226
1223
|
|| !/^[0-9a-f]{64}$/u.test(input.expectedGeneration)
|
|
1227
1224
|
|| !input.requestId.trim()
|
|
@@ -2461,6 +2458,9 @@ export function createSessionCheckoutModule(dependencies) {
|
|
|
2461
2458
|
if (binding.ownerSessionId !== input.sessionId || binding.target.kind !== 'isolated') {
|
|
2462
2459
|
return operationError('not_owner', hostMessage('onlyTheOwnerIsolatedSessionCanFinalizeTheAcceptance'));
|
|
2463
2460
|
}
|
|
2461
|
+
if (!isValidCommitMessage(input.commitMessage)) {
|
|
2462
|
+
return operationError('invalid_input', hostMessage('theCommitMessageMustBeNonemptyAndContainNoNul'));
|
|
2463
|
+
}
|
|
2464
2464
|
const record = dependencies.registry.read().managedCheckouts[binding.target.checkoutId];
|
|
2465
2465
|
if (!record)
|
|
2466
2466
|
return operationError('checkout_missing', hostMessage('theIsolatedCheckoutRecordDoesNotExist'));
|
|
@@ -2620,6 +2620,9 @@ export function createSessionCheckoutModule(dependencies) {
|
|
|
2620
2620
|
if (binding.target.kind !== 'isolated') {
|
|
2621
2621
|
return operationError('operation_not_allowed', hostMessage('localCheckoutDoesNotSupportFinish'));
|
|
2622
2622
|
}
|
|
2623
|
+
if (!isValidCommitMessage(input.commitMessage)) {
|
|
2624
|
+
return operationError('invalid_input', hostMessage('theCommitMessageMustBeNonemptyAndContainNoNul'));
|
|
2625
|
+
}
|
|
2623
2626
|
let record = dependencies.registry.read().managedCheckouts[binding.target.checkoutId];
|
|
2624
2627
|
if (!record)
|
|
2625
2628
|
return operationError('checkout_missing', hostMessage('theIsolatedCheckoutRecordDoesNotExist'));
|