Beyond the standard wrapper around the ACI.dev APIs,, the SDK provides a suite of features and helper functions to make it easier and more seamless to use functions in LLM powered agentic applications. This is our vision and the recommended way of trying out the SDK in agentic applications.One key feature is the set of meta function schemas we provide.
Essentially, they are just the json schema version of some of the backend APIs of ACI.dev. They are provided so that your LLM/Agent can utlize some of the features of ACI.dev directly via function (tool) calling .
from aci.meta_functions import ACISearchFunctions, ACIExecuteFunction
These meta functions differ from the direct function (tool) calls you might typically execute—such as GITHUB__LIST_STARGAZERS — in that they are specifically tailored for use by large language models (LLMs) to interact with ACI.dev backend APIs.
Technically, you can also write your own meta functions around the ACI.dev backend APIs. After getting the input arguments generated by the LLM for the meta functions, you can use the SDK to send the request to the backend APIs with the input arguments.
from aci.meta_functions import ACISearchFunctionsfrom aci.enums import FunctionDefinitionFormat# OpenAI (The Chat Completion API)print(ACISearchFunctions.to_json_schema(format=FunctionDefinitionFormat.OPENAI))"""{ "type": "function", "function": { "name": "ACI_SEARCH_FUNCTIONS", "description": "This function allows you to find relevant executable functions and their schemas that can help complete your tasks.", "parameters": { "type": "object", "properties": { "intent": { "type": "string", "description": "Use this to find relevant functions you might need. Returned results of this function will be sorted by relevance to the intent." }, "limit": { "type": "integer", "default": 100, "description": "The maximum number of functions to return from the search per response.", "minimum": 1 }, "offset": { "type": "integer", "default": 0, "minimum": 0, "description": "Pagination offset." } }, "required": [], "additionalProperties": false } }}"""
from aci.meta_functions import ACIExecuteFunctionfrom aci.enums import FunctionDefinitionFormat# OpenAI (The Chat Completion API)print(ACIExecuteFunction.to_json_schema(format=FunctionDefinitionFormat.OPENAI))"""{ "type": "function", "function": { "name": "ACI_EXECUTE_FUNCTION", "description": "Execute a specific retrieved function. Provide the executable function name, and the required function parameters for that function based on function definition retrieved.", "parameters": { "type": "object", "properties": { "function_name": { "type": "string", "description": "The name of the function to execute" }, "function_arguments": { "type": "object", "description": "A dictionary containing key-value pairs of input parameters required by the specified function. The parameter names and types must match those defined in the function definition previously retrieved. If the function requires no parameters, provide an empty object.", "additionalProperties": true } }, "required": ["function_name", "function_arguments"], "additionalProperties": false } }}"""
Together with our Unified Function Calling Handler, it offer a powerful, self-discovery mechanism for LLM-driven applications, enabling them to autonomously select, interpret, and execute functions based on the context of a given task or conversation.
For examples of how to use the meta functions, please refer to the SDK repository .
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Aipolabs agent-computer interface (ACI)","colors":{"primary":"#6269D2","light":"#FFFFFF","dark":"#1D2275"},"logo":{"light":"https://mintcdn.com/aipotheosislabs-60d5bdcb/d29fRbieQpqSnjGv/logo/light.svg?fit=max\u0026auto=format\u0026n=d29fRbieQpqSnjGv\u0026q=85\u0026s=9f4cc8fd87f275b456a98f7d0a955a31","dark":"https://mintcdn.com/aipotheosislabs-60d5bdcb/d29fRbieQpqSnjGv/logo/dark.svg?fit=max\u0026auto=format\u0026n=d29fRbieQpqSnjGv\u0026q=85\u0026s=f23a2efb8ea06c227ce28d408a837df0"},"favicon":"/favicon.svg","navbar":{"links":[{"label":"Support","href":"mailto:support@aipolabs.xyz"}],"primary":{"type":"button","label":"Dashboard","href":"https://platform.aci.dev"}},"footer":{"socials":{"x":"https://x.com/AipoLabs","github":"https://github.com/aipotheosis-labs","linkedin":"https://www.linkedin.com/company/aipotheosis-labs-aipolabs/","discord":"https://discord.gg/nnqFSzq2ne"}},"contextual":{"options":["copy","view","chatgpt","claude"]},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/aipotheosis-labs/aci"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/nnqFSzq2ne"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aipotheosislabs-60d5bdcb","hasAudioNarration":false,"actualSubdomain":"aipotheosislabs-60d5bdcb","customDomains":["aci.dev"],"gitSource":{"type":"github","owner":"aipotheosis-labs","repo":"aci-developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e68433a4518725aaba9c","collectionId":"a17dc279-f9ac-4ed6-bc75-6bbc8bee7292","schemaVersion":"v2"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a21e68433a4518725aaba9c:success","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Documentation","count":18},{"language":"default","tag":"API Reference","count":16},{"language":"default","tag":"Endpoints","count":15},{"language":"default","tag":"Core Concepts","count":6},{"language":"default","tag":"App Configurations","count":5},{"language":"default","tag":"Linked Accounts","count":5},{"language":"default","tag":"Introduction","count":4},{"language":"default","tag":"SDK","count":4},{"language":"default","tag":"Functions","count":3},{"language":"default","tag":"MCP Servers","count":3}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"sdk/metafunctions","slug":"/sdk/metafunctions","pageMetadata":{"title":"Meta Functions (Tools)","description":"Designed with an LLM-centric approach","icon":"atom","href":"/sdk/metafunctions"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Designed with an LLM-centric approach\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Icon,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Beyond the standard wrapper around the ACI.dev APIs,, the SDK provides a suite of features and helper functions to make it easier and more seamless to use functions in LLM powered agentic applications. This is our vision and the recommended way of trying out the SDK in agentic applications.`}),`\n`,_jsxs(_components.p,{children:[`One key feature is the set of meta function schemas we provide.\nEssentially, they are just the json schema version of some of the backend APIs of ACI.dev. They are provided so that your LLM/Agent can utlize some of the features of ACI.dev directly via `,_jsxs(_components.a,{href:`https://platform.openai.com/docs/guides/function-calling`,children:[`function (tool) calling `,_jsx(Icon,{icon:`up-right-from-square`})]}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` aci.meta_functions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ACISearchFunctions, ACIExecuteFunction`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`These meta functions differ from the direct function (tool) calls you might typically execute—such as `,_jsx(_components.strong,{children:`GITHUB__LIST_STARGAZERS`}),` — in that they are specifically tailored for use by large language models (LLMs) to interact with ACI.dev backend APIs.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Technically, you can also write your own meta functions around the ACI.dev backend APIs. After getting the input arguments generated by the LLM for the meta functions, you can use the SDK to send the request to the backend APIs with the input arguments.`})}),`\n`,_jsx(Heading,{level:`2`,id:`aci_search_functions`,children:`ACI_SEARCH_FUNCTIONS`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`It’s the json schema version of the `,_jsx(_components.code,{children:`/v1/functions`}),` endpoint and `,_jsx(_components.code,{children:`aci.functions.search`}),` function in SDK.`]}),`\n`,_jsxs(_components.li,{children:[`It’s used to search for available functions (e.g. `,_jsx(_components.code,{children:`GITHUB__STAR_REPOSITORY`}),`, `,_jsx(_components.code,{children:`GMAIL__SEND_EMAIL`}),`, `,_jsx(_components.code,{children:`BRAVE_SEARCH__WEB_SEARCH`}),`) in ACI.dev.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`aci_execute_function`,children:`ACI_EXECUTE_FUNCTION`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`It’s the json schema version of the `,_jsx(_components.code,{children:`/v1/functions/{function_name}/execute`}),` endpoint and `,_jsx(_components.code,{children:`aci.functions.execute`}),` function in SDK.`]}),`\n`,_jsxs(_components.li,{children:[`It’s used to execute a function (e.g. `,_jsx(_components.code,{children:`GITHUB__STAR_REPOSITORY`}),`, `,_jsx(_components.code,{children:`GMAIL__SEND_EMAIL`}),`, `,_jsx(_components.code,{children:`BRAVE_SEARCH__WEB_SEARCH`}),`) in ACI.dev.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`schemas`,children:`Schemas`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`ACI_SEARCH_FUNCTIONS`,numberOfLines:`38`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`38`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` aci.meta_functions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ACISearchFunctions`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` aci.enums `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` FunctionDefinitionFormat`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# OpenAI (The Chat Completion API)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(ACISearchFunctions.to_json_schema(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`format`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`FunctionDefinitionFormat.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`OPENAI`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"function\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"ACI_SEARCH_FUNCTIONS\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"This function allows you to find relevant executable functions and their schemas that can help complete your tasks.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parameters\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"object\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"properties\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"intent\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"string\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"Use this to find relevant functions you might need. Returned results of this function will be sorted by relevance to the intent.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"limit\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"integer\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\": 100,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"The maximum number of functions to return from the search per response.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"minimum\": 1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"offset\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"integer\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\": 0,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"minimum\": 0,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"Pagination offset.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"required\": [],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"additionalProperties\": false`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"\"`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`ACI_EXECUTE_FUNCTION`,numberOfLines:`31`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`31`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` aci.meta_functions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ACIExecuteFunction`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` aci.enums `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` FunctionDefinitionFormat`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# OpenAI (The Chat Completion API)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(ACIExecuteFunction.to_json_schema(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`format`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`FunctionDefinitionFormat.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`OPENAI`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"function\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"ACI_EXECUTE_FUNCTION\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"Execute a specific retrieved function. Provide the executable function name, and the required function parameters for that function based on function definition retrieved.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parameters\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"object\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"properties\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function_name\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"string\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"The name of the function to execute\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function_arguments\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"object\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"A dictionary containing key-value pairs of input parameters required by the specified function. The parameter names and types must match those defined in the function definition previously retrieved. If the function requires no parameters, provide an empty object.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"additionalProperties\": true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"required\": [\"function_name\", \"function_arguments\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"additionalProperties\": false`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"\"`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`Together with our `,_jsx(_components.strong,{children:`Unified Function Calling Handler`}),`, it offer a powerful, self-discovery mechanism for LLM-driven applications, enabling them to autonomously select, interpret, and execute functions based on the context of a given task or conversation.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# unified function calling handler`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`result = client.handle_function_call(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` tool_call.function.name,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` json.loads(tool_call.function.arguments),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` linked_account_owner_id=\"john_doe\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` allowed_apps_only=True,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` format=FunctionDefinitionFormat.OPENAI`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`For examples of how to use the meta functions, please refer to the `,_jsxs(_components.a,{href:`https://github.com/aipotheosis-labs/aci-python-sdk/tree/main?tab=readme-ov-file#agent-centric-features`,children:[`SDK repository `,_jsx(Icon,{icon:`up-right-from-square`})]}),`.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Meta Functions (Tools)","description":"Designed with an LLM-centric approach","icon":"atom","href":"/sdk/metafunctions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"ACI_SEARCH_FUNCTIONS","slug":"aci_search_functions","depth":2,"children":[]},{"title":"ACI_EXECUTE_FUNCTION","slug":"aci_execute_function","depth":2,"children":[]},{"title":"Schemas","slug":"schemas","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"aipotheosislabs-60d5bdcb","siteName":"Aipolabs agent-computer interface (ACI)","title":"Meta Functions (Tools) - Aipolabs agent-computer interface (ACI)","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T05:56:40.313Z","originalFileLocation":"sdk/metafunctions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Designed with an LLM-centric approach\">\u003cmeta data-mint-head name=\"application-name\" content=\"Aipolabs agent-computer interface (ACI)\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Meta Functions (Tools) - Aipolabs agent-computer interface (ACI)\">\u003cmeta data-mint-head property=\"og:description\" content=\"Designed with an LLM-centric approach\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Aipolabs agent-computer interface (ACI)\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://aci.dev/docs/sdk/metafunctions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aipotheosislabs-60d5bdcb.mintlify.app/_mintlify/api/og/v2?division=SDK\u0026amp;title=Meta+Functions+%28Tools%29\u0026amp;description=Designed+with+an+LLM-centric+approach\u0026amp;theme=e484080a655327377ee8ac3a\u0026amp;signature=fcdb4a44114092fad7d4eaf40915987ff0a0c8b97e3ed9cfda396dd1490c0b12\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Meta Functions (Tools) - Aipolabs agent-computer interface (ACI)\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Designed with an LLM-centric approach\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aipotheosislabs-60d5bdcb.mintlify.app/_mintlify/api/og/v2?division=SDK\u0026amp;title=Meta+Functions+%28Tools%29\u0026amp;description=Designed+with+an+LLM-centric+approach\u0026amp;theme=e484080a655327377ee8ac3a\u0026amp;signature=fcdb4a44114092fad7d4eaf40915987ff0a0c8b97e3ed9cfda396dd1490c0b12\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/aipotheosislabs-60d5bdcb/Nula9Shu5KkPY0-O/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Aipolabs agent-computer interface (ACI)\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6269D2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://aci.dev/docs/sdk/metafunctions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/sdk/metafunctions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://aci.dev/#organization\",\"name\":\"Aipolabs agent-computer interface (ACI)\",\"url\":\"https://aci.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/aipotheosislabs-60d5bdcb/d29fRbieQpqSnjGv/logo/light.svg?fit=max\u0026auto=format\u0026n=d29fRbieQpqSnjGv\u0026q=85\u0026s=9f4cc8fd87f275b456a98f7d0a955a31\"}},{\"@type\":\"WebSite\",\"@id\":\"https://aci.dev/docs#website\",\"name\":\"Aipolabs agent-computer interface (ACI)\",\"url\":\"https://aci.dev/docs\",\"publisher\":{\"@id\":\"https://aci.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://aci.dev/docs/sdk/metafunctions#webpage\",\"url\":\"https://aci.dev/docs/sdk/metafunctions\",\"name\":\"Meta Functions (Tools)\",\"description\":\"Designed with an LLM-centric approach\",\"dateModified\":\"2026-01-07T05:56:40.313Z\",\"isPartOf\":{\"@id\":\"https://aci.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://aci.dev/docs/sdk/metafunctions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://aci.dev/docs/sdk/metafunctions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SDK\",\"item\":\"https://aci.dev/docs/sdk/intro\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Meta Functions (Tools)\",\"item\":\"https://aci.dev/docs/sdk/metafunctions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://aci.dev/docs/sdk/metafunctions#article\",\"headline\":\"Meta Functions (Tools)\",\"name\":\"Meta Functions (Tools)\",\"description\":\"Designed with an LLM-centric approach\",\"url\":\"https://aci.dev/docs/sdk/metafunctions\",\"mainEntityOfPage\":{\"@id\":\"https://aci.dev/docs/sdk/metafunctions#webpage\"},\"dateModified\":\"2026-01-07T05:56:40.313Z\",\"publisher\":{\"@id\":\"https://aci.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://aci.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Aipolabs agent-computer interface (ACI)\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Aipolabs agent-computer interface (ACI)","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/aipotheosis-labs/aci"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/nnqFSzq2ne"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Introduction","pages":[{"title":"Overview","href":"/introduction/overview"},{"title":"Quickstart","href":"/introduction/quickstart"}]},{"group":"Core Concepts","pages":[{"title":"App","icon":"grid","href":"/core-concepts/app"},{"title":"App Configuration","icon":"gear","href":"/core-concepts/app-configuration"},{"title":"Function (Tool)","icon":"screwdriver-wrench","href":"/core-concepts/function"},{"title":"Linked Account","icon":"user","href":"/core-concepts/linked-account"},{"title":"Project","icon":"folder","href":"/core-concepts/project"},{"title":"Agent","icon":"robot","href":"/core-concepts/agent"}]},{"group":"SDK","pages":[{"title":"Introduction","icon":"code","description":null,"href":"/sdk/intro"},{"title":"Meta Functions (Tools)","icon":"atom","href":"/sdk/metafunctions"},{"title":"Function (Tool) Use Patterns","description":"Different ways to use the ACI.dev SDK","icon":"text-size","href":"/sdk/tool-use-patterns"},{"title":"Custom Functions (Tools)","icon":"function","href":"/sdk/custom-functions"}]},{"group":"MCP Servers","pages":[{"title":"Introduction","icon":"code","href":"/mcp-servers/introduction"},{"title":"Unified MCP Server","icon":"infinity","href":"/mcp-servers/unified-server"},{"title":"Apps MCP Server","icon":"grid","href":"/mcp-servers/apps-server"}]},{"group":"Agent Playground","pages":[{"title":"Introduction","icon":"robot","href":"/agent-playground/introduction"}]},{"group":"Advanced","pages":[{"title":"OAuth2 White-label","icon":"tag","href":"/advanced/oauth2-whitelabel"}]},{"group":"Cookbooks","pages":[{"title":"CAMEL AI","icon":"network-wired","href":"/cookbooks/camel-ai"}]}]},{"tab":"Agent Examples","pages":[{"title":"Agent Examples","href":"/agent-examples/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]}]},"basePath":"","title":"Meta Functions (Tools) - Aipolabs agent-computer interface (ACI)","buildId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","deploymentId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","dynamics":[],"chunks":[]}