@a9n-shoji/rvw 0.2.3 → 0.2.5
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 +29 -0
- package/dist/cli.mjs +89 -35
- package/dist/cli.mjs.map +2 -2
- package/dist/web/assets/{DocumentViewer-B4LdSL1l.js → DocumentViewer-C2e6Mgta.js} +49 -40
- package/dist/web/assets/MarkdownTable-bGEPkcFA.js +7 -0
- package/dist/web/assets/WalkthroughViewer-TxeLcTE2.js +1 -0
- package/dist/web/assets/{abnfDiagram-N423BO3Z-CE1nZSC9.js → abnfDiagram-N423BO3Z-gOmziSzZ.js} +1 -1
- package/dist/web/assets/architecture-TIHT7OUA-B9tjggXM.js +1 -0
- package/dist/web/assets/{architectureDiagram-T3A2C74G-B88qYFUo.js → architectureDiagram-T3A2C74G-C9sPb-OU.js} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-BaX0rhbb.js → blockDiagram-VBNYF7ZC-CxqI40sc.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-C1ppBaEC.js → c4Diagram-5PPSVZJV-BAK8Z0Vr.js} +1 -1
- package/dist/web/assets/channel-BD2FosIt.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-D2TTocfh.js → chunk-2GRJ4B5K-oKAARewZ.js} +1 -1
- package/dist/web/assets/{chunk-4I5QYGJK-ikT25rPN.js → chunk-4I5QYGJK-BAAbxidn.js} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-CGlPaulj.js → chunk-5RXB4S5H-DQ-Dk-To.js} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-BuuMeCo2.js → chunk-6Q2QTUOP-B64WcpmV.js} +1 -1
- package/dist/web/assets/{chunk-7Z6QIM7H-DT3BAZ4L.js → chunk-7Z6QIM7H-DiUNIjSC.js} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-mIdlxzfr.js → chunk-GF5L2VYU-rbtkA8ZE.js} +1 -1
- package/dist/web/assets/{chunk-I66GZJ75-CGl1hx4J.js → chunk-I66GZJ75-BywUmQY9.js} +1 -1
- package/dist/web/assets/{chunk-JQJVKLGR-BLG6gAfx.js → chunk-JQJVKLGR-BW097h_E.js} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-D_MPzBJx.js → chunk-KBJHAD2P-C1kXPXRi.js} +1 -1
- package/dist/web/assets/{chunk-NSK5VX7P-CiYiU8wP.js → chunk-NSK5VX7P-kej84W5N.js} +1 -1
- package/dist/web/assets/{chunk-QR6OTTB3-BK8Tnvcc.js → chunk-QR6OTTB3-BOzVZt4h.js} +1 -1
- package/dist/web/assets/{chunk-UBXNYLIW-BuzttTFk.js → chunk-UBXNYLIW-CJsGqSLH.js} +1 -1
- package/dist/web/assets/{chunk-W5SLKNZC-UidmFHe2.js → chunk-W5SLKNZC-BcRL2jRx.js} +1 -1
- package/dist/web/assets/{chunk-WRU74C26-nox7WFnh.js → chunk-WRU74C26-BDqViURG.js} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-yDkoGFrq.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-yDkoGFrq.js +1 -0
- package/dist/web/assets/{cynefin-VYW2F7L2-wDMibS5s.js → cynefin-VYW2F7L2-Dugz8jnV.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-CBTrdvOE.js → cynefinDiagram-MW4NZA55-D-C0yr-E.js} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-Bbgn4Rr7.js → dagre-VZM6K2ZE-Cw5E1SBZ.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-Bm9AuXb9.js → diagram-7IWD3JNH-Sf7kJZ8B.js} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-D3lZ-r-H.js → diagram-B4RE2ZJO-yCiqe-d4.js} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-D-GaynX7.js → diagram-LBJQPF4R-GOlna-Ju.js} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-BeZRiu1d.js → diagram-Q27KOJAE-D6EGrNVJ.js} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-C3GP7iMe.js → diagram-UB23O5K3-DdPGDYZ-.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-BJWg0NVU.js → ebnfDiagram-BXEA7PRR-Cm7S99yh.js} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-XPmhUeB_.js → erDiagram-JOGREHBK-BaGSsO0U.js} +1 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-CbAFmLja.js +1 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-Dz1a-iuK.js +1 -0
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-CL-xEo-M.js → ganttDiagram-PKOTCBZU-Dcim-2qK.js} +1 -1
- package/dist/web/assets/{gitGraph-TEB2WS4Q-BVRyuIx3.js → gitGraph-TEB2WS4Q-BhPbNzbD.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-BVNIEupW.js → gitGraphDiagram-DS77QQ5N-5n4OZuxI.js} +1 -1
- package/dist/web/assets/index-BOdYI3os.css +1 -0
- package/dist/web/assets/index-D2MzuS4L.js +384 -0
- package/dist/web/assets/{info-DKCQHKI2-BKBUVpfc.js → info-DKCQHKI2-B18FoJmv.js} +1 -1
- package/dist/web/assets/{infoDiagram-6WML65LV-_dTFnzSE.js → infoDiagram-6WML65LV-Cjd9H30j.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-DIRgD4hO.js → ishikawaDiagram-WSZJBQD7-B2HYwzk0.js} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-bp7nZrfR.js → journeyDiagram-NVQOT4AX-CIIOlEIS.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-C6mZIo8S.js → kanban-definition-27J2QSJJ-DpD98gCE.js} +1 -1
- package/dist/web/assets/{line-DWTym7eJ.js → line-1uMtgP84.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-CbecsNA1.js → mermaid-parser.core-CsoLrwW_.js} +3 -3
- package/dist/web/assets/{mermaid.core-CdRuLyYI.js → mermaid.core-DLvBOZ4b.js} +4 -4
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-CU2P1z-9.js → mindmap-definition-FAOFIHXS-aX8l0lZ8.js} +1 -1
- package/dist/web/assets/{packet-7NZHBO7P-CZsup6Od.js → packet-7NZHBO7P-C2mk4cRM.js} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-DTTyttpe.js → pegDiagram-VL7TDLO6-DJxCPsMd.js} +1 -1
- package/dist/web/assets/{pie-RZYD4A2V-DgrIiWZA.js → pie-RZYD4A2V-ZvoBUm4W.js} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BBNFyPT1.js → pieDiagram-7S7Q4E2Y-B_Zxlt9c.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-ejp-Aa2l.js → quadrantDiagram-CIZ2JOQS-BdQdNvfJ.js} +1 -1
- package/dist/web/assets/{radar-I7S5WNFK-Cp_hfjrI.js → radar-I7S5WNFK-C50TztIy.js} +1 -1
- package/dist/web/assets/{railroad-3IZDKUUU-Dw-oMal2.js → railroad-3IZDKUUU-C_CK0C2Y.js} +1 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-DEjonoj9.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-BGY58zLm.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-9byrH0Ii.js +1 -0
- package/dist/web/assets/{railroadDiagram-AXF67PYL-DkBUaj6Z.js → railroadDiagram-AXF67PYL-CZ1vA-S_.js} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-Dff1ex_h.js → requirementDiagram-LRYGKXZP-BDp4_zQI.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-DptSL9Bc.js → sankeyDiagram-W5VNT64P-CQQl9FYv.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-DEnPcs3U.js → sequenceDiagram-SI44F4Z6-BGANFekR.js} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-BwJO1MKA.js → stateDiagram-OKZ733FA-DbYseVuv.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CaYT-_kk.js +1 -0
- package/dist/web/assets/{swimlanes-SLNWSIFB-BosKiwZA.js → swimlanes-SLNWSIFB-Db9iJuW8.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CgMcCXPx.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-C5isAn4X.js → timeline-definition-Z64GVDOM-Ioz0wd0X.js} +1 -1
- package/dist/web/assets/{treeView-QDETBFTQ-zEyUXRc4.js → treeView-QDETBFTQ-clJ74kxF.js} +1 -1
- package/dist/web/assets/{treemap-6X3UGDF4-B-X0EQSE.js → treemap-6X3UGDF4-Dr2iSopM.js} +1 -1
- package/dist/web/assets/{vennDiagram-T6HMQDX7-QMdGieCa.js → vennDiagram-T6HMQDX7-Dm_4JT58.js} +1 -1
- package/dist/web/assets/{wardley-OPB4EBWU-BaeAF8d8.js → wardley-OPB4EBWU-BijQqUc8.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-DTQ_uLUq.js → wardleyDiagram-T6FBY63Y-C4x0wEqS.js} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-BMdBWzib.js → xychartDiagram-ELKLHX3M-BGoEonWo.js} +1 -1
- package/dist/web/index.html +2 -2
- package/migrations/011_comment_post_modifier.sql +3 -0
- package/package.json +15 -17
- package/skills/rvw/SKILL.md +1 -1
- package/skills/rvw-walkthrough/SKILL.md +1 -1
- package/skills/rvw-watch-comments/SKILL.md +48 -22
- package/skills/rvw-watch-comments/scripts/auto-ack.mjs +18 -2
- package/skills/rvw-watch-comments/scripts/preflight.mjs +1 -1
- package/skills/rvw-watch-comments/scripts/watch-driver.mjs +47 -17
- package/skills/rvw-watch-comments/scripts/watch-state.mjs +68 -10
- package/dist/web/assets/MarkdownTable-CdbKPft2.js +0 -7
- package/dist/web/assets/WalkthroughViewer-D1LlSQw2.js +0 -1
- package/dist/web/assets/architecture-TIHT7OUA-edLV2Zq-.js +0 -1
- package/dist/web/assets/channel-J8FHSJDG.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-CmTWSnH0.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-CmTWSnH0.js +0 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-C3c4qddw.js +0 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-DMA-a1zf.js +0 -1
- package/dist/web/assets/index-D8GJBw23.js +0 -384
- package/dist/web/assets/index-DMD2vvQW.css +0 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-BN-ZBhE0.js +0 -1
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CG97zyI2.js +0 -1
- package/dist/web/assets/railroad-peg-LSFZ7HO6-DHLQ1evQ.js +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-LaSNqvWy.js +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-C5OBtBlv.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,35 @@
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.2.5] - 2026-08-26
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- focus中のdocument paneで`Cmd/Ctrl+F`を押すと、code、Markdown、Walkthroughの描画内容を
|
|
13
|
+
case-sensitive、whole-word、regular expressionの切り替え付きで検索できるVS Code風find widget
|
|
14
|
+
- PR本文とrepository Markdown preview内の`mermaid` fenced blockを、themeとsource-line mappingを
|
|
15
|
+
保ったstrict Mermaid surfaceで描画
|
|
16
|
+
- final Agent commentをnative browser notificationで通知し、human post、acknowledgement、初回load、
|
|
17
|
+
idempotent retryは通知対象から除外
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- expanded Comments sidebarの上端をpointerまたはkeyboardでresize可能にし、double-clickで自動配分へreset
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- dual-pane表示でcomment / reply draftをpaneごとに分離し、refresh時も選択中のcommit rangeを保持
|
|
26
|
+
- watcher postのAgent provenanceを保持し、comment notificationを投稿種別に応じて正しく判定
|
|
27
|
+
- compound template extensionのsyntax highlightと、Markdown preview内code referenceのrange highlightを改善
|
|
28
|
+
|
|
29
|
+
## [0.2.4] - 2026-08-24
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- `rvw-watch-comments`のinvestigate-and-reply専用taskで、同じPR/repositoryの後続batchもworker capacity内で
|
|
34
|
+
並列に調査・返信。保証できる場合は`max-in-flight=8`を目標とし、fix-and-pushを許可したtaskだけ従来の
|
|
35
|
+
writer排他を維持
|
|
36
|
+
|
|
8
37
|
## [0.2.3] - 2026-08-21
|
|
9
38
|
|
|
10
39
|
### Added
|
package/dist/cli.mjs
CHANGED
|
@@ -18717,6 +18717,11 @@ function nullableNumber(row, key) {
|
|
|
18717
18717
|
}
|
|
18718
18718
|
return Number(value);
|
|
18719
18719
|
}
|
|
18720
|
+
function nullableCommentPostModifier(row, key) {
|
|
18721
|
+
const value = nullableString(row, key);
|
|
18722
|
+
if (value === null || value === "human" || value === "agent") return value;
|
|
18723
|
+
throw new RvwError("DATABASE_ERROR", `DB\u5217 ${key} \u304C\u4E0D\u6B63\u3067\u3059\u3002`);
|
|
18724
|
+
}
|
|
18720
18725
|
function stringRecordValue(row, key) {
|
|
18721
18726
|
try {
|
|
18722
18727
|
const value = JSON.parse(stringValue(row, key));
|
|
@@ -18772,6 +18777,7 @@ function mapCommentPost(row, references = []) {
|
|
|
18772
18777
|
relatedCommitOid: nullableString(row, "related_commit_oid"),
|
|
18773
18778
|
references,
|
|
18774
18779
|
authorLabel: nullableString(row, "author_label"),
|
|
18780
|
+
lastModifiedBy: nullableCommentPostModifier(row, "last_modified_by"),
|
|
18775
18781
|
isRoot: numberValue(row, "is_root") === 1,
|
|
18776
18782
|
createdAt: stringValue(row, "created_at"),
|
|
18777
18783
|
updatedAt: stringValue(row, "updated_at")
|
|
@@ -19382,13 +19388,14 @@ var RvwDatabase = class {
|
|
|
19382
19388
|
).run(id, input.pullRequestId, input.createdHeadOid, now, now);
|
|
19383
19389
|
this.insertCommentTarget(id, input.target);
|
|
19384
19390
|
this.database.prepare(
|
|
19385
|
-
"INSERT INTO comment_posts(id, comment_id, body, related_commit_oid, author_label, is_root, created_at, updated_at) VALUES (?, ?, ?, ?, ?, 1, ?, ?)"
|
|
19391
|
+
"INSERT INTO comment_posts(id, comment_id, body, related_commit_oid, author_label, last_modified_by, is_root, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, 1, ?, ?)"
|
|
19386
19392
|
).run(
|
|
19387
19393
|
postId,
|
|
19388
19394
|
id,
|
|
19389
19395
|
input.body,
|
|
19390
19396
|
input.relatedCommitOid ?? null,
|
|
19391
19397
|
input.authorLabel ?? null,
|
|
19398
|
+
input.lastModifiedBy ?? null,
|
|
19392
19399
|
now,
|
|
19393
19400
|
now
|
|
19394
19401
|
);
|
|
@@ -19529,7 +19536,8 @@ var RvwDatabase = class {
|
|
|
19529
19536
|
w.title AS walkthrough_title,
|
|
19530
19537
|
root.id AS root_id, root.body AS root_body,
|
|
19531
19538
|
root.related_commit_oid AS root_related_commit_oid,
|
|
19532
|
-
root.author_label AS root_author_label,
|
|
19539
|
+
root.author_label AS root_author_label,
|
|
19540
|
+
root.last_modified_by AS root_last_modified_by, root.created_at AS root_created_at,
|
|
19533
19541
|
root.updated_at AS root_updated_at,
|
|
19534
19542
|
(SELECT COUNT(*) FROM comment_posts p WHERE p.comment_id = c.id) AS post_count
|
|
19535
19543
|
FROM comments c
|
|
@@ -19550,6 +19558,7 @@ var RvwDatabase = class {
|
|
|
19550
19558
|
relatedCommitOid: nullableString(row, "root_related_commit_oid"),
|
|
19551
19559
|
references: [],
|
|
19552
19560
|
authorLabel: nullableString(row, "root_author_label"),
|
|
19561
|
+
lastModifiedBy: nullableCommentPostModifier(row, "root_last_modified_by"),
|
|
19553
19562
|
isRoot: true,
|
|
19554
19563
|
createdAt: stringValue(row, "root_created_at"),
|
|
19555
19564
|
updatedAt: stringValue(row, "root_updated_at")
|
|
@@ -19618,8 +19627,17 @@ var RvwDatabase = class {
|
|
|
19618
19627
|
const id = randomUUID();
|
|
19619
19628
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
19620
19629
|
this.database.prepare(
|
|
19621
|
-
"INSERT INTO comment_posts(id, comment_id, body, related_commit_oid, author_label, is_root, created_at, updated_at) VALUES (?, ?, ?, ?, ?, 0, ?, ?)"
|
|
19622
|
-
).run(
|
|
19630
|
+
"INSERT INTO comment_posts(id, comment_id, body, related_commit_oid, author_label, last_modified_by, is_root, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?)"
|
|
19631
|
+
).run(
|
|
19632
|
+
id,
|
|
19633
|
+
commentId,
|
|
19634
|
+
input.body,
|
|
19635
|
+
relatedCommitOid,
|
|
19636
|
+
authorLabel,
|
|
19637
|
+
input.lastModifiedBy ?? null,
|
|
19638
|
+
now,
|
|
19639
|
+
now
|
|
19640
|
+
);
|
|
19623
19641
|
this.insertCodeReferences("comment-post", id, input.references ?? []);
|
|
19624
19642
|
this.database.prepare(
|
|
19625
19643
|
`INSERT INTO comment_post_events(
|
|
@@ -19640,6 +19658,7 @@ var RvwDatabase = class {
|
|
|
19640
19658
|
relatedCommitOid,
|
|
19641
19659
|
references: input.references ?? [],
|
|
19642
19660
|
authorLabel,
|
|
19661
|
+
lastModifiedBy: input.lastModifiedBy ?? null,
|
|
19643
19662
|
isRoot: false,
|
|
19644
19663
|
createdAt: now,
|
|
19645
19664
|
updatedAt: now
|
|
@@ -19650,24 +19669,21 @@ var RvwDatabase = class {
|
|
|
19650
19669
|
if (!result) throw new RvwError("DATABASE_ERROR", "\u8FD4\u4FE1\u7D50\u679C\u3092\u8AAD\u307F\u51FA\u305B\u307E\u305B\u3093\u3002");
|
|
19651
19670
|
return result;
|
|
19652
19671
|
}
|
|
19653
|
-
updateCommentPost(commentId, postId, body, relatedCommitOid, references) {
|
|
19672
|
+
updateCommentPost(commentId, postId, body, relatedCommitOid, references, lastModifiedBy) {
|
|
19654
19673
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
19655
19674
|
this.immediateTransaction(() => {
|
|
19656
|
-
const result =
|
|
19657
|
-
|
|
19658
|
-
|
|
19659
|
-
|
|
19660
|
-
|
|
19661
|
-
).run(body, relatedCommitOid, now, postId, commentId);
|
|
19675
|
+
const result = this.database.prepare(
|
|
19676
|
+
`UPDATE comment_posts
|
|
19677
|
+
SET body = ?, related_commit_oid = ?, last_modified_by = ?, updated_at = ?
|
|
19678
|
+
WHERE id = ? AND comment_id = ?`
|
|
19679
|
+
).run(body, relatedCommitOid, lastModifiedBy, now, postId, commentId);
|
|
19662
19680
|
if (Number(result.changes) === 0) {
|
|
19663
19681
|
throw new RvwError("COMMENT_POST_NOT_FOUND", "\u30B3\u30E1\u30F3\u30C8\u6295\u7A3F\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002", {
|
|
19664
19682
|
status: 404
|
|
19665
19683
|
});
|
|
19666
19684
|
}
|
|
19667
|
-
|
|
19668
|
-
|
|
19669
|
-
this.insertCodeReferences("comment-post", postId, references);
|
|
19670
|
-
}
|
|
19685
|
+
this.database.prepare("DELETE FROM comment_post_references WHERE post_id = ?").run(postId);
|
|
19686
|
+
this.insertCodeReferences("comment-post", postId, references);
|
|
19671
19687
|
this.database.prepare("UPDATE comments SET updated_at = ? WHERE id = ?").run(now, commentId);
|
|
19672
19688
|
this.incrementChangeSequence();
|
|
19673
19689
|
});
|
|
@@ -19740,6 +19756,7 @@ var RvwDatabase = class {
|
|
|
19740
19756
|
relatedCommitOid,
|
|
19741
19757
|
references: update.references ?? [],
|
|
19742
19758
|
authorLabel: update.authorLabel ?? "Agent",
|
|
19759
|
+
lastModifiedBy: update.lastModifiedBy ?? "agent",
|
|
19743
19760
|
...update.idempotencyKey === void 0 ? {} : { idempotencyKey: update.idempotencyKey },
|
|
19744
19761
|
...update.idempotencyRequestHash === void 0 ? {} : { idempotencyRequestHash: update.idempotencyRequestHash }
|
|
19745
19762
|
},
|
|
@@ -19759,8 +19776,8 @@ import path5 from "node:path";
|
|
|
19759
19776
|
import { TextDecoder as TextDecoder2 } from "node:util";
|
|
19760
19777
|
|
|
19761
19778
|
// src/shared/constants.ts
|
|
19762
|
-
var APP_VERSION = "0.2.
|
|
19763
|
-
var PROTOCOL_VERSION =
|
|
19779
|
+
var APP_VERSION = "0.2.5";
|
|
19780
|
+
var PROTOCOL_VERSION = 4;
|
|
19764
19781
|
var VIEWER_ID_HEADER = "x-rvw-viewer-id";
|
|
19765
19782
|
var GIT_OBJECT_ID_PATTERN = /^[0-9a-f]{40,64}$/i;
|
|
19766
19783
|
var MAX_TEXT_DOCUMENT_BYTES = 1024 * 1024;
|
|
@@ -28299,6 +28316,7 @@ var RvwService = class {
|
|
|
28299
28316
|
commentId,
|
|
28300
28317
|
reply: update.reply,
|
|
28301
28318
|
resolve: update.resolve,
|
|
28319
|
+
lastModifiedBy: "agent",
|
|
28302
28320
|
...update.references === void 0 ? {} : { references: update.references },
|
|
28303
28321
|
...update.authorLabel === void 0 ? {} : { authorLabel: update.authorLabel },
|
|
28304
28322
|
...update.idempotencyKey === void 0 ? {} : { idempotencyKey: update.idempotencyKey },
|
|
@@ -28759,7 +28777,8 @@ var RvwService = class {
|
|
|
28759
28777
|
body,
|
|
28760
28778
|
...input.relatedCommitOid === void 0 ? {} : { relatedCommitOid: input.relatedCommitOid },
|
|
28761
28779
|
references,
|
|
28762
|
-
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel }
|
|
28780
|
+
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel },
|
|
28781
|
+
...input.lastModifiedBy === void 0 ? {} : { lastModifiedBy: input.lastModifiedBy }
|
|
28763
28782
|
});
|
|
28764
28783
|
return input.relatedCommitOid ? await this.writeWithRetainedCommit(pullRequest, input.relatedCommitOid, "comment", write) : write();
|
|
28765
28784
|
}
|
|
@@ -28771,7 +28790,8 @@ var RvwService = class {
|
|
|
28771
28790
|
body: input.body,
|
|
28772
28791
|
...input.relatedCommitOid === void 0 ? {} : { relatedCommitOid: input.relatedCommitOid },
|
|
28773
28792
|
...input.references === void 0 ? {} : { references: input.references },
|
|
28774
|
-
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel }
|
|
28793
|
+
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel },
|
|
28794
|
+
lastModifiedBy: "agent"
|
|
28775
28795
|
});
|
|
28776
28796
|
}
|
|
28777
28797
|
getCommentByUri(uri) {
|
|
@@ -29061,6 +29081,7 @@ var RvwService = class {
|
|
|
29061
29081
|
...input,
|
|
29062
29082
|
body,
|
|
29063
29083
|
references,
|
|
29084
|
+
...input.lastModifiedBy === void 0 ? {} : { lastModifiedBy: input.lastModifiedBy },
|
|
29064
29085
|
...input.idempotencyKey === void 0 ? {} : {
|
|
29065
29086
|
idempotencyRequestHash: idempotencyRequestHash({
|
|
29066
29087
|
operation: "comment.reply",
|
|
@@ -29082,7 +29103,7 @@ var RvwService = class {
|
|
|
29082
29103
|
const id = uriOrId.startsWith("rvw://") ? parseCommentUri(uriOrId) : uriOrId;
|
|
29083
29104
|
return this.database.deleteComment(id);
|
|
29084
29105
|
}
|
|
29085
|
-
async updateCommentPost(commentId, postId, body) {
|
|
29106
|
+
async updateCommentPost(commentId, postId, body, lastModifiedBy) {
|
|
29086
29107
|
const comment = this.database.getComment(commentId);
|
|
29087
29108
|
const post = comment?.posts.find((candidate) => candidate.id === postId);
|
|
29088
29109
|
if (!comment || !post) {
|
|
@@ -29093,7 +29114,8 @@ var RvwService = class {
|
|
|
29093
29114
|
const usedReferenceIds = new Set(analyzeReferenceMarkdown(body).referenceIds);
|
|
29094
29115
|
return await this.editCommentPost(commentId, postId, {
|
|
29095
29116
|
body,
|
|
29096
|
-
references: post.references.filter((reference) => usedReferenceIds.has(reference.id))
|
|
29117
|
+
references: post.references.filter((reference) => usedReferenceIds.has(reference.id)),
|
|
29118
|
+
...lastModifiedBy === void 0 ? {} : { lastModifiedBy }
|
|
29097
29119
|
});
|
|
29098
29120
|
}
|
|
29099
29121
|
async editCommentPost(uriOrId, postId, input) {
|
|
@@ -29118,7 +29140,14 @@ var RvwService = class {
|
|
|
29118
29140
|
references,
|
|
29119
29141
|
subject: "comment post"
|
|
29120
29142
|
});
|
|
29121
|
-
const write = () => this.database.updateCommentPost(
|
|
29143
|
+
const write = () => this.database.updateCommentPost(
|
|
29144
|
+
commentId,
|
|
29145
|
+
postId,
|
|
29146
|
+
body,
|
|
29147
|
+
relatedCommitOid,
|
|
29148
|
+
references,
|
|
29149
|
+
input.lastModifiedBy ?? post.lastModifiedBy
|
|
29150
|
+
);
|
|
29122
29151
|
return relatedCommitOid ? await this.writeWithRetainedCommit(pullRequest, relatedCommitOid, "comment", write) : write();
|
|
29123
29152
|
}
|
|
29124
29153
|
deleteReply(commentId, postId) {
|
|
@@ -33653,7 +33682,8 @@ function createApp(service, options) {
|
|
|
33653
33682
|
body: input.body,
|
|
33654
33683
|
...input.relatedCommitOid === void 0 ? {} : { relatedCommitOid: input.relatedCommitOid },
|
|
33655
33684
|
...input.references === void 0 ? {} : { references: input.references },
|
|
33656
|
-
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel }
|
|
33685
|
+
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel },
|
|
33686
|
+
lastModifiedBy: "human"
|
|
33657
33687
|
})
|
|
33658
33688
|
},
|
|
33659
33689
|
201
|
|
@@ -33668,6 +33698,7 @@ function createApp(service, options) {
|
|
|
33668
33698
|
body: input.body,
|
|
33669
33699
|
...input.relatedCommitOid === void 0 ? {} : { relatedCommitOid: input.relatedCommitOid },
|
|
33670
33700
|
...input.authorLabel === void 0 ? {} : { authorLabel: input.authorLabel },
|
|
33701
|
+
lastModifiedBy: "human",
|
|
33671
33702
|
...input.references === void 0 ? {} : { references: input.references }
|
|
33672
33703
|
})
|
|
33673
33704
|
},
|
|
@@ -33681,10 +33712,12 @@ function createApp(service, options) {
|
|
|
33681
33712
|
post: input.references === void 0 ? await service.updateCommentPost(
|
|
33682
33713
|
context.req.param("id"),
|
|
33683
33714
|
context.req.param("postId"),
|
|
33684
|
-
input.body
|
|
33715
|
+
input.body,
|
|
33716
|
+
"human"
|
|
33685
33717
|
) : await service.editCommentPost(context.req.param("id"), context.req.param("postId"), {
|
|
33686
33718
|
body: input.body,
|
|
33687
|
-
references: input.references
|
|
33719
|
+
references: input.references,
|
|
33720
|
+
lastModifiedBy: "human"
|
|
33688
33721
|
})
|
|
33689
33722
|
});
|
|
33690
33723
|
});
|
|
@@ -33917,7 +33950,8 @@ import os4 from "node:os";
|
|
|
33917
33950
|
import path9 from "node:path";
|
|
33918
33951
|
var MAX_CLI_STDIN_BYTES = 40 * 1024 * 1024;
|
|
33919
33952
|
var MAX_AGENT_MESSAGE_BYTES = MAX_CLI_STDIN_BYTES + 64 * 1024;
|
|
33920
|
-
var AGENT_SOCKET_PROTOCOL_VERSION =
|
|
33953
|
+
var AGENT_SOCKET_PROTOCOL_VERSION = 2;
|
|
33954
|
+
var AGENT_SOCKET_RESTART_SUGGESTION = "\u8D77\u52D5\u4E2D\u306Ervw viewer\u3092\u505C\u6B62\u3057\u3001\u66F4\u65B0\u5F8C\u306Ervw open\u3067\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
33921
33955
|
var DEFAULT_CONNECT_TIMEOUT_MS = 2e3;
|
|
33922
33956
|
var DEFAULT_OPERATION_TIMEOUT_MS = 18e4;
|
|
33923
33957
|
var DEFAULT_TAKEOVER_RETRY_MS = 1e3;
|
|
@@ -33987,7 +34021,13 @@ function parseOperationInput(operation, value) {
|
|
|
33987
34021
|
async function dispatchAgentSocketRequest(service, rawRequest) {
|
|
33988
34022
|
const request = parseRequest(rawRequest);
|
|
33989
34023
|
if (request.protocolVersion !== AGENT_SOCKET_PROTOCOL_VERSION) {
|
|
33990
|
-
throw new RvwError("STALE_PROTOCOL", "Agent socket protocol version\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002"
|
|
34024
|
+
throw new RvwError("STALE_PROTOCOL", "Agent socket protocol version\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002", {
|
|
34025
|
+
details: {
|
|
34026
|
+
expectedProtocolVersion: AGENT_SOCKET_PROTOCOL_VERSION,
|
|
34027
|
+
receivedProtocolVersion: request.protocolVersion
|
|
34028
|
+
},
|
|
34029
|
+
suggestions: [AGENT_SOCKET_RESTART_SUGGESTION]
|
|
34030
|
+
});
|
|
33991
34031
|
}
|
|
33992
34032
|
if (request.expectedDatabasePath !== void 0 && path9.resolve(request.expectedDatabasePath) !== path9.resolve(service.database.filePath)) {
|
|
33993
34033
|
throw new RvwError("DATABASE_ERROR", "Agent socket\u304C\u5225\u306Edatabase\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002", {
|
|
@@ -34063,17 +34103,18 @@ async function dispatchAgentSocketRequest(service, rawRequest) {
|
|
|
34063
34103
|
}
|
|
34064
34104
|
case "comment.reply": {
|
|
34065
34105
|
const input = parseOperationInput("comment.reply", request.input);
|
|
34066
|
-
return await service.replyToComment(
|
|
34067
|
-
input.
|
|
34068
|
-
|
|
34069
|
-
);
|
|
34106
|
+
return await service.replyToComment(input.uri, {
|
|
34107
|
+
...input.reply,
|
|
34108
|
+
lastModifiedBy: "agent"
|
|
34109
|
+
});
|
|
34070
34110
|
}
|
|
34071
34111
|
case "comment.edit": {
|
|
34072
34112
|
const input = parseOperationInput("comment.edit", request.input);
|
|
34073
34113
|
return await service.editCommentPost(input.uri, input.postId, {
|
|
34074
34114
|
body: input.edit.body,
|
|
34075
34115
|
...input.edit.relatedCommitOid === void 0 ? {} : { relatedCommitOid: input.edit.relatedCommitOid },
|
|
34076
|
-
...input.edit.references === void 0 ? {} : { references: input.edit.references }
|
|
34116
|
+
...input.edit.references === void 0 ? {} : { references: input.edit.references },
|
|
34117
|
+
lastModifiedBy: "agent"
|
|
34077
34118
|
});
|
|
34078
34119
|
}
|
|
34079
34120
|
case "comment.resolve": {
|
|
@@ -34288,9 +34329,15 @@ async function tryAgentSocketRequest(operation, input, options = {}) {
|
|
|
34288
34329
|
}
|
|
34289
34330
|
return;
|
|
34290
34331
|
}
|
|
34332
|
+
const suggestions = response.error.code === "STALE_PROTOCOL" ? [
|
|
34333
|
+
.../* @__PURE__ */ new Set([
|
|
34334
|
+
...response.error.suggestions ?? [],
|
|
34335
|
+
AGENT_SOCKET_RESTART_SUGGESTION
|
|
34336
|
+
])
|
|
34337
|
+
] : response.error.suggestions;
|
|
34291
34338
|
reject(
|
|
34292
34339
|
new RvwError(response.error.code, response.error.message, {
|
|
34293
|
-
suggestions
|
|
34340
|
+
suggestions,
|
|
34294
34341
|
details: response.error.details
|
|
34295
34342
|
})
|
|
34296
34343
|
);
|
|
@@ -34737,6 +34784,7 @@ var commentPostOutputSchema = external_exports.object({
|
|
|
34737
34784
|
relatedCommitOid: external_exports.string().nullable(),
|
|
34738
34785
|
references: external_exports.array(codeReferenceOutputSchema),
|
|
34739
34786
|
authorLabel: external_exports.string().nullable(),
|
|
34787
|
+
lastModifiedBy: external_exports.enum(["human", "agent"]).nullable(),
|
|
34740
34788
|
isRoot: external_exports.boolean(),
|
|
34741
34789
|
createdAt: external_exports.string(),
|
|
34742
34790
|
updatedAt: external_exports.string()
|
|
@@ -35677,7 +35725,10 @@ function createProgram(runtimeFactory = defaultRuntimeFactory) {
|
|
|
35677
35725
|
const post = await callService(
|
|
35678
35726
|
"comment.reply",
|
|
35679
35727
|
{ uri, reply },
|
|
35680
|
-
async () => await getRuntime().service.replyToComment(uri,
|
|
35728
|
+
async () => await getRuntime().service.replyToComment(uri, {
|
|
35729
|
+
...reply,
|
|
35730
|
+
lastModifiedBy: "agent"
|
|
35731
|
+
})
|
|
35681
35732
|
);
|
|
35682
35733
|
writeJson({ ok: true, post });
|
|
35683
35734
|
});
|
|
@@ -35691,7 +35742,10 @@ function createProgram(runtimeFactory = defaultRuntimeFactory) {
|
|
|
35691
35742
|
const post = await callService(
|
|
35692
35743
|
"comment.edit",
|
|
35693
35744
|
{ uri, postId: options.post, edit },
|
|
35694
|
-
async () => await getRuntime().service.editCommentPost(uri, options.post,
|
|
35745
|
+
async () => await getRuntime().service.editCommentPost(uri, options.post, {
|
|
35746
|
+
...edit,
|
|
35747
|
+
lastModifiedBy: "agent"
|
|
35748
|
+
})
|
|
35695
35749
|
);
|
|
35696
35750
|
writeJson({ ok: true, post });
|
|
35697
35751
|
});
|