@mindbowser_inc/ui-feedback-plugin 0.2.0 → 0.3.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.
@@ -0,0 +1,190 @@
1
+ var k = Object.defineProperty;
2
+ var x = (g, t, s) => t in g ? k(g, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : g[t] = s;
3
+ var M = (g, t, s) => x(g, typeof t != "symbol" ? t + "" : t, s);
4
+ import { e as U } from "./index-B-1NC_TX.mjs";
5
+ import { E as j, a as A, H as K, I as L, M as O, b as $, S as q, c as F, d as G, g as J, f as Q, i as V, r as W, h as X } from "./index-B-1NC_TX.mjs";
6
+ import { b as I, i as B } from "./stream-collector-mh16BUWl.mjs";
7
+ class R {
8
+ constructor({ marshaller: t, serializer: s, deserializer: l, serdeContext: c, defaultContentType: d }) {
9
+ M(this, "marshaller");
10
+ M(this, "serializer");
11
+ M(this, "deserializer");
12
+ M(this, "serdeContext");
13
+ M(this, "defaultContentType");
14
+ this.marshaller = t, this.serializer = s, this.deserializer = l, this.serdeContext = c, this.defaultContentType = d;
15
+ }
16
+ async serializeEventStream({ eventStream: t, requestSchema: s, initialRequest: l }) {
17
+ const c = this.marshaller, d = s.getEventStreamMember(), u = s.getMemberSchema(d), y = this.serializer, h = this.defaultContentType, f = Symbol("initialRequestMarker"), S = {
18
+ async *[Symbol.asyncIterator]() {
19
+ if (l) {
20
+ const a = {
21
+ ":event-type": { type: "string", value: "initial-request" },
22
+ ":message-type": { type: "string", value: "event" },
23
+ ":content-type": { type: "string", value: h }
24
+ };
25
+ y.write(s, l);
26
+ const m = y.flush();
27
+ yield {
28
+ [f]: !0,
29
+ headers: a,
30
+ body: m
31
+ };
32
+ }
33
+ for await (const a of t)
34
+ yield a;
35
+ }
36
+ };
37
+ return c.serialize(S, (a) => {
38
+ if (a[f])
39
+ return {
40
+ headers: a.headers,
41
+ body: a.body
42
+ };
43
+ let m = "";
44
+ for (const i in a)
45
+ if (i !== "__type") {
46
+ m = i;
47
+ break;
48
+ }
49
+ const { additionalHeaders: r, body: e, eventType: n, explicitPayloadContentType: v } = this.writeEventBody(m, u, a);
50
+ return {
51
+ headers: {
52
+ ":event-type": { type: "string", value: n },
53
+ ":message-type": { type: "string", value: "event" },
54
+ ":content-type": { type: "string", value: v ?? h },
55
+ ...r
56
+ },
57
+ body: e
58
+ };
59
+ });
60
+ }
61
+ async deserializeEventStream({ response: t, responseSchema: s, initialResponseContainer: l }) {
62
+ var m;
63
+ const c = this.marshaller, d = s.getEventStreamMember(), y = s.getMemberSchema(d).getMemberSchemas(), h = Symbol("initialResponseMarker"), f = c.deserialize(t.body, async (r) => {
64
+ var v, z;
65
+ let e = "";
66
+ for (const i in r)
67
+ if (i !== "__type") {
68
+ e = i;
69
+ break;
70
+ }
71
+ const n = r[e].body;
72
+ if (e === "initial-response") {
73
+ const i = await this.deserializer.read(s, n);
74
+ return delete i[d], {
75
+ [h]: !0,
76
+ ...i
77
+ };
78
+ } else if (e in y) {
79
+ const i = y[e];
80
+ if (i.isStructSchema()) {
81
+ const o = {};
82
+ let E = !1;
83
+ for (const [b, w] of i.structIterator()) {
84
+ const { eventHeader: C, eventPayload: T } = w.getMergedTraits();
85
+ if (E = E || !!(C || T), T)
86
+ w.isBlobSchema() ? o[b] = n : w.isStringSchema() ? o[b] = (((v = this.serdeContext) == null ? void 0 : v.utf8Encoder) ?? I)(n) : w.isStructSchema() && (o[b] = await this.deserializer.read(w, n));
87
+ else if (C) {
88
+ const p = (z = r[e].headers[b]) == null ? void 0 : z.value;
89
+ p != null && (w.isNumericSchema() ? p && typeof p == "object" && "bytes" in p ? o[b] = BigInt(p.toString()) : o[b] = Number(p) : o[b] = p);
90
+ }
91
+ }
92
+ if (E)
93
+ return {
94
+ [e]: o
95
+ };
96
+ if (n.byteLength === 0)
97
+ return {
98
+ [e]: {}
99
+ };
100
+ }
101
+ return {
102
+ [e]: await this.deserializer.read(i, n)
103
+ };
104
+ } else
105
+ return {
106
+ $unknown: r
107
+ };
108
+ }), S = f[Symbol.asyncIterator](), a = await S.next();
109
+ if (a.done)
110
+ return f;
111
+ if ((m = a.value) != null && m[h]) {
112
+ if (!s)
113
+ throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
114
+ for (const r in a.value)
115
+ l[r] = a.value[r];
116
+ }
117
+ return {
118
+ async *[Symbol.asyncIterator]() {
119
+ var r;
120
+ for ((r = a == null ? void 0 : a.value) != null && r[h] || (yield a.value); ; ) {
121
+ const { done: e, value: n } = await S.next();
122
+ if (e)
123
+ break;
124
+ yield n;
125
+ }
126
+ }
127
+ };
128
+ }
129
+ writeEventBody(t, s, l) {
130
+ var m;
131
+ const c = this.serializer;
132
+ let d = t, u = null, y;
133
+ const h = s.getSchema()[4].includes(t), f = {};
134
+ if (h) {
135
+ const r = s.getMemberSchema(t);
136
+ if (r.isStructSchema()) {
137
+ for (const [e, n] of r.structIterator()) {
138
+ const { eventHeader: v, eventPayload: z } = n.getMergedTraits();
139
+ if (z)
140
+ u = e;
141
+ else if (v) {
142
+ const i = l[t][e];
143
+ let o = "binary";
144
+ n.isNumericSchema() ? (-2) ** 31 <= i && i <= 2 ** 31 - 1 ? o = "integer" : o = "long" : n.isTimestampSchema() ? o = "timestamp" : n.isStringSchema() ? o = "string" : n.isBooleanSchema() && (o = "boolean"), i != null && (f[e] = {
145
+ type: o,
146
+ value: i
147
+ }, delete l[t][e]);
148
+ }
149
+ }
150
+ if (u !== null) {
151
+ const e = r.getMemberSchema(u);
152
+ e.isBlobSchema() ? y = "application/octet-stream" : e.isStringSchema() && (y = "text/plain"), c.write(e, l[t][u]);
153
+ } else
154
+ c.write(r, l[t]);
155
+ } else if (r.isUnitSchema())
156
+ c.write(r, {});
157
+ else
158
+ throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
159
+ } else {
160
+ const [r, e] = l[t];
161
+ d = r, c.write(15, e);
162
+ }
163
+ const S = c.flush() ?? new Uint8Array();
164
+ return {
165
+ body: typeof S == "string" ? (((m = this.serdeContext) == null ? void 0 : m.utf8Decoder) ?? B)(S) : S,
166
+ eventType: d,
167
+ explicitPayloadContentType: y,
168
+ additionalHeaders: f
169
+ };
170
+ }
171
+ }
172
+ export {
173
+ j as EventStreamCodec,
174
+ A as EventStreamMarshaller,
175
+ R as EventStreamSerde,
176
+ K as HeaderMarshaller,
177
+ L as Int64,
178
+ O as MessageDecoderStream,
179
+ $ as MessageEncoderStream,
180
+ q as SmithyMessageDecoderStream,
181
+ F as SmithyMessageEncoderStream,
182
+ G as UniversalEventStreamMarshaller,
183
+ U as eventStreamSerdeProvider,
184
+ J as getChunkedStream,
185
+ Q as getMessageUnmarshaller,
186
+ V as iterableToReadableStream,
187
+ W as readableStreamToIterable,
188
+ X as resolveEventStreamSerdeConfig
189
+ };
190
+ //# sourceMappingURL=index.browser-CKeO7JYa.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser-CKeO7JYa.mjs","sources":["../node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js"],"sourcesContent":["import { fromUtf8, toUtf8 } from \"@smithy/core/serde\";\nexport class EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const key in firstEvent.value) {\n initialResponseContainer[key] = firstEvent.value[key];\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n"],"names":["EventStreamSerde","marshaller","serializer","deserializer","serdeContext","defaultContentType","__publicField","eventStream","requestSchema","initialRequest","eventStreamMember","unionSchema","initialRequestMarker","eventStreamIterable","headers","body","page","event","unionMember","key","additionalHeaders","eventType","explicitPayloadContentType","response","responseSchema","initialResponseContainer","memberSchemas","initialResponseMarker","asyncIterable","dataObject","eventStreamSchema","out","hasBindings","name","member","eventHeader","eventPayload","_a","toUtf8","value","_b","asyncIterator","firstEvent","done","explicitPayloadMember","isKnownSchema","eventSchema","memberName","memberSchema","type","payloadSchema","messageSerialization","fromUtf8"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,29 @@
1
- declare type BackendConfig = FirebaseProviderConfig | SupabaseProviderConfig | S3ProviderConfig;
1
+ /**
2
+ * AWS backend — all data (comments, replies, screenshots) stored directly in S3.
3
+ * No Firebase or Supabase needed.
4
+ *
5
+ * The browser obtains temporary, rotating AWS credentials from a Cognito Identity Pool.
6
+ * No long-lived keys ever touch the browser. See src/adapters/aws.ts for AWS setup steps.
7
+ */
8
+ declare interface AWSProviderConfig {
9
+ provider: 'aws';
10
+ /** AWS region (e.g. 'us-east-1'). */
11
+ region: string;
12
+ /** S3 bucket name. */
13
+ bucket: string;
14
+ /**
15
+ * Cognito Identity Pool ID (e.g. 'us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx').
16
+ * Used to obtain temporary AWS credentials in the browser.
17
+ */
18
+ identityPoolId: string;
19
+ /**
20
+ * How often (ms) to poll for new comments. S3 has no real-time push.
21
+ * Default: 5000 (5 seconds).
22
+ */
23
+ pollInterval?: number;
24
+ }
25
+
26
+ declare type BackendConfig = FirebaseProviderConfig | SupabaseProviderConfig | AWSProviderConfig;
2
27
 
3
28
  /**
4
29
  * Firebase backend — Firestore for comments/replies, Firebase Storage for screenshots.
@@ -22,7 +47,7 @@ export declare interface PluginConfig {
22
47
  * Storage backend. Pick one:
23
48
  * - `firebase` — Firestore + Firebase Storage
24
49
  * - `supabase` — Postgres + Supabase Storage
25
- * - `s3` — Everything in AWS S3 via your backend API (no Firebase/Supabase needed)
50
+ * - `aws` — Everything in AWS S3 via Cognito Identity Pool (no backend needed)
26
51
  */
27
52
  backend: BackendConfig;
28
53
  /** Namespace comments by project (default: 'default'). */
@@ -33,27 +58,6 @@ export declare interface PluginConfig {
33
58
  };
34
59
  }
35
60
 
36
- /**
37
- * AWS S3 backend — all data (comments, replies, screenshots) stored in S3.
38
- * No Firebase or Supabase needed.
39
- *
40
- * AWS credentials MUST stay on your server — this adapter calls your backend API,
41
- * which in turn reads/writes S3. See src/adapters/s3.ts for the required API contract
42
- * and a full Node.js/Express reference implementation.
43
- */
44
- declare interface S3ProviderConfig {
45
- provider: 's3';
46
- /** Base URL of your backend API (e.g. https://your-api.com/ufp). No trailing slash. */
47
- apiUrl: string;
48
- /** Optional headers sent with every request (e.g. { Authorization: 'Bearer token' }). */
49
- headers?: Record<string, string>;
50
- /**
51
- * How often (ms) to poll for new comments. S3 has no real-time push.
52
- * Default: 5000 (5 seconds).
53
- */
54
- pollInterval?: number;
55
- }
56
-
57
61
  /**
58
62
  * Supabase backend — Postgres for comments/replies, Supabase Storage for screenshots.
59
63
  * The anonKey is a public key by design. Secure data with Row Level Security (RLS) policies.