@moxt-ai/mobius-sdk 0.0.100 → 0.0.102

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.
Files changed (106) hide show
  1. package/dist/client.d.ts +1 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +1 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/platform.d.ts +2 -2
  10. package/dist/platform.d.ts.map +1 -1
  11. package/dist/platform.js +2 -2
  12. package/dist/platform.js.map +1 -1
  13. package/dist/project-authentication.js +1 -1
  14. package/dist/project-authentication.js.map +1 -1
  15. package/dist/protocol/codecs/messages.d.ts +32 -0
  16. package/dist/protocol/codecs/messages.d.ts.map +1 -0
  17. package/dist/protocol/codecs/messages.js +249 -0
  18. package/dist/protocol/codecs/messages.js.map +1 -0
  19. package/dist/protocol/control-messages.d.ts +964 -0
  20. package/dist/protocol/control-messages.d.ts.map +1 -0
  21. package/dist/protocol/control-messages.js +754 -0
  22. package/dist/protocol/control-messages.js.map +1 -0
  23. package/dist/protocol/conversation-title.d.ts +2 -0
  24. package/dist/protocol/conversation-title.d.ts.map +1 -0
  25. package/dist/protocol/conversation-title.js +28 -0
  26. package/dist/protocol/conversation-title.js.map +1 -0
  27. package/dist/protocol/daemon-transport.d.ts +3979 -0
  28. package/dist/protocol/daemon-transport.d.ts.map +1 -0
  29. package/dist/protocol/daemon-transport.js +94 -0
  30. package/dist/protocol/daemon-transport.js.map +1 -0
  31. package/dist/protocol/identifier.d.ts +7 -0
  32. package/dist/protocol/identifier.d.ts.map +1 -0
  33. package/dist/protocol/identifier.js +11 -0
  34. package/dist/protocol/identifier.js.map +1 -0
  35. package/dist/protocol/index.d.ts +18 -0
  36. package/dist/protocol/index.d.ts.map +1 -0
  37. package/dist/protocol/index.js +18 -0
  38. package/dist/protocol/index.js.map +1 -0
  39. package/dist/protocol/messages.d.ts +67 -0
  40. package/dist/protocol/messages.d.ts.map +1 -0
  41. package/dist/protocol/messages.js +16 -0
  42. package/dist/protocol/messages.js.map +1 -0
  43. package/dist/protocol/mobius-api.d.ts +10 -0
  44. package/dist/protocol/mobius-api.d.ts.map +1 -0
  45. package/dist/protocol/mobius-api.js +23 -0
  46. package/dist/protocol/mobius-api.js.map +1 -0
  47. package/dist/protocol/native-sessions.d.ts +401 -0
  48. package/dist/protocol/native-sessions.d.ts.map +1 -0
  49. package/dist/protocol/native-sessions.js +154 -0
  50. package/dist/protocol/native-sessions.js.map +1 -0
  51. package/dist/protocol/project-location.d.ts +16 -0
  52. package/dist/protocol/project-location.d.ts.map +1 -0
  53. package/dist/protocol/project-location.js +6 -0
  54. package/dist/protocol/project-location.js.map +1 -0
  55. package/dist/protocol/prompt-usage.d.ts +76 -0
  56. package/dist/protocol/prompt-usage.d.ts.map +1 -0
  57. package/dist/protocol/prompt-usage.js +88 -0
  58. package/dist/protocol/prompt-usage.js.map +1 -0
  59. package/dist/protocol/resource-model.d.ts +339 -0
  60. package/dist/protocol/resource-model.d.ts.map +1 -0
  61. package/dist/protocol/resource-model.js +161 -0
  62. package/dist/protocol/resource-model.js.map +1 -0
  63. package/dist/protocol/runtime-diagnostics.d.ts +19 -0
  64. package/dist/protocol/runtime-diagnostics.d.ts.map +1 -0
  65. package/dist/protocol/runtime-diagnostics.js +24 -0
  66. package/dist/protocol/runtime-diagnostics.js.map +1 -0
  67. package/dist/protocol/runtime-upgrade.d.ts +29 -0
  68. package/dist/protocol/runtime-upgrade.d.ts.map +1 -0
  69. package/dist/protocol/runtime-upgrade.js +38 -0
  70. package/dist/protocol/runtime-upgrade.js.map +1 -0
  71. package/dist/protocol/session-access.d.ts +21 -0
  72. package/dist/protocol/session-access.d.ts.map +1 -0
  73. package/dist/protocol/session-access.js +108 -0
  74. package/dist/protocol/session-access.js.map +1 -0
  75. package/dist/protocol/session-event-log.d.ts +13542 -0
  76. package/dist/protocol/session-event-log.d.ts.map +1 -0
  77. package/dist/protocol/session-event-log.js +584 -0
  78. package/dist/protocol/session-event-log.js.map +1 -0
  79. package/dist/protocol/session-history.d.ts +2907 -0
  80. package/dist/protocol/session-history.d.ts.map +1 -0
  81. package/dist/protocol/session-history.js +58 -0
  82. package/dist/protocol/session-history.js.map +1 -0
  83. package/dist/protocol/session-recording.d.ts +5640 -0
  84. package/dist/protocol/session-recording.d.ts.map +1 -0
  85. package/dist/protocol/session-recording.js +365 -0
  86. package/dist/protocol/session-recording.js.map +1 -0
  87. package/dist/public-request.js +1 -1
  88. package/dist/public-request.js.map +1 -1
  89. package/dist/resources.d.ts +1 -1
  90. package/dist/resources.d.ts.map +1 -1
  91. package/dist/resources.js +1 -1
  92. package/dist/resources.js.map +1 -1
  93. package/dist/server.d.ts +2 -2
  94. package/dist/server.d.ts.map +1 -1
  95. package/dist/server.js +1 -1
  96. package/dist/server.js.map +1 -1
  97. package/dist/service-client.d.ts +19 -19
  98. package/dist/service-client.d.ts.map +1 -1
  99. package/dist/service-client.js +21 -23
  100. package/dist/service-client.js.map +1 -1
  101. package/dist/transport/http-transport.d.ts +1 -1
  102. package/dist/transport/http-transport.js +1 -1
  103. package/dist/transport/ws-transport.d.ts +1 -1
  104. package/dist/transport/ws-transport.js +2 -2
  105. package/dist/transport/ws-transport.js.map +1 -1
  106. package/package.json +8 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-model.js","sourceRoot":"","sources":["../../src/protocol/resource-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export declare const runtimeDiagnosticsRequestSchema: z.ZodObject<{
3
+ kind: z.ZodLiteral<"runtime.diagnostics.read">;
4
+ requestId: z.ZodCustom<string & z.$brand<"Identifier">, string & z.$brand<"Identifier">>;
5
+ }, z.core.$strict>;
6
+ export declare const runtimeDiagnosticsResultSchema: z.ZodObject<{
7
+ kind: z.ZodLiteral<"runtime.diagnostics.result">;
8
+ requestId: z.ZodCustom<string & z.$brand<"Identifier">, string & z.$brand<"Identifier">>;
9
+ truncated: z.ZodBoolean;
10
+ version: z.ZodString;
11
+ entries: z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodString>>>>;
12
+ }, z.core.$strict>;
13
+ export type RuntimeDiagnosticsRequest = Readonly<z.infer<typeof runtimeDiagnosticsRequestSchema>>;
14
+ export type RuntimeDiagnosticsResult = Readonly<z.infer<typeof runtimeDiagnosticsResultSchema>>;
15
+ export declare const decodeRuntimeDiagnosticsRequest: (raw: string) => RuntimeDiagnosticsRequest;
16
+ export declare const decodeRuntimeDiagnosticsResult: (raw: string) => RuntimeDiagnosticsResult;
17
+ export declare const encodeRuntimeDiagnosticsRequest: (value: RuntimeDiagnosticsRequest) => string;
18
+ export declare const encodeRuntimeDiagnosticsResult: (value: RuntimeDiagnosticsResult) => string;
19
+ //# sourceMappingURL=runtime-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-diagnostics.d.ts","sourceRoot":"","sources":["../../src/protocol/runtime-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,+BAA+B;;;kBAG1C,CAAC;AACH,eAAO,MAAM,8BAA8B;;;;;;kBAW0D,CAAC;AACtG,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC;AAClG,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC;AAChG,eAAO,MAAM,+BAA+B,QAAS,MAAM,KAAG,yBACJ,CAAC;AAC3D,eAAO,MAAM,8BAA8B,QAAS,MAAM,KAAG,wBACJ,CAAC;AAC1D,eAAO,MAAM,+BAA+B,UAAW,yBAAyB,KAAG,MACnB,CAAC;AACjE,eAAO,MAAM,8BAA8B,UAAW,wBAAwB,KAAG,MAClB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { isIdentifier } from "./identifier.js";
3
+ const identifier = z.custom(isIdentifier);
4
+ export const runtimeDiagnosticsRequestSchema = z.strictObject({
5
+ kind: z.literal("runtime.diagnostics.read"),
6
+ requestId: identifier,
7
+ });
8
+ export const runtimeDiagnosticsResultSchema = z
9
+ .strictObject({
10
+ kind: z.literal("runtime.diagnostics.result"),
11
+ requestId: identifier,
12
+ truncated: z.boolean(),
13
+ version: z.string().max(32),
14
+ entries: z
15
+ .array(z.record(z.string(), z.string().max(256)).readonly())
16
+ .max(200)
17
+ .readonly(),
18
+ })
19
+ .refine((value) => JSON.stringify(value).length <= 65_536, "Diagnostics exceed the report limit");
20
+ export const decodeRuntimeDiagnosticsRequest = (raw) => runtimeDiagnosticsRequestSchema.parse(JSON.parse(raw));
21
+ export const decodeRuntimeDiagnosticsResult = (raw) => runtimeDiagnosticsResultSchema.parse(JSON.parse(raw));
22
+ export const encodeRuntimeDiagnosticsRequest = (value) => JSON.stringify(runtimeDiagnosticsRequestSchema.parse(value));
23
+ export const encodeRuntimeDiagnosticsResult = (value) => JSON.stringify(runtimeDiagnosticsResultSchema.parse(value));
24
+ //# sourceMappingURL=runtime-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-diagnostics.js","sourceRoot":"","sources":["../../src/protocol/runtime-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAmB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAa,YAAY,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,SAAS,EAAE,UAAU;CACxB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC1C,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC;IAC7C,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC3D,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;CAClB,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,qCAAqC,CAAC,CAAC;AAGtG,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAW,EAA6B,EAAE,CACtF,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAW,EAA4B,EAAE,CACpF,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,KAAgC,EAAU,EAAE,CACxF,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAA+B,EAAU,EAAE,CACtF,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ export declare const runtimeUpgradeVersionSchema: z.ZodString;
3
+ export declare const runtimeUpgradeResultSchema: z.ZodReadonly<z.ZodObject<{
4
+ kind: z.ZodLiteral<"runtime.upgrade.result">;
5
+ requestId: z.ZodCustom<string & z.$brand<"Identifier">, string & z.$brand<"Identifier">>;
6
+ version: z.ZodString;
7
+ targetVersion: z.ZodString;
8
+ outcome: z.ZodReadonly<z.ZodDiscriminatedUnion<[z.ZodObject<{
9
+ status: z.ZodLiteral<"accepted">;
10
+ }, z.core.$strict>, z.ZodObject<{
11
+ status: z.ZodLiteral<"succeeded">;
12
+ }, z.core.$strict>, z.ZodObject<{
13
+ status: z.ZodLiteral<"failed">;
14
+ stdout: z.ZodOptional<z.ZodString>;
15
+ stderr: z.ZodOptional<z.ZodString>;
16
+ code: z.ZodString;
17
+ message: z.ZodString;
18
+ retryAfter: z.ZodNumber;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ status: z.ZodLiteral<"rejected">;
21
+ code: z.ZodString;
22
+ message: z.ZodString;
23
+ retryAfter: z.ZodNumber;
24
+ }, z.core.$strict>], "status">>;
25
+ }, z.core.$strict>>;
26
+ export type RuntimeUpgradeResult = z.infer<typeof runtimeUpgradeResultSchema>;
27
+ export declare const decodeRuntimeUpgradeResult: (raw: string) => RuntimeUpgradeResult;
28
+ export declare const encodeRuntimeUpgradeResult: (value: RuntimeUpgradeResult) => string;
29
+ //# sourceMappingURL=runtime-upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-upgrade.d.ts","sourceRoot":"","sources":["../../src/protocol/runtime-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,2BAA2B,aAGgE,CAAC;AACzG,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;mBA2BxB,CAAC;AAChB,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,eAAO,MAAM,0BAA0B,QAAS,MAAM,KAAG,oBACJ,CAAC;AACtD,eAAO,MAAM,0BAA0B,UAAW,oBAAoB,KAAG,MACd,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ import { isIdentifier } from "./identifier.js";
3
+ // Only exact releases of the fixed Mobius npm package are supported.
4
+ export const runtimeUpgradeVersionSchema = z
5
+ .string()
6
+ .max(128)
7
+ .regex(/^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(?:-[0-9A-Za-z]+(?:[.-][0-9A-Za-z]+)*)?$/);
8
+ export const runtimeUpgradeResultSchema = z
9
+ .strictObject({
10
+ kind: z.literal("runtime.upgrade.result"),
11
+ requestId: z.custom(isIdentifier),
12
+ version: runtimeUpgradeVersionSchema,
13
+ targetVersion: runtimeUpgradeVersionSchema,
14
+ outcome: z
15
+ .discriminatedUnion("status", [
16
+ z.strictObject({ status: z.literal("accepted") }),
17
+ z.strictObject({ status: z.literal("succeeded") }),
18
+ z.strictObject({
19
+ status: z.literal("failed"),
20
+ stdout: z.string().max(4096).optional(),
21
+ stderr: z.string().max(4096).optional(),
22
+ code: z.string().min(1).max(64),
23
+ message: z.string().max(256),
24
+ retryAfter: z.number().int().nonnegative(),
25
+ }),
26
+ z.strictObject({
27
+ status: z.literal("rejected"),
28
+ code: z.string().min(1).max(64),
29
+ message: z.string().max(256),
30
+ retryAfter: z.number().int().nonnegative(),
31
+ }),
32
+ ])
33
+ .readonly(),
34
+ })
35
+ .readonly();
36
+ export const decodeRuntimeUpgradeResult = (raw) => runtimeUpgradeResultSchema.parse(JSON.parse(raw));
37
+ export const encodeRuntimeUpgradeResult = (value) => JSON.stringify(runtimeUpgradeResultSchema.parse(value));
38
+ //# sourceMappingURL=runtime-upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-upgrade.js","sourceRoot":"","sources":["../../src/protocol/runtime-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAmB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE,qEAAqE;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACvC,MAAM,EAAE;KACR,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,4FAA4F,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACtC,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAa,YAAY,CAAC;IAC7C,OAAO,EAAE,2BAA2B;IACpC,aAAa,EAAE,2BAA2B;IAC1C,OAAO,EAAE,CAAC;SACL,kBAAkB,CAAC,QAAQ,EAAE;QAC1B,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAClD,CAAC,CAAC,YAAY,CAAC;YACX,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SAC7C,CAAC;QACF,CAAC,CAAC,YAAY,CAAC;YACX,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SAC7C,CAAC;KACL,CAAC;SACD,QAAQ,EAAE;CAClB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAW,EAAwB,EAAE,CAC5E,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAA2B,EAAU,EAAE,CAC9E,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ declare const claimsSchema: z.ZodReadonly<z.ZodObject<{
3
+ expiresAtEpochMilliseconds: z.ZodNumber;
4
+ issuedAtEpochMilliseconds: z.ZodNumber;
5
+ projectId: z.ZodString;
6
+ purpose: z.ZodLiteral<"session-access">;
7
+ runtimeId: z.ZodString;
8
+ sessionId: z.ZodString;
9
+ }, z.core.$strip>>;
10
+ export type SessionAccessClaims = z.infer<typeof claimsSchema>;
11
+ export interface SessionAccessCredential {
12
+ readonly claims: SessionAccessClaims;
13
+ readonly publicCredentialId: string;
14
+ readonly signature: ArrayBuffer;
15
+ readonly signedValue: string;
16
+ }
17
+ export declare function issueSessionAccessCredential(appCredential: string, claims: SessionAccessClaims): Promise<string>;
18
+ export declare function decodeSessionAccessCredential(credential: string): SessionAccessCredential;
19
+ export declare function verifySessionAccessCredential(credential: string, secretDigest: string, nowEpochMilliseconds: number): Promise<SessionAccessClaims>;
20
+ export {};
21
+ //# sourceMappingURL=session-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-access.d.ts","sourceRoot":"","sources":["../../src/protocol/session-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,YAAY;;;;;;;kBASH,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE/D,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AA4CD,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB,CAwBzF;AAED,wBAAsB,6BAA6B,CAC/C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAmB9B"}
@@ -0,0 +1,108 @@
1
+ import { z } from "zod";
2
+ import { ProtocolMessageError } from "./codecs/messages.js";
3
+ import { identifierStringSchema } from "./identifier.js";
4
+ const APP_CREDENTIAL_PATTERN = /^mapp_([A-Za-z0-9_-]{22})_[A-Za-z0-9_-]{43}$/u;
5
+ const SESSION_ACCESS_PATTERN = /^msession_([A-Za-z0-9_-]{22})_([A-Za-z0-9_-]+)_([A-Za-z0-9_-]{43})$/u;
6
+ const MAXIMUM_LIFETIME_MILLISECONDS = 15 * 60 * 1_000;
7
+ const claimsSchema = z
8
+ .object({
9
+ expiresAtEpochMilliseconds: z.number().int().nonnegative(),
10
+ issuedAtEpochMilliseconds: z.number().int().nonnegative(),
11
+ projectId: identifierStringSchema,
12
+ purpose: z.literal("session-access"),
13
+ runtimeId: identifierStringSchema,
14
+ sessionId: identifierStringSchema,
15
+ })
16
+ .readonly();
17
+ function encodeBase64Url(value) {
18
+ let binary = "";
19
+ for (const byte of value) {
20
+ binary += String.fromCharCode(byte);
21
+ }
22
+ return btoa(binary).replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/u, "");
23
+ }
24
+ function decodeBase64Url(value) {
25
+ try {
26
+ const padded = `${value.replaceAll("-", "+").replaceAll("_", "/")}${"=".repeat((4 - (value.length % 4)) % 4)}`;
27
+ const binary = atob(padded);
28
+ return Uint8Array.from(binary, (character) => character.charCodeAt(0));
29
+ }
30
+ catch (cause) {
31
+ throw new ProtocolMessageError("The Session credential is invalid", { cause });
32
+ }
33
+ }
34
+ function exactBuffer(value) {
35
+ const buffer = new ArrayBuffer(value.byteLength);
36
+ new Uint8Array(buffer).set(value);
37
+ return buffer;
38
+ }
39
+ async function signingKey(secretDigest) {
40
+ if (!/^[a-f0-9]{64}$/u.test(secretDigest)) {
41
+ throw new ProtocolMessageError("The Session credential signing key is invalid");
42
+ }
43
+ return await crypto.subtle.importKey("raw", new TextEncoder().encode(secretDigest), { hash: "SHA-256", name: "HMAC" }, false, ["sign", "verify"]);
44
+ }
45
+ async function digestCredential(credential) {
46
+ const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(credential));
47
+ return Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("");
48
+ }
49
+ export async function issueSessionAccessCredential(appCredential, claims) {
50
+ const match = APP_CREDENTIAL_PATTERN.exec(appCredential);
51
+ if (match === null) {
52
+ throw new ProtocolMessageError("The App credential is invalid");
53
+ }
54
+ const validatedClaims = claimsSchema.parse(claims);
55
+ if (validatedClaims.expiresAtEpochMilliseconds <= validatedClaims.issuedAtEpochMilliseconds ||
56
+ validatedClaims.expiresAtEpochMilliseconds - validatedClaims.issuedAtEpochMilliseconds >
57
+ MAXIMUM_LIFETIME_MILLISECONDS) {
58
+ throw new ProtocolMessageError("The Session credential lifetime is invalid");
59
+ }
60
+ const publicCredentialId = match[1];
61
+ if (publicCredentialId === undefined) {
62
+ throw new ProtocolMessageError("The App credential is invalid");
63
+ }
64
+ const payload = encodeBase64Url(new TextEncoder().encode(JSON.stringify(validatedClaims)));
65
+ const signedValue = `msession_${publicCredentialId}_${payload}`;
66
+ const signature = await crypto.subtle.sign("HMAC", await signingKey(await digestCredential(appCredential)), new TextEncoder().encode(signedValue));
67
+ return `${signedValue}_${encodeBase64Url(new Uint8Array(signature))}`;
68
+ }
69
+ export function decodeSessionAccessCredential(credential) {
70
+ const match = SESSION_ACCESS_PATTERN.exec(credential);
71
+ const publicCredentialId = match?.[1];
72
+ const payload = match?.[2];
73
+ const encodedSignature = match?.[3];
74
+ if (publicCredentialId === undefined || payload === undefined || encodedSignature === undefined) {
75
+ throw new ProtocolMessageError("The Session credential is invalid");
76
+ }
77
+ let decoded;
78
+ try {
79
+ decoded = JSON.parse(new TextDecoder().decode(decodeBase64Url(payload)));
80
+ }
81
+ catch (cause) {
82
+ throw new ProtocolMessageError("The Session credential is invalid", { cause });
83
+ }
84
+ const parsed = claimsSchema.safeParse(decoded);
85
+ if (!parsed.success) {
86
+ throw new ProtocolMessageError("The Session credential is invalid", { cause: parsed.error });
87
+ }
88
+ return {
89
+ claims: parsed.data,
90
+ publicCredentialId,
91
+ signature: exactBuffer(decodeBase64Url(encodedSignature)),
92
+ signedValue: `msession_${publicCredentialId}_${payload}`,
93
+ };
94
+ }
95
+ export async function verifySessionAccessCredential(credential, secretDigest, nowEpochMilliseconds) {
96
+ const decoded = decodeSessionAccessCredential(credential);
97
+ const valid = await crypto.subtle.verify("HMAC", await signingKey(secretDigest), decoded.signature, new TextEncoder().encode(decoded.signedValue));
98
+ if (!valid ||
99
+ !Number.isSafeInteger(nowEpochMilliseconds) ||
100
+ decoded.claims.issuedAtEpochMilliseconds > nowEpochMilliseconds ||
101
+ decoded.claims.expiresAtEpochMilliseconds <= nowEpochMilliseconds ||
102
+ decoded.claims.expiresAtEpochMilliseconds - decoded.claims.issuedAtEpochMilliseconds >
103
+ MAXIMUM_LIFETIME_MILLISECONDS) {
104
+ throw new ProtocolMessageError("The Session credential is invalid or expired");
105
+ }
106
+ return decoded.claims;
107
+ }
108
+ //# sourceMappingURL=session-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-access.js","sourceRoot":"","sources":["../../src/protocol/session-access.ts"],"names":[],"mappings":"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"}