@q9labsai/chalk-client 4.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/LICENSE +21 -0
- package/README.md +173 -0
- package/dist/access/base64-url.d.ts +2 -0
- package/dist/access/base64-url.d.ts.map +1 -0
- package/dist/access/episode-diagnostic-credential.d.ts +11 -0
- package/dist/access/episode-diagnostic-credential.d.ts.map +1 -0
- package/dist/access/grant.d.ts +53 -0
- package/dist/access/grant.d.ts.map +1 -0
- package/dist/access/grant.test.helpers.d.ts +10 -0
- package/dist/access/grant.test.helpers.d.ts.map +1 -0
- package/dist/access/manager.d.ts +36 -0
- package/dist/access/manager.d.ts.map +1 -0
- package/dist/chat-files/http-transport.d.ts +8 -0
- package/dist/chat-files/http-transport.d.ts.map +1 -0
- package/dist/chat-files/index.d.ts +3 -0
- package/dist/chat-files/index.d.ts.map +1 -0
- package/dist/chat-files/types.d.ts +37 -0
- package/dist/chat-files/types.d.ts.map +1 -0
- package/dist/chunk-5VXGLI3T.js +3385 -0
- package/dist/chunk-O22WFBKF.js +5161 -0
- package/dist/chunk-PBCGWE2V.js +811 -0
- package/dist/chunk-PBSYXPNJ.js +23 -0
- package/dist/chunk-QVHR3RMB.js +1229 -0
- package/dist/client.d.ts +6785 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/collaboration/index.d.ts +3 -0
- package/dist/collaboration/index.d.ts.map +1 -0
- package/dist/collaboration/types.d.ts +94 -0
- package/dist/collaboration/types.d.ts.map +1 -0
- package/dist/collaboration/wire.d.ts +19 -0
- package/dist/collaboration/wire.d.ts.map +1 -0
- package/dist/connection/dependencies.d.ts +112 -0
- package/dist/connection/dependencies.d.ts.map +1 -0
- package/dist/connection/diagnostics.d.ts +52 -0
- package/dist/connection/diagnostics.d.ts.map +1 -0
- package/dist/connection/index.d.ts +47 -0
- package/dist/connection/index.d.ts.map +1 -0
- package/dist/connection/lifecycle.d.ts +58 -0
- package/dist/connection/lifecycle.d.ts.map +1 -0
- package/dist/connection/media-devices.d.ts +6 -0
- package/dist/connection/media-devices.d.ts.map +1 -0
- package/dist/connection/production.d.ts +13 -0
- package/dist/connection/production.d.ts.map +1 -0
- package/dist/connection/snapshot.d.ts +23 -0
- package/dist/connection/snapshot.d.ts.map +1 -0
- package/dist/connection/types.d.ts +128 -0
- package/dist/connection/types.d.ts.map +1 -0
- package/dist/effect.d.ts +19 -0
- package/dist/effect.d.ts.map +1 -0
- package/dist/effect.js +7846 -0
- package/dist/episode-diagnostic-runtime.test.helpers.d.ts +3 -0
- package/dist/episode-diagnostic-runtime.test.helpers.d.ts.map +1 -0
- package/dist/generated/http-api.d.ts +6658 -0
- package/dist/generated/http-api.d.ts.map +1 -0
- package/dist/generated/schemas.d.ts +12076 -0
- package/dist/generated/schemas.d.ts.map +1 -0
- package/dist/generated/sync.d.ts +3947 -0
- package/dist/generated/sync.d.ts.map +1 -0
- package/dist/generated/whiteboard-v1.d.ts +334 -0
- package/dist/generated/whiteboard-v1.d.ts.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +152 -0
- package/dist/media/client.d.ts +18 -0
- package/dist/media/client.d.ts.map +1 -0
- package/dist/media/cloudflare-sfu.d.ts +5 -0
- package/dist/media/cloudflare-sfu.d.ts.map +1 -0
- package/dist/media/index.d.ts +3 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +24 -0
- package/dist/media/plane.d.ts +24 -0
- package/dist/media/plane.d.ts.map +1 -0
- package/dist/media/tracks.d.ts +21 -0
- package/dist/media/tracks.d.ts.map +1 -0
- package/dist/media/transport.d.ts +3 -0
- package/dist/media/transport.d.ts.map +1 -0
- package/dist/media/types.d.ts +114 -0
- package/dist/media/types.d.ts.map +1 -0
- package/dist/server/chunk-A6YMG5FM.js +61 -0
- package/dist/server/client.d.cts +2 -0
- package/dist/server/client.d.ts +3 -0
- package/dist/server/client.d.ts.map +1 -0
- package/dist/server/errors.d.cts +18 -0
- package/dist/server/errors.d.ts +19 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/index.cjs +551 -0
- package/dist/server/index.d.cts +3 -0
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +474 -0
- package/dist/server/server-only.cjs +40 -0
- package/dist/server/server-only.d.cts +1 -0
- package/dist/server/server-only.d.ts +2 -0
- package/dist/server/server-only.d.ts.map +1 -0
- package/dist/server/server-only.js +9 -0
- package/dist/server/transport.d.cts +12 -0
- package/dist/server/transport.d.ts +13 -0
- package/dist/server/transport.d.ts.map +1 -0
- package/dist/server/types.d.cts +201 -0
- package/dist/server/types.d.ts +202 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/space-client/chat-controller-helpers.d.ts +15 -0
- package/dist/space-client/chat-controller-helpers.d.ts.map +1 -0
- package/dist/space-client/chat-controller.d.ts +34 -0
- package/dist/space-client/chat-controller.d.ts.map +1 -0
- package/dist/space-client/controller-effects.d.ts +45 -0
- package/dist/space-client/controller-effects.d.ts.map +1 -0
- package/dist/space-client/controller-parity.test.helpers.d.ts +150 -0
- package/dist/space-client/controller-parity.test.helpers.d.ts.map +1 -0
- package/dist/space-client/core.d.ts +52 -0
- package/dist/space-client/core.d.ts.map +1 -0
- package/dist/space-client/core.test.helpers.d.ts +14 -0
- package/dist/space-client/core.test.helpers.d.ts.map +1 -0
- package/dist/space-client/effect.d.ts +44 -0
- package/dist/space-client/effect.d.ts.map +1 -0
- package/dist/space-client/episode-diagnostic-registry.d.ts +13 -0
- package/dist/space-client/episode-diagnostic-registry.d.ts.map +1 -0
- package/dist/space-client/episode-diagnostic-render-registry.d.ts +4 -0
- package/dist/space-client/episode-diagnostic-render-registry.d.ts.map +1 -0
- package/dist/space-client/episode-diagnostic-runtime.d.ts +102 -0
- package/dist/space-client/episode-diagnostic-runtime.d.ts.map +1 -0
- package/dist/space-client/errors.d.ts +11 -0
- package/dist/space-client/errors.d.ts.map +1 -0
- package/dist/space-client/index.d.ts +5 -0
- package/dist/space-client/index.d.ts.map +1 -0
- package/dist/space-client/media-controller.d.ts +30 -0
- package/dist/space-client/media-controller.d.ts.map +1 -0
- package/dist/space-client/media-controller.test.helpers.d.ts +105 -0
- package/dist/space-client/media-controller.test.helpers.d.ts.map +1 -0
- package/dist/space-client/media-device-selection.d.ts +13 -0
- package/dist/space-client/media-device-selection.d.ts.map +1 -0
- package/dist/space-client/participants-controller.d.ts +33 -0
- package/dist/space-client/participants-controller.d.ts.map +1 -0
- package/dist/space-client/promise-facade.d.ts +12 -0
- package/dist/space-client/promise-facade.d.ts.map +1 -0
- package/dist/space-client/reactions-controller.d.ts +19 -0
- package/dist/space-client/reactions-controller.d.ts.map +1 -0
- package/dist/space-client/space-client.d.ts +5 -0
- package/dist/space-client/space-client.d.ts.map +1 -0
- package/dist/space-client/store.d.ts +29 -0
- package/dist/space-client/store.d.ts.map +1 -0
- package/dist/space-client/types.d.ts +222 -0
- package/dist/space-client/types.d.ts.map +1 -0
- package/dist/space-client/whiteboard-controller.d.ts +17 -0
- package/dist/space-client/whiteboard-controller.d.ts.map +1 -0
- package/dist/sync/browser.d.ts +9 -0
- package/dist/sync/browser.d.ts.map +1 -0
- package/dist/sync/canonical.d.ts +7 -0
- package/dist/sync/canonical.d.ts.map +1 -0
- package/dist/sync/errors.d.ts +9 -0
- package/dist/sync/errors.d.ts.map +1 -0
- package/dist/sync/index.d.ts +13 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +51 -0
- package/dist/sync/react-native.d.ts +42 -0
- package/dist/sync/react-native.d.ts.map +1 -0
- package/dist/sync/types.d.ts +28 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/v1-client.d.ts +59 -0
- package/dist/sync/v1-client.d.ts.map +1 -0
- package/dist/sync/v1-codec.d.ts +5 -0
- package/dist/sync/v1-codec.d.ts.map +1 -0
- package/dist/sync/v1-create.d.ts +12 -0
- package/dist/sync/v1-create.d.ts.map +1 -0
- package/dist/sync/v1-persistence.d.ts +10 -0
- package/dist/sync/v1-persistence.d.ts.map +1 -0
- package/dist/sync/v1-platform-persistence.d.ts +26 -0
- package/dist/sync/v1-platform-persistence.d.ts.map +1 -0
- package/dist/sync/v1-reducer.d.ts +17 -0
- package/dist/sync/v1-reducer.d.ts.map +1 -0
- package/dist/sync/v1-types.d.ts +197 -0
- package/dist/sync/v1-types.d.ts.map +1 -0
- package/dist/telemetry/attributes.d.ts +7 -0
- package/dist/telemetry/attributes.d.ts.map +1 -0
- package/dist/telemetry/client.d.ts +44 -0
- package/dist/telemetry/client.d.ts.map +1 -0
- package/dist/telemetry/delivery.d.ts +107 -0
- package/dist/telemetry/delivery.d.ts.map +1 -0
- package/dist/telemetry/exporter.d.ts +38 -0
- package/dist/telemetry/exporter.d.ts.map +1 -0
- package/dist/telemetry/index.d.ts +7 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +48 -0
- package/dist/telemetry/journey.d.ts +52 -0
- package/dist/telemetry/journey.d.ts.map +1 -0
- package/dist/telemetry/random.d.ts +18 -0
- package/dist/telemetry/random.d.ts.map +1 -0
- package/dist/telemetry/rtc.d.ts +35 -0
- package/dist/telemetry/rtc.d.ts.map +1 -0
- package/dist/telemetry/storage.d.ts +22 -0
- package/dist/telemetry/storage.d.ts.map +1 -0
- package/dist/telemetry/sync.d.ts +10 -0
- package/dist/telemetry/sync.d.ts.map +1 -0
- package/dist/telemetry/test-support.d.ts +51 -0
- package/dist/telemetry/test-support.d.ts.map +1 -0
- package/dist/telemetry/trace.d.ts +18 -0
- package/dist/telemetry/trace.d.ts.map +1 -0
- package/dist/telemetry/types.d.ts +109 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/webhooks/chunk-UNMJZNTZ.js +31 -0
- package/dist/webhooks/errors.d.cts +8 -0
- package/dist/webhooks/errors.d.ts +9 -0
- package/dist/webhooks/errors.d.ts.map +1 -0
- package/dist/webhooks/generated/event-v1.d.cts +764 -0
- package/dist/webhooks/generated/event-v1.d.ts +765 -0
- package/dist/webhooks/generated/event-v1.d.ts.map +1 -0
- package/dist/webhooks/generated/fixtures-v1.d.cts +46 -0
- package/dist/webhooks/generated/fixtures-v1.d.ts +47 -0
- package/dist/webhooks/generated/fixtures-v1.d.ts.map +1 -0
- package/dist/webhooks/index.cjs +1242 -0
- package/dist/webhooks/index.d.cts +5 -0
- package/dist/webhooks/index.d.ts +6 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +1197 -0
- package/dist/webhooks/processor.d.cts +21 -0
- package/dist/webhooks/processor.d.ts +22 -0
- package/dist/webhooks/processor.d.ts.map +1 -0
- package/dist/webhooks/server-only.cjs +36 -0
- package/dist/webhooks/server-only.d.cts +1 -0
- package/dist/webhooks/server-only.d.ts +2 -0
- package/dist/webhooks/server-only.d.ts.map +1 -0
- package/dist/webhooks/server-only.js +9 -0
- package/dist/webhooks/test.cjs +160 -0
- package/dist/webhooks/test.d.cts +42 -0
- package/dist/webhooks/test.d.ts +43 -0
- package/dist/webhooks/test.d.ts.map +1 -0
- package/dist/webhooks/test.js +137 -0
- package/dist/webhooks/types.d.cts +55 -0
- package/dist/webhooks/types.d.ts +56 -0
- package/dist/webhooks/types.d.ts.map +1 -0
- package/dist/webhooks/validate.d.cts +5 -0
- package/dist/webhooks/validate.d.ts +6 -0
- package/dist/webhooks/validate.d.ts.map +1 -0
- package/dist/webhooks/verify.d.cts +10 -0
- package/dist/webhooks/verify.d.ts +11 -0
- package/dist/webhooks/verify.d.ts.map +1 -0
- package/dist/whiteboard/file-http-transport.d.ts +9 -0
- package/dist/whiteboard/file-http-transport.d.ts.map +1 -0
- package/dist/whiteboard/index.d.ts +7 -0
- package/dist/whiteboard/index.d.ts.map +1 -0
- package/dist/whiteboard/types.d.ts +139 -0
- package/dist/whiteboard/types.d.ts.map +1 -0
- package/dist/whiteboard/v1-client.d.ts +18 -0
- package/dist/whiteboard/v1-client.d.ts.map +1 -0
- package/dist/whiteboard/v1-codec.d.ts +5 -0
- package/dist/whiteboard/v1-codec.d.ts.map +1 -0
- package/dist/whiteboard/v1-create.d.ts +8 -0
- package/dist/whiteboard/v1-create.d.ts.map +1 -0
- package/dist/whiteboard/v1-multipart.d.ts +30 -0
- package/dist/whiteboard/v1-multipart.d.ts.map +1 -0
- package/dist/whiteboard/v1-persistence.d.ts +9 -0
- package/dist/whiteboard/v1-persistence.d.ts.map +1 -0
- package/package.json +222 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type Schema = Readonly<Record<string, unknown>>;
|
|
2
|
+
export declare const validateSchema: (value: unknown, schema: Schema) => boolean;
|
|
3
|
+
export declare const validateWebhookEnvelopeV1: (value: unknown) => value is Record<string, unknown>;
|
|
4
|
+
export declare const validateKnownWebhookEventV1: (value: unknown) => boolean;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
type Schema = Readonly<Record<string, unknown>>;
|
|
2
|
+
export declare const validateSchema: (value: unknown, schema: Schema) => boolean;
|
|
3
|
+
export declare const validateWebhookEnvelopeV1: (value: unknown) => value is Record<string, unknown>;
|
|
4
|
+
export declare const validateKnownWebhookEventV1: (value: unknown) => boolean;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/webhooks/validate.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAkFhD,eAAO,MAAM,cAAc,UAAW,OAAO,UAAU,MAAM,KAAG,OAK/D,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAGzF,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAAW,OAAO,KAAG,OAAsD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChalkWebhookEvent } from "./types.cjs";
|
|
2
|
+
export type VerifyWebhookInput = {
|
|
3
|
+
rawBody: Uint8Array;
|
|
4
|
+
headers: Headers | Record<string, string | string[] | undefined>;
|
|
5
|
+
secrets: readonly string[];
|
|
6
|
+
toleranceSeconds?: number;
|
|
7
|
+
/** Unsafe outside deterministic tests. */
|
|
8
|
+
now?: () => Date;
|
|
9
|
+
};
|
|
10
|
+
export declare const verifyWebhook: (input: VerifyWebhookInput) => Promise<ChalkWebhookEvent>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChalkWebhookEvent } from "./types.js";
|
|
2
|
+
export type VerifyWebhookInput = {
|
|
3
|
+
rawBody: Uint8Array;
|
|
4
|
+
headers: Headers | Record<string, string | string[] | undefined>;
|
|
5
|
+
secrets: readonly string[];
|
|
6
|
+
toleranceSeconds?: number;
|
|
7
|
+
/** Unsafe outside deterministic tests. */
|
|
8
|
+
now?: () => Date;
|
|
9
|
+
};
|
|
10
|
+
export declare const verifyWebhook: (input: VerifyWebhookInput) => Promise<ChalkWebhookEvent>;
|
|
11
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/webhooks/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAYzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACjE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAwLF,eAAO,MAAM,aAAa,UAAiB,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,CAOxF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ChalkWhiteboardV1FileTransport } from "./types";
|
|
2
|
+
export type ChalkWhiteboardV1FileHttpTransportOptions = {
|
|
3
|
+
readonly baseUrl: string;
|
|
4
|
+
readonly token: () => Promise<string>;
|
|
5
|
+
readonly sceneId: () => string;
|
|
6
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
7
|
+
};
|
|
8
|
+
export declare function createChalkWhiteboardV1FileHttpTransport(options: ChalkWhiteboardV1FileHttpTransportOptions): ChalkWhiteboardV1FileTransport;
|
|
9
|
+
//# sourceMappingURL=file-http-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-http-transport.d.ts","sourceRoot":"","sources":["../../src/whiteboard/file-http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAErH,MAAM,MAAM,yCAAyC,GAAG;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAC1C,CAAC;AAEF,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,yCAAyC,GAAG,8BAA8B,CAgC3I"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createChalkWhiteboardV1FileHttpTransport, type ChalkWhiteboardV1FileHttpTransportOptions } from "./file-http-transport";
|
|
2
|
+
export * from "./types";
|
|
3
|
+
export { ChalkWhiteboardV1Client } from "./v1-client";
|
|
4
|
+
export { decodeWhiteboardV1ServerFrame, encodeWhiteboardV1ClientFrame } from "./v1-codec";
|
|
5
|
+
export { createChalkWhiteboardV1Client, type CreateChalkWhiteboardV1ClientOptions } from "./v1-create";
|
|
6
|
+
export { InMemoryChalkWhiteboardV1PendingOperationStore } from "./v1-persistence";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/whiteboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wCAAwC,EAAE,KAAK,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AACjI,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,KAAK,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EAAE,8CAA8C,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export type ChalkJsonValue = null | boolean | number | string | readonly ChalkJsonValue[] | {
|
|
2
|
+
readonly [key: string]: ChalkJsonValue;
|
|
3
|
+
};
|
|
4
|
+
export type ChalkWhiteboardV1Element = {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly type: string;
|
|
7
|
+
readonly version: number;
|
|
8
|
+
readonly versionNonce: number;
|
|
9
|
+
readonly index: string;
|
|
10
|
+
readonly isDeleted: boolean;
|
|
11
|
+
readonly payload: Readonly<Record<string, ChalkJsonValue>>;
|
|
12
|
+
};
|
|
13
|
+
export type ChalkSharedWhiteboardAppState = {
|
|
14
|
+
readonly viewBackgroundColor?: string;
|
|
15
|
+
};
|
|
16
|
+
export type ChalkWhiteboardV1UpdateInput = {
|
|
17
|
+
readonly sceneId: string;
|
|
18
|
+
readonly syncAll: boolean;
|
|
19
|
+
readonly elements: readonly ChalkWhiteboardV1Element[];
|
|
20
|
+
};
|
|
21
|
+
export type ChalkWhiteboardV1Event = {
|
|
22
|
+
readonly type: "snapshot";
|
|
23
|
+
readonly sceneId: string;
|
|
24
|
+
readonly revision: string;
|
|
25
|
+
readonly elements: readonly ChalkWhiteboardV1Element[];
|
|
26
|
+
readonly appState?: ChalkSharedWhiteboardAppState;
|
|
27
|
+
} | {
|
|
28
|
+
readonly type: "update";
|
|
29
|
+
readonly sceneId: string;
|
|
30
|
+
readonly revision: string;
|
|
31
|
+
readonly elements: readonly ChalkWhiteboardV1Element[];
|
|
32
|
+
} | {
|
|
33
|
+
readonly type: "cursor";
|
|
34
|
+
readonly participantId: string;
|
|
35
|
+
readonly displayName: string;
|
|
36
|
+
readonly x: number;
|
|
37
|
+
readonly y: number;
|
|
38
|
+
readonly occurredAt: string;
|
|
39
|
+
} | {
|
|
40
|
+
readonly type: "reset_required";
|
|
41
|
+
readonly sceneId: string;
|
|
42
|
+
readonly reason: "scene_changed" | "cursor_expired" | "gap";
|
|
43
|
+
};
|
|
44
|
+
export type ChalkWhiteboardV1Commit = {
|
|
45
|
+
readonly operationId: string;
|
|
46
|
+
readonly sceneId: string;
|
|
47
|
+
readonly revision: string;
|
|
48
|
+
};
|
|
49
|
+
export type ChalkWhiteboardV1Operation = "start_scene_subscription" | "submit_update" | "request_snapshot" | "clear" | "set_draw_permission" | "initiate_file_upload" | "finalize_file_upload" | "get_file_download";
|
|
50
|
+
export type ChalkWhiteboardV1ErrorCode = "unavailable" | "permission_denied" | "invalid_payload" | "stale_scene" | "cursor_reset_required" | "storage_unavailable" | "file_transfer_failed";
|
|
51
|
+
export type ChalkWhiteboardV1Failure = {
|
|
52
|
+
readonly operation: ChalkWhiteboardV1Operation;
|
|
53
|
+
readonly code: ChalkWhiteboardV1ErrorCode;
|
|
54
|
+
readonly recoverable: boolean;
|
|
55
|
+
readonly message: string;
|
|
56
|
+
};
|
|
57
|
+
export declare class ChalkWhiteboardV1Error extends Error {
|
|
58
|
+
readonly operation: ChalkWhiteboardV1Operation;
|
|
59
|
+
readonly code: ChalkWhiteboardV1ErrorCode;
|
|
60
|
+
readonly recoverable: boolean;
|
|
61
|
+
constructor(failure: ChalkWhiteboardV1Failure, options?: ErrorOptions);
|
|
62
|
+
}
|
|
63
|
+
export type ChalkWhiteboardV1FileTransport = {
|
|
64
|
+
readonly initiateUpload: (input: {
|
|
65
|
+
readonly fileId: string;
|
|
66
|
+
readonly mimeType: string;
|
|
67
|
+
readonly byteLength: number;
|
|
68
|
+
readonly sha256: string;
|
|
69
|
+
}) => Promise<{
|
|
70
|
+
readonly uploadId: string;
|
|
71
|
+
readonly method: "PUT";
|
|
72
|
+
readonly uploadUrl: string;
|
|
73
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
74
|
+
readonly expiresAt: string;
|
|
75
|
+
}>;
|
|
76
|
+
readonly finalizeUpload: (uploadId: string) => Promise<void>;
|
|
77
|
+
readonly getDownloadUrl: (fileId: string) => Promise<{
|
|
78
|
+
readonly downloadUrl: string;
|
|
79
|
+
readonly expiresAt: string;
|
|
80
|
+
}>;
|
|
81
|
+
};
|
|
82
|
+
export type ChalkWhiteboardV1Transport = {
|
|
83
|
+
readonly startSceneSubscription: () => Promise<void>;
|
|
84
|
+
readonly stopSceneSubscription: () => void;
|
|
85
|
+
readonly subscribe: (listener: (event: ChalkWhiteboardV1Event) => void) => () => void;
|
|
86
|
+
readonly submitUpdate: (input: ChalkWhiteboardV1UpdateInput) => Promise<ChalkWhiteboardV1Commit>;
|
|
87
|
+
readonly sendCursor: (input: {
|
|
88
|
+
readonly x: number;
|
|
89
|
+
readonly y: number;
|
|
90
|
+
}) => void;
|
|
91
|
+
readonly requestSnapshot: () => Promise<void>;
|
|
92
|
+
readonly clear: () => Promise<ChalkWhiteboardV1Commit>;
|
|
93
|
+
readonly setDrawPermission: (participantId: string, canDraw: boolean) => Promise<void>;
|
|
94
|
+
readonly files: ChalkWhiteboardV1FileTransport;
|
|
95
|
+
};
|
|
96
|
+
export type ChalkWhiteboardV1PendingOperation = {
|
|
97
|
+
readonly operationId: string;
|
|
98
|
+
readonly frame: Extract<WhiteboardV1ClientFrame, {
|
|
99
|
+
readonly type: "submit_update" | "clear" | "set_draw_permission";
|
|
100
|
+
}>;
|
|
101
|
+
readonly createdAt: number;
|
|
102
|
+
readonly bytes: number;
|
|
103
|
+
};
|
|
104
|
+
export type ChalkWhiteboardV1PendingOperationStore = {
|
|
105
|
+
readonly load: () => Promise<readonly ChalkWhiteboardV1PendingOperation[]>;
|
|
106
|
+
readonly put: (operation: ChalkWhiteboardV1PendingOperation) => Promise<void>;
|
|
107
|
+
readonly remove: (operationId: string) => Promise<void>;
|
|
108
|
+
};
|
|
109
|
+
export type ChalkWhiteboardV1ClientOptions = {
|
|
110
|
+
readonly url: string;
|
|
111
|
+
readonly token: () => Promise<string>;
|
|
112
|
+
readonly webSocket: SyncWebSocketFactory;
|
|
113
|
+
readonly files: ChalkWhiteboardV1FileTransport;
|
|
114
|
+
readonly lifecycle?: SyncLifecycle;
|
|
115
|
+
readonly clock?: SyncClock;
|
|
116
|
+
readonly ids?: SyncIdGenerator;
|
|
117
|
+
readonly pendingStore?: ChalkWhiteboardV1PendingOperationStore;
|
|
118
|
+
readonly cursor?: {
|
|
119
|
+
readonly sceneId: string;
|
|
120
|
+
readonly revision: string;
|
|
121
|
+
};
|
|
122
|
+
readonly reconnectDelayMs?: number;
|
|
123
|
+
readonly retryDelayMs?: number;
|
|
124
|
+
readonly onSummary?: (summary: ChalkWhiteboardSummary) => void;
|
|
125
|
+
};
|
|
126
|
+
export type ChalkWhiteboardSummary = {
|
|
127
|
+
readonly status: "unsubscribed" | "loading" | "ready" | "recovering" | "failed";
|
|
128
|
+
readonly sceneId: string | null;
|
|
129
|
+
readonly revision: string | null;
|
|
130
|
+
readonly capabilities: readonly ChalkWhiteboardV1Capability[];
|
|
131
|
+
readonly canDraw: boolean;
|
|
132
|
+
readonly canClear: boolean;
|
|
133
|
+
readonly error: ChalkWhiteboardV1Failure | null;
|
|
134
|
+
};
|
|
135
|
+
import type { WhiteboardV1ClientFrame } from "../generated/whiteboard-v1";
|
|
136
|
+
import type { ChalkWhiteboardV1Capability } from "../collaboration/types";
|
|
137
|
+
import type { SyncClock, SyncIdGenerator, SyncLifecycle, SyncWebSocketFactory } from "../sync/types";
|
|
138
|
+
export type { ChalkWhiteboardV1Capability } from "../collaboration/types";
|
|
139
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/whiteboard/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ChalkWhiteboardV1ClientOptions, type ChalkWhiteboardV1Commit, type ChalkWhiteboardV1Event, type ChalkWhiteboardV1Transport, type ChalkWhiteboardV1UpdateInput } from "./types";
|
|
2
|
+
export declare class ChalkWhiteboardV1Client implements ChalkWhiteboardV1Transport {
|
|
3
|
+
#private;
|
|
4
|
+
readonly files: import("./types").ChalkWhiteboardV1FileTransport;
|
|
5
|
+
constructor(options: ChalkWhiteboardV1ClientOptions);
|
|
6
|
+
startSceneSubscription(): Promise<void>;
|
|
7
|
+
stopSceneSubscription(): void;
|
|
8
|
+
subscribe(listener: (event: ChalkWhiteboardV1Event) => void): () => void;
|
|
9
|
+
submitUpdate(input: ChalkWhiteboardV1UpdateInput): Promise<ChalkWhiteboardV1Commit>;
|
|
10
|
+
sendCursor(input: {
|
|
11
|
+
readonly x: number;
|
|
12
|
+
readonly y: number;
|
|
13
|
+
}): void;
|
|
14
|
+
requestSnapshot(): Promise<void>;
|
|
15
|
+
clear(): Promise<ChalkWhiteboardV1Commit>;
|
|
16
|
+
setDrawPermission(participantId: string, canDraw: boolean): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=v1-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-client.d.ts","sourceRoot":"","sources":["../../src/whiteboard/v1-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAE5B,KAAK,sBAAsB,EAK3B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAClC,MAAM,SAAS,CAAC;AAmCjB,qBAAa,uBAAwB,YAAW,0BAA0B;;IACxE,QAAQ,CAAC,KAAK,mDAAC;IAiCf,YAAY,OAAO,EAAE,8BAA8B,EAOlD;IAED,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWtC;IAED,qBAAqB,IAAI,IAAI,CAqB5B;IAED,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,MAAM,IAAI,CAGvE;IAED,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAalF;IAED,UAAU,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAQlE;IAED,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/B;IAED,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAOxC;IAEK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9E;CAofF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type WhiteboardV1ClientFrame, type WhiteboardV1ServerFrame } from "../generated/whiteboard-v1";
|
|
2
|
+
export declare function encodeWhiteboardV1ClientFrame(frame: unknown): string;
|
|
3
|
+
export declare function decodeWhiteboardV1ServerFrame(wire: string): WhiteboardV1ServerFrame;
|
|
4
|
+
export declare function decodeWhiteboardV1ClientFrame(value: unknown): WhiteboardV1ClientFrame;
|
|
5
|
+
//# sourceMappingURL=v1-codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-codec.d.ts","sourceRoot":"","sources":["../../src/whiteboard/v1-codec.ts"],"names":[],"mappings":"AACA,OAAO,EAAyF,KAAK,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE/L,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpE;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAEnF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAErF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChalkWhiteboardV1Client } from "./v1-client";
|
|
2
|
+
import type { ChalkWhiteboardV1ClientOptions } from "./types";
|
|
3
|
+
export type CreateChalkWhiteboardV1ClientOptions = Omit<ChalkWhiteboardV1ClientOptions, "lifecycle" | "webSocket"> & {
|
|
4
|
+
readonly lifecycle?: ChalkWhiteboardV1ClientOptions["lifecycle"];
|
|
5
|
+
readonly webSocket?: ChalkWhiteboardV1ClientOptions["webSocket"];
|
|
6
|
+
};
|
|
7
|
+
export declare function createChalkWhiteboardV1Client(options: CreateChalkWhiteboardV1ClientOptions): ChalkWhiteboardV1Client;
|
|
8
|
+
//# sourceMappingURL=v1-create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-create.d.ts","sourceRoot":"","sources":["../../src/whiteboard/v1-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,MAAM,oCAAoC,GAAG,IAAI,CAAC,8BAA8B,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG;IACnH,QAAQ,CAAC,SAAS,CAAC,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC;CAClE,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,oCAAoC,GAAG,uBAAuB,CAQpH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type WhiteboardV1ClientFrame, type WhiteboardV1ServerFrame } from "../generated/whiteboard-v1";
|
|
2
|
+
export type WhiteboardV1LogicalOperationFrame = Extract<WhiteboardV1ClientFrame, {
|
|
3
|
+
readonly type: "submit_update" | "clear" | "set_draw_permission";
|
|
4
|
+
}>;
|
|
5
|
+
type UpdatePartFrame = Extract<WhiteboardV1ServerFrame, {
|
|
6
|
+
readonly type: "update_part";
|
|
7
|
+
}>;
|
|
8
|
+
type UpdateFrame = Extract<WhiteboardV1ServerFrame, {
|
|
9
|
+
readonly type: "update";
|
|
10
|
+
}>;
|
|
11
|
+
export type WhiteboardV1UpdateAssemblyResult = {
|
|
12
|
+
readonly status: "incomplete";
|
|
13
|
+
readonly key: string;
|
|
14
|
+
readonly started: boolean;
|
|
15
|
+
} | {
|
|
16
|
+
readonly status: "complete";
|
|
17
|
+
readonly key: string;
|
|
18
|
+
readonly frame: UpdateFrame;
|
|
19
|
+
};
|
|
20
|
+
export declare function whiteboardV1OperationFrames(frame: WhiteboardV1LogicalOperationFrame): readonly WhiteboardV1ClientFrame[];
|
|
21
|
+
export declare function whiteboardV1PendingOperationBytes(frame: WhiteboardV1LogicalOperationFrame): number;
|
|
22
|
+
export declare class WhiteboardV1UpdateAssembler {
|
|
23
|
+
#private;
|
|
24
|
+
add(frame: UpdatePartFrame): WhiteboardV1UpdateAssemblyResult;
|
|
25
|
+
discard(key: string): void;
|
|
26
|
+
clear(): void;
|
|
27
|
+
}
|
|
28
|
+
export declare function whiteboardV1UpdateAssemblyKey(frame: Pick<UpdatePartFrame, "operation_id" | "scene_id" | "revision">): string;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=v1-multipart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-multipart.d.ts","sourceRoot":"","sources":["../../src/whiteboard/v1-multipart.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,uBAAuB,EAA4B,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG7L,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC,uBAAuB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,qBAAqB,CAAA;CAAE,CAAC,CAAC;AAIvJ,KAAK,eAAe,GAAG,OAAO,CAAC,uBAAuB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAC1F,KAAK,WAAW,GAAG,OAAO,CAAC,uBAAuB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAYjF,MAAM,MAAM,gCAAgC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAEvN,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iCAAiC,GAAG,SAAS,uBAAuB,EAAE,CAQxH;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,iCAAiC,GAAG,MAAM,CAElG;AAED,qBAAa,2BAA2B;;IAItC,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,gCAAgC,CAyB5D;IAED,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzB;IAED,KAAK,IAAI,IAAI,CAGZ;CAQF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,MAAM,CAE5H"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ChalkWhiteboardV1PendingOperation, ChalkWhiteboardV1PendingOperationStore } from "./types";
|
|
2
|
+
export declare class InMemoryChalkWhiteboardV1PendingOperationStore implements ChalkWhiteboardV1PendingOperationStore {
|
|
3
|
+
#private;
|
|
4
|
+
load(): Promise<readonly ChalkWhiteboardV1PendingOperation[]>;
|
|
5
|
+
put(operation: ChalkWhiteboardV1PendingOperation): Promise<void>;
|
|
6
|
+
remove(operationId: string): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function compareChalkWhiteboardV1PendingOperations(left: ChalkWhiteboardV1PendingOperation, right: ChalkWhiteboardV1PendingOperation): number;
|
|
9
|
+
//# sourceMappingURL=v1-persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-persistence.d.ts","sourceRoot":"","sources":["../../src/whiteboard/v1-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,sCAAsC,EAAE,MAAM,SAAS,CAAC;AAEzG,qBAAa,8CAA+C,YAAW,sCAAsC;;IAGrG,IAAI,IAAI,OAAO,CAAC,SAAS,iCAAiC,EAAE,CAAC,CAElE;IAEK,GAAG,CAAC,SAAS,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;CACF;AAED,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,iCAAiC,GAAG,MAAM,CAEnJ"}
|
package/package.json
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@q9labsai/chalk-client",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/Q9Labs/chalk.git",
|
|
8
|
+
"directory": "sdks/typescript/client"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"type": "module",
|
|
14
|
+
"sideEffects": [
|
|
15
|
+
"./dist/server/server-only.js",
|
|
16
|
+
"./dist/server/server-only.cjs",
|
|
17
|
+
"./dist/webhooks/server-only.js",
|
|
18
|
+
"./dist/webhooks/server-only.cjs"
|
|
19
|
+
],
|
|
20
|
+
"main": "./dist/index.js",
|
|
21
|
+
"module": "./dist/index.js",
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"typesVersions": {
|
|
24
|
+
"*": {
|
|
25
|
+
"telemetry": [
|
|
26
|
+
"./dist/telemetry/index.d.ts"
|
|
27
|
+
],
|
|
28
|
+
"effect": [
|
|
29
|
+
"./dist/effect.d.ts"
|
|
30
|
+
],
|
|
31
|
+
"media": [
|
|
32
|
+
"./dist/media/index.d.ts"
|
|
33
|
+
],
|
|
34
|
+
"sync": [
|
|
35
|
+
"./dist/sync/index.d.ts"
|
|
36
|
+
],
|
|
37
|
+
"server": [
|
|
38
|
+
"./dist/server/index.d.ts"
|
|
39
|
+
],
|
|
40
|
+
"webhooks": [
|
|
41
|
+
"./dist/webhooks/index.d.ts"
|
|
42
|
+
],
|
|
43
|
+
"webhooks/test": [
|
|
44
|
+
"./dist/webhooks/test.d.ts"
|
|
45
|
+
],
|
|
46
|
+
"*": [
|
|
47
|
+
"./dist/index.d.ts"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"exports": {
|
|
52
|
+
".": {
|
|
53
|
+
"types": "./dist/index.d.ts",
|
|
54
|
+
"import": "./dist/index.js",
|
|
55
|
+
"require": "./dist/index.js",
|
|
56
|
+
"default": "./dist/index.js"
|
|
57
|
+
},
|
|
58
|
+
"./telemetry": {
|
|
59
|
+
"types": "./dist/telemetry/index.d.ts",
|
|
60
|
+
"react-native": "./dist/telemetry/index.js",
|
|
61
|
+
"import": "./dist/telemetry/index.js",
|
|
62
|
+
"require": "./dist/telemetry/index.js",
|
|
63
|
+
"default": "./dist/telemetry/index.js"
|
|
64
|
+
},
|
|
65
|
+
"./effect": {
|
|
66
|
+
"types": "./dist/effect.d.ts",
|
|
67
|
+
"react-native": "./dist/effect.js",
|
|
68
|
+
"import": "./dist/effect.js",
|
|
69
|
+
"require": "./dist/effect.js",
|
|
70
|
+
"default": "./dist/effect.js"
|
|
71
|
+
},
|
|
72
|
+
"./media": {
|
|
73
|
+
"types": "./dist/media/index.d.ts",
|
|
74
|
+
"react-native": "./dist/media/index.js",
|
|
75
|
+
"import": "./dist/media/index.js",
|
|
76
|
+
"require": "./dist/media/index.js",
|
|
77
|
+
"default": "./dist/media/index.js"
|
|
78
|
+
},
|
|
79
|
+
"./sync": {
|
|
80
|
+
"types": "./dist/sync/index.d.ts",
|
|
81
|
+
"react-native": "./dist/sync/index.js",
|
|
82
|
+
"import": "./dist/sync/index.js",
|
|
83
|
+
"require": "./dist/sync/index.js",
|
|
84
|
+
"default": "./dist/sync/index.js"
|
|
85
|
+
},
|
|
86
|
+
"./server": {
|
|
87
|
+
"workerd": {
|
|
88
|
+
"types": "./dist/server/index.d.ts",
|
|
89
|
+
"default": "./dist/server/index.js"
|
|
90
|
+
},
|
|
91
|
+
"browser": {
|
|
92
|
+
"import": {
|
|
93
|
+
"types": "./dist/server/server-only.d.ts",
|
|
94
|
+
"default": "./dist/server/server-only.js"
|
|
95
|
+
},
|
|
96
|
+
"require": {
|
|
97
|
+
"types": "./dist/server/server-only.d.cts",
|
|
98
|
+
"default": "./dist/server/server-only.cjs"
|
|
99
|
+
},
|
|
100
|
+
"default": "./dist/server/server-only.js"
|
|
101
|
+
},
|
|
102
|
+
"react-native": {
|
|
103
|
+
"import": {
|
|
104
|
+
"types": "./dist/server/server-only.d.ts",
|
|
105
|
+
"default": "./dist/server/server-only.js"
|
|
106
|
+
},
|
|
107
|
+
"require": {
|
|
108
|
+
"types": "./dist/server/server-only.d.cts",
|
|
109
|
+
"default": "./dist/server/server-only.cjs"
|
|
110
|
+
},
|
|
111
|
+
"default": "./dist/server/server-only.js"
|
|
112
|
+
},
|
|
113
|
+
"import": {
|
|
114
|
+
"types": "./dist/server/index.d.ts",
|
|
115
|
+
"default": "./dist/server/index.js"
|
|
116
|
+
},
|
|
117
|
+
"require": {
|
|
118
|
+
"types": "./dist/server/index.d.cts",
|
|
119
|
+
"default": "./dist/server/index.cjs"
|
|
120
|
+
},
|
|
121
|
+
"default": "./dist/server/index.js"
|
|
122
|
+
},
|
|
123
|
+
"./webhooks": {
|
|
124
|
+
"browser": {
|
|
125
|
+
"import": {
|
|
126
|
+
"types": "./dist/webhooks/server-only.d.ts",
|
|
127
|
+
"default": "./dist/webhooks/server-only.js"
|
|
128
|
+
},
|
|
129
|
+
"require": {
|
|
130
|
+
"types": "./dist/webhooks/server-only.d.cts",
|
|
131
|
+
"default": "./dist/webhooks/server-only.cjs"
|
|
132
|
+
},
|
|
133
|
+
"default": "./dist/webhooks/server-only.js"
|
|
134
|
+
},
|
|
135
|
+
"react-native": {
|
|
136
|
+
"import": {
|
|
137
|
+
"types": "./dist/webhooks/server-only.d.ts",
|
|
138
|
+
"default": "./dist/webhooks/server-only.js"
|
|
139
|
+
},
|
|
140
|
+
"require": {
|
|
141
|
+
"types": "./dist/webhooks/server-only.d.cts",
|
|
142
|
+
"default": "./dist/webhooks/server-only.cjs"
|
|
143
|
+
},
|
|
144
|
+
"default": "./dist/webhooks/server-only.js"
|
|
145
|
+
},
|
|
146
|
+
"import": {
|
|
147
|
+
"types": "./dist/webhooks/index.d.ts",
|
|
148
|
+
"default": "./dist/webhooks/index.js"
|
|
149
|
+
},
|
|
150
|
+
"require": {
|
|
151
|
+
"types": "./dist/webhooks/index.d.cts",
|
|
152
|
+
"default": "./dist/webhooks/index.cjs"
|
|
153
|
+
},
|
|
154
|
+
"default": "./dist/webhooks/index.js"
|
|
155
|
+
},
|
|
156
|
+
"./webhooks/test": {
|
|
157
|
+
"browser": {
|
|
158
|
+
"import": {
|
|
159
|
+
"types": "./dist/webhooks/server-only.d.ts",
|
|
160
|
+
"default": "./dist/webhooks/server-only.js"
|
|
161
|
+
},
|
|
162
|
+
"require": {
|
|
163
|
+
"types": "./dist/webhooks/server-only.d.cts",
|
|
164
|
+
"default": "./dist/webhooks/server-only.cjs"
|
|
165
|
+
},
|
|
166
|
+
"default": "./dist/webhooks/server-only.js"
|
|
167
|
+
},
|
|
168
|
+
"react-native": {
|
|
169
|
+
"import": {
|
|
170
|
+
"types": "./dist/webhooks/server-only.d.ts",
|
|
171
|
+
"default": "./dist/webhooks/server-only.js"
|
|
172
|
+
},
|
|
173
|
+
"require": {
|
|
174
|
+
"types": "./dist/webhooks/server-only.d.cts",
|
|
175
|
+
"default": "./dist/webhooks/server-only.cjs"
|
|
176
|
+
},
|
|
177
|
+
"default": "./dist/webhooks/server-only.js"
|
|
178
|
+
},
|
|
179
|
+
"import": {
|
|
180
|
+
"types": "./dist/webhooks/test.d.ts",
|
|
181
|
+
"default": "./dist/webhooks/test.js"
|
|
182
|
+
},
|
|
183
|
+
"require": {
|
|
184
|
+
"types": "./dist/webhooks/test.d.cts",
|
|
185
|
+
"default": "./dist/webhooks/test.cjs"
|
|
186
|
+
},
|
|
187
|
+
"default": "./dist/webhooks/test.js"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
"publishConfig": {
|
|
191
|
+
"access": "public",
|
|
192
|
+
"registry": "https://registry.npmjs.org/"
|
|
193
|
+
},
|
|
194
|
+
"dependencies": {
|
|
195
|
+
"@q9labsai/diagnostics-contracts": "^0.1.0",
|
|
196
|
+
"@noble/hashes": "2.2.0",
|
|
197
|
+
"effect": "4.0.0-beta.102"
|
|
198
|
+
},
|
|
199
|
+
"devDependencies": {
|
|
200
|
+
"esbuild": "0.28.1",
|
|
201
|
+
"playwright": "^1.57.0"
|
|
202
|
+
},
|
|
203
|
+
"engines": {
|
|
204
|
+
"node": ">=22"
|
|
205
|
+
},
|
|
206
|
+
"scripts": {
|
|
207
|
+
"build": "pnpm run generate:webhooks && rm -rf ./dist && tsup ./src/index.ts ./src/telemetry/index.ts ./src/effect.ts ./src/media/index.ts ./src/sync/index.ts --format esm --out-dir ./dist --platform browser --external effect && tsup ./src/webhooks/index.ts ./src/webhooks/test.ts ./src/webhooks/server-only.ts --format esm,cjs --out-dir ./dist/webhooks --platform neutral && tsup ./src/server/index.ts ./src/server/server-only.ts --format esm,cjs --out-dir ./dist/server --platform node && pnpm run build:types && pnpm run build:webhooks:cjs-types",
|
|
208
|
+
"build:types": "rm -f tsconfig.tsbuildinfo && tsc --build tsconfig.json",
|
|
209
|
+
"build:webhooks:cjs-types": "node ./scripts/generate-webhook-cjs-types.mjs",
|
|
210
|
+
"dev": "tsup ./src/index.ts ./src/telemetry/index.ts ./src/effect.ts ./src/media/index.ts ./src/sync/index.ts --format esm --out-dir ./dist --platform browser --external effect --watch",
|
|
211
|
+
"generate:webhooks": "node ./scripts/generate-webhook-contract.mjs",
|
|
212
|
+
"check:webhooks-generated": "node ./scripts/generate-webhook-contract.mjs --check",
|
|
213
|
+
"test": "pnpm exec vitest run",
|
|
214
|
+
"test:webhooks-package": "pnpm run build && node ./scripts/check-webhook-package.mjs",
|
|
215
|
+
"test:server-package": "pnpm run build && node ./scripts/check-server-package.mjs",
|
|
216
|
+
"test:sync-browser": "pnpm run build && node ./scripts/real-browser-sync.mjs",
|
|
217
|
+
"test:sync-node-restart": "pnpm run build && node ./scripts/real-node-restart-sync.mjs",
|
|
218
|
+
"check-types": "tsc --project tsconfig.check-types.json --noEmit",
|
|
219
|
+
"lint": "pnpm exec oxfmt --check . && tsc --project tsconfig.check-types.json --noEmit",
|
|
220
|
+
"clean": "rm -rf dist"
|
|
221
|
+
}
|
|
222
|
+
}
|