@ai-matrx/vault 0.0.0 → 0.1.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 ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0 — 2026-10-16
4
+
5
+ First release: the full Vault workspace replacing the web app's `features/secrets` screens, the
6
+ extension's vault side panel and the desktop's vault import.
7
+
8
+ ### Consumer action
9
+
10
+ - Install `@ai-matrx/vault`; render `VaultApp` with `createApiVaultPort(api, { userState, platformDoor, passkeys })` and host capabilities (`identity`, `knobs`, `openUrl`, and per host `page`/`fill`/`capture`/`fillSetup`/`newPasswordFields` or `nativeProvider`/`nativeImport`).
11
+ - Add `@source "../node_modules/@ai-matrx/vault/dist"` (path relative to the stylesheet) so Tailwind emits the package's classes.
12
+ - Vite hosts: `optimizeDeps.exclude: ["@ai-matrx/vault"]` (keeps the import workers' URLs).
13
+ - Delete the host's own vault screens and client once adopted (no twins).
package/README.md CHANGED
@@ -1,3 +1,29 @@
1
1
  # @ai-matrx/vault
2
2
 
3
- Name reservation only. This bootstrap has no usable API and must not be adopted. Real implementations will be released through trusted publishing.
3
+ The AI Matrx Vault: one password-manager workspace for the web app, the browser extension and the
4
+ desktop app — logins, API keys and secrets, one-time passwords, sharing, secure links, history,
5
+ files, trash, import/export/backup — over the AI Matrx server.
6
+
7
+ ```tsx
8
+ import { VaultApp, createApiVaultPort, createSupabaseIdentity, createVaultKnobs } from "@ai-matrx/vault";
9
+
10
+ const port = createApiVaultPort(api, { userState: supabase, platformDoor: supabase.schema("platform"), passkeys: supabase.auth });
11
+ const host = {
12
+ identity: createSupabaseIdentity(supabase.auth),
13
+ knobs: createVaultKnobs(supabase, { organizationId, userId }),
14
+ openUrl: (url: string) => window.open(url, "_blank", "noopener"),
15
+ };
16
+
17
+ <VaultApp port={port} host={host} location={location} onLocationChange={(next, how) => writeToUrl(next, how)} notify={toast} />;
18
+ ```
19
+
20
+ - **Hosts own identity only**: their `Api` (`@ai-matrx/api`), their Supabase client, the address.
21
+ - **The address carries everything** (`locationToParams` / `locationFromParams`): vault, view, search,
22
+ sort, item, edit/new, the open panel.
23
+ - **Extension**: pass `page`, `fill`, `capture`, `fillSetup`, `newPasswordFields` (types in
24
+ `extension/host.ts`) and start at `view=page`.
25
+ - **Desktop**: pass `nativeProvider` and `nativeImport`.
26
+ - **Styling**: Tailwind utilities on the design-system tokens — add `@source "…/node_modules/@ai-matrx/vault/dist"` to the host stylesheet.
27
+ - **Workers**: the import parsers run in module workers at `dist/io/*.worker.js` (`new Worker(new URL(…, import.meta.url))`). A Vite host excludes the package from dependency pre-bundling (`optimizeDeps.exclude: ["@ai-matrx/vault"]`) so the URLs stay intact.
28
+
29
+ Local mechanics and rules: `FEATURE.md`.