@devvit/protos 0.11.3-next-2024-11-11-5e5902c67.0 → 0.11.3-next-2024-11-12-6a2c027f8.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.
Files changed (46) hide show
  1. package/meta.min.json +114 -8
  2. package/package.json +6 -6
  3. package/protos.min.js +1 -1
  4. package/protos.min.js.map +4 -4
  5. package/schema/devvit/ui/block_kit/v1beta/enums.proto +2 -2
  6. package/schema/devvit/ui/effects/v1alpha/create_order.proto +1 -1
  7. package/schema/devvit/ui/effects/v1alpha/effect.proto +6 -1
  8. package/schema/devvit/ui/effects/v1alpha/interval.proto +1 -1
  9. package/schema/devvit/ui/effects/v1alpha/navigate_to_url.proto +1 -1
  10. package/schema/devvit/ui/effects/v1alpha/realtime_subscriptions.proto +1 -1
  11. package/schema/devvit/ui/effects/v1alpha/reload_part.proto +1 -1
  12. package/schema/devvit/ui/effects/v1alpha/rerender_ui.proto +1 -1
  13. package/schema/devvit/ui/effects/v1alpha/show_form.proto +1 -1
  14. package/schema/devvit/ui/effects/v1alpha/show_toast.proto +1 -1
  15. package/schema/devvit/ui/effects/web_view/v1alpha/fullscreen.proto +15 -0
  16. package/schema/devvit/ui/effects/web_view/v1alpha/post_message.proto +68 -0
  17. package/schema/devvit/ui/effects/web_view/v1alpha/web_view.proto +17 -0
  18. package/schema/devvit/ui/events/v1alpha/event.proto +2 -0
  19. package/schema/devvit/ui/events/v1alpha/web_view.proto +31 -0
  20. package/schema/snootobuf.devenv.lock +1732 -279
  21. package/schema/snootobuf.lock +1741 -288
  22. package/schema/snootobuf.redditapi.lock +1728 -279
  23. package/schema/snootobuf.ts.lock +1732 -279
  24. package/types/devvit/reddit/custom_post/v1alpha/custom_post.d.ts +132 -0
  25. package/types/devvit/reddit/custom_post/v1alpha/custom_post.d.ts.map +1 -1
  26. package/types/devvit/ui/block_kit/v1beta/enums.d.ts +3 -3
  27. package/types/devvit/ui/block_kit/v1beta/enums.d.ts.map +1 -1
  28. package/types/devvit/ui/block_kit/v1beta/enums.js +9 -9
  29. package/types/devvit/ui/effects/v1alpha/effect.d.ts +4 -0
  30. package/types/devvit/ui/effects/v1alpha/effect.d.ts.map +1 -1
  31. package/types/devvit/ui/effects/v1alpha/effect.js +25 -0
  32. package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.d.ts +28 -0
  33. package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.d.ts.map +1 -0
  34. package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.js +79 -0
  35. package/types/devvit/ui/effects/web_view/v1alpha/post_message.d.ts +85 -0
  36. package/types/devvit/ui/effects/web_view/v1alpha/post_message.d.ts.map +1 -0
  37. package/types/devvit/ui/effects/web_view/v1alpha/post_message.js +273 -0
  38. package/types/devvit/ui/effects/web_view/v1alpha/web_view.d.ts +28 -0
  39. package/types/devvit/ui/effects/web_view/v1alpha/web_view.d.ts.map +1 -0
  40. package/types/devvit/ui/effects/web_view/v1alpha/web_view.js +85 -0
  41. package/types/devvit/ui/events/v1alpha/event.d.ts +2 -0
  42. package/types/devvit/ui/events/v1alpha/event.d.ts.map +1 -1
  43. package/types/devvit/ui/events/v1alpha/event.js +18 -0
  44. package/types/devvit/ui/events/v1alpha/web_view.d.ts +59 -0
  45. package/types/devvit/ui/events/v1alpha/web_view.d.ts.map +1 -0
  46. package/types/devvit/ui/events/v1alpha/web_view.js +219 -0
@@ -18,13 +18,13 @@ enum BlockType {
18
18
  BLOCK_ANIMATION = 9 [deprecated = true];
19
19
 
20
20
  // elements 100+ are privileged
21
- BLOCK_WEBVIEW = 100;
21
+ BLOCK_WEB_VIEW = 100;
22
22
  }
23
23
 
24
24
  enum BlockActionType {
25
25
  ACTION_CLICK = 0;
26
26
 
27
- ACTION_WEBVIEW = 100;
27
+ ACTION_WEB_VIEW = 100;
28
28
  }
29
29
 
