cnagent 2.1.8 → 2.1.10

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 (2) hide show
  1. package/package.json +1 -1
  2. package/tools/dist/cn.js +214 -213
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnagent",
3
- "version": "2.1.8",
3
+ "version": "2.1.10",
4
4
  "description": "Coherent Network agent CLI — everything runs through cn",
5
5
  "keywords": [
6
6
  "cn-agent",
package/tools/dist/cn.js CHANGED
@@ -13015,7 +13015,7 @@ var require_cn_lib = __commonJS({
13015
13015
  );
13016
13016
  }
13017
13017
  var help_text = "cn - Coherent Network agent CLI\n\nUsage: cn <command> [options]\n\nCommands:\n # Agent decisions (output)\n delete <thread> GTD: discard\n defer <thread> GTD: postpone\n delegate <t> <peer> GTD: forward\n do <thread> GTD: claim/start\n done <thread> GTD: complete \xE2\x86\x92 archive\n reply <thread> <msg> Append to thread\n send <peer> <msg> Message to peer (or self)\n \n # cn operations (orchestrator)\n sync Fetch inbound + send outbound\n process Queue inbox \xE2\x86\x92 input.md \xE2\x86\x92 wake agent\n queue [list|clear] View or clear the task queue\n inbox List inbox threads\n outbox List outbox threads\n next Get next inbox item (with cadence)\n read <thread> Read thread with cadence\n \n # Hub management\n init [name] Create new hub\n status Show hub state\n commit [msg] Stage + commit\n push Push to origin\n save [msg] Commit + push\n peer Manage peers\n doctor Health check\n update Update cn to latest version\n\nAliases:\n i = inbox, o = outbox, s = status, d = doctor\n\nFlags:\n --help, -h Show help\n --version, -V Show version\n --json Machine-readable output\n --quiet, -q Minimal output\n --dry-run Show what would happen\n\nActor Model:\n cn runs on cron (every 5 min). It:\n 1. Syncs peers \xE2\x86\x92 queues new inbox items to state/queue/\n 2. If input.md empty \xE2\x86\x92 pops from queue \xE2\x86\x92 writes input.md \xE2\x86\x92 wakes agent\n Agent reads input.md, processes, deletes when done.\n";
13018
- var version = "2.1.8";
13018
+ var version = "2.1.10";
13019
13019
  module2.exports = {
13020
13020
  starts_with,
13021
13021
  strip_prefix,
@@ -30371,6 +30371,217 @@ function run_queue_clear(hub_path) {
30371
30371
  }
30372
30372
  console.log(color("32", "\xE2\x9C\x93 ") + "Queue already empty");
30373
30373
  }
30374
+ function update_runtime(hub_path) {
30375
+ const runtime_path = Path.join(hub_path, "state/runtime.md");
30376
+ const v = exec("cn --version 2>/dev/null");
30377
+ let cn_ver;
30378
+ if (v !== void 0) {
30379
+ const s = Stdlib__String.trim(v);
30380
+ const match2 = Stdlib__String.split_on_char(
30381
+ /* ' ' */
30382
+ 32,
30383
+ s
30384
+ );
30385
+ if (match2) {
30386
+ const match$1 = match2.tl;
30387
+ cn_ver = match$1 ? match$1.hd : "unknown";
30388
+ } else {
30389
+ cn_ver = "unknown";
30390
+ }
30391
+ } else {
30392
+ cn_ver = "unknown";
30393
+ }
30394
+ const v$1 = exec("openclaw --version 2>/dev/null");
30395
+ const oc_ver = v$1 !== void 0 ? Stdlib__String.trim(v$1) : "unknown";
30396
+ const hub_name = Cn_lib.derive_name(hub_path);
30397
+ const c = exec_in(hub_path, "git rev-parse --short HEAD 2>/dev/null");
30398
+ const hub_commit = c !== void 0 ? Stdlib__String.trim(c) : "unknown";
30399
+ const c$1 = exec("git -C $(npm root -g)/cnagent rev-parse --short HEAD 2>/dev/null");
30400
+ const cn_commit = c$1 !== void 0 ? Stdlib__String.trim(c$1) : "unknown";
30401
+ const peers_path = Path.join(hub_path, "state/peers.md");
30402
+ let peer_count;
30403
+ if (Fs.existsSync(peers_path)) {
30404
+ const content = Fs.readFileSync(peers_path, "utf8");
30405
+ const lines = Stdlib__String.split_on_char(
30406
+ /* '\n' */
30407
+ 10,
30408
+ content
30409
+ );
30410
+ peer_count = Stdlib__List.length(Stdlib__List.filter((function(l) {
30411
+ if (l.length > 2) {
30412
+ return Stdlib__String.sub(l, 0, 2) === "- ";
30413
+ } else {
30414
+ return false;
30415
+ }
30416
+ }), lines));
30417
+ } else {
30418
+ peer_count = 0;
30419
+ }
30420
+ const content$1 = Curry._8(Stdlib__Printf.sprintf({
30421
+ TAG: (
30422
+ /* Format */
30423
+ 0
30424
+ ),
30425
+ _0: {
30426
+ TAG: (
30427
+ /* String_literal */
30428
+ 11
30429
+ ),
30430
+ _0: "# Runtime State\n\nAuto-generated by `cn update`. Do not edit manually.\n\n```yaml\nsession_start: ",
30431
+ _1: {
30432
+ TAG: (
30433
+ /* String */
30434
+ 2
30435
+ ),
30436
+ _0: (
30437
+ /* No_padding */
30438
+ 0
30439
+ ),
30440
+ _1: {
30441
+ TAG: (
30442
+ /* String_literal */
30443
+ 11
30444
+ ),
30445
+ _0: "\ncn_version: ",
30446
+ _1: {
30447
+ TAG: (
30448
+ /* String */
30449
+ 2
30450
+ ),
30451
+ _0: (
30452
+ /* No_padding */
30453
+ 0
30454
+ ),
30455
+ _1: {
30456
+ TAG: (
30457
+ /* String_literal */
30458
+ 11
30459
+ ),
30460
+ _0: "\ncn_commit: ",
30461
+ _1: {
30462
+ TAG: (
30463
+ /* String */
30464
+ 2
30465
+ ),
30466
+ _0: (
30467
+ /* No_padding */
30468
+ 0
30469
+ ),
30470
+ _1: {
30471
+ TAG: (
30472
+ /* String_literal */
30473
+ 11
30474
+ ),
30475
+ _0: "\ntemplate_version: ",
30476
+ _1: {
30477
+ TAG: (
30478
+ /* String */
30479
+ 2
30480
+ ),
30481
+ _0: (
30482
+ /* No_padding */
30483
+ 0
30484
+ ),
30485
+ _1: {
30486
+ TAG: (
30487
+ /* String_literal */
30488
+ 11
30489
+ ),
30490
+ _0: "\nopenclaw_version: ",
30491
+ _1: {
30492
+ TAG: (
30493
+ /* String */
30494
+ 2
30495
+ ),
30496
+ _0: (
30497
+ /* No_padding */
30498
+ 0
30499
+ ),
30500
+ _1: {
30501
+ TAG: (
30502
+ /* String_literal */
30503
+ 11
30504
+ ),
30505
+ _0: "\nhub_name: ",
30506
+ _1: {
30507
+ TAG: (
30508
+ /* String */
30509
+ 2
30510
+ ),
30511
+ _0: (
30512
+ /* No_padding */
30513
+ 0
30514
+ ),
30515
+ _1: {
30516
+ TAG: (
30517
+ /* String_literal */
30518
+ 11
30519
+ ),
30520
+ _0: "\nhub_commit: ",
30521
+ _1: {
30522
+ TAG: (
30523
+ /* String */
30524
+ 2
30525
+ ),
30526
+ _0: (
30527
+ /* No_padding */
30528
+ 0
30529
+ ),
30530
+ _1: {
30531
+ TAG: (
30532
+ /* String_literal */
30533
+ 11
30534
+ ),
30535
+ _0: "\npeer_count: ",
30536
+ _1: {
30537
+ TAG: (
30538
+ /* Int */
30539
+ 4
30540
+ ),
30541
+ _0: (
30542
+ /* Int_d */
30543
+ 0
30544
+ ),
30545
+ _1: (
30546
+ /* No_padding */
30547
+ 0
30548
+ ),
30549
+ _2: (
30550
+ /* No_precision */
30551
+ 0
30552
+ ),
30553
+ _3: {
30554
+ TAG: (
30555
+ /* String_literal */
30556
+ 11
30557
+ ),
30558
+ _0: "\n```\n",
30559
+ _1: (
30560
+ /* End_of_format */
30561
+ 0
30562
+ )
30563
+ }
30564
+ }
30565
+ }
30566
+ }
30567
+ }
30568
+ }
30569
+ }
30570
+ }
30571
+ }
30572
+ }
30573
+ }
30574
+ }
30575
+ }
30576
+ }
30577
+ }
30578
+ }
30579
+ },
30580
+ _1: "# Runtime State\n\nAuto-generated by `cn update`. Do not edit manually.\n\n```yaml\nsession_start: %s\ncn_version: %s\ncn_commit: %s\ntemplate_version: %s\nopenclaw_version: %s\nhub_name: %s\nhub_commit: %s\npeer_count: %d\n```\n"
30581
+ }), (/* @__PURE__ */ new Date()).toISOString(), cn_ver, cn_commit, cn_ver, oc_ver, hub_name, hub_commit, peer_count);
30582
+ Fs.writeFileSync(runtime_path, content$1);
30583
+ console.log(color("32", "\xE2\x9C\x93 ") + "Updated state/runtime.md");
30584
+ }
30374
30585
  function run_init(name) {
30375
30586
  const hub_name = name !== void 0 ? name : Path.basename(process.cwd());
30376
30587
  const hub_dir = "cn-" + hub_name;
@@ -30635,6 +30846,7 @@ function run_init(name) {
30635
30846
  },
30636
30847
  _1: "git commit -m 'Initialize %s hub'"
30637
30848
  }), hub_name));
