@agentdeck/bridge 1.1.0 → 1.2.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.
- package/README.md +14 -6
- package/assets/fonts/NOTICE-PocketSansWorld.md +10 -0
- package/assets/fonts/OFL-PocketSansWorld.txt +93 -0
- package/assets/fonts/PocketSansWorld_12.cpfont +0 -0
- package/assets/fonts/pocket-sans-world.manifest.json +49 -0
- package/assets/learning/LICENSE-CC-BY-SA-4.0.txt +10 -0
- package/assets/learning/NOTICE.md +33 -0
- package/assets/learning/jp-n3-ko.manifest.json +27 -0
- package/assets/learning/jp-n3-ko.pdl +0 -0
- package/dist/agent-cli-diagnostics.d.ts +20 -0
- package/dist/agent-cli-diagnostics.d.ts.map +1 -0
- package/dist/agent-cli-diagnostics.js +100 -0
- package/dist/agent-cli-diagnostics.js.map +1 -0
- package/dist/apme/classifier.d.ts.map +1 -1
- package/dist/apme/classifier.js +18 -10
- package/dist/apme/classifier.js.map +1 -1
- package/dist/apme/claude-transcript-reader.d.ts +36 -0
- package/dist/apme/claude-transcript-reader.d.ts.map +1 -1
- package/dist/apme/claude-transcript-reader.js +78 -2
- package/dist/apme/claude-transcript-reader.js.map +1 -1
- package/dist/apme/collector.d.ts +126 -3
- package/dist/apme/collector.d.ts.map +1 -1
- package/dist/apme/collector.js +450 -41
- package/dist/apme/collector.js.map +1 -1
- package/dist/apme/dashboard-html.d.ts.map +1 -1
- package/dist/apme/dashboard-html.js +278 -36
- package/dist/apme/dashboard-html.js.map +1 -1
- package/dist/apme/graph.d.ts +1 -1
- package/dist/apme/graph.d.ts.map +1 -1
- package/dist/apme/graph.js +51 -1
- package/dist/apme/graph.js.map +1 -1
- package/dist/apme/http.d.ts.map +1 -1
- package/dist/apme/http.js +37 -5
- package/dist/apme/http.js.map +1 -1
- package/dist/apme/index.d.ts +4 -0
- package/dist/apme/index.d.ts.map +1 -1
- package/dist/apme/index.js +19 -3
- package/dist/apme/index.js.map +1 -1
- package/dist/apme/runner.d.ts +90 -0
- package/dist/apme/runner.d.ts.map +1 -1
- package/dist/apme/runner.js +524 -48
- package/dist/apme/runner.js.map +1 -1
- package/dist/apme/sample-to-timeline.d.ts.map +1 -1
- package/dist/apme/sample-to-timeline.js +5 -0
- package/dist/apme/sample-to-timeline.js.map +1 -1
- package/dist/apme/settings.d.ts +8 -0
- package/dist/apme/settings.d.ts.map +1 -1
- package/dist/apme/settings.js +4 -0
- package/dist/apme/settings.js.map +1 -1
- package/dist/apme/store.d.ts +118 -9
- package/dist/apme/store.d.ts.map +1 -1
- package/dist/apme/store.js +342 -44
- package/dist/apme/store.js.map +1 -1
- package/dist/apme/task-gradeability.d.ts +82 -0
- package/dist/apme/task-gradeability.d.ts.map +1 -0
- package/dist/apme/task-gradeability.js +126 -0
- package/dist/apme/task-gradeability.js.map +1 -0
- package/dist/awaiting-overlay.d.ts +13 -26
- package/dist/awaiting-overlay.d.ts.map +1 -1
- package/dist/awaiting-overlay.js +7 -40
- package/dist/awaiting-overlay.js.map +1 -1
- package/dist/bridge-core.d.ts +15 -0
- package/dist/bridge-core.d.ts.map +1 -1
- package/dist/bridge-core.js +30 -4
- package/dist/bridge-core.js.map +1 -1
- package/dist/claude-permission-rules.d.ts +20 -32
- package/dist/claude-permission-rules.d.ts.map +1 -1
- package/dist/claude-permission-rules.js +19 -102
- package/dist/claude-permission-rules.js.map +1 -1
- package/dist/claude-usage-recovery.d.ts +54 -0
- package/dist/claude-usage-recovery.d.ts.map +1 -0
- package/dist/claude-usage-recovery.js +200 -0
- package/dist/claude-usage-recovery.js.map +1 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +81 -14
- package/dist/cli.js.map +1 -1
- package/dist/codex-rate-limits-live.d.ts +180 -10
- package/dist/codex-rate-limits-live.d.ts.map +1 -1
- package/dist/codex-rate-limits-live.js +475 -22
- package/dist/codex-rate-limits-live.js.map +1 -1
- package/dist/codex-rollout-response.d.ts +43 -0
- package/dist/codex-rollout-response.d.ts.map +1 -1
- package/dist/codex-rollout-response.js +67 -0
- package/dist/codex-rollout-response.js.map +1 -1
- package/dist/coordination-evidence.d.ts +150 -0
- package/dist/coordination-evidence.d.ts.map +1 -0
- package/dist/coordination-evidence.js +455 -0
- package/dist/coordination-evidence.js.map +1 -0
- package/dist/daemon-server.d.ts.map +1 -1
- package/dist/daemon-server.js +592 -35
- package/dist/daemon-server.js.map +1 -1
- package/dist/daemon-ws-client.d.ts +1 -0
- package/dist/daemon-ws-client.d.ts.map +1 -1
- package/dist/daemon-ws-client.js +25 -16
- package/dist/daemon-ws-client.js.map +1 -1
- package/dist/daemon.js +1 -1
- package/dist/deferred-reply-read.d.ts +24 -0
- package/dist/deferred-reply-read.d.ts.map +1 -0
- package/dist/deferred-reply-read.js +42 -0
- package/dist/deferred-reply-read.js.map +1 -0
- package/dist/esp32-serial.d.ts +15 -0
- package/dist/esp32-serial.d.ts.map +1 -1
- package/dist/esp32-serial.js +61 -2
- package/dist/esp32-serial.js.map +1 -1
- package/dist/font-pack.d.ts +15 -0
- package/dist/font-pack.d.ts.map +1 -0
- package/dist/font-pack.js +75 -0
- package/dist/font-pack.js.map +1 -0
- package/dist/glance-frame.d.ts.map +1 -1
- package/dist/glance-frame.js +2 -0
- package/dist/glance-frame.js.map +1 -1
- package/dist/hook-codex-sessions.d.ts +9 -0
- package/dist/hook-codex-sessions.d.ts.map +1 -1
- package/dist/hook-codex-sessions.js +35 -2
- package/dist/hook-codex-sessions.js.map +1 -1
- package/dist/hook-opencode-sessions.d.ts +62 -0
- package/dist/hook-opencode-sessions.d.ts.map +1 -0
- package/dist/hook-opencode-sessions.js +180 -0
- package/dist/hook-opencode-sessions.js.map +1 -0
- package/dist/hook-response-source.d.ts +40 -0
- package/dist/hook-response-source.d.ts.map +1 -0
- package/dist/hook-response-source.js +31 -0
- package/dist/hook-response-source.js.map +1 -0
- package/dist/http-auth-gate.d.ts.map +1 -1
- package/dist/http-auth-gate.js +9 -1
- package/dist/http-auth-gate.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/learning-pack.d.ts +24 -0
- package/dist/learning-pack.d.ts.map +1 -0
- package/dist/learning-pack.js +125 -0
- package/dist/learning-pack.js.map +1 -0
- package/dist/mdns.js +1 -1
- package/dist/mdns.js.map +1 -1
- package/dist/native-dependency-diagnostics.d.ts +29 -0
- package/dist/native-dependency-diagnostics.d.ts.map +1 -0
- package/dist/native-dependency-diagnostics.js +95 -0
- package/dist/native-dependency-diagnostics.js.map +1 -0
- package/dist/observed-steering.d.ts +4 -4
- package/dist/observed-steering.d.ts.map +1 -1
- package/dist/observed-steering.js +28 -32
- package/dist/observed-steering.js.map +1 -1
- package/dist/openclaw-gateway-stability.d.ts +94 -0
- package/dist/openclaw-gateway-stability.d.ts.map +1 -0
- package/dist/openclaw-gateway-stability.js +176 -0
- package/dist/openclaw-gateway-stability.js.map +1 -0
- package/dist/pairing-knocks.d.ts +80 -0
- package/dist/pairing-knocks.d.ts.map +1 -0
- package/dist/pairing-knocks.js +312 -0
- package/dist/pairing-knocks.js.map +1 -0
- package/dist/passive-observer.d.ts +5 -0
- package/dist/passive-observer.d.ts.map +1 -1
- package/dist/passive-observer.js +6 -0
- package/dist/passive-observer.js.map +1 -1
- package/dist/pixoo/micro-glyphs.d.ts +4 -0
- package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
- package/dist/pixoo/micro-glyphs.js +29 -0
- package/dist/pixoo/micro-glyphs.js.map +1 -1
- package/dist/pixoo/pixoo-font.d.ts.map +1 -1
- package/dist/pixoo/pixoo-font.js +3 -1
- package/dist/pixoo/pixoo-font.js.map +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
- package/dist/pixoo/pixoo-renderer.js +17 -2
- package/dist/pixoo/pixoo-renderer.js.map +1 -1
- package/dist/pty-manager.d.ts +9 -0
- package/dist/pty-manager.d.ts.map +1 -1
- package/dist/pty-manager.js +63 -4
- package/dist/pty-manager.js.map +1 -1
- package/dist/relayed-usage.d.ts +30 -0
- package/dist/relayed-usage.d.ts.map +1 -1
- package/dist/relayed-usage.js +25 -2
- package/dist/relayed-usage.js.map +1 -1
- package/dist/review-runner.js +1 -1
- package/dist/subagent-timeline.d.ts +27 -0
- package/dist/subagent-timeline.d.ts.map +1 -1
- package/dist/subagent-timeline.js +52 -5
- package/dist/subagent-timeline.js.map +1 -1
- package/dist/surface-protocol.d.ts.map +1 -1
- package/dist/surface-protocol.js +2 -0
- package/dist/surface-protocol.js.map +1 -1
- package/dist/tui/dashboard.d.ts.map +1 -1
- package/dist/tui/dashboard.js +8 -1
- package/dist/tui/dashboard.js.map +1 -1
- package/dist/usage-api.d.ts +3 -0
- package/dist/usage-api.d.ts.map +1 -1
- package/dist/usage-api.js +101 -36
- package/dist/usage-api.js.map +1 -1
- package/dist/usage-event.d.ts.map +1 -1
- package/dist/usage-event.js +2 -1
- package/dist/usage-event.js.map +1 -1
- package/dist/ws-server.d.ts +18 -0
- package/dist/ws-server.d.ts.map +1 -1
- package/dist/ws-server.js +40 -2
- package/dist/ws-server.js.map +1 -1
- package/package.json +6 -5
- package/src/timebox/sync_ble.py +35 -16
package/README.md
CHANGED
|
@@ -17,17 +17,25 @@ npm install -g @agentdeck/bridge
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
agentdeck
|
|
21
|
-
|
|
22
|
-
agentdeck
|
|
23
|
-
agentdeck
|
|
24
|
-
agentdeck daemon start # start the daemon hub (port 9120)
|
|
20
|
+
agentdeck daemon install # install hooks and start the daemon on login
|
|
21
|
+
claude # or: codex / opencode
|
|
22
|
+
agentdeck dashboard # terminal dashboard
|
|
23
|
+
agentdeck daemon start # start the daemon hub manually (port 9120)
|
|
25
24
|
agentdeck devices # list connected display devices
|
|
26
25
|
agentdeck qr # pairing QR for the iOS/Android companion apps
|
|
27
26
|
agentdeck --help # full command reference
|
|
28
27
|
```
|
|
29
28
|
|
|
30
|
-
The daemon is the hub every dashboard client talks to
|
|
29
|
+
The daemon is the hub every dashboard client talks to. Normal agent commands
|
|
30
|
+
report through lifecycle hooks or native event channels and can be steered where
|
|
31
|
+
the observed session exposes a real delivery path.
|
|
32
|
+
|
|
33
|
+
The legacy `agentdeck claude|codex|opencode|monitor` per-session bridges remain
|
|
34
|
+
functional compatibility paths with no removal date. Prefer daemon-first for
|
|
35
|
+
ordinary local sessions, but keep managed-only workflows working while
|
|
36
|
+
[Discussion #278](https://github.com/puritysb/AgentDeck/discussions/278) and
|
|
37
|
+
[#273](https://github.com/puritysb/AgentDeck/issues/273) define and validate
|
|
38
|
+
replacements.
|
|
31
39
|
|
|
32
40
|
Full CLI reference: https://github.com/puritysb/AgentDeck/blob/master/docs/cli.md
|
|
33
41
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# PocketSansWorld font pack notice
|
|
2
|
+
|
|
3
|
+
PocketSansWorld is an SD-paged binary font bundle generated for Pocket Daily.
|
|
4
|
+
It combines glyphs from Noto Sans KR, Noto Sans JP, Noto Sans SC, Noto Sans
|
|
5
|
+
Hebrew, and Noto Sans. The original fonts and this redistributed derivative
|
|
6
|
+
are licensed under the SIL Open Font License 1.1. See
|
|
7
|
+
`OFL-PocketSansWorld.txt`.
|
|
8
|
+
|
|
9
|
+
The provider validates the immutable pack size, MD5, SHA-256, cpfont format,
|
|
10
|
+
source ledger, and licence before advertising it.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fontPack": {
|
|
3
|
+
"id": "pocket-sans-world",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"format": 4,
|
|
6
|
+
"size": 10903872,
|
|
7
|
+
"md5": "a6844503c142be1a62e4bac8be7c7802",
|
|
8
|
+
"sha256": "a1a15a6e9cdccd114cbaf34adb29fce08ad67d3dcd52b7970a77ab89db9ee753",
|
|
9
|
+
"licenseSpdx": "OFL-1.1"
|
|
10
|
+
},
|
|
11
|
+
"attribution": "PocketSansWorld is built from Noto Sans KR, JP, SC, Hebrew, and Noto Sans under the SIL Open Font License 1.1.",
|
|
12
|
+
"sources": [
|
|
13
|
+
{
|
|
14
|
+
"name": "Noto Sans KR",
|
|
15
|
+
"url": "https://github.com/google/fonts/tree/ec626514f79f831f1ab848a82114a0ce7e2d6372/ofl/notosanskr",
|
|
16
|
+
"revision": "ec626514f79f831f1ab848a82114a0ce7e2d6372",
|
|
17
|
+
"licenseSpdx": "OFL-1.1",
|
|
18
|
+
"attribution": "Noto Sans KR contributors"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Noto Sans SC",
|
|
22
|
+
"url": "https://github.com/google/fonts/tree/ec626514f79f831f1ab848a82114a0ce7e2d6372/ofl/notosanssc",
|
|
23
|
+
"revision": "ec626514f79f831f1ab848a82114a0ce7e2d6372",
|
|
24
|
+
"licenseSpdx": "OFL-1.1",
|
|
25
|
+
"attribution": "Noto Sans SC contributors"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "Noto Sans JP",
|
|
29
|
+
"url": "https://github.com/google/fonts/tree/295d98a7a0c17c68f1341eaeea354e7960ea70d3/ofl/notosansjp",
|
|
30
|
+
"revision": "295d98a7a0c17c68f1341eaeea354e7960ea70d3",
|
|
31
|
+
"licenseSpdx": "OFL-1.1",
|
|
32
|
+
"attribution": "Noto Sans JP contributors"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "Noto Sans",
|
|
36
|
+
"url": "https://github.com/notofonts/latin-greek-cyrillic",
|
|
37
|
+
"revision": "crosspoint-bundled-source",
|
|
38
|
+
"licenseSpdx": "OFL-1.1",
|
|
39
|
+
"attribution": "Noto Sans contributors"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "Noto Sans Hebrew",
|
|
43
|
+
"url": "https://github.com/crosspoint-reader/crosspoint-reader/tree/94c0ba466cbb225a07f653d1c27f2a7261f1fb08/lib/EpdFont/builtinFonts/source/NotoSansHebrew",
|
|
44
|
+
"revision": "94c0ba466cbb225a07f653d1c27f2a7261f1fb08",
|
|
45
|
+
"licenseSpdx": "OFL-1.1",
|
|
46
|
+
"attribution": "The Noto Project Authors"
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Pocket Daily Japanese learning content
|
|
2
|
+
Copyright (c) 2026 Pocket Daily contributors
|
|
3
|
+
|
|
4
|
+
This learning content is licensed under the Creative Commons
|
|
5
|
+
Attribution-ShareAlike 4.0 International License.
|
|
6
|
+
|
|
7
|
+
License text and terms:
|
|
8
|
+
https://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
9
|
+
|
|
10
|
+
Attribution: Original Korean study content by Pocket Daily contributors.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Pocket Daily learning data — source and modification notice
|
|
2
|
+
|
|
3
|
+
The `jp-n3-ko` dataset is an adapted subset of **OpenJLPT**, pinned at commit
|
|
4
|
+
`c42fd9fa3777bfc1775446f7c418d549dfd6e4cf`. OpenJLPT distributes its dataset
|
|
5
|
+
under **CC BY-SA 4.0** and records the following upstream sources:
|
|
6
|
+
|
|
7
|
+
- **JMdict / EDICT and KANJIDIC2**, Electronic Dictionary Research and
|
|
8
|
+
Development Group (EDRDG): vocabulary and kanji readings and English
|
|
9
|
+
glosses; CC BY-SA 4.0. <https://www.edrdg.org/>
|
|
10
|
+
- **Jonathan Waller's JLPT Resources**: unofficial N5–N1 level assignments;
|
|
11
|
+
CC BY according to the pinned OpenJLPT notice.
|
|
12
|
+
<https://www.tanos.co.uk/jlpt/>
|
|
13
|
+
- **Tatoeba**: Japanese example sentences; CC BY 2.0 FR.
|
|
14
|
+
<https://tatoeba.org/>
|
|
15
|
+
|
|
16
|
+
OpenJLPT and its full notice are available at
|
|
17
|
+
<https://github.com/evanclan/OpenJLPT/tree/c42fd9fa3777bfc1775446f7c418d549dfd6e4cf>.
|
|
18
|
+
|
|
19
|
+
Pocket Daily modifications are distributed under **CC BY-SA 4.0**:
|
|
20
|
+
|
|
21
|
+
- retained the cumulative N5, N4, and N3 kanji subset (612 unique characters);
|
|
22
|
+
- selected one compact representative word and Japanese example per character;
|
|
23
|
+
- added Korean kanji glosses, word meanings, and example translations;
|
|
24
|
+
- normalized the data into the fixed-record PDLP format for bounded SD reads.
|
|
25
|
+
|
|
26
|
+
The Korean adaptations are by Pocket Daily contributors. Automated assistance
|
|
27
|
+
was used to draft translations; field alignment, required Korean text, record
|
|
28
|
+
counts, byte bounds, source pinning, and package checksums are validated before
|
|
29
|
+
distribution. Corrections remain welcome and must be shared under CC BY-SA 4.0.
|
|
30
|
+
|
|
31
|
+
The JLPT organization does not publish an official current vocabulary or kanji
|
|
32
|
+
list. The level labels are therefore **unofficial N3-oriented study curation**,
|
|
33
|
+
not a claim about the undisclosed contents of a particular examination.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"learningPack": {
|
|
3
|
+
"id": "jp-n3-ko",
|
|
4
|
+
"version": 3,
|
|
5
|
+
"format": 1,
|
|
6
|
+
"size": 568324,
|
|
7
|
+
"md5": "34681b78b5a1d65bc787dc57e863cba7",
|
|
8
|
+
"licenseSpdx": "CC-BY-SA-4.0"
|
|
9
|
+
},
|
|
10
|
+
"attribution": "OpenJLPT/EDRDG/Waller/Tatoeba 기반; Pocket Daily 한국어 각색; CC BY-SA 4.0",
|
|
11
|
+
"sources": [
|
|
12
|
+
{
|
|
13
|
+
"name": "OpenJLPT cumulative N5-N3 dataset",
|
|
14
|
+
"url": "https://github.com/evanclan/OpenJLPT",
|
|
15
|
+
"revision": "c42fd9fa3777bfc1775446f7c418d549dfd6e4cf",
|
|
16
|
+
"licenseSpdx": "CC-BY-SA-4.0",
|
|
17
|
+
"attribution": "OpenJLPT; upstream EDRDG KANJIDIC2/JMdict, Jonathan Waller JLPT resources, and Tatoeba"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "Pocket Daily Korean adaptations",
|
|
21
|
+
"url": "https://github.com/puritysb/pocket-daily-reader",
|
|
22
|
+
"revision": "pocket-ko-2026-08-29",
|
|
23
|
+
"licenseSpdx": "CC-BY-SA-4.0",
|
|
24
|
+
"attribution": "Korean meanings and translations by Pocket Daily contributors"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type DiagnosedAgent = 'claude' | 'codex' | 'opencode';
|
|
2
|
+
export interface AgentCliDiagnosticEntry {
|
|
3
|
+
id: DiagnosedAgent;
|
|
4
|
+
label: string;
|
|
5
|
+
installed: boolean;
|
|
6
|
+
version: string | null;
|
|
7
|
+
compatibleRange: string | null;
|
|
8
|
+
compatible: boolean | null;
|
|
9
|
+
installHint?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface AgentCliDiagnosticReport {
|
|
12
|
+
kind: 'agent-cli-compatibility';
|
|
13
|
+
migration: string;
|
|
14
|
+
trackingIssue: string;
|
|
15
|
+
agents: AgentCliDiagnosticEntry[];
|
|
16
|
+
}
|
|
17
|
+
export type VersionCommandRunner = (command: string) => string;
|
|
18
|
+
export declare function collectAgentCliDiagnosticReport(run?: VersionCommandRunner): AgentCliDiagnosticReport;
|
|
19
|
+
export declare function formatAgentCliDiagnosticReport(report: AgentCliDiagnosticReport): string;
|
|
20
|
+
//# sourceMappingURL=agent-cli-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-cli-diagnostics.d.ts","sourceRoot":"","sources":["../src/agent-cli-diagnostics.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAiC7D,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,cAAc,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,yBAAyB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAW/D,wBAAgB,+BAA+B,CAC7C,GAAG,GAAE,oBAAwC,GAC5C,wBAAwB,CAiC1B;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAyBvF"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { execSync } from 'child_process';
|
|
2
|
+
import { createRequire } from 'module';
|
|
3
|
+
import { satisfiesRange } from './version-check.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const packageJson = require('../package.json');
|
|
6
|
+
const AGENTS = [
|
|
7
|
+
{
|
|
8
|
+
id: 'claude',
|
|
9
|
+
label: 'Claude Code',
|
|
10
|
+
versionCommand: 'claude --version',
|
|
11
|
+
compatibleRange: packageJson.compatibleClaudeCode,
|
|
12
|
+
installHint: 'npm install -g @anthropic-ai/claude-code',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'codex',
|
|
16
|
+
label: 'Codex CLI',
|
|
17
|
+
versionCommand: 'codex --version',
|
|
18
|
+
compatibleRange: packageJson.compatibleCodex,
|
|
19
|
+
installHint: 'npm install -g @openai/codex',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: 'opencode',
|
|
23
|
+
label: 'OpenCode',
|
|
24
|
+
versionCommand: 'opencode --version',
|
|
25
|
+
installHint: 'brew install sst/tap/opencode (or: npm i -g opencode-ai)',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
function runVersionCommand(command) {
|
|
29
|
+
// Use the caller's PATH. A non-interactive login shell may skip interactive
|
|
30
|
+
// startup files and reorder PATH, causing diagnostics to inspect a stale
|
|
31
|
+
// installation instead of the executable `agentdeck` was launched beside.
|
|
32
|
+
return execSync(command, {
|
|
33
|
+
encoding: 'utf8', timeout: 5000, windowsHide: true,
|
|
34
|
+
}).trim();
|
|
35
|
+
}
|
|
36
|
+
export function collectAgentCliDiagnosticReport(run = runVersionCommand) {
|
|
37
|
+
return {
|
|
38
|
+
kind: 'agent-cli-compatibility',
|
|
39
|
+
migration: 'Run `agentdeck daemon install`, then start the agent normally.',
|
|
40
|
+
trackingIssue: 'https://github.com/puritysb/AgentDeck/issues/273',
|
|
41
|
+
agents: AGENTS.map((agent) => {
|
|
42
|
+
const compatibleRange = agent.compatibleRange?.trim() || null;
|
|
43
|
+
try {
|
|
44
|
+
const output = run(agent.versionCommand);
|
|
45
|
+
const version = output.match(/\b(\d+\.\d+\.\d+)\b/)?.[1] ?? null;
|
|
46
|
+
return {
|
|
47
|
+
id: agent.id,
|
|
48
|
+
label: agent.label,
|
|
49
|
+
installed: true,
|
|
50
|
+
version,
|
|
51
|
+
compatibleRange,
|
|
52
|
+
compatible: version && compatibleRange
|
|
53
|
+
? satisfiesRange(version, compatibleRange)
|
|
54
|
+
: null,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return {
|
|
59
|
+
id: agent.id,
|
|
60
|
+
label: agent.label,
|
|
61
|
+
installed: false,
|
|
62
|
+
version: null,
|
|
63
|
+
compatibleRange,
|
|
64
|
+
compatible: null,
|
|
65
|
+
installHint: agent.installHint,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export function formatAgentCliDiagnosticReport(report) {
|
|
72
|
+
const lines = [
|
|
73
|
+
'Agent CLI compatibility (daemon-first)',
|
|
74
|
+
'',
|
|
75
|
+
report.migration,
|
|
76
|
+
'',
|
|
77
|
+
];
|
|
78
|
+
for (const agent of report.agents) {
|
|
79
|
+
if (!agent.installed) {
|
|
80
|
+
lines.push(`- ${agent.label}: not found — install: ${agent.installHint}`);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const version = agent.version ?? 'version unknown';
|
|
84
|
+
if (!agent.compatibleRange) {
|
|
85
|
+
lines.push(`- ${agent.label}: ${version} — installed (no pinned compatibility range)`);
|
|
86
|
+
}
|
|
87
|
+
else if (agent.compatible === true) {
|
|
88
|
+
lines.push(`- ${agent.label}: ${version} — compatible (${agent.compatibleRange})`);
|
|
89
|
+
}
|
|
90
|
+
else if (agent.compatible === false) {
|
|
91
|
+
lines.push(`- ${agent.label}: ${version} — OUTSIDE supported range ${agent.compatibleRange}`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
lines.push(`- ${agent.label}: ${version} — could not evaluate ${agent.compatibleRange}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
lines.push('', `Managed-session compatibility: ${report.trackingIssue}`);
|
|
98
|
+
return lines.join('\n');
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=agent-cli-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-cli-diagnostics.js","sourceRoot":"","sources":["../src/agent-cli-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/apme/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/apme/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAE1B,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,aAAa,GACb,QAAQ,GACR,KAAK,GACL,cAAc,GACd,aAAa,GACb,SAAS,CAAC;AAEd,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAGlD,CAAC;AAMF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAmF3E;AAwDD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAK3D;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAI7G;AAoBD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED,0EAA0E;AAC1E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC,CAenF"}
|
package/dist/apme/classifier.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* tag <id> <category>`. The taxonomy is intentionally simple — the raw
|
|
12
12
|
* signals are always available for re-classification with a smarter model.
|
|
13
13
|
*/
|
|
14
|
+
import { loadMlxSettings, resolveMlxModel } from '@agentdeck/shared';
|
|
14
15
|
export const TASK_CATEGORIES = [
|
|
15
16
|
'planning', 'research', 'coding', 'debugging', 'refactoring',
|
|
16
17
|
'review', 'ops', 'conversation', 'multi_agent', 'unknown',
|
|
@@ -205,20 +206,27 @@ Tools used: ${toolSummary || 'none'} (${signals.totalToolCalls} total)
|
|
|
205
206
|
Files modified: ${signals.filesModified}, created: ${signals.filesCreated}
|
|
206
207
|
Duration: ${signals.sessionDurationSec}s, turns: ${signals.turnCount}`;
|
|
207
208
|
try {
|
|
208
|
-
//
|
|
209
|
-
|
|
209
|
+
// Use the explicit llm.mlx pin before catalog discovery. mlx-vlm's model
|
|
210
|
+
// endpoint lists downloaded models, not just the loaded one; treating its
|
|
211
|
+
// first row as active can unload the operating model and hot-swap an old
|
|
212
|
+
// candidate. Only probe when the user has not pinned a model.
|
|
213
|
+
const pinnedModel = loadMlxSettings().model;
|
|
214
|
+
let probedModel = null;
|
|
210
215
|
const base = 'http://127.0.0.1:8800';
|
|
211
|
-
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
if (!pinnedModel) {
|
|
217
|
+
for (const path of ['/v1/models', '/models']) {
|
|
218
|
+
const mResp = await fetch(`${base}${path}`, { signal: AbortSignal.timeout(2000) }).catch(() => null);
|
|
219
|
+
if (mResp?.ok) {
|
|
220
|
+
const mJson = await mResp.json();
|
|
221
|
+
const first = mJson.data?.find(m => m.id && !m.id.toLowerCase().includes('nanollava'))?.id;
|
|
222
|
+
if (first) {
|
|
223
|
+
probedModel = first;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
219
226
|
}
|
|
220
227
|
}
|
|
221
228
|
}
|
|
229
|
+
const model = resolveMlxModel(probedModel);
|
|
222
230
|
const resp = await fetch(`${base}/chat/completions`, {
|
|
223
231
|
method: 'POST',
|
|
224
232
|
headers: { 'Content-Type': 'application/json' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/apme/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/apme/classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,4 +121,40 @@ export declare function readTurnEndProbe(transcriptPath: string): TurnEndProbe |
|
|
|
121
121
|
* evidence belonging to an earlier turn can neither be found nor paid for.
|
|
122
122
|
*/
|
|
123
123
|
export declare function readOpenTurnEvidence(transcriptPath: string, sinceMs: number): OpenTurnEvidence | null;
|
|
124
|
+
/**
|
|
125
|
+
* Where Claude Code keeps a session's transcript, found by id rather than
|
|
126
|
+
* carried on a hook. Claude names the project directory after the working
|
|
127
|
+
* directory with every non-alphanumeric character replaced by `-`
|
|
128
|
+
* (`/Users/x/github/foo` → `-Users-x-github-foo`); that guess is tried first
|
|
129
|
+
* and a scan of every project directory covers a session whose cwd is not
|
|
130
|
+
* recorded (or was recorded differently). Null when no file exists — never
|
|
131
|
+
* a guessed path, since the callers read it as evidence.
|
|
132
|
+
*/
|
|
133
|
+
export declare function locateClaudeTranscript(sessionId: string, projectPath?: string | null, projectsRoot?: string): string | null;
|
|
134
|
+
/** How a Claude turn that opened at or after `sinceMs` ended, per its own
|
|
135
|
+
* transcript — the same three answers the next-prompt close distinguishes. */
|
|
136
|
+
export interface ClaudeTurnCompletion {
|
|
137
|
+
/** Transcript stamp of the record that ended the turn, epoch ms. */
|
|
138
|
+
endedAt: number;
|
|
139
|
+
/** Which signal the transcript proves: the model finished (`synthetic_stop`,
|
|
140
|
+
* since no Stop hook reached us), the user cancelled, or the client aborted. */
|
|
141
|
+
source: 'synthetic_stop' | 'interrupted' | 'aborted';
|
|
142
|
+
/** The turn's final assistant text; empty for a cancel or abort. */
|
|
143
|
+
text: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Did the Claude turn that opened at or after `sinceMs` END, per the transcript?
|
|
147
|
+
*
|
|
148
|
+
* Answers the question `rehydrateOpenRuns` has for a turn it found open in the
|
|
149
|
+
* store: the daemon that would have taken its Stop is gone, and the transcript
|
|
150
|
+
* is the only record left of whether that Stop was ever owed. Null when the
|
|
151
|
+
* transcript is missing, unreadable, or its tail is still mid-turn (an
|
|
152
|
+
* assistant `tool_use` or a `user` tool_result) — the session may be alive and
|
|
153
|
+
* the turn genuinely open, so nothing is claimed. Measured before it was
|
|
154
|
+
* written (2026-09-03): two worker sessions whose final `end_turn` landed 75
|
|
155
|
+
* minutes before a restart were adopted with their turn open and stayed open
|
|
156
|
+
* for 17 hours, because the adopted run counted as live to the reaper and no
|
|
157
|
+
* hook was ever coming.
|
|
158
|
+
*/
|
|
159
|
+
export declare function claudeTurnCompletionSince(sessionId: string, projectPath: string | null | undefined, sinceMs: number, projectsRoot?: string): ClaudeTurnCompletion | null;
|
|
124
160
|
//# sourceMappingURL=claude-transcript-reader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-transcript-reader.d.ts","sourceRoot":"","sources":["../../src/apme/claude-transcript-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"claude-transcript-reader.d.ts","sourceRoot":"","sources":["../../src/apme/claude-transcript-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAsD3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB7E;AAED,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qEAAqE;IACrE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;2EACuE;IACvE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;gCAWgC;AAChC,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAExD;;qDAEqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sEAAsE;IACtE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;mEAC+D;IAC/D,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAkC5E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA8BrG;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,YAAY,GAAE,MAA+C,GAC5D,MAAM,GAAG,IAAI,CAcf;AAED;+EAC+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;qFACiF;IACjF,MAAM,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;IACrD,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,oBAAoB,GAAG,IAAI,CAY7B"}
|