ticlawk 0.1.17-dev.18 → 0.1.17-dev.19

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 (33) hide show
  1. package/README.md +3 -17
  2. package/bin/ticlawk.mjs +21 -245
  3. package/package.json +1 -1
  4. package/src/adapters/ticlawk/api.mjs +51 -327
  5. package/src/adapters/ticlawk/credentials.mjs +1 -41
  6. package/src/adapters/ticlawk/index.mjs +27 -249
  7. package/src/adapters/ticlawk/wake-client.mjs +1 -1
  8. package/src/cli/agent-commands.mjs +22 -703
  9. package/src/core/agent-cli-handlers.mjs +18 -519
  10. package/src/core/agent-home.mjs +1 -64
  11. package/src/core/events/worker-events.mjs +36 -32
  12. package/src/core/http.mjs +0 -138
  13. package/src/core/runtime-contract.mjs +1 -0
  14. package/src/core/runtime-env.mjs +0 -7
  15. package/src/core/runtime-support.mjs +78 -130
  16. package/src/runtimes/_shared/incoming-message-prompt.mjs +232 -0
  17. package/src/runtimes/_shared/runtime-base-instructions.mjs +34 -0
  18. package/src/runtimes/claude-code/index.mjs +48 -21
  19. package/src/runtimes/claude-code/session.mjs +7 -2
  20. package/src/runtimes/codex/index.mjs +64 -116
  21. package/src/runtimes/codex/session.mjs +12 -2
  22. package/src/runtimes/openclaw/index.mjs +30 -17
  23. package/src/runtimes/opencode/index.mjs +64 -42
  24. package/src/runtimes/opencode/session.mjs +14 -14
  25. package/src/runtimes/pi/index.mjs +64 -42
  26. package/src/runtimes/pi/session.mjs +8 -11
  27. package/ticlawk.mjs +30 -0
  28. package/src/runtimes/_shared/agent-handbook.mjs +0 -38
  29. package/src/runtimes/_shared/brand.mjs +0 -2
  30. package/src/runtimes/_shared/goal-step-prompt.mjs +0 -133
  31. package/src/runtimes/_shared/goal-task-protocol.mjs +0 -50
  32. package/src/runtimes/_shared/standing-prompt.mjs +0 -331
  33. package/src/runtimes/_shared/wake-prompt.mjs +0 -296
package/README.md CHANGED
@@ -212,16 +212,12 @@ Usage:
212
212
  ticlawk version
213
213
 
214
214
  Agent CLI (run inside an agent runtime; requires TICLAWK_RUNTIME_AGENT_ID):
215
- ticlawk message send --target <t> --phase progress|final # body on stdin
215
+ ticlawk message send --target <t> # body on stdin
216
216
  ticlawk message read --target <t> [opts]
217
217
  ticlawk task claim --message-id <id>
218
218
  ticlawk task update --task-id <id> --status <s>
219
- ticlawk task list [--target <t>] # group admins see the full task board
220
- ticlawk charter get --target <t>
219
+ ticlawk task list [--target <t>]
221
220
  ticlawk group members --target <t>
222
- ticlawk group list
223
- ticlawk agent list
224
- ticlawk dashboard get --conversation-id <id>
225
221
  ticlawk server info [--refresh]
226
222
 
227
223
  Commands:
@@ -230,17 +226,7 @@ Commands:
230
226
  profile list or switch saved local identities
231
227
  message send/read chat messages (agent CLI surface)
232
228
  task claim/update/list tasks (agent CLI surface)
233
- goal report FSM transitions (agent CLI surface)
234
- approval resolve/list goal-loop approvals (agent CLI surface)
235
- charter get/set conversation goal and role spec (agent CLI surface)
236
- group create/list/delete groups, manage charters/members (agent CLI surface)
237
- dashboard set/get conversation dashboards (agent CLI surface)
238
- briefing publish/get owner briefings (agent CLI surface)
239
- agent list/create/delete owned agent slots (agent CLI surface)
240
- service publish/list/call shared services (agent CLI surface)
241
- credential request owner-filled credentials (agent CLI surface)
242
- reminder schedule/list/snooze/cancel reminders (agent CLI surface)
243
- attachment view private chat assets (agent CLI surface)
229
+ group list members of a group conversation (agent CLI surface)
244
230
  server server-info introspection (agent CLI surface)
245
231
  install-daemon install or refresh the background daemon
