@the-ai-company/cbio-node-runtime 0.33.0 → 1.0.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 +138 -9
- package/dist/clients/agent/client.d.ts +9 -0
- package/dist/clients/agent/client.js +72 -0
- package/dist/clients/agent/client.js.map +1 -0
- package/dist/clients/agent/contracts.d.ts +34 -0
- package/dist/clients/agent/contracts.js +2 -0
- package/dist/clients/agent/contracts.js.map +1 -0
- package/dist/clients/agent/index.d.ts +3 -0
- package/dist/clients/agent/index.js +2 -0
- package/dist/clients/agent/index.js.map +1 -0
- package/dist/clients/owner/client.d.ts +18 -0
- package/dist/clients/owner/client.js +169 -0
- package/dist/clients/owner/client.js.map +1 -0
- package/dist/clients/owner/contracts.d.ts +34 -0
- package/dist/clients/owner/contracts.js +2 -0
- package/dist/clients/owner/contracts.js.map +1 -0
- package/dist/clients/owner/index.d.ts +3 -0
- package/dist/clients/owner/index.js +2 -0
- package/dist/clients/owner/index.js.map +1 -0
- package/dist/errors.d.ts +2 -1
- package/dist/errors.js +1 -0
- package/dist/errors.js.map +1 -1
- package/dist/runtime/index.d.ts +8 -8
- package/dist/runtime/index.js +8 -5
- package/dist/runtime/index.js.map +1 -1
- package/dist/storage/fs.d.ts +1 -0
- package/dist/storage/fs.js +28 -0
- package/dist/storage/fs.js.map +1 -1
- package/dist/storage/memory.d.ts +1 -0
- package/dist/storage/memory.js +20 -0
- package/dist/storage/memory.js.map +1 -1
- package/dist/storage/provider.d.ts +2 -0
- package/dist/vault-core/contracts.d.ts +230 -0
- package/dist/vault-core/contracts.js +2 -0
- package/dist/vault-core/contracts.js.map +1 -0
- package/dist/vault-core/core.d.ts +21 -0
- package/dist/vault-core/core.js +335 -0
- package/dist/vault-core/core.js.map +1 -0
- package/dist/vault-core/defaults.d.ts +141 -0
- package/dist/vault-core/defaults.js +602 -0
- package/dist/vault-core/defaults.js.map +1 -0
- package/dist/vault-core/errors.d.ts +4 -0
- package/dist/vault-core/errors.js +9 -0
- package/dist/vault-core/errors.js.map +1 -0
- package/dist/vault-core/index.d.ts +6 -0
- package/dist/vault-core/index.js +5 -0
- package/dist/vault-core/index.js.map +1 -0
- package/dist/vault-core/persistence.d.ts +87 -0
- package/dist/vault-core/persistence.js +309 -0
- package/dist/vault-core/persistence.js.map +1 -0
- package/dist/vault-core/ports.d.ts +101 -0
- package/dist/vault-core/ports.js +2 -0
- package/dist/vault-core/ports.js.map +1 -0
- package/dist/vault-ingress/defaults.d.ts +14 -0
- package/dist/vault-ingress/defaults.js +41 -0
- package/dist/vault-ingress/defaults.js.map +1 -0
- package/dist/vault-ingress/flow-factories.d.ts +24 -0
- package/dist/vault-ingress/flow-factories.js +48 -0
- package/dist/vault-ingress/flow-factories.js.map +1 -0
- package/dist/vault-ingress/index.d.ts +81 -0
- package/dist/vault-ingress/index.js +357 -0
- package/dist/vault-ingress/index.js.map +1 -0
- package/docs/ARCHITECTURE.md +44 -76
- package/docs/REFERENCE.md +239 -133
- package/docs/WORKS_WITH_CUSTOM_FETCH.md +16 -191
- package/docs/es/README.md +8 -24
- package/docs/fr/README.md +8 -24
- package/docs/ja/README.md +8 -24
- package/docs/ko/README.md +8 -24
- package/docs/pt/README.md +8 -24
- package/docs/zh/README.md +21 -7
- package/package.json +2 -10
- package/dist/agent/agent.d.ts +0 -234
- package/dist/agent/agent.js +0 -565
- package/dist/agent/agent.js.map +0 -1
- package/dist/audit/ActivityLog.d.ts +0 -25
- package/dist/audit/ActivityLog.js +0 -66
- package/dist/audit/ActivityLog.js.map +0 -1
- package/dist/http/authClient.d.ts +0 -26
- package/dist/http/authClient.js +0 -132
- package/dist/http/authClient.js.map +0 -1
- package/dist/http/localAuthProxy.d.ts +0 -33
- package/dist/http/localAuthProxy.js +0 -93
- package/dist/http/localAuthProxy.js.map +0 -1
- package/dist/http/secretAcquisition.d.ts +0 -54
- package/dist/http/secretAcquisition.js +0 -177
- package/dist/http/secretAcquisition.js.map +0 -1
- package/dist/protocol/childSecretNaming.d.ts +0 -7
- package/dist/protocol/childSecretNaming.js +0 -12
- package/dist/protocol/childSecretNaming.js.map +0 -1
- package/dist/protocol/identity.d.ts +0 -8
- package/dist/protocol/identity.js +0 -16
- package/dist/protocol/identity.js.map +0 -1
- package/dist/sealed/index.d.ts +0 -6
- package/dist/sealed/index.js +0 -6
- package/dist/sealed/index.js.map +0 -1
- package/dist/vault/secretPolicy.d.ts +0 -3
- package/dist/vault/secretPolicy.js +0 -14
- package/dist/vault/secretPolicy.js.map +0 -1
- package/dist/vault/vault.d.ts +0 -91
- package/dist/vault/vault.js +0 -534
- package/dist/vault/vault.js.map +0 -1
- package/docs/TODO-multi-vault.md +0 -29
- package/docs/spec/runtime/README.md +0 -27
- package/docs/spec/runtime/activity-log.md +0 -67
- package/docs/spec/runtime/managed-agent-record.md +0 -52
- package/docs/spec/runtime/merge-rules.md +0 -52
- package/docs/spec/runtime/secret-origin-policy.md +0 -46
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claw-biometric Core Identity. Runtime utilities over protocol primitives.
|
|
3
|
-
* getVaultPath (runtime). Re-exports protocol for consumers.
|
|
4
|
-
*/
|
|
5
|
-
import * as os from 'node:os';
|
|
6
|
-
import * as path from 'node:path';
|
|
7
|
-
import * as crypto from 'node:crypto';
|
|
8
|
-
import { deriveRootAgentId } from '@the-ai-company/cbio-protocol';
|
|
9
|
-
import { getChildIdentitySecretName, CHILD_KEY_PREFIX } from './childSecretNaming.js';
|
|
10
|
-
export { deriveRootAgentId, getChildIdentitySecretName, CHILD_KEY_PREFIX };
|
|
11
|
-
export function getVaultPath(publicKey) {
|
|
12
|
-
const hash = crypto.createHash('sha256').update(publicKey).digest('hex').substring(0, 12);
|
|
13
|
-
const baseDir = process.env.C_BIO_VAULT_DIR || path.join(os.homedir(), '.c-bio');
|
|
14
|
-
return path.join(baseDir, `vault_${hash}.enc`);
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/protocol/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,CAAC;AAE3E,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/sealed/index.d.ts
DELETED
package/dist/sealed/index.js
DELETED
package/dist/sealed/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sealed/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export function isLoopbackHost(hostname) {
|
|
2
|
-
return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';
|
|
3
|
-
}
|
|
4
|
-
export function isAllowedSecretUrl(url) {
|
|
5
|
-
return url.protocol === 'https:' || (url.protocol === 'http:' && isLoopbackHost(url.hostname));
|
|
6
|
-
}
|
|
7
|
-
export function normalizeSecretPolicyOrigin(origin) {
|
|
8
|
-
const url = new URL(origin);
|
|
9
|
-
if (!isAllowedSecretUrl(url)) {
|
|
10
|
-
throw new Error(`Secret policy requires HTTPS origin or loopback HTTP for local development. Received: ${origin}`);
|
|
11
|
-
}
|
|
12
|
-
return url.origin;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=secretPolicy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"secretPolicy.js","sourceRoot":"","sources":["../../src/vault/secretPolicy.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC3C,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,KAAK,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACvC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yFAAyF,MAAM,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACtB,CAAC"}
|
package/dist/vault/vault.d.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Signer } from '../protocol/crypto.js';
|
|
2
|
-
import type { IStorageProvider } from '../storage/provider.js';
|
|
3
|
-
import { type ActivityLogEntry, type ActivityLogMetadata } from '../audit/ActivityLog.js';
|
|
4
|
-
export interface SecretPolicy {
|
|
5
|
-
allowedOrigins?: string[];
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* CbioVault
|
|
9
|
-
*
|
|
10
|
-
* A secure container for third-party API keys and secrets.
|
|
11
|
-
* Secrets are stored in a private field (#) and are inaccessible
|
|
12
|
-
* to the outside Agent logic. Vault stores ONLY secrets (encrypted).
|
|
13
|
-
*/
|
|
14
|
-
export declare class CbioVault {
|
|
15
|
-
#private;
|
|
16
|
-
private static readonly PERSIST_SALT;
|
|
17
|
-
private static readonly VERSIONED_SECRET_PREFIX;
|
|
18
|
-
/**
|
|
19
|
-
* @internal Used by Owner. Binds storage and loads vault from disk. Do not call directly.
|
|
20
|
-
*/
|
|
21
|
-
initFromStorage(signer: Signer, storageKey: string, storage?: IStorageProvider, activityLogKey?: string, activityLogKeyIsDerived?: boolean): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* @internal Used by Owner.importIdentity. Binds storage and loads vault from blob. Do not call directly.
|
|
24
|
-
*/
|
|
25
|
-
initFromBlob(signer: Signer, blob: string, storageKey: string, storage?: IStorageProvider, activityLogKey?: string, activityLogKeyIsDerived?: boolean): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Add a new secret. Fails if secretName already exists.
|
|
28
|
-
*/
|
|
29
|
-
addSecret(secretName: string, secretValue: string, options?: SecretPolicy): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Update an existing secret. Fails if secretName does not exist.
|
|
32
|
-
*/
|
|
33
|
-
updateSecret(secretName: string, secretValue: string): Promise<void>;
|
|
34
|
-
setSecretAllowedOrigins(secretName: string, allowedOrigins: readonly string[]): Promise<void>;
|
|
35
|
-
rotateSecret(secretName: string, secretValue: string, sourceOrigin: string): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Case 3: Retrieve a secret in plaintext.
|
|
38
|
-
* @internal @admin
|
|
39
|
-
* WARNING: This is an ADMIN-ONLY method. Do not use in Agent's autonomous logic.
|
|
40
|
-
*/
|
|
41
|
-
getSecret(secretName: string): string | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Case 4: Permanently delete a secret from memory and disk.
|
|
44
|
-
* @internal @admin
|
|
45
|
-
* WARNING: This is an ADMIN-ONLY method. Agent should NEVER be allowed
|
|
46
|
-
* to delete its own memory autonomously. Only Owner (Human) can call this.
|
|
47
|
-
*/
|
|
48
|
-
deleteSecret(secretName: string): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* @internal Used by AuthClient to append activity log entries.
|
|
51
|
-
*/
|
|
52
|
-
appendActivityLogEntry(entry: ActivityLogEntry): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Persistence: Atomic save with write-read-verify.
|
|
55
|
-
*/
|
|
56
|
-
save(signer: Signer, storageKey?: string, storage?: IStorageProvider): Promise<void>;
|
|
57
|
-
serializeToBlob(signer: Signer): Promise<string>;
|
|
58
|
-
/**
|
|
59
|
-
* Seal vault with external key (AES-256-GCM) for portable local storage.
|
|
60
|
-
*/
|
|
61
|
-
seal(kdk: string): string;
|
|
62
|
-
/**
|
|
63
|
-
* Unseal vault from blob encrypted with kdk.
|
|
64
|
-
*/
|
|
65
|
-
unseal(kdk: string, sealed: string): void;
|
|
66
|
-
hasSecret(secretName: string): boolean;
|
|
67
|
-
listSecretNames(): string[];
|
|
68
|
-
/**
|
|
69
|
-
* Read activity log. Owner-only. Returns [] if activity log not enabled.
|
|
70
|
-
*/
|
|
71
|
-
getActivityLog(): Promise<readonly ActivityLogEntry[]>;
|
|
72
|
-
/**
|
|
73
|
-
* Read activity log metadata (agentId, storageKey). Returns null if not present.
|
|
74
|
-
*/
|
|
75
|
-
getActivityLogMetadata(): Promise<ActivityLogMetadata | null>;
|
|
76
|
-
/**
|
|
77
|
-
* Merge secrets from another vault instance.
|
|
78
|
-
* Only allowed if both vaults belong to the same identity.
|
|
79
|
-
* @param options.onConflict 'abort' = return conflicts (default); 'skip' = merge non-conflicting only; 'overwrite' = use other's value for conflicts.
|
|
80
|
-
*/
|
|
81
|
-
mergeFrom(otherVault: CbioVault, options?: {
|
|
82
|
-
onConflict?: 'abort' | 'skip' | 'overwrite';
|
|
83
|
-
}): Promise<MergeResult>;
|
|
84
|
-
}
|
|
85
|
-
export interface MergeResult {
|
|
86
|
-
merged: boolean;
|
|
87
|
-
added: string[];
|
|
88
|
-
skipped: string[];
|
|
89
|
-
overwritten: string[];
|
|
90
|
-
conflicts?: string[];
|
|
91
|
-
}
|