import { defineConfig } from './kazzle.types';
export default defineConfig({
/** 리포지토리 루트 기준 앱 아이콘 경로. 게시 시 CDN에 업로드됩니다. */
icon: 'icon.svg',
/** 앱 컴포넌트 — 각 항목은 배포 가능한 단위를 정의합니다. */
components: [
{
name: 'My App',
type: 'process',
path: './components/process/index.ts',
runtime: { dev: 'bun run dev', run: 'bun run start' },
// 지속적 프로세스는 장시간 실행되는 서버입니다. 플랫폼은
// 각 트리거의 `path`에서 실행 중인 서버로
// `Authorization: Bearer ${KAZZLE_TRIGGER_SECRET}`과 함께 트리거를 게시합니다.
// 고객 코드는 작업을 수행하기 전에 헤더를 검증합니다.
processMode: 'persistent',
triggers: [
// Cron 예제 — 주석 해제 및 조정합니다. 5필드, 분 단위 해상도.
// { name: 'hourly-sync', kind: 'schedule', schedule: '0 * * * *', path: '/cron/hourly-sync' },
// 웹훅 예제 — /webhooks/{spaceId}/{appId}/My App/incoming으로 POST합니다.
// { name: 'incoming', kind: 'webhook', path: '/webhook/incoming' },
],
},
],
});