246
232
  update update the npm package and refresh the daemon
package/bin/ticlawk.mjs CHANGED
@@ -32,34 +32,12 @@ import {
32
32
  AGENT_COMMAND_HELP,
33
33
  runAttachmentViewCommand,
34
34
  runGroupCreateCommand,
35
- runWorkstreamCharterGetCommand,
36
- runWorkstreamCharterSetCommand,
37
- runWorkstreamCreateCommand,
38
- runWorkstreamDeleteCommand,
39
- runWorkstreamListCommand,
40
- runAgentListCommand,
41
- runAgentCreateCommand,
42
- runAgentDeleteCommand,
43
- runDashboardSetCommand,
44
- runDashboardGetCommand,
45
- runCredentialRequestCommand,
46
- runBriefingPublishCommand,
47
- runBriefingGetCommand,
48
- runServiceCreateCommand,
49
- runServiceUpdateCommand,
50
- runServiceDeleteCommand,
51
- runServiceListCommand,
52
- runServiceInfoCommand,
53
- runServiceCallCommand,
54
35
  runGroupMembersAddCommand,
55
36
  runGroupMembersCommand,
56
37
  runGroupMembersRemoveCommand,
57
38
  runMessageCheckCommand,
58
39
  runMessageReactCommand,
59
40
  runMessageReadCommand,
60
- runGoalReportCommand,
61
- runApprovalResolveCommand,
62
- runApprovalListCommand,
63
41
  runMessageSearchCommand,
64
42
  runMessageSendCommand,
65
43
  runProfileShowCommand,
@@ -114,16 +92,12 @@ Usage:
114
92
  ticlawk version
115
93
 
116
94
  Agent CLI (run inside an agent runtime; requires TICLAWK_RUNTIME_AGENT_ID):
117
- ticlawk message send --target <t> --phase progress|final # body on stdin
95
+ ticlawk message send --target <t> # body on stdin
118
96
  ticlawk message read --target <t> [opts]
119
97
  ticlawk task claim --message-id <id>
120
98
  ticlawk task update --task-id <id> --status <s>
121
- ticlawk task list [--target <t>] # group admins see the full task board
122
- ticlawk charter get --target <t>
99
+ ticlawk task list [--target <t>]
123
100
  ticlawk group members --target <t>
124
- ticlawk group list
125
- ticlawk agent list
126
- ticlawk dashboard get --conversation-id <id>
127
101
  ticlawk server info [--refresh]
128
102
 
129
103
  Commands:
@@ -132,17 +106,7 @@ Commands:
132
106
  profile list or switch saved local identities
133
107
  message send/read chat messages (agent CLI surface)
134
108
  task claim/update/list tasks (agent CLI surface)
135
- goal report FSM transitions (agent CLI surface)
136
- approval resolve/list goal-loop approvals (agent CLI surface)
137
- charter get/set conversation goal and role spec (agent CLI surface)
138
- group create/list/delete groups, manage charters/members (agent CLI surface)
139
- dashboard set/get conversation dashboards (agent CLI surface)
140
- briefing publish/get owner briefings (agent CLI surface)
141
- agent list/create/delete owned agent slots (agent CLI surface)
142
- service publish/list/call shared services (agent CLI surface)
143
- credential request owner-filled credentials (agent CLI surface)
144
- reminder schedule/list/snooze/cancel reminders (agent CLI surface)
145
- attachment view private chat assets (agent CLI surface)
109
+ group list members of a group conversation (agent CLI surface)
146
110
  server server-info introspection (agent CLI surface)
147
111
  install-daemon install or refresh the background daemon
148
112
  update update the npm package and refresh the daemon
@@ -214,10 +178,6 @@ function printHelp(helpPath, args = {}) {
214
178
  console.log(getInstallDaemonHelp());
215
179
  return;
216
180
  }
217
- if (AGENT_COMMAND_HELP[head]) {
218
- console.log(AGENT_COMMAND_HELP[head]);
219
- return;
220
- }
221
181
  printUsage();
222
182
  }
223
183
 
@@ -397,6 +357,24 @@ async function main() {
397
357
  process.exit(1);
398
358
  }
399
359
 
