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.
- package/LICENSE +21 -0
- package/README.md +105 -0
- package/dist-js/index.cjs +61 -0
- package/dist-js/index.d.ts +13 -0
- package/dist-js/index.js +52 -0
- package/package.json +38 -0
- package/permissions/autogenerated/commands/blossom_get_blob.toml +13 -0
- package/permissions/autogenerated/commands/blossom_mirror.toml +13 -0
- package/permissions/autogenerated/commands/blossom_upload.toml +13 -0
- package/permissions/autogenerated/commands/blossom_upload_content.toml +13 -0
- package/permissions/autogenerated/commands/create_discovery_event.toml +13 -0
- package/permissions/autogenerated/commands/decrypt_discovery_event.toml +13 -0
- package/permissions/autogenerated/commands/decrypt_pns_event.toml +13 -0
- package/permissions/autogenerated/commands/delete_calendar.toml +13 -0
- package/permissions/autogenerated/commands/delete_calendar_event.toml +13 -0
- package/permissions/autogenerated/commands/delete_chat_messages.toml +13 -0
- package/permissions/autogenerated/commands/derive_pns_keys.toml +13 -0
- package/permissions/autogenerated/commands/fetch_bookmarks.toml +13 -0
- package/permissions/autogenerated/commands/fetch_calendar_events.toml +13 -0
- package/permissions/autogenerated/commands/fetch_calendars.toml +13 -0
- package/permissions/autogenerated/commands/fetch_contact_list.toml +13 -0
- package/permissions/autogenerated/commands/fetch_discovery_events.toml +13 -0
- package/permissions/autogenerated/commands/fetch_event_details.toml +13 -0
- package/permissions/autogenerated/commands/fetch_pns_events.toml +13 -0
- package/permissions/autogenerated/commands/fetch_profiles.toml +13 -0
- package/permissions/autogenerated/commands/fetch_received_rsvps.toml +13 -0
- package/permissions/autogenerated/commands/fetch_rsvps.toml +13 -0
- package/permissions/autogenerated/commands/fetch_user_rsvps.toml +13 -0
- package/permissions/autogenerated/commands/generate_new_nsec.toml +13 -0
- package/permissions/autogenerated/commands/parse_pubkey.toml +13 -0
- package/permissions/autogenerated/commands/publish_batch_calendar_events.toml +13 -0
- package/permissions/autogenerated/commands/publish_calendar.toml +13 -0
- package/permissions/autogenerated/commands/publish_calendar_event.toml +13 -0
- package/permissions/autogenerated/commands/publish_chat_message.toml +13 -0
- package/permissions/autogenerated/commands/publish_rsvp.toml +13 -0
- package/permissions/autogenerated/commands/remove_bookmark.toml +13 -0
- package/permissions/autogenerated/commands/save_bookmark.toml +13 -0
- package/permissions/autogenerated/commands/send_direct_message.toml +13 -0
- package/permissions/autogenerated/commands/update_contact_list.toml +13 -0
- package/permissions/autogenerated/commands/verify_nsec.toml +13 -0
- package/permissions/autogenerated/reference.md +934 -0
- package/permissions/default.toml +38 -0
- 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>;
|
package/dist-js/index.js
ADDED
|
@@ -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"]
|