@proletariat/cli 0.3.96 → 0.3.97

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 (92) 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/session/watch.d.ts +1 -0
  8. package/dist/commands/session/watch.js +46 -2
  9. package/dist/commands/session/watch.js.map +1 -1
  10. package/dist/commands/work/complete.d.ts +1 -0
  11. package/dist/commands/work/complete.js +27 -25
  12. package/dist/commands/work/complete.js.map +1 -1
  13. package/dist/commands/work/drop.d.ts +14 -0
  14. package/dist/commands/work/drop.js +215 -0
  15. package/dist/commands/work/drop.js.map +1 -0
  16. package/dist/commands/work/ready.d.ts +1 -0
  17. package/dist/commands/work/ready.js +26 -25
  18. package/dist/commands/work/ready.js.map +1 -1
  19. package/dist/commands/work/ship.d.ts +1 -0
  20. package/dist/commands/work/ship.js +33 -32
  21. package/dist/commands/work/ship.js.map +1 -1
  22. package/dist/commands/work/start.d.ts +2 -0
  23. package/dist/commands/work/start.js +160 -42
  24. package/dist/commands/work/start.js.map +1 -1
  25. package/dist/commands/work/stop.d.ts +1 -0
  26. package/dist/commands/work/stop.js +40 -0
  27. package/dist/commands/work/stop.js.map +1 -1
  28. package/dist/lib/agents/commands.js +7 -5
  29. package/dist/lib/agents/commands.js.map +1 -1
  30. package/dist/lib/database/drizzle-schema.d.ts +17 -0
  31. package/dist/lib/database/drizzle-schema.js +1 -0
  32. package/dist/lib/database/drizzle-schema.js.map +1 -1
  33. package/dist/lib/database/migrations/0019_gc_artifact_cleanup.d.ts +9 -0
  34. package/dist/lib/database/migrations/0019_gc_artifact_cleanup.js +23 -0
  35. package/dist/lib/database/migrations/0019_gc_artifact_cleanup.js.map +1 -0
  36. package/dist/lib/database/migrations/0020_transition_map.d.ts +2 -0
  37. package/dist/lib/database/migrations/0020_transition_map.js +27 -0
  38. package/dist/lib/database/migrations/0020_transition_map.js.map +1 -0
  39. package/dist/lib/database/migrations/index.js +4 -0
  40. package/dist/lib/database/migrations/index.js.map +1 -1
  41. package/dist/lib/execution/config.d.ts +10 -0
  42. package/dist/lib/execution/config.js +24 -0
  43. package/dist/lib/execution/config.js.map +1 -1
  44. package/dist/lib/execution/preflight.d.ts +51 -0
  45. package/dist/lib/execution/preflight.js +278 -0
  46. package/dist/lib/execution/preflight.js.map +1 -0
  47. package/dist/lib/execution/runners/prompt-builder.d.ts +6 -0
  48. package/dist/lib/execution/runners/prompt-builder.js +38 -7
  49. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  50. package/dist/lib/execution/session-utils.d.ts +23 -0
  51. package/dist/lib/execution/session-utils.js +69 -0
  52. package/dist/lib/execution/session-utils.js.map +1 -1
  53. package/dist/lib/execution/spawner.d.ts +11 -1
  54. package/dist/lib/execution/spawner.js +44 -16
  55. package/dist/lib/execution/spawner.js.map +1 -1
  56. package/dist/lib/execution/ticket-refs.d.ts +71 -0
  57. package/dist/lib/execution/ticket-refs.js +125 -0
  58. package/dist/lib/execution/ticket-refs.js.map +1 -0
  59. package/dist/lib/execution/types.d.ts +7 -2
  60. package/dist/lib/execution/types.js +5 -3
  61. package/dist/lib/execution/types.js.map +1 -1
  62. package/dist/lib/gc/index.d.ts +59 -6
  63. package/dist/lib/gc/index.js +258 -13
  64. package/dist/lib/gc/index.js.map +1 -1
  65. package/dist/lib/prompt-json.d.ts +31 -0
  66. package/dist/lib/prompt-json.js.map +1 -1
  67. package/dist/lib/providers/auto-mapper.d.ts +45 -0
  68. package/dist/lib/providers/auto-mapper.js +115 -0
  69. package/dist/lib/providers/auto-mapper.js.map +1 -0
  70. package/dist/lib/providers/state-intents.d.ts +20 -0
  71. package/dist/lib/providers/state-intents.js +61 -7
  72. package/dist/lib/providers/state-intents.js.map +1 -1
  73. package/dist/lib/providers/state-resolution.d.ts +15 -11
  74. package/dist/lib/providers/state-resolution.js +54 -48
  75. package/dist/lib/providers/state-resolution.js.map +1 -1
  76. package/dist/lib/providers/transition-map.d.ts +59 -0
  77. package/dist/lib/providers/transition-map.js +113 -0
  78. package/dist/lib/providers/transition-map.js.map +1 -0
  79. package/dist/lib/session/index.d.ts +3 -1
  80. package/dist/lib/session/index.js +3 -1
  81. package/dist/lib/session/index.js.map +1 -1
  82. package/dist/lib/session/tmux-watchdog.d.ts +157 -0
  83. package/dist/lib/session/tmux-watchdog.js +424 -0
  84. package/dist/lib/session/tmux-watchdog.js.map +1 -0
  85. package/dist/lib/session/watcher.d.ts +22 -4
  86. package/dist/lib/session/watcher.js +66 -8
  87. package/dist/lib/session/watcher.js.map +1 -1
  88. package/dist/lib/work-lifecycle/transition.d.ts +73 -0
  89. package/dist/lib/work-lifecycle/transition.js +124 -0
  90. package/dist/lib/work-lifecycle/transition.js.map +1 -0
  91. package/oclif.manifest.json +438 -332
  92. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/lib/session/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/lib/session/watcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Work Transition Helper
