@ai-ecoverse/slicc-spectrum 1.90.0 → 1.91.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/README.md +3 -2
- package/dist/slicc-dummy.js +20 -1
- package/dist/slicc-dummy.js.map +2 -2
- package/dist/slicc-ui.js +4 -2
- package/dist/slicc-ui.js.map +3 -3
- package/dist/types/dummy/vault.d.ts +2 -1
- package/dist/types/dummy.d.ts +1 -1
- package/dist/types/model/types.d.ts +13 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -429,7 +429,7 @@ The secrets, sorted by name (`li[data-secret][data-state]`, with `[data-rules]`,
|
|
|
429
429
|
Locked, every form (Add secret, Replace value, Import, Export) says "Unlock the vault first" (`p[data-locked]`) next to the vault's own small **Unlock** button (`slicc-vault-button[data-action=unlock]`) and disables its submit; once unlocked, the form stays open with what was typed and its submit enables.
|
|
430
430
|
Vault errors show their message, EACCES as "Unlock the vault first" and ENOTSUP as "This arrives with a later vault version".
|
|
431
431
|
Each action shows only when the port has its method.
|
|
432
|
-
Then **Rules SLICC refused** (`[data-refused]`), where the rules live (`[data-policy]`) and **Activity** (`ol.audit li[data-seq][data-type]`; an entry with `uid` and `tag` both `null` reads "by you", a `refresh` entry "Refreshed automatically" (with the sign-in it used), an `mcp` entry "Sent to the MCP server SERVER at DOMAIN" with its request and exit, and a policy entry lists its changes, its warning and, when accepted, how to change the file back; **Only reveals to programs**, `data-action="reveals"`, and **Show older**, `data-action="older"`).
|
|
432
|
+
Then **Rules SLICC refused** (`[data-refused]`), where the rules live (`[data-policy]`) and **Activity** (`ol.audit li[data-seq][data-type]`; an entry with `uid` and `tag` both `null` reads "by you", a `refresh` entry "Refreshed automatically" (with the sign-in it used), an `endpoints` entry (the vault removing model URLs an older agent registered) "Removed custom model URLs an agent set, automatically:" with each provider and URL and no "by …", an `mcp` entry "Sent to the MCP server SERVER at DOMAIN" with its request and exit, and a policy entry lists its changes, its warning and, when accepted, how to change the file back; **Only reveals to programs**, `data-action="reveals"`, and **Show older**, `data-action="older"`).
|
|
433
433
|
The section's `data-vault` is `locked`, `unlocked` or `loading`.
|
|
434
434
|
A popup the browser blocked shows how to allow it (`[data-popup=blocked]`).
|
|
435
435
|
Widened-rule notices aren't shown.
|
|
@@ -982,7 +982,8 @@ Like slicc-agent's snapshot, the dummy's vitals are the budget, Spend, Active ag
|
|
|
982
982
|
(`guest-follower`: the same without `decide`), or (`guest-always`) one guest tool call from Seat 2 (Mara) to `read_file` with `always: true`.
|
|
983
983
|
Decisions are recorded in `model.approvals.decisions`, and `model.approvals.end(id, reason)` ends a request.
|
|
984
984
|
|
|
985
|
-
`createDummyModel({ vault: 'empty' | 'secrets' | 'policy' | 'locked' | 'request' | 'backup' | 'waiting' | 'off' })` (`?vault=` on `/ui/`, off by default; `notice` is kept as another name for `policy`) adds an invented vault: no secrets yet; five secrets (an API key, a jerk lease from pier-nuc revealed to `pier publish`, a Tide Mail sign-in, one without a rule and a removed one) with an activity log that pages back once; the same with a refused rule and a policy change in the log; locked before the first unlock, with a waiting request from docs-pass; unlocked with a `fnox set` request for `TIDE_STATION_TOKEN`; the secrets with a due backup reminder; or a vault that hasn't answered yet (`model.vault.arrive()` brings it).
|
|
985
|
+
`createDummyModel({ vault: 'empty' | 'secrets' | 'policy' | 'locked' | 'request' | 'backup' | 'waiting' | 'purged' | 'off' })` (`?vault=` on `/ui/`, off by default; `notice` is kept as another name for `policy`) adds an invented vault: no secrets yet; five secrets (an API key, a jerk lease from pier-nuc revealed to `pier publish`, a Tide Mail sign-in, one without a rule and a removed one) with an activity log that pages back once; the same with a refused rule and a policy change in the log; locked before the first unlock, with a waiting request from docs-pass; unlocked with a `fnox set` request for `TIDE_STATION_TOKEN`; the secrets with a due backup reminder; or a vault that hasn't answered yet (`model.vault.arrive()` brings it).
|
|
986
|
+
`purged` is `secrets` plus an `endpoints` audit entry for two invented model URLs.
|
|
986
987
|
It implements every op with the vault's checks, and keeps only names: `model.vault.puts` records `{ name, request? }`, `cancelled` the cancelled requests, `imports` each import's kind, size and pick, and `exported` the exports.
|
|
987
988
|
Import offers five invented candidates (one replaces a secret, one is a model key, one is refused with a reason that the done stage repeats; KeePass adds a `_2` duplicate), six answers ENOTSUP, page ops are recorded with `uid: null, tag: null`, and value ops while locked answer EACCES.
|
|
988
989
|
`model.vault.fail(code, message)` makes the next op fail.
|
package/dist/slicc-dummy.js
CHANGED
|
@@ -7020,6 +7020,20 @@ function vaultRefused() {
|
|
|
7020
7020
|
}
|
|
7021
7021
|
];
|
|
7022
7022
|
}
|
|
7023
|
+
function vaultPurged(now2 = Date.now()) {
|
|
7024
|
+
return {
|
|
7025
|
+
type: "endpoints",
|
|
7026
|
+
seq: 13,
|
|
7027
|
+
id: "audit-13",
|
|
7028
|
+
at: now2 - 30 * minute3,
|
|
7029
|
+
uid: null,
|
|
7030
|
+
tag: null,
|
|
7031
|
+
purged: [
|
|
7032
|
+
{ provider: "openai", url: "https://models.harbor.example/v1" },
|
|
7033
|
+
{ provider: "anthropic", url: "https://relay.harbor.example" }
|
|
7034
|
+
]
|
|
7035
|
+
};
|
|
7036
|
+
}
|
|
7023
7037
|
function vaultPolicy(now2 = Date.now()) {
|
|
7024
7038
|
return {
|
|
7025
7039
|
type: "policy",
|
|
@@ -7109,7 +7123,11 @@ function vaultFixtures(scenario, now2 = Date.now()) {
|
|
|
7109
7123
|
const list = {
|
|
7110
7124
|
secrets,
|
|
7111
7125
|
refused: policy ? vaultRefused() : [],
|
|
7112
|
-
audit: empty ? [] : [
|
|
7126
|
+
audit: empty ? [] : [
|
|
7127
|
+
...policy ? [vaultPolicy(now2)] : [],
|
|
7128
|
+
...scenario === "purged" ? [vaultPurged(now2)] : [],
|
|
7129
|
+
...vaultAudit(now2)
|
|
7130
|
+
],
|
|
7113
7131
|
auditMore: !empty,
|
|
7114
7132
|
exits: {
|
|
7115
7133
|
file: "/etc/slicc/secrets-policy.toml",
|
|
@@ -7615,6 +7633,7 @@ export {
|
|
|
7615
7633
|
vaultNotice,
|
|
7616
7634
|
vaultOlder,
|
|
7617
7635
|
vaultPolicy,
|
|
7636
|
+
vaultPurged,
|
|
7618
7637
|
vaultRefused,
|
|
7619
7638
|
vaultSecrets
|
|
7620
7639
|
};
|