@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,201 @@
|
|
|
1
|
+
import type { AccessGrant } from "../access/grant.cjs";
|
|
2
|
+
export type { AccessGrant } from "../access/grant.cjs";
|
|
3
|
+
export type ChalkServerHeaders = Readonly<Record<string, string>>;
|
|
4
|
+
export type ChalkServerTelemetry = {
|
|
5
|
+
readonly journeyId: string;
|
|
6
|
+
readonly rootJourneyId: string;
|
|
7
|
+
readonly traceparent: string;
|
|
8
|
+
readonly tracestate?: string;
|
|
9
|
+
};
|
|
10
|
+
export type ChalkServerClientOptions = {
|
|
11
|
+
readonly apiKey: string;
|
|
12
|
+
readonly tenantId: string;
|
|
13
|
+
readonly apiBaseURL: string | URL;
|
|
14
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
15
|
+
readonly headers?: ChalkServerHeaders;
|
|
16
|
+
readonly telemetry?: ChalkServerTelemetry;
|
|
17
|
+
};
|
|
18
|
+
export type ChalkIdempotencyOptions = {
|
|
19
|
+
readonly idempotencyKey?: string;
|
|
20
|
+
};
|
|
21
|
+
export type CreateSpaceInput = {
|
|
22
|
+
readonly admissionPolicy?: unknown;
|
|
23
|
+
readonly defaultEpisodeDurationSeconds: number;
|
|
24
|
+
readonly lingerWindowSeconds: number;
|
|
25
|
+
readonly maximumEpisodeDurationSeconds: number;
|
|
26
|
+
readonly mediaPlane: string;
|
|
27
|
+
readonly metadata?: unknown;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly recurringPolicy?: unknown;
|
|
30
|
+
readonly slug: string;
|
|
31
|
+
};
|
|
32
|
+
export type Space = {
|
|
33
|
+
readonly admission_policy: unknown;
|
|
34
|
+
readonly created_at: string;
|
|
35
|
+
readonly created_by_user_id: string | null;
|
|
36
|
+
readonly default_episode_duration_seconds: number;
|
|
37
|
+
readonly id: string;
|
|
38
|
+
readonly linger_window_seconds: number;
|
|
39
|
+
readonly maximum_episode_duration_seconds: number;
|
|
40
|
+
readonly media_plane: string;
|
|
41
|
+
readonly metadata: unknown;
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly recurring_policy: unknown;
|
|
44
|
+
readonly roles: readonly {
|
|
45
|
+
readonly capabilities: readonly string[];
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly name: string;
|
|
48
|
+
}[];
|
|
49
|
+
readonly slug: string;
|
|
50
|
+
readonly tenant_id: string;
|
|
51
|
+
readonly updated_at: string;
|
|
52
|
+
};
|
|
53
|
+
export type CreateEpisodeInput = {
|
|
54
|
+
readonly metadata?: unknown;
|
|
55
|
+
readonly startedAt?: string | null;
|
|
56
|
+
};
|
|
57
|
+
export type Episode = {
|
|
58
|
+
readonly config_snapshot: unknown;
|
|
59
|
+
readonly created_at: string;
|
|
60
|
+
readonly deadline_at: string;
|
|
61
|
+
readonly deadline_generation: number;
|
|
62
|
+
readonly end_reason?: string | null;
|
|
63
|
+
readonly ended_at?: string;
|
|
64
|
+
readonly id: string;
|
|
65
|
+
readonly metadata: unknown;
|
|
66
|
+
readonly space_id: string;
|
|
67
|
+
readonly started_at: string;
|
|
68
|
+
readonly status: "active" | "ending" | "ended";
|
|
69
|
+
readonly tenant_id: string;
|
|
70
|
+
readonly updated_at: string;
|
|
71
|
+
};
|
|
72
|
+
type ExternalOperation = {
|
|
73
|
+
readonly created_at: string;
|
|
74
|
+
readonly deadline_generation?: number | null;
|
|
75
|
+
readonly id: string;
|
|
76
|
+
readonly operation_name: string;
|
|
77
|
+
readonly request_key: string;
|
|
78
|
+
readonly status: string;
|
|
79
|
+
readonly target_participant_generation?: number | null;
|
|
80
|
+
readonly target_participant_id?: string | null;
|
|
81
|
+
};
|
|
82
|
+
export type EpisodeEnd = {
|
|
83
|
+
readonly episode_id: string;
|
|
84
|
+
readonly external_operation: ExternalOperation;
|
|
85
|
+
readonly status: string;
|
|
86
|
+
};
|
|
87
|
+
export type AdmitParticipantInput = {
|
|
88
|
+
readonly identityId?: string;
|
|
89
|
+
readonly metadata?: unknown;
|
|
90
|
+
readonly name: string;
|
|
91
|
+
readonly participantId?: string;
|
|
92
|
+
readonly role: string;
|
|
93
|
+
};
|
|
94
|
+
type Participant = {
|
|
95
|
+
readonly capabilities: readonly string[];
|
|
96
|
+
readonly episode_id: string;
|
|
97
|
+
readonly generation: number;
|
|
98
|
+
readonly id: string;
|
|
99
|
+
readonly identity_id?: string | null;
|
|
100
|
+
readonly role: string;
|
|
101
|
+
readonly space_id: string;
|
|
102
|
+
readonly status: string;
|
|
103
|
+
readonly tenant_id: string;
|
|
104
|
+
};
|
|
105
|
+
export type ParticipantLifecycle = {
|
|
106
|
+
readonly access?: AccessGrant | null;
|
|
107
|
+
readonly admission_request?: {
|
|
108
|
+
readonly expires_at: string;
|
|
109
|
+
readonly id: string;
|
|
110
|
+
readonly status: string;
|
|
111
|
+
} | null;
|
|
112
|
+
readonly expires_at?: string;
|
|
113
|
+
readonly lifecycle_intent: {
|
|
114
|
+
readonly created_at: string;
|
|
115
|
+
readonly id: string;
|
|
116
|
+
readonly intent_name: string;
|
|
117
|
+
readonly participant_generation?: number | null;
|
|
118
|
+
readonly participant_id?: string | null;
|
|
119
|
+
readonly request_key: string;
|
|
120
|
+
readonly status: string;
|
|
121
|
+
};
|
|
122
|
+
readonly media_plane?: {
|
|
123
|
+
readonly client_payload: Readonly<Record<string, unknown>>;
|
|
124
|
+
readonly provider: string;
|
|
125
|
+
} | null;
|
|
126
|
+
readonly participant: Participant;
|
|
127
|
+
readonly sync_token?: string;
|
|
128
|
+
};
|
|
129
|
+
export type RemoveParticipantInput = {
|
|
130
|
+
readonly participantGeneration: number;
|
|
131
|
+
};
|
|
132
|
+
export type ParticipantRemoval = {
|
|
133
|
+
readonly external_operation: ExternalOperation;
|
|
134
|
+
readonly participant: Participant;
|
|
135
|
+
};
|
|
136
|
+
export type IssueAccessGrantInput = {
|
|
137
|
+
readonly participantGeneration: number;
|
|
138
|
+
readonly currentMediaToken: string;
|
|
139
|
+
readonly replaceMediaConnection?: false;
|
|
140
|
+
} | {
|
|
141
|
+
readonly participantGeneration: number;
|
|
142
|
+
readonly currentMediaToken?: never;
|
|
143
|
+
readonly replaceMediaConnection: true;
|
|
144
|
+
};
|
|
145
|
+
export type APIKey = {
|
|
146
|
+
readonly created_at: string;
|
|
147
|
+
readonly created_by_user_id: string | null;
|
|
148
|
+
readonly expires_at: string;
|
|
149
|
+
readonly id: string;
|
|
150
|
+
readonly key_prefix: string;
|
|
151
|
+
readonly last_used_at: string | null;
|
|
152
|
+
readonly name: string;
|
|
153
|
+
readonly revoked_at: string | null;
|
|
154
|
+
readonly scopes: readonly string[];
|
|
155
|
+
readonly tenant_id: string;
|
|
156
|
+
readonly updated_at: string;
|
|
157
|
+
};
|
|
158
|
+
export type APIKeyList = {
|
|
159
|
+
readonly api_keys: readonly APIKey[];
|
|
160
|
+
readonly pagination: {
|
|
161
|
+
readonly has_more: boolean;
|
|
162
|
+
readonly next_cursor: string | null;
|
|
163
|
+
readonly page_size: number;
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
export type APIKeyWithSecret = {
|
|
167
|
+
readonly api_key: APIKey;
|
|
168
|
+
readonly secret: string;
|
|
169
|
+
};
|
|
170
|
+
export type CreateAPIKeyInput = {
|
|
171
|
+
readonly expiresAt: string;
|
|
172
|
+
readonly name: string;
|
|
173
|
+
readonly scopes: readonly string[];
|
|
174
|
+
};
|
|
175
|
+
export type ListAPIKeysInput = {
|
|
176
|
+
readonly cursor?: string;
|
|
177
|
+
readonly pageSize?: number;
|
|
178
|
+
};
|
|
179
|
+
export type RotateAPIKeyInput = {
|
|
180
|
+
readonly expiresAt?: string | null;
|
|
181
|
+
};
|
|
182
|
+
export type ChalkServerClient = {
|
|
183
|
+
readonly spaces: {
|
|
184
|
+
create(input: CreateSpaceInput): Promise<Space>;
|
|
185
|
+
};
|
|
186
|
+
readonly episodes: {
|
|
187
|
+
create(spaceId: string, input: CreateEpisodeInput, options?: ChalkIdempotencyOptions): Promise<Episode>;
|
|
188
|
+
end(spaceId: string, episodeId: string, options?: ChalkIdempotencyOptions): Promise<EpisodeEnd>;
|
|
189
|
+
};
|
|
190
|
+
readonly participants: {
|
|
191
|
+
admit(spaceId: string, episodeId: string, input: AdmitParticipantInput, options?: ChalkIdempotencyOptions): Promise<ParticipantLifecycle>;
|
|
192
|
+
issueAccess(spaceId: string, episodeId: string, participantId: string, input: IssueAccessGrantInput): Promise<AccessGrant>;
|
|
193
|
+
remove(spaceId: string, episodeId: string, participantId: string, input: RemoveParticipantInput, options?: ChalkIdempotencyOptions): Promise<ParticipantRemoval>;
|
|
194
|
+
};
|
|
195
|
+
readonly apiKeys: {
|
|
196
|
+
create(input: CreateAPIKeyInput): Promise<APIKeyWithSecret>;
|
|
197
|
+
list(input?: ListAPIKeysInput): Promise<APIKeyList>;
|
|
198
|
+
rotate(apiKeyId: string, input?: RotateAPIKeyInput): Promise<APIKeyWithSecret>;
|
|
199
|
+
revoke(apiKeyId: string): Promise<void>;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import type { AccessGrant } from "../access/grant.js";
|
|
2
|
+
export type { AccessGrant } from "../access/grant.js";
|
|
3
|
+
export type ChalkServerHeaders = Readonly<Record<string, string>>;
|
|
4
|
+
export type ChalkServerTelemetry = {
|
|
5
|
+
readonly journeyId: string;
|
|
6
|
+
readonly rootJourneyId: string;
|
|
7
|
+
readonly traceparent: string;
|
|
8
|
+
readonly tracestate?: string;
|
|
9
|
+
};
|
|
10
|
+
export type ChalkServerClientOptions = {
|
|
11
|
+
readonly apiKey: string;
|
|
12
|
+
readonly tenantId: string;
|
|
13
|
+
readonly apiBaseURL: string | URL;
|
|
14
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
15
|
+
readonly headers?: ChalkServerHeaders;
|
|
16
|
+
readonly telemetry?: ChalkServerTelemetry;
|
|
17
|
+
};
|
|
18
|
+
export type ChalkIdempotencyOptions = {
|
|
19
|
+
readonly idempotencyKey?: string;
|
|
20
|
+
};
|
|
21
|
+
export type CreateSpaceInput = {
|
|
22
|
+
readonly admissionPolicy?: unknown;
|
|
23
|
+
readonly defaultEpisodeDurationSeconds: number;
|
|
24
|
+
readonly lingerWindowSeconds: number;
|
|
25
|
+
readonly maximumEpisodeDurationSeconds: number;
|
|
26
|
+
readonly mediaPlane: string;
|
|
27
|
+
readonly metadata?: unknown;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly recurringPolicy?: unknown;
|
|
30
|
+
readonly slug: string;
|
|
31
|
+
};
|
|
32
|
+
export type Space = {
|
|
33
|
+
readonly admission_policy: unknown;
|
|
34
|
+
readonly created_at: string;
|
|
35
|
+
readonly created_by_user_id: string | null;
|
|
36
|
+
readonly default_episode_duration_seconds: number;
|
|
37
|
+
readonly id: string;
|
|
38
|
+
readonly linger_window_seconds: number;
|
|
39
|
+
readonly maximum_episode_duration_seconds: number;
|
|
40
|
+
readonly media_plane: string;
|
|
41
|
+
readonly metadata: unknown;
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly recurring_policy: unknown;
|
|
44
|
+
readonly roles: readonly {
|
|
45
|
+
readonly capabilities: readonly string[];
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly name: string;
|
|
48
|
+
}[];
|
|
49
|
+
readonly slug: string;
|
|
50
|
+
readonly tenant_id: string;
|
|
51
|
+
readonly updated_at: string;
|
|
52
|
+
};
|
|
53
|
+
export type CreateEpisodeInput = {
|
|
54
|
+
readonly metadata?: unknown;
|
|
55
|
+
readonly startedAt?: string | null;
|
|
56
|
+
};
|
|
57
|
+
export type Episode = {
|
|
58
|
+
readonly config_snapshot: unknown;
|
|
59
|
+
readonly created_at: string;
|
|
60
|
+
readonly deadline_at: string;
|
|
61
|
+
readonly deadline_generation: number;
|
|
62
|
+
readonly end_reason?: string | null;
|
|
63
|
+
readonly ended_at?: string;
|
|
64
|
+
readonly id: string;
|
|
65
|
+
readonly metadata: unknown;
|
|
66
|
+
readonly space_id: string;
|
|
67
|
+
readonly started_at: string;
|
|
68
|
+
readonly status: "active" | "ending" | "ended";
|
|
69
|
+
readonly tenant_id: string;
|
|
70
|
+
readonly updated_at: string;
|
|
71
|
+
};
|
|
72
|
+
type ExternalOperation = {
|
|
73
|
+
readonly created_at: string;
|
|
74
|
+
readonly deadline_generation?: number | null;
|
|
75
|
+
readonly id: string;
|
|
76
|
+
readonly operation_name: string;
|
|
77
|
+
readonly request_key: string;
|
|
78
|
+
readonly status: string;
|
|
79
|
+
readonly target_participant_generation?: number | null;
|
|
80
|
+
readonly target_participant_id?: string | null;
|
|
81
|
+
};
|
|
82
|
+
export type EpisodeEnd = {
|
|
83
|
+
readonly episode_id: string;
|
|
84
|
+
readonly external_operation: ExternalOperation;
|
|
85
|
+
readonly status: string;
|
|
86
|
+
};
|
|
87
|
+
export type AdmitParticipantInput = {
|
|
88
|
+
readonly identityId?: string;
|
|
89
|
+
readonly metadata?: unknown;
|
|
90
|
+
readonly name: string;
|
|
91
|
+
readonly participantId?: string;
|
|
92
|
+
readonly role: string;
|
|
93
|
+
};
|
|
94
|
+
type Participant = {
|
|
95
|
+
readonly capabilities: readonly string[];
|
|
96
|
+
readonly episode_id: string;
|
|
97
|
+
readonly generation: number;
|
|
98
|
+
readonly id: string;
|
|
99
|
+
readonly identity_id?: string | null;
|
|
100
|
+
readonly role: string;
|
|
101
|
+
readonly space_id: string;
|
|
102
|
+
readonly status: string;
|
|
103
|
+
readonly tenant_id: string;
|
|
104
|
+
};
|
|
105
|
+
export type ParticipantLifecycle = {
|
|
106
|
+
readonly access?: AccessGrant | null;
|
|
107
|
+
readonly admission_request?: {
|
|
108
|
+
readonly expires_at: string;
|
|
109
|
+
readonly id: string;
|
|
110
|
+
readonly status: string;
|
|
111
|
+
} | null;
|
|
112
|
+
readonly expires_at?: string;
|
|
113
|
+
readonly lifecycle_intent: {
|
|
114
|
+
readonly created_at: string;
|
|
115
|
+
readonly id: string;
|
|
116
|
+
readonly intent_name: string;
|
|
117
|
+
readonly participant_generation?: number | null;
|
|
118
|
+
readonly participant_id?: string | null;
|
|
119
|
+
readonly request_key: string;
|
|
120
|
+
readonly status: string;
|
|
121
|
+
};
|
|
122
|
+
readonly media_plane?: {
|
|
123
|
+
readonly client_payload: Readonly<Record<string, unknown>>;
|
|
124
|
+
readonly provider: string;
|
|
125
|
+
} | null;
|
|
126
|
+
readonly participant: Participant;
|
|
127
|
+
readonly sync_token?: string;
|
|
128
|
+
};
|
|
129
|
+
export type RemoveParticipantInput = {
|
|
130
|
+
readonly participantGeneration: number;
|
|
131
|
+
};
|
|
132
|
+
export type ParticipantRemoval = {
|
|
133
|
+
readonly external_operation: ExternalOperation;
|
|
134
|
+
readonly participant: Participant;
|
|
135
|
+
};
|
|
136
|
+
export type IssueAccessGrantInput = {
|
|
137
|
+
readonly participantGeneration: number;
|
|
138
|
+
readonly currentMediaToken: string;
|
|
139
|
+
readonly replaceMediaConnection?: false;
|
|
140
|
+
} | {
|
|
141
|
+
readonly participantGeneration: number;
|
|
142
|
+
readonly currentMediaToken?: never;
|
|
143
|
+
readonly replaceMediaConnection: true;
|
|
144
|
+
};
|
|
145
|
+
export type APIKey = {
|
|
146
|
+
readonly created_at: string;
|
|
147
|
+
readonly created_by_user_id: string | null;
|
|
148
|
+
readonly expires_at: string;
|
|
149
|
+
readonly id: string;
|
|
150
|
+
readonly key_prefix: string;
|
|
151
|
+
readonly last_used_at: string | null;
|
|
152
|
+
readonly name: string;
|
|
153
|
+
readonly revoked_at: string | null;
|
|
154
|
+
readonly scopes: readonly string[];
|
|
155
|
+
readonly tenant_id: string;
|
|
156
|
+
readonly updated_at: string;
|
|
157
|
+
};
|
|
158
|
+
export type APIKeyList = {
|
|
159
|
+
readonly api_keys: readonly APIKey[];
|
|
160
|
+
readonly pagination: {
|
|
161
|
+
readonly has_more: boolean;
|
|
162
|
+
readonly next_cursor: string | null;
|
|
163
|
+
readonly page_size: number;
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
export type APIKeyWithSecret = {
|
|
167
|
+
readonly api_key: APIKey;
|
|
168
|
+
readonly secret: string;
|
|
169
|
+
};
|
|
170
|
+
export type CreateAPIKeyInput = {
|
|
171
|
+
readonly expiresAt: string;
|
|
172
|
+
readonly name: string;
|
|
173
|
+
readonly scopes: readonly string[];
|
|
174
|
+
};
|
|
175
|
+
export type ListAPIKeysInput = {
|
|
176
|
+
readonly cursor?: string;
|
|
177
|
+
readonly pageSize?: number;
|
|
178
|
+
};
|
|
179
|
+
export type RotateAPIKeyInput = {
|
|
180
|
+
readonly expiresAt?: string | null;
|
|
181
|
+
};
|
|
182
|
+
export type ChalkServerClient = {
|
|
183
|
+
readonly spaces: {
|
|
184
|
+
create(input: CreateSpaceInput): Promise<Space>;
|
|
185
|
+
};
|
|
186
|
+
readonly episodes: {
|
|
187
|
+
create(spaceId: string, input: CreateEpisodeInput, options?: ChalkIdempotencyOptions): Promise<Episode>;
|
|
188
|
+
end(spaceId: string, episodeId: string, options?: ChalkIdempotencyOptions): Promise<EpisodeEnd>;
|
|
189
|
+
};
|
|
190
|
+
readonly participants: {
|
|
191
|
+
admit(spaceId: string, episodeId: string, input: AdmitParticipantInput, options?: ChalkIdempotencyOptions): Promise<ParticipantLifecycle>;
|
|
192
|
+
issueAccess(spaceId: string, episodeId: string, participantId: string, input: IssueAccessGrantInput): Promise<AccessGrant>;
|
|
193
|
+
remove(spaceId: string, episodeId: string, participantId: string, input: RemoveParticipantInput, options?: ChalkIdempotencyOptions): Promise<ParticipantRemoval>;
|
|
194
|
+
};
|
|
195
|
+
readonly apiKeys: {
|
|
196
|
+
create(input: CreateAPIKeyInput): Promise<APIKeyWithSecret>;
|
|
197
|
+
list(input?: ListAPIKeysInput): Promise<APIKeyList>;
|
|
198
|
+
rotate(apiKeyId: string, input?: RotateAPIKeyInput): Promise<APIKeyWithSecret>;
|
|
199
|
+
revoke(apiKeyId: string): Promise<void>;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ChalkChatMessage, type ChalkChatReadReceipt } from "../collaboration/types";
|
|
2
|
+
import type { ChatAttachment, ChatMessage, ChatReadReceipt, ChatSendInput, ChatUploadFile } from "./types";
|
|
3
|
+
export declare const MAX_CHAT_PAGE_SIZE = 100;
|
|
4
|
+
export declare const MAX_LOADED_CHAT_MESSAGES = 500;
|
|
5
|
+
export declare function validateChatMessage(input: ChatSendInput): string | null;
|
|
6
|
+
export declare function validateChatUpload(file: ChatUploadFile, bytes: ArrayBuffer, clientAttachmentId: string): {
|
|
7
|
+
readonly fileName: string;
|
|
8
|
+
readonly mimeType: ChatAttachment["mimeType"];
|
|
9
|
+
} | string;
|
|
10
|
+
export declare function chatDigest(bytes: ArrayBuffer): string;
|
|
11
|
+
export declare function chatMessageFor(message: ChalkChatMessage): ChatMessage;
|
|
12
|
+
export declare function chatReceiptFor(receipt: ChalkChatReadReceipt): ChatReadReceipt;
|
|
13
|
+
export declare function mergeChatMessage(messages: readonly ChatMessage[], existing: ChatMessage, incoming: ChatMessage): readonly ChatMessage[];
|
|
14
|
+
export declare function compareChatSequence(left: string, right: string): number;
|
|
15
|
+
//# sourceMappingURL=chat-controller-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-controller-helpers.d.ts","sourceRoot":"","sources":["../../src/space-client/chat-controller-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAkE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC1J,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3G,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAO5C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAOvE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CAAE,GAAG,MAAM,CAK9L;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAErE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAQvI;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Context, Effect, Layer, Scope } from "effect";
|
|
2
|
+
import type { ChalkChatFileTransport } from "../chat-files";
|
|
3
|
+
import type { ChalkChatPageResult } from "../collaboration/types";
|
|
4
|
+
import type { ConnectionLifecycleCapability } from "../connection";
|
|
5
|
+
import type { EpisodeDiagnosticRuntime } from "./episode-diagnostic-runtime";
|
|
6
|
+
import { SpaceClientError } from "./errors";
|
|
7
|
+
import { SpaceStore } from "./store";
|
|
8
|
+
import type { ChatAttachment, ChatMessage, ChatReadReceipt, ChatSendInput, ChatUploadFile } from "./types";
|
|
9
|
+
type ClientEffect<A> = Effect.Effect<A, SpaceClientError>;
|
|
10
|
+
export type ChatControllerEffects = {
|
|
11
|
+
readonly send: (input: ChatSendInput) => ClientEffect<ChatMessage>;
|
|
12
|
+
readonly loadOlder: () => ClientEffect<ChalkChatPageResult>;
|
|
13
|
+
readonly markRead: (messageId: string) => ClientEffect<ChatReadReceipt | null>;
|
|
14
|
+
readonly upload: (file: ChatUploadFile) => ClientEffect<ChatAttachment>;
|
|
15
|
+
readonly url: (attachment: ChatAttachment) => string;
|
|
16
|
+
readonly dispose: () => void;
|
|
17
|
+
};
|
|
18
|
+
declare const ChatControllerService_base: Context.ServiceClass<ChatControllerService, "@chalk/client/ChatController", ChatControllerEffects>;
|
|
19
|
+
export declare class ChatControllerService extends ChatControllerService_base {
|
|
20
|
+
}
|
|
21
|
+
/** Scoped owner of chat subscriptions and catch-up fibers. */
|
|
22
|
+
export declare const makeChatController: (input: {
|
|
23
|
+
readonly connection: ConnectionLifecycleCapability;
|
|
24
|
+
readonly store: SpaceStore;
|
|
25
|
+
readonly createTransport?: (input: {
|
|
26
|
+
readonly token: () => Promise<string>;
|
|
27
|
+
}) => ChalkChatFileTransport | null;
|
|
28
|
+
readonly apiBaseUrl?: string;
|
|
29
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
30
|
+
readonly episodeDiagnostics?: EpisodeDiagnosticRuntime;
|
|
31
|
+
}) => Effect.Effect<ChatControllerEffects, never, Scope.Scope>;
|
|
32
|
+
export declare const makeChatControllerLayer: (input: Parameters<typeof makeChatController>[0]) => Layer.Layer<ChatControllerService, never, never>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=chat-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-controller.d.ts","sourceRoot":"","sources":["../../src/space-client/chat-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAmB,MAAM,eAAe,CAAC;AAEpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAA0C,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAa,cAAc,EAAmB,MAAM,SAAS,CAAC;AAEvI,KAAK,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAG1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,YAAY,CAAC,WAAW,CAAC,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC/E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,cAAc,CAAC,CAAC;IACxE,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;;AACF,qBAAa,qBAAsB,SAAQ,0BAA+F;CAAG;AAE7I,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,UAAW;IACxC,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,sBAAsB,GAAG,IAAI,CAAC;IAC/G,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CACxD,KAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAevD,CAAC;AAEL,eAAO,MAAM,uBAAuB,UAAW,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,qDAAmE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import type { ChalkChatFileTransport } from "../chat-files";
|
|
3
|
+
import type { ConnectionLifecycleCapability } from "../connection";
|
|
4
|
+
import type { ConnectionDependencies } from "../connection/dependencies";
|
|
5
|
+
import { type ChatControllerEffects } from "./chat-controller";
|
|
6
|
+
import type { EpisodeDiagnosticRuntime } from "./episode-diagnostic-runtime";
|
|
7
|
+
import { SpaceClientError } from "./errors";
|
|
8
|
+
import { type MediaControllerEffects } from "./media-controller";
|
|
9
|
+
import type { MediaDeviceSelection } from "./media-device-selection";
|
|
10
|
+
import { type ParticipantsControllerEffects } from "./participants-controller";
|
|
11
|
+
import { type ReactionsControllerEffects } from "./reactions-controller";
|
|
12
|
+
import { SpaceStore } from "./store";
|
|
13
|
+
import type { ActiveReaction, ChatAttachment, ChatMessage, ChatReadReceipt, ChatSendInput, ChatUploadFile, MediaRequestKind, Reaction } from "./types";
|
|
14
|
+
import { type WhiteboardControllerEffects } from "./whiteboard-controller";
|
|
15
|
+
type ClientEffect<A> = Effect.Effect<A, SpaceClientError>;
|
|
16
|
+
export type ControllerEffects = {
|
|
17
|
+
readonly media: MediaControllerEffects;
|
|
18
|
+
readonly chat: ChatControllerEffects;
|
|
19
|
+
readonly participants: ParticipantsControllerEffects;
|
|
20
|
+
readonly reactions: ReactionsControllerEffects;
|
|
21
|
+
readonly whiteboard: WhiteboardControllerEffects;
|
|
22
|
+
};
|
|
23
|
+
declare const ControllerEffectsService_base: Context.ServiceClass<ControllerEffectsService, "@chalk/client/ControllerEffects", ControllerEffects>;
|
|
24
|
+
export declare class ControllerEffectsService extends ControllerEffectsService_base {
|
|
25
|
+
}
|
|
26
|
+
/** Native controller composition: no Promise controller wrapper remains. */
|
|
27
|
+
export declare const makeControllerEffects: (input: {
|
|
28
|
+
readonly apiBaseUrl: string;
|
|
29
|
+
readonly connection: ConnectionLifecycleCapability;
|
|
30
|
+
readonly store: SpaceStore;
|
|
31
|
+
readonly mediaDeviceSelection: MediaDeviceSelection;
|
|
32
|
+
readonly featureFactories?: Pick<ConnectionDependencies, "createChatFileTransport" | "createWhiteboardClient">;
|
|
33
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
34
|
+
/** Private semantic diagnostics owner; never exposed through the public controller surface. */
|
|
35
|
+
readonly episodeDiagnostics?: EpisodeDiagnosticRuntime;
|
|
36
|
+
}) => Effect.Effect<ControllerEffects, never, import("effect").Clock.Clock | import("effect").Scope.Scope>;
|
|
37
|
+
export declare const makeControllerEffectsLayer: (input: Parameters<typeof makeControllerEffects>[0]) => Layer.Layer<ControllerEffectsService, never, import("effect/Clock").Clock>;
|
|
38
|
+
/** Standalone native upload effect for custom native controller assembly. */
|
|
39
|
+
export declare function uploadFileEffect(file: ChatUploadFile, input: {
|
|
40
|
+
readonly connection: ConnectionLifecycleCapability;
|
|
41
|
+
readonly chatFiles: ChalkChatFileTransport | null;
|
|
42
|
+
readonly fetch: typeof globalThis.fetch;
|
|
43
|
+
}): ClientEffect<ChatAttachment>;
|
|
44
|
+
export type { ActiveReaction, ChatAttachment, ChatMessage, ChatReadReceipt, ChatSendInput, MediaRequestKind, Reaction };
|
|
45
|
+
//# sourceMappingURL=controller-effects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-effects.d.ts","sourceRoot":"","sources":["../../src/space-client/controller-effects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAwB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAuB,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAA8B,KAAK,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAA2B,KAAK,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvJ,OAAO,EAA4B,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAErG,KAAK,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;CAClD,CAAC;;AACF,qBAAa,wBAAyB,SAAQ,6BAAiG;CAAG;AAElJ,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,UAAW;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,yBAAyB,GAAG,wBAAwB,CAAC,CAAC;IAC/G,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,+FAA+F;IAC/F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CACxD,KAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAK,CAQnG,CAAC;AAEL,eAAO,MAAM,0BAA0B,UAAW,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,+EAAyE,CAAC;AAEvK,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAE,GAAG,YAAY,CAAC,cAAc,CAAC,CAoB9O;AASD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC"}
|