agent-office 0.6.23 → 0.7.1

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 (58) hide show
  1. package/AGENTS.md +0 -0
  2. package/CONTEXT.md +77 -0
  3. package/README.md +87 -6
  4. package/dist/commands/cron-requests.d.ts +5 -5
  5. package/dist/commands/cron-requests.d.ts.map +1 -1
  6. package/dist/commands/cron-requests.js +9 -14
  7. package/dist/commands/cron-requests.js.map +1 -1
  8. package/dist/commands/crons.d.ts +9 -9
  9. package/dist/commands/crons.d.ts.map +1 -1
  10. package/dist/commands/crons.js +17 -27
  11. package/dist/commands/crons.js.map +1 -1
  12. package/dist/commands/messages.d.ts +6 -6
  13. package/dist/commands/messages.d.ts.map +1 -1
  14. package/dist/commands/messages.js +11 -18
  15. package/dist/commands/messages.js.map +1 -1
  16. package/dist/commands/sessions.d.ts +5 -5
  17. package/dist/commands/sessions.d.ts.map +1 -1
  18. package/dist/commands/sessions.js +10 -16
  19. package/dist/commands/sessions.js.map +1 -1
  20. package/dist/commands/task-columns.d.ts +1 -1
  21. package/dist/commands/task-columns.d.ts.map +1 -1
  22. package/dist/commands/task-columns.js +2 -4
  23. package/dist/commands/task-columns.js.map +1 -1
  24. package/dist/commands/tasks.d.ts +10 -10
  25. package/dist/commands/tasks.d.ts.map +1 -1
  26. package/dist/commands/tasks.js +20 -31
  27. package/dist/commands/tasks.js.map +1 -1
  28. package/dist/contracts/commands.d.ts +38 -0
  29. package/dist/contracts/commands.d.ts.map +1 -0
  30. package/dist/contracts/commands.js +469 -0
  31. package/dist/contracts/commands.js.map +1 -0
  32. package/dist/index.js +1062 -160
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib/input.d.ts +7 -0
  35. package/dist/lib/input.d.ts.map +1 -0
  36. package/dist/lib/input.js +94 -0
  37. package/dist/lib/input.js.map +1 -0
  38. package/dist/lib/mcp.d.ts +36 -0
  39. package/dist/lib/mcp.d.ts.map +1 -0
  40. package/dist/lib/mcp.js +155 -0
  41. package/dist/lib/mcp.js.map +1 -0
  42. package/dist/lib/output.d.ts +9 -1
  43. package/dist/lib/output.d.ts.map +1 -1
  44. package/dist/lib/output.js +59 -4
  45. package/dist/lib/output.js.map +1 -1
  46. package/dist/lib/schema.d.ts +42 -0
  47. package/dist/lib/schema.d.ts.map +1 -0
  48. package/dist/lib/schema.js +1023 -0
  49. package/dist/lib/schema.js.map +1 -0
  50. package/dist/lib/validation.d.ts +15 -0
  51. package/dist/lib/validation.d.ts.map +1 -0
  52. package/dist/lib/validation.js +140 -0
  53. package/dist/lib/validation.js.map +1 -0
  54. package/package.json +5 -2
  55. package/skills/SKILL-create-coworker.md +51 -0
  56. package/skills/SKILL-cron-jobs.md +106 -0
  57. package/skills/SKILL-send-message.md +56 -0
  58. package/skills/SKILL-task-management.md +86 -0
