@idea1/cli 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +120 -63
  2. package/dist/cli/named-lists.d.ts +1 -1
  3. package/dist/cli/named-lists.d.ts.map +1 -1
  4. package/dist/cli/named-lists.js +18 -2
  5. package/dist/cli/named-lists.js.map +1 -1
  6. package/dist/cli/parser.d.ts +3 -2
  7. package/dist/cli/parser.d.ts.map +1 -1
  8. package/dist/cli/parser.js +4 -3
  9. package/dist/cli/parser.js.map +1 -1
  10. package/dist/cli/resolver.d.ts +3 -0
  11. package/dist/cli/resolver.d.ts.map +1 -1
  12. package/dist/cli/resolver.js +41 -36
  13. package/dist/cli/resolver.js.map +1 -1
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +15 -1
  16. package/dist/cli.js.map +1 -1
  17. package/dist/commands/approve-pr.d.ts.map +1 -1
  18. package/dist/commands/approve-pr.js +1 -0
  19. package/dist/commands/approve-pr.js.map +1 -1
  20. package/dist/commands/attach-project-item.d.ts.map +1 -1
  21. package/dist/commands/attach-project-item.js +1 -4
  22. package/dist/commands/attach-project-item.js.map +1 -1
  23. package/dist/commands/help.d.ts.map +1 -1
  24. package/dist/commands/help.js +11 -6
  25. package/dist/commands/help.js.map +1 -1
  26. package/dist/commands/index.d.ts +2 -1
  27. package/dist/commands/index.d.ts.map +1 -1
  28. package/dist/commands/index.js +5 -1
  29. package/dist/commands/index.js.map +1 -1
  30. package/dist/commands/join-project-item.d.ts.map +1 -1
  31. package/dist/commands/join-project-item.js +31 -12
  32. package/dist/commands/join-project-item.js.map +1 -1
  33. package/dist/commands/next-workflow-step.d.ts.map +1 -1
  34. package/dist/commands/next-workflow-step.js +3 -2
  35. package/dist/commands/next-workflow-step.js.map +1 -1
  36. package/dist/commands/ready-for-approval.d.ts.map +1 -1
  37. package/dist/commands/ready-for-approval.js +24 -6
  38. package/dist/commands/ready-for-approval.js.map +1 -1
  39. package/dist/commands/release.d.ts.map +1 -1
  40. package/dist/commands/release.js +2 -1
  41. package/dist/commands/release.js.map +1 -1
  42. package/dist/commands/ship-local-changes.js +1 -1
  43. package/dist/commands/ship-local-changes.js.map +1 -1
  44. package/dist/commands/start-agent-implementation.d.ts.map +1 -1
  45. package/dist/commands/start-agent-implementation.js +4 -1
  46. package/dist/commands/start-agent-implementation.js.map +1 -1
  47. package/dist/commands/start-dev-implementation.d.ts.map +1 -1
  48. package/dist/commands/start-dev-implementation.js +1 -0
  49. package/dist/commands/start-dev-implementation.js.map +1 -1
  50. package/dist/commands/start.d.ts.map +1 -1
  51. package/dist/commands/start.js +6 -3
  52. package/dist/commands/start.js.map +1 -1
  53. package/dist/commands/url-handler.d.ts +5 -0
  54. package/dist/commands/url-handler.d.ts.map +1 -0
  55. package/dist/commands/url-handler.js +38 -0
  56. package/dist/commands/url-handler.js.map +1 -0
  57. package/dist/index.js +0 -0
  58. package/dist/jobs/targets.d.ts +6 -1
  59. package/dist/jobs/targets.d.ts.map +1 -1
  60. package/dist/jobs/targets.js +12 -8
  61. package/dist/jobs/targets.js.map +1 -1
  62. package/dist/lib/claude-options.d.ts +47 -34
  63. package/dist/lib/claude-options.d.ts.map +1 -1
  64. package/dist/lib/claude-options.js +95 -82
  65. package/dist/lib/claude-options.js.map +1 -1
  66. package/dist/lib/claude-sessions.generated.d.ts +25 -0
  67. package/dist/lib/claude-sessions.generated.d.ts.map +1 -0
  68. package/dist/lib/claude-sessions.generated.js +16 -0
  69. package/dist/lib/claude-sessions.generated.js.map +1 -0
  70. package/dist/lib/settings.d.ts +10 -4
  71. package/dist/lib/settings.d.ts.map +1 -1
  72. package/dist/lib/settings.js +45 -15
  73. package/dist/lib/settings.js.map +1 -1
  74. package/dist/prompts/platform-prompts.d.ts +2 -0
  75. package/dist/prompts/platform-prompts.d.ts.map +1 -1
  76. package/dist/prompts/platform-prompts.js +9 -4
  77. package/dist/prompts/platform-prompts.js.map +1 -1
  78. package/dist/prompts/project-item-prompts.d.ts +3 -12
  79. package/dist/prompts/project-item-prompts.d.ts.map +1 -1
  80. package/dist/prompts/project-item-prompts.js +3 -18
  81. package/dist/prompts/project-item-prompts.js.map +1 -1
  82. package/dist/services/claude.d.ts +12 -7
  83. package/dist/services/claude.d.ts.map +1 -1
  84. package/dist/services/claude.js +7 -4
  85. package/dist/services/claude.js.map +1 -1
  86. package/dist/services/config.d.ts +5 -0
  87. package/dist/services/config.d.ts.map +1 -1
  88. package/dist/services/config.js +9 -0
  89. package/dist/services/config.js.map +1 -1
  90. package/dist/services/git.d.ts +5 -0
  91. package/dist/services/git.d.ts.map +1 -1
  92. package/dist/services/git.js +15 -3
  93. package/dist/services/git.js.map +1 -1
  94. package/dist/services/os-launcher.d.ts +29 -0
  95. package/dist/services/os-launcher.d.ts.map +1 -0
  96. package/dist/services/os-launcher.js +104 -0
  97. package/dist/services/os-launcher.js.map +1 -0
  98. package/dist/services/platform.d.ts +17 -3
  99. package/dist/services/platform.d.ts.map +1 -1
  100. package/dist/services/platform.js +79 -7
  101. package/dist/services/platform.js.map +1 -1
  102. package/dist/services/repository-registry.d.ts +11 -0
  103. package/dist/services/repository-registry.d.ts.map +1 -0
  104. package/dist/services/repository-registry.js +43 -0
  105. package/dist/services/repository-registry.js.map +1 -0
  106. package/dist/services/setup.d.ts.map +1 -1
  107. package/dist/services/setup.js +21 -1
  108. package/dist/services/setup.js.map +1 -1
  109. package/dist/services/url-handler.d.ts +23 -0
  110. package/dist/services/url-handler.d.ts.map +1 -0
  111. package/dist/services/url-handler.js +236 -0
  112. package/dist/services/url-handler.js.map +1 -0
  113. package/dist/services/worktree.d.ts +1 -19
  114. package/dist/services/worktree.d.ts.map +1 -1
  115. package/dist/services/worktree.js +0 -34
  116. package/dist/services/worktree.js.map +1 -1
  117. package/dist/types/index.d.ts +27 -25
  118. package/dist/types/index.d.ts.map +1 -1
  119. package/dist/workflow/data/project-item.d.ts +4 -0
  120. package/dist/workflow/data/project-item.d.ts.map +1 -1
  121. package/dist/workflow/data/team-member.d.ts +14 -0
  122. package/dist/workflow/data/team-member.d.ts.map +1 -0
  123. package/dist/workflow/data/team-member.js +2 -0
  124. package/dist/workflow/data/team-member.js.map +1 -0
  125. package/dist/workflow/data/workflow-context.d.ts +1 -1
  126. package/dist/workflow/data/workflow-states.d.ts +11 -2
  127. package/dist/workflow/data/workflow-states.d.ts.map +1 -1
  128. package/dist/workflow/data/workflow-states.generated.d.ts +17 -0
  129. package/dist/workflow/data/workflow-states.generated.d.ts.map +1 -1
  130. package/dist/workflow/data/workflow-states.generated.js +41 -0
  131. package/dist/workflow/data/workflow-states.generated.js.map +1 -1
  132. package/dist/workflow/data/workflow-states.js +21 -1
  133. package/dist/workflow/data/workflow-states.js.map +1 -1
  134. package/dist/workflow/engine/agent-session.d.ts +16 -0
  135. package/dist/workflow/engine/agent-session.d.ts.map +1 -0
  136. package/dist/workflow/engine/agent-session.js +109 -0
  137. package/dist/workflow/engine/agent-session.js.map +1 -0
  138. package/dist/workflow/engine/approval-flow.d.ts +21 -5
  139. package/dist/workflow/engine/approval-flow.d.ts.map +1 -1
  140. package/dist/workflow/engine/approval-flow.js +34 -0
  141. package/dist/workflow/engine/approval-flow.js.map +1 -1
  142. package/dist/workflow/engine/branch-setup.d.ts +8 -2
  143. package/dist/workflow/engine/branch-setup.d.ts.map +1 -1
  144. package/dist/workflow/engine/branch-setup.js +16 -6
  145. package/dist/workflow/engine/branch-setup.js.map +1 -1
  146. package/dist/workflow/engine/handlers/agent-implementation.d.ts +5 -4
  147. package/dist/workflow/engine/handlers/agent-implementation.d.ts.map +1 -1
  148. package/dist/workflow/engine/handlers/agent-implementation.js +13 -19
  149. package/dist/workflow/engine/handlers/agent-implementation.js.map +1 -1
  150. package/dist/workflow/engine/handlers/dev-implementation.js +1 -1
  151. package/dist/workflow/engine/handlers/dev-implementation.js.map +1 -1
  152. package/dist/workflow/engine/handlers/ready-for-approval.d.ts +7 -6
  153. package/dist/workflow/engine/handlers/ready-for-approval.d.ts.map +1 -1
  154. package/dist/workflow/engine/handlers/ready-for-approval.js +17 -19
  155. package/dist/workflow/engine/handlers/ready-for-approval.js.map +1 -1
  156. package/dist/workflow/engine/release-engine.js +1 -1
  157. package/dist/workflow/engine/release-engine.js.map +1 -1
  158. package/dist/workflow/engine/ship-flow.d.ts +8 -6
  159. package/dist/workflow/engine/ship-flow.d.ts.map +1 -1
  160. package/dist/workflow/engine/ship-flow.js +16 -13
  161. package/dist/workflow/engine/ship-flow.js.map +1 -1
  162. package/dist/workflow/engine/workflow-engine.d.ts +52 -16
  163. package/dist/workflow/engine/workflow-engine.d.ts.map +1 -1
  164. package/dist/workflow/engine/workflow-engine.js +146 -31
  165. package/dist/workflow/engine/workflow-engine.js.map +1 -1
  166. package/package.json +1 -1
  167. package/dist/commands/integrate.d.ts +0 -13
  168. package/dist/commands/integrate.d.ts.map +0 -1
  169. package/dist/commands/integrate.js +0 -128
  170. package/dist/commands/integrate.js.map +0 -1
  171. package/dist/commands/start-project-item.d.ts +0 -27
  172. package/dist/commands/start-project-item.d.ts.map +0 -1
  173. package/dist/commands/start-project-item.js +0 -325
  174. package/dist/commands/start-project-item.js.map +0 -1
  175. package/dist/services/hooks.d.ts +0 -8
  176. package/dist/services/hooks.d.ts.map +0 -1
  177. package/dist/services/hooks.js +0 -72
  178. package/dist/services/hooks.js.map +0 -1
  179. package/dist/services/workflow.d.ts +0 -17
  180. package/dist/services/workflow.d.ts.map +0 -1
  181. package/dist/services/workflow.js +0 -39
  182. package/dist/services/workflow.js.map +0 -1
