PageSourceSearch

https://bambuser.com/docs/assets/js/0babdd98.1e88cdfb.js

js bambuser.com collected 2026-09-24 08:31:22 UTC 3,064 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkbambuser_docs||=[]).push([[5267],{87865(e,o,t){t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"build-example-tools","title":"Tools example","description":"Runnable Tool API example: register side-panel tools that render in the Live Player or Video Consultation hosts, cloned via npx degit.","source":"@site/app-framework/buildExampleTools.mdx","sourceDirName":".","slug":"/build/examples/tools","permalink":"/docs/app-framework/build/examples/tools","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"id":"build-example-tools","title":"Tools example","description":"Runnable Tool API example: register side-panel tools that render in the Live Player or Video Consultation hosts, cloned via npx degit.","sidebar_label":"Tools","slug":"build/examples/tools"},"sidebar":"someSidebars","previous":{"title":"Screens","permalink":"/docs/app-framework/build/examples/screens"},"next":{"title":"Dialogs","permalink":"/docs/app-framework/build/examples/dialogs"}}');var l=t(74848),n=t(28453);const a={id:"build-example-tools",title:"Tools example",description:"Runnable Tool API example: register side-panel tools that render in the Live Player or Video Consultation hosts, cloned via npx degit.",sidebar_label:"Tools",slug:"build/examples/tools"},i=void 0,r={},p=[{value:"Trying it out",id:"trying-it-out",level:2}];function d(e){const o={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(o.p,{children:["This example uses the ",(0,l.jsx)(o.a,{href:"/app-framework/build/api/tool",children:"Tool API"})," to add tools."]}),"\n",(0,l.jsxs)(o.p,{children:["Source code: ",(0,l.jsx)(o.a,{href:"https://github.com/bambuser/bam-app-examples/tree/main/tools",children:"https://github.com/bambuser/bam-app-examples/tree/main/tools"})]}),"\n",(0,l.jsx)(o.h2,{id:"trying-it-out",children:"Trying it out"}),"\n",(0,l.jsx)(o.p,{children:"Run the following commands:"}),"\n",(0,l.jsx)(o.pre,{children:(0,l.jsx)(o.code,{children:"npx degit bambuser/bam-app-examples/tools#main bam-app-example-tools\ncd bam-app-example-tools\n\nnpm install\nnpm run dev\n"})}),"\n",(0,l.jsxs)(o.p,{children:["The example should have been opened automatically in your browser, for further steps how to see the example in action see ",(0,l.jsx)(o.a,{href:"https://github.com/bambuser/bam-app-examples/blob/main/tools/README.md",children:"README.md"})," file."]})]})}function m(e={}){const{wrapper:o}={...(0,n.R)(),...e.components};return o?(0,l.jsx)(o,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},28453(e,o,t){t.d(o,{R:()=>a,x:()=>i});var s=t(96540);const l={},n=s.createContext(l);function a(e){const o=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:a(e.components),s.createElement(n.Provider,{value:o},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.