@proletariat/cli 0.3.87 → 0.3.88

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 (96) hide show
  1. package/dist/commands/init.d.ts +6 -1
  2. package/dist/commands/init.js +44 -89
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/commands/new.d.ts +30 -2
  5. package/dist/commands/new.js +141 -9
  6. package/dist/commands/new.js.map +1 -1
  7. package/dist/hooks/init.js +3 -6
  8. package/dist/hooks/init.js.map +1 -1
  9. package/dist/lib/asana/config.d.ts +1 -1
  10. package/dist/lib/asana/config.js +18 -30
  11. package/dist/lib/asana/config.js.map +1 -1
  12. package/dist/lib/asana/mapper.d.ts +4 -3
  13. package/dist/lib/asana/mapper.js +17 -10
  14. package/dist/lib/asana/mapper.js.map +1 -1
  15. package/dist/lib/database/agents.d.ts +73 -0
  16. package/dist/lib/database/agents.js +341 -0
  17. package/dist/lib/database/agents.js.map +1 -0
  18. package/dist/lib/database/driver.d.ts +115 -0
  19. package/dist/lib/database/driver.js +109 -0
  20. package/dist/lib/database/driver.js.map +1 -0
  21. package/dist/lib/database/index.d.ts +25 -287
  22. package/dist/lib/database/index.js +35 -1067
  23. package/dist/lib/database/index.js.map +1 -1
  24. package/dist/lib/database/media.d.ts +53 -0
  25. package/dist/lib/database/media.js +118 -0
  26. package/dist/lib/database/media.js.map +1 -0
  27. package/dist/lib/database/pmo-bootstrap.d.ts +30 -0
  28. package/dist/lib/database/pmo-bootstrap.js +105 -0
  29. package/dist/lib/database/pmo-bootstrap.js.map +1 -0
  30. package/dist/lib/database/repositories.d.ts +26 -0
  31. package/dist/lib/database/repositories.js +56 -0
  32. package/dist/lib/database/repositories.js.map +1 -0
  33. package/dist/lib/database/settings-store.d.ts +60 -0
  34. package/dist/lib/database/settings-store.js +87 -0
  35. package/dist/lib/database/settings-store.js.map +1 -0
  36. package/dist/lib/database/themes.d.ts +59 -0
  37. package/dist/lib/database/themes.js +212 -0
  38. package/dist/lib/database/themes.js.map +1 -0
  39. package/dist/lib/database/workspace.d.ts +46 -0
  40. package/dist/lib/database/workspace.js +158 -0
  41. package/dist/lib/database/workspace.js.map +1 -0
  42. package/dist/lib/database/worktrees.d.ts +33 -0
  43. package/dist/lib/database/worktrees.js +60 -0
  44. package/dist/lib/database/worktrees.js.map +1 -0
  45. package/dist/lib/execution/config.d.ts +1 -1
  46. package/dist/lib/execution/config.js +7 -17
  47. package/dist/lib/execution/config.js.map +1 -1
  48. package/dist/lib/execution/spawner.d.ts +1 -1
  49. package/dist/lib/execution/storage.d.ts +4 -3
  50. package/dist/lib/execution/storage.js +11 -4
  51. package/dist/lib/execution/storage.js.map +1 -1
  52. package/dist/lib/external-issues/mapping-store.d.ts +4 -3
  53. package/dist/lib/external-issues/mapping-store.js +21 -13
  54. package/dist/lib/external-issues/mapping-store.js.map +1 -1
  55. package/dist/lib/external-issues/outbound-sync.d.ts +1 -1
  56. package/dist/lib/jira/config.d.ts +1 -6
  57. package/dist/lib/jira/config.js +16 -33
  58. package/dist/lib/jira/config.js.map +1 -1
  59. package/dist/lib/linear/config.d.ts +1 -1
  60. package/dist/lib/linear/config.js +16 -38
  61. package/dist/lib/linear/config.js.map +1 -1
  62. package/dist/lib/linear/mapper.d.ts +4 -3
  63. package/dist/lib/linear/mapper.js +20 -13
  64. package/dist/lib/linear/mapper.js.map +1 -1
  65. package/dist/lib/monday/config.d.ts +1 -1
  66. package/dist/lib/monday/config.js +16 -32
  67. package/dist/lib/monday/config.js.map +1 -1
  68. package/dist/lib/monday/mapper.d.ts +4 -3
  69. package/dist/lib/monday/mapper.js +19 -12
  70. package/dist/lib/monday/mapper.js.map +1 -1
  71. package/dist/lib/onboarding/wizard.d.ts +2 -2
  72. package/dist/lib/onboarding/wizard.js +32 -24
  73. package/dist/lib/onboarding/wizard.js.map +1 -1
  74. package/dist/lib/pmo/diet.d.ts +1 -1
  75. package/dist/lib/pmo/storage/index.d.ts +8 -0
  76. package/dist/lib/pmo/storage/index.js +13 -1
  77. package/dist/lib/pmo/storage/index.js.map +1 -1
  78. package/dist/lib/pmo/storage/types.d.ts +4 -1
  79. package/dist/lib/shortcut/config.d.ts +1 -7
  80. package/dist/lib/shortcut/config.js +13 -32
  81. package/dist/lib/shortcut/config.js.map +1 -1
  82. package/dist/lib/trello/config.d.ts +1 -26
  83. package/dist/lib/trello/config.js +23 -64
  84. package/dist/lib/trello/config.js.map +1 -1
  85. package/dist/lib/trello/mapper.d.ts +4 -3
  86. package/dist/lib/trello/mapper.js +17 -10
  87. package/dist/lib/trello/mapper.js.map +1 -1
  88. package/dist/lib/work-lifecycle/post-execution.d.ts +1 -1
  89. package/dist/lib/work-source/config.d.ts +1 -1
  90. package/dist/lib/work-source/config.js +14 -24
  91. package/dist/lib/work-source/config.js.map +1 -1
  92. package/dist/lib/work-source/provider-sources.d.ts +1 -1
  93. package/dist/lib/work-source/provider-sources.js +8 -20
  94. package/dist/lib/work-source/provider-sources.js.map +1 -1
  95. package/oclif.manifest.json +1461 -1412
  96. package/package.json +1 -1
