@kidlat-dakila/flightplan 0.1.5 → 0.1.7

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 (178) hide show
  1. package/README.md +31 -16
  2. package/backend/configurations/default-configurations/minimal/context.md +9 -54
  3. package/backend/configurations/default-configurations/minimal/traceDiagram.nodes.blockLabels.label.md +19 -0
  4. package/backend/configurations/default-configurations/minimal/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  5. package/backend/configurations/default-configurations/minimal/walkthrough.files.waypoints.reading.md +1 -1
  6. package/backend/configurations/default-configurations/onboardee/context.md +16 -62
  7. package/backend/configurations/default-configurations/onboardee/traceDiagram.description.md +16 -0
  8. package/backend/configurations/default-configurations/onboardee/traceDiagram.nodes.blockLabels.label.md +11 -0
  9. package/backend/configurations/default-configurations/onboardee/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  10. package/backend/configurations/default-configurations/onboardee/walkthrough.files.waypoints.reading.md +1 -1
  11. package/backend/configurations/default-configurations/standard/context.md +16 -62
  12. package/backend/configurations/default-configurations/standard/traceDiagram.description.md +16 -0
  13. package/backend/configurations/default-configurations/standard/traceDiagram.nodes.blockLabels.label.md +11 -0
  14. package/backend/configurations/default-configurations/standard/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  15. package/backend/configurations/default-configurations/standard/walkthrough.files.waypoints.reading.md +1 -1
  16. package/backend/configurations/default-configurations/unfamiliar-territory/context.md +16 -62
  17. package/backend/configurations/default-configurations/unfamiliar-territory/traceDiagram.description.md +16 -0
  18. package/backend/configurations/default-configurations/unfamiliar-territory/traceDiagram.nodes.blockLabels.label.md +11 -0
  19. package/backend/configurations/default-configurations/unfamiliar-territory/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  20. package/backend/configurations/default-configurations/unfamiliar-territory/walkthrough.files.waypoints.reading.md +1 -1
  21. package/backend/configurations/system-instructions/artifactFormat.md +20 -16
  22. package/backend/configurations/system-instructions/{blast.md → blastDiagram.md} +5 -5
  23. package/backend/configurations/system-instructions/context.md +18 -9
  24. package/backend/configurations/system-instructions/title.md +36 -4
  25. package/backend/configurations/system-instructions/traceDiagram.description.md +14 -0
  26. package/backend/configurations/system-instructions/{journey.md → traceDiagram.md} +8 -8
  27. package/backend/configurations/system-instructions/traceDiagram.nodes.blockLabels.label.md +6 -0
  28. package/backend/configurations/system-instructions/walkthrough.files.md +5 -11
  29. package/backend/configurations/system-instructions/walkthrough.files.waypoints.coreChange.md +7 -0
  30. package/backend/configurations/system-instructions/walkthrough.files.waypoints.md +3 -3
  31. package/backend/configurations/system-instructions/walkthrough.md +6 -8
  32. package/backend/main.js +56353 -43801
  33. package/backend/plugin/skills/review/SKILL.md +31 -47
  34. package/frontend/assets/_branchId-438YLxpk.js +1 -0
  35. package/frontend/assets/_branchId-PhBseeXo.js +1 -0
  36. package/frontend/assets/_id-yAHjl11v.js +1 -0
  37. package/frontend/assets/_id-z15a_Wqg.js +1 -0
  38. package/frontend/assets/agents-CF_BNYuU.js +1 -0
  39. package/frontend/assets/agents-CUULznCR.js +1 -0
  40. package/frontend/assets/create-Byti8N1q.js +1 -0
  41. package/frontend/assets/create-DHjp2cB6.js +1 -0
  42. package/frontend/assets/create-DiPNM_Jx.js +1 -0
  43. package/frontend/assets/{create-CNT_ktA4.js → create-t6MxPYs8.js} +1 -1
  44. package/frontend/assets/download-kIOYm7yl.js +1 -0
  45. package/frontend/assets/forges-5NgJFexV.js +1 -0
  46. package/frontend/assets/forges-Dz31lZmK.js +1 -0
  47. package/frontend/assets/{index-h6dRc3tV.js → index-9MPLrKh9.js} +75 -62
  48. package/frontend/assets/index-BDgPH-og.js +1 -0
  49. package/frontend/assets/{index-CPyhbNqS.js → index-BDhIIxnY.js} +1 -1
  50. package/frontend/assets/{index-Baaegu29.js → index-BUtsWXGk.js} +1 -1
  51. package/frontend/assets/{index-BWM8kiQ0.js → index-BrL94etp.js} +1 -1
  52. package/frontend/assets/index-C8_4U9zA.js +457 -0
  53. package/frontend/assets/index-CAt5Gv5u.js +1 -0
  54. package/frontend/assets/{index-C8gx27Rr.js → index-CBObEG9P.js} +1 -1
  55. package/frontend/assets/index-CRQLJ5uq.js +1 -0
  56. package/frontend/assets/index-CSy69oc4.js +1 -0
  57. package/frontend/assets/index-Cjx98rmL.js +1 -0
  58. package/frontend/assets/index-CmW92SdM.js +1 -0
  59. package/frontend/assets/index-Cmg8rxUj.css +1 -0
  60. package/frontend/assets/index-DVMDfdCW.js +1 -0
  61. package/frontend/assets/index-DYy-kFEi.js +1 -0
  62. package/frontend/assets/index-Dk3p64fP.js +1 -0
  63. package/frontend/assets/index-Dq71dq4Z.js +1 -0
  64. package/frontend/assets/index-Dz-E4Hhc.js +1 -0
  65. package/frontend/assets/{index-BsRx8Pzi.js → index-EFsgiJx1.js} +1 -1
  66. package/frontend/assets/index-EItMs0kz.js +1 -0
  67. package/frontend/assets/index-N0J0txvy.js +1 -0
  68. package/frontend/assets/index-Qxg2C8CP.js +1 -0
  69. package/frontend/assets/index-RYSZy-Ra.js +6 -0
  70. package/frontend/assets/{index-BYtgetD4.js → index-WOMODjD2.js} +1 -1
  71. package/frontend/assets/repositories-BrbB16PW.js +1 -0
  72. package/frontend/assets/repositories-VWl6aq7K.js +1 -0
  73. package/frontend/assets/review-BMO-QDpl.js +1 -0
  74. package/frontend/assets/review-CXzRf1jk.js +1 -0
  75. package/frontend/assets/route--z3gnt4z.js +1 -0
  76. package/frontend/favicon.ico +0 -0
  77. package/frontend/favicon.svg +5 -0
  78. package/frontend/index.html +10 -3
  79. package/frontend/logo.svg +5 -0
  80. package/frontend/not-found.svg +25 -0
  81. package/frontend/server-error.svg +32 -0
  82. package/package.json +5 -1
  83. package/published-review/app.css +1 -1
  84. package/published-review/app.js +126 -89
  85. package/backend/configurations/default-configurations/minimal/journey.nodes.blockLabels.label.md +0 -13
  86. package/backend/configurations/default-configurations/minimal/walkthrough.files.title.md +0 -7
  87. package/backend/configurations/default-configurations/minimal/walkthrough.intro.md +0 -4
  88. package/backend/configurations/default-configurations/onboardee/journey.description.md +0 -10
  89. package/backend/configurations/default-configurations/onboardee/journey.nodes.blockLabels.label.md +0 -9
  90. package/backend/configurations/default-configurations/onboardee/walkthrough.files.title.md +0 -7
  91. package/backend/configurations/default-configurations/onboardee/walkthrough.intro.md +0 -5
  92. package/backend/configurations/default-configurations/standard/journey.description.md +0 -10
  93. package/backend/configurations/default-configurations/standard/journey.nodes.blockLabels.label.md +0 -9
  94. package/backend/configurations/default-configurations/standard/walkthrough.files.title.md +0 -7
  95. package/backend/configurations/default-configurations/standard/walkthrough.intro.md +0 -5
  96. package/backend/configurations/default-configurations/unfamiliar-territory/journey.description.md +0 -10
  97. package/backend/configurations/default-configurations/unfamiliar-territory/journey.nodes.blockLabels.label.md +0 -9
  98. package/backend/configurations/default-configurations/unfamiliar-territory/walkthrough.files.title.md +0 -7
  99. package/backend/configurations/default-configurations/unfamiliar-territory/walkthrough.intro.md +0 -5
  100. package/backend/configurations/system-instructions/journey.description.md +0 -14
  101. package/backend/configurations/system-instructions/journey.nodes.blockLabels.label.md +0 -6
  102. package/backend/configurations/system-instructions/walkthrough.files.summary.md +0 -4
  103. package/backend/configurations/system-instructions/walkthrough.files.title.md +0 -2
  104. package/backend/configurations/system-instructions/walkthrough.files.waypoints.needsAttention.md +0 -8
  105. package/backend/configurations/system-instructions/walkthrough.intro.md +0 -3
  106. package/frontend/assets/_branchId--sAXSZ0Z.js +0 -1
  107. package/frontend/assets/_branchId-BctD9BVI.js +0 -1
  108. package/frontend/assets/_id-DS2_k7mD.js +0 -1
  109. package/frontend/assets/_id-ZvG2tACL.js +0 -1
  110. package/frontend/assets/agents-Cg-w99VB.js +0 -1
  111. package/frontend/assets/agents-DbSvvIcf.js +0 -1
  112. package/frontend/assets/configuration-B1tYKnw1.js +0 -1
  113. package/frontend/assets/configuration-PLwRj92u.js +0 -1
  114. package/frontend/assets/create-BXn1thks.js +0 -1
  115. package/frontend/assets/create-CGIYQfn-.js +0 -1
  116. package/frontend/assets/create-DQsVrUIP.js +0 -1
  117. package/frontend/assets/download-BsAZZo3P.js +0 -1
  118. package/frontend/assets/forges-ChElPpOV.js +0 -1
  119. package/frontend/assets/forges-D5lw6fYh.js +0 -1
  120. package/frontend/assets/index-9KbVyMz4.js +0 -1
  121. package/frontend/assets/index-B7lg0P4V.js +0 -1
  122. package/frontend/assets/index-BBbL0wfM.js +0 -1
  123. package/frontend/assets/index-BCEvS2zI.js +0 -1
  124. package/frontend/assets/index-CIReAhWD.js +0 -1
  125. package/frontend/assets/index-CX9sF5Fh.js +0 -441
  126. package/frontend/assets/index-Ccx_zqhL.js +0 -1
  127. package/frontend/assets/index-D3gI7yfx.js +0 -1
  128. package/frontend/assets/index-D6S4PGCc.js +0 -1
  129. package/frontend/assets/index-Dfzoepph.js +0 -1
  130. package/frontend/assets/index-DgodP5aC.js +0 -1
  131. package/frontend/assets/index-DvVl2gWR.js +0 -1
  132. package/frontend/assets/index-DzSYBwXV.js +0 -1
  133. package/frontend/assets/index-eMdhkBjo.js +0 -1
  134. package/frontend/assets/index-ec_xLUMF.css +0 -1
  135. package/frontend/assets/index-xoWXUJLW.js +0 -1
  136. package/frontend/assets/repositories-DdOEWFoL.js +0 -1
  137. package/frontend/assets/repositories-Di8qfiyD.js +0 -1
  138. package/frontend/assets/route-qbVbAxtx.js +0 -1
  139. package/frontend/logo-small.png +0 -0
  140. package/frontend/logo.png +0 -0
  141. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  142. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  143. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  144. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  145. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  146. /package/backend/configurations/default-configurations/minimal/{journey.description.md → traceDiagram.description.md} +0 -0
  147. /package/backend/configurations/default-configurations/minimal/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  148. /package/backend/configurations/default-configurations/minimal/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  149. /package/backend/configurations/default-configurations/minimal/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  150. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  151. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  152. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  153. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  154. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  155. /package/backend/configurations/default-configurations/onboardee/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  156. /package/backend/configurations/default-configurations/onboardee/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  157. /package/backend/configurations/default-configurations/onboardee/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  158. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  159. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  160. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  161. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  162. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  163. /package/backend/configurations/default-configurations/standard/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  164. /package/backend/configurations/default-configurations/standard/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  165. /package/backend/configurations/default-configurations/standard/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  166. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  167. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  168. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  169. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  170. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  171. /package/backend/configurations/default-configurations/unfamiliar-territory/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  172. /package/backend/configurations/default-configurations/unfamiliar-territory/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  173. /package/backend/configurations/default-configurations/unfamiliar-territory/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  174. /package/backend/configurations/system-instructions/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  175. /package/backend/configurations/system-instructions/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  176. /package/backend/configurations/system-instructions/{journey.nodes.description.md → traceDiagram.nodes.description.md} +0 -0
  177. /package/backend/configurations/system-instructions/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  178. /package/backend/configurations/system-instructions/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
