{"version":1,"pages":[{"id":"4Qptewn1uUv3G69i5KZp","title":"Forest Admin","pathname":"/developer-guide-agents-nodejs","siteSpaceId":"sitesp_gbLTx","description":""},{"id":"Itk3KUsjf27FZsmgamhZ","title":"How it works","pathname":"/developer-guide-agents-nodejs/getting-started/how-it-works","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"}]},{"id":"tgj4fW6gCgdpLCh4OT12","title":"Quick start","pathname":"/developer-guide-agents-nodejs/getting-started/quick-start","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"}]},{"id":"4d2OKHonGzMNNdmvbs1s","title":"Install","pathname":"/developer-guide-agents-nodejs/getting-started/install","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"}]},{"id":"54DOK71zbD12dXHjRA4z","title":"Create your agent","pathname":"/developer-guide-agents-nodejs/getting-started/install/create-your-agent","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"}]},{"id":"OJQvQ03mFf44NU1VnFB4","title":"Expose an HTTP endpoint","pathname":"/developer-guide-agents-nodejs/getting-started/install/expose-an-http-endpoint","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"}]},{"id":"6o88LjJlGgDE9E5ETQ7I","title":"For standalone agents","pathname":"/developer-guide-agents-nodejs/getting-started/install/expose-an-http-endpoint/using-standalone","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"},{"label":"Expose an HTTP endpoint"}]},{"id":"rlk5jhh1pe82Ron1i9sM","title":"On Express","pathname":"/developer-guide-agents-nodejs/getting-started/install/expose-an-http-endpoint/using-express","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"},{"label":"Expose an HTTP endpoint"}]},{"id":"fntnFDd2xvSFbmJdDF0k","title":"On Koa","pathname":"/developer-guide-agents-nodejs/getting-started/install/expose-an-http-endpoint/using-koa","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"},{"label":"Expose an HTTP endpoint"}]},{"id":"oshVrOqF1BM4SP3VbYbE","title":"On Fastify","pathname":"/developer-guide-agents-nodejs/getting-started/install/expose-an-http-endpoint/using-fastify","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"},{"label":"Expose an HTTP endpoint"}]},{"id":"zaqYYYExazN4AgwxhyZ5","title":"On NestJS","pathname":"/developer-guide-agents-nodejs/getting-started/install/expose-an-http-endpoint/using-nest","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"},{"label":"Expose an HTTP endpoint"}]},{"id":"wjlCblXNZwh4XiuJrG8N","title":"Autocompletion & Typings","pathname":"/developer-guide-agents-nodejs/getting-started/install/autocompletion-and-typings","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"}]},{"id":"GNdqBvWQ2N3CTtCdemN3","title":"Troubleshooting","pathname":"/developer-guide-agents-nodejs/getting-started/install/troubleshooting","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Install"}]},{"id":"clbwCzX3qEGa7bcmTawU","title":"Migrating legacy agents","pathname":"/developer-guide-agents-nodejs/getting-started/migrating","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"}]},{"id":"MYgzQ5eHwkHYlVQnCRbM","title":"What's new","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/what-is-new","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"}]},{"id":"H6aEGiUIBkvN2rWu0KEY","title":"Pre-requisites","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/pre-requisites","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"}]},{"id":"geaQG2vmOnZhU4aytY0Y","title":"Recommendations","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/recommendations","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"}]},{"id":"syyeZnEzbZOKJPcm0fKI","title":"Migration steps","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"}]},{"id":"3x3f7RMD4tKbfci8dshb","title":"Run new agent in parallel","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/run-parallel","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"}]},{"id":"NfdMXABAsj3IoaJmjD1k","title":"Configure database connection","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/datasource","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"}]},{"id":"dqTWpiVNBQ3M4tMaJmaR","title":"Code transformations","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"}]},{"id":"R6DAnvVcJ8X0FzqWRwDP","title":"API Charts","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/api-charts","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"3XNUR08B5jZ8hW1ACG67","title":"Live Queries","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/live-queries","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"bwDK5qVlL25O0gQHrK37","title":"Smart Charts","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/smart-charts","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"X3YEKX946KRNaspWuFpm","title":"Route overrides","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/route-overrides","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"1pJ1bKEdn0ZXdLOAcqSV","title":"Smart Actions","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/smart-actions","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"DjEgpNAvDnZkTYZ0Muri","title":"Smart Fields","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/smart-fields","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"oQJNE5WF5JQvl0z9J4H0","title":"Smart Relationships","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/smart-relationships","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"QN0OXbx29WJFze4fWuWE","title":"Smart Segments","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/code-transformations/smart-segments","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"},{"label":"Code transformations"}]},{"id":"P3xTkouRwRymduKlgVCP","title":"Compare schemas","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/compare","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"}]},{"id":"w3Ik7pMpA9vMt4giBEVM","title":"Swap agents","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/steps/replace","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Migration steps"}]},{"id":"cQKJsrNWMmqka2ygLKbI","title":"Post-migration","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/post-migration","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"}]},{"id":"Y42nOwtuzbZmLn9rwkiy","title":"Dropping Sequelize","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/post-migration/drop-sequelize","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Post-migration"}]},{"id":"R4EVAqHrR0bG6Uedndzl","title":"Optimize your agent","pathname":"/developer-guide-agents-nodejs/getting-started/migrating/post-migration/optimize","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Getting started"},{"label":"Migrating legacy agents"},{"label":"Post-migration"}]},{"id":"wZy2x0yFCeRfiXgUAyVi","title":"Getting Started","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"}]},{"id":"e4qEsFJlMB7tBRPb2X8D","title":"Collection selection","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/partial-imports","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"}]},{"id":"79p3MhcgG3nbazwmyXrn","title":"Naming conflicts","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/naming-conflicts","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"}]},{"id":"BZ6IChBF3yNxfYpJbu8N","title":"Cross-data source relationships","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/relationships","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"}]},{"id":"G33lKjNQZCO40kZi1mpg","title":"Query interface and Native Queries","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/queries","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"}]},{"id":"YF71x9gQ9bVOlcOiw0me","title":"Fields and projections","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/queries/fields-projections","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"},{"label":"Query interface and Native Queries"}]},{"id":"vdQBYHGw2jjC2vih8OdA","title":"Filters","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/queries/filters","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"},{"label":"Query interface and Native Queries"}]},{"id":"vC3pdtswqNqOIqm3erhy","title":"Aggregations","pathname":"/developer-guide-agents-nodejs/data-sources/getting-started/queries/aggregations","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Getting Started"},{"label":"Query interface and Native Queries"}]},{"id":"vdePBetTsRwEqn7fQCLx","title":"Provided data sources","pathname":"/developer-guide-agents-nodejs/data-sources/provided-data-sources","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"}]},{"id":"5sYGbDM99G5SxtmJKXqA","title":"SQL (without ORM)","pathname":"/developer-guide-agents-nodejs/data-sources/provided-data-sources/sql","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Provided data sources"}]},{"id":"8hNsHkjyEtcy93QOrgWB","title":"Sequelize","pathname":"/developer-guide-agents-nodejs/data-sources/provided-data-sources/sequelize","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Provided data sources"}]},{"id":"SlhaBu9ZEfNg1hrkJU6K","title":"Mongoose","pathname":"/developer-guide-agents-nodejs/data-sources/provided-data-sources/mongoose","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Provided data sources"}]},{"id":"7Y62wssnjp5q8bFdLuAl","title":"MongoDB","pathname":"/developer-guide-agents-nodejs/data-sources/provided-data-sources/mongodb","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Provided data sources"}]},{"id":"dD05Un6mP9tzDWliDXSp","title":"Write your own","pathname":"/developer-guide-agents-nodejs/data-sources/custom","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"}]},{"id":"2XIiv6Lo1RLBQ8wuqori","title":"Replication strategy","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"}]},{"id":"vjfeXBACl1EbD6JaTex3","title":"Persistent cache","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/persistent-cache","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"}]},{"id":"dnHWgF44TTEdNi6zpRJQ","title":"Updating the replica","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/updates","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"}]},{"id":"tLCw8hxOMDBQqI0SS6i7","title":"Scheduled rebuilds","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/updates/scheduled-rebuild","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"},{"label":"Updating the replica"}]},{"id":"2bClRMqZUO16tnVidwbc","title":"Change polling","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/updates/change-polling","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"},{"label":"Updating the replica"}]},{"id":"GhPNrVUsaidrCXyed2Lw","title":"Push & Webhooks","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/updates/push","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"},{"label":"Updating the replica"}]},{"id":"mS7Ke43ezDIQDom45QTI","title":"Schema & References","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/schema","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"}]},{"id":"VqPOzmsu4iMWz0qt5rJ5","title":"Write handlers","pathname":"/developer-guide-agents-nodejs/data-sources/custom/replication/write","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Replication strategy"}]},{"id":"tyGv1yNjl8ooRQHx2eDj","title":"Translation strategy","pathname":"/developer-guide-agents-nodejs/data-sources/custom/translation","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"}]},{"id":"09KUlpiF4HA0bpFVPksv","title":"Structure declaration","pathname":"/developer-guide-agents-nodejs/data-sources/custom/translation/structure","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Translation strategy"}]},{"id":"yKlSMMCXoTFM2UD3WKRd","title":"Capabilities declaration","pathname":"/developer-guide-agents-nodejs/data-sources/custom/translation/capabilities","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Translation strategy"}]},{"id":"gFOeUm7D0xTPxeYQmxzt","title":"Read implementation","pathname":"/developer-guide-agents-nodejs/data-sources/custom/translation/read-only","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Translation strategy"}]},{"id":"Lh1oH7MivJwaxb3ipyWq","title":"Write implementation","pathname":"/developer-guide-agents-nodejs/data-sources/custom/translation/read-write","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Translation strategy"}]},{"id":"KjOBSoY8TXLrGMU1FWuM","title":"Intra-data source Relationships","pathname":"/developer-guide-agents-nodejs/data-sources/custom/translation/relationships","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"},{"label":"Translation strategy"}]},{"id":"vMc04KLiNzbzECK5Ujjy","title":"Contribute","pathname":"/developer-guide-agents-nodejs/data-sources/custom/contribute","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Data Sources"},{"label":"Write your own"}]},{"id":"nEkdTe724VsLL1dkjAUr","title":"Getting Started","pathname":"/developer-guide-agents-nodejs/agent-customization/agent-customization","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"hJvbv2kGueZtW6Znc64Q","title":"Actions","pathname":"/developer-guide-agents-nodejs/agent-customization/actions","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"OOQj6U8Kmgzp8ByDg6WP","title":"Scope and context","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/scope-context","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"S6ojpGuf1kHoVrruSlfO","title":"Result builder","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/result-builder","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"JFJO6PELXmGl8JbKec6q","title":"Static Forms","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/forms-static","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"CCp3Vut9x2FMIHCt2M0z","title":"Widgets in Forms","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/forms-widgets","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"lmKZcj7mFf1ExVgKAKZX","title":"Dynamic Forms","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/forms-dynamic","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"5sTRKx1gs5qAiLfUfA32","title":"Form layout customization","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/forms-layout","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"vE3WIb8uBguILthOAGx3","title":"Related data invalidation","pathname":"/developer-guide-agents-nodejs/agent-customization/actions/related-data-invalidation","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Actions"}]},{"id":"B6PbhOlRnOl8PQF3NgC0","title":"Charts","pathname":"/developer-guide-agents-nodejs/agent-customization/charts","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"9GWT4r59D0heIVFVPjfK","title":"Value","pathname":"/developer-guide-agents-nodejs/agent-customization/charts/value","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Charts"}]},{"id":"HG2Gw9S9aeFVbvqCfZgO","title":"Objective","pathname":"/developer-guide-agents-nodejs/agent-customization/charts/objective","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Charts"}]},{"id":"NHQdjOsvUOypneacGk8t","title":"Percentage","pathname":"/developer-guide-agents-nodejs/agent-customization/charts/percentage","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Charts"}]},{"id":"7lEb2WWLPUmtUl9dY2E7","title":"Distribution","pathname":"/developer-guide-agents-nodejs/agent-customization/charts/distribution","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Charts"}]},{"id":"pYejSKq0Cm3dzWAmQH5W","title":"Leaderboard","pathname":"/developer-guide-agents-nodejs/agent-customization/charts/leaderboard","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Charts"}]},{"id":"BCk2Eo9nDj7xCC9KOlYc","title":"Time-based","pathname":"/developer-guide-agents-nodejs/agent-customization/charts/time","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Charts"}]},{"id":"NFUv5KL2Td8iAFCVo7Bs","title":"Fields","pathname":"/developer-guide-agents-nodejs/agent-customization/fields","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"mIrO9OfeE59Ztd4YKy5o","title":"Add fields","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/computed","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"32CnQ9gvj37WEFlf2S0K","title":"Move, rename and remove fields","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/import-rename-remove","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"bZBuTAZpx62gWBmhchzI","title":"Override binary field mode","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/binary","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"WDaawx1H1TsxFIVPdG5s","title":"Override writing behavior","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/write","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"6TzJD5Qq2gyDzWVNLQdx","title":"Override filtering behavior","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/filter","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"ppKP9sR0IwtZRLbdtFAh","title":"Override sorting behavior","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/sort","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"S2KR80LfBPV1Q5KFKNaI","title":"Validation","pathname":"/developer-guide-agents-nodejs/agent-customization/fields/validation","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Fields"}]},{"id":"P6P3MhKTJbv5i6bEN4Y2","title":"Hooks","pathname":"/developer-guide-agents-nodejs/agent-customization/hooks","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"54YIRC0bqvovmgl1EyKF","title":"Collection hook","pathname":"/developer-guide-agents-nodejs/agent-customization/hooks/collection-hook","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Hooks"}]},{"id":"7edcFr2OU5ockDVfduNI","title":"Collection override","pathname":"/developer-guide-agents-nodejs/agent-customization/hooks/collection-override","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Hooks"}]},{"id":"1Kpbl7kWuKmXbiqYDPoP","title":"Pagination","pathname":"/developer-guide-agents-nodejs/agent-customization/pagination","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"JULQhx4jtE0fduHWbGN1","title":"Plugins","pathname":"/developer-guide-agents-nodejs/agent-customization/plugins","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"9HWBtYw8qZV7VSe42415","title":"Provided plugins","pathname":"/developer-guide-agents-nodejs/agent-customization/plugins/provided-plugins","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Plugins"}]},{"id":"s3KjbQ3S7Jrp1U4Z1spU","title":"AWS S3","pathname":"/developer-guide-agents-nodejs/agent-customization/plugins/provided-plugins/aws-s3","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Plugins"},{"label":"Provided plugins"}]},{"id":"zR7GVMhk3NnJdZNGYltt","title":"Advanced Export","pathname":"/developer-guide-agents-nodejs/agent-customization/plugins/provided-plugins/export-advanced","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Plugins"},{"label":"Provided plugins"}]},{"id":"VYoeHHrtVBX8wFcFWQsh","title":"Flattener","pathname":"/developer-guide-agents-nodejs/agent-customization/plugins/provided-plugins/flattener","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Plugins"},{"label":"Provided plugins"}]},{"id":"mEV4sBI9W3EG518wJTjG","title":"Write your own","pathname":"/developer-guide-agents-nodejs/agent-customization/plugins/custom","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Plugins"}]},{"id":"h7dloqbt3xEnUh7gKsFy","title":"AI Features","pathname":"/developer-guide-agents-nodejs/agent-customization/ai","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"DV9gO9PL1WfCLDW3NZeK","title":"Self-hosted AI","pathname":"/developer-guide-agents-nodejs/agent-customization/ai/self-hosted-ai","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"AI Features"}]},{"id":"2qk8WJe2VahHRzzUtBGC","title":"MCP Server","pathname":"/developer-guide-agents-nodejs/agent-customization/ai/mcp-server","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"AI Features"}]},{"id":"KeiLJQE9bMx1djV1BQwp","title":"Relationships","pathname":"/developer-guide-agents-nodejs/agent-customization/relationships","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"CPGBcWQqNFFV28demoBK","title":"To a single record","pathname":"/developer-guide-agents-nodejs/agent-customization/relationships/single-record","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Relationships"}]},{"id":"150m3EfKXyDpaUjgBpH4","title":"To multiple records","pathname":"/developer-guide-agents-nodejs/agent-customization/relationships/multiple-records","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Relationships"}]},{"id":"Ur3hqLZT4qy8yKVirG65","title":"Computed foreign keys","pathname":"/developer-guide-agents-nodejs/agent-customization/relationships/computed-fks","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Relationships"}]},{"id":"8TBISb55C6Gc2b0ciAUC","title":"Under the hood","pathname":"/developer-guide-agents-nodejs/agent-customization/relationships/under-the-hood","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"},{"label":"Relationships"}]},{"id":"fgXS5viLpPAl3BPqrldr","title":"Search","pathname":"/developer-guide-agents-nodejs/agent-customization/search","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"ju1PxdFKYngAs8oMvVEt","title":"Segments","pathname":"/developer-guide-agents-nodejs/agent-customization/segments","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Agent customization"}]},{"id":"cvkSR4fgHnuOYUPwUdzJ","title":"Testing your agent","pathname":"/developer-guide-agents-nodejs/testing/testing","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Testing"}]},{"id":"BSkorQcOY4bsWaD2ddO1","title":"Smart Charts","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-charts","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"}]},{"id":"u3oDm8pTPQyzFRgeySGV","title":"Create a table chart","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-charts/create-a-table-chart","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Charts"}]},{"id":"651wa3c7GjshzBmrSHSo","title":"Create a bar chart","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-charts/create-a-bar-chart","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Charts"}]},{"id":"A5UPXdaomA7jc77Hh1Dz","title":"Create a cohort chart","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-charts/create-a-cohort-chart","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Charts"}]},{"id":"hGla9P0rgImCg3fIb9Db","title":"Create a density map","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-charts/create-a-density-map","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Charts"}]},{"id":"DwcR9SFkHWYABPTPcreA","title":"Smart Views","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"}]},{"id":"ozIUN78diC3Ol0dTEYKB","title":"Create a Map view","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views/create-a-map-view","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Views"}]},{"id":"O2qHcfVwNO72UyDs2slq","title":"Create a Calendar view","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views/create-a-calendar-view","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Views"}]},{"id":"WjTw242Jo5SGojJRxrwN","title":"Create a Shipping view","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views/create-a-shipping-view","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Views"}]},{"id":"seYBEQesepnnnTeQ1SDr","title":"Create a Gallery view","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views/create-a-gallery-view","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Views"}]},{"id":"5O1rFvoddGKUQlsqGPr4","title":"Create a custom tinder-like validation view","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views/create-a-custom-tinder-like-validation-view","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Views"}]},{"id":"Ve3ySUMbnDDFqOxbTFec","title":"Create a custom moderation view","pathname":"/developer-guide-agents-nodejs/frontend-customization/smart-views/create-a-custom-moderation-view","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Frontend customization"},{"label":"Smart Views"}]},{"id":"ngK5uiqkBc824WkoQxde","title":"Environments","pathname":"/developer-guide-agents-nodejs/deploying-to-production/environments","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"}]},{"id":"OTijT0dj8RdCSODr5LI7","title":"Deploy on AWS","pathname":"/developer-guide-agents-nodejs/deploying-to-production/environments/deploy-on-aws","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Environments"}]},{"id":"fnVFCbKsBUZ6Nk1wYhEt","title":"Deploy on Heroku","pathname":"/developer-guide-agents-nodejs/deploying-to-production/environments/deploy-on-heroku","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Environments"}]},{"id":"E697JaRzLiSS6C7SzZGW","title":"Deploy on GCP","pathname":"/developer-guide-agents-nodejs/deploying-to-production/environments/deploy-on-gcp","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Environments"}]},{"id":"4VdD3bI3hKDDicnaWNpZ","title":"Deploy on Ubuntu","pathname":"/developer-guide-agents-nodejs/deploying-to-production/environments/deploy-on-ubuntu","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Environments"}]},{"id":"YhxmscgSxWK6iojO4K1f","title":"Deploy on Azure","pathname":"/developer-guide-agents-nodejs/deploying-to-production/environments/deploy-on-azure","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Environments"}]},{"id":"o4LCLeMchUQHzjq9ir5A","title":"Development workflow","pathname":"/developer-guide-agents-nodejs/deploying-to-production/development-workflow","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"}]},{"id":"RVtoCVYciKM7Q3BHbAAa","title":"Using branches","pathname":"/developer-guide-agents-nodejs/deploying-to-production/using-branches","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"}]},{"id":"M4RwOU6m5fYeqmjYEhYo","title":"Deploying your changes","pathname":"/developer-guide-agents-nodejs/deploying-to-production/deploying-your-changes","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"}]},{"id":"jI4HPYa5xQKjHZ21iRJN","title":"Forest Admin CLI commands","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"}]},{"id":"Y9ZA87myP5RmVMTYW3r2","title":"init","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/init","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"KIYDr6T1AuNN6PQ1iDNN","title":"login","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/login","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"crQDJUL8fsifmounfaPP","title":"branch","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/branch","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"AZKwVw9VDgNr1UDI5hio","title":"switch","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/switch","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"mD9bg90QO2xeQPIOP4fI","title":"set-origin","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/set-origin","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"Fque9S4hvwpfj53VgCQw","title":"push","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/push","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"VgE7UjYOO7nG6DK37Jp0","title":"environments:create","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/environments-create","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"GlPS5vjYLSQzxwiCSAQs","title":"environments:reset","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/environments-reset","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"G70xkQiv9Uo2mRAcfSB8","title":"deploy","pathname":"/developer-guide-agents-nodejs/deploying-to-production/forest-cli-commands/deploy","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Deploying to production"},{"label":"Forest Admin CLI commands"}]},{"id":"OVpFXKRJLzEgx1zTcBiO","title":".forestadmin-schema.json","pathname":"/developer-guide-agents-nodejs/under-the-hood/forestadmin-schema","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Under the hood"}]},{"id":"TKu2Dm5YRmsmRIExZPSS","title":"Data Model","pathname":"/developer-guide-agents-nodejs/under-the-hood/data-model","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Under the hood"}]},{"id":"bh47XKKSvtrqxMJnGAZZ","title":"Typing","pathname":"/developer-guide-agents-nodejs/under-the-hood/data-model/typing","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Under the hood"},{"label":"Data Model"}]},{"id":"vZqXTVpD9gYGnJdk86bY","title":"Relationships","pathname":"/developer-guide-agents-nodejs/under-the-hood/data-model/relationships","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Under the hood"},{"label":"Data Model"}]},{"id":"HBgagbG8nrMHyjdlhzc9","title":"Security & Privacy","pathname":"/developer-guide-agents-nodejs/under-the-hood/security-privacy","siteSpaceId":"sitesp_gbLTx","description":"","breadcrumbs":[{"label":"Under the hood"}]}]}