@knpkv/herdr-connect 0.3.1 → 0.4.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 (80) hide show
  1. package/README.md +2 -0
  2. package/dist/activity-store.d.ts +2 -2
  3. package/dist/activity-store.d.ts.map +1 -1
  4. package/dist/activity-store.js +20 -26
  5. package/dist/activity-store.js.map +1 -1
  6. package/dist/client.d.ts +986 -2
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +353 -54
  9. package/dist/client.js.map +1 -1
  10. package/dist/directory.d.ts +1 -1
  11. package/dist/directory.d.ts.map +1 -1
  12. package/dist/directory.js +1 -1
  13. package/dist/directory.js.map +1 -1
  14. package/dist/id.d.ts.map +1 -1
  15. package/dist/id.js +3 -2
  16. package/dist/id.js.map +1 -1
  17. package/dist/index.d.ts +4 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +4 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/internal/terminal-release.d.ts.map +1 -1
  22. package/dist/internal/terminal-release.js +3 -1
  23. package/dist/internal/terminal-release.js.map +1 -1
  24. package/dist/model.d.ts.map +1 -1
  25. package/dist/model.js +3 -2
  26. package/dist/model.js.map +1 -1
  27. package/dist/relationship-store.d.ts +2 -2
  28. package/dist/relationship-store.d.ts.map +1 -1
  29. package/dist/relationship-store.js +23 -32
  30. package/dist/relationship-store.js.map +1 -1
  31. package/dist/terminal-dimensions.d.ts +25 -0
  32. package/dist/terminal-dimensions.d.ts.map +1 -0
  33. package/dist/terminal-dimensions.js +19 -0
  34. package/dist/terminal-dimensions.js.map +1 -0
  35. package/dist/terminal-keyboard.d.ts +52 -0
  36. package/dist/terminal-keyboard.d.ts.map +1 -0
  37. package/dist/terminal-keyboard.js +141 -0
  38. package/dist/terminal-keyboard.js.map +1 -0
  39. package/dist/terminal-output.d.ts +30 -0
  40. package/dist/terminal-output.d.ts.map +1 -0
  41. package/dist/terminal-output.js +54 -0
  42. package/dist/terminal-output.js.map +1 -0
  43. package/dist/terminal-rail-navigation.d.ts +4 -0
  44. package/dist/terminal-rail-navigation.d.ts.map +1 -0
  45. package/dist/terminal-rail-navigation.js +13 -0
  46. package/dist/terminal-rail-navigation.js.map +1 -0
  47. package/dist/terminal-viewport.d.ts +32 -2
  48. package/dist/terminal-viewport.d.ts.map +1 -1
  49. package/dist/terminal-viewport.js +131 -12
  50. package/dist/terminal-viewport.js.map +1 -1
  51. package/dist/terminal-worker-guard.d.ts +7 -0
  52. package/dist/terminal-worker-guard.d.ts.map +1 -0
  53. package/dist/terminal-worker-guard.js +11 -0
  54. package/dist/terminal-worker-guard.js.map +1 -0
  55. package/dist/terminal.d.ts +1746 -110
  56. package/dist/terminal.d.ts.map +1 -1
  57. package/dist/terminal.js +1 -1
  58. package/dist/terminal.js.map +1 -1
  59. package/dist/view.d.ts +15 -2
  60. package/dist/view.d.ts.map +1 -1
  61. package/dist/view.js +46 -2
  62. package/dist/view.js.map +1 -1
  63. package/dist/work-goal-link-view.d.ts +8 -0
  64. package/dist/work-goal-link-view.d.ts.map +1 -0
  65. package/dist/work-goal-link-view.js +3 -0
  66. package/dist/work-goal-link-view.js.map +1 -0
  67. package/dist/work-goal-link.d.ts +24 -0
  68. package/dist/work-goal-link.d.ts.map +1 -0
  69. package/dist/work-goal-link.js +34 -0
  70. package/dist/work-goal-link.js.map +1 -0
  71. package/dist/work-poll.d.ts +6 -0
  72. package/dist/work-poll.d.ts.map +1 -0
  73. package/dist/work-poll.js +7 -0
  74. package/dist/work-poll.js.map +1 -0
  75. package/dist/workspace-focus.d.ts +23 -0
  76. package/dist/workspace-focus.d.ts.map +1 -0
  77. package/dist/workspace-focus.js +69 -0
  78. package/dist/workspace-focus.js.map +1 -0
  79. package/package.json +17 -15
  80. package/src/styles.css +139 -12
