@proletariat/cli 0.3.54 → 0.3.56
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 +5 -4
- package/dist/commands/agent/cleanup.d.ts +1 -0
- package/dist/commands/agent/cleanup.js +11 -1
- package/dist/commands/agent/cleanup.js.map +1 -1
- package/dist/commands/agent/rebuild.js +1 -1
- package/dist/commands/agent/rebuild.js.map +1 -1
- package/dist/commands/asana/import.d.ts +14 -0
- package/dist/commands/asana/import.js +240 -0
- package/dist/commands/asana/import.js.map +1 -0
- package/dist/commands/claude-yolo.d.ts +20 -0
- package/dist/commands/claude-yolo.js +86 -0
- package/dist/commands/claude-yolo.js.map +1 -0
- package/dist/commands/codex/index.d.ts +23 -0
- package/dist/commands/codex/index.js +168 -0
- package/dist/commands/codex/index.js.map +1 -0
- package/dist/commands/codex-yolo.d.ts +20 -0
- package/dist/commands/codex-yolo.js +86 -0
- package/dist/commands/codex-yolo.js.map +1 -0
- package/dist/commands/config/index.js +2 -2
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/docker/clean.js +1 -1
- package/dist/commands/docker/clean.js.map +1 -1
- package/dist/commands/docker/list.js +1 -1
- package/dist/commands/docker/list.js.map +1 -1
- package/dist/commands/docker/logs.js +1 -1
- package/dist/commands/docker/logs.js.map +1 -1
- package/dist/commands/docker/restart.js +1 -1
- package/dist/commands/docker/restart.js.map +1 -1
- package/dist/commands/docker/shell.js +1 -1
- package/dist/commands/docker/shell.js.map +1 -1
- package/dist/commands/docker/start.js +1 -1
- package/dist/commands/docker/start.js.map +1 -1
- package/dist/commands/docker/stop.js +1 -1
- package/dist/commands/docker/stop.js.map +1 -1
- package/dist/commands/docker/sync.js +1 -1
- package/dist/commands/docker/sync.js.map +1 -1
- package/dist/commands/execution/config.js +2 -2
- package/dist/commands/execution/config.js.map +1 -1
- package/dist/commands/execution/list.js +1 -1
- package/dist/commands/execution/list.js.map +1 -1
- package/dist/commands/execution/logs.js +10 -8
- package/dist/commands/execution/logs.js.map +1 -1
- package/dist/commands/execution/stop.js +1 -1
- package/dist/commands/execution/stop.js.map +1 -1
- package/dist/commands/execution/view.js +1 -1
- package/dist/commands/execution/view.js.map +1 -1
- package/dist/commands/init.d.ts +0 -16
- package/dist/commands/init.js +50 -160
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/logs.d.ts +20 -0
- package/dist/commands/logs.js +84 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/mcp-server.js +1 -1
- package/dist/commands/mcp-server.js.map +1 -1
- package/dist/commands/new.d.ts +27 -0
- package/dist/commands/new.js +184 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/orchestrator/attach.d.ts +1 -0
- package/dist/commands/orchestrator/attach.js +159 -26
- package/dist/commands/orchestrator/attach.js.map +1 -1
- package/dist/commands/orchestrator/start.d.ts +20 -0
- package/dist/commands/orchestrator/start.js +122 -14
- package/dist/commands/orchestrator/start.js.map +1 -1
- package/dist/commands/orchestrator/status.d.ts +4 -0
- package/dist/commands/orchestrator/status.js +70 -29
- package/dist/commands/orchestrator/status.js.map +1 -1
- package/dist/commands/orchestrator/stop.js +57 -23
- package/dist/commands/orchestrator/stop.js.map +1 -1
- package/dist/commands/peek.d.ts +20 -0
- package/dist/commands/peek.js +84 -0
- package/dist/commands/peek.js.map +1 -0
- package/dist/commands/poke.d.ts +20 -0
- package/dist/commands/poke.js +89 -0
- package/dist/commands/poke.js.map +1 -0
- package/dist/commands/pr/link.js +1 -1
- package/dist/commands/pr/link.js.map +1 -1
- package/dist/commands/pr/status.js +1 -1
- package/dist/commands/pr/status.js.map +1 -1
- package/dist/commands/ps.d.ts +18 -0
- package/dist/commands/ps.js +123 -0
- package/dist/commands/ps.js.map +1 -0
- package/dist/commands/qa/index.js +1 -1
- package/dist/commands/qa/index.js.map +1 -1
- package/dist/commands/repo/add.js +1 -1
- package/dist/commands/repo/add.js.map +1 -1
- package/dist/commands/repo/list.js +1 -1
- package/dist/commands/repo/list.js.map +1 -1
- package/dist/commands/repo/remove.js +1 -1
- package/dist/commands/repo/remove.js.map +1 -1
- package/dist/commands/repo/view.js +1 -1
- package/dist/commands/repo/view.js.map +1 -1
- package/dist/commands/run/index.d.ts +25 -0
- package/dist/commands/run/index.js +212 -0
- package/dist/commands/run/index.js.map +1 -0
- package/dist/commands/session/index.js +4 -0
- package/dist/commands/session/index.js.map +1 -1
- package/dist/commands/session/prune.d.ts +18 -0
- package/dist/commands/session/prune.js +327 -0
- package/dist/commands/session/prune.js.map +1 -0
- package/dist/commands/shortcut/connect.d.ts +15 -0
- package/dist/commands/shortcut/connect.js +210 -0
- package/dist/commands/shortcut/connect.js.map +1 -0
- package/dist/commands/stop.d.ts +19 -0
- package/dist/commands/stop.js +83 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/work/asana.d.ts +23 -0
- package/dist/commands/work/asana.js +213 -0
- package/dist/commands/work/asana.js.map +1 -0
- package/dist/commands/work/complete.js +1 -1
- package/dist/commands/work/complete.js.map +1 -1
- package/dist/commands/work/ready.js +1 -1
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/review.js +1 -1
- package/dist/commands/work/review.js.map +1 -1
- package/dist/commands/work/revise.js +1 -1
- package/dist/commands/work/revise.js.map +1 -1
- package/dist/commands/work/shortcut.d.ts +23 -0
- package/dist/commands/work/shortcut.js +212 -0
- package/dist/commands/work/shortcut.js.map +1 -0
- package/dist/commands/work/spawn.d.ts +3 -0
- package/dist/commands/work/spawn.js +175 -2
- package/dist/commands/work/spawn.js.map +1 -1
- package/dist/commands/work/start.js +22 -30
- package/dist/commands/work/start.js.map +1 -1
- package/dist/commands/work/watch.js +1 -1
- package/dist/commands/work/watch.js.map +1 -1
- package/dist/commands/workspace/add.js +1 -1
- package/dist/commands/workspace/add.js.map +1 -1
- package/dist/commands/workspace/list.js +1 -1
- package/dist/commands/workspace/list.js.map +1 -1
- package/dist/hooks/init.d.ts +1 -1
- package/dist/hooks/init.js +9 -7
- package/dist/hooks/init.js.map +1 -1
- package/dist/lib/agent-naming.d.ts +15 -0
- package/dist/lib/agent-naming.js +32 -0
- package/dist/lib/agent-naming.js.map +1 -0
- package/dist/lib/agents/commands.d.ts +2 -0
- package/dist/lib/agents/commands.js +51 -44
- package/dist/lib/agents/commands.js.map +1 -1
- package/dist/lib/agents/index.js +5 -0
- package/dist/lib/agents/index.js.map +1 -1
- package/dist/lib/asana/client.d.ts +8 -0
- package/dist/lib/asana/client.js +26 -7
- package/dist/lib/asana/client.js.map +1 -1
- package/dist/lib/asana/types.d.ts +20 -0
- package/dist/lib/branch/index.d.ts +36 -0
- package/dist/lib/branch/index.js +129 -0
- package/dist/lib/branch/index.js.map +1 -1
- package/dist/lib/database/drizzle-schema.d.ts +2 -2
- package/dist/lib/database/index.js +1 -1
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/events/emitting-runner.d.ts +30 -0
- package/dist/lib/events/emitting-runner.js +95 -0
- package/dist/lib/events/emitting-runner.js.map +1 -0
- package/dist/lib/events/event-bus.d.ts +54 -0
- package/dist/lib/events/event-bus.js +107 -0
- package/dist/lib/events/event-bus.js.map +1 -0
- package/dist/lib/events/events.d.ts +67 -0
- package/dist/lib/events/events.js +8 -0
- package/dist/lib/events/events.js.map +1 -0
- package/dist/lib/events/index.d.ts +7 -0
- package/dist/lib/events/index.js +6 -0
- package/dist/lib/events/index.js.map +1 -0
- package/dist/lib/execution/devcontainer.d.ts +27 -0
- package/dist/lib/execution/devcontainer.js +80 -0
- package/dist/lib/execution/devcontainer.js.map +1 -1
- package/dist/lib/execution/runners.d.ts +28 -0
- package/dist/lib/execution/runners.js +459 -31
- package/dist/lib/execution/runners.js.map +1 -1
- package/dist/lib/execution/spawner.js +35 -17
- package/dist/lib/execution/spawner.js.map +1 -1
- package/dist/lib/execution/types.d.ts +1 -0
- package/dist/lib/execution/types.js.map +1 -1
- package/dist/lib/external-issues/adapters.d.ts +34 -0
- package/dist/lib/external-issues/adapters.js +191 -0
- package/dist/lib/external-issues/adapters.js.map +1 -1
- package/dist/lib/external-issues/asana.d.ts +75 -0
- package/dist/lib/external-issues/asana.js +243 -0
- package/dist/lib/external-issues/asana.js.map +1 -0
- package/dist/lib/external-issues/index.d.ts +5 -3
- package/dist/lib/external-issues/index.js +7 -3
- package/dist/lib/external-issues/index.js.map +1 -1
- package/dist/lib/external-issues/jira.d.ts +46 -0
- package/dist/lib/external-issues/jira.js +68 -0
- package/dist/lib/external-issues/jira.js.map +1 -1
- package/dist/lib/external-issues/linear.js +22 -2
- package/dist/lib/external-issues/linear.js.map +1 -1
- package/dist/lib/external-issues/mapping-store.js +1 -1
- package/dist/lib/external-issues/shortcut.d.ts +86 -0
- package/dist/lib/external-issues/shortcut.js +274 -0
- package/dist/lib/external-issues/shortcut.js.map +1 -0
- package/dist/lib/external-issues/types.d.ts +3 -3
- package/dist/lib/external-issues/types.js +1 -1
- package/dist/lib/external-issues/types.js.map +1 -1
- package/dist/lib/linear/client.js +2 -0
- package/dist/lib/linear/client.js.map +1 -1
- package/dist/lib/linear/mapper.d.ts +7 -1
- package/dist/lib/linear/mapper.js +42 -12
- package/dist/lib/linear/mapper.js.map +1 -1
- package/dist/lib/linear/types.d.ts +1 -0
- package/dist/lib/linear/types.js.map +1 -1
- package/dist/lib/mcp/tools/cli-passthrough.js +1 -1
- package/dist/lib/mcp/tools/cli-passthrough.js.map +1 -1
- package/dist/lib/mcp/tools/work.js +1 -1
- package/dist/lib/mcp/tools/work.js.map +1 -1
- package/dist/lib/pmo/index.d.ts +2 -2
- package/dist/lib/pmo/index.js +3 -3
- package/dist/lib/pmo/index.js.map +1 -1
- package/dist/lib/pmo/sync-manager.js +1 -1
- package/dist/lib/pmo/sync-manager.js.map +1 -1
- package/dist/lib/pmo/watcher.js +1 -1
- package/dist/lib/pmo/watcher.js.map +1 -1
- package/dist/lib/repos/index.js +1 -1
- package/dist/lib/repos/index.js.map +1 -1
- package/dist/lib/runners/agent-runner.d.ts +92 -0
- package/dist/lib/runners/agent-runner.js +9 -0
- package/dist/lib/runners/agent-runner.js.map +1 -0
- package/dist/lib/runners/claude-code-runner.d.ts +53 -0
- package/dist/lib/runners/claude-code-runner.js +132 -0
- package/dist/lib/runners/claude-code-runner.js.map +1 -0
- package/dist/lib/runners/index.d.ts +34 -0
- package/dist/lib/runners/index.js +97 -0
- package/dist/lib/runners/index.js.map +1 -0
- package/dist/lib/session-store.d.ts +70 -0
- package/dist/lib/session-store.js +167 -0
- package/dist/lib/session-store.js.map +1 -0
- package/dist/lib/shortcut/config.d.ts +44 -0
- package/dist/lib/shortcut/config.js +98 -0
- package/dist/lib/shortcut/config.js.map +1 -0
- package/dist/lib/shortcut/index.d.ts +7 -0
- package/dist/lib/shortcut/index.js +7 -0
- package/dist/lib/shortcut/index.js.map +1 -0
- package/dist/lib/signal-handler.js +8 -0
- package/dist/lib/signal-handler.js.map +1 -1
- package/dist/lib/telemetry/analytics.js +29 -15
- package/dist/lib/telemetry/analytics.js.map +1 -1
- package/dist/lib/update-check.d.ts +27 -0
- package/dist/lib/update-check.js +72 -0
- package/dist/lib/update-check.js.map +1 -1
- package/dist/lib/update-prompt.d.ts +10 -2
- package/dist/lib/update-prompt.js +38 -5
- package/dist/lib/update-prompt.js.map +1 -1
- package/dist/lib/work-source/client.d.ts +10 -0
- package/dist/lib/work-source/client.js +74 -0
- package/dist/lib/work-source/client.js.map +1 -0
- package/dist/lib/work-source/config.d.ts +1 -1
- package/dist/lib/work-source/config.js +17 -1
- package/dist/lib/work-source/config.js.map +1 -1
- package/dist/lib/work-source/index.d.ts +1 -0
- package/dist/lib/work-source/index.js +1 -0
- package/dist/lib/work-source/index.js.map +1 -1
- package/dist/lib/workspace.js +2 -2
- package/dist/lib/workspace.js.map +1 -1
- package/oclif.manifest.json +2230 -1187
- package/package.json +1 -1
|
@@ -16,6 +16,52 @@ export declare function buildJiraIssueChoiceCommand(issueKey: string, projectId?
|
|
|
16
16
|
export declare function getJiraIssueByKey(configInput: JiraAdapterConfig, issueKey: string, options?: {
|
|
17
17
|
fetchImpl?: typeof fetch;
|
|
18
18
|
}): Promise<NormalizedIssueEnvelope | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if Jira is configured via environment variables.
|
|
21
|
+
* Returns true if at least a base URL and API token are present.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isJiraConfigured(config?: JiraAdapterConfig): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Get the configured Jira project key from config or environment variables.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getJiraProjectKey(config?: JiraAdapterConfig): string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Import a Jira issue into PMO as a linked ticket.
|
|
30
|
+
*
|
|
31
|
+
* Creates a new PMO ticket or updates an existing one that is linked
|
|
32
|
+
* to the same Jira issue (matched by external_key or external_id).
|
|
33
|
+
*
|
|
34
|
+
* @returns Object with ticketId and whether it was newly created
|
|
35
|
+
*/
|
|
36
|
+
export declare function importJiraIssueToPmo(storage: {
|
|
37
|
+
listTickets(projectId: string): Promise<Array<{
|
|
38
|
+
id: string;
|
|
39
|
+
metadata?: Record<string, string>;
|
|
40
|
+
}>>;
|
|
41
|
+
createTicket(projectId: string, input: {
|
|
42
|
+
title: string;
|
|
43
|
+
description: string;
|
|
44
|
+
priority?: string;
|
|
45
|
+
category?: string;
|
|
46
|
+
labels: string[];
|
|
47
|
+
metadata: Record<string, string>;
|
|
48
|
+
}): Promise<{
|
|
49
|
+
id: string;
|
|
50
|
+
}>;
|
|
51
|
+
updateTicket(ticketId: string, input: {
|
|
52
|
+
title: string;
|
|
53
|
+
description: string;
|
|
54
|
+
priority?: string;
|
|
55
|
+
category?: string;
|
|
56
|
+
labels: string[];
|
|
57
|
+
metadata: Record<string, string>;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
id: string;
|
|
60
|
+
}>;
|
|
61
|
+
}, projectId: string, envelope: NormalizedIssueEnvelope): Promise<{
|
|
62
|
+
ticketId: string;
|
|
63
|
+
created: boolean;
|
|
64
|
+
}>;
|
|
19
65
|
export declare function listJiraIssues(configInput: JiraAdapterConfig, options?: {
|
|
20
66
|
limit?: number;
|
|
21
67
|
jql?: string;
|
|
@@ -188,6 +188,74 @@ export async function getJiraIssueByKey(configInput, issueKey, options) {
|
|
|
188
188
|
}
|
|
189
189
|
return normalizeJiraIssueToEnvelope(payload);
|
|
190
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Check if Jira is configured via environment variables.
|
|
193
|
+
* Returns true if at least a base URL and API token are present.
|
|
194
|
+
*/
|
|
195
|
+
export function isJiraConfigured(config) {
|
|
196
|
+
const baseUrl = config?.baseUrl
|
|
197
|
+
|| config?.host
|
|
198
|
+
|| process.env.PRLT_JIRA_BASE_URL
|
|
199
|
+
|| process.env.JIRA_BASE_URL
|
|
200
|
+
|| process.env.PRLT_JIRA_HOST
|
|
201
|
+
|| process.env.JIRA_HOST;
|
|
202
|
+
const apiToken = config?.apiToken
|
|
203
|
+
|| process.env.PRLT_JIRA_API_TOKEN
|
|
204
|
+
|| process.env.JIRA_API_TOKEN;
|
|
205
|
+
return Boolean(baseUrl && apiToken);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Get the configured Jira project key from config or environment variables.
|
|
209
|
+
*/
|
|
210
|
+
export function getJiraProjectKey(config) {
|
|
211
|
+
return config?.projectKey
|
|
212
|
+
|| process.env.PRLT_JIRA_PROJECT
|
|
213
|
+
|| process.env.JIRA_PROJECT_KEY
|
|
214
|
+
|| undefined;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Import a Jira issue into PMO as a linked ticket.
|
|
218
|
+
*
|
|
219
|
+
* Creates a new PMO ticket or updates an existing one that is linked
|
|
220
|
+
* to the same Jira issue (matched by external_key or external_id).
|
|
221
|
+
*
|
|
222
|
+
* @returns Object with ticketId and whether it was newly created
|
|
223
|
+
*/
|
|
224
|
+
export async function importJiraIssueToPmo(storage, projectId, envelope) {
|
|
225
|
+
const tickets = await storage.listTickets(projectId);
|
|
226
|
+
const existing = tickets.find((ticket) => {
|
|
227
|
+
const source = ticket.metadata?.external_source;
|
|
228
|
+
const key = ticket.metadata?.external_key;
|
|
229
|
+
const id = ticket.metadata?.external_id;
|
|
230
|
+
return source === 'jira'
|
|
231
|
+
&& (key === envelope.source.externalKey || id === envelope.source.externalId);
|
|
232
|
+
});
|
|
233
|
+
const description = buildJiraTicketDescription(envelope);
|
|
234
|
+
const metadata = buildJiraMetadata(envelope);
|
|
235
|
+
if (existing) {
|
|
236
|
+
await storage.updateTicket(existing.id, {
|
|
237
|
+
title: envelope.title,
|
|
238
|
+
description,
|
|
239
|
+
priority: envelope.priority ?? undefined,
|
|
240
|
+
category: envelope.category ?? undefined,
|
|
241
|
+
labels: envelope.labels,
|
|
242
|
+
metadata: {
|
|
243
|
+
...existing.metadata,
|
|
244
|
+
...metadata,
|
|
245
|
+
},
|
|
246
|
+
});
|
|
247
|
+
return { ticketId: existing.id, created: false };
|
|
248
|
+
}
|
|
249
|
+
const ticket = await storage.createTicket(projectId, {
|
|
250
|
+
title: envelope.title,
|
|
251
|
+
description,
|
|
252
|
+
priority: envelope.priority ?? undefined,
|
|
253
|
+
category: envelope.category ?? undefined,
|
|
254
|
+
labels: envelope.labels,
|
|
255
|
+
metadata,
|
|
256
|
+
});
|
|
257
|
+
return { ticketId: ticket.id, created: true };
|
|
258
|
+
}
|
|
191
259
|
export async function listJiraIssues(configInput, options) {
|
|
192
260
|
const config = ensureJiraConfig(configInput);
|
|
193
261
|
const fetchImpl = options?.fetchImpl || fetch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/lib/external-issues/jira.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/lib/external-issues/jira.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,13 @@ const LINEAR_ISSUES_QUERY = `
|
|
|
17
17
|
description
|
|
18
18
|
url
|
|
19
19
|
priority
|
|
20
|
+
estimate
|
|
21
|
+
dueDate
|
|
22
|
+
assignee {
|
|
23
|
+
id
|
|
24
|
+
name
|
|
25
|
+
email
|
|
26
|
+
}
|
|
20
27
|
labels {
|
|
21
28
|
nodes {
|
|
22
29
|
name
|
|
@@ -26,6 +33,9 @@ const LINEAR_ISSUES_QUERY = `
|
|
|
26
33
|
name
|
|
27
34
|
type
|
|
28
35
|
}
|
|
36
|
+
team {
|
|
37
|
+
key
|
|
38
|
+
}
|
|
29
39
|
}
|
|
30
40
|
}
|
|
31
41
|
}
|
|
@@ -39,6 +49,13 @@ const LINEAR_ISSUE_BY_IDENTIFIER_QUERY = `
|
|
|
39
49
|
description
|
|
40
50
|
url
|
|
41
51
|
priority
|
|
52
|
+
estimate
|
|
53
|
+
dueDate
|
|
54
|
+
assignee {
|
|
55
|
+
id
|
|
56
|
+
name
|
|
57
|
+
email
|
|
58
|
+
}
|
|
42
59
|
labels {
|
|
43
60
|
nodes {
|
|
44
61
|
name
|
|
@@ -48,6 +65,9 @@ const LINEAR_ISSUE_BY_IDENTIFIER_QUERY = `
|
|
|
48
65
|
name
|
|
49
66
|
type
|
|
50
67
|
}
|
|
68
|
+
team {
|
|
69
|
+
key
|
|
70
|
+
}
|
|
51
71
|
}
|
|
52
72
|
}
|
|
53
73
|
`;
|
|
@@ -95,7 +115,7 @@ export function normalizeLinearIssue(rawIssue) {
|
|
|
95
115
|
const labels = (issue.labels?.nodes || [])
|
|
96
116
|
.map(label => label.name?.trim())
|
|
97
117
|
.filter((name) => Boolean(name));
|
|
98
|
-
const
|
|
118
|
+
const projectKey = issue.team?.key || issue.identifier.split('-')[0];
|
|
99
119
|
return {
|
|
100
120
|
source: 'linear',
|
|
101
121
|
external_id: issue.id,
|
|
@@ -107,7 +127,7 @@ export function normalizeLinearIssue(rawIssue) {
|
|
|
107
127
|
status: issue.state?.name || 'Unknown',
|
|
108
128
|
url: issue.url,
|
|
109
129
|
project_key: projectKey || 'UNKNOWN',
|
|
110
|
-
assignee: null,
|
|
130
|
+
assignee: issue.assignee?.name || null,
|
|
111
131
|
item_type: 'issue',
|
|
112
132
|
raw: rawIssue,
|
|
113
133
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/lib/external-issues/linear.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAGrB,MAAM,YAAY,CAAA;AAEnB,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AAE/D,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/lib/external-issues/linear.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export class ExternalExecutionMappingStore {
|
|
|
26
26
|
ensureTables() {
|
|
27
27
|
this.db.exec(`
|
|
28
28
|
CREATE TABLE IF NOT EXISTS ${T.external_execution_map} (
|
|
29
|
-
provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'asana', 'monday', 'pmo')),
|
|
29
|
+
provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'shortcut', 'asana', 'monday', 'pmo')),
|
|
30
30
|
external_id TEXT NOT NULL,
|
|
31
31
|
external_key TEXT,
|
|
32
32
|
canonical_url TEXT,
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { type IssueEnvelope, type NormalizedIssueEnvelope } from './types.js';
|
|
2
|
+
export interface ShortcutAdapterConfig {
|
|
3
|
+
apiToken?: string;
|
|
4
|
+
workspaceSlug?: string;
|
|
5
|
+
apiUrl?: string;
|
|
6
|
+
}
|
|
7
|
+
interface ShortcutWorkflowState {
|
|
8
|
+
id?: number;
|
|
9
|
+
name?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Normalize a raw Shortcut API story into a canonical IssueEnvelope.
|
|
14
|
+
*/
|
|
15
|
+
export declare function normalizeShortcutStory(rawStory: unknown, workflowStates?: Map<number, ShortcutWorkflowState>): IssueEnvelope;
|
|
16
|
+
/**
|
|
17
|
+
* Normalize a raw Shortcut story into a PMO-ready NormalizedIssueEnvelope.
|
|
18
|
+
*/
|
|
19
|
+
export declare function normalizeShortcutStoryToEnvelope(rawStory: unknown, workflowStates?: Map<number, ShortcutWorkflowState>): NormalizedIssueEnvelope;
|
|
20
|
+
/**
|
|
21
|
+
* Build a PMO ticket description from a NormalizedIssueEnvelope.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildShortcutTicketDescription(envelope: NormalizedIssueEnvelope): string;
|
|
24
|
+
/**
|
|
25
|
+
* Build ticket metadata from a NormalizedIssueEnvelope for traceability.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildShortcutMetadata(envelope: NormalizedIssueEnvelope): Record<string, string>;
|
|
28
|
+
/**
|
|
29
|
+
* Build a spawn context message from a NormalizedIssueEnvelope.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildShortcutSpawnContextMessage(envelope: NormalizedIssueEnvelope, additionalMessage?: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Build a CLI command string for selecting a specific Shortcut story.
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildShortcutStoryChoiceCommand(storyKey: string, projectId?: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Fetch a single Shortcut story by its numeric ID or sc-<id> key and normalize it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getShortcutStoryByKey(configInput: ShortcutAdapterConfig, storyKey: string, options?: {
|
|
40
|
+
fetchImpl?: typeof fetch;
|
|
41
|
+
}): Promise<NormalizedIssueEnvelope | null>;
|
|
42
|
+
/**
|
|
43
|
+
* Check if Shortcut is configured via environment variables.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isShortcutConfiguredFromEnv(config?: ShortcutAdapterConfig): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Fetch and normalize Shortcut stories into NormalizedIssueEnvelopes.
|
|
48
|
+
*/
|
|
49
|
+
export declare function listShortcutStories(configInput: ShortcutAdapterConfig, options?: {
|
|
50
|
+
limit?: number;
|
|
51
|
+
query?: string;
|
|
52
|
+
fetchImpl?: typeof fetch;
|
|
53
|
+
}): Promise<NormalizedIssueEnvelope[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Import a Shortcut story into PMO as a linked ticket.
|
|
56
|
+
*/
|
|
57
|
+
export declare function importShortcutStoryToPmo(storage: {
|
|
58
|
+
listTickets(projectId: string): Promise<Array<{
|
|
59
|
+
id: string;
|
|
60
|
+
metadata?: Record<string, string>;
|
|
61
|
+
}>>;
|
|
62
|
+
createTicket(projectId: string, input: {
|
|
63
|
+
title: string;
|
|
64
|
+
description: string;
|
|
65
|
+
priority?: string;
|
|
66
|
+
category?: string;
|
|
67
|
+
labels: string[];
|
|
68
|
+
metadata: Record<string, string>;
|
|
69
|
+
}): Promise<{
|
|
70
|
+
id: string;
|
|
71
|
+
}>;
|
|
72
|
+
updateTicket(ticketId: string, input: {
|
|
73
|
+
title: string;
|
|
74
|
+
description: string;
|
|
75
|
+
priority?: string;
|
|
76
|
+
category?: string;
|
|
77
|
+
labels: string[];
|
|
78
|
+
metadata: Record<string, string>;
|
|
79
|
+
}): Promise<{
|
|
80
|
+
id: string;
|
|
81
|
+
}>;
|
|
82
|
+
}, projectId: string, envelope: NormalizedIssueEnvelope): Promise<{
|
|
83
|
+
ticketId: string;
|
|
84
|
+
created: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
export {};
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { ExternalIssueAdapterError, toNormalizedEnvelope, } from './types.js';
|
|
2
|
+
const DEFAULT_SHORTCUT_API_URL = 'https://api.app.shortcut.com/api/v3';
|
|
3
|
+
function ensureShortcutConfig(config) {
|
|
4
|
+
const apiToken = config.apiToken || process.env.SHORTCUT_API_TOKEN || process.env.PRLT_SHORTCUT_API_TOKEN;
|
|
5
|
+
const workspaceSlug = config.workspaceSlug || process.env.PRLT_SHORTCUT_WORKSPACE || process.env.SHORTCUT_WORKSPACE_SLUG;
|
|
6
|
+
const apiUrl = config.apiUrl || process.env.PRLT_SHORTCUT_API_URL || DEFAULT_SHORTCUT_API_URL;
|
|
7
|
+
if (!apiToken) {
|
|
8
|
+
throw new ExternalIssueAdapterError('MISSING_CONFIG', 'Missing Shortcut API token. Set SHORTCUT_API_TOKEN or PRLT_SHORTCUT_API_TOKEN.');
|
|
9
|
+
}
|
|
10
|
+
return { apiToken, apiUrl, workspaceSlug: workspaceSlug || undefined };
|
|
11
|
+
}
|
|
12
|
+
function ensureStoryShape(story) {
|
|
13
|
+
if (!story.id || !story.name || !story.app_url) {
|
|
14
|
+
throw new ExternalIssueAdapterError('BAD_PAYLOAD', 'Shortcut story payload is missing required fields (id, name, app_url).', story);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function deriveExternalKey(story) {
|
|
18
|
+
// Shortcut stories have numeric IDs; the key is typically "sc-<id>"
|
|
19
|
+
return `sc-${story.id}`;
|
|
20
|
+
}
|
|
21
|
+
function deriveCategory(storyType) {
|
|
22
|
+
const normalized = (storyType || '').toLowerCase();
|
|
23
|
+
if (normalized === 'bug')
|
|
24
|
+
return 'bug';
|
|
25
|
+
if (normalized === 'chore')
|
|
26
|
+
return 'chore';
|
|
27
|
+
return 'feature';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Normalize a raw Shortcut API story into a canonical IssueEnvelope.
|
|
31
|
+
*/
|
|
32
|
+
export function normalizeShortcutStory(rawStory, workflowStates) {
|
|
33
|
+
if (!rawStory || typeof rawStory !== 'object') {
|
|
34
|
+
throw new ExternalIssueAdapterError('BAD_PAYLOAD', 'Shortcut story payload is invalid.', rawStory);
|
|
35
|
+
}
|
|
36
|
+
const story = rawStory;
|
|
37
|
+
ensureStoryShape(story);
|
|
38
|
+
const labels = (story.labels || [])
|
|
39
|
+
.map(label => label.name?.trim())
|
|
40
|
+
.filter((name) => Boolean(name));
|
|
41
|
+
const stateName = workflowStates?.get(story.workflow_state_id ?? 0)?.name || 'Unknown';
|
|
42
|
+
const externalKey = deriveExternalKey(story);
|
|
43
|
+
// Shortcut doesn't have a built-in priority field;
|
|
44
|
+
// derive from labels if a priority label exists, otherwise null
|
|
45
|
+
let priority = null;
|
|
46
|
+
const priorityLabel = labels.find(l => /^P[0-3]$/i.test(l));
|
|
47
|
+
if (priorityLabel) {
|
|
48
|
+
priority = priorityLabel.toUpperCase();
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
source: 'shortcut',
|
|
52
|
+
external_id: String(story.id),
|
|
53
|
+
external_key: externalKey,
|
|
54
|
+
title: story.name,
|
|
55
|
+
description: story.description || '',
|
|
56
|
+
labels,
|
|
57
|
+
priority,
|
|
58
|
+
status: stateName,
|
|
59
|
+
url: story.app_url,
|
|
60
|
+
project_key: story.group_id ? String(story.group_id) : 'DEFAULT',
|
|
61
|
+
assignee: null, // Resolved separately if needed
|
|
62
|
+
item_type: story.story_type || null,
|
|
63
|
+
raw: rawStory,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Normalize a raw Shortcut story into a PMO-ready NormalizedIssueEnvelope.
|
|
68
|
+
*/
|
|
69
|
+
export function normalizeShortcutStoryToEnvelope(rawStory, workflowStates) {
|
|
70
|
+
const envelope = normalizeShortcutStory(rawStory, workflowStates);
|
|
71
|
+
return toNormalizedEnvelope(envelope, deriveCategory(envelope.item_type ?? undefined));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build a PMO ticket description from a NormalizedIssueEnvelope.
|
|
75
|
+
*/
|
|
76
|
+
export function buildShortcutTicketDescription(envelope) {
|
|
77
|
+
const body = envelope.description.trim();
|
|
78
|
+
const metadataLines = [
|
|
79
|
+
`- Source: ${envelope.source.name}`,
|
|
80
|
+
`- External key: ${envelope.source.externalKey}`,
|
|
81
|
+
`- External id: ${envelope.source.externalId}`,
|
|
82
|
+
`- URL: ${envelope.source.url}`,
|
|
83
|
+
`- Status: ${envelope.status}`,
|
|
84
|
+
`- Priority: ${envelope.priority || 'Unset'}`,
|
|
85
|
+
`- Labels: ${envelope.labels.length > 0 ? envelope.labels.join(', ') : 'None'}`,
|
|
86
|
+
];
|
|
87
|
+
const parts = [
|
|
88
|
+
body,
|
|
89
|
+
'## External Issue Context',
|
|
90
|
+
metadataLines.join('\n'),
|
|
91
|
+
].filter(Boolean);
|
|
92
|
+
return parts.join('\n\n');
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Build ticket metadata from a NormalizedIssueEnvelope for traceability.
|
|
96
|
+
*/
|
|
97
|
+
export function buildShortcutMetadata(envelope) {
|
|
98
|
+
return {
|
|
99
|
+
external_source: envelope.source.name,
|
|
100
|
+
external_key: envelope.source.externalKey,
|
|
101
|
+
external_id: envelope.source.externalId,
|
|
102
|
+
external_url: envelope.source.url,
|
|
103
|
+
external_raw: JSON.stringify(envelope.source.raw),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Build a spawn context message from a NormalizedIssueEnvelope.
|
|
108
|
+
*/
|
|
109
|
+
export function buildShortcutSpawnContextMessage(envelope, additionalMessage) {
|
|
110
|
+
const lines = [
|
|
111
|
+
`External issue source: ${envelope.source.name}`,
|
|
112
|
+
`External issue key: ${envelope.source.externalKey}`,
|
|
113
|
+
`External issue id: ${envelope.source.externalId}`,
|
|
114
|
+
`External issue URL: ${envelope.source.url}`,
|
|
115
|
+
];
|
|
116
|
+
if (additionalMessage?.trim()) {
|
|
117
|
+
lines.push('', additionalMessage.trim());
|
|
118
|
+
}
|
|
119
|
+
return lines.join('\n');
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Build a CLI command string for selecting a specific Shortcut story.
|
|
123
|
+
*/
|
|
124
|
+
export function buildShortcutStoryChoiceCommand(storyKey, projectId) {
|
|
125
|
+
let command = `prlt work shortcut --issue ${storyKey} --json`;
|
|
126
|
+
if (projectId) {
|
|
127
|
+
command += ` -P ${projectId}`;
|
|
128
|
+
}
|
|
129
|
+
return command;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Fetch workflow states for the Shortcut workspace.
|
|
133
|
+
* Returns a Map of state_id -> state info.
|
|
134
|
+
*/
|
|
135
|
+
async function fetchWorkflowStates(config, options) {
|
|
136
|
+
const fetchImpl = options?.fetchImpl || fetch;
|
|
137
|
+
const response = await fetchImpl(`${config.apiUrl}/workflows`, {
|
|
138
|
+
method: 'GET',
|
|
139
|
+
headers: {
|
|
140
|
+
'Content-Type': 'application/json',
|
|
141
|
+
'Shortcut-Token': config.apiToken,
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
if (!response.ok) {
|
|
145
|
+
return new Map();
|
|
146
|
+
}
|
|
147
|
+
const workflows = await response.json();
|
|
148
|
+
const stateMap = new Map();
|
|
149
|
+
for (const workflow of workflows) {
|
|
150
|
+
for (const state of workflow.states || []) {
|
|
151
|
+
if (state.id !== undefined) {
|
|
152
|
+
stateMap.set(state.id, state);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return stateMap;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Fetch a single Shortcut story by its numeric ID or sc-<id> key and normalize it.
|
|
160
|
+
*/
|
|
161
|
+
export async function getShortcutStoryByKey(configInput, storyKey, options) {
|
|
162
|
+
const config = ensureShortcutConfig(configInput);
|
|
163
|
+
const fetchImpl = options?.fetchImpl || fetch;
|
|
164
|
+
// Extract numeric ID from "sc-123" or plain "123"
|
|
165
|
+
const numericId = storyKey.replace(/^sc-/i, '');
|
|
166
|
+
if (!/^\d+$/.test(numericId)) {
|
|
167
|
+
throw new ExternalIssueAdapterError('BAD_PAYLOAD', `Invalid Shortcut story key: "${storyKey}". Expected "sc-<number>" or a numeric ID.`);
|
|
168
|
+
}
|
|
169
|
+
const workflowStates = await fetchWorkflowStates(config, { fetchImpl });
|
|
170
|
+
const response = await fetchImpl(`${config.apiUrl}/stories/${numericId}`, {
|
|
171
|
+
method: 'GET',
|
|
172
|
+
headers: {
|
|
173
|
+
'Content-Type': 'application/json',
|
|
174
|
+
'Shortcut-Token': config.apiToken,
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
if (response.status === 401 || response.status === 403) {
|
|
178
|
+
throw new ExternalIssueAdapterError('AUTH_FAILED', 'Shortcut authentication failed. Verify your SHORTCUT_API_TOKEN.');
|
|
179
|
+
}
|
|
180
|
+
if (response.status === 429) {
|
|
181
|
+
throw new ExternalIssueAdapterError('RATE_LIMITED', 'Shortcut API rate limit exceeded. Wait a moment and try again.');
|
|
182
|
+
}
|
|
183
|
+
if (response.status === 404) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
if (!response.ok) {
|
|
187
|
+
throw new ExternalIssueAdapterError('REQUEST_FAILED', `Shortcut request failed with status ${response.status}.`);
|
|
188
|
+
}
|
|
189
|
+
const payload = await response.json();
|
|
190
|
+
return normalizeShortcutStoryToEnvelope(payload, workflowStates);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if Shortcut is configured via environment variables.
|
|
194
|
+
*/
|
|
195
|
+
export function isShortcutConfiguredFromEnv(config) {
|
|
196
|
+
const apiToken = config?.apiToken
|
|
197
|
+
|| process.env.PRLT_SHORTCUT_API_TOKEN
|
|
198
|
+
|| process.env.SHORTCUT_API_TOKEN;
|
|
199
|
+
return Boolean(apiToken);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Fetch and normalize Shortcut stories into NormalizedIssueEnvelopes.
|
|
203
|
+
*/
|
|
204
|
+
export async function listShortcutStories(configInput, options) {
|
|
205
|
+
const config = ensureShortcutConfig(configInput);
|
|
206
|
+
const fetchImpl = options?.fetchImpl || fetch;
|
|
207
|
+
const limit = Math.max(1, Math.min(options?.limit ?? 20, 100));
|
|
208
|
+
const workflowStates = await fetchWorkflowStates(config, { fetchImpl });
|
|
209
|
+
// Use Shortcut search endpoint
|
|
210
|
+
const searchQuery = options?.query || 'is:story !is:done !is:archived';
|
|
211
|
+
const response = await fetchImpl(`${config.apiUrl}/search/stories`, {
|
|
212
|
+
method: 'GET',
|
|
213
|
+
headers: {
|
|
214
|
+
'Content-Type': 'application/json',
|
|
215
|
+
'Shortcut-Token': config.apiToken,
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
if (response.status === 401 || response.status === 403) {
|
|
219
|
+
throw new ExternalIssueAdapterError('AUTH_FAILED', 'Shortcut authentication failed. Verify your SHORTCUT_API_TOKEN.');
|
|
220
|
+
}
|
|
221
|
+
if (response.status === 429) {
|
|
222
|
+
throw new ExternalIssueAdapterError('RATE_LIMITED', 'Shortcut API rate limit exceeded. Wait a moment and try again.');
|
|
223
|
+
}
|
|
224
|
+
if (!response.ok) {
|
|
225
|
+
throw new ExternalIssueAdapterError('REQUEST_FAILED', `Shortcut request failed with status ${response.status}.`);
|
|
226
|
+
}
|
|
227
|
+
const payload = await response.json();
|
|
228
|
+
const stories = payload.data;
|
|
229
|
+
if (!Array.isArray(stories)) {
|
|
230
|
+
throw new ExternalIssueAdapterError('BAD_PAYLOAD', 'Shortcut response payload was missing stories array.', payload);
|
|
231
|
+
}
|
|
232
|
+
return stories
|
|
233
|
+
.slice(0, limit)
|
|
234
|
+
.map(story => normalizeShortcutStoryToEnvelope(story, workflowStates));
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Import a Shortcut story into PMO as a linked ticket.
|
|
238
|
+
*/
|
|
239
|
+
export async function importShortcutStoryToPmo(storage, projectId, envelope) {
|
|
240
|
+
const tickets = await storage.listTickets(projectId);
|
|
241
|
+
const existing = tickets.find((ticket) => {
|
|
242
|
+
const source = ticket.metadata?.external_source;
|
|
243
|
+
const key = ticket.metadata?.external_key;
|
|
244
|
+
const id = ticket.metadata?.external_id;
|
|
245
|
+
return source === 'shortcut'
|
|
246
|
+
&& (key === envelope.source.externalKey || id === envelope.source.externalId);
|
|
247
|
+
});
|
|
248
|
+
const description = buildShortcutTicketDescription(envelope);
|
|
249
|
+
const metadata = buildShortcutMetadata(envelope);
|
|
250
|
+
if (existing) {
|
|
251
|
+
await storage.updateTicket(existing.id, {
|
|
252
|
+
title: envelope.title,
|
|
253
|
+
description,
|
|
254
|
+
priority: envelope.priority ?? undefined,
|
|
255
|
+
category: envelope.category ?? undefined,
|
|
256
|
+
labels: envelope.labels,
|
|
257
|
+
metadata: {
|
|
258
|
+
...existing.metadata,
|
|
259
|
+
...metadata,
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
return { ticketId: existing.id, created: false };
|
|
263
|
+
}
|
|
264
|
+
const ticket = await storage.createTicket(projectId, {
|
|
265
|
+
title: envelope.title,
|
|
266
|
+
description,
|
|
267
|
+
priority: envelope.priority ?? undefined,
|
|
268
|
+
category: envelope.category ?? undefined,
|
|
269
|
+
labels: envelope.labels,
|
|
270
|
+
metadata,
|
|
271
|
+
});
|
|
272
|
+
return { ticketId: ticket.id, created: true };
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=shortcut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcut.js","sourceRoot":"","sources":["../../../src/lib/external-issues/shortcut.ts"],"names":[],"mappings":"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"}
|