@difflab/pi 0.7.0 → 0.7.1-rc.202609290811.4ccd593

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 (80) hide show
  1. package/README.md +23 -41
  2. package/agents/diffpi-copilot.md +2 -2
  3. package/agents/diffpi-orchestrator.md +8 -9
  4. package/agents/diffpi-plan-reviewer.md +25 -0
  5. package/agents/diffpi-planner.md +8 -11
  6. package/agents/diffpi-reviewer.md +6 -7
  7. package/agents/diffpi-tutor.md +2 -2
  8. package/agents/diffpi-worker.md +3 -9
  9. package/dist/cli/plan.d.ts +5 -4
  10. package/dist/cli/plan.d.ts.map +1 -1
  11. package/dist/cli.js +21 -6090
  12. package/dist/commands/dispatch.d.ts +4 -0
  13. package/dist/commands/dispatch.d.ts.map +1 -0
  14. package/dist/commands/index.d.ts +1 -3
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/plan.d.ts +1 -1
  17. package/dist/commands/plan.d.ts.map +1 -1
  18. package/dist/commands/review.d.ts +1 -1
  19. package/dist/commands/review.d.ts.map +1 -1
  20. package/dist/extensions/index.js +673 -7865
  21. package/dist/index.d.ts +2 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +225 -6229
  24. package/dist/plan/verify.d.ts +15 -0
  25. package/dist/plan/verify.d.ts.map +1 -0
  26. package/dist/setup.d.ts.map +1 -1
  27. package/dist/tools/ci.d.ts +1 -1
  28. package/dist/tools/index.d.ts +2 -4
  29. package/dist/tools/index.d.ts.map +1 -1
  30. package/dist/tools/index.js +459 -7346
  31. package/dist/tools/plan.d.ts +3 -5
  32. package/dist/tools/plan.d.ts.map +1 -1
  33. package/package.json +2 -2
  34. package/skills/diffpi-setup/SKILL.md +1 -1
  35. package/skills/plan/SKILL.md +13 -9
  36. package/skills/plan/references/design-quality.md +17 -29
  37. package/skills/plan/references/workflows/annotate.md +8 -6
  38. package/skills/plan/references/workflows/finalize.md +13 -6
  39. package/skills/plan/references/workflows/go.md +29 -8
  40. package/skills/plan/references/workflows/help.md +19 -5
  41. package/skills/plan/references/workflows/init.md +26 -4
  42. package/skills/plan/references/workflows/inline-fallback.md +9 -0
  43. package/skills/plan/references/workflows/new.md +25 -6
  44. package/skills/plan/references/workflows/update.md +25 -6
  45. package/skills/plan/references/workflows/validate.md +31 -0
  46. package/skills/review/SKILL.md +15 -7
  47. package/skills/review/references/workflows/address.md +21 -9
  48. package/skills/review/references/workflows/auto.md +23 -16
  49. package/skills/review/references/workflows/complete.md +18 -5
  50. package/skills/review/references/workflows/edit.md +9 -5
  51. package/skills/review/references/workflows/foreground-fallback.md +7 -0
  52. package/skills/review/references/workflows/help.md +17 -29
  53. package/skills/review/references/workflows/merge.md +18 -4
  54. package/skills/review/references/workflows/new.md +15 -13
  55. package/skills/review/references/workflows/open.md +9 -1
  56. package/skills/review/references/workflows/publish.md +18 -6
  57. package/skills/review/references/workflows/status.md +8 -1
  58. package/templates/plan/PLAN.md +18 -11
  59. package/templates/plan/implementation.md +25 -14
  60. package/dist/commands/mode.d.ts +0 -5
  61. package/dist/commands/mode.d.ts.map +0 -1
  62. package/dist/modes.d.ts +0 -60
  63. package/dist/modes.d.ts.map +0 -1
  64. package/dist/plan/index.d.ts +0 -4
  65. package/dist/plan/index.d.ts.map +0 -1
  66. package/dist/plan/markdown.d.ts +0 -9
  67. package/dist/plan/markdown.d.ts.map +0 -1
  68. package/dist/plan/operations.d.ts +0 -43
  69. package/dist/plan/operations.d.ts.map +0 -1
  70. package/dist/plan/reviews.d.ts +0 -28
  71. package/dist/plan/reviews.d.ts.map +0 -1
  72. package/dist/plan/schema.d.ts +0 -249
  73. package/dist/plan/schema.d.ts.map +0 -1
  74. package/dist/plan/store.d.ts +0 -75
  75. package/dist/plan/store.d.ts.map +0 -1
  76. package/dist/plan/types.d.ts +0 -151
  77. package/dist/plan/types.d.ts.map +0 -1
  78. package/dist/tools/modes.d.ts +0 -4
  79. package/dist/tools/modes.d.ts.map +0 -1
  80. package/skills/mode/SKILL.md +0 -38