@@ -4,39 +4,13 @@
4
4
  * Stores Linear credentials and preferences in the workspace_settings table.
5
5
  */
6
6
  import { loadProviderSources, resolveApiKey } from '../work-source/provider-sources.js';
7
- const SETTINGS_TABLE = 'workspace_settings';
8
- // Config keys stored in workspace_settings table
7
+ import { SettingsStore } from '../database/settings-store.js';
9
8
  const LINEAR_CONFIG_KEYS = {
10
9
  apiKey: 'linear.api_key',
11
10
  defaultTeamId: 'linear.default_team_id',
12
11
  defaultTeamKey: 'linear.default_team_key',
13
12
  organizationName: 'linear.organization_name',
14
13
  };
15
- /**
16
- * Get a setting value from the database.
17
- */
18
- function getSetting(db, key) {
19
- const row = db
20
- .prepare(`SELECT value FROM ${SETTINGS_TABLE} WHERE key = ?`)
21
- .get(key);
22
- return row?.value ?? null;
23
- }
24
- /**
25
- * Set a setting value in the database.
26
- */
27
- function setSetting(db, key, value) {
28
- db.prepare(`
29
- INSERT INTO ${SETTINGS_TABLE} (key, value)
30
- VALUES (?, ?)
31
- ON CONFLICT(key) DO UPDATE SET value = excluded.value
32
- `).run(key, value);
33
- }
34
- /**
35
- * Delete a setting from the database.
36
- */
37
- function deleteSetting(db, key) {
38
- db.prepare(`DELETE FROM ${SETTINGS_TABLE} WHERE key = ?`).run(key);
39
- }
40
14
  // =============================================================================
41
15
  // Public API
