tauri-plugin-nostr-native 0.1.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 (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -0
  3. package/dist-js/index.cjs +61 -0
  4. package/dist-js/index.d.ts +13 -0
  5. package/dist-js/index.js +52 -0
  6. package/package.json +38 -0
  7. package/permissions/autogenerated/commands/blossom_get_blob.toml +13 -0
  8. package/permissions/autogenerated/commands/blossom_mirror.toml +13 -0
  9. package/permissions/autogenerated/commands/blossom_upload.toml +13 -0
  10. package/permissions/autogenerated/commands/blossom_upload_content.toml +13 -0
  11. package/permissions/autogenerated/commands/create_discovery_event.toml +13 -0
  12. package/permissions/autogenerated/commands/decrypt_discovery_event.toml +13 -0
  13. package/permissions/autogenerated/commands/decrypt_pns_event.toml +13 -0
  14. package/permissions/autogenerated/commands/delete_calendar.toml +13 -0
  15. package/permissions/autogenerated/commands/delete_calendar_event.toml +13 -0
  16. package/permissions/autogenerated/commands/delete_chat_messages.toml +13 -0
  17. package/permissions/autogenerated/commands/derive_pns_keys.toml +13 -0
  18. package/permissions/autogenerated/commands/fetch_bookmarks.toml +13 -0
  19. package/permissions/autogenerated/commands/fetch_calendar_events.toml +13 -0
  20. package/permissions/autogenerated/commands/fetch_calendars.toml +13 -0
  21. package/permissions/autogenerated/commands/fetch_contact_list.toml +13 -0
  22. package/permissions/autogenerated/commands/fetch_discovery_events.toml +13 -0
  23. package/permissions/autogenerated/commands/fetch_event_details.toml +13 -0
  24. package/permissions/autogenerated/commands/fetch_pns_events.toml +13 -0
  25. package/permissions/autogenerated/commands/fetch_profiles.toml +13 -0
  26. package/permissions/autogenerated/commands/fetch_received_rsvps.toml +13 -0
  27. package/permissions/autogenerated/commands/fetch_rsvps.toml +13 -0
  28. package/permissions/autogenerated/commands/fetch_user_rsvps.toml +13 -0
  29. package/permissions/autogenerated/commands/generate_new_nsec.toml +13 -0
  30. package/permissions/autogenerated/commands/parse_pubkey.toml +13 -0
  31. package/permissions/autogenerated/commands/publish_batch_calendar_events.toml +13 -0
  32. package/permissions/autogenerated/commands/publish_calendar.toml +13 -0
  33. package/permissions/autogenerated/commands/publish_calendar_event.toml +13 -0
  34. package/permissions/autogenerated/commands/publish_chat_message.toml +13 -0
  35. package/permissions/autogenerated/commands/publish_rsvp.toml +13 -0
  36. package/permissions/autogenerated/commands/remove_bookmark.toml +13 -0
  37. package/permissions/autogenerated/commands/save_bookmark.toml +13 -0
  38. package/permissions/autogenerated/commands/send_direct_message.toml +13 -0
  39. package/permissions/autogenerated/commands/update_contact_list.toml +13 -0
  40. package/permissions/autogenerated/commands/verify_nsec.toml +13 -0
  41. package/permissions/autogenerated/reference.md +934 -0
  42. package/permissions/default.toml +38 -0
  43. package/permissions/schemas/schema.json +714 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 nostrnative
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,105 @@
1
+ # tauri-plugin-nostr-native
2
+
3
+ A modular, high-performance Nostr library and Tauri plugin for Rust and JavaScript. Designed to be clean, easy to integrate, and highly customizable through feature flags.
4
+
5
+ ## Features
6
+
7
+ - **Modular Design:** Only include the components you need (Calendar, Bookmarks, Blossom, etc.).
8
+ - **Tauri Integration:** First-class support for Tauri v2 with a seamless plugin system and typed frontend bindings.
9
+ - **Async-First:** Built on `tokio` and `nostr-sdk` for efficient network operations.
10
+ - **Comprehensive NIP Support:** Includes implementations for NIP-01, NIP-04, NIP-51 (Bookmarks), NIP-52 (Calendar), and more.
11
+
12
+ ## Installation
13
+
14
+ ### Rust (Backend)
15
+
16
+ Add `tauri-plugin-nostr-native` to your `src-tauri/Cargo.toml`:
17
+
18
+ ```toml
19
+ [dependencies]
20
+ # Use specific features to keep your binary small
21
+ tauri-plugin-nostr-native = { git = "https://github.com/nostrnative/nostrnative", features = ["calendar", "bookmarks", "tauri-plugin"] }
22
+
23
+ # Or enable everything
24
+ # tauri-plugin-nostr-native = { git = "https://github.com/nostrnative/nostrnative", features = ["full", "tauri-plugin"] }
25
+ ```
26
+
27
+ ### JavaScript (Frontend)
28
+
29
+ Install the plugin bindings in your Tauri app's frontend directory:
30
+
31
+ ```bash
32
+ npm install tauri-plugin-nostr-native
33
+ ```
34
+
35
+ ## Setup in Tauri
36
+
37
+ ### 1. Register the Plugin
38
+
39
+ In your `src-tauri/src/lib.rs` (or `main.rs`), initialize the plugin:
40
+
41
+ ```rust
42
+ pub fn run() {
43
+ tauri::Builder::default()
44
+ .plugin(tauri_plugin_nostr_native::init()) // Initialize the plugin
45
+ .run(tauri::generate_context!())
46
+ .expect("error while running tauri application");
47
+ }
48
+ ```
49
+
50
+ ### 2. Use the JavaScript API
51
+
52
+ Import the typed bindings in your frontend code:
53
+
54
+ ```typescript
55
+ import * as nostr from 'tauri-plugin-nostr-native';
56
+
57
+ // Examples
58
+ const nsec = await nostr.generateNewNsec();
59
+ const pubkey = await nostr.parsePubkey(somePubkey);
60
+
61
+ const events = await nostr.fetchCalendarEvents(pubkey, ["wss://relay.damus.io"], {
62
+ rangeStart: Math.floor(Date.now() / 1000)
63
+ });
64
+ ```
65
+
66
+ ## Available Features
67
+
68
+ | Feature | Description |
69
+ | -------------- | ----------------------------------------------------------- |
70
+ | `keys` | Basic key management (generate, parse, verify). |
71
+ | `calendar` | Calendar events (NIP-52) and RSVPs. |
72
+ | `profile` | User profiles (NIP-01) and contact lists (NIP-02). |
73
+ | `messages` | Direct messages (NIP-04). |
74
+ | `bookmarks` | Public and private bookmarks (NIP-51). |
75
+ | `blossom` | Blob Storage Server Operations (mirror, upload, get). |
76
+ | `chat` | Advanced chat functionality with PNS key derivation. |
77
+ | `tauri-plugin` | Exports all enabled features as Tauri commands. |
78
+ | `full` | Enables all functional features (excluding `tauri-plugin`). |
79
+
80
+ ## Standalone Library Usage
81
+
82
+ You can also use the core logic directly in any Rust project:
83
+
84
+ ```rust
85
+ use tauri_plugin_nostr_native::calendar::fetch_calendar_events_core;
86
+
87
+ #[tokio::main]
88
+ async fn main() {
89
+ let relays = vec!["wss://relay.damus.io".to_string()];
90
+ let events = fetch_calendar_events_core(
91
+ "your_pubkey",
92
+ None, // nsec
93
+ &relays,
94
+ None, // start
95
+ None, // end
96
+ None // authors
97
+ ).await;
98
+
99
+ println!("Fetched events: {:?}", events);
100
+ }
101
+ ```
102
+
103
+ ## Permissions
104
+
105
+ This plugin includes a set of default permissions. Check the `permissions/` directory for details on how to configure access to specific Nostr commands in your Tauri application.
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ var core = require('@tauri-apps/api/core');
4
+
5
+ async function generateNewNsec() {
6
+ return await core.invoke('plugin:nostrnative|generate_new_nsec');
7
+ }
8
+ async function parsePubkey(pubkey) {
9
+ return await core.invoke('plugin:nostrnative|parse_pubkey', { pubkey });
10
+ }
11
+ async function verifyNsec(nsec) {
12
+ return await core.invoke('plugin:nostrnative|verify_nsec', { nsec });
13
+ }
14
+ // Calendar
15
+ async function fetchCalendarEvents(pubkey, relays, options) {
16
+ return await core.invoke('plugin:nostrnative|fetch_calendar_events', {
17
+ pubkey,
18
+ nsec: options?.nsec,
19
+ relays,
20
+ rangeStart: options?.rangeStart,
21
+ rangeEnd: options?.rangeEnd,
22
+ authors: options?.authors
23
+ });
24
+ }
25
+ async function publishCalendarEvent(nsec, relays, eventData) {
26
+ return await core.invoke('plugin:nostrnative|publish_calendar_event', {
27
+ nsec,
28
+ relays,
29
+ eventData
30
+ });
31
+ }
32
+ // Profile
33
+ async function fetchProfiles(pubkeys, relays) {
34
+ return await core.invoke('plugin:nostrnative|fetch_profiles', { pubkeys, relays });
35
+ }
36
+ // Blossom
37
+ async function blossomUpload(serverUrl, nsec, filePath) {
38
+ return await core.invoke('plugin:nostrnative|blossom_upload', {
39
+ serverUrl,
40
+ nsec,
41
+ filePath
42
+ });
43
+ }
44
+ // Chat
45
+ async function publishChatMessage(pnsNsec, mainPubkey, msg, relays) {
46
+ return await core.invoke('plugin:nostrnative|publish_chat_message', {
47
+ pnsNsec,
48
+ mainPubkey,
49
+ msg,
50
+ relays
51
+ });
52
+ }
53
+
54
+ exports.blossomUpload = blossomUpload;
55
+ exports.fetchCalendarEvents = fetchCalendarEvents;
56
+ exports.fetchProfiles = fetchProfiles;
57
+ exports.generateNewNsec = generateNewNsec;
58
+ exports.parsePubkey = parsePubkey;
59
+ exports.publishCalendarEvent = publishCalendarEvent;
60
+ exports.publishChatMessage = publishChatMessage;
61
+ exports.verifyNsec = verifyNsec;
@@ -0,0 +1,13 @@
1
+ export declare function generateNewNsec(): Promise<string>;
2
+ export declare function parsePubkey(pubkey: string): Promise<string>;
3
+ export declare function verifyNsec(nsec: string): Promise<string>;
4
+ export declare function fetchCalendarEvents(pubkey: string, relays: string[], options?: {
5
+ nsec?: string;
6
+ rangeStart?: number;
7
+ rangeEnd?: number;
8
+ authors?: string[];
9
+ }): Promise<any[]>;
10
+ export declare function publishCalendarEvent(nsec: string, relays: string[], eventData: any): Promise<string>;
11
+ export declare function fetchProfiles(pubkeys: string[], relays: string[]): Promise<any[]>;
12
+ export declare function blossomUpload(serverUrl: string, nsec: string, filePath: string): Promise<string>;
13
+ export declare function publishChatMessage(pnsNsec: string, mainPubkey: string, msg: any, relays: string[]): Promise<string>;
@@ -0,0 +1,52 @@
1
+ import { invoke } from '@tauri-apps/api/core';
2
+
3
+ async function generateNewNsec() {
4
+ return await invoke('plugin:nostrnative|generate_new_nsec');
5
+ }
6
+ async function parsePubkey(pubkey) {
7
+ return await invoke('plugin:nostrnative|parse_pubkey', { pubkey });
8
+ }
9
+ async function verifyNsec(nsec) {
10
+ return await invoke('plugin:nostrnative|verify_nsec', { nsec });
11
+ }
12
+ // Calendar
13
+ async function fetchCalendarEvents(pubkey, relays, options) {
14
+ return await invoke('plugin:nostrnative|fetch_calendar_events', {
15
+ pubkey,
16
+ nsec: options?.nsec,
17
+ relays,
18
+ rangeStart: options?.rangeStart,
19
+ rangeEnd: options?.rangeEnd,
20
+ authors: options?.authors
21
+ });
22
+ }
23
+ async function publishCalendarEvent(nsec, relays, eventData) {
24
+ return await invoke('plugin:nostrnative|publish_calendar_event', {
25
+ nsec,
26
+ relays,
27
+ eventData
28
+ });
29
+ }
30
+ // Profile
31
+ async function fetchProfiles(pubkeys, relays) {
32
+ return await invoke('plugin:nostrnative|fetch_profiles', { pubkeys, relays });
33
+ }
34
+ // Blossom
35
+ async function blossomUpload(serverUrl, nsec, filePath) {
36
+ return await invoke('plugin:nostrnative|blossom_upload', {
37
+ serverUrl,
38
+ nsec,
39
+ filePath
40
+ });
41
+ }
42
+ // Chat
43
+ async function publishChatMessage(pnsNsec, mainPubkey, msg, relays) {
44
+ return await invoke('plugin:nostrnative|publish_chat_message', {
45
+ pnsNsec,
46
+ mainPubkey,
47
+ msg,
48
+ relays
49
+ });
50
+ }
51
+
52
+ export { blossomUpload, fetchCalendarEvents, fetchProfiles, generateNewNsec, parsePubkey, publishCalendarEvent, publishChatMessage, verifyNsec };
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "tauri-plugin-nostr-native",
3
+ "version": "0.1.0",
4
+ "description": "Nostr native capabilities for Tauri.",
5
+ "type": "module",
6
+ "types": "./dist-js/index.d.ts",
7
+ "main": "./dist-js/index.cjs",
8
+ "module": "./dist-js/index.js",
9
+ "exports": {
10
+ "types": "./dist-js/index.d.ts",
11
+ "import": "./dist-js/index.js",
12
+ "require": "./dist-js/index.cjs"
13
+ },
14
+ "scripts": {
15
+ "build": "rollup -c",
16
+ "prepublishOnly": "npm run build"
17
+ },
18
+ "files": [
19
+ "dist-js",
20
+ "permissions",
21
+ "README.md",
22
+ "LICENSE"
23
+ ],
24
+ "license": "MIT OR Apache-2.0",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/nostrnative/nostrnative.git"
28
+ },
29
+ "dependencies": {
30
+ "@tauri-apps/api": "^2.0.0"
31
+ },
32
+ "devDependencies": {
33
+ "@rollup/plugin-typescript": "^11.0.0",
34
+ "rollup": "^4.0.0",
35
+ "tslib": "^2.8.1",
36
+ "typescript": "^5.0.0"
37
+ }
38
+ }
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-blossom-get-blob"
7
+ description = "Enables the blossom_get_blob command without any pre-configured scope."
8
+ commands.allow = ["blossom_get_blob"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-blossom-get-blob"
12
+ description = "Denies the blossom_get_blob command without any pre-configured scope."
13
+ commands.deny = ["blossom_get_blob"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-blossom-mirror"
7
+ description = "Enables the blossom_mirror command without any pre-configured scope."
8
+ commands.allow = ["blossom_mirror"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-blossom-mirror"
12
+ description = "Denies the blossom_mirror command without any pre-configured scope."
13
+ commands.deny = ["blossom_mirror"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-blossom-upload"
7
+ description = "Enables the blossom_upload command without any pre-configured scope."
8
+ commands.allow = ["blossom_upload"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-blossom-upload"
12
+ description = "Denies the blossom_upload command without any pre-configured scope."
13
+ commands.deny = ["blossom_upload"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-blossom-upload-content"
7
+ description = "Enables the blossom_upload_content command without any pre-configured scope."
8
+ commands.allow = ["blossom_upload_content"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-blossom-upload-content"
12
+ description = "Denies the blossom_upload_content command without any pre-configured scope."
13
+ commands.deny = ["blossom_upload_content"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-create-discovery-event"
7
+ description = "Enables the create_discovery_event command without any pre-configured scope."
8
+ commands.allow = ["create_discovery_event"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-create-discovery-event"
12
+ description = "Denies the create_discovery_event command without any pre-configured scope."
13
+ commands.deny = ["create_discovery_event"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-decrypt-discovery-event"
7
+ description = "Enables the decrypt_discovery_event command without any pre-configured scope."
8
+ commands.allow = ["decrypt_discovery_event"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-decrypt-discovery-event"
12
+ description = "Denies the decrypt_discovery_event command without any pre-configured scope."
13
+ commands.deny = ["decrypt_discovery_event"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-decrypt-pns-event"
7
+ description = "Enables the decrypt_pns_event command without any pre-configured scope."
8
+ commands.allow = ["decrypt_pns_event"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-decrypt-pns-event"
12
+ description = "Denies the decrypt_pns_event command without any pre-configured scope."
13
+ commands.deny = ["decrypt_pns_event"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-delete-calendar"
7
+ description = "Enables the delete_calendar command without any pre-configured scope."
8
+ commands.allow = ["delete_calendar"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-delete-calendar"
12
+ description = "Denies the delete_calendar command without any pre-configured scope."
13
+ commands.deny = ["delete_calendar"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-delete-calendar-event"
7
+ description = "Enables the delete_calendar_event command without any pre-configured scope."
8
+ commands.allow = ["delete_calendar_event"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-delete-calendar-event"
12
+ description = "Denies the delete_calendar_event command without any pre-configured scope."
13
+ commands.deny = ["delete_calendar_event"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-delete-chat-messages"
7
+ description = "Enables the delete_chat_messages command without any pre-configured scope."
8
+ commands.allow = ["delete_chat_messages"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-delete-chat-messages"
12
+ description = "Denies the delete_chat_messages command without any pre-configured scope."
13
+ commands.deny = ["delete_chat_messages"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-derive-pns-keys"
7
+ description = "Enables the derive_pns_keys command without any pre-configured scope."
8
+ commands.allow = ["derive_pns_keys"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-derive-pns-keys"
12
+ description = "Denies the derive_pns_keys command without any pre-configured scope."
13
+ commands.deny = ["derive_pns_keys"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-bookmarks"
7
+ description = "Enables the fetch_bookmarks command without any pre-configured scope."
8
+ commands.allow = ["fetch_bookmarks"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-bookmarks"
12
+ description = "Denies the fetch_bookmarks command without any pre-configured scope."
13
+ commands.deny = ["fetch_bookmarks"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-calendar-events"
7
+ description = "Enables the fetch_calendar_events command without any pre-configured scope."
8
+ commands.allow = ["fetch_calendar_events"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-calendar-events"
12
+ description = "Denies the fetch_calendar_events command without any pre-configured scope."
13
+ commands.deny = ["fetch_calendar_events"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-calendars"
7
+ description = "Enables the fetch_calendars command without any pre-configured scope."
8
+ commands.allow = ["fetch_calendars"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-calendars"
12
+ description = "Denies the fetch_calendars command without any pre-configured scope."
13
+ commands.deny = ["fetch_calendars"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-contact-list"
7
+ description = "Enables the fetch_contact_list command without any pre-configured scope."
8
+ commands.allow = ["fetch_contact_list"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-contact-list"
12
+ description = "Denies the fetch_contact_list command without any pre-configured scope."
13
+ commands.deny = ["fetch_contact_list"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-discovery-events"
7
+ description = "Enables the fetch_discovery_events command without any pre-configured scope."
8
+ commands.allow = ["fetch_discovery_events"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-discovery-events"
12
+ description = "Denies the fetch_discovery_events command without any pre-configured scope."
13
+ commands.deny = ["fetch_discovery_events"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-event-details"
7
+ description = "Enables the fetch_event_details command without any pre-configured scope."
8
+ commands.allow = ["fetch_event_details"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-event-details"
12
+ description = "Denies the fetch_event_details command without any pre-configured scope."
13
+ commands.deny = ["fetch_event_details"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-pns-events"
7
+ description = "Enables the fetch_pns_events command without any pre-configured scope."
8
+ commands.allow = ["fetch_pns_events"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-pns-events"
12
+ description = "Denies the fetch_pns_events command without any pre-configured scope."
13
+ commands.deny = ["fetch_pns_events"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-profiles"
7
+ description = "Enables the fetch_profiles command without any pre-configured scope."
8
+ commands.allow = ["fetch_profiles"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-profiles"
12
+ description = "Denies the fetch_profiles command without any pre-configured scope."
13
+ commands.deny = ["fetch_profiles"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-received-rsvps"
7
+ description = "Enables the fetch_received_rsvps command without any pre-configured scope."
8
+ commands.allow = ["fetch_received_rsvps"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-received-rsvps"
12
+ description = "Denies the fetch_received_rsvps command without any pre-configured scope."
13
+ commands.deny = ["fetch_received_rsvps"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-rsvps"
7
+ description = "Enables the fetch_rsvps command without any pre-configured scope."
8
+ commands.allow = ["fetch_rsvps"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-rsvps"
12
+ description = "Denies the fetch_rsvps command without any pre-configured scope."
13
+ commands.deny = ["fetch_rsvps"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-fetch-user-rsvps"
7
+ description = "Enables the fetch_user_rsvps command without any pre-configured scope."
8
+ commands.allow = ["fetch_user_rsvps"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-fetch-user-rsvps"
12
+ description = "Denies the fetch_user_rsvps command without any pre-configured scope."
13
+ commands.deny = ["fetch_user_rsvps"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-generate-new-nsec"
7
+ description = "Enables the generate_new_nsec command without any pre-configured scope."
8
+ commands.allow = ["generate_new_nsec"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-generate-new-nsec"
12
+ description = "Denies the generate_new_nsec command without any pre-configured scope."
13
+ commands.deny = ["generate_new_nsec"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-parse-pubkey"
7
+ description = "Enables the parse_pubkey command without any pre-configured scope."
8
+ commands.allow = ["parse_pubkey"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-parse-pubkey"
12
+ description = "Denies the parse_pubkey command without any pre-configured scope."
13
+ commands.deny = ["parse_pubkey"]
@@ -0,0 +1,13 @@
1
+ # Automatically generated - DO NOT EDIT!
2
+
3
+ "$schema" = "../../schemas/schema.json"
4
+
5
+ [[permission]]
6
+ identifier = "allow-publish-batch-calendar-events"
7
+ description = "Enables the publish_batch_calendar_events command without any pre-configured scope."
8
+ commands.allow = ["publish_batch_calendar_events"]
9
+
10
+ [[permission]]
11
+ identifier = "deny-publish-batch-calendar-events"
12
+ description = "Denies the publish_batch_calendar_events command without any pre-configured scope."
13
+ commands.deny = ["publish_batch_calendar_events"]