Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps/bubble-studio/src/pages/CredentialsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,13 @@ const CREDENTIAL_TYPE_CONFIG: Record<CredentialType, CredentialConfig> = {
namePlaceholder: 'My InsForge API Key',
credentialConfigurations: {},
},
[CredentialType.OLOSTEP_API_KEY]: {
label: 'Olostep',
description: 'API key for Olostep web scraping and AI content extraction',
placeholder: 'ols_...',
namePlaceholder: 'My Olostep API Key',
credentialConfigurations: {},
},
} as const satisfies Record<CredentialType, CredentialConfig>;

// Helper to extract error message from API error
Expand Down Expand Up @@ -299,6 +306,7 @@ const getServiceNameForCredentialType = (
[CredentialType.NOTION_OAUTH_TOKEN]: 'Notion',
[CredentialType.INSFORGE_BASE_URL]: 'InsForge',
[CredentialType.INSFORGE_API_KEY]: 'InsForge',
[CredentialType.OLOSTEP_API_KEY]: 'Olostep',
};

return typeToServiceMap[credentialType] || credentialType;
Expand Down
5 changes: 5 additions & 0 deletions packages/bubble-core/src/bubble-factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ export class BubbleFactory {
'notion',
'firecrawl',
'insforge-db',
'olostep',
];
}

Expand Down Expand Up @@ -282,6 +283,9 @@ export class BubbleFactory {
const { InsForgeDbBubble } = await import(
'./bubbles/service-bubble/insforge-db.js'
);
const { OlostepBubble } = await import(
'./bubbles/service-bubble/olostep.js'
);

// Create the default factory instance
this.register('hello-world', HelloWorldBubble as BubbleClassWithMetadata);
Expand Down Expand Up @@ -385,6 +389,7 @@ export class BubbleFactory {
this.register('airtable', AirtableBubble as BubbleClassWithMetadata);
this.register('firecrawl', FirecrawlBubble as BubbleClassWithMetadata);
this.register('insforge-db', InsForgeDbBubble as BubbleClassWithMetadata);
this.register('olostep', OlostepBubble as BubbleClassWithMetadata);

// After all default bubbles are registered, auto-populate bubbleDependencies
if (!BubbleFactory.dependenciesPopulated) {
Expand Down
Loading