[{"data":1,"prerenderedAt":633},["ShallowReactive",2],{"docs:\u002Fdocs\u002Fguides\u002Fprompt":3,"docs:navigation":510,"docs:surround:\u002Fdocs\u002Fguides\u002Fprompt":628},{"id":4,"title":5,"body":6,"description":502,"extension":503,"meta":504,"navigation":335,"navigationTitle":505,"path":506,"seo":507,"stem":508,"__hash__":509},"docs\u002Fdocs\u002F3.guides\u002F7.prompt.md","Prompt",{"type":7,"value":8,"toc":496},"minimark",[9,13,36,41,44,114,117,121,128,245,276,280,297,419,443,463,466,470,492],[10,11,12],"p",{},"Use the dashboard prompt to find records or propose bulk changes in plain language. For example,\nask for \"customers in Berlin added this month\" or to \"mark ACME as churned\". It can use the\nAgentic Models, agents, and automations available to the signed-in user.",[14,15,16,24,30,33],"ul",{},[17,18,19,23],"li",{},[20,21,22],"strong",{},"Reads"," open the matching view, with filters, search, and columns applied.",[17,25,26,29],{},[20,27,28],{},"Writes"," are planned first. The user reviews the exact records and values, then confirms.",[17,31,32],{},"A record that changed after review is not overwritten; the prompt asks to review it again.",[17,34,35],{},"Every request runs with the user's own role and workspace scope.",[37,38,40],"h2",{"id":39},"choosing-the-planner-model","Choosing the Planner Model",[10,42,43],{},"The prompt plans each request with a language model chosen on the server:",[45,46,47,60],"table",{},[48,49,50],"thead",{},[51,52,53,57],"tr",{},[54,55,56],"th",{},"Variable",[54,58,59],{},"Value",[61,62,63,81,93,104],"tbody",{},[51,64,65,72],{},[66,67,68],"td",{},[69,70,71],"code",{},"AGENTIC_DECISION_PROVIDER",[66,73,74,77,78],{},[69,75,76],{},"typesafeAI"," (default) or ",[69,79,80],{},"openAI",[51,82,83,88],{},[66,84,85],{},[69,86,87],{},"TYPESAFE_API_KEY",[66,89,90,91],{},"Key for ",[69,92,76],{},[51,94,95,100],{},[66,96,97],{},[69,98,99],{},"OPENAI_API_KEY",[66,101,90,102],{},[69,103,80],{},[51,105,106,111],{},[66,107,108],{},[69,109,110],{},"AGENTIC_DECISION_MODEL",[66,112,113],{},"Optional model override",[10,115,116],{},"Without a key, the prompt explains which variable is missing. Keys and cookies never reach the\nmodel.",[37,118,120],{"id":119},"making-a-model-promptable","Making a Model Promptable",[10,122,123,124,127],{},"The ",[69,125,126],{},"prompt"," option tells the planner how to name and search records:",[129,130,136],"pre",{"className":131,"code":132,"filename":133,"language":134,"meta":135,"style":135},"language-ts shiki shiki-themes github-dark-default","export default defineAgenticModel(customers, {\n  name: 'customer',\n  scope: 'workspace',\n  access: { list: 'member', get: 'member', update: 'admin' },\n  prompt: { label: 'name', searchable: ['name', 'email'] },\n})\n","server\u002Fmodels\u002Fcustomers.ts","ts","",[69,137,138,165,178,189,214,239],{"__ignoreMap":135},[139,140,143,147,150,154,158,162],"span",{"class":141,"line":142},"line",1,[139,144,146],{"class":145},"suJrU","export",[139,148,149],{"class":145}," default",[139,151,153],{"class":152},"sc3cj"," defineAgenticModel",[139,155,157],{"class":156},"sQhOw","(",[139,159,161],{"class":160},"sZEs4","customers",[139,163,164],{"class":156},", {\n",[139,166,168,171,175],{"class":141,"line":167},2,[139,169,170],{"class":160},"  name: ",[139,172,174],{"class":173},"s9uIt","'customer'",[139,176,177],{"class":156},",\n",[139,179,181,184,187],{"class":141,"line":180},3,[139,182,183],{"class":160},"  scope: ",[139,185,186],{"class":173},"'workspace'",[139,188,177],{"class":156},[139,190,192,195,198,201,203,206,209,212],{"class":141,"line":191},4,[139,193,194],{"class":160},"  access: { list: ",[139,196,197],{"class":173},"'member'",[139,199,200],{"class":160},", get: ",[139,202,197],{"class":173},[139,204,205],{"class":160},", update: ",[139,207,208],{"class":173},"'admin'",[139,210,211],{"class":160}," }",[139,213,177],{"class":156},[139,215,217,220,223,226,228,231,234,237],{"class":141,"line":216},5,[139,218,219],{"class":160},"  prompt: { label: ",[139,221,222],{"class":173},"'name'",[139,224,225],{"class":160},", searchable: [",[139,227,222],{"class":173},[139,229,230],{"class":160},", ",[139,232,233],{"class":173},"'email'",[139,235,236],{"class":160},"] }",[139,238,177],{"class":156},[139,240,242],{"class":141,"line":241},6,[139,243,244],{"class":156},"})\n",[14,246,247,253,259,270],{},[17,248,249,252],{},[69,250,251],{},"label"," is the column that names a record in plans and results.",[17,254,255,258],{},[69,256,257],{},"searchable"," columns match free text such as \"ACME\".",[17,260,261,262,265,266,269],{},"Operations follow ",[69,263,264],{},"access",": a model without ",[69,267,268],{},"update"," access cannot be changed from the prompt.",[17,271,272,275],{},[69,273,274],{},"description"," and field descriptions help the planner pick the right model and fields.",[37,277,279],{"id":278},"adding-data-that-is-not-a-model","Adding Data That Is Not a Model",[10,281,282,283,288,289,292,293,296],{},"Agentic Models cover most data. For anything else, a ",[284,285,287],"a",{"href":286},"\u002Fdocs\u002Fguides\u002Ffeatures","feature"," can supply\nits own prompt resources: objects that implement ",[69,290,291],{},"Resource"," from ",[69,294,295],{},"@nuxtagentic-pro\u002Fcore\u002Fprompt",".",[129,298,300],{"className":131,"code":299,"language":134,"meta":135,"style":135},"import type { Resource } from '@nuxtagentic-pro\u002Fcore\u002Fprompt'\nimport { defineFeature } from '@nuxtagentic-pro\u002Fserver'\n\nexport const ticketsFeature = defineFeature({\n  id: 'tickets',\n  requires: ['workspaces'],\n  promptResources: (context): Resource[] => [createTicketResource(context)],\n})\n",[69,301,302,319,331,337,357,367,378,414],{"__ignoreMap":135},[139,303,304,307,310,313,316],{"class":141,"line":142},[139,305,306],{"class":145},"import",[139,308,309],{"class":145}," type",[139,311,312],{"class":160}," { Resource } ",[139,314,315],{"class":145},"from",[139,317,318],{"class":173}," '@nuxtagentic-pro\u002Fcore\u002Fprompt'\n",[139,320,321,323,326,328],{"class":141,"line":167},[139,322,306],{"class":145},[139,324,325],{"class":160}," { defineFeature } ",[139,327,315],{"class":145},[139,329,330],{"class":173}," '@nuxtagentic-pro\u002Fserver'\n",[139,332,333],{"class":141,"line":180},[139,334,336],{"emptyLinePlaceholder":335},true,"\n",[139,338,339,341,344,348,351,354],{"class":141,"line":191},[139,340,146],{"class":145},[139,342,343],{"class":145}," const",[139,345,347],{"class":346},"sFSAA"," ticketsFeature",[139,349,350],{"class":145}," =",[139,352,353],{"class":152}," defineFeature",[139,355,356],{"class":160},"({\n",[139,358,359,362,365],{"class":141,"line":216},[139,360,361],{"class":160},"  id: ",[139,363,364],{"class":173},"'tickets'",[139,366,177],{"class":160},[139,368,369,372,375],{"class":141,"line":241},[139,370,371],{"class":160},"  requires: [",[139,373,374],{"class":173},"'workspaces'",[139,376,377],{"class":160},"],\n",[139,379,381,384,387,390,393,396,399,402,405,408,411],{"class":141,"line":380},7,[139,382,383],{"class":152},"  promptResources",[139,385,386],{"class":160},": (",[139,388,389],{"class":156},"context",[139,391,392],{"class":160},")",[139,394,395],{"class":145},":",[139,397,398],{"class":156}," Resource",[139,400,401],{"class":160},"[] ",[139,403,404],{"class":145},"=>",[139,406,407],{"class":160}," [",[139,409,410],{"class":152},"createTicketResource",[139,412,413],{"class":160},"(context)],\n",[139,415,417],{"class":141,"line":416},8,[139,418,244],{"class":160},[10,420,421,422,230,425,230,428,230,431,230,433,177,436,439,440,296],{},"A resource describes its fields and implements ",[69,423,424],{},"list",[69,426,427],{},"get",[69,429,430],{},"create",[69,432,268],{},[69,434,435],{},"delete",[69,437,438],{},"authorize",", and ",[69,441,442],{},"validateInput",[14,444,445,450],{},[17,446,447,448,296],{},"Enforce your access rules in ",[69,449,438],{},[17,451,452,453,455,456,458,459,462],{},"Make ",[69,454,268],{}," and ",[69,457,435],{}," check ",[69,460,461],{},"expectedFingerprint","; reject stale records so a confirmed plan\ncannot overwrite a later edit.",[10,464,465],{},"Use an Agentic Model when the data lives in your database; it implements this contract for you.",[37,467,469],{"id":468},"turning-the-prompt-off","Turning the Prompt Off",[10,471,472,473,476,477,480,481,484,485,488,489,296],{},"Set ",[69,474,475],{},"agentic: { features: { prompt: false } }"," in ",[69,478,479],{},"nuxt.config.ts",", or pass\n",[69,482,483],{},"features: selectDefaultFeatures({ prompt: false })"," to ",[69,486,487],{},"defineVoidAgentic",". See\n",[284,490,491],{"href":286},"Features",[493,494,495],"style",{},"html pre.shiki code .suJrU, html code.shiki .suJrU{--shiki-default:#FF7B72}html pre.shiki code .sc3cj, html code.shiki .sc3cj{--shiki-default:#D2A8FF}html pre.shiki code .sQhOw, html code.shiki .sQhOw{--shiki-default:#FFA657}html pre.shiki code .sZEs4, html code.shiki .sZEs4{--shiki-default:#E6EDF3}html pre.shiki code .s9uIt, html code.shiki .s9uIt{--shiki-default:#A5D6FF}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 .sFSAA, html code.shiki .sFSAA{--shiki-default:#79C0FF}",{"title":135,"searchDepth":167,"depth":167,"links":497},[498,499,500,501],{"id":39,"depth":167,"text":40},{"id":119,"depth":167,"text":120},{"id":278,"depth":167,"text":279},{"id":468,"depth":167,"text":469},"The dashboard prompt finds records and proposes reviewed changes in plain language.","md",{},null,"\u002Fdocs\u002Fguides\u002Fprompt",{"title":5,"description":502},"docs\u002F3.guides\u002F7.prompt","VEdNVBWIZ1cvQNKg8f_diSdiwsUN3GwPhJnnOC9GINE",[511],{"title":512,"path":513,"stem":514,"children":515,"navigationTitle":505},"Introduction","\u002Fdocs","docs\u002F0.index",[516,517,535,539,587,591,595,624],{"title":512,"path":513,"stem":514,"navigationTitle":505},{"title":518,"path":519,"stem":520,"children":521,"page":534},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[522,526,530],{"title":523,"path":524,"stem":525,"navigationTitle":505},"Free module","\u002Fdocs\u002Fgetting-started\u002Ffree","docs\u002F1.getting-started\u002F1.free",{"title":527,"path":528,"stem":529,"navigationTitle":505},"Pro on Nuxt","\u002Fdocs\u002Fgetting-started\u002Fnuxt","docs\u002F1.getting-started\u002F2.nuxt",{"title":531,"path":532,"stem":533,"navigationTitle":505},"Pro on Void","\u002Fdocs\u002Fgetting-started\u002Fvoid","docs\u002F1.getting-started\u002F3.void",false,{"title":536,"path":537,"stem":538,"navigationTitle":505},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002F2.concepts",{"title":540,"path":541,"stem":542,"children":543,"page":534},"Guides","\u002Fdocs\u002Fguides","docs\u002F3.guides",[544,548,552,554,558,562,566,570,574,578,579,583],{"title":545,"path":546,"stem":547,"navigationTitle":505},"Agents","\u002Fdocs\u002Fguides\u002Fagents","docs\u002F3.guides\u002F1.agents",{"title":549,"path":550,"stem":551,"navigationTitle":505},"Events","\u002Fdocs\u002Fguides\u002Fevents","docs\u002F3.guides\u002F10.events",{"title":491,"path":286,"stem":553,"navigationTitle":505},"docs\u002F3.guides\u002F11.features",{"title":555,"path":556,"stem":557,"navigationTitle":505},"Coding agents","\u002Fdocs\u002Fguides\u002Fcoding-agents","docs\u002F3.guides\u002F12.coding-agents",{"title":559,"path":560,"stem":561,"navigationTitle":505},"Tools","\u002Fdocs\u002Fguides\u002Ftools","docs\u002F3.guides\u002F2.tools",{"title":563,"path":564,"stem":565,"navigationTitle":505},"Automations","\u002Fdocs\u002Fguides\u002Fautomations","docs\u002F3.guides\u002F3.automations",{"title":567,"path":568,"stem":569,"navigationTitle":505},"Agentic Models","\u002Fdocs\u002Fguides\u002Fagentic-models","docs\u002F3.guides\u002F4.agentic-models",{"title":571,"path":572,"stem":573,"navigationTitle":505},"Outcomes","\u002Fdocs\u002Fguides\u002Foutcomes","docs\u002F3.guides\u002F5.outcomes",{"title":575,"path":576,"stem":577,"navigationTitle":505},"Integrations","\u002Fdocs\u002Fguides\u002Fintegrations","docs\u002F3.guides\u002F6.integrations",{"title":5,"path":506,"stem":508,"navigationTitle":505},{"title":580,"path":581,"stem":582,"navigationTitle":505},"Server logic","\u002Fdocs\u002Fguides\u002Fserver-logic","docs\u002F3.guides\u002F8.server-logic",{"title":584,"path":585,"stem":586,"navigationTitle":505},"Dashboard UI","\u002Fdocs\u002Fguides\u002Fui","docs\u002F3.guides\u002F9.ui",{"title":588,"path":589,"stem":590,"navigationTitle":505},"Deploy to Cloudflare","\u002Fdocs\u002Fdeploy","docs\u002F4.deploy",{"title":592,"path":593,"stem":594,"navigationTitle":505},"Upgrading","\u002Fdocs\u002Fupgrade","docs\u002F5.upgrade",{"title":596,"path":597,"stem":598,"children":599,"page":534},"Reference","\u002Fdocs\u002Freference","docs\u002F6.reference",[600,604,608,612,616,620],{"title":601,"path":602,"stem":603,"navigationTitle":505},"Configuration","\u002Fdocs\u002Freference\u002Fconfiguration","docs\u002F6.reference\u002F1.configuration",{"title":605,"path":606,"stem":607,"navigationTitle":505},"Composables","\u002Fdocs\u002Freference\u002Fcomposables","docs\u002F6.reference\u002F2.composables",{"title":609,"path":610,"stem":611,"navigationTitle":505},"Server utilities","\u002Fdocs\u002Freference\u002Fserver-utils","docs\u002F6.reference\u002F3.server-utils",{"title":613,"path":614,"stem":615,"navigationTitle":505},"Services","\u002Fdocs\u002Freference\u002Fservices","docs\u002F6.reference\u002F4.services",{"title":617,"path":618,"stem":619,"navigationTitle":505},"REST API","\u002Fdocs\u002Freference\u002Frest-api","docs\u002F6.reference\u002F5.rest-api",{"title":621,"path":622,"stem":623,"navigationTitle":505},"CLI","\u002Fdocs\u002Freference\u002Fcli","docs\u002F6.reference\u002F6.cli",{"title":625,"path":626,"stem":627,"navigationTitle":505},"Licensing & FAQ","\u002Fdocs\u002Flicensing","docs\u002F8.licensing",[629,631],{"title":575,"path":576,"stem":577,"description":630,"children":-1},"Connect Gmail, Slack, GitHub and more, or add your own API or MCP server with defineIntegration.",{"title":580,"path":581,"stem":582,"description":632,"children":-1},"Call agents, runs, automations and models from your own routes with actor-bound services.",1792672479674]