42
16
  // =============================================================================
@@ -44,48 +18,52 @@ function deleteSetting(db, key) {
44
18
  * Check if Linear is configured (API key is stored).
45
19
  */
46
20
  export function isLinearConfigured(db) {
47
- return getSetting(db, LINEAR_CONFIG_KEYS.apiKey) !== null;
21
+ const settings = new SettingsStore(db);
22
+ return settings.has(LINEAR_CONFIG_KEYS.apiKey);
48
23
  }
49
24
  /**
50
25
  * Load Linear configuration from the database.
51
26
  * Returns null if not configured.
52
27
  */
53
28
  export function loadLinearConfig(db) {
54
- const apiKey = getSetting(db, LINEAR_CONFIG_KEYS.apiKey);
29
+ const settings = new SettingsStore(db);
30
+ const apiKey = settings.get(LINEAR_CONFIG_KEYS.apiKey);
55
31
  if (!apiKey)
56
32
  return null;
57
33
  return {
58
34
  apiKey,
59
- defaultTeamId: getSetting(db, LINEAR_CONFIG_KEYS.defaultTeamId) ?? undefined,
60
- defaultTeamKey: getSetting(db, LINEAR_CONFIG_KEYS.defaultTeamKey) ?? undefined,
61
- organizationName: getSetting(db, LINEAR_CONFIG_KEYS.organizationName) ?? undefined,
35
+ defaultTeamId: settings.get(LINEAR_CONFIG_KEYS.defaultTeamId) ?? undefined,
36
+ defaultTeamKey: settings.get(LINEAR_CONFIG_KEYS.defaultTeamKey) ?? undefined,
37
+ organizationName: settings.get(LINEAR_CONFIG_KEYS.organizationName) ?? undefined,
62
38
  };
63
39
  }
64
40
  /**
65
41
  * Save Linear API key to the database.
66
42
  */
67
43
  export function saveLinearApiKey(db, apiKey) {
68
- setSetting(db, LINEAR_CONFIG_KEYS.apiKey, apiKey);
44
+ new SettingsStore(db).set(LINEAR_CONFIG_KEYS.apiKey, apiKey);
69
45
  }
70
46
  /**
71
47
  * Save the default team for Linear operations.
72
48
  */
73
49
  export function saveLinearDefaultTeam(db, teamId, teamKey) {
74
- setSetting(db, LINEAR_CONFIG_KEYS.defaultTeamId, teamId);
75
- setSetting(db, LINEAR_CONFIG_KEYS.defaultTeamKey, teamKey);
50
+ const settings = new SettingsStore(db);
51
+ settings.set(LINEAR_CONFIG_KEYS.defaultTeamId, teamId);
52
+ settings.set(LINEAR_CONFIG_KEYS.defaultTeamKey, teamKey);
76
53
  }
77
54
  /**
78
55
  * Save the organization name.
79
56
  */
80
57
  export function saveLinearOrganization(db, name) {
81
- setSetting(db, LINEAR_CONFIG_KEYS.organizationName, name);
58
+ new SettingsStore(db).set(LINEAR_CONFIG_KEYS.organizationName, name);
82
59
  }
83
60
  /**
84
61
  * Clear all Linear configuration from the database.
85
62
  */
86
63
  export function clearLinearConfig(db) {
64
+ const settings = new SettingsStore(db);
87
65
  for (const key of Object.values(LINEAR_CONFIG_KEYS)) {
88
- deleteSetting(db, key);
66
+ settings.delete(key);
89
67
  }
90
68
  }
91
69
  /**
@@ -117,6 +95,6 @@ export function getLinearApiKey(db) {
117
95
  if (envKey)
118
96
  return envKey;
119
97
  // 3. Legacy: stored workspace setting
120
- return getSetting(db, LINEAR_CONFIG_KEYS.apiKey);
98
+ return new SettingsStore(db).get(LINEAR_CONFIG_KEYS.apiKey);
121
99
  }
122
100
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/linear/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/linear/config.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,14 @@
4
4
  * Converts Linear issues to PMO tickets and manages the mapping table.
5
5
  * Handles import (Linear → PMO) and reverse lookup for sync operations.
6
6
  */
7
- import Database from 'better-sqlite3';
7
+ import type Database from 'better-sqlite3';
8
8
  import type { CreateTicketInput, PMOStorage, WorkflowStatus } from '../pmo/types.js';
9
9
  import type { LinearIssue, LinearIssueMap, LinearSyncResult } from './types.js';
10
+ import { type DatabaseDriver } from '../database/driver.js';
10
11
  export declare class LinearMapper {
11
- private db;
12
+ private driver;
12
13
  private externalMappingStore;
13
- constructor(db: Database.Database);
14
+ constructor(dbOrDriver: DatabaseDriver | Database.Database);
14
15
  /**
15
16
  * Ensure the external_issue_map table exists.
16
17
  * Uses CREATE TABLE IF NOT EXISTS to match the schema defined in schema.ts.
@@ -7,12 +7,19 @@
7
7
  import { PMO_TABLES } from '../pmo/schema.js';
8
8
  import { ExternalExecutionMappingStore } from '../external-issues/mapping-store.js';
9
9
  import { LINEAR_STATE_TO_PMO_CATEGORY, LINEAR_PRIORITY_TO_PMO, } from './types.js';
10
+ import { wrapDatabase } from '../database/driver.js';
11
+ function toDriver(dbOrDriver) {
12
+ if ('prepare' in dbOrDriver && 'pragma' in dbOrDriver && !('raw' in dbOrDriver)) {
13
+ return wrapDatabase(dbOrDriver);
14
+ }
15
+ return dbOrDriver;
16
+ }
10
17
  export class LinearMapper {
11
- db;
18
+ driver;
12
19
  externalMappingStore;
13
- constructor(db) {
14
- this.db = db;
15
- this.externalMappingStore = new ExternalExecutionMappingStore(db);
20
+ constructor(dbOrDriver) {
21
+ this.driver = toDriver(dbOrDriver);
22
+ this.externalMappingStore = new ExternalExecutionMappingStore(this.driver);
16
23
  this.ensureTable();
17
24
  }
18
25
  /**
@@ -20,7 +27,7 @@ export class LinearMapper {
20
27
  * Uses CREATE TABLE IF NOT EXISTS to match the schema defined in schema.ts.
21
28
  */
22
29
  ensureTable() {
23
- this.db.exec(`
30
+ this.driver.exec(`
24
31
  CREATE TABLE IF NOT EXISTS ${PMO_TABLES.external_issue_map} (
25
32
  pmo_ticket_id TEXT NOT NULL REFERENCES ${PMO_TABLES.tickets}(id) ON DELETE CASCADE,
26
33
  provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'shortcut', 'trello', 'github')),
@@ -34,11 +41,11 @@ export class LinearMapper {
34
41
  UNIQUE (provider, external_id)
35
42
  )
36
43
  `);
37
- this.db.exec(`
44
+ this.driver.exec(`
38
45
  CREATE INDEX IF NOT EXISTS idx_pmo_external_issue_map_external_id
39
46
  ON ${PMO_TABLES.external_issue_map}(provider, external_id)
40
47
  `);
41
- this.db.exec(`
48
+ this.driver.exec(`
42
49
  CREATE INDEX IF NOT EXISTS idx_pmo_external_issue_map_external_key_eim
43
50
  ON ${PMO_TABLES.external_issue_map}(provider, external_key)
44
51
  `);
@@ -174,7 +181,7 @@ export class LinearMapper {
174
181
  * Create a mapping record.
175
182
  */
176
183
  createMapping(map) {
177
- this.db.prepare(`
184
+ this.driver.prepare(`
178
185
  INSERT INTO ${PMO_TABLES.external_issue_map}
179
186
  (pmo_ticket_id, provider, external_id, external_key, external_url, team_key, sync_direction, created_at)
180
187
  VALUES (?, 'linear', ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
@@ -196,7 +203,7 @@ export class LinearMapper {
196
203
  * Get a mapping by PMO ticket ID.
197
204
  */
198
205
  getByTicketId(ticketId) {
199
- const row = this.db.prepare(`
206
+ const row = this.driver.prepare(`
200
207
  SELECT * FROM ${PMO_TABLES.external_issue_map} WHERE pmo_ticket_id = ? AND provider = 'linear'
201
208
  `).get(ticketId);
202
209
  return row ? this.rowToMap(row) : null;
@@ -205,7 +212,7 @@ export class LinearMapper {
205
212
  * Get a mapping by Linear issue ID.
206
213
  */
207
214
  getByLinearId(linearIssueId) {
208
- const row = this.db.prepare(`
215
+ const row = this.driver.prepare(`
209
216
  SELECT * FROM ${PMO_TABLES.external_issue_map} WHERE provider = 'linear' AND external_id = ?
210
217
  `).get(linearIssueId);
211
218
  if (row) {
@@ -218,7 +225,7 @@ export class LinearMapper {
218
225
  * Get a mapping by Linear identifier (e.g., "ENG-123").
219
226
  */
220
227
  getByIdentifier(identifier) {
221
- const row = this.db.prepare(`
228
+ const row = this.driver.prepare(`
222
229
  SELECT * FROM ${PMO_TABLES.external_issue_map} WHERE provider = 'linear' AND external_key = ?
223
230
  `).get(identifier);
224
231
  if (row) {
@@ -231,7 +238,7 @@ export class LinearMapper {
231
238
  * List all mappings.
232
239
  */
233
240
  listMappings() {
234
- const rows = this.db.prepare(`
241
+ const rows = this.driver.prepare(`
235
242
  SELECT * FROM ${PMO_TABLES.external_issue_map} WHERE provider = 'linear' ORDER BY created_at DESC
236
243
  `).all();
237
244
  return rows.map((row) => this.rowToMap(row));
@@ -260,7 +267,7 @@ export class LinearMapper {
260
267
  * Delete a mapping by PMO ticket ID.
261
268
  */
262
269
  deleteMapping(pmoTicketId) {
263
- this.db.prepare(`
270
+ this.driver.prepare(`
264
271
  DELETE FROM ${PMO_TABLES.external_issue_map} WHERE pmo_ticket_id = ? AND provider = 'linear'
265
272
  `).run(pmoTicketId);
266
273
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/lib/linear/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/lib/linear/mapper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import Database from 'better-sqlite3';
1
+ import type Database from 'better-sqlite3';
2
2
  import type { MondayConfig } from './types.js';
3
3
  export declare function isMondayConfigured(db: Database.Database): boolean;
4
4
  export declare function loadMondayConfig(db: Database.Database): MondayConfig | null;
@@ -1,58 +1,44 @@
1
1
  import { loadProviderSources, resolveApiKey } from '../work-source/provider-sources.js';
2
- const SETTINGS_TABLE = 'workspace_settings';
2
+ import { SettingsStore } from '../database/settings-store.js';
3
3
  const MONDAY_CONFIG_KEYS = {
4
4
  apiToken: 'monday.api_token',
5
5
  boardId: 'monday.board_id',
6
6
  boardName: 'monday.board_name',
7
7
  accountName: 'monday.account_name',
8
8
  };
9
- function getSetting(db, key) {
10
- const row = db
11
- .prepare(`SELECT value FROM ${SETTINGS_TABLE} WHERE key = ?`)
12
- .get(key);
13
- return row?.value ?? null;
14
- }
15
- function setSetting(db, key, value) {
16
- db.prepare(`
17
- INSERT INTO ${SETTINGS_TABLE} (key, value)
18
- VALUES (?, ?)
19
- ON CONFLICT(key) DO UPDATE SET value = excluded.value
20
- `).run(key, value);
21
- }
22
- function deleteSetting(db, key) {
23
- db.prepare(`DELETE FROM ${SETTINGS_TABLE} WHERE key = ?`).run(key);
24
- }
25
9
  export function isMondayConfigured(db) {
26
- return getSetting(db, MONDAY_CONFIG_KEYS.apiToken) !== null;
10
+ return new SettingsStore(db).has(MONDAY_CONFIG_KEYS.apiToken);
27
11
  }
28
12
  export function loadMondayConfig(db) {
29
- const apiToken = getSetting(db, MONDAY_CONFIG_KEYS.apiToken);
13
+ const settings = new SettingsStore(db);
14
+ const apiToken = settings.get(MONDAY_CONFIG_KEYS.apiToken);
30
15
  if (!apiToken)
31
16
  return null;
32
17
  return {
33
18
  apiToken,
34
- boardId: getSetting(db, MONDAY_CONFIG_KEYS.boardId) ?? undefined,
35
- boardName: getSetting(db, MONDAY_CONFIG_KEYS.boardName) ?? undefined,
36
- accountName: getSetting(db, MONDAY_CONFIG_KEYS.accountName) ?? undefined,
19
+ boardId: settings.get(MONDAY_CONFIG_KEYS.boardId) ?? undefined,
20
+ boardName: settings.get(MONDAY_CONFIG_KEYS.boardName) ?? undefined,
21
+ accountName: settings.get(MONDAY_CONFIG_KEYS.accountName) ?? undefined,
37
22
  };
38
23
  }
39
24
  export function saveMondayApiToken(db, apiToken) {
40
- setSetting(db, MONDAY_CONFIG_KEYS.apiToken, apiToken);
25
+ new SettingsStore(db).set(MONDAY_CONFIG_KEYS.apiToken, apiToken);
41
26
  }
42
27
  export function saveMondayBoard(db, boardId, boardName) {
43
- setSetting(db, MONDAY_CONFIG_KEYS.boardId, boardId);
44
- setSetting(db, MONDAY_CONFIG_KEYS.boardName, boardName);
28
+ const settings = new SettingsStore(db);
29
+ settings.set(MONDAY_CONFIG_KEYS.boardId, boardId);
30
+ settings.set(MONDAY_CONFIG_KEYS.boardName, boardName);
45
31
  }
46
32
  export function saveMondayAccountName(db, accountName) {
47
- setSetting(db, MONDAY_CONFIG_KEYS.accountName, accountName);
33
+ new SettingsStore(db).set(MONDAY_CONFIG_KEYS.accountName, accountName);
48
34
  }
49
35
  export function clearMondayConfig(db) {
36
+ const settings = new SettingsStore(db);
50
37
  for (const key of Object.values(MONDAY_CONFIG_KEYS)) {
51
- deleteSetting(db, key);
38
+ settings.delete(key);
52
39
  }
53
40
  }
54
41
  export function getMondayApiToken(db) {
55
- // 1. Try provider sources (supports custom apiKeyRef per source)
56
42
  try {
57
43
  const sources = loadProviderSources(db);
58
44
  for (const source of sources) {
@@ -66,17 +52,15 @@ export function getMondayApiToken(db) {
66
52
  catch {
67
53
  // Provider sources may not exist in older databases
68
54
  }
69
- // 2. Legacy: environment variables
70
55
  const envToken = process.env.PRLT_MONDAY_API_TOKEN || process.env.MONDAY_API_TOKEN;
71
56
  if (envToken)
72
57
  return envToken;
73
- // 3. Legacy: stored workspace setting
74
- return getSetting(db, MONDAY_CONFIG_KEYS.apiToken);
58
+ return new SettingsStore(db).get(MONDAY_CONFIG_KEYS.apiToken);
75
59
  }
76
60
  export function getMondayBoardId(db) {
77
61
  const envBoardId = process.env.PRLT_MONDAY_BOARD_ID || process.env.MONDAY_BOARD_ID;
78
62
  if (envBoardId)
79
63
  return envBoardId;
80
- return getSetting(db, MONDAY_CONFIG_KEYS.boardId);
64
+ return new SettingsStore(db).get(MONDAY_CONFIG_KEYS.boardId);
81
65
  }
82
66
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/monday/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/monday/config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import Database from 'better-sqlite3';
1
+ import type Database from 'better-sqlite3';
2
2
  import type { MondayItemMap } from './types.js';
3
+ import { type DatabaseDriver } from '../database/driver.js';
3
4
  export declare class MondayMapper {
4
- private db;
5
- constructor(db: Database.Database);
5
+ private driver;
6
+ constructor(dbOrDriver: DatabaseDriver | Database.Database);
6
7
  private ensureTable;
7
8
  createOrUpdateMapping(map: Omit<MondayItemMap, 'lastSyncedAt' | 'createdAt'>): void;
8
9
  getByTicketId(ticketId: string): MondayItemMap | null;
@@ -1,12 +1,19 @@
1
1
  import { PMO_TABLES } from '../pmo/schema.js';
2
+ import { wrapDatabase } from '../database/driver.js';
3
+ function toDriver(dbOrDriver) {
4
+ if ('prepare' in dbOrDriver && 'pragma' in dbOrDriver && !('raw' in dbOrDriver)) {
5
+ return wrapDatabase(dbOrDriver);
6
+ }
7
+ return dbOrDriver;
8
+ }
2
9
  export class MondayMapper {
3
- db;
4
- constructor(db) {
5
- this.db = db;
10
+ driver;
11
+ constructor(dbOrDriver) {
12
+ this.driver = toDriver(dbOrDriver);
6
13
  this.ensureTable();
7
14
  }
8
15
  ensureTable() {
9
- this.db.exec(`
16
+ this.driver.exec(`
10
17
  CREATE TABLE IF NOT EXISTS ${PMO_TABLES.monday_item_map} (
11
18
  pmo_ticket_id TEXT NOT NULL REFERENCES ${PMO_TABLES.tickets}(id) ON DELETE CASCADE,
12
19
  monday_board_id TEXT NOT NULL,
@@ -20,17 +27,17 @@ export class MondayMapper {
20
27
  UNIQUE (monday_item_id)
21
28
  )
22
29
  `);
23
- this.db.exec(`
30
+ this.driver.exec(`
24
31
  CREATE INDEX IF NOT EXISTS idx_pmo_monday_item_map_item_id
25
32
  ON ${PMO_TABLES.monday_item_map}(monday_item_id)
26
33
  `);
27
- this.db.exec(`
34
+ this.driver.exec(`
28
35
  CREATE INDEX IF NOT EXISTS idx_pmo_monday_item_map_board_id
29
36
  ON ${PMO_TABLES.monday_item_map}(monday_board_id)
30
37
  `);
31
38
  }
32
39
  createOrUpdateMapping(map) {
33
- this.db.prepare(`
40
+ this.driver.prepare(`
34
41
  INSERT INTO ${PMO_TABLES.monday_item_map}
35
42
  (pmo_ticket_id, monday_board_id, monday_item_id, monday_item_name, monday_item_url, sync_direction, last_synced_at, created_at)
36
43
  VALUES (?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
@@ -44,32 +51,32 @@ export class MondayMapper {
44
51
  `).run(map.pmoTicketId, map.mondayBoardId, map.mondayItemId, map.mondayItemName, map.mondayItemUrl ?? null, map.syncDirection);
45
52
  }
46
53
  getByTicketId(ticketId) {
47
- const row = this.db.prepare(`
54
+ const row = this.driver.prepare(`
48
55
  SELECT * FROM ${PMO_TABLES.monday_item_map} WHERE pmo_ticket_id = ?
49
56
  `).get(ticketId);
50
57
  return row ? this.rowToMap(row) : null;
51
58
  }
52
59
  getByMondayItemId(itemId) {
53
- const row = this.db.prepare(`
60
+ const row = this.driver.prepare(`
54
61
  SELECT * FROM ${PMO_TABLES.monday_item_map} WHERE monday_item_id = ?
55
62
  `).get(itemId);
56
63
  return row ? this.rowToMap(row) : null;
57
64
  }
58
65
  listMappings() {
59
- const rows = this.db.prepare(`
66
+ const rows = this.driver.prepare(`
60
67
  SELECT * FROM ${PMO_TABLES.monday_item_map} ORDER BY created_at DESC
61
68
  `).all();
62
69
  return rows.map((row) => this.rowToMap(row));
63
70
  }
64
71
  updateSyncTimestamp(ticketId) {
65
- this.db.prepare(`
72
+ this.driver.prepare(`
66
73
  UPDATE ${PMO_TABLES.monday_item_map}
67
74
  SET last_synced_at = CURRENT_TIMESTAMP
68
75
  WHERE pmo_ticket_id = ?
69
76
  `).run(ticketId);
70
77
  }
71
78
  deleteMapping(ticketId) {
72
- this.db.prepare(`
79
+ this.driver.prepare(`
73
80
  DELETE FROM ${PMO_TABLES.monday_item_map}
74
81
  WHERE pmo_ticket_id = ?
75
82
  `).run(ticketId);
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/lib/monday/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/lib/monday/mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzE,SAAS,QAAQ,CAAC,UAA8C;IAC9D,IAAI,SAAS,IAAI,UAAU,IAAI,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC;QAChF,OAAO,YAAY,CAAC,UAA+B,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,UAA4B,CAAA;AACrC,CAAC;AAED,MAAM,OAAO,YAAY;IACf,MAAM,CAAgB;IAE9B,YAAY,UAA8C;QACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;mCACc,UAAU,CAAC,eAAe;iDACZ,UAAU,CAAC,OAAO;;;;;;;;;;;KAW9D,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;;WAEV,UAAU,CAAC,eAAe;KAChC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;;WAEV,UAAU,CAAC,eAAe;KAChC,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB,CAAC,GAAsD;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;oBACJ,UAAU,CAAC,eAAe;;;;;;;;;;KAUzC,CAAC,CAAC,GAAG,CACJ,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,aAAa,IAAI,IAAI,EACzB,GAAG,CAAC,aAAa,CAClB,CAAA;IACH,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAA0B;sBACvC,UAAU,CAAC,eAAe;KAC3C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEhB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxC,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAA0B;sBACvC,UAAU,CAAC,eAAe;KAC3C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEd,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxC,CAAC;IAED,YAAY;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAA0B;sBACxC,UAAU,CAAC,eAAe;KAC3C,CAAC,CAAC,GAAG,EAAE,CAAA;QAER,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,mBAAmB,CAAC,QAAgB;QAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;eACT,UAAU,CAAC,eAAe;;;KAGpC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClB,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;oBACJ,UAAU,CAAC,eAAe;;KAEzC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClB,CAAC;IAEO,QAAQ,CAAC,GAA4B;QAC3C,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,aAAuB;YACxC,aAAa,EAAE,GAAG,CAAC,eAAyB;YAC5C,YAAY,EAAE,GAAG,CAAC,cAAwB;YAC1C,cAAc,EAAE,GAAG,CAAC,gBAA0B;YAC9C,aAAa,EAAG,GAAG,CAAC,eAAiC,IAAI,SAAS;YAClE,aAAa,EAAE,GAAG,CAAC,cAAgD;YACnE,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAwB,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;SAC9C,CAAA;IACH,CAAC;CACF"}
@@ -9,9 +9,9 @@ export interface OnboardingResult {
9
9
  }
10
10
  /**
11
11
  * Run the onboarding wizard in interactive (human) mode.
12
- * Detects AI tools and lets the user choose how to set up.
12
+ * Shows welcome, explainer, and lets user choose setup method.
13
13
  *
14
- * @returns The onboarding result, or null if user chose manual (caller should continue with normal init)
14
+ * @returns The onboarding result indicating how the user chose to proceed
15
15
  */
16
16
  export declare function runOnboardingWizard(): Promise<OnboardingResult>;
17
17
  /**