package/AGENTS.md ADDED
Binary file
package/CONTEXT.md ADDED
@@ -0,0 +1,77 @@
1
+ # Context Window Discipline
2
+
3
+ This CLI is frequently invoked by AI/LLM agents with limited context windows. Always apply these patterns to avoid overwhelming your context.
4
+
5
+ ## ALWAYS Use Field Masks
6
+
7
+ **Workspace APIs return massive JSON blobs. ALWAYS use field masks when listing or getting resources by appending `--fields "id,name,status"` to avoid overwhelming your context window.**
8
+
9
+ ### Bad (Returns all fields)
10
+
11
+ ```bash
12
+ agent-office --sqlite ./data.db list-coworkers
13
+ agent-office --sqlite ./data.db list-tasks
14
+ ```
15
+
16
+ ### Good (Returns only needed fields)
17
+
18
+ ```bash
19
+ agent-office --sqlite ./data.db list-coworkers --fields name,status
20
+ agent-office --sqlite ./data.db list-tasks --fields id,title,column,assignee
21
+ ```
22
+
23
+ ## Use NDJSON for Large Lists
24
+
25
+ When processing large datasets, use NDJSON format to stream results without buffering:
26
+
27
+ ```bash
28
+ agent-office --sqlite ./data.db list-tasks --output ndjson
29
+ ```
30
+
31
+ This emits one JSON object per line, allowing incremental processing instead of loading a massive top-level array.
32
+
33
+ ## Combine Filters with Field Masks
34
+
35
+ Maximize efficiency by filtering AND field masking:
36
+
37
+ ```bash
38
+ # Best - filter by assignee then field mask
39
+ agent-office --sqlite ./data.db list-tasks \
40
+ --assignee "Alice" \
41
+ --fields id,title,column
42
+
43
+ # Get specific coworker info
44
+ agent-office --sqlite ./data.db get-coworker-info \
45
+ --name "Alice" \
46
+ --fields name,status,description
47
+ ```
48
+
49
+ ## Schema Introspection
50
+
51
+ Use schema introspection to understand what fields are available:
52
+
53
+ ```bash
54
+ # List all commands
55
+ agent-office schema
56
+
57
+ # Show specific command schema
58
+ agent-office schema list-tasks
59
+ ```
60
+
61
+ ## Default Output Format
62
+
63
+ - **TTY (interactive terminal)**: TOON format (compact, human-readable)
64
+ - **Non-TTY (pipes, scripts)**: JSON format automatically
65
+
66
+ Override with `--output <format>` or `AGENT_OFFICE_OUTPUT_FORMAT` env var.
67
+
68
+ ## Summary Checklist
69
+
70
+ Before every command, ask:
71
+
72
+ - [ ] Can I filter the results first?
73
+ - [ ] Can I use `--fields` to limit returned data?
74
+ - [ ] Is NDJSON better for this large dataset?
75
+ - [ ] Do I need all this data in my context?
76
+
77
+ **Remember: Every token counts. Be ruthless about limiting response size.**
package/README.md CHANGED
@@ -9,9 +9,12 @@ A multi-agent office management system CLI for coordinating AI coworkers, messag
9
9
  - **Cron Jobs**: Schedule automated messages with cron expressions (with optional approval workflow)
10
10
  - **Task Board**: Kanban-style task management with columns, assignments, and dependencies
11
11
  - **TOON Format**: All output encoded in TOON (Token-Oriented Object Notation) by default for compact, LLM-friendly output
12
- - **JSON Option**: Use `--json` flag for traditional JSON output
12
+ - **JSON Output**: Use `--output json` or `AGENT_OFFICE_OUTPUT_FORMAT` env var for JSON
13
+ - **JSON Input**: Use `--json '{"key": "value"}'` for full JSON payloads instead of individual flags
14
+ - **Schema Introspection**: Use `schema` or `describe` commands for runtime command discovery
13
15
  - **Multiple Storage Backends**: SQLite or PostgreSQL support
14
- - **Comprehensive Testing**: 148 tests with full coverage
16
+ - **MCP Server**: Run as Model Context Protocol server with `agent-office mcp`
17
+ - **Comprehensive Testing**: 154 tests with full coverage
15
18
 
16
19
  ## Installation
17
20
 
@@ -57,7 +60,10 @@ npm run build
57
60
 
58
61
  - `--sqlite <path>` - SQLite database file path (env: `AGENT_OFFICE_SQLITE`)
59
62
  - `--postgresql <url>` - PostgreSQL connection URL (env: `AGENT_OFFICE_POSTGRESQL`)
60
- - `--json` - Output in JSON format instead of TOON (default: false)
63
+ - `--output <format>` - Output format: `json`, `ndjson`, `toon`, or `auto` (env: `AGENT_OFFICE_OUTPUT_FORMAT`)
64
+ - `--fields <fields>` - Comma-separated list of fields to include in output
65
+ - `--dry-run` - Validate commands without executing mutating operations
66
+ - `--json <payload>` - Full JSON payload to replace individual flags (per-command)
61
67
  - `-V, --version` - Show version
62
68
  - `-h, --help` - Show help
63
69
 
