@proletariat/cli 0.3.102 → 0.3.104

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 (94) hide show
  1. package/dist/commands/project/configure.d.ts +13 -0
  2. package/dist/commands/project/configure.js +149 -0
  3. package/dist/commands/project/configure.js.map +1 -0
  4. package/dist/commands/session/attach.d.ts +6 -1
  5. package/dist/commands/session/attach.js +82 -28
  6. package/dist/commands/session/attach.js.map +1 -1
  7. package/dist/commands/session/report.d.ts +5 -0
  8. package/dist/commands/session/report.js +53 -0
  9. package/dist/commands/session/report.js.map +1 -1
  10. package/dist/commands/ticket/delete.js +15 -7
  11. package/dist/commands/ticket/delete.js.map +1 -1
  12. package/dist/commands/ticket/move.js +21 -10
  13. package/dist/commands/ticket/move.js.map +1 -1
  14. package/dist/commands/ticket/update.js +18 -9
  15. package/dist/commands/ticket/update.js.map +1 -1
  16. package/dist/commands/update.js +12 -6
  17. package/dist/commands/update.js.map +1 -1
  18. package/dist/commands/work/ship.js +39 -57
  19. package/dist/commands/work/ship.js.map +1 -1
  20. package/dist/commands/work/start.js +62 -77
  21. package/dist/commands/work/start.js.map +1 -1
  22. package/dist/lib/events/events.d.ts +2 -0
  23. package/dist/lib/execution/devcontainer.d.ts +1 -0
  24. package/dist/lib/execution/devcontainer.js +1 -0
  25. package/dist/lib/execution/devcontainer.js.map +1 -1
  26. package/dist/lib/execution/runners/docker-management.d.ts +22 -3
  27. package/dist/lib/execution/runners/docker-management.js +102 -14
  28. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  29. package/dist/lib/execution/runners/prompt-builder.d.ts +12 -0
  30. package/dist/lib/execution/runners/prompt-builder.js +44 -0
  31. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  32. package/dist/lib/orchestrate/actions.js +68 -1
  33. package/dist/lib/orchestrate/actions.js.map +1 -1
  34. package/dist/lib/orchestrate/engine.d.ts +19 -39
  35. package/dist/lib/orchestrate/engine.js +51 -215
  36. package/dist/lib/orchestrate/engine.js.map +1 -1
  37. package/dist/lib/orchestrate/poller.d.ts +4 -1
  38. package/dist/lib/orchestrate/poller.js +63 -13
  39. package/dist/lib/orchestrate/poller.js.map +1 -1
  40. package/dist/lib/orchestrate/presets.js +18 -3
  41. package/dist/lib/orchestrate/presets.js.map +1 -1
  42. package/dist/lib/orchestrate/simple-poller.js +33 -11
  43. package/dist/lib/orchestrate/simple-poller.js.map +1 -1
  44. package/dist/lib/orchestrate/types.d.ts +5 -13
  45. package/dist/lib/orchestrate/types.js +4 -2
  46. package/dist/lib/orchestrate/types.js.map +1 -1
  47. package/dist/lib/pmo/base-command.js +12 -2
  48. package/dist/lib/pmo/base-command.js.map +1 -1
  49. package/dist/lib/pmo/templates-builtin.d.ts +2 -0
  50. package/dist/lib/pmo/templates-builtin.js +13 -0
  51. package/dist/lib/pmo/templates-builtin.js.map +1 -1
  52. package/dist/lib/pr/index.d.ts +9 -0
  53. package/dist/lib/pr/index.js +22 -0
  54. package/dist/lib/pr/index.js.map +1 -1
  55. package/dist/lib/providers/linear-provider.d.ts +11 -12
  56. package/dist/lib/providers/linear-provider.js +150 -177
  57. package/dist/lib/providers/linear-provider.js.map +1 -1
  58. package/dist/lib/providers/resolver.d.ts +5 -5
  59. package/dist/lib/providers/resolver.js +25 -31
  60. package/dist/lib/providers/resolver.js.map +1 -1
  61. package/dist/lib/sync/engine.js +15 -6
  62. package/dist/lib/sync/engine.js.map +1 -1
  63. package/dist/lib/sync/reconciler.d.ts +11 -2
  64. package/dist/lib/sync/reconciler.js +30 -12
  65. package/dist/lib/sync/reconciler.js.map +1 -1
  66. package/dist/lib/update-check.d.ts +24 -0
  67. package/dist/lib/update-check.js +85 -0
  68. package/dist/lib/update-check.js.map +1 -1
  69. package/dist/lib/update-prompt.js +10 -5
  70. package/dist/lib/update-prompt.js.map +1 -1
  71. package/dist/lib/work-lifecycle/hooks/executor.js +2 -0
  72. package/dist/lib/work-lifecycle/hooks/executor.js.map +1 -1
  73. package/dist/lib/work-lifecycle/hooks/index.d.ts +5 -3
  74. package/dist/lib/work-lifecycle/hooks/index.js +3 -2
  75. package/dist/lib/work-lifecycle/hooks/index.js.map +1 -1
  76. package/dist/lib/work-lifecycle/hooks/manager.d.ts +93 -8
  77. package/dist/lib/work-lifecycle/hooks/manager.js +248 -20
  78. package/dist/lib/work-lifecycle/hooks/manager.js.map +1 -1
  79. package/dist/lib/work-lifecycle/hooks/storage.d.ts +1 -0
  80. package/dist/lib/work-lifecycle/hooks/storage.js +28 -6
  81. package/dist/lib/work-lifecycle/hooks/storage.js.map +1 -1
  82. package/dist/lib/work-lifecycle/hooks/types.d.ts +38 -1
  83. package/dist/lib/work-lifecycle/hooks/types.js +4 -0
  84. package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
  85. package/dist/lib/work-lifecycle/index.d.ts +2 -1
  86. package/dist/lib/work-lifecycle/index.js +1 -1
  87. package/dist/lib/work-lifecycle/index.js.map +1 -1
  88. package/dist/lib/work-lifecycle/settings.d.ts +42 -0
  89. package/dist/lib/work-lifecycle/settings.js +65 -0
  90. package/dist/lib/work-lifecycle/settings.js.map +1 -1
  91. package/dist/lib/work-lifecycle/transition.js +45 -31
  92. package/dist/lib/work-lifecycle/transition.js.map +1 -1
  93. package/oclif.manifest.json +818 -754
  94. package/package.json +1 -1
