@difflab/pi 0.2.0 → 0.3.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 (94) hide show
  1. package/README.md +28 -4
  2. package/agents/diffpi-orchestrator.md +7 -5
  3. package/agents/diffpi-reviewer.md +36 -0
  4. package/dist/assets.d.ts +2 -0
  5. package/dist/assets.d.ts.map +1 -1
  6. package/dist/commands/index.d.ts +8 -0
  7. package/dist/commands/index.d.ts.map +1 -0
  8. package/dist/commands/mode.d.ts +5 -0
  9. package/dist/commands/mode.d.ts.map +1 -0
  10. package/dist/commands/reload.d.ts +4 -0
  11. package/dist/commands/reload.d.ts.map +1 -0
  12. package/dist/commands/review.d.ts +5 -0
  13. package/dist/commands/review.d.ts.map +1 -0
  14. package/dist/environment.d.ts +41 -0
  15. package/dist/environment.d.ts.map +1 -0
  16. package/dist/extensions/ghx.d.ts +5 -0
  17. package/dist/extensions/ghx.d.ts.map +1 -0
  18. package/dist/extensions/gitx.d.ts +10 -0
  19. package/dist/extensions/gitx.d.ts.map +1 -0
  20. package/dist/extensions/glabx.d.ts +5 -0
  21. package/dist/extensions/glabx.d.ts.map +1 -0
  22. package/dist/extensions/index.js +2732 -189
  23. package/dist/{mise.d.ts → extensions/misex.d.ts} +3 -1
  24. package/dist/extensions/misex.d.ts.map +1 -0
  25. package/dist/{process.d.ts → extensions/processx.d.ts} +3 -1
  26. package/dist/extensions/processx.d.ts.map +1 -0
  27. package/dist/extensions/tuicrx.d.ts +59 -0
  28. package/dist/extensions/tuicrx.d.ts.map +1 -0
  29. package/dist/extensions/zedx.d.ts +16 -0
  30. package/dist/extensions/zedx.d.ts.map +1 -0
  31. package/dist/gates.d.ts +12 -0
  32. package/dist/gates.d.ts.map +1 -0
  33. package/dist/index.d.ts +24 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1799 -137
  36. package/dist/modes.d.ts +1 -0
  37. package/dist/modes.d.ts.map +1 -1
  38. package/dist/review/github-review-backend.d.ts +5 -0
  39. package/dist/review/github-review-backend.d.ts.map +1 -0
  40. package/dist/review/gitlab-review-backend.d.ts +12 -0
  41. package/dist/review/gitlab-review-backend.d.ts.map +1 -0
  42. package/dist/review/index.d.ts +8 -0
  43. package/dist/review/index.d.ts.map +1 -0
  44. package/dist/review/local-review-backend.d.ts +3 -0
  45. package/dist/review/local-review-backend.d.ts.map +1 -0
  46. package/dist/review/review-backend.d.ts +8 -0
  47. package/dist/review/review-backend.d.ts.map +1 -0
  48. package/dist/review/review-markdown.d.ts +6 -0
  49. package/dist/review/review-markdown.d.ts.map +1 -0
  50. package/dist/review/review-state.d.ts +19 -0
  51. package/dist/review/review-state.d.ts.map +1 -0
  52. package/dist/review/types.d.ts +107 -0
  53. package/dist/review/types.d.ts.map +1 -0
  54. package/dist/setup.d.ts +7 -0
  55. package/dist/setup.d.ts.map +1 -1
  56. package/dist/store.d.ts +15 -0
  57. package/dist/store.d.ts.map +1 -0
  58. package/dist/templates.d.ts +14 -0
  59. package/dist/templates.d.ts.map +1 -0
  60. package/dist/tools/index.d.ts +2 -0
  61. package/dist/tools/index.d.ts.map +1 -1
  62. package/dist/tools/index.js +2722 -299
  63. package/dist/tools/review.d.ts +7 -0
  64. package/dist/tools/review.d.ts.map +1 -0
  65. package/dist/tools/setup.d.ts.map +1 -1
  66. package/dist/tools/templates.d.ts +3 -0
  67. package/dist/tools/templates.d.ts.map +1 -0
  68. package/dist/vcs/forge-backend.d.ts +7 -0
  69. package/dist/vcs/forge-backend.d.ts.map +1 -0
  70. package/dist/vcs/github.d.ts +5 -0
  71. package/dist/vcs/github.d.ts.map +1 -0
  72. package/dist/vcs/gitlab.d.ts +4 -0
  73. package/dist/vcs/gitlab.d.ts.map +1 -0
  74. package/dist/vcs/helpers.d.ts +7 -0
  75. package/dist/vcs/helpers.d.ts.map +1 -0
  76. package/dist/vcs/index.d.ts +6 -0
  77. package/dist/vcs/index.d.ts.map +1 -0
  78. package/dist/vcs/types.d.ts +32 -0
  79. package/dist/vcs/types.d.ts.map +1 -0
  80. package/package.json +3 -2
  81. package/skills/diffpi-setup/SKILL.md +3 -1
  82. package/skills/review/SKILL.md +17 -0
  83. package/skills/review/references/workflows/address.md +11 -0
  84. package/skills/review/references/workflows/auto.md +18 -0
  85. package/skills/review/references/workflows/complete.md +7 -0
  86. package/skills/review/references/workflows/edit.md +7 -0
  87. package/skills/review/references/workflows/help.md +30 -0
  88. package/skills/review/references/workflows/merge.md +6 -0
  89. package/skills/review/references/workflows/new.md +19 -0
  90. package/skills/review/references/workflows/open.md +3 -0
  91. package/skills/review/references/workflows/publish.md +8 -0
  92. package/templates/review/draft-pr.md +25 -0
  93. package/dist/mise.d.ts.map +0 -1
  94. package/dist/process.d.ts.map +0 -1
