[{"data":1,"prerenderedAt":1127},["ShallowReactive",2],{"navigation_docs":3,"-apps-quick-start":196,"-apps-quick-start-surround":1122},[4,127,166],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":36},"Kinotic Apps","i-lucide-rocket","\u002Fapps","1.apps",[10,14,18,37,58,91,106,122],{"title":11,"path":12,"stem":13},"Introduction","\u002Fapps\u002Fintroduction","1.apps\u002F1.introduction",{"title":15,"path":16,"stem":17},"Quick Start","\u002Fapps\u002Fquick-start","1.apps\u002F2.quick-start",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":36},"Application Structure","i-lucide-folder-tree","\u002Fapps\u002Fapplication-structure","1.apps\u002F3.application-structure",[24,28,32],{"title":25,"path":26,"stem":27},"Overview","\u002Fapps\u002Fapplication-structure\u002Foverview","1.apps\u002F3.application-structure\u002F1.overview",{"title":29,"path":30,"stem":31},"Applications and Projects","\u002Fapps\u002Fapplication-structure\u002Fapplications-and-projects","1.apps\u002F3.application-structure\u002F2.applications-and-projects",{"title":33,"path":34,"stem":35},"Artifact Types","\u002Fapps\u002Fapplication-structure\u002Fartifact-types","1.apps\u002F3.application-structure\u002F3.artifact-types",false,{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":36},"Services","i-lucide-network","\u002Fapps\u002Fservices","1.apps\u002F4.services",[43,46,50,54],{"title":25,"path":44,"stem":45},"\u002Fapps\u002Fservices\u002Foverview","1.apps\u002F4.services\u002F1.overview",{"title":47,"path":48,"stem":49},"Publishing Services","\u002Fapps\u002Fservices\u002Fpublishing-services","1.apps\u002F4.services\u002F2.publishing-services",{"title":51,"path":52,"stem":53},"Service Proxies","\u002Fapps\u002Fservices\u002Fservice-proxies","1.apps\u002F4.services\u002F3.service-proxies",{"title":55,"path":56,"stem":57},"Streaming","\u002Fapps\u002Fservices\u002Fstreaming","1.apps\u002F4.services\u002F4.streaming",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":36},"Persistence","i-lucide-database","\u002Fapps\u002Fpersistence","1.apps\u002F5.persistence",[64,67,71,75,79,83,87],{"title":25,"path":65,"stem":66},"\u002Fapps\u002Fpersistence\u002Foverview","1.apps\u002F5.persistence\u002F1.overview",{"title":68,"path":69,"stem":70},"Defining Entities","\u002Fapps\u002Fpersistence\u002Fdefining-entities","1.apps\u002F5.persistence\u002F2.defining-entities",{"title":72,"path":73,"stem":74},"Entity Decorators","\u002Fapps\u002Fpersistence\u002Fentity-decorators","1.apps\u002F5.persistence\u002F3.entity-decorators",{"title":76,"path":77,"stem":78},"CRUD Operations","\u002Fapps\u002Fpersistence\u002Fcrud-operations","1.apps\u002F5.persistence\u002F4.crud-operations",{"title":80,"path":81,"stem":82},"Named Queries","\u002Fapps\u002Fpersistence\u002Fnamed-queries","1.apps\u002F5.persistence\u002F5.named-queries",{"title":84,"path":85,"stem":86},"Multi-Tenancy","\u002Fapps\u002Fpersistence\u002Fmulti-tenancy","1.apps\u002F5.persistence\u002F6.multi-tenancy",{"title":88,"path":89,"stem":90},"Migrations","\u002Fapps\u002Fpersistence\u002Fmigrations","1.apps\u002F5.persistence\u002F7.migrations",{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":36},"Security","i-lucide-shield-check","\u002Fapps\u002Fsecurity","1.apps\u002F6.security",[97,101],{"title":98,"path":99,"stem":100,"icon":93},"Access Control","\u002Fapps\u002Fsecurity\u002Faccess-control","1.apps\u002F6.security\u002F1.access-control",{"title":102,"path":103,"stem":104,"icon":105},"Authentication","\u002Fapps\u002Fsecurity\u002Fauthentication","1.apps\u002F6.security\u002F2.authentication","i-lucide-key-round",{"title":107,"icon":108,"path":109,"stem":110,"children":111,"page":36},"Deployment","i-lucide-cloud-upload","\u002Fapps\u002Fdeployment","1.apps\u002F7.deployment",[112,117],{"title":113,"path":114,"stem":115,"icon":116},"Deployment Workflow","\u002Fapps\u002Fdeployment\u002Fworkflow","1.apps\u002F7.deployment\u002F1.workflow","i-lucide-git-branch",{"title":118,"path":119,"stem":120,"icon":121},"Environments","\u002Fapps\u002Fdeployment\u002Fenvironments","1.apps\u002F7.deployment\u002F2.environments","i-lucide-server",{"title":123,"path":124,"stem":125,"icon":126},"CLI Reference","\u002Fapps\u002Fcli-reference","1.apps\u002F8.cli-reference","i-lucide-terminal",{"title":128,"icon":121,"path":129,"stem":130,"children":131,"page":36},"Kinotic OS","\u002Fplatform","2.platform",[132,137,141,146,151,156,161],{"title":133,"path":134,"stem":135,"icon":136},"System Architecture","\u002Fplatform\u002Farchitecture","2.platform\u002F1.architecture","i-lucide-boxes",{"title":138,"path":139,"stem":140,"icon":6},"Deployment Guide","\u002Fplatform\u002Fdeployment-guide","2.platform\u002F2.deployment-guide",{"title":142,"path":143,"stem":144,"icon":145},"Configuration","\u002Fplatform\u002Fconfiguration","2.platform\u002F3.configuration","i-lucide-settings",{"title":147,"path":148,"stem":149,"icon":150},"Organization Management","\u002Fplatform\u002Forganization-management","2.platform\u002F4.organization-management","i-lucide-building-2",{"title":152,"path":153,"stem":154,"icon":155},"System Security","\u002Fplatform\u002Fsystem-security","2.platform\u002F5.system-security","i-lucide-shield",{"title":157,"path":158,"stem":159,"icon":160},"Observability","\u002Fplatform\u002Fobservability","2.platform\u002F6.observability","i-lucide-activity",{"title":162,"path":163,"stem":164,"icon":165},"Contributing","\u002Fplatform\u002Fcontributing","2.platform\u002F7.contributing","i-lucide-git-pull-request",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":36},"Reference","i-lucide-book-open","\u002Freference","3.reference",[172,177,181,186,191],{"title":173,"path":174,"stem":175,"icon":176},"Decorators Reference","\u002Freference\u002Fdecorators","3.reference\u002F1.decorators","i-lucide-at-sign",{"title":178,"path":179,"stem":180,"icon":60},"Migration SQL Grammar","\u002Freference\u002Fmigration-sql-grammar","3.reference\u002F2.migration-sql-grammar",{"title":182,"path":183,"stem":184,"icon":185},"ABAC Expression Language","\u002Freference\u002Fabac-expression-language","3.reference\u002F3.abac-expression-language","i-lucide-file-code",{"title":187,"path":188,"stem":189,"icon":190},"CRI Format","\u002Freference\u002Fcri-format","3.reference\u002F4.cri-format","i-lucide-link",{"title":192,"path":193,"stem":194,"icon":195},"SDK Packages","\u002Freference\u002Fsdk-packages","3.reference\u002F5.sdk-packages","i-lucide-package",{"id":197,"title":15,"body":198,"description":1116,"extension":1117,"links":1118,"meta":1119,"navigation":444,"path":16,"seo":1120,"stem":17,"__hash__":1121},"docs\u002F1.apps\u002F2.quick-start.md",{"type":199,"value":200,"toc":1106},"minimark",[201,205,210,233,237,266,269,282,286,289,339,346,350,368,372,379,611,614,640,644,647,668,679,683,689,1057,1060,1075,1078,1082,1085,1102],[202,203,204],"p",{},"This guide walks you through creating a Kinotic App, defining an entity, syncing it with the server, and using the auto-generated service to read and write data.",[206,207,209],"h2",{"id":208},"prerequisites","Prerequisites",[211,212,213,227],"ul",{},[214,215,216,220,221],"li",{},[217,218,219],"strong",{},"Bun"," -- Install from ",[222,223,224],"a",{"href":224,"rel":225},"https:\u002F\u002Fbun.sh",[226],"nofollow",[214,228,229,232],{},[217,230,231],{},"bunup"," -- Used for building TypeScript packages",[206,234,236],{"id":235},"install-the-kinotic-cli","Install the Kinotic CLI",[238,239,244],"pre",{"className":240,"code":241,"language":242,"meta":243,"style":243},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bun install -g @kinotic-ai\u002Fkinotic-cli\n","bash","",[245,246,247],"code",{"__ignoreMap":243},[248,249,252,256,260,263],"span",{"class":250,"line":251},"line",1,[248,253,255],{"class":254},"sBMFI","bun",[248,257,259],{"class":258},"sfazB"," install",[248,261,262],{"class":258}," -g",[248,264,265],{"class":258}," @kinotic-ai\u002Fkinotic-cli\n",[202,267,268],{},"Verify the installation:",[238,270,272],{"className":240,"code":271,"language":242,"meta":243,"style":243},"kinotic --version\n",[245,273,274],{"__ignoreMap":243},[248,275,276,279],{"class":250,"line":251},[248,277,278],{"class":254},"kinotic",[248,280,281],{"class":258}," --version\n",[206,283,285],{"id":284},"initialize-a-project","Initialize a Project",[202,287,288],{},"Create a new directory for your application and initialize it with the CLI:",[238,290,292],{"className":240,"code":291,"language":242,"meta":243,"style":243},"mkdir my-app && cd my-app\nkinotic init --application my.app --entities src\u002Fentities --repository src\u002Fgenerated\n",[245,293,294,313],{"__ignoreMap":243},[248,295,296,299,302,306,310],{"class":250,"line":251},[248,297,298],{"class":254},"mkdir",[248,300,301],{"class":258}," my-app",[248,303,305],{"class":304},"sMK4o"," &&",[248,307,309],{"class":308},"s2Zo4"," cd",[248,311,312],{"class":258}," my-app\n",[248,314,316,318,321,324,327,330,333,336],{"class":250,"line":315},2,[248,317,278],{"class":254},[248,319,320],{"class":258}," init",[248,322,323],{"class":258}," --application",[248,325,326],{"class":258}," my.app",[248,328,329],{"class":258}," --entities",[248,331,332],{"class":258}," src\u002Fentities",[248,334,335],{"class":258}," --repository",[248,337,338],{"class":258}," src\u002Fgenerated\n",[202,340,341,342,345],{},"This creates a ",[245,343,344],{},".kinotic.json"," configuration file and sets up the directory structure the CLI expects.",[206,347,349],{"id":348},"install-dependencies","Install Dependencies",[238,351,353],{"className":240,"code":352,"language":242,"meta":243,"style":243},"bun add @kinotic-ai\u002Fcore @kinotic-ai\u002Fpersistence\n",[245,354,355],{"__ignoreMap":243},[248,356,357,359,362,365],{"class":250,"line":251},[248,358,255],{"class":254},[248,360,361],{"class":258}," add",[248,363,364],{"class":258}," @kinotic-ai\u002Fcore",[248,366,367],{"class":258}," @kinotic-ai\u002Fpersistence\n",[206,369,371],{"id":370},"define-an-entity","Define an Entity",[202,373,374,375,378],{},"Create a file at ",[245,376,377],{},"src\u002Fentities\u002FPerson.ts",":",[238,380,384],{"className":381,"code":382,"language":383,"meta":243,"style":243},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Entity, AutoGeneratedId, NotNull, Precision, PrecisionType, MultiTenancyType } from '@kinotic-ai\u002Fpersistence'\n\n@Entity(MultiTenancyType.NONE)\nexport class Person {\n    @AutoGeneratedId\n    id: string | null = null\n\n    @NotNull\n    firstName: string = ''\n\n    @NotNull\n    lastName: string = ''\n\n    @Precision(PrecisionType.SHORT)\n    age: number = 0\n}\n","typescript",[245,385,386,440,446,464,480,489,513,518,526,541,546,553,567,572,588,605],{"__ignoreMap":243},[248,387,388,392,395,399,402,405,407,410,412,415,417,420,422,425,428,431,434,437],{"class":250,"line":251},[248,389,391],{"class":390},"s7zQu","import",[248,393,394],{"class":304}," {",[248,396,398],{"class":397},"sTEyZ"," Entity",[248,400,401],{"class":304},",",[248,403,404],{"class":397}," AutoGeneratedId",[248,406,401],{"class":304},[248,408,409],{"class":397}," NotNull",[248,411,401],{"class":304},[248,413,414],{"class":397}," Precision",[248,416,401],{"class":304},[248,418,419],{"class":397}," PrecisionType",[248,421,401],{"class":304},[248,423,424],{"class":397}," MultiTenancyType",[248,426,427],{"class":304}," }",[248,429,430],{"class":390}," from",[248,432,433],{"class":304}," '",[248,435,436],{"class":258},"@kinotic-ai\u002Fpersistence",[248,438,439],{"class":304},"'\n",[248,441,442],{"class":250,"line":315},[248,443,445],{"emptyLinePlaceholder":444},true,"\n",[248,447,449,452,455,458,461],{"class":250,"line":448},3,[248,450,451],{"class":304},"@",[248,453,454],{"class":308},"Entity",[248,456,457],{"class":397},"(MultiTenancyType",[248,459,460],{"class":304},".",[248,462,463],{"class":397},"NONE)\n",[248,465,467,470,474,477],{"class":250,"line":466},4,[248,468,469],{"class":390},"export",[248,471,473],{"class":472},"spNyl"," class",[248,475,476],{"class":254}," Person",[248,478,479],{"class":304}," {\n",[248,481,483,486],{"class":250,"line":482},5,[248,484,485],{"class":304},"    @",[248,487,488],{"class":397},"AutoGeneratedId\n",[248,490,492,496,498,501,504,507,510],{"class":250,"line":491},6,[248,493,495],{"class":494},"swJcz","    id",[248,497,378],{"class":304},[248,499,500],{"class":254}," string",[248,502,503],{"class":304}," |",[248,505,506],{"class":254}," null",[248,508,509],{"class":304}," =",[248,511,512],{"class":304}," null\n",[248,514,516],{"class":250,"line":515},7,[248,517,445],{"emptyLinePlaceholder":444},[248,519,521,523],{"class":250,"line":520},8,[248,522,485],{"class":304},[248,524,525],{"class":397},"NotNull\n",[248,527,529,532,534,536,538],{"class":250,"line":528},9,[248,530,531],{"class":494},"    firstName",[248,533,378],{"class":304},[248,535,500],{"class":254},[248,537,509],{"class":304},[248,539,540],{"class":304}," ''\n",[248,542,544],{"class":250,"line":543},10,[248,545,445],{"emptyLinePlaceholder":444},[248,547,549,551],{"class":250,"line":548},11,[248,550,485],{"class":304},[248,552,525],{"class":397},[248,554,556,559,561,563,565],{"class":250,"line":555},12,[248,557,558],{"class":494},"    lastName",[248,560,378],{"class":304},[248,562,500],{"class":254},[248,564,509],{"class":304},[248,566,540],{"class":304},[248,568,570],{"class":250,"line":569},13,[248,571,445],{"emptyLinePlaceholder":444},[248,573,575,577,580,583,585],{"class":250,"line":574},14,[248,576,485],{"class":304},[248,578,579],{"class":308},"Precision",[248,581,582],{"class":397},"(PrecisionType",[248,584,460],{"class":304},[248,586,587],{"class":397},"SHORT)\n",[248,589,591,594,596,599,601],{"class":250,"line":590},15,[248,592,593],{"class":494},"    age",[248,595,378],{"class":304},[248,597,598],{"class":254}," number",[248,600,509],{"class":304},[248,602,604],{"class":603},"sbssI"," 0\n",[248,606,608],{"class":250,"line":607},16,[248,609,610],{"class":304},"}\n",[202,612,613],{},"A few things to note:",[211,615,616,622,628,634],{},[214,617,618,621],{},[245,619,620],{},"@Entity(MultiTenancyType.NONE)"," marks the class as a persisted entity with no multi-tenancy.",[214,623,624,627],{},[245,625,626],{},"@AutoGeneratedId"," tells the platform to generate an ID when one is not provided.",[214,629,630,633],{},[245,631,632],{},"@NotNull"," enforces that a field must have a value.",[214,635,636,639],{},[245,637,638],{},"@Precision(PrecisionType.SHORT)"," tells the platform this number is a short integer, which influences how it is stored and indexed.",[206,641,643],{"id":642},"sync-with-the-server","Sync with the Server",[202,645,646],{},"Push your entity definitions to a running Kinotic OS instance and generate the typed service classes:",[238,648,650],{"className":240,"code":649,"language":242,"meta":243,"style":243},"kinotic sync -p --server http:\u002F\u002Flocalhost:9090\n",[245,651,652],{"__ignoreMap":243},[248,653,654,656,659,662,665],{"class":250,"line":251},[248,655,278],{"class":254},[248,657,658],{"class":258}," sync",[248,660,661],{"class":258}," -p",[248,663,664],{"class":258}," --server",[248,666,667],{"class":258}," http:\u002F\u002Flocalhost:9090\n",[202,669,670,671,674,675,678],{},"The ",[245,672,673],{},"-p"," flag publishes the entity definitions so the platform creates the backing storage and registers the services. Sync also generates a complete repository class in the ",[245,676,677],{},"src\u002Fgenerated"," directory with methods for CRUD operations and querying.",[206,680,682],{"id":681},"use-the-generated-service","Use the Generated Service",[202,684,374,685,688],{},[245,686,687],{},"src\u002Findex.ts"," to try it out:",[238,690,692],{"className":381,"code":691,"language":383,"meta":243,"style":243},"import { Kinotic } from '@kinotic-ai\u002Fcore'\nimport { PersistencePlugin } from '@kinotic-ai\u002Fpersistence'\nimport { PersonRepository } from '.\u002Fgenerated\u002FPersonRepository'\n\nKinotic.use(PersistencePlugin)\n\nawait Kinotic.connect({\n    host: 'localhost',\n    port: 58503\n})\n\nconst personService = new PersonRepository()\n\n\u002F\u002F Create a person\nconst person = await personService.save({\n    id: null,\n    firstName: 'Jane',\n    lastName: 'Doe',\n    age: 28\n})\n\nconsole.log('Saved:', person)\n\n\u002F\u002F Find all people\nconst page = await personService.findAll({ page: 0, size: 10 })\nconsole.log('People:', page.content)\n",[245,693,694,714,733,753,757,770,774,792,810,820,828,832,851,855,861,885,894,910,926,936,943,948,973,978,984,1030],{"__ignoreMap":243},[248,695,696,698,700,703,705,707,709,712],{"class":250,"line":251},[248,697,391],{"class":390},[248,699,394],{"class":304},[248,701,702],{"class":397}," Kinotic",[248,704,427],{"class":304},[248,706,430],{"class":390},[248,708,433],{"class":304},[248,710,711],{"class":258},"@kinotic-ai\u002Fcore",[248,713,439],{"class":304},[248,715,716,718,720,723,725,727,729,731],{"class":250,"line":315},[248,717,391],{"class":390},[248,719,394],{"class":304},[248,721,722],{"class":397}," PersistencePlugin",[248,724,427],{"class":304},[248,726,430],{"class":390},[248,728,433],{"class":304},[248,730,436],{"class":258},[248,732,439],{"class":304},[248,734,735,737,739,742,744,746,748,751],{"class":250,"line":448},[248,736,391],{"class":390},[248,738,394],{"class":304},[248,740,741],{"class":397}," PersonRepository",[248,743,427],{"class":304},[248,745,430],{"class":390},[248,747,433],{"class":304},[248,749,750],{"class":258},".\u002Fgenerated\u002FPersonRepository",[248,752,439],{"class":304},[248,754,755],{"class":250,"line":466},[248,756,445],{"emptyLinePlaceholder":444},[248,758,759,762,764,767],{"class":250,"line":482},[248,760,761],{"class":397},"Kinotic",[248,763,460],{"class":304},[248,765,766],{"class":308},"use",[248,768,769],{"class":397},"(PersistencePlugin)\n",[248,771,772],{"class":250,"line":491},[248,773,445],{"emptyLinePlaceholder":444},[248,775,776,779,781,783,786,789],{"class":250,"line":515},[248,777,778],{"class":390},"await",[248,780,702],{"class":397},[248,782,460],{"class":304},[248,784,785],{"class":308},"connect",[248,787,788],{"class":397},"(",[248,790,791],{"class":304},"{\n",[248,793,794,797,799,801,804,807],{"class":250,"line":520},[248,795,796],{"class":494},"    host",[248,798,378],{"class":304},[248,800,433],{"class":304},[248,802,803],{"class":258},"localhost",[248,805,806],{"class":304},"'",[248,808,809],{"class":304},",\n",[248,811,812,815,817],{"class":250,"line":528},[248,813,814],{"class":494},"    port",[248,816,378],{"class":304},[248,818,819],{"class":603}," 58503\n",[248,821,822,825],{"class":250,"line":543},[248,823,824],{"class":304},"}",[248,826,827],{"class":397},")\n",[248,829,830],{"class":250,"line":548},[248,831,445],{"emptyLinePlaceholder":444},[248,833,834,837,840,843,846,848],{"class":250,"line":555},[248,835,836],{"class":472},"const",[248,838,839],{"class":397}," personService ",[248,841,842],{"class":304},"=",[248,844,845],{"class":304}," new",[248,847,741],{"class":308},[248,849,850],{"class":397},"()\n",[248,852,853],{"class":250,"line":569},[248,854,445],{"emptyLinePlaceholder":444},[248,856,857],{"class":250,"line":574},[248,858,860],{"class":859},"sHwdD","\u002F\u002F Create a person\n",[248,862,863,865,868,870,873,876,878,881,883],{"class":250,"line":590},[248,864,836],{"class":472},[248,866,867],{"class":397}," person ",[248,869,842],{"class":304},[248,871,872],{"class":390}," await",[248,874,875],{"class":397}," personService",[248,877,460],{"class":304},[248,879,880],{"class":308},"save",[248,882,788],{"class":397},[248,884,791],{"class":304},[248,886,887,889,891],{"class":250,"line":607},[248,888,495],{"class":494},[248,890,378],{"class":304},[248,892,893],{"class":304}," null,\n",[248,895,897,899,901,903,906,908],{"class":250,"line":896},17,[248,898,531],{"class":494},[248,900,378],{"class":304},[248,902,433],{"class":304},[248,904,905],{"class":258},"Jane",[248,907,806],{"class":304},[248,909,809],{"class":304},[248,911,913,915,917,919,922,924],{"class":250,"line":912},18,[248,914,558],{"class":494},[248,916,378],{"class":304},[248,918,433],{"class":304},[248,920,921],{"class":258},"Doe",[248,923,806],{"class":304},[248,925,809],{"class":304},[248,927,929,931,933],{"class":250,"line":928},19,[248,930,593],{"class":494},[248,932,378],{"class":304},[248,934,935],{"class":603}," 28\n",[248,937,939,941],{"class":250,"line":938},20,[248,940,824],{"class":304},[248,942,827],{"class":397},[248,944,946],{"class":250,"line":945},21,[248,947,445],{"emptyLinePlaceholder":444},[248,949,951,954,956,959,961,963,966,968,970],{"class":250,"line":950},22,[248,952,953],{"class":397},"console",[248,955,460],{"class":304},[248,957,958],{"class":308},"log",[248,960,788],{"class":397},[248,962,806],{"class":304},[248,964,965],{"class":258},"Saved:",[248,967,806],{"class":304},[248,969,401],{"class":304},[248,971,972],{"class":397}," person)\n",[248,974,976],{"class":250,"line":975},23,[248,977,445],{"emptyLinePlaceholder":444},[248,979,981],{"class":250,"line":980},24,[248,982,983],{"class":859},"\u002F\u002F Find all people\n",[248,985,987,989,992,994,996,998,1000,1003,1005,1008,1011,1013,1016,1018,1021,1023,1026,1028],{"class":250,"line":986},25,[248,988,836],{"class":472},[248,990,991],{"class":397}," page ",[248,993,842],{"class":304},[248,995,872],{"class":390},[248,997,875],{"class":397},[248,999,460],{"class":304},[248,1001,1002],{"class":308},"findAll",[248,1004,788],{"class":397},[248,1006,1007],{"class":304},"{",[248,1009,1010],{"class":494}," page",[248,1012,378],{"class":304},[248,1014,1015],{"class":603}," 0",[248,1017,401],{"class":304},[248,1019,1020],{"class":494}," size",[248,1022,378],{"class":304},[248,1024,1025],{"class":603}," 10",[248,1027,427],{"class":304},[248,1029,827],{"class":397},[248,1031,1033,1035,1037,1039,1041,1043,1046,1048,1050,1052,1054],{"class":250,"line":1032},26,[248,1034,953],{"class":397},[248,1036,460],{"class":304},[248,1038,958],{"class":308},[248,1040,788],{"class":397},[248,1042,806],{"class":304},[248,1044,1045],{"class":258},"People:",[248,1047,806],{"class":304},[248,1049,401],{"class":304},[248,1051,1010],{"class":397},[248,1053,460],{"class":304},[248,1055,1056],{"class":397},"content)\n",[202,1058,1059],{},"Run it with Bun:",[238,1061,1063],{"className":240,"code":1062,"language":242,"meta":243,"style":243},"bun run src\u002Findex.ts\n",[245,1064,1065],{"__ignoreMap":243},[248,1066,1067,1069,1072],{"class":250,"line":251},[248,1068,255],{"class":254},[248,1070,1071],{"class":258}," run",[248,1073,1074],{"class":258}," src\u002Findex.ts\n",[202,1076,1077],{},"You should see the saved person printed to the console, followed by a page of results containing that person.",[206,1079,1081],{"id":1080},"whats-next","What's Next?",[202,1083,1084],{},"Now that you have a working application, explore the rest of the documentation:",[211,1086,1087,1092,1097],{},[214,1088,1089,1091],{},[222,1090,19],{"href":26}," -- Understand how organizations, applications, projects, and artifacts are organized.",[214,1093,1094,1096],{},[222,1095,38],{"href":40}," -- Learn how to publish and consume services across your application.",[214,1098,1099,1101],{},[222,1100,59],{"href":61}," -- Dive deeper into entity definitions, relationships, and querying.",[1103,1104,1105],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":243,"searchDepth":315,"depth":315,"links":1107},[1108,1109,1110,1111,1112,1113,1114,1115],{"id":208,"depth":315,"text":209},{"id":235,"depth":315,"text":236},{"id":284,"depth":315,"text":285},{"id":348,"depth":315,"text":349},{"id":370,"depth":315,"text":371},{"id":642,"depth":315,"text":643},{"id":681,"depth":315,"text":682},{"id":1080,"depth":315,"text":1081},"Get started building your first Kinotic App -- from installation to a running CRUD service in under five minutes.","md",null,{},{"title":15,"description":1116},"4BjBatmbp2BuDORDSm7c-plubeViBeIpOP-rbMBCnmI",[1123,1125],{"title":11,"path":12,"stem":13,"description":1124,"children":-1},"Learn what Kinotic is, why it exists, and how it helps developers and AI agents build enterprise-grade applications at scale.",{"title":25,"path":26,"stem":27,"description":1126,"children":-1},"Understand how Kinotic apps are organized -- from organizations down to individual artifacts.",1775187762910]