package/src/styles.css CHANGED
@@ -1,6 +1,11 @@
1
1
  @import "@knpkv/rly/styles.css";
2
2
 
3
3
  @layer connect {
4
+ html.connect-terminal-document-lock,
5
+ body.connect-terminal-document-lock {
6
+ overflow: hidden !important;
7
+ }
8
+
4
9
  html,
5
10
  body.connect-body,
6
11
  #fleet-connect-root {
@@ -120,23 +125,35 @@
120
125
  }
121
126
 
122
127
  .connect-filter-row {
123
- display: flex;
124
- flex-wrap: wrap;
128
+ display: grid;
125
129
  gap: var(--rly-space-8);
126
- justify-content: space-between;
130
+ grid-template-columns: repeat(2, minmax(0, 1fr));
127
131
  margin-block-end: var(--rly-space-20);
128
132
  }
129
133
 
134
+ .connect-filter-set {
135
+ display: grid;
136
+ gap: var(--rly-space-4);
137
+ min-inline-size: 0;
138
+ }
139
+
140
+ .connect-filter-label {
141
+ color: var(--rly-color-text-3);
142
+ font-size: var(--rly-type-meta-size);
143
+ padding-inline: var(--rly-space-4);
144
+ }
145
+
130
146
  .connect-group-filter,
131
147
  .connect-status-filter {
132
148
  background: var(--rly-color-surface-2);
133
149
  border: 1px solid var(--rly-color-border-1);
134
150
  border-radius: var(--rly-radius-control);
135
151
  display: flex;
152
+ flex-wrap: wrap;
136
153
  gap: 2px;
137
- overflow-x: auto;
154
+ max-inline-size: 100%;
155
+ min-inline-size: 0;
138
156
  padding: 2px;
139
- scrollbar-width: none;
140
157
  }
141
158
 
142
159
  .connect-group-filter button,
@@ -149,8 +166,11 @@
149
166
  font: inherit;
150
167
  font-size: var(--rly-type-meta-size);
151
168
  flex: 0 0 auto;
169
+ max-inline-size: 100%;
170
+ min-inline-size: 0;
171
+ overflow-wrap: anywhere;
152
172
  padding: var(--rly-space-6) var(--rly-space-8);
153
- white-space: nowrap;
173
+ white-space: normal;
154
174
  }
155
175
 
156
176
  .connect-group-filter button[aria-pressed="true"],
@@ -160,6 +180,12 @@
160
180
  color: var(--rly-color-text-1);
161
181
  }
162
182
 
183
+ .connect-group-filter button:focus-visible,
184
+ .connect-status-filter button:focus-visible {
185
+ outline: 2px solid var(--rly-color-focus);
186
+ outline-offset: 1px;
187
+ }
188
+
163
189
  .connect-agent-tree {
164
190
  display: grid;
165
191
  gap: var(--rly-space-28);
@@ -317,7 +343,7 @@
317
343
  border: 0;
318
344
  border-radius: 0;
319
345
  display: grid;
320
- grid-template-rows: auto minmax(0, 1fr);
346
+ grid-template-rows: auto auto minmax(0, 1fr);
321
347
  min-block-size: 0;
322
348
  min-inline-size: 0;
323
349
  overflow: hidden;
@@ -340,10 +366,99 @@
340
366
  min-inline-size: 0;
341
367
  }
342
368
 
369
+ .connect-agent-identity {
370
+ display: grid;
371
+ min-inline-size: 0;
372
+ }
373
+
374
+ .connect-agent-work-link {
375
+ color: inherit;
376
+ min-inline-size: 0;
377
+ text-decoration: none;
378
+ }
379
+
380
+ .connect-agent-work-link:hover,
381
+ .connect-agent-work-link:focus-visible {
382
+ color: var(--rly-color-agent);
383
+ text-decoration: underline;
384
+ text-decoration-thickness: 0.12em;
385
+ text-underline-offset: 0.16em;
386
+ }
387
+
388
+ .connect-agent-identity[data-work-goal-state="missing"] small,
389
+ .connect-agent-identity[data-work-goal-state="ambiguous"] small,
390
+ .connect-agent-identity[data-work-goal-state="unavailable"] small {
391
+ color: var(--rly-color-text-3);
392
+ }
393
+
343
394
  .terminal-bar small {
344
395
  color: var(--rly-color-text-3);
345
396
  }
