@llm4ts/flow 0.8.1 → 0.10.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.
@@ -42,6 +42,27 @@ declare const CardStep_base: Schema.Class<CardStep, Schema.Struct<{
42
42
  }>, {}>;
43
43
  export declare class CardStep extends CardStep_base {
44
44
  }
45
+ declare const Message_base: Schema.Class<Message, Schema.Struct<{
46
+ readonly id: Schema.Int;
47
+ readonly title: Schema.String;
48
+ readonly contentHtml: Schema.String;
49
+ readonly createdAt: Schema.String;
50
+ }>, {}>;
51
+ export declare class Message extends Message_base {
52
+ }
53
+ declare const Todolist_base: Schema.Class<Todolist, Schema.Struct<{
54
+ readonly id: Schema.Int;
55
+ readonly title: Schema.String;
56
+ }>, {}>;
57
+ export declare class Todolist extends Todolist_base {
58
+ }
59
+ declare const TodoItem_base: Schema.Class<TodoItem, Schema.Struct<{
60
+ readonly id: Schema.Int;
61
+ readonly title: Schema.String;
62
+ readonly completed: Schema.Boolean;
63
+ }>, {}>;
64
+ export declare class TodoItem extends TodoItem_base {
65
+ }
45
66
  export declare const cardColumnsArgs: (board: BasecampProjectRef) => ReadonlyArray<string>;
46
67
  export declare const cardListArgs: (board: BasecampProjectRef, column: Column) => ReadonlyArray<string>;
47
68
  export declare const cardShowArgs: (board: BasecampProjectRef, cardId: number) => ReadonlyArray<string>;
