aquaman-proxy 0.16.0 → 0.17.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.
@@ -122,6 +122,15 @@ export interface BrokerConfig {
122
122
  /** Extra `aquaman://service/key` refs callers may materialize. Manage with `aquaman broker allow|revoke`. */
123
123
  allowedRefs?: string[];
124
124
  }
125
+ /** NVIDIA OpenShell integration (v0.17.0+). */
126
+ export interface OpenShellConfig {
127
+ driver: {
128
+ /** Serve the external credential driver from `aquaman daemon`. Default false; `aquaman openshell setup` turns it on. */
129
+ enabled: boolean;
130
+ /** Unix socket the OpenShell gateway dials. Default `<configDir>/openshell.sock`. */
131
+ socketPath?: string;
132
+ };
133
+ }
125
134
  export interface WrapperConfig {
126
135
  credentials: CredentialsConfig;
127
136
  audit: AuditConfig;
@@ -130,6 +139,7 @@ export interface WrapperConfig {
130
139
  loopback?: LoopbackConfig;
131
140
  hermes?: HermesConfig;
132
141
  broker?: BrokerConfig;
142
+ openshell?: OpenShellConfig;
133
143
  policy?: Record<string, {
134
144
  defaultAction: 'allow' | 'deny';
135
145
  rules: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,gEAAgE;AAChE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAC/C,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAQ7D;AAED;;;;GAIG;AACH,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAE/C,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAO5D;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CA+BhD;AAED,wBAAgB,UAAU,IAAI,aAAa,CAmB1C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAwFtE;AA2CD,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAUtD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,gEAAgE;AAChE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAC/C,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAQ7D;AAED;;;;GAIG;AACH,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAE/C,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAO5D;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CA+BhD;AAED,wBAAgB,UAAU,IAAI,aAAa,CAmB1C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CA8FtE;AA8CD,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAUtD"}
@@ -203,6 +203,11 @@ export function applyEnvOverrides(config) {
203
203
  config.broker = config.broker ?? { enabled: true, allowedRefs: [] };
204
204
  config.broker.enabled = env['AQUAMAN_BROKER_ENABLED'] !== 'false';
205
205
  }
206
+ // OpenShell credential driver switch (v0.17.0+). Off unless 'true'.
207
+ if (env['AQUAMAN_OPENSHELL_DRIVER']) {
208
+ config.openshell = config.openshell ?? { driver: { enabled: false } };
209
+ config.openshell.driver.enabled = env['AQUAMAN_OPENSHELL_DRIVER'] === 'true';
210
+ }
206
211
  return config;
207
212
  }
208
213
  function mergeConfig(base, override) {
@@ -238,7 +243,10 @@ function mergeConfig(base, override) {
238
243
  broker: override.broker !== undefined
239
244
  ? { ...base.broker, ...override.broker }
240
245
  : base.broker,
241
- policy: override.policy !== undefined ? { ...base.policy, ...override.policy } : base.policy
246
+ policy: override.policy !== undefined ? { ...base.policy, ...override.policy } : base.policy,
247
+ openshell: override.openshell !== undefined
248
+ ? { driver: { ...(base.openshell?.driver ?? { enabled: false }), ...override.openshell?.driver } }
249
+ : base.openshell
242
250
  };
243
251
  }
244
252
  export function ensureConfigDir() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/utils/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * OpenShell external credential driver (v0.17.0): the transport-free core.
3
+ *
4
+ * NVIDIA OpenShell keeps provider credentials behind opaque handles owned by a
5
+ * credential driver (`credential_driver.proto`, extension protocol 1.0). The
6
+ * gateway calls Store when a provider is created, Resolve when a sandbox
7
+ * starts, and Delete when a provider is removed. Its supervisor injects the
8
+ * resolved value at egress while the sandbox sees only a placeholder, so
9
+ * OpenShell does the isolation; aquaman supplies the value from the user's
10
+ * vault, scopes it and audits it.
11
+ *
12
+ * Two modes, chosen by the value the gateway submits:
13
+ * - reference: the value is an `aquaman://service/key` ref
14
+ * (`openshell provider create --credential KEY=aquaman://svc/key`). It must
15
+ * be declared (same scope as the broker) and present in the vault. Nothing
16
+ * is stored; the ref itself is the handle. Delete is a no-op, so removing a
17
+ * provider never deletes the user's own vault item.
18
+ * - copy: any other value is written to the vault under the gateway-owned
19
+ * `openshell` service, keyed by OpenShell's object id and credential key.
20
+ *
21
+ * The meaning of a handle comes from its namespace, never from the metadata
22
+ * the gateway echoes back: `aquaman://openshell/...` is a gateway-owned copy,
23
+ * anything else is a reference and is re-checked against the scope on every
24
+ * Resolve (a revoked declaration stops resolving). Otherwise a caller could
25
+ * label `aquaman://github/token` as a copy to skip the scope.
26
+ *
27
+ * Verified against OpenShell 0.1.2 (2026-10-02): the gateway authenticates
28
+ * nothing on the socket (only a user-agent header), so the socket's 0600 mode
29
+ * is the boundary; it does not validate the submitted value's format; it
30
+ * resolves about once per sandbox start, not per request; it never calls
31
+ * ListCredentials.
32
+ */
33
+ import type { CredentialStore } from '../core/credentials/store.js';
34
+ import { type BrokerScope } from '../broker-scope.js';
35
+ export declare const OPENSHELL_PROTOCOL: {
36
+ readonly major: 1;
37
+ readonly minor: 0;
38
+ };
39
+ export declare const CREDENTIALS_CONTRACT = "openshell.credentials.contract";
40
+ /** Vault service that holds gateway-submitted copies. */
41
+ export declare const COPY_SERVICE = "openshell";
42
+ export declare const DRIVER_NAME = "aquaman";
43
+ export type DriverErrorCode = 'invalid_argument' | 'not_found' | 'failed_precondition' | 'internal';
44
+ /** A refusal or failure carried back to the gateway (mapped to a gRPC status by the transport). */
45
+ export declare class DriverError extends Error {
46
+ readonly code: DriverErrorCode;
47
+ constructor(code: DriverErrorCode, message: string);
48
+ }
49
+ export interface PeerMetadata {
50
+ protocol_version?: {
51
+ major?: number;
52
+ minor?: number;
53
+ };
54
+ implementation_name?: string;
55
+ implementation_version?: string;
56
+ supported_capabilities?: string[];
57
+ required_capabilities?: string[];
58
+ }
59
+ export interface CredentialHandle {
60
+ driver?: string;
61
+ handle?: string;
62
+ metadata?: Record<string, string>;
63
+ }
64
+ export interface StoreRequest {
65
+ provider?: string;
66
+ credential_key?: string;
67
+ value?: string;
68
+ workspace?: string;
69
+ provider_id?: string;
70
+ object_id?: string;
71
+ }
72
+ export interface ResolveRequest {
73
+ request_id?: string;
74
+ provider?: string;
75
+ credential_key?: string;
76
+ handle?: CredentialHandle | null;
77
+ }
78
+ export interface DeleteRequest {
79
+ provider?: string;
80
+ credential_key?: string;
81
+ handle?: CredentialHandle | null;
82
+ }
83
+ /** One driver operation, for the audit log. Never carries a credential value. */
84
+ export interface DriverAccessEvent {
85
+ op: 'store' | 'resolve' | 'delete';
86
+ mode: 'reference' | 'copy';
87
+ ref: string;
88
+ service: string;
89
+ provider: string;
90
+ success: boolean;
91
+ error?: string;
92
+ }
93
+ export interface OpenShellDriverOptions {
94
+ store: CredentialStore;
95
+ /** Declared-ref scope shared with the broker. Absent means the broker is off: references are refused. */
96
+ scope?: BrokerScope;
97
+ version: string;
98
+ onAccess?: (event: DriverAccessEvent) => void;
99
+ }
100
+ export interface OpenShellDriverCore {
101
+ getCapabilities(gateway: PeerMetadata | null | undefined): Record<string, unknown>;
102
+ store(req: StoreRequest): Promise<{
103
+ handle: CredentialHandle;
104
+ }>;
105
+ resolve(reqs: ResolveRequest[]): Promise<{
106
+ request_id: string;
107
+ value: string;
108
+ }[]>;
109
+ delete(req: DeleteRequest): Promise<void>;
110
+ list(): {
111
+ handle: string;
112
+ keys: string[];
113
+ metadata: Record<string, string>;
114
+ }[];
115
+ }
116
+ export declare function createOpenShellDriverCore(opts: OpenShellDriverOptions): OpenShellDriverCore;
117
+ //# sourceMappingURL=credential-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-driver.d.ts","sourceRoot":"","sources":["../../src/openshell/credential-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * OpenShell external credential driver (v0.17.0): the transport-free core.
3
+ *
4
+ * NVIDIA OpenShell keeps provider credentials behind opaque handles owned by a
5
+ * credential driver (`credential_driver.proto`, extension protocol 1.0). The
6
+ * gateway calls Store when a provider is created, Resolve when a sandbox
7
+ * starts, and Delete when a provider is removed. Its supervisor injects the
8
+ * resolved value at egress while the sandbox sees only a placeholder, so
9
+ * OpenShell does the isolation; aquaman supplies the value from the user's
10
+ * vault, scopes it and audits it.
11
+ *
12
+ * Two modes, chosen by the value the gateway submits:
13
+ * - reference: the value is an `aquaman://service/key` ref
14
+ * (`openshell provider create --credential KEY=aquaman://svc/key`). It must
15
+ * be declared (same scope as the broker) and present in the vault. Nothing
16
+ * is stored; the ref itself is the handle. Delete is a no-op, so removing a
17
+ * provider never deletes the user's own vault item.
18
+ * - copy: any other value is written to the vault under the gateway-owned
19
+ * `openshell` service, keyed by OpenShell's object id and credential key.
20
+ *
21
+ * The meaning of a handle comes from its namespace, never from the metadata
22
+ * the gateway echoes back: `aquaman://openshell/...` is a gateway-owned copy,
23
+ * anything else is a reference and is re-checked against the scope on every
24
+ * Resolve (a revoked declaration stops resolving). Otherwise a caller could
25
+ * label `aquaman://github/token` as a copy to skip the scope.
26
+ *
27
+ * Verified against OpenShell 0.1.2 (2026-10-02): the gateway authenticates
28
+ * nothing on the socket (only a user-agent header), so the socket's 0600 mode
29
+ * is the boundary; it does not validate the submitted value's format; it
30
+ * resolves about once per sandbox start, not per request; it never calls
31
+ * ListCredentials.
32
+ */
33
+ import { formatAquamanRef, parseAquamanRef } from '../broker-scope.js';
34
+ export const OPENSHELL_PROTOCOL = { major: 1, minor: 0 };
35
+ export const CREDENTIALS_CONTRACT = 'openshell.credentials.contract';
36
+ /** Vault service that holds gateway-submitted copies. */
37
+ export const COPY_SERVICE = 'openshell';
38
+ export const DRIVER_NAME = 'aquaman';
39
+ const SAFE_KEY = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
40
+ /** A refusal or failure carried back to the gateway (mapped to a gRPC status by the transport). */
41
+ export class DriverError extends Error {
42
+ code;
43
+ constructor(code, message) {
44
+ super(message);
45
+ this.code = code;
46
+ this.name = 'DriverError';
47
+ }
48
+ }
49
+ function parseHandle(handle) {
50
+ const parsed = parseAquamanRef(handle);
51
+ if (!parsed)
52
+ return null;
53
+ return { mode: parsed.service === COPY_SERVICE ? 'copy' : 'reference', ...parsed, ref: handle };
54
+ }
55
+ export function createOpenShellDriverCore(opts) {
56
+ const { store, scope, onAccess } = opts;
57
+ const emit = (e) => {
58
+ try {
59
+ onAccess?.(e);
60
+ }
61
+ catch { /* auditing must not break the driver */ }
62
+ };
63
+ const checkScope = (service, key) => {
64
+ if (!scope) {
65
+ throw new DriverError('failed_precondition', `aquaman: the broker is disabled (broker.enabled: false), so ${formatAquamanRef(service, key)} cannot be resolved. Fix: enable the broker in ~/.aquaman/config.yaml`);
66
+ }
67
+ const decision = scope.check(service, key, 'uds');
68
+ if (!decision.allowed) {
69
+ throw new DriverError('failed_precondition', `aquaman: ${decision.reason}. Fix: aquaman broker allow ${formatAquamanRef(service, key)}`);
70
+ }
71
+ };
72
+ return {
73
+ getCapabilities(gateway) {
74
+ const major = gateway?.protocol_version?.major;
75
+ if (major !== undefined && major !== OPENSHELL_PROTOCOL.major) {
76
+ throw new DriverError('failed_precondition', `aquaman: gateway speaks credential driver protocol ${major}.x, aquaman supports ${OPENSHELL_PROTOCOL.major}.${OPENSHELL_PROTOCOL.minor}`);
77
+ }
78
+ const missing = (gateway?.required_capabilities ?? []).filter((c) => c !== CREDENTIALS_CONTRACT);
79
+ if (missing.length > 0) {
80
+ throw new DriverError('failed_precondition', `aquaman: gateway requires unsupported capabilities: ${missing.join(', ')}`);
81
+ }
82
+ return {
83
+ driver_name: DRIVER_NAME,
84
+ driver_version: opts.version,
85
+ backend_kind: DRIVER_NAME,
86
+ supports_list: true,
87
+ supports_expires_at: false,
88
+ extension: {
89
+ protocol_version: { ...OPENSHELL_PROTOCOL },
90
+ implementation_name: 'aquaman/openshell',
91
+ implementation_version: opts.version,
92
+ supported_capabilities: [CREDENTIALS_CONTRACT],
93
+ required_capabilities: [CREDENTIALS_CONTRACT],
94
+ },
95
+ };
96
+ },
97
+ async store(req) {
98
+ const provider = req.provider ?? '';
99
+ const value = req.value ?? '';
100
+ if (!value)
101
+ throw new DriverError('invalid_argument', 'aquaman: empty credential value');
102
+ if (value.startsWith('aquaman://')) {
103
+ const parsed = parseAquamanRef(value);
104
+ if (!parsed || parsed.service === COPY_SERVICE) {
105
+ throw new DriverError('invalid_argument', `aquaman: ${value} is not a valid aquaman://service/key reference`);
106
+ }
107
+ try {
108
+ checkScope(parsed.service, parsed.key);
109
+ if (!(await store.exists(parsed.service, parsed.key))) {
110
+ throw new DriverError('not_found', `aquaman: ${value} is not in the vault. Fix: aquaman credentials add ${parsed.service} ${parsed.key}`);
111
+ }
112
+ }
113
+ catch (err) {
114
+ emit({ op: 'store', mode: 'reference', ref: value, service: parsed.service, provider, success: false, error: err.message });
115
+ throw err;
116
+ }
117
+ emit({ op: 'store', mode: 'reference', ref: value, service: parsed.service, provider, success: true });
118
+ return { handle: { driver: DRIVER_NAME, handle: value, metadata: { mode: 'reference' } } };
119
+ }
120
+ const owner = req.object_id || req.provider_id || '';
121
+ const key = `${owner}.${req.credential_key ?? ''}`;
122
+ if (!owner || !req.credential_key || !SAFE_KEY.test(key)) {
123
+ throw new DriverError('invalid_argument', `aquaman: cannot derive a vault key from provider id ${JSON.stringify(owner)} and credential key ${JSON.stringify(req.credential_key)}`);
124
+ }
125
+ const ref = formatAquamanRef(COPY_SERVICE, key);
126
+ try {
127
+ await store.set(COPY_SERVICE, key, value);
128
+ }
129
+ catch (err) {
130
+ emit({ op: 'store', mode: 'copy', ref, service: COPY_SERVICE, provider, success: false, error: err.message });
131
+ throw new DriverError('internal', `aquaman: vault write failed: ${err.message}`);
132
+ }
133
+ emit({ op: 'store', mode: 'copy', ref, service: COPY_SERVICE, provider, success: true });
134
+ return { handle: { driver: DRIVER_NAME, handle: ref, metadata: { mode: 'copy' } } };
135
+ },
136
+ async resolve(reqs) {
137
+ const out = [];
138
+ for (const r of reqs) {
139
+ const provider = r.provider ?? '';
140
+ const h = parseHandle(r.handle?.handle ?? '');
141
+ if (!h)
142
+ throw new DriverError('invalid_argument', `aquaman: not an aquaman handle: ${JSON.stringify(r.handle?.handle ?? '')}`);
143
+ let value;
144
+ try {
145
+ if (h.mode === 'reference')
146
+ checkScope(h.service, h.key);
147
+ value = await store.get(h.service, h.key);
148
+ if (value === null) {
149
+ throw new DriverError('not_found', `aquaman: ${h.ref} is not in the vault. Fix: aquaman credentials add ${h.service} ${h.key}`);
150
+ }
151
+ }
152
+ catch (err) {
153
+ emit({ op: 'resolve', mode: h.mode, ref: h.ref, service: h.service, provider, success: false, error: err.message });
154
+ if (err instanceof DriverError)
155
+ throw err;
156
+ throw new DriverError('internal', `aquaman: vault read failed for ${h.ref}: ${err.message}`);
157
+ }
158
+ emit({ op: 'resolve', mode: h.mode, ref: h.ref, service: h.service, provider, success: true });
159
+ out.push({ request_id: r.request_id ?? '', value });
160
+ }
161
+ return out;
162
+ },
163
+ async delete(req) {
164
+ const provider = req.provider ?? '';
165
+ const h = parseHandle(req.handle?.handle ?? '');
166
+ if (!h)
167
+ throw new DriverError('invalid_argument', `aquaman: not an aquaman handle: ${JSON.stringify(req.handle?.handle ?? '')}`);
168
+ // A reference points at the user's own vault item: removing the provider must not delete it.
169
+ if (h.mode === 'copy')
170
+ await store.delete(h.service, h.key);
171
+ emit({ op: 'delete', mode: h.mode, ref: h.ref, service: h.service, provider, success: true });
172
+ },
173
+ list() {
174
+ return (scope?.declared() ?? []).map(({ ref, source }) => {
175
+ const parsed = parseAquamanRef(ref);
176
+ return { handle: ref, keys: [parsed.key], metadata: { source, mode: 'reference' } };
177
+ });
178
+ },
179
+ };
180
+ }
181
+ //# sourceMappingURL=credential-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-driver.js","sourceRoot":"","sources":["../../src/openshell/credential-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * gRPC transport for the OpenShell credential driver. Serves
3
+ * `openshell.credentials.v1.CredentialDriver` on a Unix socket (mode 0600).
4
+ *
5
+ * `@grpc/grpc-js` and `@grpc/proto-loader` are optional peer dependencies,
6
+ * loaded only here, so installs that never enable the driver carry neither
7
+ * (the same posture as kdbxweb/argon2 for KeePassXC).
8
+ */
9
+ import { type OpenShellDriverCore } from './credential-driver.js';
10
+ export declare const GRPC_INSTALL_HINT = "npm install -g @grpc/grpc-js@^1.14 @grpc/proto-loader@^0.8";
11
+ /** Vendored protos: packages/proxy/proto/openshell, from both src/openshell and dist/openshell. */
12
+ export declare function openshellProtoDir(): string;
13
+ /** Throws with an install hint when the optional gRPC packages are missing. */
14
+ export declare function loadGrpc(): Promise<{
15
+ grpc: any;
16
+ protoLoader: any;
17
+ }>;
18
+ export interface OpenShellDriverServer {
19
+ socketPath: string;
20
+ stop(): Promise<void>;
21
+ }
22
+ export declare function startOpenShellDriverServer(core: OpenShellDriverCore, socketPath: string): Promise<OpenShellDriverServer>;
23
+ //# sourceMappingURL=grpc-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-server.d.ts","sourceRoot":"","sources":["../../src/openshell/grpc-server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,eAAO,MAAM,iBAAiB,+DAA+D,CAAC;AAE9F,mGAAmG;AACnG,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,+EAA+E;AAC/E,wBAAsB,QAAQ,IAAI,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAAC,CAQzE;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyE9H"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * gRPC transport for the OpenShell credential driver. Serves
3
+ * `openshell.credentials.v1.CredentialDriver` on a Unix socket (mode 0600).
4
+ *
5
+ * `@grpc/grpc-js` and `@grpc/proto-loader` are optional peer dependencies,
6
+ * loaded only here, so installs that never enable the driver carry neither
7
+ * (the same posture as kdbxweb/argon2 for KeePassXC).
8
+ */
9
+ import * as fs from 'node:fs';
10
+ import { fileURLToPath } from 'node:url';
11
+ import { DriverError } from './credential-driver.js';
12
+ export const GRPC_INSTALL_HINT = 'npm install -g @grpc/grpc-js@^1.14 @grpc/proto-loader@^0.8';
13
+ /** Vendored protos: packages/proxy/proto/openshell, from both src/openshell and dist/openshell. */
14
+ export function openshellProtoDir() {
15
+ return fileURLToPath(new URL('../../proto/openshell/', import.meta.url));
16
+ }
17
+ /** Throws with an install hint when the optional gRPC packages are missing. */
18
+ export async function loadGrpc() {
19
+ try {
20
+ const grpc = await import('@grpc/grpc-js');
21
+ const protoLoader = await import('@grpc/proto-loader');
22
+ return { grpc: grpc.default ?? grpc, protoLoader: protoLoader.default ?? protoLoader };
23
+ }
24
+ catch {
25
+ throw new Error(`The OpenShell credential driver needs the optional gRPC packages. Install them with: ${GRPC_INSTALL_HINT}`);
26
+ }
27
+ }
28
+ export async function startOpenShellDriverServer(core, socketPath) {
29
+ const { grpc, protoLoader } = await loadGrpc();
30
+ const definition = protoLoader.loadSync('credential_driver.proto', {
31
+ includeDirs: [openshellProtoDir()],
32
+ keepCase: true,
33
+ longs: String,
34
+ enums: String,
35
+ defaults: true,
36
+ oneofs: true,
37
+ });
38
+ const pkg = grpc.loadPackageDefinition(definition);
39
+ const STATUS = {
40
+ invalid_argument: grpc.status.INVALID_ARGUMENT,
41
+ not_found: grpc.status.NOT_FOUND,
42
+ failed_precondition: grpc.status.FAILED_PRECONDITION,
43
+ internal: grpc.status.INTERNAL,
44
+ };
45
+ const fail = (cb, err) => {
46
+ const code = err instanceof DriverError ? STATUS[err.code] : grpc.status.INTERNAL;
47
+ cb({ code, message: err instanceof Error ? err.message : String(err) });
48
+ };
49
+ const handlers = {
50
+ GetCapabilities(call, cb) {
51
+ try {
52
+ cb(null, core.getCapabilities(call.request.gateway));
53
+ }
54
+ catch (err) {
55
+ fail(cb, err);
56
+ }
57
+ },
58
+ StoreCredential(call, cb) {
59
+ core.store(call.request).then((res) => cb(null, res), (err) => fail(cb, err));
60
+ },
61
+ ResolveCredentials(call, cb) {
62
+ core.resolve(call.request.credentials ?? []).then((credentials) => cb(null, { credentials }), (err) => fail(cb, err));
63
+ },
64
+ DeleteCredential(call, cb) {
65
+ core.delete(call.request).then(() => cb(null, {}), (err) => fail(cb, err));
66
+ },
67
+ ListCredentials(_call, cb) {
68
+ try {
69
+ cb(null, { credentials: core.list() });
70
+ }
71
+ catch (err) {
72
+ fail(cb, err);
73
+ }
74
+ },
75
+ };
76
+ const server = new grpc.Server();
77
+ server.addService(pkg.openshell.credentials.v1.CredentialDriver.service, handlers);
78
+ // Never unlink something that isn't a stale socket.
79
+ try {
80
+ if (fs.lstatSync(socketPath).isSocket())
81
+ fs.unlinkSync(socketPath);
82
+ }
83
+ catch { /* absent */ }
84
+ // Create the socket 0600 from the start (no window where it is group/world
85
+ // accessible), then chmod as a fallback. process.umask() throws in worker
86
+ // threads (vitest), hence the try/catch, same as the proxy socket.
87
+ let previousUmask;
88
+ try {
89
+ previousUmask = process.umask(0o177);
90
+ }
91
+ catch { /* unsupported in workers */ }
92
+ try {
93
+ await new Promise((resolve, reject) => {
94
+ server.bindAsync(`unix://${socketPath}`, grpc.ServerCredentials.createInsecure(), (err) => {
95
+ if (err)
96
+ reject(new Error(`OpenShell driver could not bind ${socketPath}: ${err.message}`));
97
+ else
98
+ resolve();
99
+ });
100
+ });
101
+ }
102
+ finally {
103
+ if (previousUmask !== undefined) {
104
+ try {
105
+ process.umask(previousUmask);
106
+ }
107
+ catch { /* ignore */ }
108
+ }
109
+ }
110
+ fs.chmodSync(socketPath, 0o600);
111
+ return {
112
+ socketPath,
113
+ async stop() {
114
+ await new Promise((resolve) => server.tryShutdown(() => resolve()));
115
+ try {
116
+ fs.unlinkSync(socketPath);
117
+ }
118
+ catch { /* already gone */ }
119
+ },
120
+ };
121
+ }
122
+ //# sourceMappingURL=grpc-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-server.js","sourceRoot":"","sources":["../../src/openshell/grpc-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Glue between `aquaman daemon` / the CLI and the OpenShell credential driver.
3
+ */
4
+ import type { WrapperConfig } from '../core/types.js';
5
+ import type { CredentialStore } from '../core/credentials/store.js';
6
+ import type { BrokerScope } from '../broker-scope.js';
7
+ import { type DriverAccessEvent } from './credential-driver.js';
8
+ import { type OpenShellDriverServer } from './grpc-server.js';
9
+ /** macOS caps Unix socket paths at 104 bytes (Linux 108); bind fails above that. */
10
+ export declare const MAX_SOCKET_PATH = 103;
11
+ export declare function openshellDriverSocketPath(config: WrapperConfig): string;
12
+ /** True when the optional gRPC peers can be loaded. */
13
+ export declare function grpcAvailable(): Promise<boolean>;
14
+ /** The gateway TOML that points OpenShell at this driver. */
15
+ export declare function gatewayConfigSnippet(socketPath: string): string;
16
+ export interface AuditSink {
17
+ logCredentialAccess(sessionId: string, agentId: string, access: {
18
+ service: string;
19
+ operation: 'read' | 'use' | 'rotate';
20
+ success: boolean;
21
+ error?: string;
22
+ }): unknown;
23
+ }
24
+ /**
25
+ * Resolves hand a value to the gateway (`read`); copy-mode writes and deletes
26
+ * change the vault (`rotate`). Validating a reference at create time hands
27
+ * nothing out, so only its refusals are recorded.
28
+ */
29
+ export declare function auditDriverAccess(audit: AuditSink, e: DriverAccessEvent): void;
30
+ export declare function startOpenShellDriver(opts: {
31
+ config: WrapperConfig;
32
+ store: CredentialStore;
33
+ scope: BrokerScope | undefined;
34
+ audit: AuditSink;
35
+ version: string;
36
+ }): Promise<OpenShellDriverServer>;
37
+ //# sourceMappingURL=integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/openshell/integration.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAwC,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEpG,oFAAoF;AACpF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED,uDAAuD;AACvD,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAOtD;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED,MAAM,WAAW,SAAS;IACxB,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAClG,OAAO,CAAC;CACZ;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAY9E;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAYjC"}