@devvit/protos 0.12.0-next-2025-03-31-81fa43e0f.0 → 0.12.0-next-2025-04-10-a27f59c35.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/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/meta.min.json +35 -5
- package/package.json +5 -5
- package/protos.min.js +1 -1
- package/protos.min.js.map +4 -4
- package/schema/devvit/actor/webbit/webbit.proto +34 -0
- package/schema/devvit/dev_portal/nutrition/nutrition.proto +2 -0
- package/schema/devvit/plugin/useractions/useractions.proto +18 -0
- package/schema/devvit/ui/effects/web_view/v1alpha/post_message.proto +19 -1
- package/schema/snootobuf.devenv.lock +1390 -91
- package/schema/snootobuf.lock +1394 -91
- package/schema/snootobuf.redditapi.lock +1386 -91
- package/schema/snootobuf.ts.lock +1392 -91
- package/types/devvit/actor/webbit/webbit.d.ts +131 -0
- package/types/devvit/actor/webbit/webbit.d.ts.map +1 -0
- package/types/devvit/actor/webbit/webbit.js +485 -0
- package/types/devvit/actor/webbit/webbit.twirp-client.d.ts +19 -0
- package/types/devvit/actor/webbit/webbit.twirp-client.d.ts.map +1 -0
- package/types/devvit/actor/webbit/webbit.twirp-client.js +23 -0
- package/types/devvit/actor/webbit/webbit.twirp.d.ts +12 -0
- package/types/devvit/actor/webbit/webbit.twirp.d.ts.map +1 -0
- package/types/devvit/actor/webbit/webbit.twirp.js +88 -0
- package/types/devvit/dev_portal/nutrition/nutrition.d.ts +2 -0
- package/types/devvit/dev_portal/nutrition/nutrition.d.ts.map +1 -1
- package/types/devvit/dev_portal/nutrition/nutrition.js +7 -0
- package/types/devvit/plugin/useractions/useractions.d.ts +576 -0
- package/types/devvit/plugin/useractions/useractions.d.ts.map +1 -0
- package/types/devvit/plugin/useractions/useractions.js +66 -0
- package/types/devvit/plugin/useractions/useractions.twirp-client.d.ts +25 -0
- package/types/devvit/plugin/useractions/useractions.twirp-client.d.ts.map +1 -0
- package/types/devvit/plugin/useractions/useractions.twirp-client.js +47 -0
- package/types/devvit/plugin/useractions/useractions.twirp.d.ts +16 -0
- package/types/devvit/plugin/useractions/useractions.twirp.d.ts.map +1 -0
- package/types/devvit/plugin/useractions/useractions.twirp.js +222 -0
- package/types/devvit/ui/effects/web_view/v1alpha/post_message.d.ts +29 -0
- package/types/devvit/ui/effects/web_view/v1alpha/post_message.d.ts.map +1 -1
- package/types/devvit/ui/effects/web_view/v1alpha/post_message.js +108 -0
@@ -0,0 +1,88 @@
|
|
1
|
+
import { TwirpServer, TwirpError, TwirpErrorCode, TwirpContentType, chainInterceptors, } from 'twirp-ts';
|
2
|
+
import { WebbitHttpRequest, WebbitHttpResponse } from './webbit.js';
|
3
|
+
export var WebbitServerMethod;
|
4
|
+
(function (WebbitServerMethod) {
|
5
|
+
WebbitServerMethod["Request"] = "Request";
|
6
|
+
})(WebbitServerMethod || (WebbitServerMethod = {}));
|
7
|
+
export const WebbitServerMethodList = [WebbitServerMethod.Request];
|
8
|
+
export function createWebbitServerServer(service) {
|
9
|
+
return new TwirpServer({
|
10
|
+
service,
|
11
|
+
packageName: 'devvit.actor.webbit',
|
12
|
+
serviceName: 'WebbitServer',
|
13
|
+
methodList: WebbitServerMethodList,
|
14
|
+
matchRoute: matchWebbitServerRoute,
|
15
|
+
});
|
16
|
+
}
|
17
|
+
function matchWebbitServerRoute(method, events) {
|
18
|
+
switch (method) {
|
19
|
+
case 'Request':
|
20
|
+
return async (ctx, service, data, interceptors) => {
|
21
|
+
ctx = { ...ctx, methodName: 'Request' };
|
22
|
+
await events.onMatch(ctx);
|
23
|
+
return handleWebbitServerRequestRequest(ctx, service, data, interceptors);
|
24
|
+
};
|
25
|
+
default:
|
26
|
+
events.onNotFound();
|
27
|
+
const msg = `no handler found`;
|
28
|
+
throw new TwirpError(TwirpErrorCode.BadRoute, msg);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
function handleWebbitServerRequestRequest(ctx, service, data, interceptors) {
|
32
|
+
switch (ctx.contentType) {
|
33
|
+
case TwirpContentType.JSON:
|
34
|
+
return handleWebbitServerRequestJSON(ctx, service, data, interceptors);
|
35
|
+
case TwirpContentType.Protobuf:
|
36
|
+
return handleWebbitServerRequestProtobuf(ctx, service, data, interceptors);
|
37
|
+
default:
|
38
|
+
const msg = 'unexpected Content-Type';
|
39
|
+
throw new TwirpError(TwirpErrorCode.BadRoute, msg);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
async function handleWebbitServerRequestJSON(ctx, service, data, interceptors) {
|
43
|
+
let request;
|
44
|
+
let response;
|
45
|
+
try {
|
46
|
+
const body = JSON.parse(data.toString() || '{}');
|
47
|
+
request = WebbitHttpRequest.fromJSON(body);
|
48
|
+
}
|
49
|
+
catch (e) {
|
50
|
+
if (e instanceof Error) {
|
51
|
+
const msg = 'the json request could not be decoded';
|
52
|
+
throw new TwirpError(TwirpErrorCode.Malformed, msg).withCause(e, true);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
if (interceptors && interceptors.length > 0) {
|
56
|
+
const interceptor = chainInterceptors(...interceptors);
|
57
|
+
response = await interceptor(ctx, request, (ctx, inputReq) => {
|
58
|
+
return service.Request(ctx, inputReq);
|
59
|
+
});
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
response = await service.Request(ctx, request);
|
63
|
+
}
|
64
|
+
return JSON.stringify(WebbitHttpResponse.toJSON(response));
|
65
|
+
}
|
66
|
+
async function handleWebbitServerRequestProtobuf(ctx, service, data, interceptors) {
|
67
|
+
let request;
|
68
|
+
let response;
|
69
|
+
try {
|
70
|
+
request = WebbitHttpRequest.decode(data);
|
71
|
+
}
|
72
|
+
catch (e) {
|
73
|
+
if (e instanceof Error) {
|
74
|
+
const msg = 'the protobuf request could not be decoded';
|
75
|
+
throw new TwirpError(TwirpErrorCode.Malformed, msg).withCause(e, true);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
if (interceptors && interceptors.length > 0) {
|
79
|
+
const interceptor = chainInterceptors(...interceptors);
|
80
|
+
response = await interceptor(ctx, request, (ctx, inputReq) => {
|
81
|
+
return service.Request(ctx, inputReq);
|
82
|
+
});
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
response = await service.Request(ctx, request);
|
86
|
+
}
|
87
|
+
return Buffer.from(WebbitHttpResponse.encode(response).finish());
|
88
|
+
}
|
@@ -58,6 +58,8 @@ export declare enum NutritionCategory {
|
|
58
58
|
* Note: CUSTOM_POST is a subset of UI: if CUSTOM_POST is set then UI is set also.
|
59
59
|
*/
|
60
60
|
CUSTOM_POST = 13,
|
61
|
+
/** USER_ACTIONS - App may call Reddit APIs on behalf of the User. */
|
62
|
+
USER_ACTIONS = 14,
|
61
63
|
UNRECOGNIZED = -1
|
62
64
|
}
|
63
65
|
export declare function nutritionCategoryFromJSON(object: any): NutritionCategory;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nutrition.d.ts","sourceRoot":"","sources":["../../../../../src/types/devvit/dev_portal/nutrition/nutrition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAGxC;;;;;;;;;;;;GAYG;AACH,oBAAY,iBAAiB;IAC3B,6DAA6D;IAC7D,aAAa,IAAI;IACjB,iEAAiE;IACjE,YAAY,IAAI;IAChB,8DAA8D;IAC9D,MAAM,IAAI;IACV,kEAAkE;IAClE,IAAI,IAAI;IACR,yEAAyE;IACzE,IAAI,IAAI;IACR;;;OAGG;IACH,MAAM,IAAI;IACV,kFAAkF;IAClF,UAAU,IAAI;IACd;;;OAGG;IACH,eAAe,IAAI;IACnB,+DAA+D;IAC/D,SAAS,IAAI;IACb;;;OAGG;IACH,EAAE,IAAI;IACN,4FAA4F;IAC5F,SAAS,KAAK;IACd,uFAAuF;IACvF,OAAO,KAAK;IACZ,yDAAyD;IACzD,QAAQ,KAAK;IACb;;;OAGG;IACH,WAAW,KAAK;IAChB,YAAY,KAAK;CAClB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB,
|
1
|
+
{"version":3,"file":"nutrition.d.ts","sourceRoot":"","sources":["../../../../../src/types/devvit/dev_portal/nutrition/nutrition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAGxC;;;;;;;;;;;;GAYG;AACH,oBAAY,iBAAiB;IAC3B,6DAA6D;IAC7D,aAAa,IAAI;IACjB,iEAAiE;IACjE,YAAY,IAAI;IAChB,8DAA8D;IAC9D,MAAM,IAAI;IACV,kEAAkE;IAClE,IAAI,IAAI;IACR,yEAAyE;IACzE,IAAI,IAAI;IACR;;;OAGG;IACH,MAAM,IAAI;IACV,kFAAkF;IAClF,UAAU,IAAI;IACd;;;OAGG;IACH,eAAe,IAAI;IACnB,+DAA+D;IAC/D,SAAS,IAAI;IACb;;;OAGG;IACH,EAAE,IAAI;IACN,4FAA4F;IAC5F,SAAS,KAAK;IACd,uFAAuF;IACvF,OAAO,KAAK;IACZ,yDAAyD;IACzD,QAAQ,KAAK;IACb;;;OAGG;IACH,WAAW,KAAK;IAChB,qEAAqE;IACrE,YAAY,KAAK;IACjB,YAAY,KAAK;CAClB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB,CAoDxE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAoCzE;AAED,MAAM,WAAW,gCAAgC;IAC/C,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAMD,eAAO,MAAM,gCAAgC;;oBAG3B,gCAAgC,WAAU,IAAI,MAAM,GAAyB,IAAI,MAAM;kBAUzF,IAAI,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,gCAAgC;qBA8BxE,GAAG,GAAG,gCAAgC;oBAOvC,gCAAgC,GAAG,OAAO;kBAW5C,YAAY,gCAAgC,CAAC,GAAG,gCAAgC;wBAG1E,YAAY,gCAAgC,CAAC,GAAG,gCAAgC;CAMrG,CAAC;AAQF,eAAO,MAAM,2BAA2B;;oBAGtB,2BAA2B,WAAU,IAAI,MAAM,GAAyB,IAAI,MAAM;kBASpF,IAAI,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,2BAA2B;qBAiCnE,GAAG,GAAG,2BAA2B;oBAQlC,2BAA2B,GAAG,OAAO;kBAQvC,YAAY,2BAA2B,CAAC,GAAG,2BAA2B;wBAGhE,YAAY,2BAA2B,CAAC,GAAG,2BAA2B;CAK3F,CAAC;AAIF,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpF,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GACvC,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAChE,CAAC,SAAS,EAAE,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,CAAC"}
|
@@ -61,6 +61,8 @@ export var NutritionCategory;
|
|
61
61
|
* Note: CUSTOM_POST is a subset of UI: if CUSTOM_POST is set then UI is set also.
|
62
62
|
*/
|
63
63
|
NutritionCategory[NutritionCategory["CUSTOM_POST"] = 13] = "CUSTOM_POST";
|
64
|
+
/** USER_ACTIONS - App may call Reddit APIs on behalf of the User. */
|
65
|
+
NutritionCategory[NutritionCategory["USER_ACTIONS"] = 14] = "USER_ACTIONS";
|
64
66
|
NutritionCategory[NutritionCategory["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
65
67
|
})(NutritionCategory || (NutritionCategory = {}));
|
66
68
|
export function nutritionCategoryFromJSON(object) {
|
@@ -107,6 +109,9 @@ export function nutritionCategoryFromJSON(object) {
|
|
107
109
|
case 13:
|
108
110
|
case "CUSTOM_POST":
|
109
111
|
return NutritionCategory.CUSTOM_POST;
|
112
|
+
case 14:
|
113
|
+
case "USER_ACTIONS":
|
114
|
+
return NutritionCategory.USER_ACTIONS;
|
110
115
|
case -1:
|
111
116
|
case "UNRECOGNIZED":
|
112
117
|
default:
|
@@ -143,6 +148,8 @@ export function nutritionCategoryToJSON(object) {
|
|
143
148
|
return 12;
|
144
149
|
case NutritionCategory.CUSTOM_POST:
|
145
150
|
return 13;
|
151
|
+
case NutritionCategory.USER_ACTIONS:
|
152
|
+
return 14;
|
146
153
|
case NutritionCategory.UNRECOGNIZED:
|
147
154
|
default:
|
148
155
|
return -1;
|