[{"data":1,"prerenderedAt":608},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fv2\u002Ftui\u002Fapi\u002Finput":3},{"id":4,"title":5,"body":6,"description":15,"extension":602,"meta":603,"navigation":86,"path":604,"seo":605,"stem":606,"__hash__":607},"docs\u002Fdocs\u002Fv2\u002Ftui\u002Fapi\u002Finput.md","input",{"type":7,"value":8,"toc":596},"minimark",[9,12,16,165,170,316,323,327,365,376,380,485,490,494,585,592],[10,11,5],"h1",{"id":5},[13,14,15],"p",{},"The message box the user types into.",[17,18,23],"pre",{"className":19,"code":20,"language":21,"meta":22,"style":22},"language-ts shiki shiki-themes dark-plus","interface InputApi {\n    get(): string\n    set(text: string): void\n\n    \u002F\u002F Append without clearing — the voice-transcript behaviour.\n    append(text: string): void\n\n    clear(): void\n\n    \u002F\u002F Send to the focused agent as Enter would, and clear. No-op when empty.\n    submit(): Promise\u003Cvoid>\n}\n","ts","",[24,25,26,43,56,81,88,95,113,118,128,133,139,159],"code",{"__ignoreMap":22},[27,28,31,35,39],"span",{"class":29,"line":30},"line",1,[27,32,34],{"class":33},"scz_3","interface",[27,36,38],{"class":37},"sNl3T"," InputApi",[27,40,42],{"class":41},"sTNBD"," {\n",[27,44,46,50,53],{"class":29,"line":45},2,[27,47,49],{"class":48},"sCudf","    get",[27,51,52],{"class":41},"(): ",[27,54,55],{"class":37},"string\n",[27,57,59,62,65,69,72,75,78],{"class":29,"line":58},3,[27,60,61],{"class":48},"    set",[27,63,64],{"class":41},"(",[27,66,68],{"class":67},"s3F5K","text",[27,70,71],{"class":41},": ",[27,73,74],{"class":37},"string",[27,76,77],{"class":41},"): ",[27,79,80],{"class":37},"void\n",[27,82,84],{"class":29,"line":83},4,[27,85,87],{"emptyLinePlaceholder":86},true,"\n",[27,89,91],{"class":29,"line":90},5,[27,92,94],{"class":93},"sOLPB","    \u002F\u002F Append without clearing — the voice-transcript behaviour.\n",[27,96,98,101,103,105,107,109,111],{"class":29,"line":97},6,[27,99,100],{"class":48},"    append",[27,102,64],{"class":41},[27,104,68],{"class":67},[27,106,71],{"class":41},[27,108,74],{"class":37},[27,110,77],{"class":41},[27,112,80],{"class":37},[27,114,116],{"class":29,"line":115},7,[27,117,87],{"emptyLinePlaceholder":86},[27,119,121,124,126],{"class":29,"line":120},8,[27,122,123],{"class":48},"    clear",[27,125,52],{"class":41},[27,127,80],{"class":37},[27,129,131],{"class":29,"line":130},9,[27,132,87],{"emptyLinePlaceholder":86},[27,134,136],{"class":29,"line":135},10,[27,137,138],{"class":93},"    \u002F\u002F Send to the focused agent as Enter would, and clear. No-op when empty.\n",[27,140,142,145,147,150,153,156],{"class":29,"line":141},11,[27,143,144],{"class":48},"    submit",[27,146,52],{"class":41},[27,148,149],{"class":37},"Promise",[27,151,152],{"class":41},"\u003C",[27,154,155],{"class":37},"void",[27,157,158],{"class":41},">\n",[27,160,162],{"class":29,"line":161},12,[27,163,164],{"class":41},"}\n",[166,167,169],"h2",{"id":168},"drafting-for-the-user","Drafting for the user",[17,171,173],{"className":19,"code":172,"language":21,"meta":22,"style":22},"commands.register(\"review\", {\n    async run() {\n        const branch = await palette.pick(await gitBranches())\n        if (!branch) return\n\n        input.set(`review the changes on ${branch}`)\n        \u002F\u002F Left in the box — the user hits Enter when ready.\n    },\n    description: \"Draft a review request\",\n})\n",[24,174,175,195,206,240,257,261,290,295,300,311],{"__ignoreMap":22},[27,176,177,180,183,186,188,192],{"class":29,"line":30},[27,178,179],{"class":67},"commands",[27,181,182],{"class":41},".",[27,184,185],{"class":48},"register",[27,187,64],{"class":41},[27,189,191],{"class":190},"sKc5r","\"review\"",[27,193,194],{"class":41},", {\n",[27,196,197,200,203],{"class":29,"line":45},[27,198,199],{"class":33},"    async",[27,201,202],{"class":48}," run",[27,204,205],{"class":41},"() {\n",[27,207,208,211,215,218,222,225,227,230,232,234,237],{"class":29,"line":58},[27,209,210],{"class":33},"        const",[27,212,214],{"class":213},"s9McN"," branch",[27,216,217],{"class":41}," = ",[27,219,221],{"class":220},"sYbnZ","await",[27,223,224],{"class":67}," palette",[27,226,182],{"class":41},[27,228,229],{"class":48},"pick",[27,231,64],{"class":41},[27,233,221],{"class":220},[27,235,236],{"class":48}," gitBranches",[27,238,239],{"class":41},"())\n",[27,241,242,245,248,251,254],{"class":29,"line":83},[27,243,244],{"class":220},"        if",[27,246,247],{"class":41}," (!",[27,249,250],{"class":67},"branch",[27,252,253],{"class":41},") ",[27,255,256],{"class":220},"return\n",[27,258,259],{"class":29,"line":90},[27,260,87],{"emptyLinePlaceholder":86},[27,262,263,266,268,271,273,276,279,281,284,287],{"class":29,"line":97},[27,264,265],{"class":67},"        input",[27,267,182],{"class":41},[27,269,270],{"class":48},"set",[27,272,64],{"class":41},[27,274,275],{"class":190},"`review the changes on ",[27,277,278],{"class":33},"${",[27,280,250],{"class":67},[27,282,283],{"class":33},"}",[27,285,286],{"class":190},"`",[27,288,289],{"class":41},")\n",[27,291,292],{"class":29,"line":115},[27,293,294],{"class":93},"        \u002F\u002F Left in the box — the user hits Enter when ready.\n",[27,296,297],{"class":29,"line":120},[27,298,299],{"class":41},"    },\n",[27,301,302,305,308],{"class":29,"line":130},[27,303,304],{"class":67},"    description:",[27,306,307],{"class":190}," \"Draft a review request\"",[27,309,310],{"class":41},",\n",[27,312,313],{"class":29,"line":135},[27,314,315],{"class":41},"})\n",[13,317,318,319,322],{},"That is the difference from ",[24,320,321],{},"agents.send",": the text is visible and editable before it\ngoes.",[166,324,326],{"id":325},"sending-it-yourself","Sending it yourself",[17,328,330],{"className":19,"code":329,"language":21,"meta":22,"style":22},"input.set(\"status report\")\nawait input.submit()   \u002F\u002F already cleared afterwards\n",[24,331,332,347],{"__ignoreMap":22},[27,333,334,336,338,340,342,345],{"class":29,"line":30},[27,335,5],{"class":67},[27,337,182],{"class":41},[27,339,270],{"class":48},[27,341,64],{"class":41},[27,343,344],{"class":190},"\"status report\"",[27,346,289],{"class":41},[27,348,349,351,354,356,359,362],{"class":29,"line":45},[27,350,221],{"class":220},[27,352,353],{"class":67}," input",[27,355,182],{"class":41},[27,357,358],{"class":48},"submit",[27,360,361],{"class":41},"()   ",[27,363,364],{"class":93},"\u002F\u002F already cleared afterwards\n",[13,366,367,370,371,375],{},[24,368,369],{},"submit()"," takes Enter's own path, so queueing, history and the switching-agent rule all\nbehave identically — a message submitted while an agent is still booting is ",[372,373,374],"strong",{},"queued",",\nnot lost.",[166,377,379],{"id":378},"building-onto-a-draft","Building onto a draft",[17,381,383],{"className":19,"code":382,"language":21,"meta":22,"style":22},"commands.register(\"cite\", {\n    async run() {\n        const file = await palette.pick(await listFiles())\n        if (file) input.append(` @${file}`)\n    },\n    description: \"Reference a file\",\n})\n",[24,384,385,400,408,434,468,472,481],{"__ignoreMap":22},[27,386,387,389,391,393,395,398],{"class":29,"line":30},[27,388,179],{"class":67},[27,390,182],{"class":41},[27,392,185],{"class":48},[27,394,64],{"class":41},[27,396,397],{"class":190},"\"cite\"",[27,399,194],{"class":41},[27,401,402,404,406],{"class":29,"line":45},[27,403,199],{"class":33},[27,405,202],{"class":48},[27,407,205],{"class":41},[27,409,410,412,415,417,419,421,423,425,427,429,432],{"class":29,"line":58},[27,411,210],{"class":33},[27,413,414],{"class":213}," file",[27,416,217],{"class":41},[27,418,221],{"class":220},[27,420,224],{"class":67},[27,422,182],{"class":41},[27,424,229],{"class":48},[27,426,64],{"class":41},[27,428,221],{"class":220},[27,430,431],{"class":48}," listFiles",[27,433,239],{"class":41},[27,435,436,438,441,444,446,448,450,453,455,458,460,462,464,466],{"class":29,"line":83},[27,437,244],{"class":220},[27,439,440],{"class":41}," (",[27,442,443],{"class":67},"file",[27,445,253],{"class":41},[27,447,5],{"class":67},[27,449,182],{"class":41},[27,451,452],{"class":48},"append",[27,454,64],{"class":41},[27,456,457],{"class":190},"` @",[27,459,278],{"class":33},[27,461,443],{"class":67},[27,463,283],{"class":33},[27,465,286],{"class":190},[27,467,289],{"class":41},[27,469,470],{"class":29,"line":90},[27,471,299],{"class":41},[27,473,474,476,479],{"class":29,"line":97},[27,475,304],{"class":67},[27,477,478],{"class":190}," \"Reference a file\"",[27,480,310],{"class":41},[27,482,483],{"class":29,"line":115},[27,484,315],{"class":41},[13,486,487,489],{},[24,488,452],{}," adds no separator — space it yourself.",[166,491,493],{"id":492},"mode-keys-need-an-empty-box","Mode keys need an empty box",[17,495,497],{"className":19,"code":496,"language":21,"meta":22,"style":22},"keys.register(\"ctrl+b\", async () => {\n    if (input.get().length > 0) return   \u002F\u002F mid-sentence — leave it alone\n    await palette.open(\"branches\")\n})\n",[24,498,499,527,562,581],{"__ignoreMap":22},[27,500,501,504,506,508,510,513,516,519,522,525],{"class":29,"line":30},[27,502,503],{"class":67},"keys",[27,505,182],{"class":41},[27,507,185],{"class":48},[27,509,64],{"class":41},[27,511,512],{"class":190},"\"ctrl+b\"",[27,514,515],{"class":41},", ",[27,517,518],{"class":33},"async",[27,520,521],{"class":41}," () ",[27,523,524],{"class":33},"=>",[27,526,42],{"class":41},[27,528,529,532,534,536,538,541,544,547,550,554,556,559],{"class":29,"line":45},[27,530,531],{"class":220},"    if",[27,533,440],{"class":41},[27,535,5],{"class":67},[27,537,182],{"class":41},[27,539,540],{"class":48},"get",[27,542,543],{"class":41},"().",[27,545,546],{"class":67},"length",[27,548,549],{"class":41}," > ",[27,551,553],{"class":552},"sDGX8","0",[27,555,253],{"class":41},[27,557,558],{"class":220},"return",[27,560,561],{"class":93},"   \u002F\u002F mid-sentence — leave it alone\n",[27,563,564,567,569,571,574,576,579],{"class":29,"line":58},[27,565,566],{"class":220},"    await",[27,568,224],{"class":67},[27,570,182],{"class":41},[27,572,573],{"class":48},"open",[27,575,64],{"class":41},[27,577,578],{"class":190},"\"branches\"",[27,580,289],{"class":41},[27,582,583],{"class":29,"line":83},[27,584,315],{"class":41},[13,586,587,588,591],{},"The same rule the built-in mode keys follow: a ",[24,589,590],{},"~"," typed mid-sentence stays a literal\ncharacter.",[593,594,595],"style",{},"html pre.shiki code .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}html pre.shiki code .sNl3T, html code.shiki .sNl3T{--shiki-default:#4EC9B0}html pre.shiki code .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .sCudf, html code.shiki .sCudf{--shiki-default:#DCDCAA}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}html pre.shiki code .sOLPB, html code.shiki .sOLPB{--shiki-default:#6A9955}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 pre.shiki code .sKc5r, html code.shiki .sKc5r{--shiki-default:#CE9178}html pre.shiki code .s9McN, html code.shiki .s9McN{--shiki-default:#4FC1FF}html pre.shiki code .sYbnZ, html code.shiki .sYbnZ{--shiki-default:#C586C0}html pre.shiki code .sDGX8, html code.shiki .sDGX8{--shiki-default:#B5CEA8}",{"title":22,"searchDepth":45,"depth":45,"links":597},[598,599,600,601],{"id":168,"depth":45,"text":169},{"id":325,"depth":45,"text":326},{"id":378,"depth":45,"text":379},{"id":492,"depth":45,"text":493},"md",{},"\u002Fdocs\u002Fv2\u002Ftui\u002Fapi\u002Finput",{"title":5,"description":15},"docs\u002Fv2\u002Ftui\u002Fapi\u002Finput","06VRJyvFbT70H-olpUGKRu76839eG_P1sMLpS3v7YKw",1786791207946]