@@ -50,13 +71,23 @@ export declare const cardCreateArgs: (board: BasecampProjectRef, column: Column,
50
71
  export declare const cardAssignArgs: (board: BasecampProjectRef, cardId: number, assignee: string) => ReadonlyArray<string>;
51
72
  export declare const cardCommentsArgs: (cardId: number) => ReadonlyArray<string>;
52
73
  export declare const cardCommentCreateArgs: (cardId: number, body: string) => ReadonlyArray<string>;
74
+ export declare const cardCommentUpdateArgs: (commentId: number, body: string) => ReadonlyArray<string>;
53
75
  export declare const cardStepsArgs: (board: BasecampProjectRef, cardId: number) => ReadonlyArray<string>;
54
76
  export declare const cardStepCompleteArgs: (board: BasecampProjectRef, stepId: number) => ReadonlyArray<string>;
77
+ export declare const messageListArgs: (board: BasecampProjectRef) => ReadonlyArray<string>;
78
+ export declare const messageCreateArgs: (board: BasecampProjectRef, title: string, body: string) => ReadonlyArray<string>;
79
+ export declare const todolistListArgs: (board: BasecampProjectRef) => ReadonlyArray<string>;
80
+ export declare const todoListArgs: (board: BasecampProjectRef, todolistId: number) => ReadonlyArray<string>;
55
81
  export declare const parseColumns: (json: string) => Effect.Effect<ReadonlyArray<Column>, ProcessError>;
56
82
  export declare const parseCard: (json: string) => Effect.Effect<Card, ProcessError>;
57
83
  export declare const parseCards: (json: string) => Effect.Effect<ReadonlyArray<Card>, ProcessError>;
84
+ export declare const parseCardComment: (json: string) => Effect.Effect<CardComment, ProcessError>;
58
85
  export declare const parseCardComments: (json: string) => Effect.Effect<ReadonlyArray<CardComment>, ProcessError>;
59
86
  export declare const parseCardSteps: (json: string) => Effect.Effect<ReadonlyArray<CardStep>, ProcessError>;
87
+ export declare const parseMessage: (json: string) => Effect.Effect<Message, ProcessError>;
88
+ export declare const parseMessages: (json: string) => Effect.Effect<ReadonlyArray<Message>, ProcessError>;
89
+ export declare const parseTodolists: (json: string) => Effect.Effect<ReadonlyArray<Todolist>, ProcessError>;
90
+ export declare const parseTodos: (json: string) => Effect.Effect<ReadonlyArray<TodoItem>, ProcessError>;
60
91
  export interface BasecampToolShape {
61
92
  readonly listColumns: Effect.Effect<ReadonlyArray<Column>, FlowError>;
62
93
  readonly resolveColumn: (title: string) => Effect.Effect<Column, FlowError>;
@@ -66,9 +97,14 @@ export interface BasecampToolShape {
66
97
  readonly createCard: (column: Column, title: string, content: string, assignee?: string) => Effect.Effect<Card, FlowError>;
67
98
  readonly assignCard: (cardId: number, assignee: string) => Effect.Effect<void, FlowError>;
68
99
  readonly readCardComments: (cardId: number) => Effect.Effect<ReadonlyArray<CardComment>, FlowError>;
69
- readonly writeCardComment: (cardId: number, body: string) => Effect.Effect<void, FlowError>;
100
+ readonly writeCardComment: (cardId: number, body: string) => Effect.Effect<CardComment, FlowError>;
101
+ readonly editCardComment: (commentId: number, body: string) => Effect.Effect<void, FlowError>;
70
102
  readonly listSteps: (cardId: number) => Effect.Effect<ReadonlyArray<CardStep>, FlowError>;
71
103
  readonly completeStep: (stepId: number) => Effect.Effect<void, FlowError>;
104
+ readonly listMessages: Effect.Effect<ReadonlyArray<Message>, FlowError>;
105
+ readonly createMessage: (title: string, body: string) => Effect.Effect<Message, FlowError>;
106
+ readonly listTodolists: Effect.Effect<ReadonlyArray<Todolist>, FlowError>;
107
+ readonly listTodos: (todolistId: number) => Effect.Effect<ReadonlyArray<TodoItem>, FlowError>;
72
108
  }
73
109
  export declare const makeBasecampTool: (process: ProcessExecutorShape, workDir: string, events: FlowEventsShape, board: BasecampProjectRef) => Effect.Effect<BasecampToolShape, never, never>;
74
110
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"BasecampTool.d.ts","sourceRoot":"","sources":["../src/BasecampTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasecampTool.d.ts","sourceRoot":"","sources":["../src/BasecampTool.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,24 @@ export class CardStep extends Schema.Class("CardStep")({
41
41
  completed: Schema.Boolean
42
42
  }) {
43
43
  }
44
+ export class Message extends Schema.Class("Message")({
45
+ id: Schema.Int,
46
+ title: Schema.String,
47
+ contentHtml: Schema.String,
48
+ createdAt: Schema.String
49
+ }) {
50
+ }
51
+ export class Todolist extends Schema.Class("Todolist")({
52
+ id: Schema.Int,
53
+ title: Schema.String
54
+ }) {
55
+ }
56
+ export class TodoItem extends Schema.Class("TodoItem")({
57
+ id: Schema.Int,
58
+ title: Schema.String,
59
+ completed: Schema.Boolean
60
+ }) {
61
+ }
44
62
  const projectFlags = (board) => [
45
63
  "--project",
46
64
  board.project,
@@ -111,6 +129,13 @@ export const cardCommentCreateArgs = (cardId, body) => [
111
129
  "create",
112
130
  String(cardId),
113
131
  body,
132
+ ...jsonFlags
133
+ ];
134
+ export const cardCommentUpdateArgs = (commentId, body) => [
135
+ "comments",
136
+ "update",
137
+ String(commentId),
138
+ body,
114
139
  "--quiet"
115
140
  ];
116
141
  export const cardStepsArgs = (board, cardId) => [
@@ -128,6 +153,42 @@ export const cardStepCompleteArgs = (board, stepId) => [
128
153
  ...projectFlags(board),
129
154
  "--quiet"
130
155
  ];
156
+ // Messages and todolists commands take --project only: --card-table
157
+ // belongs to the cards subcommands and is rejected elsewhere.
158
+ const projectOnlyFlags = (board) => [
159
+ "--project",
160
+ board.project
161
+ ];
162
+ export const messageListArgs = (board) => [
163
+ "messages",
164
+ "list",
165
+ ...projectOnlyFlags(board),
166
+ ...jsonFlags
167
+ ];
168
+ // --no-subscribe: agent-written memory must not notify humans per post.
169
+ export const messageCreateArgs = (board, title, body) => [
170
+ "messages",
171
+ "create",
172
+ title,
173
+ body,
174
+ "--no-subscribe",
175
+ ...projectOnlyFlags(board),
176
+ ...jsonFlags
177
+ ];
178
+ export const todolistListArgs = (board) => [
179
+ "todolists",
180
+ "list",
181
+ ...projectOnlyFlags(board),
182
+ ...jsonFlags
183
+ ];
184
+ export const todoListArgs = (board, todolistId) => [
185
+ "todos",
186
+ "list",
187
+ "--list",
188
+ String(todolistId),
189
+ ...projectOnlyFlags(board),
190
+ ...jsonFlags
191
+ ];
131
192
  const decodeJson = (operation, schema, json) => Schema.decodeUnknownEffect(schema)(json).pipe(Effect.mapError((error) => ProcessError.make({
132
193
  message: operation,
133
194
  detail: String(error)
@@ -167,12 +228,14 @@ const commentStruct = Schema.Struct({
167
228
  creator: Schema.Struct({ name: Schema.String }),
168
229
  created_at: Schema.String
169
230
  });
170
- export const parseCardComments = (json) => decodeJson("basecamp parse comments", Schema.fromJsonString(Schema.NullOr(Schema.Array(commentStruct))), json).pipe(Effect.map((comments) => (comments ?? []).map((comment) => CardComment.make({
171
- id: comment.id,
172
- author: comment.creator.name,
173
- contentHtml: comment.content,
174
- createdAt: comment.created_at
175
- }))));
231
+ const toCardComment = (item) => CardComment.make({
232
+ id: item.id,
233
+ author: item.creator.name,
234
+ contentHtml: item.content,
235
+ createdAt: item.created_at
236
+ });
237
+ export const parseCardComment = (json) => decodeJson("basecamp parse comment", Schema.fromJsonString(commentStruct), json).pipe(Effect.map(toCardComment));
238
+ export const parseCardComments = (json) => decodeJson("basecamp parse comments", Schema.fromJsonString(Schema.NullOr(Schema.Array(commentStruct))), json).pipe(Effect.map((comments) => (comments ?? []).map(toCardComment)));
176
239
  const stepStruct = Schema.Struct({
177
240
  id: Schema.Int,
178
241
  title: Schema.String,
@@ -180,6 +243,31 @@ const stepStruct = Schema.Struct({
180
243
  });
181
244
  // A card without steps prints `null`, not `[]`.
182
245
  export const parseCardSteps = (json) => decodeJson("basecamp parse steps", Schema.fromJsonString(Schema.NullOr(Schema.Array(stepStruct))), json).pipe(Effect.map((steps) => (steps ?? []).map((step) => CardStep.make(step))));
246
+ const messageStruct = Schema.Struct({
247
+ id: Schema.Int,
248
+ title: Schema.String,
249
+ content: Schema.optionalKey(Schema.NullOr(Schema.String)),
250
+ created_at: Schema.String
251
+ });
252
+ const toMessage = (item) => Message.make({
253
+ id: item.id,
254
+ title: item.title,
255
+ contentHtml: item.content ?? "",
256
+ createdAt: item.created_at
257
+ });
258
+ export const parseMessage = (json) => decodeJson("basecamp parse message", Schema.fromJsonString(messageStruct), json).pipe(Effect.map(toMessage));
259
+ export const parseMessages = (json) => decodeJson("basecamp parse messages", Schema.fromJsonString(Schema.NullOr(Schema.Array(messageStruct))), json).pipe(Effect.map((items) => (items ?? []).map(toMessage)));
260
+ const todolistStruct = Schema.Struct({
261
+ id: Schema.Int,
262
+ title: Schema.String
263
+ });
264
+ export const parseTodolists = (json) => decodeJson("basecamp parse todolists", Schema.fromJsonString(Schema.NullOr(Schema.Array(todolistStruct))), json).pipe(Effect.map((items) => (items ?? []).map((item) => Todolist.make(item))));
265
+ const todoStruct = Schema.Struct({
266
+ id: Schema.Int,
267
+ title: Schema.String,
268
+ completed: Schema.Boolean
269
+ });
270
+ export const parseTodos = (json) => decodeJson("basecamp parse todos", Schema.fromJsonString(Schema.NullOr(Schema.Array(todoStruct))), json).pipe(Effect.map((items) => (items ?? []).map((item) => TodoItem.make(item))));
183
271
  const output = (result) => result.stdout.join("\n").trim();
184
272
  export const makeBasecampTool = Effect.fn("@llm4ts/flow/BasecampTool.make")(function* (process, workDir, events, board) {
185
273
  const columnsCache = yield* Ref.make(undefined);
@@ -216,9 +304,14 @@ export const makeBasecampTool = Effect.fn("@llm4ts/flow/BasecampTool.make")(func
216
304
  createCard: (column, title, content, assignee) => write("basecamp cards create", run(cardCreateArgs(board, column, title, content, assignee)).pipe(Effect.flatMap((result) => parseCard(output(result))))),
217
305
  assignCard: (cardId, assignee) => write("basecamp cards update", run(cardAssignArgs(board, cardId, assignee)).pipe(Effect.asVoid)),
218
306
  readCardComments: (cardId) => read("basecamp comments list", run(cardCommentsArgs(cardId)).pipe(Effect.flatMap((result) => parseCardComments(output(result))))),
219
- writeCardComment: (cardId, body) => write("basecamp comments create", run(cardCommentCreateArgs(cardId, body)).pipe(Effect.asVoid)),
307
+ writeCardComment: (cardId, body) => write("basecamp comments create", run(cardCommentCreateArgs(cardId, body)).pipe(Effect.flatMap((result) => parseCardComment(output(result))))),
308
+ editCardComment: (commentId, body) => write("basecamp comments update", run(cardCommentUpdateArgs(commentId, body)).pipe(Effect.asVoid)),
220
309
  listSteps: (cardId) => read("basecamp cards steps", run(cardStepsArgs(board, cardId)).pipe(Effect.flatMap((result) => parseCardSteps(output(result))))),
221
- completeStep: (stepId) => write("basecamp cards step complete", run(cardStepCompleteArgs(board, stepId)).pipe(Effect.asVoid))
310
+ completeStep: (stepId) => write("basecamp cards step complete", run(cardStepCompleteArgs(board, stepId)).pipe(Effect.asVoid)),
311
+ listMessages: read("basecamp messages list", run(messageListArgs(board)).pipe(Effect.flatMap((result) => parseMessages(output(result))))),
312
+ createMessage: (title, body) => write("basecamp messages create", run(messageCreateArgs(board, title, body)).pipe(Effect.flatMap((result) => parseMessage(output(result))))),
313
+ listTodolists: read("basecamp todolists list", run(todolistListArgs(board)).pipe(Effect.flatMap((result) => parseTodolists(output(result))))),
314
+ listTodos: (todolistId) => read("basecamp todos list", run(todoListArgs(board, todolistId)).pipe(Effect.flatMap((result) => parseTodos(output(result)))))
222
315
  };
223
316
  });
224
317
  //# sourceMappingURL=BasecampTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasecampTool.js","sourceRoot":"","sources":["../src/BasecampTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasecampTool.js","sourceRoot":"","sources":["../src/BasecampTool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/flow",
3
- "version": "0.8.1",
3
+ "version": "0.10.0",
4
4
  "description": "Effect-native LLM workflow, persistence, review, and repository automation",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -81,13 +81,13 @@
81
81
  "typescript"
82
82
  ],
83
83
  "dependencies": {
84
- "@llm4ts/core": "0.8.1"
84
+ "@llm4ts/core": "0.10.0"
85
85
  },
86
86
  "peerDependencies": {
87
- "effect": "^4.0.0-beta.102"
87
+ "effect": "4.0.0-beta.102"
88
88
  },
89
89
  "devDependencies": {
90
- "effect": "^4.0.0-beta.102"
90
+ "effect": "4.0.0-beta.102"
91
91
  },
92
92
  "scripts": {
93
93
  "clean": "tsc -b tsconfig.json --clean",
@@ -44,6 +44,24 @@ export class CardStep extends Schema.Class<CardStep>("CardStep")({
44
44
  completed: Schema.Boolean
45
45
  }) {}
46
46
 
47
+ export class Message extends Schema.Class<Message>("Message")({
48
+ id: Schema.Int,
49
+ title: Schema.String,
50
+ contentHtml: Schema.String,
51
+ createdAt: Schema.String
52
+ }) {}
53
+
54
+ export class Todolist extends Schema.Class<Todolist>("Todolist")({
55
+ id: Schema.Int,
56
+ title: Schema.String
57
+ }) {}
58
+
59
+ export class TodoItem extends Schema.Class<TodoItem>("TodoItem")({
60
+ id: Schema.Int,
61
+ title: Schema.String,
62
+ completed: Schema.Boolean
63
+ }) {}
64
+
47
65
  const projectFlags = (board: BasecampProjectRef): ReadonlyArray<string> => [
48
66
  "--project",
49
67
  board.project,
@@ -137,6 +155,14 @@ export const cardCommentCreateArgs = (cardId: number, body: string): ReadonlyArr
137
155
  "create",
138
156
  String(cardId),
139
157
  body,
158
+ ...jsonFlags
159
+ ]
160
+
161
+ export const cardCommentUpdateArgs = (commentId: number, body: string): ReadonlyArray<string> => [
162
+ "comments",
163
+ "update",
164
+ String(commentId),
165
+ body,
140
166
  "--quiet"
141
167
  ]
142
168
 
@@ -160,6 +186,54 @@ export const cardStepCompleteArgs = (
160
186
  "--quiet"
161
187
  ]
162
188
 
189
+ // Messages and todolists commands take --project only: --card-table
190
+ // belongs to the cards subcommands and is rejected elsewhere.
191
+ const projectOnlyFlags = (board: BasecampProjectRef): ReadonlyArray<string> => [
192
+ "--project",
193
+ board.project
194
+ ]
195
+
196
+ export const messageListArgs = (board: BasecampProjectRef): ReadonlyArray<string> => [
197
+ "messages",
198
+ "list",
199
+ ...projectOnlyFlags(board),
200
+ ...jsonFlags
201
+ ]
202
+
203
+ // --no-subscribe: agent-written memory must not notify humans per post.
204
+ export const messageCreateArgs = (
205
+ board: BasecampProjectRef,
206
+ title: string,
207
+ body: string
208
+ ): ReadonlyArray<string> => [
209
+ "messages",
210
+ "create",
211
+ title,
212
+ body,
213
+ "--no-subscribe",
214
+ ...projectOnlyFlags(board),
215
+ ...jsonFlags
216
+ ]
217
+
218
+ export const todolistListArgs = (board: BasecampProjectRef): ReadonlyArray<string> => [
219
+ "todolists",
220
+ "list",
221
+ ...projectOnlyFlags(board),
222
+ ...jsonFlags
223
+ ]
224
+
225
+ export const todoListArgs = (
226
+ board: BasecampProjectRef,
227
+ todolistId: number
228
+ ): ReadonlyArray<string> => [
229
+ "todos",
230
+ "list",
231
+ "--list",
232
+ String(todolistId),
233
+ ...projectOnlyFlags(board),
234
+ ...jsonFlags
235
+ ]
236
+
163
237
  const decodeJson = <A, S extends Schema.Codec<A, string>>(
164
238
  operation: string,
165
239
  schema: S,
@@ -232,6 +306,19 @@ const commentStruct = Schema.Struct({
232
306
  created_at: Schema.String
233
307
  })
234
308
 
309
+ const toCardComment = (item: typeof commentStruct.Type): CardComment =>
310
+ CardComment.make({
311
+ id: item.id,
312
+ author: item.creator.name,
313
+ contentHtml: item.content,
314
+ createdAt: item.created_at
315
+ })
316
+
317
+ export const parseCardComment = (json: string): Effect.Effect<CardComment, ProcessError> =>
318
+ decodeJson("basecamp parse comment", Schema.fromJsonString(commentStruct), json).pipe(
319
+ Effect.map(toCardComment)
320
+ )
321
+
235
322
  export const parseCardComments = (
236
323
  json: string
237
324
  ): Effect.Effect<ReadonlyArray<CardComment>, ProcessError> =>
@@ -239,18 +326,7 @@ export const parseCardComments = (
239
326
  "basecamp parse comments",
240
327
  Schema.fromJsonString(Schema.NullOr(Schema.Array(commentStruct))),
241
328
  json
242
- ).pipe(
243
- Effect.map((comments) =>
244
- (comments ?? []).map((comment) =>
245
- CardComment.make({
246
- id: comment.id,
247
- author: comment.creator.name,
248
- contentHtml: comment.content,
249
- createdAt: comment.created_at
250
- })
251
- )
252
- )
253
- )
329
+ ).pipe(Effect.map((comments) => (comments ?? []).map(toCardComment)))
254
330
 
255
331
  const stepStruct = Schema.Struct({
256
332
  id: Schema.Int,
@@ -268,6 +344,60 @@ export const parseCardSteps = (
268
344
  json
269
345
  ).pipe(Effect.map((steps) => (steps ?? []).map((step) => CardStep.make(step))))
270
346
 
347
+ const messageStruct = Schema.Struct({
348
+ id: Schema.Int,
349
+ title: Schema.String,
350
+ content: Schema.optionalKey(Schema.NullOr(Schema.String)),
351
+ created_at: Schema.String
352
+ })
353
+
354
+ const toMessage = (item: typeof messageStruct.Type): Message =>
355
+ Message.make({
356
+ id: item.id,
357
+ title: item.title,
358
+ contentHtml: item.content ?? "",
359
+ createdAt: item.created_at
360
+ })
361
+
362
+ export const parseMessage = (json: string): Effect.Effect<Message, ProcessError> =>
363
+ decodeJson("basecamp parse message", Schema.fromJsonString(messageStruct), json).pipe(
364
+ Effect.map(toMessage)
365
+ )
366
+
367
+ export const parseMessages = (json: string): Effect.Effect<ReadonlyArray<Message>, ProcessError> =>
368
+ decodeJson(
369
+ "basecamp parse messages",
370
+ Schema.fromJsonString(Schema.NullOr(Schema.Array(messageStruct))),
371
+ json
372
+ ).pipe(Effect.map((items) => (items ?? []).map(toMessage)))
373
+
374
+ const todolistStruct = Schema.Struct({
375
+ id: Schema.Int,
376
+ title: Schema.String
377
+ })
378
+
379
+ export const parseTodolists = (
380
+ json: string
381
+ ): Effect.Effect<ReadonlyArray<Todolist>, ProcessError> =>
382
+ decodeJson(
383
+ "basecamp parse todolists",
384
+ Schema.fromJsonString(Schema.NullOr(Schema.Array(todolistStruct))),
385
+ json
386
+ ).pipe(Effect.map((items) => (items ?? []).map((item) => Todolist.make(item))))
387
+
388
+ const todoStruct = Schema.Struct({
389
+ id: Schema.Int,
390
+ title: Schema.String,
391
+ completed: Schema.Boolean
392
+ })
393
+
394
+ export const parseTodos = (json: string): Effect.Effect<ReadonlyArray<TodoItem>, ProcessError> =>
395
+ decodeJson(
396
+ "basecamp parse todos",
397
+ Schema.fromJsonString(Schema.NullOr(Schema.Array(todoStruct))),
398
+ json
399
+ ).pipe(Effect.map((items) => (items ?? []).map((item) => TodoItem.make(item))))
400
+
271
401
  export interface BasecampToolShape {
272
402
  readonly listColumns: Effect.Effect<ReadonlyArray<Column>, FlowError>
273
403
  readonly resolveColumn: (title: string) => Effect.Effect<Column, FlowError>
@@ -284,9 +414,14 @@ export interface BasecampToolShape {
284
414
  readonly readCardComments: (
285
415
  cardId: number
286
416
  ) => Effect.Effect<ReadonlyArray<CardComment>, FlowError>
287
- readonly writeCardComment: (cardId: number, body: string) => Effect.Effect<void, FlowError>
417
+ readonly writeCardComment: (cardId: number, body: string) => Effect.Effect<CardComment, FlowError>
418
+ readonly editCardComment: (commentId: number, body: string) => Effect.Effect<void, FlowError>
288
419
  readonly listSteps: (cardId: number) => Effect.Effect<ReadonlyArray<CardStep>, FlowError>
289
420
  readonly completeStep: (stepId: number) => Effect.Effect<void, FlowError>
421
+ readonly listMessages: Effect.Effect<ReadonlyArray<Message>, FlowError>
422
+ readonly createMessage: (title: string, body: string) => Effect.Effect<Message, FlowError>
423
+ readonly listTodolists: Effect.Effect<ReadonlyArray<Todolist>, FlowError>
424
+ readonly listTodos: (todolistId: number) => Effect.Effect<ReadonlyArray<TodoItem>, FlowError>
290
425
  }
291
426
 
292
427
  const output = (result: ProcessResult): string => result.stdout.join("\n").trim()
@@ -399,7 +534,14 @@ export const makeBasecampTool = Effect.fn("@llm4ts/flow/BasecampTool.make")(func
399
534
  writeCardComment: (cardId, body) =>
400
535
  write(
401
536
  "basecamp comments create",
402
- run(cardCommentCreateArgs(cardId, body)).pipe(Effect.asVoid)
537
+ run(cardCommentCreateArgs(cardId, body)).pipe(
538
+ Effect.flatMap((result) => parseCardComment(output(result)))
539
+ )
540
+ ),
541
+ editCardComment: (commentId, body) =>
542
+ write(
543
+ "basecamp comments update",
544
+ run(cardCommentUpdateArgs(commentId, body)).pipe(Effect.asVoid)
403
545
  ),
404
546
  listSteps: (cardId) =>
405
547
  read(
@@ -412,6 +554,28 @@ export const makeBasecampTool = Effect.fn("@llm4ts/flow/BasecampTool.make")(func
412
554
  write(
413
555
  "basecamp cards step complete",
414
556
  run(cardStepCompleteArgs(board, stepId)).pipe(Effect.asVoid)
557
+ ),
558
+ listMessages: read(
559
+ "basecamp messages list",
560
+ run(messageListArgs(board)).pipe(Effect.flatMap((result) => parseMessages(output(result))))
561
+ ),
562
+ createMessage: (title, body) =>
563
+ write(
564
+ "basecamp messages create",
565
+ run(messageCreateArgs(board, title, body)).pipe(
566
+ Effect.flatMap((result) => parseMessage(output(result)))
567
+ )
568
+ ),
569
+ listTodolists: read(
570
+ "basecamp todolists list",
571
+ run(todolistListArgs(board)).pipe(Effect.flatMap((result) => parseTodolists(output(result))))
572
+ ),
573
+ listTodos: (todolistId) =>
574
+ read(
575
+ "basecamp todos list",
576
+ run(todoListArgs(board, todolistId)).pipe(
577
+ Effect.flatMap((result) => parseTodos(output(result)))
578
+ )
415
579
  )
416
580
  }
417
581
  })