@danypops/tickets 0.2.0 → 0.3.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.
- package/README.md +48 -15
- package/package.json +9 -6
- package/src/adapters/github.ts +135 -56
- package/src/adapters/gitlab.ts +98 -42
- package/src/adapters/jira.ts +128 -46
- package/src/application/service.ts +12 -1
- package/src/auth/gh-cli.ts +46 -0
- package/src/cli/index.ts +10 -1
- package/src/config/config.ts +80 -19
- package/src/daemon/bootstrap.ts +21 -5
- package/src/daemon/main.ts +1 -1
- package/src/daemon/ops.ts +1 -1
- package/src/daemon/poller.ts +8 -2
- package/src/domain/issue.ts +4 -0
- package/src/index.ts +2 -0
package/src/daemon/poller.ts
CHANGED
|
@@ -35,10 +35,16 @@ export async function syncOnce(
|
|
|
35
35
|
return results;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Reads the backend list fresh from service.backends() on every tick,
|
|
40
|
+
* rather than a list frozen at task-creation time -- a backend the
|
|
41
|
+
* refresh task (config.ts's createBackendRefreshTask) just added to the
|
|
42
|
+
* service is synced on this task's very next run, no daemon restart or
|
|
43
|
+
* task rebuild needed.
|
|
44
|
+
*/
|
|
38
45
|
export function createSyncTask(
|
|
39
46
|
service: TicketService,
|
|
40
47
|
ledger: Ledger,
|
|
41
|
-
backends: string[],
|
|
42
48
|
intervalMs: number,
|
|
43
49
|
logger?: Logger,
|
|
44
50
|
): MaintenanceTask {
|
|
@@ -46,7 +52,7 @@ export function createSyncTask(
|
|
|
46
52
|
name: "ledger-sync",
|
|
47
53
|
intervalMs,
|
|
48
54
|
run: async () => {
|
|
49
|
-
await syncOnce(service, ledger, backends, logger);
|
|
55
|
+
await syncOnce(service, ledger, service.backends(), logger);
|
|
50
56
|
},
|
|
51
57
|
};
|
|
52
58
|
}
|
package/src/domain/issue.ts
CHANGED
|
@@ -79,6 +79,8 @@ export interface CreateInput {
|
|
|
79
79
|
project?: string;
|
|
80
80
|
issueType?: string;
|
|
81
81
|
parentKey?: string;
|
|
82
|
+
/** Backend-specific custom fields keyed by display name (e.g. Jira's "QE Priority"), resolved to the backend's own field ID by the adapter. Not every backend supports this (only Jira does today). */
|
|
83
|
+
customFields?: Record<string, string>;
|
|
82
84
|
}
|
|
83
85
|
|
|
84
86
|
export interface UpdateInput {
|
|
@@ -89,6 +91,8 @@ export interface UpdateInput {
|
|
|
89
91
|
labels?: string[];
|
|
90
92
|
assignee?: string;
|
|
91
93
|
resolution?: string;
|
|
94
|
+
/** Backend-specific custom fields keyed by display name (e.g. Jira's "QE Priority"), resolved to the backend's own field ID by the adapter. Not every backend supports this (only Jira does today). */
|
|
95
|
+
customFields?: Record<string, string>;
|
|
92
96
|
}
|
|
93
97
|
|
|
94
98
|
export interface ListFilter {
|
package/src/index.ts
CHANGED
|
@@ -14,10 +14,12 @@ export {
|
|
|
14
14
|
configDir,
|
|
15
15
|
} from "./config/config.js";
|
|
16
16
|
export type { TicketOperation, TicketOpInputs, TicketOpOutputs } from "./daemon/ops.js";
|
|
17
|
+
export type { FocusStatus, TicketFocusState } from "./daemon/focus.js";
|
|
17
18
|
export {
|
|
18
19
|
createTicketsClient,
|
|
19
20
|
ensureDaemonRunning,
|
|
20
21
|
ticketsPaths,
|
|
22
|
+
type EnsureDaemonOptions,
|
|
21
23
|
type TicketsRpcClient,
|
|
22
24
|
} from "./client/tickets-client.js";
|
|
23
25
|
|