360
+ if (command === 'profile') {
361
+ const sub = args._[1];
362
+ if (args.help || args.h || !sub) {
363
+ console.log(AGENT_COMMAND_HELP.profile);
364
+ return;
365
+ }
366
+ if (sub === 'show') {
367
+ process.exitCode = await runProfileShowCommand(args);
368
+ return;
369
+ }
370
+ if (sub === 'update') {
371
+ process.exitCode = await runProfileUpdateCommand(args);
372
+ return;
373
+ }
374
+ console.error(`unknown profile subcommand: ${sub}`);
375
+ process.exit(1);
376
+ }
377
+
400
378
  if (command === 'reminder') {
401
379
  const sub = args._[1];
402
380
  if (args.help || args.h || !sub) {
@@ -475,179 +453,6 @@ async function main() {
475
453
  process.exit(1);
476
454
  }
477
455
 
478
- if (command === 'goal') {
479
- const sub = args._[1];
480
- if (args.help || args.h || !sub) {
481
- console.log(AGENT_COMMAND_HELP.goal);
482
- return;
483
- }
484
- if (sub === 'report') {
485
- process.exitCode = await runGoalReportCommand(args);
486
- return;
487
- }
488
- console.error(`unknown goal subcommand: ${sub}`);
489
- process.exit(1);
490
- }
491
-
492
- if (command === 'approval') {
493
- const sub = args._[1];
494
- if (args.help || args.h || !sub) {
495
- console.log(AGENT_COMMAND_HELP.approval);
496
- return;
497
- }
498
- if (sub === 'resolve') {
499
- process.exitCode = await runApprovalResolveCommand(args);
500
- return;
501
- }
502
- if (sub === 'list') {
503
- process.exitCode = await runApprovalListCommand(args);
504
- return;
505
- }
506
- console.error(`unknown approval subcommand: ${sub}`);
507
- process.exit(1);
508
- }
509
-
510
- if (command === 'workstream') {
511
- const sub = args._[1];
512
- if (args.help || args.h || !sub) {
513
- console.log(AGENT_COMMAND_HELP.workstream);
514
- return;
515
- }
516
- if (sub === 'create') {
517
- process.exitCode = await runWorkstreamCreateCommand(args);
518
- return;
519
- }
520
- if (sub === 'delete') {
521
- process.exitCode = await runWorkstreamDeleteCommand(args);
522
- return;
523
- }
524
- if (sub === 'list') {
525
- process.exitCode = await runWorkstreamListCommand(args);
526
- return;
527
- }
528
- if (sub === 'charter') {
529
- const op = args._[2];
530
- if (op === 'get') {
531
- process.exitCode = await runWorkstreamCharterGetCommand(args);
532
- return;
533
- }
534
- if (op === 'set') {
535
- process.exitCode = await runWorkstreamCharterSetCommand(args);
536
- return;
537
- }
538
- console.error(`unknown workstream charter op: ${op}`);
539
- process.exit(1);
540
- }
541
- console.error(`unknown workstream subcommand: ${sub}`);
542
- process.exit(1);
543
- }
544
-
545
- if (command === 'agent') {
546
- const sub = args._[1];
547
- if (args.help || args.h || !sub) {
548
- console.log(AGENT_COMMAND_HELP.agent);
549
- return;
550
- }
551
- if (sub === 'list') {
552
- process.exitCode = await runAgentListCommand(args);
553
- return;
554
- }
555
- if (sub === 'create') {
556
- process.exitCode = await runAgentCreateCommand(args);
557
- return;
558
- }
559
- if (sub === 'delete') {
560
- process.exitCode = await runAgentDeleteCommand(args);
561
- return;
562
- }
563
- console.error(`unknown agent subcommand: ${sub}`);
564
- process.exit(1);
565
- }
566
-
567
- if (command === 'service') {
568
- const sub = args._[1];
569
- if (args.help || args.h || !sub) {
570
- console.log(AGENT_COMMAND_HELP.service);
571
- return;
572
- }
573
- if (sub === 'create') { process.exitCode = await runServiceCreateCommand(args); return; }
574
- if (sub === 'update') { process.exitCode = await runServiceUpdateCommand(args); return; }
575
- if (sub === 'delete') { process.exitCode = await runServiceDeleteCommand(args); return; }
576
- if (sub === 'list') { process.exitCode = await runServiceListCommand(args); return; }
577
- if (sub === 'info') { process.exitCode = await runServiceInfoCommand(args); return; }
578
- if (sub === 'call') { process.exitCode = await runServiceCallCommand(args); return; }
579
- console.error(`unknown service subcommand: ${sub}`);
580
- process.exit(1);
581
- }
582
-
583
- if (command === 'briefing') {
584
- const sub = args._[1];
585
- if (args.help || args.h || !sub) {
586
- console.log(AGENT_COMMAND_HELP.briefing);
587
- return;
588
- }
589
- if (sub === 'publish') {
590
- process.exitCode = await runBriefingPublishCommand(args);
591
- return;
592
- }
593
- if (sub === 'get') {
594
- process.exitCode = await runBriefingGetCommand(args);
595
- return;
596
- }
597
- console.error(`unknown briefing subcommand: ${sub}`);
598
- process.exit(1);
599
- }
600
-
601
- if (command === 'credential') {
602
- const sub = args._[1];
603
- if (args.help || args.h || !sub) {
604
- console.log(AGENT_COMMAND_HELP.credential);
605
- return;
606
- }
607
- if (sub === 'request') {
608
- process.exitCode = await runCredentialRequestCommand(args);
609
- return;
610
- }
611
- console.error(`unknown credential subcommand: ${sub}`);
612
- process.exit(1);
613
- }
614
-
615
- if (command === 'dashboard') {
616
- const sub = args._[1];
617
- if (args.help || args.h || !sub) {
618
- console.log(AGENT_COMMAND_HELP.dashboard);
619
- return;
620
- }
621
- if (sub === 'set') {
622
- process.exitCode = await runDashboardSetCommand(args);
623
- return;
624
- }
625
- if (sub === 'get') {
626
- process.exitCode = await runDashboardGetCommand(args);
627
- return;
628
- }
629
- console.error(`unknown dashboard subcommand: ${sub}`);
630
- process.exit(1);
631
- }
632
-
633
- if (command === 'charter') {
634
- const sub = args._[1];
635
- if (args.help || args.h || !sub) {
636
- console.log(AGENT_COMMAND_HELP.charter);
637
- return;
638
- }
639
- if (sub === 'get') {
640
- process.exitCode = await runWorkstreamCharterGetCommand(args);
641
- return;
642
- }
643
- if (sub === 'set') {
644
- process.exitCode = await runWorkstreamCharterSetCommand(args);
645
- return;
646
- }
647
- console.error(`unknown charter subcommand: ${sub}`);
648
- process.exit(1);
649
- }
650
-
651
456
  if (command === 'group') {
652
457
  const sub = args._[1];
653
458
  if (args.help || args.h || !sub) {
@@ -658,27 +463,6 @@ async function main() {
658
463
  process.exitCode = await runGroupCreateCommand(args);
659
464
  return;
660
465
  }
661
- if (sub === 'list') {
662
- process.exitCode = await runWorkstreamListCommand(args);
663
- return;
664
- }
665
- if (sub === 'delete') {
666
- process.exitCode = await runWorkstreamDeleteCommand(args);
667
- return;
668
- }
669
- if (sub === 'charter') {
670
- const op = args._[2];
671
- if (op === 'get') {
672
- process.exitCode = await runWorkstreamCharterGetCommand(args);
673
- return;
674
- }
675
- if (op === 'set') {
676
- process.exitCode = await runWorkstreamCharterSetCommand(args);
677
- return;
678
- }
679
- console.error(`unknown group charter op: ${op}`);
680
- process.exit(1);
681
- }
682
466
  if (sub === 'members') {
683
467
  // Same subcommand handles list / add / remove based on flags.
684
468
  if (args.add) {
@@ -821,14 +605,6 @@ async function main() {
821
605
  console.log('Restart ticlawk for the daemon to use the selected profile.');
822
606
  return;
823
607
  }
824
- if (subcommand === 'show') {
825
- process.exitCode = await runProfileShowCommand(args);
826
- return;
827
- }
828
- if (subcommand === 'update') {
829
- process.exitCode = await runProfileUpdateCommand(args);
830
- return;
831
- }
832
608
  console.error(`unknown profile subcommand: ${subcommand}`);
833
609
  process.exit(1);
834
610
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ticlawk",
3
- "version": "0.1.17-dev.18",
3
+ "version": "0.1.17-dev.19",
4
4
  "description": "Local connector that links agent harnesses (Claude Code, Codex, OpenClaw, opencode, Pi) to the Ticlawk mobile app.",
5
5
  "type": "module",
6
6
  "main": "ticlawk.mjs",