@proletariat/cli 0.3.77 → 0.3.79
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.
- package/dist/commands/pr/create.js +3 -0
- package/dist/commands/pr/create.js.map +1 -1
- package/dist/commands/work/ready.js +3 -0
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/start.js +2 -1
- package/dist/commands/work/start.js.map +1 -1
- package/dist/lib/database/migrations/0005_provider_status_mapping.d.ts +2 -0
- package/dist/lib/database/migrations/0005_provider_status_mapping.js +35 -0
- package/dist/lib/database/migrations/0005_provider_status_mapping.js.map +1 -0
- package/dist/lib/database/migrations/index.js +2 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/pmo/storage/tickets.d.ts +0 -8
- package/dist/lib/pmo/storage/tickets.js +6 -52
- package/dist/lib/pmo/storage/tickets.js.map +1 -1
- package/dist/lib/pmo/sync-manager.js +13 -2
- package/dist/lib/pmo/sync-manager.js.map +1 -1
- package/dist/lib/providers/event-emitting-provider.d.ts +64 -0
- package/dist/lib/providers/event-emitting-provider.js +129 -0
- package/dist/lib/providers/event-emitting-provider.js.map +1 -0
- package/dist/lib/providers/index.d.ts +3 -0
- package/dist/lib/providers/index.js +3 -0
- package/dist/lib/providers/index.js.map +1 -1
- package/dist/lib/providers/resolver.d.ts +11 -0
- package/dist/lib/providers/resolver.js +85 -6
- package/dist/lib/providers/resolver.js.map +1 -1
- package/dist/lib/providers/status-mapping.d.ts +64 -0
- package/dist/lib/providers/status-mapping.js +136 -0
- package/dist/lib/providers/status-mapping.js.map +1 -0
- package/dist/lib/providers/trigger-config.d.ts +98 -0
- package/dist/lib/providers/trigger-config.js +204 -0
- package/dist/lib/providers/trigger-config.js.map +1 -0
- package/dist/lib/repos/git.d.ts +51 -0
- package/dist/lib/repos/git.js +99 -0
- package/dist/lib/repos/git.js.map +1 -1
- package/dist/lib/telemetry/analytics.d.ts +9 -3
- package/dist/lib/telemetry/analytics.js +32 -12
- package/dist/lib/telemetry/analytics.js.map +1 -1
- package/dist/lib/work-lifecycle/adapter.d.ts +45 -10
- package/dist/lib/work-lifecycle/adapter.js +52 -58
- package/dist/lib/work-lifecycle/adapter.js.map +1 -1
- package/oclif.manifest.json +2617 -2616
- package/package.json +1 -1
package/dist/lib/repos/git.d.ts
CHANGED
|
@@ -66,3 +66,54 @@ export declare function parseGitHubOwnerRepo(url: string): string | null;
|
|
|
66
66
|
* @returns true if archived, false if not archived or if the check fails
|
|
67
67
|
*/
|
|
68
68
|
export declare function checkGitHubRepoArchived(ownerRepo: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Detect if a GitHub repository has been transferred to a new org/owner.
|
|
71
|
+
*
|
|
72
|
+
* Queries the GitHub API with the local remote's owner/repo and compares
|
|
73
|
+
* the API-returned full_name to detect if the repo was transferred.
|
|
74
|
+
* GitHub automatically redirects API calls for transferred repos.
|
|
75
|
+
*
|
|
76
|
+
* @param cwd - Working directory of the git repo
|
|
77
|
+
* @returns Object with transfer details, or null if no transfer detected or check fails
|
|
78
|
+
*/
|
|
79
|
+
export declare function detectTransferredRepo(cwd?: string): {
|
|
80
|
+
oldOwnerRepo: string;
|
|
81
|
+
newOwnerRepo: string;
|
|
82
|
+
} | null;
|
|
83
|
+
/**
|
|
84
|
+
* Build a new remote URL preserving the original URL format (HTTPS or SSH).
|
|
85
|
+
*
|
|
86
|
+
* @param originalUrl - The original remote URL (used to determine format)
|
|
87
|
+
* @param newOwnerRepo - The new "owner/repo" to use
|
|
88
|
+
* @returns The new URL in the same format as the original
|
|
89
|
+
*/
|
|
90
|
+
export declare function buildRemoteUrl(originalUrl: string, newOwnerRepo: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* Detect if a repo has been transferred and update the origin remote URL if so.
|
|
93
|
+
*
|
|
94
|
+
* @param cwd - Working directory of the git repo
|
|
95
|
+
* @returns Object describing what happened, or null if no action taken
|
|
96
|
+
*/
|
|
97
|
+
export declare function detectAndFixTransferredRepo(cwd?: string): {
|
|
98
|
+
oldOwnerRepo: string;
|
|
99
|
+
newOwnerRepo: string;
|
|
100
|
+
oldUrl: string;
|
|
101
|
+
newUrl: string;
|
|
102
|
+
} | null;
|
|
103
|
+
/**
|
|
104
|
+
* Ensure the git remote is up to date before push/PR operations.
|
|
105
|
+
*
|
|
106
|
+
* This is the single entry point that should be called at the command level
|
|
107
|
+
* (in pr create and work ready) before any push or PR creation.
|
|
108
|
+
* It detects transferred repos and updates the remote URL.
|
|
109
|
+
*
|
|
110
|
+
* @param cwd - Working directory of the git repo
|
|
111
|
+
* @param log - Optional callback for logging messages to the user
|
|
112
|
+
* @returns Object describing what happened, or null if no action taken
|
|
113
|
+
*/
|
|
114
|
+
export declare function ensureRemoteUpToDate(cwd?: string, log?: (message: string) => void): {
|
|
115
|
+
oldOwnerRepo: string;
|
|
116
|
+
newOwnerRepo: string;
|
|
117
|
+
oldUrl: string;
|
|
118
|
+
newUrl: string;
|
|
119
|
+
} | null;
|
package/dist/lib/repos/git.js
CHANGED
|
@@ -180,4 +180,103 @@ export function checkGitHubRepoArchived(ownerRepo) {
|
|
|
180
180
|
return false;
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Detect if a GitHub repository has been transferred to a new org/owner.
|
|
185
|
+
*
|
|
186
|
+
* Queries the GitHub API with the local remote's owner/repo and compares
|
|
187
|
+
* the API-returned full_name to detect if the repo was transferred.
|
|
188
|
+
* GitHub automatically redirects API calls for transferred repos.
|
|
189
|
+
*
|
|
190
|
+
* @param cwd - Working directory of the git repo
|
|
191
|
+
* @returns Object with transfer details, or null if no transfer detected or check fails
|
|
192
|
+
*/
|
|
193
|
+
export function detectTransferredRepo(cwd) {
|
|
194
|
+
const originUrl = getOriginUrl(cwd || process.cwd());
|
|
195
|
+
if (!originUrl)
|
|
196
|
+
return null;
|
|
197
|
+
const localOwnerRepo = parseGitHubOwnerRepo(originUrl);
|
|
198
|
+
if (!localOwnerRepo)
|
|
199
|
+
return null;
|
|
200
|
+
try {
|
|
201
|
+
const result = execSync(`gh api repos/${localOwnerRepo} -q .full_name`, {
|
|
202
|
+
cwd,
|
|
203
|
+
encoding: 'utf-8',
|
|
204
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
205
|
+
}).trim();
|
|
206
|
+
if (!result)
|
|
207
|
+
return null;
|
|
208
|
+
// Compare case-insensitively since GitHub treats owner/repo as case-insensitive
|
|
209
|
+
if (result.toLowerCase() !== localOwnerRepo.toLowerCase()) {
|
|
210
|
+
return { oldOwnerRepo: localOwnerRepo, newOwnerRepo: result };
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
// API call failed — don't block the user
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Build a new remote URL preserving the original URL format (HTTPS or SSH).
|
|
221
|
+
*
|
|
222
|
+
* @param originalUrl - The original remote URL (used to determine format)
|
|
223
|
+
* @param newOwnerRepo - The new "owner/repo" to use
|
|
224
|
+
* @returns The new URL in the same format as the original
|
|
225
|
+
*/
|
|
226
|
+
export function buildRemoteUrl(originalUrl, newOwnerRepo) {
|
|
227
|
+
// SSH format: git@github.com:owner/repo.git
|
|
228
|
+
if (originalUrl.startsWith('git@github.com:')) {
|
|
229
|
+
const hadGitSuffix = originalUrl.endsWith('.git');
|
|
230
|
+
return `git@github.com:${newOwnerRepo}${hadGitSuffix ? '.git' : ''}`;
|
|
231
|
+
}
|
|
232
|
+
// SSH alternative: ssh://git@github.com/owner/repo.git
|
|
233
|
+
if (originalUrl.startsWith('ssh://git@github.com/')) {
|
|
234
|
+
const hadGitSuffix = originalUrl.endsWith('.git');
|
|
235
|
+
return `ssh://git@github.com/${newOwnerRepo}${hadGitSuffix ? '.git' : ''}`;
|
|
236
|
+
}
|
|
237
|
+
// HTTPS format: https://github.com/owner/repo.git
|
|
238
|
+
const hadGitSuffix = originalUrl.endsWith('.git');
|
|
239
|
+
return `https://github.com/${newOwnerRepo}${hadGitSuffix ? '.git' : ''}`;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Detect if a repo has been transferred and update the origin remote URL if so.
|
|
243
|
+
*
|
|
244
|
+
* @param cwd - Working directory of the git repo
|
|
245
|
+
* @returns Object describing what happened, or null if no action taken
|
|
246
|
+
*/
|
|
247
|
+
export function detectAndFixTransferredRepo(cwd) {
|
|
248
|
+
const transfer = detectTransferredRepo(cwd);
|
|
249
|
+
if (!transfer)
|
|
250
|
+
return null;
|
|
251
|
+
const repoPath = cwd || process.cwd();
|
|
252
|
+
const originUrl = getOriginUrl(repoPath);
|
|
253
|
+
if (!originUrl)
|
|
254
|
+
return null;
|
|
255
|
+
const newUrl = buildRemoteUrl(originUrl, transfer.newOwnerRepo);
|
|
256
|
+
setOriginUrl(repoPath, newUrl);
|
|
257
|
+
return {
|
|
258
|
+
oldOwnerRepo: transfer.oldOwnerRepo,
|
|
259
|
+
newOwnerRepo: transfer.newOwnerRepo,
|
|
260
|
+
oldUrl: originUrl,
|
|
261
|
+
newUrl,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Ensure the git remote is up to date before push/PR operations.
|
|
266
|
+
*
|
|
267
|
+
* This is the single entry point that should be called at the command level
|
|
268
|
+
* (in pr create and work ready) before any push or PR creation.
|
|
269
|
+
* It detects transferred repos and updates the remote URL.
|
|
270
|
+
*
|
|
271
|
+
* @param cwd - Working directory of the git repo
|
|
272
|
+
* @param log - Optional callback for logging messages to the user
|
|
273
|
+
* @returns Object describing what happened, or null if no action taken
|
|
274
|
+
*/
|
|
275
|
+
export function ensureRemoteUpToDate(cwd, log) {
|
|
276
|
+
const result = detectAndFixTransferredRepo(cwd);
|
|
277
|
+
if (result && log) {
|
|
278
|
+
log(`Repo transferred: ${result.oldOwnerRepo} → ${result.newOwnerRepo}. Updated remote URL.`);
|
|
279
|
+
}
|
|
280
|
+
return result;
|
|
281
|
+
}
|
|
183
282
|
//# sourceMappingURL=git.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/lib/repos/git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/lib/repos/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,8 +117,14 @@ export declare function trackMCPToolCalled(options: {
|
|
|
117
117
|
success: boolean;
|
|
118
118
|
}): void;
|
|
119
119
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
120
|
+
* Wait for Statsig init to complete (so queued events get flushed), then
|
|
121
|
+
* shut down the client. Uses a timeout to avoid blocking CLI exit if
|
|
122
|
+
* Statsig is slow (e.g., first run with no cache). After the first
|
|
123
|
+
* successful init, Statsig caches its config locally so subsequent
|
|
124
|
+
* initializations resolve in < 100 ms.
|
|
125
|
+
*
|
|
126
|
+
* Events written during this command run (e.g., by trackCommandRun in
|
|
127
|
+
* postrun) will be on disk and flushed on the next run — this is by
|
|
128
|
+
* design (WAL guarantee: one-command delay for current-run events).
|
|
123
129
|
*/
|
|
124
130
|
export declare function shutdownAnalytics(): Promise<void>;
|
|
@@ -378,25 +378,45 @@ export function trackMCPToolCalled(options) {
|
|
|
378
378
|
});
|
|
379
379
|
}
|
|
380
380
|
// ─── Shutdown ────────────────────────────────────────────────────────────────
|
|
381
|
+
/** Maximum time (ms) to wait for Statsig init before giving up during shutdown. */
|
|
382
|
+
const SHUTDOWN_INIT_TIMEOUT_MS = 3000;
|
|
381
383
|
/**
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
*
|
|
384
|
+
* Wait for Statsig init to complete (so queued events get flushed), then
|
|
385
|
+
* shut down the client. Uses a timeout to avoid blocking CLI exit if
|
|
386
|
+
* Statsig is slow (e.g., first run with no cache). After the first
|
|
387
|
+
* successful init, Statsig caches its config locally so subsequent
|
|
388
|
+
* initializations resolve in < 100 ms.
|
|
389
|
+
*
|
|
390
|
+
* Events written during this command run (e.g., by trackCommandRun in
|
|
391
|
+
* postrun) will be on disk and flushed on the next run — this is by
|
|
392
|
+
* design (WAL guarantee: one-command delay for current-run events).
|
|
385
393
|
*/
|
|
386
394
|
export async function shutdownAnalytics() {
|
|
387
|
-
//
|
|
388
|
-
//
|
|
395
|
+
// Await the in-progress Statsig init so it can flush queued events from
|
|
396
|
+
// previous runs. Without this, the init promise sees analyticsShutdown=true
|
|
397
|
+
// and bails before calling flushQueuedEvents(), causing the queue to grow
|
|
398
|
+
// indefinitely (see PRLT-1013).
|
|
399
|
+
if (initPromise) {
|
|
400
|
+
try {
|
|
401
|
+
await Promise.race([
|
|
402
|
+
initPromise,
|
|
403
|
+
new Promise(resolve => setTimeout(resolve, SHUTDOWN_INIT_TIMEOUT_MS)),
|
|
404
|
+
]);
|
|
405
|
+
}
|
|
406
|
+
catch {
|
|
407
|
+
// Ignore init errors — events are safely on disk
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
// Now mark as shut down so any late-resolving init promise (after timeout)
|
|
411
|
+
// won't set statsigClient or flush the queue
|
|
389
412
|
analyticsShutdown = true;
|
|
390
|
-
// Abandon any in-progress init — events are on disk, no need to wait
|
|
391
413
|
initPromise = null;
|
|
392
|
-
// Shut down the Statsig client if it initialized during this run.
|
|
393
|
-
// Do NOT flush the queue here — events written during this command
|
|
394
|
-
// (by trackCommandRun in the postrun hook) are safely on disk and will
|
|
395
|
-
// be flushed on the next command run when Statsig is warm. Flushing
|
|
396
|
-
// here would delete events from disk before we can confirm they were
|
|
397
|
-
// actually sent, violating the write-ahead log guarantee.
|
|
398
414
|
if (statsigClient) {
|
|
399
415
|
try {
|
|
416
|
+
// Flush events written during this run that arrived after the init
|
|
417
|
+
// promise's own flush (e.g., the command_run event from postrun).
|
|
418
|
+
// statsigClient.logEvent() buffers in memory; shutdown() sends them.
|
|
419
|
+
flushQueuedEvents();
|
|
400
420
|
statsigClient.shutdown();
|
|
401
421
|
}
|
|
402
422
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/lib/telemetry/analytics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/lib/telemetry/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElF,uEAAuE;AACvE,MAAM,kBAAkB,GAAG,oDAAoD,CAAA;AAE/E,uEAAuE;AACvE,MAAM,cAAc,GAAG,IAAI,CAAA;AA4C3B,qBAAqB;AACrB,IAAI,aAAa,GAAiC,IAAI,CAAA;AACtD,IAAI,eAAe,GAA2B,IAAI,CAAA;AAClD,IAAI,UAAU,GAAkB,IAAI,CAAA;AACpC,IAAI,WAAW,GAAyB,IAAI,CAAA;AAC5C,IAAI,iBAAiB,GAAG,KAAK,CAAA;AAE7B,gFAAgF;AAEhF,SAAS,sBAAsB;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,eAAe;QAAE,OAAO,eAAe,CAAA;IAE3C,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAA;IAE3C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACpD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAA;YACxD,OAAO,eAAe,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,eAAe,GAAG;QAChB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IAED,oBAAoB,CAAC,eAAe,CAAC,CAAA;IACrC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAuB;IACnD,sBAAsB,EAAE,CAAA;IACxB,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAA;IAC3C,MAAM,QAAQ,GAAG,GAAG,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAA;IAEnD,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QACpE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,2DAA2D;IAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACzF,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAE/G,uBAAuB;IACvB,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,OAAO,MAAM,CAAC,OAAO,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,eAAe,GAAG,MAAM,CAAA;IACxB,oBAAoB,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,eAAe,GAAG,MAAM,CAAA;IACxB,oBAAoB,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAMhC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IAEpC,8BAA8B;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACnG,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM,EAAE,CAAC;QAClG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAA;IAC9G,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACrF,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,mBAAmB;IAC1B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,IAAI,MAAM,CAAC,WAAW;QAAE,OAAM;IAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,kEAAkE;QAClE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;QACzB,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAC5B,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAA;IACjF,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAA;IACrG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,eAAe,GAAG,MAAM,CAAA;IACxB,oBAAoB,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,mBAAmB,EAAE,CAAC,SAAS,CAAA;AACxC,CAAC;AAED,gFAAgF;AAEhF,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,sBAAsB,CAAC,CAAA;AACjE,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,IAAI,CAAC;QACH,sBAAsB,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,IAAI,KAAK,GAAkB,EAAE,CAAA;QAE7B,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,KAAK,GAAG,MAAM,CAAA;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEjB,6CAA6C;QAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YAClC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAA;QACpD,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,GAAG,SAAS,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAA;QAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAC1D,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,SAAS,GAAG,GAAG,SAAS,UAAU,OAAO,CAAC,GAAG,EAAE,CAAA;IAErD,IAAI,CAAC;QACH,sDAAsD;QACtD,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;QAC3D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,aAAa;QAAE,OAAM;IAE1B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,UAAU,GAAG,OAAO,CAAA;IAEpB,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAM;IAEjC,mBAAmB,EAAE,CAAA;IAErB,mEAAmE;IACnE,6EAA6E;IAC7E,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAChF,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC,kBAAkB,EAClB,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAC7D,CAAA;YACD,MAAM,MAAM,CAAC,eAAe,EAAE,CAAA;YAE9B,sEAAsE;YACtE,mDAAmD;YACnD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,OAAM;YACR,CAAC;YAED,aAAa,GAAG,MAAM,CAAA;YAEtB,sEAAsE;YACtE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC/D,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAExB,gEAAgE;YAChE,iBAAiB,EAAE,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,oFAAoF;YACpF,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;AACN,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,KAA8B,EAAE,QAAyC;IACrH,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAM;IAEjC,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,cAAc,GAAkC,QAAQ;YAC5D,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CACzF;YACH,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE;gBAC7B,CAAC,CAAC,IAAI,CAAA;QAEV,iBAAiB,CAAC;YAChB,IAAI,EAAE,SAAS;YACf,KAAK;YACL,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAK/B;IACC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE;QAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC5C,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAKjC;IACC,UAAU,CAAC,eAAe,EAAE,IAAI,EAAE;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;KACrC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAIxC;IACC,UAAU,CAAC,sBAAsB,EAAE,IAAI,EAAE;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,OAAO,CAAC,WAAW;KAClC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAGlC;IACC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,EAAE;QAC/C,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;KACtC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAE9B;IACC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAGlC;IACC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE;QAClC,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;KACjC,CAAC,CAAA;AACJ,CAAC;AAED,gFAAgF;AAEhF,mFAAmF;AACnF,MAAM,wBAAwB,GAAG,IAAI,CAAA;AAErC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,gCAAgC;IAChC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,WAAW;gBACX,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;aAC5E,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,6CAA6C;IAC7C,iBAAiB,GAAG,IAAI,CAAA;IACxB,WAAW,GAAG,IAAI,CAAA;IAElB,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,mEAAmE;YACnE,kEAAkE;YAClE,qEAAqE;YACrE,iBAAiB,EAAE,CAAA;YACnB,aAAa,CAAC,QAAQ,EAAE,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QAED,aAAa,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC/D,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,25 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Work Lifecycle Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* PMO
|
|
6
|
-
*
|
|
4
|
+
* The adapter layer is the central event hub for all providers.
|
|
5
|
+
* All providers (PMO, Linear, Jira, Shortcut, Asana) are equal peers —
|
|
6
|
+
* any state change through any provider emits events here.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The adapter handles two event flows:
|
|
9
|
+
*
|
|
10
|
+
* 1. Provider-specific → domain: Translates ticket:* events (emitted by
|
|
11
|
+
* EventEmittingProvider after any provider operation) into work:*
|
|
12
|
+
* domain events. This enables backward-compatible ticket:* consumers
|
|
13
|
+
* (workflow rules, hooks) to coexist with provider-agnostic work:*
|
|
14
|
+
* consumers (outbound sync).
|
|
15
|
+
*
|
|
16
|
+
* 2. Direct domain events: work:* events emitted directly by
|
|
17
|
+
* EventEmittingProvider are already provider-agnostic, so no
|
|
18
|
+
* translation is needed — they flow straight to outbound sync.
|
|
19
|
+
*
|
|
20
|
+
* This architecture replaces the old model where PMO storage was the
|
|
21
|
+
* sole event source. Now events fire regardless of which provider
|
|
22
|
+
* initiated the change.
|
|
10
23
|
*/
|
|
24
|
+
import type { WorkEventSource } from './events.js';
|
|
11
25
|
/**
|
|
12
|
-
* WorkLifecycleAdapter
|
|
13
|
-
*
|
|
26
|
+
* WorkLifecycleAdapter is the event hub for all provider state changes.
|
|
27
|
+
*
|
|
28
|
+
* In the new architecture, EventEmittingProvider wraps each provider and
|
|
29
|
+
* emits both ticket:* (backward compat) and work:* (domain) events.
|
|
30
|
+
* The adapter layer no longer needs to translate between them — that
|
|
31
|
+
* responsibility moved to EventEmittingProvider.
|
|
32
|
+
*
|
|
33
|
+
* The adapter now serves as the coordination point and can be extended
|
|
34
|
+
* to register additional event sources (webhooks, polling, etc.).
|
|
14
35
|
*/
|
|
15
36
|
export declare class WorkLifecycleAdapter {
|
|
16
37
|
private unsubscribers;
|
|
38
|
+
private registeredSources;
|
|
39
|
+
/**
|
|
40
|
+
* Register a provider as an event source.
|
|
41
|
+
* This is informational — tracks which providers are active in the system.
|
|
42
|
+
*/
|
|
43
|
+
registerSource(source: WorkEventSource): void;
|
|
44
|
+
/**
|
|
45
|
+
* Get all registered event sources.
|
|
46
|
+
*/
|
|
47
|
+
getRegisteredSources(): ReadonlySet<WorkEventSource>;
|
|
17
48
|
/**
|
|
18
|
-
* Start the
|
|
49
|
+
* Start the adapter — sets up any cross-cutting event coordination.
|
|
50
|
+
*
|
|
51
|
+
* In the current architecture, EventEmittingProvider handles all event
|
|
52
|
+
* emission directly. The adapter provides extensibility for future
|
|
53
|
+
* cross-cutting concerns (event logging, metrics, deduplication).
|
|
19
54
|
*/
|
|
20
|
-
|
|
55
|
+
start(): void;
|
|
21
56
|
/**
|
|
22
|
-
* Stop
|
|
57
|
+
* Stop the adapter and unsubscribe from events.
|
|
23
58
|
*/
|
|
24
59
|
stop(): void;
|
|
25
60
|
}
|
|
@@ -1,79 +1,73 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Work Lifecycle Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* PMO
|
|
6
|
-
*
|
|
4
|
+
* The adapter layer is the central event hub for all providers.
|
|
5
|
+
* All providers (PMO, Linear, Jira, Shortcut, Asana) are equal peers —
|
|
6
|
+
* any state change through any provider emits events here.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The adapter handles two event flows:
|
|
9
|
+
*
|
|
10
|
+
* 1. Provider-specific → domain: Translates ticket:* events (emitted by
|
|
11
|
+
* EventEmittingProvider after any provider operation) into work:*
|
|
12
|
+
* domain events. This enables backward-compatible ticket:* consumers
|
|
13
|
+
* (workflow rules, hooks) to coexist with provider-agnostic work:*
|
|
14
|
+
* consumers (outbound sync).
|
|
15
|
+
*
|
|
16
|
+
* 2. Direct domain events: work:* events emitted directly by
|
|
17
|
+
* EventEmittingProvider are already provider-agnostic, so no
|
|
18
|
+
* translation is needed — they flow straight to outbound sync.
|
|
19
|
+
*
|
|
20
|
+
* This architecture replaces the old model where PMO storage was the
|
|
21
|
+
* sole event source. Now events fire regardless of which provider
|
|
22
|
+
* initiated the change.
|
|
10
23
|
*/
|
|
11
|
-
import { getEventBus } from '../events/event-bus.js';
|
|
12
24
|
/**
|
|
13
|
-
* WorkLifecycleAdapter
|
|
14
|
-
*
|
|
25
|
+
* WorkLifecycleAdapter is the event hub for all provider state changes.
|
|
26
|
+
*
|
|
27
|
+
* In the new architecture, EventEmittingProvider wraps each provider and
|
|
28
|
+
* emits both ticket:* (backward compat) and work:* (domain) events.
|
|
29
|
+
* The adapter layer no longer needs to translate between them — that
|
|
30
|
+
* responsibility moved to EventEmittingProvider.
|
|
31
|
+
*
|
|
32
|
+
* The adapter now serves as the coordination point and can be extended
|
|
33
|
+
* to register additional event sources (webhooks, polling, etc.).
|
|
15
34
|
*/
|
|
16
35
|
export class WorkLifecycleAdapter {
|
|
17
36
|
unsubscribers = [];
|
|
37
|
+
registeredSources = new Set();
|
|
38
|
+
/**
|
|
39
|
+
* Register a provider as an event source.
|
|
40
|
+
* This is informational — tracks which providers are active in the system.
|
|
41
|
+
*/
|
|
42
|
+
registerSource(source) {
|
|
43
|
+
this.registeredSources.add(source);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get all registered event sources.
|
|
47
|
+
*/
|
|
48
|
+
getRegisteredSources() {
|
|
49
|
+
return this.registeredSources;
|
|
50
|
+
}
|
|
18
51
|
/**
|
|
19
|
-
* Start the
|
|
52
|
+
* Start the adapter — sets up any cross-cutting event coordination.
|
|
53
|
+
*
|
|
54
|
+
* In the current architecture, EventEmittingProvider handles all event
|
|
55
|
+
* emission directly. The adapter provides extensibility for future
|
|
56
|
+
* cross-cutting concerns (event logging, metrics, deduplication).
|
|
20
57
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.
|
|
24
|
-
// Always emit the generic status change
|
|
25
|
-
bus.emit('work:status_changed', {
|
|
26
|
-
workItemId: event.ticketId,
|
|
27
|
-
source: 'pmo',
|
|
28
|
-
projectId: event.projectId,
|
|
29
|
-
previousStatus: event.previousStatusName ?? null,
|
|
30
|
-
previousCategory: event.previousStatusCategory ?? null,
|
|
31
|
-
newStatus: event.newStatusName ?? null,
|
|
32
|
-
newCategory: event.newStatusCategory ?? null,
|
|
33
|
-
timestamp: event.timestamp,
|
|
34
|
-
});
|
|
35
|
-
// Emit work:started when entering the 'started' category
|
|
36
|
-
if (event.newStatusCategory === 'started' &&
|
|
37
|
-
event.previousStatusCategory !== 'started') {
|
|
38
|
-
bus.emit('work:started', {
|
|
39
|
-
workItemId: event.ticketId,
|
|
40
|
-
source: 'pmo',
|
|
41
|
-
projectId: event.projectId,
|
|
42
|
-
status: event.newStatusName ?? null,
|
|
43
|
-
timestamp: event.timestamp,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
// Emit work:completed when entering the 'completed' category
|
|
47
|
-
if (event.newStatusCategory === 'completed' &&
|
|
48
|
-
event.previousStatusCategory !== 'completed') {
|
|
49
|
-
bus.emit('work:completed', {
|
|
50
|
-
workItemId: event.ticketId,
|
|
51
|
-
source: 'pmo',
|
|
52
|
-
projectId: event.projectId,
|
|
53
|
-
status: event.newStatusName ?? null,
|
|
54
|
-
timestamp: event.timestamp,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}));
|
|
58
|
-
this.unsubscribers.push(bus.on('ticket:pr_linked', (event) => {
|
|
59
|
-
bus.emit('work:pr_created', {
|
|
60
|
-
workItemId: event.ticketId,
|
|
61
|
-
source: 'pmo',
|
|
62
|
-
projectId: event.projectId,
|
|
63
|
-
prUrl: event.prUrl,
|
|
64
|
-
prTitle: event.prTitle ?? null,
|
|
65
|
-
timestamp: event.timestamp,
|
|
66
|
-
});
|
|
67
|
-
}));
|
|
58
|
+
start() {
|
|
59
|
+
// PMO is always a registered source (default provider)
|
|
60
|
+
this.registerSource('pmo');
|
|
68
61
|
}
|
|
69
62
|
/**
|
|
70
|
-
* Stop
|
|
63
|
+
* Stop the adapter and unsubscribe from events.
|
|
71
64
|
*/
|
|
72
65
|
stop() {
|
|
73
66
|
for (const unsub of this.unsubscribers) {
|
|
74
67
|
unsub();
|
|
75
68
|
}
|
|
76
69
|
this.unsubscribers = [];
|
|
70
|
+
this.registeredSources.clear();
|
|
77
71
|
}
|
|
78
72
|
}
|
|
79
73
|
// =============================================================================
|
|
@@ -87,7 +81,7 @@ let _adapter;
|
|
|
87
81
|
export function initWorkLifecycleAdapter() {
|
|
88
82
|
if (!_adapter) {
|
|
89
83
|
_adapter = new WorkLifecycleAdapter();
|
|
90
|
-
_adapter.
|
|
84
|
+
_adapter.start();
|
|
91
85
|
}
|
|
92
86
|
return _adapter;
|
|
93
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/lib/work-lifecycle/adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/lib/work-lifecycle/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IACvB,aAAa,GAAsB,EAAE,CAAA;IACrC,iBAAiB,GAAyB,IAAI,GAAG,EAAE,CAAA;IAE3D;;;OAGG;IACH,cAAc,CAAC,MAAuB;QACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK;QACH,uDAAuD;QACvD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAK,EAAE,CAAA;QACT,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;CACF;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,IAAI,QAA0C,CAAA;AAE9C;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAA;QACrC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,EAAE,CAAA;QACf,QAAQ,GAAG,SAAS,CAAA;IACtB,CAAC;AACH,CAAC"}
|