30849
+ update_runtime(hub_dir);
30638
30850
  const msg$1 = Curry._1(Stdlib__Printf.sprintf({
30639
30851
  TAG: (
30640
30852
  /* Format */
@@ -31628,217 +31840,6 @@ function update_cron(hub_path) {
31628
31840
  console.log(color("33", "\xE2\x9A\xA0 ") + "Crontab update failed - update manually");
31629
31841
  }
31630
31842
  }
31631
- function update_runtime(hub_path) {
31632
- const runtime_path = Path.join(hub_path, "state/runtime.md");
31633
- const v = exec("cn --version 2>/dev/null");
31634
- let cn_ver;
31635
- if (v !== void 0) {
31636
- const s = Stdlib__String.trim(v);
31637
- const match2 = Stdlib__String.split_on_char(
31638
- /* ' ' */
31639
- 32,
31640
- s
31641
- );
31642
- if (match2) {
31643
- const match$1 = match2.tl;
31644
- cn_ver = match$1 ? match$1.hd : "unknown";
31645
- } else {
31646
- cn_ver = "unknown";
31647
- }
31648
- } else {
31649
- cn_ver = "unknown";
31650
- }
31651
- const v$1 = exec("openclaw --version 2>/dev/null");
31652
- const oc_ver = v$1 !== void 0 ? Stdlib__String.trim(v$1) : "unknown";
31653
- const hub_name = Cn_lib.derive_name(hub_path);
31654
- const c = exec_in(hub_path, "git rev-parse --short HEAD 2>/dev/null");
31655
- const hub_commit = c !== void 0 ? Stdlib__String.trim(c) : "unknown";
31656
- const c$1 = exec("git -C $(npm root -g)/cnagent rev-parse --short HEAD 2>/dev/null");
31657
- const cn_commit = c$1 !== void 0 ? Stdlib__String.trim(c$1) : "unknown";
31658
- const peers_path = Path.join(hub_path, "state/peers.md");
31659
- let peer_count;
31660
- if (Fs.existsSync(peers_path)) {
31661
- const content = Fs.readFileSync(peers_path, "utf8");
31662
- const lines = Stdlib__String.split_on_char(
31663
- /* '\n' */
31664
- 10,
31665
- content
31666
- );
31667
- peer_count = Stdlib__List.length(Stdlib__List.filter((function(l) {
31668
- if (l.length > 2) {
31669
- return Stdlib__String.sub(l, 0, 2) === "- ";
31670
- } else {
31671
- return false;
31672
- }
31673
- }), lines));
31674
- } else {
31675
- peer_count = 0;
31676
- }
31677
- const content$1 = Curry._8(Stdlib__Printf.sprintf({
31678
- TAG: (
31679
- /* Format */
31680
- 0
31681
- ),
31682
- _0: {
31683
- TAG: (
31684
- /* String_literal */
31685
- 11
31686
- ),
31687
- _0: "# Runtime State\n\nAuto-generated by `cn update`. Do not edit manually.\n\n```yaml\nsession_start: ",
31688
- _1: {
31689
- TAG: (
31690
- /* String */
31691
- 2
31692
- ),
31693
- _0: (
31694
- /* No_padding */
31695
- 0
31696
- ),
31697
- _1: {
31698
- TAG: (
31699
- /* String_literal */
31700
- 11
31701
- ),
31702
- _0: "\ncn_version: ",
31703
- _1: {
31704
- TAG: (
31705
- /* String */
31706
- 2
31707
- ),
31708
- _0: (
31709
- /* No_padding */
31710
- 0
31711
- ),
31712
- _1: {
31713
- TAG: (
31714
- /* String_literal */
31715
- 11
31716
- ),
31717
- _0: "\ncn_commit: ",
31718
- _1: {
31719
- TAG: (
31720
- /* String */
31721
- 2
31722
- ),
31723
- _0: (
31724
- /* No_padding */
31725
- 0
31726
- ),
31727
- _1: {
31728
- TAG: (
31729
- /* String_literal */
31730
- 11
31731
- ),
31732
- _0: "\ntemplate_version: ",
31733
- _1: {
31734
- TAG: (
31735
- /* String */
31736
- 2
31737
- ),
31738
- _0: (
31739
- /* No_padding */
31740
- 0
31741
- ),
31742
- _1: {
31743
- TAG: (
31744
- /* String_literal */
31745
- 11
31746
- ),
31747
- _0: "\nopenclaw_version: ",
31748
- _1: {
31749
- TAG: (
31750
- /* String */
31751
- 2
31752
- ),
31753
- _0: (
31754
- /* No_padding */
31755
- 0
31756
- ),
31757
- _1: {
31758
- TAG: (
31759
- /* String_literal */
31760
- 11
31761
- ),
31762
- _0: "\nhub_name: ",
31763
- _1: {
31764
- TAG: (
31765
- /* String */
31766
- 2
31767
- ),
31768
- _0: (
31769
- /* No_padding */
31770
- 0
31771
- ),
31772
- _1: {
31773
- TAG: (
31774
- /* String_literal */
31775
- 11
31776
- ),
31777
- _0: "\nhub_commit: ",
31778
- _1: {
31779
- TAG: (
31780
- /* String */
31781
- 2
31782
- ),
31783
- _0: (
31784
- /* No_padding */
31785
- 0
31786
- ),
31787
- _1: {
31788
- TAG: (
31789
- /* String_literal */
31790
- 11
31791
- ),
31792
- _0: "\npeer_count: ",
31793
- _1: {
31794
- TAG: (
31795
- /* Int */
31796
- 4
31797
- ),
31798
- _0: (
31799
- /* Int_d */
31800
- 0
31801
- ),
31802
- _1: (
31803
- /* No_padding */
31804
- 0
31805
- ),
31806
- _2: (
31807
- /* No_precision */
31808
- 0
31809
- ),
31810
- _3: {
31811
- TAG: (
31812
- /* String_literal */
31813
- 11
31814
- ),
31815
- _0: "\n```\n",
31816
- _1: (
31817
- /* End_of_format */
31818
- 0
31819
- )
31820
- }
31821
- }
31822
- }
31823
- }
31824
- }
31825
- }
31826
- }
31827
- }
31828
- }
31829
- }
31830
- }
31831
- }
31832
- }
31833
- }
31834
- }
31835
- }
31836
- },
31837
- _1: "# Runtime State\n\nAuto-generated by `cn update`. Do not edit manually.\n\n```yaml\nsession_start: %s\ncn_version: %s\ncn_commit: %s\ntemplate_version: %s\nopenclaw_version: %s\nhub_name: %s\nhub_commit: %s\npeer_count: %d\n```\n"
31838
- }), (/* @__PURE__ */ new Date()).toISOString(), cn_ver, cn_commit, cn_ver, oc_ver, hub_name, hub_commit, peer_count);
31839
- Fs.writeFileSync(runtime_path, content$1);
31840
- console.log(color("32", "\xE2\x9C\x93 ") + "Updated state/runtime.md");
31841
- }
31842
31843
  function run_update(param) {
31843
31844
  console.log(color("36", "Checking for updates..."));
31844
31845
  console.log(Curry._1(Stdlib__Printf.sprintf({
@@ -32294,6 +32295,7 @@ module.exports = {
32294
32295
  run_sync,
32295
32296
  run_queue_list,
32296
32297
  run_queue_clear,
32298
+ update_runtime,
32297
32299
  run_init,
32298
32300
  format_peers_md,
32299
32301
  run_peer_list,
@@ -32302,7 +32304,6 @@ module.exports = {
32302
32304
  run_peer_sync,
32303
32305
  inbox_flush,
32304
32306
  update_cron,
32305
- update_runtime,
32306
32307
  run_update,
32307
32308
  run_update_with_cron,
32308
32309
  drop