diff --git a/bach.config.ts b/bach.config.ts index 99c42b7..527a36c 100644 --- a/bach.config.ts +++ b/bach.config.ts @@ -28,6 +28,164 @@ export default defineConfig(collections, { }, ], }, + { + group: 'Studio', + pages: [ + 'studio/introduction', + { + group: 'Concepts', + pages: [ + 'studio/concepts/home', + { + group: 'Nodes', + icon: 'SquareMousePointer', + pages: ['studio/concepts/nodes/introduction', 'studio/concepts/nodes/autonomous-node'], + }, + { + group: 'Cards', + icon: 'Rows3', + pages: [ + 'studio/concepts/cards/introduction', + 'studio/concepts/cards/send-messages', + 'studio/concepts/cards/execute-code', + 'studio/concepts/cards/tables', + 'studio/concepts/cards/set-inactivity-timeout', + 'studio/concepts/cards/webchat', + 'studio/concepts/cards/flow-logic', + { + group: 'AI', + pages: [ + 'studio/concepts/cards/ai/introduction', + 'studio/concepts/cards/ai/ai-task', + 'studio/concepts/cards/ai/ai-transition', + 'studio/concepts/cards/ai/ai-generate-text', + ], + }, + 'studio/concepts/cards/capture-information', + 'studio/concepts/cards/fixed-schedule', + 'studio/concepts/cards/agents', + 'studio/concepts/cards/utilities', + ], + }, + 'studio/concepts/workflows', + { + group: 'Knowledge Bases', + icon: 'BookOpen', + pages: [ + 'studio/concepts/knowledge-base/introduction', + 'studio/concepts/knowledge-base/add-sources', + 'studio/concepts/knowledge-base/knowledge-base-best-practices', + ], + }, + 'studio/concepts/tables', + 'studio/concepts/actions', + { + group: 'Agents', + icon: 'Bot', + pages: [ + 'studio/concepts/agents/introduction', + 'studio/concepts/agents/summary-agent', + 'studio/concepts/agents/personality-agent', + 'studio/concepts/agents/policy-agent', + 'studio/concepts/agents/translator-agent', + 'studio/concepts/agents/knowledge-agent', + 'studio/concepts/agents/hitl-agent', + 'studio/concepts/agents/vision-agent', + 'studio/concepts/agents/analytics-agent', + ], + }, + 'studio/concepts/hooks', + 'studio/concepts/card-hub', + 'studio/concepts/integrations', + 'studio/concepts/schemas', + 'studio/concepts/versions', + 'studio/concepts/bot-settings', + 'studio/concepts/find', + { + group: 'Variables', + icon: 'Variable', + pages: [ + 'studio/concepts/variables/overview', + { + group: 'Scopes', + pages: [ + 'studio/concepts/variables/scopes/workflow', + 'studio/concepts/variables/scopes/user', + 'studio/concepts/variables/scopes/conversation', + 'studio/concepts/variables/scopes/bot', + 'studio/concepts/variables/scopes/configuration', + ], + }, + 'studio/concepts/variables/built-in', + 'studio/concepts/variables/pass-between-workflows', + 'studio/concepts/variables/in-code', + ], + }, + 'studio/concepts/triggers', + 'studio/concepts/debugger-logs-json', + 'studio/concepts/emulator', + 'studio/concepts/import-export-bots', + 'studio/concepts/copy-to-bot', + { + group: 'Controls and Settings', + icon: 'Wrench', + pages: [ + 'studio/concepts/controls-and-settings/keyboard-shortcuts', + 'studio/concepts/controls-and-settings/studio-commands', + 'studio/concepts/controls-and-settings/studio-preferences', + ], + }, + ], + }, + { + group: 'Guides', + pages: [ + 'studio/guides/introduction', + { + group: 'How-to', + pages: [ + 'studio/guides/how-to/translate', + 'studio/guides/how-to/send-reminders', + 'studio/guides/how-to/different-an-models', + 'studio/guides/how-to/track-ai-spend-in-table', + 'studio/guides/how-to/dropdown-menus', + ], + }, + { + group: 'Advanced', + pages: [ + 'studio/guides/advanced/use-code', + 'studio/guides/advanced/event-properties', + 'studio/guides/advanced/best-practices-for-state-management', + { + group: 'Safety', + pages: [ + 'studio/guides/advanced/safety/introduction', + 'studio/guides/advanced/safety/preventing-abuse', + 'studio/guides/advanced/safety/brand-safety-framework', + ], + }, + { + group: 'Exporting Data', + pages: [ + 'studio/guides/advanced/exporting-data/introduction', + 'studio/guides/advanced/exporting-data/exporting-raw-conversations-with-the-botpress-api', + 'studio/guides/advanced/exporting-data/getting-the-conversation-history-from-within-your-bot', + 'studio/guides/advanced/exporting-data/streaming-analytics-from-within-your-bot-with-hooks', + 'studio/guides/advanced/exporting-data/exporting-compiled-bot-analytics-with-the-botpress-api', + 'studio/guides/advanced/exporting-data/analyze-llmz-responses', + ], + }, + 'studio/guides/advanced/kitchen-sink-advanced-starter-template', + 'studio/guides/advanced/tips-to-optimize-ai-cost', + 'studio/guides/advanced/retention-period', + 'studio/guides/advanced/v12', + ], + }, + ], + }, + ], + }, ], }, { tab: 'Tutorial', pages: ['tutorial/index'] }, diff --git a/src/components/AiIcon.astro b/src/components/AiIcon.astro new file mode 100644 index 0000000..aaadcc1 --- /dev/null +++ b/src/components/AiIcon.astro @@ -0,0 +1,17 @@ + + + + + diff --git a/src/components/Expandable.astro b/src/components/Expandable.astro new file mode 100644 index 0000000..74f0571 --- /dev/null +++ b/src/components/Expandable.astro @@ -0,0 +1,12 @@ +--- +import { Expandable as ExpandableReact } from "./Expandable"; +interface Props { + title?: string; + defaultOpen?: boolean; +} +const { title, defaultOpen } = Astro.props; +--- + + + + diff --git a/src/components/api/expandable.tsx b/src/components/Expandable.tsx similarity index 92% rename from src/components/api/expandable.tsx rename to src/components/Expandable.tsx index 716c4d0..10756b9 100644 --- a/src/components/api/expandable.tsx +++ b/src/components/Expandable.tsx @@ -26,7 +26,7 @@ function Expandable({ setOpen(next) onChange?.(next) }} - className={`mt-3 rounded-lg border border-stone-200 dark:border-stone-700 ${className ?? ''}`} + className={`not-prose mt-3 rounded-lg border border-stone-200 dark:border-stone-700 ${className ?? ''}`} > diff --git a/src/components/IncomingEvent.astro b/src/components/IncomingEvent.astro new file mode 100644 index 0000000..cff585d --- /dev/null +++ b/src/components/IncomingEvent.astro @@ -0,0 +1,119 @@ +--- +import { Field } from "@/components/field"; +import { Warning } from "@/components/callouts"; +import Expandable from "./Expandable.astro"; +--- + + + Information about the last incoming event in your bot's execution. + + + + The ID of the bot that experienced the event. + + + The ID of the conversation that the event took place in. + + + The date and time when the event was created (in ISO 8601 format). + + + The direction of the event, indicating whether the event was received by + the bot or sent from the bot. - `'incoming'`: The event originated from + the user and was received by the bot. - `'outgoing'`: The event was + generated by the bot and sent to the user. + + + The unique identifier for the event. + + + The integration that the event occurred on. + + + Information about Knowledge Bases queried for the event. + + + + Array of Knowledge Bases queried for the event. + + Since most of this object's properties are for internal use by + Botpress, we've omitted its deeper structure from this + documentation. + + + Array of Knowledge Base results consulted for this event. + + Since most of this object's properties are for internal use by + Botpress, we've omitted its deeper structure from this + documentation. + + + + + The unique identifier for the current event's message. + + + The payload for the current event. + + + A representation of the event in plain text. If the event is a text + message, this property will contain the message itself. + + + Data related to the state of the event. + + Since most of this object's properties are for internal use by + Botpress, we've omitted its deeper structure from this documentation. + + + Any tags associated with the current event. These can contain useful data + related to the integration associated with the event. + + + + Tags for the conversation. + + Tags for the message. + Tags for the user. + + + + The Trigger that sent the event. + + + + The ID of the conversation associated with this Trigger. + + + The name of the event that the Trigger sent. + + + The ID of the Workflow containing the Trigger. + + + The integration associated with the Trigger. + + + The ID of the Node that contains the Trigger. + + + The ID of the user associated with this Trigger. + + + + The type of the event. + + The user ID associated with this event. + + + diff --git a/src/components/YouTube.astro b/src/components/YouTube.astro new file mode 100644 index 0000000..880815d --- /dev/null +++ b/src/components/YouTube.astro @@ -0,0 +1,19 @@ +--- +import Frame from "./Frame.astro"; +interface Props { + url: string; +} +const { url } = Astro.props; +--- + + +