@proletariat/cli 0.3.96 → 0.3.98

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 (206) hide show
  1. package/dist/commands/gc.d.ts +1 -0
  2. package/dist/commands/gc.js +31 -1
  3. package/dist/commands/gc.js.map +1 -1
  4. package/dist/commands/linear/connect.d.ts +5 -0
  5. package/dist/commands/linear/connect.js +84 -0
  6. package/dist/commands/linear/connect.js.map +1 -1
  7. package/dist/commands/orchestrate/index.js +18 -10
  8. package/dist/commands/orchestrate/index.js.map +1 -1
  9. package/dist/commands/qa/index.js +1 -1
  10. package/dist/commands/session/watch.d.ts +1 -0
  11. package/dist/commands/session/watch.js +46 -2
  12. package/dist/commands/session/watch.js.map +1 -1
  13. package/dist/commands/watch/index.d.ts +28 -0
  14. package/dist/commands/watch/index.js +172 -0
  15. package/dist/commands/watch/index.js.map +1 -0
  16. package/dist/commands/work/complete.d.ts +1 -0
  17. package/dist/commands/work/complete.js +38 -31
  18. package/dist/commands/work/complete.js.map +1 -1
  19. package/dist/commands/{ticket/index.d.ts → work/drop.d.ts} +5 -4
  20. package/dist/commands/work/drop.js +215 -0
  21. package/dist/commands/work/drop.js.map +1 -0
  22. package/dist/commands/work/linear.js +1 -1
  23. package/dist/commands/work/linear.js.map +1 -1
  24. package/dist/commands/work/ready.d.ts +1 -0
  25. package/dist/commands/work/ready.js +46 -30
  26. package/dist/commands/work/ready.js.map +1 -1
  27. package/dist/commands/work/ship.d.ts +1 -0
  28. package/dist/commands/work/ship.js +56 -40
  29. package/dist/commands/work/ship.js.map +1 -1
  30. package/dist/commands/work/start.d.ts +2 -0
  31. package/dist/commands/work/start.js +238 -83
  32. package/dist/commands/work/start.js.map +1 -1
  33. package/dist/commands/work/stop.d.ts +1 -0
  34. package/dist/commands/work/stop.js +40 -0
  35. package/dist/commands/work/stop.js.map +1 -1
  36. package/dist/lib/agents/commands.js +7 -5
  37. package/dist/lib/agents/commands.js.map +1 -1
  38. package/dist/lib/asana/client.d.ts +4 -1
  39. package/dist/lib/asana/client.js +15 -0
  40. package/dist/lib/asana/client.js.map +1 -1
  41. package/dist/lib/asana/index.d.ts +1 -1
  42. package/dist/lib/asana/types.d.ts +4 -0
  43. package/dist/lib/database/credential-store.js +1 -0
  44. package/dist/lib/database/credential-store.js.map +1 -1
  45. package/dist/lib/database/drizzle-schema.d.ts +17 -0
  46. package/dist/lib/database/drizzle-schema.js +1 -0
  47. package/dist/lib/database/drizzle-schema.js.map +1 -1
  48. package/dist/lib/database/migrations/0019_gc_artifact_cleanup.d.ts +9 -0
  49. package/dist/lib/database/migrations/0019_gc_artifact_cleanup.js +23 -0
  50. package/dist/lib/database/migrations/0019_gc_artifact_cleanup.js.map +1 -0
  51. package/dist/lib/database/migrations/0020_transition_map.d.ts +2 -0
  52. package/dist/lib/database/migrations/0020_transition_map.js +27 -0
  53. package/dist/lib/database/migrations/0020_transition_map.js.map +1 -0
  54. package/dist/lib/database/migrations/index.js +4 -0
  55. package/dist/lib/database/migrations/index.js.map +1 -1
  56. package/dist/lib/execution/config.d.ts +10 -0
  57. package/dist/lib/execution/config.js +24 -0
  58. package/dist/lib/execution/config.js.map +1 -1
  59. package/dist/lib/execution/preflight.d.ts +51 -0
  60. package/dist/lib/execution/preflight.js +278 -0
  61. package/dist/lib/execution/preflight.js.map +1 -0
  62. package/dist/lib/execution/runners/prompt-builder.d.ts +6 -0
  63. package/dist/lib/execution/runners/prompt-builder.js +38 -7
  64. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  65. package/dist/lib/execution/session-utils.d.ts +23 -0
  66. package/dist/lib/execution/session-utils.js +69 -0
  67. package/dist/lib/execution/session-utils.js.map +1 -1
  68. package/dist/lib/execution/spawner.d.ts +11 -1
  69. package/dist/lib/execution/spawner.js +44 -16
  70. package/dist/lib/execution/spawner.js.map +1 -1
  71. package/dist/lib/execution/storage.d.ts +6 -0
  72. package/dist/lib/execution/storage.js +18 -0
  73. package/dist/lib/execution/storage.js.map +1 -1
  74. package/dist/lib/execution/ticket-refs.d.ts +71 -0
  75. package/dist/lib/execution/ticket-refs.js +125 -0
  76. package/dist/lib/execution/ticket-refs.js.map +1 -0
  77. package/dist/lib/execution/types.d.ts +7 -2
  78. package/dist/lib/execution/types.js +5 -3
  79. package/dist/lib/execution/types.js.map +1 -1
  80. package/dist/lib/external-issues/index.d.ts +1 -0
  81. package/dist/lib/external-issues/index.js +2 -0
  82. package/dist/lib/external-issues/index.js.map +1 -1
  83. package/dist/lib/external-issues/linear.js +1 -1
  84. package/dist/lib/external-issues/linear.js.map +1 -1
  85. package/dist/lib/external-issues/ticket-builder.d.ts +21 -0
  86. package/dist/lib/external-issues/ticket-builder.js +43 -0
  87. package/dist/lib/external-issues/ticket-builder.js.map +1 -0
  88. package/dist/lib/external-issues/work-start.js +1 -1
  89. package/dist/lib/external-issues/work-start.js.map +1 -1
  90. package/dist/lib/gc/index.d.ts +67 -6
  91. package/dist/lib/gc/index.js +293 -15
  92. package/dist/lib/gc/index.js.map +1 -1
  93. package/dist/lib/github/client.d.ts +84 -0
  94. package/dist/lib/github/client.js +123 -0
  95. package/dist/lib/github/client.js.map +1 -0
  96. package/dist/lib/github/config.d.ts +42 -0
  97. package/dist/lib/github/config.js +115 -0
  98. package/dist/lib/github/config.js.map +1 -0
  99. package/dist/lib/github/types.d.ts +71 -0
  100. package/dist/lib/github/types.js +50 -0
  101. package/dist/lib/github/types.js.map +1 -0
  102. package/dist/lib/jira/client.d.ts +113 -0
  103. package/dist/lib/jira/client.js +208 -0
  104. package/dist/lib/jira/client.js.map +1 -0
  105. package/dist/lib/jira/config.d.ts +9 -0
  106. package/dist/lib/jira/config.js +30 -0
  107. package/dist/lib/jira/config.js.map +1 -1
  108. package/dist/lib/jira/index.d.ts +6 -2
  109. package/dist/lib/jira/index.js +4 -2
  110. package/dist/lib/jira/index.js.map +1 -1
  111. package/dist/lib/jira/types.d.ts +118 -0
  112. package/dist/lib/jira/types.js +45 -0
  113. package/dist/lib/jira/types.js.map +1 -0
  114. package/dist/lib/linear/config.d.ts +10 -0
  115. package/dist/lib/linear/config.js +33 -0
  116. package/dist/lib/linear/config.js.map +1 -1
  117. package/dist/lib/mcp/tools/index.d.ts +0 -2
  118. package/dist/lib/mcp/tools/index.js +0 -2
  119. package/dist/lib/mcp/tools/index.js.map +1 -1
  120. package/dist/lib/orchestrate/index.d.ts +2 -0
  121. package/dist/lib/orchestrate/index.js +1 -0
  122. package/dist/lib/orchestrate/index.js.map +1 -1
  123. package/dist/lib/orchestrate/simple-poller.d.ts +57 -0
  124. package/dist/lib/orchestrate/simple-poller.js +324 -0
  125. package/dist/lib/orchestrate/simple-poller.js.map +1 -0
  126. package/dist/lib/pmo/storage/index.js +16 -5
  127. package/dist/lib/pmo/storage/index.js.map +1 -1
  128. package/dist/lib/prompt-json.d.ts +31 -0
  129. package/dist/lib/prompt-json.js.map +1 -1
  130. package/dist/lib/providers/asana-provider.d.ts +27 -0
  131. package/dist/lib/providers/asana-provider.js +426 -0
  132. package/dist/lib/providers/asana-provider.js.map +1 -0
  133. package/dist/lib/providers/auto-mapper.d.ts +45 -0
  134. package/dist/lib/providers/auto-mapper.js +138 -0
  135. package/dist/lib/providers/auto-mapper.js.map +1 -0
  136. package/dist/lib/providers/github-provider.d.ts +34 -0
  137. package/dist/lib/providers/github-provider.js +418 -0
  138. package/dist/lib/providers/github-provider.js.map +1 -0
  139. package/dist/lib/providers/index.d.ts +3 -0
  140. package/dist/lib/providers/index.js +3 -0
  141. package/dist/lib/providers/index.js.map +1 -1
  142. package/dist/lib/providers/jira-provider.d.ts +31 -0
  143. package/dist/lib/providers/jira-provider.js +383 -0
  144. package/dist/lib/providers/jira-provider.js.map +1 -0
  145. package/dist/lib/providers/linear-provider.js +6 -7
  146. package/dist/lib/providers/linear-provider.js.map +1 -1
  147. package/dist/lib/providers/resolver.js +54 -0
  148. package/dist/lib/providers/resolver.js.map +1 -1
  149. package/dist/lib/providers/state-intents.d.ts +20 -0
  150. package/dist/lib/providers/state-intents.js +61 -7
  151. package/dist/lib/providers/state-intents.js.map +1 -1
  152. package/dist/lib/providers/state-resolution.d.ts +15 -11
  153. package/dist/lib/providers/state-resolution.js +54 -48
  154. package/dist/lib/providers/state-resolution.js.map +1 -1
  155. package/dist/lib/providers/transition-map.d.ts +59 -0
  156. package/dist/lib/providers/transition-map.js +113 -0
  157. package/dist/lib/providers/transition-map.js.map +1 -0
  158. package/dist/lib/providers/types.d.ts +1 -1
  159. package/dist/lib/session/index.d.ts +3 -1
  160. package/dist/lib/session/index.js +3 -1
  161. package/dist/lib/session/index.js.map +1 -1
  162. package/dist/lib/session/tmux-watchdog.d.ts +157 -0
  163. package/dist/lib/session/tmux-watchdog.js +424 -0
  164. package/dist/lib/session/tmux-watchdog.js.map +1 -0
  165. package/dist/lib/session/watcher.d.ts +22 -4
  166. package/dist/lib/session/watcher.js +66 -8
  167. package/dist/lib/session/watcher.js.map +1 -1
  168. package/dist/lib/work-lifecycle/post-execution.js +26 -1
  169. package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
  170. package/dist/lib/work-lifecycle/transition.d.ts +73 -0
  171. package/dist/lib/work-lifecycle/transition.js +138 -0
  172. package/dist/lib/work-lifecycle/transition.js.map +1 -0
  173. package/dist/lib/work-source/config.d.ts +1 -1
  174. package/dist/lib/work-source/config.js +11 -1
  175. package/dist/lib/work-source/config.js.map +1 -1
  176. package/oclif.manifest.json +936 -1628
  177. package/package.json +1 -1
  178. package/dist/commands/ticket/create.d.ts +0 -44
  179. package/dist/commands/ticket/create.js +0 -760
  180. package/dist/commands/ticket/create.js.map +0 -1
  181. package/dist/commands/ticket/delete.d.ts +0 -17
  182. package/dist/commands/ticket/delete.js +0 -204
  183. package/dist/commands/ticket/delete.js.map +0 -1
  184. package/dist/commands/ticket/edit.d.ts +0 -28
  185. package/dist/commands/ticket/edit.js +0 -402
  186. package/dist/commands/ticket/edit.js.map +0 -1
  187. package/dist/commands/ticket/index.js +0 -74
  188. package/dist/commands/ticket/index.js.map +0 -1
  189. package/dist/commands/ticket/list.d.ts +0 -33
  190. package/dist/commands/ticket/list.js +0 -519
  191. package/dist/commands/ticket/list.js.map +0 -1
  192. package/dist/commands/ticket/move.d.ts +0 -27
  193. package/dist/commands/ticket/move.js +0 -413
  194. package/dist/commands/ticket/move.js.map +0 -1
  195. package/dist/commands/ticket/show.d.ts +0 -14
  196. package/dist/commands/ticket/show.js +0 -110
  197. package/dist/commands/ticket/show.js.map +0 -1
  198. package/dist/commands/ticket/update.d.ts +0 -28
  199. package/dist/commands/ticket/update.js +0 -458
  200. package/dist/commands/ticket/update.js.map +0 -1
  201. package/dist/lib/mcp/tools/action.d.ts +0 -6
  202. package/dist/lib/mcp/tools/action.js +0 -123
  203. package/dist/lib/mcp/tools/action.js.map +0 -1
  204. package/dist/lib/mcp/tools/ticket.d.ts +0 -6
  205. package/dist/lib/mcp/tools/ticket.js +0 -464
  206. package/dist/lib/mcp/tools/ticket.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ /**
2
+ * TicketRefStore
3
+ *
4
+ * Lightweight runtime ticket cache backed by the ticket_refs table.
5
+ * Part of PMO removal: replaces the dependency on pmo_tickets for
6
+ * agent_work and other runtime operations, storing just enough
7
+ * ticket metadata for display and lookup.
8
+ */
9
+ import type Database from 'better-sqlite3';
10
+ import { type DatabaseDriver } from '../database/driver.js';
11
+ export interface TicketRef {
12
+ id: string;
13
+ provider: string;
14
+ externalId: string | null;
15
+ externalKey: string | null;
16
+ externalUrl: string | null;
17
+ title: string;
18
+ description: string | null;
19
+ status: string | null;
20
+ priority: string | null;
21
+ category: string | null;
22
+ assignee: string | null;
23
+ projectId: string | null;
24
+ cachedAt: Date;
25
+ updatedAt: Date;
26
+ }
27
+ export interface UpsertTicketRefInput {
28
+ id: string;
29
+ provider?: string;
30
+ externalId?: string | null;
31
+ externalKey?: string | null;
32
+ externalUrl?: string | null;
33
+ title: string;
34
+ description?: string | null;
35
+ status?: string | null;
36
+ priority?: string | null;
37
+ category?: string | null;
38
+ assignee?: string | null;
39
+ projectId?: string | null;
40
+ }
41
+ export declare class TicketRefStore {
42
+ private driver;
43
+ constructor(dbOrDriver: DatabaseDriver | Database.Database);
44
+ /**
45
+ * Get a ticket ref by its primary ID (e.g. PRLT-1065, TKT-123).
46
+ */
47
+ get(id: string): TicketRef | null;
48
+ /**
49
+ * Get a ticket ref by provider and external ID.
50
+ */
51
+ getByExternalId(provider: string, externalId: string): TicketRef | null;
52
+ /**
53
+ * Get a ticket ref by provider and external key (e.g. PRLT-1065).
54
+ */
55
+ getByExternalKey(provider: string, externalKey: string): TicketRef | null;
56
+ /**
57
+ * Upsert a ticket ref. Inserts or updates on conflict (by primary key).
58
+ */
59
+ upsert(input: UpsertTicketRefInput): TicketRef;
60
+ /**
61
+ * List all ticket refs, optionally filtered by provider.
62
+ */
63
+ list(filter?: {
64
+ provider?: string;
65
+ projectId?: string;
66
+ }): TicketRef[];
67
+ /**
68
+ * Delete a ticket ref by ID.
69
+ */
70
+ delete(id: string): void;
71
+ }
@@ -0,0 +1,125 @@
1
+ /**
2
+ * TicketRefStore
3
+ *
4
+ * Lightweight runtime ticket cache backed by the ticket_refs table.
5
+ * Part of PMO removal: replaces the dependency on pmo_tickets for
6
+ * agent_work and other runtime operations, storing just enough
7
+ * ticket metadata for display and lookup.
8
+ */
9
+ import { PMO_TABLES } from '../pmo/schema.js';
10
+ import { wrapDatabase } from '../database/driver.js';
11
+ const T = PMO_TABLES;
12
+ function rowToTicketRef(row) {
13
+ return {
14
+ id: row.id,
15
+ provider: row.provider,
16
+ externalId: row.external_id,
17
+ externalKey: row.external_key,
18
+ externalUrl: row.external_url,
19
+ title: row.title,
20
+ description: row.description,
21
+ status: row.status,
22
+ priority: row.priority,
23
+ category: row.category,
24
+ assignee: row.assignee,
25
+ projectId: row.project_id,
26
+ cachedAt: new Date(row.cached_at),
27
+ updatedAt: new Date(row.updated_at),
28
+ };
29
+ }
30
+ // =============================================================================
31
+ // Driver Conversion
32
+ // =============================================================================
33
+ function toDriver(dbOrDriver) {
34
+ if ('prepare' in dbOrDriver && 'pragma' in dbOrDriver && !('raw' in dbOrDriver)) {
35
+ return wrapDatabase(dbOrDriver);
36
+ }
37
+ return dbOrDriver;
38
+ }
39
+ // =============================================================================
40
+ // TicketRefStore
41
+ // =============================================================================
42
+ export class TicketRefStore {
43
+ driver;
44
+ constructor(dbOrDriver) {
45
+ this.driver = toDriver(dbOrDriver);
46
+ }
47
+ /**
48
+ * Get a ticket ref by its primary ID (e.g. PRLT-1065, TKT-123).
49
+ */
50
+ get(id) {
51
+ const row = this.driver
52
+ .prepare(`SELECT * FROM ${T.ticket_refs} WHERE id = ?`)
53
+ .get(id);
54
+ return row ? rowToTicketRef(row) : null;
55
+ }
56
+ /**
57
+ * Get a ticket ref by provider and external ID.
58
+ */
59
+ getByExternalId(provider, externalId) {
60
+ const row = this.driver
61
+ .prepare(`SELECT * FROM ${T.ticket_refs} WHERE provider = ? AND external_id = ?`)
62
+ .get(provider, externalId);
63
+ return row ? rowToTicketRef(row) : null;
64
+ }
65
+ /**
66
+ * Get a ticket ref by provider and external key (e.g. PRLT-1065).
67
+ */
68
+ getByExternalKey(provider, externalKey) {
69
+ const row = this.driver
70
+ .prepare(`SELECT * FROM ${T.ticket_refs} WHERE provider = ? AND external_key = ?`)
71
+ .get(provider, externalKey);
72
+ return row ? rowToTicketRef(row) : null;
73
+ }
74
+ /**
75
+ * Upsert a ticket ref. Inserts or updates on conflict (by primary key).
76
+ */
77
+ upsert(input) {
78
+ this.driver.prepare(`
79
+ INSERT INTO ${T.ticket_refs} (
80
+ id, provider, external_id, external_key, external_url,
81
+ title, description, status, priority, category, assignee, project_id,
82
+ cached_at, updated_at
83
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
84
+ ON CONFLICT(id) DO UPDATE SET
85
+ provider = COALESCE(excluded.provider, ${T.ticket_refs}.provider),
86
+ external_id = COALESCE(excluded.external_id, ${T.ticket_refs}.external_id),
87
+ external_key = COALESCE(excluded.external_key, ${T.ticket_refs}.external_key),
88
+ external_url = COALESCE(excluded.external_url, ${T.ticket_refs}.external_url),
89
+ title = excluded.title,
90
+ description = COALESCE(excluded.description, ${T.ticket_refs}.description),
91
+ status = COALESCE(excluded.status, ${T.ticket_refs}.status),
92
+ priority = COALESCE(excluded.priority, ${T.ticket_refs}.priority),
93
+ category = COALESCE(excluded.category, ${T.ticket_refs}.category),
94
+ assignee = COALESCE(excluded.assignee, ${T.ticket_refs}.assignee),
95
+ project_id = COALESCE(excluded.project_id, ${T.ticket_refs}.project_id),
96
+ updated_at = CURRENT_TIMESTAMP
97
+ `).run(input.id, input.provider ?? 'pmo', input.externalId ?? null, input.externalKey ?? null, input.externalUrl ?? null, input.title, input.description ?? null, input.status ?? null, input.priority ?? null, input.category ?? null, input.assignee ?? null, input.projectId ?? null);
98
+ return this.get(input.id);
99
+ }
100
+ /**
101
+ * List all ticket refs, optionally filtered by provider.
102
+ */
103
+ list(filter) {
104
+ let query = `SELECT * FROM ${T.ticket_refs} WHERE 1=1`;
105
+ const params = [];
106
+ if (filter?.provider) {
107
+ query += ` AND provider = ?`;
108
+ params.push(filter.provider);
109
+ }
110
+ if (filter?.projectId) {
111
+ query += ` AND project_id = ?`;
112
+ params.push(filter.projectId);
113
+ }
114
+ query += ` ORDER BY updated_at DESC`;
115
+ const rows = this.driver.prepare(query).all(...params);
116
+ return rows.map(rowToTicketRef);
117
+ }
118
+ /**
119
+ * Delete a ticket ref by ID.
120
+ */
121
+ delete(id) {
122
+ this.driver.prepare(`DELETE FROM ${T.ticket_refs} WHERE id = ?`).run(id);
123
+ }
124
+ }
125
+ //# sourceMappingURL=ticket-refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-refs.js","sourceRoot":"","sources":["../../../src/lib/execution/ticket-refs.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,7 @@ export interface WorkspaceManifest {
114
114
  }
