@jinion/core 0.5.0 → 0.5.2

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 (226) hide show
  1. package/dist/agent/agent.d.ts +3 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js.map +1 -1
  4. package/dist/agent/claude/backend.d.ts +1 -1
  5. package/dist/agent/claude/backend.d.ts.map +1 -1
  6. package/dist/agent/claude/backend.js +2 -1
  7. package/dist/agent/claude/backend.js.map +1 -1
  8. package/dist/agent/claude/jinion-tools.d.ts +3 -1
  9. package/dist/agent/claude/jinion-tools.d.ts.map +1 -1
  10. package/dist/agent/claude/jinion-tools.js +10 -1
  11. package/dist/agent/claude/jinion-tools.js.map +1 -1
  12. package/dist/agent/claude/options.d.ts +4 -1
  13. package/dist/agent/claude/options.d.ts.map +1 -1
  14. package/dist/agent/claude/options.js +4 -4
  15. package/dist/agent/claude/options.js.map +1 -1
  16. package/dist/agent/claude/prompt.d.ts +2 -1
  17. package/dist/agent/claude/prompt.d.ts.map +1 -1
  18. package/dist/agent/claude/prompt.js +3 -1
  19. package/dist/agent/claude/prompt.js.map +1 -1
  20. package/dist/agent/claude/session.d.ts +9 -1
  21. package/dist/agent/claude/session.d.ts.map +1 -1
  22. package/dist/agent/claude/session.js +13 -3
  23. package/dist/agent/claude/session.js.map +1 -1
  24. package/dist/agent/claude/tool-calls.d.ts.map +1 -1
  25. package/dist/agent/claude/tool-calls.js +11 -2
  26. package/dist/agent/claude/tool-calls.js.map +1 -1
  27. package/dist/agent/codex/backend.d.ts +1 -1
  28. package/dist/agent/codex/backend.d.ts.map +1 -1
  29. package/dist/agent/codex/backend.js +2 -1
  30. package/dist/agent/codex/backend.js.map +1 -1
  31. package/dist/agent/codex/events.d.ts.map +1 -1
  32. package/dist/agent/codex/events.js +7 -4
  33. package/dist/agent/codex/events.js.map +1 -1
  34. package/dist/agent/codex/jinion-tools.d.ts +27 -4
  35. package/dist/agent/codex/jinion-tools.d.ts.map +1 -1
  36. package/dist/agent/codex/jinion-tools.js +18 -4
  37. package/dist/agent/codex/jinion-tools.js.map +1 -1
  38. package/dist/agent/codex/session.d.ts +3 -0
  39. package/dist/agent/codex/session.d.ts.map +1 -1
  40. package/dist/agent/codex/session.js +5 -2
  41. package/dist/agent/codex/session.js.map +1 -1
  42. package/dist/agent/demo/agent.d.ts +1 -0
  43. package/dist/agent/demo/agent.d.ts.map +1 -1
  44. package/dist/agent/demo/agent.js +3 -0
  45. package/dist/agent/demo/agent.js.map +1 -1
  46. package/dist/agent/demo/scenarios/pricing-card.d.ts +3 -0
  47. package/dist/agent/demo/scenarios/pricing-card.d.ts.map +1 -0
  48. package/dist/agent/demo/scenarios/pricing-card.js +43 -0
  49. package/dist/agent/demo/scenarios/pricing-card.js.map +1 -0
  50. package/dist/agent/demo/sessions.d.ts.map +1 -1
  51. package/dist/agent/demo/sessions.js +26 -1
  52. package/dist/agent/demo/sessions.js.map +1 -1
  53. package/dist/agent/review.d.ts +8 -2
  54. package/dist/agent/review.d.ts.map +1 -1
  55. package/dist/agent/review.js +27 -7
  56. package/dist/agent/review.js.map +1 -1
  57. package/dist/api/client.d.ts +212 -0
  58. package/dist/api/client.d.ts.map +1 -1
  59. package/dist/api/connection.d.ts +52 -0
  60. package/dist/api/connection.d.ts.map +1 -1
  61. package/dist/api/connection.js +2 -0
  62. package/dist/api/connection.js.map +1 -1
  63. package/dist/api/fields.d.ts +229 -1
  64. package/dist/api/fields.d.ts.map +1 -1
  65. package/dist/api/fields.js +3 -1
  66. package/dist/api/fields.js.map +1 -1
  67. package/dist/api/json-schema.d.ts +864 -221
  68. package/dist/api/json-schema.d.ts.map +1 -1
  69. package/dist/api/methods/git.d.ts.map +1 -1
  70. package/dist/api/methods/git.js +11 -1
  71. package/dist/api/methods/git.js.map +1 -1
  72. package/dist/api/methods/sessions.d.ts.map +1 -1
  73. package/dist/api/methods/sessions.js +3 -2
  74. package/dist/api/methods/sessions.js.map +1 -1
  75. package/dist/api/methods/team.d.ts +4 -0
  76. package/dist/api/methods/team.d.ts.map +1 -0
  77. package/dist/api/methods/team.js +30 -0
  78. package/dist/api/methods/team.js.map +1 -0
  79. package/dist/api/protocol.d.ts +792 -2
  80. package/dist/api/protocol.d.ts.map +1 -1
  81. package/dist/api/protocol.js +41 -5
  82. package/dist/api/protocol.js.map +1 -1
  83. package/dist/api/schemas.d.ts +496 -0
  84. package/dist/api/schemas.d.ts.map +1 -1
  85. package/dist/api/schemas.js +6 -0
  86. package/dist/api/schemas.js.map +1 -1
  87. package/dist/commands/builtin.d.ts.map +1 -1
  88. package/dist/commands/builtin.js +3 -0
  89. package/dist/commands/builtin.js.map +1 -1
  90. package/dist/commands/team.d.ts +4 -0
  91. package/dist/commands/team.d.ts.map +1 -0
  92. package/dist/commands/team.js +11 -0
  93. package/dist/commands/team.js.map +1 -0
  94. package/dist/controllers/context.d.ts +4 -0
  95. package/dist/controllers/context.d.ts.map +1 -1
  96. package/dist/controllers/context.js +4 -0
  97. package/dist/controllers/context.js.map +1 -1
  98. package/dist/controllers/conversation.d.ts +16 -0
  99. package/dist/controllers/conversation.d.ts.map +1 -1
  100. package/dist/controllers/decision-view.d.ts +20 -0
  101. package/dist/controllers/decision-view.d.ts.map +1 -0
  102. package/dist/controllers/decision-view.js +59 -0
  103. package/dist/controllers/decision-view.js.map +1 -0
  104. package/dist/controllers/decisions.d.ts +29 -0
  105. package/dist/controllers/decisions.d.ts.map +1 -0
  106. package/dist/controllers/decisions.js +199 -0
  107. package/dist/controllers/decisions.js.map +1 -0
  108. package/dist/controllers/jinion.d.ts +17 -1
  109. package/dist/controllers/jinion.d.ts.map +1 -1
  110. package/dist/controllers/jinion.js +89 -5
  111. package/dist/controllers/jinion.js.map +1 -1
  112. package/dist/controllers/session.d.ts +21 -1
  113. package/dist/controllers/session.d.ts.map +1 -1
  114. package/dist/controllers/session.js +63 -1
  115. package/dist/controllers/session.js.map +1 -1
  116. package/dist/controllers/team.d.ts +216 -0
  117. package/dist/controllers/team.d.ts.map +1 -0
  118. package/dist/controllers/team.js +208 -0
  119. package/dist/controllers/team.js.map +1 -0
  120. package/dist/controllers/turns.d.ts +6 -0
  121. package/dist/controllers/turns.d.ts.map +1 -1
  122. package/dist/controllers/turns.js +17 -7
  123. package/dist/controllers/turns.js.map +1 -1
  124. package/dist/conversation/entries.d.ts +36 -0
  125. package/dist/conversation/entries.d.ts.map +1 -1
  126. package/dist/conversation/entries.js +26 -0
  127. package/dist/conversation/entries.js.map +1 -1
  128. package/dist/conversation/reducer.d.ts +132 -0
  129. package/dist/conversation/reducer.d.ts.map +1 -1
  130. package/dist/conversation/reducer.js +30 -1
  131. package/dist/conversation/reducer.js.map +1 -1
  132. package/dist/conversation/session.d.ts +24 -0
  133. package/dist/conversation/session.d.ts.map +1 -1
  134. package/dist/conversation/store.d.ts +13 -0
  135. package/dist/conversation/store.d.ts.map +1 -1
  136. package/dist/conversation/store.js +31 -7
  137. package/dist/conversation/store.js.map +1 -1
  138. package/dist/feedback/shared.d.ts +16 -0
  139. package/dist/feedback/shared.d.ts.map +1 -1
  140. package/dist/git/message.d.ts +4 -0
  141. package/dist/git/message.d.ts.map +1 -0
  142. package/dist/git/message.js +25 -0
  143. package/dist/git/message.js.map +1 -0
  144. package/dist/git/repos.d.ts.map +1 -1
  145. package/dist/git/repos.js +3 -1
  146. package/dist/git/repos.js.map +1 -1
  147. package/dist/git/staging.d.ts +6 -2
  148. package/dist/git/staging.d.ts.map +1 -1
  149. package/dist/git/staging.js +15 -3
  150. package/dist/git/staging.js.map +1 -1
  151. package/dist/git/types.d.ts +2 -0
  152. package/dist/git/types.d.ts.map +1 -1
  153. package/dist/git/types.js +2 -0
  154. package/dist/git/types.js.map +1 -1
  155. package/dist/jinion-account/account.d.ts +178 -0
  156. package/dist/jinion-account/account.d.ts.map +1 -1
  157. package/dist/jinion-account/account.js +30 -0
  158. package/dist/jinion-account/account.js.map +1 -1
  159. package/dist/jinion-account/api.d.ts +169 -0
  160. package/dist/jinion-account/api.d.ts.map +1 -1
  161. package/dist/jinion-account/api.js +39 -1
  162. package/dist/jinion-account/api.js.map +1 -1
  163. package/dist/jinion-account/user.d.ts +22 -0
  164. package/dist/jinion-account/user.d.ts.map +1 -1
  165. package/dist/jinion-account/user.js +9 -0
  166. package/dist/jinion-account/user.js.map +1 -1
  167. package/dist/map/review.d.ts +6 -4
  168. package/dist/map/review.d.ts.map +1 -1
  169. package/dist/map/review.js +21 -7
  170. package/dist/map/review.js.map +1 -1
  171. package/dist/state/jinion-account.d.ts +6 -0
  172. package/dist/state/jinion-account.d.ts.map +1 -1
  173. package/dist/state/session.d.ts +150 -0
  174. package/dist/state/session.d.ts.map +1 -1
  175. package/dist/state/session.js +2 -0
  176. package/dist/state/session.js.map +1 -1
  177. package/dist/state/team.d.ts +151 -0
  178. package/dist/state/team.d.ts.map +1 -0
  179. package/dist/state/team.js +4 -0
  180. package/dist/state/team.js.map +1 -0
  181. package/dist/team/anchoring.d.ts +9 -0
  182. package/dist/team/anchoring.d.ts.map +1 -0
  183. package/dist/team/anchoring.js +26 -0
  184. package/dist/team/anchoring.js.map +1 -0
  185. package/dist/team/config.d.ts +16 -0
  186. package/dist/team/config.d.ts.map +1 -0
  187. package/dist/team/config.js +37 -0
  188. package/dist/team/config.js.map +1 -0
  189. package/dist/team/decision.d.ts +255 -0
  190. package/dist/team/decision.d.ts.map +1 -0
  191. package/dist/team/decision.js +82 -0
  192. package/dist/team/decision.js.map +1 -0
  193. package/dist/team/decisions.d.ts +98 -0
  194. package/dist/team/decisions.d.ts.map +1 -0
  195. package/dist/team/decisions.js +166 -0
  196. package/dist/team/decisions.js.map +1 -0
  197. package/dist/team/history.d.ts +27 -0
  198. package/dist/team/history.d.ts.map +1 -0
  199. package/dist/team/history.js +49 -0
  200. package/dist/team/history.js.map +1 -0
  201. package/dist/team/prompt.d.ts +20 -0
  202. package/dist/team/prompt.d.ts.map +1 -0
  203. package/dist/team/prompt.js +44 -0
  204. package/dist/team/prompt.js.map +1 -0
  205. package/dist/team/repository.d.ts +12 -0
  206. package/dist/team/repository.d.ts.map +1 -0
  207. package/dist/team/repository.js +32 -0
  208. package/dist/team/repository.js.map +1 -0
  209. package/dist/team/secrets.d.ts +3 -0
  210. package/dist/team/secrets.d.ts.map +1 -0
  211. package/dist/team/secrets.js +18 -0
  212. package/dist/team/secrets.js.map +1 -0
  213. package/dist/team/tools.d.ts +82 -0
  214. package/dist/team/tools.d.ts.map +1 -0
  215. package/dist/team/tools.js +46 -0
  216. package/dist/team/tools.js.map +1 -0
  217. package/dist/team/types.d.ts +178 -0
  218. package/dist/team/types.d.ts.map +1 -0
  219. package/dist/team/types.js +60 -0
  220. package/dist/team/types.js.map +1 -0
  221. package/dist/team/visibility.d.ts +9 -0
  222. package/dist/team/visibility.d.ts.map +1 -0
  223. package/dist/team/visibility.js +36 -0
  224. package/dist/team/visibility.js.map +1 -0
  225. package/package.json +1 -1
  226. package/schema/api.json +4040 -1136
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/conversation/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;;EAA+D,CAAC;AAEnF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,UAAU;;;;;EAAmD,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,WAAW;;;;;iBAA+F,CAAC;AAExH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAMxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAI1D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAsChB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAExC,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAErD,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAEzF,eAAO,MAAM,WAAW,SAAU,MAAM,QAAQ,UAAU,KAAG,QAA4C,CAAC;AAE1G,eAAO,MAAM,YAAY,UAAW,SAAS,YAC4D,CAAC;AAE1G,eAAO,MAAM,QAAQ,UAAW,KAAK,KAAG,KAAK,IAAI,OAAO,CAAC,MAAM,CAA4C,CAAC;AAE5G,eAAO,MAAM,WAAW,YAAa,KAAK,EAAE,WAAoC,CAAC;AAEjF,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;UAGP,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eACzE"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/conversation/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,eAAO,MAAM,MAAM;;;;;;EAA+D,CAAC;AAEnF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,UAAU;;;;;EAAmD,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,WAAW;;;;;iBAA+F,CAAC;AAExH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAMxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAI1D,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB;;;;;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwDhB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAExC,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAErD,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAEzF,eAAO,MAAM,WAAW,SAAU,MAAM,QAAQ,UAAU,KAAG,QAA4C,CAAC;AAE1G,eAAO,MAAM,YAAY,UAAW,SAAS,YAC4D,CAAC;AAE1G,eAAO,MAAM,QAAQ,UAAW,KAAK,KAAG,KAAK,IAAI,OAAO,CAAC,MAAM,CAA4C,CAAC;AAE5G,eAAO,MAAM,WAAW,YAAa,KAAK,EAAE,WAAoC,CAAC;AAEjF,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;UAGP,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eACzE"}
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { BackgroundTask } from '../agent/tasks.js';
3
3
  import { ToolRun } from '../agent/tools.js';
