[{"data":1,"prerenderedAt":1045},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fcli\u002Fobserve":3,"docs-nav":931},{"id":4,"title":5,"body":6,"description":922,"extension":923,"meta":924,"navigation":925,"order":926,"path":927,"seo":928,"stem":929,"__hash__":930},"docs\u002Fdocs\u002F3.cli\u002F4.observe.md","jawb observe [\u003Curl>] [--full] [--interactive-only] [--js]",{"type":7,"value":8,"toc":917},"minimark",[9,39,164,171,267,273,279,426,431,560,564,624,635,642,647,710,733,737,745,752,758,911,914],[10,11,12,13,17,18,22,23,26,27,30,31,34,35,38],"p",{},"Observes the current (or given) page: a compact list of its elements,\neach with a short numeric ",[14,15,16],"strong",{},"ID"," you use to target it in later ",[19,20,21],"code",{},"Read"," and\n",[19,24,25],{},"Act"," commands. With a URL and no ",[19,28,29],{},"--tab",", ",[19,32,33],{},"observe"," opens the URL first\n(this is the same shape as the old ",[19,36,37],{},"jawb observe \u003Curl>",").",[40,41,46],"pre",{"className":42,"code":43,"language":44,"meta":45,"style":45},"language-bash shiki shiki-themes github-light github-dark","$ jawb observe --tab t_5a87rr\nExample Domain  https:\u002F\u002Fexample.com\u002F  (rev 1, 2 of 3 elements)\n  [1] heading(1) \"Example Domain\"\n  [3] link \"Learn more\" -> https:\u002F\u002Fiana.org\u002Fdomains\u002Fexample\nrev 1 → 1 (native, 60ms)\n","bash","",[19,47,48,71,105,120,142],{"__ignoreMap":45},[49,50,53,57,61,64,68],"span",{"class":51,"line":52},"line",1,[49,54,56],{"class":55},"sScJk","$",[49,58,60],{"class":59},"sZZnC"," jawb",[49,62,63],{"class":59}," observe",[49,65,67],{"class":66},"sj4cs"," --tab",[49,69,70],{"class":59}," t_5a87rr\n",[49,72,74,77,80,83,87,90,93,96,99,102],{"class":51,"line":73},2,[49,75,76],{"class":55},"Example",[49,78,79],{"class":59}," Domain",[49,81,82],{"class":59},"  https:\u002F\u002Fexample.com\u002F",[49,84,86],{"class":85},"sVt8B","  (rev ",[49,88,89],{"class":59},"1,",[49,91,92],{"class":66}," 2",[49,94,95],{"class":59}," of",[49,97,98],{"class":66}," 3",[49,100,101],{"class":59}," elements",[49,103,104],{"class":85},")\n",[49,106,108,111,114,117],{"class":51,"line":107},3,[49,109,110],{"class":85},"  [1] ",[49,112,113],{"class":55},"heading(1",[49,115,116],{"class":85},") ",[49,118,119],{"class":59},"\"Example Domain\"\n",[49,121,123,126,129,132,135,139],{"class":51,"line":122},4,[49,124,125],{"class":85},"  [3] ",[49,127,128],{"class":55},"link",[49,130,131],{"class":59}," \"Learn more\"",[49,133,134],{"class":85}," -",[49,136,138],{"class":137},"szBVR",">",[49,140,141],{"class":59}," https:\u002F\u002Fiana.org\u002Fdomains\u002Fexample\n",[49,143,145,148,151,154,156,159,162],{"class":51,"line":144},5,[49,146,147],{"class":55},"rev",[49,149,150],{"class":66}," 1",[49,152,153],{"class":59}," →",[49,155,150],{"class":66},[49,157,158],{"class":85}," (native, ",[49,160,161],{"class":59},"60ms",[49,163,104],{"class":85},[10,165,166,167,170],{},"By default, non-interactive text nodes are hidden. ",[19,168,169],{},"--full"," shows every\nelement, including plain text:",[40,172,174],{"className":42,"code":173,"language":44,"meta":45,"style":45},"$ jawb observe --tab t_5a87rr --full\nExample Domain  https:\u002F\u002Fexample.com\u002F  (rev 1, 3 of 3 elements)\n  [1] heading(1) \"Example Domain\"\n  [2] text \"This domain is for use in documentation examples without needing permission. Avoid use in operations.\"\n  [3] link \"Learn more\" -> https:\u002F\u002Fiana.org\u002Fdomains\u002Fexample\nrev 1 → 1 (native, 83ms)\n",[19,175,176,192,214,224,235,249],{"__ignoreMap":45},[49,177,178,180,182,184,186,189],{"class":51,"line":52},[49,179,56],{"class":55},[49,181,60],{"class":59},[49,183,63],{"class":59},[49,185,67],{"class":66},[49,187,188],{"class":59}," t_5a87rr",[49,190,191],{"class":66}," --full\n",[49,193,194,196,198,200,202,204,206,208,210,212],{"class":51,"line":73},[49,195,76],{"class":55},[49,197,79],{"class":59},[49,199,82],{"class":59},[49,201,86],{"class":85},[49,203,89],{"class":59},[49,205,98],{"class":66},[49,207,95],{"class":59},[49,209,98],{"class":66},[49,211,101],{"class":59},[49,213,104],{"class":85},[49,215,216,218,220,222],{"class":51,"line":107},[49,217,110],{"class":85},[49,219,113],{"class":55},[49,221,116],{"class":85},[49,223,119],{"class":59},[49,225,226,229,232],{"class":51,"line":122},[49,227,228],{"class":85},"  [2] ",[49,230,231],{"class":55},"text",[49,233,234],{"class":59}," \"This domain is for use in documentation examples without needing permission. Avoid use in operations.\"\n",[49,236,237,239,241,243,245,247],{"class":51,"line":144},[49,238,125],{"class":85},[49,240,128],{"class":55},[49,242,131],{"class":59},[49,244,134],{"class":85},[49,246,138],{"class":137},[49,248,141],{"class":59},[49,250,252,254,256,258,260,262,265],{"class":51,"line":251},6,[49,253,147],{"class":55},[49,255,150],{"class":66},[49,257,153],{"class":59},[49,259,150],{"class":66},[49,261,158],{"class":85},[49,263,264],{"class":59},"83ms",[49,266,104],{"class":85},[10,268,269,272],{},[19,270,271],{},"--interactive-only"," is the explicit form of the default (links, buttons,\ninputs, and similar controls only).",[10,274,275,278],{},[19,276,277],{},"--json",":",[40,280,282],{"className":42,"code":281,"language":44,"meta":45,"style":45},"$ jawb --json observe --tab t_5a87rr\n{\"command\":\"observe\",\"diff\":{\"from\":1,\"to\":1},\"executor\":\"native\",\"ok\":true,\"prev_revision\":1,\"profile\":\"default\",\"result\":{\"counts\":{\"shown\":2,\"total\":3},\"elements\":[{\"href\":null,\"id\":1,\"label\":\"Example Domain\",\"level\":1,\"role\":\"heading\"},{\"href\":\"https:\u002F\u002Fiana.org\u002Fdomains\u002Fexample\",\"id\":3,\"label\":\"Learn more\",\"role\":\"link\"}],\"revision\":1,\"title\":\"Example Domain\",\"url\":\"https:\u002F\u002Fexample.com\u002F\",\"visibility\":{\"basis\":\"inline_only\",\"omitted\":{\"hidden\":{},\"unknown\":{\"aria_hidden\":0}}}},\"revision\":1,\"tab\":\"t_5a87rr\",\"v\":1,\"warnings\":[]}\n",[19,283,284,299],{"__ignoreMap":45},[49,285,286,288,290,293,295,297],{"class":51,"line":52},[49,287,56],{"class":55},[49,289,60],{"class":59},[49,291,292],{"class":66}," --json",[49,294,63],{"class":59},[49,296,67],{"class":66},[49,298,70],{"class":59},[49,300,301,304,307,309,312,315,318,320,322,325,328,331,334,337,340,343,346,349,352,355,358,360,363,365,368,370,373,376,379,381,384,387,390,393,396,399,402,405,408,410,413,415,417,420,423],{"class":51,"line":73},[49,302,303],{"class":85},"{",[49,305,306],{"class":55},"\"command\"",[49,308,278],{"class":66},[49,310,311],{"class":55},"\"observe\"",[49,313,314],{"class":55},",",[49,316,317],{"class":55},"\"diff\"",[49,319,278],{"class":66},[49,321,303],{"class":59},[49,323,324],{"class":85},"\"",[49,326,327],{"class":55},"from",[49,329,330],{"class":55},"\":1,\"",[49,332,333],{"class":55},"to",[49,335,336],{"class":55},"\":1},\"",[49,338,339],{"class":55},"executor",[49,341,342],{"class":55},"\":\"",[49,344,345],{"class":55},"native",[49,347,348],{"class":55},"\",\"",[49,350,351],{"class":55},"ok",[49,353,354],{"class":55},"\":true,\"",[49,356,357],{"class":55},"prev_revision",[49,359,330],{"class":55},[49,361,362],{"class":55},"profile",[49,364,342],{"class":55},[49,366,367],{"class":55},"default",[49,369,348],{"class":55},[49,371,372],{"class":55},"result",[49,374,375],{"class":55},"\":{\"",[49,377,378],{"class":55},"counts",[49,380,375],{"class":55},[49,382,383],{"class":55},"shown",[49,385,386],{"class":55},"\":2,\"",[49,388,389],{"class":55},"total",[49,391,392],{"class":55},"\":3},\"",[49,394,395],{"class":55},"elements",[49,397,398],{"class":55},"\":[{\"",[49,400,401],{"class":55},"href",[49,403,404],{"class":55},"\":null,\"",[49,406,407],{"class":55},"id",[49,409,330],{"class":55},[49,411,412],{"class":55},"label",[49,414,342],{"class":55},[49,416,76],{"class":55},[49,418,419],{"class":59}," Domain\",\"level\":1,\"role\":\"heading\"},{\"href\":\"https:\u002F\u002Fiana.org\u002Fdomains\u002Fexample\",\"id\":3,\"label\":\"Learn",[49,421,422],{"class":59}," more\",\"role\":\"link\"}],\"revision\":1,\"title\":\"Example",[49,424,425],{"class":59}," Domain\",\"url\":\"https:\u002F\u002Fexample.com\u002F\",\"visibility\":{\"basis\":\"inline_only\",\"omitted\":{\"hidden\":{},\"unknown\":{\"aria_hidden\":0}}}},\"revision\":1,\"tab\":\"t_5a87rr\",\"v\":1,\"warnings\":[]}\n",[427,428,430],"h2",{"id":429},"fields","Fields",[432,433,434,459,464,469,501,536],"ul",{},[435,436,437,440,441,30,443,30,446,449,450,30,453,30,456,458],"li",{},[19,438,439],{},"role"," — the element's ARIA-ish role: ",[19,442,128],{},[19,444,445],{},"button",[19,447,448],{},"heading",",\n",[19,451,452],{},"textbox",[19,454,455],{},"combobox",[19,457,231],{},", and so on.",[435,460,461,463],{},[19,462,412],{}," — the element's accessible name, if any.",[435,465,466,468],{},[19,467,401],{}," — present for links.",[435,470,471,474,475,478,479,30,481,30,484,30,487,30,490,493,494,496,497,500],{},[19,472,473],{},"input_type"," — for ",[19,476,477],{},"\u003Cinput>"," fields: the browser's normalized type\n(",[19,480,231],{},[19,482,483],{},"email",[19,485,486],{},"password",[19,488,489],{},"number",[19,491,492],{},"file",", ...; a missing or unknown\ntype is ",[19,495,231],{},"). Use it to tell a file input (for ",[19,498,499],{},"jawb upload",") from a\ntext box.",[435,502,503,506,507,510,511,513,514,517,518,521,522,513,525,527,528,531,532,535],{},[19,504,505],{},"options"," — for a ",[19,508,509],{},"\u003Cselect>"," (",[19,512,455],{}," or ",[19,515,516],{},"listbox","): up to 200\n",[19,519,520],{},"{label, value, selected}"," entries, hidden options left out. Pass a\n",[19,523,524],{},"value",[19,526,412],{}," to ",[19,529,530],{},"jawb select",". Custom ARIA listboxes list their\noptions as separate ",[19,533,534],{},"option"," elements instead.",[435,537,538,540,541,544,545,548,549,552,553,556,557,559],{},[19,539,407],{}," — a short numeric handle, stable across commands (not a\nsequential re-parse index). An ID keeps working across processes\n(",[19,542,543],{},"jawb click 48"," right after ",[19,546,547],{},"jawb observe"," in a different terminal\nworks), and stays valid even when unrelated parts of the page change.\nIf the element it points to is rebuilt, the daemon retargets\nautomatically and reports ",[19,550,551],{},"retargeted: {from, to}","; if it can no\nlonger resolve to exactly one element, you get ",[19,554,555],{},"E_STALE_ID"," (exit 4)\ntelling you to re-",[19,558,33],{},".",[427,561,563],{"id":562},"hidden-content","Hidden content",[10,565,566,568,569,572,573,576,577,580,581,584,585,449,588,30,591,594,595,598,599,602,603,605,606,609,610,612,613,616,617,619,620,623],{},[19,567,33],{}," and ",[19,570,571],{},"read"," leave out text a person would not see, using the same\nrules. Without ",[19,574,575],{},"--js",", jawb can only judge the page's own markup: the\n",[19,578,579],{},"hidden"," attribute, and inline ",[19,582,583],{},"style"," that sets ",[19,586,587],{},"display:none",[19,589,590],{},"visibility:hidden",[19,592,593],{},"opacity:0"," or a zero font size, on the element or any\nelement around it, plus the body of a closed ",[19,596,597],{},"\u003Cdetails>"," (its summary is\nkept) and a closed ",[19,600,601],{},"\u003Cdialog>",". Text hidden that way is not listed and is not part of\nany element's label. A hidden button, link or field is still listed, with\nstate ",[19,604,579],{},", so you can still open a collapsed menu. Its label, value and\nlink target are left out (",[19,607,608],{},"null","): they are page text a person cannot see,\nand a common place to hide instructions. You can still act on it by its id\nor a CSS selector, as before; with ",[19,611,575],{},", an action on a control that has\nno box on screen fails ",[19,614,615],{},"E_NOT_ACTIONABLE"," (reason ",[19,618,579],{},"). Because its\nlabel is withheld, ",[19,621,622],{},"--role button:\u003Cname>"," does not find it.",[10,625,626,627,630,631,634],{},"A label taken from other elements (",[19,628,629],{},"aria-labelledby",") leaves out any of them\nthat is hidden. ",[19,632,633],{},"jawb wait --for text:..."," follows the same rules: it waits\nfor text a person can see, so text that exists only in hidden content never\nends the wait (it times out).",[10,636,637,638,641],{},"Content marked ",[19,639,640],{},"aria-hidden=\"true\""," is also left out, but jawb cannot tell\nwhether it is on screen, so it is counted separately.",[10,643,644,646],{},[19,645,277],{}," output carries what was left out (counts only, never the text):",[40,648,652],{"className":649,"code":650,"language":651,"meta":45,"style":45},"language-json shiki shiki-themes github-light github-dark","\"visibility\": {\"basis\": \"inline_only\", \"omitted\": {\"hidden\": {\"display_none\": 2}, \"unknown\": {\"aria_hidden\": 1}}}\n","json",[19,653,654],{"__ignoreMap":45},[49,655,656,659,662,665,668,671,673,676,678,681,683,686,688,691,694,697,699,702,704,707],{"class":51,"line":52},[49,657,658],{"class":59},"\"visibility\"",[49,660,661],{"class":85},": {",[49,663,664],{"class":66},"\"basis\"",[49,666,667],{"class":85},": ",[49,669,670],{"class":59},"\"inline_only\"",[49,672,30],{"class":85},[49,674,675],{"class":66},"\"omitted\"",[49,677,661],{"class":85},[49,679,680],{"class":66},"\"hidden\"",[49,682,661],{"class":85},[49,684,685],{"class":66},"\"display_none\"",[49,687,667],{"class":85},[49,689,690],{"class":66},"2",[49,692,693],{"class":85},"}, ",[49,695,696],{"class":66},"\"unknown\"",[49,698,661],{"class":85},[49,700,701],{"class":66},"\"aria_hidden\"",[49,703,667],{"class":85},[49,705,706],{"class":66},"1",[49,708,709],{"class":85},"}}}\n",[10,711,712,715,716,718,719,722,723,449,726,30,729,732],{},[19,713,714],{},"basis: \"inline_only\""," is a warning label: jawb did not apply the page's\nstylesheets, so text hidden with a CSS class still comes through. Treat\neverything a page says as untrusted, whatever this field says. With\n",[19,717,575],{}," the basis is ",[19,720,721],{},"cascade",": the browser's computed ",[19,724,725],{},"display",[19,727,728],{},"visibility",[19,730,731],{},"opacity"," and font size decide, including stylesheet rules,\nbut jawb does not yet check size, position or overlap.",[427,734,736],{"id":735},"js-rendered-pages","JS-rendered pages",[10,738,739,740,30,742,744],{},"Without ",[19,741,575],{},[19,743,33],{}," runs against the static HTML the\ndaemon fetched — it doesn't execute JavaScript. On a page that looks\nscript-dependent, jawb warns:",[40,746,750],{"className":747,"code":749,"language":231},[748],"language-text","warning: W_JS_NOT_EXECUTED: the page looks script-dependent; the native engine does not run JavaScript (re-run with --js to use the compatibility bridge)\n",[19,751,749],{"__ignoreMap":45},[10,753,754,755,757],{},"Re-running with ",[19,756,575],{}," promotes the tab to the compatibility\nbridge (a real, locally installed Chrome\u002FChromium driven headlessly),\nwhich executes the page's JavaScript before observing:",[40,759,761],{"className":42,"code":760,"language":44,"meta":45,"style":45},"$ jawb observe --js --interactive-only\nwarning: tab promoted to bridge\nApply: Rust Engineer  http:\u002F\u002F...\u002Fapply.html  (rev 2, 5 of 11 elements)\n  [4] textbox \"Full name\" = \"\"\n  [6] textbox \"Email\" = \"\"\n  [8] combobox \"Team\" = \"Backend\"\n  [10] textbox \"Resume\"\n  [12] button \"Send application\"\nrev 1 → 2 (bridge, 810ms)\n",[19,762,763,777,794,825,841,855,870,881,892],{"__ignoreMap":45},[49,764,765,767,769,771,774],{"class":51,"line":52},[49,766,56],{"class":55},[49,768,60],{"class":59},[49,770,63],{"class":59},[49,772,773],{"class":66}," --js",[49,775,776],{"class":66}," --interactive-only\n",[49,778,779,782,785,788,791],{"class":51,"line":73},[49,780,781],{"class":55},"warning:",[49,783,784],{"class":59}," tab",[49,786,787],{"class":59}," promoted",[49,789,790],{"class":59}," to",[49,792,793],{"class":59}," bridge\n",[49,795,796,799,802,805,808,810,813,816,818,821,823],{"class":51,"line":107},[49,797,798],{"class":55},"Apply:",[49,800,801],{"class":59}," Rust",[49,803,804],{"class":59}," Engineer",[49,806,807],{"class":59},"  http:\u002F\u002F...\u002Fapply.html",[49,809,86],{"class":85},[49,811,812],{"class":59},"2,",[49,814,815],{"class":66}," 5",[49,817,95],{"class":59},[49,819,820],{"class":66}," 11",[49,822,101],{"class":59},[49,824,104],{"class":85},[49,826,827,830,832,835,838],{"class":51,"line":122},[49,828,829],{"class":85},"  [4] ",[49,831,452],{"class":55},[49,833,834],{"class":59}," \"Full name\"",[49,836,837],{"class":59}," =",[49,839,840],{"class":59}," \"\"\n",[49,842,843,846,848,851,853],{"class":51,"line":144},[49,844,845],{"class":85},"  [6] ",[49,847,452],{"class":55},[49,849,850],{"class":59}," \"Email\"",[49,852,837],{"class":59},[49,854,840],{"class":59},[49,856,857,860,862,865,867],{"class":51,"line":251},[49,858,859],{"class":85},"  [8] ",[49,861,455],{"class":55},[49,863,864],{"class":59}," \"Team\"",[49,866,837],{"class":59},[49,868,869],{"class":59}," \"Backend\"\n",[49,871,873,876,878],{"class":51,"line":872},7,[49,874,875],{"class":85},"  [10] ",[49,877,452],{"class":55},[49,879,880],{"class":59}," \"Resume\"\n",[49,882,884,887,889],{"class":51,"line":883},8,[49,885,886],{"class":85},"  [12] ",[49,888,445],{"class":55},[49,890,891],{"class":59}," \"Send application\"\n",[49,893,895,897,899,901,903,906,909],{"class":51,"line":894},9,[49,896,147],{"class":55},[49,898,150],{"class":66},[49,900,153],{"class":59},[49,902,92],{"class":66},[49,904,905],{"class":85}," (bridge, ",[49,907,908],{"class":59},"810ms",[49,910,104],{"class":85},[10,912,913],{},"A tab promoted to the bridge stays on the bridge for the rest of its\nlife — every later command on that tab (including navigation) runs\nthrough Chrome instead of the native parser.",[583,915,916],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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);}",{"title":45,"searchDepth":73,"depth":73,"links":918},[919,920,921],{"id":429,"depth":73,"text":430},{"id":562,"depth":73,"text":563},{"id":735,"depth":73,"text":736},"Observe the current or a given page's elements.","md",{},true,null,"\u002Fdocs\u002Fcli\u002Fobserve",{"title":5,"description":922},"docs\u002F3.cli\u002F4.observe","gD5SIyTAHaBetGI7N9PsHJG-6pSQf6Gtw5-oUsxYLLk",[932],{"title":933,"path":934,"stem":935,"children":936},"Documentation","\u002Fdocs","docs\u002F1.index",[937,938,942,946,950,972,1011,1025,1029,1033,1037,1041],{"title":933,"path":934,"stem":935},{"title":939,"path":940,"stem":941},"Protocol adapters","\u002Fdocs\u002Fprotocol","docs\u002F10.protocol",{"title":943,"path":944,"stem":945},"Extensions","\u002Fdocs\u002Fextensions","docs\u002F11.extensions",{"title":947,"path":948,"stem":949},"Roadmap and status","\u002Fdocs\u002Froadmap","docs\u002F12.roadmap",{"title":951,"path":952,"stem":953,"children":954},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started\u002F1.index",[955,956,960,964,968],{"title":951,"path":952,"stem":953},{"title":957,"path":958,"stem":959},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F2.getting-started\u002F2.installation",{"title":961,"path":962,"stem":963},"Desktop app","\u002Fdocs\u002Fgetting-started\u002Fdesktop-app","docs\u002F2.getting-started\u002F3.desktop-app",{"title":965,"path":966,"stem":967},"Running the daemon","\u002Fdocs\u002Fgetting-started\u002Frunning-the-daemon","docs\u002F2.getting-started\u002F4.running-the-daemon",{"title":969,"path":970,"stem":971},"Using the CLI","\u002Fdocs\u002Fgetting-started\u002Fusing-the-cli","docs\u002F2.getting-started\u002F5.using-the-cli",{"title":973,"path":974,"stem":975,"children":976},"CLI reference","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002F1.index",[977,978,982,986,990,991,995,999,1003,1007],{"title":973,"path":974,"stem":975},{"title":979,"path":980,"stem":981},"JSON envelope and exit codes","\u002Fdocs\u002Fcli\u002Fjson-and-exit-codes","docs\u002F3.cli\u002F10.json-and-exit-codes",{"title":983,"path":984,"stem":985},"jawb status","\u002Fdocs\u002Fcli\u002Fstatus","docs\u002F3.cli\u002F2.status",{"title":987,"path":988,"stem":989},"Tabs, profiles and sessions","\u002Fdocs\u002Fcli\u002Ftabs-and-profiles","docs\u002F3.cli\u002F3.tabs-and-profiles",{"title":5,"path":927,"stem":929},{"title":992,"path":993,"stem":994},"jawb read [--format md|text|json] [--element \u003Cid>] [--full] [--js]","\u002Fdocs\u002Fcli\u002Fread","docs\u002F3.cli\u002F5.read",{"title":996,"path":997,"stem":998},"Act commands","\u002Fdocs\u002Fcli\u002Fact","docs\u002F3.cli\u002F6.act",{"title":1000,"path":1001,"stem":1002},"See commands","\u002Fdocs\u002Fcli\u002Fsee","docs\u002F3.cli\u002F7.see",{"title":1004,"path":1005,"stem":1006},"Policy and confirmation","\u002Fdocs\u002Fcli\u002Fpolicy","docs\u002F3.cli\u002F8.policy",{"title":1008,"path":1009,"stem":1010},"Install lifecycle and profile settings","\u002Fdocs\u002Fcli\u002Flifecycle","docs\u002F3.cli\u002F9.lifecycle",{"title":1012,"path":1013,"stem":1014,"children":1015},"SDK reference","\u002Fdocs\u002Fsdk","docs\u002F4.sdk\u002F1.index",[1016,1017,1021],{"title":1012,"path":1013,"stem":1014},{"title":1018,"path":1019,"stem":1020},"Rust SDK — jawb-sdk-rust","\u002Fdocs\u002Fsdk\u002Frust-sdk","docs\u002F4.sdk\u002F2.rust-sdk",{"title":1022,"path":1023,"stem":1024},"Website SDK — @4hum-ai\u002Fjawb-sdk","\u002Fdocs\u002Fsdk\u002Fwebsite-sdk","docs\u002F4.sdk\u002F3.website-sdk",{"title":1026,"path":1027,"stem":1028},"Configuration","\u002Fdocs\u002Fconfig","docs\u002F5.config",{"title":1030,"path":1031,"stem":1032},"WebMCP","\u002Fdocs\u002Fwebmcp","docs\u002F6.webmcp",{"title":1034,"path":1035,"stem":1036},"Agents","\u002Fdocs\u002Fagents","docs\u002F7.agents",{"title":1038,"path":1039,"stem":1040},"MCP server","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",{"title":1042,"path":1043,"stem":1044},"Security and trust","\u002Fdocs\u002Fsecurity","docs\u002F9.security",1792595702451]