@sascha384/tic 2.1.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +32 -17
  3. package/dist/app.js +7 -2
  4. package/dist/app.js.map +1 -1
  5. package/dist/auth/ado.d.ts +31 -0
  6. package/dist/auth/ado.js +136 -0
  7. package/dist/auth/ado.js.map +1 -0
  8. package/dist/auth/gitlab.d.ts +37 -0
  9. package/dist/auth/gitlab.js +111 -0
  10. package/dist/auth/gitlab.js.map +1 -0
  11. package/dist/auth/index.d.ts +2 -0
  12. package/dist/auth/index.js +1 -0
  13. package/dist/auth/index.js.map +1 -1
  14. package/dist/backends/ado/api.d.ts +19 -0
  15. package/dist/backends/ado/api.js +110 -0
  16. package/dist/backends/ado/api.js.map +1 -0
  17. package/dist/backends/ado/index.d.ts +6 -12
  18. package/dist/backends/ado/index.js +201 -349
  19. package/dist/backends/ado/index.js.map +1 -1
  20. package/dist/backends/availability.js +1 -1
  21. package/dist/backends/availability.js.map +1 -1
  22. package/dist/backends/factory.js +2 -2
  23. package/dist/backends/factory.js.map +1 -1
  24. package/dist/backends/gitlab/api.d.ts +14 -0
  25. package/dist/backends/gitlab/api.js +53 -0
  26. package/dist/backends/gitlab/api.js.map +1 -0
  27. package/dist/backends/gitlab/index.d.ts +15 -13
  28. package/dist/backends/gitlab/index.js +425 -357
  29. package/dist/backends/gitlab/index.js.map +1 -1
  30. package/dist/backends/gitlab/mappers.d.ts +50 -28
  31. package/dist/backends/gitlab/mappers.js +30 -31
  32. package/dist/backends/gitlab/mappers.js.map +1 -1
  33. package/dist/backends/gitlab/remote.d.ts +7 -0
  34. package/dist/backends/gitlab/remote.js +32 -0
  35. package/dist/backends/gitlab/remote.js.map +1 -0
  36. package/dist/cli/commands/auth.d.ts +5 -3
  37. package/dist/cli/commands/auth.js +61 -4
  38. package/dist/cli/commands/auth.js.map +1 -1
  39. package/dist/cli/commands/mcp.js +17 -17
  40. package/dist/cli/commands/mcp.js.map +1 -1
  41. package/dist/cli/index.js +5 -4
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/components/AuthPrompt.d.ts +1 -0
  44. package/dist/components/AuthPrompt.js +37 -0
  45. package/dist/components/AuthPrompt.js.map +1 -0
  46. package/dist/components/Header.js +10 -2
  47. package/dist/components/Header.js.map +1 -1
  48. package/dist/components/HelpScreen.js +1 -2
  49. package/dist/components/HelpScreen.js.map +1 -1
  50. package/dist/components/OverlayPanel.d.ts +4 -1
  51. package/dist/components/OverlayPanel.js +5 -3
  52. package/dist/components/OverlayPanel.js.map +1 -1
  53. package/dist/components/StatusScreen.js +2 -1
  54. package/dist/components/StatusScreen.js.map +1 -1
  55. package/dist/components/WorkItemList.js +62 -51
  56. package/dist/components/WorkItemList.js.map +1 -1
  57. package/dist/stores/backendDataStore.d.ts +15 -0
  58. package/dist/stores/backendDataStore.js +97 -5
  59. package/dist/stores/backendDataStore.js.map +1 -1
  60. package/dist/stores/uiStore.d.ts +1 -3
  61. package/dist/stores/uiStore.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/backends/ado/az.d.ts +0 -28
  64. package/dist/backends/ado/az.js +0 -162
  65. package/dist/backends/ado/az.js.map +0 -1
  66. package/dist/backends/gitlab/glab.d.ts +0 -6
  67. package/dist/backends/gitlab/glab.js +0 -43
  68. package/dist/backends/gitlab/glab.js.map +0 -1
  69. package/dist/backends/gitlab/group.d.ts +0 -1
  70. package/dist/backends/gitlab/group.js +0 -33
  71. package/dist/backends/gitlab/group.js.map +0 -1
