AT Protocol utilities for Alfred: search users, resolve identities, view PLC logs and lexicons via pds.ls.
0

Configure Feed

Select the types of activity you want to include in your feed.

at trunk 6.3 kB View raw
1{ 2 "bundleid": "com.jeherve.pdsls", 3 "name": "PDSls", 4 "description": "AT Protocol utilities — search users, resolve identities, view PLC logs and lexicons via pds.ls", 5 "createdby": "Jeremy Herve", 6 "webaddress": "https://pds.ls", 7 "version": "1.0.0", 8 "readme": "AT Protocol utilities for Alfred, integrating with pds.ls.\n\nKeywords:\n pdsearch {query} Search Bluesky profiles\n pdresolve {query} Resolve a DID or handle\n pdplc {query} View the PLC operation log for a did:plc\n pdlex {nsid} View a lexicon schema (e.g. app.bsky.feed.post)\n\nActions on any result: ⏎ open in pds.ls · ⌘ copy DID/JSON · ⌥ copy secondary · ⇧ Quick Look detail.\n\nRequires Node.js on PATH (Homebrew /opt/homebrew/bin or nvm are auto-detected).", 9 "variables": {}, 10 "variablesdontexport": [], 11 "connections": { 12 "SF_SEARCH": [ 13 { "destinationuid": "DISPATCH", "modifiers": 0, "modifiersubtext": "", "vitoclose": false }, 14 { "destinationuid": "DISPATCH", "modifiers": 1048576, "modifiersubtext": "", "vitoclose": false }, 15 { "destinationuid": "DISPATCH", "modifiers": 524288, "modifiersubtext": "", "vitoclose": false } 16 ], 17 "SF_RESOLVE": [ 18 { "destinationuid": "DISPATCH", "modifiers": 0, "modifiersubtext": "", "vitoclose": false }, 19 { "destinationuid": "DISPATCH", "modifiers": 1048576, "modifiersubtext": "", "vitoclose": false }, 20 { "destinationuid": "DISPATCH", "modifiers": 524288, "modifiersubtext": "", "vitoclose": false } 21 ], 22 "SF_PLC": [ 23 { "destinationuid": "DISPATCH", "modifiers": 0, "modifiersubtext": "", "vitoclose": false }, 24 { "destinationuid": "DISPATCH", "modifiers": 1048576, "modifiersubtext": "", "vitoclose": false }, 25 { "destinationuid": "DISPATCH", "modifiers": 524288, "modifiersubtext": "", "vitoclose": false } 26 ], 27 "SF_LEX": [ 28 { "destinationuid": "DISPATCH", "modifiers": 0, "modifiersubtext": "", "vitoclose": false }, 29 { "destinationuid": "DISPATCH", "modifiers": 1048576, "modifiersubtext": "", "vitoclose": false }, 30 { "destinationuid": "DISPATCH", "modifiers": 524288, "modifiersubtext": "", "vitoclose": false } 31 ] 32 }, 33 "objects": [ 34 { 35 "uid": "SF_SEARCH", 36 "type": "alfred.workflow.input.scriptfilter", 37 "version": 3, 38 "config": { 39 "alfredfiltersresults": false, 40 "argumenttype": 1, 41 "escaping": 102, 42 "keyword": "pdsearch", 43 "queuedelaycustom": 3, 44 "queuedelayimmediatelyinitially": true, 45 "queuedelaymode": 0, 46 "runningsubtext": "Searching profiles…", 47 "script": "export PATH=\"/opt/homebrew/bin:/usr/local/bin:$HOME/.nvm/current/bin:$PATH\"\ncommand -v node >/dev/null 2>&1 || export PATH=\"$(ls -d \"$HOME\"/.nvm/versions/node/*/bin 2>/dev/null | tail -1):$PATH\"\nexec node \"./dist/search.cjs\" \"$1\"", 48 "scriptargtype": 1, 49 "scriptfile": "", 50 "subtext": "Search Bluesky profiles and open in PDSls", 51 "title": "Search Users", 52 "type": 0, 53 "withspace": true 54 } 55 }, 56 { 57 "uid": "SF_RESOLVE", 58 "type": "alfred.workflow.input.scriptfilter", 59 "version": 3, 60 "config": { 61 "alfredfiltersresults": false, 62 "argumenttype": 1, 63 "escaping": 102, 64 "keyword": "pdresolve", 65 "queuedelaycustom": 3, 66 "queuedelayimmediatelyinitially": true, 67 "queuedelaymode": 0, 68 "runningsubtext": "Resolving identity…", 69 "script": "export PATH=\"/opt/homebrew/bin:/usr/local/bin:$HOME/.nvm/current/bin:$PATH\"\ncommand -v node >/dev/null 2>&1 || export PATH=\"$(ls -d \"$HOME\"/.nvm/versions/node/*/bin 2>/dev/null | tail -1):$PATH\"\nexec node \"./dist/resolve.cjs\" \"$1\"", 70 "scriptargtype": 1, 71 "scriptfile": "", 72 "subtext": "Resolve a DID to a handle or vice versa", 73 "title": "Resolve Identity", 74 "type": 0, 75 "withspace": true 76 } 77 }, 78 { 79 "uid": "SF_PLC", 80 "type": "alfred.workflow.input.scriptfilter", 81 "version": 3, 82 "config": { 83 "alfredfiltersresults": false, 84 "argumenttype": 1, 85 "escaping": 102, 86 "keyword": "pdplc", 87 "queuedelaycustom": 3, 88 "queuedelayimmediatelyinitially": true, 89 "queuedelaymode": 0, 90 "runningsubtext": "Fetching PLC log…", 91 "script": "export PATH=\"/opt/homebrew/bin:/usr/local/bin:$HOME/.nvm/current/bin:$PATH\"\ncommand -v node >/dev/null 2>&1 || export PATH=\"$(ls -d \"$HOME\"/.nvm/versions/node/*/bin 2>/dev/null | tail -1):$PATH\"\nexec node \"./dist/plc.cjs\" \"$1\"", 92 "scriptargtype": 1, 93 "scriptfile": "", 94 "subtext": "View the PLC operation log for a DID or handle", 95 "title": "PLC Operation Log", 96 "type": 0, 97 "withspace": true 98 } 99 }, 100 { 101 "uid": "SF_LEX", 102 "type": "alfred.workflow.input.scriptfilter", 103 "version": 3, 104 "config": { 105 "alfredfiltersresults": false, 106 "argumenttype": 1, 107 "escaping": 102, 108 "keyword": "pdlex", 109 "queuedelaycustom": 3, 110 "queuedelayimmediatelyinitially": true, 111 "queuedelaymode": 0, 112 "runningsubtext": "Resolving lexicon…", 113 "script": "export PATH=\"/opt/homebrew/bin:/usr/local/bin:$HOME/.nvm/current/bin:$PATH\"\ncommand -v node >/dev/null 2>&1 || export PATH=\"$(ls -d \"$HOME\"/.nvm/versions/node/*/bin 2>/dev/null | tail -1):$PATH\"\nexec node \"./dist/lexicon.cjs\" \"$1\"", 114 "scriptargtype": 1, 115 "scriptfile": "", 116 "subtext": "View lexicon schema documentation (e.g. app.bsky.feed.post)", 117 "title": "View Lexicon", 118 "type": 0, 119 "withspace": true 120 } 121 }, 122 { 123 "uid": "DISPATCH", 124 "type": "alfred.workflow.action.script", 125 "version": 2, 126 "config": { 127 "concurrently": false, 128 "escaping": 102, 129 "script": "case \"$pdsls_action\" in\n open) open \"$pdsls_value\" ;;\n copy) printf %s \"$pdsls_value\" | pbcopy ;;\nesac", 130 "scriptargtype": 1, 131 "scriptfile": "", 132 "type": 0 133 } 134 } 135 ], 136 "uidata": { 137 "SF_SEARCH": { "xpos": 60, "ypos": 40 }, 138 "SF_RESOLVE": { "xpos": 60, "ypos": 170 }, 139 "SF_PLC": { "xpos": 60, "ypos": 300 }, 140 "SF_LEX": { "xpos": 60, "ypos": 430 }, 141 "DISPATCH": { "xpos": 420, "ypos": 230 } 142 } 143}