30
30
  enum BlockRenderEventType {
@@ -2,7 +2,7 @@ syntax = "proto3";
2
2
 
3
3
  package devvit.ui.effects.v1alpha;
4
4
 
5
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
5
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
6
6
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
7
7
 
8
8
  enum OrderResultStatus {
@@ -10,8 +10,9 @@ import "devvit/ui/effects/v1alpha/reload_part.proto";
10
10
  import "devvit/ui/effects/v1alpha/rerender_ui.proto";
11
11
  import "devvit/ui/effects/v1alpha/show_form.proto";
12
12
  import "devvit/ui/effects/v1alpha/show_toast.proto";
13
+ import "devvit/ui/effects/web_view/v1alpha/web_view.proto";
13
14
 
14
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
15
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
15
16
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
16
17
 
17
18
  enum EffectType {
@@ -38,6 +39,9 @@ enum EffectType {
38
39
 
39
40
  // This starts a purchase flow
40
41
  EFFECT_CREATE_ORDER = 8;
42
+
43
+ // Control and communicate with WebViews
44
+ EFFECT_WEB_VIEW = 9;
41
45
  }
42
46
 
43
47
  message Effect {
@@ -50,6 +54,7 @@ message Effect {
50
54
  NavigateToUrlEffect navigate_to_url = 6;
51
55
  SetIntervalsEffect interval = 9;
52
56
  CreateOrderEffect create_order = 10;
57
+ devvit.ui.effects.web_view.v1alpha.WebViewEffect web_view = 11;
53
58
  }
54
59
 
55
60
  //TODO: remove this field once all clients are updated. Redundant with effect_type
@@ -5,7 +5,7 @@ package devvit.ui.effects.v1alpha;
5
5
  import "google/protobuf/duration.proto";
6
6
  import "google/protobuf/wrappers.proto";
7
7
 
8
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
8
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
9
9
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
10
10
 
11
11
  /**
@@ -2,7 +2,7 @@ syntax = "proto3";
2
2
 
3
3
  package devvit.ui.effects.v1alpha;
4
4
 
5
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
5
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
6
6
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
7
7
 
8
8
  // Request the client to navigate to a specific url
@@ -4,7 +4,7 @@ package devvit.ui.effects.v1alpha;
4
4
 
5
5
  import "devvit/events/v1alpha/realtime.proto";
6
6
 
7
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
7
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
8
8
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
9
9
 
10
10
  enum RealtimeSubscriptionStatus {
@@ -2,7 +2,7 @@ syntax = "proto3";
2
2
 
3
3
  package devvit.ui.effects.v1alpha;
4
4
 
5
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
5
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
6
6
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
7
7
 
8
8
  // Request the client to reload some or all of the content in a particular post
@@ -2,7 +2,7 @@ syntax = "proto3";
2
2
 
3
3
  package devvit.ui.effects.v1alpha;
4
4
 
5
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
5
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
6
6
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
7
7
 
8
8
  // Automatically re-render UI
@@ -5,7 +5,7 @@ package devvit.ui.effects.v1alpha;
5
5
  import "devvit/ui/form_builder/v1alpha/form.proto";
6
6
  import "devvit/ui/form_builder/v1alpha/value.proto";
7
7
 
8
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
8
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
9
9
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
10
10
 
11
11
  // Display a user input form
@@ -4,7 +4,7 @@ package devvit.ui.effects.v1alpha;
4
4
 
5
5
  import "devvit/ui/toast/toast.proto";
6
6
 
7
- option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
7
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/v1alpha";
8
8
  option java_package = "com.reddit.devvit.ui.effects.v1alpha";
9
9
 
10
10
  // Display a popup toast
@@ -0,0 +1,15 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.ui.effects.web_view.v1alpha;
4
+
5
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/web_view/v1alpha";
6
+ option java_package = "com.reddit.devvit.ui.effects.web_view.v1alpha";
7
+
8
+ // Sent to launch a full-screen WebView experience
9
+ message WebViewFullScreenVisibilityEffect {
10
+ // True if app wants to show the WebView, false if the app wants to close an open WebView
11
+ bool show = 1;
12
+
13
+ // URL to load in the fullscreen WebView
14
+ string url = 2;
15
+ }
@@ -0,0 +1,68 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.ui.effects.web_view.v1alpha;
4
+
5
+ import "google/protobuf/struct.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/web_view/v1alpha";
8
+ option java_package = "com.reddit.devvit.ui.effects.web_view.v1alpha";
9
+
10
+ // Each message described here will be converted to a Struct and sent to a WebView wrapped in a WebViewPostMessage:
11
+ // Example, sending WebViewAppMessage:
12
+ // {
13
+ // type: 'devvit-message',
14
+ // data: {
15
+ // message: 'Foo'
16
+ // }
17
+ // }
18
+
19
+ // Structure of messages sent via postMessage
20
+ message WebViewPostMessage {
21
+ // See comments for each message
22
+ string type = 1;
23
+ // One of the following messages converted to a Struct
24
+ google.protobuf.Struct data = 2;
25
+ }
26
+
27
+ // Arbitrary message, sent by app via effect
28
+ // type: devvit-message
29
+ message WebViewAppMessage {
30
+ // Any serializable value given to postMessage in a WebView
31
+ google.protobuf.Value message = 1;
32
+ }
33
+
34
+ // Used to pass stateful data into a WebView
35
+ // type: devvit-state
36
+ // @deprecated
37
+ message WebViewStateMessage {
38
+ google.protobuf.Struct state = 1;
39
+ }
40
+
41
+ // TODO: Add once UI messages are properly organized out of the block_kit package.
42
+ // This is creating an import cycle in golang and cannot be compiled.
43
+ // Used to mirror some UIEvents to the WebView to handle it for apps automatically
44
+ // type: devvit-event
45
+ // message WebViewUIEventMessage {
46
+ // devvit.ui.events.v1alpha.UIEvent event = 1;
47
+ // }
48
+
49
+ // TODO: Add once UI messages are properly organized out of the block_kit package.
50
+ // This is creating an import cycle in golang and cannot be compiled.
51
+ // Used to inform a WebView of client environment changes
52
+ // type: devvit-environment
53
+ // message WebViewUIEnvironmentMessage {
54
+ // devvit.ui.block_kit.v1beta.UIEnvironment environment = 1;
55
+ // }
56
+
57
+ message WebViewPostMessageEffect {
58
+ // ID of the WebView block
59
+ string web_view_id = 1;
60
+
61
+ // Message to send to the WebView
62
+ oneof message {
63
+ WebViewAppMessage app = 2;
64
+ WebViewStateMessage state = 3;
65
+ // WebViewUIEventMessage event = 4;
66
+ // WebViewUIEnvironmentMessage environment = 5;
67
+ }
68
+ }
@@ -0,0 +1,17 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.ui.effects.web_view.v1alpha;
4
+
5
+ import "devvit/ui/effects/web_view/v1alpha/fullscreen.proto";
6
+ import "devvit/ui/effects/web_view/v1alpha/post_message.proto";
7
+
8
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/effects/web_view/v1alpha";
9
+ option java_package = "com.reddit.devvit.ui.effects.web_view.v1alpha";
10
+
11
+ // Effect to communicate and control WebViews
12
+ message WebViewEffect {
13
+ oneof effect {
14
+ WebViewPostMessageEffect post_message = 1;
15
+ WebViewFullScreenVisibilityEffect fullscreen = 2;
16
+ }
17
+ }
@@ -6,6 +6,7 @@ import "devvit/ui/effects/v1alpha/create_order.proto";
6
6
  import "devvit/ui/effects/v1alpha/realtime_subscriptions.proto";
7
7
  import "devvit/ui/effects/v1alpha/show_form.proto";
8
8
  import "devvit/ui/effects/v1alpha/show_toast.proto";
9
+ import "devvit/ui/events/v1alpha/web_view.proto";
9
10
  import "google/protobuf/struct.proto";
10
11
  import "google/protobuf/wrappers.proto";
11
12
 
@@ -34,6 +35,7 @@ message UIEvent {
34
35
  TimerEvent timer = 12;
35
36
  BlockingRenderEvent blocking = 13;
36
37
  ResizeEvent resize = 14;
38
+ WebViewEvent web_view = 20;
37
39
  }
38
40
 
39
41
  // If an event is async, it can be fired in parallel with other events. Async events
@@ -0,0 +1,31 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.ui.events.v1alpha;
4
+
5
+ import "google/protobuf/struct.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/ui/events/v1alpha";
8
+ option java_package = "com.reddit.devvit.ui.events.v1alpha";
9
+
10
+ enum WebViewVisibility {
11
+ WEBVIEW_VISIBLE = 0;
12
+ WEBVIEW_HIDDEN = 1;
13
+ }
14
+
15
+ // Fired when the content of a WebView calls window.parent.postMessage()
16
+ message WebViewPostMessageEvent {
17
+ // Can be a Struct or a scalar value since postMessage doesn't restrict the type of 'message'.
18
+ google.protobuf.Value message = 1;
19
+ }
20
+
21
+ // Fired when the visibility of a fullscreen WebView changes
22
+ message WebViewFullScreenEvent {
23
+ WebViewVisibility visibility = 1;
24
+ }
25
+
26
+ message WebViewEvent {
27
+ oneof payload {
28
+ WebViewPostMessageEvent post_message = 1;
29
+ WebViewFullScreenEvent full_screen = 2;
30
+ }
31
+ }