@toon-protocol/rig 4.5.0 → 4.7.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.
package/dist/index.js CHANGED
@@ -1,9 +1,15 @@
1
1
  import {
2
2
  CI_ADVERTISEMENT_KIND,
3
3
  CI_JOB_RESULT_KIND,
4
+ CI_LIVE_LOG_TAIL_INTERVAL_MS,
5
+ CI_LIVE_LOG_TAIL_JOB_BYTES,
6
+ CI_LIVE_LOG_TAIL_KIND,
7
+ CI_LIVE_LOG_TAIL_MAX_BYTES,
4
8
  CI_MANUAL_TRIGGER_KIND,
5
9
  CI_MAX_ADVERTISEMENT_TTL,
10
+ CI_MAX_LIVE_LOG_TAIL_TTL,
6
11
  CI_MAX_PROGRESS_TTL,
12
+ CI_RUNNER_CHANNEL_KEY,
7
13
  CI_RUNNER_FAMILY,
8
14
  CI_SECRET_UPDATE_KIND,
9
15
  CI_SERVICE_REQUEST_KIND,
@@ -13,6 +19,7 @@ import {
13
19
  CI_WORKFLOW_PROGRESS_KIND,
14
20
  CI_WORKFLOW_RESULT_KIND,
15
21
  DEFAULT_CONCURRENCY,
22
+ EARLIEST_UNIQUE_COMMIT_MARKER,
16
23
  GitError,
17
24
  GitRepoReader,
18
25
  MAX_OBJECT_SIZE,
@@ -24,20 +31,25 @@ import {
24
31
  ObjectIntegrityError,
25
32
  ObjectWriteMismatchError,
26
33
  OversizeObjectsError,
34
+ RELAYS_TAG,
27
35
  RESERVED_SECRET_NAMES,
28
36
  SECRET_NAME_RE,
37
+ WEB_TAG,
29
38
  WORKFLOW_DIRS,
39
+ amendRepoAnnouncement,
30
40
  applySecretUpdate,
31
41
  assembleCiStatus,
32
42
  assertSecretUpdateShape,
33
43
  buildCiAdvertisement,
34
44
  buildCiJobResult,
45
+ buildCiLiveLogTail,
35
46
  buildCiManualTrigger,
36
47
  buildCiSecretUpdate,
37
48
  buildCiServiceRequest,
38
49
  buildCiServiceStop,
39
50
  buildCiWorkflowProgress,
40
51
  buildCiWorkflowResult,
52
+ buildRepoAnnouncement,
41
53
  collectRepoObjects,
42
54
  commonTriggerTags,
43
55
  controlOrder,
@@ -59,6 +71,8 @@ import {
59
71
  isCiConclusion,
60
72
  isCiTrustLevel,
61
73
  isSafeRefname,
74
+ liveLogTailBudget,
75
+ liveLogTailEventBudget,
62
76
  matchesPullRequest,
63
77
  matchesPush,
64
78
  missingObjectsMessage,
@@ -66,6 +80,7 @@ import {
66
80
  ownerToHex,
67
81
  parseCiAdvertisement,
68
82
  parseCiJobResult,
83
+ parseCiLiveLogTail,
69
84
  parseCiManualTrigger,
70
85
  parseCiSecretUpdate,
71
86
  parseCiServiceControl,
@@ -85,6 +100,7 @@ import {
85
100
  serializePushResult,
86
101
  setHeadSymref,
87
102
  sha256Hex,
103
+ sliceLogTail,
88
104
  trustAtLeast,
89
105
  updateRef,
90
106
  validateSecretUpdate,
@@ -92,25 +108,27 @@ import {
92
108
  walkClosure,
93
109
  writeGitObject,
94
110
  writeGitObjects
95
- } from "./chunk-S2BMLXAD.js";
111
+ } from "./chunk-3IVO2MSZ.js";
96
112
  import {
97
113
  COMMENT_KIND,
114
+ LEGACY_COMMENT_KIND,
98
115
  MAINTAINERS_TAG,
116
+ MAX_ARWEAVE_TAGS_PER_EVENT,
99
117
  PAYOUT_TAG,
100
118
  REPOSITORY_STATE_KIND,
101
119
  authorizedStatusAuthors,
102
120
  buildComment,
103
121
  buildIssue,
104
122
  buildPatch,
105
- buildRepoAnnouncement,
106
123
  buildRepoRefs,
107
124
  buildStatus,
125
+ commentBelongsToThread,
108
126
  fetchRemoteState,
109
127
  isValidEvmPayoutAddress,
110
128
  parseMaintainers,
111
129
  parsePayout,
112
130
  queryRelay
113
- } from "./chunk-HMED76GU.js";
131
+ } from "./chunk-S3KKQ4IC.js";
114
132
  import "./chunk-U5A7MHBP.js";
115
133
 
116
134
  // src/factory-job-gate.ts
@@ -419,20 +437,492 @@ var FakeRunner = class {
419
437
  /** Every request, in call order. */
420
438
  requests = [];
421
439
  async run(request) {
422
- this.requests.push(request);
423
- const result = await this.script(request);
424
- if (request.onLog) {
425
- for (const job of result.jobs) request.onLog(job.jobId, job.log);
440
+ const sink = request.onLog;
441
+ const streamed = /* @__PURE__ */ new Set();
442
+ const scripted = sink ? {
443
+ ...request,
444
+ onLog: (jobId, chunk) => {
445
+ streamed.add(jobId);
446
+ sink(jobId, chunk);
447
+ }
448
+ } : request;
449
+ this.requests.push(scripted);
450
+ const result = await this.script(scripted);
451
+ if (sink) {
452
+ for (const job of result.jobs) {
453
+ if (!streamed.has(job.jobId)) sink(job.jobId, job.log);
454
+ }
426
455
  }
427
456
  return result;
428
457
  }
429
458
  };
459
+
460
+ // src/nip34-fixtures/ngit-announcement-wyrd.ts
461
+ var NGIT_ANNOUNCEMENT_WYRD_RELAY = "wss://relay.ngit.dev";
462
+ var NGIT_ANNOUNCEMENT_WYRD_CAPTURED_AT = "2026-09-17T16:00:01Z";
463
+ var NGIT_ANNOUNCEMENT_WYRD_EVENT_ID = "5df470edc9067955e707def26b57dbf3c61920ede9c6792ab592d435729192b0";
464
+ var NGIT_ANNOUNCEMENT_WYRD = {
465
+ id: "5df470edc9067955e707def26b57dbf3c61920ede9c6792ab592d435729192b0",
466
+ pubkey: "b3c95ce33dfa84326611e8b7a9c10b78df28754c38b106a4bc0196b9be5f4e4a",
467
+ created_at: 1789554867,
468
+ kind: 30617,
469
+ tags: [
470
+ ["d", "wyrd"],
471
+ ["r", "2e12ddef8cb4f0adf28518ba7322021379c65a02", "euc"],
472
+ ["name", "wyrd"],
473
+ [
474
+ "description",
475
+ "**Wyrd** is a decentralized, append-only, content-addressed drive system."
476
+ ],
477
+ [
478
+ "clone",
479
+ "https://grasp.t5.st/npub1k0y4eceal2zryes3azm6nsgt0r0jsa2v8zcsdf9uqxttn0jlfe9q04c9h8/wyrd.git"
480
+ ],
481
+ [
482
+ "web",
483
+ "https://gitworkshop.dev/npub1k0y4eceal2zryes3azm6nsgt0r0jsa2v8zcsdf9uqxttn0jlfe9q04c9h8/grasp.t5.st/wyrd"
484
+ ],
485
+ ["relays", "wss://grasp.t5.st"],
486
+ ["alt", "git repository: wyrd"],
487
+ [
488
+ "maintainers",
489
+ "b3c95ce33dfa84326611e8b7a9c10b78df28754c38b106a4bc0196b9be5f4e4a",
490
+ "86a314a7ef4aa4fb4e00d738a7bec5fc96ac1312246c7c25888ae609046e6965"
491
+ ],
492
+ ["M", "b3c95ce33dfa84326611e8b7a9c10b78df28754c38b106a4bc0196b9be5f4e4a"],
493
+ [
494
+ "m",
495
+ "86a314a7ef4aa4fb4e00d738a7bec5fc96ac1312246c7c25888ae609046e6965",
496
+ "1789554803"
497
+ ]
498
+ ],
499
+ content: "",
500
+ sig: "546036757fc3d3857d6d3b80b478ad9c726ce6964d7f7e76dbb5551ce04c8e79e2d2efb90a99f402d50724a2b24749a3a5b952d6406cfb25b57d500f3dac2f11"
501
+ };
502
+
503
+ // src/nip34-fixtures/ngit-state-ngit.ts
504
+ var NGIT_STATE_NGIT_RELAY = "wss://relay.ngit.dev";
505
+ var NGIT_STATE_NGIT_CAPTURED_AT = "2026-09-17T16:00:01Z";
506
+ var NGIT_STATE_NGIT_EVENT_ID = "17fdde63cbc0289e933e6ed232e354cce6713d89e10a793f6d6f9d8ad274ee14";
507
+ var NGIT_STATE_NGIT = {
508
+ id: "17fdde63cbc0289e933e6ed232e354cce6713d89e10a793f6d6f9d8ad274ee14",
509
+ pubkey: "a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d",
510
+ created_at: 1789656880,
511
+ kind: 30618,
512
+ tags: [
513
+ ["d", "ngit"],
514
+ ["refs/tags/v1.1.2", "ada8f00836ec3330047d6a39108b84b7bd234448"],
515
+ ["refs/tags/v3.0.0-rc.7", "fa86c50cba00596c0de1f1681b6223c71914f78c"],
516
+ ["refs/tags/v3.0.0-rc.6", "23d0d79e63cbfd681d8f95668732ddf727fcf4ab"],
517
+ ["refs/tags/v2.2.0", "e0213ed04aa5bbec24ed7c8b7de9bdf8057346be"],
518
+ ["refs/tags/v1.0.0^{}", "535be9c1c0a40fdeef9aa3ca84f90b01bc371a22"],
519
+ ["refs/tags/v1.6.1^{}", "3476464013dc2d54030bdec5f9590a3c61dc16c0"],
520
+ ["refs/tags/v2.4.1^{}", "875f4e0a99688c7363cba69c1485af1cd4b34999"],
521
+ ["refs/tags/v3.0.0-rc.6^{}", "3361488d34ad6b80aac68e93207ff8e7d2176b9f"],
522
+ ["refs/tags/v1.6.0^{}", "632af9a091205a0453f0d96a165e1535fd24b2a7"],
523
+ ["refs/tags/v0.1.0", "ba171a6b14b9d7237a60c4b2089f1fb0b83173cf"],
524
+ ["refs/tags/v2.1.0", "6bc45e30804da0ba1fc2a2727f432ccfc751e1e6"],
525
+ ["refs/tags/v1.0.0", "ce44cc759858b8dfa9552b01efc8ec00cb7a946a"],
526
+ ["refs/tags/v1.5.1^{}", "51358320c50afece31fc25945a09e3d7aac8f39c"],
527
+ ["refs/tags/v2.0.1", "317fc12b99ee8f5e1df9010b586b31a3f2546372"],
528
+ ["refs/tags/v3.0.0-rc.3^{}", "d70b3863e89e24a112ebc782fb63c1e05bb3691b"],
529
+ ["refs/tags/v1.3-beta1", "fc3258fa9dbad5d1fa1c20a0236c1514ea36f97b"],
530
+ ["refs/tags/v1.6.2^{}", "23d0f1232c0b2e7be147f328a55e23aed6641440"],
531
+ ["refs/tags/v1.4.5", "ea6765741d1aa837318bd1fc6e724383ebef9889"],
532
+ ["refs/tags/v0.0.2", "e1cf767fde29d696a1ddb3943a5defa68213b6cf"],
533
+ ["refs/tags/v1.5.3", "1b8ff53ed826d1290058e531a7f43c9e3493a9c5"],
534
+ ["refs/tags/v2.6.1", "694642891cbcc23a8173f0fc4a4fcf13eff8acc9"],
535
+ ["refs/tags/v1.4.3^{}", "190b2f622f44c49aa77f8089d9ca9218c0aade81"],
536
+ ["refs/tags/v2.6.0", "e71a5472652ed8869ec9069ccd388639f8d1234a"],
537
+ ["refs/tags/v1.4.6^{}", "fce27a10b2161508d35a07ce926e994ae9bb909f"],
538
+ ["refs/tags/v0.1.2", "adbb992190c29f93e2aa649dac57f1757154af4f"],
539
+ ["refs/tags/v1.1.2^{}", "87ee59ebd91ec4b73b5528446e6d7d87449a9e5d"],
540
+ ["refs/tags/v3.0.0-rc.5", "f449b229d4ae6a74213e647ab2925e02a28e582f"],
541
+ ["refs/tags/v1.5.0^{}", "b9ea26bc928c361b092eefde69820c51ebc3a3df"],
542
+ ["refs/tags/v1.7.3^{}", "bddbcbb97f238760fd346f88bfdd8470f3eddf2a"],
543
+ ["refs/tags/v2.3.0^{}", "45b0f8c6b1dab2d51338d88b2a7caf4b1b571f4d"],
544
+ ["refs/tags/v1.5.2^{}", "12dc5bc06f701308c47589018e932a413ad543ba"],
545
+ ["refs/tags/v1.7.4^{}", "4447aad6378403bba73d738214aa81c50b6d5567"],
546
+ ["refs/tags/v1.4.1", "bd64e8e8109eb43180c98a25f2d0333f5c7b6af2"],
547
+ ["refs/tags/v1.6.1", "b3ce4f7a34ec968e8f3eb37ff874cc84b2232861"],
548
+ ["refs/tags/v1.5.1", "1c995b00d0d21597a82627b9157a0f8626c3d858"],
549
+ ["refs/tags/v3.0.0-rc.8", "cc57418dfbc6d2673f24328ac927a36fdc4a2163"],
550
+ ["refs/tags/v2.5.0^{}", "d88bce1ab357c74a6cfd153b0cf4a49f25b8dfaa"],
551
+ ["refs/tags/v2.6.0^{}", "7b37d89713e42ea91679d1138d43af1fe9e9341d"],
552
+ ["refs/tags/v2.3.0", "7a7ae1862b1edeaa931e53c0395d8ae392ca557b"],
553
+ ["refs/tags/v1.7.1", "e70809933fa73016feb45da906e79e511a019a18"],
554
+ ["refs/tags/v3.0.1", "56ddf48e5543ee7d107edbb47253cffb00c90cf8"],
555
+ ["refs/tags/v2.2.3^{}", "f91a0d00bafe2af1f6b6828c3de3d3e5d65153c3"],
556
+ ["refs/tags/v1.7.2", "d800a8c43a412f1bc1751f9f86f63ff869bd93b2"],
557
+ ["refs/tags/v0.1.1", "9c1ffe1d084c427c91b581fdb677106b31faeab0"],
558
+ ["refs/heads/tmp", "99b761499e81e79259df521aab9c33a1f11a4c59"],
559
+ ["refs/tags/v1.7.3", "faf822c49cb0c597595901938dc5ad07c8735d69"],
560
+ ["refs/tags/v2.4.4^{}", "05b0edbff1659689ecc3efbfe36420d64486e2f7"],
561
+ ["refs/tags/v1.4.2", "5635ccf7a664de52f017dcd85f10548fd6ed18f4"],
562
+ ["refs/tags/v1.4.3", "1c6b3ea18ca930067407c9733997af810ccc7188"],
563
+ ["refs/tags/v0.0.2^{}", "ae6e1f72d9d668783cf27c5f3a88f3cb445f6402"],
564
+ ["refs/tags/v1.5.0", "4a0c01adfb7345ba9feb9a26eb434ea0489c7a81"],
565
+ ["refs/tags/v1.4.0^{}", "a3073105ae20747fbf76b70cf0ac4ed5c0a9b1b3"],
566
+ ["refs/tags/v2.2.0^{}", "3a17877bcdabc9d6721e3054c2bb07a892f32147"],
567
+ ["refs/tags/v1.4.6", "7335fccd5947bc7f469c9762b45422b5f87985dc"],
568
+ ["refs/tags/v2.4.2^{}", "59e467b423e0ba66c30c7f1b7d41d47d938615de"],
569
+ ["refs/tags/v1.2.0^{}", "f5c82ee70dc2e881c2b1013f6d352f5da7b08291"],
570
+ ["refs/tags/v2.2.3", "c6944db92396dcfb7a0e4b8c5ebed475c9435df4"],
571
+ ["refs/tags/v2.4.4", "b04b58cd1baf4a8db03f72f1162d4950b54489d8"],
572
+ ["refs/tags/v1.5.2", "6cc7ac1aa32a3d54bb091bcf73371d0f6c51e6a3"],
573
+ ["refs/tags/v2.5.0", "02d14a38bb27a279a69ebf3dd34615c95ea49d8b"],
574
+ ["refs/tags/v1.2.1^{}", "1083153ea340b57620870a47ce7653aeae3d1196"],
575
+ ["refs/tags/v1.6.2", "b76fac50b49aac116b2f1c7965d00b343bedac8f"],
576
+ ["refs/tags/v1.6.3", "423534e17a5d6a2efb412d2b0b5944a270af5f86"],
577
+ ["refs/tags/v3.0.0-rc.5^{}", "e1d20770b354a39eb8c6ba965ea5d5e822e81610"],
578
+ ["refs/tags/v1.2.0", "c8728180f959b5e5dca04a926f0e3d0e16e374b5"],
579
+ ["refs/tags/v1.4.4^{}", "76a88f81af435a5c11fa7baf1689c82880fdcd5c"],
580
+ ["refs/tags/v3.0.1^{}", "682b22a34baca24ddd3edde65f7490eb8f91e50c"],
581
+ ["refs/tags/v2.2.1", "6509946b8942f7970d1404310cef8e2f7952b929"],
582
+ ["refs/tags/v1.7.4", "8e54a753cdd2ccba302188d4a398e38cf0d42271"],
583
+ ["refs/tags/v2.1.0^{}", "d2412565334f48bd31e57d29d7959c24258ccd98"],
584
+ ["refs/tags/v2.0.1^{}", "4a6f51a8245e335cdb276029c4e82c6d6e2798af"],
585
+ ["refs/tags/v3.0.0-rc.8^{}", "7899027ec1715ea5ab0ab2178774c10f39e0a7da"],
586
+ ["refs/tags/v3.0.0-rc.3", "6aeca06ea2933a5a38f73cc29ceda55652cffa16"],
587
+ ["refs/tags/v1.1.1^{}", "bba5a092b7f07b9a096e2801d51030b186161f80"],
588
+ ["refs/tags/v1.1.0^{}", "aa36f4e569c9eac7cec101917f87995d6809005e"],
589
+ ["refs/tags/v3.0.0^{}", "c2cc591dcfae5d46dc178c0ea87e8bc1802f09b3"],
590
+ ["refs/tags/v1.7.1^{}", "6fbbc8ccb8ec330e7963a4333944db69f2e4dc9f"],
591
+ ["refs/tags/v2.4.3", "c5b0d370b8c980964a77379e33459c2eab642fc2"],
592
+ ["refs/tags/v3.0.0-rc.4^{}", "015dfb79f80dcd07bdf7de6010c00c0754d5d8b4"],
593
+ ["refs/tags/v2.4.3^{}", "e8c3c49b5bbac43cd1497c2593198d19fe506073"],
594
+ ["refs/tags/v2.2.1^{}", "3017faf6d346fa9328c5979c6e9c6bc471bd3942"],
595
+ ["refs/tags/v0.0.1", "6f33ddda6f4d2a1deb4af72f1ce0fdab365c1cb9"],
596
+ ["refs/tags/v1.3.0", "2c778140d892fd3c8757b078971cb935058b600c"],
597
+ ["refs/tags/v2.0.0", "f5ad8c320b413b23df80d776217e750765186892"],
598
+ ["refs/tags/v3.0.0-rc.2^{}", "71a8a71313a3a0b029e07bc8a1ed3aa5789255e9"],
599
+ ["refs/tags/v0.1.1^{}", "fc3f22eac2bb81823f170f61ba9d39baff76b933"],
600
+ ["refs/tags/v1.4.0", "c280794fa6c70b076e9f121f1f30f9aa0edb0855"],
601
+ ["refs/tags/v0.1.0^{}", "15879248571e2753395ecbeb52e67bd2a9ad9db0"],
602
+ ["refs/tags/v1.7.2^{}", "20f2680394e0b62864b1b192338b3cd7ecdad4ec"],
603
+ ["refs/tags/v1.4.5^{}", "36763dc0d821425e088adefd16dc7c4bf3b30f3b"],
604
+ ["refs/tags/v3.0.0", "695aca4f159938582bc978b257ab78fbf1676612"],
605
+ ["refs/tags/v1.6.0", "10d699134f72a7d4bdad44fb86889a406f9e9acd"],
606
+ ["refs/tags/v1.4.2^{}", "daaaa3a21277351638eda04739ac3d7b3716f955"],
607
+ ["refs/tags/v1.3.1^{}", "52f9efa50f81142da013c4da5f3cd3091e07916b"],
608
+ ["refs/tags/v2.4.0", "dc4734acbddb7eba7d55bcbe88a4436b03d89904"],
609
+ ["refs/tags/v2.4.1", "c0141e567d61c98f9ec92aa004261e821a753104"],
610
+ ["refs/tags/v1.7.0", "f3609a709a41248337666b7da4db89e7050a4abd"],
611
+ ["refs/heads/stable", "682b22a34baca24ddd3edde65f7490eb8f91e50c"],
612
+ ["refs/tags/v2.4.2", "81d3dd6f90871dbcdf149180dbe43f18d7163f5f"],
613
+ ["refs/tags/v1.3.1", "4172a64be45d1cb038d42011eb9958fab6a30ecd"],
614
+ ["refs/tags/v2.6.2^{}", "4316af88a7ffa2a9d9fe72afbf9b8fd6b1c8568f"],
615
+ ["refs/tags/v1.7.0^{}", "8b182325ad221e06f20b5778fd4963a4b90622c5"],
616
+ ["refs/tags/v0.1.2^{}", "4b66c76a5a3ba878b4603d992353327807b8d8e6"],
617
+ ["refs/tags/v3.0.0-rc.2", "457f018d0d01c6c8607a1b341c573b0668ab4fc5"],
618
+ ["refs/tags/v0.0.1^{}", "7d50d66d21bcaac39ad1d422d1da3167e98f8a40"],
619
+ ["refs/tags/v1.4.1^{}", "09ead86c82f773778b984b5bbbd9798155265cd3"],
620
+ ["refs/tags/v3.0.0-rc.4", "0168bb5fb768e21346e5abbfc04934ed6e824efd"],
621
+ ["refs/tags/v2.4.0^{}", "205ca05897cbc727d9b75e7ab68375b5c93ead39"],
622
+ ["refs/tags/v1.1.1", "16cbf069aea4c0c4ce75bbf6bcea773b8386cd9e"],
623
+ ["refs/tags/v2.6.3^{}", "a923f6417d236b5472d502cb447c2da5d6b17666"],
624
+ ["refs/tags/v1.6.3^{}", "d4bc948bfd06a8d61b3deb072db8a70b5ef8a775"],
625
+ ["refs/tags/v2.6.1^{}", "55f3e3a838dffd03f0fdd996103b8dc8c2cddcd6"],
626
+ ["refs/tags/v1.3-beta1^{}", "ba82a894fad645757c49242c11573b6c5dd8d1e6"],
627
+ ["refs/tags/v2.6.2", "c49c6410af12b9b53ced477b956a08280fed78bc"],
628
+ ["refs/tags/v1.2.1", "21cabdbd03fa4d2068975db47416c9d7c819c47e"],
629
+ ["refs/tags/v3.0.0-rc.7^{}", "8eb500aded769ad047b07e25c0abe33413f4b500"],
630
+ ["refs/tags/v1.1.0", "f47d46864b9691e258a83f4e40570e61bd8df9aa"],
631
+ ["refs/tags/v1.4.4", "bbee90c53e455474d13ba7b0b18670dc0b0ba66f"],
632
+ ["refs/tags/v2.0.0^{}", "9b97fd944f7635cb71b7d5be53369a65a0538ebd"],
633
+ ["refs/tags/v1.3.0^{}", "d1dab56ad1319b61b5e3f70949780ba98d312ea8"],
634
+ ["refs/tags/v1.5.3^{}", "0089b8fce131c0675539490b67f5a55aab377853"],
635
+ ["refs/tags/v2.6.3", "ecb8474a1c0d60c4452876920912fc0772c9505d"],
636
+ ["refs/heads/timeout-testing", "bbdd4387da920ba56065320fdd5a9997bd209e5e"],
637
+ ["refs/heads/main", "715f0fdeca1c7dd68ad144f36112e02cab58a264"],
638
+ ["HEAD", "ref: refs/heads/main"]
639
+ ],
640
+ content: "",
641
+ sig: "8512128f0ee420a754d1da87771d8fcbb967744e88af6a11f273adfdaa62f517a69ac61774d3841b4db96446700a423c9efda9aa4752cf418220a1dac2e8ba0f"
642
+ };
643
+
644
+ // src/nip34-fixtures/ngit-comment-thread-hydrusui.ts
645
+ var NGIT_COMMENT_THREAD_RELAY = "wss://relay.ngit.dev";
646
+ var NGIT_COMMENT_THREAD_CAPTURED_AT = "2026-09-17T16:00:01Z";
647
+ var NGIT_COMMENT_THREAD_ROOT_EVENT_ID = "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a";
648
+ var NGIT_COMMENT_THREAD_COMMENT_EVENT_IDS = [
649
+ "c7a156e8ced575251d7c6b3b20504d0d8b24b6e88da94a2072680aff9b12fbba",
650
+ "1301e2e3bd9426e1d6919b544f700f43a508bd585acae38ef706cc510c336102",
651
+ "6f815f058c6f627eab6f5324f06cda29163e0232f410abf8eff22de250e188c1",
652
+ "952c1fe0a2e88c3c716b56aa2f695349a77220a211779de30e97b115ba94e084",
653
+ "fdf52ad9ccd8038ca8d0a1ee73e508d3351edd3b80e703953646ee2c83366a1a"
654
+ ];
655
+ var NGIT_COMMENT_THREAD_NESTED_REPLY_ID = "952c1fe0a2e88c3c716b56aa2f695349a77220a211779de30e97b115ba94e084";
656
+ var NGIT_COMMENT_THREAD_NESTED_REPLY_PARENT_ID = "6f815f058c6f627eab6f5324f06cda29163e0232f410abf8eff22de250e188c1";
657
+ var NGIT_COMMENT_THREAD_ROOT = {
658
+ id: "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
659
+ pubkey: "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
660
+ created_at: 1789629752,
661
+ kind: 1621,
662
+ tags: [
663
+ [
664
+ "a",
665
+ "30617:43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1:HydrusUI",
666
+ "wss://relay.yiff.tech/"
667
+ ],
668
+ [
669
+ "p",
670
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
671
+ "wss://relay.yiff.tech/"
672
+ ],
673
+ ["subject", "Bug: Thumbnail Healing / Transfer"],
674
+ ["alt", "Git issue: Bug: Thumbnail Healing / Transfer"],
675
+ [
676
+ "imeta",
677
+ "url https://blossom.ditto.pub/56d1b8449bb4691af1373df9ce9d13c00cb31827ed7c47775e448e7df96ae981.png",
678
+ "x 56d1b8449bb4691af1373df9ce9d13c00cb31827ed7c47775e448e7df96ae981",
679
+ "ox 56d1b8449bb4691af1373df9ce9d13c00cb31827ed7c47775e448e7df96ae981",
680
+ "size 93750",
681
+ "m image/png",
682
+ "dim 978x596",
683
+ "blurhash L35#^r%jI8x^pMoNW9kDt9R%oLj]"
684
+ ]
685
+ ],
686
+ content: "In the case where you have plaintext SHAs on a private blossom server already, there are many times where you couldn't 'heal' or get thumbnails to get moved onto it from within the UI.\n\nWorking on an automated tool that can do it if it ever occurs. For now, the most effective method is to use the multi selector and right click menu, and run 'Regen Previews' \n\nhttps://blossom.ditto.pub/56d1b8449bb4691af1373df9ce9d13c00cb31827ed7c47775e448e7df96ae981.png",
687
+ sig: "efff5623455271d9866bd2384b1e59476c4e277cbccff4c59b9d73c5e927410379e25a600da9f82447e2a5b78440cdc5d314b64ebdacc3fb5ae80a4c86782e2b"
688
+ };
689
+ var COMMENT_1 = {
690
+ id: "c7a156e8ced575251d7c6b3b20504d0d8b24b6e88da94a2072680aff9b12fbba",
691
+ pubkey: "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
692
+ created_at: 1789629841,
693
+ kind: 1111,
694
+ tags: [
695
+ [
696
+ "E",
697
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
698
+ "",
699
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
700
+ ],
701
+ ["K", "1621"],
702
+ ["P", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"],
703
+ [
704
+ "e",
705
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
706
+ "",
707
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
708
+ ],
709
+ ["k", "1621"],
710
+ ["p", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"]
711
+ ],
712
+ content: "Deploying 2eb6450ace79018d4d3f20f7c9952fa113659029 , trying to build in automatic healing.",
713
+ sig: "6004bdb25dd1437851a8ed325743f335f4f298c5faf3db406706cc419c84182dc107ce4d288f73f05f96000de32be2a19835c9bd21d525330b95876d25276c9d"
714
+ };
715
+ var COMMENT_2 = {
716
+ id: "1301e2e3bd9426e1d6919b544f700f43a508bd585acae38ef706cc510c336102",
717
+ pubkey: "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
718
+ created_at: 1789630511,
719
+ kind: 1111,
720
+ tags: [
721
+ [
722
+ "E",
723
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
724
+ "",
725
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
726
+ ],
727
+ ["K", "1621"],
728
+ ["P", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"],
729
+ [
730
+ "e",
731
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
732
+ "",
733
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
734
+ ],
735
+ ["k", "1621"],
736
+ ["p", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"],
737
+ [
738
+ "imeta",
739
+ "url https://blossom.ditto.pub/bb1b398f4e1627336b481ee5825d95317fd48458c786ea855eab803e48d0ea95.png",
740
+ "x bb1b398f4e1627336b481ee5825d95317fd48458c786ea855eab803e48d0ea95",
741
+ "ox bb1b398f4e1627336b481ee5825d95317fd48458c786ea855eab803e48d0ea95",
742
+ "size 8963",
743
+ "m image/png",
744
+ "dim 367x106",
745
+ "blurhash L79O[V}Z1bI:BUS#w{ae0x1H}Fxa"
746
+ ]
747
+ ],
748
+ content: "https://blossom.ditto.pub/bb1b398f4e1627336b481ee5825d95317fd48458c786ea855eab803e48d0ea95.png",
749
+ sig: "48442690b282b643d50752c0c22102f191c5a2402e075d92550ac1d1644c390841e3f3aad540974b38f9fd853a46f57712b8a88488c2b06ac12e5308864c2cb6"
750
+ };
751
+ var COMMENT_3 = {
752
+ id: "6f815f058c6f627eab6f5324f06cda29163e0232f410abf8eff22de250e188c1",
753
+ pubkey: "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
754
+ created_at: 1789631422,
755
+ kind: 1111,
756
+ tags: [
757
+ [
758
+ "E",
759
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
760
+ "",
761
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
762
+ ],
763
+ ["K", "1621"],
764
+ ["P", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"],
765
+ [
766
+ "e",
767
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
768
+ "",
769
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
770
+ ],
771
+ ["k", "1621"],
772
+ ["p", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"]
773
+ ],
774
+ content: 'Currently, it does work to heal a private clear-text blossom server now that has existing submission blobs.\n\nThe UI will attempt to load the thumbnails when you press "Show More" if you have more than the initial set of submissions in your query, attempt to load them, then drop them out of the list. \n\nThis notification will pop-up and grow as the full submission files get pulled from the related endpoint to regenerate the thumbnail, then upload it. Deltas get broadcasted onto the network to notify of the update to the submission.',
775
+ sig: "44763a88f67a5c0020d3b503e73b8229854a9445591fb7f57237ea3f92e8dcdf7ab645f631fd841801b77d6ebce0e2b78ce869ccadac604c5282a45518f69476"
776
+ };
777
+ var NESTED_REPLY = {
778
+ id: "952c1fe0a2e88c3c716b56aa2f695349a77220a211779de30e97b115ba94e084",
779
+ pubkey: "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
780
+ created_at: 1789633147,
781
+ kind: 1111,
782
+ tags: [
783
+ [
784
+ "E",
785
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
786
+ "",
787
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
788
+ ],
789
+ ["K", "1621"],
790
+ ["P", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"],
791
+ [
792
+ "e",
793
+ "6f815f058c6f627eab6f5324f06cda29163e0232f410abf8eff22de250e188c1",
794
+ "",
795
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
796
+ ],
797
+ ["k", "1111"],
798
+ ["p", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"]
799
+ ],
800
+ content: "I do need to handle this exception, so that we don't just reset or drop entire pools of submissions you might be looking at while things are healing",
801
+ sig: "315005f83203dcf83cb6cfe507a270e0400d659e3b8af8d8f42fecddc4fc05f1632d9df429e19550453e6961cffb4707e5093e9ece33521fe2ce8beb358d8332"
802
+ };
803
+ var COMMENT_5 = {
804
+ id: "fdf52ad9ccd8038ca8d0a1ee73e508d3351edd3b80e703953646ee2c83366a1a",
805
+ pubkey: "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1",
806
+ created_at: 1789644897,
807
+ kind: 1111,
808
+ tags: [
809
+ [
810
+ "E",
811
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
812
+ "",
813
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
814
+ ],
815
+ ["K", "1621"],
816
+ ["P", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"],
817
+ [
818
+ "e",
819
+ "3bb49002757fe697f328a2825fdd00f48a8c376238db65b18906d52864692e2a",
820
+ "",
821
+ "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"
822
+ ],
823
+ ["k", "1621"],
824
+ ["p", "43d7f07d10b9e662745e10b2fc201a74dc178a308c31409350d06b04477816e1"]
825
+ ],
826
+ content: "Closing for now. got the base in by f55d8a42c9fdff59c1982e1835a81ec9cc805043 , added some additional features & polish by 93a4e2f2c259676c75d8170faa0aea384b8719cb\n\nAll the DOM Reloads as thumbnails regenerate & take over do make the client feel laggy if you've got devtools open, but even with 300 thumbnails being processed with tagging events from the bulk uploader, it's so far been stable in it's tab. \n\nIt's much snappier without devtools.\n\nFairly happy with the memory footprint in this state, even if it's chrome. Granted, initial uploads are much heavier in the browser than this.",
827
+ sig: "f97b7e8638383903e0245fae076f760d4c942949f782804aac437c06e55a9c05aad7de391b4a0a349bf7bcdc1c58d74a3f4348b0ae827af0625b359cc1fef7b2"
828
+ };
829
+ var NGIT_COMMENT_THREAD_COMMENTS = [
830
+ COMMENT_1,
831
+ COMMENT_2,
832
+ COMMENT_3,
833
+ NESTED_REPLY,
834
+ COMMENT_5
835
+ ];
836
+
837
+ // src/nip34-fixtures/ngit-status-ngit.ts
838
+ var NGIT_STATUS_NGIT_RELAY = "wss://relay.ngit.dev";
839
+ var NGIT_STATUS_NGIT_CAPTURED_AT = "2026-09-17T16:00:01Z";
840
+ var NGIT_STATUS_NGIT_EVENT_ID = "7fa92c2970493b77974848db0c225e0c37fb6694eabed67387224a4711093b2f";
841
+ var NGIT_STATUS_NGIT_TARGET_EVENT_ID = "fabe42e7c41d4e43e3dcc78db20c3859a7696eb6bc655aed852741e074951c48";
842
+ var NGIT_STATUS_NGIT = {
843
+ id: "7fa92c2970493b77974848db0c225e0c37fb6694eabed67387224a4711093b2f",
844
+ pubkey: "a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d",
845
+ created_at: 1789656887,
846
+ kind: 1631,
847
+ tags: [
848
+ [
849
+ "e",
850
+ "fabe42e7c41d4e43e3dcc78db20c3859a7696eb6bc655aed852741e074951c48",
851
+ "",
852
+ "root"
853
+ ],
854
+ [
855
+ "a",
856
+ "30617:a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d:ngit",
857
+ "wss://nos.lol/"
858
+ ],
859
+ ["alt", "Status change"],
860
+ [
861
+ "p",
862
+ "657c9f566a2627ad76196695361e1d814bdb49e87b90f4db818fb91c59dc142a",
863
+ "wss://relay.damus.io/"
864
+ ],
865
+ ["merge-commit", "715f0fdeca1c7dd68ad144f36112e02cab58a264"],
866
+ ["r", "715f0fdeca1c7dd68ad144f36112e02cab58a264"]
867
+ ],
868
+ content: "",
869
+ sig: "aea241f5f67ec7851b25a1c3309e922ea858b5f0f4055b5b95e7eddcdd2e46f909fb67d2dc8e94a32a960ffc6e0fa238c80aad7b9b5a915111960a7dd780c57b"
870
+ };
871
+ var NGIT_STATUS_NGIT_TARGET = {
872
+ id: "fabe42e7c41d4e43e3dcc78db20c3859a7696eb6bc655aed852741e074951c48",
873
+ pubkey: "657c9f566a2627ad76196695361e1d814bdb49e87b90f4db818fb91c59dc142a",
874
+ created_at: 1789630888,
875
+ kind: 1618,
876
+ tags: [
877
+ [
878
+ "a",
879
+ "30617:a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d:ngit",
880
+ "wss://relay.ngit.dev"
881
+ ],
882
+ [
883
+ "subject",
884
+ "Stabilize release-edit metadata tests without changing release dates"
885
+ ],
886
+ [
887
+ "alt",
888
+ "git Pull Request: Stabilize release-edit metadata tests without changing release dates"
889
+ ],
890
+ ["branch-name", "release-edit-ordering-fixture"],
891
+ ["r", "26689f97810fc656c7134c76e2a37d33b2e40ce7"],
892
+ ["c", "21e185c74370b43015705e4ff3dd0155e6ba5732"],
893
+ [
894
+ "clone",
895
+ "https://relay.ngit.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit.git"
896
+ ],
897
+ ["merge-base", "24b90e585a184d14840489ccda008bf0389c6eea"],
898
+ ["p", "a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d"]
899
+ ],
900
+ content: "The legacy-release metadata test could fail with replacement_ordering_exhausted after its first edit randomly produced a very low event ID. This caused the unrelated CI failure on the whoami PR.\n\nSplit omission and explicit commit override into independent scenarios. Each starts with a signed predecessor in the upper half of the event-ID space, constructed with a bounded search. Both assert the relay-visible metadata, preserved release date, and lower replacement ID. A separate unit test uses the exact CI predecessor ID to verify the intentional exhaustion error.\n\nThis is a test-only fix. Production keeps its bounded search and date-preservation contract; this does not make arbitrary repeated fixed-date edits always succeed.\n\nValidation: all 22 release integration tests and 17 ordering unit tests pass; all-targets Clippy with warnings denied, formatting, and diff checks pass.\n\nCI failure being addressed: https://blossom.ditto.pub/6ec38c668665ed7201b6aa5eaf0606f226e391ff1aa4c8f614611d7925cb15e6.txt",
901
+ sig: "cec1e1d7a7e04adec03e5d21078587ea086ea47cd31111721112e58e68b78222a13e2b24edb81a0243b9f069a0c01cfd45f7bdbb12116108eee8880a566a5663"
902
+ };
903
+
904
+ // src/nip34-fixtures/index.ts
905
+ var ALL_NGIT_FIXTURE_EVENTS = [
906
+ NGIT_ANNOUNCEMENT_WYRD,
907
+ NGIT_STATE_NGIT,
908
+ NGIT_COMMENT_THREAD_ROOT,
909
+ ...NGIT_COMMENT_THREAD_COMMENTS,
910
+ NGIT_STATUS_NGIT,
911
+ NGIT_STATUS_NGIT_TARGET
912
+ ];
430
913
  export {
914
+ ALL_NGIT_FIXTURE_EVENTS,
431
915
  CI_ADVERTISEMENT_KIND,
432
916
  CI_JOB_RESULT_KIND,
917
+ CI_LIVE_LOG_TAIL_INTERVAL_MS,
918
+ CI_LIVE_LOG_TAIL_JOB_BYTES,
919
+ CI_LIVE_LOG_TAIL_KIND,
920
+ CI_LIVE_LOG_TAIL_MAX_BYTES,
433
921
  CI_MANUAL_TRIGGER_KIND,
434
922
  CI_MAX_ADVERTISEMENT_TTL,
923
+ CI_MAX_LIVE_LOG_TAIL_TTL,
435
924
  CI_MAX_PROGRESS_TTL,
925
+ CI_RUNNER_CHANNEL_KEY,
436
926
  CI_RUNNER_FAMILY,
437
927
  CI_SECRET_UPDATE_KIND,
438
928
  CI_SERVICE_REQUEST_KIND,
@@ -443,33 +933,62 @@ export {
443
933
  CI_WORKFLOW_RESULT_KIND,
444
934
  COMMENT_KIND,
445
935
  DEFAULT_CONCURRENCY,
936
+ EARLIEST_UNIQUE_COMMIT_MARKER,
446
937
  FACTORY_JOB_FEEDBACK_KIND,
447
938
  FACTORY_JOB_REQUEST_KIND,
448
939
  FACTORY_JOB_RESULT_KIND,
449
940
  FakeRunner,
450
941
  GitError,
451
942
  GitRepoReader,
943
+ LEGACY_COMMENT_KIND,
452
944
  MAINTAINERS_TAG,
945
+ MAX_ARWEAVE_TAGS_PER_EVENT,
453
946
  MAX_OBJECT_SIZE,
454
947
  MAX_SECRET_CIPHERTEXT_BYTES,
455
948
  MAX_SECRET_NAMES,
456
949
  MAX_SECRET_PLAINTEXT_BYTES,
457
950
  MAX_SECRET_VALUE_BYTES,
951
+ NGIT_ANNOUNCEMENT_WYRD,
952
+ NGIT_ANNOUNCEMENT_WYRD_CAPTURED_AT,
953
+ NGIT_ANNOUNCEMENT_WYRD_EVENT_ID,
954
+ NGIT_ANNOUNCEMENT_WYRD_RELAY,
955
+ NGIT_COMMENT_THREAD_CAPTURED_AT,
956
+ NGIT_COMMENT_THREAD_COMMENTS,
957
+ NGIT_COMMENT_THREAD_COMMENT_EVENT_IDS,
958
+ NGIT_COMMENT_THREAD_NESTED_REPLY_ID,
959
+ NGIT_COMMENT_THREAD_NESTED_REPLY_PARENT_ID,
960
+ NGIT_COMMENT_THREAD_RELAY,
961
+ NGIT_COMMENT_THREAD_ROOT,
962
+ NGIT_COMMENT_THREAD_ROOT_EVENT_ID,
963
+ NGIT_STATE_NGIT,
964
+ NGIT_STATE_NGIT_CAPTURED_AT,
965
+ NGIT_STATE_NGIT_EVENT_ID,
966
+ NGIT_STATE_NGIT_RELAY,
967
+ NGIT_STATUS_NGIT,
968
+ NGIT_STATUS_NGIT_CAPTURED_AT,
969
+ NGIT_STATUS_NGIT_EVENT_ID,
970
+ NGIT_STATUS_NGIT_RELAY,
971
+ NGIT_STATUS_NGIT_TARGET,
972
+ NGIT_STATUS_NGIT_TARGET_EVENT_ID,
458
973
  NonFastForwardError,
459
974
  ObjectIntegrityError,
460
975
  ObjectWriteMismatchError,
461
976
  OversizeObjectsError,
462
977
  PAYOUT_TAG,
978
+ RELAYS_TAG,
463
979
  REPOSITORY_STATE_KIND,
464
980
  RESERVED_SECRET_NAMES,
465
981
  SECRET_NAME_RE,
982
+ WEB_TAG,
466
983
  WORKFLOW_DIRS,
984
+ amendRepoAnnouncement,
467
985
  applySecretUpdate,
468
986
  assembleCiStatus,
469
987
  assertSecretUpdateShape,
470
988
  authorizedStatusAuthors,
471
989
  buildCiAdvertisement,
472
990
  buildCiJobResult,
991
+ buildCiLiveLogTail,
473
992
  buildCiManualTrigger,
474
993
  buildCiSecretUpdate,
475
994
  buildCiServiceRequest,
@@ -487,6 +1006,7 @@ export {
487
1006
  buildResultEvent,
488
1007
  buildStatus,
489
1008
  collectRepoObjects,
1009
+ commentBelongsToThread,
490
1010
  commonTriggerTags,
491
1011
  controlOrder,
492
1012
  createGitBlob,
@@ -512,6 +1032,8 @@ export {
512
1032
  isCiTrustLevel,
513
1033
  isSafeRefname,
514
1034
  isValidEvmPayoutAddress,
1035
+ liveLogTailBudget,
1036
+ liveLogTailEventBudget,
515
1037
  matchesPullRequest,
516
1038
  matchesPush,
517
1039
  missingObjectsMessage,
@@ -519,6 +1041,7 @@ export {
519
1041
  ownerToHex,
520
1042
  parseCiAdvertisement,
521
1043
  parseCiJobResult,
1044
+ parseCiLiveLogTail,
522
1045
  parseCiManualTrigger,
523
1046
  parseCiSecretUpdate,
524
1047
  parseCiServiceControl,
@@ -543,6 +1066,7 @@ export {
543
1066
  serializePushResult,
544
1067
  setHeadSymref,
545
1068
  sha256Hex,
1069
+ sliceLogTail,
546
1070
  trustAtLeast,
547
1071
  updateRef,
548
1072
  validateSecretUpdate,