@@ -63,7 +63,7 @@ are reaching for one of those to write a title, a reading, a label or the
63
63
  context, the answer is already in a call below.
64
64
 
65
65
  ```
66
- 0 get-instructions which sections are on, and an index of what you can ask for
66
+ 0 get-instructions an index of what you can ask for
67
67
  get-instructions { fields: ["writingStyle", "codeLinks", "artifactFormat"] }
68
68
  the voice, how a code link is written, the
69
69
  artifact's shape and what a write is refused for
@@ -73,11 +73,11 @@ context, the answer is already in a call below.
73
73
  3 nodes { unfilled: true, needs: ["impact"] }
74
74
  update-nodes { segmentId, blast }
75
75
  what the change does to the files it did not touch
76
- 4 update-nodes { segmentId, order } the order the reviewer chose for the File Sections
76
+ 4 (no call) Flight Plan orders the File Sections itself
77
77
  5 update-nodes { segmentId, context, title }
78
78
  why the change matters, and a very short title for it
79
79
  6 nodes { unfilled: true } the next few pieces of work, code attached
80
- update-nodes { segmentId, waypoints | files | journey | journeyDescription }
80
+ update-nodes { segmentId, waypoints | traceDiagram | traceDiagramDescription }
81
81
  …repeat until only `context-description` is left
82
82
  7 nodes { unfilled: true, needs: ["context-description"] }
83
83
  update-nodes { segmentId, contextCodeBlocks }
@@ -87,14 +87,11 @@ context, the answer is already in a call below.
87
87
  ```