@@ -3,7 +3,6 @@ import { logger } from '../lib/logger.js';
3
3
  import { execWithOutput, resolveBash } from '../lib/shell.js';
4
4
  import { DEFAULT_BRANCH_SETTINGS, getSetupWorktreeHook, getRemoveWorktreeAtState, readBranchSettings } from '../lib/settings.js';
5
5
  import * as git from './git.js';
6
- import * as claude from './claude.js';
7
6
  import { isStateAtOrAfter } from '../workflow/data/workflow-states.js';
8
7
  /**
9
8
  * Run the setup-worktree hook if defined in .idea1/settings.json
@@ -227,39 +226,6 @@ export async function ensureBranchEnvironment(isolationMode, branchName) {
227
226
  await runSetupWorktreeHook(worktreePath);
228
227
  return { workingPath: worktreePath, created: true };
229
228
  }
230
- /**
231
- * Start a project item's implementation session on its branch's working directory per the
232
- * entry-point mode, then print the directory path and next-step hint. This is the only place the
233
- * CLI starts a Claude session that writes code.
234
- */
235
- export async function launchClaudeForBranch(workingPath, options) {
236
- if (options.claudeEntryPointMode === 'inline') {
237
- outputInlinePrompt(options.projectItemUrl, workingPath, options.prompt);
238
- }
239
- else if (options.claudeEntryPointMode === 'launch') {
240
- await claude.runInteractive(options.prompt, {
241
- cwd: workingPath,
242
- permissionMode: options.permissionMode,
243
- model: options.model,
244
- effort: options.effort
245
- });
246
- }
247
- printWorkingDirectoryHints(workingPath);
248
- }
249
- /**
250
- * Output the entry point prompt as structured output for an already-running Claude session.
251
- */
252
- function outputInlinePrompt(itemUrl, worktreePath, prompt) {
253
- const output = {
254
- type: 'idea1-cli-prompt',
255
- projectItemUrl: itemUrl,
256
- worktreePath,
257
- prompt,
258
- instructions: 'Enter plan mode and implement the project item using the prompt above. The worktree is ready at the specified path.'
259
- };
260
- // Output as JSON for Claude to parse from the tool result
261
- console.log(JSON.stringify(output, null, 2));
262
- }
263
229
  /**
264
230
  * Tell the user where the branch is checked out and how to move the workflow on.
265
231
  */
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/services/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/services/worktree.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,16 @@ export interface CommandOption {
15
15
  description: string;
16
16
  /** Boolean flag — never prompted, default false when absent */
17
17
  isFlag?: boolean;
18
- /** Static or dynamic default; absence means required */
19
- defaultValue?: string | (() => string);
20
- /** Whether to prompt when a default exists. Default: true. Only relevant when defaultValue is set. */
21
- promptWhenDefaultExists?: boolean;
18
+ /**
19
+ * Static or dynamic default; absence means required. A dynamic default reads the values resolved
20
+ * so far, so it can depend on an option declared earlier.
21
+ */
22
+ defaultValue?: string | ((resolved: Record<string, string>) => string);
23
+ /**
24
+ * Whether to prompt when a default exists. Default: true. Only relevant when defaultValue is set.
25
+ * A predicate reads the values resolved so far, like `dependsOn`.
26
+ */
27
+ promptWhenDefaultExists?: boolean | ((resolved: Record<string, string>) => boolean);
22
28
  /**
23
29
  * Dependency predicate evaluated against the values resolved so far. When it
24
30
  * returns false, the option is neither prompted nor required and is left
@@ -29,8 +35,8 @@ export interface CommandOption {
29
35
  /**
30
36
  * Marks this option as a member of a mutually-exclusive group (by group id).
31
37
  * At most one option per group may be supplied. When none is supplied on the
32
- * CLI, the resolver asks which member to use, then prompts only for that one;
33
- * the other members are left unset.
38
+ * CLI, the resolver asks which applicable member to use when it reaches the
39
+ * group, then prompts only for that one; the other members are left unset.
34
40
  */
35
41
  exclusiveGroup?: string;
36
42
  /** Selection prompt instead of text input - either an explicit list of choices or a reference to a named list that is resolved at runtime (see cli/named-lists.ts) */
@@ -81,10 +87,14 @@ export interface HookConfig {
81
87
  */
82
88
  export type Hook = string | HookConfig;
83
89
  /**
84
- * A prompt template: the Handlebars template itself, or the file that holds it
90
+ * A named entry point prompt in `.idea1` settings: the Handlebars template itself, or the file that
91
+ * holds it, relative to the repo root.
85
92
  */
86
- export type PromptTemplateSetting = string | {
87
- /** Path of the template file, relative to the repo root */
93
+ export type EntryPointPromptSetting = {
94
+ name: string;
95
+ template: string;
96
+ } | {
97
+ name: string;
88
98
  templateFile: string;
89
99
  };
90
100
  /**
@@ -106,8 +116,11 @@ export interface Idea1Settings {
106
116
  'setup-worktree'?: Hook;
107
117
  };
108
118
  prompts?: {
109
- /** The prompt an Agent Implementation session starts with. */
110
- agentImplementation?: PromptTemplateSetting;
119
+ /**
120
+ * The entry point prompts an agent session can start with, by workflow state name. A state's
121
+ * entries replace that state's built-in defaults.
122
+ */
123
+ entryPoints?: Record<string, EntryPointPromptSetting[]>;
111
124
  };
112
125
  defaults?: {
113
126
  branchPrefix?: string;
@@ -132,25 +145,14 @@ export interface Idea1Settings {
132
145
  versionedPackages?: VersionedPackage[];
133
146
  };
134
147
  }
135
- /**
136
- * Valid Claude permission modes
137
- */
138
- export type ClaudePermissionMode = 'acceptEdits' | 'bypassPermissions' | 'default' | 'delegate' | 'dontAsk' | 'plan';
139
- /**
140
- * Valid Claude effort levels (matches the /effort command options).
141
- */
142
- export type ClaudeEffortLevel = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
143
- /**
144
- * Valid Claude model aliases (matches the /model command options), passed to claude via --model.
145
- */
146
- export type ClaudeModel = 'fable' | 'opus' | 'sonnet' | 'haiku';
147
148
  /**
148
149
  * How Claude is invoked after setup completes.
149
- * - 'launch': Launch a new Claude process with the prompt (default)
150
+ * - 'launch': Launch a new Claude session in this terminal with the prompt
151
+ * - 'desktop': Start the session in Claude Desktop
150
152
  * - 'inline': Output the prompt as structured output for an already-running Claude session
151
153
  * - 'none': Do not invoke Claude
152
154
  */
153
- export type ClaudeEntryPointMode = 'launch' | 'inline' | 'none';
155
+ export type ClaudeEntryPointMode = 'launch' | 'desktop' | 'inline' | 'none';
154
156
  /**
155
157
  * Where work on a branch happens.
156
158
  * - 'worktree': a dedicated git worktree in a sibling directory (isolated)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;IACvE;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;IACpF;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IAC1D;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sKAAsK;IACtK,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,CAAC;IAC3D;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6FAA6F;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE;QACN,gBAAgB,CAAC,EAAE,IAAI,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;KACzD,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,6BAA6B,CAAC,EAAE,MAAM,CAAC;QACvC;;;;WAIG;QACH,qBAAqB,CAAC,EAAE,aAAa,CAAC;KACvC,CAAC;IACF,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;KACxC,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5E;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -16,6 +16,10 @@ export interface ProjectItemSummary {
16
16
  completionDate: string | null;
17
17
  /** A status the item had outside the workflow states, kept for reference; empty when it had none. */
18
18
  legacyWorkflowStatus: string;
19
+ /** The Project the item is planned in; null for an item out of scope, which has no assignee. */
20
+ projectId: string | null;
21
+ /** The teammate the item is assigned to; null when it is unassigned or out of scope. */
22
+ assignedToUserId: string | null;
19
23
  workflowContext: WorkflowContext | null;
20
24
  }
21
25
  //# sourceMappingURL=project-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-item.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/project-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qGAAqG;IACrG,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC"}
1
+ {"version":3,"file":"project-item.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/project-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qGAAqG;IACrG,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gGAAgG;IAChG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A member of the team, as the platform lists them: the teammate a project item can be assigned
3
+ * to. `gitHubUsername` is the member's linked GitHub account, null when none is linked; a member
4
+ * can only be assigned a pull request through a linked account.
5
+ *
6
+ * Mirrors the platform's `list_team_members` entry.
7
+ */
8
+ export interface TeamMember {
9
+ userId: string;
10
+ email: string;
11
+ role: string;
12
+ gitHubUsername: string | null;
13
+ }
14
+ //# sourceMappingURL=team-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-member.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/team-member.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=team-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-member.js","sourceRoot":"","sources":["../../../src/workflow/data/team-member.ts"],"names":[],"mappings":""}
@@ -22,7 +22,7 @@ export declare enum WorkflowBranchState {
22
22
  * `baseBranch`. A context whose branch is no longer live keeps the branch fields as the record of
23
23
  * where the work was, and `branchState` says why the branch is not live.
24
24
  *
25
- * Mirrors the platform's `WorkflowContext`.
25
+ * Mirrors the platform's `WorkflowContext` in the fields the CLI reads.
26
26
  */
27
27
  export interface WorkflowContext {
28
28
  /** The item's workflow state as stored; always a canonical state name. */
@@ -1,6 +1,6 @@
1
- import { type WorkflowState } from './workflow-states.generated.js';
1
+ import { type WorkflowAssignmentRequirement, type WorkflowState } from './workflow-states.generated.js';
2
2
  export { WORKFLOW_STATES, WorkflowStates, LEGACY_WORKFLOW_STATE_ALIASES } from './workflow-states.generated.js';
3
- export type { WorkflowState } from './workflow-states.generated.js';
3
+ export type { WorkflowAssignmentRequirement, WorkflowState } from './workflow-states.generated.js';
4
4
  /**
5
5
  * Workflow states in the order they are reached
6
6
  */
@@ -27,4 +27,13 @@ export declare function getWorkflowStatesBetween(from: WorkflowState | null, to:
27
27
  * Whether a workflow state is the target state or a later one in the sequence
28
28
  */
29
29
  export declare function isStateAtOrAfter(state: WorkflowState, targetState: WorkflowState): boolean;
30
+ /**
31
+ * Whether entering a state takes a teammate assignment for the item.
32
+ */
33
+ export declare function getStateAssignmentRequirement(state: WorkflowState): WorkflowAssignmentRequirement;
34
+ /**
35
+ * Whether moving from `from` to `to` takes a teammate assignment: the strongest requirement among the
36
+ * states entered on the way. Moving back or staying takes none.
37
+ */
38
+ export declare function getAssignmentRequirement(from: WorkflowState | null, to: WorkflowState): WorkflowAssignmentRequirement;
30
39
  //# sourceMappingURL=workflow-states.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-states.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAChH,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EAAoB,CAAC;AAE9E;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAiB3F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAStF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,EAAE,EAAE,aAAa,GAAG,aAAa,EAAE,CASvG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,GAAG,OAAO,CAE1F"}
1
+ {"version":3,"file":"workflow-states.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,6BAA6B,EAClC,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAChH,YAAY,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EAAoB,CAAC;AAE9E;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAiB3F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAStF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,EAAE,EAAE,aAAa,GAAG,aAAa,EAAE,CASvG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,GAAG,OAAO,CAE1F;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,6BAA6B,CAEjG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,EAAE,EAAE,aAAa,GAAG,6BAA6B,CAUrH"}
@@ -18,4 +18,21 @@ export declare const WorkflowStates: {
18
18
  * current equivalents. Keys are lowercase; compare case-insensitively.
19
19
  */
20
20
  export declare const LEGACY_WORKFLOW_STATE_ALIASES: Readonly<Record<string, WorkflowState>>;
21
+ /** A named Handlebars prompt template an agent session can start with. */
22
+ export interface EntryPointPrompt {
23
+ name: string;
24
+ template: string;
25
+ }
26
+ /**
27
+ * The entry point prompts an agent session can start with in each workflow state, used for a
28
+ * state the repository's .idea1/settings.json configures no entry points for.
29
+ */
30
+ export declare const DEFAULT_ENTRY_POINTS: Readonly<Record<WorkflowState, readonly EntryPointPrompt[]>>;
31
+ /**
32
+ * Whether a workflow transition takes a teammate assignment for the item it moves: none, optional (choosing
33
+ * none keeps the current assignee), or required (the item must have an assignee once the transition is done).
34
+ */
35
+ export type WorkflowAssignmentRequirement = 'none' | 'optional' | 'required';
36
+ /** Whether entering a state takes a teammate assignment for the item; a state not listed takes none. */
37
+ export declare const WORKFLOW_ASSIGNMENT_ON_ENTRY: Readonly<Partial<Record<WorkflowState, Exclude<WorkflowAssignmentRequirement, 'none'>>>>;
21
38
  //# sourceMappingURL=workflow-states.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-states.generated.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.generated.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,eAAO,MAAM,eAAe,gPAUlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,8CAA8C;AAC9C,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAGjF,CAAC"}
1
+ {"version":3,"file":"workflow-states.generated.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.generated.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,eAAO,MAAM,eAAe,gPAUlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,8CAA8C;AAC9C,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAGjF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC,CA6B7F,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE7E,wGAAwG;AACxG,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC,CAAC,CAKjI,CAAC"}
@@ -31,4 +31,45 @@ export const LEGACY_WORKFLOW_STATE_ALIASES = {
31
31
  'pr needs approval': 'Needs Approval for Release',
32
32
  'complete': 'Approved and Merged',
33
33
  };
34
+ /**
35
+ * The entry point prompts an agent session can start with in each workflow state, used for a
36
+ * state the repository's .idea1/settings.json configures no entry points for.
37
+ */
38
+ export const DEFAULT_ENTRY_POINTS = {
39
+ 'Build Spec in Progress': [
40
+ { name: "Write the spec", template: "Help me write the spec for the Idea1 project item {{projectItemUrl}}, which is in its \"{{workflowStatus}}\" step. Read its context with get_item_context_for_workflow_state." },
41
+ ],
42
+ 'Refinement - Build Spec': [
43
+ { name: "Refine the spec", template: "Refine the spec of the Idea1 project item {{projectItemUrl}}, which is in its \"{{workflowStatus}}\" step. Read its context with get_item_context_for_workflow_state." },
44
+ ],
45
+ 'Refinement - Implementation': [
46
+ { name: "Refine the implementation", template: "Refine the implementation of the Idea1 project item {{projectItemUrl}}, which is in its \"{{workflowStatus}}\" step. Read its context with get_item_context_for_workflow_state." },
47
+ ],
48
+ 'Ready for Agent Implementation': [
49
+ { name: "Implement", template: "Implement the Idea1 project item {{projectItemUrl}}. Read its context with get_item_context_for_workflow_state." },
50
+ ],
51
+ 'Agent Implementation': [
52
+ { name: "Implement", template: "Implement the Idea1 project item {{projectItemUrl}}. Read its context with get_item_context_for_workflow_state." },
53
+ ],
54
+ 'Dev Implementation': [
55
+ { name: "Continue the implementation", template: "Continue implementing the Idea1 project item {{projectItemUrl}} on this branch. Read its context with get_item_context_for_workflow_state." },
56
+ ],
57
+ 'Needs Approval for Release': [
58
+ { name: "Review the PR", template: "Review the pull request for the Idea1 project item {{projectItemUrl}} against its spec. Read its context with get_item_context_for_workflow_state." },
59
+ { name: "Address PR feedback", template: "Address the review feedback on the pull request for the Idea1 project item {{projectItemUrl}}. Read its context with get_item_context_for_workflow_state." },
60
+ ],
61
+ 'Approved and Merged': [
62
+ { name: "Follow up", template: "Follow up on the Idea1 project item {{projectItemUrl}}, which is merged. Read its context with get_item_context_for_workflow_state." },
63
+ ],
64
+ 'Released': [
65
+ { name: "Follow up", template: "Follow up on the Idea1 project item {{projectItemUrl}}, which is released. Read its context with get_item_context_for_workflow_state." },
66
+ ],
67
+ };
68
+ /** Whether entering a state takes a teammate assignment for the item; a state not listed takes none. */
69
+ export const WORKFLOW_ASSIGNMENT_ON_ENTRY = {
70
+ 'Build Spec in Progress': 'optional',
71
+ 'Refinement - Implementation': 'optional',
72
+ 'Ready for Agent Implementation': 'optional',
73
+ 'Needs Approval for Release': 'required',
74
+ };
34
75
  //# sourceMappingURL=workflow-states.generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-states.generated.js","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.generated.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wBAAwB;IACxB,yBAAyB;IACzB,6BAA6B;IAC7B,gCAAgC;IAChC,sBAAsB;IACtB,oBAAoB;IACpB,4BAA4B;IAC5B,qBAAqB;IACrB,UAAU;CACF,CAAC;AAIX,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,yBAAyB;IAC9C,wBAAwB,EAAE,6BAA6B;IACvD,2BAA2B,EAAE,gCAAgC;IAC7D,mBAAmB,EAAE,sBAAsB;IAC3C,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,4BAA4B;IACrD,iBAAiB,EAAE,qBAAqB;IACxC,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA4C;IACpF,mBAAmB,EAAE,4BAA4B;IACjD,UAAU,EAAE,qBAAqB;CAClC,CAAC"}
1
+ {"version":3,"file":"workflow-states.generated.js","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.generated.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wBAAwB;IACxB,yBAAyB;IACzB,6BAA6B;IAC7B,gCAAgC;IAChC,sBAAsB;IACtB,oBAAoB;IACpB,4BAA4B;IAC5B,qBAAqB;IACrB,UAAU;CACF,CAAC;AAIX,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,yBAAyB;IAC9C,wBAAwB,EAAE,6BAA6B;IACvD,2BAA2B,EAAE,gCAAgC;IAC7D,mBAAmB,EAAE,sBAAsB;IAC3C,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,4BAA4B;IACrD,iBAAiB,EAAE,qBAAqB;IACxC,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA4C;IACpF,mBAAmB,EAAE,4BAA4B;IACjD,UAAU,EAAE,qBAAqB;CAClC,CAAC;AAQF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiE;IAChG,wBAAwB,EAAE;QACxB,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,+KAA+K,EAAE;KACtN;IACD,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,uKAAuK,EAAE;KAC/M;IACD,6BAA6B,EAAE;QAC7B,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,iLAAiL,EAAE;KACnO;IACD,gCAAgC,EAAE;QAChC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,iHAAiH,EAAE;KACnJ;IACD,sBAAsB,EAAE;QACtB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,iHAAiH,EAAE;KACnJ;IACD,oBAAoB,EAAE;QACpB,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,4IAA4I,EAAE;KAChM;IACD,4BAA4B,EAAE;QAC5B,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,oJAAoJ,EAAE;QACzL,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,2JAA2J,EAAE;KACvM;IACD,qBAAqB,EAAE;QACrB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,qIAAqI,EAAE;KACvK;IACD,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,uIAAuI,EAAE;KACzK;CACF,CAAC;AAQF,wGAAwG;AACxG,MAAM,CAAC,MAAM,4BAA4B,GAA6F;IACpI,wBAAwB,EAAE,UAAU;IACpC,6BAA6B,EAAE,UAAU;IACzC,gCAAgC,EAAE,UAAU;IAC5C,4BAA4B,EAAE,UAAU;CACzC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { WORKFLOW_STATES, LEGACY_WORKFLOW_STATE_ALIASES } from './workflow-states.generated.js';
1
+ import { WORKFLOW_STATES, LEGACY_WORKFLOW_STATE_ALIASES, WORKFLOW_ASSIGNMENT_ON_ENTRY } from './workflow-states.generated.js';
2
2
  export { WORKFLOW_STATES, WorkflowStates, LEGACY_WORKFLOW_STATE_ALIASES } from './workflow-states.generated.js';
3
3
  /**
4
4
  * Workflow states in the order they are reached
@@ -57,4 +57,24 @@ export function getWorkflowStatesBetween(from, to) {
57
57
  export function isStateAtOrAfter(state, targetState) {
58
58
  return WORKFLOW_STATE_ORDER.indexOf(state) >= WORKFLOW_STATE_ORDER.indexOf(targetState);
59
59
  }
60
+ /**
61
+ * Whether entering a state takes a teammate assignment for the item.
62
+ */
63
+ export function getStateAssignmentRequirement(state) {
64
+ return WORKFLOW_ASSIGNMENT_ON_ENTRY[state] ?? 'none';
65
+ }
66
+ /**
67
+ * Whether moving from `from` to `to` takes a teammate assignment: the strongest requirement among the
68
+ * states entered on the way. Moving back or staying takes none.
69
+ */
70
+ export function getAssignmentRequirement(from, to) {
71
+ if (from !== null && isStateAtOrAfter(from, to)) {
72
+ return 'none';
73
+ }
74
+ const requirements = getWorkflowStatesBetween(from, to).map(getStateAssignmentRequirement);
75
+ if (requirements.includes('required')) {
76
+ return 'required';
77
+ }
78
+ return requirements.includes('optional') ? 'optional' : 'none';
79
+ }
60
80
  //# sourceMappingURL=workflow-states.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-states.js","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,6BAA6B,EAE9B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAGhH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA6B,eAAe,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAA8B;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,oBAAoB,CAAC,QAAQ,CAAC,OAAwB,CAAC,EAAE,CAAC;QAC5D,OAAO,OAAwB,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IAC/F,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,OAAO,6BAA6B,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAA0B,EAAE,EAAiB;IACpF,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,IAAI,QAAQ,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO,oBAAoB,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,WAA0B;IAC/E,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"workflow-states.js","sourceRoot":"","sources":["../../../src/workflow/data/workflow-states.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ClaudeSessionSettings } from '../../lib/claude-options.js';
2
+ import type { WorkflowContext } from '../data/workflow-context.js';
3
+ import type { WorkflowState } from '../data/workflow-states.js';
4
+ /**
5
+ * Start a Claude session for the project item whose branch is checked out at `workingPath`, in
6
+ * workflow state `state`, then print the directory and next-step hints.
7
+ */
8
+ export declare function startAgentSession(projectItemUrl: string, context: WorkflowContext, state: WorkflowState, workingPath: string, session: ClaudeSessionSettings): Promise<void>;
9
+ /**
10
+ * The entry points a session in `state` can start from, as choices: each by name, then none.
11
+ */
12
+ export declare function entryPointChoices(state: WorkflowState): Promise<Array<{
13
+ label: string;
14
+ value: string;
15
+ }>>;
16
+ //# sourceMappingURL=agent-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/agent-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,qBAAqB,EAA4B,MAAM,6BAA6B,CAAC;AAOnH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAehE;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAM9G"}
@@ -0,0 +1,109 @@
1
+ import { NO_ENTRY_POINT } from '../../lib/claude-options.js';
2
+ import { getEntryPointPrompts } from '../../lib/settings.js';
3
+ import { projectItemPromptModel, renderEntryPointPrompt } from '../../prompts/project-item-prompts.js';
4
+ import * as claude from '../../services/claude.js';
5
+ import * as git from '../../services/git.js';
6
+ import * as osLauncher from '../../services/os-launcher.js';
7
+ import { printWorkingDirectoryHints } from '../../services/worktree.js';
8
+ /**
9
+ * Starting a Claude session on a project item's branch: the one place the CLI starts a session that
10
+ * works on an item's code, whether the item just entered Agent Implementation or someone joins it
11
+ * in whatever state it is in. The session starts from one of the state's entry point prompts (the
12
+ * repository's, else the built-in ones), from a template given for the session, or from no prompt;
13
+ * a prompt is rendered against the item's branch context. The entry point mode says where the
14
+ * session runs: in this terminal, in Claude Desktop, as a prompt handed to the Claude session that
15
+ * ran the CLI, or nowhere.
16
+ */
17
+ /** Per-session Claude settings that make a terminal session visible in Claude Desktop. */
18
+ const DESKTOP_REMOTE_CONTROL_SETTINGS = JSON.stringify({ remoteControlAtStartup: true });
19
+ /**
20
+ * Start a Claude session for the project item whose branch is checked out at `workingPath`, in
21
+ * workflow state `state`, then print the directory and next-step hints.
22
+ */
23
+ export async function startAgentSession(projectItemUrl, context, state, workingPath, session) {
24
+ if (session.claudeEntryPointMode !== 'none') {
25
+ const template = await entryPointTemplate(state, session.entryPoint);
26
+ const prompt = template === null
27
+ ? null
28
+ : renderEntryPointPrompt(projectItemPromptModel(projectItemUrl, context, workingPath), template);
29
+ if (session.claudeEntryPointMode === 'inline') {
30
+ outputInlinePrompt(projectItemUrl, workingPath, prompt);
31
+ }
32
+ else if (session.claudeEntryPointMode === 'desktop') {
33
+ await startInDesktop(workingPath, prompt, session);
34
+ }
35
+ else {
36
+ await claude.runInteractive(prompt ?? undefined, {
37
+ cwd: workingPath,
38
+ permissionMode: session.permissionMode,
39
+ model: session.model,
40
+ effort: session.effort
41
+ });
42
+ }
43
+ }
44
+ printWorkingDirectoryHints(workingPath);
45
+ }
46
+ /**
47
+ * The entry points a session in `state` can start from, as choices: each by name, then none.
48
+ */
49
+ export async function entryPointChoices(state) {
50
+ const entryPoints = await getEntryPointPrompts(await git.getMainRepoRoot(), state);
51
+ return [
52
+ ...entryPoints.map(entryPoint => ({ label: entryPoint.name, value: entryPoint.name })),
53
+ { label: 'None - start Claude with no prompt', value: NO_ENTRY_POINT }
54
+ ];
55
+ }
56
+ /**
57
+ * The template a session starts from; null for no prompt. Settings are read from the main
58
+ * repository, where `settings.local.json` lives, so a developer's override applies in worktrees too.
59
+ */
60
+ async function entryPointTemplate(state, selection) {
61
+ if (selection.kind === 'none') {
62
+ return null;
63
+ }
64
+ if (selection.kind === 'template') {
65
+ return selection.template;
66
+ }
67
+ const entryPoints = await getEntryPointPrompts(await git.getMainRepoRoot(), state);
68
+ const entryPoint = entryPoints.find(candidate => candidate.name === selection.name);
69
+ if (!entryPoint) {
70
+ const names = entryPoints.map(candidate => `"${candidate.name}"`).join(', ');
71
+ throw new Error(`"${state}" has no entry point named "${selection.name}". Its entry points are ${names}, or ${NO_ENTRY_POINT}.`);
72
+ }
73
+ return entryPoint.template;
74
+ }
75
+ /**
76
+ * Start the session in Claude Desktop. Desktop has no per-session model or effort: with neither
77
+ * chosen, Desktop opens a new local session on the working directory with the prompt; with either
78
+ * chosen, Desktop is brought up and the session runs in this terminal with that model and effort,
79
+ * set to show in Desktop.
80
+ */
81
+ async function startInDesktop(workingPath, prompt, session) {
82
+ if (session.model === null && session.effort === null) {
83
+ const query = prompt === null ? '' : `&q=${encodeURIComponent(prompt)}`;
84
+ await osLauncher.openUrl(`claude://code/new?folder=${encodeURIComponent(workingPath)}${query}`);
85
+ return;
86
+ }
87
+ await osLauncher.openUrl('claude://');
88
+ await claude.runInteractive(prompt ?? undefined, {
89
+ cwd: workingPath,
90
+ model: session.model,
91
+ effort: session.effort,
92
+ settings: DESKTOP_REMOTE_CONTROL_SETTINGS
93
+ });
94
+ }
95
+ /**
96
+ * Output the entry point prompt as structured output for an already-running Claude session.
97
+ */
98
+ function outputInlinePrompt(projectItemUrl, workingPath, prompt) {
99
+ const output = {
100
+ type: 'idea1-cli-prompt',
101
+ projectItemUrl,
102
+ worktreePath: workingPath,
103
+ prompt,
104
+ instructions: 'Work on the project item in the worktree at the specified path, starting from the prompt above when there is one.'
105
+ };
106
+ // Output as JSON for Claude to parse from the tool result
107
+ console.log(JSON.stringify(output, null, 2));
108
+ }
109
+ //# sourceMappingURL=agent-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../../src/workflow/engine/agent-session.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,33 @@
1
1
  import type { CommandOption, PrInfo } from '../../types/index.js';
2
+ import type { TeamMember } from '../data/team-member.js';
2
3
  /**
3
4
  * Stage 1 of change management as it applies to a branch and its PR
4
5
  * (change-management-policy.md clause 2): the PR gets its assignee - the approver of record -
5
- * and the assignee approves by merging it once the required CI/CD checks pass. Used by the
6
- * workflow handlers for a project item's branch and by `ready-for-approval` / `approve-pr` for a
7
- * branch with no project item (an integration branch, for instance). Nothing here reads or writes
8
- * the item's workflow context on idea1.ai; that stays with the workflow engine.
6
+ * and the assignee approves by merging it once the required CI/CD checks pass. The approver is a
7
+ * teammate, named by email: the team member a project item is assigned to, whose linked GitHub
8
+ * account is the PR's assignee. Used by the workflow handlers for a project item's branch and by
9
+ * `ready-for-approval` / `approve-pr` for a branch with no project item (an integration branch,
10
+ * for instance). Nothing here reads or writes the item's workflow context on idea1.ai; that stays
11
+ * with the workflow engine.
9
12
  */
13
+ /**
14
+ * The teammate a project item is assigned to by a transition that takes an assignment, named by
15
+ * their email address or their linked GitHub login. Never asked by the option resolver: the engine asks for it when the transition
16
+ * enters a state that takes one, offering "none" where the assignment is optional and defaulting to
17
+ * the item's current assignee. On the way into Needs Approval for Release the teammate is also the
18
+ * pull request's assignee, through their linked GitHub account.
19
+ */
20
+ export declare const assigneeOption: CommandOption;
21
+ /**
22
+ * The GitHub login of the teammate who approves a change, for assigning the pull request: their
23
+ * linked GitHub account, which an approver needs.
24
+ */
25
+ export declare function approverGitHubLogin(approver: TeamMember): string;
10
26
  export interface ReadyForApprovalInput {
11
27
  branchName: string;
12
28
  /** The branch the PR targets. */
13
29
  baseBranch: string;
14
- /** The approver of record. A PR with no assignee has no approver (clause 2). */
30
+ /** The approver of record, as a GitHub login. A PR with no assignee has no approver (clause 2). */
15
31
  assignee: string;
16
32
  /** The raw `--reviewers` value: comma separated, possibly empty. */
17
33
  reviewers: string;
@@ -1 +1 @@
1
- {"version":3,"file":"approval-flow.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/approval-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAQlE;;;;;;;GAOG;AAEH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC5F;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAKrC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAWD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF"}
1
+ {"version":3,"file":"approval-flow.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/approval-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,aAM5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAKhE;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC5F;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAKrC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAWD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF"}