{"id":"3595cf538c0ba0b0466da6bc859cf8b93c7ce132efb63d49aba8a83b06dae5c9","pubkey":"b22b06b051fd5232966a9344a634d956c3dc33a7f5ecdcad9ed11ddc4120a7f2","created_at":1780946487,"kind":30817,"tags":[["d","scheduled-package"],["title","Scheduled Package"],["k","31234"],["client","nostrhub.io"]],"content":"# Scheduled Package\n\n`draft` `optional`\n\nGroups one or more Scheduler DVM jobs into a single scheduled item, and stores\nprivate context needed to display it later.\n\n## Why\n\nSome scheduled events are opaque to the client that scheduled them. For example,\na wrapped or encrypted event may not contain enough readable information to\nshow a useful scheduled item later.\n\nSome scheduled actions also need several Scheduler DVM jobs. A package lets a\nclient display and cancel those jobs as one logical item.\n\n## Manifest\n\nA package is a NIP-37 draft event:\n\n```json\n{\n  \"kind\": 31234,\n  \"pubkey\": \"<client_pubkey>\",\n  \"content\": \"<nip37 encrypted content>\",\n  \"tags\": [\n    [\"d\", \"<package_id>\"],\n    [\"k\", \"5905\"],\n    [\"e\", \"<kind5905_event_id_1>\"],\n    [\"e\", \"<kind5905_event_id_2>\"]\n  ]\n}\n```\n\n| Tag | Description |\n|-----|-------------|\n| `d` | Stable package identifier. SHOULD be 64 random hex chars. |\n| `k` | Linked event kind. MUST be `5905`. |\n| `e` | Linked Scheduler DVM request ID. One tag per job. |\n\n## Content\n\nThe draft content is application-defined. It SHOULD contain enough context for\nthe client to display the package later.\n\n## Create\n\nTo create a package, the client:\n\n1. Builds and signs every target event.\n2. Builds and signs one `kind:5905` request per target event.\n3. Builds and signs one `kind:31234` package manifest linking all `kind:5905`\n   request IDs.\n4. Publishes the requests and manifest.","sig":"4b26f049d057ced418a276899e23759dce5e554f5c74237341953b3a1276361aeaec996e5bfbd6b9f9ff900f63c62e705b7326b3d9a98717df2c89840b8a363a"}