@joe-broadhead/messaging 0.0.0-stage → 0.7.1
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 +220 -0
- package/LICENSE +21 -0
- package/NOTICE +12 -0
- package/README.md +36 -2
- package/dist/bin/messaging-mcp.js +26524 -0
- package/dist/bin/messaging-relay.js +19768 -0
- package/dist/bin/messaging.js +15465 -0
- package/dist/bin/messagingd.js +29449 -0
- package/dist/lib/core-testing.js +1 -0
- package/dist/lib/core.js +1 -0
- package/dist/lib/ipc-testing.js +1 -0
- package/dist/lib/ipc.js +1 -0
- package/dist/lib/modules/core/address.js +42 -0
- package/dist/lib/modules/core/agent/operations.js +595 -0
- package/dist/lib/modules/core/agent/present.js +244 -0
- package/dist/lib/modules/core/agent/text.js +79 -0
- package/dist/lib/modules/core/agent-tools.js +477 -0
- package/dist/lib/modules/core/b64u.js +20 -0
- package/dist/lib/modules/core/cards.js +55 -0
- package/dist/lib/modules/core/check.js +20 -0
- package/dist/lib/modules/core/consent.js +199 -0
- package/dist/lib/modules/core/contact-card.js +74 -0
- package/dist/lib/modules/core/conversation/context.js +80 -0
- package/dist/lib/modules/core/conversation/event.js +100 -0
- package/dist/lib/modules/core/conversation/ids.js +38 -0
- package/dist/lib/modules/core/conversation/link.js +35 -0
- package/dist/lib/modules/core/conversation/log.js +766 -0
- package/dist/lib/modules/core/conversation/ratchet.js +243 -0
- package/dist/lib/modules/core/conversation/seal.js +198 -0
- package/dist/lib/modules/core/delegation.js +174 -0
- package/dist/lib/modules/core/directory/device-log.js +258 -0
- package/dist/lib/modules/core/directory/epoch.js +103 -0
- package/dist/lib/modules/core/directory/handle.js +29 -0
- package/dist/lib/modules/core/directory/jelly-device.js +204 -0
- package/dist/lib/modules/core/directory/jelly-issuer.js +12 -0
- package/dist/lib/modules/core/directory/jelly-token.js +305 -0
- package/dist/lib/modules/core/directory/keys-statement.js +43 -0
- package/dist/lib/modules/core/directory/link.js +81 -0
- package/dist/lib/modules/core/directory/merkle-log.js +250 -0
- package/dist/lib/modules/core/directory/person-view.js +197 -0
- package/dist/lib/modules/core/directory/person.js +40 -0
- package/dist/lib/modules/core/directory/realm.js +59 -0
- package/dist/lib/modules/core/directory/smt.js +266 -0
- package/dist/lib/modules/core/envelope.js +320 -0
- package/dist/lib/modules/core/hash.js +5 -0
- package/dist/lib/modules/core/head.js +27 -0
- package/dist/lib/modules/core/identity.js +71 -0
- package/dist/lib/modules/core/index.js +53 -0
- package/dist/lib/modules/core/jcs.js +96 -0
- package/dist/lib/modules/core/jelly-host-double.js +35 -0
- package/dist/lib/modules/core/jelly-host.js +211 -0
- package/dist/lib/modules/core/keys.js +79 -0
- package/dist/lib/modules/core/peer-text.js +563 -0
- package/dist/lib/modules/core/realm.js +1 -0
- package/dist/lib/modules/core/roster.js +454 -0
- package/dist/lib/modules/core/schema/a2a.js +85 -0
- package/dist/lib/modules/core/schema/common.js +310 -0
- package/dist/lib/modules/core/schema/consent.js +120 -0
- package/dist/lib/modules/core/schema/conversation.js +292 -0
- package/dist/lib/modules/core/schema/delegation.js +58 -0
- package/dist/lib/modules/core/schema/directory-frames.js +270 -0
- package/dist/lib/modules/core/schema/directory.js +169 -0
- package/dist/lib/modules/core/schema/envelope.js +211 -0
- package/dist/lib/modules/core/schema/errors.js +104 -0
- package/dist/lib/modules/core/schema/index.js +16 -0
- package/dist/lib/modules/core/schema/ipc/consent.js +181 -0
- package/dist/lib/modules/core/schema/ipc/device.js +276 -0
- package/dist/lib/modules/core/schema/ipc/jelly.js +189 -0
- package/dist/lib/modules/core/schema/ipc/shapes.js +185 -0
- package/dist/lib/modules/core/schema/ipc/surfaces.js +223 -0
- package/dist/lib/modules/core/schema/ipc.js +451 -0
- package/dist/lib/modules/core/schema/jelly.js +122 -0
- package/dist/lib/modules/core/schema/realm.js +27 -0
- package/dist/lib/modules/core/schema/relay.js +112 -0
- package/dist/lib/modules/core/schema/roster.js +126 -0
- package/dist/lib/modules/core/sign.js +43 -0
- package/dist/lib/modules/core/task.js +37 -0
- package/dist/lib/modules/core/testing.js +21 -0
- package/dist/lib/modules/core/ulid.js +36 -0
- package/dist/lib/modules/core/version.js +6 -0
- package/dist/lib/modules/core/wire.js +255 -0
- package/dist/lib/modules/ipc/client.js +289 -0
- package/dist/lib/modules/ipc/framing.js +33 -0
- package/dist/lib/modules/ipc/index.js +6 -0
- package/dist/lib/modules/ipc/paths.js +102 -0
- package/dist/lib/modules/ipc/pipes.js +65 -0
- package/dist/lib/modules/ipc/rpc.js +8 -0
- package/dist/lib/modules/ipc/server.js +317 -0
- package/dist/lib/modules/ipc/testing.js +145 -0
- package/dist/lib/modules/ipc/trust.js +166 -0
- package/dist/lib/modules/ipc/windows-acl.js +275 -0
- package/dist/lib/modules/vendor/zod/index.js +7 -0
- package/dist/lib/modules/vendor/zod/v4/classic/checks.js +1 -0
- package/dist/lib/modules/vendor/zod/v4/classic/coerce.js +17 -0
- package/dist/lib/modules/vendor/zod/v4/classic/compat.js +31 -0
- package/dist/lib/modules/vendor/zod/v4/classic/deep-partial.js +13 -0
- package/dist/lib/modules/vendor/zod/v4/classic/errors.js +57 -0
- package/dist/lib/modules/vendor/zod/v4/classic/external.js +17 -0
- package/dist/lib/modules/vendor/zod/v4/classic/from-json-schema.js +881 -0
- package/dist/lib/modules/vendor/zod/v4/classic/in-out.js +36 -0
- package/dist/lib/modules/vendor/zod/v4/classic/iso.js +15 -0
- package/dist/lib/modules/vendor/zod/v4/classic/parse.js +16 -0
- package/dist/lib/modules/vendor/zod/v4/classic/schemas.js +1535 -0
- package/dist/lib/modules/vendor/zod/v4/core/api.js +1107 -0
- package/dist/lib/modules/vendor/zod/v4/core/checks.js +516 -0
- package/dist/lib/modules/vendor/zod/v4/core/compile.js +1866 -0
- package/dist/lib/modules/vendor/zod/v4/core/core.js +141 -0
- package/dist/lib/modules/vendor/zod/v4/core/doc.js +38 -0
- package/dist/lib/modules/vendor/zod/v4/core/errors.js +267 -0
- package/dist/lib/modules/vendor/zod/v4/core/index.js +19 -0
- package/dist/lib/modules/vendor/zod/v4/core/json-schema-generator.js +99 -0
- package/dist/lib/modules/vendor/zod/v4/core/json-schema-processors.js +843 -0
- package/dist/lib/modules/vendor/zod/v4/core/json-schema.js +1 -0
- package/dist/lib/modules/vendor/zod/v4/core/memoizer.js +311 -0
- package/dist/lib/modules/vendor/zod/v4/core/parse.js +175 -0
- package/dist/lib/modules/vendor/zod/v4/core/regexes.js +156 -0
- package/dist/lib/modules/vendor/zod/v4/core/registries.js +51 -0
- package/dist/lib/modules/vendor/zod/v4/core/schemas.js +2636 -0
- package/dist/lib/modules/vendor/zod/v4/core/to-json-schema.js +651 -0
- package/dist/lib/modules/vendor/zod/v4/core/util.js +873 -0
- package/dist/lib/modules/vendor/zod/v4/core/versions.js +5 -0
- package/dist/lib/modules/vendor/zod/v4/core/visit.js +169 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ar.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/az.js +110 -0
- package/dist/lib/modules/vendor/zod/v4/locales/be.js +168 -0
- package/dist/lib/modules/vendor/zod/v4/locales/bg.js +125 -0
- package/dist/lib/modules/vendor/zod/v4/locales/bn.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ca.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ckb.js +133 -0
- package/dist/lib/modules/vendor/zod/v4/locales/cs.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/da.js +120 -0
- package/dist/lib/modules/vendor/zod/v4/locales/de.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/el.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/en.js +125 -0
- package/dist/lib/modules/vendor/zod/v4/locales/eo.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/es.js +136 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fa.js +119 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fi.js +117 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fr-CA.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/fr.js +129 -0
- package/dist/lib/modules/vendor/zod/v4/locales/gu.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/he.js +221 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hi.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hr.js +126 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hu.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/hy.js +158 -0
- package/dist/lib/modules/vendor/zod/v4/locales/id.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/index.js +63 -0
- package/dist/lib/modules/vendor/zod/v4/locales/is.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/it.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ja.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ka.js +117 -0
- package/dist/lib/modules/vendor/zod/v4/locales/kh.js +5 -0
- package/dist/lib/modules/vendor/zod/v4/locales/km.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/kn.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ko.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/lt.js +207 -0
- package/dist/lib/modules/vendor/zod/v4/locales/mk.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ms.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ne.js +111 -0
- package/dist/lib/modules/vendor/zod/v4/locales/nl.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/nn.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/no.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ota.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/pl.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ps.js +119 -0
- package/dist/lib/modules/vendor/zod/v4/locales/pt-BR.js +143 -0
- package/dist/lib/modules/vendor/zod/v4/locales/pt.js +142 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ro.js +122 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ru.js +168 -0
- package/dist/lib/modules/vendor/zod/v4/locales/sk.js +116 -0
- package/dist/lib/modules/vendor/zod/v4/locales/sl.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/sv.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ta.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/tg.js +117 -0
- package/dist/lib/modules/vendor/zod/v4/locales/th.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/tk.js +107 -0
- package/dist/lib/modules/vendor/zod/v4/locales/tr.js +110 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ua.js +5 -0
- package/dist/lib/modules/vendor/zod/v4/locales/uk.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/ur.js +115 -0
- package/dist/lib/modules/vendor/zod/v4/locales/uz.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/vi.js +113 -0
- package/dist/lib/modules/vendor/zod/v4/locales/yo.js +112 -0
- package/dist/lib/modules/vendor/zod/v4/locales/zh-CN.js +114 -0
- package/dist/lib/modules/vendor/zod/v4/locales/zh-TW.js +112 -0
- package/dist/lib/testing-jelly-id.js +1219 -0
- package/dist/lib/zod.js +1 -0
- package/dist/spec/messaging-v1.md +3744 -0
- package/dist/third-party-notices.md +239 -0
- package/dist/third-party.json +88 -0
- package/dist/types/core/address.d.ts +16 -0
- package/dist/types/core/agent/operations.d.ts +129 -0
- package/dist/types/core/agent/present.d.ts +57 -0
- package/dist/types/core/agent/text.d.ts +62 -0
- package/dist/types/core/agent-tools.d.ts +966 -0
- package/dist/types/core/b64u.d.ts +6 -0
- package/dist/types/core/cards.d.ts +21 -0
- package/dist/types/core/check.d.ts +10 -0
- package/dist/types/core/consent.d.ts +132 -0
- package/dist/types/core/contact-card.d.ts +34 -0
- package/dist/types/core/conversation/context.d.ts +56 -0
- package/dist/types/core/conversation/event.d.ts +36 -0
- package/dist/types/core/conversation/ids.d.ts +18 -0
- package/dist/types/core/conversation/link.d.ts +16 -0
- package/dist/types/core/conversation/log.d.ts +142 -0
- package/dist/types/core/conversation/ratchet.d.ts +95 -0
- package/dist/types/core/conversation/seal.d.ts +47 -0
- package/dist/types/core/delegation.d.ts +71 -0
- package/dist/types/core/directory/device-log.d.ts +119 -0
- package/dist/types/core/directory/epoch.d.ts +53 -0
- package/dist/types/core/directory/handle.d.ts +11 -0
- package/dist/types/core/directory/jelly-device.d.ts +88 -0
- package/dist/types/core/directory/jelly-issuer.d.ts +8 -0
- package/dist/types/core/directory/jelly-token.d.ts +116 -0
- package/dist/types/core/directory/keys-statement.d.ts +22 -0
- package/dist/types/core/directory/link.d.ts +36 -0
- package/dist/types/core/directory/merkle-log.d.ts +40 -0
- package/dist/types/core/directory/person-view.d.ts +90 -0
- package/dist/types/core/directory/person.d.ts +8 -0
- package/dist/types/core/directory/realm.d.ts +23 -0
- package/dist/types/core/directory/smt.d.ts +52 -0
- package/dist/types/core/envelope.d.ts +68 -0
- package/dist/types/core/hash.d.ts +2 -0
- package/dist/types/core/head.d.ts +34 -0
- package/dist/types/core/identity.d.ts +35 -0
- package/dist/types/core/index.d.ts +45 -0
- package/dist/types/core/jcs.d.ts +12 -0
- package/dist/types/core/jelly-host-double.d.ts +21 -0
- package/dist/types/core/jelly-host.d.ts +86 -0
- package/dist/types/core/keys.d.ts +16 -0
- package/dist/types/core/peer-text.d.ts +87 -0
- package/dist/types/core/realm.d.ts +36 -0
- package/dist/types/core/roster.d.ts +146 -0
- package/dist/types/core/schema/a2a.d.ts +251 -0
- package/dist/types/core/schema/common.d.ts +328 -0
- package/dist/types/core/schema/consent.d.ts +140 -0
- package/dist/types/core/schema/conversation.d.ts +1657 -0
- package/dist/types/core/schema/delegation.d.ts +58 -0
- package/dist/types/core/schema/directory-frames.d.ts +1301 -0
- package/dist/types/core/schema/directory.d.ts +375 -0
- package/dist/types/core/schema/envelope.d.ts +756 -0
- package/dist/types/core/schema/errors.d.ts +142 -0
- package/dist/types/core/schema/index.d.ts +16 -0
- package/dist/types/core/schema/ipc/consent.d.ts +555 -0
- package/dist/types/core/schema/ipc/device.d.ts +735 -0
- package/dist/types/core/schema/ipc/jelly.d.ts +501 -0
- package/dist/types/core/schema/ipc/shapes.d.ts +414 -0
- package/dist/types/core/schema/ipc/surfaces.d.ts +680 -0
- package/dist/types/core/schema/ipc.d.ts +3146 -0
- package/dist/types/core/schema/jelly.d.ts +160 -0
- package/dist/types/core/schema/realm.d.ts +38 -0
- package/dist/types/core/schema/relay.d.ts +1134 -0
- package/dist/types/core/schema/roster.d.ts +347 -0
- package/dist/types/core/sign.d.ts +13 -0
- package/dist/types/core/task.d.ts +6 -0
- package/dist/types/core/testing.d.ts +19 -0
- package/dist/types/core/ulid.d.ts +5 -0
- package/dist/types/core/version.d.ts +6 -0
- package/dist/types/core/wire.d.ts +14 -0
- package/dist/types/ipc/client.d.ts +85 -0
- package/dist/types/ipc/framing.d.ts +12 -0
- package/dist/types/ipc/index.d.ts +6 -0
- package/dist/types/ipc/paths.d.ts +39 -0
- package/dist/types/ipc/pipes.d.ts +16 -0
- package/dist/types/ipc/rpc.d.ts +13 -0
- package/dist/types/ipc/server.d.ts +94 -0
- package/dist/types/ipc/testing.d.ts +89 -0
- package/dist/types/ipc/trust.d.ts +49 -0
- package/dist/types/ipc/windows-acl.d.ts +56 -0
- package/dist/types/testing/jelly-id.d.ts +518 -0
- package/dist/types/zod.d.ts +1 -0
- package/package.json +77 -4
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shapes of Jelly ID that a hosted realm reads (Jelly's resource-token contract v1.1; spec §15.2). Jelly
|
|
3
|
+
* owns them; these schemas are what Messaging accepts of them. Jelly's versions are additive, so headers,
|
|
4
|
+
* claims and key-set entries may carry members a later version adds; the members Messaging reads are strict.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
/** A Jelly account id (contract v1.1 §5 step 6). */
|
|
8
|
+
export declare const JellySubject: z.ZodString;
|
|
9
|
+
export type JellySubject = z.infer<typeof JellySubject>;
|
|
10
|
+
/** A Jelly host id (contract v1.1 §5 step 6). */
|
|
11
|
+
export declare const JellyHost: z.ZodString;
|
|
12
|
+
/** A key id: printable ASCII, 1 to 200 characters. */
|
|
13
|
+
export declare const JellyKid: z.ZodString;
|
|
14
|
+
/** A compact JWS: three base64url segments. The bound is far above a Jelly resource token's size. */
|
|
15
|
+
export declare const Jws: z.ZodString;
|
|
16
|
+
export type Jws = z.infer<typeof Jws>;
|
|
17
|
+
/** The key a token is bound to (RFC 7800 `cnf.jwk`, contract v1.1 §3): exactly these three members. */
|
|
18
|
+
export declare const CnfJwk: z.ZodObject<{
|
|
19
|
+
kty: z.ZodLiteral<"OKP">;
|
|
20
|
+
crv: z.ZodLiteral<"Ed25519">;
|
|
21
|
+
x: z.ZodString;
|
|
22
|
+
}, z.core.$strict>;
|
|
23
|
+
export type CnfJwk = z.infer<typeof CnfJwk>;
|
|
24
|
+
/** The JWS header of a resource token (contract v1.1 §4). */
|
|
25
|
+
export declare const JellyTokenHeader: z.ZodObject<{
|
|
26
|
+
alg: z.ZodLiteral<"EdDSA">;
|
|
27
|
+
typ: z.ZodLiteral<"jelly-resource+jwt">;
|
|
28
|
+
kid: z.ZodString;
|
|
29
|
+
}, z.core.$loose>;
|
|
30
|
+
export type JellyTokenHeader = z.infer<typeof JellyTokenHeader>;
|
|
31
|
+
/**
|
|
32
|
+
* How a token was minted when it was not by a host (contract v1.2 §12.4): `"device"`, a service's device
|
|
33
|
+
* that signed in through the browser. Read as a string, so a later value is refused by the verifier, not the schema.
|
|
34
|
+
*/
|
|
35
|
+
export declare const JELLY_DEVICE_SOURCE = "device";
|
|
36
|
+
/**
|
|
37
|
+
* The claims of a resource token (contract v1.1 §4; v1.2 §12.4). `aud` is one string; `cnf` is exactly
|
|
38
|
+
* `{jwk}`. A host's token carries `hst`; a device's carries `src: "device"` and no `hst` (`verifyJellyToken`).
|
|
39
|
+
*/
|
|
40
|
+
export declare const JellyClaims: z.ZodObject<{
|
|
41
|
+
iss: z.ZodString;
|
|
42
|
+
aud: z.ZodString;
|
|
43
|
+
sub: z.ZodString;
|
|
44
|
+
email: z.ZodOptional<z.ZodString>;
|
|
45
|
+
email_verified: z.ZodOptional<z.ZodLiteral<true>>;
|
|
46
|
+
name: z.ZodOptional<z.ZodString>;
|
|
47
|
+
hst: z.ZodOptional<z.ZodString>;
|
|
48
|
+
src: z.ZodOptional<z.ZodString>;
|
|
49
|
+
cnf: z.ZodOptional<z.ZodObject<{
|
|
50
|
+
jwk: z.ZodObject<{
|
|
51
|
+
kty: z.ZodLiteral<"OKP">;
|
|
52
|
+
crv: z.ZodLiteral<"Ed25519">;
|
|
53
|
+
x: z.ZodString;
|
|
54
|
+
}, z.core.$strict>;
|
|
55
|
+
}, z.core.$strict>>;
|
|
56
|
+
iat: z.ZodNumber;
|
|
57
|
+
exp: z.ZodNumber;
|
|
58
|
+
jti: z.ZodString;
|
|
59
|
+
}, z.core.$loose>;
|
|
60
|
+
export type JellyClaims = z.infer<typeof JellyClaims>;
|
|
61
|
+
/** One public Ed25519 key of Jelly ID's key set (contract v1.1 §5). Entries of other key types are skipped. */
|
|
62
|
+
export declare const JellyJwk: z.ZodObject<{
|
|
63
|
+
kty: z.ZodLiteral<"OKP">;
|
|
64
|
+
crv: z.ZodLiteral<"Ed25519">;
|
|
65
|
+
x: z.ZodString;
|
|
66
|
+
kid: z.ZodString;
|
|
67
|
+
}, z.core.$loose>;
|
|
68
|
+
export type JellyJwk = z.infer<typeof JellyJwk>;
|
|
69
|
+
/** `<issuer>/.well-known/jwks.json`. Each entry is read with `JellyJwk`; one that does not parse is skipped. */
|
|
70
|
+
export declare const JellyJwks: z.ZodObject<{
|
|
71
|
+
keys: z.ZodArray<z.ZodUnknown>;
|
|
72
|
+
}, z.core.$loose>;
|
|
73
|
+
/** One key of `<issuer>/.well-known/jwks-history.json` (contract v1.1 §11): times are seconds since the epoch. */
|
|
74
|
+
export declare const JellyHistoryKey: z.ZodObject<{
|
|
75
|
+
kty: z.ZodLiteral<"OKP">;
|
|
76
|
+
crv: z.ZodLiteral<"Ed25519">;
|
|
77
|
+
x: z.ZodString;
|
|
78
|
+
kid: z.ZodString;
|
|
79
|
+
nbf: z.ZodNumber;
|
|
80
|
+
retired_at: z.ZodNullable<z.ZodNumber>;
|
|
81
|
+
revoked_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
82
|
+
}, z.core.$loose>;
|
|
83
|
+
export type JellyHistoryKey = z.infer<typeof JellyHistoryKey>;
|
|
84
|
+
/** `<issuer>/.well-known/jwks-history.json`, oldest first; it never shrinks. */
|
|
85
|
+
export declare const JellyKeyHistory: z.ZodObject<{
|
|
86
|
+
keys: z.ZodArray<z.ZodUnknown>;
|
|
87
|
+
}, z.core.$loose>;
|
|
88
|
+
/**
|
|
89
|
+
* A Jelly key a client has verified, as it persists it (its Jelly key archive, spec §15.2). `nbf`,
|
|
90
|
+
* `retiredAt` and `revokedAt` are the key history's (seconds) as last seen; `historyAt` is when that was (ms).
|
|
91
|
+
*/
|
|
92
|
+
export declare const ArchivedJellyKey: z.ZodObject<{
|
|
93
|
+
kid: z.ZodString;
|
|
94
|
+
x: z.ZodString;
|
|
95
|
+
nbf: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
retiredAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
97
|
+
revokedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
98
|
+
historyAt: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
}, z.core.$strict>;
|
|
100
|
+
export type ArchivedJellyKey = z.infer<typeof ArchivedJellyKey>;
|
|
101
|
+
/** The audience of every action grant and session ticket a Jelly host mints for Messaging (spec §8.11). */
|
|
102
|
+
export declare const JELLY_SERVICE_AUDIENCE = "@joe-broadhead/opencode-messaging#service";
|
|
103
|
+
/** A Jelly agent id (`agt`), the engine a session ticket names. */
|
|
104
|
+
export declare const JellyAgentId: z.ZodString;
|
|
105
|
+
export type JellyAgentId = z.infer<typeof JellyAgentId>;
|
|
106
|
+
/**
|
|
107
|
+
* The host's public action key (`--act-key`): exactly a public Ed25519 JWK. `kid`, `alg` and `use` may be present;
|
|
108
|
+
* any other member, a private `d` above all, is refused, and so is the daemon's start.
|
|
109
|
+
*/
|
|
110
|
+
export declare const ActKeyJwk: z.ZodObject<{
|
|
111
|
+
kty: z.ZodLiteral<"OKP">;
|
|
112
|
+
crv: z.ZodLiteral<"Ed25519">;
|
|
113
|
+
x: z.ZodString;
|
|
114
|
+
kid: z.ZodOptional<z.ZodString>;
|
|
115
|
+
alg: z.ZodOptional<z.ZodEnum<{
|
|
116
|
+
Ed25519: "Ed25519";
|
|
117
|
+
EdDSA: "EdDSA";
|
|
118
|
+
}>>;
|
|
119
|
+
use: z.ZodOptional<z.ZodLiteral<"sig">>;
|
|
120
|
+
}, z.core.$strict>;
|
|
121
|
+
export type ActKeyJwk = z.infer<typeof ActKeyJwk>;
|
|
122
|
+
/** The JWS header of an action grant (`jelly-act+jwt`). */
|
|
123
|
+
export declare const JellyActHeader: z.ZodObject<{
|
|
124
|
+
alg: z.ZodLiteral<"EdDSA">;
|
|
125
|
+
typ: z.ZodLiteral<"jelly-act+jwt">;
|
|
126
|
+
kid: z.ZodString;
|
|
127
|
+
}, z.core.$loose>;
|
|
128
|
+
/** The JWS header of a session ticket (`jelly-session+jwt`). */
|
|
129
|
+
export declare const JellySessionHeader: z.ZodObject<{
|
|
130
|
+
alg: z.ZodLiteral<"EdDSA">;
|
|
131
|
+
typ: z.ZodLiteral<"jelly-session+jwt">;
|
|
132
|
+
kid: z.ZodString;
|
|
133
|
+
}, z.core.$loose>;
|
|
134
|
+
/**
|
|
135
|
+
* The claims of an action grant (spec §8.11). `act` is the IPC method it allows, or `host` for a host-scope grant.
|
|
136
|
+
* `in` (the digest of the call's params) and `cls` (the action class) are required for a method grant. `iss`, `dev`
|
|
137
|
+
* and `mbr` (the host's member who acted, Jelly D29) are Jelly's; the daemon takes no authority from them.
|
|
138
|
+
*/
|
|
139
|
+
export declare const JellyActClaims: z.ZodObject<{
|
|
140
|
+
aud: z.ZodString;
|
|
141
|
+
act: z.ZodString;
|
|
142
|
+
in: z.ZodOptional<z.ZodString>;
|
|
143
|
+
iat: z.ZodNumber;
|
|
144
|
+
exp: z.ZodNumber;
|
|
145
|
+
jti: z.ZodString;
|
|
146
|
+
iss: z.ZodOptional<z.ZodString>;
|
|
147
|
+
dev: z.ZodOptional<z.ZodString>;
|
|
148
|
+
cls: z.ZodOptional<z.ZodString>;
|
|
149
|
+
mbr: z.ZodOptional<z.ZodString>;
|
|
150
|
+
}, z.core.$loose>;
|
|
151
|
+
export type JellyActClaims = z.infer<typeof JellyActClaims>;
|
|
152
|
+
/** The claims of a session ticket (spec §8.11): the agent and the session name it may register. */
|
|
153
|
+
export declare const JellySessionClaims: z.ZodObject<{
|
|
154
|
+
aud: z.ZodString;
|
|
155
|
+
agt: z.ZodString;
|
|
156
|
+
name: z.ZodString;
|
|
157
|
+
iat: z.ZodNumber;
|
|
158
|
+
exp: z.ZodNumber;
|
|
159
|
+
}, z.core.$loose>;
|
|
160
|
+
export type JellySessionClaims = z.infer<typeof JellySessionClaims>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Realms (spec §5, "Realm and anchor"). A realm is the trust domain one daemon home belongs to: who the
|
|
3
|
+
* persons and their machines are, and which keys to seal to. A roster realm's id is the team id (§4) and its
|
|
4
|
+
* authority is the team's roster; a directory realm's id derives from its directory (§15.8) and its authority is
|
|
5
|
+
* the key directory's epoch log (§15).
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/** A realm's id. For a roster realm, the team id: the hash of the genesis entry; for a directory realm, `directoryRealmId`. */
|
|
9
|
+
export declare const RealmId: z.ZodString;
|
|
10
|
+
export type RealmId = z.infer<typeof RealmId>;
|
|
11
|
+
/** A roster realm's anchor: the sender's roster head (spec §4, §5). */
|
|
12
|
+
export declare const RosterAnchor: z.ZodObject<{
|
|
13
|
+
kind: z.ZodLiteral<"roster">;
|
|
14
|
+
seq: z.ZodNumber;
|
|
15
|
+
hash: z.ZodString;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type RosterAnchor = z.infer<typeof RosterAnchor>;
|
|
18
|
+
/** A directory realm's anchor (spec §5, §15.6): the sender's adopted signed tree head, by its size and root. */
|
|
19
|
+
export declare const EpochAnchor: z.ZodObject<{
|
|
20
|
+
kind: z.ZodLiteral<"epoch">;
|
|
21
|
+
size: z.ZodNumber;
|
|
22
|
+
root: z.ZodString;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export type EpochAnchor = z.infer<typeof EpochAnchor>;
|
|
25
|
+
/**
|
|
26
|
+
* What an envelope commits to of its sender's view of the realm, so a receiver can tell whether the
|
|
27
|
+
* sender saw more than it has (catch up first) or something else (a divergence).
|
|
28
|
+
*/
|
|
29
|
+
export declare const Anchor: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
30
|
+
kind: z.ZodLiteral<"roster">;
|
|
31
|
+
seq: z.ZodNumber;
|
|
32
|
+
hash: z.ZodString;
|
|
33
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
34
|
+
kind: z.ZodLiteral<"epoch">;
|
|
35
|
+
size: z.ZodNumber;
|
|
36
|
+
root: z.ZodString;
|
|
37
|
+
}, z.core.$strip>], "kind">;
|
|
38
|
+
export type Anchor = z.infer<typeof Anchor>;
|