88
88
 
89
89
  **Step 0 is a read, and it comes before the prose.** `get-instructions` with no
90
- `fields` returns which of the Journey Flow Diagram, the Blast Diagram, the
91
- Code Walkthrough and the findings this review generates, and an index of the
92
- fields you can ask about. A section that is on you write as normal. A section
93
- that is off is not yours to write: the reviewer chose not to generate it, the
94
- artifact holds no structure for it, its fields are not in the index, and
95
- `read`, `get-instructions` and `update-nodes` refuse it and say so. Do not ask
96
- the reviewer about it. They generate it from the page when they want it, and
97
- Flight Plan then sends you a message that asks for that section alone.
90
+ `fields` returns an index of the fields you can ask about. Every review has a
91
+ Trace Diagram, a Blast Diagram and a Code Walkthrough. What you write is what
92
+ Flight Plan marked required: `nodes { unfilled: true }` and the overview's
93
+ `unwritten` list only required nodes, so a part with nothing required is not
94
+ yours to write. Do not ask the reviewer about it.
98
95
 
99
96
  The same call returns `requiresContextCodeBlocks`. Where it is `false`, the
100
97
  context code blocks are not yours to write either: their fields are not in the
@@ -107,14 +104,14 @@ written a word.
107
104
 
108
105
  ```
109
106
  before the first write { fields: ["writingStyle", "codeLinks", "artifactFormat"] }
110
- before step 3 { fields: ["blast", "blast.nodes.impactType", "blast.nodes.impactReason"] }
107
+ before step 3 { fields: ["blastDiagram", "blastDiagram.nodes.impactType", "blastDiagram.nodes.impactReason"] }
111
108
  before step 5 { fields: ["context", "title"] }
112
- before step 6 { fields: ["walkthrough.files", "walkthrough.files.title", "walkthrough.files.waypoints",
109
+ before step 6 { fields: ["walkthrough.files", "walkthrough.files.waypoints",
113
110
  "walkthrough.files.waypoints.title", "walkthrough.files.waypoints.reading"] }
114
- before a journey label { fields: ["journey", "journey.nodes.label", "journey.nodes.description",
115
- "journey.nodes.triggerLabels.label"] }
116
- before a journey description
117
- { fields: ["journey.description"] }
111
+ before a trace label { fields: ["traceDiagram", "traceDiagram.nodes.label", "traceDiagram.nodes.description",
112
+ "traceDiagram.nodes.triggerLabels.label"] }
113
+ before a trace description
114
+ { fields: ["traceDiagram.description"] }
118
115
  before a finding { fields: ["walkthrough.files.waypoints.findings"] }
119
116
  before step 7 { fields: ["contextCodeBlocks", "contextCodeBlocks.description"] }
120
117
  ```
@@ -172,7 +169,7 @@ Only where the overview shows a Blast Diagram.
172
169
  nodes { unfilled: true, needs: ["impact"] }
173
170
  → the files the change did not touch that import it, each with
174
171
  `importsCarryingTheChange`: the files it imports that bring the change to it