@@ -1,249 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const planContextParametersSchema: z.ZodObject<{
3
- cwd: z.ZodOptional<z.ZodString>;
4
- plan: z.ZodOptional<z.ZodString>;
5
- branch: z.ZodOptional<z.ZodString>;
6
- statuses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
7
- draft: "draft";
8
- ready: "ready";
9
- in_progress: "in_progress";
10
- blocked: "blocked";
11
- completed: "completed";
12
- }>>>;
13
- }, z.core.$strict>;
14
- export declare const planInitParametersSchema: z.ZodObject<{
15
- cwd: z.ZodOptional<z.ZodString>;
16
- shortSlug: z.ZodString;
17
- branch: z.ZodOptional<z.ZodString>;
18
- title: z.ZodOptional<z.ZodString>;
19
- intent: z.ZodOptional<z.ZodString>;
20
- issueId: z.ZodOptional<z.ZodString>;
21
- issueUrl: z.ZodOptional<z.ZodURL>;
22
- request: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
23
- kind: z.ZodLiteral<"annotation">;
24
- text: z.ZodString;
25
- response: z.ZodString;
26
- }, z.core.$strict>, z.ZodObject<{
27
- kind: z.ZodLiteral<"user">;
28
- text: z.ZodString;
29
- response: z.ZodOptional<z.ZodString>;
30
- }, z.core.$strict>, z.ZodObject<{
31
- kind: z.ZodLiteral<"blocker">;
32
- text: z.ZodString;
33
- response: z.ZodOptional<z.ZodString>;
34
- }, z.core.$strict>], "kind">>;
35
- open: z.ZodOptional<z.ZodBoolean>;
36
- }, z.core.$strict>;
37
- export declare const planApplyRevisionParametersSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
38
- request: z.ZodDiscriminatedUnion<[z.ZodObject<{
39
- kind: z.ZodLiteral<"annotation">;
40
- text: z.ZodString;
41
- response: z.ZodString;
42
- }, z.core.$strict>, z.ZodObject<{
43
- kind: z.ZodLiteral<"user">;
44
- text: z.ZodString;
45
- response: z.ZodOptional<z.ZodString>;
46
- }, z.core.$strict>, z.ZodObject<{
47
- kind: z.ZodLiteral<"blocker">;
48
- text: z.ZodString;
49
- response: z.ZodOptional<z.ZodString>;
50
- }, z.core.$strict>], "kind">;
51
- title: z.ZodString;
52
- intent: z.ZodString;
53
- requirements: z.ZodArray<z.ZodString>;
54
- design: z.ZodObject<{
55
- bigIdeas: z.ZodString;
56
- keyApiUpdates: z.ZodString;
57
- consequences: z.ZodString;
58
- }, z.core.$strict>;
59
- references: z.ZodArray<z.ZodObject<{
60
- id: z.ZodString;
61
- value: z.ZodString;
62
- }, z.core.$strict>>;
63
- phases: z.ZodArray<z.ZodObject<{
64
- id: z.ZodString;
65
- title: z.ZodString;
66
- objective: z.ZodString;
67
- dependencies: z.ZodArray<z.ZodString>;
68
- tasks: z.ZodArray<z.ZodObject<{
69
- id: z.ZodString;
70
- title: z.ZodString;
71
- dependencies: z.ZodArray<z.ZodString>;
72
- }, z.core.$strict>>;
73
- }, z.core.$strict>>;
74
- briefs: z.ZodArray<z.ZodObject<{
75
- phaseId: z.ZodString;
76
- summary: z.ZodString;
77
- apiChanges: z.ZodArray<z.ZodString>;
78
- libraries: z.ZodArray<z.ZodString>;
79
- constraints: z.ZodArray<z.ZodString>;
80
- tasks: z.ZodArray<z.ZodObject<{
81
- taskId: z.ZodString;
82
- steps: z.ZodArray<z.ZodString>;
83
- fileScopes: z.ZodArray<z.ZodString>;
84
- acceptanceCriteria: z.ZodArray<z.ZodString>;
85
- }, z.core.$strict>>;
86
- }, z.core.$strict>>;
87
- mode: z.ZodLiteral<"create">;
88
- cwd: z.ZodOptional<z.ZodString>;
89
- shortSlug: z.ZodString;
90
- branch: z.ZodOptional<z.ZodString>;
91
- issueId: z.ZodOptional<z.ZodString>;
92
- issueUrl: z.ZodOptional<z.ZodURL>;
93
- }, z.core.$strict>, z.ZodObject<{
94
- request: z.ZodDiscriminatedUnion<[z.ZodObject<{
95
- kind: z.ZodLiteral<"annotation">;
96
- text: z.ZodString;
97
- response: z.ZodString;
98
- }, z.core.$strict>, z.ZodObject<{
99
- kind: z.ZodLiteral<"user">;
100
- text: z.ZodString;
101
- response: z.ZodOptional<z.ZodString>;
102
- }, z.core.$strict>, z.ZodObject<{
103
- kind: z.ZodLiteral<"blocker">;
104
- text: z.ZodString;
105
- response: z.ZodOptional<z.ZodString>;
106
- }, z.core.$strict>], "kind">;
107
- title: z.ZodString;
108
- intent: z.ZodString;
109
- requirements: z.ZodArray<z.ZodString>;
110
- design: z.ZodObject<{
111
- bigIdeas: z.ZodString;
112
- keyApiUpdates: z.ZodString;
113
- consequences: z.ZodString;
114
- }, z.core.$strict>;
115
- references: z.ZodArray<z.ZodObject<{
116
- id: z.ZodString;
117
- value: z.ZodString;
118
- }, z.core.$strict>>;
119
- phases: z.ZodArray<z.ZodObject<{
120
- id: z.ZodString;
121
- title: z.ZodString;
122
- objective: z.ZodString;
123
- dependencies: z.ZodArray<z.ZodString>;
124
- tasks: z.ZodArray<z.ZodObject<{
125
- id: z.ZodString;
126
- title: z.ZodString;
127
- dependencies: z.ZodArray<z.ZodString>;
128
- }, z.core.$strict>>;
129
- }, z.core.$strict>>;
130
- briefs: z.ZodArray<z.ZodObject<{
131
- phaseId: z.ZodString;
132
- summary: z.ZodString;
133
- apiChanges: z.ZodArray<z.ZodString>;
134
- libraries: z.ZodArray<z.ZodString>;
135
- constraints: z.ZodArray<z.ZodString>;
136
- tasks: z.ZodArray<z.ZodObject<{
137
- taskId: z.ZodString;
138
- steps: z.ZodArray<z.ZodString>;
139
- fileScopes: z.ZodArray<z.ZodString>;
140
- acceptanceCriteria: z.ZodArray<z.ZodString>;
141
- }, z.core.$strict>>;
142
- }, z.core.$strict>>;
143
- mode: z.ZodLiteral<"amend">;
144
- cwd: z.ZodOptional<z.ZodString>;
145
- plan: z.ZodString;
146
- expectedPlanRevision: z.ZodNumber;
147
- }, z.core.$strict>], "mode">;
148
- export declare const planValidateParametersSchema: z.ZodObject<{
149
- cwd: z.ZodOptional<z.ZodString>;
150
- plan: z.ZodString;
151
- strict: z.ZodOptional<z.ZodBoolean>;
152
- }, z.core.$strict>;
153
- export declare const planLogProgressParametersSchema: z.ZodObject<{
154
- cwd: z.ZodOptional<z.ZodString>;
155
- plan: z.ZodString;
156
- actor: z.ZodString;
157
- message: z.ZodString;
158
- executionId: z.ZodOptional<z.ZodString>;
159
- phaseId: z.ZodOptional<z.ZodString>;
160
- taskId: z.ZodOptional<z.ZodString>;
161
- evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
162
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
163
- }, z.core.$strict>;
164
- export declare const planRunGatesParametersSchema: z.ZodObject<{
165
- cwd: z.ZodOptional<z.ZodString>;
166
- plan: z.ZodString;
167
- phaseId: z.ZodString;
168
- expectedPhaseRevision: z.ZodNumber;
169
- executionId: z.ZodString;
170
- actor: z.ZodString;
171
- }, z.core.$strict>;
172
- export declare const planRecordCiParametersSchema: z.ZodObject<{
173
- cwd: z.ZodOptional<z.ZodString>;
174
- plan: z.ZodString;
175
- phaseId: z.ZodString;
176
- sha: z.ZodString;
177
- executionId: z.ZodString;
178
- actor: z.ZodString;
179
- status: z.ZodEnum<{
180
- skipped: "skipped";
181
- passed: "passed";
182
- failed: "failed";
183
- }>;
184
- detail: z.ZodString;
185
- retryReason: z.ZodOptional<z.ZodString>;
186
- }, z.core.$strict>;
187
- export declare const planLookupParametersSchema: z.ZodObject<{
188
- cwd: z.ZodOptional<z.ZodString>;
189
- plan: z.ZodOptional<z.ZodString>;
190
- }, z.core.$strict>;
191
- export declare const planStartExecutionParametersSchema: z.ZodObject<{
192
- cwd: z.ZodOptional<z.ZodString>;
193
- plan: z.ZodString;
194
- commitMode: z.ZodEnum<{
195
- push: "push";
196
- "no-commit": "no-commit";
197
- commit: "commit";
198
- }>;
199
- actor: z.ZodString;
200
- }, z.core.$strict>;
201
- export declare const planUpdateStatusParametersSchema: z.ZodObject<{
202
- cwd: z.ZodOptional<z.ZodString>;
203
- plan: z.ZodString;
204
- target: z.ZodObject<{
205
- type: z.ZodEnum<{
206
- phase: "phase";
207
- task: "task";
208
- plan: "plan";
209
- }>;
210
- id: z.ZodOptional<z.ZodString>;
211
- }, z.core.$strict>;
212
- expectedStatus: z.ZodEnum<{
213
- draft: "draft";
214
- ready: "ready";
215
- in_progress: "in_progress";
216
- blocked: "blocked";
217
- completed: "completed";
218
- pending: "pending";
219
- skipped: "skipped";
220
- }>;
221
- status: z.ZodEnum<{
222
- draft: "draft";
223
- ready: "ready";
224
- in_progress: "in_progress";
225
- blocked: "blocked";
226
- completed: "completed";
227
- pending: "pending";
228
- skipped: "skipped";
229
- }>;
230
- actor: z.ZodString;
231
- message: z.ZodString;
232
- executionId: z.ZodOptional<z.ZodString>;
233
- evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
234
- blockedReason: z.ZodOptional<z.ZodString>;
235
- attempts: z.ZodOptional<z.ZodArray<z.ZodString>>;
236
- needsUserDecision: z.ZodOptional<z.ZodBoolean>;
237
- commit: z.ZodOptional<z.ZodObject<{
238
- sha: z.ZodString;
239
- subject: z.ZodString;
240
- completedAt: z.ZodString;
241
- pushedAt: z.ZodOptional<z.ZodString>;
242
- ci: z.ZodOptional<z.ZodObject<{
243
- status: z.ZodLiteral<"pending">;
244
- startedAt: z.ZodString;
245
- }, z.core.$strict>>;
246
- }, z.core.$strict>>;
247
- }, z.core.$strict>;
248
- export type PlanRevisionDraft = z.infer<typeof planApplyRevisionParametersSchema>;
249
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/plan/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0DxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;kBAO7B,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;kBAY1B,CAAC;AAEZ,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqB5C,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;kBAE9B,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;kBAYjC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;kBAS9B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;kBAY9B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;kBAAkE,CAAC;AAE1G,eAAO,MAAM,kCAAkC;;;;;;;;;kBAOpC,CAAC;AAEZ,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+BlC,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
@@ -1,75 +0,0 @@
1
- import { type DiffpiLogEntry, type NewLogEntry } from '../log';
2
- import type { PlanAuthoringRequest, PlanDocument, PlanImplementationBrief, PlanLogEntry, PlanRecord, PlanStatus } from './types';
3
- export type NewPlanLogEntry = NewLogEntry<PlanLogEntry & DiffpiLogEntry>;
4
- export interface PlanStoreOptions {
5
- homeDir?: string;
6
- now?: () => Date;
7
- bundledTemplatesDir?: string;
8
- }
9
- export interface ResolvePlanFilters {
10
- branch?: string;
11
- statuses?: readonly PlanStatus[];
12
- }
13
- export interface PlanResolution {
14
- candidates: PlanRecord[];
15
- record?: PlanRecord;
16
- ambiguous: boolean;
17
- }
18
- export interface PlanTaskDraft {
19
- id: string;
20
- title: string;
21
- dependencies: string[];
22
- }
23
- export interface PlanPhaseDraft {
24
- id: string;
25
- title: string;
26
- objective: string;
27
- dependencies: string[];
28
- tasks: PlanTaskDraft[];
29
- }
30
- interface PlanRevisionContent {
31
- request: PlanAuthoringRequest;
32
- title: string;
33
- intent: string;
34
- requirements: string[];
35
- design: PlanDocument['design'];
36
- references: PlanDocument['references'];
37
- phases: PlanPhaseDraft[];
38
- briefs: PlanImplementationBrief[];
39
- }
40
- export interface CreatePlanRevisionRequest extends PlanRevisionContent {
41
- mode: 'create';
42
- shortSlug: string;
43
- branch: string;
44
- issueId?: string;
45
- issueUrl?: string;
46
- }
47
- export interface AmendPlanRevisionRequest extends PlanRevisionContent {
48
- mode: 'amend';
49
- plan: string;
50
- expectedPlanRevision: number;
51
- }
52
- export type PlanRevisionRequest = CreatePlanRevisionRequest | AmendPlanRevisionRequest;
53
- export interface InitPlanInput {
54
- cwd: string;
55
- shortSlug: string;
56
- branch: string;
57
- title?: string;
58
- intent?: string;
59
- issueId?: string;
60
- issueUrl?: string;
61
- request?: PlanAuthoringRequest;
62
- }
63
- export interface PlanStore {
64
- context(cwd: string, query?: string, filters?: ResolvePlanFilters): Promise<PlanResolution>;
65
- init(input: InitPlanInput): Promise<PlanRecord>;
66
- read(cwd: string, query: string, filters?: ResolvePlanFilters): Promise<PlanRecord>;
67
- mutate(cwd: string, query: string, operation: string, update: (document: PlanDocument) => PlanDocument | Promise<PlanDocument>): Promise<PlanRecord>;
68
- applyRevision(cwd: string, request: PlanRevisionRequest): Promise<PlanRecord>;
69
- log(cwd: string, query: string, event: NewPlanLogEntry): Promise<PlanLogEntry>;
70
- }
71
- export declare function planRecordName(shortSlug: string, date?: Date): string;
72
- export declare function resolvePlan(cwd: string, query?: string, filters?: ResolvePlanFilters, options?: PlanStoreOptions): Promise<PlanResolution>;
73
- export declare function createPlanStore(options?: PlanStoreOptions): PlanStore;
74
- export {};
75
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/plan/store.ts"],"names":[],"mappings":"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"}
@@ -1,151 +0,0 @@
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 PlanCommitMode = 'no-commit' | 'commit' | 'push';
6
- export interface PlanDesign {
7
- bigIdeas: string;
8
- keyApiUpdates: string;
9
- consequences: string;
10
- }
11
- export interface PlanReference {
12
- id: string;
13
- value: string;
14
- }
15
- export type PlanCiStatus = 'pending' | 'passed' | 'failed' | 'skipped';
16
- export interface PlanCiState {
17
- status: PlanCiStatus;
18
- startedAt: string;
19
- completedAt?: string;
20
- detail?: string;
21
- }
22
- export interface PlanCommit {
23
- sha: string;
24
- subject: string;
25
- completedAt: string;
26
- pushedAt?: string;
27
- ci?: PlanCiState;
28
- }
29
- export interface PlanBlocker {
30
- reason: string;
31
- attempts?: string[];
32
- evidence?: string[];
33
- needsUserDecision?: boolean;
34
- }
35
- export interface PlanGateState {
36
- phaseRevision: number;
37
- status: 'pending' | 'running' | 'passed' | 'failed' | 'stale';
38
- results: GateResult[];
39
- completedAt?: string;
40
- }
41
- export interface PlanTask {
42
- id: string;
43
- revision: number;
44
- title: string;
45
- dependencies: string[];
46
- status: PlanTaskStatus;
47
- owner?: string;
48
- executionId?: string;
49
- blocker?: PlanBlocker;
50
- }
51
- export interface PlanPhase {
52
- id: string;
53
- revision: number;
54
- title: string;
55
- objective: string;
56
- dependencies: string[];
57
- tasks: PlanTask[];
58
- status: PlanPhaseStatus;
59
- gate: PlanGateState;
60
- commit?: PlanCommit;
61
- blocker?: PlanBlocker;
62
- }
63
- export interface PlanBriefTask {
64
- taskId: string;
65
- steps: string[];
66
- fileScopes: string[];
67
- acceptanceCriteria: string[];
68
- }
69
- export interface PlanImplementationBrief {
70
- phaseId: string;
71
- summary: string;
72
- apiChanges: string[];
73
- libraries: string[];
74
- constraints: string[];
75
- tasks: PlanBriefTask[];
76
- }
77
- export type PlanRequestKind = 'user' | 'annotation' | 'blocker';
78
- export type PlanAuthoringRequest = {
79
- kind: 'annotation';
80
- text: string;
81
- response: string;
82
- } | {
83
- kind: 'user' | 'blocker';
84
- text: string;
85
- response?: string;
86
- };
87
- export interface PlanExecution {
88
- id: string;
89
- commitMode: PlanCommitMode;
90
- cwd: string;
91
- branch: string;
92
- baseHead: string;
93
- actor: string;
94
- startedAt: string;
95
- heartbeatAt: string;
96
- active: boolean;
97
- }
98
- export interface PlanDocument {
99
- schemaVersion: 1;
100
- id: string;
101
- revision: number;
102
- title: string;
103
- branch: string;
104
- issueId?: string;
105
- issueUrl?: string;
106
- intent: string;
107
- requirements: string[];
108
- design: PlanDesign;
109
- phases: PlanPhase[];
110
- references: PlanReference[];
111
- status: PlanStatus;
112
- execution?: PlanExecution;
113
- createdAt: string;
114
- updatedAt: string;
115
- }
116
- export type PlanLogKind = 'created' | 'updated' | 'status' | 'progress' | 'gate' | 'review' | 'execution' | 'commit' | 'blocker';
117
- export interface PlanLogEntry {
118
- version: 1;
119
- eventId: string;
120
- timestamp: string;
121
- planRevision: number;
122
- kind: PlanLogKind;
123
- actor: string;
124
- message: string;
125
- executionId?: string;
126
- phaseId?: string;
127
- taskId?: string;
128
- evidence?: string[];
129
- data?: Record<string, unknown>;
130
- }
131
- export type PlanValidationSeverity = 'error' | 'warning';
132
- export interface PlanValidationIssue {
133
- code: string;
134
- severity: PlanValidationSeverity;
135
- message: string;
136
- path?: string;
137
- }
138
- export interface PlanValidationOptions {
139
- strict?: boolean;
140
- checkSnapshots?: boolean;
141
- }
142
- export interface PlanRecord {
143
- id: string;
144
- dir: string;
145
- planPath: string;
146
- logPath: string;
147
- implementationDir?: string;
148
- document: PlanDocument;
149
- source: string;
150
- }
151
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plan/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { type ToolDefinition } from '@earendil-works/pi-coding-agent';
2
- import type { ModeController } from '../modes';
3
- export declare function createModeTools(controller: ModeController): readonly ToolDefinition[];
4
- //# sourceMappingURL=modes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/tools/modes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGlF,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,UAAU,CAAC;AAiB5D,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,cAAc,EAAE,CAiErF"}
@@ -1,38 +0,0 @@
1
- ---
2
- name: mode
3
- description: List, select, or clear an inline agent profile. Use when the user invokes /skill:mode or asks to change the current Diffpi mode.
4
- allowed-tools: ask_user_question diffpi_modes_list diffpi_modes_set diffpi_modes_unset
5
- ---
6
-
7
- # Mode
8
-
9
- Pi appends `/skill:mode` arguments as `User: <arguments>`. Route those arguments without manual command parsing in the extension.
10
-
11
- ## Direct requests
12
-
13
- - If the argument is `help`, `-h`, or `--help`, print the usage and examples below. Do not call a tool.
14
- - If the argument is `clear`, call `diffpi_modes_unset` and stop.
15
- - If the argument is one agent id, call `diffpi_modes_set` with that exact id and stop.
16
- - A qualified id such as `spec:planner` is one agent id. The tool enables skill-agent discovery for it.
17
- - If the request contains multiple agent ids or an unsupported flag, print the usage and stop.
18
-
19
- ```text
20
- /skill:mode [--include-skills] [agent|clear]
21
- /skill:mode
22
- /skill:mode --include-skills
23
- /skill:mode worker
24
- /skill:mode spec:planner
25
- /skill:mode clear
26
- ```
27
-
28
- ## Picker
29
-
30
- Use the picker when there are no arguments or when the only argument is `--include-skills`.
31
-
32
- 1. Call `diffpi_modes_list`. Set `includeSkills` to true only for `--include-skills`.
33
- 2. Call `ask_user_question` with one single-select question. Do not ask as plain chat text.
34
- 3. Put the complete list of valid ids in the question text. Offer Default plus at most three relevant agents as structured options. The custom-answer row lets the user enter any other valid id.
35
- 4. If the user selects Default or enters `clear`, call `diffpi_modes_unset`.
36
- 5. Otherwise, call `diffpi_modes_set` with the selected or entered id.
37
-
38
- Do not perform unrelated work. Explain that the selected prompt, preferred available model, thinking level, and tool set start on the next turn. Mode selection is not a security boundary.