@uxnan/shared 0.0.1-alpha.20260627
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 +96 -0
- package/dist/src/agents/agent-adapter.d.ts +78 -0
- package/dist/src/agents/agent-adapter.js +2 -0
- package/dist/src/agents/agent-adapter.js.map +1 -0
- package/dist/src/agents/agent-capabilities.d.ts +106 -0
- package/dist/src/agents/agent-capabilities.js +7 -0
- package/dist/src/agents/agent-capabilities.js.map +1 -0
- package/dist/src/agents/agent-config.d.ts +17 -0
- package/dist/src/agents/agent-config.js +2 -0
- package/dist/src/agents/agent-config.js.map +1 -0
- package/dist/src/constants.d.ts +30 -0
- package/dist/src/constants.js +31 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/e2ee/envelope.d.ts +17 -0
- package/dist/src/e2ee/envelope.js +7 -0
- package/dist/src/e2ee/envelope.js.map +1 -0
- package/dist/src/e2ee/handshake.d.ts +82 -0
- package/dist/src/e2ee/handshake.js +14 -0
- package/dist/src/e2ee/handshake.js.map +1 -0
- package/dist/src/e2ee/pairing-payload.d.ts +44 -0
- package/dist/src/e2ee/pairing-payload.js +82 -0
- package/dist/src/e2ee/pairing-payload.js.map +1 -0
- package/dist/src/index.d.ts +25 -0
- package/dist/src/index.js +32 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/jsonrpc/envelope.d.ts +39 -0
- package/dist/src/jsonrpc/envelope.js +36 -0
- package/dist/src/jsonrpc/envelope.js.map +1 -0
- package/dist/src/jsonrpc/errors.d.ts +43 -0
- package/dist/src/jsonrpc/errors.js +73 -0
- package/dist/src/jsonrpc/errors.js.map +1 -0
- package/dist/src/jsonrpc/method-registry.d.ts +7 -0
- package/dist/src/jsonrpc/method-registry.js +79 -0
- package/dist/src/jsonrpc/method-registry.js.map +1 -0
- package/dist/src/jsonrpc/methods.d.ts +526 -0
- package/dist/src/jsonrpc/methods.js +2 -0
- package/dist/src/jsonrpc/methods.js.map +1 -0
- package/dist/src/jsonrpc/notifications.d.ts +85 -0
- package/dist/src/jsonrpc/notifications.js +19 -0
- package/dist/src/jsonrpc/notifications.js.map +1 -0
- package/dist/src/models/approval.d.ts +37 -0
- package/dist/src/models/approval.js +12 -0
- package/dist/src/models/approval.js.map +1 -0
- package/dist/src/models/git.d.ts +191 -0
- package/dist/src/models/git.js +8 -0
- package/dist/src/models/git.js.map +1 -0
- package/dist/src/models/project.d.ts +22 -0
- package/dist/src/models/project.js +5 -0
- package/dist/src/models/project.js.map +1 -0
- package/dist/src/models/session.d.ts +28 -0
- package/dist/src/models/session.js +7 -0
- package/dist/src/models/session.js.map +1 -0
- package/dist/src/models/thread.d.ts +104 -0
- package/dist/src/models/thread.js +8 -0
- package/dist/src/models/thread.js.map +1 -0
- package/dist/src/models/workspace.d.ts +133 -0
- package/dist/src/models/workspace.js +7 -0
- package/dist/src/models/workspace.js.map +1 -0
- package/dist/src/notifications/push-payload.d.ts +23 -0
- package/dist/src/notifications/push-payload.js +7 -0
- package/dist/src/notifications/push-payload.js.map +1 -0
- package/dist/src/validators/json-schema/schemas.d.ts +13 -0
- package/dist/src/validators/json-schema/schemas.js +82 -0
- package/dist/src/validators/json-schema/schemas.js.map +1 -0
- package/dist/src/validators/validate.d.ts +20 -0
- package/dist/src/validators/validate.js +46 -0
- package/dist/src/validators/validate.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/validators/json-schema/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { JsonRpcRequest, JsonRpcResponse } from '../jsonrpc/envelope.js';
|
|
2
|
+
import type { SecureEnvelope } from '../e2ee/envelope.js';
|
|
3
|
+
import type { PairingPayload } from '../e2ee/pairing-payload.js';
|
|
4
|
+
import type { PushNotifyRequest } from '../notifications/push-payload.js';
|
|
5
|
+
export interface ValidationError {
|
|
6
|
+
path: string;
|
|
7
|
+
message: string;
|
|
8
|
+
}
|
|
9
|
+
export type ValidationResult<T> = {
|
|
10
|
+
valid: true;
|
|
11
|
+
data: T;
|
|
12
|
+
} | {
|
|
13
|
+
valid: false;
|
|
14
|
+
errors: ValidationError[];
|
|
15
|
+
};
|
|
16
|
+
export declare function validateJsonRpcRequest(data: unknown): ValidationResult<JsonRpcRequest>;
|
|
17
|
+
export declare function validateJsonRpcResponse(data: unknown): ValidationResult<JsonRpcResponse>;
|
|
18
|
+
export declare function validateE2EEnvelope(data: unknown): ValidationResult<SecureEnvelope>;
|
|
19
|
+
export declare function validatePairingPayloadSchema(data: unknown): ValidationResult<PairingPayload>;
|
|
20
|
+
export declare function validatePushPayload(data: unknown): ValidationResult<PushNotifyRequest>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime validators built on Ajv. Schemas are compiled once at module load.
|
|
3
|
+
*
|
|
4
|
+
* Each validator returns a discriminated {@link ValidationResult} so callers can
|
|
5
|
+
* narrow to the typed value or inspect the errors.
|
|
6
|
+
*
|
|
7
|
+
* Source: architecture/02e-bridge-integration.md §4.3.
|
|
8
|
+
*/
|
|
9
|
+
import AjvModule from 'ajv';
|
|
10
|
+
// ajv v8 is a CommonJS package. Under `moduleResolution: nodenext` the default
|
|
11
|
+
// import's static type is not seen as constructable even though, at runtime, the
|
|
12
|
+
// default export IS the Ajv class. Re-type it to the actual constructor.
|
|
13
|
+
const Ajv = AjvModule;
|
|
14
|
+
import { e2eeEnvelopeSchema, jsonRpcRequestSchema, jsonRpcResponseSchema, pairingPayloadSchema, pushPayloadSchema, } from './json-schema/schemas.js';
|
|
15
|
+
const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });
|
|
16
|
+
const validateRequestFn = ajv.compile(jsonRpcRequestSchema);
|
|
17
|
+
const validateResponseFn = ajv.compile(jsonRpcResponseSchema);
|
|
18
|
+
const validateEnvelopeFn = ajv.compile(e2eeEnvelopeSchema);
|
|
19
|
+
const validatePairingFn = ajv.compile(pairingPayloadSchema);
|
|
20
|
+
const validatePushFn = ajv.compile(pushPayloadSchema);
|
|
21
|
+
function run(fn, data) {
|
|
22
|
+
if (fn(data)) {
|
|
23
|
+
return { valid: true, data: data };
|
|
24
|
+
}
|
|
25
|
+
const errors = (fn.errors ?? []).map((e) => ({
|
|
26
|
+
path: e.instancePath || '/',
|
|
27
|
+
message: e.message ?? 'invalid',
|
|
28
|
+
}));
|
|
29
|
+
return { valid: false, errors };
|
|
30
|
+
}
|
|
31
|
+
export function validateJsonRpcRequest(data) {
|
|
32
|
+
return run(validateRequestFn, data);
|
|
33
|
+
}
|
|
34
|
+
export function validateJsonRpcResponse(data) {
|
|
35
|
+
return run(validateResponseFn, data);
|
|
36
|
+
}
|
|
37
|
+
export function validateE2EEnvelope(data) {
|
|
38
|
+
return run(validateEnvelopeFn, data);
|
|
39
|
+
}
|
|
40
|
+
export function validatePairingPayloadSchema(data) {
|
|
41
|
+
return run(validatePairingFn, data);
|
|
42
|
+
}
|
|
43
|
+
export function validatePushPayload(data) {
|
|
44
|
+
return run(validatePushFn, data);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/validators/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,SAAS,MAAM,KAAK,CAAC;AAG5B,+EAA+E;AAC/E,iFAAiF;AACjF,yEAAyE;AACzE,MAAM,GAAG,GAAG,SAAoD,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAelC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhE,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC9D,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3D,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEtD,SAAS,GAAG,CAAI,EAAoB,EAAE,IAAa;IACjD,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAS,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAsB,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,YAAY,IAAI,GAAG;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;KAChC,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAClD,OAAO,GAAG,CAAiB,iBAAiB,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAa;IACnD,OAAO,GAAG,CAAkB,kBAAkB,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,OAAO,GAAG,CAAiB,kBAAkB,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,OAAO,GAAG,CAAiB,iBAAiB,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,OAAO,GAAG,CAAoB,cAAc,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uxnan/shared",
|
|
3
|
+
"version": "0.0.1-alpha.20260627",
|
|
4
|
+
"description": "Shared JSON-RPC and E2EE contracts for the Uxnan ecosystem (bridge, relay, mobile).",
|
|
5
|
+
"license": "MPL-2.0",
|
|
6
|
+
"author": "Luis Donaldo Gamas Vazquez",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/src/index.js",
|
|
9
|
+
"types": "./dist/src/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/src/index.d.ts",
|
|
13
|
+
"default": "./dist/src/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist/src"
|
|
18
|
+
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/luisgamas/uxnan.git",
|
|
25
|
+
"directory": "shared"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"typecheck": "tsc --noEmit",
|
|
30
|
+
"test": "tsc && node --test \"dist/test/**/*.test.js\"",
|
|
31
|
+
"prepublishOnly": "tsc"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"ajv": "^8.17.1"
|
|
35
|
+
}
|
|
36
|
+
}
|