175
- update-nodes { segmentId, blast: [{ path, impactType, impactReason } | { path, impactType: "unaffected" }] }
172
+ update-nodes { segmentId, blastDiagram: [{ path, impactType, impactReason } | { path, impactType: "unaffected" }] }
176
173
  ```
177
174
 
178
175
  The Blast Diagram is the files the change is connected to through imports.
@@ -196,31 +193,19 @@ a case the author did not handle.
196
193
  the change, of which one breaks" is what the reviewer wants before they hear
197
194
  anything else. Send it with `send-message`.
198
195
 
199
- ## 4. Put the files in the reviewer's order
196
+ ## 4. Leave the order of the files to Flight Plan
200
197
 
201
- The reviewer chose the order of the Code Walkthrough when they started the
202
- review, and the prompt carries it as a line that starts "Order the Code
203
- Walkthrough". Apply it:
204
-
205
- ```
206
- update-nodes { segmentId, order: { files: [every File Section's path, once] } }
207
- ```
208
-
209
- **Do not ask the reviewer how to order it when the prompt says.** If you were
210
- started by hand and the prompt names no order, ask with `ask-questions`, with
211
- these as the options and your proposal first: foundations first, along the
212
- path, core change first, risk first. Until an order is written the files are in
213
- path order, which is nobody's choice.
214
-
215
- Risk first needs the waypoints read before it can be decided. Write the order
216
- again once you have read them.
198
+ Flight Plan sorts the File Sections of the Code Walkthrough itself: by the
199
+ import graph, from the bottom up or from the top down, or with the reviewer's
200
+ spotlight and the core changes first, as the reviewer chose. It sorts them again
201
+ when you mark a core change. Write no `order`, and do not ask the reviewer how
202
+ to order the walkthrough.
217
203
 
218
204
  ## 5. Write the context and the segment's title
219
205
 
220
206
  ```
221
207
  update-nodes { segmentId, context } the Context Section, as one string of Markdown
222
208
  update-nodes { segmentId, title } the segment's title, a very short text of that context
223
- update-nodes { segmentId, intro } one optional line that frames the tour
224
209
  ```
225
210
 
226
211
  One call can carry all of them. A context replaces the one that was there.
@@ -228,21 +213,20 @@ One call can carry all of them. A context replaces the one that was there.
228
213
  **Write the context first, then the title that sums it up.** A segment arrives
229
214
  with no title, and `complete` refuses an artifact where one is still missing.
230
215
 
231
- ## 6. Write the waypoints, the File Sections and the diagram labels
216
+ ## 6. Write the waypoints and the diagram labels
232
217
 
233
218
  ```
234
219
  nodes { unfilled: true, limit: 10 }
235
220
  → the next pieces of work, each with:
236
221
  segmentId the segment it belongs to, which the write names
237
- needs what to write: title, reading, file-title, segment-title, label, trigger-label,
238
- journey-description …
222
+ needs what to write: title, reading, segment-title, label, trigger-label,
223
+ trace-description …
239
224
  node what it holds now
240
225
  code the lines it covers, with what the change did to them
241
226
  lineage its ancestors, for a nested waypoint
242
227
  update-nodes { segmentId, waypoints: [{ id, title, reading }],
243
- files: [{ path, title, summary }],
244
- journey: [{ id, label, description, triggerLabels: [{ codeBlockId, label }] }],
245
- journeyDescription }
228
+ traceDiagram: [{ id, label, description, triggerLabels: [{ codeBlockId, label }] }],
229
+ traceDiagramDescription }
246
230
  nodes { unfilled: true } → total falls
247
231
  …until total is 0
248
232
  ```
@@ -271,16 +255,16 @@ the call names, a code link that does not resolve, a `question` carrying a
271
255
  solution. A batch is all or nothing. Fix the entry it names and send the batch
272
256
  again. Do not work around a refusal.
273
257
 
274
- **Every Journey Flow Diagram needs a description.** It is the diagram told in
258
+ **Every Trace Diagram needs a description.** It is the diagram told in
275
259
  words, in five sentences at most, and the reviewer reads it above the diagram.
276
- `nodes` hands it out as `journey-description`, after the nodes of its diagram,
260
+ `nodes` hands it out as `trace-description`, after the nodes of its diagram,
277
261
  with the diagram's nodes and edges. Write it with
278
- `update-nodes { segmentId, journeyDescription }` once the labels of that
262
+ `update-nodes { segmentId, traceDiagramDescription }` once the labels of that
279
263
  diagram are written, so it uses their words. `complete` refuses an artifact
280
264
  where a diagram has none.
281
265
 
282
- **Decide which waypoints carry `needsAttention`** from
283
- `get-instructions { fields: ["walkthrough.files.waypoints.needsAttention"] }`.
266
+ **Decide which waypoints carry `coreChange`** from
267
+ `get-instructions { fields: ["walkthrough.files.waypoints.coreChange"] }`.
284
268
  One to three in a pull request is usual.
285
269
 
286
270
  ### Findings
@@ -0,0 +1 @@
1
+ import{a9 as e,j as t,aa as o}from"./index-C8_4U9zA.js";const n=()=>{const a=e.useNavigate();return t.jsx(o,{params:e.useParams(),search:e.useSearch(),onSearchChange:s=>{a({search:r=>({...r,...s}),replace:!0,resetScroll:!1})}})};export{n as component};
@@ -0,0 +1 @@
1
+ import{a8 as r}from"./index-C8_4U9zA.js";const e=r;export{e as errorComponent};
@@ -0,0 +1 @@
1
+ import{u as M,r as g,j as e,x as I,Y as P,B as m,s as S,z,g as O,h as U,ab as $,ad as R,F as q,k as w}from"./index-C8_4U9zA.js";import{T as H}from"./index-9MPLrKh9.js";function V(t,a){if(t===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if("shouldBlockFn"in t)return t;if(typeof t=="function")return{shouldBlockFn:async()=>await t(),enableBeforeUnload:!0,withResolver:!1};const s=!!(t.condition??!0),n=t.blockerFn;return{shouldBlockFn:async()=>s&&n!==void 0?await n():s,enableBeforeUnload:s,withResolver:n===void 0}}function Y(t,a){const{shouldBlockFn:s,enableBeforeUnload:n=!0,disabled:l=!1,withResolver:r=!1}=V(t),x=M(),{history:p}=x,[j,o]=g.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return g.useEffect(()=>{const h=async u=>{function i(f){const k=x.parseLocation(f),[,L,N]=x.getMatchedRoutes(k.pathname);return N===void 0?{routeId:"__notFound__",fullPath:k.pathname,pathname:k.pathname,params:L,search:x.options.parseSearch(f.search)}:{routeId:N.id,fullPath:N.fullPath,pathname:k.pathname,params:L,search:x.options.parseSearch(f.search)}}const b=i(u.currentLocation),v=i(u.nextLocation);if(b.routeId==="__notFound__"&&v.routeId!=="__notFound__")return!1;const y=await s({action:u.action,current:b,next:v});if(!r)return y;if(!y)return!1;const c=await new Promise(f=>{o({status:"blocked",current:b,next:v,action:u.action,proceed:()=>f(!1),reset:()=>f(!0)})});return o({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),c};return l?void 0:p.block({blockerFn:h,enableBeforeUnload:n})},[s,n,l,r,p,x]),j}const Q="All configurations",G="Rename",X="Name",W="Save name",J="Cancel",F="Delete",Z="Keep",ee="text-2xl leading-8 font-bold tracking-[-0.015em] text-signal-text",te=t=>{const[a,s]=g.useState("none"),[n,l]=g.useState(t.name);return e.jsxs("header",{className:"pb-6",children:[e.jsx(I,{to:"/settings/profiles",className:"text-sm text-muted-foreground underline decoration-input underline-offset-[0.3em] hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",children:Q}),e.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-3",children:[a==="renaming"?e.jsxs("form",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",onSubmit:S(()=>{t.onRename(n),s("none")}),children:[e.jsx(P,{value:n,"aria-label":X,className:"max-w-sm flex-1",onChange:r=>{l(r.target.value)}}),e.jsx(m,{type:"submit",size:"sm",children:W}),e.jsx(m,{type:"button",variant:"ghost",size:"sm",onClick:()=>{s("none")},children:J})]}):e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h2",{className:ee,children:t.name}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t.originLabel})]}),a==="deleting"?e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"text-sm",children:`Delete ${t.name}? This cannot be undone.`}),e.jsx(m,{type:"button",variant:"ghost",size:"sm",onClick:()=>{s("none")},children:Z}),e.jsx(m,{type:"button",variant:"destructive",size:"sm",disabled:t.isBusy,onClick:t.onDelete,children:F})]}):e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.canRename&&a==="none"?e.jsx(m,{type:"button",variant:"ghost",size:"sm",onClick:()=>{l(t.name),s("renaming")},children:G}):null,t.canDelete?e.jsx(m,{type:"button",variant:"ghost",size:"sm",onClick:()=>{s("deleting")},children:F}):null,t.notice===null?e.jsx(m,{type:"button",variant:"outline",size:"sm",disabled:t.isBusy,onClick:t.onDuplicate,children:t.duplicateLabel}):null]})]}),t.errorMessage===null?null:e.jsx("p",{role:"alert",className:"pt-3 text-sm text-destructive",children:t.errorMessage}),t.notice===null?null:e.jsxs("div",{role:"note",className:"mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 border-y border-border py-2.5",children:[e.jsxs("p",{className:"min-w-0 flex-1 text-sm",children:[e.jsx("strong",{className:"font-bold",children:t.notice.lead}),` ${t.notice.advice}`]}),e.jsx(m,{type:"button",variant:"outline",size:"sm",disabled:t.isBusy,onClick:t.onDuplicate,children:t.duplicateLabel})]})]})},ne="cursor-pointer text-sm text-muted-foreground underline decoration-input underline-offset-[0.3em] hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",se="mt-2 max-w-[75ch] border-l border-input pl-4 text-sm leading-6 whitespace-pre-wrap text-muted-foreground",ae="You have not saved this field. Leave it and lose what you wrote?",re="Not saved yet",ie="Keep editing",le="Leave",oe=t=>Object.fromEntries(t.map(a=>[a.key,a.value])),ce=({title:t,summary:a,path:s,offMessage:n,texts:l,renderActions:r,onSubmit:x})=>{const[p,j]=g.useState(()=>oe(l)),o=l.some(i=>p[i.key]!==i.value),h=Y({shouldBlockFn:()=>o,enableBeforeUnload:o,withResolver:!0}),u=h.status==="blocked"?e.jsxs("div",{role:"alert",className:"flex flex-wrap items-center justify-end gap-2 pb-3",children:[e.jsx("p",{className:"text-sm",children:ae}),e.jsx(m,{type:"button",variant:"ghost",size:"sm",onClick:h.reset,children:ie}),e.jsx(m,{type:"button",variant:"destructive",size:"sm",onClick:h.proceed,children:le})]}):null;return e.jsxs("form",{onSubmit:S(()=>{x(l.map(i=>({key:i.key,text:p[i.key]??i.value})))}),children:[e.jsx("h3",{className:"text-xl leading-7 font-bold",children:t}),e.jsx("p",{className:"mt-1 max-w-[62ch] text-muted-foreground",children:a}),e.jsx("p",{className:"mt-1 font-mono text-[0.8125rem] wrap-anywhere text-muted-foreground",children:s}),n===null?null:e.jsx("p",{className:"mt-4 max-w-[62ch] border-y border-border py-2.5 text-sm",children:n}),l.map(i=>e.jsxs("section",{className:"mt-6",children:[e.jsx("h4",{className:"pb-1.5 text-sm font-bold",children:i.label}),e.jsx(H,{label:`${t}: ${i.label}`,value:i.value,errorMessage:null,onChange:b=>{j(v=>({...v,[i.key]:b}))}}),i.isChanged?e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:ne,children:i.shippedLabel}),e.jsx("p",{className:se,children:i.shippedValue})]}):null]},i.key)),r(o?re:null,u)]})},de="Fields of this configuration",ue="What the marks mean",me=[{mark:"changed",label:"Changed"},{mark:"unchanged",label:"Unchanged"},{mark:"off",label:"Not written"}],xe={changed:"border-foreground bg-foreground",unchanged:"border-muted-foreground",off:"border-dashed border-muted-foreground"},he="group flex items-center gap-3 border-l-4 border-border py-1.5 pr-2 pl-4 transition-colors duration-[180ms] ease-out hover:bg-muted focus-visible:outline-2 focus-visible:outline-ring aria-[current=page]:border-(--line)",K=({mark:t})=>e.jsx("span",{"aria-hidden":"true",className:z("size-2.5 shrink-0 rounded-[2px] border-[1.5px]",xe[t])}),fe=({configurationId:t,groups:a})=>e.jsxs("nav",{"aria-label":de,className:"flex flex-col lg:max-h-[calc(100dvh-7rem)]",children:[e.jsx("div",{className:"min-h-0 overflow-y-auto",children:a.map(s=>e.jsxs("section",{children:[s.title===null?null:e.jsx("div",{className:"flex items-center gap-3 border-l-4 border-border pt-4 pr-2 pb-1 pl-4",children:e.jsx("h3",{className:"min-w-0 flex-1 text-xs leading-4 font-bold text-muted-foreground",children:s.title})}),e.jsx("ul",{children:s.entries.map(n=>e.jsx("li",{children:e.jsxs(I,{to:"/settings/profiles/$id",params:{id:t},search:{field:n.key},"aria-current":n.isOpen?"page":void 0,className:he,children:[e.jsx("span",{className:"min-w-0 flex-1 text-sm leading-5 group-aria-[current=page]:font-bold group-aria-[current=page]:text-signal-text",children:n.label}),e.jsx(K,{mark:n.mark}),e.jsx("span",{className:"sr-only",children:n.markLabel})]})},n.key))})]},s.title??""))}),e.jsx("ul",{"aria-label":ue,className:"flex shrink-0 flex-wrap gap-x-4 gap-y-1 border-t border-border pt-3 text-xs text-muted-foreground",children:me.map(s=>e.jsxs("li",{className:"flex items-center gap-1.5",children:[e.jsx(K,{mark:s.mark}),s.label]},s.mark))})]}),ge="Save",be="Saving…",D=({isPending:t,errorMessage:a,savedMessage:s,unsavedLabel:n=null,question:l=null,children:r})=>e.jsxs("footer",{className:"sticky bottom-0 z-10 mt-6 border-t border-border bg-background py-4 before:absolute before:-inset-x-1 before:inset-y-0 before:-z-10 before:bg-background",children:[l,a===null?null:e.jsx("p",{role:"alert",className:"pb-3 text-sm text-destructive",children:a}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2",children:[r,n===null?e.jsx("p",{role:"status",className:"ml-auto text-sm text-muted-foreground",children:t?null:s}):e.jsx("p",{className:"ml-auto text-sm font-bold",children:n}),e.jsx(m,{type:"submit",disabled:t,children:t?be:ge})]})]}),pe=(t,a)=>t.includes(a)?t.filter(s=>s!==a):[...t,a],je=({label:t,description:a,isChecked:s,onToggle:n})=>{const l=g.useId(),r=g.useId();return e.jsxs("li",{className:"flex items-start gap-3 border-b border-border py-3",children:[e.jsx("input",{id:l,type:"checkbox",checked:s,"aria-describedby":r,className:"mt-1 size-4 shrink-0 accent-(--primary)",onChange:n}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("label",{htmlFor:l,className:"block cursor-pointer font-bold",children:t}),e.jsx("p",{id:r,className:"max-w-[62ch] text-sm text-muted-foreground",children:a})]})]})},ve=t=>{const[a,s]=g.useState(()=>t.contextKinds.filter(n=>n.isRequired).map(n=>n.kind));return e.jsxs("form",{onSubmit:S(()=>{t.onSubmit(a)}),children:[e.jsx("h3",{className:"text-xl leading-7 font-bold",children:t.title}),e.jsx("p",{className:"mt-1 max-w-[62ch] text-muted-foreground",children:t.summary}),e.jsxs("fieldset",{className:"mt-6",children:[e.jsx("legend",{className:"text-sm font-bold",children:t.contextKindsTitle}),e.jsx("p",{className:"max-w-[62ch] pb-2 text-sm text-muted-foreground",children:t.contextKindsHint}),e.jsx("ul",{className:"border-t border-border",children:t.contextKinds.map(n=>e.jsx(je,{label:n.label,description:n.description,isChecked:a.includes(n.kind),onToggle:()=>{s(l=>pe(l,n.kind))}},n.kind))})]}),t.children]})},ke="Prompt configurations • Settings • Flight Plan",Le=()=>{var f,k,L,N,_,B,A,C;const t=O(),a=U(),s=$(),{id:n}=R.useParams(),{field:l=null}=R.useSearch(),{data:r}=q(t.configuration.get.queryOptions({id:n,field:l})),[x,p]=g.useState(0),j=async()=>{await a.invalidateQueries(t.configuration.pathFilter())},o=w(t.configuration.save.mutationOptions({onSuccess:async(d,E)=>{d.kind!=="rejected"&&(await j(),E.change==="reset"&&p(T=>T+1))}})),h=w(t.configuration.create.mutationOptions({onSuccess:async d=>{d.kind!=="rejected"&&(await j(),await s({to:"/settings/profiles/$id",params:{id:d.id}}))}})),u=w(t.configuration.delete.mutationOptions({onSuccess:async d=>{d.kind!=="rejected"&&(await s({to:"/settings/profiles"}),await j())}})),i=((f=o.variables)==null?void 0:f.change)==="rename",b=((k=o.data)==null?void 0:k.kind)==="rejected"?o.data.message:((L=o.error)==null?void 0:L.message)??null,v=(i?b:null)??(((N=h.data)==null?void 0:N.kind)==="rejected"?h.data.message:(_=h.error)==null?void 0:_.message)??(((B=u.data)==null?void 0:B.kind)==="rejected"?u.data.message:(A=u.error)==null?void 0:A.message)??null,y={isPending:o.isPending,errorMessage:i?null:b,savedMessage:((C=o.data)==null?void 0:C.kind)==="saved"&&!i?o.data.message:null},{panel:c}=r;return e.jsxs(e.Fragment,{children:[e.jsx("title",{children:`${r.name} • ${ke}`}),e.jsx(te,{name:r.name,originLabel:r.originLabel,notice:r.notice,canRename:r.canRename,canDelete:r.canDelete,duplicateLabel:r.duplicateLabel,isBusy:h.isPending||u.isPending,errorMessage:v,onDuplicate:()=>{h.mutate({name:null,sourceId:n})},onRename:d=>{o.mutate({change:"rename",id:n,name:d})},onDelete:()=>{u.mutate({id:n})}}),e.jsxs("div",{className:"grid gap-x-10 gap-y-8 lg:grid-cols-[17rem_minmax(0,1fr)]",children:[e.jsx("div",{className:"self-start lg:sticky lg:top-22",children:e.jsx(fe,{configurationId:n,groups:r.index})}),e.jsx("div",{className:"min-w-0",children:c.kind==="switches"?e.jsx(ve,{title:c.title,summary:c.summary,contextKindsTitle:c.contextKindsTitle,contextKindsHint:c.contextKindsHint,contextKinds:c.contextKinds,onSubmit:d=>{o.mutate({change:"switches",id:n,contextCodeBlockKinds:d})},children:e.jsx(D,{...y})},`${n}:${c.contextKinds.map(d=>String(d.isRequired)).join()}`):e.jsx(ce,{title:c.title,summary:c.summary,path:c.path,offMessage:c.offMessage,texts:c.texts,renderActions:(d,E)=>e.jsx(D,{...y,unsavedLabel:d,question:E,children:c.resetLabel===null?null:e.jsx(m,{type:"button",variant:"outline",size:"sm",disabled:o.isPending,onClick:()=>{o.mutate({change:"reset",id:n,path:c.path})},children:c.resetLabel})}),onSubmit:d=>{o.mutate({change:"field",id:n,path:c.path,texts:d})}},`${n}:${c.path}:${String(x)}`)})]})]})};export{Le as component};
@@ -0,0 +1 @@
1
+ import{S as r}from"./index-WOMODjD2.js";import"./index-C8_4U9zA.js";const n=r;export{n as errorComponent};
@@ -0,0 +1 @@
1
+ import{S as r}from"./index-WOMODjD2.js";import"./index-C8_4U9zA.js";const n=r;export{n as errorComponent};
@@ -0,0 +1 @@
1
+ import{g as u,F as d,M as r,r as p,i as c,j as e}from"./index-C8_4U9zA.js";import{u as m,S as h}from"./index-BUtsWXGk.js";import{A as f,a as S}from"./index-BDgPH-og.js";import{S as w}from"./index-EFsgiJx1.js";import"./index-RYSZy-Ra.js";import"./index-Dz-E4Hhc.js";const x="Agent integration • Settings • Flight Plan",A="Agent integration",b=()=>{var l;const o=u(),{data:t}=d(o.settings.get.queryOptions(r)),s=m(),[n,a]=p.useState(null),i=c({...o.setup.browseFolders.queryOptions({path:n??"",purpose:"install-folder"}),enabled:n!==null});return t.section!==r.section?null:e.jsxs(e.Fragment,{children:[e.jsx("title",{children:x}),e.jsx(w,{title:A,children:"Configure which agent you prefer and where Flight Plan installs the agent plugin and the MCP server."}),e.jsxs(f,{agents:t.agents,defaultAgent:t.defaultAgent,problem:s.problem,folderBrowser:n===null?null:i.data??null,folderBrowserErrorMessage:((l=i.error)==null?void 0:l.message)??null,onBrowseFolder:a,onBrowseEnd:()=>{a(null)},onSubmit:g=>{s.save({...r,...g})},children:[e.jsx(S,{}),e.jsx(h,{isPending:s.isPending,errorMessage:s.errorMessage,savedMessage:s.savedMessage})]})]})};export{b as component};
@@ -0,0 +1 @@
1
+ import{j as t,S as d,g as h,ab as p,r as l,F as x,i as S,l as v,ac as F}from"./index-C8_4U9zA.js";const j=({creationForm:a,targetSearch:e,onTargetQueryChange:r,onTargetSelect:s})=>t.jsx("div",{className:"grid max-w-208 gap-4",children:t.jsx(d,{label:a.target.label,hint:a.target.hint,placeholder:a.target.placeholder,value:e.value,suggestions:e.options,message:e.message,errorMessage:null,className:"max-w-xl",onValueChange:r,onSelect:s})}),y="Searching…",C="",N=a=>{var o,c;const e=h(),r=p(),[s,i]=l.useState(C),g=l.useDeferredValue(s),{data:u}=x(e.review.creationForm.queryOptions({repositoryName:a})),n=S({...e.review.searchTargets.queryOptions({repositoryName:a,query:g}),placeholderData:v});return{creationForm:u,targetSearch:{value:s,options:((o=n.data)==null?void 0:o.options)??[],message:((c=n.data)==null?void 0:c.message)??(n.isPending?y:null)},onTargetQueryChange:i,onTargetSelect:m=>{r({to:"/pr-reviews/$repoName/$branchId",params:{repoName:a,branchId:m}})}}},Q=()=>{const{repoName:a}=F.useParams(),e=N(a);return t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:"pb-6",children:[t.jsx("h1",{className:"text-4xl leading-10 font-bold tracking-[-0.02em]",children:e.creationForm.title}),t.jsx("p",{className:"mt-2 max-w-[62ch] text-muted-foreground",children:e.creationForm.description})]}),t.jsx(j,{creationForm:e.creationForm,targetSearch:e.targetSearch,onTargetQueryChange:e.onTargetQueryChange,onTargetSelect:e.onTargetSelect})]})};export{Q as component};
@@ -0,0 +1 @@
1
+ import{r as c,j as e,Y as p,L as f,s as N,g as b,h as j,ab as I,F as C,k as S,x as y,v as L,B as E}from"./index-C8_4U9zA.js";import{S as v}from"./index-EFsgiJx1.js";const w="Name",T="How the configuration is listed when you create a Flight Plan.",k="Start from",A="The new configuration is a copy of the same instructions, yours to change.",B=({sources:i,selectedSourceId:d,nameError:r,sourceError:o,children:t,onSubmit:s})=>{const l=c.useId(),n=c.useId(),m=c.useId(),[u,h]=c.useState(""),[x,g]=c.useState(d);return e.jsxs("form",{onSubmit:N(()=>{s(u,x)}),children:[e.jsxs("div",{className:"max-w-md",children:[e.jsx("label",{htmlFor:l,className:"block text-sm font-bold",children:w}),e.jsx("p",{className:"pb-2 text-sm text-muted-foreground",children:T}),e.jsx(p,{id:l,value:u,"aria-invalid":r!==null,"aria-describedby":r===null?void 0:n,onChange:a=>{h(a.target.value)}}),r===null?null:e.jsx("p",{id:n,role:"alert",className:"pt-1.5 text-sm text-destructive",children:r})]}),e.jsxs("fieldset",{className:"mt-8",children:[e.jsx("legend",{className:"text-sm font-bold",children:k}),e.jsx("p",{className:"max-w-[62ch] pb-2 text-sm text-muted-foreground",children:A}),e.jsx("ul",{className:"border-t border-border",children:i.map(a=>e.jsx("li",{className:"border-b border-border py-3",children:e.jsxs("label",{className:"flex cursor-pointer items-start gap-3",children:[e.jsx("input",{type:"radio",name:m,checked:x===a.id,className:"mt-1 size-4 shrink-0 accent-(--primary)",onChange:()=>{g(a.id)}}),e.jsxs("span",{className:"min-w-0",children:[e.jsx("span",{className:"block font-bold",children:a.name}),a.summary===null?null:e.jsx("span",{className:"block max-w-[62ch] text-sm",children:a.summary}),e.jsx(f,{segments:a.details,className:"text-sm text-muted-foreground"})]})]})},a.id))}),o===null?null:e.jsx("p",{role:"alert",className:"pt-2 text-sm text-destructive",children:o})]}),t]})},F="New configuration • Settings • Flight Plan",_="New configuration",P="Create",O="Creating…",M="Cancel",U=()=>{var l;const i=b(),d=j(),r=I(),{data:o}=C(i.configuration.creationForm.queryOptions()),t=S(i.configuration.create.mutationOptions({onSuccess:async n=>{n.kind!=="rejected"&&(await d.invalidateQueries(i.configuration.pathFilter()),await r({to:"/settings/profiles/$id",params:{id:n.id}}))}})),s=((l=t.data)==null?void 0:l.kind)==="rejected"?t.data:null;return e.jsxs(e.Fragment,{children:[e.jsx("title",{children:F}),e.jsx(v,{title:_,children:"Name the configuration and choose what it starts from. You change its instructions on the next page."}),e.jsx(B,{sources:o.sources,selectedSourceId:o.selectedSourceId,nameError:(s==null?void 0:s.field)==="name"?s.message:null,sourceError:(s==null?void 0:s.field)==="source"?s.message:null,onSubmit:(n,m)=>{t.mutate({name:n,sourceId:m})},children:e.jsxs("footer",{className:"mt-6 border-t border-border pt-4",children:[t.error===null?null:e.jsx("p",{role:"alert",className:"pb-3 text-sm text-destructive",children:t.error.message}),e.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[e.jsx(y,{to:"/settings/profiles",className:L({variant:"ghost"}),children:M}),e.jsx(E,{type:"submit",disabled:t.isPending,children:t.isPending?O:P})]})]})})]})};export{U as component};
@@ -0,0 +1 @@
1
+ import{S as r}from"./index-WOMODjD2.js";import"./index-C8_4U9zA.js";const n=r;export{n as errorComponent};
@@ -1 +1 @@
1
- import{u as t,j as e,B as n,d as r}from"./index-CX9sF5Fh.js";const a="The backend did not say what went wrong.",i=({error:o})=>{const s=t();return e.jsxs("section",{role:"alert",className:"max-w-prose",children:[e.jsx("h1",{className:"text-4xl leading-10 font-bold tracking-[-0.02em]",children:"Could not open this page"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:o instanceof Error?o.message:a}),e.jsxs("div",{className:"mt-4 flex items-center gap-4",children:[e.jsx(n,{onClick:()=>{s.invalidate()},children:"Try again"}),e.jsx(r,{to:"/",className:"underline",children:"Go to your repositories"})]})]})},c=i;export{c as errorComponent};
1
+ import{u as t,j as e,B as n,x as r}from"./index-C8_4U9zA.js";const a="The backend did not say what went wrong.",i=({error:o})=>{const s=t();return e.jsxs("section",{role:"alert",className:"max-w-prose",children:[e.jsx("h1",{className:"text-4xl leading-10 font-bold tracking-[-0.02em]",children:"Could not open this page"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:o instanceof Error?o.message:a}),e.jsxs("div",{className:"mt-4 flex items-center gap-4",children:[e.jsx(n,{onClick:()=>{s.invalidate()},children:"Try again"}),e.jsx(r,{to:"/",className:"underline",children:"Go to your repositories"})]})]})},c=i;export{c as errorComponent};
@@ -0,0 +1 @@
1
+ import{j as s,a4 as g,z as h,g as N,h as f,a5 as u,a6 as b,r as j,F as I,k as v,a7 as w,B as y,x as L}from"./index-C8_4U9zA.js";const F=({label:t,className:l})=>s.jsxs("p",{role:"status",className:h("flex items-center gap-2 font-bold",l),children:[s.jsx(g,{"aria-hidden":"true",className:"size-4 motion-safe:animate-spin"}),t]}),R=2e3,k=()=>{var c,d;const t=N(),l=f(),r=u.useSearch(),i=u.useLoaderData(),o=b(r),[p,x]=j.useState(i.importId),{data:e}=I({...t.review.importForm.queryOptions(o),refetchInterval:R}),a=v(t.review.import.mutationOptions({onSuccess:async({importId:n})=>{x(n),await l.invalidateQueries(t.review.importForm.pathFilter())}})),m=((c=a.error)==null?void 0:c.message)??(((d=a.data)==null?void 0:d.importId)===null?a.data.message:i.refusal);return e.isFinished&&e.importId!==null&&e.importId===p?s.jsx(w,{to:"/pr-reviews/$repoName/$branchId",params:{repoName:r.repository,branchId:r.target},replace:!0}):s.jsxs("section",{className:"max-w-prose",children:[s.jsx("h1",{className:"text-4xl leading-10 font-bold tracking-[-0.02em]",children:e.heading}),s.jsx("p",{className:"mt-2 text-muted-foreground",children:e.message}),e.details.length===0?null:s.jsx("dl",{className:"mt-6 grid grid-cols-[auto_minmax(0,1fr)] gap-x-6 gap-y-1 text-sm",children:e.details.map(n=>s.jsxs("div",{className:"contents",children:[s.jsx("dt",{className:"text-muted-foreground",children:n.label}),s.jsx("dd",{className:"font-mono break-all",children:n.value})]},n.label))}),e.warning===null?null:s.jsx("p",{className:"mt-6 font-bold text-signal-text",children:e.warning}),e.isImporting||a.isPending?s.jsx(F,{label:e.pendingLabel,className:"mt-6"}):null,m===null||e.isImporting?null:s.jsx("p",{role:"alert",className:"mt-6 text-destructive",children:m}),s.jsxs("div",{className:"mt-6 flex items-center gap-4",children:[e.submitLabel===null||e.isImporting?null:s.jsx(y,{disabled:a.isPending,onClick:()=>{a.mutate(o)},children:e.submitLabel}),e.reviewHref===null?null:s.jsx(L,{to:"/pr-reviews/$repoName/$branchId",params:{repoName:r.repository,branchId:r.target},className:"underline",children:"Open the review page"})]})]})};export{k as component};
@@ -0,0 +1 @@
1
+ import{g as i,F as a,N as n,j as e}from"./index-C8_4U9zA.js";import{u as g,S as c}from"./index-BUtsWXGk.js";import{F as m}from"./index-Dk3p64fP.js";import{S as d}from"./index-EFsgiJx1.js";const l="Git integration • Settings • Flight Plan",u="Git integration",f=()=>{const o=i(),{data:t}=a(o.settings.get.queryOptions(n)),s=g();return t.section!==n.section?null:e.jsxs(e.Fragment,{children:[e.jsx("title",{children:l}),e.jsxs(d,{title:u,children:["By default, Flight Plan uses the"," ",e.jsx("code",{className:"rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[0.875em]",children:"git"})," ","command to read and fetch your local and remote branches and their commits."]}),e.jsx(m,{codeHostFeatures:t.codeHostFeatures,forges:t.forges,problem:s.problem,onSubmit:r=>{s.save({...n,...r})},children:e.jsx(c,{isPending:s.isPending,errorMessage:s.errorMessage,savedMessage:s.savedMessage})})]})};export{f as component};
@@ -0,0 +1 @@
1
+ import{S as r}from"./index-WOMODjD2.js";import"./index-C8_4U9zA.js";const n=r;export{n as errorComponent};