@kb-labs/agent-entry 2.94.0 → 2.98.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.
Files changed (83) hide show
  1. package/dist/cli/commands/diff.js +4 -4
  2. package/dist/cli/commands/diff.js.map +1 -1
  3. package/dist/cli/commands/history.js +6 -6
  4. package/dist/cli/commands/history.js.map +1 -1
  5. package/dist/cli/commands/quality-report.js +3 -3
  6. package/dist/cli/commands/quality-report.js.map +1 -1
  7. package/dist/cli/commands/rollback.js +1 -1
  8. package/dist/cli/commands/rollback.js.map +1 -1
  9. package/dist/cli/commands/run.js +24 -7
  10. package/dist/cli/commands/run.js.map +1 -1
  11. package/dist/cli/commands/trace-context.js +3 -3
  12. package/dist/cli/commands/trace-context.js.map +1 -1
  13. package/dist/cli/commands/trace-diagnose.js +3 -3
  14. package/dist/cli/commands/trace-diagnose.js.map +1 -1
  15. package/dist/cli/commands/trace-stats.js +3 -3
  16. package/dist/cli/commands/trace-stats.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +40 -35
  19. package/dist/index.js.map +1 -1
  20. package/dist/manifest.d.ts +62 -7
  21. package/dist/manifest.js +40 -35
  22. package/dist/manifest.js.map +1 -1
  23. package/dist/rest/handlers/approve-handler.js +51 -47
  24. package/dist/rest/handlers/approve-handler.js.map +1 -1
  25. package/dist/rest/handlers/approve-session-plan-handler.js +38 -34
  26. package/dist/rest/handlers/approve-session-plan-handler.js.map +1 -1
  27. package/dist/rest/handlers/correct-handler.js +49 -45
  28. package/dist/rest/handlers/correct-handler.js.map +1 -1
  29. package/dist/rest/handlers/create-session-handler.js +17 -13
  30. package/dist/rest/handlers/create-session-handler.js.map +1 -1
  31. package/dist/rest/handlers/execute-session-plan-handler.js +216 -208
  32. package/dist/rest/handlers/execute-session-plan-handler.js.map +1 -1
  33. package/dist/rest/handlers/generate-spec-handler.js +103 -98
  34. package/dist/rest/handlers/generate-spec-handler.js.map +1 -1
  35. package/dist/rest/handlers/get-file-diff-handler.js +35 -31
  36. package/dist/rest/handlers/get-file-diff-handler.js.map +1 -1
  37. package/dist/rest/handlers/get-session-handler.js +15 -11
  38. package/dist/rest/handlers/get-session-handler.js.map +1 -1
  39. package/dist/rest/handlers/get-session-plan-handler.js +28 -24
  40. package/dist/rest/handlers/get-session-plan-handler.js.map +1 -1
  41. package/dist/rest/handlers/get-session-turns-handler.js +27 -23
  42. package/dist/rest/handlers/get-session-turns-handler.js.map +1 -1
  43. package/dist/rest/handlers/get-spec-handler.js +22 -18
  44. package/dist/rest/handlers/get-spec-handler.js.map +1 -1
  45. package/dist/rest/handlers/list-file-changes-handler.js +25 -21
  46. package/dist/rest/handlers/list-file-changes-handler.js.map +1 -1
  47. package/dist/rest/handlers/list-sessions-handler.js +16 -12
  48. package/dist/rest/handlers/list-sessions-handler.js.map +1 -1
  49. package/dist/rest/handlers/rollback-handler.js +73 -69
  50. package/dist/rest/handlers/rollback-handler.js.map +1 -1
  51. package/dist/rest/handlers/run-handler.js +151 -147
  52. package/dist/rest/handlers/run-handler.js.map +1 -1
  53. package/dist/rest/handlers/sessions-handler.js +47 -35
  54. package/dist/rest/handlers/sessions-handler.js.map +1 -1
  55. package/dist/rest/handlers/status-handler.js +33 -29
  56. package/dist/rest/handlers/status-handler.js.map +1 -1
  57. package/dist/rest/handlers/stop-handler.js +37 -33
  58. package/dist/rest/handlers/stop-handler.js.map +1 -1
  59. package/dist/widgets/117.js +24 -1
  60. package/dist/widgets/165.js +1 -1
  61. package/dist/widgets/370.js +1 -1
  62. package/dist/widgets/405.js +1 -1
  63. package/dist/widgets/{805.js → 46.js} +92 -92
  64. package/dist/widgets/50.js +1 -1
  65. package/dist/widgets/546.js +1 -1
  66. package/dist/widgets/62.js +96 -0
  67. package/dist/widgets/648.js +1 -0
  68. package/dist/widgets/669.js +1 -1
  69. package/dist/widgets/733.js +34 -0
  70. package/dist/widgets/775.js +1 -1
  71. package/dist/widgets/78.js +1 -0
  72. package/dist/widgets/968.js +2 -2
  73. package/dist/widgets/__federation_expose_AgentsPage.js +1 -1
  74. package/dist/widgets/mf-manifest.json +31 -31
  75. package/dist/widgets/mf-stats.json +41 -41
  76. package/dist/widgets/remoteEntry.js +4 -4
  77. package/dist/ws/session-stream-handler.js +17 -6
  78. package/dist/ws/session-stream-handler.js.map +1 -1
  79. package/package.json +16 -15
  80. package/dist/widgets/300.js +0 -34
  81. package/dist/widgets/418.js +0 -38
  82. package/dist/widgets/451.js +0 -1
  83. package/dist/widgets/694.js +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/manifest.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * KB Labs Agent Plugin - Manifest V3\n */\n\nimport {\n combinePermissions,\n kbPlatformPreset,\n defineCommandFlags,\n} from '@kb-labs/sdk';\nimport {\n AGENTS_BASE_PATH,\n AGENTS_WS_BASE_PATH,\n AGENTS_ROUTES,\n AGENTS_WS_CHANNELS,\n} from '@kb-labs/agent-contracts';\n\n/**\n * Command flags for agent:run (unified command with modes)\n */\nconst runFlags = {\n task: {\n type: 'string',\n description: 'Task description',\n },\n mode: {\n type: 'string',\n description: 'Agent mode: execute (default), plan, edit, debug',\n default: 'execute',\n },\n 'session-id': {\n type: 'string',\n description: 'Session ID (auto-generated if not provided)',\n },\n complexity: {\n type: 'string',\n description: 'Task complexity (for plan mode): simple, medium, complex',\n },\n approve: {\n type: 'boolean',\n description: 'Auto-approve generated plan (supported with --mode=plan)',\n default: false,\n },\n execute: {\n type: 'boolean',\n description: 'After plan is approved, immediately execute it (use with --mode=plan --approve)',\n default: false,\n },\n files: {\n type: 'array',\n description: 'Target files (for edit mode)',\n },\n trace: {\n type: 'string',\n description: 'Trace file path (for debug mode)',\n },\n 'dry-run': {\n type: 'boolean',\n description: 'Preview changes without applying (for edit mode)',\n default: false,\n },\n verbose: {\n type: 'boolean',\n description: 'Verbose output',\n default: false,\n },\n debug: {\n type: 'boolean',\n description: 'Enable debug mode: emit full prompts and responses as llm:debug events',\n default: false,\n },\n timeout: {\n type: 'number',\n description: 'Abort agent execution after this many seconds (exit code 124). No timeout by default.',\n },\n budget: {\n type: 'number',\n description: 'Override token budget (e.g. 300000 for heavy tasks). Overrides config value.',\n },\n json: {\n type: 'boolean',\n description: 'Output structured JSON result instead of human-readable output.',\n },\n} as const;\n\n/**\n * Plugin permissions\n */\nconst pluginPermissions = combinePermissions()\n .with(kbPlatformPreset)\n .withFs({\n mode: 'readWrite',\n allow: ['.agent-memory/**', '**/*'], // Allow filesystem operations in working dir\n })\n .withPlatform({\n llm: true, // Full LLM access for agent execution\n cache: ['agent:'], // Cache namespace prefix\n analytics: true, // Track agent usage\n })\n .withQuotas({\n timeoutMs: 1800000, // 30 min for complex tasks\n memoryMb: 1024,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/agent',\n version: '0.1.0',\n\n display: {\n name: 'Agent System',\n description: 'Autonomous agent system with LLM tool calling, task orchestration, and tier escalation.',\n tags: ['agent', 'autonomous', 'llm', 'orchestration'],\n },\n\n // Configuration lives under kb.config.json -> agents\n configSection: 'agents',\n\n platform: {\n requires: ['llm'],\n optional: ['cache', 'analytics', 'logger'],\n },\n\n cli: {\n commands: [\n {\n id: 'run',\n group: 'agent',\n describe: 'Run agent with specified mode (execute/plan/edit/debug)',\n longDescription:\n 'Unified agent command with multiple modes: ' +\n 'execute (default) - run task immediately, ' +\n 'plan - generate execution plan without running, ' +\n 'edit - modify existing files, ' +\n 'debug - analyze errors with trace context. ' +\n 'Supports filesystem, search, shell, memory, and user interaction tools.',\n\n handler: './cli/commands/run.js#default',\n handlerPath: './cli/commands/run.js',\n\n flags: defineCommandFlags(runFlags),\n\n examples: [\n 'kb agent run --task=\"Create analytics system\"',\n 'kb agent run --mode=plan --task=\"Add auth\" --complexity=complex',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve --execute',\n 'kb agent run --mode=edit --task=\"Fix bug\" --files src/auth.ts',\n 'kb agent run --mode=debug --task=\"Why crash?\" --trace .kb/traces/trace-123.json',\n 'kb agent run --task=\"Refactor auth module\" --timeout=120',\n ],\n },\n // Trace debugging commands (AI-friendly)\n {\n id: 'trace:stats',\n group: 'agent',\n describe: 'Show trace statistics with cost and performance metrics',\n longDescription:\n 'Analyze trace file to show comprehensive statistics: ' +\n 'iterations, LLM calls, token usage, tool usage, timing, and cost. ' +\n 'Supports --json flag for AI agent consumption.',\n\n handler: './cli/commands/trace-stats.js#default',\n handlerPath: './cli/commands/trace-stats.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace stats --task-id=task-2026-01-29',\n 'kb agent trace stats --task-id=task-123 --json',\n ],\n },\n {\n id: 'trace:filter',\n group: 'agent',\n describe: 'Filter trace events by type for debugging',\n longDescription:\n 'Filter trace events by type (llm:call, tool:execution, error:captured, etc.). ' +\n 'Use this to debug specific aspects of agent execution. ' +\n 'Supports --json flag for programmatic access.',\n\n handler: './cli/commands/trace-filter.js#default',\n handlerPath: './cli/commands/trace-filter.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n type: { type: 'string', description: 'Event type to filter (llm:call, tool:execution, etc.)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace filter --task-id=task-123 --type=llm:call',\n 'kb agent trace filter --task-id=task-123 --type=error:captured --json',\n ],\n },\n {\n id: 'trace:iteration',\n group: 'agent',\n describe: 'View all events for a specific iteration',\n longDescription:\n 'Show all trace events for a specific iteration number. ' +\n 'Useful for debugging what happened in a particular loop iteration. ' +\n 'Includes summary statistics and event timeline.',\n\n handler: './cli/commands/trace-iteration.js#default',\n handlerPath: './cli/commands/trace-iteration.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Iteration number (1-based)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace iteration --task-id=task-123 --iteration=3',\n 'kb agent trace iteration --task-id=task-123 --iteration=5 --json',\n ],\n },\n {\n id: 'trace:context',\n group: 'agent',\n describe: 'View what the LLM sees at each iteration — context window, truncations, responses',\n longDescription:\n 'Shows the full context timeline for debugging agent behavior. ' +\n 'For each LLM call: what messages are in the sliding window, ' +\n 'what was truncated/dropped, and what the LLM responded with.',\n\n handler: './cli/commands/trace-context.js#default',\n handlerPath: './cli/commands/trace-context.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Filter to specific iteration' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace context --task-id=task-123',\n 'kb agent trace context --task-id=task-123 --iteration=3',\n 'kb agent trace context --task-id=task-123 --json',\n ],\n },\n {\n id: 'trace:diagnose',\n group: 'agent',\n describe: 'Quick diagnostic analysis — answers \"what went wrong?\" in one command',\n longDescription:\n 'Comprehensive diagnostic report for agent execution. ' +\n 'Analyzes errors, context window health (drops, truncations), ' +\n 'tool failures, LLM reasoning text, loop detection, and quality indicators. ' +\n 'One command to understand any agent issue.',\n\n handler: './cli/commands/trace-diagnose.js#default',\n handlerPath: './cli/commands/trace-diagnose.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace diagnose --task-id=task-123',\n 'kb agent trace diagnose --task-id=task-123 --json',\n ],\n },\n {\n id: 'quality:report',\n group: 'agent',\n describe: 'Show quality control report for recent agent runs',\n longDescription:\n 'Aggregates agent KPI telemetry from analytics buffer and shows ' +\n 'quality, token usage, tool efficiency, drift, and regression alerts. ' +\n 'Useful for continuous quality control and cost/performance monitoring.',\n\n handler: './cli/commands/quality-report.js#default',\n handlerPath: './cli/commands/quality-report.js',\n\n flags: defineCommandFlags({\n days: { type: 'number', description: 'Lookback period in days', default: 1 },\n limit: { type: 'number', description: 'Max KPI runs to analyze', default: 200 },\n 'session-id': { type: 'string', description: 'Filter by session ID' },\n json: { type: 'boolean', description: 'Output JSON for automation', default: false },\n }),\n\n examples: [\n 'kb agent quality report',\n 'kb agent quality report --days=7',\n 'kb agent quality report --session-id=session-123',\n 'kb agent quality report --days=3 --json',\n ],\n },\n // File change history commands\n {\n id: 'history',\n group: 'agent',\n describe: 'Show file change history for agent sessions',\n longDescription:\n 'View file changes made by agents during execution. ' +\n 'Filter by session, file, or agent. Shows timestamps, operations, and change metadata.',\n\n handler: './cli/commands/history.js#default',\n handlerPath: './cli/commands/history.js',\n\n flags: defineCommandFlags({\n 'session-id': { type: 'string', description: 'Session ID to filter by' },\n file: { type: 'string', description: 'File path to filter by' },\n 'agent-id': { type: 'string', description: 'Agent ID to filter by' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent history',\n 'kb agent history --session-id=session-123',\n 'kb agent history --file=src/index.ts',\n 'kb agent history --agent-id=agent-abc --json',\n ],\n },\n {\n id: 'diff',\n group: 'agent',\n describe: 'Show diff for specific file change',\n longDescription:\n 'Display line-by-line diff for a specific file change. ' +\n 'Shows additions, deletions, and modifications with context.',\n\n handler: './cli/commands/diff.js#default',\n handlerPath: './cli/commands/diff.js',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to show diff for' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent diff --change-id=change-abc123',\n 'kb agent diff --change-id=change-abc123 --json',\n ],\n },\n {\n id: 'rollback',\n group: 'agent',\n describe: 'Rollback file changes made by agents',\n longDescription:\n 'Rollback file changes made by agents. ' +\n 'Supports rollback by change ID, file path, agent ID, session, or timestamp. ' +\n 'Use --dry-run to preview changes before applying.',\n\n handler: './cli/commands/rollback.js#default',\n handlerPath: './cli/commands/rollback.js',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to rollback' },\n file: { type: 'string', description: 'File path to rollback all changes for' },\n 'agent-id': { type: 'string', description: 'Agent ID to rollback all changes by' },\n 'session-id': { type: 'string', description: 'Session ID to rollback all changes in' },\n after: { type: 'string', description: 'Rollback all changes after timestamp (ISO 8601)' },\n force: { type: 'boolean', description: 'Force rollback even with conflicts', default: false },\n 'dry-run': { type: 'boolean', description: 'Preview rollback without applying', default: false },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent rollback --change-id=change-abc123',\n 'kb agent rollback --file=src/index.ts --dry-run',\n 'kb agent rollback --agent-id=agent-abc',\n 'kb agent rollback --session-id=session-123',\n 'kb agent rollback --after=\"2026-02-16T10:00:00Z\" --json',\n ],\n },\n ],\n },\n\n capabilities: [],\n\n permissions: pluginPermissions,\n\n // REST API for Agent UI\n rest: {\n basePath: AGENTS_BASE_PATH,\n defaults: {\n timeoutMs: 1800000, // 30 min for long-running tasks\n },\n routes: [\n {\n method: 'POST',\n path: AGENTS_ROUTES.RUN,\n description: 'Start a new agent run',\n handler: './rest/handlers/run-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.RUN_STATUS,\n description: 'Get status of a run',\n handler: './rest/handlers/status-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.CORRECT,\n description: 'Send correction to running agent(s)',\n handler: './rest/handlers/correct-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.STOP,\n description: 'Stop a running agent',\n handler: './rest/handlers/stop-handler.js',\n security: ['none'],\n },\n // Session management routes\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSIONS_LIST,\n description: 'List all sessions',\n handler: './rest/handlers/list-sessions-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_GET,\n description: 'Get session details',\n handler: './rest/handlers/get-session-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_CREATE,\n description: 'Create a new session',\n handler: './rest/handlers/create-session-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_TURNS,\n description: 'Get session turns (turn-based UI)',\n handler: './rest/handlers/get-session-turns-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_GET,\n description: 'Get current session plan',\n handler: './rest/handlers/get-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_APPROVE,\n description: 'Approve current session plan',\n handler: './rest/handlers/approve-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_EXECUTE,\n description: 'Execute approved session plan',\n handler: './rest/handlers/execute-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC,\n description: 'Generate detailed spec from approved plan',\n handler: './rest/handlers/generate-spec-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC_GET,\n description: 'Get current session spec',\n handler: './rest/handlers/get-spec-handler.js',\n security: ['none'],\n },\n // File change history routes (rollback & approve)\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGES,\n description: 'List file changes for session (optionally filtered by runId)',\n handler: './rest/handlers/list-file-changes-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGE_DIFF,\n description: 'Get unified diff for a specific file change',\n handler: './rest/handlers/get-file-diff-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_ROLLBACK,\n description: 'Rollback file changes for a session/run',\n handler: './rest/handlers/rollback-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_APPROVE,\n description: 'Approve file changes for a session/run',\n handler: './rest/handlers/approve-handler.js',\n security: ['none'],\n },\n ],\n },\n\n // WebSocket for real-time event streaming\n ws: {\n basePath: AGENTS_WS_BASE_PATH,\n defaults: {\n auth: 'none',\n idleTimeoutMs: 3600000, // 1 hour\n },\n channels: [\n {\n path: AGENTS_WS_CHANNELS.SESSION_STREAM,\n description: 'Persistent session stream (all runs in session)',\n handler: './ws/session-stream-handler.js',\n auth: 'none',\n },\n ],\n },\n\n artifacts: [\n {\n id: 'agent.memory.json',\n pathTemplate: '.agent-memory/memory.json',\n description: 'Persistent agent memory (facts, sessions, project context).',\n },\n ],\n\n studio: {\n version: 2 as const,\n remoteName: 'agentPlugin',\n pages: [\n {\n id: 'agent.overview',\n title: 'Agent',\n icon: 'RobotOutlined',\n route: '/p/agent',\n entry: './AgentsPage',\n order: 1,\n },\n ],\n menus: [\n {\n id: 'agent',\n label: 'Agent',\n icon: 'RobotOutlined',\n target: 'agent.overview',\n order: 30,\n },\n ],\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/manifest.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * KB Labs Agent Plugin - Manifest V3\n */\n\nimport {\n combinePermissions,\n kbPlatformPreset,\n defineCommandFlags,\n} from '@kb-labs/sdk';\nimport {\n AGENTS_BASE_PATH,\n AGENTS_WS_BASE_PATH,\n AGENTS_ROUTES,\n AGENTS_WS_CHANNELS,\n} from '@kb-labs/agent-contracts';\n\n/**\n * Command flags for agent:run (unified command with modes)\n */\nconst runFlags = {\n task: {\n type: 'string',\n description: 'Task description',\n },\n mode: {\n type: 'string',\n description: 'Agent mode: execute (default), plan, edit, debug',\n default: 'execute',\n },\n 'session-id': {\n type: 'string',\n description: 'Session ID (auto-generated if not provided)',\n },\n complexity: {\n type: 'string',\n description: 'Task complexity (for plan mode): simple, medium, complex',\n },\n approve: {\n type: 'boolean',\n description: 'Auto-approve generated plan (supported with --mode=plan)',\n default: false,\n },\n execute: {\n type: 'boolean',\n description: 'After plan is approved, immediately execute it (use with --mode=plan --approve)',\n default: false,\n },\n files: {\n type: 'array',\n description: 'Target files (for edit mode)',\n },\n trace: {\n type: 'string',\n description: 'Trace file path (for debug mode)',\n },\n 'dry-run': {\n type: 'boolean',\n description: 'Preview changes without applying (for edit mode)',\n default: false,\n },\n verbose: {\n type: 'boolean',\n description: 'Verbose output',\n default: false,\n },\n debug: {\n type: 'boolean',\n description: 'Enable debug mode: emit full prompts and responses as llm:debug events',\n default: false,\n },\n timeout: {\n type: 'number',\n description: 'Abort agent execution after this many seconds (exit code 124). No timeout by default.',\n },\n budget: {\n type: 'number',\n description: 'Override token budget (e.g. 300000 for heavy tasks). Overrides config value.',\n },\n json: {\n type: 'boolean',\n description: 'Output structured JSON result instead of human-readable output.',\n },\n} as const;\n\n/**\n * Plugin permissions\n */\nconst pluginPermissions = combinePermissions()\n .with(kbPlatformPreset)\n .withFs({\n mode: 'readWrite',\n allow: ['.agent-memory/**', '**/*'], // Allow filesystem operations in working dir\n })\n .withPlatform({\n llm: true, // Full LLM access for agent execution\n cache: ['agent:'], // Cache namespace prefix\n analytics: true, // Track agent usage\n })\n .withQuotas({\n timeoutMs: 1800000, // 30 min for complex tasks\n memoryMb: 1024,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/agent',\n version: '0.1.0',\n\n display: {\n name: 'Agent System',\n description: 'Autonomous agents, tool calling, and task orchestration',\n tags: ['agent', 'autonomous', 'llm', 'orchestration'],\n },\n\n // Configuration lives under kb.config.json -> agents\n configSection: 'agents',\n\n platform: {\n requires: ['llm'],\n optional: ['cache', 'analytics', 'logger'],\n },\n\n cli: {\n groupMeta: [\n { path: 'agent', describe: 'Autonomous agent commands' },\n { path: 'agent trace', describe: 'Agent trace debugging commands' },\n { path: 'agent quality', describe: 'Agent quality control commands' },\n ],\n commands: [\n {\n path: 'agent run',\n category: 'Run',\n describe: 'Run agent task (execute, plan, edit, or debug)',\n operationType: 'execute' as const,\n longDescription:\n 'Unified agent command with multiple modes: ' +\n 'execute (default) - run task immediately, ' +\n 'plan - generate execution plan without running, ' +\n 'edit - modify existing files, ' +\n 'debug - analyze errors with trace context. ' +\n 'Supports filesystem, search, shell, memory, and user interaction tools.',\n\n handler: './cli/commands/run.js#default',\n\n flags: defineCommandFlags(runFlags),\n\n examples: [\n 'kb agent run --task=\"Create analytics system\"',\n 'kb agent run --mode=plan --task=\"Add auth\" --complexity=complex',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve --execute',\n 'kb agent run --mode=edit --task=\"Fix bug\" --files src/auth.ts',\n 'kb agent run --mode=debug --task=\"Why crash?\" --trace .kb/traces/trace-123.json',\n 'kb agent run --task=\"Refactor auth module\" --timeout=120',\n ],\n },\n // Trace debugging commands (AI-friendly)\n {\n path: 'agent trace stats',\n category: 'Trace',\n describe: 'Show trace statistics: tokens, cost, timing',\n operationType: 'read' as const,\n longDescription:\n 'Analyze trace file to show comprehensive statistics: ' +\n 'iterations, LLM calls, token usage, tool usage, timing, and cost. ' +\n 'Supports --json flag for AI agent consumption.',\n\n handler: './cli/commands/trace-stats.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace stats --task-id=task-2026-01-29',\n 'kb agent trace stats --task-id=task-123 --json',\n ],\n },\n {\n path: 'agent trace filter',\n category: 'Trace',\n describe: 'Filter trace events by type for debugging',\n operationType: 'read' as const,\n longDescription:\n 'Filter trace events by type (llm:call, tool:execution, error:captured, etc.). ' +\n 'Use this to debug specific aspects of agent execution. ' +\n 'Supports --json flag for programmatic access.',\n\n handler: './cli/commands/trace-filter.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n type: { type: 'string', description: 'Event type to filter (llm:call, tool:execution, etc.)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace filter --task-id=task-123 --type=llm:call',\n 'kb agent trace filter --task-id=task-123 --type=error:captured --json',\n ],\n },\n {\n path: 'agent trace iteration',\n category: 'Trace',\n describe: 'View all events for a specific iteration',\n operationType: 'read' as const,\n longDescription:\n 'Show all trace events for a specific iteration number. ' +\n 'Useful for debugging what happened in a particular loop iteration. ' +\n 'Includes summary statistics and event timeline.',\n\n handler: './cli/commands/trace-iteration.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Iteration number (1-based)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace iteration --task-id=task-123 --iteration=3',\n 'kb agent trace iteration --task-id=task-123 --iteration=5 --json',\n ],\n },\n {\n path: 'agent trace context',\n category: 'Trace',\n describe: 'Inspect context window and truncations per iteration',\n operationType: 'read' as const,\n longDescription:\n 'Shows the full context timeline for debugging agent behavior. ' +\n 'For each LLM call: what messages are in the sliding window, ' +\n 'what was truncated/dropped, and what the LLM responded with.',\n\n handler: './cli/commands/trace-context.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Filter to specific iteration' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace context --task-id=task-123',\n 'kb agent trace context --task-id=task-123 --iteration=3',\n 'kb agent trace context --task-id=task-123 --json',\n ],\n },\n {\n path: 'agent trace diagnose',\n category: 'Trace',\n describe: 'Diagnose what went wrong in an agent run',\n operationType: 'analyze' as const,\n longDescription:\n 'Comprehensive diagnostic report for agent execution. ' +\n 'Analyzes errors, context window health (drops, truncations), ' +\n 'tool failures, LLM reasoning text, loop detection, and quality indicators. ' +\n 'One command to understand any agent issue.',\n\n handler: './cli/commands/trace-diagnose.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace diagnose --task-id=task-123',\n 'kb agent trace diagnose --task-id=task-123 --json',\n ],\n },\n {\n path: 'agent quality report',\n category: 'Quality',\n describe: 'Show quality control report for recent agent runs',\n operationType: 'analyze' as const,\n longDescription:\n 'Aggregates agent KPI telemetry from analytics buffer and shows ' +\n 'quality, token usage, tool efficiency, drift, and regression alerts. ' +\n 'Useful for continuous quality control and cost/performance monitoring.',\n\n handler: './cli/commands/quality-report.js#default',\n\n flags: defineCommandFlags({\n days: { type: 'number', description: 'Lookback period in days', default: 1 },\n limit: { type: 'number', description: 'Max KPI runs to analyze', default: 200 },\n 'session-id': { type: 'string', description: 'Filter by session ID' },\n json: { type: 'boolean', description: 'Output JSON for automation', default: false },\n }),\n\n examples: [\n 'kb agent quality report',\n 'kb agent quality report --days=7',\n 'kb agent quality report --session-id=session-123',\n 'kb agent quality report --days=3 --json',\n ],\n },\n // File change history commands\n {\n path: 'agent history',\n category: 'History',\n describe: 'Show file change history for agent sessions',\n operationType: 'read' as const,\n longDescription:\n 'View file changes made by agents during execution. ' +\n 'Filter by session, file, or agent. Shows timestamps, operations, and change metadata.',\n\n handler: './cli/commands/history.js#default',\n\n flags: defineCommandFlags({\n 'session-id': { type: 'string', description: 'Session ID to filter by' },\n file: { type: 'string', description: 'File path to filter by' },\n 'agent-id': { type: 'string', description: 'Agent ID to filter by' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent history',\n 'kb agent history --session-id=session-123',\n 'kb agent history --file=src/index.ts',\n 'kb agent history --agent-id=agent-abc --json',\n ],\n },\n {\n path: 'agent diff',\n category: 'History',\n describe: 'Show diff for specific file change',\n operationType: 'read' as const,\n longDescription:\n 'Display line-by-line diff for a specific file change. ' +\n 'Shows additions, deletions, and modifications with context.',\n\n handler: './cli/commands/diff.js#default',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to show diff for' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent diff --change-id=change-abc123',\n 'kb agent diff --change-id=change-abc123 --json',\n ],\n },\n {\n path: 'agent rollback',\n category: 'History',\n describe: 'Rollback file changes made by agents',\n operationType: 'mutate' as const,\n longDescription:\n 'Rollback file changes made by agents. ' +\n 'Supports rollback by change ID, file path, agent ID, session, or timestamp. ' +\n 'Use --dry-run to preview changes before applying.',\n\n handler: './cli/commands/rollback.js#default',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to rollback' },\n file: { type: 'string', description: 'File path to rollback all changes for' },\n 'agent-id': { type: 'string', description: 'Agent ID to rollback all changes by' },\n 'session-id': { type: 'string', description: 'Session ID to rollback all changes in' },\n after: { type: 'string', description: 'Rollback all changes after timestamp (ISO 8601)' },\n force: { type: 'boolean', description: 'Force rollback even with conflicts', default: false },\n 'dry-run': { type: 'boolean', description: 'Preview rollback without applying', default: false },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent rollback --change-id=change-abc123',\n 'kb agent rollback --file=src/index.ts --dry-run',\n 'kb agent rollback --agent-id=agent-abc',\n 'kb agent rollback --session-id=session-123',\n 'kb agent rollback --after=\"2026-02-16T10:00:00Z\" --json',\n ],\n },\n ],\n },\n\n capabilities: [],\n\n permissions: pluginPermissions,\n\n // REST API for Agent UI\n rest: {\n basePath: AGENTS_BASE_PATH,\n defaults: {\n timeoutMs: 1800000, // 30 min for long-running tasks\n },\n routes: [\n {\n method: 'POST',\n path: AGENTS_ROUTES.RUN,\n description: 'Start a new agent run',\n handler: './rest/handlers/run-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.RUN_STATUS,\n description: 'Get status of a run',\n handler: './rest/handlers/status-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.CORRECT,\n description: 'Send correction to running agent(s)',\n handler: './rest/handlers/correct-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.STOP,\n description: 'Stop a running agent',\n handler: './rest/handlers/stop-handler.js',\n security: ['none'],\n },\n // Session management routes\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSIONS_LIST,\n description: 'List all sessions',\n handler: './rest/handlers/list-sessions-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_GET,\n description: 'Get session details',\n handler: './rest/handlers/get-session-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_CREATE,\n description: 'Create a new session',\n handler: './rest/handlers/create-session-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_TURNS,\n description: 'Get session turns (turn-based UI)',\n handler: './rest/handlers/get-session-turns-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_GET,\n description: 'Get current session plan',\n handler: './rest/handlers/get-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_APPROVE,\n description: 'Approve current session plan',\n handler: './rest/handlers/approve-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_EXECUTE,\n description: 'Execute approved session plan',\n handler: './rest/handlers/execute-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC,\n description: 'Generate detailed spec from approved plan',\n handler: './rest/handlers/generate-spec-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC_GET,\n description: 'Get current session spec',\n handler: './rest/handlers/get-spec-handler.js',\n security: ['none'],\n },\n // File change history routes (rollback & approve)\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGES,\n description: 'List file changes for session (optionally filtered by runId)',\n handler: './rest/handlers/list-file-changes-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGE_DIFF,\n description: 'Get unified diff for a specific file change',\n handler: './rest/handlers/get-file-diff-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_ROLLBACK,\n description: 'Rollback file changes for a session/run',\n handler: './rest/handlers/rollback-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_APPROVE,\n description: 'Approve file changes for a session/run',\n handler: './rest/handlers/approve-handler.js',\n security: ['none'],\n },\n ],\n },\n\n // WebSocket for real-time event streaming\n ws: {\n basePath: AGENTS_WS_BASE_PATH,\n defaults: {\n auth: 'none',\n idleTimeoutMs: 3600000, // 1 hour\n },\n channels: [\n {\n path: AGENTS_WS_CHANNELS.SESSION_STREAM,\n description: 'Persistent session stream (all runs in session)',\n handler: './ws/session-stream-handler.js',\n auth: 'none',\n },\n ],\n },\n\n artifacts: [\n {\n id: 'agent.memory.json',\n pathTemplate: '.agent-memory/memory.json',\n description: 'Persistent agent memory (facts, sessions, project context).',\n },\n ],\n\n studio: {\n version: 2 as const,\n remoteName: 'agentPlugin',\n pages: [\n {\n id: 'agent.overview',\n title: 'Agent',\n icon: 'RobotOutlined',\n route: '/p/agent',\n entry: './AgentsPage',\n order: 1,\n },\n ],\n menus: [\n {\n id: 'agent',\n label: 'Agent',\n icon: 'RobotOutlined',\n target: 'agent.overview',\n order: 30,\n },\n ],\n },\n};\n"]}
@@ -1,4 +1,4 @@
1
- import * as _kb_labs_perm_presets from '@kb-labs/perm-presets';
1
+ import * as _kb_labs_plugin_contracts from '@kb-labs/plugin-contracts';
2
2
 
3
3
  /**
4
4
  * KB Labs Agent Plugin - Manifest V3
@@ -18,13 +18,17 @@ declare const manifest: {
18
18
  optional: string[];
19
19
  };
20
20
  cli: {
21
- commands: {
22
- id: string;
23
- group: string;
21
+ groupMeta: {
22
+ path: string;
23
+ describe: string;
24
+ }[];
25
+ commands: ({
26
+ path: string;
27
+ category: string;
24
28
  describe: string;
29
+ operationType: "execute";
25
30
  longDescription: string;
26
31
  handler: string;
27
- handlerPath: string;
28
32
  flags: {
29
33
  name: string;
30
34
  type: "string" | "boolean" | "number" | "array";
@@ -35,10 +39,61 @@ declare const manifest: {
35
39
  required?: boolean;
36
40
  }[];
37
41
  examples: string[];
38
- }[];
42
+ } | {
43
+ path: string;
44
+ category: string;
45
+ describe: string;
46
+ operationType: "read";
47
+ longDescription: string;
48
+ handler: string;
49
+ flags: {
50
+ name: string;
51
+ type: "string" | "boolean" | "number" | "array";
52
+ alias?: string;
53
+ default?: unknown;
54
+ description?: string;
55
+ choices?: string[];
56
+ required?: boolean;
57
+ }[];
58
+ examples: string[];
59
+ } | {
60
+ path: string;
61
+ category: string;
62
+ describe: string;
63
+ operationType: "analyze";
64
+ longDescription: string;
65
+ handler: string;
66
+ flags: {
67
+ name: string;
68
+ type: "string" | "boolean" | "number" | "array";
69
+ alias?: string;
70
+ default?: unknown;
71
+ description?: string;
72
+ choices?: string[];
73
+ required?: boolean;
74
+ }[];
75
+ examples: string[];
76
+ } | {
77
+ path: string;
78
+ category: string;
79
+ describe: string;
80
+ operationType: "mutate";
81
+ longDescription: string;
82
+ handler: string;
83
+ flags: {
84
+ name: string;
85
+ type: "string" | "boolean" | "number" | "array";
86
+ alias?: string;
87
+ default?: unknown;
88
+ description?: string;
89
+ choices?: string[];
90
+ required?: boolean;
91
+ }[];
92
+ examples: string[];
93
+ })[];
39
94
  };
40
95
  capabilities: never[];
41
- permissions: _kb_labs_perm_presets.RuntimePermissionSpec;
96
+ permissions: _kb_labs_plugin_contracts.PermissionSpec;
42
97
  rest: {
43
98
  basePath: "/v1/plugins/agents";
44
99
  defaults: {
package/dist/manifest.js CHANGED
@@ -88,7 +88,7 @@ var manifest = {
88
88
  version: "0.1.0",
89
89
  display: {
90
90
  name: "Agent System",
91
- description: "Autonomous agent system with LLM tool calling, task orchestration, and tier escalation.",
91
+ description: "Autonomous agents, tool calling, and task orchestration",
92
92
  tags: ["agent", "autonomous", "llm", "orchestration"]
93
93
  },
94
94
  // Configuration lives under kb.config.json -> agents
@@ -98,14 +98,19 @@ var manifest = {
98
98
  optional: ["cache", "analytics", "logger"]
99
99
  },
100
100
  cli: {
101
+ groupMeta: [
102
+ { path: "agent", describe: "Autonomous agent commands" },
103
+ { path: "agent trace", describe: "Agent trace debugging commands" },
104
+ { path: "agent quality", describe: "Agent quality control commands" }
105
+ ],
101
106
  commands: [
102
107
  {
103
- id: "run",
104
- group: "agent",
105
- describe: "Run agent with specified mode (execute/plan/edit/debug)",
108
+ path: "agent run",
109
+ category: "Run",
110
+ describe: "Run agent task (execute, plan, edit, or debug)",
111
+ operationType: "execute",
106
112
  longDescription: "Unified agent command with multiple modes: execute (default) - run task immediately, plan - generate execution plan without running, edit - modify existing files, debug - analyze errors with trace context. Supports filesystem, search, shell, memory, and user interaction tools.",
107
113
  handler: "./cli/commands/run.js#default",
108
- handlerPath: "./cli/commands/run.js",
109
114
  flags: defineCommandFlags(runFlags),
110
115
  examples: [
111
116
  'kb agent run --task="Create analytics system"',
@@ -119,12 +124,12 @@ var manifest = {
119
124
  },
120
125
  // Trace debugging commands (AI-friendly)
121
126
  {
122
- id: "trace:stats",
123
- group: "agent",
124
- describe: "Show trace statistics with cost and performance metrics",
127
+ path: "agent trace stats",
128
+ category: "Trace",
129
+ describe: "Show trace statistics: tokens, cost, timing",
130
+ operationType: "read",
125
131
  longDescription: "Analyze trace file to show comprehensive statistics: iterations, LLM calls, token usage, tool usage, timing, and cost. Supports --json flag for AI agent consumption.",
126
132
  handler: "./cli/commands/trace-stats.js#default",
127
- handlerPath: "./cli/commands/trace-stats.js",
128
133
  flags: defineCommandFlags({
129
134
  "task-id": { type: "string", description: "Task ID or trace filename" },
130
135
  json: { type: "boolean", description: "Output JSON for AI agents", default: false }
@@ -135,12 +140,12 @@ var manifest = {
135
140
  ]
136
141
  },
137
142
  {
138
- id: "trace:filter",
139
- group: "agent",
143
+ path: "agent trace filter",
144
+ category: "Trace",
140
145
  describe: "Filter trace events by type for debugging",
146
+ operationType: "read",
141
147
  longDescription: "Filter trace events by type (llm:call, tool:execution, error:captured, etc.). Use this to debug specific aspects of agent execution. Supports --json flag for programmatic access.",
142
148
  handler: "./cli/commands/trace-filter.js#default",
143
- handlerPath: "./cli/commands/trace-filter.js",
144
149
  flags: defineCommandFlags({
145
150
  "task-id": { type: "string", description: "Task ID or trace filename" },
146
151
  type: { type: "string", description: "Event type to filter (llm:call, tool:execution, etc.)" },
@@ -152,12 +157,12 @@ var manifest = {
152
157
  ]
153
158
  },
154
159
  {
155
- id: "trace:iteration",
156
- group: "agent",
160
+ path: "agent trace iteration",
161
+ category: "Trace",
157
162
  describe: "View all events for a specific iteration",
163
+ operationType: "read",
158
164
  longDescription: "Show all trace events for a specific iteration number. Useful for debugging what happened in a particular loop iteration. Includes summary statistics and event timeline.",
159
165
  handler: "./cli/commands/trace-iteration.js#default",
160
- handlerPath: "./cli/commands/trace-iteration.js",
161
166
  flags: defineCommandFlags({
162
167
  "task-id": { type: "string", description: "Task ID or trace filename" },
163
168
  iteration: { type: "number", description: "Iteration number (1-based)" },
@@ -169,12 +174,12 @@ var manifest = {
169
174
  ]
170
175
  },
171
176
  {
172
- id: "trace:context",
173
- group: "agent",
174
- describe: "View what the LLM sees at each iteration \u2014 context window, truncations, responses",
177
+ path: "agent trace context",
178
+ category: "Trace",
179
+ describe: "Inspect context window and truncations per iteration",
180
+ operationType: "read",
175
181
  longDescription: "Shows the full context timeline for debugging agent behavior. For each LLM call: what messages are in the sliding window, what was truncated/dropped, and what the LLM responded with.",
176
182
  handler: "./cli/commands/trace-context.js#default",
177
- handlerPath: "./cli/commands/trace-context.js",
178
183
  flags: defineCommandFlags({
179
184
  "task-id": { type: "string", description: "Task ID or trace filename" },
180
185
  iteration: { type: "number", description: "Filter to specific iteration" },
@@ -187,12 +192,12 @@ var manifest = {
187
192
  ]
188
193
  },
189
194
  {
190
- id: "trace:diagnose",
191
- group: "agent",
192
- describe: 'Quick diagnostic analysis \u2014 answers "what went wrong?" in one command',
195
+ path: "agent trace diagnose",
196
+ category: "Trace",
197
+ describe: "Diagnose what went wrong in an agent run",
198
+ operationType: "analyze",
193
199
  longDescription: "Comprehensive diagnostic report for agent execution. Analyzes errors, context window health (drops, truncations), tool failures, LLM reasoning text, loop detection, and quality indicators. One command to understand any agent issue.",
194
200
  handler: "./cli/commands/trace-diagnose.js#default",
195
- handlerPath: "./cli/commands/trace-diagnose.js",
196
201
  flags: defineCommandFlags({
197
202
  "task-id": { type: "string", description: "Task ID or trace filename" },
198
203
  json: { type: "boolean", description: "Output JSON for AI agents", default: false }
@@ -203,12 +208,12 @@ var manifest = {
203
208
  ]
204
209
  },
205
210
  {
206
- id: "quality:report",
207
- group: "agent",
211
+ path: "agent quality report",
212
+ category: "Quality",
208
213
  describe: "Show quality control report for recent agent runs",
214
+ operationType: "analyze",
209
215
  longDescription: "Aggregates agent KPI telemetry from analytics buffer and shows quality, token usage, tool efficiency, drift, and regression alerts. Useful for continuous quality control and cost/performance monitoring.",
210
216
  handler: "./cli/commands/quality-report.js#default",
211
- handlerPath: "./cli/commands/quality-report.js",
212
217
  flags: defineCommandFlags({
213
218
  days: { type: "number", description: "Lookback period in days", default: 1 },
214
219
  limit: { type: "number", description: "Max KPI runs to analyze", default: 200 },
@@ -224,12 +229,12 @@ var manifest = {
224
229
  },
225
230
  // File change history commands
226
231
  {
227
- id: "history",
228
- group: "agent",
232
+ path: "agent history",
233
+ category: "History",
229
234
  describe: "Show file change history for agent sessions",
235
+ operationType: "read",
230
236
  longDescription: "View file changes made by agents during execution. Filter by session, file, or agent. Shows timestamps, operations, and change metadata.",
231
237
  handler: "./cli/commands/history.js#default",
232
- handlerPath: "./cli/commands/history.js",
233
238
  flags: defineCommandFlags({
234
239
  "session-id": { type: "string", description: "Session ID to filter by" },
235
240
  file: { type: "string", description: "File path to filter by" },
@@ -244,12 +249,12 @@ var manifest = {
244
249
  ]
245
250
  },
246
251
  {
247
- id: "diff",
248
- group: "agent",
252
+ path: "agent diff",
253
+ category: "History",
249
254
  describe: "Show diff for specific file change",
255
+ operationType: "read",
250
256
  longDescription: "Display line-by-line diff for a specific file change. Shows additions, deletions, and modifications with context.",
251
257
  handler: "./cli/commands/diff.js#default",
252
- handlerPath: "./cli/commands/diff.js",
253
258
  flags: defineCommandFlags({
254
259
  "change-id": { type: "string", description: "Change ID to show diff for" },
255
260
  json: { type: "boolean", description: "Output JSON for AI agents", default: false }
@@ -260,12 +265,12 @@ var manifest = {
260
265
  ]
261
266
  },
262
267
  {
263
- id: "rollback",
264
- group: "agent",
268
+ path: "agent rollback",
269
+ category: "History",
265
270
  describe: "Rollback file changes made by agents",
271
+ operationType: "mutate",
266
272
  longDescription: "Rollback file changes made by agents. Supports rollback by change ID, file path, agent ID, session, or timestamp. Use --dry-run to preview changes before applying.",
267
273
  handler: "./cli/commands/rollback.js#default",
268
- handlerPath: "./cli/commands/rollback.js",
269
274
  flags: defineCommandFlags({
270
275
  "change-id": { type: "string", description: "Change ID to rollback" },
271
276
  file: { type: "string", description: "File path to rollback all changes for" },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/manifest.ts"],"names":[],"mappings":"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","file":"manifest.js","sourcesContent":["/**\n * KB Labs Agent Plugin - Manifest V3\n */\n\nimport {\n combinePermissions,\n kbPlatformPreset,\n defineCommandFlags,\n} from '@kb-labs/sdk';\nimport {\n AGENTS_BASE_PATH,\n AGENTS_WS_BASE_PATH,\n AGENTS_ROUTES,\n AGENTS_WS_CHANNELS,\n} from '@kb-labs/agent-contracts';\n\n/**\n * Command flags for agent:run (unified command with modes)\n */\nconst runFlags = {\n task: {\n type: 'string',\n description: 'Task description',\n },\n mode: {\n type: 'string',\n description: 'Agent mode: execute (default), plan, edit, debug',\n default: 'execute',\n },\n 'session-id': {\n type: 'string',\n description: 'Session ID (auto-generated if not provided)',\n },\n complexity: {\n type: 'string',\n description: 'Task complexity (for plan mode): simple, medium, complex',\n },\n approve: {\n type: 'boolean',\n description: 'Auto-approve generated plan (supported with --mode=plan)',\n default: false,\n },\n execute: {\n type: 'boolean',\n description: 'After plan is approved, immediately execute it (use with --mode=plan --approve)',\n default: false,\n },\n files: {\n type: 'array',\n description: 'Target files (for edit mode)',\n },\n trace: {\n type: 'string',\n description: 'Trace file path (for debug mode)',\n },\n 'dry-run': {\n type: 'boolean',\n description: 'Preview changes without applying (for edit mode)',\n default: false,\n },\n verbose: {\n type: 'boolean',\n description: 'Verbose output',\n default: false,\n },\n debug: {\n type: 'boolean',\n description: 'Enable debug mode: emit full prompts and responses as llm:debug events',\n default: false,\n },\n timeout: {\n type: 'number',\n description: 'Abort agent execution after this many seconds (exit code 124). No timeout by default.',\n },\n budget: {\n type: 'number',\n description: 'Override token budget (e.g. 300000 for heavy tasks). Overrides config value.',\n },\n json: {\n type: 'boolean',\n description: 'Output structured JSON result instead of human-readable output.',\n },\n} as const;\n\n/**\n * Plugin permissions\n */\nconst pluginPermissions = combinePermissions()\n .with(kbPlatformPreset)\n .withFs({\n mode: 'readWrite',\n allow: ['.agent-memory/**', '**/*'], // Allow filesystem operations in working dir\n })\n .withPlatform({\n llm: true, // Full LLM access for agent execution\n cache: ['agent:'], // Cache namespace prefix\n analytics: true, // Track agent usage\n })\n .withQuotas({\n timeoutMs: 1800000, // 30 min for complex tasks\n memoryMb: 1024,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/agent',\n version: '0.1.0',\n\n display: {\n name: 'Agent System',\n description: 'Autonomous agent system with LLM tool calling, task orchestration, and tier escalation.',\n tags: ['agent', 'autonomous', 'llm', 'orchestration'],\n },\n\n // Configuration lives under kb.config.json -> agents\n configSection: 'agents',\n\n platform: {\n requires: ['llm'],\n optional: ['cache', 'analytics', 'logger'],\n },\n\n cli: {\n commands: [\n {\n id: 'run',\n group: 'agent',\n describe: 'Run agent with specified mode (execute/plan/edit/debug)',\n longDescription:\n 'Unified agent command with multiple modes: ' +\n 'execute (default) - run task immediately, ' +\n 'plan - generate execution plan without running, ' +\n 'edit - modify existing files, ' +\n 'debug - analyze errors with trace context. ' +\n 'Supports filesystem, search, shell, memory, and user interaction tools.',\n\n handler: './cli/commands/run.js#default',\n handlerPath: './cli/commands/run.js',\n\n flags: defineCommandFlags(runFlags),\n\n examples: [\n 'kb agent run --task=\"Create analytics system\"',\n 'kb agent run --mode=plan --task=\"Add auth\" --complexity=complex',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve --execute',\n 'kb agent run --mode=edit --task=\"Fix bug\" --files src/auth.ts',\n 'kb agent run --mode=debug --task=\"Why crash?\" --trace .kb/traces/trace-123.json',\n 'kb agent run --task=\"Refactor auth module\" --timeout=120',\n ],\n },\n // Trace debugging commands (AI-friendly)\n {\n id: 'trace:stats',\n group: 'agent',\n describe: 'Show trace statistics with cost and performance metrics',\n longDescription:\n 'Analyze trace file to show comprehensive statistics: ' +\n 'iterations, LLM calls, token usage, tool usage, timing, and cost. ' +\n 'Supports --json flag for AI agent consumption.',\n\n handler: './cli/commands/trace-stats.js#default',\n handlerPath: './cli/commands/trace-stats.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace stats --task-id=task-2026-01-29',\n 'kb agent trace stats --task-id=task-123 --json',\n ],\n },\n {\n id: 'trace:filter',\n group: 'agent',\n describe: 'Filter trace events by type for debugging',\n longDescription:\n 'Filter trace events by type (llm:call, tool:execution, error:captured, etc.). ' +\n 'Use this to debug specific aspects of agent execution. ' +\n 'Supports --json flag for programmatic access.',\n\n handler: './cli/commands/trace-filter.js#default',\n handlerPath: './cli/commands/trace-filter.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n type: { type: 'string', description: 'Event type to filter (llm:call, tool:execution, etc.)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace filter --task-id=task-123 --type=llm:call',\n 'kb agent trace filter --task-id=task-123 --type=error:captured --json',\n ],\n },\n {\n id: 'trace:iteration',\n group: 'agent',\n describe: 'View all events for a specific iteration',\n longDescription:\n 'Show all trace events for a specific iteration number. ' +\n 'Useful for debugging what happened in a particular loop iteration. ' +\n 'Includes summary statistics and event timeline.',\n\n handler: './cli/commands/trace-iteration.js#default',\n handlerPath: './cli/commands/trace-iteration.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Iteration number (1-based)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace iteration --task-id=task-123 --iteration=3',\n 'kb agent trace iteration --task-id=task-123 --iteration=5 --json',\n ],\n },\n {\n id: 'trace:context',\n group: 'agent',\n describe: 'View what the LLM sees at each iteration — context window, truncations, responses',\n longDescription:\n 'Shows the full context timeline for debugging agent behavior. ' +\n 'For each LLM call: what messages are in the sliding window, ' +\n 'what was truncated/dropped, and what the LLM responded with.',\n\n handler: './cli/commands/trace-context.js#default',\n handlerPath: './cli/commands/trace-context.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Filter to specific iteration' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace context --task-id=task-123',\n 'kb agent trace context --task-id=task-123 --iteration=3',\n 'kb agent trace context --task-id=task-123 --json',\n ],\n },\n {\n id: 'trace:diagnose',\n group: 'agent',\n describe: 'Quick diagnostic analysis — answers \"what went wrong?\" in one command',\n longDescription:\n 'Comprehensive diagnostic report for agent execution. ' +\n 'Analyzes errors, context window health (drops, truncations), ' +\n 'tool failures, LLM reasoning text, loop detection, and quality indicators. ' +\n 'One command to understand any agent issue.',\n\n handler: './cli/commands/trace-diagnose.js#default',\n handlerPath: './cli/commands/trace-diagnose.js',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace diagnose --task-id=task-123',\n 'kb agent trace diagnose --task-id=task-123 --json',\n ],\n },\n {\n id: 'quality:report',\n group: 'agent',\n describe: 'Show quality control report for recent agent runs',\n longDescription:\n 'Aggregates agent KPI telemetry from analytics buffer and shows ' +\n 'quality, token usage, tool efficiency, drift, and regression alerts. ' +\n 'Useful for continuous quality control and cost/performance monitoring.',\n\n handler: './cli/commands/quality-report.js#default',\n handlerPath: './cli/commands/quality-report.js',\n\n flags: defineCommandFlags({\n days: { type: 'number', description: 'Lookback period in days', default: 1 },\n limit: { type: 'number', description: 'Max KPI runs to analyze', default: 200 },\n 'session-id': { type: 'string', description: 'Filter by session ID' },\n json: { type: 'boolean', description: 'Output JSON for automation', default: false },\n }),\n\n examples: [\n 'kb agent quality report',\n 'kb agent quality report --days=7',\n 'kb agent quality report --session-id=session-123',\n 'kb agent quality report --days=3 --json',\n ],\n },\n // File change history commands\n {\n id: 'history',\n group: 'agent',\n describe: 'Show file change history for agent sessions',\n longDescription:\n 'View file changes made by agents during execution. ' +\n 'Filter by session, file, or agent. Shows timestamps, operations, and change metadata.',\n\n handler: './cli/commands/history.js#default',\n handlerPath: './cli/commands/history.js',\n\n flags: defineCommandFlags({\n 'session-id': { type: 'string', description: 'Session ID to filter by' },\n file: { type: 'string', description: 'File path to filter by' },\n 'agent-id': { type: 'string', description: 'Agent ID to filter by' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent history',\n 'kb agent history --session-id=session-123',\n 'kb agent history --file=src/index.ts',\n 'kb agent history --agent-id=agent-abc --json',\n ],\n },\n {\n id: 'diff',\n group: 'agent',\n describe: 'Show diff for specific file change',\n longDescription:\n 'Display line-by-line diff for a specific file change. ' +\n 'Shows additions, deletions, and modifications with context.',\n\n handler: './cli/commands/diff.js#default',\n handlerPath: './cli/commands/diff.js',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to show diff for' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent diff --change-id=change-abc123',\n 'kb agent diff --change-id=change-abc123 --json',\n ],\n },\n {\n id: 'rollback',\n group: 'agent',\n describe: 'Rollback file changes made by agents',\n longDescription:\n 'Rollback file changes made by agents. ' +\n 'Supports rollback by change ID, file path, agent ID, session, or timestamp. ' +\n 'Use --dry-run to preview changes before applying.',\n\n handler: './cli/commands/rollback.js#default',\n handlerPath: './cli/commands/rollback.js',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to rollback' },\n file: { type: 'string', description: 'File path to rollback all changes for' },\n 'agent-id': { type: 'string', description: 'Agent ID to rollback all changes by' },\n 'session-id': { type: 'string', description: 'Session ID to rollback all changes in' },\n after: { type: 'string', description: 'Rollback all changes after timestamp (ISO 8601)' },\n force: { type: 'boolean', description: 'Force rollback even with conflicts', default: false },\n 'dry-run': { type: 'boolean', description: 'Preview rollback without applying', default: false },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent rollback --change-id=change-abc123',\n 'kb agent rollback --file=src/index.ts --dry-run',\n 'kb agent rollback --agent-id=agent-abc',\n 'kb agent rollback --session-id=session-123',\n 'kb agent rollback --after=\"2026-02-16T10:00:00Z\" --json',\n ],\n },\n ],\n },\n\n capabilities: [],\n\n permissions: pluginPermissions,\n\n // REST API for Agent UI\n rest: {\n basePath: AGENTS_BASE_PATH,\n defaults: {\n timeoutMs: 1800000, // 30 min for long-running tasks\n },\n routes: [\n {\n method: 'POST',\n path: AGENTS_ROUTES.RUN,\n description: 'Start a new agent run',\n handler: './rest/handlers/run-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.RUN_STATUS,\n description: 'Get status of a run',\n handler: './rest/handlers/status-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.CORRECT,\n description: 'Send correction to running agent(s)',\n handler: './rest/handlers/correct-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.STOP,\n description: 'Stop a running agent',\n handler: './rest/handlers/stop-handler.js',\n security: ['none'],\n },\n // Session management routes\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSIONS_LIST,\n description: 'List all sessions',\n handler: './rest/handlers/list-sessions-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_GET,\n description: 'Get session details',\n handler: './rest/handlers/get-session-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_CREATE,\n description: 'Create a new session',\n handler: './rest/handlers/create-session-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_TURNS,\n description: 'Get session turns (turn-based UI)',\n handler: './rest/handlers/get-session-turns-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_GET,\n description: 'Get current session plan',\n handler: './rest/handlers/get-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_APPROVE,\n description: 'Approve current session plan',\n handler: './rest/handlers/approve-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_EXECUTE,\n description: 'Execute approved session plan',\n handler: './rest/handlers/execute-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC,\n description: 'Generate detailed spec from approved plan',\n handler: './rest/handlers/generate-spec-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC_GET,\n description: 'Get current session spec',\n handler: './rest/handlers/get-spec-handler.js',\n security: ['none'],\n },\n // File change history routes (rollback & approve)\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGES,\n description: 'List file changes for session (optionally filtered by runId)',\n handler: './rest/handlers/list-file-changes-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGE_DIFF,\n description: 'Get unified diff for a specific file change',\n handler: './rest/handlers/get-file-diff-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_ROLLBACK,\n description: 'Rollback file changes for a session/run',\n handler: './rest/handlers/rollback-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_APPROVE,\n description: 'Approve file changes for a session/run',\n handler: './rest/handlers/approve-handler.js',\n security: ['none'],\n },\n ],\n },\n\n // WebSocket for real-time event streaming\n ws: {\n basePath: AGENTS_WS_BASE_PATH,\n defaults: {\n auth: 'none',\n idleTimeoutMs: 3600000, // 1 hour\n },\n channels: [\n {\n path: AGENTS_WS_CHANNELS.SESSION_STREAM,\n description: 'Persistent session stream (all runs in session)',\n handler: './ws/session-stream-handler.js',\n auth: 'none',\n },\n ],\n },\n\n artifacts: [\n {\n id: 'agent.memory.json',\n pathTemplate: '.agent-memory/memory.json',\n description: 'Persistent agent memory (facts, sessions, project context).',\n },\n ],\n\n studio: {\n version: 2 as const,\n remoteName: 'agentPlugin',\n pages: [\n {\n id: 'agent.overview',\n title: 'Agent',\n icon: 'RobotOutlined',\n route: '/p/agent',\n entry: './AgentsPage',\n order: 1,\n },\n ],\n menus: [\n {\n id: 'agent',\n label: 'Agent',\n icon: 'RobotOutlined',\n target: 'agent.overview',\n order: 30,\n },\n ],\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/manifest.ts"],"names":[],"mappings":"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","file":"manifest.js","sourcesContent":["/**\n * KB Labs Agent Plugin - Manifest V3\n */\n\nimport {\n combinePermissions,\n kbPlatformPreset,\n defineCommandFlags,\n} from '@kb-labs/sdk';\nimport {\n AGENTS_BASE_PATH,\n AGENTS_WS_BASE_PATH,\n AGENTS_ROUTES,\n AGENTS_WS_CHANNELS,\n} from '@kb-labs/agent-contracts';\n\n/**\n * Command flags for agent:run (unified command with modes)\n */\nconst runFlags = {\n task: {\n type: 'string',\n description: 'Task description',\n },\n mode: {\n type: 'string',\n description: 'Agent mode: execute (default), plan, edit, debug',\n default: 'execute',\n },\n 'session-id': {\n type: 'string',\n description: 'Session ID (auto-generated if not provided)',\n },\n complexity: {\n type: 'string',\n description: 'Task complexity (for plan mode): simple, medium, complex',\n },\n approve: {\n type: 'boolean',\n description: 'Auto-approve generated plan (supported with --mode=plan)',\n default: false,\n },\n execute: {\n type: 'boolean',\n description: 'After plan is approved, immediately execute it (use with --mode=plan --approve)',\n default: false,\n },\n files: {\n type: 'array',\n description: 'Target files (for edit mode)',\n },\n trace: {\n type: 'string',\n description: 'Trace file path (for debug mode)',\n },\n 'dry-run': {\n type: 'boolean',\n description: 'Preview changes without applying (for edit mode)',\n default: false,\n },\n verbose: {\n type: 'boolean',\n description: 'Verbose output',\n default: false,\n },\n debug: {\n type: 'boolean',\n description: 'Enable debug mode: emit full prompts and responses as llm:debug events',\n default: false,\n },\n timeout: {\n type: 'number',\n description: 'Abort agent execution after this many seconds (exit code 124). No timeout by default.',\n },\n budget: {\n type: 'number',\n description: 'Override token budget (e.g. 300000 for heavy tasks). Overrides config value.',\n },\n json: {\n type: 'boolean',\n description: 'Output structured JSON result instead of human-readable output.',\n },\n} as const;\n\n/**\n * Plugin permissions\n */\nconst pluginPermissions = combinePermissions()\n .with(kbPlatformPreset)\n .withFs({\n mode: 'readWrite',\n allow: ['.agent-memory/**', '**/*'], // Allow filesystem operations in working dir\n })\n .withPlatform({\n llm: true, // Full LLM access for agent execution\n cache: ['agent:'], // Cache namespace prefix\n analytics: true, // Track agent usage\n })\n .withQuotas({\n timeoutMs: 1800000, // 30 min for complex tasks\n memoryMb: 1024,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/agent',\n version: '0.1.0',\n\n display: {\n name: 'Agent System',\n description: 'Autonomous agents, tool calling, and task orchestration',\n tags: ['agent', 'autonomous', 'llm', 'orchestration'],\n },\n\n // Configuration lives under kb.config.json -> agents\n configSection: 'agents',\n\n platform: {\n requires: ['llm'],\n optional: ['cache', 'analytics', 'logger'],\n },\n\n cli: {\n groupMeta: [\n { path: 'agent', describe: 'Autonomous agent commands' },\n { path: 'agent trace', describe: 'Agent trace debugging commands' },\n { path: 'agent quality', describe: 'Agent quality control commands' },\n ],\n commands: [\n {\n path: 'agent run',\n category: 'Run',\n describe: 'Run agent task (execute, plan, edit, or debug)',\n operationType: 'execute' as const,\n longDescription:\n 'Unified agent command with multiple modes: ' +\n 'execute (default) - run task immediately, ' +\n 'plan - generate execution plan without running, ' +\n 'edit - modify existing files, ' +\n 'debug - analyze errors with trace context. ' +\n 'Supports filesystem, search, shell, memory, and user interaction tools.',\n\n handler: './cli/commands/run.js#default',\n\n flags: defineCommandFlags(runFlags),\n\n examples: [\n 'kb agent run --task=\"Create analytics system\"',\n 'kb agent run --mode=plan --task=\"Add auth\" --complexity=complex',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve',\n 'kb agent run --mode=plan --task=\"Add auth\" --approve --execute',\n 'kb agent run --mode=edit --task=\"Fix bug\" --files src/auth.ts',\n 'kb agent run --mode=debug --task=\"Why crash?\" --trace .kb/traces/trace-123.json',\n 'kb agent run --task=\"Refactor auth module\" --timeout=120',\n ],\n },\n // Trace debugging commands (AI-friendly)\n {\n path: 'agent trace stats',\n category: 'Trace',\n describe: 'Show trace statistics: tokens, cost, timing',\n operationType: 'read' as const,\n longDescription:\n 'Analyze trace file to show comprehensive statistics: ' +\n 'iterations, LLM calls, token usage, tool usage, timing, and cost. ' +\n 'Supports --json flag for AI agent consumption.',\n\n handler: './cli/commands/trace-stats.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace stats --task-id=task-2026-01-29',\n 'kb agent trace stats --task-id=task-123 --json',\n ],\n },\n {\n path: 'agent trace filter',\n category: 'Trace',\n describe: 'Filter trace events by type for debugging',\n operationType: 'read' as const,\n longDescription:\n 'Filter trace events by type (llm:call, tool:execution, error:captured, etc.). ' +\n 'Use this to debug specific aspects of agent execution. ' +\n 'Supports --json flag for programmatic access.',\n\n handler: './cli/commands/trace-filter.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n type: { type: 'string', description: 'Event type to filter (llm:call, tool:execution, etc.)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace filter --task-id=task-123 --type=llm:call',\n 'kb agent trace filter --task-id=task-123 --type=error:captured --json',\n ],\n },\n {\n path: 'agent trace iteration',\n category: 'Trace',\n describe: 'View all events for a specific iteration',\n operationType: 'read' as const,\n longDescription:\n 'Show all trace events for a specific iteration number. ' +\n 'Useful for debugging what happened in a particular loop iteration. ' +\n 'Includes summary statistics and event timeline.',\n\n handler: './cli/commands/trace-iteration.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Iteration number (1-based)' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace iteration --task-id=task-123 --iteration=3',\n 'kb agent trace iteration --task-id=task-123 --iteration=5 --json',\n ],\n },\n {\n path: 'agent trace context',\n category: 'Trace',\n describe: 'Inspect context window and truncations per iteration',\n operationType: 'read' as const,\n longDescription:\n 'Shows the full context timeline for debugging agent behavior. ' +\n 'For each LLM call: what messages are in the sliding window, ' +\n 'what was truncated/dropped, and what the LLM responded with.',\n\n handler: './cli/commands/trace-context.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n iteration: { type: 'number', description: 'Filter to specific iteration' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace context --task-id=task-123',\n 'kb agent trace context --task-id=task-123 --iteration=3',\n 'kb agent trace context --task-id=task-123 --json',\n ],\n },\n {\n path: 'agent trace diagnose',\n category: 'Trace',\n describe: 'Diagnose what went wrong in an agent run',\n operationType: 'analyze' as const,\n longDescription:\n 'Comprehensive diagnostic report for agent execution. ' +\n 'Analyzes errors, context window health (drops, truncations), ' +\n 'tool failures, LLM reasoning text, loop detection, and quality indicators. ' +\n 'One command to understand any agent issue.',\n\n handler: './cli/commands/trace-diagnose.js#default',\n\n flags: defineCommandFlags({\n 'task-id': { type: 'string', description: 'Task ID or trace filename' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent trace diagnose --task-id=task-123',\n 'kb agent trace diagnose --task-id=task-123 --json',\n ],\n },\n {\n path: 'agent quality report',\n category: 'Quality',\n describe: 'Show quality control report for recent agent runs',\n operationType: 'analyze' as const,\n longDescription:\n 'Aggregates agent KPI telemetry from analytics buffer and shows ' +\n 'quality, token usage, tool efficiency, drift, and regression alerts. ' +\n 'Useful for continuous quality control and cost/performance monitoring.',\n\n handler: './cli/commands/quality-report.js#default',\n\n flags: defineCommandFlags({\n days: { type: 'number', description: 'Lookback period in days', default: 1 },\n limit: { type: 'number', description: 'Max KPI runs to analyze', default: 200 },\n 'session-id': { type: 'string', description: 'Filter by session ID' },\n json: { type: 'boolean', description: 'Output JSON for automation', default: false },\n }),\n\n examples: [\n 'kb agent quality report',\n 'kb agent quality report --days=7',\n 'kb agent quality report --session-id=session-123',\n 'kb agent quality report --days=3 --json',\n ],\n },\n // File change history commands\n {\n path: 'agent history',\n category: 'History',\n describe: 'Show file change history for agent sessions',\n operationType: 'read' as const,\n longDescription:\n 'View file changes made by agents during execution. ' +\n 'Filter by session, file, or agent. Shows timestamps, operations, and change metadata.',\n\n handler: './cli/commands/history.js#default',\n\n flags: defineCommandFlags({\n 'session-id': { type: 'string', description: 'Session ID to filter by' },\n file: { type: 'string', description: 'File path to filter by' },\n 'agent-id': { type: 'string', description: 'Agent ID to filter by' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent history',\n 'kb agent history --session-id=session-123',\n 'kb agent history --file=src/index.ts',\n 'kb agent history --agent-id=agent-abc --json',\n ],\n },\n {\n path: 'agent diff',\n category: 'History',\n describe: 'Show diff for specific file change',\n operationType: 'read' as const,\n longDescription:\n 'Display line-by-line diff for a specific file change. ' +\n 'Shows additions, deletions, and modifications with context.',\n\n handler: './cli/commands/diff.js#default',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to show diff for' },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent diff --change-id=change-abc123',\n 'kb agent diff --change-id=change-abc123 --json',\n ],\n },\n {\n path: 'agent rollback',\n category: 'History',\n describe: 'Rollback file changes made by agents',\n operationType: 'mutate' as const,\n longDescription:\n 'Rollback file changes made by agents. ' +\n 'Supports rollback by change ID, file path, agent ID, session, or timestamp. ' +\n 'Use --dry-run to preview changes before applying.',\n\n handler: './cli/commands/rollback.js#default',\n\n flags: defineCommandFlags({\n 'change-id': { type: 'string', description: 'Change ID to rollback' },\n file: { type: 'string', description: 'File path to rollback all changes for' },\n 'agent-id': { type: 'string', description: 'Agent ID to rollback all changes by' },\n 'session-id': { type: 'string', description: 'Session ID to rollback all changes in' },\n after: { type: 'string', description: 'Rollback all changes after timestamp (ISO 8601)' },\n force: { type: 'boolean', description: 'Force rollback even with conflicts', default: false },\n 'dry-run': { type: 'boolean', description: 'Preview rollback without applying', default: false },\n json: { type: 'boolean', description: 'Output JSON for AI agents', default: false },\n }),\n\n examples: [\n 'kb agent rollback --change-id=change-abc123',\n 'kb agent rollback --file=src/index.ts --dry-run',\n 'kb agent rollback --agent-id=agent-abc',\n 'kb agent rollback --session-id=session-123',\n 'kb agent rollback --after=\"2026-02-16T10:00:00Z\" --json',\n ],\n },\n ],\n },\n\n capabilities: [],\n\n permissions: pluginPermissions,\n\n // REST API for Agent UI\n rest: {\n basePath: AGENTS_BASE_PATH,\n defaults: {\n timeoutMs: 1800000, // 30 min for long-running tasks\n },\n routes: [\n {\n method: 'POST',\n path: AGENTS_ROUTES.RUN,\n description: 'Start a new agent run',\n handler: './rest/handlers/run-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.RUN_STATUS,\n description: 'Get status of a run',\n handler: './rest/handlers/status-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.CORRECT,\n description: 'Send correction to running agent(s)',\n handler: './rest/handlers/correct-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.STOP,\n description: 'Stop a running agent',\n handler: './rest/handlers/stop-handler.js',\n security: ['none'],\n },\n // Session management routes\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSIONS_LIST,\n description: 'List all sessions',\n handler: './rest/handlers/list-sessions-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_GET,\n description: 'Get session details',\n handler: './rest/handlers/get-session-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_CREATE,\n description: 'Create a new session',\n handler: './rest/handlers/create-session-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_TURNS,\n description: 'Get session turns (turn-based UI)',\n handler: './rest/handlers/get-session-turns-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_GET,\n description: 'Get current session plan',\n handler: './rest/handlers/get-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_APPROVE,\n description: 'Approve current session plan',\n handler: './rest/handlers/approve-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_EXECUTE,\n description: 'Execute approved session plan',\n handler: './rest/handlers/execute-session-plan-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC,\n description: 'Generate detailed spec from approved plan',\n handler: './rest/handlers/generate-spec-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_PLAN_SPEC_GET,\n description: 'Get current session spec',\n handler: './rest/handlers/get-spec-handler.js',\n security: ['none'],\n },\n // File change history routes (rollback & approve)\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGES,\n description: 'List file changes for session (optionally filtered by runId)',\n handler: './rest/handlers/list-file-changes-handler.js',\n security: ['none'],\n },\n {\n method: 'GET',\n path: AGENTS_ROUTES.SESSION_CHANGE_DIFF,\n description: 'Get unified diff for a specific file change',\n handler: './rest/handlers/get-file-diff-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_ROLLBACK,\n description: 'Rollback file changes for a session/run',\n handler: './rest/handlers/rollback-handler.js',\n security: ['none'],\n },\n {\n method: 'POST',\n path: AGENTS_ROUTES.SESSION_APPROVE,\n description: 'Approve file changes for a session/run',\n handler: './rest/handlers/approve-handler.js',\n security: ['none'],\n },\n ],\n },\n\n // WebSocket for real-time event streaming\n ws: {\n basePath: AGENTS_WS_BASE_PATH,\n defaults: {\n auth: 'none',\n idleTimeoutMs: 3600000, // 1 hour\n },\n channels: [\n {\n path: AGENTS_WS_CHANNELS.SESSION_STREAM,\n description: 'Persistent session stream (all runs in session)',\n handler: './ws/session-stream-handler.js',\n auth: 'none',\n },\n ],\n },\n\n artifacts: [\n {\n id: 'agent.memory.json',\n pathTemplate: '.agent-memory/memory.json',\n description: 'Persistent agent memory (facts, sessions, project context).',\n },\n ],\n\n studio: {\n version: 2 as const,\n remoteName: 'agentPlugin',\n pages: [\n {\n id: 'agent.overview',\n title: 'Agent',\n icon: 'RobotOutlined',\n route: '/p/agent',\n entry: './AgentsPage',\n order: 1,\n },\n ],\n menus: [\n {\n id: 'agent',\n label: 'Agent',\n icon: 'RobotOutlined',\n target: 'agent.overview',\n order: 30,\n },\n ],\n },\n};\n"]}