@@ -1,29 +1,61 @@
1
1
  /**
2
2
  * Linear Ticket Provider
3
3
  *
4
- * Writes ticket operations directly to Linear via API,
5
- * then updates local PMO to keep it in sync.
6
- *
7
- * Emits work:status_changed with source='linear' so the outbound sync
8
- * handler skips Linear (avoiding double-write).
4
+ * All ticket operations go directly to Linear API.
5
+ * No local PMO mirroring Linear is the source of truth.
9
6
  */
10
7
  import { LinearClient } from '../linear/client.js';
11
- import { LinearMapper } from '../linear/mapper.js';
12
8
  import { getLinearApiKey, resolveLinearTeamKey } from '../linear/config.js';
13
9
  import { findMatchingLinearState } from '../external-issues/outbound-sync.js';
14
- import { listLinearIssues } from '../external-issues/linear.js';
15
10
  import { PMO_PRIORITY_TO_LINEAR, LINEAR_PRIORITY_TO_PMO } from '../linear/types.js';
11
+ import { listLinearIssues } from '../external-issues/linear.js';
12
+ /**
13
+ * Convert a LinearIssue (from the client) to a PMO Ticket shape.
14
+ */
15
+ function linearIssueToTicket(issue) {
16
+ return {
17
+ id: issue.identifier,
18
+ title: issue.title,
19
+ description: issue.description,
20
+ priority: LINEAR_PRIORITY_TO_PMO[issue.priority] || undefined,
21
+ category: undefined,
22
+ projectId: issue.team.key,
23
+ projectName: issue.project?.name ?? issue.team.name,
24
+ statusId: issue.state.name,
25
+ statusName: issue.state.name,
26
+ statusCategory: mapLinearStateType(issue.state.type),
27
+ owner: issue.assignee?.name,
28
+ assignee: issue.assignee?.name,
29
+ subtasks: [],
30
+ labels: issue.labels.map(l => l.name),
31
+ metadata: {
32
+ external_source: 'linear',
33
+ external_key: issue.identifier,
34
+ external_id: issue.id,
35
+ external_url: issue.url,
36
+ },
37
+ createdAt: new Date(issue.createdAt),
38
+ updatedAt: new Date(issue.updatedAt),
39
+ };
40
+ }
41
+ /**
42
+ * Map Linear state type string to PMO state category.
43
+ */
44
+ function mapLinearStateType(type) {
45
+ switch (type) {
46
+ case 'backlog': return 'backlog';
47
+ case 'unstarted': return 'unstarted';
48
+ case 'started': return 'started';
49
+ case 'completed': return 'completed';
50
+ case 'canceled': return 'canceled';
51
+ default: return undefined;
52
+ }
53
+ }
16
54
  export class LinearTicketProvider {
17
55
  db;
18
- storage;
19
- projectId;
20
- ticketStatusCategory;
21
56
  name = 'linear';
22
- constructor(db, storage, projectId, ticketStatusCategory) {
57
+ constructor(db) {
23
58
  this.db = db;
24
- this.storage = storage;
25
- this.projectId = projectId;
26
- this.ticketStatusCategory = ticketStatusCategory;
27
59
  }
28
60
  getApiKeyOrFail() {
29
61
  const apiKey = getLinearApiKey(this.db);
@@ -31,23 +63,42 @@ export class LinearTicketProvider {
31
63
  throw new Error('Linear API key not configured');
32
64
  return apiKey;
33
65
  }
66
+ /**
67
+ * Resolve a ticket identifier (e.g. "PRLT-1231") to the Linear issue UUID.
68
+ * Also accepts a raw Linear UUID and returns it directly.
69
+ */
70
+ async resolveIssueId(ticketId) {
71
+ const apiKey = this.getApiKeyOrFail();
72
+ const client = new LinearClient(apiKey);
73
+ // If it looks like a Linear identifier (e.g., PRLT-1231, ENG-123), look up by identifier
74
+ if (/^[A-Z]+-\d+$/i.test(ticketId)) {
75
+ const issue = await client.getIssueByIdentifier(ticketId);
76
+ if (issue)
77
+ return { issueId: issue.id, issue };
78
+ }
79
+ // It might be a raw UUID — try listIssues with limit 1 filtered by id
80
+ // For now, return null if not found by identifier
81
+ return null;
82
+ }
34
83
  async moveTicket(ticketId, newState) {
35
- // 1. Get Linear API key
36
- const apiKey = getLinearApiKey(this.db);
37
- if (!apiKey) {
84
+ let apiKey;
85
+ try {
86
+ apiKey = this.getApiKeyOrFail();
87
+ }
88
+ catch {
38
89
  return { success: false, provider: 'linear', error: 'Linear API key not configured' };
39
90
  }
40
- // 2. Look up Linear mapping for this PMO ticket
41
- const mapper = new LinearMapper(this.db);
42
- const mapping = mapper.getByTicketId(ticketId);
43
- if (!mapping) {
44
- return { success: false, provider: 'linear', error: `No Linear mapping for ticket ${ticketId}` };
91
+ // Resolve the Linear issue
92
+ const resolved = await this.resolveIssueId(ticketId);
93
+ if (!resolved) {
94
+ return { success: false, provider: 'linear', error: `Linear issue not found for "${ticketId}"` };
45
95
  }
46
- // 3. Get Linear team's workflow states
47
96
  const client = new LinearClient(apiKey);
97
+ const teamKey = resolved.issue.team.key;
98
+ // Get team and workflow states
48
99
  let team;
49
100
  try {
50
- team = await client.getTeamByKey(mapping.linearTeamKey);
101
+ team = await client.getTeamByKey(teamKey);
51
102
  }
52
103
  catch (error) {
53
104
  return {
@@ -57,7 +108,7 @@ export class LinearTicketProvider {
57
108
  };
58
109
  }
59
110
  if (!team) {
60
- return { success: false, provider: 'linear', error: `Linear team not found: ${mapping.linearTeamKey}` };
111
+ return { success: false, provider: 'linear', error: `Linear team not found: ${teamKey}` };
61
112
  }
62
113
  let states;
63
114
  try {
@@ -70,8 +121,7 @@ export class LinearTicketProvider {
70
121
  error: `Failed to list Linear states: ${error instanceof Error ? error.message : String(error)}`,
71
122
  };
72
123
  }
73
- // 4. Find the matching Linear state for the target PMO state
74
- // Map PMO status category to Linear state type for category matching
124
+ // Find the matching Linear state for the target state name
75
125
  const categoryType = mapPMOStateToLinearType(newState);
76
126
  const matchingState = findMatchingLinearState(states, newState, categoryType);
77
127
  if (!matchingState) {
@@ -81,9 +131,9 @@ export class LinearTicketProvider {
81
131
  error: `No matching Linear state for "${newState}" (category: ${categoryType})`,
82
132
  };
83
133
  }
84
- // 5. Update the issue state on Linear
134
+ // Update the issue state on Linear
85
135
  try {
86
- await client.updateIssueState(mapping.linearIssueId, matchingState.id);
136
+ await client.updateIssueState(resolved.issueId, matchingState.id);
87
137
  }
88
138
  catch (error) {
89
139
  return {
@@ -92,27 +142,13 @@ export class LinearTicketProvider {
92
142
  error: `Failed to update Linear issue: ${error instanceof Error ? error.message : String(error)}`,
93
143
  };
94
144
  }
95
- // 6. Also update local PMO to keep it in sync
96
- try {
97
- await this.storage.moveTicket(this.projectId, ticketId, newState);
98
- }
99
- catch {
100
- // Non-fatal: Linear is the source of truth, local PMO is best-effort
101
- }
102
- // 7. Post a comment about the status change
145
+ // Post a comment about the status change (non-fatal)
103
146
  try {
104
- await client.addComment(mapping.linearIssueId, `Status updated to **${newState}** (via prlt post-execution transition)`);
147
+ await client.addComment(resolved.issueId, `Status updated to **${newState}** (via prlt)`);
105
148
  }
106
149
  catch {
107
150
  // Non-fatal: comment is informational
108
151
  }
109
- // 8. Update sync timestamp
110
- try {
111
- mapper.updateSyncTimestamp(ticketId);
112
- }
113
- catch {
114
- // Non-fatal
115
- }
116
152
  return { success: true, provider: 'linear' };
117
153
  }
118
154
  async deleteTicket(ticketId) {
@@ -123,40 +159,24 @@ export class LinearTicketProvider {
123
159
  catch {
124
160
  return { success: false, provider: 'linear', error: 'Linear API key not configured' };
125
161
  }
126
- // Look up Linear mapping
127
- const mapper = new LinearMapper(this.db);
128
- const mapping = mapper.getByTicketId(ticketId);
129
- if (mapping) {
130
- // Archive the issue in Linear
131
- const client = new LinearClient(apiKey);
132
- try {
133
- await client.archiveIssue(mapping.linearIssueId);
134
- }
135
- catch (error) {
136
- return {
137
- success: false,
138
- provider: 'linear',
139
- error: `Failed to archive Linear issue: ${error instanceof Error ? error.message : String(error)}`,
140
- };
141
- }
142
- // Remove the mapping
143
- try {
144
- mapper.deleteMapping(ticketId);
145
- }
146
- catch {
147
- // Non-fatal
148
- }
162
+ const resolved = await this.resolveIssueId(ticketId);
163
+ if (!resolved) {
164
+ return { success: false, provider: 'linear', error: `Linear issue not found for "${ticketId}"` };
149
165
  }
150
- // Also delete the local PMO mirror
166
+ const client = new LinearClient(apiKey);
151
167
  try {
152
- await this.storage.deleteTicket(ticketId);
168
+ await client.archiveIssue(resolved.issueId);
153
169
  }
154
- catch {
155
- // Non-fatal if Linear archive succeeded
170
+ catch (error) {
171
+ return {
172
+ success: false,
173
+ provider: 'linear',
174
+ error: `Failed to archive Linear issue: ${error instanceof Error ? error.message : String(error)}`,
175
+ };
156
176
  }
157
177
  return { success: true, provider: 'linear' };
158
178
  }
159
- async listTickets(projectId, filter) {
179
+ async listTickets(_projectId, filter) {
160
180
  let apiKey;
161
181
  try {
162
182
  apiKey = this.getApiKeyOrFail();
@@ -220,7 +240,7 @@ export class LinearTicketProvider {
220
240
  };
221
241
  }
222
242
  }
223
- async createTicket(projectId, input) {
243
+ async createTicket(_projectId, input) {
224
244
  let apiKey;
225
245
  try {
226
246
  apiKey = this.getApiKeyOrFail();
@@ -264,44 +284,9 @@ export class LinearTicketProvider {
264
284
  priority: linearPriority,
265
285
  labelIds,
266
286
  });
267
- // Create local PMO mirror ticket
268
- const mirrorDescription = [
269
- input.description || '',
270
- '',
271
- '---',
272
- `_Created in Linear: [${issue.identifier}](${issue.url})_`,
273
- ].join('\n').trim();
274
- const mirrorPriority = input.priority || LINEAR_PRIORITY_TO_PMO[issue.priority] || undefined;
275
- const pmoTicket = await this.storage.createTicket(projectId, {
276
- ...input,
277
- title: issue.title,
278
- description: mirrorDescription,
279
- priority: mirrorPriority,
280
- metadata: {
281
- ...input.metadata,
282
- 'external_source': 'linear',
283
- 'external_id': issue.id,
284
- 'external_key': issue.identifier,
285
- 'external_url': issue.url,
286
- 'linear.issue_id': issue.id,
287
- 'linear.identifier': issue.identifier,
288
- 'linear.url': issue.url,
289
- 'linear.team': issue.team.key,
290
- 'linear.state': issue.state.name,
291
- },
292
- });
293
- // Create mapping record for sync operations
294
- const mapper = new LinearMapper(this.db);
295
- mapper.createMapping({
296
- pmoTicketId: pmoTicket.id,
297
- linearIssueId: issue.id,
298
- linearIdentifier: issue.identifier,
299
- linearTeamKey: issue.team.key,
300
- linearUrl: issue.url,
301
- syncDirection: 'outbound',
302
- createdAt: new Date(),
303
- });
304
- return { success: true, provider: 'linear', ticket: pmoTicket };
287
+ // Return ticket directly from Linear response — no local PMO mirror
288
+ const ticket = linearIssueToTicket(issue);
289
+ return { success: true, provider: 'linear', ticket };
305
290
  }
306
291
  catch (error) {
307
292
  return {
@@ -312,10 +297,13 @@ export class LinearTicketProvider {
312
297
  }
313
298
  }
314
299
  async getTicket(ticketId) {
315
- // For getTicket, use local PMO since we maintain mirrors
316
- // This avoids unnecessary API calls for reads
300
+ // Fetch directly from Linear API no local PMO fallback
317
301
  try {
318
- const ticket = await this.storage.getTicket(ticketId);
302
+ const resolved = await this.resolveIssueId(ticketId);
303
+ if (!resolved) {
304
+ return { success: true, provider: 'linear', ticket: null };
305
+ }
306
+ const ticket = linearIssueToTicket(resolved.issue);
319
307
  return { success: true, provider: 'linear', ticket };
320
308
  }
321
309
  catch (error) {
@@ -334,53 +322,51 @@ export class LinearTicketProvider {
334
322
  catch {
335
323
  return { success: false, provider: 'linear', error: 'Linear API key not configured' };
336
324
  }
337
- // Look up Linear mapping for this PMO ticket
338
- const mapper = new LinearMapper(this.db);
339
- const mapping = mapper.getByTicketId(ticketId);
340
- if (mapping) {
341
- // Build Linear update payload from input fields
342
- const linearInput = {};
343
- if (input.title !== undefined)
344
- linearInput.title = input.title;
345
- if (input.description !== undefined)
346
- linearInput.description = input.description ?? undefined;
347
- if (input.priority !== undefined) {
348
- linearInput.priority = input.priority ? PMO_PRIORITY_TO_LINEAR[input.priority] : undefined;
349
- }
350
- // Only call Linear API if there are Linear-relevant fields
351
- if (Object.keys(linearInput).length > 0) {
352
- const client = new LinearClient(apiKey);
353
- try {
354
- await client.updateIssue(mapping.linearIssueId, linearInput);
355
- }
356
- catch (error) {
357
- return {
358
- success: false,
359
- provider: 'linear',
360
- error: `Failed to update Linear issue: ${error instanceof Error ? error.message : String(error)}`,
361
- };
362
- }
363
- }
364
- // Update sync timestamp
325
+ // Resolve the Linear issue
326
+ const resolved = await this.resolveIssueId(ticketId);
327
+ if (!resolved) {
328
+ return { success: false, provider: 'linear', error: `Linear issue not found for "${ticketId}"` };
329
+ }
330
+ // Build Linear update payload from input fields
331
+ const linearInput = {};
332
+ if (input.title !== undefined)
333
+ linearInput.title = input.title;
334
+ if (input.description !== undefined)
335
+ linearInput.description = input.description ?? undefined;
336
+ if (input.priority !== undefined) {
337
+ linearInput.priority = input.priority ? PMO_PRIORITY_TO_LINEAR[input.priority] : undefined;
338
+ }
339
+ // Only call Linear API if there are Linear-relevant fields
340
+ if (Object.keys(linearInput).length > 0) {
341
+ const client = new LinearClient(apiKey);
365
342
  try {
366
- mapper.updateSyncTimestamp(ticketId);
343
+ await client.updateIssue(resolved.issueId, linearInput);
367
344
  }
368
- catch {
369
- // Non-fatal
345
+ catch (error) {
346
+ return {
347
+ success: false,
348
+ provider: 'linear',
349
+ error: `Failed to update Linear issue: ${error instanceof Error ? error.message : String(error)}`,
350
+ };
370
351
  }
371
352
  }
372
- // Also update local PMO mirror
353
+ // Re-fetch the issue to return updated state
373
354
  try {
374
- const ticket = await this.storage.updateTicket(ticketId, input);
375
- return { success: true, provider: 'linear', ticket };
376
- }
377
- catch (error) {
378
- return {
379
- success: false,
380
- provider: 'linear',
381
- error: error instanceof Error ? error.message : String(error),
382
- };
355
+ const refreshed = await this.resolveIssueId(ticketId);
356
+ if (refreshed) {
357
+ return { success: true, provider: 'linear', ticket: linearIssueToTicket(refreshed.issue) };
358
+ }
383
359
  }
360
+ catch {
361
+ // Non-fatal: return success even if re-fetch fails
362
+ }
363
+ // Construct ticket from what we know
364
+ const ticket = linearIssueToTicket(resolved.issue);
365
+ if (input.title !== undefined)
366
+ ticket.title = input.title;
367
+ if (input.description !== undefined)
368
+ ticket.description = input.description ?? undefined;
369
+ return { success: true, provider: 'linear', ticket };
384
370
  }
385
371
  async assignTicket(ticketId, assignee) {
386
372
  let apiKey;
@@ -390,31 +376,18 @@ export class LinearTicketProvider {
390
376
  catch {
391
377
  return { success: false, provider: 'linear', error: 'Linear API key not configured' };
392
378
  }
393
- // Look up Linear mapping
394
- const mapper = new LinearMapper(this.db);
395
- const mapping = mapper.getByTicketId(ticketId);
396
- if (mapping) {
397
- const client = new LinearClient(apiKey);
398
- try {
399
- // Try to assign by email in Linear (best-effort — assignee may be a local name)
400
- await client.assignIssue(mapping.linearIssueId, assignee);
401
- }
402
- catch {
403
- // Non-fatal: assignee may not be a valid Linear email
404
- }
379
+ const resolved = await this.resolveIssueId(ticketId);
380
+ if (!resolved) {
381
+ return { success: false, provider: 'linear', error: `Linear issue not found for "${ticketId}"` };
405
382
  }
406
- // Update local PMO mirror
383
+ const client = new LinearClient(apiKey);
407
384
  try {
408
- await this.storage.updateTicket(ticketId, { assignee });
409
- return { success: true, provider: 'linear' };
385
+ await client.assignIssue(resolved.issueId, assignee);
410
386
  }
411
- catch (error) {
412
- return {
413
- success: false,
414
- provider: 'linear',
415
- error: error instanceof Error ? error.message : String(error),
416
- };
387
+ catch {
388
+ // Non-fatal: assignee may not be a valid Linear email
417
389
  }
390
+ return { success: true, provider: 'linear' };
418
391
  }
419
392
  }
420
393
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"linear-provider.js","sourceRoot":"","sources":["../../../src/lib/providers/linear-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linear-provider.js","sourceRoot":"","sources":["../../../src/lib/providers/linear-provider.ts"],"names":[],"mappings":"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"}
@@ -23,16 +23,16 @@ import type { TicketProvider, ProviderStorage } from './types.js';
23
23
  * Resolve the correct provider for a given ticket.
24
24
  *
25
25
  * Uses the ticket's metadata to determine the source of truth:
26
- * - external_source = 'linear' + configured + outbound/bidirectional → Linear
26
+ * - external_source = 'linear' + configured → Linear
27
27
  * - Otherwise → PMO
28
28
  *
29
29
  * The resolved provider is wrapped with EventEmittingProvider so that
30
30
  * events are emitted at the adapter layer, not the storage layer.
31
31
  *
32
- * @param ticketId - The PMO ticket ID
33
- * @param projectId - The PMO project ID
34
- * @param db - Database handle for config/mapping lookups
35
- * @param storage - Storage for fallback and local sync
32
+ * @param ticketId - The ticket ID (PMO TKT-xxx or external PRLT-xxx)
33
+ * @param projectId - The project ID
34
+ * @param db - Database handle for config lookups
35
+ * @param storage - Storage for PMO fallback
36
36
  * @param metadata - Ticket metadata (contains external_source, etc.)
37
37
  * @returns The appropriate TicketProvider for this ticket
38
38
  */
@@ -21,7 +21,6 @@ import { isLinearConfigured } from '../linear/config.js';
21
21
  import { isClickUpConfigured } from '../clickup/config.js';
22
22
  import { isGitHubConfigured } from '../github/config.js';
23
23
  import { isJiraConfigured } from '../jira/config.js';
24
- import { LinearMapper } from '../linear/mapper.js';
25
24
  import { isTrelloConfigured } from '../trello/config.js';
26
25
  import { TrelloMapper } from '../trello/mapper.js';
27
26
  import { isAsanaConfigured } from '../asana/config.js';
@@ -95,46 +94,42 @@ function wrapWithEvents(provider, db, storage, projectId) {
95
94
  const resolver = createDbStatusResolver(db, storage);
96
95
  return new EventEmittingProvider(provider, resolver, projectId);
97
96
  }
97
+ /**
98
+ * Wrap a provider with EventEmittingProvider using null status resolver.
99
+ * Used for external providers (Linear, etc.) where tickets don't exist
100
+ * in local PMO and status resolution would fail.
101
+ */
102
+ function wrapWithEventsNoResolver(provider, projectId) {
103
+ return new EventEmittingProvider(provider, null, projectId);
104
+ }
98
105
  /**
99
106
  * Resolve the correct provider for a given ticket.
100
107
  *
101
108
  * Uses the ticket's metadata to determine the source of truth:
102
- * - external_source = 'linear' + configured + outbound/bidirectional → Linear
109
+ * - external_source = 'linear' + configured → Linear
103
110
  * - Otherwise → PMO
104
111
  *
105
112
  * The resolved provider is wrapped with EventEmittingProvider so that
106
113
  * events are emitted at the adapter layer, not the storage layer.
107
114
  *
108
- * @param ticketId - The PMO ticket ID
109
- * @param projectId - The PMO project ID
110
- * @param db - Database handle for config/mapping lookups
111
- * @param storage - Storage for fallback and local sync
115
+ * @param ticketId - The ticket ID (PMO TKT-xxx or external PRLT-xxx)
116
+ * @param projectId - The project ID
117
+ * @param db - Database handle for config lookups
118
+ * @param storage - Storage for PMO fallback
112
119
  * @param metadata - Ticket metadata (contains external_source, etc.)
113
120
  * @returns The appropriate TicketProvider for this ticket
114
121
  */
115
122
  export function resolveTicketProvider(ticketId, projectId, db, storage, metadata) {
116
123
  const externalSource = metadata?.external_source;
117
- // Check Linear
124
+ // Check Linear — when configured, use Linear provider directly (no mapping lookup needed)
118
125
  if (externalSource === 'linear' && isLinearConfigured(db)) {
119
- const mapper = new LinearMapper(db);
120
- const mapping = mapper.getByTicketId(ticketId);
121
- if (mapping) {
122
- // Use Linear provider when we need to write back to Linear:
123
- // - 'outbound' = ticket came from Linear (via work start) → write back status changes
124
- // - 'bidirectional' = both directions synced → write to Linear directly
125
- // - 'inbound' = bulk import from Linear → read-only, no write-back
126
- if (mapping.syncDirection === 'outbound' || mapping.syncDirection === 'bidirectional') {
127
- const inner = new LinearTicketProvider(db, storage, projectId, null);
128
- return wrapWithEvents(inner, db, storage, projectId);
129
- }
130
- }
131
- else if (metadata?.external_key || metadata?.external_id) {
132
- // PRLT-1167: External-only ticket (no PMO mirror, no LinearMapper mapping).
133
- // When metadata contains external_key/external_id, resolve to Linear provider
134
- // so post-execution transitions write back to Linear directly.
135
- const inner = new LinearTicketProvider(db, storage, projectId, null);
136
- return wrapWithEvents(inner, db, storage, projectId);
137
- }
126
+ const inner = new LinearTicketProvider(db);
127
+ return wrapWithEventsNoResolver(inner, projectId);
128
+ }
129
+ // Also resolve to Linear for tickets with external_key/external_id even without metadata.external_source
130
+ if (!externalSource && isLinearConfigured(db) && (metadata?.external_key || metadata?.external_id)) {
131
+ const inner = new LinearTicketProvider(db);
132
+ return wrapWithEventsNoResolver(inner, projectId);
138
133
  }
139
134
  // Check ClickUp
140
135
  if (externalSource === 'clickup' && isClickUpConfigured(db)) {
@@ -155,7 +150,6 @@ export function resolveTicketProvider(ticketId, projectId, db, storage, metadata
155
150
  return wrapWithEvents(inner, db, storage, projectId);
156
151
  }
157
152
  else if (metadata?.external_key || metadata?.external_id) {
158
- // PRLT-1167: External-only ticket — resolve to Trello provider directly
159
153
  const inner = new TrelloTicketProvider(db, storage, projectId, null);
160
154
  return wrapWithEvents(inner, db, storage, projectId);
161
155
  }
@@ -203,8 +197,8 @@ export function resolveProjectProvider(db, storage, projectId, source) {
203
197
  return wrapWithEvents(inner, db, storage, projectId);
204
198
  }
205
199
  if (source === 'linear') {
206
- const inner = new LinearTicketProvider(db, storage, projectId, null);
207
- return wrapWithEvents(inner, db, storage, projectId);
200
+ const inner = new LinearTicketProvider(db);
201
+ return wrapWithEventsNoResolver(inner, projectId);
208
202
  }
209
203
  if (source === 'clickup') {
210
204
  const inner = new ClickUpTicketProvider(db, storage, projectId);
@@ -229,8 +223,8 @@ export function resolveProjectProvider(db, storage, projectId, source) {
229
223
  // auto: use Linear when it's configured in the workspace
230
224
  try {
231
225
  if (isLinearConfigured(db)) {
232
- const inner = new LinearTicketProvider(db, storage, projectId, null);
233
- return wrapWithEvents(inner, db, storage, projectId);
226
+ const inner = new LinearTicketProvider(db);
227
+ return wrapWithEventsNoResolver(inner, projectId);
234
228
  }
235
229
  }
236
230
  catch {