3
+ *
4
+ * Shared logic for intent-based ticket transitions used by all work commands.
5
+ * Each work command specifies a transition intent, and this module resolves
6
+ * it to the correct provider state and moves the ticket.
7
+ *
8
+ * This replaces the old pattern of hardcoding column names via
9
+ * getWorkColumnSetting() + findColumnByName() in each command.
10
+ *
11
+ * Transition is best-effort: if no mapping exists, the operation still runs.
12
+ */
13
+ import type Database from 'better-sqlite3';
14
+ /**
15
+ * Minimal ticket shape needed for intent-based transitions.
16
+ * Accepts both full Ticket objects and partial objects from batch spawn paths.
17
+ */
18
+ export interface TransitionTicket {
19
+ id: string;
20
+ projectId?: string;
21
+ statusName?: string;
22
+ }
23
+ import type { ProviderStorage, TicketProvider } from '../providers/types.js';
24
+ import type { TransitionIntent } from '../providers/state-intents.js';
25
+ /**
26
+ * Result of attempting a ticket transition.
27
+ */
28
+ export interface TransitionResult {
29
+ /** Whether the ticket was moved successfully */
30
+ moved: boolean;
31
+ /** The resolved target column name, if any */
32
+ targetColumn?: string;
33
+ /** The previous column name */
34
+ previousColumn?: string;
35
+ /** Human-readable explanation of what happened */
36
+ message?: string;
37
+ }
38
+ /**
39
+ * Resolve an intent to a target column name on the board.
40
+ *
41
+ * Resolution order:
42
+ * 1. pmo_transition_map — explicit user-confirmed mappings
43
+ * 2. Legacy column settings (column_in_progress, column_review, column_done)
44
+ * 3. Built-in default column names
45
+ *
46
+ * This only resolves the name — it does not move the ticket.
47
+ */
48
+ export declare function resolveIntentToColumn(db: Database.Database, intent: TransitionIntent, providerName: string, columnNames: string[]): string | null;
49
+ /**
50
+ * Move a ticket based on a transition intent.
51
+ *
52
+ * This is the primary function work commands should call for transitions.
53
+ * It resolves the intent to a column name, moves the ticket in the local PMO,
54
+ * and optionally syncs to the external provider.
55
+ *
56
+ * @param opts.db - Database instance
57
+ * @param opts.storage - PMO storage instance
58
+ * @param opts.ticket - The ticket to move
59
+ * @param opts.intent - The transition intent
60
+ * @param opts.providerName - Provider name for transition map lookup
61
+ * @param opts.resolveProvider - Function to resolve the external ticket provider
62
+ * @param opts.log - Optional logging callback
63
+ * @returns TransitionResult
64
+ */
65
+ export declare function moveTicketByIntent(opts: {
66
+ db: Database.Database;
67
+ storage: ProviderStorage;
68
+ ticket: TransitionTicket;
69
+ intent: TransitionIntent;
70
+ providerName: string;
71
+ resolveProvider?: (ticketId: string, projectId: string) => Promise<TicketProvider>;
72
+ log?: (msg: string) => void;
73
+ }): Promise<TransitionResult>;
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Work Transition Helper
3
+ *
4
+ * Shared logic for intent-based ticket transitions used by all work commands.
5
+ * Each work command specifies a transition intent, and this module resolves
6
+ * it to the correct provider state and moves the ticket.
7
+ *
8
+ * This replaces the old pattern of hardcoding column names via
9
+ * getWorkColumnSetting() + findColumnByName() in each command.
10
+ *
11
+ * Transition is best-effort: if no mapping exists, the operation still runs.
12
+ */
13
+ import { TransitionMapStore } from '../providers/transition-map.js';
14
+ import { getWorkColumnSetting, findColumnByName } from './settings.js';
15
+ /**
16
+ * Map from transition intents to the legacy WorkColumnType settings keys.
17
+ * Used as a fallback when no transition map exists.
18
+ */
19
+ const INTENT_TO_COLUMN_TYPE = {
20
+ started: 'in_progress',
21
+ needs_review: 'review',
22
+ completed: 'done',
23
+ ready: 'planned',
24
+ };
25
+ /**
26
+ * Resolve an intent to a target column name on the board.
27
+ *
28
+ * Resolution order:
29
+ * 1. pmo_transition_map — explicit user-confirmed mappings
30
+ * 2. Legacy column settings (column_in_progress, column_review, column_done)
31
+ * 3. Built-in default column names
32
+ *
33
+ * This only resolves the name — it does not move the ticket.
34
+ */
35
+ export function resolveIntentToColumn(db, intent, providerName, columnNames) {
36
+ // 1. Check pmo_transition_map
37
+ try {
38
+ const store = new TransitionMapStore(db);
39
+ const mappedName = store.resolveIntent(providerName, intent);
40
+ if (mappedName) {
41
+ const match = findColumnByName(columnNames, mappedName);
42
+ if (match)
43
+ return match;
44
+ }
45
+ }
46
+ catch {
47
+ // Table may not exist yet — fall through
48
+ }
49
+ // 2. Fall back to legacy column settings
50
+ const columnType = INTENT_TO_COLUMN_TYPE[intent];
51
+ if (columnType) {
52
+ const settingName = getWorkColumnSetting(db, columnType);
53
+ const match = findColumnByName(columnNames, settingName);
54
+ if (match)
55
+ return match;
56
+ }
57
+ return null;
58
+ }
59
+ /**
60
+ * Move a ticket based on a transition intent.
61
+ *
62
+ * This is the primary function work commands should call for transitions.
63
+ * It resolves the intent to a column name, moves the ticket in the local PMO,
64
+ * and optionally syncs to the external provider.
65
+ *
66
+ * @param opts.db - Database instance
67
+ * @param opts.storage - PMO storage instance
68
+ * @param opts.ticket - The ticket to move
69
+ * @param opts.intent - The transition intent
70
+ * @param opts.providerName - Provider name for transition map lookup
71
+ * @param opts.resolveProvider - Function to resolve the external ticket provider
72
+ * @param opts.log - Optional logging callback
73
+ * @returns TransitionResult
74
+ */
75
+ export async function moveTicketByIntent(opts) {
76
+ const { db, storage, ticket, intent, providerName, resolveProvider, log } = opts;
77
+ if (!ticket.projectId) {
78
+ return { moved: false, message: 'Ticket has no project' };
79
+ }
80
+ const board = await storage.getProjectBoard(ticket.projectId);
81
+ const columnNames = board ? board.columns.map(col => col.name) : [];
82
+ const targetColumn = resolveIntentToColumn(db, intent, providerName, columnNames);
83
+ if (!targetColumn) {
84
+ return { moved: false, message: `No column found for intent '${intent}'` };
85
+ }
86
+ const previousColumn = ticket.statusName;
87
+ // Skip if already in target state
88
+ if (previousColumn && previousColumn.toLowerCase() === targetColumn.toLowerCase()) {
89
+ return { moved: false, targetColumn, previousColumn, message: 'Already in target state' };
90
+ }
91
+ // Move in local PMO
92
+ try {
93
+ await storage.moveTicket(ticket.projectId, ticket.id, targetColumn);
94
+ }
95
+ catch (error) {
96
+ return {
97
+ moved: false,
98
+ targetColumn,
99
+ previousColumn,
100
+ message: `Failed to move: ${error instanceof Error ? error.message : String(error)}`,
101
+ };
102
+ }
103
+ // Sync to external provider
104
+ if (resolveProvider) {
105
+ try {
106
+ const provider = await resolveProvider(ticket.id, ticket.projectId);
107
+ if (provider.name !== 'pmo') {
108
+ const result = await provider.moveTicket(ticket.id, targetColumn);
109
+ if (result.success && log) {
110
+ log(`Synced to ${result.provider}: ${targetColumn}`);
111
+ }
112
+ }
113
+ }
114
+ catch {
115
+ // Non-fatal — don't block work commands for provider sync failures
116
+ }
117
+ }
118
+ return {
119
+ moved: true,
120
+ targetColumn,
121
+ previousColumn,
122
+ };
123
+ }
124
+ //# sourceMappingURL=transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition.js","sourceRoot":"","sources":["../../../src/lib/work-lifecycle/transition.ts"],"names":[],"mappings":"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"}