4
+ import { DecisionOrigin } from '../team/decision.js';
4
5
  export const Status = z.enum(['pending', 'running', 'done', 'error', 'cancelled']);
5
6
  export const NoticeTone = z.enum(['muted', 'success', 'warning', 'error']);
6
7
  export const ChangedFile = z.object({ path: z.string(), created: z.boolean(), added: z.number(), removed: z.number() });
@@ -12,6 +13,13 @@ export const ToolCallEntry = z.object({
12
13
  endedAt: z.number().optional(),
13
14
  });
14
15
  const id = z.string();
16
+ /** Where a teammate's decision waits: its branch and pull request, and the files of it this turn changed. */
17
+ export const DecisionElsewhere = z.object({
18
+ branch: z.string().nullable(),
19
+ pullRequest: z.number().int().nullable(),
20
+ pullRequestState: z.enum(['open', 'merged', 'closed']).nullable(),
21
+ paths: z.array(z.string()),
22
+ });
15
23
  export const Entry = z.discriminatedUnion('kind', [
16
24
  z.object({ id, kind: z.literal('banner') }),
17
25
  /** `prompt` is what the agent got when pastes made it longer; `steered` messages joined a running turn. */
@@ -38,6 +46,24 @@ export const Entry = z.discriminatedUnion('kind', [
38
46
  z.object({ id, kind: z.literal('task'), task: BackgroundTask, summary: z.string().optional() }),
39
47
  /** `turn` is the message whose turn view in `/diff` has them. */
40
48
  z.object({ id, kind: z.literal('changes'), turn: z.string(), files: z.array(ChangedFile) }),
49
+ /**
50
+ * A decision of the project's team, by its id at api.jinion.co: one the agent recorded, `deleted` once its author took
51
+ * it back, one it `kept` to, made `by` a teammate, or a teammate's one `elsewhere`, on a branch the user's code
52
+ * doesn't have yet, which concerns files this turn changed.
53
+ */
54
+ z.object({
55
+ id,
56
+ kind: z.literal('decision'),
57
+ decision: z.string(),
58
+ title: z.string(),
59
+ origin: DecisionOrigin,
60
+ deleted: z.boolean().optional(),
61
+ kept: z.boolean().optional(),
62
+ by: z.string().optional(),
63
+ /** When it was made, for one the agent kept to or met elsewhere. */
64
+ madeAt: z.string().optional(),
65
+ elsewhere: DecisionElsewhere.optional(),
66
+ }),
41
67
  z.object({
42
68
  id,
43
69
  kind: z.literal('tool'),
@@ -1 +1 @@
1
- {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/conversation/entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/conversation/entries.ts"],"names":[],"mappings":"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"}
@@ -273,6 +273,50 @@ export declare const Action: z.ZodDiscriminatedUnion<[z.ZodObject<{
273
273
  }, z.core.$strip>, z.ZodObject<{
274
274
  type: z.ZodLiteral<"switch-agent">;
275
275
  agent: z.ZodString;
276
+ }, z.core.$strip>, z.ZodObject<{
277
+ type: z.ZodLiteral<"decision">;
278
+ decision: z.ZodString;
279
+ title: z.ZodString;
280
+ origin: z.ZodEnum<{
281
+ agent: "agent";
282
+ asked: "asked";
283
+ requested: "requested";
284
+ }>;
285
+ }, z.core.$strip>, z.ZodObject<{
286
+ type: z.ZodLiteral<"decision-deleted">;
287
+ decision: z.ZodString;
288
+ }, z.core.$strip>, z.ZodObject<{
289
+ type: z.ZodLiteral<"decision-kept">;
290
+ decision: z.ZodString;
291
+ title: z.ZodString;
292
+ origin: z.ZodEnum<{
293
+ agent: "agent";
294
+ asked: "asked";
295
+ requested: "requested";
296
+ }>;
297
+ by: z.ZodString;
298
+ madeAt: z.ZodOptional<z.ZodString>;
299
+ }, z.core.$strip>, z.ZodObject<{
300
+ type: z.ZodLiteral<"decision-elsewhere">;
301
+ decision: z.ZodString;
302
+ title: z.ZodString;
303
+ origin: z.ZodEnum<{
304
+ agent: "agent";
305
+ asked: "asked";
306
+ requested: "requested";
307
+ }>;
308
+ by: z.ZodString;
309
+ madeAt: z.ZodString;
310
+ elsewhere: z.ZodObject<{
311
+ branch: z.ZodNullable<z.ZodString>;
312
+ pullRequest: z.ZodNullable<z.ZodNumber>;
313
+ pullRequestState: z.ZodNullable<z.ZodEnum<{
314
+ closed: "closed";
315
+ merged: "merged";
316
+ open: "open";
317
+ }>>;
318
+ paths: z.ZodArray<z.ZodString>;
319
+ }, z.core.$strip>;
276
320
  }, z.core.$strip>], "type">;
277
321
  export type Action = z.infer<typeof Action>;
278
322
  /** An action with the time it happened, stamped once where it is dispatched. */
@@ -544,6 +588,50 @@ export declare const StampedAction: z.ZodObject<{
544
588
  }, z.core.$strip>, z.ZodObject<{
545
589
  type: z.ZodLiteral<"switch-agent">;
546
590
  agent: z.ZodString;
591
+ }, z.core.$strip>, z.ZodObject<{
592
+ type: z.ZodLiteral<"decision">;
593
+ decision: z.ZodString;
594
+ title: z.ZodString;
595
+ origin: z.ZodEnum<{
596
+ agent: "agent";
597
+ asked: "asked";
598
+ requested: "requested";
599
+ }>;
600
+ }, z.core.$strip>, z.ZodObject<{
601
+ type: z.ZodLiteral<"decision-deleted">;
602
+ decision: z.ZodString;
603
+ }, z.core.$strip>, z.ZodObject<{
604
+ type: z.ZodLiteral<"decision-kept">;
605
+ decision: z.ZodString;
606
+ title: z.ZodString;
607
+ origin: z.ZodEnum<{
608
+ agent: "agent";
609
+ asked: "asked";
610
+ requested: "requested";
611
+ }>;
612
+ by: z.ZodString;
613
+ madeAt: z.ZodOptional<z.ZodString>;
614
+ }, z.core.$strip>, z.ZodObject<{
615
+ type: z.ZodLiteral<"decision-elsewhere">;
616
+ decision: z.ZodString;
617
+ title: z.ZodString;
618
+ origin: z.ZodEnum<{
619
+ agent: "agent";
620
+ asked: "asked";
621
+ requested: "requested";
622
+ }>;
623
+ by: z.ZodString;
624
+ madeAt: z.ZodString;
625
+ elsewhere: z.ZodObject<{
626
+ branch: z.ZodNullable<z.ZodString>;
627
+ pullRequest: z.ZodNullable<z.ZodNumber>;
628
+ pullRequestState: z.ZodNullable<z.ZodEnum<{
629
+ closed: "closed";
630
+ merged: "merged";
631
+ open: "open";
632
+ }>>;
633
+ paths: z.ZodArray<z.ZodString>;
634
+ }, z.core.$strip>;
547
635
  }, z.core.$strip>], "type">;
548
636
  at: z.ZodNumber;
549
637
  }, z.core.$strip>;
@@ -817,6 +905,50 @@ export declare const SentAction: z.ZodObject<{
817
905
  }, z.core.$strip>, z.ZodObject<{
818
906
  type: z.ZodLiteral<"switch-agent">;
819
907
  agent: z.ZodString;
908
+ }, z.core.$strip>, z.ZodObject<{
909
+ type: z.ZodLiteral<"decision">;
910
+ decision: z.ZodString;
911
+ title: z.ZodString;
912
+ origin: z.ZodEnum<{
913
+ agent: "agent";
914
+ asked: "asked";
915
+ requested: "requested";
916
+ }>;
917
+ }, z.core.$strip>, z.ZodObject<{
918
+ type: z.ZodLiteral<"decision-deleted">;
919
+ decision: z.ZodString;
920
+ }, z.core.$strip>, z.ZodObject<{
921
+ type: z.ZodLiteral<"decision-kept">;
922
+ decision: z.ZodString;
923
+ title: z.ZodString;
924
+ origin: z.ZodEnum<{
925
+ agent: "agent";
926
+ asked: "asked";
927
+ requested: "requested";
928
+ }>;
929
+ by: z.ZodString;
930
+ madeAt: z.ZodOptional<z.ZodString>;
931
+ }, z.core.$strip>, z.ZodObject<{
932
+ type: z.ZodLiteral<"decision-elsewhere">;
933
+ decision: z.ZodString;
934
+ title: z.ZodString;
935
+ origin: z.ZodEnum<{
936
+ agent: "agent";
937
+ asked: "asked";
938
+ requested: "requested";
939
+ }>;
940
+ by: z.ZodString;
941
+ madeAt: z.ZodString;
942
+ elsewhere: z.ZodObject<{
943
+ branch: z.ZodNullable<z.ZodString>;
944
+ pullRequest: z.ZodNullable<z.ZodNumber>;
945
+ pullRequestState: z.ZodNullable<z.ZodEnum<{
946
+ closed: "closed";
947
+ merged: "merged";
948
+ open: "open";
949
+ }>>;
950
+ paths: z.ZodArray<z.ZodString>;
951
+ }, z.core.$strip>;
820
952
  }, z.core.$strip>], "type">;
821
953
  at: z.ZodNumber;
822
954
  seq: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/conversation/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5E,eAAO,MAAM,WAAW;;;;EAA4C,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAcjB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,gFAAgF;AAChF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA+C,CAAC;AAE1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkD,CAAC;AAE1E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAEtF"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/conversation/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5E,eAAO,MAAM,WAAW;;;;EAA4C,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA6BjB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,gFAAgF;AAChF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA+C,CAAC;AAE1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkD,CAAC;AAE1E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAEtF"}
@@ -1,9 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import { AgentEvent } from '../agent/events.js';
3
3
  import { Worktree } from '../git/types.js';
4
+ import { DecisionOrigin } from '../team/decision.js';
4
5
  import { applyEvent } from './apply-event.js';
5
6
  import { turnChanges } from './edits.js';
6
- import { isBackground, isPrompt, lastToolRun, noticeEntry, NoticeTone } from './entries.js';
7
+ import { DecisionElsewhere, isBackground, isPrompt, lastToolRun, noticeEntry, NoticeTone } from './entries.js';
7
8
  import { addNewEntries, updateTool } from './session.js';
8
9
  import { titleOf } from './titles.js';
9
10
  export const TurnOutcome = z.enum(['done', 'interrupted', 'failed']);
@@ -21,6 +22,21 @@ export const Action = z.discriminatedUnion('type', [
21
22
  z.object({ type: z.literal('worktree'), worktree: Worktree.optional() }),
22
23
  /** The conversation goes on with another backend, which knows nothing of it until it is handed over. */
23
24
  z.object({ type: z.literal('switch-agent'), agent: z.string() }),
25
+ /** The agent recorded a decision for the project's team; `decision` is its id. */
26
+ z.object({ type: z.literal('decision'), decision: z.string(), title: z.string(), origin: DecisionOrigin }),
27
+ z.object({ type: z.literal('decision-deleted'), decision: z.string() }),
28
+ /** The agent kept to a binding decision this turn, which `by` made. */
29
+ z.object({ type: z.literal('decision-kept'), decision: z.string(), title: z.string(), origin: DecisionOrigin, by: z.string(), madeAt: z.string().optional() }),
30
+ /** A teammate's decision on another branch concerns files this turn changed. */
31
+ z.object({
32
+ type: z.literal('decision-elsewhere'),
33
+ decision: z.string(),
34
+ title: z.string(),
35
+ origin: DecisionOrigin,
36
+ by: z.string(),
37
+ madeAt: z.string(),
38
+ elsewhere: DecisionElsewhere,
39
+ }),
24
40
  ]);
25
41
  /** An action with the time it happened, stamped once where it is dispatched. */
26
42
  export const StampedAction = z.object({ action: Action, at: z.number() });
@@ -70,6 +86,19 @@ function next(session, action, at) {
70
86
  return addNewEntries(session, noticeEntry(action.text, action.tone ?? 'muted'));
71
87
  case 'worktree':
72
88
  return { ...session, worktree: action.worktree };
89
+ case 'decision':
90
+ return addNewEntries(session, { kind: 'decision', decision: action.decision, title: action.title, origin: action.origin });
91
+ case 'decision-kept':
92
+ return addNewEntries(session, { kind: 'decision', decision: action.decision, title: action.title, origin: action.origin, kept: true, by: action.by, madeAt: action.madeAt });
93
+ case 'decision-elsewhere': {
94
+ const { decision, title, origin, by, madeAt, elsewhere } = action;
95
+ return addNewEntries(session, { kind: 'decision', decision, title, origin, by, madeAt, elsewhere });
96
+ }
97
+ case 'decision-deleted':
98
+ return {
99
+ ...session,
100
+ entries: session.entries.map((entry) => (entry.kind === 'decision' && entry.decision === action.decision ? { ...entry, deleted: true } : entry)),
101
+ };
73
102
  case 'switch-agent': {
74
103
  // The prompts before it belong to the other backend, which is no longer there to rewind them.
75
104
  const entries = session.entries.map((entry) => {
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/conversation/reducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/conversation/reducer.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,30 @@ export declare const SessionState: z.ZodObject<{
79
79
  added: z.ZodNumber;
80
80
  removed: z.ZodNumber;
81
81
  }, z.core.$strip>>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ id: z.ZodString;
84
+ kind: z.ZodLiteral<"decision">;
85
+ decision: z.ZodString;
86
+ title: z.ZodString;
87
+ origin: z.ZodEnum<{
88
+ agent: "agent";
89
+ asked: "asked";
90
+ requested: "requested";
91
+ }>;
92
+ deleted: z.ZodOptional<z.ZodBoolean>;
93
+ kept: z.ZodOptional<z.ZodBoolean>;
94
+ by: z.ZodOptional<z.ZodString>;
95
+ madeAt: z.ZodOptional<z.ZodString>;
96
+ elsewhere: z.ZodOptional<z.ZodObject<{
97
+ branch: z.ZodNullable<z.ZodString>;
98
+ pullRequest: z.ZodNullable<z.ZodNumber>;
99
+ pullRequestState: z.ZodNullable<z.ZodEnum<{
100
+ closed: "closed";
101
+ merged: "merged";
102
+ open: "open";
103
+ }>>;
104
+ paths: z.ZodArray<z.ZodString>;
105
+ }, z.core.$strip>>;
82
106
  }, z.core.$strip>, z.ZodObject<{
83
107
  id: z.ZodString;
84
108
  kind: z.ZodLiteral<"tool">;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/conversation/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAExI,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAStE;AAED,eAAO,MAAM,WAAW,YAAa,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,uBACJ,CAAC;AAE/D,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAOvE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAI3D;AAED,eAAO,MAAM,QAAQ,UAAW,YAAY,KAAG,WAAW,GAAG,SAC+B,CAAC;AAE7F,yDAAyD;AACzD,eAAO,MAAM,aAAa,YAAa,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,UAAU,CAAC,SAAS,MAAM,YAC7B,CAAC;AAEtE,oFAAoF;AACpF,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,KAAK,EAAE,KAAG,YAGtE,CAAC;AAEH,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAKzF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,YAAY,CAK/G"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/conversation/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAExI,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAStE;AAED,eAAO,MAAM,WAAW,YAAa,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,uBACJ,CAAC;AAE/D,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAOvE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAI3D;AAED,eAAO,MAAM,QAAQ,UAAW,YAAY,KAAG,WAAW,GAAG,SAC+B,CAAC;AAE7F,yDAAyD;AACzD,eAAO,MAAM,aAAa,YAAa,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,UAAU,CAAC,SAAS,MAAM,YAC7B,CAAC;AAEtE,oFAAoF;AACpF,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,KAAK,EAAE,KAAG,YAGtE,CAAC;AAEH,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAKzF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,YAAY,CAK/G"}
@@ -8,6 +8,12 @@ export interface SessionStore {
8
8
  release(id: string): void;
9
9
  /** The pid of another process that has the conversation open. */
10
10
  openElsewhere(id: string): number | undefined;
11
+ /** Asks the process that has the conversation open to let go of it, for this one to open it. */
12
+ askToHandOver(id: string): void;
13
+ /** Whether another process asked this one to let go of the conversation, and still waits for it. */
14
+ handOverAsked(id: string): boolean;
15
+ /** Takes back the ask, as when the other process didn't answer it. */
16
+ withdrawHandOver(id: string): void;
11
17
  }
12
18
  export declare class FileSessionStore implements SessionStore {
13
19
  private readonly dir;
@@ -17,8 +23,12 @@ export declare class FileSessionStore implements SessionStore {
17
23
  claim(id: string): number | undefined;
18
24
  release(id: string): void;
19
25
  openElsewhere(id: string): number | undefined;
26
+ askToHandOver(id: string): void;
27
+ handOverAsked(id: string): boolean;
28
+ withdrawHandOver(id: string): void;
20
29
  private owner;
21
30
  private claimPath;
31
+ private handOverPath;
22
32
  }
23
33
  /** Holds conversations for the demo and tests, which no other process shares. */
24
34
  export declare class MemorySessionStore implements SessionStore {
@@ -29,5 +39,8 @@ export declare class MemorySessionStore implements SessionStore {
29
39
  claim(): undefined;
30
40
  release(): void;
31
41
  openElsewhere(): undefined;
42
+ askToHandOver(): void;
43
+ handOverAsked(): boolean;
44
+ withdrawHandOver(): void;
32
45
  }
33
46
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/conversation/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,IAAI,IAAI,YAAY,EAAE,CAAC;IACvB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,mGAAmG;IACnG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/C;AAED,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,GAAG,EAAE,MAAM,EAEtB;IAED,IAAI,mBAWH;IAED,IAAI,CAAC,OAAO,EAAE,YAAY,QAEzB;IAED,KAAK,CAAC,EAAE,EAAE,MAAM,sBAUf;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,QAEjB;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,sBAIvB;IAED,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,SAAS;CAGlB;AAED,iFAAiF;AACjF,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,YAAY,IAAI,GAAE,YAAY,EAAO,EAEpC;IAED,IAAI,mBAEH;IAED,IAAI,CAAC,OAAO,EAAE,YAAY,QAEzB;IAED,KAAK,cAEJ;IAED,OAAO,SAAK;IAEZ,aAAa,cAEZ;CACF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/conversation/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,IAAI,IAAI,YAAY,EAAE,CAAC;IACvB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,mGAAmG;IACnG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,gGAAgG;IAChG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oGAAoG;IACpG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,GAAG,EAAE,MAAM,EAEtB;IAED,IAAI,mBAWH;IAED,IAAI,CAAC,OAAO,EAAE,YAAY,QAEzB;IAED,KAAK,CAAC,EAAE,EAAE,MAAM,sBAaf;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,QAEjB;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,sBAIvB;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,QAEvB;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,WAIvB;IAED,gBAAgB,CAAC,EAAE,EAAE,MAAM,QAE1B;IAED,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;CAGrB;AAUD,iFAAiF;AACjF,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,YAAY,IAAI,GAAE,YAAY,EAAO,EAEpC;IAED,IAAI,mBAEH;IAED,IAAI,CAAC,OAAO,EAAE,YAAY,QAEzB;IAED,KAAK,cAEJ;IAED,OAAO,SAAK;IAEZ,aAAa,cAEZ;IAED,aAAa,SAAK;IAElB,aAAa,YAEZ;IAED,gBAAgB,SAAK;CACtB"}
@@ -27,8 +27,10 @@ export class FileSessionStore {
27
27
  const path = this.claimPath(id);
28
28
  return withFileLock(path, () => {
29
29
  const owner = this.openElsewhere(id);
30
- if (owner === undefined)
30
+ if (owner === undefined) {
31
31
  writeFileSync(path, `${process.pid}\n`);
32
+ rmSync(this.handOverPath(id), { force: true });
33
+ }
32
34
  return owner;
33
35
  });
34
36
  }
@@ -40,17 +42,34 @@ export class FileSessionStore {
40
42
  const owner = this.owner(id);
41
43
  return owner !== undefined && owner !== process.pid && isRunning(owner) ? owner : undefined;
42
44
  }
45
+ askToHandOver(id) {
46
+ writeFileSync(this.handOverPath(id), `${process.pid}\n`);
47
+ }
48
+ handOverAsked(id) {
49
+ const asker = pidIn(this.handOverPath(id));
50
+ return asker !== undefined && asker !== process.pid && isRunning(asker);
51
+ }
52
+ withdrawHandOver(id) {
53
+ if (pidIn(this.handOverPath(id)) === process.pid)
54
+ rmSync(this.handOverPath(id), { force: true });
55
+ }
43
56
  owner(id) {
44
- try {
45
- return Number(readFileSync(this.claimPath(id), 'utf8').trim()) || undefined;
46
- }
47
- catch {
48
- return undefined;
49
- }
57
+ return pidIn(this.claimPath(id));
50
58
  }
51
59
  claimPath(id) {
52
60
  return join(this.dir, `${id}.open`);
53
61
  }
62
+ handOverPath(id) {
63
+ return join(this.dir, `${id}.handover`);
64
+ }
65
+ }
66
+ function pidIn(path) {
67
+ try {
68
+ return Number(readFileSync(path, 'utf8').trim()) || undefined;
69
+ }
70
+ catch {
71
+ return undefined;
72
+ }
54
73
  }
55
74
  /** Holds conversations for the demo and tests, which no other process shares. */
56
75
  export class MemorySessionStore {
@@ -72,5 +91,10 @@ export class MemorySessionStore {
72
91
  openElsewhere() {
73
92
  return undefined;
74
93
  }
94
+ askToHandOver() { }
95
+ handOverAsked() {
96
+ return false;
97
+ }
98
+ withdrawHandOver() { }
75
99
  }
76
100
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/conversation/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/conversation/store.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,22 @@ export declare function turnEntries(entries: Entry[], first: string): ({
84
84
  added: number;
85
85
  removed: number;
86
86
  }[];
87
+ } | {
88
+ id: string;
89
+ kind: "decision";
90
+ decision: string;
91
+ title: string;
92
+ origin: "agent" | "asked" | "requested";
93
+ deleted?: boolean | undefined;
94
+ kept?: boolean | undefined;
95
+ by?: string | undefined;
96
+ madeAt?: string | undefined;
97
+ elsewhere?: {
98
+ branch: string | null;
99
+ pullRequest: number | null;
100
+ pullRequestState: "closed" | "merged" | "open" | null;
101
+ paths: string[];
102
+ } | undefined;
87
103
  } | {
88
104
  id: string;
89
105
  kind: "tool";
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/feedback/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,MAAM;;;EAAgC,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,0HAA0H;AAC1H,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAID,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAO1D;AAED,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAqBtG"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/feedback/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,MAAM;;;EAAgC,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,0HAA0H;AAC1H,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAID,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAO1D;AAED,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAqBtG"}
@@ -0,0 +1,4 @@
1
+ import type { Repo } from './types.js';
2
+ /** A message for what `repo` would commit, from the backend's small model; `undefined` when there is nothing to commit or it couldn't answer. */
3
+ export declare function draftMessage(repo: Repo, brief: (instructions: string, prompt: string) => Promise<string | undefined>): Promise<string | undefined>;
4
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/git/message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAUvC,iJAAiJ;AACjJ,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,+BAU1H"}
@@ -0,0 +1,25 @@
1
+ import { pendingDiff, recentSubjects } from './staging.js';
2
+ /** How much of the diff the small model reads; past it, the files' list at the top still says what changed. */
3
+ const DIFF = 24_000;
4
+ const INSTRUCTIONS = `You write the commit message for a change, from its diff.
5
+
6
+ Write it the way the repository's recent commits are written: the same form (such as "feat(scope): ..." when they use it), the same language and tense, about as long. Say what the change does and, when the diff shows it, why; not how. When the recent commits have no body, write one line; otherwise a subject line, a blank line and a short body.
7
+ Reply with the message and nothing else: no quotes, no code fences, no preamble.`;
8
+ /** A message for what `repo` would commit, from the backend's small model; `undefined` when there is nothing to commit or it couldn't answer. */
9
+ export async function draftMessage(repo, brief) {
10
+ const diff = await pendingDiff(repo);
11
+ if (!diff.trim())
12
+ return undefined;
13
+ const subjects = await recentSubjects(repo);
14
+ const recent = subjects.length > 0 ? subjects.map((subject) => `- ${subject}`).join('\n') : '(none yet)';
15
+ const shown = diff.length > DIFF ? `${diff.slice(0, DIFF)}\n[the rest of the diff is cut]` : diff;
16
+ const answer = await brief(INSTRUCTIONS, `The repository's recent commits:\n${recent}\n\nThe change:\n${shown}`);
17
+ return answer && unwrapped(answer);
18
+ }
19
+ /** The message alone, though a model wraps it in a fence or quotes now and then. */
20
+ function unwrapped(answer) {
21
+ const fenced = /^```[a-z]*\n([\s\S]*?)\n```$/.exec(answer.trim());
22
+ const text = (fenced?.[1] ?? answer).trim().replace(/^["“](.*)["”]$/s, '$1');
23
+ return text || undefined;
24
+ }
25
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/git/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG3D,+GAA+G;AAC/G,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,YAAY,GAAG;;;iFAG4D,CAAC;AAElF,iJAAiJ;AACjJ,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU,EAAE,KAA4E;IACzH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACzG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,qCAAqC,MAAM,oBAAoB,KAAK,EAAE,CAAC,CAAC;IAEjH,OAAO,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,oFAAoF;AACpF,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAE7E,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../src/git/repos.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS9D,gHAAgH;AAChH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAgC7C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAQ1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAkBxD;AAED,8FAA8F;AAC9F,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAkCnF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAShG;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAoBnG"}
1
+ {"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../src/git/repos.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS9D,gHAAgH;AAChH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAgC7C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAQ1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAmBxD;AAED,8FAA8F;AAC9F,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAkCnF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAShG;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAoBnG"}
package/dist/git/repos.js CHANGED
@@ -48,13 +48,15 @@ export async function repoState(repo) {
48
48
  }
49
49
  }
50
50
  export function parseGitStatus(output) {
51
- const status = { branch: '', changed: 0, ahead: 0, behind: 0 };
51
+ const status = { branch: '', changed: 0, ahead: 0, behind: 0, upstream: false };
52
52
  let commit = '';
53
53
  for (const line of output.split('\n')) {
54
54
  if (line.startsWith('# branch.head '))
55
55
  status.branch = line.slice('# branch.head '.length);
56
56
  else if (line.startsWith('# branch.oid '))
57
57
  commit = line.slice('# branch.oid '.length);
58
+ else if (line.startsWith('# branch.upstream '))
59
+ status.upstream = true;
58
60
  else if (line.startsWith('# branch.ab ')) {
59
61
  const counts = /\+(\d+) -(\d+)/.exec(line);
60
62
  status.ahead = Number(counts?.[1] ?? 0);