@@ -74,12 +80,12 @@ $ npx agent-office --sqlite ./data.db list-coworkers
74
80
  Bob,gpt-4,available,null,2024-01-15T10:25:00.000Z
75
81
  ```
76
82
 
77
- ### JSON
83
+ ### JSON Output
78
84
 
79
- Use `--json` flag anywhere in the command for traditional JSON output:
85
+ Use `--output json` or set `AGENT_OFFICE_OUTPUT_FORMAT=json` for traditional JSON output:
80
86
 
81
87
  ```bash
82
- $ npx agent-office --sqlite ./data.db --json list-coworkers
88
+ $ npx agent-office --sqlite ./data.db --output json list-coworkers
83
89
  [
84
90
  {
85
91
  "name": "Alice",
@@ -91,6 +97,81 @@ $ npx agent-office --sqlite ./data.db --json list-coworkers
91
97
  ]
92
98
  ```
93
99
 
100
+ ### JSON Input (Agent-First)
101
+
102
+ Pass full JSON payloads instead of individual flags. This is the **agent-first** approach recommended for AI agents:
103
+
104
+ ```bash
105
+ $ npx agent-office --sqlite ./data.db create-coworker --json '{"name": "Alice", "coworkerType": "assistant"}'
106
+ ```
107
+
108
+ ### NDJSON
109
+
110
+ For streaming large datasets, use NDJSON format:
111
+
112
+ ```bash
113
+ $ npx agent-office --sqlite ./data.db --output ndjson list-coworkers
114
+ ```
115
+
116
+ ## Schema Introspection
117
+
118
+ Query the CLI itself for available commands and their parameters. This eliminates the need for agents to "google the docs":
119
+
120
+ ```bash
121
+ # List all commands
122
+ $ npx agent-office schema
123
+
124
+ # Show schema for specific command
125
+ $ npx agent-office schema create-coworker
126
+
127
+ # Alias: describe
128
+ $ npx agent-office describe
129
+ ```
130
+
131
+ ## Field Filtering (Context Window Discipline)
132
+
133
+ Limit response fields to protect your context window:
134
+
135
+ ```bash
136
+ $ npx agent-office --sqlite ./data.db list-coworkers --fields name,status
137
+ ```
138
+
139
+ ## Dry-Run Mode
140
+
141
+ Validate mutating commands without executing:
142
+
143
+ ```bash
144
+ $ npx agent-office --sqlite ./data.db delete-coworker --name Alice --dry-run
145
+ [DRY-RUN] Would execute: delete-coworker
146
+ ```
147
+
148
+ ## MCP Server (Model Context Protocol)
149
+
150
+ Run as an MCP server for JSON-RPC tool access:
151
+
152
+ ```bash
153
+ $ npx agent-office mcp
154
+ # Then send JSON-RPC messages via stdin
155
+ ```
156
+
157
+ ## Agent Skills & Documentation
158
+
159
+ The CLI ships with markdown-based skill files that provide agent-specific guidance:
160
+
161
+ ```bash
162
+ # List available skills
163
+ $ npx agent-office list-skills
164
+
165
+ # View a specific skill
166
+ $ npx agent-office get-skill --name create-coworker
167
+
168
+ # View context window discipline guidelines
169
+ $ npx agent-office context
170
+
171
+ # View agent security guidelines
172
+ $ npx agent-office agents
173
+ ```
174
+
94
175
  ## Commands
95
176
 
96
177
  ### Coworker Management
@@ -1,7 +1,7 @@
1
1
  import { AgentOfficeStorage } from '../db/index.js';
2
- export declare function listCronRequests(storage: AgentOfficeStorage, useJson: boolean): Promise<void>;
3
- export declare function getCronRequest(storage: AgentOfficeStorage, id: number, useJson: boolean): Promise<void>;
4
- export declare function approveCronRequest(storage: AgentOfficeStorage, id: number, reviewedBy: string, reviewerNotes: string | undefined, useJson: boolean): Promise<void>;
5
- export declare function rejectCronRequest(storage: AgentOfficeStorage, id: number, reviewedBy: string, reviewerNotes: string | undefined, useJson: boolean): Promise<void>;
6
- export declare function deleteCronRequest(storage: AgentOfficeStorage, id: number, useJson: boolean): Promise<void>;
2
+ export declare function listCronRequests(storage: AgentOfficeStorage): Promise<unknown>;
3
+ export declare function getCronRequest(storage: AgentOfficeStorage, id: number): Promise<unknown>;
4
+ export declare function approveCronRequest(storage: AgentOfficeStorage, id: number, reviewedBy: string, reviewerNotes: string | undefined): Promise<unknown>;
5
+ export declare function rejectCronRequest(storage: AgentOfficeStorage, id: number, reviewedBy: string, reviewerNotes: string | undefined): Promise<unknown>;
6
+ export declare function deleteCronRequest(storage: AgentOfficeStorage, id: number): Promise<void>;
7
7
  //# sourceMappingURL=cron-requests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cron-requests.d.ts","sourceRoot":"","sources":["../../src/commands/cron-requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAInG;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7G;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhH"}
1
+ {"version":3,"file":"cron-requests.d.ts","sourceRoot":"","sources":["../../src/commands/cron-requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpF;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO9F;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9F"}
@@ -1,31 +1,26 @@
1
1
  import { CronService } from '../services/index.js';
2
- import { formatOutput } from '../lib/output.js';
3
- export async function listCronRequests(storage, useJson) {
2
+ export async function listCronRequests(storage) {
4
3
  const service = new CronService(storage);
5
- const requests = await service.listCronRequests();
6
- console.log(formatOutput(requests, useJson));
4
+ return await service.listCronRequests();
7
5
  }
8
- export async function getCronRequest(storage, id, useJson) {
6
+ export async function getCronRequest(storage, id) {
9
7
  const service = new CronService(storage);
10
8
  const request = await service.getCronRequestById(id);
11
9
  if (!request) {
12
10
  throw new Error(`Cron request ${id} not found`);
13
11
  }
14
- console.log(formatOutput(request, useJson));
12
+ return request;
15
13
  }
16
- export async function approveCronRequest(storage, id, reviewedBy, reviewerNotes, useJson) {
14
+ export async function approveCronRequest(storage, id, reviewedBy, reviewerNotes) {
17
15
  const service = new CronService(storage);
18
- const request = await service.approveCronRequest(id, reviewedBy, reviewerNotes);
19
- console.log(formatOutput(request, useJson));
16
+ return await service.approveCronRequest(id, reviewedBy, reviewerNotes);
20
17
  }
21
- export async function rejectCronRequest(storage, id, reviewedBy, reviewerNotes, useJson) {
18
+ export async function rejectCronRequest(storage, id, reviewedBy, reviewerNotes) {
22
19
  const service = new CronService(storage);
23
- const request = await service.rejectCronRequest(id, reviewedBy, reviewerNotes);
24
- console.log(formatOutput(request, useJson));
20
+ return await service.rejectCronRequest(id, reviewedBy, reviewerNotes);
25
21
  }
26
- export async function deleteCronRequest(storage, id, useJson) {
22
+ export async function deleteCronRequest(storage, id) {
27
23
  const service = new CronService(storage);
28
24
  await service.deleteCronRequest(id);
29
- console.log(formatOutput({ success: true, deleted: id }, useJson));
30
25
  }
31
26
  //# sourceMappingURL=cron-requests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cron-requests.js","sourceRoot":"","sources":["../../src/commands/cron-requests.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B,EAAE,OAAgB;IAClF,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B,EAAE,EAAU,EAAE,OAAgB;IAC5F,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2B,EAC3B,EAAU,EACV,UAAkB,EAClB,aAAiC,EACjC,OAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA2B,EAC3B,EAAU,EACV,UAAkB,EAClB,aAAiC,EACjC,OAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;IAC9E,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA2B,EAAE,EAAU,EAAE,OAAgB;IAC/F,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"cron-requests.js","sourceRoot":"","sources":["../../src/commands/cron-requests.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IAChE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B,EAAE,EAAU;IAC1E,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2B,EAC3B,EAAU,EACV,UAAkB,EAClB,aAAiC;IAEjC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA2B,EAC3B,EAAU,EACV,UAAkB,EAClB,aAAiC;IAEjC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA2B,EAAE,EAAU;IAC7E,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;AACrC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { AgentOfficeStorage } from '../db/index.js';
2
- export declare function listCrons(storage: AgentOfficeStorage, coworkerName: string, useJson: boolean): Promise<void>;
3
- export declare function deleteCron(storage: AgentOfficeStorage, id: number, useJson: boolean): Promise<void>;
4
- export declare function enableCron(storage: AgentOfficeStorage, id: number, useJson: boolean): Promise<void>;
5
- export declare function disableCron(storage: AgentOfficeStorage, id: number, useJson: boolean): Promise<void>;
6
- export declare function cronHistory(storage: AgentOfficeStorage, id: number, limit: number, useJson: boolean): Promise<void>;
7
- export declare function requestCron(storage: AgentOfficeStorage, name: string, coworkerName: string, schedule: string, message: string, timezone: string, useJson: boolean): Promise<void>;
8
- export declare function createCron(storage: AgentOfficeStorage, name: string, coworkerName: string, schedule: string, message: string, timezone: string, useJson: boolean): Promise<void>;
9
- export declare function checkCronJobs(storage: AgentOfficeStorage, coworkerName: string, useJson: boolean): Promise<void>;
10
- export declare function listActiveCronJobs(storage: AgentOfficeStorage, coworkerName: string, useJson: boolean): Promise<void>;
2
+ export declare function listCrons(storage: AgentOfficeStorage, coworkerName: string): Promise<unknown>;
3
+ export declare function deleteCron(storage: AgentOfficeStorage, id: number): Promise<void>;
4
+ export declare function enableCron(storage: AgentOfficeStorage, id: number): Promise<unknown>;
5
+ export declare function disableCron(storage: AgentOfficeStorage, id: number): Promise<unknown>;
6
+ export declare function cronHistory(storage: AgentOfficeStorage, id: number, limit: number): Promise<unknown>;
7
+ export declare function requestCron(storage: AgentOfficeStorage, name: string, coworkerName: string, schedule: string, message: string, timezone: string): Promise<unknown>;
8
+ export declare function createCron(storage: AgentOfficeStorage, name: string, coworkerName: string, schedule: string, message: string, timezone: string): Promise<unknown>;
9
+ export declare function checkCronJobs(storage: AgentOfficeStorage, coworkerName: string): Promise<unknown>;
10
+ export declare function listActiveCronJobs(storage: AgentOfficeStorage, coworkerName: string): Promise<unknown>;
11
11
  //# sourceMappingURL=crons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["../../src/commands/crons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,wBAAsB,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlH;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzG;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzG;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1G;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["../../src/commands/crons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAsB,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnG;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI3F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1G;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYvG;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa5G"}
@@ -1,65 +1,55 @@
1
1
  import { CronService } from '../services/index.js';
2
- import { formatOutput } from '../lib/output.js';
3
- export async function listCrons(storage, coworkerName, useJson) {
2
+ export async function listCrons(storage, coworkerName) {
4
3
  const service = new CronService(storage);
5
- const crons = await service.listCronJobsForSession(coworkerName);
6
- console.log(formatOutput(crons, useJson));
4
+ return await service.listCronJobsForSession(coworkerName);
7
5
  }
8
- export async function deleteCron(storage, id, useJson) {
6
+ export async function deleteCron(storage, id) {
9
7
  const service = new CronService(storage);
10
8
  await service.deleteCronJob(id);
11
- console.log(formatOutput({ success: true, deleted: id }, useJson));
12
9
  }
13
- export async function enableCron(storage, id, useJson) {
10
+ export async function enableCron(storage, id) {
14
11
  const service = new CronService(storage);
15
12
  await service.enableCronJob(id);
16
- const job = await service.getCronJobById(id);
17
- console.log(formatOutput(job, useJson));
13
+ return await service.getCronJobById(id);
18
14
  }
19
- export async function disableCron(storage, id, useJson) {
15
+ export async function disableCron(storage, id) {
20
16
  const service = new CronService(storage);
21
17
  await service.disableCronJob(id);
22
- const job = await service.getCronJobById(id);
23
- console.log(formatOutput(job, useJson));
18
+ return await service.getCronJobById(id);
24
19
  }
25
- export async function cronHistory(storage, id, limit, useJson) {
20
+ export async function cronHistory(storage, id, limit) {
26
21
  const service = new CronService(storage);
27
- const history = await service.getCronHistory(id, limit);
28
- console.log(formatOutput(history, useJson));
22
+ return await service.getCronHistory(id, limit);
29
23
  }
30
- export async function requestCron(storage, name, coworkerName, schedule, message, timezone, useJson) {
24
+ export async function requestCron(storage, name, coworkerName, schedule, message, timezone) {
31
25
  const service = new CronService(storage);
32
- const request = await service.createCronRequest(name, coworkerName, schedule, timezone, message);
33
- console.log(formatOutput(request, useJson));
26
+ return await service.createCronRequest(name, coworkerName, schedule, timezone, message);
34
27
  }
35
- export async function createCron(storage, name, coworkerName, schedule, message, timezone, useJson) {
28
+ export async function createCron(storage, name, coworkerName, schedule, message, timezone) {
36
29
  const service = new CronService(storage);
37
- const job = await service.createCronJob(name, coworkerName, schedule, timezone, message);
38
- console.log(formatOutput(job, useJson));
30
+ return await service.createCronJob(name, coworkerName, schedule, timezone, message);
39
31
  }
40
- export async function checkCronJobs(storage, coworkerName, useJson) {
32
+ export async function checkCronJobs(storage, coworkerName) {
41
33
  const service = new CronService(storage);
42
34
  const activeJobs = await service.getActiveCronJobs();
43
35
  // Filter by coworker
44
36
  const coworkerJobs = activeJobs.filter(job => job.session_name === coworkerName);
45
37
  // Return count similar to check-unread-messages
46
- const result = {
38
+ return {
47
39
  hasActive: coworkerJobs.length > 0,
48
40
  count: coworkerJobs.length,
49
41
  };
50
- console.log(formatOutput(result, useJson));
51
42
  }
52
- export async function listActiveCronJobs(storage, coworkerName, useJson) {
43
+ export async function listActiveCronJobs(storage, coworkerName) {
53
44
  const service = new CronService(storage);
54
45
  let activeJobs = await service.getActiveCronJobs();
55
46
  // Filter by coworker
56
47
  activeJobs = activeJobs.filter(job => job.session_name === coworkerName);
57
48
  // Map to return id, action (message), and timezone
58
- const actions = activeJobs.map(job => ({
49
+ return activeJobs.map(job => ({
59
50
  id: job.id,
60
51
  action: job.message,
61
52
  timezone: job.timezone,
62
53
  }));
63
- console.log(formatOutput(actions, useJson));
64
54
  }
65
55
  //# sourceMappingURL=crons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crons.js","sourceRoot":"","sources":["../../src/commands/crons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crons.js","sourceRoot":"","sources":["../../src/commands/crons.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { AgentOfficeStorage } from '../db/index.js';
2
- export declare function sendMessage(storage: AgentOfficeStorage, from: string, recipients: string[], body: string, useJson: boolean): Promise<void>;
3
- export declare function checkUnreadMail(storage: AgentOfficeStorage, coworkerName: string, useJson: boolean): Promise<void>;
4
- export declare function getUnreadMail(storage: AgentOfficeStorage, coworkerName: string, useJson: boolean): Promise<void>;
5
- export declare function listMessagesBetween(storage: AgentOfficeStorage, coworker1: string, coworker2: string, startTimeIso: string | undefined, endTimeIso: string | undefined, useJson: boolean): Promise<void>;
6
- export declare function listMessagesToNotify(storage: AgentOfficeStorage, coworkerName: string, hours: number, useJson: boolean): Promise<void>;
7
- export declare function markMessagesAsNotified(storage: AgentOfficeStorage, ids: number[], useJson: boolean): Promise<void>;
2
+ export declare function sendMessage(storage: AgentOfficeStorage, from: string, recipients: string[], body: string): Promise<unknown>;
3
+ export declare function checkUnreadMail(storage: AgentOfficeStorage, coworkerName: string): Promise<unknown>;
4
+ export declare function getUnreadMail(storage: AgentOfficeStorage, coworkerName: string): Promise<unknown>;
5
+ export declare function listMessagesBetween(storage: AgentOfficeStorage, coworker1: string, coworker2: string, startTimeIso: string | undefined, endTimeIso: string | undefined): Promise<unknown>;
6
+ export declare function listMessagesToNotify(storage: AgentOfficeStorage, coworkerName: string, hours: number): Promise<unknown>;
7
+ export declare function markMessagesAsNotified(storage: AgentOfficeStorage, ids: number[]): Promise<void>;
8
8
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBzG;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGvG;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtG"}
@@ -1,11 +1,9 @@
1
1
  import { MessageService } from '../services/index.js';
2
- import { formatOutput } from '../lib/output.js';
3
- export async function sendMessage(storage, from, recipients, body, useJson) {
2
+ export async function sendMessage(storage, from, recipients, body) {
4
3
  const service = new MessageService(storage);
5
- const messages = await service.sendMessage(from, recipients, body);
6
- console.log(formatOutput(messages, useJson));
4
+ return await service.sendMessage(from, recipients, body);
7
5
  }
8
- export async function checkUnreadMail(storage, coworkerName, useJson) {
6
+ export async function checkUnreadMail(storage, coworkerName) {
9
7
  const service = new MessageService(storage);
10
8
  const unreadCounts = await service.countUnreadBySender(coworkerName);
11
9
  // Convert Map to object for JSON serialization
@@ -18,35 +16,30 @@ export async function checkUnreadMail(storage, coworkerName, useJson) {
18
16
  }
19
17
  }
20
18
  // Unix philosophy: return 0 on success, include both backward-compatible hasUnread and new counts
21
- const result = {
19
+ return {
22
20
  hasUnread: totalUnread > 0,
23
21
  total: totalUnread,
24
22
  counts: counts,
25
23
  };
26
- console.log(formatOutput(result, useJson));
27
24
  }
28
- export async function getUnreadMail(storage, coworkerName, useJson) {
25
+ export async function getUnreadMail(storage, coworkerName) {
29
26
  const service = new MessageService(storage);
30
- const messages = await service.getUnreadMail(coworkerName);
31
- console.log(formatOutput(messages, useJson));
27
+ return await service.getUnreadMail(coworkerName);
32
28
  }
33
- export async function listMessagesBetween(storage, coworker1, coworker2, startTimeIso, endTimeIso, useJson) {
29
+ export async function listMessagesBetween(storage, coworker1, coworker2, startTimeIso, endTimeIso) {
34
30
  const service = new MessageService(storage);
35
31
  const startTime = startTimeIso ? new Date(startTimeIso) : undefined;
36
32
  const endTime = endTimeIso ? new Date(endTimeIso) : undefined;
37
- const messages = await service.listMessagesBetween(coworker1, coworker2, startTime, endTime);
38
- console.log(formatOutput(messages, useJson));
33
+ return await service.listMessagesBetween(coworker1, coworker2, startTime, endTime);
39
34
  }
40
- export async function listMessagesToNotify(storage, coworkerName, hours, useJson) {
41
- const messages = await storage.listMessagesForRecipient(coworkerName, {
35
+ export async function listMessagesToNotify(storage, coworkerName, hours) {
36
+ return await storage.listMessagesForRecipient(coworkerName, {
42
37
  unread: true,
43
38
  olderThanHours: hours,
44
39
  notified: false,
45
40
  });
46
- console.log(formatOutput(messages, useJson));
47
41
  }
48
- export async function markMessagesAsNotified(storage, ids, useJson) {
42
+ export async function markMessagesAsNotified(storage, ids) {
49
43
  await storage.markMessagesAsNotified(ids);
50
- console.log(formatOutput({ success: true, count: ids.length }, useJson));
51
44
  }
52
45
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA2B,EAC3B,IAAY,EACZ,UAAoB,EACpB,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA2B,EAAE,YAAoB;IACrF,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAEpE,+CAA+C;IAC/C,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;YACtB,WAAW,IAAI,KAAK,CAAA;QACtB,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,OAAO;QACL,SAAS,EAAE,WAAW,GAAG,CAAC;QAC1B,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA2B,EAAE,YAAoB;IACnF,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,MAAM,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA2B,EAC3B,SAAiB,EACjB,SAAiB,EACjB,YAAgC,EAChC,UAA8B;IAE9B,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA2B,EAC3B,YAAoB,EACpB,KAAa;IAEb,OAAO,MAAM,OAAO,CAAC,wBAAwB,CAAC,YAAY,EAAE;QAC1D,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAA2B,EAAE,GAAa;IACrF,MAAM,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAA;AAC3C,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { AgentOfficeStorage } from '../db/index.js';
2
- export declare function listCoworkers(storage: AgentOfficeStorage, useJson: boolean): Promise<void>;
3
- export declare function getCoworkerInfo(storage: AgentOfficeStorage, name: string, useJson: boolean): Promise<void>;
2
+ export declare function listCoworkers(storage: AgentOfficeStorage): Promise<unknown>;
3
+ export declare function getCoworkerInfo(storage: AgentOfficeStorage, name: string): Promise<unknown>;
4
4
  export declare function updateCoworker(storage: AgentOfficeStorage, name: string, updates: {
5
5
  coworkerType?: string | null;
6
6
  status?: string | null;
7
7
  description?: string | null;
8
8
  philosophy?: string | null;
9
9
  visualDescription?: string | null;
10
- }, useJson: boolean): Promise<void>;
11
- export declare function createSession(storage: AgentOfficeStorage, name: string, coworkerType: string, useJson: boolean): Promise<void>;
12
- export declare function deleteCoworker(storage: AgentOfficeStorage, name: string, useJson: boolean): Promise<void>;
10
+ }): Promise<unknown>;
11
+ export declare function createSession(storage: AgentOfficeStorage, name: string, coworkerType: string): Promise<unknown>;
12
+ export declare function deleteCoworker(storage: AgentOfficeStorage, name: string): Promise<void>;
13
13
  //# sourceMappingURL=sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhH;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,EACD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/G"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjF;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,GACA,OAAO,CAAC,OAAO,CAAC,CAalB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrH;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC7F"}
@@ -1,16 +1,13 @@
1
1
  import { SessionService } from '../services/index.js';
2
- import { formatOutput } from '../lib/output.js';
3
- export async function listCoworkers(storage, useJson) {
2
+ export async function listCoworkers(storage) {
4
3
  const service = new SessionService(storage);
5
- const coworkers = await service.listCoworkers();
6
- console.log(formatOutput(coworkers, useJson));
4
+ return await service.listCoworkers();
7
5
  }
8
- export async function getCoworkerInfo(storage, name, useJson) {
6
+ export async function getCoworkerInfo(storage, name) {
9
7
  const service = new SessionService(storage);
10
- const coworker = await service.getCoworkerInfo(name);
11
- console.log(formatOutput(coworker, useJson));
8
+ return await service.getCoworkerInfo(name);
12
9
  }
13
- export async function updateCoworker(storage, name, updates, useJson) {
10
+ export async function updateCoworker(storage, name, updates) {
14
11
  const service = new SessionService(storage);
15
12
  await service.updateCoworker(name, {
16
13
  ...(updates.coworkerType !== undefined && updates.coworkerType !== null
@@ -21,16 +18,14 @@ export async function updateCoworker(storage, name, updates, useJson) {
21
18
  philosophy: updates.philosophy,
22
19
  visual_description: updates.visualDescription,
23
20
  });
24
- // Fetch and display the updated coworker info in user-friendly format
25
- const coworker = await service.getCoworkerInfo(name);
26
- console.log(formatOutput(coworker, useJson));
21
+ // Return the updated coworker info
22
+ return await service.getCoworkerInfo(name);
27
23
  }
28
- export async function createSession(storage, name, coworkerType, useJson) {
24
+ export async function createSession(storage, name, coworkerType) {
29
25
  const service = new SessionService(storage);
30
- const session = await service.createSession(name, coworkerType);
31
- console.log(formatOutput(session, useJson));
26
+ return await service.createSession(name, coworkerType);
32
27
  }
33
- export async function deleteCoworker(storage, name, useJson) {
28
+ export async function deleteCoworker(storage, name) {
34
29
  const service = new SessionService(storage);
35
30
  const session = await service.getSessionByName(name);
36
31
  if (!session) {
@@ -57,6 +52,5 @@ export async function deleteCoworker(storage, name, useJson) {
57
52
  // Finally, delete the coworker session
58
53
  await tx.deleteSession(session.id);
59
54
  });
60
- console.log(formatOutput({ success: true, message: `Coworker ${name} deleted` }, useJson));
61
55
  }
62
56
  //# sourceMappingURL=sessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function listTaskColumns(useJson: boolean): Promise<void>;
1
+ export declare function listTaskColumns(): unknown;
2
2
  //# sourceMappingURL=task-columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-columns.d.ts","sourceRoot":"","sources":["../../src/commands/task-columns.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrE"}
1
+ {"version":3,"file":"task-columns.d.ts","sourceRoot":"","sources":["../../src/commands/task-columns.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,OAAO,CASzC"}