feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped

This commit is contained in:
Yun Chan 2026-08-20 11:12:05 +09:00
parent 5cd1de6859
commit 708e20f747
406 changed files with 42464 additions and 6199 deletions

View file

@ -5,7 +5,7 @@
import { getLogger } from './LoggerService'
import { configGet, configSet } from './ConfigService'
import { getCustomInstructionService } from './CustomInstructionService'
import { getLocalLLMService } from './LocalLLMService'
import { getPremiumLLMService } from './PremiumLLMService'
import { getMainWindow } from '../windows/WindowManager'
import { IPC_CHANNELS } from '@d3ro/core/ipc-channels'
import { D3ROError, ErrorCode } from '@d3ro/core/errors'
@ -80,10 +80,13 @@ class ChainService {
}
create(params: CreateChainParams): LLMChain {
if (!params.name.trim()) {
throw new D3ROError(ErrorCode.ConfigInvalidValue, 'Chain name is empty')
}
const now = Date.now()
const chain: LLMChain = {
id: crypto.randomUUID(),
name: params.name,
name: params.name.trim(),
steps: params.steps,
createdAt: now,
updatedAt: now
@ -146,7 +149,7 @@ class ChainService {
const stepResults: Array<{ instructionId: string; output: string; durationMs: number }> = []
let previousOutput = inputText
const llm = getLocalLLMService()
const llm = getPremiumLLMService()
const instructionService = getCustomInstructionService()
logger.info(
@ -230,7 +233,7 @@ class ChainService {
cancelExecution(): void {
this._cancelRequested = true
// LLM 생성도 취소
getLocalLLMService().cancelGeneration()
getPremiumLLMService().cancelGeneration()
logger.info('Chain execution cancel requested')
}
@ -252,3 +255,9 @@ export function getChainService(): ChainService {
}
return instance
}
export function resetChainServiceForTests(): void {
instance = null
initialized = false
chains = []
}