@difflab/pi 0.2.0 → 0.3.0-rc.202609201609.21ba1d2

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 (138) hide show
  1. package/README.md +48 -4
  2. package/agents/diffpi-orchestrator.md +17 -5
  3. package/agents/diffpi-planner.md +30 -0
  4. package/agents/diffpi-reviewer.md +36 -0
  5. package/agents/diffpi-worker.md +9 -1
  6. package/dist/assets.d.ts +2 -0
  7. package/dist/assets.d.ts.map +1 -1
  8. package/dist/cli/plan.d.ts +7 -0
  9. package/dist/cli/plan.d.ts.map +1 -0
  10. package/dist/cli.d.ts +3 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +2855 -0
  13. package/dist/commands/background.d.ts +39 -0
  14. package/dist/commands/background.d.ts.map +1 -0
  15. package/dist/commands/index.d.ts +9 -0
  16. package/dist/commands/index.d.ts.map +1 -0
  17. package/dist/commands/mode.d.ts +5 -0
  18. package/dist/commands/mode.d.ts.map +1 -0
  19. package/dist/commands/plan-parser.d.ts +18 -0
  20. package/dist/commands/plan-parser.d.ts.map +1 -0
  21. package/dist/commands/plan.d.ts +21 -0
  22. package/dist/commands/plan.d.ts.map +1 -0
  23. package/dist/commands/reload.d.ts +4 -0
  24. package/dist/commands/reload.d.ts.map +1 -0
  25. package/dist/commands/review.d.ts +5 -0
  26. package/dist/commands/review.d.ts.map +1 -0
  27. package/dist/environment.d.ts +41 -0
  28. package/dist/environment.d.ts.map +1 -0
  29. package/dist/extensions/ghx.d.ts +5 -0
  30. package/dist/extensions/ghx.d.ts.map +1 -0
  31. package/dist/extensions/gitx.d.ts +10 -0
  32. package/dist/extensions/gitx.d.ts.map +1 -0
  33. package/dist/extensions/glabx.d.ts +5 -0
  34. package/dist/extensions/glabx.d.ts.map +1 -0
  35. package/dist/extensions/index.js +4788 -301
  36. package/dist/{mise.d.ts → extensions/misex.d.ts} +3 -1
  37. package/dist/extensions/misex.d.ts.map +1 -0
  38. package/dist/{process.d.ts → extensions/processx.d.ts} +3 -1
  39. package/dist/extensions/processx.d.ts.map +1 -0
  40. package/dist/extensions/tuicrx.d.ts +66 -0
  41. package/dist/extensions/tuicrx.d.ts.map +1 -0
  42. package/dist/extensions/zedx.d.ts +18 -0
  43. package/dist/extensions/zedx.d.ts.map +1 -0
  44. package/dist/gates.d.ts +12 -0
  45. package/dist/gates.d.ts.map +1 -0
  46. package/dist/index.d.ts +27 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2817 -142
  49. package/dist/modes.d.ts +1 -0
  50. package/dist/modes.d.ts.map +1 -1
  51. package/dist/plan/annotations.d.ts +25 -0
  52. package/dist/plan/annotations.d.ts.map +1 -0
  53. package/dist/plan/escalation.d.ts +4 -0
  54. package/dist/plan/escalation.d.ts.map +1 -0
  55. package/dist/plan/execution.d.ts +19 -0
  56. package/dist/plan/execution.d.ts.map +1 -0
  57. package/dist/plan/index.d.ts +15 -0
  58. package/dist/plan/index.d.ts.map +1 -0
  59. package/dist/plan/lock.d.ts +7 -0
  60. package/dist/plan/lock.d.ts.map +1 -0
  61. package/dist/plan/log.d.ts +5 -0
  62. package/dist/plan/log.d.ts.map +1 -0
  63. package/dist/plan/markdown.d.ts +6 -0
  64. package/dist/plan/markdown.d.ts.map +1 -0
  65. package/dist/plan/store.d.ts +34 -0
  66. package/dist/plan/store.d.ts.map +1 -0
  67. package/dist/plan/transitions.d.ts +9 -0
  68. package/dist/plan/transitions.d.ts.map +1 -0
  69. package/dist/plan/types.d.ts +146 -0
  70. package/dist/plan/types.d.ts.map +1 -0
  71. package/dist/review/github-review-backend.d.ts +5 -0
  72. package/dist/review/github-review-backend.d.ts.map +1 -0
  73. package/dist/review/gitlab-review-backend.d.ts +12 -0
  74. package/dist/review/gitlab-review-backend.d.ts.map +1 -0
  75. package/dist/review/index.d.ts +8 -0
  76. package/dist/review/index.d.ts.map +1 -0
  77. package/dist/review/local-review-backend.d.ts +3 -0
  78. package/dist/review/local-review-backend.d.ts.map +1 -0
  79. package/dist/review/review-backend.d.ts +8 -0
  80. package/dist/review/review-backend.d.ts.map +1 -0
  81. package/dist/review/review-markdown.d.ts +6 -0
  82. package/dist/review/review-markdown.d.ts.map +1 -0
  83. package/dist/review/review-state.d.ts +19 -0
  84. package/dist/review/review-state.d.ts.map +1 -0
  85. package/dist/review/types.d.ts +107 -0
  86. package/dist/review/types.d.ts.map +1 -0
  87. package/dist/setup.d.ts +7 -0
  88. package/dist/setup.d.ts.map +1 -1
  89. package/dist/store.d.ts +16 -0
  90. package/dist/store.d.ts.map +1 -0
  91. package/dist/templates.d.ts +14 -0
  92. package/dist/templates.d.ts.map +1 -0
  93. package/dist/tools/index.d.ts +3 -0
  94. package/dist/tools/index.d.ts.map +1 -1
  95. package/dist/tools/index.js +4459 -299
  96. package/dist/tools/plan.d.ts +6 -0
  97. package/dist/tools/plan.d.ts.map +1 -0
  98. package/dist/tools/review.d.ts +7 -0
  99. package/dist/tools/review.d.ts.map +1 -0
  100. package/dist/tools/setup.d.ts.map +1 -1
  101. package/dist/tools/templates.d.ts +3 -0
  102. package/dist/tools/templates.d.ts.map +1 -0
  103. package/dist/vcs/forge-backend.d.ts +7 -0
  104. package/dist/vcs/forge-backend.d.ts.map +1 -0
  105. package/dist/vcs/github.d.ts +5 -0
  106. package/dist/vcs/github.d.ts.map +1 -0
  107. package/dist/vcs/gitlab.d.ts +4 -0
  108. package/dist/vcs/gitlab.d.ts.map +1 -0
  109. package/dist/vcs/helpers.d.ts +7 -0
  110. package/dist/vcs/helpers.d.ts.map +1 -0
  111. package/dist/vcs/index.d.ts +6 -0
  112. package/dist/vcs/index.d.ts.map +1 -0
  113. package/dist/vcs/types.d.ts +32 -0
  114. package/dist/vcs/types.d.ts.map +1 -0
  115. package/package.json +7 -2
  116. package/skills/diffpi-setup/SKILL.md +3 -1
  117. package/skills/plan/SKILL.md +13 -0
  118. package/skills/plan/references/workflows/annotate.md +6 -0
  119. package/skills/plan/references/workflows/finalize.md +7 -0
  120. package/skills/plan/references/workflows/go.md +7 -0
  121. package/skills/plan/references/workflows/help.md +13 -0
  122. package/skills/plan/references/workflows/init.md +6 -0
  123. package/skills/plan/references/workflows/new.md +7 -0
  124. package/skills/plan/references/workflows/update.md +7 -0
  125. package/skills/review/SKILL.md +17 -0
  126. package/skills/review/references/workflows/address.md +11 -0
  127. package/skills/review/references/workflows/auto.md +18 -0
  128. package/skills/review/references/workflows/complete.md +7 -0
  129. package/skills/review/references/workflows/edit.md +7 -0
  130. package/skills/review/references/workflows/help.md +30 -0
  131. package/skills/review/references/workflows/merge.md +6 -0
  132. package/skills/review/references/workflows/new.md +19 -0
  133. package/skills/review/references/workflows/open.md +3 -0
  134. package/skills/review/references/workflows/publish.md +8 -0
  135. package/templates/plan/PLAN.md +38 -0
  136. package/templates/review/draft-pr.md +25 -0
  137. package/dist/mise.d.ts.map +0 -1
  138. 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,25 @@
