feat(cli): add remaining resources, fix descriptions from code review
New read-only resources: - destinations (agent-to-agent ACL + routing map) - user-dms (DM channel cache) - dropped-messages (audit trail for dropped messages) - approvals (in-flight approval cards) Description fixes from reading source: - messaging-groups: add denied_at column (router checks it) - sessions: fix container_status (idle is unused, stopped is auto-restarted by sweep) - wirings: add note that threaded adapters force per-thread Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
36
src/cli/resources/approvals.ts
Normal file
36
src/cli/resources/approvals.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { registerResource } from '../crud.js';
|
||||
|
||||
registerResource({
|
||||
name: 'approval',
|
||||
plural: 'approvals',
|
||||
table: 'pending_approvals',
|
||||
description:
|
||||
'Pending approval — in-flight approval cards waiting for an admin response. Created by requestApproval() (self-mod install_packages/add_mcp_server) and OneCLI credential approval flow. Rows are deleted after the admin approves/rejects or the request expires.',
|
||||
idColumn: 'approval_id',
|
||||
columns: [
|
||||
{ name: 'approval_id', type: 'string', description: 'Unique approval identifier (also used as the card questionId).' },
|
||||
{ name: 'session_id', type: 'string', description: 'Session that requested the approval. Null for OneCLI credential approvals.' },
|
||||
{ name: 'request_id', type: 'string', description: 'Original request identifier (OneCLI request UUID or same as approval_id).' },
|
||||
{
|
||||
name: 'action',
|
||||
type: 'string',
|
||||
description: 'Action type — matches the registered approval handler (e.g. install_packages, add_mcp_server, onecli_credential).',
|
||||
},
|
||||
{ name: 'payload', type: 'json', description: 'JSON payload carried through to the approval handler.' },
|
||||
{ name: 'created_at', type: 'string', description: 'Auto-set.' },
|
||||
{ name: 'agent_group_id', type: 'string', description: 'Originating agent group.' },
|
||||
{ name: 'channel_type', type: 'string', description: 'Channel the approval card was delivered on.' },
|
||||
{ name: 'platform_id', type: 'string', description: 'Platform chat ID the card was delivered to.' },
|
||||
{ name: 'platform_message_id', type: 'string', description: 'Platform message ID of the delivered card (for editing on expiry).' },
|
||||
{ name: 'expires_at', type: 'string', description: 'When this approval expires (OneCLI gateway TTL).' },
|
||||
{
|
||||
name: 'status',
|
||||
type: 'string',
|
||||
description: 'Current status.',
|
||||
enum: ['pending', 'approved', 'rejected', 'expired'],
|
||||
},
|
||||
{ name: 'title', type: 'string', description: 'Card title shown to the admin.' },
|
||||
{ name: 'options_json', type: 'json', description: 'Card button options as JSON array.' },
|
||||
],
|
||||
operations: { list: 'open', get: 'open' },
|
||||
});
|
||||
Reference in New Issue
Block a user