@proletariat/cli 0.3.97 → 0.3.98
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/orchestrate/index.js +18 -10
- package/dist/commands/orchestrate/index.js.map +1 -1
- package/dist/commands/qa/index.js +1 -1
- package/dist/commands/watch/index.d.ts +28 -0
- package/dist/commands/watch/index.js +172 -0
- package/dist/commands/watch/index.js.map +1 -0
- package/dist/commands/work/complete.js +11 -6
- package/dist/commands/work/complete.js.map +1 -1
- package/dist/commands/work/linear.js +1 -1
- package/dist/commands/work/linear.js.map +1 -1
- package/dist/commands/work/ready.js +20 -5
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/ship.js +24 -9
- package/dist/commands/work/ship.js.map +1 -1
- package/dist/commands/work/start.js +95 -58
- package/dist/commands/work/start.js.map +1 -1
- package/dist/lib/asana/client.d.ts +4 -1
- package/dist/lib/asana/client.js +15 -0
- package/dist/lib/asana/client.js.map +1 -1
- package/dist/lib/asana/index.d.ts +1 -1
- package/dist/lib/asana/types.d.ts +4 -0
- package/dist/lib/database/credential-store.js +1 -0
- package/dist/lib/database/credential-store.js.map +1 -1
- package/dist/lib/execution/preflight.js +1 -1
- package/dist/lib/execution/preflight.js.map +1 -1
- package/dist/lib/execution/storage.d.ts +6 -0
- package/dist/lib/execution/storage.js +18 -0
- package/dist/lib/execution/storage.js.map +1 -1
- package/dist/lib/external-issues/index.d.ts +1 -0
- package/dist/lib/external-issues/index.js +2 -0
- package/dist/lib/external-issues/index.js.map +1 -1
- package/dist/lib/external-issues/linear.js +1 -1
- package/dist/lib/external-issues/linear.js.map +1 -1
- package/dist/lib/external-issues/ticket-builder.d.ts +21 -0
- package/dist/lib/external-issues/ticket-builder.js +43 -0
- package/dist/lib/external-issues/ticket-builder.js.map +1 -0
- package/dist/lib/external-issues/work-start.js +1 -1
- package/dist/lib/external-issues/work-start.js.map +1 -1
- package/dist/lib/gc/index.d.ts +8 -0
- package/dist/lib/gc/index.js +35 -2
- package/dist/lib/gc/index.js.map +1 -1
- package/dist/lib/github/client.d.ts +84 -0
- package/dist/lib/github/client.js +123 -0
- package/dist/lib/github/client.js.map +1 -0
- package/dist/lib/github/config.d.ts +42 -0
- package/dist/lib/github/config.js +115 -0
- package/dist/lib/github/config.js.map +1 -0
- package/dist/lib/github/types.d.ts +71 -0
- package/dist/lib/github/types.js +50 -0
- package/dist/lib/github/types.js.map +1 -0
- package/dist/lib/jira/client.d.ts +113 -0
- package/dist/lib/jira/client.js +208 -0
- package/dist/lib/jira/client.js.map +1 -0
- package/dist/lib/jira/config.d.ts +9 -0
- package/dist/lib/jira/config.js +30 -0
- package/dist/lib/jira/config.js.map +1 -1
- package/dist/lib/jira/index.d.ts +6 -2
- package/dist/lib/jira/index.js +4 -2
- package/dist/lib/jira/index.js.map +1 -1
- package/dist/lib/jira/types.d.ts +118 -0
- package/dist/lib/jira/types.js +45 -0
- package/dist/lib/jira/types.js.map +1 -0
- package/dist/lib/linear/config.d.ts +10 -0
- package/dist/lib/linear/config.js +33 -0
- package/dist/lib/linear/config.js.map +1 -1
- package/dist/lib/mcp/tools/index.d.ts +0 -2
- package/dist/lib/mcp/tools/index.js +0 -2
- package/dist/lib/mcp/tools/index.js.map +1 -1
- package/dist/lib/orchestrate/index.d.ts +2 -0
- package/dist/lib/orchestrate/index.js +1 -0
- package/dist/lib/orchestrate/index.js.map +1 -1
- package/dist/lib/orchestrate/simple-poller.d.ts +57 -0
- package/dist/lib/orchestrate/simple-poller.js +324 -0
- package/dist/lib/orchestrate/simple-poller.js.map +1 -0
- package/dist/lib/pmo/storage/index.js +16 -5
- package/dist/lib/pmo/storage/index.js.map +1 -1
- package/dist/lib/providers/asana-provider.d.ts +27 -0
- package/dist/lib/providers/asana-provider.js +426 -0
- package/dist/lib/providers/asana-provider.js.map +1 -0
- package/dist/lib/providers/auto-mapper.d.ts +1 -1
- package/dist/lib/providers/auto-mapper.js +23 -0
- package/dist/lib/providers/auto-mapper.js.map +1 -1
- package/dist/lib/providers/github-provider.d.ts +34 -0
- package/dist/lib/providers/github-provider.js +418 -0
- package/dist/lib/providers/github-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/jira-provider.d.ts +31 -0
- package/dist/lib/providers/jira-provider.js +383 -0
- package/dist/lib/providers/jira-provider.js.map +1 -0
- package/dist/lib/providers/linear-provider.js +6 -7
- package/dist/lib/providers/linear-provider.js.map +1 -1
- package/dist/lib/providers/resolver.js +54 -0
- package/dist/lib/providers/resolver.js.map +1 -1
- package/dist/lib/providers/types.d.ts +1 -1
- package/dist/lib/work-lifecycle/post-execution.js +26 -1
- package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
- package/dist/lib/work-lifecycle/transition.js +24 -10
- package/dist/lib/work-lifecycle/transition.js.map +1 -1
- package/dist/lib/work-source/config.d.ts +1 -1
- package/dist/lib/work-source/config.js +11 -1
- package/dist/lib/work-source/config.js.map +1 -1
- package/oclif.manifest.json +1098 -1896
- package/package.json +1 -1
- package/dist/commands/ticket/create.d.ts +0 -44
- package/dist/commands/ticket/create.js +0 -760
- package/dist/commands/ticket/create.js.map +0 -1
- package/dist/commands/ticket/delete.d.ts +0 -17
- package/dist/commands/ticket/delete.js +0 -204
- package/dist/commands/ticket/delete.js.map +0 -1
- package/dist/commands/ticket/edit.d.ts +0 -28
- package/dist/commands/ticket/edit.js +0 -402
- package/dist/commands/ticket/edit.js.map +0 -1
- package/dist/commands/ticket/index.d.ts +0 -13
- package/dist/commands/ticket/index.js +0 -74
- package/dist/commands/ticket/index.js.map +0 -1
- package/dist/commands/ticket/list.d.ts +0 -33
- package/dist/commands/ticket/list.js +0 -519
- package/dist/commands/ticket/list.js.map +0 -1
- package/dist/commands/ticket/move.d.ts +0 -27
- package/dist/commands/ticket/move.js +0 -413
- package/dist/commands/ticket/move.js.map +0 -1
- package/dist/commands/ticket/show.d.ts +0 -14
- package/dist/commands/ticket/show.js +0 -110
- package/dist/commands/ticket/show.js.map +0 -1
- package/dist/commands/ticket/update.d.ts +0 -28
- package/dist/commands/ticket/update.js +0 -458
- package/dist/commands/ticket/update.js.map +0 -1
- package/dist/lib/mcp/tools/action.d.ts +0 -6
- package/dist/lib/mcp/tools/action.js +0 -123
- package/dist/lib/mcp/tools/action.js.map +0 -1
- package/dist/lib/mcp/tools/ticket.d.ts +0 -6
- package/dist/lib/mcp/tools/ticket.js +0 -464
- package/dist/lib/mcp/tools/ticket.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira API Client
|
|
3
|
+
*
|
|
4
|
+
* REST wrapper for Jira Cloud (API v3) and Server (API v2).
|
|
5
|
+
* Uses Basic auth with email + API token (Cloud) or username + password (Server).
|
|
6
|
+
*/
|
|
7
|
+
export class JiraClient {
|
|
8
|
+
baseUrl;
|
|
9
|
+
authHeader;
|
|
10
|
+
apiBase;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
// Normalize base URL — strip trailing slash
|
|
13
|
+
this.baseUrl = options.baseUrl.replace(/\/+$/, '');
|
|
14
|
+
const version = options.apiVersion ?? 3;
|
|
15
|
+
this.apiBase = `${this.baseUrl}/rest/api/${version}`;
|
|
16
|
+
// Basic auth: email:token (Cloud) or just token as bearer
|
|
17
|
+
if (options.email) {
|
|
18
|
+
const credentials = Buffer.from(`${options.email}:${options.apiToken}`).toString('base64');
|
|
19
|
+
this.authHeader = `Basic ${credentials}`;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
// Server may use Bearer token or personal access token
|
|
23
|
+
this.authHeader = `Bearer ${options.apiToken}`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async request(method, path, body) {
|
|
27
|
+
const url = path.startsWith('http') ? path : `${this.apiBase}${path}`;
|
|
28
|
+
const options = {
|
|
29
|
+
method,
|
|
30
|
+
headers: {
|
|
31
|
+
'Content-Type': 'application/json',
|
|
32
|
+
Accept: 'application/json',
|
|
33
|
+
Authorization: this.authHeader,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
if (body !== undefined) {
|
|
37
|
+
options.body = JSON.stringify(body);
|
|
38
|
+
}
|
|
39
|
+
const response = await fetch(url, options);
|
|
40
|
+
if (!response.ok) {
|
|
41
|
+
const text = await response.text().catch(() => '');
|
|
42
|
+
throw new Error(`Jira API ${method} ${path} failed with status ${response.status}: ${text}`);
|
|
43
|
+
}
|
|
44
|
+
// Some endpoints return 204 No Content
|
|
45
|
+
if (response.status === 204) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return (await response.json());
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Verify the credentials and return the authenticated user info.
|
|
52
|
+
*/
|
|
53
|
+
async verify() {
|
|
54
|
+
const user = await this.request('GET', '/myself');
|
|
55
|
+
return {
|
|
56
|
+
displayName: user.displayName,
|
|
57
|
+
email: user.emailAddress,
|
|
58
|
+
accountId: user.accountId,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get an issue by key or ID.
|
|
63
|
+
*/
|
|
64
|
+
async getIssue(issueKeyOrId) {
|
|
65
|
+
return this.request('GET', `/issue/${issueKeyOrId}?fields=summary,description,status,priority,issuetype,assignee,reporter,labels,project,created,updated,comment`);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create a new issue.
|
|
69
|
+
*/
|
|
70
|
+
async createIssue(input) {
|
|
71
|
+
const fields = {
|
|
72
|
+
project: { key: input.projectKey },
|
|
73
|
+
summary: input.summary,
|
|
74
|
+
issuetype: { name: input.issueType || 'Task' },
|
|
75
|
+
};
|
|
76
|
+
if (input.description) {
|
|
77
|
+
fields.description = input.description;
|
|
78
|
+
}
|
|
79
|
+
if (input.priority) {
|
|
80
|
+
fields.priority = { name: input.priority };
|
|
81
|
+
}
|
|
82
|
+
if (input.labels && input.labels.length > 0) {
|
|
83
|
+
fields.labels = input.labels;
|
|
84
|
+
}
|
|
85
|
+
if (input.assigneeId) {
|
|
86
|
+
fields.assignee = { accountId: input.assigneeId };
|
|
87
|
+
}
|
|
88
|
+
const created = await this.request('POST', '/issue', { fields });
|
|
89
|
+
// Fetch the full issue to return consistent data
|
|
90
|
+
return this.getIssue(created.key);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Update an issue's fields.
|
|
94
|
+
*/
|
|
95
|
+
async updateIssue(issueKeyOrId, input) {
|
|
96
|
+
const fields = {};
|
|
97
|
+
if (input.summary !== undefined)
|
|
98
|
+
fields.summary = input.summary;
|
|
99
|
+
if (input.description !== undefined)
|
|
100
|
+
fields.description = input.description;
|
|
101
|
+
if (input.priority !== undefined)
|
|
102
|
+
fields.priority = { name: input.priority };
|
|
103
|
+
if (input.labels !== undefined)
|
|
104
|
+
fields.labels = input.labels;
|
|
105
|
+
if (Object.keys(fields).length > 0) {
|
|
106
|
+
await this.request('PUT', `/issue/${issueKeyOrId}`, { fields });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get available transitions for an issue.
|
|
111
|
+
*/
|
|
112
|
+
async getTransitions(issueKeyOrId) {
|
|
113
|
+
const data = await this.request('GET', `/issue/${issueKeyOrId}/transitions`);
|
|
114
|
+
return data.transitions;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Transition an issue to a new status.
|
|
118
|
+
* Jira requires using the transition ID, not the status name directly.
|
|
119
|
+
*/
|
|
120
|
+
async transitionIssue(issueKeyOrId, transitionId) {
|
|
121
|
+
await this.request('POST', `/issue/${issueKeyOrId}/transitions`, { transition: { id: transitionId } });
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Delete an issue (moves to trash in Jira Cloud).
|
|
125
|
+
*/
|
|
126
|
+
async deleteIssue(issueKeyOrId) {
|
|
127
|
+
await this.request('DELETE', `/issue/${issueKeyOrId}`);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Add a comment to an issue.
|
|
131
|
+
*/
|
|
132
|
+
async addComment(issueKeyOrId, commentBody) {
|
|
133
|
+
await this.request('POST', `/issue/${issueKeyOrId}/comment`, { body: commentBody });
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Search issues using JQL.
|
|
137
|
+
*/
|
|
138
|
+
async searchIssues(jql, options) {
|
|
139
|
+
const body = {
|
|
140
|
+
jql,
|
|
141
|
+
maxResults: options?.maxResults ?? 50,
|
|
142
|
+
startAt: options?.startAt ?? 0,
|
|
143
|
+
fields: options?.fields ?? [
|
|
144
|
+
'summary', 'description', 'status', 'priority',
|
|
145
|
+
'issuetype', 'assignee', 'reporter', 'labels',
|
|
146
|
+
'project', 'created', 'updated',
|
|
147
|
+
],
|
|
148
|
+
};
|
|
149
|
+
return this.request('POST', '/search', body);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* List all statuses available in the Jira instance.
|
|
153
|
+
*/
|
|
154
|
+
async listStatuses() {
|
|
155
|
+
return this.request('GET', '/status');
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* List statuses for a specific project.
|
|
159
|
+
*/
|
|
160
|
+
async listProjectStatuses(projectKeyOrId) {
|
|
161
|
+
return this.request('GET', `/project/${projectKeyOrId}/statuses`);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* List projects accessible to the authenticated user.
|
|
165
|
+
*/
|
|
166
|
+
async listProjects(options) {
|
|
167
|
+
const params = new URLSearchParams();
|
|
168
|
+
if (options?.maxResults) {
|
|
169
|
+
params.set('maxResults', String(options.maxResults));
|
|
170
|
+
}
|
|
171
|
+
const qs = params.toString();
|
|
172
|
+
const path = `/project${qs ? `?${qs}` : ''}`;
|
|
173
|
+
return this.request('GET', path);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Find a user by email or display name.
|
|
177
|
+
* Uses user search (Cloud) or user picker (Server).
|
|
178
|
+
*/
|
|
179
|
+
async findUser(query) {
|
|
180
|
+
const params = new URLSearchParams({ query, maxResults: '10' });
|
|
181
|
+
try {
|
|
182
|
+
// Cloud endpoint
|
|
183
|
+
return await this.request('GET', `/user/search?${params}`);
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
// Server fallback
|
|
187
|
+
try {
|
|
188
|
+
return await this.request('GET', `/user/picker?${params}`);
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return [];
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Assign an issue to a user.
|
|
197
|
+
*/
|
|
198
|
+
async assignIssue(issueKeyOrId, accountId) {
|
|
199
|
+
await this.request('PUT', `/issue/${issueKeyOrId}/assignee`, { accountId });
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get the browse URL for an issue.
|
|
203
|
+
*/
|
|
204
|
+
getBrowseUrl(issueKey) {
|
|
205
|
+
return `${this.baseUrl}/browse/${issueKey}`;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/jira/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,15 @@ export declare function loadJiraConfig(db: Database.Database): JiraConfig | null
|
|
|
22
22
|
* Save Jira configuration to the database.
|
|
23
23
|
*/
|
|
24
24
|
export declare function saveJiraConfig(db: Database.Database, config: JiraConfig): void;
|
|
25
|
+
/**
|
|
26
|
+
* Get the Jira API token using the provider-sources resolution chain.
|
|
27
|
+
*
|
|
28
|
+
* Resolution order:
|
|
29
|
+
* 1. If a Jira provider source is configured, resolve its apiKeyRef
|
|
30
|
+
* 2. Legacy fallback: PRLT_JIRA_API_TOKEN or JIRA_API_TOKEN environment variables
|
|
31
|
+
* 3. Legacy fallback: credential store key 'jira.api_token'
|
|
32
|
+
*/
|
|
33
|
+
export declare function getJiraApiToken(db: Database.Database): string | null;
|
|
25
34
|
/**
|
|
26
35
|
* Clear all Jira configuration from the database.
|
|
27
36
|
*/
|
package/dist/lib/jira/config.js
CHANGED
|
@@ -84,6 +84,36 @@ export function saveJiraConfig(db, config) {
|
|
|
84
84
|
settings.set(JIRA_CONFIG_KEYS.projectKey, config.projectKey);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Get the Jira API token using the provider-sources resolution chain.
|
|
89
|
+
*
|
|
90
|
+
* Resolution order:
|
|
91
|
+
* 1. If a Jira provider source is configured, resolve its apiKeyRef
|
|
92
|
+
* 2. Legacy fallback: PRLT_JIRA_API_TOKEN or JIRA_API_TOKEN environment variables
|
|
93
|
+
* 3. Legacy fallback: credential store key 'jira.api_token'
|
|
94
|
+
*/
|
|
95
|
+
export function getJiraApiToken(db) {
|
|
96
|
+
// 1. Try provider sources (supports custom apiKeyRef per source)
|
|
97
|
+
try {
|
|
98
|
+
const sources = loadProviderSources(db);
|
|
99
|
+
for (const source of sources) {
|
|
100
|
+
if (source.provider === 'jira') {
|
|
101
|
+
const key = resolveApiKey(db, source);
|
|
102
|
+
if (key)
|
|
103
|
+
return key;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Provider sources table may not exist in older databases
|
|
109
|
+
}
|
|
110
|
+
// 2. Legacy: environment variables
|
|
111
|
+
const envToken = process.env.PRLT_JIRA_API_TOKEN || process.env.JIRA_API_TOKEN;
|
|
112
|
+
if (envToken)
|
|
113
|
+
return envToken;
|
|
114
|
+
// 3. Legacy: stored credential
|
|
115
|
+
return getCredential(db, JIRA_CONFIG_KEYS.apiToken);
|
|
116
|
+
}
|
|
87
117
|
/**
|
|
88
118
|
* Clear all Jira configuration from the database.
|
|
89
119
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/jira/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/jira/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/jira/index.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Jira Integration Module
|
|
3
3
|
*
|
|
4
|
-
* Provides Jira configuration
|
|
4
|
+
* Provides Jira configuration, API client, and type definitions.
|
|
5
5
|
*/
|
|
6
|
-
export { isJiraConfigured, loadJiraConfig, saveJiraConfig, clearJiraConfig, } from './config.js';
|
|
6
|
+
export { isJiraConfigured, loadJiraConfig, saveJiraConfig, clearJiraConfig, getJiraApiToken, } from './config.js';
|
|
7
7
|
export type { JiraConfig } from './config.js';
|
|
8
|
+
export { JiraClient } from './client.js';
|
|
9
|
+
export type { JiraClientOptions } from './client.js';
|
|
10
|
+
export type { JiraIssue, JiraStatus, JiraStatusCategory, JiraPriority, JiraIssueType, JiraProject, JiraUser, JiraComment, JiraTransition, } from './types.js';
|
|
11
|
+
export { PMO_PRIORITY_TO_JIRA, JIRA_PRIORITY_TO_PMO, JIRA_STATUS_CATEGORY_TO_PMO, } from './types.js';
|
package/dist/lib/jira/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Jira Integration Module
|
|
3
3
|
*
|
|
4
|
-
* Provides Jira configuration
|
|
4
|
+
* Provides Jira configuration, API client, and type definitions.
|
|
5
5
|
*/
|
|
6
|
-
export { isJiraConfigured, loadJiraConfig, saveJiraConfig, clearJiraConfig, } from './config.js';
|
|
6
|
+
export { isJiraConfigured, loadJiraConfig, saveJiraConfig, clearJiraConfig, getJiraApiToken, } from './config.js';
|
|
7
|
+
export { JiraClient } from './client.js';
|
|
8
|
+
export { PMO_PRIORITY_TO_JIRA, JIRA_PRIORITY_TO_PMO, JIRA_STATUS_CATEGORY_TO_PMO, } from './types.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/jira/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/jira/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAaxC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira Integration Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Jira ↔ PMO integration layer.
|
|
5
|
+
* Supports both Jira Cloud (REST API v3) and Jira Server (REST API v2).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Represents a Jira issue as fetched from the API.
|
|
9
|
+
*/
|
|
10
|
+
export interface JiraIssue {
|
|
11
|
+
id: string;
|
|
12
|
+
key: string;
|
|
13
|
+
self: string;
|
|
14
|
+
fields: {
|
|
15
|
+
summary: string;
|
|
16
|
+
description?: string | null;
|
|
17
|
+
status: JiraStatus;
|
|
18
|
+
priority?: JiraPriority | null;
|
|
19
|
+
issuetype: JiraIssueType;
|
|
20
|
+
assignee?: JiraUser | null;
|
|
21
|
+
reporter?: JiraUser | null;
|
|
22
|
+
labels: string[];
|
|
23
|
+
project: JiraProject;
|
|
24
|
+
created: string;
|
|
25
|
+
updated: string;
|
|
26
|
+
comment?: {
|
|
27
|
+
comments: JiraComment[];
|
|
28
|
+
total: number;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Jira status object.
|
|
34
|
+
*/
|
|
35
|
+
export interface JiraStatus {
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
statusCategory: JiraStatusCategory;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Jira status category — the semantic grouping for statuses.
|
|
42
|
+
* Jira has exactly 3 categories: "new", "indeterminate", "done".
|
|
43
|
+
*/
|
|
44
|
+
export interface JiraStatusCategory {
|
|
45
|
+
id: number;
|
|
46
|
+
key: string;
|
|
47
|
+
name: string;
|
|
48
|
+
colorName: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Jira priority object.
|
|
52
|
+
*/
|
|
53
|
+
export interface JiraPriority {
|
|
54
|
+
id: string;
|
|
55
|
+
name: string;
|
|
56
|
+
iconUrl?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Jira issue type.
|
|
60
|
+
*/
|
|
61
|
+
export interface JiraIssueType {
|
|
62
|
+
id: string;
|
|
63
|
+
name: string;
|
|
64
|
+
subtask: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Jira project.
|
|
68
|
+
*/
|
|
69
|
+
export interface JiraProject {
|
|
70
|
+
id: string;
|
|
71
|
+
key: string;
|
|
72
|
+
name: string;
|
|
73
|
+
self: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Jira user.
|
|
77
|
+
*/
|
|
78
|
+
export interface JiraUser {
|
|
79
|
+
accountId?: string;
|
|
80
|
+
key?: string;
|
|
81
|
+
name?: string;
|
|
82
|
+
emailAddress?: string;
|
|
83
|
+
displayName: string;
|
|
84
|
+
active: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Jira comment.
|
|
88
|
+
*/
|
|
89
|
+
export interface JiraComment {
|
|
90
|
+
id: string;
|
|
91
|
+
body: string;
|
|
92
|
+
author: JiraUser;
|
|
93
|
+
created: string;
|
|
94
|
+
updated: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Jira transition — available status changes for an issue.
|
|
98
|
+
*/
|
|
99
|
+
export interface JiraTransition {
|
|
100
|
+
id: string;
|
|
101
|
+
name: string;
|
|
102
|
+
to: JiraStatus;
|
|
103
|
+
isAvailable?: boolean;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Map PMO priority (P0-P3) to Jira priority name.
|
|
107
|
+
* Jira Cloud default priorities: Highest, High, Medium, Low, Lowest.
|
|
108
|
+
*/
|
|
109
|
+
export declare const PMO_PRIORITY_TO_JIRA: Record<string, string>;
|
|
110
|
+
/**
|
|
111
|
+
* Map Jira priority name to PMO priority (P0-P3).
|
|
112
|
+
* Handles common Jira priority names (case-insensitive matching done at runtime).
|
|
113
|
+
*/
|
|
114
|
+
export declare const JIRA_PRIORITY_TO_PMO: Record<string, string>;
|
|
115
|
+
/**
|
|
116
|
+
* Map Jira status category key to PMO state category.
|
|
117
|
+
*/
|
|
118
|
+
export declare const JIRA_STATUS_CATEGORY_TO_PMO: Record<string, string>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira Integration Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Jira ↔ PMO integration layer.
|
|
5
|
+
* Supports both Jira Cloud (REST API v3) and Jira Server (REST API v2).
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Priority Mapping
|
|
9
|
+
// =============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Map PMO priority (P0-P3) to Jira priority name.
|
|
12
|
+
* Jira Cloud default priorities: Highest, High, Medium, Low, Lowest.
|
|
13
|
+
*/
|
|
14
|
+
export const PMO_PRIORITY_TO_JIRA = {
|
|
15
|
+
P0: 'Highest', // Critical → Highest
|
|
16
|
+
P1: 'High', // High → High
|
|
17
|
+
P2: 'Medium', // Medium → Medium
|
|
18
|
+
P3: 'Low', // Low → Low
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Map Jira priority name to PMO priority (P0-P3).
|
|
22
|
+
* Handles common Jira priority names (case-insensitive matching done at runtime).
|
|
23
|
+
*/
|
|
24
|
+
export const JIRA_PRIORITY_TO_PMO = {
|
|
25
|
+
Highest: 'P0',
|
|
26
|
+
Urgent: 'P0',
|
|
27
|
+
Critical: 'P0',
|
|
28
|
+
Blocker: 'P0',
|
|
29
|
+
High: 'P1',
|
|
30
|
+
Medium: 'P2',
|
|
31
|
+
Normal: 'P2',
|
|
32
|
+
Low: 'P3',
|
|
33
|
+
Lowest: 'P3',
|
|
34
|
+
Minor: 'P3',
|
|
35
|
+
Trivial: 'P3',
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Map Jira status category key to PMO state category.
|
|
39
|
+
*/
|
|
40
|
+
export const JIRA_STATUS_CATEGORY_TO_PMO = {
|
|
41
|
+
new: 'unstarted',
|
|
42
|
+
indeterminate: 'started',
|
|
43
|
+
done: 'completed',
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/jira/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiHH,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,EAAE,EAAE,SAAS,EAAK,qBAAqB;IACvC,EAAE,EAAE,MAAM,EAAQ,cAAc;IAChC,EAAE,EAAE,QAAQ,EAAM,kBAAkB;IACpC,EAAE,EAAE,KAAK,EAAS,YAAY;CAC/B,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;CACd,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,GAAG,EAAE,WAAW;IAChB,aAAa,EAAE,SAAS;IACxB,IAAI,EAAE,WAAW;CAClB,CAAA"}
|
|
@@ -40,3 +40,13 @@ export declare function clearLinearConfig(db: Database.Database): void;
|
|
|
40
40
|
* 3. Legacy fallback: workspace_settings key 'linear.api_key'
|
|
41
41
|
*/
|
|
42
42
|
export declare function getLinearApiKey(db: Database.Database): string | null;
|
|
43
|
+
/**
|
|
44
|
+
* Resolve the Linear team key from all available sources.
|
|
45
|
+
*
|
|
46
|
+
* Resolution order:
|
|
47
|
+
* 1. Explicit override (e.g. --team flag)
|
|
48
|
+
* 2. Workspace settings (linear.default_team_key) — set by `prlt linear connect`
|
|
49
|
+
* 3. Provider sources (teamProjectId) — set by `prlt work source set linear`
|
|
50
|
+
* 4. PRLT_LINEAR_TEAM / LINEAR_TEAM_KEY environment variables
|
|
51
|
+
*/
|
|
52
|
+
export declare function resolveLinearTeamKey(db: Database.Database, override?: string): string | null;
|
|
@@ -102,4 +102,37 @@ export function getLinearApiKey(db) {
|
|
|
102
102
|
// 3. Legacy: stored workspace setting (now in credentials.db)
|
|
103
103
|
return getCredential(db, LINEAR_CONFIG_KEYS.apiKey);
|
|
104
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Resolve the Linear team key from all available sources.
|
|
107
|
+
*
|
|
108
|
+
* Resolution order:
|
|
109
|
+
* 1. Explicit override (e.g. --team flag)
|
|
110
|
+
* 2. Workspace settings (linear.default_team_key) — set by `prlt linear connect`
|
|
111
|
+
* 3. Provider sources (teamProjectId) — set by `prlt work source set linear`
|
|
112
|
+
* 4. PRLT_LINEAR_TEAM / LINEAR_TEAM_KEY environment variables
|
|
113
|
+
*/
|
|
114
|
+
export function resolveLinearTeamKey(db, override) {
|
|
115
|
+
// 1. Explicit override
|
|
116
|
+
if (override)
|
|
117
|
+
return override;
|
|
118
|
+
// 2. Workspace settings
|
|
119
|
+
const settings = new SettingsStore(db);
|
|
120
|
+
const dbTeamKey = settings.get(LINEAR_CONFIG_KEYS.defaultTeamKey);
|
|
121
|
+
if (dbTeamKey)
|
|
122
|
+
return dbTeamKey;
|
|
123
|
+
// 3. Provider sources
|
|
124
|
+
try {
|
|
125
|
+
const sources = loadProviderSources(db);
|
|
126
|
+
for (const source of sources) {
|
|
127
|
+
if (source.provider === 'linear' && source.teamProjectId) {
|
|
128
|
+
return source.teamProjectId;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// Provider sources table may not exist in older databases
|
|
134
|
+
}
|
|
135
|
+
// 4. Environment variables
|
|
136
|
+
return process.env.PRLT_LINEAR_TEAM || process.env.LINEAR_TEAM_KEY || null;
|
|
137
|
+
}
|
|
105
138
|
//# 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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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tools - Export all tool registrars
|
|
3
3
|
*/
|
|
4
|
-
export { registerTicketTools } from './ticket.js';
|
|
5
4
|
export { registerWorkTools } from './work.js';
|
|
6
|
-
export { registerActionTools } from './action.js';
|
|
7
5
|
export { registerDietTools } from './diet.js';
|
|
8
6
|
export { registerTmuxTools } from './tmux.js';
|
|
9
7
|
export { registerAgentTools, registerDockerTools, registerRepoTools, registerBranchTools, registerGitHubTools, registerInitTools, registerUtilityTools, } from './cli-passthrough.js';
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tools - Export all tool registrars
|
|
3
3
|
*/
|
|
4
|
-
export { registerTicketTools } from './ticket.js';
|
|
5
4
|
export { registerWorkTools } from './work.js';
|
|
6
|
-
export { registerActionTools } from './action.js';
|
|
7
5
|
export { registerDietTools } from './diet.js';
|
|
8
6
|
export { registerTmuxTools } from './tmux.js';
|
|
9
7
|
// CLI passthrough tools
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA"}
|
|
@@ -14,3 +14,5 @@ export { OrchestrateEngine, initOrchestrateEngine, getOrchestrateEngine, stopOrc
|
|
|
14
14
|
export type { OrchestrateEngineOptions } from './engine.js';
|
|
15
15
|
export { OrchestratePoller } from './poller.js';
|
|
16
16
|
export type { PollerOptions } from './poller.js';
|
|
17
|
+
export { SimplePoller } from './simple-poller.js';
|
|
18
|
+
export type { SimplePollerOptions, PollChange, PollResult } from './simple-poller.js';
|
|
@@ -11,4 +11,5 @@ export { loadHooksYaml, loadWorkflowYaml, syncHooksFromYaml, applyPreset, export
|
|
|
11
11
|
export { ACTION_HANDLERS, executeBuiltinAction, } from './actions.js';
|
|
12
12
|
export { OrchestrateEngine, initOrchestrateEngine, getOrchestrateEngine, stopOrchestrateEngine, } from './engine.js';
|
|
13
13
|
export { OrchestratePoller } from './poller.js';
|
|
14
|
+
export { SimplePoller } from './simple-poller.js';
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,OAAO,EACP,SAAS,GACV,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,OAAO,EACP,SAAS,GACV,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|