1
+ import type { PlanAnnotationComment, PlanAnnotationState, PlanRecord } from './types';
2
+ export interface AnnotationProcessResult {
3
+ code: number;
4
+ stdout: string;
5
+ stderr: string;
6
+ }
7
+ export interface PlanAnnotationRuntime {
8
+ execute?: (command: string, args: string[], cwd: string, interactive: boolean) => Promise<AnnotationProcessResult>;
9
+ }
10
+ export declare function annotatePlan(record: PlanRecord, runtime?: PlanAnnotationRuntime): Promise<{
11
+ sessionSlug: string;
12
+ code: number;
13
+ state: PlanAnnotationState;
14
+ }>;
15
+ export declare function readPlanAnnotations(record: PlanRecord, options?: {
16
+ includeApplied?: boolean;
17
+ runtime?: PlanAnnotationRuntime;
18
+ }): Promise<{
19
+ state?: PlanAnnotationState;
20
+ comments: PlanAnnotationComment[];
21
+ pending: PlanAnnotationComment[];
22
+ }>;
23
+ export declare function acknowledgePlanAnnotations(record: PlanRecord, commentIds: readonly string[], summary: string): Promise<PlanAnnotationState>;
24
+ export declare function annotationStatePath(record: PlanRecord): string;
25
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/plan/annotations.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACpH;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAsB5E;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,qBAAqB,CAAA;CAAO,GAC1E,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAAC,OAAO,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC,CAwB/G;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAuB9B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,4 @@
1
+ import type { PlannerEscalation } from './types';
2
+ export declare function renderPlannerEscalation(value: PlannerEscalation): string;
3
+ export declare function parsePlannerEscalation(output: string): PlannerEscalation;
4
+ //# sourceMappingURL=escalation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escalation.d.ts","sourceRoot":"","sources":["../../src/plan/escalation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAqBjD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAExE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAWxE"}
@@ -0,0 +1,19 @@
1
+ import type { PlanDocument, PlanExecutionPolicy, PlanPhase, PlanTask } from './types';
2
+ export interface PlanExecutionPacket {
3
+ version: 1;
4
+ planId: string;
5
+ executionId: string;
6
+ policy: PlanExecutionPolicy;
7
+ cwd: string;
8
+ branch: string;
9
+ coordinator: 'worker' | 'orchestrator';
10
+ }
11
+ export declare function createExecutionPacket(plan: PlanDocument, coordinator: PlanExecutionPacket['coordinator']): PlanExecutionPacket;
12
+ export declare function renderExecutionPrompt(packet: PlanExecutionPacket): string;
13
+ export declare function eligiblePlanTasks(plan: PlanDocument): Array<{
14
+ phase: PlanPhase;
15
+ task: PlanTask;
16
+ }>;
17
+ export declare function tasksMayRunInParallel(left: PlanTask, right: PlanTask): boolean;
18
+ export declare function phaseCommitCommand(policy: PlanExecutionPolicy): string | undefined;
19
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/plan/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEtF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,GAAG,cAAc,CAAC;CACxC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAC9C,mBAAmB,CAWrB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAoBjG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAI9E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAElF"}
@@ -0,0 +1,15 @@
1
+ export { acknowledgePlanAnnotations, annotatePlan, annotationStatePath, readPlanAnnotations } from './annotations';
2
+ export { parsePlannerEscalation, renderPlannerEscalation } from './escalation';
3
+ export { createExecutionPacket, eligiblePlanTasks, phaseCommitCommand, renderExecutionPrompt, tasksMayRunInParallel, } from './execution';
4
+ export { appendPlanLog, readPlanLog } from './log';
5
+ export { countDesignWords, parsePlanDocument, renderPlanDocument, validatePlanDocument } from './markdown';
6
+ export { createPlanStore, planRecordName, resolvePlan } from './store';
7
+ export { assertPhaseTransition, assertPlanTransition, assertStableId, assertTaskTransition, isStableId, } from './transitions';
8
+ export { withPlanLock } from './lock';
9
+ export type { AnnotationProcessResult, PlanAnnotationRuntime } from './annotations';
10
+ export type { PlanExecutionPacket } from './execution';
11
+ export type { NewPlanLogEntry } from './log';
12
+ export type { PlanLockOptions } from './lock';
13
+ export type { InitPlanInput, PlanResolution, PlanStore, PlanStoreOptions, ResolvePlanFilters } from './store';
14
+ export type * from './types';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plan/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC9G,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface PlanLockOptions {
2
+ waitMs?: number;
3
+ pollMs?: number;
4
+ operation?: string;
5
+ }
6
+ export declare function withPlanLock<T>(planDir: string, operation: () => Promise<T>, options?: PlanLockOptions): Promise<T>;
7
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/plan/lock.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,wBAAsB,YAAY,CAAC,CAAC,EAClC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,CAAC,CAAC,CA4CZ"}
@@ -0,0 +1,5 @@
1
+ import type { PlanLogEntry } from './types';
2
+ export type NewPlanLogEntry = Omit<PlanLogEntry, 'version' | 'eventId' | 'timestamp'> & Partial<Pick<PlanLogEntry, 'eventId' | 'timestamp'>>;
3
+ export declare function appendPlanLog(logPath: string, event: NewPlanLogEntry): Promise<PlanLogEntry>;
4
+ export declare function readPlanLog(logPath: string): Promise<PlanLogEntry[]>;
5
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/plan/log.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,GACnF,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC;AAEvD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CASlG;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAkB1E"}
@@ -0,0 +1,6 @@
1
+ import type { PlanDocument, PlanValidationIssue, PlanValidationOptions } from './types';
2
+ export declare function countDesignWords(plan: PlanDocument): number;
3
+ export declare function validatePlanDocument(plan: PlanDocument, options?: PlanValidationOptions): PlanValidationIssue[];
4
+ export declare function renderPlanDocument(plan: PlanDocument, previousSource?: string): string;
5
+ export declare function parsePlanDocument(source: string, ref?: string): PlanDocument;
6
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/plan/markdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAIZ,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAcjB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAM3D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,qBAA0B,GAAG,mBAAmB,EAAE,CAgDnH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CA2DtF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAY,GAAG,YAAY,CA6B/E"}
@@ -0,0 +1,34 @@
1
+ import { appendPlanLog, type NewPlanLogEntry } from './log';
2
+ import type { PlanDocument, PlanRecord, PlanStatus } from './types';
3
+ export interface PlanStoreOptions {
4
+ homeDir?: string;
5
+ now?: () => Date;
6
+ bundledTemplatesDir?: string;
7
+ }
8
+ export interface ResolvePlanFilters {
9
+ branch?: string;
10
+ statuses?: readonly PlanStatus[];
11
+ }
12
+ export interface PlanResolution {
13
+ candidates: PlanRecord[];
14
+ record?: PlanRecord;
15
+ ambiguous: boolean;
16
+ }
17
+ export interface InitPlanInput {
18
+ cwd: string;
19
+ shortSlug: string;
20
+ branch: string;
21
+ title?: string;
22
+ intent?: string;
23
+ }
24
+ export interface PlanStore {
25
+ context(cwd: string, query?: string, filters?: ResolvePlanFilters): Promise<PlanResolution>;
26
+ init(input: InitPlanInput): Promise<PlanRecord>;
27
+ read(cwd: string, query: string, filters?: ResolvePlanFilters): Promise<PlanRecord>;
28
+ mutate(cwd: string, query: string, operation: string, update: (document: PlanDocument) => PlanDocument | Promise<PlanDocument>): Promise<PlanRecord>;
29
+ log(cwd: string, query: string, event: NewPlanLogEntry): ReturnType<typeof appendPlanLog>;
30
+ }
31
+ export declare function planRecordName(shortSlug: string, date?: Date): string;
32
+ export declare function resolvePlan(cwd: string, query?: string, filters?: ResolvePlanFilters, options?: PlanStoreOptions): Promise<PlanResolution>;
33
+ export declare function createPlanStore(options?: PlanStoreOptions): PlanStore;
34
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/plan/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5F,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpF,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GACvE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;CAC3F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,OAAa,GAAG,MAAM,CAG3E;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAmFzE"}
@@ -0,0 +1,9 @@
1
+ import type { PlanPhaseStatus, PlanStatus, PlanTask, PlanTaskStatus } from './types';
2
+ export declare const STABLE_ID: RegExp;
3
+ export declare function isStableId(value: string): boolean;
4
+ export declare function assertStableId(value: string, label?: string): void;
5
+ export declare function assertPlanTransition(from: PlanStatus, to: PlanStatus): void;
6
+ export declare function assertPhaseTransition(from: PlanPhaseStatus, to: PlanPhaseStatus): void;
7
+ export declare function assertTaskTransition(task: PlanTask, to: PlanTaskStatus, executionId?: string, actor?: string): void;
8
+ export declare function assertUniqueIds(ids: readonly string[], label: string): void;
9
+ //# sourceMappingURL=transitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/plan/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErF,eAAO,MAAM,SAAS,QAA+B,CAAC;AAkBtD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAe,GAAG,IAAI,CAExE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI,CAG3E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,GAAG,IAAI,CAGtF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUnH;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAO3E"}
@@ -0,0 +1,146 @@
1
+ import type { GateResult } from '../gates';
2
+ export type PlanStatus = 'draft' | 'ready' | 'in_progress' | 'blocked' | 'completed';
3
+ export type PlanPhaseStatus = 'pending' | 'in_progress' | 'blocked' | 'completed' | 'skipped';
4
+ export type PlanTaskStatus = PlanPhaseStatus;
5
+ export type PlanExecutionMode = 'inline' | 'background';
6
+ export type PlanExecutionPolicy = 'commit-per-phase' | 'no-commit';
7
+ export interface PlanDesign {
8
+ bigIdeas: string;
9
+ keyApiUpdates: string;
10
+ consequences: string;
11
+ }
12
+ export interface PlanReference {
13
+ id: string;
14
+ value: string;
15
+ }
16
+ export interface PlanCommit {
17
+ sha: string;
18
+ subject: string;
19
+ completedAt: string;
20
+ }
21
+ export interface PlanBlocker {
22
+ reason: string;
23
+ attempts?: string[];
24
+ evidence?: string[];
25
+ needsUserDecision?: boolean;
26
+ }
27
+ export interface PlanGateState {
28
+ phaseRevision: number;
29
+ status: 'pending' | 'running' | 'passed' | 'failed' | 'stale';
30
+ results: GateResult[];
31
+ completedAt?: string;
32
+ }
33
+ export interface PlanTask {
34
+ id: string;
35
+ revision: number;
36
+ title: string;
37
+ steps?: string[];
38
+ dependencies: string[];
39
+ fileScopes: string[];
40
+ acceptanceCriteria: string[];
41
+ status: PlanTaskStatus;
42
+ owner?: string;
43
+ executionId?: string;
44
+ blocker?: PlanBlocker;
45
+ }
46
+ export interface PlanPhase {
47
+ id: string;
48
+ revision: number;
49
+ title: string;
50
+ objective: string;
51
+ dependencies: string[];
52
+ tasks: PlanTask[];
53
+ status: PlanPhaseStatus;
54
+ gate: PlanGateState;
55
+ commit?: PlanCommit;
56
+ blocker?: PlanBlocker;
57
+ }
58
+ export interface PlanExecution {
59
+ id: string;
60
+ mode: PlanExecutionMode;
61
+ policy: PlanExecutionPolicy;
62
+ cwd: string;
63
+ branch: string;
64
+ baseHead: string;
65
+ actor: string;
66
+ startedAt: string;
67
+ heartbeatAt: string;
68
+ active: boolean;
69
+ }
70
+ export interface PlanDocument {
71
+ schemaVersion: 1;
72
+ id: string;
73
+ revision: number;
74
+ title: string;
75
+ branch: string;
76
+ intent: string;
77
+ requirements: string[];
78
+ design: PlanDesign;
79
+ phases: PlanPhase[];
80
+ references: PlanReference[];
81
+ status: PlanStatus;
82
+ execution?: PlanExecution;
83
+ createdAt: string;
84
+ updatedAt: string;
85
+ }
86
+ export type PlanLogKind = 'created' | 'updated' | 'status' | 'progress' | 'gate' | 'annotation' | 'execution' | 'commit' | 'blocker';
87
+ export interface PlanLogEntry {
88
+ version: 1;
89
+ eventId: string;
90
+ timestamp: string;
91
+ planRevision: number;
92
+ kind: PlanLogKind;
93
+ actor: string;
94
+ message: string;
95
+ executionId?: string;
96
+ phaseId?: string;
97
+ taskId?: string;
98
+ evidence?: string[];
99
+ data?: Record<string, unknown>;
100
+ }
101
+ export interface PlanAnnotationComment {
102
+ id: string;
103
+ body: string;
104
+ file?: string;
105
+ line?: number;
106
+ endLine?: number;
107
+ context?: string;
108
+ stale?: boolean;
109
+ applied: boolean;
110
+ }
111
+ export interface PlanAnnotationState {
112
+ schemaVersion: 1;
113
+ sessionSlug: string;
114
+ updatedAt: string;
115
+ appliedCommentIds: string[];
116
+ }
117
+ export interface PlannerEscalation {
118
+ planId: string;
119
+ executionId: string;
120
+ phaseId: string;
121
+ taskId?: string;
122
+ blocker: string;
123
+ attempts: string[];
124
+ evidence: string[];
125
+ needsUserDecision: boolean;
126
+ }
127
+ export type PlanValidationSeverity = 'error' | 'warning';
128
+ export interface PlanValidationIssue {
129
+ code: string;
130
+ severity: PlanValidationSeverity;
131
+ message: string;
132
+ path?: string;
133
+ }
134
+ export interface PlanValidationOptions {
135
+ strict?: boolean;
136
+ pendingAnnotations?: number;
137
+ }
138
+ export interface PlanRecord {
139
+ id: string;
140
+ dir: string;
141
+ planPath: string;
142
+ logPath: string;
143
+ document: PlanDocument;
144
+ source: string;
145
+ }
146
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plan/types.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,CA+B7F;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvE"}