@securecoms/agent-runtime 0.12.1 → 0.13.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.
Files changed (3) hide show
  1. package/README.md +42 -5
  2. package/dist/bin.js +696 -263
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -207,9 +207,13 @@ the runtime works as follows in the owner's private chat:
207
207
  recalls memories.
208
208
  - **The memory tool gate.** On every owner private-chat turn, and on any turn
209
209
  that carries memories, the gate checks each tool call before it runs:
210
+ <!-- [COPY, approved by Eric 2026-10-12] skills spec 2026-10-12 section 7 C-3. -->
211
+ - What a tool may do is decided by its handler, not its name. A skill file
212
+ that reuses a built-in's name with a different handler is not loaded.
210
213
  - `current_time`, `echo` and `memory_note` run as usual.
211
- - `web_search`, `fetch_url`, `http_request` and `sql_query` run only when
212
- their arguments pass the gate. The gate refuses an argument that holds a
214
+ - Network reads (`web_search`, `fetch_url`, `sql_query`, `http_request` GET)
215
+ run only when the values they will send pass the gate. Numbers are checked
216
+ too. The gate refuses an argument that holds a
213
217
  number the owner did not type in this message (digits, number words, and
214
218
  Roman numerals longer than one letter); a URL, an e-mail address or a
215
219
  base64-like token longer than 24 characters that is not in the owner's
@@ -222,9 +226,14 @@ the runtime works as follows in the owner's private chat:
222
226
  number (`YEAR_WINDOW` = 1). It still counts toward the 3-word runs and the
223
227
  200-character budget.
224
228
  - `http_request` sends only GET on these turns. Any other method is refused.
225
- - Every other tool, skills included, is refused on these turns.
226
- - The gate stops copying of numbers, links and exact wording. It does not
227
- stop the model from rewording a memory, and it binds only this runtime.
229
+ - Anything that sends, changes or deletes something is refused on these
230
+ turns.
231
+ - The bridge decides which tools a turn may use. Today it allows only
232
+ `current_time` and `web_search` in the owner's private chat, and no custom
233
+ skill on any turn.
234
+ - The gate stops a model from pasting numbers, links and exact wording from
235
+ memory into a tool. It does not stop a model that rewords a memory or
236
+ deliberately encodes it in other words, and it binds only this runtime.
228
237
 
229
238
  **With bridge 0.28 or older.** A turn without the bridge's `memory_unified`
230
239
  reply works as in runtime 0.11.0: `memory_note` saves, replaces or forgets a
@@ -233,6 +242,11 @@ not run.
233
242
 
234
243
  ## Adding a skill
235
244
 
245
+ <!-- [COPY, approved by Eric 2026-10-12] skills spec 2026-10-12 section 7 C-3. -->
246
+ Note: a skill you add here is loaded but not offered to the model yet. The
247
+ bridge grants tools per turn, and it does not grant custom skills on any turn.
248
+ The six built-ins below are the tools agents use today.
249
+
236
250
  A skill is either a JSON manifest or a `SKILL.md` file, dropped under
237
251
  `SECURECOMS_SKILLS_DIR` in one of three layouts:
238
252
 
@@ -513,6 +527,29 @@ The paragraph is therefore an advisory configuration summary, not an authority
513
527
  claim. Channel authorization and the local gate are both enforced at call
514
528
  time, so a configured but ungranted or denied tool is still refused.
515
529
 
530
+ ## Release notes: 0.13.0
531
+
532
+ <!-- [COPY, approved by Eric 2026-10-12] -->
533
+
534
+ 0.13.0 applies owner-signed tool settings. Install it together with
535
+ `@securecoms/agent-bridge` 0.30.0 and restart both. The bridge decides which
536
+ tools a turn may use. This runtime repeats the check before each call.
537
+
538
+ - **Hello.** The runtime now reports `manifest_grants_v1`. A bridge that does
539
+ not see it uses the fallback in every place.
540
+ - **Room web search.** In rooms the runtime offers `web_search` only when the
541
+ bridge grants it. It counts each call that runs, for each room and each UTC
542
+ day, in a file on disk, so a restart does not reset the count. At the limit
543
+ it refuses the call. The limit is 50 for each room and 200 for each agent.
544
+ - **Strict secret paths.** For each tool that holds an owner-signed grant, the
545
+ runtime reads `manifest-policy.json` (written by the bridge) and confines the
546
+ tool's secret paths in `enforce` mode.
547
+ - **`sqlite` databases.** `sql_query` opens a `sqlite` database only when its
548
+ real path equals the path the owner signed. Otherwise the call is refused.
549
+ - **Operator caps.** `SECURECOMS_ROOM_SEARCH_DAILY_CAP` and
550
+ `SECURECOMS_AGENT_ROOM_SEARCH_DAILY_CAP` lower the two limits. See the bridge
551
+ README, "Room tool rule".
552
+
516
553
  ## Provenance
517
554
 
518
555
  See [PROVENANCE.md](./PROVENANCE.md) for which files were ported from