@overdeck/contracts 0.63.0 → 0.65.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/dist/index.cjs +1687 -461
- package/dist/index.d.ts +494 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1675 -462
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -107,7 +107,8 @@ const IssueState = effect.Schema.Literals([
|
|
|
107
107
|
const IssueAttention = effect.Schema.Literals([
|
|
108
108
|
"needs-you",
|
|
109
109
|
"stuck",
|
|
110
|
-
"api-error"
|
|
110
|
+
"api-error",
|
|
111
|
+
"work-not-started"
|
|
111
112
|
]);
|
|
112
113
|
/** Latest review decision on the PR, as the forge reports it. */
|
|
113
114
|
const PrReviewState = effect.Schema.Literals([
|
|
@@ -140,6 +141,16 @@ const DerivedBranchState = effect.Schema.Struct({
|
|
|
140
141
|
aheadOfMain: effect.Schema.Number,
|
|
141
142
|
pushed: effect.Schema.Boolean
|
|
142
143
|
});
|
|
144
|
+
/** The workspace journal's read on a post-planning auto-start (PAN-4399). */
|
|
145
|
+
const DerivedWorkStart = effect.Schema.Struct({
|
|
146
|
+
status: effect.Schema.Literals(["retrying", "not-started"]),
|
|
147
|
+
/** ISO time of the journal entry the status was read from. */
|
|
148
|
+
at: effect.Schema.String,
|
|
149
|
+
error: effect.Schema.optional(effect.Schema.String),
|
|
150
|
+
nextRetryAt: effect.Schema.optional(effect.Schema.String),
|
|
151
|
+
/** The retry is journaled but not actually running because the Deacon is frozen (PAN-4210). Present only when true. */
|
|
152
|
+
held: effect.Schema.optional(effect.Schema.Literal(true))
|
|
153
|
+
});
|
|
143
154
|
/** Everything the dashboard needs to render an issue's pipeline position. */
|
|
144
155
|
const DerivedIssueState = effect.Schema.Struct({
|
|
145
156
|
issueId: effect.Schema.String,
|
|
@@ -152,7 +163,9 @@ const DerivedIssueState = effect.Schema.Struct({
|
|
|
152
163
|
* precedence — could not be ruled in or out. Present only in that case; an
|
|
153
164
|
* unresolved tracker read is never reported as an open issue.
|
|
154
165
|
*/
|
|
155
|
-
trackerUnknown: effect.Schema.optional(effect.Schema.Literal(true))
|
|
166
|
+
trackerUnknown: effect.Schema.optional(effect.Schema.Literal(true)),
|
|
167
|
+
/** A deferred or gave-up post-planning auto-start read from the workspace journal (PAN-4399). */
|
|
168
|
+
workStart: effect.Schema.optional(DerivedWorkStart)
|
|
156
169
|
});
|
|
157
170
|
const ISSUE_STATES = [
|
|
158
171
|
"backlog",
|
|
@@ -180,7 +193,8 @@ const ISSUE_STATE_PRECEDENCE = [
|
|
|
180
193
|
const ISSUE_ATTENTIONS = [
|
|
181
194
|
"needs-you",
|
|
182
195
|
"stuck",
|
|
183
|
-
"api-error"
|
|
196
|
+
"api-error",
|
|
197
|
+
"work-not-started"
|
|
184
198
|
];
|
|
185
199
|
function isIssueState(value) {
|
|
186
200
|
return typeof value === "string" && ISSUE_STATES.includes(value);
|
|
@@ -483,6 +497,13 @@ const ChannelPermissionRequestSnapshot = effect.Schema.Struct({
|
|
|
483
497
|
inputPreview: effect.Schema.String,
|
|
484
498
|
createdAt: effect.Schema.String
|
|
485
499
|
});
|
|
500
|
+
/** PAN-4371 — advisory Jev reading of why an idle agent ended its turn. kind is a string (append-only store). */
|
|
501
|
+
const TurnEndAssessment = effect.Schema.Struct({
|
|
502
|
+
kind: effect.Schema.String,
|
|
503
|
+
confidence: effect.Schema.Number,
|
|
504
|
+
needsAnswer: effect.Schema.Boolean,
|
|
505
|
+
model: effect.Schema.String
|
|
506
|
+
});
|
|
486
507
|
const AgentSnapshot = effect.Schema.Struct({
|
|
487
508
|
id: AgentId,
|
|
488
509
|
issueId: IssueId,
|
|
@@ -545,6 +566,7 @@ const AgentSnapshot = effect.Schema.Struct({
|
|
|
545
566
|
})),
|
|
546
567
|
resolution: effect.Schema.optional(AgentResolution),
|
|
547
568
|
resolutionCount: effect.Schema.optional(effect.Schema.Number),
|
|
569
|
+
turnEndAssessment: effect.Schema.optional(TurnEndAssessment),
|
|
548
570
|
runtimeSnapshotSequence: effect.Schema.optional(SequenceNumber)
|
|
549
571
|
});
|
|
550
572
|
/** PAN-3151: A recorded cycle in the review convergence tracking series */
|
|
@@ -1802,7 +1824,8 @@ const AgentEnrichmentChangedEvent = effect.Schema.Struct({
|
|
|
1802
1824
|
plan: effect.Schema.String
|
|
1803
1825
|
})),
|
|
1804
1826
|
resolution: effect.Schema.optional(AgentResolution),
|
|
1805
|
-
resolutionCount: effect.Schema.optional(effect.Schema.Number)
|
|
1827
|
+
resolutionCount: effect.Schema.optional(effect.Schema.Number),
|
|
1828
|
+
turnEndAssessment: effect.Schema.optional(TurnEndAssessment)
|
|
1806
1829
|
})
|
|
1807
1830
|
});
|
|
1808
1831
|
/** New — agent created in database */
|
|
@@ -3197,6 +3220,30 @@ const OpenInEditorInput = effect.Schema.Struct({
|
|
|
3197
3220
|
editor: EditorIdSchema
|
|
3198
3221
|
});
|
|
3199
3222
|
//#endregion
|
|
3223
|
+
//#region src/effort.ts
|
|
3224
|
+
/**
|
|
3225
|
+
* Canonical reasoning-effort levels, end to end. `xhigh` was added in Opus 4.7
|
|
3226
|
+
* (between `high` and `max`); `max` predates it (Opus 4.6+/Sonnet 4.6). This is
|
|
3227
|
+
* the single source of truth for the enum — every other copy in the codebase
|
|
3228
|
+
* derives from it.
|
|
3229
|
+
*/
|
|
3230
|
+
const EFFORT_LEVELS = [
|
|
3231
|
+
"low",
|
|
3232
|
+
"medium",
|
|
3233
|
+
"high",
|
|
3234
|
+
"xhigh",
|
|
3235
|
+
"max"
|
|
3236
|
+
];
|
|
3237
|
+
const DEFAULT_EFFORT = "high";
|
|
3238
|
+
const EffortLevelSchema = effect.Schema.Literals(EFFORT_LEVELS);
|
|
3239
|
+
function isEffortLevel(value) {
|
|
3240
|
+
return typeof value === "string" && EFFORT_LEVELS.includes(value);
|
|
3241
|
+
}
|
|
3242
|
+
/** Compares two effort levels by rank; negative when `a` is lower than `b`. */
|
|
3243
|
+
function compareEffort(a, b) {
|
|
3244
|
+
return EFFORT_LEVELS.indexOf(a) - EFFORT_LEVELS.indexOf(b);
|
|
3245
|
+
}
|
|
3246
|
+
//#endregion
|
|
3200
3247
|
//#region src/rpc.ts
|
|
3201
3248
|
const WS_METHODS = {
|
|
3202
3249
|
scanConversations: "pan.scanConversations",
|
|
@@ -3282,6 +3329,8 @@ const ContextUsage = effect.Schema.Struct({
|
|
|
3282
3329
|
maxObservedInputTokens: effect.Schema.optional(effect.Schema.Number),
|
|
3283
3330
|
/** Model the most recent assistant turn ran under (from JSONL). */
|
|
3284
3331
|
lastModel: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.String)),
|
|
3332
|
+
/** PAN-4255: effort observed in the transcript (assistant `effort` or an /effort confirmation). Claude Code only. */
|
|
3333
|
+
lastEffort: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.String)),
|
|
3285
3334
|
/** ISO timestamp of the most recent assistant turn. */
|
|
3286
3335
|
lastTurnAt: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.String))
|
|
3287
3336
|
});
|
|
@@ -3352,7 +3401,14 @@ const ConversationResponse = effect.Schema.Struct({
|
|
|
3352
3401
|
proposedPlan: effect.Schema.optional(ProposedPlan),
|
|
3353
3402
|
compactBoundaries: effect.Schema.optional(effect.Schema.Array(CompactBoundary)),
|
|
3354
3403
|
contextUsage: effect.Schema.optional(effect.Schema.NullOr(ContextUsage)),
|
|
3355
|
-
subagents: effect.Schema.optional(effect.Schema.Array(SubagentSummary))
|
|
3404
|
+
subagents: effect.Schema.optional(effect.Schema.Array(SubagentSummary)),
|
|
3405
|
+
/** PAN-4255: effort read from the agent's transcript (claude-code only). */
|
|
3406
|
+
observedEffort: effect.Schema.optional(effect.Schema.NullOr(EffortLevelSchema)),
|
|
3407
|
+
/** PAN-4255: the effort the agent was launched/pinned with and its EffortSource layer. */
|
|
3408
|
+
effortResolution: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.Struct({
|
|
3409
|
+
effort: EffortLevelSchema,
|
|
3410
|
+
source: effect.Schema.String
|
|
3411
|
+
})))
|
|
3356
3412
|
});
|
|
3357
3413
|
const ConversationEvent = effect.Schema.Union([
|
|
3358
3414
|
effect.Schema.Struct({
|
|
@@ -3793,6 +3849,39 @@ const GetConversationStatsRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.getConve
|
|
|
3793
3849
|
/** All Overdeck WebSocket RPC methods */
|
|
3794
3850
|
const PanRpcGroup = effect_unstable_rpc_RpcGroup.make(SubscribeDomainEventsRpc, SubscribeIssueEventsRpc, SubscribeTerminalRpc, SubscribeAgentOutputRpc, GetSnapshotRpc, ReplayEventsRpc, ReadWorkspaceFileRpc, ReadFileAtPathRpc, WriteFileAtPathRpc, ResolveFilePathExistsRpc, TerminalOpenRpc, TerminalWriteRpc, TerminalResizeRpc, TerminalCloseRpc, StartPlanningRpc, StartAgentRpc, DeepWipeRpc, SendTerminalInputRpc, ResizeTerminalRpc, SubscribeConversationMessagesRpc, SubscribeProjectSessionTreeRpc, ShellOpenInEditorRpc, GetAvailableEditorsRpc, ScanConversationsRpc, SearchConversationsRpc, ListDiscoveredSessionsRpc, ListSessionsFeedRpc, GetSessionsFeedFacetsRpc, GetDiscoveredSessionRpc, EnrichSessionsRpc, EmbedSessionsRpc, GetConversationCostRpc, GetConversationCostByWorkspaceRpc, GetConversationStatsRpc);
|
|
3795
3851
|
//#endregion
|
|
3852
|
+
//#region src/agent-runtime-merge.ts
|
|
3853
|
+
function defaultRuntimeSnapshot(agentId, timestamp, sequence) {
|
|
3854
|
+
return {
|
|
3855
|
+
id: agentId,
|
|
3856
|
+
activity: "idle",
|
|
3857
|
+
lastActivity: timestamp,
|
|
3858
|
+
updatedAtSequence: sequence
|
|
3859
|
+
};
|
|
3860
|
+
}
|
|
3861
|
+
/**
|
|
3862
|
+
* Merge a snapshot's runtime map into the client's, per agent. A freshly booted
|
|
3863
|
+
* server may serve an older or missing entry; a client entry with a strictly
|
|
3864
|
+
* newer `lastActivity` (or an equal stamp with a higher `updatedAtSequence`)
|
|
3865
|
+
* survives, and an agent the snapshot omits keeps its entry.
|
|
3866
|
+
*/
|
|
3867
|
+
function mergeSnapshotRuntimeById(current, incoming) {
|
|
3868
|
+
if (!incoming) return { ...current };
|
|
3869
|
+
const merged = { ...current };
|
|
3870
|
+
for (const [agentId, next] of Object.entries(incoming)) {
|
|
3871
|
+
const held = current[agentId];
|
|
3872
|
+
merged[agentId] = held && heldIsNewer(held, next) ? held : next;
|
|
3873
|
+
}
|
|
3874
|
+
return merged;
|
|
3875
|
+
}
|
|
3876
|
+
/** Newer `lastActivity` wins; equal stamps fall to the higher `updatedAtSequence`. */
|
|
3877
|
+
function heldIsNewer(held, next) {
|
|
3878
|
+
const heldAt = Date.parse(held.lastActivity);
|
|
3879
|
+
const nextAt = Date.parse(next.lastActivity);
|
|
3880
|
+
if (heldAt > nextAt) return true;
|
|
3881
|
+
if (heldAt !== nextAt) return false;
|
|
3882
|
+
return Number.isFinite(held.updatedAtSequence) && Number.isFinite(next.updatedAtSequence) && held.updatedAtSequence > next.updatedAtSequence;
|
|
3883
|
+
}
|
|
3884
|
+
//#endregion
|
|
3796
3885
|
//#region src/issue-delta.ts
|
|
3797
3886
|
function createIssueDelta(previous, next) {
|
|
3798
3887
|
const changes = [];
|
|
@@ -3908,14 +3997,6 @@ function removeAgentFromSessionIndex(agentIdBySessionId, agentId) {
|
|
|
3908
3997
|
for (const [sessionId, id] of Object.entries(agentIdBySessionId ?? {})) if (id !== agentId) next[sessionId] = id;
|
|
3909
3998
|
return next;
|
|
3910
3999
|
}
|
|
3911
|
-
function defaultRuntimeSnapshot(agentId, timestamp, sequence) {
|
|
3912
|
-
return {
|
|
3913
|
-
id: agentId,
|
|
3914
|
-
activity: "idle",
|
|
3915
|
-
lastActivity: timestamp,
|
|
3916
|
-
updatedAtSequence: sequence
|
|
3917
|
-
};
|
|
3918
|
-
}
|
|
3919
4000
|
/**
|
|
3920
4001
|
* Bump runtimeSnapshotSequence on the corresponding AgentSnapshot (if present)
|
|
3921
4002
|
* so low-frequency subscribers can cheaply detect a runtime change. No-op if
|
|
@@ -3948,16 +4029,17 @@ function syncSnapshot(state, snapshot) {
|
|
|
3948
4029
|
channelPermissionRequestIdsByAgentId[request.agentId] = [...existing, request.requestId];
|
|
3949
4030
|
}
|
|
3950
4031
|
const memory = snapshot.memory;
|
|
4032
|
+
const agentRuntimeById = mergeSnapshotRuntimeById(state.agentRuntimeById, snapshot.agentRuntimeById);
|
|
3951
4033
|
const agentIdBySessionId = {};
|
|
3952
4034
|
for (const agent of snapshot.agents) if (agent.sessionId) agentIdBySessionId[agent.sessionId] = agent.id;
|
|
3953
|
-
for (const [agentId, runtime] of Object.entries(
|
|
4035
|
+
for (const [agentId, runtime] of Object.entries(agentRuntimeById)) if (runtime.claudeSessionId) agentIdBySessionId[runtime.claudeSessionId] = agentId;
|
|
3954
4036
|
return {
|
|
3955
4037
|
...state,
|
|
3956
4038
|
sequence: snapshot.sequence,
|
|
3957
4039
|
agentsById,
|
|
3958
4040
|
derivedIssueStateByIssueId,
|
|
3959
4041
|
backendPanesById,
|
|
3960
|
-
agentRuntimeById
|
|
4042
|
+
agentRuntimeById,
|
|
3961
4043
|
channelPermissionRequestsById,
|
|
3962
4044
|
channelPermissionRequestIdsByAgentId,
|
|
3963
4045
|
resolvedChannelPermissionDecisionsById: {},
|
|
@@ -4056,7 +4138,8 @@ function applyEvent(state, event) {
|
|
|
4056
4138
|
pendingAskUserQuestion: event.payload.pendingAskUserQuestion,
|
|
4057
4139
|
pendingProposedPlan: event.payload.pendingProposedPlan,
|
|
4058
4140
|
resolution: event.payload.resolution,
|
|
4059
|
-
resolutionCount: event.payload.resolutionCount
|
|
4141
|
+
resolutionCount: event.payload.resolutionCount,
|
|
4142
|
+
turnEndAssessment: event.payload.turnEndAssessment
|
|
4060
4143
|
}
|
|
4061
4144
|
}
|
|
4062
4145
|
};
|
|
@@ -4194,6 +4277,7 @@ function applyEvent(state, event) {
|
|
|
4194
4277
|
delete base["pendingInputKinds"];
|
|
4195
4278
|
delete base["pendingAskUserQuestion"];
|
|
4196
4279
|
delete base["pendingProposedPlan"];
|
|
4280
|
+
delete base["turnEndAssessment"];
|
|
4197
4281
|
}
|
|
4198
4282
|
return base;
|
|
4199
4283
|
})();
|
|
@@ -5287,30 +5371,6 @@ function deriveProjectCi(record) {
|
|
|
5287
5371
|
};
|
|
5288
5372
|
}
|
|
5289
5373
|
//#endregion
|
|
5290
|
-
//#region src/effort.ts
|
|
5291
|
-
/**
|
|
5292
|
-
* Canonical reasoning-effort levels, end to end. `xhigh` was added in Opus 4.7
|
|
5293
|
-
* (between `high` and `max`); `max` predates it (Opus 4.6+/Sonnet 4.6). This is
|
|
5294
|
-
* the single source of truth for the enum — every other copy in the codebase
|
|
5295
|
-
* derives from it.
|
|
5296
|
-
*/
|
|
5297
|
-
const EFFORT_LEVELS = [
|
|
5298
|
-
"low",
|
|
5299
|
-
"medium",
|
|
5300
|
-
"high",
|
|
5301
|
-
"xhigh",
|
|
5302
|
-
"max"
|
|
5303
|
-
];
|
|
5304
|
-
const DEFAULT_EFFORT = "high";
|
|
5305
|
-
const EffortLevelSchema = effect.Schema.Literals(EFFORT_LEVELS);
|
|
5306
|
-
function isEffortLevel(value) {
|
|
5307
|
-
return typeof value === "string" && EFFORT_LEVELS.includes(value);
|
|
5308
|
-
}
|
|
5309
|
-
/** Compares two effort levels by rank; negative when `a` is lower than `b`. */
|
|
5310
|
-
function compareEffort(a, b) {
|
|
5311
|
-
return EFFORT_LEVELS.indexOf(a) - EFFORT_LEVELS.indexOf(b);
|
|
5312
|
-
}
|
|
5313
|
-
//#endregion
|
|
5314
5374
|
//#region src/flywheel.ts
|
|
5315
5375
|
const FlywheelRunId = effect.Schema.String.check(effect.Schema.isPattern(/^RUN-\d+$/));
|
|
5316
5376
|
const FlywheelHttpUrl = effect.Schema.String.check(effect.Schema.isPattern(/^https?:\/\/\S+$/i));
|
|
@@ -6911,196 +6971,649 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6911
6971
|
"id": "pan-skills-set",
|
|
6912
6972
|
"path": ["skills", "set"],
|
|
6913
6973
|
"display": "/pan skills set",
|
|
6914
|
-
"description": "Set a skill on, off, or inherit
|
|
6974
|
+
"description": "Set a skill (<skill> <state>) or a pack (--pack <id> <state>) on, off, or inherit",
|
|
6915
6975
|
"args": [{
|
|
6916
|
-
"name": "
|
|
6917
|
-
"required": true,
|
|
6918
|
-
"variadic": false
|
|
6919
|
-
}, {
|
|
6920
|
-
"name": "state",
|
|
6921
|
-
"required": true,
|
|
6922
|
-
"variadic": false
|
|
6923
|
-
}],
|
|
6924
|
-
"options": [{
|
|
6925
|
-
"flags": "--project <key>",
|
|
6926
|
-
"description": "Project override",
|
|
6976
|
+
"name": "args",
|
|
6927
6977
|
"required": true,
|
|
6928
|
-
"
|
|
6929
|
-
}, {
|
|
6930
|
-
"flags": "--issue <id>",
|
|
6931
|
-
"description": "Issue override",
|
|
6932
|
-
"required": true,
|
|
6933
|
-
"valueHint": "id"
|
|
6978
|
+
"variadic": true
|
|
6934
6979
|
}],
|
|
6935
|
-
"aliases": [],
|
|
6936
|
-
"category": "Core"
|
|
6937
|
-
},
|
|
6938
|
-
{
|
|
6939
|
-
"id": "pan-issues",
|
|
6940
|
-
"path": ["issues"],
|
|
6941
|
-
"display": "/pan issues",
|
|
6942
|
-
"description": "List and triage work across configured trackers",
|
|
6943
|
-
"args": [],
|
|
6944
6980
|
"options": [
|
|
6945
6981
|
{
|
|
6946
|
-
"flags": "--
|
|
6947
|
-
"description": "
|
|
6948
|
-
"required": false,
|
|
6949
|
-
"valueHint": null
|
|
6950
|
-
},
|
|
6951
|
-
{
|
|
6952
|
-
"flags": "--mine",
|
|
6953
|
-
"description": "Show only my assigned issues",
|
|
6954
|
-
"required": false,
|
|
6955
|
-
"valueHint": null
|
|
6956
|
-
},
|
|
6957
|
-
{
|
|
6958
|
-
"flags": "--json",
|
|
6959
|
-
"description": "Output as JSON",
|
|
6960
|
-
"required": false,
|
|
6961
|
-
"valueHint": null
|
|
6962
|
-
},
|
|
6963
|
-
{
|
|
6964
|
-
"flags": "--tracker <type>",
|
|
6965
|
-
"description": "Query specific tracker (linear/github/gitlab)",
|
|
6982
|
+
"flags": "--project <key>",
|
|
6983
|
+
"description": "Project override",
|
|
6966
6984
|
"required": true,
|
|
6967
|
-
"valueHint": "
|
|
6985
|
+
"valueHint": "key"
|
|
6968
6986
|
},
|
|
6969
6987
|
{
|
|
6970
|
-
"flags": "--
|
|
6971
|
-
"description": "
|
|
6972
|
-
"required":
|
|
6973
|
-
"valueHint":
|
|
6988
|
+
"flags": "--issue <id>",
|
|
6989
|
+
"description": "Issue override",
|
|
6990
|
+
"required": true,
|
|
6991
|
+
"valueHint": "id"
|
|
6974
6992
|
},
|
|
6975
6993
|
{
|
|
6976
|
-
"flags": "--
|
|
6977
|
-
"description": "
|
|
6978
|
-
"required":
|
|
6979
|
-
"valueHint":
|
|
6994
|
+
"flags": "--pack <id>",
|
|
6995
|
+
"description": "Set a whole skill pack instead of one skill",
|
|
6996
|
+
"required": true,
|
|
6997
|
+
"valueHint": "id"
|
|
6980
6998
|
}
|
|
6981
6999
|
],
|
|
6982
7000
|
"aliases": [],
|
|
6983
|
-
"category": "
|
|
7001
|
+
"category": "Core"
|
|
6984
7002
|
},
|
|
6985
7003
|
{
|
|
6986
|
-
"id": "pan-
|
|
6987
|
-
"path": ["
|
|
6988
|
-
"display": "/pan
|
|
6989
|
-
"description": "
|
|
7004
|
+
"id": "pan-skills-pack",
|
|
7005
|
+
"path": ["skills", "pack"],
|
|
7006
|
+
"display": "/pan skills pack",
|
|
7007
|
+
"description": "Register, update, and cache external skill packs pinned to a commit",
|
|
7008
|
+
"args": [],
|
|
7009
|
+
"options": [],
|
|
7010
|
+
"aliases": [],
|
|
7011
|
+
"category": "Core"
|
|
7012
|
+
},
|
|
7013
|
+
{
|
|
7014
|
+
"id": "pan-skills-pack-add",
|
|
7015
|
+
"path": [
|
|
7016
|
+
"skills",
|
|
7017
|
+
"pack",
|
|
7018
|
+
"add"
|
|
7019
|
+
],
|
|
7020
|
+
"display": "/pan skills pack add",
|
|
7021
|
+
"description": "Register a git skill pack at the commit a ref resolves to (enables nothing)",
|
|
6990
7022
|
"args": [{
|
|
6991
7023
|
"name": "id",
|
|
6992
7024
|
"required": true,
|
|
6993
7025
|
"variadic": false
|
|
7026
|
+
}, {
|
|
7027
|
+
"name": "url",
|
|
7028
|
+
"required": true,
|
|
7029
|
+
"variadic": false
|
|
6994
7030
|
}],
|
|
6995
7031
|
"options": [
|
|
6996
7032
|
{
|
|
6997
|
-
"flags": "--
|
|
6998
|
-
"description": "
|
|
6999
|
-
"required":
|
|
7000
|
-
"valueHint":
|
|
7001
|
-
},
|
|
7002
|
-
{
|
|
7003
|
-
"flags": "--context",
|
|
7004
|
-
"description": "Context engineering state only",
|
|
7005
|
-
"required": false,
|
|
7006
|
-
"valueHint": null
|
|
7033
|
+
"flags": "--ref <ref>",
|
|
7034
|
+
"description": "Tag or branch to pin",
|
|
7035
|
+
"required": true,
|
|
7036
|
+
"valueHint": "ref"
|
|
7007
7037
|
},
|
|
7008
7038
|
{
|
|
7009
|
-
"flags": "--
|
|
7010
|
-
"description": "
|
|
7011
|
-
"required":
|
|
7012
|
-
"valueHint":
|
|
7039
|
+
"flags": "--adapter <adapter>",
|
|
7040
|
+
"description": "plain, claude-plugin, or deft-readonly",
|
|
7041
|
+
"required": true,
|
|
7042
|
+
"valueHint": "adapter"
|
|
7013
7043
|
},
|
|
7014
7044
|
{
|
|
7015
|
-
"flags": "--
|
|
7016
|
-
"description": "
|
|
7045
|
+
"flags": "--yes",
|
|
7046
|
+
"description": "Trust the resolved commit without asking",
|
|
7017
7047
|
"required": false,
|
|
7018
7048
|
"valueHint": null
|
|
7019
7049
|
}
|
|
7020
7050
|
],
|
|
7021
7051
|
"aliases": [],
|
|
7022
|
-
"category": "
|
|
7052
|
+
"category": "Core"
|
|
7023
7053
|
},
|
|
7024
7054
|
{
|
|
7025
|
-
"id": "pan-
|
|
7026
|
-
"path": [
|
|
7027
|
-
|
|
7028
|
-
|
|
7055
|
+
"id": "pan-skills-pack-update",
|
|
7056
|
+
"path": [
|
|
7057
|
+
"skills",
|
|
7058
|
+
"pack",
|
|
7059
|
+
"update"
|
|
7060
|
+
],
|
|
7061
|
+
"display": "/pan skills pack update",
|
|
7062
|
+
"description": "Move a pack to the commit its ref (or --ref) now resolves to",
|
|
7029
7063
|
"args": [{
|
|
7030
7064
|
"name": "id",
|
|
7031
7065
|
"required": true,
|
|
7032
7066
|
"variadic": false
|
|
7033
7067
|
}],
|
|
7034
7068
|
"options": [{
|
|
7035
|
-
"flags": "
|
|
7036
|
-
"description": "
|
|
7069
|
+
"flags": "--ref <ref>",
|
|
7070
|
+
"description": "Switch to a different tag or branch",
|
|
7037
7071
|
"required": true,
|
|
7038
|
-
"valueHint": "
|
|
7072
|
+
"valueHint": "ref"
|
|
7073
|
+
}, {
|
|
7074
|
+
"flags": "--yes",
|
|
7075
|
+
"description": "Trust the new commit without asking",
|
|
7076
|
+
"required": false,
|
|
7077
|
+
"valueHint": null
|
|
7039
7078
|
}],
|
|
7040
7079
|
"aliases": [],
|
|
7041
|
-
"category": "
|
|
7080
|
+
"category": "Core"
|
|
7042
7081
|
},
|
|
7043
7082
|
{
|
|
7044
|
-
"id": "pan-
|
|
7045
|
-
"path": [
|
|
7046
|
-
|
|
7047
|
-
|
|
7083
|
+
"id": "pan-skills-pack-list",
|
|
7084
|
+
"path": [
|
|
7085
|
+
"skills",
|
|
7086
|
+
"pack",
|
|
7087
|
+
"list"
|
|
7088
|
+
],
|
|
7089
|
+
"display": "/pan skills pack list",
|
|
7090
|
+
"description": "List registered skill packs",
|
|
7048
7091
|
"args": [],
|
|
7049
|
-
"options": [
|
|
7092
|
+
"options": [{
|
|
7093
|
+
"flags": "--json",
|
|
7094
|
+
"description": "Output as JSON",
|
|
7095
|
+
"required": false,
|
|
7096
|
+
"valueHint": null
|
|
7097
|
+
}, {
|
|
7098
|
+
"flags": "--offline",
|
|
7099
|
+
"description": "Skip the update check (no network)",
|
|
7100
|
+
"required": false,
|
|
7101
|
+
"valueHint": null
|
|
7102
|
+
}],
|
|
7050
7103
|
"aliases": [],
|
|
7051
|
-
"category": "
|
|
7104
|
+
"category": "Core"
|
|
7052
7105
|
},
|
|
7053
7106
|
{
|
|
7054
|
-
"id": "pan-
|
|
7055
|
-
"path": [
|
|
7056
|
-
|
|
7057
|
-
|
|
7107
|
+
"id": "pan-skills-pack-remove",
|
|
7108
|
+
"path": [
|
|
7109
|
+
"skills",
|
|
7110
|
+
"pack",
|
|
7111
|
+
"remove"
|
|
7112
|
+
],
|
|
7113
|
+
"display": "/pan skills pack remove",
|
|
7114
|
+
"description": "Unregister a pack, clear its global toggles, and delete its cache",
|
|
7058
7115
|
"args": [{
|
|
7059
7116
|
"name": "id",
|
|
7060
7117
|
"required": true,
|
|
7061
7118
|
"variadic": false
|
|
7062
7119
|
}],
|
|
7063
|
-
"options": [
|
|
7064
|
-
"flags": "-m, --message <text>",
|
|
7065
|
-
"description": "Message describing the fixes applied",
|
|
7066
|
-
"required": true,
|
|
7067
|
-
"valueHint": "text"
|
|
7068
|
-
}],
|
|
7120
|
+
"options": [],
|
|
7069
7121
|
"aliases": [],
|
|
7070
|
-
"category": "
|
|
7122
|
+
"category": "Core"
|
|
7071
7123
|
},
|
|
7072
7124
|
{
|
|
7073
|
-
"id": "pan-
|
|
7074
|
-
"path": [
|
|
7075
|
-
|
|
7076
|
-
|
|
7125
|
+
"id": "pan-skills-pack-sync",
|
|
7126
|
+
"path": [
|
|
7127
|
+
"skills",
|
|
7128
|
+
"pack",
|
|
7129
|
+
"sync"
|
|
7130
|
+
],
|
|
7131
|
+
"display": "/pan skills pack sync",
|
|
7132
|
+
"description": "Re-fetch packs and extract their trusted commits (all packs when omitted)",
|
|
7077
7133
|
"args": [{
|
|
7078
7134
|
"name": "id",
|
|
7079
|
-
"required":
|
|
7135
|
+
"required": false,
|
|
7080
7136
|
"variadic": false
|
|
7081
7137
|
}],
|
|
7082
7138
|
"options": [],
|
|
7083
7139
|
"aliases": [],
|
|
7084
|
-
"category": "
|
|
7140
|
+
"category": "Core"
|
|
7085
7141
|
},
|
|
7086
7142
|
{
|
|
7087
|
-
"id": "pan-
|
|
7088
|
-
"path": [
|
|
7089
|
-
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
|
|
7143
|
+
"id": "pan-skills-pack-gc",
|
|
7144
|
+
"path": [
|
|
7145
|
+
"skills",
|
|
7146
|
+
"pack",
|
|
7147
|
+
"gc"
|
|
7148
|
+
],
|
|
7149
|
+
"display": "/pan skills pack gc",
|
|
7150
|
+
"description": "Remove unused skill pack mounts and dangling launch links",
|
|
7151
|
+
"args": [],
|
|
7096
7152
|
"options": [{
|
|
7097
|
-
"flags": "--
|
|
7098
|
-
"description": "
|
|
7153
|
+
"flags": "--max-age-days <n>",
|
|
7154
|
+
"description": "Keep unused mounts younger than this",
|
|
7099
7155
|
"required": true,
|
|
7100
|
-
"valueHint": "
|
|
7101
|
-
},
|
|
7102
|
-
|
|
7103
|
-
|
|
7156
|
+
"valueHint": "n"
|
|
7157
|
+
}],
|
|
7158
|
+
"aliases": [],
|
|
7159
|
+
"category": "Core"
|
|
7160
|
+
},
|
|
7161
|
+
{
|
|
7162
|
+
"id": "pan-skills-pack-sageox",
|
|
7163
|
+
"path": [
|
|
7164
|
+
"skills",
|
|
7165
|
+
"pack",
|
|
7166
|
+
"sageox"
|
|
7167
|
+
],
|
|
7168
|
+
"display": "/pan skills pack sageox",
|
|
7169
|
+
"description": "SageOx pack state and per-project upload opt-in (PAN-2444)",
|
|
7170
|
+
"args": [],
|
|
7171
|
+
"options": [],
|
|
7172
|
+
"aliases": [],
|
|
7173
|
+
"category": "Core"
|
|
7174
|
+
},
|
|
7175
|
+
{
|
|
7176
|
+
"id": "pan-skills-pack-sageox-status",
|
|
7177
|
+
"path": [
|
|
7178
|
+
"skills",
|
|
7179
|
+
"pack",
|
|
7180
|
+
"sageox",
|
|
7181
|
+
"status"
|
|
7182
|
+
],
|
|
7183
|
+
"display": "/pan skills pack sageox status",
|
|
7184
|
+
"description": "Show, per project, the sageox pack state and the upload state",
|
|
7185
|
+
"args": [],
|
|
7186
|
+
"options": [{
|
|
7187
|
+
"flags": "--project <key>",
|
|
7188
|
+
"description": "Only this project",
|
|
7189
|
+
"required": true,
|
|
7190
|
+
"valueHint": "key"
|
|
7191
|
+
}, {
|
|
7192
|
+
"flags": "--json",
|
|
7193
|
+
"description": "Output as JSON",
|
|
7194
|
+
"required": false,
|
|
7195
|
+
"valueHint": null
|
|
7196
|
+
}],
|
|
7197
|
+
"aliases": [],
|
|
7198
|
+
"category": "Core"
|
|
7199
|
+
},
|
|
7200
|
+
{
|
|
7201
|
+
"id": "pan-skills-pack-sageox-upload",
|
|
7202
|
+
"path": [
|
|
7203
|
+
"skills",
|
|
7204
|
+
"pack",
|
|
7205
|
+
"sageox",
|
|
7206
|
+
"upload"
|
|
7207
|
+
],
|
|
7208
|
+
"display": "/pan skills pack sageox upload",
|
|
7209
|
+
"description": "Turn SageOx uploads on or off for a project (off by default)",
|
|
7210
|
+
"args": [{
|
|
7211
|
+
"name": "state",
|
|
7212
|
+
"required": true,
|
|
7213
|
+
"variadic": false
|
|
7214
|
+
}],
|
|
7215
|
+
"options": [{
|
|
7216
|
+
"flags": "--project <key>",
|
|
7217
|
+
"description": "Project key",
|
|
7218
|
+
"required": true,
|
|
7219
|
+
"valueHint": "key"
|
|
7220
|
+
}],
|
|
7221
|
+
"aliases": [],
|
|
7222
|
+
"category": "Core"
|
|
7223
|
+
},
|
|
7224
|
+
{
|
|
7225
|
+
"id": "pan-skills-deft",
|
|
7226
|
+
"path": ["skills", "deft"],
|
|
7227
|
+
"display": "/pan skills deft",
|
|
7228
|
+
"description": "Deft Directive detection, ownership report, and managed mode",
|
|
7229
|
+
"args": [],
|
|
7230
|
+
"options": [],
|
|
7231
|
+
"aliases": [],
|
|
7232
|
+
"category": "Core"
|
|
7233
|
+
},
|
|
7234
|
+
{
|
|
7235
|
+
"id": "pan-skills-deft-status",
|
|
7236
|
+
"path": [
|
|
7237
|
+
"skills",
|
|
7238
|
+
"deft",
|
|
7239
|
+
"status"
|
|
7240
|
+
],
|
|
7241
|
+
"display": "/pan skills deft status",
|
|
7242
|
+
"description": "Show Directive detection, the deft pack, the skill map, managed mode, and the ownership report",
|
|
7243
|
+
"args": [],
|
|
7244
|
+
"options": [{
|
|
7245
|
+
"flags": "--project <key>",
|
|
7246
|
+
"description": "Registered project (default: the current repo)",
|
|
7247
|
+
"required": true,
|
|
7248
|
+
"valueHint": "key"
|
|
7249
|
+
}, {
|
|
7250
|
+
"flags": "--json",
|
|
7251
|
+
"description": "Output as JSON",
|
|
7252
|
+
"required": false,
|
|
7253
|
+
"valueHint": null
|
|
7254
|
+
}],
|
|
7255
|
+
"aliases": [],
|
|
7256
|
+
"category": "Core"
|
|
7257
|
+
},
|
|
7258
|
+
{
|
|
7259
|
+
"id": "pan-skills-deft-enable",
|
|
7260
|
+
"path": [
|
|
7261
|
+
"skills",
|
|
7262
|
+
"deft",
|
|
7263
|
+
"enable"
|
|
7264
|
+
],
|
|
7265
|
+
"display": "/pan skills deft enable",
|
|
7266
|
+
"description": "Enable Deft managed mode for a Directive project after showing the ownership plan",
|
|
7267
|
+
"args": [],
|
|
7268
|
+
"options": [{
|
|
7269
|
+
"flags": "--project <key>",
|
|
7270
|
+
"description": "Registered project",
|
|
7271
|
+
"required": true,
|
|
7272
|
+
"valueHint": "key"
|
|
7273
|
+
}, {
|
|
7274
|
+
"flags": "--yes",
|
|
7275
|
+
"description": "Accept the printed plan without asking",
|
|
7276
|
+
"required": false,
|
|
7277
|
+
"valueHint": null
|
|
7278
|
+
}],
|
|
7279
|
+
"aliases": [],
|
|
7280
|
+
"category": "Core"
|
|
7281
|
+
},
|
|
7282
|
+
{
|
|
7283
|
+
"id": "pan-skills-deft-disable",
|
|
7284
|
+
"path": [
|
|
7285
|
+
"skills",
|
|
7286
|
+
"deft",
|
|
7287
|
+
"disable"
|
|
7288
|
+
],
|
|
7289
|
+
"display": "/pan skills deft disable",
|
|
7290
|
+
"description": "Disable Deft managed mode; project files are untouched",
|
|
7291
|
+
"args": [],
|
|
7292
|
+
"options": [{
|
|
7293
|
+
"flags": "--project <key>",
|
|
7294
|
+
"description": "Registered project",
|
|
7295
|
+
"required": true,
|
|
7296
|
+
"valueHint": "key"
|
|
7297
|
+
}],
|
|
7298
|
+
"aliases": [],
|
|
7299
|
+
"category": "Core"
|
|
7300
|
+
},
|
|
7301
|
+
{
|
|
7302
|
+
"id": "pan-pair",
|
|
7303
|
+
"path": ["pair"],
|
|
7304
|
+
"display": "/pan pair",
|
|
7305
|
+
"description": "Print a one-time URL that pairs another device with this dashboard (see configuration/remote-access.mdx)",
|
|
7306
|
+
"args": [],
|
|
7307
|
+
"options": [
|
|
7308
|
+
{
|
|
7309
|
+
"flags": "--label <name>",
|
|
7310
|
+
"description": "Name to record for the pairing in the activity log",
|
|
7311
|
+
"required": true,
|
|
7312
|
+
"valueHint": "name"
|
|
7313
|
+
},
|
|
7314
|
+
{
|
|
7315
|
+
"flags": "--url <base>",
|
|
7316
|
+
"description": "Base URL the other device can reach (default: this dashboard's API URL)",
|
|
7317
|
+
"required": true,
|
|
7318
|
+
"valueHint": "base"
|
|
7319
|
+
},
|
|
7320
|
+
{
|
|
7321
|
+
"flags": "--json",
|
|
7322
|
+
"description": "Print { url, credential, expiresAt } as JSON",
|
|
7323
|
+
"required": false,
|
|
7324
|
+
"valueHint": null
|
|
7325
|
+
}
|
|
7326
|
+
],
|
|
7327
|
+
"aliases": [],
|
|
7328
|
+
"category": "CLI"
|
|
7329
|
+
},
|
|
7330
|
+
{
|
|
7331
|
+
"id": "pan-devices",
|
|
7332
|
+
"path": ["devices"],
|
|
7333
|
+
"display": "/pan devices",
|
|
7334
|
+
"description": "List or revoke paired devices (see configuration/remote-access.mdx)",
|
|
7335
|
+
"args": [],
|
|
7336
|
+
"options": [],
|
|
7337
|
+
"aliases": [],
|
|
7338
|
+
"category": "CLI"
|
|
7339
|
+
},
|
|
7340
|
+
{
|
|
7341
|
+
"id": "pan-devices-list",
|
|
7342
|
+
"path": ["devices", "list"],
|
|
7343
|
+
"display": "/pan devices list",
|
|
7344
|
+
"description": "List paired devices with created, last-used and revoked times",
|
|
7345
|
+
"args": [],
|
|
7346
|
+
"options": [{
|
|
7347
|
+
"flags": "--json",
|
|
7348
|
+
"description": "Print the devices as JSON",
|
|
7349
|
+
"required": false,
|
|
7350
|
+
"valueHint": null
|
|
7351
|
+
}],
|
|
7352
|
+
"aliases": [],
|
|
7353
|
+
"category": "CLI"
|
|
7354
|
+
},
|
|
7355
|
+
{
|
|
7356
|
+
"id": "pan-devices-revoke",
|
|
7357
|
+
"path": ["devices", "revoke"],
|
|
7358
|
+
"display": "/pan devices revoke",
|
|
7359
|
+
"description": "Revoke a paired device and close its live connections",
|
|
7360
|
+
"args": [{
|
|
7361
|
+
"name": "id",
|
|
7362
|
+
"required": true,
|
|
7363
|
+
"variadic": false
|
|
7364
|
+
}],
|
|
7365
|
+
"options": [],
|
|
7366
|
+
"aliases": [],
|
|
7367
|
+
"category": "CLI"
|
|
7368
|
+
},
|
|
7369
|
+
{
|
|
7370
|
+
"id": "pan-token",
|
|
7371
|
+
"path": ["token"],
|
|
7372
|
+
"display": "/pan token",
|
|
7373
|
+
"description": "Create, list or revoke scoped access tokens (see configuration/remote-access.mdx)",
|
|
7374
|
+
"args": [],
|
|
7375
|
+
"options": [],
|
|
7376
|
+
"aliases": [],
|
|
7377
|
+
"category": "CLI"
|
|
7378
|
+
},
|
|
7379
|
+
{
|
|
7380
|
+
"id": "pan-token-create",
|
|
7381
|
+
"path": ["token", "create"],
|
|
7382
|
+
"display": "/pan token create",
|
|
7383
|
+
"description": "Create a scoped access token and print it once",
|
|
7384
|
+
"args": [{
|
|
7385
|
+
"name": "name",
|
|
7386
|
+
"required": true,
|
|
7387
|
+
"variadic": false
|
|
7388
|
+
}],
|
|
7389
|
+
"options": [{
|
|
7390
|
+
"flags": "--scopes <list>",
|
|
7391
|
+
"description": "Comma-separated scopes: read:events, read:state, read:conversations, tell, operate, admin",
|
|
7392
|
+
"required": true,
|
|
7393
|
+
"valueHint": "list"
|
|
7394
|
+
}, {
|
|
7395
|
+
"flags": "--json",
|
|
7396
|
+
"description": "Print { id, name, scopes, token } as JSON",
|
|
7397
|
+
"required": false,
|
|
7398
|
+
"valueHint": null
|
|
7399
|
+
}],
|
|
7400
|
+
"aliases": [],
|
|
7401
|
+
"category": "CLI"
|
|
7402
|
+
},
|
|
7403
|
+
{
|
|
7404
|
+
"id": "pan-token-list",
|
|
7405
|
+
"path": ["token", "list"],
|
|
7406
|
+
"display": "/pan token list",
|
|
7407
|
+
"description": "List access tokens with scopes and created, last-used and revoked times",
|
|
7408
|
+
"args": [],
|
|
7409
|
+
"options": [{
|
|
7410
|
+
"flags": "--json",
|
|
7411
|
+
"description": "Print the tokens as JSON",
|
|
7412
|
+
"required": false,
|
|
7413
|
+
"valueHint": null
|
|
7414
|
+
}],
|
|
7415
|
+
"aliases": [],
|
|
7416
|
+
"category": "CLI"
|
|
7417
|
+
},
|
|
7418
|
+
{
|
|
7419
|
+
"id": "pan-token-revoke",
|
|
7420
|
+
"path": ["token", "revoke"],
|
|
7421
|
+
"display": "/pan token revoke",
|
|
7422
|
+
"description": "Revoke an access token and close its live connections",
|
|
7423
|
+
"args": [{
|
|
7424
|
+
"name": "id",
|
|
7425
|
+
"required": true,
|
|
7426
|
+
"variadic": false
|
|
7427
|
+
}],
|
|
7428
|
+
"options": [],
|
|
7429
|
+
"aliases": [],
|
|
7430
|
+
"category": "CLI"
|
|
7431
|
+
},
|
|
7432
|
+
{
|
|
7433
|
+
"id": "pan-issues",
|
|
7434
|
+
"path": ["issues"],
|
|
7435
|
+
"display": "/pan issues",
|
|
7436
|
+
"description": "List and triage work across configured trackers",
|
|
7437
|
+
"args": [],
|
|
7438
|
+
"options": [
|
|
7439
|
+
{
|
|
7440
|
+
"flags": "--all",
|
|
7441
|
+
"description": "Include closed issues",
|
|
7442
|
+
"required": false,
|
|
7443
|
+
"valueHint": null
|
|
7444
|
+
},
|
|
7445
|
+
{
|
|
7446
|
+
"flags": "--mine",
|
|
7447
|
+
"description": "Show only my assigned issues",
|
|
7448
|
+
"required": false,
|
|
7449
|
+
"valueHint": null
|
|
7450
|
+
},
|
|
7451
|
+
{
|
|
7452
|
+
"flags": "--json",
|
|
7453
|
+
"description": "Output as JSON",
|
|
7454
|
+
"required": false,
|
|
7455
|
+
"valueHint": null
|
|
7456
|
+
},
|
|
7457
|
+
{
|
|
7458
|
+
"flags": "--tracker <type>",
|
|
7459
|
+
"description": "Query specific tracker (linear/github/gitlab)",
|
|
7460
|
+
"required": true,
|
|
7461
|
+
"valueHint": "type"
|
|
7462
|
+
},
|
|
7463
|
+
{
|
|
7464
|
+
"flags": "--all-trackers",
|
|
7465
|
+
"description": "Query all configured trackers",
|
|
7466
|
+
"required": false,
|
|
7467
|
+
"valueHint": null
|
|
7468
|
+
},
|
|
7469
|
+
{
|
|
7470
|
+
"flags": "--triage",
|
|
7471
|
+
"description": "Show triage queue",
|
|
7472
|
+
"required": false,
|
|
7473
|
+
"valueHint": null
|
|
7474
|
+
}
|
|
7475
|
+
],
|
|
7476
|
+
"aliases": [],
|
|
7477
|
+
"category": "Lifecycle"
|
|
7478
|
+
},
|
|
7479
|
+
{
|
|
7480
|
+
"id": "pan-show",
|
|
7481
|
+
"path": ["show"],
|
|
7482
|
+
"display": "/pan show",
|
|
7483
|
+
"description": "Unified lens: derived issue state, CV, context, health for one issue",
|
|
7484
|
+
"args": [{
|
|
7485
|
+
"name": "id",
|
|
7486
|
+
"required": true,
|
|
7487
|
+
"variadic": false
|
|
7488
|
+
}],
|
|
7489
|
+
"options": [
|
|
7490
|
+
{
|
|
7491
|
+
"flags": "--cv",
|
|
7492
|
+
"description": "Agent work history only",
|
|
7493
|
+
"required": false,
|
|
7494
|
+
"valueHint": null
|
|
7495
|
+
},
|
|
7496
|
+
{
|
|
7497
|
+
"flags": "--context",
|
|
7498
|
+
"description": "Context engineering state only",
|
|
7499
|
+
"required": false,
|
|
7500
|
+
"valueHint": null
|
|
7501
|
+
},
|
|
7502
|
+
{
|
|
7503
|
+
"flags": "--health",
|
|
7504
|
+
"description": "Health + heartbeat only",
|
|
7505
|
+
"required": false,
|
|
7506
|
+
"valueHint": null
|
|
7507
|
+
},
|
|
7508
|
+
{
|
|
7509
|
+
"flags": "--json",
|
|
7510
|
+
"description": "Output as JSON",
|
|
7511
|
+
"required": false,
|
|
7512
|
+
"valueHint": null
|
|
7513
|
+
}
|
|
7514
|
+
],
|
|
7515
|
+
"aliases": [],
|
|
7516
|
+
"category": "Observation"
|
|
7517
|
+
},
|
|
7518
|
+
{
|
|
7519
|
+
"id": "pan-open",
|
|
7520
|
+
"path": ["open"],
|
|
7521
|
+
"display": "/pan open",
|
|
7522
|
+
"description": "Open an issue workspace in your preferred editor",
|
|
7523
|
+
"args": [{
|
|
7524
|
+
"name": "id",
|
|
7525
|
+
"required": true,
|
|
7526
|
+
"variadic": false
|
|
7527
|
+
}],
|
|
7528
|
+
"options": [{
|
|
7529
|
+
"flags": "-e, --editor <editor>",
|
|
7530
|
+
"description": "Editor to use (cursor, windsurf, vscode, zed, etc.)",
|
|
7531
|
+
"required": true,
|
|
7532
|
+
"valueHint": "editor"
|
|
7533
|
+
}],
|
|
7534
|
+
"aliases": [],
|
|
7535
|
+
"category": "Observation"
|
|
7536
|
+
},
|
|
7537
|
+
{
|
|
7538
|
+
"id": "pan-review",
|
|
7539
|
+
"path": ["review"],
|
|
7540
|
+
"display": "/pan review",
|
|
7541
|
+
"description": "Review-loop management: request re-review, abort reviewers, restart a round",
|
|
7542
|
+
"args": [],
|
|
7543
|
+
"options": [],
|
|
7544
|
+
"aliases": [],
|
|
7545
|
+
"category": "Review"
|
|
7546
|
+
},
|
|
7547
|
+
{
|
|
7548
|
+
"id": "pan-review-request",
|
|
7549
|
+
"path": ["review", "request"],
|
|
7550
|
+
"display": "/pan review request",
|
|
7551
|
+
"description": "Request re-review after fixing feedback",
|
|
7552
|
+
"args": [{
|
|
7553
|
+
"name": "id",
|
|
7554
|
+
"required": true,
|
|
7555
|
+
"variadic": false
|
|
7556
|
+
}],
|
|
7557
|
+
"options": [{
|
|
7558
|
+
"flags": "-m, --message <text>",
|
|
7559
|
+
"description": "Message describing the fixes applied",
|
|
7560
|
+
"required": true,
|
|
7561
|
+
"valueHint": "text"
|
|
7562
|
+
}],
|
|
7563
|
+
"aliases": [],
|
|
7564
|
+
"category": "Review"
|
|
7565
|
+
},
|
|
7566
|
+
{
|
|
7567
|
+
"id": "pan-review-waive-test-removal",
|
|
7568
|
+
"path": ["review", "waive-test-removal"],
|
|
7569
|
+
"display": "/pan review waive-test-removal",
|
|
7570
|
+
"description": "Operator-only: let a net test removal past the test-skip gate at the current head",
|
|
7571
|
+
"args": [{
|
|
7572
|
+
"name": "id",
|
|
7573
|
+
"required": true,
|
|
7574
|
+
"variadic": false
|
|
7575
|
+
}],
|
|
7576
|
+
"options": [{
|
|
7577
|
+
"flags": "--reason <text>",
|
|
7578
|
+
"description": "Why the removed tests are gone and nothing replaces them",
|
|
7579
|
+
"required": true,
|
|
7580
|
+
"valueHint": "text"
|
|
7581
|
+
}],
|
|
7582
|
+
"aliases": [],
|
|
7583
|
+
"category": "Review"
|
|
7584
|
+
},
|
|
7585
|
+
{
|
|
7586
|
+
"id": "pan-review-abort",
|
|
7587
|
+
"path": ["review", "abort"],
|
|
7588
|
+
"display": "/pan review abort",
|
|
7589
|
+
"description": "Kill all running reviewer sessions and leave the worker idle",
|
|
7590
|
+
"args": [{
|
|
7591
|
+
"name": "id",
|
|
7592
|
+
"required": true,
|
|
7593
|
+
"variadic": false
|
|
7594
|
+
}],
|
|
7595
|
+
"options": [],
|
|
7596
|
+
"aliases": [],
|
|
7597
|
+
"category": "Review"
|
|
7598
|
+
},
|
|
7599
|
+
{
|
|
7600
|
+
"id": "pan-review-restart",
|
|
7601
|
+
"path": ["review", "restart"],
|
|
7602
|
+
"display": "/pan review restart",
|
|
7603
|
+
"description": "Resume review and re-dispatch reviewers missing a report",
|
|
7604
|
+
"args": [{
|
|
7605
|
+
"name": "id",
|
|
7606
|
+
"required": true,
|
|
7607
|
+
"variadic": false
|
|
7608
|
+
}],
|
|
7609
|
+
"options": [{
|
|
7610
|
+
"flags": "--model <model>",
|
|
7611
|
+
"description": "Override model for all reviewers (e.g. gpt-5.4, claude-sonnet-5)",
|
|
7612
|
+
"required": true,
|
|
7613
|
+
"valueHint": "model"
|
|
7614
|
+
}, {
|
|
7615
|
+
"flags": "--role <role>",
|
|
7616
|
+
"description": "Restart only a specific reviewer role (correctness/security/performance/requirements)",
|
|
7104
7617
|
"required": true,
|
|
7105
7618
|
"valueHint": "role"
|
|
7106
7619
|
}],
|
|
@@ -7193,7 +7706,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7193
7706
|
},
|
|
7194
7707
|
{
|
|
7195
7708
|
"flags": "--effort <level>",
|
|
7196
|
-
"description": "Planning effort: low | medium | high",
|
|
7709
|
+
"description": "Planning effort: low | medium | high | xhigh | max",
|
|
7197
7710
|
"required": true,
|
|
7198
7711
|
"valueHint": "level"
|
|
7199
7712
|
},
|
|
@@ -7249,6 +7762,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7249
7762
|
"description": "Bypass the PRD-first gate for a genuinely trivial issue (loud; prefer writing the PRD)",
|
|
7250
7763
|
"required": false,
|
|
7251
7764
|
"valueHint": null
|
|
7765
|
+
},
|
|
7766
|
+
{
|
|
7767
|
+
"flags": "--critic",
|
|
7768
|
+
"description": "Require an independent different-family plan critique before promotion (automatic for architecture, substrate-improvement and security labels)",
|
|
7769
|
+
"required": false,
|
|
7770
|
+
"valueHint": null
|
|
7252
7771
|
}
|
|
7253
7772
|
],
|
|
7254
7773
|
"aliases": [],
|
|
@@ -7301,6 +7820,43 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7301
7820
|
"aliases": [],
|
|
7302
7821
|
"category": "Lifecycle"
|
|
7303
7822
|
},
|
|
7823
|
+
{
|
|
7824
|
+
"id": "pan-ask",
|
|
7825
|
+
"path": ["ask"],
|
|
7826
|
+
"display": "/pan ask",
|
|
7827
|
+
"description": "Ask the operator a blocking decision; it appears in the dashboard Needs-you",
|
|
7828
|
+
"args": [{
|
|
7829
|
+
"name": "id",
|
|
7830
|
+
"required": true,
|
|
7831
|
+
"variadic": false
|
|
7832
|
+
}, {
|
|
7833
|
+
"name": "question",
|
|
7834
|
+
"required": false,
|
|
7835
|
+
"variadic": false
|
|
7836
|
+
}],
|
|
7837
|
+
"options": [
|
|
7838
|
+
{
|
|
7839
|
+
"flags": "--option <label>",
|
|
7840
|
+
"description": "A choice the operator can pick (repeat 2-4 times)",
|
|
7841
|
+
"required": true,
|
|
7842
|
+
"valueHint": "label"
|
|
7843
|
+
},
|
|
7844
|
+
{
|
|
7845
|
+
"flags": "--context <text>",
|
|
7846
|
+
"description": "What you already tried or know, shown with the question",
|
|
7847
|
+
"required": true,
|
|
7848
|
+
"valueHint": "text"
|
|
7849
|
+
},
|
|
7850
|
+
{
|
|
7851
|
+
"flags": "--withdraw",
|
|
7852
|
+
"description": "Close your open decision request (answered another way, or no longer needed)",
|
|
7853
|
+
"required": false,
|
|
7854
|
+
"valueHint": null
|
|
7855
|
+
}
|
|
7856
|
+
],
|
|
7857
|
+
"aliases": [],
|
|
7858
|
+
"category": "CLI"
|
|
7859
|
+
},
|
|
7304
7860
|
{
|
|
7305
7861
|
"id": "pan-answer",
|
|
7306
7862
|
"path": ["answer"],
|
|
@@ -7449,12 +8005,24 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7449
8005
|
"required": true,
|
|
7450
8006
|
"valueHint": "model"
|
|
7451
8007
|
},
|
|
8008
|
+
{
|
|
8009
|
+
"flags": "--effort <level>",
|
|
8010
|
+
"description": "Reasoning effort for the new conversation: low, medium, high, xhigh or max; defaults to the source conversation's effort",
|
|
8011
|
+
"required": true,
|
|
8012
|
+
"valueHint": "level"
|
|
8013
|
+
},
|
|
7452
8014
|
{
|
|
7453
8015
|
"flags": "--cwd <path>",
|
|
7454
8016
|
"description": "Working directory for the summary-forked session",
|
|
7455
8017
|
"required": true,
|
|
7456
8018
|
"valueHint": "path"
|
|
7457
8019
|
},
|
|
8020
|
+
{
|
|
8021
|
+
"flags": "--allow-primary",
|
|
8022
|
+
"description": "Operator only: allow --cwd to be a project's primary checkout (refused for agent sessions)",
|
|
8023
|
+
"required": false,
|
|
8024
|
+
"valueHint": null
|
|
8025
|
+
},
|
|
7458
8026
|
{
|
|
7459
8027
|
"flags": "--project <key>",
|
|
7460
8028
|
"description": "Project (yaml key or display name) for the new conversation; defaults to inheriting the source conversation's project",
|
|
@@ -7492,6 +8060,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7492
8060
|
"required": true,
|
|
7493
8061
|
"valueHint": "model"
|
|
7494
8062
|
},
|
|
8063
|
+
{
|
|
8064
|
+
"flags": "--effort <level>",
|
|
8065
|
+
"description": "Reasoning effort for the new conversation: low, medium, high, xhigh or max; defaults to the source conversation's effort",
|
|
8066
|
+
"required": true,
|
|
8067
|
+
"valueHint": "level"
|
|
8068
|
+
},
|
|
7495
8069
|
{
|
|
7496
8070
|
"flags": "--harness <harness>",
|
|
7497
8071
|
"description": "Ignored: harness is provider-default-only (PAN-1984)",
|
|
@@ -7504,6 +8078,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7504
8078
|
"required": true,
|
|
7505
8079
|
"valueHint": "path"
|
|
7506
8080
|
},
|
|
8081
|
+
{
|
|
8082
|
+
"flags": "--allow-primary",
|
|
8083
|
+
"description": "Operator only: allow --cwd to be a project's primary checkout (refused for agent sessions)",
|
|
8084
|
+
"required": false,
|
|
8085
|
+
"valueHint": null
|
|
8086
|
+
},
|
|
7507
8087
|
{
|
|
7508
8088
|
"flags": "--project <key>",
|
|
7509
8089
|
"description": "Project (yaml key or display name) for the new conversation; defaults to inheriting the source conversation's project",
|
|
@@ -7545,6 +8125,24 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7545
8125
|
"description": "Ignored: author harness is provider-default-only (PAN-1984)",
|
|
7546
8126
|
"required": true,
|
|
7547
8127
|
"valueHint": "harness"
|
|
8128
|
+
},
|
|
8129
|
+
{
|
|
8130
|
+
"flags": "--skill <name>",
|
|
8131
|
+
"description": "Turn this skill on for the new conversation only (repeatable); a pack skill is <pack>/<skill>",
|
|
8132
|
+
"required": true,
|
|
8133
|
+
"valueHint": "name"
|
|
8134
|
+
},
|
|
8135
|
+
{
|
|
8136
|
+
"flags": "--pack <id>",
|
|
8137
|
+
"description": "Turn every skill of this cached skill pack on for the new conversation only (repeatable)",
|
|
8138
|
+
"required": true,
|
|
8139
|
+
"valueHint": "id"
|
|
8140
|
+
},
|
|
8141
|
+
{
|
|
8142
|
+
"flags": "--hold",
|
|
8143
|
+
"description": "Create and launch the new conversation without sending the kickoff; start it with Send in the dashboard or pan handoff start <conv>",
|
|
8144
|
+
"required": false,
|
|
8145
|
+
"valueHint": null
|
|
7548
8146
|
}
|
|
7549
8147
|
],
|
|
7550
8148
|
"aliases": [],
|
|
@@ -8334,6 +8932,11 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8334
8932
|
"description": "Print JSON",
|
|
8335
8933
|
"required": false,
|
|
8336
8934
|
"valueHint": null
|
|
8935
|
+
}, {
|
|
8936
|
+
"flags": "--steal",
|
|
8937
|
+
"description": "Claim even when a running agent holds this item or an overlapping one (foreman/operator override)",
|
|
8938
|
+
"required": false,
|
|
8939
|
+
"valueHint": null
|
|
8337
8940
|
}],
|
|
8338
8941
|
"aliases": [],
|
|
8339
8942
|
"category": "Lifecycle"
|
|
@@ -8380,6 +8983,11 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8380
8983
|
"description": "Print JSON",
|
|
8381
8984
|
"required": false,
|
|
8382
8985
|
"valueHint": null
|
|
8986
|
+
}, {
|
|
8987
|
+
"flags": "--on <refs...>",
|
|
8988
|
+
"description": "Issues or PRs this item waits on (PAN-123, #45, owner/repo#45, PR URL); Overdeck wakes the agent when all have merged",
|
|
8989
|
+
"required": true,
|
|
8990
|
+
"valueHint": "refs..."
|
|
8383
8991
|
}],
|
|
8384
8992
|
"aliases": [],
|
|
8385
8993
|
"category": "Lifecycle"
|
|
@@ -8486,12 +9094,187 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8486
9094
|
"required": false,
|
|
8487
9095
|
"valueHint": null
|
|
8488
9096
|
},
|
|
8489
|
-
{
|
|
8490
|
-
"flags": "--labels <labels>",
|
|
8491
|
-
"description": "Comma-separated labels for routing (e.g., docs,marketing)",
|
|
8492
|
-
"required": true,
|
|
8493
|
-
"valueHint": "labels"
|
|
8494
|
-
},
|
|
9097
|
+
{
|
|
9098
|
+
"flags": "--labels <labels>",
|
|
9099
|
+
"description": "Comma-separated labels for routing (e.g., docs,marketing)",
|
|
9100
|
+
"required": true,
|
|
9101
|
+
"valueHint": "labels"
|
|
9102
|
+
},
|
|
9103
|
+
{
|
|
9104
|
+
"flags": "--project <path>",
|
|
9105
|
+
"description": "Explicit project path (overrides registry)",
|
|
9106
|
+
"required": true,
|
|
9107
|
+
"valueHint": "path"
|
|
9108
|
+
},
|
|
9109
|
+
{
|
|
9110
|
+
"flags": "--docker",
|
|
9111
|
+
"description": "Start Docker containers after workspace creation",
|
|
9112
|
+
"required": false,
|
|
9113
|
+
"valueHint": null
|
|
9114
|
+
},
|
|
9115
|
+
{
|
|
9116
|
+
"flags": "--remote",
|
|
9117
|
+
"description": "Create workspace on remote VM (Fly.io)",
|
|
9118
|
+
"required": false,
|
|
9119
|
+
"valueHint": null
|
|
9120
|
+
},
|
|
9121
|
+
{
|
|
9122
|
+
"flags": "--local",
|
|
9123
|
+
"description": "Create workspace locally (explicit override)",
|
|
9124
|
+
"required": false,
|
|
9125
|
+
"valueHint": null
|
|
9126
|
+
}
|
|
9127
|
+
],
|
|
9128
|
+
"aliases": [],
|
|
9129
|
+
"category": "Workspace"
|
|
9130
|
+
},
|
|
9131
|
+
{
|
|
9132
|
+
"id": "pan-workspace-migrate",
|
|
9133
|
+
"path": ["workspace", "migrate"],
|
|
9134
|
+
"display": "/pan workspace migrate",
|
|
9135
|
+
"description": "Migrate workspace between local and remote (stops+pauses the local agent, commits and pushes all work first)",
|
|
9136
|
+
"args": [{
|
|
9137
|
+
"name": "issueId",
|
|
9138
|
+
"required": true,
|
|
9139
|
+
"variadic": false
|
|
9140
|
+
}],
|
|
9141
|
+
"options": [
|
|
9142
|
+
{
|
|
9143
|
+
"flags": "--to <location>",
|
|
9144
|
+
"description": "Target location: \"remote\" or \"local\" (default: auto-detect from current location)",
|
|
9145
|
+
"required": true,
|
|
9146
|
+
"valueHint": "location"
|
|
9147
|
+
},
|
|
9148
|
+
{
|
|
9149
|
+
"flags": "--keep",
|
|
9150
|
+
"description": "Keep the source workspace after migration",
|
|
9151
|
+
"required": false,
|
|
9152
|
+
"valueHint": null
|
|
9153
|
+
},
|
|
9154
|
+
{
|
|
9155
|
+
"flags": "--force",
|
|
9156
|
+
"description": "Overwrite an existing destination workspace / ignore branch-drift guard",
|
|
9157
|
+
"required": false,
|
|
9158
|
+
"valueHint": null
|
|
9159
|
+
}
|
|
9160
|
+
],
|
|
9161
|
+
"aliases": [],
|
|
9162
|
+
"category": "Workspace"
|
|
9163
|
+
},
|
|
9164
|
+
{
|
|
9165
|
+
"id": "pan-workspace-ssh",
|
|
9166
|
+
"path": ["workspace", "ssh"],
|
|
9167
|
+
"display": "/pan workspace ssh",
|
|
9168
|
+
"description": "SSH into remote workspace VM",
|
|
9169
|
+
"args": [{
|
|
9170
|
+
"name": "issueId",
|
|
9171
|
+
"required": true,
|
|
9172
|
+
"variadic": false
|
|
9173
|
+
}],
|
|
9174
|
+
"options": [],
|
|
9175
|
+
"aliases": [],
|
|
9176
|
+
"category": "Workspace"
|
|
9177
|
+
},
|
|
9178
|
+
{
|
|
9179
|
+
"id": "pan-workspace-sync-auth",
|
|
9180
|
+
"path": ["workspace", "sync-auth"],
|
|
9181
|
+
"display": "/pan workspace sync-auth",
|
|
9182
|
+
"description": "Sync Claude Code credentials to remote workspace",
|
|
9183
|
+
"args": [{
|
|
9184
|
+
"name": "issueId",
|
|
9185
|
+
"required": true,
|
|
9186
|
+
"variadic": false
|
|
9187
|
+
}],
|
|
9188
|
+
"options": [],
|
|
9189
|
+
"aliases": [],
|
|
9190
|
+
"category": "Workspace"
|
|
9191
|
+
},
|
|
9192
|
+
{
|
|
9193
|
+
"id": "pan-workspace-start",
|
|
9194
|
+
"path": ["workspace", "start"],
|
|
9195
|
+
"display": "/pan workspace start",
|
|
9196
|
+
"description": "Start a stopped remote workspace",
|
|
9197
|
+
"args": [{
|
|
9198
|
+
"name": "issueId",
|
|
9199
|
+
"required": true,
|
|
9200
|
+
"variadic": false
|
|
9201
|
+
}],
|
|
9202
|
+
"options": [],
|
|
9203
|
+
"aliases": [],
|
|
9204
|
+
"category": "Workspace"
|
|
9205
|
+
},
|
|
9206
|
+
{
|
|
9207
|
+
"id": "pan-workspace-stop",
|
|
9208
|
+
"path": ["workspace", "stop"],
|
|
9209
|
+
"display": "/pan workspace stop",
|
|
9210
|
+
"description": "Stop (hibernate) a remote workspace",
|
|
9211
|
+
"args": [{
|
|
9212
|
+
"name": "issueId",
|
|
9213
|
+
"required": true,
|
|
9214
|
+
"variadic": false
|
|
9215
|
+
}],
|
|
9216
|
+
"options": [],
|
|
9217
|
+
"aliases": [],
|
|
9218
|
+
"category": "Workspace"
|
|
9219
|
+
},
|
|
9220
|
+
{
|
|
9221
|
+
"id": "pan-workspace-list",
|
|
9222
|
+
"path": ["workspace", "list"],
|
|
9223
|
+
"display": "/pan workspace list",
|
|
9224
|
+
"description": "List all workspaces",
|
|
9225
|
+
"args": [],
|
|
9226
|
+
"options": [
|
|
9227
|
+
{
|
|
9228
|
+
"flags": "--json",
|
|
9229
|
+
"description": "Output as JSON",
|
|
9230
|
+
"required": false,
|
|
9231
|
+
"valueHint": null
|
|
9232
|
+
},
|
|
9233
|
+
{
|
|
9234
|
+
"flags": "--all",
|
|
9235
|
+
"description": "List workspaces across all registered projects",
|
|
9236
|
+
"required": false,
|
|
9237
|
+
"valueHint": null
|
|
9238
|
+
},
|
|
9239
|
+
{
|
|
9240
|
+
"flags": "--kind <kind>",
|
|
9241
|
+
"description": "Filter by workspace kind (main|issue|scratch), reading through the resolver",
|
|
9242
|
+
"required": true,
|
|
9243
|
+
"valueHint": "kind"
|
|
9244
|
+
},
|
|
9245
|
+
{
|
|
9246
|
+
"flags": "--archived",
|
|
9247
|
+
"description": "Include archived workspaces (only applies with --kind)",
|
|
9248
|
+
"required": false,
|
|
9249
|
+
"valueHint": null
|
|
9250
|
+
},
|
|
9251
|
+
{
|
|
9252
|
+
"flags": "--stale",
|
|
9253
|
+
"description": "Show reclaim candidates: merged branches still on disk, with sizes",
|
|
9254
|
+
"required": false,
|
|
9255
|
+
"valueHint": null
|
|
9256
|
+
}
|
|
9257
|
+
],
|
|
9258
|
+
"aliases": [],
|
|
9259
|
+
"category": "Workspace"
|
|
9260
|
+
},
|
|
9261
|
+
{
|
|
9262
|
+
"id": "pan-workspace-destroy",
|
|
9263
|
+
"path": ["workspace", "destroy"],
|
|
9264
|
+
"display": "/pan workspace destroy",
|
|
9265
|
+
"description": "Destroy workspace (all shapes by default: base, strike, and slot worktrees)",
|
|
9266
|
+
"args": [{
|
|
9267
|
+
"name": "issueId",
|
|
9268
|
+
"required": true,
|
|
9269
|
+
"variadic": false
|
|
9270
|
+
}],
|
|
9271
|
+
"options": [
|
|
9272
|
+
{
|
|
9273
|
+
"flags": "--force",
|
|
9274
|
+
"description": "Force removal even with uncommitted changes",
|
|
9275
|
+
"required": false,
|
|
9276
|
+
"valueHint": null
|
|
9277
|
+
},
|
|
8495
9278
|
{
|
|
8496
9279
|
"flags": "--project <path>",
|
|
8497
9280
|
"description": "Explicit project path (overrides registry)",
|
|
@@ -8499,20 +9282,14 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8499
9282
|
"valueHint": "path"
|
|
8500
9283
|
},
|
|
8501
9284
|
{
|
|
8502
|
-
"flags": "--
|
|
8503
|
-
"description": "
|
|
8504
|
-
"required":
|
|
8505
|
-
"valueHint":
|
|
8506
|
-
},
|
|
8507
|
-
{
|
|
8508
|
-
"flags": "--remote",
|
|
8509
|
-
"description": "Create workspace on remote VM (Fly.io)",
|
|
8510
|
-
"required": false,
|
|
8511
|
-
"valueHint": null
|
|
9285
|
+
"flags": "--shape <shape>",
|
|
9286
|
+
"description": "Limit to one shape: base|strike|slot|all (default: all)",
|
|
9287
|
+
"required": true,
|
|
9288
|
+
"valueHint": "shape"
|
|
8512
9289
|
},
|
|
8513
9290
|
{
|
|
8514
|
-
"flags": "--
|
|
8515
|
-
"description": "
|
|
9291
|
+
"flags": "--purge-memory",
|
|
9292
|
+
"description": "Also permanently delete the workspace's memory home (irreversible)",
|
|
8516
9293
|
"required": false,
|
|
8517
9294
|
"valueHint": null
|
|
8518
9295
|
}
|
|
@@ -8521,31 +9298,43 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8521
9298
|
"category": "Workspace"
|
|
8522
9299
|
},
|
|
8523
9300
|
{
|
|
8524
|
-
"id": "pan-workspace-
|
|
8525
|
-
"path": ["workspace", "
|
|
8526
|
-
"display": "/pan workspace
|
|
8527
|
-
"description": "
|
|
9301
|
+
"id": "pan-workspace-new",
|
|
9302
|
+
"path": ["workspace", "new"],
|
|
9303
|
+
"display": "/pan workspace new",
|
|
9304
|
+
"description": "Create a scratch workspace (shared dir by default; --isolated for a git worktree)",
|
|
8528
9305
|
"args": [{
|
|
8529
|
-
"name": "
|
|
9306
|
+
"name": "name",
|
|
8530
9307
|
"required": true,
|
|
8531
9308
|
"variadic": false
|
|
8532
9309
|
}],
|
|
8533
9310
|
"options": [
|
|
8534
9311
|
{
|
|
8535
|
-
"flags": "--
|
|
8536
|
-
"description": "
|
|
9312
|
+
"flags": "--project <key>",
|
|
9313
|
+
"description": "Registered project key (defaults to the sole project, or the one resolved from cwd)",
|
|
8537
9314
|
"required": true,
|
|
8538
|
-
"valueHint": "
|
|
9315
|
+
"valueHint": "key"
|
|
8539
9316
|
},
|
|
8540
9317
|
{
|
|
8541
|
-
"flags": "--
|
|
8542
|
-
"description": "
|
|
9318
|
+
"flags": "--isolated",
|
|
9319
|
+
"description": "Create an isolated git worktree instead of sharing the project directory",
|
|
8543
9320
|
"required": false,
|
|
8544
9321
|
"valueHint": null
|
|
8545
9322
|
},
|
|
8546
9323
|
{
|
|
8547
|
-
"flags": "--
|
|
8548
|
-
"description": "
|
|
9324
|
+
"flags": "--parent-branch <branch>",
|
|
9325
|
+
"description": "Parent branch for the isolated worktree (default: inferred from the project's current branch)",
|
|
9326
|
+
"required": true,
|
|
9327
|
+
"valueHint": "branch"
|
|
9328
|
+
},
|
|
9329
|
+
{
|
|
9330
|
+
"flags": "--target-path <dir>",
|
|
9331
|
+
"description": "Target an existing directory as the workspace path (rejects --isolated)",
|
|
9332
|
+
"required": true,
|
|
9333
|
+
"valueHint": "dir"
|
|
9334
|
+
},
|
|
9335
|
+
{
|
|
9336
|
+
"flags": "--dry-run",
|
|
9337
|
+
"description": "Print the resolved intent as JSON and create nothing",
|
|
8549
9338
|
"required": false,
|
|
8550
9339
|
"valueHint": null
|
|
8551
9340
|
}
|
|
@@ -8554,12 +9343,27 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8554
9343
|
"category": "Workspace"
|
|
8555
9344
|
},
|
|
8556
9345
|
{
|
|
8557
|
-
"id": "pan-workspace-
|
|
8558
|
-
"path": ["workspace", "
|
|
8559
|
-
"display": "/pan workspace
|
|
8560
|
-
"description": "
|
|
9346
|
+
"id": "pan-workspace-main",
|
|
9347
|
+
"path": ["workspace", "main"],
|
|
9348
|
+
"display": "/pan workspace main",
|
|
9349
|
+
"description": "Resolve or create the project's singleton main workspace",
|
|
9350
|
+
"args": [],
|
|
9351
|
+
"options": [{
|
|
9352
|
+
"flags": "--project <key>",
|
|
9353
|
+
"description": "Registered project key (defaults to the sole project, or the one resolved from cwd)",
|
|
9354
|
+
"required": true,
|
|
9355
|
+
"valueHint": "key"
|
|
9356
|
+
}],
|
|
9357
|
+
"aliases": [],
|
|
9358
|
+
"category": "Workspace"
|
|
9359
|
+
},
|
|
9360
|
+
{
|
|
9361
|
+
"id": "pan-workspace-get",
|
|
9362
|
+
"path": ["workspace", "get"],
|
|
9363
|
+
"display": "/pan workspace get",
|
|
9364
|
+
"description": "Show a workspace row by id",
|
|
8561
9365
|
"args": [{
|
|
8562
|
-
"name": "
|
|
9366
|
+
"name": "ws",
|
|
8563
9367
|
"required": true,
|
|
8564
9368
|
"variadic": false
|
|
8565
9369
|
}],
|
|
@@ -8568,12 +9372,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8568
9372
|
"category": "Workspace"
|
|
8569
9373
|
},
|
|
8570
9374
|
{
|
|
8571
|
-
"id": "pan-workspace-
|
|
8572
|
-
"path": ["workspace", "
|
|
8573
|
-
"display": "/pan workspace
|
|
8574
|
-
"description": "
|
|
9375
|
+
"id": "pan-workspace-activate",
|
|
9376
|
+
"path": ["workspace", "activate"],
|
|
9377
|
+
"display": "/pan workspace activate",
|
|
9378
|
+
"description": "Touch a workspace's last-accessed time and print its layout hint",
|
|
8575
9379
|
"args": [{
|
|
8576
|
-
"name": "
|
|
9380
|
+
"name": "ws",
|
|
8577
9381
|
"required": true,
|
|
8578
9382
|
"variadic": false
|
|
8579
9383
|
}],
|
|
@@ -8582,12 +9386,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8582
9386
|
"category": "Workspace"
|
|
8583
9387
|
},
|
|
8584
9388
|
{
|
|
8585
|
-
"id": "pan-workspace-
|
|
8586
|
-
"path": ["workspace", "
|
|
8587
|
-
"display": "/pan workspace
|
|
8588
|
-
"description": "
|
|
9389
|
+
"id": "pan-workspace-archive",
|
|
9390
|
+
"path": ["workspace", "archive"],
|
|
9391
|
+
"display": "/pan workspace archive",
|
|
9392
|
+
"description": "Archive a workspace (reversible; refuses kind=main)",
|
|
8589
9393
|
"args": [{
|
|
8590
|
-
"name": "
|
|
9394
|
+
"name": "ws",
|
|
8591
9395
|
"required": true,
|
|
8592
9396
|
"variadic": false
|
|
8593
9397
|
}],
|
|
@@ -8596,53 +9400,117 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8596
9400
|
"category": "Workspace"
|
|
8597
9401
|
},
|
|
8598
9402
|
{
|
|
8599
|
-
"id": "pan-workspace-
|
|
8600
|
-
"path": ["workspace", "
|
|
8601
|
-
"display": "/pan workspace
|
|
8602
|
-
"description": "
|
|
9403
|
+
"id": "pan-workspace-relocate",
|
|
9404
|
+
"path": ["workspace", "relocate"],
|
|
9405
|
+
"display": "/pan workspace relocate",
|
|
9406
|
+
"description": "Point a workspace at a new path (refuses kind=issue; kind=main requires --force)",
|
|
8603
9407
|
"args": [{
|
|
8604
|
-
"name": "
|
|
9408
|
+
"name": "ws",
|
|
8605
9409
|
"required": true,
|
|
8606
9410
|
"variadic": false
|
|
8607
9411
|
}],
|
|
8608
|
-
"options": [
|
|
9412
|
+
"options": [{
|
|
9413
|
+
"flags": "--path <dir>",
|
|
9414
|
+
"description": "New path (must be an existing directory)",
|
|
9415
|
+
"required": true,
|
|
9416
|
+
"valueHint": "dir"
|
|
9417
|
+
}, {
|
|
9418
|
+
"flags": "--force",
|
|
9419
|
+
"description": "Allow relocating the main workspace, diverging it from projects.yaml",
|
|
9420
|
+
"required": false,
|
|
9421
|
+
"valueHint": null
|
|
9422
|
+
}],
|
|
8609
9423
|
"aliases": [],
|
|
8610
9424
|
"category": "Workspace"
|
|
8611
9425
|
},
|
|
8612
9426
|
{
|
|
8613
|
-
"id": "pan-workspace-
|
|
8614
|
-
"path": ["workspace", "
|
|
8615
|
-
"display": "/pan workspace
|
|
8616
|
-
"description": "
|
|
8617
|
-
"args": [
|
|
9427
|
+
"id": "pan-workspace-render-devcontainer",
|
|
9428
|
+
"path": ["workspace", "render-devcontainer"],
|
|
9429
|
+
"display": "/pan workspace render-devcontainer",
|
|
9430
|
+
"description": "Re-render <workspace>/.devcontainer/ from the project compose template",
|
|
9431
|
+
"args": [{
|
|
9432
|
+
"name": "featureName",
|
|
9433
|
+
"required": true,
|
|
9434
|
+
"variadic": false
|
|
9435
|
+
}],
|
|
8618
9436
|
"options": [
|
|
8619
9437
|
{
|
|
8620
|
-
"flags": "--
|
|
8621
|
-
"description": "
|
|
8622
|
-
"required":
|
|
8623
|
-
"valueHint":
|
|
9438
|
+
"flags": "--project <key>",
|
|
9439
|
+
"description": "Project key in projects.yaml (e.g. mind-your-now)",
|
|
9440
|
+
"required": true,
|
|
9441
|
+
"valueHint": "key"
|
|
8624
9442
|
},
|
|
8625
9443
|
{
|
|
8626
|
-
"flags": "--
|
|
8627
|
-
"description": "
|
|
9444
|
+
"flags": "--workspace <path>",
|
|
9445
|
+
"description": "Override the inferred workspace path",
|
|
9446
|
+
"required": true,
|
|
9447
|
+
"valueHint": "path"
|
|
9448
|
+
},
|
|
9449
|
+
{
|
|
9450
|
+
"flags": "--json",
|
|
9451
|
+
"description": "Emit JSON instead of human-readable output",
|
|
8628
9452
|
"required": false,
|
|
8629
9453
|
"valueHint": null
|
|
8630
|
-
}
|
|
9454
|
+
}
|
|
9455
|
+
],
|
|
9456
|
+
"aliases": [],
|
|
9457
|
+
"category": "Workspace"
|
|
9458
|
+
},
|
|
9459
|
+
{
|
|
9460
|
+
"id": "pan-workspace-deep-clean",
|
|
9461
|
+
"path": ["workspace", "deep-clean"],
|
|
9462
|
+
"display": "/pan workspace deep-clean",
|
|
9463
|
+
"description": "Interactive: git clean -fd against a workspace (preserves protected paths)",
|
|
9464
|
+
"args": [{
|
|
9465
|
+
"name": "issueId",
|
|
9466
|
+
"required": true,
|
|
9467
|
+
"variadic": false
|
|
9468
|
+
}],
|
|
9469
|
+
"options": [{
|
|
9470
|
+
"flags": "--yes",
|
|
9471
|
+
"description": "Skip confirmation prompt (still requires a TTY)",
|
|
9472
|
+
"required": false,
|
|
9473
|
+
"valueHint": null
|
|
9474
|
+
}],
|
|
9475
|
+
"aliases": [],
|
|
9476
|
+
"category": "Workspace"
|
|
9477
|
+
},
|
|
9478
|
+
{
|
|
9479
|
+
"id": "pan-workspace-rebuild",
|
|
9480
|
+
"path": ["workspace", "rebuild"],
|
|
9481
|
+
"display": "/pan workspace rebuild",
|
|
9482
|
+
"description": "Tear down, re-render, and restart a single workspace Docker stack",
|
|
9483
|
+
"args": [{
|
|
9484
|
+
"name": "issueId",
|
|
9485
|
+
"required": true,
|
|
9486
|
+
"variadic": false
|
|
9487
|
+
}],
|
|
9488
|
+
"options": [],
|
|
9489
|
+
"aliases": [],
|
|
9490
|
+
"category": "Workspace"
|
|
9491
|
+
},
|
|
9492
|
+
{
|
|
9493
|
+
"id": "pan-workspace-reap",
|
|
9494
|
+
"path": ["workspace", "reap"],
|
|
9495
|
+
"display": "/pan workspace reap",
|
|
9496
|
+
"description": "List or remove orphaned unhealthy workspace Docker stacks and orphaned workspace networks",
|
|
9497
|
+
"args": [],
|
|
9498
|
+
"options": [
|
|
8631
9499
|
{
|
|
8632
|
-
"flags": "--
|
|
8633
|
-
"description": "
|
|
9500
|
+
"flags": "--days <days>",
|
|
9501
|
+
"description": "Minimum age in days",
|
|
8634
9502
|
"required": true,
|
|
8635
|
-
"valueHint": "
|
|
9503
|
+
"valueHint": "days"
|
|
8636
9504
|
},
|
|
8637
9505
|
{
|
|
8638
|
-
"flags": "--
|
|
8639
|
-
"description": "
|
|
9506
|
+
"flags": "--apply",
|
|
9507
|
+
"description": "Run docker compose down -v --remove-orphans for stack candidates and remove orphaned workspace networks",
|
|
8640
9508
|
"required": false,
|
|
8641
9509
|
"valueHint": null
|
|
8642
9510
|
},
|
|
8643
9511
|
{
|
|
8644
|
-
"flags": "--
|
|
8645
|
-
"description": "
|
|
9512
|
+
"flags": "--yes",
|
|
9513
|
+
"description": "Skip confirmation when using --apply",
|
|
8646
9514
|
"required": false,
|
|
8647
9515
|
"valueHint": null
|
|
8648
9516
|
}
|
|
@@ -8651,345 +9519,515 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8651
9519
|
"category": "Workspace"
|
|
8652
9520
|
},
|
|
8653
9521
|
{
|
|
8654
|
-
"id": "pan-workspace-
|
|
8655
|
-
"path": ["workspace", "
|
|
8656
|
-
"display": "/pan workspace
|
|
8657
|
-
"description": "
|
|
9522
|
+
"id": "pan-workspace-update",
|
|
9523
|
+
"path": ["workspace", "update"],
|
|
9524
|
+
"display": "/pan workspace update",
|
|
9525
|
+
"description": "Update skills/agents/rules in an existing workspace",
|
|
9526
|
+
"args": [{
|
|
9527
|
+
"name": "issueId",
|
|
9528
|
+
"required": true,
|
|
9529
|
+
"variadic": false
|
|
9530
|
+
}],
|
|
9531
|
+
"options": [{
|
|
9532
|
+
"flags": "--force",
|
|
9533
|
+
"description": "Overwrite user-modified files",
|
|
9534
|
+
"required": false,
|
|
9535
|
+
"valueHint": null
|
|
9536
|
+
}],
|
|
9537
|
+
"aliases": [],
|
|
9538
|
+
"category": "Workspace"
|
|
9539
|
+
},
|
|
9540
|
+
{
|
|
9541
|
+
"id": "pan-workspace-use-config",
|
|
9542
|
+
"path": ["workspace", "use-config"],
|
|
9543
|
+
"display": "/pan workspace use-config",
|
|
9544
|
+
"description": "Copy installed Overdeck config into workspace (makes it user settings)",
|
|
9545
|
+
"args": [{
|
|
9546
|
+
"name": "issueId",
|
|
9547
|
+
"required": true,
|
|
9548
|
+
"variadic": false
|
|
9549
|
+
}],
|
|
9550
|
+
"options": [{
|
|
9551
|
+
"flags": "--project <path>",
|
|
9552
|
+
"description": "Explicit project path (overrides registry)",
|
|
9553
|
+
"required": true,
|
|
9554
|
+
"valueHint": "path"
|
|
9555
|
+
}],
|
|
9556
|
+
"aliases": [],
|
|
9557
|
+
"category": "Workspace"
|
|
9558
|
+
},
|
|
9559
|
+
{
|
|
9560
|
+
"id": "pan-workspace-add-repo",
|
|
9561
|
+
"path": ["workspace", "add-repo"],
|
|
9562
|
+
"display": "/pan workspace add-repo",
|
|
9563
|
+
"description": "Add configured repositories or register a new repository in a polyrepo workspace",
|
|
8658
9564
|
"args": [{
|
|
8659
|
-
"name": "
|
|
9565
|
+
"name": "workspaceId",
|
|
8660
9566
|
"required": true,
|
|
8661
9567
|
"variadic": false
|
|
9568
|
+
}, {
|
|
9569
|
+
"name": "repoNames",
|
|
9570
|
+
"required": false,
|
|
9571
|
+
"variadic": true
|
|
8662
9572
|
}],
|
|
8663
9573
|
"options": [
|
|
8664
9574
|
{
|
|
8665
|
-
"flags": "--
|
|
8666
|
-
"description": "
|
|
9575
|
+
"flags": "--dry-run",
|
|
9576
|
+
"description": "Show what would be added",
|
|
8667
9577
|
"required": false,
|
|
8668
9578
|
"valueHint": null
|
|
8669
9579
|
},
|
|
8670
9580
|
{
|
|
8671
|
-
"flags": "--
|
|
8672
|
-
"description": "
|
|
9581
|
+
"flags": "--group <groupName>",
|
|
9582
|
+
"description": "Add all repos from a named group (from groups_file)",
|
|
8673
9583
|
"required": true,
|
|
8674
|
-
"valueHint": "
|
|
9584
|
+
"valueHint": "groupName"
|
|
8675
9585
|
},
|
|
8676
9586
|
{
|
|
8677
|
-
"flags": "--
|
|
8678
|
-
"description": "
|
|
9587
|
+
"flags": "--new <gitUrl>",
|
|
9588
|
+
"description": "Register a repository that was created during this issue",
|
|
8679
9589
|
"required": true,
|
|
8680
|
-
"valueHint": "
|
|
9590
|
+
"valueHint": "gitUrl"
|
|
8681
9591
|
},
|
|
8682
9592
|
{
|
|
8683
|
-
"flags": "--
|
|
8684
|
-
"description": "
|
|
8685
|
-
"required":
|
|
8686
|
-
"valueHint":
|
|
9593
|
+
"flags": "--project <key>",
|
|
9594
|
+
"description": "Explicit project key from projects.yaml (overrides registry)",
|
|
9595
|
+
"required": true,
|
|
9596
|
+
"valueHint": "key"
|
|
8687
9597
|
}
|
|
8688
9598
|
],
|
|
8689
9599
|
"aliases": [],
|
|
8690
9600
|
"category": "Workspace"
|
|
8691
9601
|
},
|
|
8692
9602
|
{
|
|
8693
|
-
"id": "pan-
|
|
8694
|
-
"path": ["
|
|
8695
|
-
"display": "/pan
|
|
8696
|
-
"description": "
|
|
9603
|
+
"id": "pan-vault",
|
|
9604
|
+
"path": ["vault"],
|
|
9605
|
+
"display": "/pan vault",
|
|
9606
|
+
"description": "Session Vault: encrypted off-machine storage and cross-machine resume for agent conversations",
|
|
9607
|
+
"args": [],
|
|
9608
|
+
"options": [],
|
|
9609
|
+
"aliases": [],
|
|
9610
|
+
"category": "CLI"
|
|
9611
|
+
},
|
|
9612
|
+
{
|
|
9613
|
+
"id": "pan-vault-setup",
|
|
9614
|
+
"path": ["vault", "setup"],
|
|
9615
|
+
"display": "/pan vault setup",
|
|
9616
|
+
"description": "Enable the vault against your own git remote and print the recovery phrase once",
|
|
8697
9617
|
"args": [{
|
|
8698
|
-
"name": "
|
|
9618
|
+
"name": "git-url",
|
|
8699
9619
|
"required": true,
|
|
8700
9620
|
"variadic": false
|
|
8701
9621
|
}],
|
|
8702
9622
|
"options": [
|
|
8703
9623
|
{
|
|
8704
|
-
"flags": "--
|
|
8705
|
-
"description": "
|
|
8706
|
-
"required": true,
|
|
8707
|
-
"valueHint": "key"
|
|
8708
|
-
},
|
|
8709
|
-
{
|
|
8710
|
-
"flags": "--isolated",
|
|
8711
|
-
"description": "Create an isolated git worktree instead of sharing the project directory",
|
|
9624
|
+
"flags": "--hooks",
|
|
9625
|
+
"description": "Also register the Claude Code Stop hook that saves after each turn",
|
|
8712
9626
|
"required": false,
|
|
8713
9627
|
"valueHint": null
|
|
8714
9628
|
},
|
|
8715
9629
|
{
|
|
8716
|
-
"flags": "--
|
|
8717
|
-
"description": "
|
|
9630
|
+
"flags": "--passphrase-file <path>",
|
|
9631
|
+
"description": "Also enable passphrase unlock with the passphrase in this file",
|
|
8718
9632
|
"required": true,
|
|
8719
|
-
"valueHint": "
|
|
9633
|
+
"valueHint": "path"
|
|
8720
9634
|
},
|
|
8721
9635
|
{
|
|
8722
|
-
"flags": "--
|
|
8723
|
-
"description": "
|
|
8724
|
-
"required":
|
|
8725
|
-
"valueHint":
|
|
9636
|
+
"flags": "--generate-passphrase",
|
|
9637
|
+
"description": "Also enable passphrase unlock with a generated 6-word passphrase, printed once",
|
|
9638
|
+
"required": false,
|
|
9639
|
+
"valueHint": null
|
|
8726
9640
|
},
|
|
8727
9641
|
{
|
|
8728
|
-
"flags": "--
|
|
8729
|
-
"description": "
|
|
9642
|
+
"flags": "--no-passphrase",
|
|
9643
|
+
"description": "Do not offer passphrase unlock",
|
|
8730
9644
|
"required": false,
|
|
8731
9645
|
"valueHint": null
|
|
8732
9646
|
}
|
|
8733
9647
|
],
|
|
8734
9648
|
"aliases": [],
|
|
8735
|
-
"category": "
|
|
9649
|
+
"category": "CLI"
|
|
8736
9650
|
},
|
|
8737
9651
|
{
|
|
8738
|
-
"id": "pan-
|
|
8739
|
-
"path": ["
|
|
8740
|
-
"display": "/pan
|
|
8741
|
-
"description": "
|
|
8742
|
-
"args": [
|
|
9652
|
+
"id": "pan-vault-join",
|
|
9653
|
+
"path": ["vault", "join"],
|
|
9654
|
+
"display": "/pan vault join",
|
|
9655
|
+
"description": "Join an existing vault from another machine with the vault passphrase or the recovery phrase",
|
|
9656
|
+
"args": [{
|
|
9657
|
+
"name": "git-url",
|
|
9658
|
+
"required": true,
|
|
9659
|
+
"variadic": false
|
|
9660
|
+
}],
|
|
8743
9661
|
"options": [{
|
|
8744
|
-
"flags": "--
|
|
8745
|
-
"description": "
|
|
9662
|
+
"flags": "--phrase-file <path>",
|
|
9663
|
+
"description": "Read the 24-word recovery phrase from a file instead of prompting",
|
|
8746
9664
|
"required": true,
|
|
8747
|
-
"valueHint": "
|
|
9665
|
+
"valueHint": "path"
|
|
9666
|
+
}, {
|
|
9667
|
+
"flags": "--passphrase-file <path>",
|
|
9668
|
+
"description": "Read the vault passphrase from a file instead of prompting",
|
|
9669
|
+
"required": true,
|
|
9670
|
+
"valueHint": "path"
|
|
8748
9671
|
}],
|
|
8749
9672
|
"aliases": [],
|
|
8750
|
-
"category": "
|
|
9673
|
+
"category": "CLI"
|
|
8751
9674
|
},
|
|
8752
9675
|
{
|
|
8753
|
-
"id": "pan-
|
|
8754
|
-
"path": ["
|
|
8755
|
-
"display": "/pan
|
|
8756
|
-
"description": "
|
|
8757
|
-
"args": [
|
|
8758
|
-
"name": "ws",
|
|
8759
|
-
"required": true,
|
|
8760
|
-
"variadic": false
|
|
8761
|
-
}],
|
|
9676
|
+
"id": "pan-vault-passphrase",
|
|
9677
|
+
"path": ["vault", "passphrase"],
|
|
9678
|
+
"display": "/pan vault passphrase",
|
|
9679
|
+
"description": "Turn passphrase unlock for new machines on (set) or off (remove); the vault key stays the same",
|
|
9680
|
+
"args": [],
|
|
8762
9681
|
"options": [],
|
|
8763
9682
|
"aliases": [],
|
|
8764
|
-
"category": "
|
|
9683
|
+
"category": "CLI"
|
|
8765
9684
|
},
|
|
8766
9685
|
{
|
|
8767
|
-
"id": "pan-
|
|
8768
|
-
"path": [
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
9686
|
+
"id": "pan-vault-passphrase-set",
|
|
9687
|
+
"path": [
|
|
9688
|
+
"vault",
|
|
9689
|
+
"passphrase",
|
|
9690
|
+
"set"
|
|
9691
|
+
],
|
|
9692
|
+
"display": "/pan vault passphrase set",
|
|
9693
|
+
"description": "Wrap the vault key under a passphrase so a new machine can join without the recovery phrase",
|
|
9694
|
+
"args": [],
|
|
9695
|
+
"options": [{
|
|
9696
|
+
"flags": "--passphrase-file <path>",
|
|
9697
|
+
"description": "Read the passphrase from a file instead of prompting",
|
|
8773
9698
|
"required": true,
|
|
8774
|
-
"
|
|
9699
|
+
"valueHint": "path"
|
|
9700
|
+
}, {
|
|
9701
|
+
"flags": "--generate",
|
|
9702
|
+
"description": "Generate a 6-word passphrase and print it once",
|
|
9703
|
+
"required": false,
|
|
9704
|
+
"valueHint": null
|
|
8775
9705
|
}],
|
|
8776
|
-
"options": [],
|
|
8777
9706
|
"aliases": [],
|
|
8778
|
-
"category": "
|
|
9707
|
+
"category": "CLI"
|
|
8779
9708
|
},
|
|
8780
9709
|
{
|
|
8781
|
-
"id": "pan-
|
|
8782
|
-
"path": [
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
9710
|
+
"id": "pan-vault-passphrase-remove",
|
|
9711
|
+
"path": [
|
|
9712
|
+
"vault",
|
|
9713
|
+
"passphrase",
|
|
9714
|
+
"remove"
|
|
9715
|
+
],
|
|
9716
|
+
"display": "/pan vault passphrase remove",
|
|
9717
|
+
"description": "Delete the passphrase unlock object; joining then needs the recovery phrase",
|
|
9718
|
+
"args": [],
|
|
8790
9719
|
"options": [],
|
|
8791
9720
|
"aliases": [],
|
|
8792
|
-
"category": "
|
|
9721
|
+
"category": "CLI"
|
|
8793
9722
|
},
|
|
8794
9723
|
{
|
|
8795
|
-
"id": "pan-
|
|
8796
|
-
"path": ["
|
|
8797
|
-
"display": "/pan
|
|
8798
|
-
"description": "
|
|
8799
|
-
"args": [
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
9724
|
+
"id": "pan-vault-rotate-key",
|
|
9725
|
+
"path": ["vault", "rotate-key"],
|
|
9726
|
+
"display": "/pan vault rotate-key",
|
|
9727
|
+
"description": "Replace the vault key after losing a device: re-encrypt refs under a new key, keep old chunks readable, print a new recovery phrase",
|
|
9728
|
+
"args": [],
|
|
9729
|
+
"options": [
|
|
9730
|
+
{
|
|
9731
|
+
"flags": "--yes",
|
|
9732
|
+
"description": "Rotate without the confirmation prompt",
|
|
9733
|
+
"required": false,
|
|
9734
|
+
"valueHint": null
|
|
9735
|
+
},
|
|
9736
|
+
{
|
|
9737
|
+
"flags": "--passphrase-file <path>",
|
|
9738
|
+
"description": "Re-wrap passphrase unlock under the new key with the passphrase in this file",
|
|
9739
|
+
"required": true,
|
|
9740
|
+
"valueHint": "path"
|
|
9741
|
+
},
|
|
9742
|
+
{
|
|
9743
|
+
"flags": "--generate-passphrase",
|
|
9744
|
+
"description": "Re-wrap passphrase unlock under the new key with a generated 6-word passphrase, printed once",
|
|
9745
|
+
"required": false,
|
|
9746
|
+
"valueHint": null
|
|
9747
|
+
},
|
|
9748
|
+
{
|
|
9749
|
+
"flags": "--no-passphrase",
|
|
9750
|
+
"description": "Turn passphrase unlock off",
|
|
9751
|
+
"required": false,
|
|
9752
|
+
"valueHint": null
|
|
9753
|
+
}
|
|
9754
|
+
],
|
|
9755
|
+
"aliases": [],
|
|
9756
|
+
"category": "CLI"
|
|
9757
|
+
},
|
|
9758
|
+
{
|
|
9759
|
+
"id": "pan-vault-status",
|
|
9760
|
+
"path": ["vault", "status"],
|
|
9761
|
+
"display": "/pan vault status",
|
|
9762
|
+
"description": "Show backend, this machine, owned records, last sync and the machine list",
|
|
9763
|
+
"args": [],
|
|
8804
9764
|
"options": [{
|
|
8805
|
-
"flags": "--
|
|
8806
|
-
"description": "
|
|
8807
|
-
"required": true,
|
|
8808
|
-
"valueHint": "dir"
|
|
8809
|
-
}, {
|
|
8810
|
-
"flags": "--force",
|
|
8811
|
-
"description": "Allow relocating the main workspace, diverging it from projects.yaml",
|
|
9765
|
+
"flags": "--json",
|
|
9766
|
+
"description": "Output in JSON format",
|
|
8812
9767
|
"required": false,
|
|
8813
9768
|
"valueHint": null
|
|
8814
9769
|
}],
|
|
8815
9770
|
"aliases": [],
|
|
8816
|
-
"category": "
|
|
9771
|
+
"category": "CLI"
|
|
8817
9772
|
},
|
|
8818
9773
|
{
|
|
8819
|
-
"id": "pan-
|
|
8820
|
-
"path": ["
|
|
8821
|
-
"display": "/pan
|
|
8822
|
-
"description": "
|
|
9774
|
+
"id": "pan-vault-save",
|
|
9775
|
+
"path": ["vault", "save"],
|
|
9776
|
+
"display": "/pan vault save",
|
|
9777
|
+
"description": "Settle one transcript (by session id or path) or many into the vault",
|
|
8823
9778
|
"args": [{
|
|
8824
|
-
"name": "
|
|
8825
|
-
"required":
|
|
9779
|
+
"name": "session-id-or-path",
|
|
9780
|
+
"required": false,
|
|
8826
9781
|
"variadic": false
|
|
8827
9782
|
}],
|
|
8828
9783
|
"options": [
|
|
8829
9784
|
{
|
|
8830
|
-
"flags": "--
|
|
8831
|
-
"description": "
|
|
9785
|
+
"flags": "--all",
|
|
9786
|
+
"description": "Settle every discovered transcript",
|
|
9787
|
+
"required": false,
|
|
9788
|
+
"valueHint": null
|
|
9789
|
+
},
|
|
9790
|
+
{
|
|
9791
|
+
"flags": "--since <date>",
|
|
9792
|
+
"description": "With --all: only transcripts modified on or after this date",
|
|
8832
9793
|
"required": true,
|
|
8833
|
-
"valueHint": "
|
|
9794
|
+
"valueHint": "date"
|
|
8834
9795
|
},
|
|
8835
9796
|
{
|
|
8836
|
-
"flags": "--
|
|
8837
|
-
"description": "
|
|
9797
|
+
"flags": "--harness <harness>",
|
|
9798
|
+
"description": "With --all: only this harness (claude-code, codex, ...)",
|
|
8838
9799
|
"required": true,
|
|
8839
|
-
"valueHint": "
|
|
9800
|
+
"valueHint": "harness"
|
|
8840
9801
|
},
|
|
8841
9802
|
{
|
|
8842
|
-
"flags": "--
|
|
8843
|
-
"description": "
|
|
9803
|
+
"flags": "--hook",
|
|
9804
|
+
"description": "Claude Code Stop-hook mode: read {session_id, transcript_path} JSON from stdin, print nothing, exit 0",
|
|
8844
9805
|
"required": false,
|
|
8845
9806
|
"valueHint": null
|
|
8846
9807
|
}
|
|
8847
9808
|
],
|
|
8848
9809
|
"aliases": [],
|
|
8849
|
-
"category": "
|
|
9810
|
+
"category": "CLI"
|
|
8850
9811
|
},
|
|
8851
9812
|
{
|
|
8852
|
-
"id": "pan-
|
|
8853
|
-
"path": ["
|
|
8854
|
-
"display": "/pan
|
|
8855
|
-
"description": "
|
|
9813
|
+
"id": "pan-vault-sync",
|
|
9814
|
+
"path": ["vault", "sync"],
|
|
9815
|
+
"display": "/pan vault sync",
|
|
9816
|
+
"description": "Settle owned transcripts that grew, register this machine and refresh the list",
|
|
9817
|
+
"args": [],
|
|
9818
|
+
"options": [],
|
|
9819
|
+
"aliases": [],
|
|
9820
|
+
"category": "CLI"
|
|
9821
|
+
},
|
|
9822
|
+
{
|
|
9823
|
+
"id": "pan-vault-list",
|
|
9824
|
+
"path": ["vault", "list"],
|
|
9825
|
+
"display": "/pan vault list",
|
|
9826
|
+
"description": "List saved conversations from the local cache (never contacts the backend)",
|
|
9827
|
+
"args": [],
|
|
9828
|
+
"options": [{
|
|
9829
|
+
"flags": "--json",
|
|
9830
|
+
"description": "Output in JSON format",
|
|
9831
|
+
"required": false,
|
|
9832
|
+
"valueHint": null
|
|
9833
|
+
}],
|
|
9834
|
+
"aliases": [],
|
|
9835
|
+
"category": "CLI"
|
|
9836
|
+
},
|
|
9837
|
+
{
|
|
9838
|
+
"id": "pan-vault-show",
|
|
9839
|
+
"path": ["vault", "show"],
|
|
9840
|
+
"display": "/pan vault show",
|
|
9841
|
+
"description": "Print a saved conversation read-only with its versions",
|
|
8856
9842
|
"args": [{
|
|
8857
|
-
"name": "
|
|
9843
|
+
"name": "id",
|
|
8858
9844
|
"required": true,
|
|
8859
9845
|
"variadic": false
|
|
8860
9846
|
}],
|
|
8861
9847
|
"options": [{
|
|
8862
|
-
"flags": "--
|
|
8863
|
-
"description": "
|
|
9848
|
+
"flags": "--json",
|
|
9849
|
+
"description": "Output in JSON format",
|
|
8864
9850
|
"required": false,
|
|
8865
9851
|
"valueHint": null
|
|
8866
9852
|
}],
|
|
8867
9853
|
"aliases": [],
|
|
8868
|
-
"category": "
|
|
9854
|
+
"category": "CLI"
|
|
8869
9855
|
},
|
|
8870
9856
|
{
|
|
8871
|
-
"id": "pan-
|
|
8872
|
-
"path": ["
|
|
8873
|
-
"display": "/pan
|
|
8874
|
-
"description": "
|
|
9857
|
+
"id": "pan-vault-resume",
|
|
9858
|
+
"path": ["vault", "resume"],
|
|
9859
|
+
"display": "/pan vault resume",
|
|
9860
|
+
"description": "Continue a saved conversation here: <id> or <id>@<version>; adopts it and launches the harness",
|
|
8875
9861
|
"args": [{
|
|
8876
|
-
"name": "
|
|
9862
|
+
"name": "id",
|
|
8877
9863
|
"required": true,
|
|
8878
9864
|
"variadic": false
|
|
8879
9865
|
}],
|
|
8880
|
-
"options": [],
|
|
8881
|
-
"aliases": [],
|
|
8882
|
-
"category": "Workspace"
|
|
8883
|
-
},
|
|
8884
|
-
{
|
|
8885
|
-
"id": "pan-workspace-reap",
|
|
8886
|
-
"path": ["workspace", "reap"],
|
|
8887
|
-
"display": "/pan workspace reap",
|
|
8888
|
-
"description": "List or remove orphaned unhealthy workspace Docker stacks and orphaned workspace networks",
|
|
8889
|
-
"args": [],
|
|
8890
9866
|
"options": [
|
|
8891
9867
|
{
|
|
8892
|
-
"flags": "--
|
|
8893
|
-
"description": "
|
|
9868
|
+
"flags": "--cwd <dir>",
|
|
9869
|
+
"description": "Working directory to resume in (default: the saved cwd)",
|
|
8894
9870
|
"required": true,
|
|
8895
|
-
"valueHint": "
|
|
9871
|
+
"valueHint": "dir"
|
|
8896
9872
|
},
|
|
8897
9873
|
{
|
|
8898
|
-
"flags": "--
|
|
8899
|
-
"description": "
|
|
9874
|
+
"flags": "--no-launch",
|
|
9875
|
+
"description": "Print the launch command instead of running it",
|
|
8900
9876
|
"required": false,
|
|
8901
9877
|
"valueHint": null
|
|
8902
9878
|
},
|
|
8903
9879
|
{
|
|
8904
|
-
"flags": "--
|
|
8905
|
-
"description": "
|
|
9880
|
+
"flags": "--on-drift <choice>",
|
|
9881
|
+
"description": "When the cwd state differs from the saved state: continue | note | cancel",
|
|
9882
|
+
"required": true,
|
|
9883
|
+
"valueHint": "choice"
|
|
9884
|
+
},
|
|
9885
|
+
{
|
|
9886
|
+
"flags": "--no-code",
|
|
9887
|
+
"description": "Do not apply the saved code snapshot; only continue the conversation",
|
|
8906
9888
|
"required": false,
|
|
8907
9889
|
"valueHint": null
|
|
9890
|
+
},
|
|
9891
|
+
{
|
|
9892
|
+
"flags": "--worktree <dir>",
|
|
9893
|
+
"description": "Apply the code snapshot into a new git worktree at <dir> instead of the target checkout",
|
|
9894
|
+
"required": true,
|
|
9895
|
+
"valueHint": "dir"
|
|
8908
9896
|
}
|
|
8909
9897
|
],
|
|
8910
9898
|
"aliases": [],
|
|
8911
|
-
"category": "
|
|
9899
|
+
"category": "CLI"
|
|
8912
9900
|
},
|
|
8913
9901
|
{
|
|
8914
|
-
"id": "pan-
|
|
8915
|
-
"path": ["
|
|
8916
|
-
"display": "/pan
|
|
8917
|
-
"description": "
|
|
9902
|
+
"id": "pan-vault-exclude",
|
|
9903
|
+
"path": ["vault", "exclude"],
|
|
9904
|
+
"display": "/pan vault exclude",
|
|
9905
|
+
"description": "Exclude conversations by cwd path, git origin or session id; an excluded saved record becomes a tombstone",
|
|
8918
9906
|
"args": [{
|
|
8919
|
-
"name": "
|
|
8920
|
-
"required":
|
|
9907
|
+
"name": "path",
|
|
9908
|
+
"required": false,
|
|
8921
9909
|
"variadic": false
|
|
8922
9910
|
}],
|
|
8923
9911
|
"options": [{
|
|
8924
|
-
"flags": "--
|
|
8925
|
-
"description": "
|
|
8926
|
-
"required":
|
|
8927
|
-
"valueHint":
|
|
9912
|
+
"flags": "--origin <url>",
|
|
9913
|
+
"description": "Exclude conversations whose git origin is this URL",
|
|
9914
|
+
"required": true,
|
|
9915
|
+
"valueHint": "url"
|
|
9916
|
+
}, {
|
|
9917
|
+
"flags": "--session <id>",
|
|
9918
|
+
"description": "Exclude one session by native session id or vault id",
|
|
9919
|
+
"required": true,
|
|
9920
|
+
"valueHint": "id"
|
|
8928
9921
|
}],
|
|
8929
9922
|
"aliases": [],
|
|
8930
|
-
"category": "
|
|
9923
|
+
"category": "CLI"
|
|
8931
9924
|
},
|
|
8932
9925
|
{
|
|
8933
|
-
"id": "pan-
|
|
8934
|
-
"path": ["
|
|
8935
|
-
"display": "/pan
|
|
8936
|
-
"description": "
|
|
9926
|
+
"id": "pan-vault-include",
|
|
9927
|
+
"path": ["vault", "include"],
|
|
9928
|
+
"display": "/pan vault include",
|
|
9929
|
+
"description": "Remove an exclusion added with pan vault exclude",
|
|
8937
9930
|
"args": [{
|
|
8938
|
-
"name": "
|
|
8939
|
-
"required":
|
|
9931
|
+
"name": "path",
|
|
9932
|
+
"required": false,
|
|
8940
9933
|
"variadic": false
|
|
8941
9934
|
}],
|
|
8942
9935
|
"options": [{
|
|
8943
|
-
"flags": "--
|
|
8944
|
-
"description": "
|
|
9936
|
+
"flags": "--origin <url>",
|
|
9937
|
+
"description": "Include conversations whose git origin is this URL again",
|
|
8945
9938
|
"required": true,
|
|
8946
|
-
"valueHint": "
|
|
9939
|
+
"valueHint": "url"
|
|
9940
|
+
}, {
|
|
9941
|
+
"flags": "--session <id>",
|
|
9942
|
+
"description": "Include one session again",
|
|
9943
|
+
"required": true,
|
|
9944
|
+
"valueHint": "id"
|
|
8947
9945
|
}],
|
|
8948
9946
|
"aliases": [],
|
|
8949
|
-
"category": "
|
|
9947
|
+
"category": "CLI"
|
|
8950
9948
|
},
|
|
8951
9949
|
{
|
|
8952
|
-
"id": "pan-
|
|
8953
|
-
"path": ["
|
|
8954
|
-
"display": "/pan
|
|
8955
|
-
"description": "
|
|
9950
|
+
"id": "pan-vault-allow-secret",
|
|
9951
|
+
"path": ["vault", "allow-secret"],
|
|
9952
|
+
"display": "/pan vault allow-secret",
|
|
9953
|
+
"description": "Allow one blocked transcript line, or the blocked code lines of one file, for that record only",
|
|
8956
9954
|
"args": [{
|
|
8957
|
-
"name": "
|
|
9955
|
+
"name": "id-or-path",
|
|
8958
9956
|
"required": true,
|
|
8959
9957
|
"variadic": false
|
|
8960
9958
|
}, {
|
|
8961
|
-
"name": "
|
|
9959
|
+
"name": "line",
|
|
8962
9960
|
"required": false,
|
|
8963
|
-
"variadic":
|
|
9961
|
+
"variadic": false
|
|
9962
|
+
}],
|
|
9963
|
+
"options": [{
|
|
9964
|
+
"flags": "--file <path>",
|
|
9965
|
+
"description": "Allow the blocked lines of this file in the code snapshot (path relative to the repository root)",
|
|
9966
|
+
"required": true,
|
|
9967
|
+
"valueHint": "path"
|
|
8964
9968
|
}],
|
|
9969
|
+
"aliases": [],
|
|
9970
|
+
"category": "CLI"
|
|
9971
|
+
},
|
|
9972
|
+
{
|
|
9973
|
+
"id": "pan-vault-evict",
|
|
9974
|
+
"path": ["vault", "evict"],
|
|
9975
|
+
"display": "/pan vault evict",
|
|
9976
|
+
"description": "Review the pending-deletion batch (default) or act on it; nothing is deleted without --confirm",
|
|
9977
|
+
"args": [],
|
|
8965
9978
|
"options": [
|
|
8966
9979
|
{
|
|
8967
|
-
"flags": "--
|
|
8968
|
-
"description": "
|
|
9980
|
+
"flags": "--review",
|
|
9981
|
+
"description": "Scan and print the batch with its fingerprint (default)",
|
|
8969
9982
|
"required": false,
|
|
8970
9983
|
"valueHint": null
|
|
8971
9984
|
},
|
|
8972
9985
|
{
|
|
8973
|
-
"flags": "--
|
|
8974
|
-
"description": "
|
|
9986
|
+
"flags": "--confirm <fingerprint>",
|
|
9987
|
+
"description": "Delete the reviewed files if the batch still matches this fingerprint",
|
|
8975
9988
|
"required": true,
|
|
8976
|
-
"valueHint": "
|
|
9989
|
+
"valueHint": "fingerprint"
|
|
8977
9990
|
},
|
|
8978
9991
|
{
|
|
8979
|
-
"flags": "--
|
|
8980
|
-
"description": "
|
|
9992
|
+
"flags": "--decline <vaultId>",
|
|
9993
|
+
"description": "Remove an entry from the batch and do not offer it again",
|
|
8981
9994
|
"required": true,
|
|
8982
|
-
"valueHint": "
|
|
9995
|
+
"valueHint": "vaultId"
|
|
8983
9996
|
},
|
|
8984
9997
|
{
|
|
8985
|
-
"flags": "--
|
|
8986
|
-
"description": "
|
|
9998
|
+
"flags": "--reoffer <vaultId>",
|
|
9999
|
+
"description": "Allow a declined entry to be offered again",
|
|
8987
10000
|
"required": true,
|
|
8988
|
-
"valueHint": "
|
|
10001
|
+
"valueHint": "vaultId"
|
|
10002
|
+
},
|
|
10003
|
+
{
|
|
10004
|
+
"flags": "--clear",
|
|
10005
|
+
"description": "Empty the batch without deleting or declining anything",
|
|
10006
|
+
"required": false,
|
|
10007
|
+
"valueHint": null
|
|
8989
10008
|
}
|
|
8990
10009
|
],
|
|
8991
10010
|
"aliases": [],
|
|
8992
|
-
"category": "
|
|
10011
|
+
"category": "CLI"
|
|
10012
|
+
},
|
|
10013
|
+
{
|
|
10014
|
+
"id": "pan-vault-restore",
|
|
10015
|
+
"path": ["vault", "restore"],
|
|
10016
|
+
"display": "/pan vault restore",
|
|
10017
|
+
"description": "Rebuild an evicted transcript byte for byte at its original path",
|
|
10018
|
+
"args": [{
|
|
10019
|
+
"name": "id",
|
|
10020
|
+
"required": true,
|
|
10021
|
+
"variadic": false
|
|
10022
|
+
}],
|
|
10023
|
+
"options": [{
|
|
10024
|
+
"flags": "--to <path>",
|
|
10025
|
+
"description": "Write the rebuilt file here instead of the recorded path",
|
|
10026
|
+
"required": true,
|
|
10027
|
+
"valueHint": "path"
|
|
10028
|
+
}],
|
|
10029
|
+
"aliases": [],
|
|
10030
|
+
"category": "CLI"
|
|
8993
10031
|
},
|
|
8994
10032
|
{
|
|
8995
10033
|
"id": "pan-test",
|
|
@@ -10266,6 +11304,124 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
10266
11304
|
"aliases": [],
|
|
10267
11305
|
"category": "Flywheel"
|
|
10268
11306
|
},
|
|
11307
|
+
{
|
|
11308
|
+
"id": "pan-models",
|
|
11309
|
+
"path": ["models"],
|
|
11310
|
+
"display": "/pan models",
|
|
11311
|
+
"description": "Model settings: provider presets",
|
|
11312
|
+
"args": [],
|
|
11313
|
+
"options": [],
|
|
11314
|
+
"aliases": [],
|
|
11315
|
+
"category": "CLI"
|
|
11316
|
+
},
|
|
11317
|
+
{
|
|
11318
|
+
"id": "pan-models-preset",
|
|
11319
|
+
"path": ["models", "preset"],
|
|
11320
|
+
"display": "/pan models preset",
|
|
11321
|
+
"description": "Apply eval-backed provider model presets (writes explicit values once; never auto-applies)",
|
|
11322
|
+
"args": [],
|
|
11323
|
+
"options": [],
|
|
11324
|
+
"aliases": [],
|
|
11325
|
+
"category": "CLI"
|
|
11326
|
+
},
|
|
11327
|
+
{
|
|
11328
|
+
"id": "pan-models-preset-list",
|
|
11329
|
+
"path": [
|
|
11330
|
+
"models",
|
|
11331
|
+
"preset",
|
|
11332
|
+
"list"
|
|
11333
|
+
],
|
|
11334
|
+
"display": "/pan models preset list",
|
|
11335
|
+
"description": "List presets, their versions and what was last applied",
|
|
11336
|
+
"args": [],
|
|
11337
|
+
"options": [{
|
|
11338
|
+
"flags": "--json",
|
|
11339
|
+
"description": "Print JSON",
|
|
11340
|
+
"required": false,
|
|
11341
|
+
"valueHint": null
|
|
11342
|
+
}],
|
|
11343
|
+
"aliases": [],
|
|
11344
|
+
"category": "CLI"
|
|
11345
|
+
},
|
|
11346
|
+
{
|
|
11347
|
+
"id": "pan-models-preset-show",
|
|
11348
|
+
"path": [
|
|
11349
|
+
"models",
|
|
11350
|
+
"preset",
|
|
11351
|
+
"show"
|
|
11352
|
+
],
|
|
11353
|
+
"display": "/pan models preset show",
|
|
11354
|
+
"description": "Show the per-setting diff a preset would make to config.yaml",
|
|
11355
|
+
"args": [{
|
|
11356
|
+
"name": "id",
|
|
11357
|
+
"required": true,
|
|
11358
|
+
"variadic": false
|
|
11359
|
+
}],
|
|
11360
|
+
"options": [{
|
|
11361
|
+
"flags": "--json",
|
|
11362
|
+
"description": "Print the plan JSON (same body as GET /api/model-presets/:id/plan)",
|
|
11363
|
+
"required": false,
|
|
11364
|
+
"valueHint": null
|
|
11365
|
+
}],
|
|
11366
|
+
"aliases": [],
|
|
11367
|
+
"category": "CLI"
|
|
11368
|
+
},
|
|
11369
|
+
{
|
|
11370
|
+
"id": "pan-models-preset-apply",
|
|
11371
|
+
"path": [
|
|
11372
|
+
"models",
|
|
11373
|
+
"preset",
|
|
11374
|
+
"apply"
|
|
11375
|
+
],
|
|
11376
|
+
"display": "/pan models preset apply",
|
|
11377
|
+
"description": "Apply a preset: print the diff, confirm, then write only the changed settings",
|
|
11378
|
+
"args": [{
|
|
11379
|
+
"name": "id",
|
|
11380
|
+
"required": true,
|
|
11381
|
+
"variadic": false
|
|
11382
|
+
}],
|
|
11383
|
+
"options": [
|
|
11384
|
+
{
|
|
11385
|
+
"flags": "--dry-run",
|
|
11386
|
+
"description": "Print the diff and write nothing",
|
|
11387
|
+
"required": false,
|
|
11388
|
+
"valueHint": null
|
|
11389
|
+
},
|
|
11390
|
+
{
|
|
11391
|
+
"flags": "--yes",
|
|
11392
|
+
"description": "Apply without the confirmation prompt",
|
|
11393
|
+
"required": false,
|
|
11394
|
+
"valueHint": null
|
|
11395
|
+
},
|
|
11396
|
+
{
|
|
11397
|
+
"flags": "--json",
|
|
11398
|
+
"description": "Print JSON",
|
|
11399
|
+
"required": false,
|
|
11400
|
+
"valueHint": null
|
|
11401
|
+
}
|
|
11402
|
+
],
|
|
11403
|
+
"aliases": [],
|
|
11404
|
+
"category": "CLI"
|
|
11405
|
+
},
|
|
11406
|
+
{
|
|
11407
|
+
"id": "pan-models-preset-undo",
|
|
11408
|
+
"path": [
|
|
11409
|
+
"models",
|
|
11410
|
+
"preset",
|
|
11411
|
+
"undo"
|
|
11412
|
+
],
|
|
11413
|
+
"display": "/pan models preset undo",
|
|
11414
|
+
"description": "Restore the values the last preset apply replaced",
|
|
11415
|
+
"args": [],
|
|
11416
|
+
"options": [{
|
|
11417
|
+
"flags": "--json",
|
|
11418
|
+
"description": "Print JSON",
|
|
11419
|
+
"required": false,
|
|
11420
|
+
"valueHint": null
|
|
11421
|
+
}],
|
|
11422
|
+
"aliases": [],
|
|
11423
|
+
"category": "CLI"
|
|
11424
|
+
},
|
|
10269
11425
|
{
|
|
10270
11426
|
"id": "pan-parked",
|
|
10271
11427
|
"path": ["parked"],
|
|
@@ -11140,29 +12296,6 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
11140
12296
|
"aliases": [],
|
|
11141
12297
|
"category": "Admin"
|
|
11142
12298
|
},
|
|
11143
|
-
{
|
|
11144
|
-
"id": "pan-admin-tldr",
|
|
11145
|
-
"path": ["admin", "tldr"],
|
|
11146
|
-
"display": "/pan admin tldr",
|
|
11147
|
-
"description": "TLDR daemon: status, start, stop, warm",
|
|
11148
|
-
"args": [{
|
|
11149
|
-
"name": "action",
|
|
11150
|
-
"required": false,
|
|
11151
|
-
"variadic": false
|
|
11152
|
-
}, {
|
|
11153
|
-
"name": "workspace",
|
|
11154
|
-
"required": false,
|
|
11155
|
-
"variadic": false
|
|
11156
|
-
}],
|
|
11157
|
-
"options": [{
|
|
11158
|
-
"flags": "--json",
|
|
11159
|
-
"description": "Output as JSON",
|
|
11160
|
-
"required": false,
|
|
11161
|
-
"valueHint": null
|
|
11162
|
-
}],
|
|
11163
|
-
"aliases": [],
|
|
11164
|
-
"category": "Admin"
|
|
11165
|
-
},
|
|
11166
12299
|
{
|
|
11167
12300
|
"id": "pan-admin-fpp",
|
|
11168
12301
|
"path": ["admin", "fpp"],
|
|
@@ -12133,7 +13266,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
12133
13266
|
"id": "pan-spawn",
|
|
12134
13267
|
"path": ["spawn"],
|
|
12135
13268
|
"display": "/pan spawn",
|
|
12136
|
-
"description": "Create a worker pane for one xBRIEF item in
|
|
13269
|
+
"description": "Create a worker pane for one xBRIEF item in its own item worktree",
|
|
12137
13270
|
"args": [],
|
|
12138
13271
|
"options": [
|
|
12139
13272
|
{
|
|
@@ -12159,6 +13292,18 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
12159
13292
|
"description": "Coding-agent harness (default: claude-code)",
|
|
12160
13293
|
"required": true,
|
|
12161
13294
|
"valueHint": "harness"
|
|
13295
|
+
},
|
|
13296
|
+
{
|
|
13297
|
+
"flags": "--effort <level>",
|
|
13298
|
+
"description": "Reasoning effort: low | medium | high | xhigh | max (defaults to the item/plan metadata, then roles.worker.effort)",
|
|
13299
|
+
"required": true,
|
|
13300
|
+
"valueHint": "level"
|
|
13301
|
+
},
|
|
13302
|
+
{
|
|
13303
|
+
"flags": "--shared",
|
|
13304
|
+
"description": "Run the worker in the issue workspace instead of an item worktree (foreman/operator only; serial use)",
|
|
13305
|
+
"required": false,
|
|
13306
|
+
"valueHint": null
|
|
12162
13307
|
}
|
|
12163
13308
|
],
|
|
12164
13309
|
"aliases": [],
|
|
@@ -12211,6 +13356,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
12211
13356
|
"required": true,
|
|
12212
13357
|
"valueHint": "harness"
|
|
12213
13358
|
},
|
|
13359
|
+
{
|
|
13360
|
+
"flags": "--effort <level>",
|
|
13361
|
+
"description": "Reasoning effort: low | medium | high | xhigh | max (defaults to roles.worker.effort)",
|
|
13362
|
+
"required": true,
|
|
13363
|
+
"valueHint": "level"
|
|
13364
|
+
},
|
|
12214
13365
|
{
|
|
12215
13366
|
"flags": "--read-only",
|
|
12216
13367
|
"description": "Run in the issue workspace with git writes blocked",
|
|
@@ -12545,6 +13696,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
12545
13696
|
"required": false,
|
|
12546
13697
|
"valueHint": null
|
|
12547
13698
|
},
|
|
13699
|
+
{
|
|
13700
|
+
"flags": "--force",
|
|
13701
|
+
"description": "Launch even while the host is CPU-saturated",
|
|
13702
|
+
"required": false,
|
|
13703
|
+
"valueHint": null
|
|
13704
|
+
},
|
|
12548
13705
|
{
|
|
12549
13706
|
"flags": "--no-wait",
|
|
12550
13707
|
"description": "Return without waiting for the lane to start",
|
|
@@ -13182,26 +14339,17 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
13182
14339
|
"display": "/pan status",
|
|
13183
14340
|
"description": "Show running agents",
|
|
13184
14341
|
"args": [],
|
|
13185
|
-
"options": [
|
|
13186
|
-
|
|
13187
|
-
|
|
13188
|
-
|
|
13189
|
-
|
|
13190
|
-
|
|
13191
|
-
|
|
13192
|
-
|
|
13193
|
-
|
|
13194
|
-
|
|
13195
|
-
|
|
13196
|
-
"valueHint": null
|
|
13197
|
-
},
|
|
13198
|
-
{
|
|
13199
|
-
"flags": "--context",
|
|
13200
|
-
"description": "Show context window usage % for each agent",
|
|
13201
|
-
"required": false,
|
|
13202
|
-
"valueHint": null
|
|
13203
|
-
}
|
|
13204
|
-
],
|
|
14342
|
+
"options": [{
|
|
14343
|
+
"flags": "--json",
|
|
14344
|
+
"description": "Output as JSON",
|
|
14345
|
+
"required": false,
|
|
14346
|
+
"valueHint": null
|
|
14347
|
+
}, {
|
|
14348
|
+
"flags": "--context",
|
|
14349
|
+
"description": "Show context window usage % for each agent",
|
|
14350
|
+
"required": false,
|
|
14351
|
+
"valueHint": null
|
|
14352
|
+
}],
|
|
13205
14353
|
"aliases": [],
|
|
13206
14354
|
"category": "Core"
|
|
13207
14355
|
},
|
|
@@ -13365,7 +14513,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
13365
14513
|
"id": "pan-restart",
|
|
13366
14514
|
"path": ["restart"],
|
|
13367
14515
|
"display": "/pan restart",
|
|
13368
|
-
"description": "Restart a platform component (default: dashboard only — leaves CLIProxy
|
|
14516
|
+
"description": "Restart a platform component (default: dashboard only — leaves CLIProxy and Traefik running)",
|
|
13369
14517
|
"args": [],
|
|
13370
14518
|
"options": [
|
|
13371
14519
|
{
|
|
@@ -14070,6 +15218,26 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
14070
15218
|
"aliases": [],
|
|
14071
15219
|
"category": "Data"
|
|
14072
15220
|
},
|
|
15221
|
+
{
|
|
15222
|
+
"id": "pan-cost-effort",
|
|
15223
|
+
"path": ["cost", "effort"],
|
|
15224
|
+
"display": "/pan cost effort",
|
|
15225
|
+
"description": "Show costs grouped by reasoning effort",
|
|
15226
|
+
"args": [],
|
|
15227
|
+
"options": [{
|
|
15228
|
+
"flags": "-i, --issue <issueId>",
|
|
15229
|
+
"description": "Limit to one issue",
|
|
15230
|
+
"required": true,
|
|
15231
|
+
"valueHint": "issueId"
|
|
15232
|
+
}, {
|
|
15233
|
+
"flags": "--json",
|
|
15234
|
+
"description": "Print JSON",
|
|
15235
|
+
"required": false,
|
|
15236
|
+
"valueHint": null
|
|
15237
|
+
}],
|
|
15238
|
+
"aliases": [],
|
|
15239
|
+
"category": "Data"
|
|
15240
|
+
},
|
|
14073
15241
|
{
|
|
14074
15242
|
"id": "pan-cost-budget",
|
|
14075
15243
|
"path": ["cost", "budget"],
|
|
@@ -14475,6 +15643,10 @@ const DirectoryEntry = effect.Schema.Struct({
|
|
|
14475
15643
|
harness: effect.Schema.String,
|
|
14476
15644
|
/** `unknown` when not known. */
|
|
14477
15645
|
model: effect.Schema.String,
|
|
15646
|
+
/** The launch effort from state.json, native agents only (PAN-4259). */
|
|
15647
|
+
effort: effect.Schema.optional(EffortLevelSchema),
|
|
15648
|
+
/** Where `effort` came from (an EffortSource), native agents only. */
|
|
15649
|
+
effortSource: effect.Schema.optional(effect.Schema.String),
|
|
14478
15650
|
state: DirectoryEntryState,
|
|
14479
15651
|
startedAt: effect.Schema.NullOr(effect.Schema.String),
|
|
14480
15652
|
lastActivityAt: effect.Schema.NullOr(effect.Schema.String),
|
|
@@ -14627,6 +15799,47 @@ function laneActivityOf(row, now) {
|
|
|
14627
15799
|
return "stopped";
|
|
14628
15800
|
}
|
|
14629
15801
|
//#endregion
|
|
15802
|
+
//#region src/environment.ts
|
|
15803
|
+
/** Wire protocol version a client and server must agree on. */
|
|
15804
|
+
const ENVIRONMENT_PROTOCOL_VERSION = 1;
|
|
15805
|
+
const EnvironmentId = effect.Schema.String.pipe(effect.Schema.brand("EnvironmentId"));
|
|
15806
|
+
const EnvironmentCapabilities = effect.Schema.Struct({
|
|
15807
|
+
/** `POST /api/pairing/*` is available. */
|
|
15808
|
+
pairing: effect.Schema.Boolean,
|
|
15809
|
+
/** `GET/DELETE /api/devices` is available. */
|
|
15810
|
+
deviceSessions: effect.Schema.Boolean,
|
|
15811
|
+
/** `/ws/*` upgrades require a credential (PAN-1166). */
|
|
15812
|
+
terminalAuth: effect.Schema.Boolean
|
|
15813
|
+
});
|
|
15814
|
+
const EnvironmentDescriptor = effect.Schema.Struct({
|
|
15815
|
+
descriptorVersion: effect.Schema.Literal(1),
|
|
15816
|
+
environmentId: EnvironmentId,
|
|
15817
|
+
label: effect.Schema.String,
|
|
15818
|
+
platform: effect.Schema.Struct({
|
|
15819
|
+
os: effect.Schema.String,
|
|
15820
|
+
arch: effect.Schema.String
|
|
15821
|
+
}),
|
|
15822
|
+
/** Exact package version of the serving Overdeck. */
|
|
15823
|
+
serverVersion: effect.Schema.String,
|
|
15824
|
+
/** The server's `ENVIRONMENT_PROTOCOL_VERSION`. */
|
|
15825
|
+
protocolVersion: effect.Schema.Number,
|
|
15826
|
+
capabilities: EnvironmentCapabilities
|
|
15827
|
+
});
|
|
15828
|
+
/** A server-local id qualified by the environment that owns it. */
|
|
15829
|
+
const ScopedRef = (localId) => effect.Schema.Struct({
|
|
15830
|
+
environmentId: EnvironmentId,
|
|
15831
|
+
localId
|
|
15832
|
+
});
|
|
15833
|
+
const ScopedProjectRef = ScopedRef(effect.Schema.String);
|
|
15834
|
+
const ScopedIssueRef = ScopedRef(effect.Schema.String);
|
|
15835
|
+
const ScopedAgentRef = ScopedRef(effect.Schema.String);
|
|
15836
|
+
const ScopedConversationRef = ScopedRef(effect.Schema.String);
|
|
15837
|
+
const ScopedTerminalRef = ScopedRef(effect.Schema.String);
|
|
15838
|
+
/** True only when the server speaks exactly the client's protocol version. */
|
|
15839
|
+
function isProtocolCompatible(descriptor, clientProtocolVersion) {
|
|
15840
|
+
return descriptor.protocolVersion === clientProtocolVersion;
|
|
15841
|
+
}
|
|
15842
|
+
//#endregion
|
|
14630
15843
|
exports.ACP_BEHAVIOR = ACP_BEHAVIOR;
|
|
14631
15844
|
exports.AGENT_ROLES = AGENT_ROLES;
|
|
14632
15845
|
exports.Activity = Activity;
|
|
@@ -14750,6 +15963,7 @@ exports.DeployStalenessSnapshot = DeployStalenessSnapshot;
|
|
|
14750
15963
|
exports.DerivedBranchState = DerivedBranchState;
|
|
14751
15964
|
exports.DerivedIssueState = DerivedIssueState;
|
|
14752
15965
|
exports.DerivedPrState = DerivedPrState;
|
|
15966
|
+
exports.DerivedWorkStart = DerivedWorkStart;
|
|
14753
15967
|
exports.DirectoryEntry = DirectoryEntry;
|
|
14754
15968
|
exports.DirectoryEntryKind = DirectoryEntryKind;
|
|
14755
15969
|
exports.DirectoryEntryLocation = DirectoryEntryLocation;
|
|
@@ -14764,6 +15978,7 @@ exports.DiscoveredSessionSnapshot = DiscoveredSessionSnapshot;
|
|
|
14764
15978
|
exports.DomainEvent = DomainEvent;
|
|
14765
15979
|
exports.EDITORS = EDITORS;
|
|
14766
15980
|
exports.EFFORT_LEVELS = EFFORT_LEVELS;
|
|
15981
|
+
exports.ENVIRONMENT_PROTOCOL_VERSION = ENVIRONMENT_PROTOCOL_VERSION;
|
|
14767
15982
|
exports.EditorIdSchema = EditorIdSchema;
|
|
14768
15983
|
exports.EffortLevelSchema = EffortLevelSchema;
|
|
14769
15984
|
exports.EmbedProgressEvent = EmbedProgressEvent;
|
|
@@ -14774,6 +15989,9 @@ exports.EnrichProgressEvent = EnrichProgressEvent;
|
|
|
14774
15989
|
exports.EnrichProgressSnapshot = EnrichProgressSnapshot;
|
|
14775
15990
|
exports.EnrichSessionsRpc = EnrichSessionsRpc;
|
|
14776
15991
|
exports.EnrichStatsSnapshot = EnrichStatsSnapshot;
|
|
15992
|
+
exports.EnvironmentCapabilities = EnvironmentCapabilities;
|
|
15993
|
+
exports.EnvironmentDescriptor = EnvironmentDescriptor;
|
|
15994
|
+
exports.EnvironmentId = EnvironmentId;
|
|
14777
15995
|
exports.ExtractionProviderConfig = ExtractionProviderConfig;
|
|
14778
15996
|
exports.ExtractionProviderTarget = ExtractionProviderTarget;
|
|
14779
15997
|
exports.FeatureNode = FeatureNode;
|
|
@@ -14984,6 +16202,12 @@ exports.ScanProgressEvent = ScanProgressEvent;
|
|
|
14984
16202
|
exports.ScanProgressSnapshot = ScanProgressSnapshot;
|
|
14985
16203
|
exports.ScanResult = ScanResult;
|
|
14986
16204
|
exports.ScanStartedEvent = ScanStartedEvent;
|
|
16205
|
+
exports.ScopedAgentRef = ScopedAgentRef;
|
|
16206
|
+
exports.ScopedConversationRef = ScopedConversationRef;
|
|
16207
|
+
exports.ScopedIssueRef = ScopedIssueRef;
|
|
16208
|
+
exports.ScopedProjectRef = ScopedProjectRef;
|
|
16209
|
+
exports.ScopedRef = ScopedRef;
|
|
16210
|
+
exports.ScopedTerminalRef = ScopedTerminalRef;
|
|
14987
16211
|
exports.SearchConversationsRpc = SearchConversationsRpc;
|
|
14988
16212
|
exports.SendTerminalInputRpc = SendTerminalInputRpc;
|
|
14989
16213
|
exports.SequenceNumber = SequenceNumber;
|
|
@@ -15036,6 +16260,7 @@ exports.TickMarker = TickMarker;
|
|
|
15036
16260
|
exports.TickMarkerPhase = TickMarkerPhase;
|
|
15037
16261
|
exports.TurnDiffFileChange = TurnDiffFileChange;
|
|
15038
16262
|
exports.TurnDiffSummary = TurnDiffSummary;
|
|
16263
|
+
exports.TurnEndAssessment = TurnEndAssessment;
|
|
15039
16264
|
exports.WIRED_HOOK_INVENTORY = WIRED_HOOK_INVENTORY;
|
|
15040
16265
|
exports.WIRED_HOOK_NAMES = WIRED_HOOK_NAMES;
|
|
15041
16266
|
exports.WS_METHODS = WS_METHODS;
|
|
@@ -15081,6 +16306,7 @@ exports.isConfiguredPullRequestRepo = isConfiguredPullRequestRepo;
|
|
|
15081
16306
|
exports.isEffortLevel = isEffortLevel;
|
|
15082
16307
|
exports.isIssueAttention = isIssueAttention;
|
|
15083
16308
|
exports.isIssueState = isIssueState;
|
|
16309
|
+
exports.isProtocolCompatible = isProtocolCompatible;
|
|
15084
16310
|
exports.isSingletonConversation = isSingletonConversation;
|
|
15085
16311
|
exports.isTerminalBackendName = isTerminalBackendName;
|
|
15086
16312
|
exports.isTerminalTurnDiffSummaryStatus = isTerminalTurnDiffSummaryStatus;
|