feat: wait returns on permission request and improve CLI logging
This commit is contained in:
@@ -48,15 +48,7 @@ export async function runAllowCommand(
|
||||
): Promise<PermitAllowResult> {
|
||||
const host = getDaemonHost({ host: options.host })
|
||||
|
||||
// Validate arguments
|
||||
if (!options.all && !reqId) {
|
||||
const error: CommandError = {
|
||||
code: 'MISSING_ARGUMENT',
|
||||
message: 'Request ID is required unless --all is specified',
|
||||
details: 'Usage: paseo permit allow <agent> <req_id> or paseo permit allow <agent> --all',
|
||||
}
|
||||
throw error
|
||||
}
|
||||
// No validation needed - if no reqId provided, allow all by default
|
||||
|
||||
// Parse input JSON if provided
|
||||
let updatedInput: Record<string, unknown> | undefined
|
||||
@@ -129,7 +121,9 @@ export async function runAllowCommand(
|
||||
|
||||
// Determine which permissions to allow
|
||||
let permissionsToAllow: AgentPermissionRequest[]
|
||||
if (options.all) {
|
||||
if (!reqId || options.all) {
|
||||
// Default: allow all pending permissions if no req_id specified
|
||||
// --all flag is kept as an explicit alias for clarity
|
||||
permissionsToAllow = pendingPermissions
|
||||
} else {
|
||||
// Find permission by ID prefix
|
||||
|
||||
@@ -8,10 +8,7 @@ export interface PermissionListItem {
|
||||
id: string
|
||||
agentId: string
|
||||
agentShortId: string
|
||||
agentName: string
|
||||
name: string
|
||||
kind: string
|
||||
title: string
|
||||
description: string
|
||||
}
|
||||
|
||||
@@ -19,21 +16,10 @@ export interface PermissionListItem {
|
||||
export const permitLsSchema: OutputSchema<PermissionListItem> = {
|
||||
idField: 'id',
|
||||
columns: [
|
||||
{ header: 'REQUEST ID', field: 'id', width: 12 },
|
||||
{ header: 'AGENT', field: 'agentShortId', width: 10 },
|
||||
{ header: 'NAME', field: 'agentName', width: 20 },
|
||||
{ header: 'AGENT', field: 'agentShortId', width: 12 },
|
||||
{ header: 'REQ_ID', field: 'id', width: 12 },
|
||||
{ header: 'TOOL', field: 'name', width: 20 },
|
||||
{
|
||||
header: 'KIND',
|
||||
field: 'kind',
|
||||
width: 8,
|
||||
color: (value) => {
|
||||
if (value === 'tool') return 'blue'
|
||||
if (value === 'plan') return 'magenta'
|
||||
return undefined
|
||||
},
|
||||
},
|
||||
{ header: 'TITLE', field: 'title', width: 30 },
|
||||
{ header: 'DESCRIPTION', field: 'description', width: 50 },
|
||||
],
|
||||
}
|
||||
|
||||
@@ -43,10 +29,7 @@ function toListItem(agent: AgentSnapshotPayload, permission: AgentPermissionRequ
|
||||
id: permission.id.slice(0, 8),
|
||||
agentId: agent.id,
|
||||
agentShortId: agent.id.slice(0, 7),
|
||||
agentName: agent.title ?? '-',
|
||||
name: permission.name,
|
||||
kind: permission.kind,
|
||||
title: permission.title ?? '-',
|
||||
description: permission.description ?? '-',
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user