@zq-silk/yui 0.15.7 → 0.15.9
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/ARCHITECTURE.md +194 -399
- package/ARCHITECTURE.zh-CN.md +151 -0
- package/README.md +306 -1131
- package/dist/agent/adapterCatalog.js +15 -2
- package/dist/agent/agent.js +23 -3
- package/dist/agent/argumentPolicy.js +7 -1
- package/dist/agent/connectionPlan.js +62 -0
- package/dist/agent/executionComponents.js +158 -0
- package/dist/agent/launchEnvironment.js +31 -3
- package/dist/agent/managedRuntimeEnvironment.js +3 -5
- package/dist/{turn/turn.js → agentRun/agentRun.js} +166 -109
- package/dist/{turn/turnIdentity.js → agentRun/runIdentity.js} +4 -4
- package/dist/artifacts/artifactCapability.js +74 -0
- package/dist/artifacts/artifactCommitLock.js +249 -0
- package/dist/artifacts/artifactPaths.js +151 -0
- package/dist/artifacts/gitArtifactRef.js +146 -0
- package/dist/artifacts/managedGit.js +332 -0
- package/dist/artifacts/taskArtifactRepository.js +277 -0
- package/dist/brief/taskBrief.js +12 -0
- package/dist/cli/agentConfigurationPicker.js +13 -0
- package/dist/cli/commandCatalog.js +165 -74
- package/dist/cli/interactionCandidates.js +5 -5
- package/dist/cli/interactionPolicy.js +38 -8
- package/dist/cli/invocationRouter.js +1 -1
- package/dist/cli/managedDiagnostics.js +28 -0
- package/dist/cli/operatorWizard.js +1 -7
- package/dist/cli/roleOptionOrder.js +27 -0
- package/dist/cli/roleWizard.js +50 -14
- package/dist/cli/updateOrchestrator.js +1 -1
- package/dist/cli/updatePorts.js +3 -4
- package/dist/cli.js +245 -95
- package/dist/commands/agentCommands.js +72 -14
- package/dist/commands/capabilityCommands.js +9 -6
- package/dist/commands/configCommands.js +20 -20
- package/dist/commands/deliveryGuardPreflight.js +2 -2
- package/dist/commands/executionAuditCommands.js +24 -24
- package/dist/commands/globalRoleCommands.js +1 -1
- package/dist/commands/grantCommands.js +4 -4
- package/dist/commands/operatorCommands.js +34 -9
- package/dist/commands/projectCommands.js +4 -4
- package/dist/commands/resourcesCommands.js +2 -2
- package/dist/commands/roleConfiguration.js +25 -5
- package/dist/commands/roleRuntimeGuard.js +4 -5
- package/dist/commands/sessionCommands.js +3 -7
- package/dist/commands/taskActivationCommands.js +281 -0
- package/dist/commands/taskActor.js +28 -49
- package/dist/commands/taskCommands.js +1461 -720
- package/dist/commands/taskContextCommand.js +39 -583
- package/dist/commands/taskExecutionCommands.js +32 -32
- package/dist/commands/taskInputCommands.js +40 -104
- package/dist/commands/taskIntegrationCommands.js +3 -2
- package/dist/commands/taskIntegrationQueueCommands.js +1 -1
- package/dist/commands/taskNextActionCommand.js +8 -8
- package/dist/commands/taskOverviewCommand.js +33 -45
- package/dist/commands/taskRemoteDeliveryCommand.js +2 -2
- package/dist/commands/taskRoleRuntimeStatus.js +133 -102
- package/dist/commands/telemetryCommands.js +36 -38
- package/dist/config/configCatalog.js +4 -4
- package/dist/config/yuiConfig.js +8 -8
- package/dist/context/contextSnapshot.js +10 -10
- package/dist/context/dispatchContext.js +11 -11
- package/dist/context/roleSessionContext.js +6 -3
- package/dist/context/{turnContextPack.js → runContextPack.js} +158 -81
- package/dist/context/{turnInputContract.js → runInputContract.js} +73 -60
- package/dist/context/sessionBootstrapManifest.js +21 -2
- package/dist/context/sourceRunContext.js +30 -0
- package/dist/context/taskContext.js +481 -0
- package/dist/context/wakeNotification.js +27 -27
- package/dist/controller/agentRuntimeObserver.js +21 -24
- package/dist/controller/capabilityBridge.js +17 -6
- package/dist/controller/clientRuntime.js +65 -92
- package/dist/controller/controller.js +120 -188
- package/dist/controller/fileSchedulerStoreAdapter.js +787 -887
- package/dist/controller/jobControl.js +54 -85
- package/dist/controller/resourceInventory.js +8 -27
- package/dist/controller/resourceInventoryLinux.js +12 -13
- package/dist/controller/runtime.js +529 -479
- package/dist/controller/runtimeEventInbox.js +55 -25
- package/dist/controller/runtimeEventProcessor.js +22 -31
- package/dist/controller/{runtimeHookTurnFence.js → runtimeHookRunFence.js} +91 -115
- package/dist/controller/runtimeLaunchCoordinator.js +80 -426
- package/dist/controller/runtimeObservationHook.js +14 -18
- package/dist/controller/sessionNotify.js +16 -24
- package/dist/controller/sessionOwnerReconciliation.js +168 -50
- package/dist/controller/structuredProviderObservation.js +138 -99
- package/dist/coordination/workMailbox.js +3 -3
- package/dist/coordination/workMailboxQueue.js +36 -33
- package/dist/core/boundedRpc.js +8 -1
- package/dist/core/controllerClient.js +20 -1
- package/dist/core/controllerServer.js +4 -4
- package/dist/doctor/doctor.js +13 -2
- package/dist/domain/agentResultTransport.js +9 -9
- package/dist/execution/codexThreadNaming.js +2 -8
- package/dist/execution/executionHealth.js +51 -63
- package/dist/execution/reviewMainRun.js +137 -0
- package/dist/execution/workItemExecution.js +28 -29
- package/dist/execution/workItemExecutionProjection.js +99 -107
- package/dist/execution/workItemMainRun.js +141 -0
- package/dist/executor/agentAdapter.js +227 -20
- package/dist/executor/agentConfigurationCatalog.js +126 -4
- package/dist/executor/agentConfigurationProbe.js +162 -4
- package/dist/executor/agentExecutor.js +79 -78
- package/dist/executor/effectiveLaunch.js +105 -18
- package/dist/executor/executorRegistry.js +29 -44
- package/dist/executor/fileRoleLaunchPlanner.js +229 -154
- package/dist/executor/workspacePreflightClassification.js +16 -16
- package/dist/grant/capabilityGrant.js +6 -3
- package/dist/input/inputRequest.js +12 -10
- package/dist/integration/gitIntegrationService.js +4 -11
- package/dist/integration/integrationQueueService.js +4 -4
- package/dist/interaction/operatorPresentation.js +1 -1
- package/dist/kernel/builtinCapabilities.js +255 -12
- package/dist/kernel/capabilityRegistry.js +64 -18
- package/dist/kernel/instanceHost.js +12 -1
- package/dist/kernel/kernelPorts.js +2 -2
- package/dist/lifecycle/canonicalLifecycleEvent.js +44 -49
- package/dist/lifecycle/exactRunTerminalization.js +449 -0
- package/dist/message/message.js +118 -6
- package/dist/message/messageContinuation.js +204 -0
- package/dist/observability/executionAudit.js +70 -72
- package/dist/observability/faultClassification.js +2 -2
- package/dist/observability/orchestrationMetrics.js +8 -8
- package/dist/operator/operatorSessionHistory.js +1 -7
- package/dist/output/agentConfigurationPresentation.js +8 -3
- package/dist/output/agentRunConfigurationPresentation.js +128 -0
- package/dist/output/rolePresentation.js +54 -3
- package/dist/plugins/pluginChild.js +104 -0
- package/dist/plugins/pluginIntent.js +26 -0
- package/dist/plugins/pluginInterpreter.js +43 -0
- package/dist/plugins/pluginPackage.js +101 -0
- package/dist/plugins/pluginProcess.js +112 -0
- package/dist/plugins/pluginService.js +388 -0
- package/dist/profile/agentProfile.js +1 -1
- package/dist/repository/gitWorkspace.js +26 -4
- package/dist/repository/project.js +19 -4
- package/dist/repository/taskBaseFreshness.js +13 -13
- package/dist/repository/taskWorkspaceCoordinator.js +20 -27
- package/dist/repository/taskWorkspacePreparer.js +344 -83
- package/dist/resources/autoResourceGc.js +3 -3
- package/dist/resources/liveReferences.js +3 -3
- package/dist/resources/projectResource.js +75 -0
- package/dist/resources/projectResourceService.js +343 -0
- package/dist/resources/resourceDiscovery.js +6 -6
- package/dist/resources/resourceGc.js +1 -1
- package/dist/resources/resourceRegistrar.js +1 -1
- package/dist/resources/resourceTypes.js +1 -1
- package/dist/review/deltaRecheck.js +3 -3
- package/dist/review/reviewAcceptance.js +16 -16
- package/dist/review/reviewDecision.js +7 -7
- package/dist/review/reviewRound.js +21 -20
- package/dist/review/reviewerAvailability.js +2 -2
- package/dist/role/role.js +51 -7
- package/dist/role/taskRoleUpdate.js +30 -0
- package/dist/runtime/acpProtocol.js +425 -0
- package/dist/runtime/acpSession.js +731 -0
- package/dist/runtime/acpSessionConfiguration.js +260 -0
- package/dist/runtime/agentDriver.js +30 -11
- package/dist/runtime/agentEndpoint.js +278 -0
- package/dist/runtime/agentEndpointIdentity.js +86 -0
- package/dist/runtime/agentEndpointOwnership.js +239 -0
- package/dist/runtime/agentError.js +2 -10
- package/dist/runtime/agentHost.js +565 -314
- package/dist/runtime/agentRunConfiguration.js +258 -0
- package/dist/runtime/builtinAgentDrivers.js +134 -18
- package/dist/runtime/builtinAgentErrorMappers.js +55 -3
- package/dist/runtime/builtinTranscriptUsage.js +1 -1
- package/dist/runtime/claude-process-owner +0 -0
- package/dist/runtime/codexAppServerRuntime.js +38 -30
- package/dist/runtime/codexInteractiveHost.js +41 -6
- package/dist/runtime/continuationManager.js +2 -6
- package/dist/runtime/executionEnvironment.js +30 -0
- package/dist/runtime/firstProgressAdvisory.js +11 -11
- package/dist/runtime/index.js +4 -3
- package/dist/runtime/jsonLineChannel.js +109 -0
- package/dist/runtime/launchBroker.js +91 -16
- package/dist/runtime/launchDiagnostics.js +2 -2
- package/dist/runtime/lifecycleReservation.js +10 -18
- package/dist/runtime/managedCaller.js +61 -17
- package/dist/runtime/nativeSessionControl.js +102 -0
- package/dist/runtime/ports.js +6 -21
- package/dist/runtime/processExitObservation.js +8 -7
- package/dist/runtime/promptEnvelope.js +17 -6
- package/dist/runtime/providerContinuation.js +3 -9
- package/dist/runtime/providerContinuationReconciliationService.js +4 -13
- package/dist/runtime/providerControl.js +2 -7
- package/dist/runtime/providerRuntimeIdentity.js +110 -222
- package/dist/runtime/providerRuntimeReconciler.js +5 -9
- package/dist/runtime/runtimeBinding.js +0 -1
- package/dist/runtime/runtimeContinuationProjection.js +4 -7
- package/dist/runtime/runtimeDeadlines.js +9 -0
- package/dist/runtime/runtimeHealthPolicy.js +1 -1
- package/dist/runtime/runtimeObservation.js +29 -65
- package/dist/runtime/runtimeProjection.js +43 -51
- package/dist/runtime/runtimeSessionCandidate.js +1 -3
- package/dist/runtime/sessionLaunchRequest.js +3 -7
- package/dist/runtime/sessionOwnerIdentity.js +7 -54
- package/dist/runtime/sessionOwnerRegistry.js +22 -17
- package/dist/runtime/sessionReconciliation.js +4 -8
- package/dist/runtime/sessionTerminationGuard.js +70 -259
- package/dist/runtime/sessionTokenMetrics.js +5 -16
- package/dist/runtime/structuredProviderHost.js +237 -117
- package/dist/runtime/taskRuntimeIsolation.js +39 -122
- package/dist/runtime/tmuxAdapters.js +39 -86
- package/dist/scheduler/activeRoleRunDelivery.js +354 -0
- package/dist/scheduler/leaderWakeupProcessor.js +75 -266
- package/dist/scheduler/operatorInputNotificationProcessor.js +1 -1
- package/dist/scheduler/ports.js +80 -9
- package/dist/scheduler/{roleTurnLiveness.js → roleRunLiveness.js} +26 -30
- package/dist/scheduler/{roleTurnStall.js → roleRunStall.js} +128 -139
- package/dist/scheduler/taskExecutionProjection.js +120 -124
- package/dist/scheduler/taskObservabilityProjection.js +29 -29
- package/dist/scheduler/taskWake.js +11 -4
- package/dist/scheduler/wakeReason.js +9 -1
- package/dist/setup/setupCommand.js +3 -7
- package/dist/storage/migrations/agentRunContract.js +159 -0
- package/dist/storage/migrations/artifactsToGit.js +338 -0
- package/dist/storage/migrations/removeRuntimeGeneration.js +207 -0
- package/dist/storage/migrations/submitIntent.js +126 -0
- package/dist/storage/sqliteSchema.js +467 -7
- package/dist/storage/sqliteStore.js +355 -220
- package/dist/storage/storageVersions.js +1 -1
- package/dist/storage/storeRpc.js +10 -5
- package/dist/storage/taskStore.js +13 -11
- package/dist/storage/upgrade/upgradeOrchestrator.js +5 -7
- package/dist/surface/surfaceContributions.js +102 -0
- package/dist/task/completionReadiness.js +32 -6
- package/dist/task/deliveryGuard.js +16 -16
- package/dist/task/draftPlan.js +72 -12
- package/dist/task/nextAction.js +144 -128
- package/dist/task/remoteDelivery.js +6 -6
- package/dist/task/task.js +184 -18
- package/dist/task/taskActivation.js +327 -0
- package/dist/task/taskActivationService.js +408 -0
- package/dist/task/taskRecordReference.js +5 -4
- package/dist/task/taskRecordRetirement.js +1 -1
- package/dist/task/taskSubmission.js +236 -0
- package/dist/telemetry/sqliteTelemetryStore.js +55 -68
- package/dist/telemetry/telemetryConfig.js +14 -14
- package/dist/telemetry/telemetryWiring.js +2 -2
- package/dist/web/assets/assetManifest.js +2 -0
- package/dist/web/assets/client/app.js +121 -20
- package/dist/web/assets/client/components.js +87 -54
- package/dist/web/assets/client/i18n.js +83 -41
- package/dist/web/assets/client/markdown.js +1 -1
- package/dist/web/assets/client/taskSurface.js +442 -0
- package/dist/web/assets/client/view.js +49 -44
- package/dist/web/assets/shell.js +1 -1
- package/dist/web/assets/styles/cards.js +22 -4
- package/dist/web/controllerWeb.js +60 -0
- package/dist/web/webMutation.js +28 -0
- package/dist/web/webServer.js +133 -8
- package/dist/web/webSnapshot.js +81 -74
- package/dist/web/webTaskSurface.js +64 -0
- package/dist/workItem/dependencyGate.js +1 -1
- package/dist/workItem/workItem.js +84 -48
- package/dist/workspace/workItemChangeSetManager.js +16 -9
- package/docs/agent-result-consumption.md +96 -0
- package/docs/agent-result-consumption.zh-CN.md +81 -0
- package/docs/agent-runtime-drivers.md +93 -0
- package/docs/agent-runtime-drivers.zh-CN.md +77 -0
- package/docs/architecture/README.md +50 -0
- package/docs/architecture/README.zh-CN.md +43 -0
- package/docs/architecture/capabilities-and-resources.md +118 -0
- package/docs/architecture/capabilities-and-resources.zh-CN.md +83 -0
- package/docs/managed-turn-and-session-runtime.md +224 -0
- package/docs/managed-turn-and-session-runtime.zh-CN.md +180 -0
- package/docs/observability/README.md +83 -0
- package/docs/observability/README.zh-CN.md +71 -0
- package/docs/plugin-sdk.md +393 -0
- package/docs/plugin-sdk.zh-CN.md +293 -0
- package/docs/provider-runtime.md +165 -0
- package/docs/provider-runtime.zh-CN.md +132 -0
- package/docs/release-workflow.md +305 -0
- package/docs/release-workflow.zh-CN.md +237 -0
- package/docs/roles-and-configuration.md +115 -0
- package/docs/roles-and-configuration.zh-CN.md +96 -0
- package/docs/sqlite-control-plane-design.md +78 -0
- package/docs/sqlite-control-plane-design.zh-CN.md +62 -0
- package/docs/task-dag-semantics.md +80 -0
- package/docs/task-dag-semantics.zh-CN.md +59 -0
- package/docs/task-delivery.md +105 -0
- package/docs/task-delivery.zh-CN.md +82 -0
- package/docs/task-local-identity.md +8 -6
- package/docs/task-local-identity.zh-CN.md +58 -0
- package/docs/testing/verification-levels.md +88 -0
- package/docs/testing/verification-levels.zh-CN.md +69 -0
- package/i18n/README.zh-CN.md +270 -722
- package/package.json +3 -2
- package/skills/yui-leader/SKILL.md +88 -304
- package/skills/yui-leader/references/execution.md +303 -0
- package/skills/yui-leader/references/integration.md +39 -0
- package/skills/yui-leader/references/planning.md +109 -0
- package/skills/yui-leader/references/replicated-execution.md +42 -0
- package/skills/yui-leader/references/task-plugins.md +37 -0
- package/skills/yui-operator/SKILL.md +46 -62
- package/skills/yui-reviewer/SKILL.md +35 -36
- package/skills/yui-runtime/SKILL.md +88 -24
- package/skills/yui-runtime/references/publication.md +22 -0
- package/skills/yui-runtime/references/recovery.md +64 -0
- package/skills/yui-worker/SKILL.md +37 -39
- package/dist/cli/roleOptionCatalog.js +0 -68
- package/dist/context/sourceTurnContext.js +0 -30
- package/dist/execution/reviewMainTurn.js +0 -161
- package/dist/execution/workItemMainTurn.js +0 -164
- package/dist/lifecycle/exactTurnTerminalization.js +0 -407
- package/dist/runtime/preallocatedNativeSession.js +0 -13
- package/dist/runtime/runtimeStopReceipt.js +0 -42
- package/dist/scheduler/activeRoleTurnDelivery.js +0 -315
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { supportedAgentAdapterIds } from "../agent/adapterCatalog.js";
|
|
2
|
+
import { supportedAgentExecutionComponentIds } from "../agent/executionComponents.js";
|
|
2
3
|
import { CONFIG_DEFINITIONS, CONFIG_DOMAINS, configDefinitionsForDomain } from "../config/configCatalog.js";
|
|
3
4
|
function buildNode(input, parentPath = []) {
|
|
4
5
|
const path = [...parentPath, input.name];
|
|
@@ -101,10 +102,13 @@ function durableConfigDomainNode(domain) {
|
|
|
101
102
|
const agentChildren = [
|
|
102
103
|
{
|
|
103
104
|
name: "add",
|
|
104
|
-
summary: "Add a configured
|
|
105
|
-
usage: "yui config agent add <id> [--adapter <adapter>] --command <command> [--arg <arg> ...] [--env TARGET=PROCESS_NAME ...]",
|
|
106
|
-
options: ["--adapter", "--command", "--arg", "--env"],
|
|
107
|
-
optionValues: {
|
|
105
|
+
summary: "Add a configured Agent execution component.",
|
|
106
|
+
usage: "yui config agent add <id> [--component <component>] [--adapter <adapter>] --command <command> [--arg <arg> ...] [--env TARGET=PROCESS_NAME ...]",
|
|
107
|
+
options: ["--component", "--adapter", "--command", "--arg", "--env"],
|
|
108
|
+
optionValues: {
|
|
109
|
+
"--component": supportedAgentExecutionComponentIds(),
|
|
110
|
+
"--adapter": supportedAgentAdapterIds()
|
|
111
|
+
},
|
|
108
112
|
executableOptions: ["--command"]
|
|
109
113
|
},
|
|
110
114
|
{ name: "list", summary: "List configured Agents." },
|
|
@@ -117,9 +121,12 @@ const agentChildren = [
|
|
|
117
121
|
{
|
|
118
122
|
name: "update",
|
|
119
123
|
summary: "Update a configured Agent.",
|
|
120
|
-
usage: "yui config agent update <id> [--adapter <adapter>] [--command <command>] [--arg <arg> ... | --clear-args] [--env TARGET=PROCESS_NAME ... | --clear-env]",
|
|
121
|
-
options: ["--adapter", "--command", "--arg", "--clear-args", "--env", "--clear-env", "--yes"],
|
|
122
|
-
optionValues: {
|
|
124
|
+
usage: "yui config agent update <id> [--component <component>] [--adapter <adapter>] [--command <command>] [--arg <arg> ... | --clear-args] [--env TARGET=PROCESS_NAME ... | --clear-env]",
|
|
125
|
+
options: ["--component", "--adapter", "--command", "--arg", "--clear-args", "--env", "--clear-env", "--yes"],
|
|
126
|
+
optionValues: {
|
|
127
|
+
"--component": supportedAgentExecutionComponentIds(),
|
|
128
|
+
"--adapter": supportedAgentAdapterIds()
|
|
129
|
+
},
|
|
123
130
|
executableOptions: ["--command"]
|
|
124
131
|
},
|
|
125
132
|
{ name: "remove", summary: "Remove a configured Agent.", usage: "yui config agent remove <id>" }
|
|
@@ -282,6 +289,35 @@ const taskChildren = [
|
|
|
282
289
|
}
|
|
283
290
|
},
|
|
284
291
|
{ name: "activate", summary: "Activate a Draft Task.", usage: "yui task activate <id>" },
|
|
292
|
+
{
|
|
293
|
+
name: "activation",
|
|
294
|
+
summary: "Request, cancel or inspect explicit Task Activation.",
|
|
295
|
+
sections: [{ id: "manage", title: "Commands", entries: ["request", "cancel", "show"] }],
|
|
296
|
+
children: [
|
|
297
|
+
{
|
|
298
|
+
name: "request",
|
|
299
|
+
summary: "Record an Activation request. empty adds no extra environment (bound Projects still get managed worktrees); scratch creates a Task directory; local requires a registered Resource and grant, not a Project ID.",
|
|
300
|
+
usage: "yui task activation request <task> --request-id <id> "
|
|
301
|
+
+ "--environment <empty|scratch|local:<resource>:<read|write>>",
|
|
302
|
+
options: ["--request-id", "--environment"],
|
|
303
|
+
examples: [
|
|
304
|
+
"yui task activation request <task> --request-id start-1 --environment empty",
|
|
305
|
+
"yui task activation request <gitless-task> --request-id start-1 --environment scratch"
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
name: "cancel",
|
|
310
|
+
summary: "Cancel a pending Activation request so it is never adopted.",
|
|
311
|
+
usage: "yui task activation cancel <task> --request-id <id> --reason <text>",
|
|
312
|
+
options: ["--request-id", "--reason"]
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
name: "show",
|
|
316
|
+
summary: "Show the Task's Activation request and its disposition.",
|
|
317
|
+
usage: "yui task activation show <task>"
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
},
|
|
285
321
|
{
|
|
286
322
|
name: "execution",
|
|
287
323
|
summary: "Fence or resume all execution for a Task.",
|
|
@@ -303,8 +339,8 @@ const taskChildren = [
|
|
|
303
339
|
{
|
|
304
340
|
name: "complete",
|
|
305
341
|
summary: "Complete an active Task and stop automatic wakeups.",
|
|
306
|
-
usage: "yui task complete <id> (--summary <text>|--summary-file <path|->) [--refresh-remote] [--accept-published-tree <publication-id>]",
|
|
307
|
-
options: ["--summary", "--summary-file", "--refresh-remote", "--accept-published-tree"],
|
|
342
|
+
usage: "yui task complete <id> (--summary <text>|--summary-file <path|->) [--artifact-ref <artifact-id|turn:id|url> ...] [--refresh-remote] [--accept-published-tree <publication-id>]",
|
|
343
|
+
options: ["--summary", "--summary-file", "--artifact-ref", "--refresh-remote", "--accept-published-tree"],
|
|
308
344
|
fileOptions: ["--summary-file"]
|
|
309
345
|
},
|
|
310
346
|
{
|
|
@@ -320,7 +356,14 @@ const taskChildren = [
|
|
|
320
356
|
}
|
|
321
357
|
]
|
|
322
358
|
},
|
|
323
|
-
{ name: "reopen", summary: "
|
|
359
|
+
{ name: "reopen", summary: "Explicitly reopen completed or cancelled intent without replaying historical inputs.", usage: "yui task reopen <id>" },
|
|
360
|
+
{
|
|
361
|
+
name: "cancel",
|
|
362
|
+
summary: "Stop pursuing a Task without claiming its processes stopped.",
|
|
363
|
+
usage: "yui task cancel <task> (--summary <text>|--summary-file <path|->)",
|
|
364
|
+
options: ["--summary", "--summary-file"],
|
|
365
|
+
fileOptions: ["--summary-file"]
|
|
366
|
+
},
|
|
324
367
|
{
|
|
325
368
|
name: "retire",
|
|
326
369
|
summary: "Retire a stale Task while preserving its historical evidence.",
|
|
@@ -335,10 +378,21 @@ const taskChildren = [
|
|
|
335
378
|
options: ["--all", "--verbose"]
|
|
336
379
|
},
|
|
337
380
|
{ name: "show", summary: "Show a Task.", usage: "yui task show <id>" },
|
|
381
|
+
{
|
|
382
|
+
name: "artifact",
|
|
383
|
+
summary: "Save Task files in local Git and read current or commit-pinned content.",
|
|
384
|
+
sections: [{ id: "manage", title: "Commands", entries: ["list", "read", "save"] }],
|
|
385
|
+
children: [
|
|
386
|
+
{ name: "list", summary: "List saved Task artifacts.", usage: "yui task artifact list <task>" },
|
|
387
|
+
{ name: "read", summary: "Read a file at HEAD or an exact commit.", usage: "yui task artifact read <task> <relative-path> [<commit>]" },
|
|
388
|
+
{ name: "save", summary: "Save and locally commit one file.", usage: "yui task artifact save <task> <relative-path> <content> [--message <text>] [--expected-head <commit>]", options: ["--message", "--expected-head"] }
|
|
389
|
+
]
|
|
390
|
+
},
|
|
338
391
|
{
|
|
339
392
|
name: "context",
|
|
340
|
-
summary: "
|
|
341
|
-
usage: "yui task context <task>"
|
|
393
|
+
summary: "Read compact authorized facts, fixed-bound delta, or inspect a Context reference.",
|
|
394
|
+
usage: "yui task context [read|delta|inspect] <task> [--after <cursor>] [--continuation <cursor>] [--limit <n>] [--store <store> --ref <id>] [--digest <digest>]",
|
|
395
|
+
options: ["--after", "--continuation", "--limit", "--store", "--ref", "--digest"]
|
|
342
396
|
},
|
|
343
397
|
{
|
|
344
398
|
name: "next-action",
|
|
@@ -381,14 +435,21 @@ const taskChildren = [
|
|
|
381
435
|
{
|
|
382
436
|
name: "message",
|
|
383
437
|
summary: "Manage durable Task messages.",
|
|
384
|
-
sections: [{ id: "manage", title: "Commands", entries: ["send", "list", "update", "retire"] }],
|
|
438
|
+
sections: [{ id: "manage", title: "Commands", entries: ["send", "handoff", "list", "show", "update", "retire"] }],
|
|
385
439
|
children: [
|
|
440
|
+
{
|
|
441
|
+
name: "handoff",
|
|
442
|
+
summary: "Explicitly hand an unassigned Message to the current dispatched owner of the same work.",
|
|
443
|
+
usage: "yui task message handoff <task/message> --to <role>",
|
|
444
|
+
options: ["--to"]
|
|
445
|
+
},
|
|
386
446
|
{
|
|
387
447
|
name: "send",
|
|
388
|
-
summary: "Send a Task message.",
|
|
389
|
-
usage: "yui task message send <id> (<body>|--body-file <path|->) [--wake-policy leader|none]",
|
|
390
|
-
options: ["--body-file", "--wake-policy"],
|
|
448
|
+
summary: "Send a Task message. An unaddressed user/operator message carries a submission intent (record|discuss|develop) and an optional idempotency key.",
|
|
449
|
+
usage: "yui task message send <id> (<body>|--body-file <path|->) [--intent record|discuss|develop] [--request-id <key>] [--wake-policy leader|none] [--to <role> --work-item <id>|--review-round <id>]",
|
|
450
|
+
options: ["--body-file", "--intent", "--request-id", "--wake-policy", "--to", "--work-item", "--review-round"],
|
|
391
451
|
optionValues: {
|
|
452
|
+
"--intent": ["record", "discuss", "develop"],
|
|
392
453
|
"--wake-policy": ["leader", "none"]
|
|
393
454
|
},
|
|
394
455
|
fileOptions: ["--body-file"]
|
|
@@ -399,6 +460,11 @@ const taskChildren = [
|
|
|
399
460
|
usage: "yui task message list <id> [--after <timestamp>] [--limit <n>]",
|
|
400
461
|
options: ["--after", "--limit"]
|
|
401
462
|
},
|
|
463
|
+
{
|
|
464
|
+
name: "show",
|
|
465
|
+
summary: "Read a scoped Message and expand its single execution result.",
|
|
466
|
+
usage: "yui task message show <task>/<message>"
|
|
467
|
+
},
|
|
402
468
|
{
|
|
403
469
|
name: "update",
|
|
404
470
|
summary: "Replace the mutable body and wake policy of a Draft user/operator Message.",
|
|
@@ -424,7 +490,7 @@ const taskChildren = [
|
|
|
424
490
|
children: [
|
|
425
491
|
{
|
|
426
492
|
name: "request",
|
|
427
|
-
summary: "Pause the active Leader
|
|
493
|
+
summary: "Pause the active Leader AgentRun and request user input.",
|
|
428
494
|
usage: "yui task input request <task> --question <text> [--choice <key=label> ...] [--blocks <work-item:id|turn:id> ...] [--recommend <key> --timeout-seconds <seconds>]",
|
|
429
495
|
options: ["--question", "--choice", "--blocks", "--recommend", "--timeout-seconds"]
|
|
430
496
|
},
|
|
@@ -576,8 +642,8 @@ const taskChildren = [
|
|
|
576
642
|
{
|
|
577
643
|
name: "update",
|
|
578
644
|
summary: "Update a Task Role; Agent settings target the named or active binding without switching it.",
|
|
579
|
-
usage: "yui task role update <task> <role> [--profile <id>] [--agent <id>] [Role and Agent settings]",
|
|
580
|
-
options: ["--profile", "--agent", ...roleProfileOptions, ...roleAgentOptions,
|
|
645
|
+
usage: "yui task role update <task> <role> [--profile <id>] [--agent <id>] [--environment <preparation-id> | --managed-environment] [Role and Agent settings]",
|
|
646
|
+
options: ["--profile", "--agent", "--environment", "--managed-environment", ...roleProfileOptions, ...roleAgentOptions,
|
|
581
647
|
...roleProfileClearOptions, ...roleAgentClearOptions, "--yes"],
|
|
582
648
|
optionValues: roleAgentOptionValues
|
|
583
649
|
},
|
|
@@ -586,20 +652,26 @@ const taskChildren = [
|
|
|
586
652
|
{ name: "unbind", summary: "Unbind a dormant Agent from a Task Role.", usage: "yui task role unbind <task> <role> <agent-id>" },
|
|
587
653
|
{
|
|
588
654
|
name: "session",
|
|
589
|
-
summary: "Inspect or
|
|
655
|
+
summary: "Inspect, stop or explicitly select a new Task Role Session.",
|
|
590
656
|
executable: true,
|
|
591
|
-
sections: [{ id: "manage", title: "Commands", entries: ["inspect", "stop"] }],
|
|
657
|
+
sections: [{ id: "manage", title: "Commands", entries: ["inspect", "stop", "new"] }],
|
|
592
658
|
children: [
|
|
593
659
|
{
|
|
594
660
|
name: "inspect",
|
|
595
|
-
summary: "Read the current Session, Host
|
|
661
|
+
summary: "Read the current Session, Host process, and AgentRun facts.",
|
|
596
662
|
usage: "yui task role session inspect <task> <role>"
|
|
597
663
|
},
|
|
598
664
|
{
|
|
599
665
|
name: "stop",
|
|
600
|
-
summary: "Stop
|
|
666
|
+
summary: "Stop the exact Session execution and retain its conversation for possible reuse; preserve Task progress.",
|
|
601
667
|
usage: "yui task role session stop <task> <role> --reason <text>",
|
|
602
668
|
options: ["--reason"]
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
name: "new",
|
|
672
|
+
summary: "Request replacement even for active or ended Sessions; stop exact execution and preserve Task context, results and workspaces.",
|
|
673
|
+
usage: "yui task role session new <task> <role> --reason <text>",
|
|
674
|
+
options: ["--reason"]
|
|
603
675
|
}
|
|
604
676
|
]
|
|
605
677
|
},
|
|
@@ -627,7 +699,7 @@ const taskChildren = [
|
|
|
627
699
|
id: "manage",
|
|
628
700
|
title: "Commands",
|
|
629
701
|
entries: [
|
|
630
|
-
"create", "list", "show", "edit", "update", "scope", "dispatch", "isolate", "capture", "cleanup",
|
|
702
|
+
"create", "list", "show", "edit", "update", "scope", "dispatch", "synthesize", "isolate", "capture", "cleanup",
|
|
631
703
|
"review", "accept", "reject", "retire"
|
|
632
704
|
]
|
|
633
705
|
}],
|
|
@@ -642,7 +714,7 @@ const taskChildren = [
|
|
|
642
714
|
{ name: "show", summary: "Show one Work Item.", usage: "yui task work show <work>" },
|
|
643
715
|
{
|
|
644
716
|
name: "edit",
|
|
645
|
-
summary: "
|
|
717
|
+
summary: "Edit current requirements without changing frozen Assignments or acceptance.",
|
|
646
718
|
usage: "yui task work edit <task>/<work> [--title <text>] [--objective <text>] [--accept <criterion> ...|--clear-acceptance] [--after <work> ...|--clear-dependencies] [--project <project> ...|--clear-projects] [--base-ref <project>=<ref> ...|--clear-base-refs] [--role <name>|--clear-role]",
|
|
647
719
|
options: [
|
|
648
720
|
"--title", "--objective", "--accept", "--clear-acceptance",
|
|
@@ -652,9 +724,9 @@ const taskChildren = [
|
|
|
652
724
|
},
|
|
653
725
|
{
|
|
654
726
|
name: "update",
|
|
655
|
-
summary: "
|
|
656
|
-
usage: "yui task work update <task>/<work> <todo|running|done|failed> [--summary <text>]",
|
|
657
|
-
options: ["--summary"],
|
|
727
|
+
summary: "Record progress or submit a Candidate; acceptance remains explicit.",
|
|
728
|
+
usage: "yui task work update <task>/<work> <todo|running|done|failed> [--summary <text>] [--artifact-ref <artifact-id> ...]",
|
|
729
|
+
options: ["--summary", "--artifact-ref"],
|
|
658
730
|
argumentValues: {
|
|
659
731
|
1: ["todo", "running", "done", "failed"]
|
|
660
732
|
}
|
|
@@ -671,6 +743,12 @@ const taskChildren = [
|
|
|
671
743
|
usage: "yui task work dispatch <task>/<work> [--input <text>] [--lane-role <role> ...]",
|
|
672
744
|
options: ["--input", "--lane-role"]
|
|
673
745
|
},
|
|
746
|
+
{
|
|
747
|
+
name: "synthesize",
|
|
748
|
+
summary: "Dispatch synthesis over explicitly selected original Producer AgentRuns.",
|
|
749
|
+
usage: "yui task work synthesize <task>/<work> --source-run <task>/<run> ...",
|
|
750
|
+
options: ["--source-run"]
|
|
751
|
+
},
|
|
674
752
|
{
|
|
675
753
|
name: "isolate",
|
|
676
754
|
summary: "Create a WorkItem-owned isolated worktree.",
|
|
@@ -700,7 +778,7 @@ const taskChildren = [
|
|
|
700
778
|
children: [
|
|
701
779
|
{
|
|
702
780
|
name: "retry",
|
|
703
|
-
summary: "Retry a failed Task-final ReviewRound that has no Reviewer
|
|
781
|
+
summary: "Retry a failed Task-final ReviewRound that has no Reviewer AgentRun.",
|
|
704
782
|
usage: "yui task work review retry <task>/<review-round>"
|
|
705
783
|
},
|
|
706
784
|
{
|
|
@@ -718,87 +796,93 @@ const taskChildren = [
|
|
|
718
796
|
{
|
|
719
797
|
name: "accept",
|
|
720
798
|
summary: "Accept a successful, validated, integrated Work Item.",
|
|
721
|
-
usage: "yui task work accept <task>/<work> --summary <text>",
|
|
722
|
-
options: ["--summary"]
|
|
799
|
+
usage: "yui task work accept <task>/<work> --summary <text> [--candidate <id>]",
|
|
800
|
+
options: ["--summary", "--candidate"]
|
|
723
801
|
},
|
|
724
802
|
{
|
|
725
803
|
name: "reject",
|
|
726
|
-
summary: "
|
|
804
|
+
summary: "Decline a result or withdraw acceptance while preserving its history.",
|
|
727
805
|
usage: "yui task work reject <task>/<work> --summary <text>",
|
|
728
806
|
options: ["--summary"]
|
|
729
807
|
},
|
|
730
808
|
{
|
|
731
809
|
name: "retire",
|
|
732
|
-
summary: "Retire a WorkItem and settle its exact
|
|
810
|
+
summary: "Retire a WorkItem and settle its exact AgentRuns.",
|
|
733
811
|
usage: "yui task work retire <work> --summary <text> [--replacement <work>]",
|
|
734
812
|
options: ["--summary", "--replacement"]
|
|
735
813
|
}
|
|
736
814
|
]
|
|
737
815
|
},
|
|
738
816
|
{
|
|
739
|
-
name: "
|
|
740
|
-
summary: "Inspect and control Task Role
|
|
817
|
+
name: "run",
|
|
818
|
+
summary: "Inspect and control Task Role AgentRuns.",
|
|
741
819
|
sections: [{ id: "manage", title: "Commands", entries: ["list", "show", "retry", "settle", "context", "checkpoint", "retire"] }],
|
|
742
820
|
children: [
|
|
743
|
-
{ name: "list", summary: "List all
|
|
821
|
+
{ name: "list", summary: "List all AgentRuns for a Task or one WorkItem.", usage: "yui task run list <task|task/work>" },
|
|
744
822
|
{
|
|
745
823
|
name: "show",
|
|
746
|
-
summary: "Show one
|
|
747
|
-
usage: "yui task
|
|
824
|
+
summary: "Show one AgentRun and its retained audit evidence.",
|
|
825
|
+
usage: "yui task run show <task>/<run> [--json]"
|
|
748
826
|
},
|
|
749
827
|
{
|
|
750
828
|
name: "retry",
|
|
751
|
-
summary: "Retry an exact failed execution or review
|
|
752
|
-
usage: "yui task
|
|
829
|
+
summary: "Retry an exact failed execution or review AgentRun while preserving its semantic unit.",
|
|
830
|
+
usage: "yui task run retry <task>/<run>"
|
|
753
831
|
},
|
|
754
832
|
{
|
|
755
833
|
name: "settle",
|
|
756
|
-
summary: "Explicitly settle a failed WorkItem Lane or an obsolete stranded final Review
|
|
757
|
-
usage: "yui task
|
|
834
|
+
summary: "Explicitly settle a failed WorkItem Lane or an obsolete stranded final Review AgentRun.",
|
|
835
|
+
usage: "yui task run settle <task>/<run>"
|
|
758
836
|
},
|
|
759
837
|
{
|
|
760
838
|
name: "context",
|
|
761
|
-
summary: "Load the exact authorized
|
|
762
|
-
usage: "yui task
|
|
839
|
+
summary: "Load the exact authorized AgentRun context.",
|
|
840
|
+
usage: "yui task run context <task>/<run> [--json]",
|
|
763
841
|
executable: true,
|
|
764
842
|
hidden: true,
|
|
765
843
|
sections: [{ id: "load", title: "Commands", entries: ["expand", "delta"] }],
|
|
766
844
|
children: [
|
|
767
845
|
{
|
|
768
846
|
name: "expand",
|
|
769
|
-
summary: "Expand one authorized
|
|
770
|
-
usage: "yui task
|
|
847
|
+
summary: "Expand one authorized AgentRun context reference.",
|
|
848
|
+
usage: "yui task run context expand <task>/<run> <ref-id> [--store <store>] [--mode full]",
|
|
771
849
|
options: ["--store", "--mode"]
|
|
772
850
|
},
|
|
773
851
|
{
|
|
774
852
|
name: "delta",
|
|
775
|
-
summary: "Load authorized
|
|
776
|
-
usage: "yui task
|
|
853
|
+
summary: "Load authorized AgentRun context changes after a cursor.",
|
|
854
|
+
usage: "yui task run context delta <task>/<run> --after <cursor>",
|
|
777
855
|
options: ["--after"]
|
|
778
856
|
}
|
|
779
857
|
]
|
|
780
858
|
},
|
|
781
859
|
{
|
|
782
860
|
name: "checkpoint",
|
|
783
|
-
summary: "Record durable progress for a long-running
|
|
784
|
-
usage: "yui task
|
|
861
|
+
summary: "Record durable progress for a long-running AgentRun.",
|
|
862
|
+
usage: "yui task run checkpoint <run> (--note <text>|--note-file <path|->)",
|
|
785
863
|
options: ["--note", "--note-file"],
|
|
786
864
|
fileOptions: ["--note-file"],
|
|
787
865
|
hidden: true
|
|
788
866
|
},
|
|
789
867
|
{
|
|
790
868
|
name: "retire",
|
|
791
|
-
summary: "Retire an incorrect historical
|
|
792
|
-
usage: "yui task
|
|
793
|
-
options: ["--reason", "--expected-progress-at", "--progress-at", "--agent-id", "--adapter-id", "--native-session-id"
|
|
869
|
+
summary: "Retire an incorrect historical AgentRun without deleting its audit record.",
|
|
870
|
+
usage: "yui task run retire <task>/<run> --reason <text> [--expected-progress-at <timestamp>] [--agent-id <id>] [--adapter-id <id>] [--native-session-id <id>]",
|
|
871
|
+
options: ["--reason", "--expected-progress-at", "--progress-at", "--agent-id", "--adapter-id", "--native-session-id"]
|
|
794
872
|
}
|
|
795
873
|
]
|
|
796
874
|
},
|
|
797
875
|
{
|
|
798
876
|
name: "review",
|
|
799
877
|
summary: "Control Task-final ReviewRounds.",
|
|
800
|
-
sections: [{ id: "manage", title: "Commands", entries: ["request", "retry"] }],
|
|
878
|
+
sections: [{ id: "manage", title: "Commands", entries: ["request", "synthesize", "retry"] }],
|
|
801
879
|
children: [
|
|
880
|
+
{
|
|
881
|
+
name: "synthesize",
|
|
882
|
+
summary: "Dispatch main Review over selected Producer AgentRuns and the frozen candidate.",
|
|
883
|
+
usage: "yui task review synthesize <task>/<review-round> --source-run <task>/<run> ...",
|
|
884
|
+
options: ["--source-run"]
|
|
885
|
+
},
|
|
802
886
|
{
|
|
803
887
|
name: "request",
|
|
804
888
|
summary: "Request a direct or replicated Task-local final ReviewRound.",
|
|
@@ -807,7 +891,7 @@ const taskChildren = [
|
|
|
807
891
|
},
|
|
808
892
|
{
|
|
809
893
|
name: "retry",
|
|
810
|
-
summary: "Retry a failed Task-final ReviewRound without a Reviewer
|
|
894
|
+
summary: "Retry a failed Task-final ReviewRound without a Reviewer AgentRun.",
|
|
811
895
|
usage: "yui task review retry <task>/<review-round>"
|
|
812
896
|
}
|
|
813
897
|
]
|
|
@@ -826,7 +910,7 @@ const taskChildren = [
|
|
|
826
910
|
},
|
|
827
911
|
{
|
|
828
912
|
name: "continue",
|
|
829
|
-
summary: "
|
|
913
|
+
summary: "Consume a finished check Job and finalize this exact Integration, or continue an approved manual resolution.",
|
|
830
914
|
usage: "yui task integration continue <task>/<integration>"
|
|
831
915
|
},
|
|
832
916
|
{
|
|
@@ -953,10 +1037,12 @@ const taskChildren = [
|
|
|
953
1037
|
{
|
|
954
1038
|
name: "wake",
|
|
955
1039
|
summary: "Inspect the durable Leader wake ledger and its delta content.",
|
|
956
|
-
sections: [{ id: "manage", title: "Commands", entries: ["list", "show"] }],
|
|
1040
|
+
sections: [{ id: "manage", title: "Commands", entries: ["list", "show", "resolve"] }],
|
|
957
1041
|
children: [
|
|
958
1042
|
{ name: "list", summary: "List recorded Leader wakes.", usage: "yui task wake list <task>" },
|
|
959
|
-
{ name: "show", summary: "Show one wake and its delta content.", usage: "yui task wake show <task> <wake>" }
|
|
1043
|
+
{ name: "show", summary: "Show one wake and its delta content.", usage: "yui task wake show <task> <wake>" },
|
|
1044
|
+
{ name: "resolve", summary: "Release an unknown notification claim after explicit quiescence evidence, without replay.",
|
|
1045
|
+
usage: "yui task wake resolve <task> <wake> --reason <quiescence-evidence>", options: ["--reason"] }
|
|
960
1046
|
]
|
|
961
1047
|
},
|
|
962
1048
|
{
|
|
@@ -1007,9 +1093,9 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1007
1093
|
{ name: "doctor", summary: "Check Yui dependencies and file state." },
|
|
1008
1094
|
{
|
|
1009
1095
|
name: "web",
|
|
1010
|
-
summary: "Serve the
|
|
1011
|
-
usage: "yui web [--host <loopback>] [--port <port>]",
|
|
1012
|
-
options: ["--host", "--port"]
|
|
1096
|
+
summary: "Serve the control room using the running Controller's capability Host.",
|
|
1097
|
+
usage: "yui web [--host <loopback>] [--port <port>] | --status | --stop",
|
|
1098
|
+
options: ["--host", "--port", "--status", "--stop"]
|
|
1013
1099
|
},
|
|
1014
1100
|
{
|
|
1015
1101
|
name: "controller",
|
|
@@ -1039,7 +1125,7 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1039
1125
|
},
|
|
1040
1126
|
{
|
|
1041
1127
|
name: "live-identity",
|
|
1042
|
-
summary: "Read the authenticated live Controller runtime
|
|
1128
|
+
summary: "Read the authenticated live Controller runtime identity.",
|
|
1043
1129
|
hidden: true
|
|
1044
1130
|
},
|
|
1045
1131
|
{ name: "stop", summary: "Stop the Controller." },
|
|
@@ -1057,7 +1143,7 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1057
1143
|
children: [
|
|
1058
1144
|
{
|
|
1059
1145
|
name: "audit",
|
|
1060
|
-
summary: "Report
|
|
1146
|
+
summary: "Report AgentRuns, wakes, Sessions, Reviews, Integrations, and telemetry volume.",
|
|
1061
1147
|
usage: "yui execution audit [--task <id>] [--since <iso>] [--until <iso>]",
|
|
1062
1148
|
options: ["--task", "--since", "--until"]
|
|
1063
1149
|
}
|
|
@@ -1152,7 +1238,7 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1152
1238
|
},
|
|
1153
1239
|
{
|
|
1154
1240
|
name: "role",
|
|
1155
|
-
summary: "Manage reusable global Roles and desired Agent launch configuration for the next Host
|
|
1241
|
+
summary: "Manage reusable global Roles and desired Agent launch configuration for the next Host process.",
|
|
1156
1242
|
examples: ["yui config role list", "yui config role show operator"],
|
|
1157
1243
|
sections: [
|
|
1158
1244
|
{ id: "inspect", title: "Inspect", entries: ["list", "show"] },
|
|
@@ -1201,9 +1287,12 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1201
1287
|
},
|
|
1202
1288
|
{
|
|
1203
1289
|
name: "submit",
|
|
1204
|
-
summary: "Submit work through the Operator.",
|
|
1205
|
-
usage: "yui operator submit (<body>|--body-file <path|->) [--task <id>]",
|
|
1206
|
-
options: ["--task", "--body-file"],
|
|
1290
|
+
summary: "Submit work through the Operator with a submission intent (record|discuss|develop); a task-less submit opens a Draft. An optional idempotency key makes a retry safe.",
|
|
1291
|
+
usage: "yui operator submit (<body>|--body-file <path|->) [--task <id>] [--intent record|discuss|develop] [--request-id <key>]",
|
|
1292
|
+
options: ["--task", "--body-file", "--intent", "--request-id"],
|
|
1293
|
+
optionValues: {
|
|
1294
|
+
"--intent": ["record", "discuss", "develop"]
|
|
1295
|
+
},
|
|
1207
1296
|
fileOptions: ["--body-file"]
|
|
1208
1297
|
}
|
|
1209
1298
|
]
|
|
@@ -1378,10 +1467,10 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1378
1467
|
},
|
|
1379
1468
|
{
|
|
1380
1469
|
name: "task",
|
|
1381
|
-
summary: "Manage Tasks, WorkItems,
|
|
1470
|
+
summary: "Manage Tasks, WorkItems, AgentRuns, and integration.",
|
|
1382
1471
|
sections: [
|
|
1383
|
-
{ id: "lifecycle", title: "Lifecycle", entries: ["create", "project", "base", "update", "activate", "execution", "complete", "reopen", "retire", "list", "show", "context", "next-action", "remote-delivery", "archive", "replace", "reconcile", "upstream"] },
|
|
1384
|
-
{ id: "collaboration", title: "Collaboration", entries: ["message", "input", "grant", "workflow", "publication", "work", "
|
|
1472
|
+
{ id: "lifecycle", title: "Lifecycle", entries: ["create", "project", "base", "update", "activate", "activation", "execution", "complete", "cancel", "reopen", "retire", "list", "show", "context", "next-action", "remote-delivery", "archive", "replace", "reconcile", "upstream", "artifact"] },
|
|
1473
|
+
{ id: "collaboration", title: "Collaboration", entries: ["message", "input", "grant", "workflow", "publication", "work", "run", "review", "integration", "role", "overlap", "change-set"] },
|
|
1385
1474
|
{ id: "knowledge", title: "Task Knowledge", entries: ["brief", "decision", "milestone", "event", "continuation", "wake"] }
|
|
1386
1475
|
],
|
|
1387
1476
|
children: taskChildren
|
|
@@ -1389,9 +1478,11 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1389
1478
|
{
|
|
1390
1479
|
name: "capability",
|
|
1391
1480
|
summary: "Discover and call authorized capabilities through the Controller.",
|
|
1392
|
-
sections: [{ id: "entry", title: "Commands", entries: ["search", "describe", "call"] }],
|
|
1481
|
+
sections: [{ id: "entry", title: "Commands", entries: ["search", "commands", "panels", "describe", "call"] }],
|
|
1393
1482
|
children: [
|
|
1394
1483
|
{ name: "search", summary: "Search the current authorized directory.", usage: "yui capability search [query] --task <id>" },
|
|
1484
|
+
{ name: "commands", summary: "List current command names, help and capability mappings; invoke via capability call.", usage: "yui capability commands --task <id>" },
|
|
1485
|
+
{ name: "panels", summary: "List authorized text/link or query-only JSON panel descriptors.", usage: "yui capability panels --task <id>" },
|
|
1395
1486
|
{ name: "describe", summary: "Describe one contract or report Provider ambiguity.", usage: "yui capability describe <name> --task <id> [--provider <id>] [--version <version>]" },
|
|
1396
1487
|
{ name: "call", summary: "Invoke one implementation under the current managed identity.", usage: "yui capability call <name> --task <id> --input <json> [--provider <id>] [--version <version>] [--request-id <id>]" }
|
|
1397
1488
|
]
|
|
@@ -1422,8 +1513,8 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1422
1513
|
sections: [{ id: "manage", title: "Commands", entries: ["status", "prune", "read"] }],
|
|
1423
1514
|
children: [
|
|
1424
1515
|
{ name: "status", summary: "Show sidecar health, row counts, and retention settings.", usage: "yui telemetry status" },
|
|
1425
|
-
{ name: "prune", summary: "Apply terminal retention and active-
|
|
1426
|
-
{ name: "read", summary: "Page through retained progress rows or read a
|
|
1516
|
+
{ name: "prune", summary: "Apply terminal retention and active-AgentRun caps.", usage: "yui telemetry prune [--task <id>] [--keep <n>] [--dry-run]" },
|
|
1517
|
+
{ name: "read", summary: "Page through retained progress rows or read a AgentRun aggregate.", usage: "yui telemetry read --task <id> [--run <id>] [--aggregate] [--limit <n>] [--offset <n>]" }
|
|
1427
1518
|
]
|
|
1428
1519
|
},
|
|
1429
1520
|
{
|
|
@@ -1439,7 +1530,7 @@ export const ROOT_COMMAND = buildNode({
|
|
|
1439
1530
|
{
|
|
1440
1531
|
name: "agent-host",
|
|
1441
1532
|
summary: "Run the persistent structured Provider host.",
|
|
1442
|
-
usage: "yui internal agent-host <
|
|
1533
|
+
usage: "yui internal agent-host <ticket>"
|
|
1443
1534
|
},
|
|
1444
1535
|
{
|
|
1445
1536
|
name: "session-notify",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { orderRoleOptions } from "./
|
|
1
|
+
import { orderRoleOptions } from "./roleOptionOrder.js";
|
|
2
2
|
export async function getSelectionCandidates(selector, ports, args) {
|
|
3
3
|
switch (selector.provider) {
|
|
4
4
|
case "tasks":
|
|
@@ -70,11 +70,11 @@ export async function getSelectionCandidates(selector, ports, args) {
|
|
|
70
70
|
}
|
|
71
71
|
case "work-items":
|
|
72
72
|
return entities("work item", "Select work item", qualifyTaskRecords(await listAllWorkItems(ports)), ["qualifiedId", "title", "status"]);
|
|
73
|
-
case "
|
|
73
|
+
case "runs": {
|
|
74
74
|
const workItemId = dependencyValue(selector, args);
|
|
75
|
-
const
|
|
76
|
-
return entities("
|
|
77
|
-
|| matchesTaskRecordReference(
|
|
75
|
+
const runs = await listAllByTask(ports, "task.run.list", "runs");
|
|
76
|
+
return entities("run", workItemId === undefined ? "Select AgentRun" : `Select AgentRun: ${workItemId}`, qualifyTaskRecords(runs.filter((run) => workItemId === undefined
|
|
77
|
+
|| matchesTaskRecordReference(run, "workItemId", workItemId))), ["qualifiedId", "roleName", "status", "summary"]);
|
|
78
78
|
}
|
|
79
79
|
case "integration-attempts":
|
|
80
80
|
return entities("Integration Attempt", "Select Integration Attempt", qualifyTaskRecords((await listAllByTask(ports, "task.integration.list", "integrations")).filter((attempt) => selector.statuses === undefined
|
|
@@ -176,11 +176,41 @@ export const INTERACTION_POLICIES = Object.freeze([
|
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
178
|
taskTarget("activate", 2, ["draft"]),
|
|
179
|
+
{
|
|
180
|
+
commandPath: ["task", "activation", "request"],
|
|
181
|
+
selectors: [{
|
|
182
|
+
argumentIndex: 3,
|
|
183
|
+
entity: "task",
|
|
184
|
+
provider: "tasks",
|
|
185
|
+
actionTarget: true,
|
|
186
|
+
statuses: ["draft"]
|
|
187
|
+
}],
|
|
188
|
+
trailingOptions: { "--request-id": "value", "--environment": "value" }
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
commandPath: ["task", "activation", "cancel"],
|
|
192
|
+
selectors: [{
|
|
193
|
+
argumentIndex: 3,
|
|
194
|
+
entity: "task",
|
|
195
|
+
provider: "tasks",
|
|
196
|
+
actionTarget: true,
|
|
197
|
+
statuses: ["draft"]
|
|
198
|
+
}],
|
|
199
|
+
trailingOptions: { "--request-id": "value", "--reason": "value" }
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
commandPath: ["task", "activation", "show"],
|
|
203
|
+
selectors: [{ argumentIndex: 3, entity: "task", provider: "tasks", actionTarget: true }]
|
|
204
|
+
},
|
|
179
205
|
{
|
|
180
206
|
...taskTarget("complete", 2, ["active"]),
|
|
181
207
|
trailingOptions: { "--summary": "value" }
|
|
182
208
|
},
|
|
183
|
-
taskTarget("reopen", 2, ["completed"]),
|
|
209
|
+
taskTarget("reopen", 2, ["completed", "cancelled"]),
|
|
210
|
+
{
|
|
211
|
+
...taskTarget("cancel", 2, ["draft", "active"]),
|
|
212
|
+
trailingOptions: { "--summary": "value", "--summary-file": "value" }
|
|
213
|
+
},
|
|
184
214
|
{
|
|
185
215
|
...taskTarget("retire", 2, ["draft", "active"]),
|
|
186
216
|
trailingOptions: {
|
|
@@ -200,7 +230,7 @@ export const INTERACTION_POLICIES = Object.freeze([
|
|
|
200
230
|
trailingOptions: { "--json": "flag" }
|
|
201
231
|
},
|
|
202
232
|
{
|
|
203
|
-
...taskTarget("archive", 2, ["completed", "
|
|
233
|
+
...taskTarget("archive", 2, ["completed", "cancelled"]),
|
|
204
234
|
trailingOptions: { "--integrated": "flag", "--abandon": "flag", "--force": "flag" },
|
|
205
235
|
confirmation: { action: "Archive task", targetArgumentIndex: 2 }
|
|
206
236
|
},
|
|
@@ -436,7 +466,7 @@ export const INTERACTION_POLICIES = Object.freeze([
|
|
|
436
466
|
}
|
|
437
467
|
}
|
|
438
468
|
: command === "update"
|
|
439
|
-
? { trailingOptions: { "--summary": "value" } }
|
|
469
|
+
? { trailingOptions: { "--summary": "value", "--artifact-ref": "value" } }
|
|
440
470
|
: command === "dispatch"
|
|
441
471
|
? { trailingOptions: { "--input": "value" } }
|
|
442
472
|
: command === "cleanup"
|
|
@@ -471,15 +501,15 @@ export const INTERACTION_POLICIES = Object.freeze([
|
|
|
471
501
|
confirmation: { action: "Retire Work Item", targetArgumentIndex: 3 }
|
|
472
502
|
},
|
|
473
503
|
{
|
|
474
|
-
commandPath: ["task", "
|
|
504
|
+
commandPath: ["task", "run", "list"],
|
|
475
505
|
selectors: [{ argumentIndex: 3, entity: "work-item", provider: "work-items", actionTarget: true }],
|
|
476
506
|
},
|
|
477
507
|
{
|
|
478
|
-
commandPath: ["task", "
|
|
508
|
+
commandPath: ["task", "run", "retry"],
|
|
479
509
|
selectors: [{
|
|
480
510
|
argumentIndex: 3,
|
|
481
|
-
entity: "
|
|
482
|
-
provider: "
|
|
511
|
+
entity: "run",
|
|
512
|
+
provider: "runs",
|
|
483
513
|
actionTarget: true
|
|
484
514
|
}]
|
|
485
515
|
},
|
|
@@ -573,7 +603,7 @@ export const INTERACTION_POLICIES = Object.freeze([
|
|
|
573
603
|
].map(([group, command]) => {
|
|
574
604
|
const trailingOptions = {};
|
|
575
605
|
if (group === "brief" && command === "update") {
|
|
576
|
-
Object.assign(trailingOptions, { "--objective": "value", "--boundary": "value", "--focus": "value", "--leader-summary": "value" });
|
|
606
|
+
Object.assign(trailingOptions, { "--objective": "value", "--boundary": "value", "--approach": "value", "--focus": "value", "--leader-summary": "value" });
|
|
577
607
|
}
|
|
578
608
|
else if (group === "decision" && command === "record") {
|
|
579
609
|
Object.assign(trailingOptions, { "--title": "value", "--rationale": "value" });
|