@vectros-ai/cli 0.6.8 → 0.9.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/CHANGELOG.md CHANGED
@@ -3,6 +3,91 @@
3
3
  All notable changes to `@vectros-ai/cli` are documented here.
4
4
  This project adheres to [Semantic Versioning](https://semver.org).
5
5
 
6
+ ## 0.9.0
7
+
8
+ ### Added
9
+
10
+ - **Ownership scopes across the provisioning verbs.** `role create` gains
11
+ `--data-scope <json>` to confine a role's clause to owned data (e.g.
12
+ `'{"userId":["${{ self.userId }}"]}'` for per-request "records I own", or
13
+ `'{"scope:org":["<orgId>", null]}'` for one org's data plus scope-less records).
14
+ `access grant` and `vectros join` gain `--org <orgId>` (and `access grant` the
15
+ general `--identity-overrides <json>`), placing the principal under an
16
+ organization for the context so its key can write org/team-scoped data — a
17
+ credential can only stamp ownership its identity carries.
18
+ - **`vectros access explain`** — renders what a principal's binding actually
19
+ grants: the clause list plus a concrete access matrix (your private records, a
20
+ teammate's shared records, another team's, scope-less content, …) evaluated
21
+ under the documented matching rules — per-dimension match, AND across a
22
+ clause's keys, UNION across clauses, and the `null` opt-in for scope-less
23
+ items. Answers "who can see what?" before any data exists, and catches the
24
+ classic one-clause mis-authoring that silently denies teammates' shared
25
+ records.
26
+ - **`vectros join` + the multi-principal keyring** — `vectros join <context>
27
+ (--role <r> | --actions <csv>) [--as me|usr_<id>] [--alias <name>]` enrolls a
28
+ principal in a context in one step: it grants the role, issues a scoped key,
29
+ and stores that key as a named keyring entry, then makes it the active
30
+ identity. Several identities can now live side by side. `vectros switch
31
+ <alias>` (or `vectros keyring use <alias>`) flips the active one; `vectros
32
+ keyring list` shows them all with the active one marked; `vectros keyring show
33
+ [--format env|raw]` reveals the active key (e.g. `--format env` prints
34
+ `VECTROS_API_KEY=…` to export into the MCP server); `vectros keyring remove
35
+ <alias>` drops one. Re-joining an alias whose key is still held is idempotent
36
+ (it re-activates without churning the key); it only rotates when the local
37
+ secret is missing.
38
+ - **Keys are encrypted at rest** — keyring secrets are stored AES-256-GCM
39
+ encrypted under a machine-derived key, rather than in plaintext. (An OS-native
40
+ secret store is a planned follow-up for login/hardware-gated protection.)
41
+ - **Bundled blueprints updated to `0.7.0`** — `agentic-sdlc` gains governed agent
42
+ memory (enroll with `vectros join agentic-sdlc --role member`), and the blueprint
43
+ format gains `accessProfile.identityOverrides` + per-seed `scopes`, which
44
+ `bootstrap`/`blueprint-test` apply. **Full detail in the `@vectros-ai/blueprints`
45
+ changelog** — this entry is an overview; the schema, role, and format specifics
46
+ live there.
47
+
48
+ ## 0.8.1 — 2026-07-10
49
+
50
+ ### Changed
51
+
52
+ - **Dependency maintenance** — repinned the bundled `@vectros-ai/sdk` to `0.34.0`
53
+ (additive `scopes` read-back on record/document/folder responses, plus webhooks).
54
+ The CLI bundles the SDK into its published binary, so this is a rebuild against the
55
+ current SDK; no CLI behavior changes.
56
+
57
+ ## 0.8.0
58
+
59
+ ### Added
60
+
61
+ - **Blueprint identity resolution** — a blueprint can now declare a top-level
62
+ `identities:` block (tenant-wide principals: `user`, `org`, or `client`) and reference
63
+ them with `${{ identities.<name> }}` tokens in ownership and data-scope positions
64
+ (schema `userId`/`orgId`/`clientId`, access-profile and role `dataScope`). At apply
65
+ time (`vectros bootstrap` / `vectros blueprint-test`) each declared identity is ensured
66
+ (idempotent by `externalId`) and every token is substituted with the principal's
67
+ resolved id — so a blueprint can provision data owned by, or a credential scoped to,
68
+ specific principals. `vectros blueprint validate` / `plan` accept an identity-using
69
+ blueprint offline (linting that every reference is declared) and defer resolution to
70
+ apply time; the plan preview discloses the identities that will be ensured. Declared
71
+ identities are tenant-global and are never removed by `blueprint-test` teardown.
72
+
73
+ ## 0.7.0 — 2026-07-08
74
+
75
+ ### Added
76
+
77
+ - **`--tenant test|live` on `context create`, `context list`, and `context get`** —
78
+ pick the tenant a context is created in / read from (default `live`), mirroring the
79
+ flag `context destroy` and `blueprint-test` already carried. Previously these verbs
80
+ always targeted the live tenant, so a context on the test tenant could neither be
81
+ created, read, nor listed from the CLI.
82
+ - **`vectros context destroy <contextId>`** — permanently destroy an app context and
83
+ everything in it (records, documents, folders, schemas, roles, access profiles; the
84
+ context's scoped keys are revoked up front). The teardown is irreversible and runs
85
+ asynchronously on the server (the context reports `purging` until the drain
86
+ completes). Two safety rails: interactively you must re-type the context id to
87
+ confirm; `--force` skips the prompt and is required when stdin is not a terminal.
88
+ `--tenant test|live` picks the tenant the context lives in (default `live`).
89
+ Authenticates as the account owner — no root API key required.
90
+
6
91
  ## 0.6.8 — 2026-07-05
7
92
 
8
93
  ### Changed
package/README.md CHANGED
@@ -130,6 +130,13 @@ after the window resets, or split a large blueprint. See the
130
130
  - [`@vectros-ai/mcp-server`](https://www.npmjs.com/package/@vectros-ai/mcp-server) — the runtime this CLI provisions for.
131
131
  - [`@vectros-ai/blueprints`](https://www.npmjs.com/package/@vectros-ai/blueprints) — the curated use-case library the CLI applies.
132
132
 
133
+ ## Security & trust
134
+
135
+ Vectros enforces per-customer, fail-closed isolation and least-privilege scoped keys, with a
136
+ tamper-evident audit and version history. Customer-facing surfaces are hardened through extensive
137
+ adversarial security review. For the full trust posture, drawn plainly with its boundaries, see the
138
+ [compliance and trust guide](https://docs.vectros.ai/guides/operations-trust/compliance).
139
+
133
140
  ## License
134
141
 
135
142
  Apache-2.0. See the LICENSE file.