@the-ai-company/cbio-node-runtime 1.27.0 → 1.29.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 +9 -5
- package/dist/runtime/bootstrap.d.ts +12 -0
- package/dist/runtime/bootstrap.js +22 -18
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -0
- package/docs/REFERENCE.md +15 -4
- package/docs/es/README.md +1 -3
- package/docs/fr/README.md +2 -0
- package/docs/ja/README.md +1 -3
- package/docs/ko/README.md +1 -3
- package/docs/pt/README.md +1 -3
- package/docs/zh/README.md +1 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -80,16 +80,20 @@ const fullProfile = await readIdentityMetadata(storage, rootIdentity.identityId,
|
|
|
80
80
|
const children = await readIdentityPrivateVaultChildrenState(storage, rootIdentity.privateKey);
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
Vaults also support
|
|
83
|
+
Vaults also support standardized public metadata for discovery:
|
|
84
84
|
|
|
85
85
|
```ts
|
|
86
|
+
import { type VaultPublicMetadata } from '@the-ai-company/cbio-node-runtime';
|
|
87
|
+
|
|
88
|
+
const publicMetadata: VaultPublicMetadata = {
|
|
89
|
+
displayName: 'Primary Vault',
|
|
90
|
+
tags: ['production', 'main'],
|
|
91
|
+
};
|
|
92
|
+
|
|
86
93
|
const createdVault = await createVault({
|
|
87
94
|
ownerIdentity: rootIdentity,
|
|
88
95
|
nickname: 'main-vault',
|
|
89
|
-
publicMetadata
|
|
90
|
-
displayName: 'Primary Vault',
|
|
91
|
-
tags: ['production', 'main'],
|
|
92
|
-
},
|
|
96
|
+
publicMetadata,
|
|
93
97
|
});
|
|
94
98
|
```
|
|
95
99
|
|
|
@@ -45,6 +45,12 @@ export interface RecoveredVault extends VaultObject {
|
|
|
45
45
|
* @param options Configuration for the new vault.
|
|
46
46
|
*/
|
|
47
47
|
export declare function createVault(storage: IStorageProvider, options: CreateVaultOptions): Promise<CreatedVault>;
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new vault using the default workspace storage.
|
|
50
|
+
*
|
|
51
|
+
* @param options Configuration for the new vault.
|
|
52
|
+
*/
|
|
53
|
+
export declare function createVault(options: CreateVaultOptions): Promise<CreatedVault>;
|
|
48
54
|
/**
|
|
49
55
|
* Recovers an existing vault.
|
|
50
56
|
*
|
|
@@ -52,6 +58,12 @@ export declare function createVault(storage: IStorageProvider, options: CreateVa
|
|
|
52
58
|
* @param options Recovery options including vaultId and owner identity.
|
|
53
59
|
*/
|
|
54
60
|
export declare function recoverVault(storage: IStorageProvider, options: RecoverVaultOptions): Promise<RecoveredVault>;
|
|
61
|
+
/**
|
|
62
|
+
* Recovers an existing vault using the default workspace storage.
|
|
63
|
+
*
|
|
64
|
+
* @param options Recovery options including vaultId and owner identity.
|
|
65
|
+
*/
|
|
66
|
+
export declare function recoverVault(options: RecoverVaultOptions): Promise<RecoveredVault>;
|
|
55
67
|
/**
|
|
56
68
|
* Lists all vaults in the workspace with their public discovery metadata.
|
|
57
69
|
*/
|
|
@@ -4,6 +4,7 @@ import { createPersistentVaultCoreDependencies, } from "../vault-core/index.js";
|
|
|
4
4
|
import { wrapVaultCoreAsVaultService, } from "../vault-ingress/index.js";
|
|
5
5
|
import { createPrefixedStorage } from "../storage/prefix.js";
|
|
6
6
|
import { readVaultProfile, writeVaultProfile } from "./vault-metadata.js";
|
|
7
|
+
import { createWorkspaceStorage } from "./workspace-storage.js";
|
|
7
8
|
import { writeVerifiableMetadata, readVerifiableMetadata } from "./verifiable-metadata.js";
|
|
8
9
|
function deriveVaultWorkingKey(privateKey, vaultId) {
|
|
9
10
|
return crypto
|
|
@@ -18,17 +19,25 @@ function deriveVaultWorkingKey(privateKey, vaultId) {
|
|
|
18
19
|
function vaultStoragePrefix(vaultId) {
|
|
19
20
|
return `vaults/${vaultId}`;
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
function resolveStorage(storageOrOptions, maybeOptions) {
|
|
23
|
+
if (maybeOptions) {
|
|
24
|
+
return {
|
|
25
|
+
storage: storageOrOptions,
|
|
26
|
+
options: maybeOptions,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// Fallback to default workspace storage for Node.js convenience
|
|
30
|
+
return {
|
|
31
|
+
storage: createWorkspaceStorage(),
|
|
32
|
+
options: storageOrOptions,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export async function createVault(storageOrOptions, maybeOptions) {
|
|
36
|
+
const { storage: workspaceStorage, options } = resolveStorage(storageOrOptions, maybeOptions);
|
|
28
37
|
const vaultId = options.vaultId ?? `vault_${crypto.randomUUID()}`;
|
|
29
|
-
const
|
|
38
|
+
const storage = createPrefixedStorage(workspaceStorage, vaultStoragePrefix(vaultId));
|
|
30
39
|
const vaultWorkingKey = deriveVaultWorkingKey(options.ownerIdentity.privateKey, vaultId);
|
|
31
|
-
const deps = createPersistentVaultCoreDependencies(
|
|
40
|
+
const deps = createPersistentVaultCoreDependencies(storage, {
|
|
32
41
|
...options,
|
|
33
42
|
vaultId,
|
|
34
43
|
vaultWorkingKey,
|
|
@@ -62,16 +71,11 @@ export async function createVault(storage, options) {
|
|
|
62
71
|
storage,
|
|
63
72
|
};
|
|
64
73
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
* @param storage The storage provider where the vault is located.
|
|
69
|
-
* @param options Recovery options including vaultId and owner identity.
|
|
70
|
-
*/
|
|
71
|
-
export async function recoverVault(storage, options) {
|
|
72
|
-
const vaultStorage = createPrefixedStorage(storage, vaultStoragePrefix(options.vaultId));
|
|
74
|
+
export async function recoverVault(storageOrOptions, maybeOptions) {
|
|
75
|
+
const { storage: workspaceStorage, options } = resolveStorage(storageOrOptions, maybeOptions);
|
|
76
|
+
const storage = createPrefixedStorage(workspaceStorage, vaultStoragePrefix(options.vaultId));
|
|
73
77
|
const vaultWorkingKey = deriveVaultWorkingKey(options.ownerIdentity.privateKey, options.vaultId);
|
|
74
|
-
const deps = createPersistentVaultCoreDependencies(
|
|
78
|
+
const deps = createPersistentVaultCoreDependencies(storage, {
|
|
75
79
|
...options,
|
|
76
80
|
vaultId: options.vaultId,
|
|
77
81
|
vaultWorkingKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,qCAAqC,GAItC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,GAG5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,SAAS,qBAAqB,CAAC,UAAkB,EAAE,OAAe;IAChE,OAAO,MAAM;SACV,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,2BAA2B,CAAC;SACnC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,UAAU,CAAC;SAClB,MAAM,CAAC,WAAW,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,UAAU,OAAO,EAAE,CAAC;AAC7B,CAAC;AA2CD
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -63,3 +63,7 @@ export interface CbioRuntime {
|
|
|
63
63
|
createStandardDispatchBoundary: typeof import("../vault-ingress/index.js").createStandardDispatchBoundary;
|
|
64
64
|
LocalVaultTransport: typeof import("../vault-ingress/defaults.js").LocalVaultTransport;
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Common export for runtime module.
|
|
68
|
+
*/
|
|
69
|
+
export type CbioRuntimeModule = CbioRuntime;
|
package/docs/REFERENCE.md
CHANGED
|
@@ -36,7 +36,7 @@ Recommended persistent-vault entrypoints:
|
|
|
36
36
|
- `createVault(...)`
|
|
37
37
|
- `recoverVault(...)`
|
|
38
38
|
|
|
39
|
-
`createVault({ ownerIdentity, nickname, publicMetadata })` creates a vault in the default workspace.
|
|
39
|
+
`createVault({ ownerIdentity, nickname, publicMetadata })` creates a vault in the default workspace. `publicMetadata` follows the `VaultPublicMetadata` interface.
|
|
40
40
|
|
|
41
41
|
`createVault(storage, { ownerIdentity, nickname, publicMetadata })` overrides the workspace storage explicitly.
|
|
42
42
|
|
|
@@ -44,6 +44,17 @@ Recommended persistent-vault entrypoints:
|
|
|
44
44
|
|
|
45
45
|
`recoverVault(storage, { vaultId, ownerIdentity })` overrides the workspace storage explicitly.
|
|
46
46
|
|
|
47
|
+
### Discovery Metadata
|
|
48
|
+
|
|
49
|
+
New in v1.28.0, the SDK exports the `VaultPublicMetadata` interface to standardize vault discovery:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
export interface VaultPublicMetadata extends Record<string, any> {
|
|
53
|
+
nickname?: string;
|
|
54
|
+
ownerId?: string;
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
47
58
|
## Terms
|
|
48
59
|
|
|
49
60
|
- `identity`
|
|
@@ -97,11 +108,11 @@ Identities also maintain a **public discovery area** at `public/profile.json`. T
|
|
|
97
108
|
|
|
98
109
|
`readIdentityMetadata(storage, identityId, [privateKey])` is the unified metadata reader.
|
|
99
110
|
If `privateKey` is provided, it returns the full sealed profile.
|
|
100
|
-
If `privateKey` is missing, it returns the public discovery profile (
|
|
111
|
+
If `privateKey` is missing, it returns the public discovery profile (`IdentityPublicProfile`).
|
|
101
112
|
|
|
102
|
-
`listIdentities(storage)` returns
|
|
113
|
+
`listIdentities(storage)` returns `Promise<IdentityPublicProfile[]>`. These profiles are automatically verified for signature integrity.
|
|
103
114
|
|
|
104
|
-
`listVaults(storage)` returns
|
|
115
|
+
`listVaults(storage)` returns `Promise<Array<{ vaultId: string; public: VaultPublicMetadata }>>`. These summaries are pulled from the public signed profiles and verified.
|
|
105
116
|
|
|
106
117
|
Typical relationship lookup flow when you already have a private key:
|
|
107
118
|
|
package/docs/es/README.md
CHANGED
|
@@ -44,9 +44,7 @@ Ruta principal recomendada para vault persistente:
|
|
|
44
44
|
- crear el vault persistente con `createVault(...)` (soporta `publicMetadata` para el descubrimiento de información pública)
|
|
45
45
|
- recuperar el vault persistente con `recoverVault(...)` usando la identidad del owner
|
|
46
46
|
- Capas de almacenamiento divididas: `vaults/` (Bóvedas con nombre) e `identities/` (Espacio de identidad personal)
|
|
47
|
-
-
|
|
48
|
-
- El área pública (`public/`) utiliza el modelo **“Lectura Anónima, Escritura del Propietario”**.
|
|
49
|
-
- Todos los metadatos públicos (como el apodo) incluyen una **firma digital**, la cual el SDK verifica automáticamente para prevenir manipulaciones anónimas.
|
|
47
|
+
- Todos los metadatos públicos (como el apodo) ahora siguen la interfaz `VaultPublicMetadata` e incluyen una **firma digital**, la cual el SDK verifica automáticamente.
|
|
50
48
|
|
|
51
49
|
La API antigua centrada en `CbioIdentity` ya no es la superficie principal del producto.
|
|
52
50
|
|
package/docs/fr/README.md
CHANGED
|
@@ -44,6 +44,8 @@ Chemin principal recommande pour un vault persistant :
|
|
|
44
44
|
- créer le coffre persistant avec `createVault(...)` (prend en charge `publicMetadata` pour la découverte d'informations publiques)
|
|
45
45
|
- restaurer le coffre persistant avec `recoverVault(...)` via l'identité de l'owner
|
|
46
46
|
- Couches de stockage divisées : `vaults/` (Coffres nommés) et `identities/` (Espace d'identité personnel)
|
|
47
|
+
- **Découverte Vérifiable (Verifiable Discovery)** :
|
|
48
|
+
- Toutes les métadonnées publiques (comme le pseudo) suivent désormais l'interface `VaultPublicMetadata` et incluent une **signature numérique** que le SDK vérifie automatiquement.
|
|
47
49
|
|
|
48
50
|
L'ancienne API centree sur `CbioIdentity` n'est plus la surface principale du produit.
|
|
49
51
|
|
package/docs/ja/README.md
CHANGED
|
@@ -44,9 +44,7 @@ import {
|
|
|
44
44
|
- `createVault(...)` で persistent vault を作成する (`publicMetadata` による公開情報のディスカバリをサポート)
|
|
45
45
|
- `recoverVault(...)` で owner identity を使って persistent vault を復旧する
|
|
46
46
|
- 分離されたストレージ層: `vaults/` (具名 Vault) と `identities/` (個人 ID スペース)
|
|
47
|
-
-
|
|
48
|
-
- 公開エリア (`public/`) は **「匿名読み取り、所有者書き込み」** モデルを採用しています。
|
|
49
|
-
- ニックネームなどのすべての公開メタデータには **電子署名** が付与されており、SDK がその正当性を自動的に検証することで、匿名による改ざんを防止します。
|
|
47
|
+
- ニックネームなどのすべての公開メタデータは `VaultPublicMetadata` インターフェースに従い、**電子署名** が付与されています。SDK がその正当性を自動的に検証します。
|
|
50
48
|
|
|
51
49
|
旧 `CbioIdentity` 中心 API は、もはや主要な公開面ではありません。
|
|
52
50
|
|
package/docs/ko/README.md
CHANGED
|
@@ -44,9 +44,7 @@ import {
|
|
|
44
44
|
- `createVault(...)` 로 persistent vault 를 생성합니다 (`publicMetadata` 를 통한 공개 정보 검색 지원)
|
|
45
45
|
- `recoverVault(...)` 로 owner identity 를 사용해 persistent vault 를 복구합니다
|
|
46
46
|
- 분리된 스토리지 계층: `vaults/` (기명 Vault) 및 `identities/` (개인 ID 공간)
|
|
47
|
-
-
|
|
48
|
-
- 공개 영역 (`public/`)은 **"익명 읽기, 소유자 쓰기"** 모델을 채택하고 있습니다.
|
|
49
|
-
- 닉네임과 같은 모든 공개 메타데이터에는 **디지털 서명**이 포함되어 있으며, SDK가 그 정당성을 자동으로 검증하여 익명에 의한 변조를 방지합니다.
|
|
47
|
+
- 닉네임과 같은 모든 공개 메타데이터는 `VaultPublicMetadata` 인터페이스를 따르며, **디지털 서명**이 포함되어 있어 SDK가 그 정당성을 자동으로 검증합니다.
|
|
50
48
|
|
|
51
49
|
이전 `CbioIdentity` 중심 API 는 더 이상 주요 제품 표면이 아닙니다.
|
|
52
50
|
|
package/docs/pt/README.md
CHANGED
|
@@ -44,9 +44,7 @@ Caminho principal recomendado para vault persistente:
|
|
|
44
44
|
- criar o cofre persistente com `createVault(...)` (suporta `publicMetadata` para a descoberta de informações públicas)
|
|
45
45
|
- recuperar o cofre persistente com `recoverVault(...)` usando a identidade do owner
|
|
46
46
|
- Camadas de armazenamento divididas: `vaults/` (Cofres nomeados) e `identities/` (Espaço de identidade pessoal)
|
|
47
|
-
-
|
|
48
|
-
- A área pública (`public/`) utiliza o modelo **“Leitura Anônima, Escrita do Proprietário”**.
|
|
49
|
-
- Todos os metadados públicos (como o apelido) incluem uma **assinatura digital**, que o SDK verifica automaticamente para evitar adulterações anônimas.
|
|
47
|
+
- Todos os metadados públicos (como o apelido) agora seguem a interface `VaultPublicMetadata` e incluem uma **assinatura digital**, que o SDK verifica automaticamente.
|
|
50
48
|
|
|
51
49
|
A antiga API centrada em `CbioIdentity` nao e mais a superficie principal do produto.
|
|
52
50
|
|
package/docs/zh/README.md
CHANGED
|
@@ -45,9 +45,7 @@ import {
|
|
|
45
45
|
- 通过 `createVault(...)` 创建持久化 vault (支持 `publicMetadata` 用于公开发现)
|
|
46
46
|
- 通过 `recoverVault(...)` 用 owner 身份恢复持久化 vault
|
|
47
47
|
- 分区存储:`vaults/` (具名保险箱) 与 `identities/` (身份私有空间)
|
|
48
|
-
-
|
|
49
|
-
- 公开区 (`public/`) 采用 **“匿名读、所有者写”** 模式。
|
|
50
|
-
- 所有公开元数据(如昵称)均附带**数字签名**,SDK 会自动验证其真实性,防止匿名篡改。
|
|
48
|
+
- 所有公开元数据(如昵称)现在遵循 `VaultPublicMetadata` 接口,并附带**数字签名**。SDK 自动验证其真实性。
|
|
51
49
|
|
|
52
50
|
## 构建
|
|
53
51
|
|
package/package.json
CHANGED