[{"data":1,"prerenderedAt":788},["ShallowReactive",2],{"navigation_docs":3,"-packages-client":72,"-packages-client-surround":785},[4,20,41],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Overview",false,"\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Adding Documentation","\u002Fgetting-started\u002Fadding-documentation","1.getting-started\u002F3.adding-documentation","i-lucide-file-plus",{"title":21,"icon":22,"path":23,"stem":24,"children":25,"page":6},"Applications","i-lucide-layout-grid","\u002Fapplications","2.applications",[26,31,36],{"title":27,"path":28,"stem":29,"icon":30},"Web","\u002Fapplications\u002Fweb","2.applications\u002F1.web","i-lucide-globe-code",{"title":32,"path":33,"stem":34,"icon":35},"Coordinator","\u002Fapplications\u002Fcoordinator","2.applications\u002F2.coordinator","i-lucide-clock",{"title":37,"path":38,"stem":39,"icon":40},"Profile Chrome Extension","\u002Fapplications\u002Fprofile-recorder","2.applications\u002F3.profile-recorder","i-lucide-mouse-pointer-click",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":6},"Packages","i-lucide-package","\u002Fpackages","3.packages",[47,52,57,62,67],{"title":48,"path":49,"stem":50,"icon":51},"Profile Runner","\u002Fpackages\u002Fprofile-runner","3.packages\u002F1.profile-runner","i-lucide-scan-search",{"title":53,"path":54,"stem":55,"icon":56},"Schema","\u002Fpackages\u002Fschema","3.packages\u002F2.schema","i-lucide-file-json",{"title":58,"path":59,"stem":60,"icon":61},"UI","\u002Fpackages\u002Fui","3.packages\u002F2.ui","i-lucide-layout-dashboard",{"title":63,"path":64,"stem":65,"icon":66},"Coordinator SDK","\u002Fpackages\u002Fcoordinator-sdk","3.packages\u002F3.coordinator-sdk","i-lucide-plug-zap",{"title":68,"path":69,"stem":70,"icon":71},"Client","\u002Fpackages\u002Fclient","3.packages\u002F4.client","i-lucide-plug",{"id":73,"title":68,"body":74,"description":778,"extension":779,"links":780,"meta":781,"navigation":782,"path":69,"seo":783,"stem":70,"__hash__":784},"docs\u002F3.packages\u002F4.client.md",{"type":75,"value":76,"toc":773},"minimark",[77,90,95,98,170,173,293,300,304,314,463,467,499,747,769],[78,79,80,84,85,89],"p",{},[81,82,83],"code",{},"@scrape-admin\u002Fclient"," wraps the team-scoped REST API from ",[86,87,88],"a",{"href":28},"Scrape Admin Web"," so scripts and other\nworkspace apps can run profiles and manage saved profiles and collections without hand-writing HTTP requests.",[91,92,94],"h2",{"id":93},"create-a-client","Create a client",[78,96,97],{},"The package is currently private to this pnpm workspace. Add it as a workspace dependency in the consuming package:",[99,100,105],"pre",{"className":101,"code":102,"language":103,"meta":104,"style":104},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"dependencies\": {\n    \"@scrape-admin\u002Fclient\": \"workspace:*\"\n  }\n}\n","json","",[81,106,107,116,135,158,164],{"__ignoreMap":104},[108,109,112],"span",{"class":110,"line":111},"line",1,[108,113,115],{"class":114},"sMK4o","{\n",[108,117,119,122,126,129,132],{"class":110,"line":118},2,[108,120,121],{"class":114},"  \"",[108,123,125],{"class":124},"spNyl","dependencies",[108,127,128],{"class":114},"\"",[108,130,131],{"class":114},":",[108,133,134],{"class":114}," {\n",[108,136,138,141,144,146,148,151,155],{"class":110,"line":137},3,[108,139,140],{"class":114},"    \"",[108,142,83],{"class":143},"sBMFI",[108,145,128],{"class":114},[108,147,131],{"class":114},[108,149,150],{"class":114}," \"",[108,152,154],{"class":153},"sfazB","workspace:*",[108,156,157],{"class":114},"\"\n",[108,159,161],{"class":110,"line":160},4,[108,162,163],{"class":114},"  }\n",[108,165,167],{"class":110,"line":166},5,[108,168,169],{"class":114},"}\n",[78,171,172],{},"Create an HTTP adapter with the target web app URL, team ID, and a team API key:",[99,174,178],{"className":175,"code":176,"language":177,"meta":104,"style":104},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createHttpAdapter } from '@scrape-admin\u002Fclient'\n\nconst client = createHttpAdapter({\n  baseURL: 'http:\u002F\u002Flocalhost:3000',\n  teamId: 'your-team-id',\n  apiKey: 'your-team-api-key',\n})\n","ts",[81,179,180,207,213,232,251,267,284],{"__ignoreMap":104},[108,181,182,186,189,193,196,199,202,204],{"class":110,"line":111},[108,183,185],{"class":184},"s7zQu","import",[108,187,188],{"class":114}," {",[108,190,192],{"class":191},"sTEyZ"," createHttpAdapter",[108,194,195],{"class":114}," }",[108,197,198],{"class":184}," from",[108,200,201],{"class":114}," '",[108,203,83],{"class":153},[108,205,206],{"class":114},"'\n",[108,208,209],{"class":110,"line":118},[108,210,212],{"emptyLinePlaceholder":211},true,"\n",[108,214,215,218,221,224,227,230],{"class":110,"line":137},[108,216,217],{"class":124},"const",[108,219,220],{"class":191}," client ",[108,222,223],{"class":114},"=",[108,225,192],{"class":226},"s2Zo4",[108,228,229],{"class":191},"(",[108,231,115],{"class":114},[108,233,234,238,240,242,245,248],{"class":110,"line":160},[108,235,237],{"class":236},"swJcz","  baseURL",[108,239,131],{"class":114},[108,241,201],{"class":114},[108,243,244],{"class":153},"http:\u002F\u002Flocalhost:3000",[108,246,247],{"class":114},"'",[108,249,250],{"class":114},",\n",[108,252,253,256,258,260,263,265],{"class":110,"line":166},[108,254,255],{"class":236},"  teamId",[108,257,131],{"class":114},[108,259,201],{"class":114},[108,261,262],{"class":153},"your-team-id",[108,264,247],{"class":114},[108,266,250],{"class":114},[108,268,270,273,275,277,280,282],{"class":110,"line":269},6,[108,271,272],{"class":236},"  apiKey",[108,274,131],{"class":114},[108,276,201],{"class":114},[108,278,279],{"class":153},"your-team-api-key",[108,281,247],{"class":114},[108,283,250],{"class":114},[108,285,287,290],{"class":110,"line":286},7,[108,288,289],{"class":114},"}",[108,291,292],{"class":191},")\n",[78,294,295,296,299],{},"The API key is sent as ",[81,297,298],{},"Authorization: Api-Key \u003CapiKey>",". Team-scoped endpoints require a valid key. Keep the key\nprivate and avoid including it in browser code or source control.",[91,301,303],{"id":302},"run-a-profile","Run a profile",[78,305,306,309,310,313],{},[81,307,308],{},"run"," executes a profile immediately without saving it. Its result is typed as ",[81,311,312],{},"unknown"," by default; provide a result\ntype when the shape is known:",[99,315,317],{"className":175,"code":316,"language":177,"meta":104,"style":104},"const run = await client.run\u003C{ title: string }>({\n  url: 'https:\u002F\u002Fexample.com',\n  elements: [{ name: 'title', selector: 'h1' }],\n})\n\nconsole.log(run.id, run.result.title)\n",[81,318,319,357,373,420,426,430],{"__ignoreMap":104},[108,320,321,323,326,328,331,334,337,339,342,345,347,350,353,355],{"class":110,"line":111},[108,322,217],{"class":124},[108,324,325],{"class":191}," run ",[108,327,223],{"class":114},[108,329,330],{"class":184}," await",[108,332,333],{"class":191}," client",[108,335,336],{"class":114},".",[108,338,308],{"class":226},[108,340,341],{"class":114},"\u003C{",[108,343,344],{"class":236}," title",[108,346,131],{"class":114},[108,348,349],{"class":143}," string",[108,351,352],{"class":114}," }>",[108,354,229],{"class":191},[108,356,115],{"class":114},[108,358,359,362,364,366,369,371],{"class":110,"line":118},[108,360,361],{"class":236},"  url",[108,363,131],{"class":114},[108,365,201],{"class":114},[108,367,368],{"class":153},"https:\u002F\u002Fexample.com",[108,370,247],{"class":114},[108,372,250],{"class":114},[108,374,375,378,380,383,386,389,391,393,396,398,401,404,406,408,411,413,415,418],{"class":110,"line":137},[108,376,377],{"class":236},"  elements",[108,379,131],{"class":114},[108,381,382],{"class":191}," [",[108,384,385],{"class":114},"{",[108,387,388],{"class":236}," name",[108,390,131],{"class":114},[108,392,201],{"class":114},[108,394,395],{"class":153},"title",[108,397,247],{"class":114},[108,399,400],{"class":114},",",[108,402,403],{"class":236}," selector",[108,405,131],{"class":114},[108,407,201],{"class":114},[108,409,410],{"class":153},"h1",[108,412,247],{"class":114},[108,414,195],{"class":114},[108,416,417],{"class":191},"]",[108,419,250],{"class":114},[108,421,422,424],{"class":110,"line":160},[108,423,289],{"class":114},[108,425,292],{"class":191},[108,427,428],{"class":110,"line":166},[108,429,212],{"emptyLinePlaceholder":211},[108,431,432,435,437,440,443,445,448,450,453,455,458,460],{"class":110,"line":269},[108,433,434],{"class":191},"console",[108,436,336],{"class":114},[108,438,439],{"class":226},"log",[108,441,442],{"class":191},"(run",[108,444,336],{"class":114},[108,446,447],{"class":191},"id",[108,449,400],{"class":114},[108,451,452],{"class":191}," run",[108,454,336],{"class":114},[108,456,457],{"class":191},"result",[108,459,336],{"class":114},[108,461,462],{"class":191},"title)\n",[91,464,466],{"id":465},"manage-profiles-and-collections","Manage profiles and collections",[78,468,469,470,473,474,477,478,481,482,481,485,481,488,491,492,495,496,336],{},"The ",[81,471,472],{},"profiles"," and ",[81,475,476],{},"collections"," clients each provide ",[81,479,480],{},"list",", ",[81,483,484],{},"getById",[81,486,487],{},"create",[81,489,490],{},"update",", and ",[81,493,494],{},"delete"," methods.\nTheir request and response types come from ",[81,497,498],{},"@scrape-admin\u002Fweb-schema",[99,500,502],{"className":175,"code":501,"language":177,"meta":104,"style":104},"const profiles = await client.profiles.list()\nconst profile = await client.profiles.getById('profile-id')\nconst createdProfile = await client.profiles.create({ name: 'Example', elements: [] })\nconst updatedProfile = await client.profiles.update(profile.id, { name: 'Updated example' })\nawait client.profiles.delete(profile.id)\n\nconst collections = await client.collections.list()\nconst collection = await client.collections.create({ name: 'Example collection' })\n",[81,503,504,528,560,610,657,679,683,706],{"__ignoreMap":104},[108,505,506,508,511,513,515,517,519,521,523,525],{"class":110,"line":111},[108,507,217],{"class":124},[108,509,510],{"class":191}," profiles ",[108,512,223],{"class":114},[108,514,330],{"class":184},[108,516,333],{"class":191},[108,518,336],{"class":114},[108,520,472],{"class":191},[108,522,336],{"class":114},[108,524,480],{"class":226},[108,526,527],{"class":191},"()\n",[108,529,530,532,535,537,539,541,543,545,547,549,551,553,556,558],{"class":110,"line":118},[108,531,217],{"class":124},[108,533,534],{"class":191}," profile ",[108,536,223],{"class":114},[108,538,330],{"class":184},[108,540,333],{"class":191},[108,542,336],{"class":114},[108,544,472],{"class":191},[108,546,336],{"class":114},[108,548,484],{"class":226},[108,550,229],{"class":191},[108,552,247],{"class":114},[108,554,555],{"class":153},"profile-id",[108,557,247],{"class":114},[108,559,292],{"class":191},[108,561,562,564,567,569,571,573,575,577,579,581,583,585,587,589,591,594,596,598,601,603,606,608],{"class":110,"line":137},[108,563,217],{"class":124},[108,565,566],{"class":191}," createdProfile ",[108,568,223],{"class":114},[108,570,330],{"class":184},[108,572,333],{"class":191},[108,574,336],{"class":114},[108,576,472],{"class":191},[108,578,336],{"class":114},[108,580,487],{"class":226},[108,582,229],{"class":191},[108,584,385],{"class":114},[108,586,388],{"class":236},[108,588,131],{"class":114},[108,590,201],{"class":114},[108,592,593],{"class":153},"Example",[108,595,247],{"class":114},[108,597,400],{"class":114},[108,599,600],{"class":236}," elements",[108,602,131],{"class":114},[108,604,605],{"class":191}," [] ",[108,607,289],{"class":114},[108,609,292],{"class":191},[108,611,612,614,617,619,621,623,625,627,629,631,634,636,638,640,642,644,646,648,651,653,655],{"class":110,"line":160},[108,613,217],{"class":124},[108,615,616],{"class":191}," updatedProfile ",[108,618,223],{"class":114},[108,620,330],{"class":184},[108,622,333],{"class":191},[108,624,336],{"class":114},[108,626,472],{"class":191},[108,628,336],{"class":114},[108,630,490],{"class":226},[108,632,633],{"class":191},"(profile",[108,635,336],{"class":114},[108,637,447],{"class":191},[108,639,400],{"class":114},[108,641,188],{"class":114},[108,643,388],{"class":236},[108,645,131],{"class":114},[108,647,201],{"class":114},[108,649,650],{"class":153},"Updated example",[108,652,247],{"class":114},[108,654,195],{"class":114},[108,656,292],{"class":191},[108,658,659,662,664,666,668,670,672,674,676],{"class":110,"line":166},[108,660,661],{"class":184},"await",[108,663,333],{"class":191},[108,665,336],{"class":114},[108,667,472],{"class":191},[108,669,336],{"class":114},[108,671,494],{"class":226},[108,673,633],{"class":191},[108,675,336],{"class":114},[108,677,678],{"class":191},"id)\n",[108,680,681],{"class":110,"line":269},[108,682,212],{"emptyLinePlaceholder":211},[108,684,685,687,690,692,694,696,698,700,702,704],{"class":110,"line":286},[108,686,217],{"class":124},[108,688,689],{"class":191}," collections ",[108,691,223],{"class":114},[108,693,330],{"class":184},[108,695,333],{"class":191},[108,697,336],{"class":114},[108,699,476],{"class":191},[108,701,336],{"class":114},[108,703,480],{"class":226},[108,705,527],{"class":191},[108,707,709,711,714,716,718,720,722,724,726,728,730,732,734,736,738,741,743,745],{"class":110,"line":708},8,[108,710,217],{"class":124},[108,712,713],{"class":191}," collection ",[108,715,223],{"class":114},[108,717,330],{"class":184},[108,719,333],{"class":191},[108,721,336],{"class":114},[108,723,476],{"class":191},[108,725,336],{"class":114},[108,727,487],{"class":226},[108,729,229],{"class":191},[108,731,385],{"class":114},[108,733,388],{"class":236},[108,735,131],{"class":114},[108,737,201],{"class":114},[108,739,740],{"class":153},"Example collection",[108,742,247],{"class":114},[108,744,195],{"class":114},[108,746,292],{"class":191},[78,748,749,750,473,753,756,757,760,761,764,765,768],{},"Calls use the team's ",[81,751,752],{},"\u002Fapi\u002Fteams\u002F{teamId}\u002Fprofiles",[81,754,755],{},"\u002Fapi\u002Fteams\u002F{teamId}\u002Fcollections"," endpoints. Non-success HTTP\nresponses reject with an error from ",[81,758,759],{},"ofetch","; handle failures with ",[81,762,763],{},"try","\u002F",[81,766,767],{},"catch"," as needed.",[770,771,772],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":104,"searchDepth":118,"depth":118,"links":774},[775,776,777],{"id":93,"depth":118,"text":94},{"id":302,"depth":118,"text":303},{"id":465,"depth":118,"text":466},"A typed HTTP client for the Scrape Admin team API.","md",null,{},{"icon":71},{"title":68,"description":778},"2gGewJZrCoRyF-TtggnOSdZaxe2rSM60YwAbq740zEc",[786,780],{"title":63,"path":64,"stem":65,"description":787,"icon":66,"children":-1},"A typed client for the coordinator's scheduled webhook API.",1790949708940]