@jingyi0605/codingns 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/bin/codingns.mjs +489 -1
- package/dist/public/assets/{TerminalPage-D00S4KM6.js → TerminalPage-6jHZV9Mh.js} +17 -17
- package/dist/public/assets/index-CSVhg7I8.js +123 -0
- package/dist/public/assets/index-Ce1VX19m.css +1 -0
- package/dist/public/index.html +2 -2
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +173 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +307 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +199 -2
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +565 -3
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/butler/assistant-automation-service.d.ts +110 -0
- package/dist/server/modules/butler/assistant-automation-service.js +786 -0
- package/dist/server/modules/butler/assistant-automation-service.js.map +1 -0
- package/dist/server/modules/butler/assistant-automation-trigger.d.ts +94 -0
- package/dist/server/modules/butler/assistant-automation-trigger.js +400 -0
- package/dist/server/modules/butler/assistant-automation-trigger.js.map +1 -0
- package/dist/server/modules/butler/assistant-sandbox-service.d.ts +55 -0
- package/dist/server/modules/butler/assistant-sandbox-service.js +266 -0
- package/dist/server/modules/butler/assistant-sandbox-service.js.map +1 -0
- package/dist/server/modules/butler/butler-action-context-service.d.ts +4 -1
- package/dist/server/modules/butler/butler-action-context-service.js +8 -2
- package/dist/server/modules/butler/butler-action-context-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +8 -1
- package/dist/server/modules/butler/butler-control-session-service.js +154 -40
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-timer-scheduler.d.ts +32 -0
- package/dist/server/modules/butler/butler-control-timer-scheduler.js +93 -0
- package/dist/server/modules/butler/butler-control-timer-scheduler.js.map +1 -0
- package/dist/server/modules/butler/butler-control-timer-service.d.ts +42 -0
- package/dist/server/modules/butler/butler-control-timer-service.js +132 -0
- package/dist/server/modules/butler/butler-control-timer-service.js.map +1 -0
- package/dist/server/modules/butler/butler-controller.d.ts +42 -2
- package/dist/server/modules/butler/butler-controller.js +79 -12
- package/dist/server/modules/butler/butler-controller.js.map +1 -1
- package/dist/server/modules/butler/butler-follow-up-service.d.ts +9 -1
- package/dist/server/modules/butler/butler-follow-up-service.js +273 -181
- package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
- package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +4 -1
- package/dist/server/modules/butler/butler-inbox-analysis-service.js +18 -4
- package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -1
- package/dist/server/modules/butler/butler-profile-service.js +2 -5
- package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
- package/dist/server/modules/butler/butler-project-service.d.ts +3 -1
- package/dist/server/modules/butler/butler-project-service.js +7 -1
- package/dist/server/modules/butler/butler-project-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
- package/dist/server/modules/butler/butler-session-service.js +12 -1
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-summary-service.js +2 -1
- package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
- package/dist/server/modules/butler/butler-workspace-context.d.ts +3 -0
- package/dist/server/modules/butler/butler-workspace-context.js +164 -44
- package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
- package/dist/server/modules/butler/patrol-execution-service.js +2 -1
- package/dist/server/modules/butler/patrol-execution-service.js.map +1 -1
- package/dist/server/modules/butler/provider-adapter-registry.d.ts +3 -0
- package/dist/server/modules/butler/provider-adapter-registry.js +18 -1
- package/dist/server/modules/butler/provider-adapter-registry.js.map +1 -1
- package/dist/server/modules/butler/verification-run-service.d.ts +9 -2
- package/dist/server/modules/butler/verification-run-service.js +188 -34
- package/dist/server/modules/butler/verification-run-service.js.map +1 -1
- package/dist/server/modules/debug-target/debug-target-controller.js +1 -1
- package/dist/server/modules/debug-target/debug-target-controller.js.map +1 -1
- package/dist/server/modules/debug-target/debug-target-service.d.ts +7 -2
- package/dist/server/modules/debug-target/debug-target-service.js +563 -100
- package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
- package/dist/server/modules/git/git-command-helper-client.d.ts +1 -0
- package/dist/server/modules/git/git-command-helper-client.js +19 -26
- package/dist/server/modules/git/git-command-helper-client.js.map +1 -1
- package/dist/server/modules/git/git-command-runner.js +19 -1
- package/dist/server/modules/git/git-command-runner.js.map +1 -1
- package/dist/server/modules/preferences/profile-service.d.ts +3 -1
- package/dist/server/modules/preferences/profile-service.js +74 -3
- package/dist/server/modules/preferences/profile-service.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +5 -3
- package/dist/server/modules/provider/provider-discovery-helper-client.js +129 -43
- package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-process.js +44 -0
- package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js +83 -3
- package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
- package/dist/server/modules/sessions/claude-runtime-helper-client.js +23 -1
- package/dist/server/modules/sessions/claude-runtime-helper-client.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +7 -1
- package/dist/server/modules/sessions/session-history-service.js +251 -41
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +6 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +97 -11
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-message-origin-utils.d.ts +12 -0
- package/dist/server/modules/sessions/session-message-origin-utils.js +45 -0
- package/dist/server/modules/sessions/session-message-origin-utils.js.map +1 -0
- package/dist/server/modules/sessions/session-permission-request-service.js +167 -0
- package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
- package/dist/server/modules/skills/builtin-skill-service.js +1 -1
- package/dist/server/modules/skills/builtin-skill-service.js.map +1 -1
- package/dist/server/modules/skills/builtin-skills/codingns-assistant/SKILL.md +19 -12
- package/dist/server/modules/skills/builtin-skills/codingns-assistant/references/cli-workflow.md +9 -3
- package/dist/server/modules/tasks/task-helper-client.d.ts +5 -2
- package/dist/server/modules/tasks/task-helper-client.js +118 -38
- package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-process.js +94 -3
- package/dist/server/modules/tasks/task-helper-process.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +3 -0
- package/dist/server/modules/tasks/task-types.js +4 -1
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/modules/terminal/command-template-service.d.ts +9 -0
- package/dist/server/modules/terminal/command-template-service.js +87 -5
- package/dist/server/modules/terminal/command-template-service.js.map +1 -1
- package/dist/server/modules/terminal/terminal-controller.d.ts +3 -0
- package/dist/server/modules/terminal/terminal-controller.js +41 -0
- package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.d.ts +3 -0
- package/dist/server/modules/workbench/workbench-service.js +4 -3
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workbench/workspace-file-watcher.d.ts +14 -6
- package/dist/server/modules/workbench/workspace-file-watcher.js +267 -57
- package/dist/server/modules/workbench/workspace-file-watcher.js.map +1 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +2 -0
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +32 -3
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
- package/dist/server/modules/worktree/worktree-manager.d.ts +9 -1
- package/dist/server/modules/worktree/worktree-manager.js +9 -1
- package/dist/server/modules/worktree/worktree-manager.js.map +1 -1
- package/dist/server/routes/assistant.js +19 -0
- package/dist/server/routes/assistant.js.map +1 -1
- package/dist/server/routes/butler.js +5 -0
- package/dist/server/routes/butler.js.map +1 -1
- package/dist/server/server/create-server.d.ts +8 -0
- package/dist/server/server/create-server.js +36 -13
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/storage/repositories/assistant-automation-run-repository.d.ts +12 -0
- package/dist/server/storage/repositories/assistant-automation-run-repository.js +139 -0
- package/dist/server/storage/repositories/assistant-automation-run-repository.js.map +1 -0
- package/dist/server/storage/repositories/assistant-automation-task-repository.d.ts +15 -0
- package/dist/server/storage/repositories/assistant-automation-task-repository.js +173 -0
- package/dist/server/storage/repositories/assistant-automation-task-repository.js.map +1 -0
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +17 -0
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +164 -0
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +1 -0
- package/dist/server/storage/repositories/butler-control-session-repository.js +27 -3
- package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -1
- package/dist/server/storage/repositories/butler-control-timer-repository.d.ts +15 -0
- package/dist/server/storage/repositories/butler-control-timer-repository.js +157 -0
- package/dist/server/storage/repositories/butler-control-timer-repository.js.map +1 -0
- package/dist/server/storage/repositories/user-preference-profile-repository.js +6 -3
- package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +239 -2
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +107 -1
- package/dist/server/types/domain.d.ts +89 -2
- package/dist/server/ws/workbench-ws-hub.d.ts +14 -8
- package/dist/server/ws/workbench-ws-hub.js +299 -163
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +4 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +111 -3
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +6 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +306 -31
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +5 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +187 -26
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +4 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +98 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +2 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +71 -8
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +4 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +44 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +9 -3
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/services.js +17 -8
- package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +4 -0
- package/package.json +1 -1
- package/dist/public/assets/index-BlOinYqR.js +0 -122
- package/dist/public/assets/index-Dg_7g6lA.css +0 -1
package/README.md
CHANGED
|
@@ -64,6 +64,7 @@ codingns assistant help workspaces
|
|
|
64
64
|
codingns assistant help worktrees
|
|
65
65
|
codingns assistant help debug-targets
|
|
66
66
|
codingns assistant help sessions
|
|
67
|
+
codingns assistant help timers
|
|
67
68
|
codingns assistant sessions send --help
|
|
68
69
|
codingns assistant capabilities list
|
|
69
70
|
codingns assistant projects list --status active
|
|
@@ -78,11 +79,13 @@ codingns assistant workspaces management workspace-123
|
|
|
78
79
|
codingns assistant worktrees tree --root-workspace-id workspace-123
|
|
79
80
|
codingns assistant worktrees create --source-workspace-id workspace-123 --branch-name feature/demo
|
|
80
81
|
codingns assistant sessions list --project project-123
|
|
82
|
+
codingns assistant sessions start --project project-123 --message "继续推进这个任务"
|
|
81
83
|
codingns assistant sessions get session-123
|
|
82
84
|
codingns assistant sessions messages session-123 --limit 20
|
|
83
85
|
codingns assistant sessions runtime session-123
|
|
84
86
|
codingns assistant sessions send session-123 --message "继续修复类型错误"
|
|
85
87
|
codingns assistant sessions fork session-123 --message-id msg-123
|
|
88
|
+
codingns assistant timers create --after-seconds 300 --message "5 分钟后检查真实会话的最新回复" --project-id project-123 --session-id session-123
|
|
86
89
|
codingns assistant terminals list --project-id project-123
|
|
87
90
|
codingns assistant terminals history terminal-123 --limit 50
|
|
88
91
|
codingns assistant terminals send terminal-123 --input "npm test\n"
|
package/bin/codingns.mjs
CHANGED
|
@@ -139,6 +139,32 @@ async function runAssistantCommand(argv) {
|
|
|
139
139
|
}));
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
|
+
case "sessions:start": {
|
|
143
|
+
await printAssistantResponse(await requestAssistant({
|
|
144
|
+
method: "POST",
|
|
145
|
+
path: "/api/assistant/sessions/start",
|
|
146
|
+
argv: rest,
|
|
147
|
+
supportedOptions: [
|
|
148
|
+
"project",
|
|
149
|
+
"workspace",
|
|
150
|
+
"sandbox",
|
|
151
|
+
"message",
|
|
152
|
+
"provider",
|
|
153
|
+
"model",
|
|
154
|
+
"reasoning-level",
|
|
155
|
+
"permission-mode"
|
|
156
|
+
],
|
|
157
|
+
helpTopic: "sessions.start"
|
|
158
|
+
}, (options) => ({
|
|
159
|
+
...resolveAssistantSessionStartTarget(options.values),
|
|
160
|
+
content: requireOptionValue(options.values.message, "message"),
|
|
161
|
+
providerId: readOptionalTrimmedValue(options.values.provider),
|
|
162
|
+
model: readOptionalTrimmedValue(options.values.model),
|
|
163
|
+
reasoningLevel: readOptionalTrimmedValue(options.values["reasoning-level"]),
|
|
164
|
+
permissionMode: readOptionalTrimmedValue(options.values["permission-mode"])
|
|
165
|
+
})));
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
142
168
|
case "sessions:get": {
|
|
143
169
|
const [sessionId, ...tail] = rest;
|
|
144
170
|
await printAssistantResponse(await requestAssistant({
|
|
@@ -207,6 +233,237 @@ async function runAssistantCommand(argv) {
|
|
|
207
233
|
})));
|
|
208
234
|
return;
|
|
209
235
|
}
|
|
236
|
+
case "automations:list":
|
|
237
|
+
await printAssistantResponse(await requestAssistant({
|
|
238
|
+
method: "GET",
|
|
239
|
+
path: "/api/assistant/automations",
|
|
240
|
+
argv: rest,
|
|
241
|
+
supportedOptions: ["status", "control-session-id"],
|
|
242
|
+
helpTopic: "automations.list"
|
|
243
|
+
}, (options) => ({
|
|
244
|
+
status: readOptionalTrimmedValue(options.values.status),
|
|
245
|
+
controlSessionId: readOptionalTrimmedValue(options.values["control-session-id"])
|
|
246
|
+
})));
|
|
247
|
+
return;
|
|
248
|
+
case "automations:get": {
|
|
249
|
+
const [automationId, ...tail] = rest;
|
|
250
|
+
await printAssistantResponse(await requestAssistant({
|
|
251
|
+
method: "GET",
|
|
252
|
+
path: `/api/assistant/automations/${requirePositional(automationId, "automationId")}`,
|
|
253
|
+
argv: tail,
|
|
254
|
+
helpTopic: "automations.get"
|
|
255
|
+
}));
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
case "automations:create":
|
|
259
|
+
await printAssistantResponse(await requestAssistant({
|
|
260
|
+
method: "POST",
|
|
261
|
+
path: "/api/assistant/automations",
|
|
262
|
+
argv: rest,
|
|
263
|
+
supportedOptions: [
|
|
264
|
+
"message",
|
|
265
|
+
"trigger",
|
|
266
|
+
"title",
|
|
267
|
+
"due-at",
|
|
268
|
+
"after-seconds",
|
|
269
|
+
"every-seconds",
|
|
270
|
+
"every-minutes",
|
|
271
|
+
"every-hours",
|
|
272
|
+
"stop-at",
|
|
273
|
+
"cron-minute",
|
|
274
|
+
"cron-hour",
|
|
275
|
+
"cron-day-of-week",
|
|
276
|
+
"condition-kind",
|
|
277
|
+
"repository-url",
|
|
278
|
+
"poll-interval-seconds",
|
|
279
|
+
"expires-at",
|
|
280
|
+
"max-checks",
|
|
281
|
+
"condition-session-id",
|
|
282
|
+
"control-session-id",
|
|
283
|
+
"project-id",
|
|
284
|
+
"session-id"
|
|
285
|
+
],
|
|
286
|
+
supportedFlags: ["include-trigger-context"],
|
|
287
|
+
repeatableOptions: ["cron-day-of-week"],
|
|
288
|
+
helpTopic: "automations.create"
|
|
289
|
+
}, (options) => ({
|
|
290
|
+
content: requireOptionValue(options.values.message, "message"),
|
|
291
|
+
triggerType: readOptionalTrimmedValue(options.values.trigger),
|
|
292
|
+
title: readOptionalTrimmedValue(options.values.title),
|
|
293
|
+
dueAt: readOptionalTrimmedValue(options.values["due-at"]),
|
|
294
|
+
afterSeconds: readOptionalTrimmedValue(options.values["after-seconds"]),
|
|
295
|
+
everySeconds: readOptionalTrimmedValue(options.values["every-seconds"]),
|
|
296
|
+
everyMinutes: readOptionalTrimmedValue(options.values["every-minutes"]),
|
|
297
|
+
everyHours: readOptionalTrimmedValue(options.values["every-hours"]),
|
|
298
|
+
stopAt: readOptionalTrimmedValue(options.values["stop-at"]),
|
|
299
|
+
cronMinute: readOptionalTrimmedValue(options.values["cron-minute"]),
|
|
300
|
+
cronHour: readOptionalTrimmedValue(options.values["cron-hour"]),
|
|
301
|
+
cronDaysOfWeek: readMultiOptionValues(options.values["cron-day-of-week"]),
|
|
302
|
+
conditionKind: readOptionalTrimmedValue(options.values["condition-kind"]),
|
|
303
|
+
repositoryUrl: readOptionalTrimmedValue(options.values["repository-url"]),
|
|
304
|
+
pollIntervalSeconds: readOptionalTrimmedValue(options.values["poll-interval-seconds"]),
|
|
305
|
+
expiresAt: readOptionalTrimmedValue(options.values["expires-at"]),
|
|
306
|
+
maxChecks: readOptionalTrimmedValue(options.values["max-checks"]),
|
|
307
|
+
conditionSessionId: readOptionalTrimmedValue(options.values["condition-session-id"]),
|
|
308
|
+
includeTriggerContext: options.flags["include-trigger-context"] === true,
|
|
309
|
+
controlSessionId: readOptionalTrimmedValue(options.values["control-session-id"]),
|
|
310
|
+
projectId: readOptionalTrimmedValue(options.values["project-id"]),
|
|
311
|
+
targetSessionId: readOptionalTrimmedValue(options.values["session-id"])
|
|
312
|
+
})));
|
|
313
|
+
return;
|
|
314
|
+
case "automations:cancel": {
|
|
315
|
+
const [automationId, ...tail] = rest;
|
|
316
|
+
await printAssistantResponse(await requestAssistant({
|
|
317
|
+
method: "POST",
|
|
318
|
+
path: `/api/assistant/automations/${requirePositional(automationId, "automationId")}/cancel`,
|
|
319
|
+
argv: tail,
|
|
320
|
+
helpTopic: "automations.cancel"
|
|
321
|
+
}));
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
case "automations:runs": {
|
|
325
|
+
const [automationId, ...tail] = rest;
|
|
326
|
+
await printAssistantResponse(await requestAssistant({
|
|
327
|
+
method: "GET",
|
|
328
|
+
path: `/api/assistant/automations/${requirePositional(automationId, "automationId")}/runs`,
|
|
329
|
+
argv: tail,
|
|
330
|
+
helpTopic: "automations.runs"
|
|
331
|
+
}));
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
case "sandboxes:list":
|
|
335
|
+
await printAssistantResponse(await requestAssistant({
|
|
336
|
+
method: "GET",
|
|
337
|
+
path: "/api/assistant/sandboxes",
|
|
338
|
+
argv: rest,
|
|
339
|
+
supportedOptions: ["status"],
|
|
340
|
+
helpTopic: "sandboxes.list"
|
|
341
|
+
}, (options) => ({
|
|
342
|
+
status: readOptionalTrimmedValue(options.values.status)
|
|
343
|
+
})));
|
|
344
|
+
return;
|
|
345
|
+
case "sandboxes:create":
|
|
346
|
+
await printAssistantResponse(await requestAssistant({
|
|
347
|
+
method: "POST",
|
|
348
|
+
path: "/api/assistant/sandboxes",
|
|
349
|
+
argv: rest,
|
|
350
|
+
supportedOptions: [
|
|
351
|
+
"title",
|
|
352
|
+
"description",
|
|
353
|
+
"purpose",
|
|
354
|
+
"expires-at",
|
|
355
|
+
"source-kind",
|
|
356
|
+
"repository-url",
|
|
357
|
+
"directory-name",
|
|
358
|
+
"auth-mode",
|
|
359
|
+
"username",
|
|
360
|
+
"password",
|
|
361
|
+
"auth-token"
|
|
362
|
+
],
|
|
363
|
+
helpTopic: "sandboxes.create"
|
|
364
|
+
}, (options) => ({
|
|
365
|
+
title: readOptionalTrimmedValue(options.values.title),
|
|
366
|
+
description: readOptionalTrimmedValue(options.values.description),
|
|
367
|
+
purpose: readOptionalTrimmedValue(options.values.purpose),
|
|
368
|
+
expiresAt: readOptionalTrimmedValue(options.values["expires-at"]),
|
|
369
|
+
sourceKind: readOptionalTrimmedValue(options.values["source-kind"]),
|
|
370
|
+
repositoryUrl: readOptionalTrimmedValue(options.values["repository-url"]),
|
|
371
|
+
directoryName: readOptionalTrimmedValue(options.values["directory-name"]),
|
|
372
|
+
auth: buildWorkspaceCloneAuth(options.values)
|
|
373
|
+
})));
|
|
374
|
+
return;
|
|
375
|
+
case "sandboxes:promote": {
|
|
376
|
+
const [sandboxId, ...tail] = rest;
|
|
377
|
+
await printAssistantResponse(await requestAssistant({
|
|
378
|
+
method: "POST",
|
|
379
|
+
path: `/api/assistant/sandboxes/${requirePositional(sandboxId, "sandboxId")}/promote`,
|
|
380
|
+
argv: tail,
|
|
381
|
+
supportedOptions: ["mode", "project-name", "provider"],
|
|
382
|
+
helpTopic: "sandboxes.promote"
|
|
383
|
+
}, (options) => ({
|
|
384
|
+
mode: readOptionalTrimmedValue(options.values.mode),
|
|
385
|
+
projectName: readOptionalTrimmedValue(options.values["project-name"]),
|
|
386
|
+
defaultProvider: readOptionalTrimmedValue(options.values.provider)
|
|
387
|
+
})));
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
case "sandboxes:expire": {
|
|
391
|
+
const [sandboxId, ...tail] = rest;
|
|
392
|
+
await printAssistantResponse(await requestAssistant({
|
|
393
|
+
method: "POST",
|
|
394
|
+
path: `/api/assistant/sandboxes/${requirePositional(sandboxId, "sandboxId")}/expire`,
|
|
395
|
+
argv: tail,
|
|
396
|
+
helpTopic: "sandboxes.expire"
|
|
397
|
+
}));
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
case "sandboxes:remove": {
|
|
401
|
+
const [sandboxId, ...tail] = rest;
|
|
402
|
+
await printAssistantResponse(await requestAssistant({
|
|
403
|
+
method: "DELETE",
|
|
404
|
+
path: `/api/assistant/sandboxes/${requirePositional(sandboxId, "sandboxId")}`,
|
|
405
|
+
argv: tail,
|
|
406
|
+
helpTopic: "sandboxes.remove"
|
|
407
|
+
}));
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
case "timers:list":
|
|
411
|
+
await printAssistantResponse(await requestAssistant({
|
|
412
|
+
method: "GET",
|
|
413
|
+
path: "/api/assistant/timers",
|
|
414
|
+
argv: rest,
|
|
415
|
+
supportedOptions: ["status", "control-session-id"],
|
|
416
|
+
helpTopic: "timers.list"
|
|
417
|
+
}, (options) => ({
|
|
418
|
+
status: readOptionalTrimmedValue(options.values.status),
|
|
419
|
+
controlSessionId: readOptionalTrimmedValue(options.values["control-session-id"])
|
|
420
|
+
})));
|
|
421
|
+
return;
|
|
422
|
+
case "timers:get": {
|
|
423
|
+
const [timerId, ...tail] = rest;
|
|
424
|
+
await printAssistantResponse(await requestAssistant({
|
|
425
|
+
method: "GET",
|
|
426
|
+
path: `/api/assistant/timers/${requirePositional(timerId, "timerId")}`,
|
|
427
|
+
argv: tail,
|
|
428
|
+
helpTopic: "timers.get"
|
|
429
|
+
}));
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
case "timers:create":
|
|
433
|
+
await printAssistantResponse(await requestAssistant({
|
|
434
|
+
method: "POST",
|
|
435
|
+
path: "/api/assistant/timers",
|
|
436
|
+
argv: rest,
|
|
437
|
+
supportedOptions: [
|
|
438
|
+
"message",
|
|
439
|
+
"title",
|
|
440
|
+
"due-at",
|
|
441
|
+
"after-seconds",
|
|
442
|
+
"control-session-id",
|
|
443
|
+
"project-id",
|
|
444
|
+
"session-id"
|
|
445
|
+
],
|
|
446
|
+
helpTopic: "timers.create"
|
|
447
|
+
}, (options) => ({
|
|
448
|
+
content: requireOptionValue(options.values.message, "message"),
|
|
449
|
+
title: readOptionalTrimmedValue(options.values.title),
|
|
450
|
+
dueAt: readOptionalTrimmedValue(options.values["due-at"]),
|
|
451
|
+
afterSeconds: readOptionalTrimmedValue(options.values["after-seconds"]),
|
|
452
|
+
controlSessionId: readOptionalTrimmedValue(options.values["control-session-id"]),
|
|
453
|
+
projectId: readOptionalTrimmedValue(options.values["project-id"]),
|
|
454
|
+
targetSessionId: readOptionalTrimmedValue(options.values["session-id"])
|
|
455
|
+
})));
|
|
456
|
+
return;
|
|
457
|
+
case "timers:cancel": {
|
|
458
|
+
const [timerId, ...tail] = rest;
|
|
459
|
+
await printAssistantResponse(await requestAssistant({
|
|
460
|
+
method: "POST",
|
|
461
|
+
path: `/api/assistant/timers/${requirePositional(timerId, "timerId")}/cancel`,
|
|
462
|
+
argv: tail,
|
|
463
|
+
helpTopic: "timers.cancel"
|
|
464
|
+
}));
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
210
467
|
case "terminals:list":
|
|
211
468
|
await printAssistantResponse(await requestAssistant({
|
|
212
469
|
method: "GET",
|
|
@@ -1376,6 +1633,7 @@ codingns assistant sessions
|
|
|
1376
1633
|
|
|
1377
1634
|
可用动作:
|
|
1378
1635
|
list 列出指定项目下的会话
|
|
1636
|
+
start 按 project/workspace/sandbox 目标新建真实会话
|
|
1379
1637
|
get 读取会话详情
|
|
1380
1638
|
messages 读取消息窗口
|
|
1381
1639
|
runtime 读取运行态
|
|
@@ -1384,6 +1642,7 @@ codingns assistant sessions
|
|
|
1384
1642
|
|
|
1385
1643
|
示例:
|
|
1386
1644
|
codingns assistant sessions list --project <projectId> --token <token>
|
|
1645
|
+
codingns assistant sessions start --project <projectId> --message "继续处理这个问题" --token <token>
|
|
1387
1646
|
codingns assistant sessions send <sessionId> --message "继续修复" --token <token>
|
|
1388
1647
|
`.trim();
|
|
1389
1648
|
case "sessions.list":
|
|
@@ -1395,6 +1654,16 @@ codingns assistant sessions list
|
|
|
1395
1654
|
|
|
1396
1655
|
用法:
|
|
1397
1656
|
codingns assistant sessions list --project <projectId> --token <token>
|
|
1657
|
+
`.trim();
|
|
1658
|
+
case "sessions.start":
|
|
1659
|
+
return `
|
|
1660
|
+
codingns assistant sessions start
|
|
1661
|
+
|
|
1662
|
+
用途:
|
|
1663
|
+
在指定 project/workspace/sandbox 目标下新建真实会话;如果不显式传 provider/model,会默认继承当前助手控制会话的配置。
|
|
1664
|
+
|
|
1665
|
+
用法:
|
|
1666
|
+
codingns assistant sessions start (--project <projectId> | --workspace <workspaceId> | --sandbox <sandboxId>) --message "..." [--provider <provider>] [--model <model>] [--reasoning-level <level>] [--permission-mode <mode>] --token <token>
|
|
1398
1667
|
`.trim();
|
|
1399
1668
|
case "sessions.get":
|
|
1400
1669
|
return `
|
|
@@ -1445,6 +1714,193 @@ codingns assistant sessions fork
|
|
|
1445
1714
|
|
|
1446
1715
|
用法:
|
|
1447
1716
|
codingns assistant sessions fork <sessionId> [--source-type session|message] [--message-id <id>] [--strategy auto|native-only|reconstruct-only] [--target-provider <provider>] --token <token>
|
|
1717
|
+
`.trim();
|
|
1718
|
+
case "sandboxes":
|
|
1719
|
+
return `
|
|
1720
|
+
codingns assistant sandboxes
|
|
1721
|
+
|
|
1722
|
+
可用动作:
|
|
1723
|
+
list 列出当前助手沙箱
|
|
1724
|
+
create 创建新的临时沙箱工作区
|
|
1725
|
+
promote 把沙箱保留为 pinned,或晋升成正式项目
|
|
1726
|
+
expire 标记沙箱过期
|
|
1727
|
+
remove 清理沙箱
|
|
1728
|
+
|
|
1729
|
+
示例:
|
|
1730
|
+
codingns assistant sandboxes list --status active --token <token>
|
|
1731
|
+
codingns assistant sandboxes create --title "CodingNS 临时沙箱" --source-kind clone --repository-url <url> --token <token>
|
|
1732
|
+
`.trim();
|
|
1733
|
+
case "sandboxes.list":
|
|
1734
|
+
return `
|
|
1735
|
+
codingns assistant sandboxes list
|
|
1736
|
+
|
|
1737
|
+
用途:
|
|
1738
|
+
列出当前用户可见的助手沙箱。
|
|
1739
|
+
|
|
1740
|
+
用法:
|
|
1741
|
+
codingns assistant sandboxes list [--status active|archived|expired|deleted] --token <token>
|
|
1742
|
+
`.trim();
|
|
1743
|
+
case "sandboxes.create":
|
|
1744
|
+
return `
|
|
1745
|
+
codingns assistant sandboxes create
|
|
1746
|
+
|
|
1747
|
+
用途:
|
|
1748
|
+
创建新的临时沙箱工作区;默认空白沙箱,也可以直接 clone 仓库。
|
|
1749
|
+
|
|
1750
|
+
用法:
|
|
1751
|
+
codingns assistant sandboxes create [--title <title>] [--description <text>] [--purpose <text>] [--expires-at <isoTime>] [--source-kind blank|clone] [--repository-url <url>] [--directory-name <name>] [--auth-mode none|basic|token] [--username <name>] [--password <password>] [--auth-token <token>] --token <token>
|
|
1752
|
+
`.trim();
|
|
1753
|
+
case "sandboxes.promote":
|
|
1754
|
+
return `
|
|
1755
|
+
codingns assistant sandboxes promote
|
|
1756
|
+
|
|
1757
|
+
用途:
|
|
1758
|
+
把沙箱保留为 pinned,或者直接晋升成正式项目。
|
|
1759
|
+
|
|
1760
|
+
用法:
|
|
1761
|
+
codingns assistant sandboxes promote <sandboxId> [--mode pin|project] [--project-name <name>] [--provider <provider>] --token <token>
|
|
1762
|
+
`.trim();
|
|
1763
|
+
case "sandboxes.expire":
|
|
1764
|
+
return `
|
|
1765
|
+
codingns assistant sandboxes expire
|
|
1766
|
+
|
|
1767
|
+
用途:
|
|
1768
|
+
把指定沙箱标记为过期,后续不能再拿它启动会话。
|
|
1769
|
+
|
|
1770
|
+
用法:
|
|
1771
|
+
codingns assistant sandboxes expire <sandboxId> --token <token>
|
|
1772
|
+
`.trim();
|
|
1773
|
+
case "sandboxes.remove":
|
|
1774
|
+
return `
|
|
1775
|
+
codingns assistant sandboxes remove
|
|
1776
|
+
|
|
1777
|
+
用途:
|
|
1778
|
+
删除指定沙箱并尝试清理对应工作区入口。
|
|
1779
|
+
|
|
1780
|
+
用法:
|
|
1781
|
+
codingns assistant sandboxes remove <sandboxId> --token <token>
|
|
1782
|
+
`.trim();
|
|
1783
|
+
case "automations":
|
|
1784
|
+
return `
|
|
1785
|
+
codingns assistant automations
|
|
1786
|
+
|
|
1787
|
+
可用动作:
|
|
1788
|
+
list 列出正式自动化任务
|
|
1789
|
+
get 读取单个自动化详情
|
|
1790
|
+
create 创建正式自动化任务
|
|
1791
|
+
cancel 取消自动化任务
|
|
1792
|
+
runs 查看自动化执行记录
|
|
1793
|
+
|
|
1794
|
+
示例:
|
|
1795
|
+
codingns assistant automations create --after-seconds 3600 --message "1 小时后检查 codingns 新 tag" --session-id <sessionId> --project-id <projectId> --token <token>
|
|
1796
|
+
codingns assistant automations create --trigger interval --every-hours 1 --message "每小时检查一次" --token <token>
|
|
1797
|
+
codingns assistant automations create --trigger cron --cron-minute 30 --cron-hour 9 --cron-day-of-week 1 --cron-day-of-week 2 --message "工作日早上检查" --token <token>
|
|
1798
|
+
codingns assistant automations create --trigger condition --condition-kind git.remote_tag_changed --repository-url <url> --poll-interval-seconds 3600 --message "发现新 tag 后通知我" --include-trigger-context --token <token>
|
|
1799
|
+
codingns assistant automations list --status active --token <token>
|
|
1800
|
+
`.trim();
|
|
1801
|
+
case "automations.list":
|
|
1802
|
+
return `
|
|
1803
|
+
codingns assistant automations list
|
|
1804
|
+
|
|
1805
|
+
用途:
|
|
1806
|
+
查看当前助手控制会话下的正式自动化任务。
|
|
1807
|
+
|
|
1808
|
+
用法:
|
|
1809
|
+
codingns assistant automations list [--status active|completed|cancelled|failed] [--control-session-id <id>] --token <token>
|
|
1810
|
+
`.trim();
|
|
1811
|
+
case "automations.get":
|
|
1812
|
+
return `
|
|
1813
|
+
codingns assistant automations get
|
|
1814
|
+
|
|
1815
|
+
用途:
|
|
1816
|
+
读取单个自动化任务详情。
|
|
1817
|
+
|
|
1818
|
+
用法:
|
|
1819
|
+
codingns assistant automations get <automationId> --token <token>
|
|
1820
|
+
`.trim();
|
|
1821
|
+
case "automations.create":
|
|
1822
|
+
return `
|
|
1823
|
+
codingns assistant automations create
|
|
1824
|
+
|
|
1825
|
+
用途:
|
|
1826
|
+
创建正式自动化;支持 once / interval / cron / condition 四种触发器。
|
|
1827
|
+
|
|
1828
|
+
用法:
|
|
1829
|
+
codingns assistant automations create --message "..." [--trigger once|interval|cron|condition] [--title <title>] [--due-at <isoTime> | --after-seconds <seconds>] [--every-seconds <n> | --every-minutes <n> | --every-hours <n>] [--stop-at <isoTime>] [--cron-minute <0-59>] [--cron-hour <0-23>] [--cron-day-of-week <0-6>] [--condition-kind git.remote_tag_changed|session.runtime_idle] [--repository-url <url>] [--condition-session-id <sessionId>] [--poll-interval-seconds <n>] [--expires-at <isoTime>] [--max-checks <n>] [--include-trigger-context] [--control-session-id <id>] [--project-id <projectId>] [--session-id <sessionId>] --token <token>
|
|
1830
|
+
`.trim();
|
|
1831
|
+
case "automations.cancel":
|
|
1832
|
+
return `
|
|
1833
|
+
codingns assistant automations cancel
|
|
1834
|
+
|
|
1835
|
+
用途:
|
|
1836
|
+
取消一个尚未执行的自动化任务。
|
|
1837
|
+
|
|
1838
|
+
用法:
|
|
1839
|
+
codingns assistant automations cancel <automationId> --token <token>
|
|
1840
|
+
`.trim();
|
|
1841
|
+
case "automations.runs":
|
|
1842
|
+
return `
|
|
1843
|
+
codingns assistant automations runs
|
|
1844
|
+
|
|
1845
|
+
用途:
|
|
1846
|
+
查看某个自动化任务的执行记录。
|
|
1847
|
+
|
|
1848
|
+
用法:
|
|
1849
|
+
codingns assistant automations runs <automationId> --token <token>
|
|
1850
|
+
`.trim();
|
|
1851
|
+
case "timers":
|
|
1852
|
+
return `
|
|
1853
|
+
codingns assistant timers
|
|
1854
|
+
|
|
1855
|
+
可用动作:
|
|
1856
|
+
list 列出当前助手会话相关的计时器
|
|
1857
|
+
get 读取单个计时器详情
|
|
1858
|
+
create 创建到点后继续助手会话的计时器
|
|
1859
|
+
cancel 取消计时器
|
|
1860
|
+
|
|
1861
|
+
示例:
|
|
1862
|
+
codingns assistant timers create --after-seconds 300 --message "5 分钟后检查真实会话最新回复" --session-id <sessionId> --project-id <projectId> --token <token>
|
|
1863
|
+
codingns assistant timers list --status active --token <token>
|
|
1864
|
+
`.trim();
|
|
1865
|
+
case "timers.list":
|
|
1866
|
+
return `
|
|
1867
|
+
codingns assistant timers list
|
|
1868
|
+
|
|
1869
|
+
用途:
|
|
1870
|
+
查看当前助手会话下仍在等待、已完成或已失败的计时器。
|
|
1871
|
+
|
|
1872
|
+
用法:
|
|
1873
|
+
codingns assistant timers list [--status active|completed|cancelled|failed] [--control-session-id <id>] --token <token>
|
|
1874
|
+
`.trim();
|
|
1875
|
+
case "timers.get":
|
|
1876
|
+
return `
|
|
1877
|
+
codingns assistant timers get
|
|
1878
|
+
|
|
1879
|
+
用途:
|
|
1880
|
+
读取单个计时器详情,包括计划触发时间和最后错误。
|
|
1881
|
+
|
|
1882
|
+
用法:
|
|
1883
|
+
codingns assistant timers get <timerId> --token <token>
|
|
1884
|
+
`.trim();
|
|
1885
|
+
case "timers.create":
|
|
1886
|
+
return `
|
|
1887
|
+
codingns assistant timers create
|
|
1888
|
+
|
|
1889
|
+
用途:
|
|
1890
|
+
创建一个一次性计时器;到期后系统会自动向同一个助手控制会话发送消息,继续工作。
|
|
1891
|
+
|
|
1892
|
+
用法:
|
|
1893
|
+
codingns assistant timers create --message "..." [--title <title>] [--due-at <isoTime> | --after-seconds <seconds>] [--control-session-id <id>] [--project-id <projectId>] [--session-id <sessionId>] --token <token>
|
|
1894
|
+
`.trim();
|
|
1895
|
+
case "timers.cancel":
|
|
1896
|
+
return `
|
|
1897
|
+
codingns assistant timers cancel
|
|
1898
|
+
|
|
1899
|
+
用途:
|
|
1900
|
+
取消一个尚未触发的计时器。
|
|
1901
|
+
|
|
1902
|
+
用法:
|
|
1903
|
+
codingns assistant timers cancel <timerId> --token <token>
|
|
1448
1904
|
`.trim();
|
|
1449
1905
|
case "terminals":
|
|
1450
1906
|
return `
|
|
@@ -1687,7 +2143,7 @@ codingns assistant worktrees cleanup
|
|
|
1687
2143
|
return `
|
|
1688
2144
|
codingns assistant 用法:
|
|
1689
2145
|
|
|
1690
|
-
codingns assistant help [capabilities|projects|sessions|terminals|debug-targets|debug-runtimes|workspaces|worktrees] [action]
|
|
2146
|
+
codingns assistant help [capabilities|projects|sessions|sandboxes|automations|timers|terminals|debug-targets|debug-runtimes|workspaces|worktrees] [action]
|
|
1691
2147
|
codingns assistant capabilities list [--base-url http://127.0.0.1:3002] --token <token>
|
|
1692
2148
|
codingns assistant projects list [--workspace-id <id>] [--status active|paused|archived] [--risk-level low|medium|high] --token <token>
|
|
1693
2149
|
codingns assistant projects get <projectId> [--base-url ...] --token <token>
|
|
@@ -1710,11 +2166,26 @@ codingns assistant 用法:
|
|
|
1710
2166
|
codingns assistant workspaces nav-state <workspaceId> [--collapsed true|false] [--background-color #RRGGBB|none] [--base-url ...] --token <token>
|
|
1711
2167
|
codingns assistant workspaces remove <workspaceId> [--base-url ...] --token <token>
|
|
1712
2168
|
codingns assistant sessions list --project <projectId> [--base-url ...] --token <token>
|
|
2169
|
+
codingns assistant sessions start (--project <projectId> | --workspace <workspaceId> | --sandbox <sandboxId>) --message "..." [--provider <provider>] [--model <model>] [--reasoning-level <level>] [--permission-mode <mode>] --token <token>
|
|
1713
2170
|
codingns assistant sessions get <sessionId> [--base-url ...] --token <token>
|
|
1714
2171
|
codingns assistant sessions messages <sessionId> [--cursor <cursor>] [--limit 40] [--direction forward|backward] --token <token>
|
|
1715
2172
|
codingns assistant sessions runtime <sessionId> [--base-url ...] --token <token>
|
|
1716
2173
|
codingns assistant sessions send <sessionId> --message "..." [--client-request-id <id>] [--model <model>] [--reasoning-level <level>] [--permission-mode <mode>] --token <token>
|
|
1717
2174
|
codingns assistant sessions fork <sessionId> [--source-type session|message] [--message-id <id>] [--strategy auto|native-only|reconstruct-only] [--target-provider <provider>] --token <token>
|
|
2175
|
+
codingns assistant sandboxes list [--status active|archived|expired|deleted] [--base-url ...] --token <token>
|
|
2176
|
+
codingns assistant sandboxes create [--title <title>] [--description <text>] [--purpose <text>] [--expires-at <isoTime>] [--source-kind blank|clone] [--repository-url <url>] [--directory-name <name>] [--auth-mode none|basic|token] [--username <name>] [--password <password>] [--auth-token <token>] [--base-url ...] --token <token>
|
|
2177
|
+
codingns assistant sandboxes promote <sandboxId> [--mode pin|project] [--project-name <name>] [--provider <provider>] [--base-url ...] --token <token>
|
|
2178
|
+
codingns assistant sandboxes expire <sandboxId> [--base-url ...] --token <token>
|
|
2179
|
+
codingns assistant sandboxes remove <sandboxId> [--base-url ...] --token <token>
|
|
2180
|
+
codingns assistant automations list [--status active|completed|cancelled|failed] [--control-session-id <id>] --token <token>
|
|
2181
|
+
codingns assistant automations get <automationId> [--base-url ...] --token <token>
|
|
2182
|
+
codingns assistant automations create --message "..." [--trigger once|interval|cron|condition] [--title <title>] [--due-at <isoTime> | --after-seconds <seconds>] [--every-seconds <n> | --every-minutes <n> | --every-hours <n>] [--stop-at <isoTime>] [--cron-minute <0-59>] [--cron-hour <0-23>] [--cron-day-of-week <0-6>] [--condition-kind git.remote_tag_changed|session.runtime_idle] [--repository-url <url>] [--condition-session-id <sessionId>] [--poll-interval-seconds <n>] [--expires-at <isoTime>] [--max-checks <n>] [--include-trigger-context] [--control-session-id <id>] [--project-id <projectId>] [--session-id <sessionId>] --token <token>
|
|
2183
|
+
codingns assistant automations cancel <automationId> [--base-url ...] --token <token>
|
|
2184
|
+
codingns assistant automations runs <automationId> [--base-url ...] --token <token>
|
|
2185
|
+
codingns assistant timers list [--status active|completed|cancelled|failed] [--control-session-id <id>] --token <token>
|
|
2186
|
+
codingns assistant timers get <timerId> [--base-url ...] --token <token>
|
|
2187
|
+
codingns assistant timers create --message "..." [--title <title>] [--due-at <isoTime> | --after-seconds <seconds>] [--control-session-id <id>] [--project-id <projectId>] [--session-id <sessionId>] --token <token>
|
|
2188
|
+
codingns assistant timers cancel <timerId> [--base-url ...] --token <token>
|
|
1718
2189
|
codingns assistant terminals list [--workspace-id <id> | --project-id <id>] --token <token>
|
|
1719
2190
|
codingns assistant terminals history <terminalId> [--before-seq <n>] [--limit 20] --token <token>
|
|
1720
2191
|
codingns assistant terminals send <terminalId> --input "npm test\\n" --token <token>
|
|
@@ -1806,6 +2277,23 @@ function buildAssistantHelpTopic(action, rest) {
|
|
|
1806
2277
|
return `${action}.${rest[0]}`;
|
|
1807
2278
|
}
|
|
1808
2279
|
|
|
2280
|
+
function resolveAssistantSessionStartTarget(values) {
|
|
2281
|
+
const projectId = readOptionalTrimmedValue(values.project);
|
|
2282
|
+
const workspaceId = readOptionalTrimmedValue(values.workspace);
|
|
2283
|
+
const sandboxId = readOptionalTrimmedValue(values.sandbox);
|
|
2284
|
+
const targets = [
|
|
2285
|
+
projectId ? { projectId } : null,
|
|
2286
|
+
workspaceId ? { workspaceId } : null,
|
|
2287
|
+
sandboxId ? { sandboxId } : null
|
|
2288
|
+
].filter((item) => item !== null);
|
|
2289
|
+
|
|
2290
|
+
if (targets.length !== 1) {
|
|
2291
|
+
fail("sessions start 必须且只能提供 --project、--workspace、--sandbox 其中一个");
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
return targets[0];
|
|
2295
|
+
}
|
|
2296
|
+
|
|
1809
2297
|
function buildWorkspaceCloneAuth(values) {
|
|
1810
2298
|
const authMode = readOptionalTrimmedValue(values["auth-mode"]);
|
|
1811
2299
|
|