@@ -30,8 +30,10 @@ export const defaultCapabilities = {
30
30
  };
31
31
  // Module-level references (not reactive state)
32
32
  let currentBackend = null;
33
+ let currentCwd = null;
33
34
  let initGeneration = 0;
34
35
  async function createBackendAndSync(cwd) {
36
+ currentCwd = cwd;
35
37
  const { Storage } = await import('../storage/index.js');
36
38
  const primary = Storage.create(cwd);
37
39
  // Set up stores with SQLite backing
@@ -40,18 +42,27 @@ async function createBackendAndSync(cwd) {
40
42
  // Re-read config from DB (may have been loaded with defaults before DB was available)
41
43
  await configStore.getState().init(cwd);
42
44
  const config = configStore.getState().config;
45
+ const backendType = config.backend ?? 'none';
43
46
  const { createRemoteBackend } = await import('../backends/factory.js');
44
47
  let remote = null;
48
+ let authError = null;
45
49
  try {
46
- remote = await createRemoteBackend(cwd, config.backend ?? 'none', {
50
+ remote = await createRemoteBackend(cwd, backendType, {
47
51
  skipAuth: true,
48
52
  });
49
53
  }
50
54
  catch (err) {
51
55
  // Auth errors are non-fatal — local backend still works, sync is just disabled
52
56
  const { AuthError } = await import('../backends/shared/api-client.js');
53
- if (!(err instanceof AuthError))
57
+ if (err instanceof AuthError) {
58
+ authError = {
59
+ backendType,
60
+ message: err.message,
61
+ };
62
+ }
63
+ else {
54
64
  throw err;
65
+ }
55
66
  }
56
67
  let syncManager = null;
57
68
  let queue = null;
@@ -61,7 +72,7 @@ async function createBackendAndSync(cwd) {
61
72
  queue = new SyncQueue(primary.getDatabase());
62
73
  syncManager = new SM(primary, remote, queue);
63
74
  }
64
- return { backend: primary, syncManager, queue };
75
+ return { backend: primary, syncManager, queue, authError };
65
76
  }
66
77
  export const backendDataStore = createStore((set, get) => ({
67
78
  items: [],
@@ -76,6 +87,9 @@ export const backendDataStore = createStore((set, get) => ({
76
87
  loading: false,
77
88
  error: null,
78
89
  syncStatus: null,
90
+ authPrompt: null,
91
+ authFlow: null,
92
+ authDismissed: false,
79
93
  backend: null,
80
94
  syncManager: null,
81
95
  queue: null,
@@ -84,11 +98,11 @@ export const backendDataStore = createStore((set, get) => ({
84
98
  const generation = ++initGeneration;
85
99
  set({ loading: true });
86
100
  void createBackendAndSync(cwd)
87
- .then(({ backend, syncManager, queue }) => {
101
+ .then(({ backend, syncManager, queue, authError }) => {
88
102
  if (generation !== initGeneration)
89
103
  return;
90
104
  currentBackend = backend;
91
- set({ backend, syncManager, queue });
105
+ set({ backend, syncManager, queue, authPrompt: authError });
92
106
  if (syncManager) {
93
107
  syncManager.onStatusChange((status) => {
94
108
  if (generation !== initGeneration)
@@ -182,6 +196,80 @@ export const backendDataStore = createStore((set, get) => ({
182
196
  setSyncStatus(status) {
183
197
  set({ syncStatus: status });
184
198
  },
199
+ dismissAuthPrompt() {
200
+ set({ authPrompt: null, authFlow: null, authDismissed: true });
201
+ },
202
+ async startAuthFlow() {
203
+ const { authPrompt } = get();
204
+ if (!authPrompt || !currentCwd)
205
+ return;
206
+ set({ authFlow: { state: 'waiting' } });
207
+ try {
208
+ const onCode = (userCode, verificationUri) => {
209
+ set({
210
+ authFlow: {
211
+ state: 'code-ready',
212
+ userCode,
213
+ verificationUri,
214
+ },
215
+ });
216
+ };
217
+ switch (authPrompt.backendType) {
218
+ case 'github': {
219
+ const { authenticateGitHub } = await import('../auth/github.js');
220
+ await authenticateGitHub({ onCode });
221
+ break;
222
+ }
223
+ case 'gitlab': {
224
+ const { authenticateGitLab } = await import('../auth/gitlab.js');
225
+ await authenticateGitLab({ onCode });
226
+ break;
227
+ }
228
+ case 'azure': {
229
+ const { authenticateAdo } = await import('../auth/ado.js');
230
+ await authenticateAdo({ onCode });
231
+ break;
232
+ }
233
+ default:
234
+ throw new Error(`Unsupported auth provider: ${authPrompt.backendType}`);
235
+ }
236
+ // Auth succeeded — create remote backend and sync
237
+ const generation = initGeneration;
238
+ const { createRemoteBackend } = await import('../backends/factory.js');
239
+ const remote = await createRemoteBackend(currentCwd, authPrompt.backendType);
240
+ if (generation !== initGeneration || !remote || !currentBackend) {
241
+ return;
242
+ }
243
+ const { SyncManager: SM } = await import('../sync/SyncManager.js');
244
+ const { SyncQueue } = await import('../storage/syncQueue.js');
245
+ const primary = currentBackend;
246
+ const queue = new SyncQueue(primary.getDatabase());
247
+ const syncManager = new SM(primary, remote, queue);
248
+ syncManager.onStatusChange((status) => {
249
+ if (generation !== initGeneration)
250
+ return;
251
+ get().setSyncStatus(status);
252
+ if (status.state === 'idle') {
253
+ void get().refresh();
254
+ }
255
+ });
256
+ set({
257
+ syncManager,
258
+ queue,
259
+ authPrompt: null,
260
+ authFlow: null,
261
+ });
262
+ syncManager.sync().catch(() => { });
263
+ }
264
+ catch (err) {
265
+ set({
266
+ authFlow: {
267
+ state: 'error',
268
+ error: err instanceof Error ? err.message : String(err),
269
+ },
270
+ });
271
+ }
272
+ },
185
273
  destroy() {
186
274
  ++initGeneration;
187
275
  // Null out store DB references before closing the connection
@@ -191,6 +279,7 @@ export const backendDataStore = createStore((set, get) => ({
191
279
  currentBackend.destroy();
192
280
  }
193
281
  currentBackend = null;
282
+ currentCwd = null;
194
283
  set({
195
284
  items: [],
196
285
  capabilities: { ...defaultCapabilities },
@@ -204,6 +293,9 @@ export const backendDataStore = createStore((set, get) => ({
204
293
  loading: false,
205
294
  error: null,
206
295
  syncStatus: null,
296
+ authPrompt: null,
297
+ authFlow: null,
298
+ authDismissed: false,
207
299
  backend: null,
208
300
  syncManager: null,
209
301
  queue: null,
@@ -1 +1 @@
1
- {"version":3,"file":"backendDataStore.js","sourceRoot":"","sources":["../../src/stores/backendDataStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backendDataStore.js","sourceRoot":"","sources":["../../src/stores/backendDataStore.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  export type ActiveOverlay = {
2
- type: 'search';
3
- } | {
4
- type: 'command-palette';
2
+ type: 'command-bar';
5
3
  } | {
6
4
  type: 'bulk-menu';
7
5
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"uiStore.js","sourceRoot":"","sources":["../../src/stores/uiStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAwCnC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IAEX,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACzD,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAChD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;IAC1E,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACtC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CACpE,CAAC,CAAC,CAAC;AAEJ,MAAM,UAAU,UAAU,CAAI,QAAoC;IAChE,OAAO,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACjD,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"uiStore.js","sourceRoot":"","sources":["../../src/stores/uiStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAuCnC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IAEX,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACzD,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAChD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;IAC1E,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACtC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CACpE,CAAC,CAAC,CAAC;AAEJ,MAAM,UAAU,UAAU,CAAI,QAAoC;IAChE,OAAO,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACjD,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sascha384/tic",
3
- "version": "2.1.0",
3
+ "version": "4.0.0",
4
4
  "description": "Terminal UI for issue tracking",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,28 +0,0 @@
1
- /** Sync variant — only for constructor use (account check, work item types). */
2
- export declare function azSync<T>(args: string[], cwd: string): T;
3
- /** Sync variant — only for constructor use. */
4
- export declare function azExecSync(args: string[], cwd: string): string;
5
- export declare function az<T>(args: string[], cwd: string): Promise<T>;
6
- export declare function azExec(args: string[], cwd: string): Promise<string>;
7
- export interface AzInvokeOptions {
8
- area: string;
9
- resource: string;
10
- httpMethod?: string;
11
- routeParameters?: string;
12
- body?: unknown;
13
- apiVersion?: string;
14
- }
15
- /** Sync variant — only for constructor use. */
16
- export declare function azInvokeSync<T>(options: AzInvokeOptions, cwd: string): T;
17
- export interface AzRestOptions {
18
- url: string;
19
- httpMethod?: string;
20
- body?: unknown;
21
- }
22
- /**
23
- * Call Azure DevOps REST APIs directly via `az rest`.
24
- * Use this instead of azInvoke for preview APIs that
25
- * `az devops invoke` cannot handle (it fails to parse preview version strings).
26
- */
27
- export declare function azRest<T>(options: AzRestOptions, cwd: string): Promise<T>;
28
- export declare function azInvoke<T>(options: AzInvokeOptions, cwd: string): Promise<T>;
@@ -1,162 +0,0 @@
1
- import { execFile, execFileSync } from 'node:child_process';
2
- import { promisify } from 'node:util';
3
- import fs from 'node:fs';
4
- import fsp from 'node:fs/promises';
5
- import os from 'node:os';
6
- import path from 'node:path';
7
- const execFileAsync = promisify(execFile);
8
- const AZ_TIMEOUT_MS = 15_000;
9
- const AZ_MAX_BUFFER = 10 * 1024 * 1024; // 10 MB
10
- /** Sync variant — only for constructor use (account check, work item types). */
11
- export function azSync(args, cwd) {
12
- const result = execFileSync('az', [...args, '-o', 'json'], {
13
- cwd,
14
- encoding: 'utf-8',
15
- stdio: ['pipe', 'pipe', 'pipe'],
16
- timeout: AZ_TIMEOUT_MS,
17
- maxBuffer: AZ_MAX_BUFFER,
18
- });
19
- return JSON.parse(result);
20
- }
21
- /** Sync variant — only for constructor use. */
22
- export function azExecSync(args, cwd) {
23
- return execFileSync('az', args, {
24
- cwd,
25
- encoding: 'utf-8',
26
- stdio: ['pipe', 'pipe', 'pipe'],
27
- timeout: AZ_TIMEOUT_MS,
28
- maxBuffer: AZ_MAX_BUFFER,
29
- });
30
- }
31
- export async function az(args, cwd) {
32
- const { stdout } = await execFileAsync('az', [...args, '-o', 'json'], {
33
- cwd,
34
- encoding: 'utf-8',
35
- timeout: AZ_TIMEOUT_MS,
36
- maxBuffer: AZ_MAX_BUFFER,
37
- });
38
- return JSON.parse(stdout);
39
- }
40
- export async function azExec(args, cwd) {
41
- const { stdout } = await execFileAsync('az', args, {
42
- cwd,
43
- encoding: 'utf-8',
44
- timeout: AZ_TIMEOUT_MS,
45
- maxBuffer: AZ_MAX_BUFFER,
46
- });
47
- return stdout;
48
- }
49
- /** Sync variant — only for constructor use. */
50
- export function azInvokeSync(options, cwd) {
51
- const args = [
52
- 'devops',
53
- 'invoke',
54
- '--area',
55
- options.area,
56
- '--resource',
57
- options.resource,
58
- ];
59
- if (options.httpMethod) {
60
- args.push('--http-method', options.httpMethod);
61
- }
62
- if (options.routeParameters) {
63
- args.push('--route-parameters', options.routeParameters);
64
- }
65
- if (options.apiVersion) {
66
- args.push('--api-version', options.apiVersion);
67
- }
68
- let tmpFile;
69
- if (options.body) {
70
- tmpFile = path.join(os.tmpdir(), `tic-az-${Date.now()}.json`);
71
- fs.writeFileSync(tmpFile, JSON.stringify(options.body));
72
- args.push('--in-file', tmpFile);
73
- }
74
- try {
75
- const result = execFileSync('az', [...args, '-o', 'json'], {
76
- cwd,
77
- encoding: 'utf-8',
78
- stdio: ['pipe', 'pipe', 'pipe'],
79
- timeout: AZ_TIMEOUT_MS,
80
- maxBuffer: AZ_MAX_BUFFER,
81
- });
82
- return JSON.parse(result);
83
- }
84
- finally {
85
- if (tmpFile) {
86
- fs.unlinkSync(tmpFile);
87
- }
88
- }
89
- }
90
- /**
91
- * Call Azure DevOps REST APIs directly via `az rest`.
92
- * Use this instead of azInvoke for preview APIs that
93
- * `az devops invoke` cannot handle (it fails to parse preview version strings).
94
- */
95
- export async function azRest(options, cwd) {
96
- const args = ['rest', '--uri', options.url];
97
- if (options.httpMethod) {
98
- args.push('--method', options.httpMethod);
99
- }
100
- let tmpFile;
101
- if (options.body) {
102
- tmpFile = path.join(os.tmpdir(), `tic-az-${Date.now()}.json`);
103
- await fsp.writeFile(tmpFile, JSON.stringify(options.body));
104
- args.push('--body', `@${tmpFile}`);
105
- }
106
- // Azure DevOps resource ID for authentication
107
- args.push('--resource', '499b84ac-1321-427f-aa17-267ca6975798');
108
- try {
109
- const { stdout } = await execFileAsync('az', args, {
110
- cwd,
111
- encoding: 'utf-8',
112
- timeout: AZ_TIMEOUT_MS,
113
- maxBuffer: AZ_MAX_BUFFER,
114
- });
115
- return JSON.parse(stdout);
116
- }
117
- finally {
118
- if (tmpFile) {
119
- await fsp.unlink(tmpFile);
120
- }
121
- }
122
- }
123
- export async function azInvoke(options, cwd) {
124
- const args = [
125
- 'devops',
126
- 'invoke',
127
- '--area',
128
- options.area,
129
- '--resource',
130
- options.resource,
131
- ];
132
- if (options.httpMethod) {
133
- args.push('--http-method', options.httpMethod);
134
- }
135
- if (options.routeParameters) {
136
- args.push('--route-parameters', options.routeParameters);
137
- }
138
- if (options.apiVersion) {
139
- args.push('--api-version', options.apiVersion);
140
- }
141
- let tmpFile;
142
- if (options.body) {
143
- tmpFile = path.join(os.tmpdir(), `tic-az-${Date.now()}.json`);
144
- await fsp.writeFile(tmpFile, JSON.stringify(options.body));
145
- args.push('--in-file', tmpFile);
146
- }
147
- try {
148
- const { stdout } = await execFileAsync('az', [...args, '-o', 'json'], {
149
- cwd,
150
- encoding: 'utf-8',
151
- timeout: AZ_TIMEOUT_MS,
152
- maxBuffer: AZ_MAX_BUFFER,
153
- });
154
- return JSON.parse(stdout);
155
- }
156
- finally {
157
- if (tmpFile) {
158
- await fsp.unlink(tmpFile);
159
- }
160
- }
161
- }
162
- //# sourceMappingURL=az.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"az.js","sourceRoot":"","sources":["../../../src/backends/ado/az.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /** Sync variant — only for constructor use (auth check). */
2
- export declare function glabSync<T>(args: string[], cwd: string): T;
3
- /** Sync variant — only for constructor use (auth check). */
4
- export declare function glabExecSync(args: string[], cwd: string): string;
5
- export declare function glab<T>(args: string[], cwd: string): Promise<T>;
6
- export declare function glabExec(args: string[], cwd: string): Promise<string>;
@@ -1,43 +0,0 @@
1
- import { execFile, execFileSync } from 'node:child_process';
2
- import { promisify } from 'node:util';
3
- const execFileAsync = promisify(execFile);
4
- /** Sync variant — only for constructor use (auth check). */
5
- export function glabSync(args, cwd) {
6
- const result = execFileSync('glab', args, {
7
- cwd,
8
- encoding: 'utf-8',
9
- stdio: ['pipe', 'pipe', 'pipe'],
10
- });
11
- const trimmed = result.trim();
12
- if (!trimmed || (!trimmed.startsWith('[') && !trimmed.startsWith('{'))) {
13
- return [];
14
- }
15
- return JSON.parse(trimmed);
16
- }
17
- /** Sync variant — only for constructor use (auth check). */
18
- export function glabExecSync(args, cwd) {
19
- return execFileSync('glab', args, {
20
- cwd,
21
- encoding: 'utf-8',
22
- stdio: ['pipe', 'pipe', 'pipe'],
23
- });
24
- }
25
- export async function glab(args, cwd) {
26
- const { stdout } = await execFileAsync('glab', args, {
27
- cwd,
28
- encoding: 'utf-8',
29
- });
30
- const trimmed = stdout.trim();
31
- if (!trimmed || (!trimmed.startsWith('[') && !trimmed.startsWith('{'))) {
32
- return [];
33
- }
34
- return JSON.parse(trimmed);
35
- }
36
- export async function glabExec(args, cwd) {
37
- const { stdout } = await execFileAsync('glab', args, {
38
- cwd,
39
- encoding: 'utf-8',
40
- });
41
- return stdout;
42
- }
43
- //# sourceMappingURL=glab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glab.js","sourceRoot":"","sources":["../../../src/backends/gitlab/glab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,4DAA4D;AAC5D,MAAM,UAAU,QAAQ,CAAI,IAAc,EAAE,GAAW;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;QACxC,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,EAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,GAAW;IACtD,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;QAChC,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAI,IAAc,EAAE,GAAW;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE;QACnD,GAAG;QACH,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,EAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAW;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE;QACnD,GAAG;QACH,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- export declare function detectGroup(cwd: string): string;
@@ -1,33 +0,0 @@
1
- import { execSync } from 'node:child_process';
2
- export function detectGroup(cwd) {
3
- const output = execSync('git remote -v', {
4
- cwd,
5
- encoding: 'utf-8',
6
- stdio: ['pipe', 'pipe', 'pipe'],
7
- });
8
- const lines = output.split('\n');
9
- for (const line of lines) {
10
- // SSH: git@gitlab.com:group/subgroup/project.git
11
- const sshMatch = line.match(/gitlab\.com:(.+?)\.git/);
12
- if (sshMatch) {
13
- const fullPath = sshMatch[1];
14
- const segments = fullPath.split('/');
15
- if (segments.length < 2) {
16
- throw new Error(`Invalid GitLab remote path: ${fullPath} (expected group/project)`);
17
- }
18
- return segments.slice(0, -1).join('/');
19
- }
20
- // HTTPS: https://gitlab.com/group/subgroup/project.git
21
- const httpsMatch = line.match(/gitlab\.com\/(.+?)\.git/);
22
- if (httpsMatch) {
23
- const fullPath = httpsMatch[1];
24
- const segments = fullPath.split('/');
25
- if (segments.length < 2) {
26
- throw new Error(`Invalid GitLab remote path: ${fullPath} (expected group/project)`);
27
- }
28
- return segments.slice(0, -1).join('/');
29
- }
30
- }
31
- throw new Error('No GitLab remote found in git remotes');
32
- }
33
- //# sourceMappingURL=group.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/backends/gitlab/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,EAAE;QACvC,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,2BAA2B,CACnE,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,uDAAuD;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,2BAA2B,CACnE,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC"}