115
115
  export interface ExecutionContext {
116
116
  ticketId: string;
117
+ /** @deprecated PRLT-1166: ticketId now stores the external provider key (e.g. PRLT-1065) directly. This field is kept for backwards compatibility but should not be used for new code. */
117
118
  externalTicketId?: string;
118
119
  ticketTitle: string;
119
120
  ticketDescription?: string;
@@ -133,6 +134,7 @@ export interface ExecutionContext {
133
134
  repoWorktrees?: string[];
134
135
  workspaceRepos?: WorkspaceRepo[];
135
136
  createPR?: boolean;
137
+ verifyCi?: boolean;
136
138
  reviewGate?: 'required' | 'auto' | 'post';
137
139
  actionId?: string;
138
140
  actionName?: string;
@@ -185,6 +187,7 @@ export interface ExecutionConfig {
185
187
  permissionMode: PermissionMode;
186
188
  authMethod?: AuthMethod;
187
189
  createPrDefault?: boolean;
190
+ verifyCiDefault?: boolean;
188
191
  tmux: {
189
192
  session: string;
190
193
  layout: 'split' | 'window';
@@ -232,8 +235,10 @@ export interface ExecutionConfig {
232
235
  }
233
236
  /**
234
237
  * Extract ticket ID from a tmux session name.
235
- * Session names like: prlt-TKT-347-implement or TKT-347-implement
236
- * Returns the ticket ID (e.g., "TKT-347") or undefined if not found.
238
+ * Session names like: prlt-TKT-347-implement, TKT-347-implement, or PRLT-1065-implement
239
+ * Returns the ticket ID (e.g., "TKT-347" or "PRLT-1065") or undefined if not found.
240
+ *
241
+ * Supports both internal PMO IDs (TKT-xxx) and external provider IDs (PRLT-xxx, PROJ-xxx, etc.).
237
242
  */
238
243
  export declare function extractTicketFromSession(sessionName: string | null | undefined): string | undefined;
239
244
  export declare const DEFAULT_EXECUTION_CONFIG: ExecutionConfig;
@@ -127,14 +127,16 @@ export function generateBranchName(ticketId, ticketTitle, category) {
127
127
  }
128
128
  /**
129
129
  * Extract ticket ID from a tmux session name.
130
- * Session names like: prlt-TKT-347-implement or TKT-347-implement
131
- * Returns the ticket ID (e.g., "TKT-347") or undefined if not found.
130
+ * Session names like: prlt-TKT-347-implement, TKT-347-implement, or PRLT-1065-implement
131
+ * Returns the ticket ID (e.g., "TKT-347" or "PRLT-1065") or undefined if not found.
132
+ *
133
+ * Supports both internal PMO IDs (TKT-xxx) and external provider IDs (PRLT-xxx, PROJ-xxx, etc.).
132
134
  */
133
135
  export function extractTicketFromSession(sessionName) {
134
136
  if (!sessionName)
135
137
  return undefined;
136
138
  const name = sessionName.replace(/^prlt-/, '');
137
- const match = name.match(/^(TKT-\d+)/);
139
+ const match = name.match(/^([A-Z]+-\d+)/);
138
140
  return match ? match[1] : undefined;
139
141
  }
140
142
  export const DEFAULT_EXECUTION_CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/execution/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAyB;IAC5D,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IAChC,OAAO,GAAG,CAAA;AACZ,CAAC;AAiND,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,8EAA8E;IAC9E,wCAAwC;IACxC,8EAA8E;IAE9E,oCAAoC;IACpC,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IAEb,kBAAkB;IAClB,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IAEf,uBAAuB;IACvB,MAAM,EAAE,MAAM;IACd,eAAe,EAAE,MAAM;IAEvB,iBAAiB;IACjB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;IAEjB,4BAA4B;IAC5B,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,OAAO;IAEtB,kCAAkC;IAClC,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE,MAAM;IAEd,sBAAsB;IACtB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;IAEhB,6EAA6E;IAC7E,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO;IAEvB,8BAA8B;IAC9B,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,MAAM;IAEd,8EAA8E;IAC9E,sCAAsC;IACtC,8EAA8E;IAE9E,uBAAuB;IACvB,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IAEZ,wBAAwB;IACxB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IAEV,iBAAiB;IACjB,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IAEZ,8EAA8E;IAC9E,gDAAgD;IAChD,8EAA8E;IAE9E,iCAAiC;IACjC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;IAEhB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,MAAM;IAEd,mCAAmC;IACnC,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IAEV,gCAAgC;IAChC,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,OAAO;IAEhB,mBAAmB;IACnB,KAAK,EAAE,KAAK;IACZ,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAiB;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IAChD,OAAO,uBAAuB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAA;AACtD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,WAAmB,EACnB,QAAiB;IAEjB,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,WAAW;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;SAChB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErB,OAAO,GAAG,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE,CAAA;AACtC,CAAC;AAmED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAsC;IAC7E,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAA;IAClC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,aAAa;IAC9B,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,KAAK,EAAG,gBAAgB;IAC/B,UAAU,EAAE,aAAa,EAAG,+BAA+B;IAC3D,cAAc,EAAE,MAAM,EAAG,uDAAuD;IAChF,IAAI,EAAE;QACJ,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,IAAI,EAAG,kDAAkD;QACtE,UAAU,EAAE,KAAK,EAAG,yDAAyD;KAC9E;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,gBAAgB,EAAE,IAAI,EAAG,0CAA0C;KACpE;IACD,YAAY,EAAE;QACZ,YAAY,EAAE,6CAA6C;QAC3D,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,IAAI;KAChB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,MAAM;KAChB;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,EAAE;KACrB;IACD,OAAO,EAAE;QACP,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE;YACd,YAAY;YACZ,mBAAmB;YACnB,oBAAoB;YACpB,sBAAsB;SACvB;QACD,cAAc,EAAE,IAAI;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;KAClB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;KAClB;CACF,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/execution/types.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,5 @@ export { normalizeLinearIssue, normalizeLinearIssueToEnvelope, buildLinearTicket
14
14
  export { normalizeAsanaTask, normalizeAsanaTaskToEnvelope, buildAsanaTicketDescription, buildAsanaMetadata, buildAsanaSpawnContextMessage, buildAsanaTaskChoiceCommand, getAsanaTaskByGid, listAsanaTasks, importAsanaTaskToPmo, type AsanaAdapterConfig, } from './asana.js';
15
15
  export { normalizeShortcutStory, normalizeShortcutStoryToEnvelope, buildShortcutTicketDescription, buildShortcutMetadata, buildShortcutSpawnContextMessage, buildShortcutStoryChoiceCommand, getShortcutStoryByKey, listShortcutStories, importShortcutStoryToPmo, type ShortcutAdapterConfig, } from './shortcut.js';
16
16
  export { resolveMirrorToPmo, type MirrorResolution, type MirrorResolutionInput, } from './work-start.js';
17
+ export { buildTicketFromEnvelope } from './ticket-builder.js';
17
18
  export { OutboundSyncHandler, initOutboundSync, stopOutboundSync, type OutboundSyncResult, } from './outbound-sync.js';
@@ -23,6 +23,8 @@ export { normalizeAsanaTask, normalizeAsanaTaskToEnvelope, buildAsanaTicketDescr
23
23
  // Shortcut helpers
24
24
  export { normalizeShortcutStory, normalizeShortcutStoryToEnvelope, buildShortcutTicketDescription, buildShortcutMetadata, buildShortcutSpawnContextMessage, buildShortcutStoryChoiceCommand, getShortcutStoryByKey, listShortcutStories, importShortcutStoryToPmo, } from './shortcut.js';
25
25
  export { resolveMirrorToPmo, } from './work-start.js';
26
+ // Ticket builder (PRLT-1167: skip PMO mirror)
27
+ export { buildTicketFromEnvelope } from './ticket-builder.js';
26
28
  // Outbound sync
27
29
  export { OutboundSyncHandler, initOutboundSync, stopOutboundSync, } from './outbound-sync.js';
28
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/external-issues/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uBAAuB;AACvB,OAAO,EAeL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,YAAY,CAAA;AAEnB,aAAa;AACb,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB,SAAS;AACT,OAAO,EACL,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,WAAW;AACX,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AAEtB,gBAAgB;AAChB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAElE,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAElB,iBAAiB;AACjB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,aAAa,CAAA;AAEpB,gBAAgB;AAChB,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GAErB,MAAM,YAAY,CAAA;AAEnB,mBAAmB;AACnB,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,EAC/B,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,kBAAkB,GAGnB,MAAM,iBAAiB,CAAA;AAExB,gBAAgB;AAChB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/external-issues/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uBAAuB;AACvB,OAAO,EAeL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,YAAY,CAAA;AAEnB,aAAa;AACb,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB,SAAS;AACT,OAAO,EACL,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAEpB,WAAW;AACX,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AAEtB,gBAAgB;AAChB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAElE,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAElB,iBAAiB;AACjB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,aAAa,CAAA;AAEpB,gBAAgB;AAChB,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GAErB,MAAM,YAAY,CAAA;AAEnB,mBAAmB;AACnB,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,EAC/B,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,kBAAkB,GAGnB,MAAM,iBAAiB,CAAA;AAExB,8CAA8C;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,gBAAgB;AAChB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,oBAAoB,CAAA"}
@@ -94,7 +94,7 @@ function ensureLinearConfig(config, options) {
94
94
  }
95
95
  const requireTeam = options?.requireTeam ?? true;
96
96
  if (requireTeam && !team) {
97
- throw new ExternalIssueAdapterError('MISSING_CONFIG', 'Missing Linear team key. Pass --team or set PRLT_LINEAR_TEAM.');
97
+ throw new ExternalIssueAdapterError('MISSING_CONFIG', 'Missing Linear team key. Run "prlt linear connect" to configure, pass --team, or set PRLT_LINEAR_TEAM.');
98
98
  }
99
99
  return { apiKey, team, apiUrl };
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/lib/external-issues/linear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/lib/external-issues/linear.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Ticket Builder
3
+ *
4
+ * Builds a Ticket object from a NormalizedIssueEnvelope, bypassing
5
+ * the PMO mirror. Part of PMO removal (PRLT-1167).
6
+ *
7
+ * When mirror-to-pmo is disabled (the new default), work start
8
+ * uses this to build an in-memory Ticket directly from the
9
+ * external issue envelope.
10
+ */
11
+ import type { Ticket } from '../pmo/types.js';
12
+ import type { NormalizedIssueEnvelope } from './types.js';
13
+ /**
14
+ * Build a Ticket from a NormalizedIssueEnvelope without creating
15
+ * a PMO mirror ticket.
16
+ *
17
+ * Uses the external key (e.g. PRLT-1167) as the ticket ID.
18
+ * The resulting Ticket is used for execution context, branch naming,
19
+ * and ticket_refs storage — but is NOT persisted to pmo_tickets.
20
+ */
21
+ export declare function buildTicketFromEnvelope(envelope: NormalizedIssueEnvelope, projectId: string): Ticket;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Ticket Builder
3
+ *
4
+ * Builds a Ticket object from a NormalizedIssueEnvelope, bypassing
5
+ * the PMO mirror. Part of PMO removal (PRLT-1167).
6
+ *
7
+ * When mirror-to-pmo is disabled (the new default), work start
8
+ * uses this to build an in-memory Ticket directly from the
9
+ * external issue envelope.
10
+ */
11
+ /**
12
+ * Build a Ticket from a NormalizedIssueEnvelope without creating
13
+ * a PMO mirror ticket.
14
+ *
15
+ * Uses the external key (e.g. PRLT-1167) as the ticket ID.
16
+ * The resulting Ticket is used for execution context, branch naming,
17
+ * and ticket_refs storage — but is NOT persisted to pmo_tickets.
18
+ */
19
+ export function buildTicketFromEnvelope(envelope, projectId) {
20
+ const metadata = {
21
+ external_source: envelope.source.name,
22
+ external_id: envelope.source.externalId,
23
+ external_key: envelope.source.externalKey,
24
+ external_url: envelope.source.url,
25
+ };
26
+ return {
27
+ id: envelope.source.externalKey,
28
+ title: envelope.title,
29
+ description: envelope.description,
30
+ priority: envelope.priority ?? undefined,
31
+ category: envelope.category ?? undefined,
32
+ projectId,
33
+ statusId: 'external',
34
+ statusName: envelope.status,
35
+ statusCategory: undefined,
36
+ subtasks: [],
37
+ labels: envelope.labels,
38
+ metadata,
39
+ createdAt: new Date(),
40
+ updatedAt: new Date(),
41
+ };
42
+ }
43
+ //# sourceMappingURL=ticket-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-builder.js","sourceRoot":"","sources":["../../../src/lib/external-issues/ticket-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAiC,EACjC,SAAiB;IAEjB,MAAM,QAAQ,GAA2B;QACvC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QACrC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;QACvC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACzC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG;KAClC,CAAA;IAED,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;QACxC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;QACxC,SAAS;QACT,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,QAAQ,CAAC,MAAM;QAC3B,cAAc,EAAE,SAAS;QACzB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ;QACR,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAA;AACH,CAAC"}
@@ -8,6 +8,6 @@ export function resolveMirrorToPmo(input) {
8
8
  if (input.configValue !== null && input.configValue !== undefined) {
9
9
  return { enabled: input.configValue, source: 'config' };
10
10
  }
11
- return { enabled: true, source: 'default' };
11
+ return { enabled: false, source: 'default' };
12
12
  }
13
13
  //# sourceMappingURL=work-start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"work-start.js","sourceRoot":"","sources":["../../../src/lib/external-issues/work-start.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,KAA4B;IAC7D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IACzD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"work-start.js","sourceRoot":"","sources":["../../../src/lib/external-issues/work-start.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,KAA4B;IAC7D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IACzD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9C,CAAC"}
@@ -2,7 +2,9 @@
2
2
  * Garbage Collection Module
3
3
  *
4
4
  * Core logic for cleaning up agent artifacts after PR merge/close.
5
- * Handles: worktree removal, container removal, branch pruning, stale PR closure.
5
+ * Handles: worktree removal, container removal, branch pruning (local + remote),
6
+ * tmux session cleanup, Claude session cleanup, DB record marking, agent name recycling,
7
+ * and stale PR closure.
6
8
  *
7
9
  * Used by both the `prlt gc` command and the daemon's post-merge phase.
8
10
  */
@@ -32,8 +34,20 @@ export interface GCResult {
32
34
  worktreesRemoved: string[];
33
35
  /** Containers removed */
34
36
  containersRemoved: string[];
35
- /** Branches pruned */
37
+ /** Local branches pruned */
36
38
  branchesPruned: string[];
39
+ /** Remote branches deleted */
40
+ remoteBranchesDeleted: string[];
41
+ /** tmux sessions killed */
42
+ tmuxSessionsCleaned: string[];
43
+ /** Claude sessions cleaned */
44
+ claudeSessionsCleaned: string[];
45
+ /** DB execution records marked as gc_cleaned */
46
+ dbRecordsMarked: number;
47
+ /** DB execution records purged (deleted) */
48
+ dbRecordsPurged: number;
49
+ /** Agent names marked as recyclable */
50
+ agentNamesRecycled: string[];
37
51
  /** Stale PRs closed */
38
52
  stalePRsClosed: number[];
39
53
  /** Errors encountered */
@@ -50,6 +64,8 @@ export interface GCOptions {
50
64
  filterStatus?: GCArtifactStatus[];
51
65
  /** Actually execute cleanup (default: false = dry run) */
52
66
  execute?: boolean;
67
+ /** Purge (DELETE) old DB execution records instead of just marking them */
68
+ purgeDb?: boolean;
53
69
  /** Log callback */
54
70
  log?: (msg: string) => void;
55
71
  }
@@ -71,6 +87,14 @@ export declare function extractAgentName(worktreePath: string, hqPath: string):
71
87
  * Determine the GC status for a worktree based on its PR state.
72
88
  */
73
89
  export declare function classifyArtifact(pr: PRInfo | null, staleDays: number): GCArtifactStatus;
90
+ /**
91
+ * Check if an agent is still alive — either its container is running
92
+ * or its DB status is 'active'/'running'.
93
+ *
94
+ * This prevents GC from killing agents that just spawned but haven't
95
+ * pushed a branch or created a PR yet.
96
+ */
97
+ export declare function isAgentAlive(agentName: string, hqPath: string, container: ContainerInfo | null): boolean;
74
98
  /**
75
99
  * Collect all GC candidates by scanning worktrees and checking PR status.
76
100
  *
@@ -78,15 +102,52 @@ export declare function classifyArtifact(pr: PRInfo | null, staleDays: number):
78
102
  * checks PR status for each branch, and classifies them.
79
103
  */
80
104
  export declare function collectGCCandidates(options: GCOptions): GCCandidate[];
105
+ /**
106
+ * Delete a remote git branch. Non-fatal if branch doesn't exist on remote.
107
+ */
108
+ export declare function deleteRemoteBranch(branch: string, cwd: string): boolean;
109
+ /**
110
+ * Kill tmux sessions inside a Docker container.
111
+ * Non-fatal if tmux is not running or container is not accessible.
112
+ */
113
+ export declare function killTmuxInContainer(containerId: string): boolean;
114
+ /**
115
+ * Clean up Claude session data from a Docker container's claude-credentials volume.
116
+ * Only removes session-specific files, preserving auth credentials.
117
+ *
118
+ * Session files to clean: projects/, .claude-*, statsig/
119
+ * Files to preserve: .credentials.json, credentials.json, .oauthtoken, settings.json
120
+ */
121
+ export declare function cleanClaudeSessionData(containerId: string): boolean;
122
+ /**
123
+ * Mark execution records as GC-cleaned for the given agent names.
124
+ * Sets gc_cleaned_at timestamp on agent_work rows that are completed/failed.
125
+ */
126
+ export declare function markExecutionRecordsCleaned(hqPath: string, agentNames: string[]): number;
127
+ /**
128
+ * Purge (DELETE) execution records for the given agent names.
129
+ * Only deletes records that have already been marked as gc_cleaned.
130
+ */
131
+ export declare function purgeExecutionRecords(hqPath: string, agentNames: string[]): number;
132
+ /**
133
+ * Mark agent names as recyclable (status='cleaned') in the database.
134
+ * Preserves the record for history but allows name reuse.
135
+ */
136
+ export declare function recycleAgentNames(hqPath: string, agentNames: string[]): string[];
81
137
  /**
82
138
  * Execute garbage collection on the provided candidates.
83
139
  *
84
140
  * Processes candidates in order:
85
141
  * 1. Close stale PRs
86
- * 2. Remove worktrees
87
- * 3. Remove containers
88
- * 4. Prune local branches
89
- * 5. Clean up empty agent directories
142
+ * 2. Kill tmux sessions in containers
143
+ * 3. Clean Claude session data in containers
144
+ * 4. Remove worktrees
145
+ * 5. Remove containers
146
+ * 6. Prune local branches
147
+ * 7. Delete remote branches
148
+ * 8. Clean up empty agent directories
149
+ * 9. Mark/purge DB execution records
150
+ * 10. Recycle agent names
90
151
  */
91
152
  export declare function executeGC(candidates: GCCandidate[], options: GCOptions): GCResult;
92
153
  interface ScheduledCleanup {