@autocode-cli/autocode 0.1.15 → 0.1.17
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 +38 -38
- package/dist/cli/commands/comment.d.ts +1 -1
- package/dist/cli/commands/comment.js +11 -11
- package/dist/cli/commands/comment.js.map +1 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +65 -22
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/move.d.ts +1 -1
- package/dist/cli/commands/move.js +12 -12
- package/dist/cli/commands/move.js.map +1 -1
- package/dist/cli/commands/new.d.ts +1 -1
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +26 -13
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/next.d.ts +1 -1
- package/dist/cli/commands/next.js +15 -15
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/parent.d.ts +9 -0
- package/dist/cli/commands/parent.d.ts.map +1 -0
- package/dist/cli/commands/parent.js +94 -0
- package/dist/cli/commands/parent.js.map +1 -0
- package/dist/cli/commands/serve.js +8 -8
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/show.d.ts +1 -1
- package/dist/cli/commands/show.d.ts.map +1 -1
- package/dist/cli/commands/show.js +51 -31
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/stats.js +2 -2
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/sync.js +3 -3
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +5 -3
- package/dist/cli/parser.js.map +1 -1
- package/dist/core/column.js +2 -2
- package/dist/core/column.js.map +1 -1
- package/dist/core/hierarchy.d.ts +97 -0
- package/dist/core/hierarchy.d.ts.map +1 -0
- package/dist/core/hierarchy.js +274 -0
- package/dist/core/hierarchy.js.map +1 -0
- package/dist/core/issue.d.ts +62 -0
- package/dist/core/issue.d.ts.map +1 -0
- package/dist/core/issue.js +247 -0
- package/dist/core/issue.js.map +1 -0
- package/dist/core/sync.d.ts +9 -9
- package/dist/core/sync.d.ts.map +1 -1
- package/dist/core/sync.js +61 -58
- package/dist/core/sync.js.map +1 -1
- package/dist/core/workflow.d.ts +22 -20
- package/dist/core/workflow.d.ts.map +1 -1
- package/dist/core/workflow.js +68 -51
- package/dist/core/workflow.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/server/api-autocomplete.test.d.ts +6 -0
- package/dist/server/api-autocomplete.test.d.ts.map +1 -0
- package/dist/server/api-autocomplete.test.js +249 -0
- package/dist/server/api-autocomplete.test.js.map +1 -0
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +216 -106
- package/dist/server/api.js.map +1 -1
- package/dist/server/dashboard/pages/column-prompt.d.ts +1 -1
- package/dist/server/dashboard/pages/column-prompt.d.ts.map +1 -1
- package/dist/server/dashboard/pages/column-prompt.js +11 -11
- package/dist/server/dashboard/pages/column-prompt.js.map +1 -1
- package/dist/server/dashboard/pages/column-terminal.d.ts +1 -1
- package/dist/server/dashboard/pages/column-terminal.d.ts.map +1 -1
- package/dist/server/dashboard/pages/column-terminal.js +14 -14
- package/dist/server/dashboard/pages/column-terminal.js.map +1 -1
- package/dist/server/dashboard/pages/index.d.ts +3 -1
- package/dist/server/dashboard/pages/index.d.ts.map +1 -1
- package/dist/server/dashboard/pages/index.js +3 -1
- package/dist/server/dashboard/pages/index.js.map +1 -1
- package/dist/server/dashboard/pages/issue-graph.d.ts +9 -0
- package/dist/server/dashboard/pages/issue-graph.d.ts.map +1 -0
- package/dist/server/dashboard/pages/issue-graph.js +581 -0
- package/dist/server/dashboard/pages/issue-graph.js.map +1 -0
- package/dist/server/dashboard/pages/issue-view.d.ts +8 -0
- package/dist/server/dashboard/pages/issue-view.d.ts.map +1 -0
- package/dist/server/dashboard/pages/{ticket-view.js → issue-view.js} +128 -128
- package/dist/server/dashboard/pages/issue-view.js.map +1 -0
- package/dist/server/dashboard/pages/main-dashboard.js +21 -21
- package/dist/server/dashboard/pages/main-dashboard.js.map +1 -1
- package/dist/server/dashboard/pages/new-issue.d.ts +8 -0
- package/dist/server/dashboard/pages/new-issue.d.ts.map +1 -0
- package/dist/server/dashboard/pages/new-issue.js +648 -0
- package/dist/server/dashboard/pages/new-issue.js.map +1 -0
- package/dist/server/dashboard/pages/new-issue.test.d.ts +6 -0
- package/dist/server/dashboard/pages/new-issue.test.d.ts.map +1 -0
- package/dist/server/dashboard/pages/new-issue.test.js +349 -0
- package/dist/server/dashboard/pages/new-issue.test.js.map +1 -0
- package/dist/server/dashboard/pages/pipeline-configurator.js +1 -1
- package/dist/server/dashboard/pages/shared.d.ts +2 -2
- package/dist/server/dashboard/pages/shared.d.ts.map +1 -1
- package/dist/server/dashboard/pages/shared.js +5 -5
- package/dist/server/dashboard/pages/shared.js.map +1 -1
- package/dist/server/dashboard/pages/stats-page.js +11 -11
- package/dist/server/dashboard/scripts/index.js +134 -134
- package/dist/server/dashboard/styles/board.d.ts +1 -1
- package/dist/server/dashboard/styles/board.js +10 -10
- package/dist/server/dashboard.d.ts +1 -1
- package/dist/server/dashboard.d.ts.map +1 -1
- package/dist/server/dashboard.js +1 -1
- package/dist/server/dashboard.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +40 -24
- package/dist/server/index.js.map +1 -1
- package/dist/server/websocket.d.ts +6 -6
- package/dist/server/websocket.d.ts.map +1 -1
- package/dist/server/websocket.js +10 -10
- package/dist/server/websocket.js.map +1 -1
- package/dist/services/claude.d.ts +13 -13
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +98 -98
- package/dist/services/claude.js.map +1 -1
- package/dist/services/issue-io.d.ts +81 -0
- package/dist/services/issue-io.d.ts.map +1 -0
- package/dist/services/{ticket-io.js → issue-io.js} +54 -53
- package/dist/services/issue-io.js.map +1 -0
- package/dist/services/stats.d.ts +2 -0
- package/dist/services/stats.d.ts.map +1 -1
- package/dist/services/stats.js.map +1 -1
- package/dist/types/index.d.ts +6 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/fs.d.ts +2 -2
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +2 -2
- package/dist/utils/fs.js.map +1 -1
- package/package.json +3 -3
- package/templates/catalog.yaml +2 -2
- package/templates/prompts/api-endpoints-test.en.md +2 -2
- package/templates/prompts/api-endpoints-test.fr.md +2 -2
- package/templates/prompts/backlog.en.md +6 -6
- package/templates/prompts/backlog.fr.md +1 -1
- package/templates/prompts/changelog.en.md +6 -6
- package/templates/prompts/changelog.fr.md +3 -3
- package/templates/prompts/dashboard-responsive.en.md +1 -1
- package/templates/prompts/deploy-prod.en.md +3 -3
- package/templates/prompts/deploy-prod.fr.md +3 -3
- package/templates/prompts/deploy-staging.en.md +3 -3
- package/templates/prompts/deploy-staging.fr.md +3 -3
- package/templates/prompts/design.en.md +5 -5
- package/templates/prompts/design.fr.md +3 -3
- package/templates/prompts/dev.en.md +4 -4
- package/templates/prompts/dev.fr.md +3 -3
- package/templates/prompts/done.en.md +5 -5
- package/templates/prompts/done.fr.md +2 -2
- package/templates/prompts/error-handling-review.en.md +1 -1
- package/templates/prompts/error-handling-review.fr.md +1 -1
- package/templates/prompts/file-watcher-test.en.md +4 -4
- package/templates/prompts/file-watcher-test.fr.md +1 -1
- package/templates/prompts/git-commit.en.md +5 -5
- package/templates/prompts/git-commit.fr.md +3 -3
- package/templates/prompts/git-push.en.md +3 -3
- package/templates/prompts/git-push.fr.md +3 -3
- package/templates/prompts/git-tag.en.md +3 -3
- package/templates/prompts/git-tag.fr.md +3 -3
- package/templates/prompts/in-progress.en.md +6 -6
- package/templates/prompts/in-progress.fr.md +3 -3
- package/templates/prompts/qualification.en.md +8 -8
- package/templates/prompts/qualification.fr.md +3 -3
- package/templates/prompts/retest-cypress.en.md +3 -3
- package/templates/prompts/retest-cypress.fr.md +3 -3
- package/templates/prompts/retest-playwright.en.md +4 -4
- package/templates/prompts/retest-playwright.fr.md +3 -3
- package/templates/prompts/retest.en.md +4 -4
- package/templates/prompts/retest.fr.md +3 -3
- package/templates/prompts/review-best-practices.en.md +3 -3
- package/templates/prompts/review-best-practices.fr.md +3 -3
- package/templates/prompts/review-code.en.md +4 -4
- package/templates/prompts/review-code.fr.md +3 -3
- package/templates/prompts/review-consistency.en.md +3 -3
- package/templates/prompts/review-consistency.fr.md +3 -3
- package/templates/prompts/review-no-duplication.en.md +3 -3
- package/templates/prompts/review-no-duplication.fr.md +3 -3
- package/templates/prompts/review-security.en.md +4 -4
- package/templates/prompts/review-security.fr.md +3 -3
- package/templates/prompts/specification.en.md +5 -5
- package/templates/prompts/specification.fr.md +3 -3
- package/templates/prompts/splitter.en.md +13 -13
- package/templates/prompts/splitter.fr.md +3 -3
- package/templates/prompts/template-validation.en.md +1 -1
- package/templates/prompts/template-validation.fr.md +1 -1
- package/templates/prompts/testing-coverage.en.md +1 -1
- package/templates/prompts/testing-coverage.fr.md +1 -1
- package/templates/prompts/testing-cypress.en.md +4 -4
- package/templates/prompts/testing-cypress.fr.md +3 -3
- package/templates/prompts/testing-integration.en.md +4 -4
- package/templates/prompts/testing-integration.fr.md +3 -3
- package/templates/prompts/testing-playwright.en.md +4 -4
- package/templates/prompts/testing-playwright.fr.md +3 -3
- package/templates/prompts/testing-unit.en.md +4 -4
- package/templates/prompts/testing-unit.fr.md +3 -3
- package/templates/prompts/update-docs.en.md +3 -3
- package/templates/prompts/update-docs.fr.md +3 -3
- package/templates/prompts/validate-staging.en.md +3 -3
- package/templates/prompts/validate-staging.fr.md +3 -3
- package/templates/prompts/websocket-test.en.md +1 -1
- package/dist/core/ticket.d.ts +0 -50
- package/dist/core/ticket.d.ts.map +0 -1
- package/dist/core/ticket.js +0 -224
- package/dist/core/ticket.js.map +0 -1
- package/dist/server/dashboard/pages/ticket-view.d.ts +0 -8
- package/dist/server/dashboard/pages/ticket-view.d.ts.map +0 -1
- package/dist/server/dashboard/pages/ticket-view.js.map +0 -1
- package/dist/services/ticket-io.d.ts +0 -80
- package/dist/services/ticket-io.d.ts.map +0 -1
- package/dist/services/ticket-io.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Board and
|
|
2
|
+
* Board and issue styles (kanban, columns, cards)
|
|
3
3
|
*/
|
|
4
4
|
export function getBoardStyles() {
|
|
5
5
|
return `
|
|
@@ -75,8 +75,8 @@ export function getBoardStyles() {
|
|
|
75
75
|
font-size: 13px;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
/*
|
|
79
|
-
.
|
|
78
|
+
/* Issues */
|
|
79
|
+
.issue {
|
|
80
80
|
background: var(--bg-primary);
|
|
81
81
|
border: 1px solid var(--border);
|
|
82
82
|
border-radius: 8px;
|
|
@@ -84,32 +84,32 @@ export function getBoardStyles() {
|
|
|
84
84
|
cursor: pointer;
|
|
85
85
|
transition: all 0.3s ease;
|
|
86
86
|
}
|
|
87
|
-
.
|
|
87
|
+
.issue:hover {
|
|
88
88
|
border-color: var(--accent);
|
|
89
89
|
transform: translateY(-2px);
|
|
90
90
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
|
|
91
91
|
}
|
|
92
|
-
.
|
|
92
|
+
.issue.dragging {
|
|
93
93
|
opacity: 0.5;
|
|
94
94
|
transform: rotate(3deg) scale(1.05);
|
|
95
95
|
box-shadow: 0 15px 40px var(--accent-glow);
|
|
96
96
|
z-index: 100;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
.
|
|
99
|
+
.issue-key {
|
|
100
100
|
font-family: 'JetBrains Mono', monospace;
|
|
101
101
|
font-size: 0.8rem;
|
|
102
102
|
color: var(--accent-light);
|
|
103
103
|
font-weight: 600;
|
|
104
104
|
margin-bottom: 4px;
|
|
105
105
|
}
|
|
106
|
-
.
|
|
106
|
+
.issue-title {
|
|
107
107
|
font-size: 0.95rem;
|
|
108
108
|
font-weight: 500;
|
|
109
109
|
line-height: 1.4;
|
|
110
110
|
margin-bottom: 10px;
|
|
111
111
|
}
|
|
112
|
-
.
|
|
112
|
+
.issue-meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
|
|
113
113
|
|
|
114
114
|
.priority {
|
|
115
115
|
font-size: 0.7rem;
|
|
@@ -123,7 +123,7 @@ export function getBoardStyles() {
|
|
|
123
123
|
.priority.P3 { background: #64748b20; color: #64748b; }
|
|
124
124
|
|
|
125
125
|
/* Claude Processing Indicator */
|
|
126
|
-
.
|
|
126
|
+
.issue.claude-processing {
|
|
127
127
|
border-color: #a855f7;
|
|
128
128
|
animation: claudePulse 2s ease-in-out infinite;
|
|
129
129
|
box-shadow: 0 0 20px rgba(168, 85, 247, 0.3);
|
|
@@ -140,7 +140,7 @@ export function getBoardStyles() {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
.
|
|
143
|
+
.issue-claude-indicator {
|
|
144
144
|
margin-top: 10px;
|
|
145
145
|
padding-top: 10px;
|
|
146
146
|
border-top: 1px solid var(--border);
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* This is a wrapper module that re-exports from the modular structure.
|
|
5
5
|
* See ./dashboard/ for the module organization.
|
|
6
6
|
*/
|
|
7
|
-
export { generateDashboard, generateColumnEditPage,
|
|
7
|
+
export { generateDashboard, generateColumnEditPage, generateIssueViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateAutocreatePage, generateStatsPage, generateNewIssuePage, generateIssueGraphPage, } from './dashboard/pages/index.js';
|
|
8
8
|
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC"}
|
package/dist/server/dashboard.js
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* This is a wrapper module that re-exports from the modular structure.
|
|
5
5
|
* See ./dashboard/ for the module organization.
|
|
6
6
|
*/
|
|
7
|
-
export { generateDashboard, generateColumnEditPage,
|
|
7
|
+
export { generateDashboard, generateColumnEditPage, generateIssueViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateAutocreatePage, generateStatsPage, generateNewIssuePage, generateIssueGraphPage, } from './dashboard/pages/index.js';
|
|
8
8
|
//# sourceMappingURL=dashboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6CH;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6CH;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8M7D"}
|
package/dist/server/index.js
CHANGED
|
@@ -6,14 +6,14 @@ import { readFile } from 'node:fs/promises';
|
|
|
6
6
|
import { join, extname } from 'node:path';
|
|
7
7
|
import { fileURLToPath } from 'node:url';
|
|
8
8
|
import { dirname } from 'node:path';
|
|
9
|
-
import { generateDashboard, generateColumnEditPage,
|
|
9
|
+
import { generateDashboard, generateColumnEditPage, generateIssueViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateAutocreatePage, generateStatsPage, generateNewIssuePage, generateIssueGraphPage } from './dashboard.js';
|
|
10
10
|
import { handleApiRequest } from './api.js';
|
|
11
11
|
import { handleWebSocketUpgrade, setupPingInterval, getClientCount } from './websocket.js';
|
|
12
12
|
import { startWatcher, stopWatcher } from './watcher.js';
|
|
13
13
|
import { getConfig } from '../utils/config.js';
|
|
14
14
|
import { logger } from '../utils/logger.js';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
15
|
+
import { findActionableIssue } from '../core/issue.js';
|
|
16
|
+
import { processIssueWithClaude } from '../services/claude.js';
|
|
17
17
|
import { pipelineExists } from '../core/pipeline.js';
|
|
18
18
|
const __filename = fileURLToPath(import.meta.url);
|
|
19
19
|
const __dirname = dirname(__filename);
|
|
@@ -88,6 +88,22 @@ export async function startServer(port) {
|
|
|
88
88
|
res.end(html);
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
+
// Handle issue graph page
|
|
92
|
+
if (url === '/issues/graph') {
|
|
93
|
+
const config = getConfig();
|
|
94
|
+
const html = generateIssueGraphPage(config.lang);
|
|
95
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
96
|
+
res.end(html);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
// Handle new issue page
|
|
100
|
+
if (url === '/issue/new') {
|
|
101
|
+
const config = getConfig();
|
|
102
|
+
const html = generateNewIssuePage(config.lang);
|
|
103
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
104
|
+
res.end(html);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
91
107
|
// Handle column edit page
|
|
92
108
|
const columnEditMatch = url.match(/^\/column\/([^/]+)\/edit$/);
|
|
93
109
|
if (columnEditMatch) {
|
|
@@ -98,34 +114,34 @@ export async function startServer(port) {
|
|
|
98
114
|
res.end(html);
|
|
99
115
|
return;
|
|
100
116
|
}
|
|
101
|
-
// Handle
|
|
102
|
-
const
|
|
103
|
-
if (
|
|
117
|
+
// Handle issue view page
|
|
118
|
+
const issueViewMatch = url.match(/^\/issue\/(AC-\d{6})$/);
|
|
119
|
+
if (issueViewMatch) {
|
|
104
120
|
const config = getConfig();
|
|
105
|
-
const
|
|
106
|
-
const html =
|
|
121
|
+
const issueKey = issueViewMatch[1];
|
|
122
|
+
const html = generateIssueViewPage(issueKey, config.lang);
|
|
107
123
|
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
108
124
|
res.end(html);
|
|
109
125
|
return;
|
|
110
126
|
}
|
|
111
127
|
// Handle column terminal page
|
|
112
|
-
const
|
|
113
|
-
if (
|
|
128
|
+
const issueTerminalMatch = url.match(/^\/issue\/(AC-\d{6})\/([^/]+)\/terminal$/);
|
|
129
|
+
if (issueTerminalMatch) {
|
|
114
130
|
const config = getConfig();
|
|
115
|
-
const
|
|
116
|
-
const columnSlug =
|
|
117
|
-
const html = generateColumnTerminalPage(
|
|
131
|
+
const issueKey = issueTerminalMatch[1];
|
|
132
|
+
const columnSlug = issueTerminalMatch[2];
|
|
133
|
+
const html = generateColumnTerminalPage(issueKey, columnSlug, config.lang);
|
|
118
134
|
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
119
135
|
res.end(html);
|
|
120
136
|
return;
|
|
121
137
|
}
|
|
122
138
|
// Handle column prompt page
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
139
|
+
const issuePromptMatch = url.match(/^\/issue\/(AC-\d{6})\/([^/]+)\/prompt$/);
|
|
140
|
+
if (issuePromptMatch) {
|
|
125
141
|
const config = getConfig();
|
|
126
|
-
const
|
|
127
|
-
const columnSlug =
|
|
128
|
-
const html = generateColumnPromptPage(
|
|
142
|
+
const issueKey = issuePromptMatch[1];
|
|
143
|
+
const columnSlug = issuePromptMatch[2];
|
|
144
|
+
const html = generateColumnPromptPage(issueKey, columnSlug, config.lang);
|
|
129
145
|
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
130
146
|
res.end(html);
|
|
131
147
|
return;
|
|
@@ -176,21 +192,21 @@ export async function startServer(port) {
|
|
|
176
192
|
});
|
|
177
193
|
// Setup ping interval
|
|
178
194
|
const pingInterval = setupPingInterval();
|
|
179
|
-
// Setup automatic
|
|
195
|
+
// Setup automatic issue processing loop
|
|
180
196
|
let isProcessing = false;
|
|
181
197
|
const processInterval = setInterval(async () => {
|
|
182
198
|
if (isProcessing)
|
|
183
199
|
return; // Avoid concurrent processing
|
|
184
200
|
const config = getConfig();
|
|
185
|
-
const
|
|
186
|
-
if (
|
|
201
|
+
const issue = findActionableIssue(config.root);
|
|
202
|
+
if (issue) {
|
|
187
203
|
isProcessing = true;
|
|
188
|
-
logger.info(`🤖 Processing ${
|
|
204
|
+
logger.info(`🤖 Processing ${issue.key}...`);
|
|
189
205
|
try {
|
|
190
|
-
await
|
|
206
|
+
await processIssueWithClaude(issue.key, { autoAdvance: true });
|
|
191
207
|
}
|
|
192
208
|
catch (error) {
|
|
193
|
-
logger.error(`Failed to process ${
|
|
209
|
+
logger.error(`Failed to process ${issue.key}: ${error}`);
|
|
194
210
|
}
|
|
195
211
|
isProcessing = false;
|
|
196
212
|
}
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAmC,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,17 +20,17 @@ export declare function notifyRefresh(): void;
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function getClientCount(): number;
|
|
22
22
|
/**
|
|
23
|
-
* Mark
|
|
23
|
+
* Mark an issue as currently being processed
|
|
24
24
|
*/
|
|
25
|
-
export declare function markProcessing(
|
|
25
|
+
export declare function markProcessing(issueKey: string): void;
|
|
26
26
|
/**
|
|
27
|
-
* Mark
|
|
27
|
+
* Mark an issue as no longer processing
|
|
28
28
|
*/
|
|
29
|
-
export declare function markProcessingComplete(
|
|
29
|
+
export declare function markProcessingComplete(issueKey: string): void;
|
|
30
30
|
/**
|
|
31
|
-
* Get all currently processing
|
|
31
|
+
* Get all currently processing issues
|
|
32
32
|
*/
|
|
33
|
-
export declare function
|
|
33
|
+
export declare function getProcessingIssues(): string[];
|
|
34
34
|
/**
|
|
35
35
|
* Setup ping interval to keep connections alive
|
|
36
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/server/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW1C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,IAAI,CAiDN;AAuFD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU/C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/server/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW1C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,IAAI,CAiDN;AAuFD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU/C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,SAAQ,GAAG,MAAM,CAAC,OAAO,CAgBpE"}
|
package/dist/server/websocket.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { createHash } from 'node:crypto';
|
|
5
5
|
const clients = new Set();
|
|
6
|
-
const
|
|
6
|
+
const processingIssues = new Set();
|
|
7
7
|
/**
|
|
8
8
|
* Handle WebSocket upgrade
|
|
9
9
|
*/
|
|
@@ -146,22 +146,22 @@ export function getClientCount() {
|
|
|
146
146
|
return clients.size;
|
|
147
147
|
}
|
|
148
148
|
/**
|
|
149
|
-
* Mark
|
|
149
|
+
* Mark an issue as currently being processed
|
|
150
150
|
*/
|
|
151
|
-
export function markProcessing(
|
|
152
|
-
|
|
151
|
+
export function markProcessing(issueKey) {
|
|
152
|
+
processingIssues.add(issueKey);
|
|
153
153
|
}
|
|
154
154
|
/**
|
|
155
|
-
* Mark
|
|
155
|
+
* Mark an issue as no longer processing
|
|
156
156
|
*/
|
|
157
|
-
export function markProcessingComplete(
|
|
158
|
-
|
|
157
|
+
export function markProcessingComplete(issueKey) {
|
|
158
|
+
processingIssues.delete(issueKey);
|
|
159
159
|
}
|
|
160
160
|
/**
|
|
161
|
-
* Get all currently processing
|
|
161
|
+
* Get all currently processing issues
|
|
162
162
|
*/
|
|
163
|
-
export function
|
|
164
|
-
return Array.from(
|
|
163
|
+
export function getProcessingIssues() {
|
|
164
|
+
return Array.from(processingIssues);
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
167
|
* Setup ping interval to keep connections alive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/server/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,MAAM,OAAO,GAAyB,IAAI,GAAG,EAAE,CAAC;AAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/server/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,MAAM,OAAO,GAAyB,IAAI,GAAG,EAAE,CAAC;AAChD,MAAM,gBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAoB,EACpB,MAAc,EACd,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;SACjC,MAAM,CAAC,GAAG,GAAG,sCAAsC,CAAC;SACpD,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEpB,0BAA0B;IAC1B,MAAM,QAAQ,GAAG;QACf,kCAAkC;QAClC,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB,SAAS,EAAE;QACpC,EAAE;QACF,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEvB,gBAAgB;IAChB,MAAM,MAAM,GAAoB;QAC9B,MAAM;QACN,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QAC1B,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,GAAG,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QACjC,kCAAkC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,CAAC;QAEZ,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC;QAE7D,SAAS;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,MAAuB,EAAE,KAA0C;IACtF,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,IAAI,EAAE,QAAQ;YACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvB,MAAM;QAER,KAAK,IAAI,EAAE,OAAO;YAChB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM;QAER,KAAK,IAAI,EAAE,OAAO;YAChB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM;QAER,KAAK,IAAI,EAAE,OAAO;YAChB,gCAAgC;YAChC,MAAM;IACV,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,MAAuB,EAAE,OAAe;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO;IACxB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,MAAuB,EAAE,OAAe;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAU,GAAG,KAAK;IAClD,OAAO,WAAW,CAAC,GAAG,EAAE;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YAEvB,YAAY;YACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Claude CLI integration service
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { Issue } from '../types/index.js';
|
|
5
5
|
interface ClaudeResult {
|
|
6
6
|
success: boolean;
|
|
7
7
|
output?: string;
|
|
@@ -14,45 +14,45 @@ interface ClaudeResult {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function getActionContent(columnSlug: string, lang?: 'en' | 'fr'): string | null;
|
|
16
16
|
/**
|
|
17
|
-
* Build prompt for Claude based on
|
|
17
|
+
* Build prompt for Claude based on issue and column
|
|
18
18
|
*/
|
|
19
|
-
export declare function buildPrompt(
|
|
19
|
+
export declare function buildPrompt(issue: Issue, actionContent: string, issueDir?: string, lang?: string): string;
|
|
20
20
|
/**
|
|
21
21
|
* Write prompt to file for Claude
|
|
22
22
|
*/
|
|
23
|
-
export declare function writePromptFile(
|
|
23
|
+
export declare function writePromptFile(issue: Issue, prompt: string): string;
|
|
24
24
|
/**
|
|
25
25
|
* Execute Claude CLI with a prompt (with live logging to file)
|
|
26
26
|
*/
|
|
27
|
-
export declare function executeClaudeCLI(promptFile: string,
|
|
27
|
+
export declare function executeClaudeCLI(promptFile: string, issueKey?: string, columnSlug?: string): Promise<ClaudeResult>;
|
|
28
28
|
/**
|
|
29
|
-
* Move
|
|
29
|
+
* Move an issue to a column and execute its action
|
|
30
30
|
* This is the unified flow: move first, then execute
|
|
31
31
|
*/
|
|
32
|
-
export declare function
|
|
32
|
+
export declare function moveAndProcessIssue(key: string, targetColumnSlug: string, options?: {
|
|
33
33
|
force?: boolean;
|
|
34
34
|
lang?: string;
|
|
35
35
|
}): Promise<{
|
|
36
36
|
success: boolean;
|
|
37
|
-
|
|
37
|
+
issue?: Issue;
|
|
38
38
|
error?: string;
|
|
39
39
|
actionExecuted?: boolean;
|
|
40
40
|
}>;
|
|
41
41
|
/**
|
|
42
|
-
* Process
|
|
42
|
+
* Process an issue with Claude - moves to next column and executes its action
|
|
43
43
|
* Uses the new unified flow: move first, then execute
|
|
44
44
|
*/
|
|
45
|
-
export declare function
|
|
45
|
+
export declare function processIssueWithClaude(key: string, _options?: {
|
|
46
46
|
autoAdvance?: boolean;
|
|
47
47
|
}): Promise<{
|
|
48
48
|
success: boolean;
|
|
49
|
-
|
|
49
|
+
issue?: Issue;
|
|
50
50
|
error?: string;
|
|
51
51
|
}>;
|
|
52
52
|
/**
|
|
53
|
-
* Process all actionable
|
|
53
|
+
* Process all actionable issues with Claude
|
|
54
54
|
*/
|
|
55
|
-
export declare function
|
|
55
|
+
export declare function processAllIssues(options?: {
|
|
56
56
|
autoAdvance?: boolean;
|
|
57
57
|
limit?: number;
|
|
58
58
|
}): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,GAAG,IAAI,CAW5F;AAWD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,MAAM,CAsDvG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAWpE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA+OxH;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6DxF;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB9D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAe,EAC1B,cAAc,GAAE,MAAoB,GACnC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAoDvD"}
|