package/dist/modes.d.ts CHANGED
@@ -25,6 +25,7 @@ export interface ModeController {
25
25
  set(agent: string, ctx: ExtensionContext): Promise<ModeSelectionResult>;
26
26
  unset(ctx: ExtensionContext): Promise<ModeSelectionResult>;
27
27
  restore(ctx: ExtensionContext): Promise<void>;
28
+ refresh(ctx: ExtensionContext): void;
28
29
  apply(systemPrompt: string): string;
29
30
  getActive(): AgentMode | undefined;
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../src/modes.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAUzC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhG,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,kBAAkB,CAAC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,SAAS,IAAI,SAAS,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErH,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG,IAAI,CACrB,YAAY,EACV,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,UAAU,GACV,kBAAkB,CACrB,CAAC;AA6BF,4EAA4E;AAC5E,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiC5F;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAqBpG;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,GAAE,qBAA0B,GAAG,cAAc,CA8EzG"}
1
+ {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../src/modes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { VcsInfo } from '../environment';
2
+ import type { ReviewBackend } from './types';
3
+ export declare function GitHubReviewBackend(vcs: VcsInfo, number: number): ReviewBackend;
4
+ export declare function githubReviewSubmissionEndpoint(owner: string, repo: string, id: number, pendingReviewId: string): string;
5
+ //# sourceMappingURL=github-review-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-review-backend.d.ts","sourceRoot":"","sources":["../../src/review/github-review-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,SAAS,CAAC;AAEjE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CA2M/E;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,GACtB,MAAM,CAIR"}
@@ -0,0 +1,12 @@
1
+ import type { ForgeProvider, VcsInfo } from '../environment';
2
+ import type { ReviewBackend, ReviewEvent } from './types';
3
+ export declare function GitLabReviewBackend(vcs: VcsInfo, number: number): ReviewBackend;
4
+ export declare function assertReviewEventSupported(provider: ForgeProvider, event: ReviewEvent): void;
5
+ export interface GitlabDiffRefs {
6
+ base_sha: string;
7
+ start_sha: string;
8
+ head_sha: string;
9
+ }
10
+ export declare function parseGitlabDiffRefs(input: string): GitlabDiffRefs;
11
+ export declare function hasGitlabDraftNotes(input: string): boolean;
12
+ //# sourceMappingURL=gitlab-review-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitlab-review-backend.d.ts","sourceRoot":"","sources":["../../src/review/gitlab-review-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAiB,WAAW,EAAsB,MAAM,SAAS,CAAC;AAE7F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CA2H/E;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAM5F;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAYjE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAO1D"}
@@ -0,0 +1,8 @@
1
+ export { dedupeFindings, findingSchema, findingsSchema, isLocalResponse, localResponseMarker, localReviewAuthor, reviewRecordName, reviewSlug, severitySchema, toReviewComments, withRemoteProvenance, yymmdd, } from './types';
2
+ export type { Finding, LocalReviewBackendOptions, ReviewBackend, ReviewComment, ReviewDocInput, ReviewDraft, ReviewEvent, ReviewReply, ReviewSide, ReviewThreadArtifactOptions, ReviewThreadRecord, Severity, } from './types';
3
+ export { parseThreadArtifact, renderReviewDoc, renderThreadArtifact, upsertThreadReply } from './review-markdown';
4
+ export { assertReviewEventSupported, createLocalReviewBackend, createRemoteReviewBackend, githubReviewSubmissionEndpoint, hasGitlabDraftNotes, parseGitlabDiffRefs, } from './review-backend';
5
+ export type { GitlabDiffRefs } from './review-backend';
6
+ export { loadReviewPublicationState, reviewBodyFingerprint, reviewCommentFingerprint, reviewReplyFingerprint, saveReviewPublicationState, unpublishedReviewComments, } from './review-state';
7
+ export type { ReviewPublicationState } from './review-state';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/review/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,MAAM,GACP,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,OAAO,EACP,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,2BAA2B,EAC3B,kBAAkB,EAClB,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocalReviewBackendOptions, ReviewBackend } from './types';
2
+ export declare function LocalReviewBackend(options: LocalReviewBackendOptions): ReviewBackend;
3
+ //# sourceMappingURL=local-review-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-review-backend.d.ts","sourceRoot":"","sources":["../../src/review/local-review-backend.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa,CAqCpF"}
@@ -0,0 +1,8 @@
1
+ import type { VcsInfo } from '../environment';
2
+ import type { LocalReviewBackendOptions, ReviewBackend } from './types';
3
+ export type { LocalReviewBackendOptions, ReviewBackend, ReviewComment, ReviewDraft, ReviewEvent, ReviewReply, ReviewSide, } from './types';
4
+ export { githubReviewSubmissionEndpoint } from './github-review-backend';
5
+ export { assertReviewEventSupported, hasGitlabDraftNotes, parseGitlabDiffRefs, type GitlabDiffRefs, } from './gitlab-review-backend';
6
+ export declare function createRemoteReviewBackend(vcs: VcsInfo, number: number): ReviewBackend;
7
+ export declare function createLocalReviewBackend(options: LocalReviewBackendOptions): ReviewBackend;
8
+ //# sourceMappingURL=review-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-backend.d.ts","sourceRoot":"","sources":["../../src/review/review-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExE,YAAY,EACV,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAIrF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa,CAE1F"}
@@ -0,0 +1,6 @@
1
+ import type { ReviewDocInput, ReviewThreadArtifactOptions, ReviewThreadRecord } from './types';
2
+ export declare function renderReviewDoc(input: ReviewDocInput): string;
3
+ export declare function renderThreadArtifact(title: string, target: string, threads: readonly ReviewThreadRecord[], options?: ReviewThreadArtifactOptions): string;
4
+ export declare function parseThreadArtifact(content: string): ReviewThreadRecord[];
5
+ export declare function upsertThreadReply(content: string, threadId: string, body: string, question?: boolean, resolved?: boolean): string;
6
+ //# sourceMappingURL=review-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-markdown.d.ts","sourceRoot":"","sources":["../../src/review/review-markdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiB/F,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CA8B7D;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,OAAO,GAAE,2BAAgC,GACxC,MAAM,CAkDR;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAoBzE;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,CAiBR"}
@@ -0,0 +1,19 @@
1
+ import type { VcsInfo } from '../environment';
2
+ import type { ReviewComment } from './types';
3
+ export interface ReviewPublicationState {
4
+ target: string;
5
+ bodies: string[];
6
+ comments: string[];
7
+ replies: string[];
8
+ overlayPath?: string;
9
+ }
10
+ export declare function reviewBodyFingerprint(body: string): string;
11
+ export declare function reviewCommentFingerprint(comment: ReviewComment): string;
12
+ export declare function reviewReplyFingerprint(threadId: string, body: string): string;
13
+ export declare function unpublishedReviewComments(comments: readonly ReviewComment[], knownFingerprints: ReadonlySet<string>): ReviewComment[];
14
+ export declare function loadReviewPublicationState(cwd: string, vcs: VcsInfo, number: number, homeDir?: string): Promise<{
15
+ path: string;
16
+ state: ReviewPublicationState;
17
+ }>;
18
+ export declare function saveReviewPublicationState(path: string, state: ReviewPublicationState): Promise<void>;
19
+ //# sourceMappingURL=review-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-state.d.ts","sourceRoot":"","sources":["../../src/review/review-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW7C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,aAAa,EAAE,CAEjB;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAAE,CAAC,CAe1D;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3G"}
@@ -0,0 +1,107 @@
1
+ import { z } from 'zod';
2
+ import type { GateResult } from '../gates';
3
+ export type ReviewSide = 'LEFT' | 'RIGHT';
4
+ export type ReviewEvent = 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT';
5
+ export interface ReviewComment {
6
+ file: string;
7
+ line: number;
8
+ side?: ReviewSide;
9
+ body: string;
10
+ author?: string;
11
+ }
12
+ export interface ReviewDraft {
13
+ comments: ReviewComment[];
14
+ body: string;
15
+ }
16
+ export interface ReviewThreadRecord {
17
+ id: string;
18
+ file?: string;
19
+ line?: number;
20
+ body: string;
21
+ author?: string;
22
+ resolved: boolean;
23
+ addressed?: boolean;
24
+ question: boolean;
25
+ reply?: string;
26
+ replies?: string[];
27
+ }
28
+ export interface ReviewReply {
29
+ threadId: string;
30
+ body: string;
31
+ resolve: boolean;
32
+ question?: boolean;
33
+ }
34
+ export interface ReviewBackend {
35
+ readonly kind: 'local' | 'remote';
36
+ stage(draft: ReviewDraft): Promise<void>;
37
+ readDraft(): Promise<ReviewDraft>;
38
+ listThreads(): Promise<ReviewThreadRecord[]>;
39
+ reply(input: ReviewReply): Promise<void>;
40
+ publish(event: ReviewEvent): Promise<void>;
41
+ }
42
+ export interface LocalReviewBackendOptions {
43
+ session: string;
44
+ artifactPath: string;
45
+ author: string;
46
+ }
47
+ export interface ReviewThreadArtifactOptions {
48
+ timestamp?: string;
49
+ number?: number;
50
+ url?: string;
51
+ }
52
+ export declare const severitySchema: z.ZodEnum<{
53
+ BLOCKING: "BLOCKING";
54
+ CONSIDER: "CONSIDER";
55
+ NOTE: "NOTE";
56
+ }>;
57
+ export type Severity = z.infer<typeof severitySchema>;
58
+ export declare const findingSchema: z.ZodObject<{
59
+ file: z.ZodString;
60
+ line: z.ZodNumber;
61
+ severity: z.ZodEnum<{
62
+ BLOCKING: "BLOCKING";
63
+ CONSIDER: "CONSIDER";
64
+ NOTE: "NOTE";
65
+ }>;
66
+ body: z.ZodString;
67
+ reference: z.ZodDefault<z.ZodOptional<z.ZodString>>;
68
+ }, z.core.$strip>;
69
+ export type Finding = z.infer<typeof findingSchema>;
70
+ export declare const findingsSchema: z.ZodArray<z.ZodObject<{
71
+ file: z.ZodString;
72
+ line: z.ZodNumber;
73
+ severity: z.ZodEnum<{
74
+ BLOCKING: "BLOCKING";
75
+ CONSIDER: "CONSIDER";
76
+ NOTE: "NOTE";
77
+ }>;
78
+ body: z.ZodString;
79
+ reference: z.ZodDefault<z.ZodOptional<z.ZodString>>;
80
+ }, z.core.$strip>>;
81
+ export interface ReviewDocInput {
82
+ title: string;
83
+ number?: number;
84
+ url?: string;
85
+ author?: string;
86
+ model?: string;
87
+ baseRef?: string;
88
+ headRef?: string;
89
+ additions?: number;
90
+ deletions?: number;
91
+ changedFiles?: number;
92
+ findings: Finding[];
93
+ overallIssues: string[];
94
+ gates: GateResult[];
95
+ notVerified: string[];
96
+ timestamp?: string;
97
+ }
98
+ export declare function reviewSlug(input: string): string;
99
+ export declare function yymmdd(date?: Date): string;
100
+ export declare function reviewRecordName(target: string, date?: Date): string;
101
+ export declare function localResponseMarker(threadId: string): string;
102
+ export declare function isLocalResponse(body: string): boolean;
103
+ export declare function dedupeFindings(findings: Finding[]): Finding[];
104
+ export declare function toReviewComments(findings: Finding[], model?: string): ReviewComment[];
105
+ export declare function withRemoteProvenance(body: string, model: string): string;
106
+ export declare function localReviewAuthor(model: string): string;
107
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/review/types.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export type IssueTracker = 'none' | 'linear' | 'jira';
2
+ export type Forge = 'none' | 'github' | 'gitlab';
2
3
  export type SetupStatus = 'ready' | 'installed' | 'updated' | 'skipped' | 'planned';
3
4
  export interface SetupAction {
4
5
  name: string;
@@ -7,6 +8,10 @@ export interface SetupAction {
7
8
  }
8
9
  export interface SetupOptions {
9
10
  issueTracker?: IssueTracker;
11
+ /** Hosted VCS integrations to install. `forge` remains as a legacy single-value alias. */
12
+ forges?: readonly Exclude<Forge, 'none'>[];
13
+ forge?: Forge;
14
+ bindZedKey?: boolean;
10
15
  installMiseHook?: boolean;
11
16
  dryRun?: boolean;
12
17
  homeDir?: string;
@@ -37,4 +42,6 @@ export declare function ensurePiSkills(miseExecutable: string, options?: SetupOp
37
42
  export declare function ensureMcpAdapters(miseExecutable: string, options?: SetupOptions): Promise<SetupAction[]>;
38
43
  export declare function setupPi(options?: SetupOptions): Promise<SetupResult>;
39
44
  export declare function setupRequiresRestart(actions: readonly SetupAction[]): boolean;
45
+ export declare function ensureZedIntegration(options?: SetupOptions): Promise<SetupAction[]>;
46
+ export declare function gitlabMcpHost(projectDir: string): Promise<string>;
40
47
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAmDA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAsB,UAAU,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAgBjH;AAED,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAU9G;AAED,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkB/G;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAqBxF;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkBvF;AAED,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsB/G;AAED,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA+BlH;AAID,wBAAsB,OAAO,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAe9E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAW7E"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAsDA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AASD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAsB,UAAU,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAgBjH;AAED,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAU9G;AAED,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsB/G;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAqBxF;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkBvF;AAED,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsB/G;AAED,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAwClH;AAID,wBAAsB,OAAO,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgB9E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAW7E;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA4B7F;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvE"}
@@ -0,0 +1,15 @@
1
+ export interface StoreInfo {
2
+ slug: string;
3
+ root: string;
4
+ dest: string;
5
+ link: string;
6
+ linked: boolean;
7
+ }
8
+ export declare function computeProjectSlug(cwd: string): Promise<string>;
9
+ export declare function storeGlobalRoot(homeDir?: string): string;
10
+ export declare function ensureStore(cwd: string, homeDir?: string): Promise<StoreInfo>;
11
+ export declare function storeDir(cwd: string, homeDir?: string): Promise<string>;
12
+ export declare function reviewsDir(cwd: string, homeDir?: string): Promise<string>;
13
+ export declare function completedReviewsDir(cwd: string, homeDir?: string): Promise<string>;
14
+ export declare function sessionsDir(cwd: string, homeDir?: string): Promise<string>;
15
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,SAAY,GAAG,MAAM,CAE3D;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAetF;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3F;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnF"}
@@ -0,0 +1,14 @@
1
+ export interface TemplateRegistryOptions {
2
+ homeDir?: string;
3
+ bundledDir?: string;
4
+ }
5
+ export interface LoadedTemplate {
6
+ name: string;
7
+ path: string;
8
+ source: 'user' | 'bundled';
9
+ content: string;
10
+ }
11
+ export declare function loadTemplate(name: string, options?: TemplateRegistryOptions): Promise<LoadedTemplate>;
12
+ export declare function renderTemplate(content: string, variables: Readonly<Record<string, string>>): string;
13
+ export declare function templateRelativePath(name: string): string;
14
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAS/G;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAEnG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzD"}
@@ -2,6 +2,8 @@ import type { ExtensionAPI, ToolDefinition } from '@earendil-works/pi-coding-age
2
2
  import type { ModeController } from '../modes';
3
3
  export { createDiffpiReloadTool } from './reload';
4
4
  export { createModeTools } from './modes';
5
+ export { createReviewTools } from './review';
5
6
  export { diffpiSetupTool, diffpiValidateTool } from './setup';
7
+ export { diffpiTemplateTool } from './templates';
6
8
  export declare function createPiTools(pi: Pick<ExtensionAPI, 'sendUserMessage'>, modes: ModeController): readonly ToolDefinition[];
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI9D,wBAAgB,aAAa,CAC3B,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,EACzC,KAAK,EAAE,cAAc,GACpB,SAAS,cAAc,EAAE,CAE3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAC3B,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,EACzC,KAAK,EAAE,cAAc,GACpB,SAAS,cAAc,EAAE,CAS3B"}