agkan 3.14.1 → 3.15.1
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.ja.md +29 -0
- package/README.md +29 -0
- package/dist/board/BulkRunService.d.ts.map +1 -1
- package/dist/board/BulkRunService.js +20 -4
- package/dist/board/BulkRunService.js.map +1 -1
- package/dist/board/boardRoutes.d.ts +1 -0
- package/dist/board/boardRoutes.d.ts.map +1 -1
- package/dist/board/boardRoutes.js +17 -1
- package/dist/board/boardRoutes.js.map +1 -1
- package/dist/board/client/main.js +18 -4
- package/dist/board/server.js +1 -1
- package/dist/board/server.js.map +1 -1
- package/dist/cli/commands/agent-guide.d.ts.map +1 -1
- package/dist/cli/commands/agent-guide.js +8 -1
- package/dist/cli/commands/agent-guide.js.map +1 -1
- package/dist/cli/commands/block/add.js +10 -10
- package/dist/cli/commands/block/add.js.map +1 -1
- package/dist/cli/commands/block/list.js +4 -4
- package/dist/cli/commands/block/list.js.map +1 -1
- package/dist/cli/commands/block/remove.js +9 -9
- package/dist/cli/commands/block/remove.js.map +1 -1
- package/dist/cli/commands/comment/add.js +2 -2
- package/dist/cli/commands/comment/add.js.map +1 -1
- package/dist/cli/commands/comment/delete.js +2 -2
- package/dist/cli/commands/comment/delete.js.map +1 -1
- package/dist/cli/commands/comment/list.js +2 -2
- package/dist/cli/commands/comment/list.js.map +1 -1
- package/dist/cli/commands/config/get.js +2 -2
- package/dist/cli/commands/config/get.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +9 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/meta/delete.js +3 -3
- package/dist/cli/commands/meta/delete.js.map +1 -1
- package/dist/cli/commands/meta/get.js +3 -3
- package/dist/cli/commands/meta/get.js.map +1 -1
- package/dist/cli/commands/meta/list.js +2 -2
- package/dist/cli/commands/meta/list.js.map +1 -1
- package/dist/cli/commands/meta/set.js +4 -4
- package/dist/cli/commands/meta/set.js.map +1 -1
- package/dist/cli/commands/tag/add.js +7 -7
- package/dist/cli/commands/tag/add.js.map +1 -1
- package/dist/cli/commands/tag/attach.d.ts.map +1 -1
- package/dist/cli/commands/tag/attach.js +14 -25
- package/dist/cli/commands/tag/attach.js.map +1 -1
- package/dist/cli/commands/tag/delete.d.ts.map +1 -1
- package/dist/cli/commands/tag/delete.js +12 -24
- package/dist/cli/commands/tag/delete.js.map +1 -1
- package/dist/cli/commands/tag/detach.d.ts.map +1 -1
- package/dist/cli/commands/tag/detach.js +14 -25
- package/dist/cli/commands/tag/detach.js.map +1 -1
- package/dist/cli/commands/tag/list.js +2 -2
- package/dist/cli/commands/tag/list.js.map +1 -1
- package/dist/cli/commands/tag/rename.d.ts.map +1 -1
- package/dist/cli/commands/tag/rename.js +15 -27
- package/dist/cli/commands/tag/rename.js.map +1 -1
- package/dist/cli/commands/tag/show.js +3 -3
- package/dist/cli/commands/tag/show.js.map +1 -1
- package/dist/cli/commands/task/add.js +11 -11
- package/dist/cli/commands/task/add.js.map +1 -1
- package/dist/cli/commands/task/archive.js +3 -3
- package/dist/cli/commands/task/archive.js.map +1 -1
- package/dist/cli/commands/task/copy.js +5 -5
- package/dist/cli/commands/task/copy.js.map +1 -1
- package/dist/cli/commands/task/count.js +4 -4
- package/dist/cli/commands/task/count.js.map +1 -1
- package/dist/cli/commands/task/delete.js +3 -3
- package/dist/cli/commands/task/delete.js.map +1 -1
- package/dist/cli/commands/task/find.js +2 -2
- package/dist/cli/commands/task/find.js.map +1 -1
- package/dist/cli/commands/task/get.js +3 -3
- package/dist/cli/commands/task/get.js.map +1 -1
- package/dist/cli/commands/task/list.d.ts.map +1 -1
- package/dist/cli/commands/task/list.js +169 -170
- package/dist/cli/commands/task/list.js.map +1 -1
- package/dist/cli/commands/task/purge.js +3 -3
- package/dist/cli/commands/task/purge.js.map +1 -1
- package/dist/cli/commands/task/unarchive.js +3 -3
- package/dist/cli/commands/task/unarchive.js.map +1 -1
- package/dist/cli/commands/task/update-helpers.js +11 -11
- package/dist/cli/commands/task/update-helpers.js.map +1 -1
- package/dist/cli/commands/task/update-parent.js +8 -8
- package/dist/cli/commands/task/update-parent.js.map +1 -1
- package/dist/cli/commands/task/update.js +3 -3
- package/dist/cli/commands/task/update.js.map +1 -1
- package/dist/cli/utils/error-handler.js +4 -4
- package/dist/cli/utils/error-handler.js.map +1 -1
- package/dist/cli/utils/output-formatter.js +2 -2
- package/dist/cli/utils/output-formatter.js.map +1 -1
- package/dist/cli/utils/tag-resolver.d.ts +21 -0
- package/dist/cli/utils/tag-resolver.d.ts.map +1 -0
- package/dist/cli/utils/tag-resolver.js +22 -0
- package/dist/cli/utils/tag-resolver.js.map +1 -0
- package/dist/db/config.d.ts +8 -0
- package/dist/db/config.d.ts.map +1 -1
- package/dist/db/config.js +14 -0
- package/dist/db/config.js.map +1 -1
- package/dist/hooks/hook-stop.mjs +135 -56
- package/dist/services/index.d.ts +1 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -3
- package/dist/services/index.js.map +1 -1
- package/dist/services/types.d.ts +28 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/types.js +6 -0
- package/dist/services/types.js.map +1 -0
- package/dist/terminal/PtySessionService.d.ts +1 -1
- package/dist/terminal/PtySessionService.d.ts.map +1 -1
- package/dist/terminal/PtySessionService.js +14 -9
- package/dist/terminal/PtySessionService.js.map +1 -1
- package/dist/terminal/buildHookEnv.d.ts +8 -0
- package/dist/terminal/buildHookEnv.d.ts.map +1 -0
- package/dist/terminal/buildHookEnv.js +24 -0
- package/dist/terminal/buildHookEnv.js.map +1 -0
- package/dist/utils/runTargetStatus.d.ts +9 -0
- package/dist/utils/runTargetStatus.d.ts.map +1 -0
- package/dist/utils/runTargetStatus.js +17 -0
- package/dist/utils/runTargetStatus.js.map +1 -0
- package/package.json +20 -30
- package/dist/board/client/board.js +0 -2743
- package/dist/cli/utils/response-formatter.d.ts +0 -19
- package/dist/cli/utils/response-formatter.d.ts.map +0 -1
- package/dist/cli/utils/response-formatter.js +0 -43
- package/dist/cli/utils/response-formatter.js.map +0 -1
- package/dist/models/Attachment.d.ts +0 -25
- package/dist/models/Attachment.d.ts.map +0 -1
- package/dist/models/Attachment.js +0 -7
- package/dist/models/Attachment.js.map +0 -1
- package/dist/services/AttachmentService.d.ts +0 -62
- package/dist/services/AttachmentService.d.ts.map +0 -1
- package/dist/services/AttachmentService.js +0 -95
- package/dist/services/AttachmentService.js.map +0 -1
- package/dist/services/ClaudeProcessService.d.ts +0 -110
- package/dist/services/ClaudeProcessService.d.ts.map +0 -1
- package/dist/services/ClaudeProcessService.js +0 -310
- package/dist/services/ClaudeProcessService.js.map +0 -1
package/dist/db/config.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildPermissionArgs = buildPermissionArgs;
|
|
6
7
|
exports.loadConfig = loadConfig;
|
|
7
8
|
exports.isTestMode = isTestMode;
|
|
8
9
|
exports.getConfigFileName = getConfigFileName;
|
|
@@ -12,6 +13,19 @@ exports.resolveDatabasePath = resolveDatabasePath;
|
|
|
12
13
|
const fs_1 = __importDefault(require("fs"));
|
|
13
14
|
const path_1 = __importDefault(require("path"));
|
|
14
15
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
16
|
+
/**
|
|
17
|
+
* Build claude CLI permission arguments from config.
|
|
18
|
+
* - "skipPermissions" → --dangerously-skip-permissions (legacy behavior)
|
|
19
|
+
* - any other value → --permission-mode <value>
|
|
20
|
+
* - undefined → --permission-mode auto (default)
|
|
21
|
+
*/
|
|
22
|
+
function buildPermissionArgs(config) {
|
|
23
|
+
const mode = config.permissionMode;
|
|
24
|
+
if (mode === 'skipPermissions') {
|
|
25
|
+
return ['--dangerously-skip-permissions'];
|
|
26
|
+
}
|
|
27
|
+
return ['--permission-mode', mode ?? 'auto'];
|
|
28
|
+
}
|
|
15
29
|
/**
|
|
16
30
|
* Load and parse the configuration file.
|
|
17
31
|
* Returns the parsed Config object, or an empty object if the file does not exist or is invalid.
|
package/dist/db/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/db/config.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/db/config.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/hook-stop.mjs
CHANGED
|
@@ -43,19 +43,100 @@ function findLastToolUse(entries) {
|
|
|
43
43
|
return null;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
// Collects every tool_use across the ENTIRE transcript (not just the last turn) that looks
|
|
47
|
+
// like a still-running background job.
|
|
48
|
+
// A background job may have been started several turns ago and still be running while
|
|
49
|
+
// the current turn ends on an unrelated tool (e.g. ScheduleWakeup) — the last-tool-only
|
|
50
|
+
// view used by findLastToolUse cannot see it, so a full scan is required here.
|
|
51
|
+
//
|
|
52
|
+
// Two shapes are recognized:
|
|
53
|
+
// 1. Bash or Task with input.run_in_background === true (the documented flag).
|
|
54
|
+
// 2. Agent, with no flag at all, when `includeAgentWithoutFlag` is true. Newer CLI
|
|
55
|
+
// versions run sub-agents under the tool name `Agent` and default to background
|
|
56
|
+
// execution without ever setting run_in_background (see #667). This shape is only
|
|
57
|
+
// opted into by the caller for BOARD_TARGET_STATUS-less (planning) sessions: this
|
|
58
|
+
// guard runs before the status-reached check, so if an Agent's completion is never
|
|
59
|
+
// observed as a matching <task-notification>, treating it as background here would
|
|
60
|
+
// permanently block status-based termination for pr/run sessions.
|
|
61
|
+
function findBackgroundJobToolUses(entries, { includeAgentWithoutFlag = false } = {}) {
|
|
62
|
+
const jobs = [];
|
|
63
|
+
for (const entry of entries) {
|
|
64
|
+
if (entry?.type !== 'assistant') continue;
|
|
65
|
+
const content = entry?.message?.content;
|
|
51
66
|
if (!Array.isArray(content)) continue;
|
|
52
|
-
|
|
67
|
+
for (const item of content) {
|
|
68
|
+
if (item?.type !== 'tool_use') continue;
|
|
69
|
+
const isFlaggedBashOrTask =
|
|
70
|
+
(item.name === 'Bash' || item.name === 'Task') &&
|
|
71
|
+
item.input &&
|
|
72
|
+
typeof item.input === 'object' &&
|
|
73
|
+
item.input.run_in_background === true;
|
|
74
|
+
const isUnflaggedAgent = includeAgentWithoutFlag && item.name === 'Agent';
|
|
75
|
+
if (isFlaggedBashOrTask || isUnflaggedAgent) {
|
|
76
|
+
// A missing id means we cannot verify completion at all — treat conservatively
|
|
77
|
+
// as unfinished rather than silently skipping the guard.
|
|
78
|
+
jobs.push(item.id ?? null);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return jobs;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// The real completion signal for a background Bash/Task is a `<task-notification>` block
|
|
86
|
+
// (delivered via a queue-operation transcript entry's `content` string) whose
|
|
87
|
+
// `<tool-use-id>` matches the original tool_use id. The immediate "running in background"
|
|
88
|
+
// ack is a normal tool_result and must NOT be mistaken for completion.
|
|
89
|
+
function isBackgroundJobComplete(entries, toolUseId) {
|
|
90
|
+
const marker = `<tool-use-id>${toolUseId}</tool-use-id>`;
|
|
91
|
+
for (const entry of entries) {
|
|
92
|
+
if (typeof entry?.content === 'string' && entry.content.includes(marker)) {
|
|
53
93
|
return true;
|
|
54
94
|
}
|
|
55
95
|
}
|
|
56
96
|
return false;
|
|
57
97
|
}
|
|
58
98
|
|
|
99
|
+
// Fetches the current task status from the board and checks whether it has reached the
|
|
100
|
+
// run's target status. Reached = current status matches target, or has advanced to a
|
|
101
|
+
// terminal status (done/closed). On fetch failure or non-200, returns false so the caller
|
|
102
|
+
// falls through to the normal guard checks instead of overriding them.
|
|
103
|
+
async function isTargetStatusReached(apiUrl, token, taskId, targetStatus) {
|
|
104
|
+
try {
|
|
105
|
+
const res = await fetch(`${apiUrl}/api/internal/tasks/${taskId}/status`, {
|
|
106
|
+
method: 'GET',
|
|
107
|
+
headers: { 'x-hook-token': token },
|
|
108
|
+
});
|
|
109
|
+
if (!res.ok) return false;
|
|
110
|
+
const data = await res.json();
|
|
111
|
+
const status = data && data.status;
|
|
112
|
+
return status === targetStatus || status === 'done' || status === 'closed';
|
|
113
|
+
} catch (err) {
|
|
114
|
+
process.stderr.write(`hook-stop: status check failed: ${(err && err.message) || err}\n`);
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Notifies the board of completion. Unlinks the main session's session file first, then
|
|
120
|
+
// POSTs the completion — the file is only removed once completion is actually reported.
|
|
121
|
+
async function notifyComplete(apiUrl, token, taskId, sessionFile) {
|
|
122
|
+
await fs.unlink(sessionFile).catch(() => {});
|
|
123
|
+
try {
|
|
124
|
+
const res = await fetch(`${apiUrl}/api/internal/hooks/stop`, {
|
|
125
|
+
method: 'POST',
|
|
126
|
+
headers: {
|
|
127
|
+
'content-type': 'application/json',
|
|
128
|
+
'x-hook-token': token,
|
|
129
|
+
},
|
|
130
|
+
body: JSON.stringify({ taskId, reason: 'complete' }),
|
|
131
|
+
});
|
|
132
|
+
if (!res.ok) {
|
|
133
|
+
process.stderr.write(`hook-stop: API responded ${res.status}\n`);
|
|
134
|
+
}
|
|
135
|
+
} catch (err) {
|
|
136
|
+
process.stderr.write(`hook-stop: ${(err && err.message) || err}\n`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
59
140
|
async function main() {
|
|
60
141
|
const taskIdRaw = process.env.BOARD_TASK_ID;
|
|
61
142
|
const apiUrl = process.env.BOARD_API_URL;
|
|
@@ -86,70 +167,68 @@ async function main() {
|
|
|
86
167
|
}
|
|
87
168
|
|
|
88
169
|
const entries = parseTranscript(jsonl);
|
|
89
|
-
const lastTool = findLastToolUse(entries);
|
|
90
|
-
if (lastTool?.name === 'AskUserQuestion') return;
|
|
91
|
-
// When Claude ends a turn with a backgrounded Bash still running,
|
|
92
|
-
// do not signal "complete" to the server: that would kill the PTY
|
|
93
|
-
// session and abort the still-running background job.
|
|
94
|
-
if (
|
|
95
|
-
lastTool?.name === 'Bash' &&
|
|
96
|
-
lastTool.input &&
|
|
97
|
-
typeof lastTool.input === 'object' &&
|
|
98
|
-
lastTool.input.run_in_background === true &&
|
|
99
|
-
!isToolResultPresent(entries, lastTool.id, lastTool.entryIndex)
|
|
100
|
-
) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
// When Claude ends a turn with a backgrounded Task (sub-agent) still running,
|
|
104
|
-
// do not signal "complete": that would kill the PTY session and abort the agent.
|
|
105
|
-
if (
|
|
106
|
-
lastTool?.name === 'Task' &&
|
|
107
|
-
lastTool.input &&
|
|
108
|
-
typeof lastTool.input === 'object' &&
|
|
109
|
-
lastTool.input.run_in_background === true &&
|
|
110
|
-
!isToolResultPresent(entries, lastTool.id, lastTool.entryIndex)
|
|
111
|
-
) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
// Monitor is always waiting for streamed events from a background process.
|
|
115
|
-
// Signalling "complete" while Monitor is active would abort the wait.
|
|
116
|
-
if (lastTool?.name === 'Monitor') {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
170
|
|
|
120
171
|
const taskId = Number(taskIdRaw);
|
|
121
172
|
if (!Number.isFinite(taskId)) return;
|
|
122
173
|
|
|
123
|
-
//
|
|
124
|
-
//
|
|
174
|
+
// Determine whether this is the main session or a sub-agent session (a sub-agent's
|
|
175
|
+
// Stop must not notify the board). Do not unlink the session file here yet — if an
|
|
176
|
+
// interactive guard below causes an early return, we would lose the marker needed to
|
|
177
|
+
// tell the main session apart from a sub-agent. It is only unlinked inside
|
|
178
|
+
// notifyComplete, right before the completion POST is actually sent.
|
|
125
179
|
const sessionFile = `/tmp/board-main-session-${taskIdRaw}`;
|
|
126
180
|
try {
|
|
127
181
|
const mainSessionId = (await fs.readFile(sessionFile, 'utf-8')).trim();
|
|
128
182
|
if (mainSessionId && mainSessionId !== payload?.session_id) {
|
|
129
|
-
//
|
|
130
|
-
return;
|
|
183
|
+
return; // Sub-agent's Stop
|
|
131
184
|
}
|
|
132
|
-
// This is the main session — clean up the file before notifying.
|
|
133
|
-
await fs.unlink(sessionFile).catch(() => {});
|
|
134
185
|
} catch {
|
|
135
|
-
// file
|
|
186
|
+
// No file means hook-session-start was not used; proceed as the main session.
|
|
136
187
|
}
|
|
137
188
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
189
|
+
const lastTool = findLastToolUse(entries);
|
|
190
|
+
if (lastTool?.name === 'AskUserQuestion') return;
|
|
191
|
+
// Monitor is always waiting for streamed events from a background process.
|
|
192
|
+
// Signalling "complete" while Monitor is active would abort the wait.
|
|
193
|
+
if (lastTool?.name === 'Monitor') return;
|
|
194
|
+
|
|
195
|
+
const targetStatus = process.env.BOARD_TARGET_STATUS;
|
|
196
|
+
|
|
197
|
+
// If a background Bash/Task (e.g. an orchestrated sub-agent) was started in an earlier
|
|
198
|
+
// turn and hasn't completed yet, keep the session alive instead of sending complete.
|
|
199
|
+
// This guard takes priority over the status-based check below: a sub-agent advancing
|
|
200
|
+
// the task's status (even to a terminal one) is not a reliable completion signal while
|
|
201
|
+
// other background work is still in flight — sending complete here would tear down the
|
|
202
|
+
// PTY process tree and kill the still-running sub-agent along with it (see #666).
|
|
203
|
+
//
|
|
204
|
+
// The `Agent`-without-flag shape (see findBackgroundJobToolUses) is only opted into when
|
|
205
|
+
// there is no BOARD_TARGET_STATUS, i.e. planning sessions with no other termination
|
|
206
|
+
// signal to fall back on. pr/run/direct sessions always have BOARD_TARGET_STATUS set and
|
|
207
|
+
// rely on the status-reached check below as their sole termination signal (see #667) —
|
|
208
|
+
// opting an unverified completion shape into their guard could wedge them open forever.
|
|
209
|
+
const backgroundJobIds = findBackgroundJobToolUses(entries, { includeAgentWithoutFlag: !targetStatus });
|
|
210
|
+
const hasUnfinishedBackgroundJob = backgroundJobIds.some((id) => !isBackgroundJobComplete(entries, id));
|
|
211
|
+
if (hasUnfinishedBackgroundJob) return;
|
|
212
|
+
|
|
213
|
+
// When a target status is configured (pr/run/direct), status-reached is the ONLY
|
|
214
|
+
// termination signal — there is no unconditional fallback. Sending complete on any other
|
|
215
|
+
// basis here would risk killing an in-flight run whose activity doesn't happen to match
|
|
216
|
+
// one of the guards above (see #667: the CLI's tool names and flags for background work
|
|
217
|
+
// are not a stable contract to enumerate against). If the status hasn't reached target
|
|
218
|
+
// yet — including because the status check itself failed — the safe failure mode is to
|
|
219
|
+
// leave the session running: it stays visible on the board and can be stopped manually,
|
|
220
|
+
// which is recoverable, unlike a kill-in-flight that destroys unsaved progress.
|
|
221
|
+
if (targetStatus) {
|
|
222
|
+
const reached = await isTargetStatusReached(apiUrl, token, taskId, targetStatus);
|
|
223
|
+
if (reached) {
|
|
224
|
+
await notifyComplete(apiUrl, token, taskId, sessionFile);
|
|
149
225
|
}
|
|
150
|
-
|
|
151
|
-
process.stderr.write(`hook-stop: ${(err && err.message) || err}\n`);
|
|
226
|
+
return;
|
|
152
227
|
}
|
|
228
|
+
|
|
229
|
+
// No target status configured (planning session / legacy environment): preserve the
|
|
230
|
+
// original unconditional-complete behavior for backward compatibility.
|
|
231
|
+
await notifyComplete(apiUrl, token, taskId, sessionFile);
|
|
153
232
|
}
|
|
154
233
|
|
|
155
234
|
await main();
|
package/dist/services/index.d.ts
CHANGED
|
@@ -11,6 +11,5 @@ export { MetadataService } from './MetadataService';
|
|
|
11
11
|
export { CommentService } from './CommentService';
|
|
12
12
|
export { ExportImportService } from './ExportImportService';
|
|
13
13
|
export type { ExportData, ExportedTask, ExportedComment, ImportResult } from './ExportImportService';
|
|
14
|
-
export {
|
|
15
|
-
export type { ClaudeStreamEvent, OutputEvent, SubscribeCallback } from './ClaudeProcessService';
|
|
14
|
+
export type { RunLog, OutputEvent, CompletionConfirmCallback } from './types';
|
|
16
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrG,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Centrally manages all service classes
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.ExportImportService = exports.CommentService = exports.MetadataService = exports.TaskTagService = exports.TagService = exports.TaskBlockService = exports.FileService = exports.TaskService = void 0;
|
|
8
8
|
var TaskService_1 = require("./TaskService");
|
|
9
9
|
Object.defineProperty(exports, "TaskService", { enumerable: true, get: function () { return TaskService_1.TaskService; } });
|
|
10
10
|
var FileService_1 = require("./FileService");
|
|
@@ -21,6 +21,4 @@ var CommentService_1 = require("./CommentService");
|
|
|
21
21
|
Object.defineProperty(exports, "CommentService", { enumerable: true, get: function () { return CommentService_1.CommentService; } });
|
|
22
22
|
var ExportImportService_1 = require("./ExportImportService");
|
|
23
23
|
Object.defineProperty(exports, "ExportImportService", { enumerable: true, get: function () { return ExportImportService_1.ExportImportService; } });
|
|
24
|
-
var ClaudeProcessService_1 = require("./ClaudeProcessService");
|
|
25
|
-
Object.defineProperty(exports, "ClaudeProcessService", { enumerable: true, get: function () { return ClaudeProcessService_1.ClaudeProcessService; } });
|
|
26
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared service-layer type definitions used by claude process runners.
|
|
3
|
+
*/
|
|
4
|
+
export type OutputEvent = {
|
|
5
|
+
kind: 'text';
|
|
6
|
+
text: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'tool_use';
|
|
9
|
+
name: string;
|
|
10
|
+
input: Record<string, unknown>;
|
|
11
|
+
} | {
|
|
12
|
+
kind: 'done';
|
|
13
|
+
exitCode: number;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'error';
|
|
16
|
+
message: string;
|
|
17
|
+
};
|
|
18
|
+
export interface RunLog {
|
|
19
|
+
id: number;
|
|
20
|
+
task_id: number;
|
|
21
|
+
started_at: string;
|
|
22
|
+
finished_at: string | null;
|
|
23
|
+
exit_code: number | null;
|
|
24
|
+
session_id: string | null;
|
|
25
|
+
events: OutputEvent[];
|
|
26
|
+
}
|
|
27
|
+
export type CompletionConfirmCallback = (taskId: number, targetStatus: string) => void;
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StorageBackend } from '../db/types/repository';
|
|
2
|
-
import type { RunLog, CompletionConfirmCallback } from '../services/
|
|
2
|
+
import type { RunLog, CompletionConfirmCallback } from '../services/types';
|
|
3
3
|
import { AttentionStateService } from '../services/AttentionStateService';
|
|
4
4
|
export declare function stripAnsi(text: string): string;
|
|
5
5
|
type OutputEvent = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PtySessionService.d.ts","sourceRoot":"","sources":["../../src/terminal/PtySessionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PtySessionService.d.ts","sourceRoot":"","sources":["../../src/terminal/PtySessionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAoC,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAI7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY9C;AAgBD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3F,KAAK,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AA0BtD,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,EAAE,CAAwB;IAClC,OAAO,CAAC,6BAA6B,CAA8B;IACnE,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,4BAA4B,CAA6C;IACjF,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,gBAAgB,CAAuB;gBAEnC,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAO1E,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO7D,0BAA0B,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI;IAO3E,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAInE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAItC,OAAO,CAAC,wBAAwB;IAI1B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6JnH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAsBpC,gBAAgB,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;IAIzD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAqBxE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAkBvE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAShF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;CAarC"}
|
|
@@ -39,7 +39,8 @@ const pty = __importStar(require("node-pty"));
|
|
|
39
39
|
const child_process_1 = require("child_process");
|
|
40
40
|
const errors_1 = require("../errors");
|
|
41
41
|
const claudeHookSettings_1 = require("../hooks/claudeHookSettings");
|
|
42
|
-
const
|
|
42
|
+
const buildHookEnv_1 = require("./buildHookEnv");
|
|
43
|
+
const config_1 = require("../db/config");
|
|
43
44
|
function stripAnsi(text) {
|
|
44
45
|
return (text
|
|
45
46
|
// CSI sequences: ESC [ <param bytes> <intermediate bytes> <final byte>
|
|
@@ -122,13 +123,9 @@ class PtySessionService {
|
|
|
122
123
|
const modelArgs = model ? ['--model', model] : [];
|
|
123
124
|
const effortArgs = effort ? ['--effort', effort] : [];
|
|
124
125
|
const settingsArgs = this.hookSettingsPath ? ['--settings', this.hookSettingsPath] : [];
|
|
125
|
-
const
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
hookEnv.BOARD_TASK_ID = String(taskId);
|
|
129
|
-
hookEnv.BOARD_API_URL = this.boardApiUrl;
|
|
130
|
-
hookEnv.BOARD_HOOK_TOKEN = (0, hookToken_1.getHookToken)();
|
|
131
|
-
}
|
|
126
|
+
const permissionArgs = (0, config_1.buildPermissionArgs)((0, config_1.loadConfig)());
|
|
127
|
+
const args = [...settingsArgs, ...modelArgs, ...effortArgs, ...permissionArgs];
|
|
128
|
+
const hookEnv = (0, buildHookEnv_1.buildHookEnv)(taskId, this.boardApiUrl, command);
|
|
132
129
|
const ptyProcess = pty.spawn(CLAUDE_BIN, args, {
|
|
133
130
|
name: 'xterm-256color',
|
|
134
131
|
cols: 220,
|
|
@@ -259,8 +256,13 @@ class PtySessionService {
|
|
|
259
256
|
info.promptTimer = null;
|
|
260
257
|
}
|
|
261
258
|
info.pendingPrompt = null;
|
|
262
|
-
|
|
259
|
+
// Mark as user-stopped before emitting so synchronous subscribers (e.g. boardRoutes.ts)
|
|
260
|
+
// observe isUserStopped() === true and skip auto-advancing status on this done event.
|
|
263
261
|
this.userStoppedTasks.add(taskId);
|
|
262
|
+
// Notify subscribers before clearing so they can advance (e.g. BulkRunService.runNext()).
|
|
263
|
+
const doneEvent = { kind: 'done', exitCode: 0 };
|
|
264
|
+
info.exitSubscribers.forEach((cb) => cb(doneEvent));
|
|
265
|
+
info.exitSubscribers.clear();
|
|
264
266
|
info.ptyProcess.kill();
|
|
265
267
|
this.sessions.delete(taskId);
|
|
266
268
|
this.attentionStateService?.clearTask(taskId);
|
|
@@ -283,6 +285,9 @@ class PtySessionService {
|
|
|
283
285
|
return () => { };
|
|
284
286
|
}
|
|
285
287
|
}
|
|
288
|
+
// Session not found and no run log: process may have exited before subscription.
|
|
289
|
+
// Notify caller immediately so the caller can advance to the next action.
|
|
290
|
+
callback({ kind: 'error', message: `No session or run log found for taskId ${taskId}` });
|
|
286
291
|
return () => { };
|
|
287
292
|
}
|
|
288
293
|
info.exitSubscribers.add(callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PtySessionService.js","sourceRoot":"","sources":["../../src/terminal/PtySessionService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PtySessionService.js","sourceRoot":"","sources":["../../src/terminal/PtySessionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,8BAYC;AAtBD,8CAAgC;AAChC,iDAAyC;AAGzC,sCAA0C;AAC1C,oEAAsE;AACtE,iDAA8C;AAE9C,yCAA+D;AAE/D,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,CACL,IAAI;QACF,uEAAuE;SACtE,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC;QAC1D,oEAAoE;SACnE,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC;QACpD,0CAA0C;SACzC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,oEAAoE;SACnE,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,OAAO,IAAA,wBAAQ,EAAC,cAAc,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;AACvC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAqBnC,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC7C,CAAC;AAQD,MAAa,iBAAiB;IACpB,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC/C,kBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;IACpD,EAAE,CAAwB;IAC1B,6BAA6B,GAAoB,IAAI,GAAG,EAAE,CAAC;IAC3D,gBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC1C,4BAA4B,GAAmC,IAAI,GAAG,EAAE,CAAC;IACzE,WAAW,CAAgB;IAC3B,qBAAqB,CAA+B;IACpD,mBAAmB,CAAgB;IACnC,gBAAgB,GAAkB,IAAI,CAAC;IAE/C,YAAY,EAA0B,EAAE,OAAkC;QACxE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,OAAO,EAAE,qBAAqB,IAAI,IAAI,CAAC;QACpE,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,IAAI,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,2BAA2B,CAAC,QAAoB;QAC9C,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;IAED,0BAA0B,CAAC,QAAmC;QAC5D,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,MAAc,EAAE,YAAoB;QAC1D,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,OAAO,GAAG,KAAK,EAAE,KAAc,EAAE,MAAe;QACjG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,sBAAa,CAAC,sBAAsB,MAAM,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,qEAAqE;QACrE,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACxE,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAA,4CAAuB,EAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,cAAc,GAAG,IAAA,4BAAmB,EAAC,IAAA,mBAAU,GAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,IAAA,2BAAY,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;YAC7C,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,gBAAgB;gBACtB,GAAG,OAAO;aACX;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAgB;YACxB,MAAM;YACN,OAAO;YACP,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,IAAI,GAAG,EAAE;YAC1B,oBAAoB,EAAE,IAAI,GAAG,EAAE;YAC/B,uBAAuB,EAAE,IAAI,GAAG,EAAE;YAClC,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,MAAM;YACrB,WAAW,EAAE,IAAI;YACjB,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,CAAC;SACpB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAE7B,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACjC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACnE,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,iEAAiE;YACjE,2EAA2E;YAC3E,4EAA4E;YAC5E,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3E,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC9B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;gBAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACzB,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC9B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACzB,CAAC;wBACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAED,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAEpD,sEAAsE;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,CAAC;gBACnE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC9B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,uBAAuB,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;gBAC9D,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;YAErC,MAAM,SAAS,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAChE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAEpD,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAE9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,wFAAwF;QACxF,sFAAsF;QACtF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,0FAA0F;QAC1F,MAAM,SAAS,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9F,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,QAA2B;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG,EAAE,CAAC;oBACR,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,iFAAiF;YACjF,0EAA0E;YAC1E,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0CAA0C,MAAM,EAAE,EAAE,CAAC,CAAC;YACzF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,MAAc,EAAE,QAAoB;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC;oBACrB,QAAQ,EAAE,CAAC;oBACX,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,MAAc,EAAE,QAAgC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,IAAY;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAwB;SACpD,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAjTD,8CAiTC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Board hook 用の環境変数を構築する。
|
|
3
|
+
* - boardApiUrl が未設定(null/'')ならフック無効 = 空オブジェクト。
|
|
4
|
+
* - command が目標statusを持つ(pr/run/direct)場合は BOARD_TARGET_STATUS を付与する。
|
|
5
|
+
* planning は目標statusを持たないため付与しない。
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildHookEnv(taskId: number, boardApiUrl: string | null, command: string): Record<string, string>;
|
|
8
|
+
//# sourceMappingURL=buildHookEnv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildHookEnv.d.ts","sourceRoot":"","sources":["../../src/terminal/buildHookEnv.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAShH"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildHookEnv = buildHookEnv;
|
|
4
|
+
const hookToken_1 = require("../utils/hookToken");
|
|
5
|
+
const runTargetStatus_1 = require("../utils/runTargetStatus");
|
|
6
|
+
/**
|
|
7
|
+
* Board hook 用の環境変数を構築する。
|
|
8
|
+
* - boardApiUrl が未設定(null/'')ならフック無効 = 空オブジェクト。
|
|
9
|
+
* - command が目標statusを持つ(pr/run/direct)場合は BOARD_TARGET_STATUS を付与する。
|
|
10
|
+
* planning は目標statusを持たないため付与しない。
|
|
11
|
+
*/
|
|
12
|
+
function buildHookEnv(taskId, boardApiUrl, command) {
|
|
13
|
+
const env = {};
|
|
14
|
+
if (boardApiUrl === null || boardApiUrl === '')
|
|
15
|
+
return env;
|
|
16
|
+
env.BOARD_TASK_ID = String(taskId);
|
|
17
|
+
env.BOARD_API_URL = boardApiUrl;
|
|
18
|
+
env.BOARD_HOOK_TOKEN = (0, hookToken_1.getHookToken)();
|
|
19
|
+
const targetStatus = (0, runTargetStatus_1.runTargetStatus)(command);
|
|
20
|
+
if (targetStatus !== null)
|
|
21
|
+
env.BOARD_TARGET_STATUS = targetStatus;
|
|
22
|
+
return env;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=buildHookEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildHookEnv.js","sourceRoot":"","sources":["../../src/terminal/buildHookEnv.ts"],"names":[],"mappings":";;AASA,oCASC;AAlBD,kDAAkD;AAClD,8DAA2D;AAE3D;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,WAA0B,EAAE,OAAe;IACtF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAC3D,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC;IAChC,GAAG,CAAC,gBAAgB,GAAG,IAAA,wBAAY,GAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,YAAY,KAAK,IAAI;QAAE,GAAG,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TaskStatus } from '../models';
|
|
2
|
+
/**
|
|
3
|
+
* Board run の command から run 完了の目標status を返す。
|
|
4
|
+
* - pr → 'review'
|
|
5
|
+
* - run/direct → 'done'
|
|
6
|
+
* - planning → null(目標statusを持たない = status基準の終了判定対象外)
|
|
7
|
+
*/
|
|
8
|
+
export declare function runTargetStatus(command: string): TaskStatus | null;
|
|
9
|
+
//# sourceMappingURL=runTargetStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runTargetStatus.d.ts","sourceRoot":"","sources":["../../src/utils/runTargetStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAIlE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runTargetStatus = runTargetStatus;
|
|
4
|
+
/**
|
|
5
|
+
* Board run の command から run 完了の目標status を返す。
|
|
6
|
+
* - pr → 'review'
|
|
7
|
+
* - run/direct → 'done'
|
|
8
|
+
* - planning → null(目標statusを持たない = status基準の終了判定対象外)
|
|
9
|
+
*/
|
|
10
|
+
function runTargetStatus(command) {
|
|
11
|
+
if (command === 'planning')
|
|
12
|
+
return null;
|
|
13
|
+
if (command === 'pr')
|
|
14
|
+
return 'review';
|
|
15
|
+
return 'done';
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=runTargetStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runTargetStatus.js","sourceRoot":"","sources":["../../src/utils/runTargetStatus.ts"],"names":[],"mappings":";;AAQA,0CAIC;AAVD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|