@anolisa/cli-darwin-x64 0.3.19 → 0.3.21

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/bin/anolisa CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anolisa/cli-darwin-x64",
3
- "version": "0.3.19",
3
+ "version": "0.3.21",
4
4
  "description": "ANOLISA CLI native binary for macOS x86_64",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,7 +15,8 @@
15
15
  "x64"
16
16
  ],
17
17
  "files": [
18
- "bin/"
18
+ "bin/",
19
+ "share/"
19
20
  ],
20
21
  "preferUnplugged": true
21
22
  }
@@ -0,0 +1,82 @@
1
+ # Distribution-owned integration contract; version follows the component Cargo.toml.
2
+ [component]
3
+ name = "agent-memory"
4
+ version = "0.2.13"
5
+ layer = "runtime"
6
+ domain = "state"
7
+ display_name = "Agent Memory"
8
+ description = "Agent persistent memory and context"
9
+ owner = "agent-memory-team"
10
+ license = "Apache-2.0"
11
+ repository = "https://github.com/agentic-os-org/ANOLISA"
12
+
13
+ [component.contract]
14
+ schema_version = "1.0"
15
+ min_anolisa_version = "0.3.21"
16
+
17
+ [backends.rpm]
18
+ package = "agent-memory"
19
+
20
+ [component.platform]
21
+ os = ["linux"]
22
+ arch = ["x86_64"]
23
+
24
+ [component.layout]
25
+ modes = ["user", "system"]
26
+
27
+ [[component.layout.files]]
28
+ source = "bin/agent-memory"
29
+ target = "{bindir}/agent-memory"
30
+ mode = "0755"
31
+ type = "executable"
32
+
33
+ [[component.layout.files]]
34
+ source = "share/anolisa/agent-memory/default.toml"
35
+ target = "{datadir}/agent-memory/default.toml"
36
+ mode = "0644"
37
+ type = "config"
38
+
39
+ [[component.layout.files]]
40
+ source = "share/anolisa/mcp-servers/agent-memory.json"
41
+ target = "{datadir}/mcp-servers/agent-memory.json"
42
+ mode = "0644"
43
+ render = "anolisa-json-command-v1"
44
+
45
+ [[component.layout.files]]
46
+ source = "share/anolisa/agent-memory/anolisa-memory@.service"
47
+ target = "{userunitdir}/anolisa-memory@.service"
48
+ mode = "0644"
49
+ render = "anolisa-paths-v1"
50
+
51
+ [[component.layout.files]]
52
+ source = "adapters/agent-memory/manifest.json"
53
+ target = "{datadir}/adapters/agent-memory/manifest.json"
54
+ mode = "0644"
55
+
56
+ [[component.services]]
57
+ unit = "anolisa-memory@.service"
58
+ scope = "user"
59
+ instance = "%u"
60
+ enable = false
61
+ start = false
62
+
63
+ [component.health_check]
64
+ type = "binary_version"
65
+ binary = "{bindir}/agent-memory"
66
+ timeout_secs = 5
67
+
68
+ [[adapters]]
69
+ framework = "openclaw"
70
+ kind = "third-party"
71
+ adapter_type = "plugin"
72
+ plugin_id = "memory-anolisa"
73
+ source = "adapters/agent-memory/openclaw"
74
+ dest = "{datadir}/adapters/agent-memory/openclaw/"
75
+ detect = { binary = "openclaw" }
76
+
77
+ [adapters.bundle]
78
+ entry = "openclaw.plugin.json"
79
+
80
+ [adapters.backends.rpm]
81
+ resource_root = "/usr/share/anolisa/adapters/agent-memory/openclaw/"
82
+ managed_packages = ["agent-memory-plugins"]
@@ -0,0 +1,106 @@
1
+ [component]
2
+ name = "agentsight"
3
+ version = "0.15.1"
4
+ layer = "runtime"
5
+ domain = "observability"
6
+ display_name = "AgentSight"
7
+ description = "Agent observability - eBPF execution tracing, resource metering, token attribution"
8
+ owner = "agentsight-team"
9
+ license = "Apache-2.0"
10
+ repository = "https://github.com/agentic-os-org/ANOLISA"
11
+
12
+ [component.contract]
13
+ schema_version = "1.0"
14
+ min_anolisa_version = "0.3.21"
15
+
16
+ [backends.rpm]
17
+ package = "agentsight"
18
+
19
+ [component.platform]
20
+ os = ["linux"]
21
+ arch = ["x86_64"]
22
+ min_kernel = "5.8"
23
+
24
+ [[component.dependencies]]
25
+ name = "elfutils-libelf"
26
+ kind = "system-package"
27
+ probe = "grep -aqF libelf.so.1 /etc/ld.so.cache"
28
+ packages = { rpm = "elfutils-libelf", deb = "libelf1" }
29
+
30
+ [[component.dependencies]]
31
+ name = "ebpf-btf"
32
+ kind = "platform-capability"
33
+ check = "btf"
34
+ min_kernel = "5.8"
35
+
36
+ [component.layout]
37
+ modes = ["system"]
38
+
39
+ [[component.layout.files]]
40
+ source = "bin/agentsight"
41
+ target = "{bindir}/agentsight"
42
+ mode = "0755"
43
+ type = "executable"
44
+
45
+ [[component.layout.files]]
46
+ source = "bin/agentsight-enforcer"
47
+ target = "{bindir}/agentsight-enforcer"
48
+ mode = "0755"
49
+ type = "executable"
50
+
51
+ [[component.layout.files]]
52
+ source = "bin/agentsight-start"
53
+ target = "{bindir}/agentsight-start"
54
+ mode = "0755"
55
+ type = "executable"
56
+
57
+ [[component.layout.files]]
58
+ source = "share/anolisa/agentsight/agentsight.service"
59
+ target = "{unitdir}/agentsight.service"
60
+ mode = "0644"
61
+ render = "anolisa-paths-v1"
62
+
63
+ [[component.layout.files]]
64
+ source = "share/anolisa/agentsight/agentsight-enforcer.service"
65
+ target = "{unitdir}/agentsight-enforcer.service"
66
+ mode = "0644"
67
+ render = "anolisa-paths-v1"
68
+
69
+ [[component.capabilities]]
70
+ path = "{bindir}/agentsight"
71
+ caps = ["cap_bpf", "cap_perfmon"]
72
+ optional = true
73
+
74
+ [[component.services]]
75
+ unit = "agentsight-enforcer.service"
76
+ scope = "system"
77
+ enable = false
78
+ start = false
79
+
80
+ [[component.services]]
81
+ unit = "agentsight.service"
82
+ scope = "system"
83
+ enable = false
84
+ start = false
85
+
86
+ [component.health_check]
87
+ type = "binary_version"
88
+ binary = "{bindir}/agentsight"
89
+ timeout_secs = 5
90
+
91
+ # The DSH bundle is delivered by the optional RPM plugins package.
92
+ [[adapters]]
93
+ framework = "dsh"
94
+ adapter_type = "plugin"
95
+ plugin_id = "agentsight"
96
+ detect = { binary = "dsh" }
97
+
98
+ [adapters.backends.rpm]
99
+ resource_root = "/usr/share/agentsight/adapters/dsh/"
100
+ managed_packages = ["agentsight-plugins"]
101
+
102
+ [adapters.bundle]
103
+ entry = "package.json"
104
+
105
+ [adapters.compat]
106
+ framework_version = ">=0.1.0-rc.2 <0.2.0"
@@ -0,0 +1,98 @@
1
+ [component]
2
+ name = "cosh-ng"
3
+ version = "0.28.1"
4
+ layer = "runtime"
5
+ domain = "tools"
6
+ display_name = "cosh-ng"
7
+ description = "Computable Operating System Harness (cosh-ng) - a deterministic Agent-OS interface"
8
+ stability = "experimental"
9
+ license = "Apache-2.0"
10
+ repository = "https://github.com/agentic-os-org/ANOLISA"
11
+ conflicts = ["cosh"]
12
+
13
+ [component.contract]
14
+ schema_version = "1.0"
15
+ min_anolisa_version = "0.3.21"
16
+
17
+ [backends.rpm]
18
+ package = "cosh-ng"
19
+
20
+ [component.platform]
21
+ os = ["linux"]
22
+ arch = ["x86_64"]
23
+
24
+ [[component.dependencies]]
25
+ name = "bash"
26
+ kind = "system-package"
27
+ packages = { rpm = "bash", deb = "bash" }
28
+
29
+ [component.layout]
30
+ modes = ["user", "system"]
31
+
32
+ [[component.layout.files]]
33
+ source = "bin/cosh-cli"
34
+ target = "{bindir}/cosh-cli"
35
+ mode = "0755"
36
+ type = "executable"
37
+
38
+ [[component.layout.files]]
39
+ source = "bin/cosh"
40
+ target = "{bindir}/cosh"
41
+ mode = "0755"
42
+ type = "executable"
43
+
44
+ [[component.layout.files]]
45
+ source = "bin/cosh-switch"
46
+ target = "{bindir}/cosh-switch"
47
+ mode = "0755"
48
+ type = "executable"
49
+
50
+ [[component.layout.files]]
51
+ source = "libexec/anolisa/cosh-ng/cosh-core"
52
+ target = "{libexecdir}/cosh-ng/cosh-core"
53
+ mode = "0755"
54
+ type = "executable"
55
+
56
+ [[component.layout.files]]
57
+ source = "libexec/anolisa/cosh-ng/cosh-gateway"
58
+ target = "{libexecdir}/cosh-ng/cosh-gateway"
59
+ mode = "0755"
60
+ type = "executable"
61
+
62
+ [[component.layout.files]]
63
+ source = "libexec/anolisa/cosh-ng/cosh-shell"
64
+ target = "{libexecdir}/cosh-ng/cosh-shell"
65
+ mode = "0755"
66
+ type = "executable"
67
+
68
+ [[component.layout.files]]
69
+ source = "share/anolisa/cosh-ng/cosh-gateway@.service.in"
70
+ target = "{unitdir}/cosh-gateway@.service"
71
+ mode = "0644"
72
+ render = "anolisa-paths-v1"
73
+
74
+ [[component.layout.files]]
75
+ source = "share/anolisa/skills/manage-task-checkpoints/SKILL.md"
76
+ target = "{datadir}/skills/manage-task-checkpoints/SKILL.md"
77
+ mode = "0644"
78
+
79
+ [[component.layout.files]]
80
+ source = "share/doc/cosh-ng/LICENSE"
81
+ target = "{datadir}/doc/cosh-ng/LICENSE"
82
+ mode = "0644"
83
+
84
+ [[component.layout.files]]
85
+ source = "share/doc/cosh-ng/README.md"
86
+ target = "{datadir}/doc/cosh-ng/README.md"
87
+ mode = "0644"
88
+
89
+ [[component.services]]
90
+ unit = "cosh-gateway@.service"
91
+ scope = "system"
92
+ enable = false
93
+ start = false
94
+
95
+ [component.health_check]
96
+ type = "binary_version"
97
+ binary = "{bindir}/cosh-cli"
98
+ timeout_secs = 5
@@ -0,0 +1,297 @@
1
+ manifest_version = 2
2
+
3
+ [component]
4
+ name = "sec-core"
5
+ version = "1.1.2"
6
+ layer = "runtime"
7
+ domain = "security"
8
+ display_name = "Agent Security Core"
9
+ description = "Agent security runtime, sandbox, adapters, and security skills"
10
+ owner = "agent-sec-core-team"
11
+ license = "Apache-2.0"
12
+ repository = "https://github.com/agentic-os-org/ANOLISA"
13
+
14
+ [component.contract]
15
+ schema_version = "1.0"
16
+ min_anolisa_version = "0.3.21"
17
+
18
+ [backends.rpm]
19
+ package = "agent-sec-core"
20
+
21
+ [component.platform]
22
+ os = ["linux"]
23
+ arch = ["x86_64"]
24
+ min_kernel = "5.4"
25
+
26
+ [[component.dependencies]]
27
+ name = "bubblewrap"
28
+ kind = "system-package"
29
+ probe = "bwrap --version"
30
+ packages = { rpm = "bubblewrap", deb = "bubblewrap" }
31
+
32
+ [[component.dependencies]]
33
+ name = "gnupg"
34
+ kind = "system-package"
35
+ probe = "gpg --version"
36
+ packages = { rpm = "gnupg2", deb = "gnupg" }
37
+
38
+ [[component.dependencies]]
39
+ name = "systemd"
40
+ kind = "system-package"
41
+ probe = "systemctl --version"
42
+ packages = { rpm = "systemd", deb = "systemd" }
43
+
44
+ [[component.dependencies]]
45
+ name = "nodejs"
46
+ kind = "system-package"
47
+ probe = "node --version"
48
+ packages = { rpm = "nodejs", deb = "nodejs" }
49
+
50
+ [[component.dependencies]]
51
+ name = "jq"
52
+ kind = "system-package"
53
+ probe = "jq --version"
54
+ packages = { rpm = "jq", deb = "jq" }
55
+
56
+ [component.layout]
57
+ modes = ["system"]
58
+
59
+ [[component.layout.files]]
60
+ source = "bin/agent-sec-cli"
61
+ target = "{bindir}/agent-sec-cli"
62
+ mode = "0755"
63
+ type = "executable"
64
+
65
+ [[component.layout.files]]
66
+ source = "bin/agent-sec-daemon"
67
+ target = "{bindir}/agent-sec-daemon"
68
+ mode = "0755"
69
+ type = "executable"
70
+
71
+ [[component.layout.files]]
72
+ source = "bin/agent-sec-daemon-health"
73
+ target = "{bindir}/agent-sec-daemon-health"
74
+ mode = "0755"
75
+ type = "executable"
76
+
77
+ [[component.layout.files]]
78
+ source = "bin/agent-sec-python"
79
+ target = "{bindir}/agent-sec-python"
80
+ mode = "0755"
81
+ type = "executable"
82
+
83
+ [[component.layout.files]]
84
+ source = "bin/linux-sandbox"
85
+ target = "{bindir}/linux-sandbox"
86
+ mode = "0755"
87
+ type = "executable"
88
+
89
+ [[component.layout.files]]
90
+ source = "lib/anolisa/sec-core/python3.11/runtime/bin/python3.11"
91
+ target = "{libdir}/sec-core/python3.11/runtime/bin/python3.11"
92
+ mode = "0755"
93
+ type = "executable"
94
+
95
+ [[component.layout.files]]
96
+ source = "lib/anolisa/sec-core/python3.11/runtime/lib/"
97
+ target = "{libdir}/sec-core/python3.11/runtime/lib/"
98
+ mode = "0644"
99
+
100
+ [[component.layout.files]]
101
+ source = "lib/anolisa/sec-core/python3.11/runtime/PROVENANCE.toml"
102
+ target = "{libdir}/sec-core/python3.11/runtime/PROVENANCE.toml"
103
+ mode = "0644"
104
+
105
+ [[component.layout.files]]
106
+ source = "lib/anolisa/sec-core/python3.11/runtime/LICENSES.sha256"
107
+ target = "{libdir}/sec-core/python3.11/runtime/LICENSES.sha256"
108
+ mode = "0644"
109
+
110
+ [[component.layout.files]]
111
+ source = "share/anolisa/skills/"
112
+ target = "{datadir}/skills/"
113
+ mode = "0644"
114
+
115
+ [[component.layout.files]]
116
+ source = "share/anolisa/sec-core/agent-sec-core.service.in"
117
+ target = "{unitdir}/agent-sec-core.service"
118
+ mode = "0644"
119
+ render = "anolisa-paths-v1"
120
+
121
+ [[component.layout.files]]
122
+ source = "share/doc/sec-core/LICENSE"
123
+ target = "{datadir}/doc/sec-core/LICENSE"
124
+ mode = "0644"
125
+
126
+ [[component.services]]
127
+ unit = "agent-sec-core.service"
128
+ scope = "system"
129
+ enable = false
130
+ start = false
131
+
132
+ [component.health_check]
133
+ type = "binary_version"
134
+ binary = "{bindir}/agent-sec-cli"
135
+ timeout_secs = 15
136
+
137
+ [[adapters]]
138
+ framework = "openclaw"
139
+ name = "sec-core-openclaw"
140
+ display_name = "Agent Security Core for OpenClaw"
141
+ adapter_type = "plugin"
142
+ trust = "first-party"
143
+ plugin_id = "agent-sec"
144
+ source = "adapters/sec-core/openclaw"
145
+ dest = "{datadir}/adapters/{component}/openclaw/"
146
+ detect = { binary = "openclaw" }
147
+
148
+ [adapters.backends.rpm]
149
+ resource_root = "/opt/agent-sec/openclaw-plugin/"
150
+ managed_packages = ["agent-sec-plugins", "agent-sec-skills"]
151
+
152
+ [adapters.compat]
153
+ framework_version = ">=2026.4.14"
154
+
155
+ [adapters.bundle]
156
+ schema = 1
157
+ entry = "openclaw.plugin.json"
158
+
159
+ [adapters.openclaw.bundle]
160
+ schema = 1
161
+ entry = "openclaw.plugin.json"
162
+
163
+ [[adapters.openclaw.config]]
164
+ key = "plugins.entries.agent-sec.hooks.allowConversationAccess"
165
+ value = true
166
+ framework_version = ">=2026.4.24"
167
+
168
+ [[adapters.openclaw.skills]]
169
+ name = "code-scanner"
170
+ source = "{datadir}/skills/code-scanner/"
171
+
172
+ [[adapters.openclaw.skills]]
173
+ name = "prompt-scanner"
174
+ source = "{datadir}/skills/prompt-scanner/"
175
+
176
+ [[adapters.openclaw.skills]]
177
+ name = "pii-checker"
178
+ source = "{datadir}/skills/pii-checker/"
179
+
180
+ [[adapters.openclaw.skills]]
181
+ name = "skill-ledger"
182
+ source = "{datadir}/skills/skill-ledger/"
183
+
184
+ [[adapters]]
185
+ framework = "hermes"
186
+ name = "sec-core-hermes"
187
+ display_name = "Agent Security Core for Hermes"
188
+ adapter_type = "plugin"
189
+ trust = "first-party"
190
+ plugin_id = "agent-sec-core-hermes-plugin"
191
+ source = "adapters/sec-core/hermes"
192
+ dest = "{datadir}/adapters/{component}/hermes/"
193
+ detect = { binary = "hermes" }
194
+
195
+ [adapters.backends.rpm]
196
+ resource_root = "/opt/agent-sec/hermes-plugin/src/"
197
+ managed_packages = ["agent-sec-plugins", "agent-sec-skills"]
198
+
199
+ [adapters.bundle]
200
+ schema = 1
201
+ entry = "plugin.yaml"
202
+
203
+ [adapters.hermes.bundle]
204
+ schema = 1
205
+ entry = "plugin.yaml"
206
+
207
+ [[adapters.hermes.skills]]
208
+ name = "code-scanner"
209
+ source = "{datadir}/skills/code-scanner/"
210
+
211
+ [[adapters.hermes.skills]]
212
+ name = "prompt-scanner"
213
+ source = "{datadir}/skills/prompt-scanner/"
214
+
215
+ [[adapters.hermes.skills]]
216
+ name = "pii-checker"
217
+ source = "{datadir}/skills/pii-checker/"
218
+
219
+ [[adapters.hermes.skills]]
220
+ name = "skill-ledger"
221
+ source = "{datadir}/skills/skill-ledger/"
222
+
223
+ [[adapters]]
224
+ framework = "codex"
225
+ name = "sec-core-codex"
226
+ display_name = "Agent Security Core for Codex"
227
+ adapter_type = "plugin"
228
+ trust = "first-party"
229
+ plugin_id = "agent-sec-core"
230
+ source = "adapters/sec-core/codex"
231
+ dest = "{datadir}/adapters/{component}/codex/"
232
+ detect = { binary = "codex" }
233
+
234
+ [adapters.backends.rpm]
235
+ resource_root = "/opt/agent-sec/codex-plugin/hooks-plugin/"
236
+ managed_packages = ["agent-sec-plugins"]
237
+
238
+ [adapters.bundle]
239
+ schema = 1
240
+ entry = ".codex-plugin/plugin.json"
241
+
242
+ [[adapters]]
243
+ framework = "qoder"
244
+ name = "sec-core-qoder"
245
+ display_name = "Agent Security Core for Qoder"
246
+ adapter_type = "plugin"
247
+ trust = "first-party"
248
+ plugin_id = "agent-sec-core"
249
+ source = "adapters/sec-core/qoder"
250
+ dest = "{datadir}/adapters/{component}/qoder/"
251
+ detect = { binary = "qodercli" }
252
+
253
+ [adapters.backends.rpm]
254
+ resource_root = "/opt/agent-sec/qoder-plugin/"
255
+ managed_packages = ["agent-sec-plugins"]
256
+
257
+ [adapters.bundle]
258
+ schema = 1
259
+ entry = ".qoder-plugin/plugin.json"
260
+
261
+ [[adapters]]
262
+ framework = "qwencode"
263
+ name = "sec-core-qwencode"
264
+ display_name = "Agent Security Core for Qwen Code"
265
+ adapter_type = "extension"
266
+ trust = "first-party"
267
+ plugin_id = "agent-sec-core-qwen-code-extension"
268
+ source = "adapters/sec-core/qwencode"
269
+ dest = "{datadir}/adapters/{component}/qwencode/"
270
+ detect = { binary = "qwen" }
271
+
272
+ [adapters.backends.rpm]
273
+ resource_root = "/opt/agent-sec/qwen-code-extension/"
274
+ managed_packages = ["agent-sec-plugins"]
275
+
276
+ [adapters.bundle]
277
+ schema = 1
278
+ entry = "qwen-extension.json"
279
+
280
+ [[adapters]]
281
+ framework = "cosh"
282
+ name = "sec-core-cosh"
283
+ display_name = "Agent Security Core for Cosh"
284
+ adapter_type = "extension"
285
+ trust = "first-party"
286
+ plugin_id = "agent-sec-core"
287
+ source = "adapters/sec-core/cosh"
288
+ dest = "{datadir}/extensions/agent-sec-core/"
289
+ detect = { binary = "cosh" }
290
+
291
+ [adapters.backends.rpm]
292
+ resource_root = "/usr/share/anolisa/extensions/agent-sec-core/"
293
+ managed_packages = ["agent-sec-plugins"]
294
+
295
+ [adapters.bundle]
296
+ schema = 1
297
+ entry = "cosh-extension.json"
@@ -0,0 +1,44 @@
1
+ [component]
2
+ name = "skillfs"
3
+ version = "0.5.5"
4
+ layer = "runtime"
5
+ domain = "tools"
6
+ display_name = "SkillFS"
7
+ description = "AI agent skill management via virtual filesystem"
8
+ stability = "experimental"
9
+ license = "Apache-2.0"
10
+ repository = "https://github.com/agentic-os-org/ANOLISA"
11
+
12
+ [component.contract]
13
+ schema_version = "1.0"
14
+ min_anolisa_version = "0.3.21"
15
+
16
+ [backends.rpm]
17
+ package = "skillfs"
18
+
19
+ [component.platform]
20
+ os = ["linux"]
21
+ arch = ["x86_64", "aarch64"]
22
+
23
+ [[component.dependencies]]
24
+ name = "fuse3"
25
+ kind = "system-package"
26
+ packages = { rpm = "fuse3", deb = "fuse3" }
27
+
28
+ [component.layout]
29
+ modes = ["system"]
30
+
31
+ [[component.layout.files]]
32
+ source = "bin/skillfs"
33
+ target = "{bindir}/skillfs"
34
+ mode = "0755"
35
+ type = "executable"
36
+
37
+ [[component.layout.files]]
38
+ source = "share/anolisa/skills/skillfs-mount/"
39
+ target = "{datadir}/skills/skillfs-mount"
40
+
41
+ [component.health_check]
42
+ type = "binary_version"
43
+ binary = "{bindir}/skillfs"
44
+ timeout_secs = 5
@@ -0,0 +1,266 @@
1
+ [component]
2
+ name = "tokenless"
3
+ version = "0.9.2"
4
+ layer = "runtime"
5
+ domain = "optimization"
6
+ display_name = "Tokenless"
7
+ description = "LLM token optimization toolkit - schema/response compression, command rewriting"
8
+ owner = "tokenless-team"
9
+ license = "Apache-2.0"
10
+ repository = "https://github.com/agentic-os-org/ANOLISA"
11
+
12
+ [component.contract]
13
+ schema_version = "1.0"
14
+ # RPM adapters need split-package file inventory aggregation (ANOLISA 0.3.15+).
15
+ min_anolisa_version = "0.3.21"
16
+
17
+ [component.platform]
18
+ # min_kernel is intentionally omitted: tokenless has no kernel capability
19
+ # dependency, and the schema would apply the constraint to Linux and macOS.
20
+ os = ["linux", "macos"]
21
+ arch = ["x86_64", "aarch64"]
22
+
23
+ [[component.dependencies]]
24
+ name = "python3"
25
+ kind = "system-package"
26
+ probe = "python3 --version"
27
+ packages = { rpm = "python3", deb = "python3" }
28
+
29
+ [[component.dependencies]]
30
+ name = "bash"
31
+ kind = "system-package"
32
+ probe = "bash --version"
33
+ packages = { rpm = "bash", deb = "bash" }
34
+
35
+ [component.layout]
36
+ modes = ["user", "system"]
37
+
38
+ [[component.layout.files]]
39
+ source = "bin/tokenless"
40
+ target = "{bindir}/tokenless"
41
+ mode = "0755"
42
+ type = "executable"
43
+
44
+ [[component.layout.files]]
45
+ source = "libexec/anolisa/tokenless/rtk"
46
+ target = "{libexecdir}/tokenless/rtk"
47
+ mode = "0755"
48
+ type = "executable"
49
+
50
+ [[component.layout.files]]
51
+ source = "{libexecdir}/tokenless/rtk"
52
+ target = "{bindir}/rtk"
53
+ type = "symlink"
54
+
55
+ # Shared hooks are interpreter-loaded resources, so the common tree stays
56
+ # non-executable. Cosh uses its separately staged extension bundle.
57
+ [[component.layout.files]]
58
+ source = "adapters/common/"
59
+ target = "{datadir}/adapters/{component}/common/"
60
+ mode = "0644"
61
+
62
+ # The adapter manifest describes every framework target and is read from the
63
+ # installed adapter root, so it is laid beside the adapter bundles. The RPM
64
+ # channel ships the same file at the same relative path.
65
+ [[component.layout.files]]
66
+ source = "adapters/manifest.json"
67
+ target = "{datadir}/adapters/{component}/manifest.json"
68
+ mode = "0644"
69
+
70
+ [component.health_check]
71
+ type = "binary_version"
72
+ binary = "{bindir}/tokenless"
73
+ timeout_secs = 5
74
+
75
+ [[adapters]]
76
+ framework = "openclaw"
77
+ adapter_type = "plugin"
78
+ plugin_id = "tokenless"
79
+ source = "adapters/openclaw"
80
+ dest = "{datadir}/adapters/{component}/openclaw/"
81
+ detect = { binary = "openclaw" }
82
+
83
+ [adapters.backends.rpm]
84
+ resource_root = "/usr/share/anolisa/adapters/tokenless/openclaw/"
85
+ managed_packages = ["tokenless-plugins"]
86
+
87
+ [adapters.bundle]
88
+ entry = "openclaw.plugin.json"
89
+
90
+ [[adapters]]
91
+ framework = "dsh"
92
+ adapter_type = "plugin"
93
+ plugin_id = "anolisa-tokenless"
94
+ source = "adapters/dsh"
95
+ dest = "{datadir}/adapters/{component}/dsh/"
96
+ detect = { binary = "dsh" }
97
+
98
+ [adapters.backends.rpm]
99
+ resource_root = "/usr/share/anolisa/adapters/tokenless/dsh/"
100
+ managed_packages = ["tokenless-plugins"]
101
+
102
+ [adapters.bundle]
103
+ entry = "package.json"
104
+
105
+ [adapters.compat]
106
+ framework_version = ">=0.1.0-rc.2 <0.2.0"
107
+
108
+ [[adapters]]
109
+ framework = "hermes"
110
+ adapter_type = "plugin"
111
+ plugin_id = "tokenless"
112
+ source = "adapters/hermes"
113
+ dest = "{datadir}/adapters/{component}/hermes/"
114
+ detect = { binary = "hermes" }
115
+
116
+ [adapters.backends.rpm]
117
+ resource_root = "/usr/share/anolisa/adapters/tokenless/hermes/"
118
+ managed_packages = ["tokenless-plugins"]
119
+
120
+ [adapters.bundle]
121
+ entry = "plugin.yaml"
122
+
123
+ [[adapters]]
124
+ framework = "qwenpaw"
125
+ adapter_type = "plugin"
126
+ plugin_id = "tokenless"
127
+ source = "adapters/qwenpaw"
128
+ dest = "{datadir}/adapters/{component}/qwenpaw/"
129
+ detect = { binary = "qwenpaw" }
130
+
131
+ [adapters.backends.rpm]
132
+ resource_root = "/usr/share/anolisa/adapters/tokenless/qwenpaw/"
133
+ managed_packages = ["tokenless-plugins"]
134
+
135
+ [adapters.bundle]
136
+ # QwenPaw plugin manifest. The built-in qwenpaw driver hands the bundle to
137
+ # `qwenpaw plugin install`, which copies it, validates plugin.py and installs
138
+ # requirements.txt into QwenPaw's own Python environment.
139
+ entry = "plugin.json"
140
+
141
+ [[adapters]]
142
+ framework = "qoder"
143
+ adapter_type = "plugin"
144
+ plugin_id = "tokenless"
145
+ source = "adapters/qoder"
146
+ dest = "{datadir}/adapters/{component}/qoder/"
147
+
148
+ [adapters.backends.rpm]
149
+ resource_root = "/usr/share/anolisa/adapters/tokenless/qoder/"
150
+ managed_packages = ["tokenless-plugins"]
151
+
152
+ [adapters.bundle]
153
+ # Qoder-native plugin manifest inside the bundle directory. The built-in
154
+ # qoder driver reads this to confirm the bundle is a valid Qoder plugin and
155
+ # requires hooks.json beside it. The legacy scripts/install.sh and
156
+ # uninstall.sh ship in the same bundle as publishing assets, but the ANOLISA
157
+ # driver never invokes them — enable/disable behavior is built into Rust.
158
+ entry = ".qoder-plugin/plugin.json"
159
+
160
+ # QwenWorkCN macOS local-mode sideloading is managed by the built-in driver.
161
+ [[adapters]]
162
+ framework = "qwenwork"
163
+ adapter_type = "plugin"
164
+ plugin_id = "tokenless"
165
+ source = "adapters/qwenwork"
166
+ dest = "{datadir}/adapters/{component}/qwenwork/"
167
+
168
+ [adapters.backends.rpm]
169
+ resource_root = "/usr/share/anolisa/adapters/tokenless/qwenwork/"
170
+ managed_packages = ["tokenless-plugins"]
171
+
172
+ [adapters.bundle]
173
+ entry = ".qoder-plugin/plugin.json"
174
+
175
+ [[adapters]]
176
+ framework = "claude-code"
177
+ adapter_type = "plugin"
178
+ plugin_id = "tokenless"
179
+ source = "adapters/claude-code"
180
+ dest = "{datadir}/adapters/{component}/claude-code/"
181
+
182
+ [adapters.backends.rpm]
183
+ resource_root = "/usr/share/anolisa/adapters/tokenless/claude-code/"
184
+ managed_packages = ["tokenless-plugins"]
185
+
186
+ [adapters.bundle]
187
+ entry = ".claude-plugin/marketplace.json"
188
+
189
+ [[adapters]]
190
+ framework = "codex"
191
+ adapter_type = "plugin"
192
+ plugin_id = "tokenless"
193
+ source = "adapters/codex"
194
+ dest = "{datadir}/adapters/{component}/codex/"
195
+
196
+ [adapters.backends.rpm]
197
+ resource_root = "/usr/share/anolisa/adapters/tokenless/codex/"
198
+ managed_packages = ["tokenless-plugins"]
199
+
200
+ [adapters.bundle]
201
+ entry = ".codex-plugin/plugin.json"
202
+
203
+ # ANOLISA manages the local-plugin link through receipts. Bundled lifecycle
204
+ # scripts remain available for standalone installs across distribution channels.
205
+ # Keep plugin_id and the entry extension aligned with plugins/tokenless.js in
206
+ # the standalone scripts and documentation when changing this contract.
207
+ [[adapters]]
208
+ framework = "opencode"
209
+ adapter_type = "plugin"
210
+ plugin_id = "tokenless"
211
+ source = "adapters/opencode"
212
+ dest = "{datadir}/adapters/{component}/opencode/"
213
+
214
+ [adapters.backends.rpm]
215
+ resource_root = "/usr/share/anolisa/adapters/tokenless/opencode/"
216
+ managed_packages = ["tokenless-plugins"]
217
+
218
+ [adapters.bundle]
219
+ entry = "plugin.js"
220
+
221
+ [[adapters.notices]]
222
+ when = "post_enable"
223
+ level = "info"
224
+ text = "Restart OpenCode to load the Tokenless plugin."
225
+
226
+ [[adapters.notices]]
227
+ when = "post_disable"
228
+ level = "warning"
229
+ text = "Restart OpenCode to unload the Tokenless plugin."
230
+
231
+ [[adapters]]
232
+ framework = "cosh"
233
+ adapter_type = "extension"
234
+ plugin_id = "tokenless"
235
+ source = "extensions/tokenless"
236
+ dest = "{datadir}/extensions/{component}/"
237
+
238
+ [adapters.backends.rpm]
239
+ resource_root = "/usr/share/anolisa/extensions/tokenless/"
240
+ managed_packages = ["tokenless-plugins"]
241
+
242
+ [adapters.bundle]
243
+ entry = "cosh-extension.json"
244
+
245
+ # Qwencode extension adapter. Coexists independently with the other
246
+ # adapters above — each adapter is scoped to its own framework driver,
247
+ # and the anolisa CLI selects exactly one framework per session based on
248
+ # the active agent runtime. Enabling qwencode has no effect on openclaw,
249
+ # hermes, qoder, claude-code, codex, or cosh adapters. The qwencode
250
+ # driver loads this extension only when the framework is qwencode.
251
+ [[adapters]]
252
+ framework = "qwencode"
253
+ adapter_type = "extension"
254
+ plugin_id = "tokenless"
255
+ source = "adapters/qwencode"
256
+ dest = "{datadir}/adapters/{component}/qwencode/"
257
+
258
+ [adapters.backends.rpm]
259
+ resource_root = "/usr/share/anolisa/adapters/tokenless/qwencode/"
260
+ managed_packages = ["tokenless-plugins"]
261
+
262
+ [adapters.bundle]
263
+ entry = "qwen-extension.json"
264
+
265
+ [backends.rpm]
266
+ package = "tokenless"
@@ -0,0 +1,150 @@
1
+ [component]
2
+ name = "ws-ckpt"
3
+ version = "0.6.1"
4
+ layer = "runtime"
5
+ domain = "state"
6
+ display_name = "Workspace Checkpoint"
7
+ description = "Workspace checkpoint - btrfs COW session-level isolation and rollback"
8
+ owner = "ws-ckpt-team"
9
+ license = "Apache-2.0"
10
+ repository = "https://github.com/agentic-os-org/ANOLISA"
11
+
12
+ [component.contract]
13
+ schema_version = "1.0"
14
+ min_anolisa_version = "0.3.21"
15
+
16
+ [backends.rpm]
17
+ package = "ws-ckpt"
18
+
19
+ [component.platform]
20
+ os = ["linux"]
21
+ arch = ["x86_64", "aarch64"]
22
+ min_kernel = "5.4"
23
+
24
+ [[component.dependencies]]
25
+ name = "btrfs-progs"
26
+ kind = "system-package"
27
+ probe = "mkfs.btrfs --version"
28
+ packages = { rpm = "btrfs-progs", deb = "btrfs-progs" }
29
+
30
+ [[component.dependencies]]
31
+ name = "rsync"
32
+ kind = "system-package"
33
+ probe = "rsync --version"
34
+ packages = { rpm = "rsync", deb = "rsync" }
35
+
36
+ [[component.dependencies]]
37
+ name = "btrfs"
38
+ kind = "platform-capability"
39
+ check = "btrfs"
40
+ min_kernel = "5.4"
41
+
42
+ [component.layout]
43
+ modes = ["system"]
44
+
45
+ [[component.layout.files]]
46
+ source = "bin/ws-ckpt"
47
+ target = "{bindir}/ws-ckpt"
48
+ mode = "0755"
49
+ type = "executable"
50
+
51
+ [[component.layout.files]]
52
+ source = "share/anolisa/skills/ws-ckpt/"
53
+ target = "{datadir}/skills/ws-ckpt"
54
+
55
+ [[component.layout.files]]
56
+ source = "share/anolisa/ws-ckpt/ws-ckpt.service"
57
+ target = "{unitdir}/ws-ckpt.service"
58
+ mode = "0644"
59
+ render = "anolisa-paths-v1"
60
+
61
+ [[component.layout.files]]
62
+ source = "share/anolisa/ws-ckpt/config.toml.sample"
63
+ target = "{datadir}/ws-ckpt/config.toml.sample"
64
+ mode = "0644"
65
+ type = "config"
66
+
67
+ [[component.layout.files]]
68
+ source = "share/anolisa/hooks/ws-ckpt/pre-uninstall.sh"
69
+ target = "{datadir}/hooks/ws-ckpt/pre-uninstall.sh"
70
+ mode = "0755"
71
+ type = "executable"
72
+
73
+ [[component.layout.files]]
74
+ source = "share/anolisa/adapters/ws-ckpt/manifest.json"
75
+ target = "{datadir}/adapters/ws-ckpt/manifest.json"
76
+ mode = "0644"
77
+
78
+ [[component.layout.files]]
79
+ source = "share/anolisa/adapters/ws-ckpt/openclaw/"
80
+ target = "{datadir}/adapters/ws-ckpt/openclaw"
81
+
82
+ [[component.layout.files]]
83
+ source = "share/anolisa/adapters/ws-ckpt/hermes/"
84
+ target = "{datadir}/adapters/ws-ckpt/hermes"
85
+
86
+ [[component.services]]
87
+ unit = "ws-ckpt.service"
88
+ scope = "system"
89
+ enable = true
90
+ start = true
91
+
92
+ [[component.hooks]]
93
+ phase = "pre_uninstall"
94
+ script = "{datadir}/hooks/ws-ckpt/pre-uninstall.sh"
95
+ timeout_secs = 300
96
+ strict = false
97
+
98
+ [component.health_check]
99
+ type = "binary_version"
100
+ binary = "{bindir}/ws-ckpt"
101
+ timeout_secs = 5
102
+
103
+ [[adapters]]
104
+ framework = "openclaw"
105
+ name = "ws-ckpt-openclaw"
106
+ display_name = "ws-ckpt for OpenClaw"
107
+ adapter_type = "plugin"
108
+ trust = "first-party"
109
+ plugin_id = "ws-ckpt"
110
+ source = "share/anolisa/plugins/ws-ckpt/openclaw"
111
+ dest = "{datadir}/plugins/ws-ckpt/openclaw/"
112
+ detect = { binary = "openclaw" }
113
+
114
+ [adapters.compat]
115
+ framework_version = ">=2026.2.13"
116
+
117
+ [adapters.bundle]
118
+ schema = 1
119
+ entry = "openclaw.plugin.json"
120
+
121
+ [adapters.openclaw.bundle]
122
+ schema = 1
123
+ entry = "openclaw.plugin.json"
124
+
125
+ [adapters.backends.rpm]
126
+ resource_root = "/usr/share/anolisa/plugins/ws-ckpt/openclaw/"
127
+ managed_packages = ["ws-ckpt-plugins"]
128
+
129
+ [[adapters]]
130
+ framework = "hermes"
131
+ name = "ws-ckpt-hermes"
132
+ display_name = "ws-ckpt for Hermes"
133
+ adapter_type = "plugin"
134
+ trust = "first-party"
135
+ plugin_id = "ws-ckpt"
136
+ source = "share/anolisa/plugins/ws-ckpt/hermes"
137
+ dest = "{datadir}/plugins/ws-ckpt/hermes/"
138
+ detect = { binary = "hermes" }
139
+
140
+ [adapters.bundle]
141
+ schema = 1
142
+ entry = "plugin.yaml"
143
+
144
+ [adapters.hermes.bundle]
145
+ schema = 1
146
+ entry = "plugin.yaml"
147
+
148
+ [adapters.backends.rpm]
149
+ resource_root = "/usr/share/anolisa/plugins/ws-ckpt/hermes/"
150
+ managed_packages = ["ws-ckpt-plugins"]