346
397
 
398
+ .terminal-key-rail {
399
+ border-block-end: 1px solid var(--rly-color-border-1);
400
+ display: grid;
401
+ gap: var(--rly-space-8);
402
+ min-inline-size: 0;
403
+ padding: var(--rly-space-8) var(--rly-space-12);
404
+ }
405
+
406
+ .terminal-key-scroll {
407
+ align-items: center;
408
+ display: flex;
409
+ gap: var(--rly-space-8);
410
+ min-inline-size: 0;
411
+ overflow-x: auto;
412
+ scrollbar-width: thin;
413
+ }
414
+
415
+ .terminal-key-group {
416
+ display: flex;
417
+ flex: 0 0 auto;
418
+ gap: var(--rly-space-4);
419
+ }
420
+
421
+ .terminal-key {
422
+ align-items: center;
423
+ background: var(--rly-color-surface-2);
424
+ border: 1px solid var(--rly-color-border-2);
425
+ border-radius: var(--rly-radius-control);
426
+ color: var(--rly-color-text-1);
427
+ cursor: pointer;
428
+ display: inline-flex;
429
+ font: inherit;
430
+ justify-content: center;
431
+ min-block-size: 2.25rem;
432
+ min-inline-size: 2.25rem;
433
+ padding: var(--rly-space-6) var(--rly-space-10);
434
+ touch-action: manipulation;
435
+ white-space: nowrap;
436
+ }
437
+
438
+ .terminal-key:hover,
439
+ .terminal-key[aria-pressed="true"] {
440
+ background: var(--rly-color-surface-3);
441
+ border-color: var(--rly-color-agent);
442
+ }
443
+
444
+ .terminal-key:focus-visible {
445
+ border-color: var(--rly-color-focus);
446
+ outline: 2px solid var(--rly-color-focus);
447
+ outline-offset: 2px;
448
+ }
449
+
450
+ .terminal-key:disabled {
451
+ cursor: not-allowed;
452
+ opacity: 0.45;
453
+ }
454
+
455
+ .terminal-key-error {
456
+ color: var(--rly-color-critical-ink);
457
+ display: block;
458
+ min-block-size: 1lh;
459
+ overflow-wrap: anywhere;
460
+ }
461
+
347
462
  .terminal-bar strong,
348
463
  .terminal-bar small {
349
464
  overflow: hidden;
@@ -455,16 +570,13 @@
455
570
  }
456
571
 
457
572
  .connect-filter-row {
458
- flex-wrap: nowrap;
459
- justify-content: flex-start;
573
+ grid-template-columns: minmax(0, 1fr);
460
574
  margin-block-end: var(--rly-space-8);
461
- overflow-x: auto;
462
- scrollbar-width: none;
463
575
  }
464
576
 
465
577
  .connect-group-filter,
466
578
  .connect-status-filter {
467
- flex: 0 0 auto;
579
+ inline-size: 100%;
468
580
  }
469
581
 
470
582
  .connect-group-filter button,
@@ -517,6 +629,21 @@
517
629
  .ghostty-terminal {
518
630
  padding: var(--rly-space-8);
519
631
  }
632
+
633
+ .terminal-key-rail {
634
+ gap: var(--rly-space-4);
635
+ padding: var(--rly-space-6) var(--rly-space-8);
636
+ }
637
+
638
+ .terminal-key-scroll {
639
+ gap: var(--rly-space-4);
640
+ }
641
+
642
+ .terminal-key {
643
+ min-block-size: 2rem;
644
+ min-inline-size: 2rem;
645
+ padding-inline: var(--rly-space-8);
646
+ }
520
647
  }
521
648
 
522
649
  @media (prefers-reduced-motion: reduce) {