ac-storage 0.16.2 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/afron/.vscode/launch.json +43 -0
- package/afron/.vscode/tasks.json +56 -0
- package/afron/LICENSE +674 -0
- package/afron/README.md +23 -0
- package/afron/_img/01.png +0 -0
- package/afron/_img/02.png +0 -0
- package/afron/package.json +40 -0
- package/afron/packages/chatai-models/package.json +34 -0
- package/afron/packages/core/package.json +65 -0
- package/afron/packages/core/vite.config.ts +17 -0
- package/afron/packages/electron/build/entitlements.mac.plist +33 -0
- package/afron/packages/electron/forge.config.js +66 -0
- package/afron/packages/electron/import-static.ps1 +14 -0
- package/afron/packages/electron/package.json +147 -0
- package/afron/packages/electron/rebuild.bat +1 -0
- package/afron/packages/front/.env.development +1 -0
- package/afron/packages/front/.github/copilot-instructions.md +88 -0
- package/afron/packages/front/eslint.config.js +33 -0
- package/afron/packages/front/index.html +13 -0
- package/afron/packages/front/package.json +74 -0
- package/afron/packages/front/public/favicon.icns +0 -0
- package/afron/packages/front/public/favicon.ico +0 -0
- package/afron/packages/front/public/favicon.png +0 -0
- package/afron/packages/front/public/robots.txt +3 -0
- package/afron/packages/front/public/vite.svg +1 -0
- package/afron/packages/front/tsconfig.app.json +44 -0
- package/afron/packages/front/tsconfig.node.json +24 -0
- package/afron/packages/front/vite.config.ts +53 -0
- package/afron/packages/locale/package.json +65 -0
- package/afron/packages/locale/vite.config.ts +17 -0
- package/afron/packages/types/index.js +3 -0
- package/afron/packages/types/package.json +6 -0
- package/afron/packages/types/types/chatai/chatai-model.d.ts +73 -0
- package/afron/packages/types/types/chatai/gemini-safety-setting.d.ts +15 -0
- package/afron/packages/types/types/chatai/index.d.ts +3 -0
- package/afron/packages/types/types/chatai/thinking-efforts.d.ts +4 -0
- package/afron/packages/types/types/event-pipe/global-event.d.ts +43 -0
- package/afron/packages/types/types/event-pipe/index.d.ts +1 -0
- package/afron/packages/types/types/index.d.ts +8 -0
- package/afron/packages/types/types/ipc/data.ts +114 -0
- package/afron/packages/types/types/ipc/declared.d.ts +1 -0
- package/afron/packages/types/types/ipc/index.ts +6 -0
- package/afron/packages/types/types/ipc/interface.d.ts +46 -0
- package/afron/packages/types/types/ipc/invokers.d.ts +181 -0
- package/afron/packages/types/types/ipc/listeners.d.ts +7 -0
- package/afron/packages/types/types/ipc/result.d.ts +3 -0
- package/afron/packages/types/types/ipc-invokers.d.ts +111 -0
- package/afron/packages/types/types/ipc-listeners.d.ts +6 -0
- package/afron/packages/types/types/prompt-form.d.ts +65 -0
- package/afron/packages/types/types/rt/event.d.ts +71 -0
- package/afron/packages/types/types/rt/flow.d.ts +63 -0
- package/afron/packages/types/types/rt/form.d.ts +41 -0
- package/afron/packages/types/types/rt/index.d.ts +4 -0
- package/afron/packages/types/types/rt/rt.d.ts +61 -0
- package/afron/packages/types/types/rt-var/index.ts +5 -0
- package/afron/packages/types/types/rt-var/rt-var-create.ts +39 -0
- package/afron/packages/types/types/rt-var/rt-var-stored.ts +30 -0
- package/afron/packages/types/types/rt-var/rt-var-update.ts +45 -0
- package/afron/packages/types/types/rt-var/rt-var.ts +36 -0
- package/afron/packages/types/types/rt-var/var-data.d.ts +108 -0
- package/afron/packages/types/types/storage-schema/ProfileStorageSchema.d.ts +2 -0
- package/afron/packages/types/types/storage-schema/RT/Flow.d.ts +20 -0
- package/afron/packages/types/types/storage-schema/RT/Metadata.d.ts +16 -0
- package/afron/packages/types/types/storage-schema/RT/Prompts.d.ts +39 -0
- package/afron/packages/types/types/storage-schema/RT/RT.d.ts +4 -0
- package/afron/packages/types/types/storage-schema/RT/index.d.ts +1 -0
- package/afron/packages/types/types/storage-schema/Session/Cache.d.ts +18 -0
- package/afron/packages/types/types/storage-schema/Session/Config.d.ts +7 -0
- package/afron/packages/types/types/storage-schema/Session/Data.d.ts +19 -0
- package/afron/packages/types/types/storage-schema/Session/Session.d.ts +3 -0
- package/afron/packages/types/types/storage-schema/Session/index.d.ts +1 -0
- package/afron/packages/types/types/storage-schema/index.d.ts +116 -0
- package/afron/packages/types/types/utils/index.ts +1 -0
- package/afron/packages/types/types.d.ts +3 -0
- package/afron/scripts/remove-dist.ps1 +10 -0
- package/afron/scripts/remove-install.ps1 +9 -0
- package/afron/scripts/win-vscode.ps1 +17 -0
- package/dist/bundle.cjs +5 -0
- package/dist/bundle.cjs.map +1 -1
- package/dist/bundle.mjs +5 -0
- package/dist/bundle.mjs.map +1 -1
- package/package.json +2 -2
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
// "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
4
|
+
"target": "ES2022",
|
|
5
|
+
"useDefineForClassFields": true,
|
|
6
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
+
"module": "ESNext",
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
|
|
10
|
+
/* Bundler mode */
|
|
11
|
+
"moduleResolution": "Bundler",
|
|
12
|
+
"allowImportingTsExtensions": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"moduleDetection": "force",
|
|
15
|
+
"noEmit": true,
|
|
16
|
+
"jsx": "react-jsx",
|
|
17
|
+
|
|
18
|
+
/* Linting */
|
|
19
|
+
"strict": true,
|
|
20
|
+
"noUnusedLocals": false,
|
|
21
|
+
"noUnusedParameters": false,
|
|
22
|
+
// "noUncheckedSideEffectImports": true,
|
|
23
|
+
|
|
24
|
+
"noImplicitAny": false, // 암시적 any 타입 허용
|
|
25
|
+
"noImplicitReturns": false, // 모든 코드 경로에서 반환이 리턴 타입과 일치하는지 확인
|
|
26
|
+
"noFallthroughCasesInSwitch": false, // switch fall-through 허용
|
|
27
|
+
"noUncheckedIndexedAccess": false, // 배열 및 객체 필드 접근시 undefined 체크 없음
|
|
28
|
+
"noPropertyAccessFromIndexSignature": true, // 확인 불가한 key에 대한 dot 연산자 사용 금지
|
|
29
|
+
"noImplicitOverride": true, // 명시적 메서드 오버라이드
|
|
30
|
+
"allowUnreachableCode": true, // 도달할 수 없는 코드 허용
|
|
31
|
+
"forceConsistentCasingInFileNames": true,
|
|
32
|
+
"resolveJsonModule": true,
|
|
33
|
+
|
|
34
|
+
"baseUrl": "src",
|
|
35
|
+
"paths" : {
|
|
36
|
+
"@/*": ["*"],
|
|
37
|
+
"@shared/*": ["../../shared/*"]
|
|
38
|
+
},
|
|
39
|
+
"types" : [
|
|
40
|
+
"node",
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"include": ["src", "src/global.d.ts"],
|
|
44
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
|
4
|
+
"target": "ES2022",
|
|
5
|
+
"lib": ["ES2023"],
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
|
|
9
|
+
/* Bundler mode */
|
|
10
|
+
"moduleResolution": "Bundler",
|
|
11
|
+
"allowImportingTsExtensions": true,
|
|
12
|
+
"isolatedModules": true,
|
|
13
|
+
"moduleDetection": "force",
|
|
14
|
+
"noEmit": true,
|
|
15
|
+
|
|
16
|
+
/* Linting */
|
|
17
|
+
"strict": true,
|
|
18
|
+
"noUnusedLocals": true,
|
|
19
|
+
"noUnusedParameters": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
"noUncheckedSideEffectImports": true
|
|
22
|
+
},
|
|
23
|
+
"include": ["vite.config.ts"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import react from '@vitejs/plugin-react'
|
|
3
|
+
import path from 'path'
|
|
4
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
5
|
+
|
|
6
|
+
function alias(find:string, replacement:string) {
|
|
7
|
+
return {
|
|
8
|
+
find : find,
|
|
9
|
+
replacement : path.resolve(__dirname, replacement)
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
base: './',
|
|
15
|
+
server: {
|
|
16
|
+
port : 3600,
|
|
17
|
+
},
|
|
18
|
+
plugins: [
|
|
19
|
+
react({
|
|
20
|
+
babel: {
|
|
21
|
+
plugins: [
|
|
22
|
+
['babel-plugin-react-compiler'],
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
tailwindcss(),
|
|
27
|
+
],
|
|
28
|
+
css: {
|
|
29
|
+
preprocessorOptions: {
|
|
30
|
+
scss: {
|
|
31
|
+
api: 'modern'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
resolve: {
|
|
36
|
+
alias: [
|
|
37
|
+
alias('@', 'src'),
|
|
38
|
+
alias('data', 'src/data'),
|
|
39
|
+
alias('components', 'src/components'),
|
|
40
|
+
alias('context', 'src/context'),
|
|
41
|
+
alias('utils', 'src/utils'),
|
|
42
|
+
alias('lib', 'src/lib'),
|
|
43
|
+
alias('api', 'src/api'),
|
|
44
|
+
alias('types', 'src/types'),
|
|
45
|
+
alias('hooks', 'src/hooks'),
|
|
46
|
+
alias('assets', 'src/assets'),
|
|
47
|
+
alias('pages', 'src/pages'),
|
|
48
|
+
alias('features', 'src/features'),
|
|
49
|
+
alias('locales', 'src/locales'),
|
|
50
|
+
alias('modals', 'src/modals'),
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
})
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@afron/locale",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "./dist/bundle.cjs",
|
|
5
|
+
"module": "./dist/bundle.mjs",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/bundle.mjs",
|
|
11
|
+
"require": "./dist/bundle.cjs"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "rollup -c",
|
|
16
|
+
"test": "vitest run",
|
|
17
|
+
"coverage": "jest --coverage"
|
|
18
|
+
},
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@afron/types": "1.0.0",
|
|
22
|
+
"@hve/channel": "^1.0.1",
|
|
23
|
+
"@hve/chatai": "^0.16.0",
|
|
24
|
+
"@hve/mime": "^1.0.0",
|
|
25
|
+
"ac-storage": "^0.14.1",
|
|
26
|
+
"advanced-prompt-template-lang": "^0.10.4",
|
|
27
|
+
"archiver": "^7.0.1",
|
|
28
|
+
"better-sqlite3": "^12.2.0",
|
|
29
|
+
"file-type": "^21.0.0",
|
|
30
|
+
"istextorbinary": "^9.5.0",
|
|
31
|
+
"js-tiktoken": "^1.0.20",
|
|
32
|
+
"sharp": "^0.34.2",
|
|
33
|
+
"systeminformation": "^5.23.23",
|
|
34
|
+
"tiktoken": "^1.0.21",
|
|
35
|
+
"tslib": "^2.8.1",
|
|
36
|
+
"unzipper": "^0.12.3",
|
|
37
|
+
"uuid": "^11.0.3",
|
|
38
|
+
"win-known-folders": "^1.0.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@babel/core": "^7.28.0",
|
|
42
|
+
"@babel/preset-env": "^7.28.0",
|
|
43
|
+
"@babel/preset-react": "^7.27.1",
|
|
44
|
+
"@electron/rebuild": "^4.0.1",
|
|
45
|
+
"@rollup/plugin-commonjs": "^28.0.1",
|
|
46
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
47
|
+
"@rollup/plugin-node-resolve": "^15.3.0",
|
|
48
|
+
"@rollup/plugin-typescript": "^12.1.1",
|
|
49
|
+
"@types/archiver": "^6.0.3",
|
|
50
|
+
"@types/jest": "^29.5.14",
|
|
51
|
+
"@types/node": "^22.10.2",
|
|
52
|
+
"@types/unzipper": "^0.10.11",
|
|
53
|
+
"babel-jest": "^30.0.4",
|
|
54
|
+
"dotenv": "^16.5.0",
|
|
55
|
+
"jest": "^29.7.0",
|
|
56
|
+
"rollup": "^2.79.2",
|
|
57
|
+
"rollup-plugin-dts": "^6.1.1",
|
|
58
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
59
|
+
"rollup-plugin-ts": "^3.4.5",
|
|
60
|
+
"ts-jest": "^29.2.5",
|
|
61
|
+
"ts-node": "^10.9.2",
|
|
62
|
+
"typescript": "^5.7.2",
|
|
63
|
+
"vitest": "^3.2.4"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="vitest" />
|
|
2
|
+
import { defineConfig } from 'vite';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
resolve: {
|
|
7
|
+
alias: {
|
|
8
|
+
'@': path.resolve(__dirname, 'src'), // src 경로 alias
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
test: {
|
|
12
|
+
globals: true,
|
|
13
|
+
environment: 'node',
|
|
14
|
+
include: ['src/**/*.test.ts'], // 테스트 경로
|
|
15
|
+
exclude: ['node_modules', 'dist'],
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SupportedThinkingEfforts,
|
|
3
|
+
SupportedVerbosity
|
|
4
|
+
} from './thinking-efforts';
|
|
5
|
+
|
|
6
|
+
export type ChatAIFlags = {
|
|
7
|
+
featured?: boolean;
|
|
8
|
+
stable?: boolean;
|
|
9
|
+
latest?: boolean;
|
|
10
|
+
deprecated?: boolean;
|
|
11
|
+
snapshot?: boolean;
|
|
12
|
+
highCost?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type ChatAIConfig = {
|
|
15
|
+
endpoint?: 'chat_completions' | 'responses' | 'generative_language' | 'anthropic' | 'vertexai_gemini' | 'vertexai_claude';
|
|
16
|
+
customEndpoint?: string;
|
|
17
|
+
|
|
18
|
+
// tokenizer?: 'default';
|
|
19
|
+
|
|
20
|
+
thinking?: 'enabled' | 'disabled' | 'optional';
|
|
21
|
+
|
|
22
|
+
allowStream?: boolean;
|
|
23
|
+
allowFunctionCall?: boolean;
|
|
24
|
+
allowStructuredOutput?: boolean;
|
|
25
|
+
allowCaching?: boolean;
|
|
26
|
+
|
|
27
|
+
supportGeminiSafetyFilter?: boolean;
|
|
28
|
+
supportThinkingBudget?: boolean;
|
|
29
|
+
supportThinkingEffort?: boolean;
|
|
30
|
+
supportThinkingSummary?: boolean;
|
|
31
|
+
supportVerbosity?: boolean;
|
|
32
|
+
|
|
33
|
+
supportedThinkingEfforts: readonly SupportedThinkingEfforts[]; // gpt 추론모델 적용, 기본값: ['low', 'medium', 'high']
|
|
34
|
+
supportedVerbosity: readonly SupportedVerbosity[]; // gpt-5 추론모델 적용, 기본값: ['low', 'medium', 'high']
|
|
35
|
+
thinkingDisableStrategy: 'omit' | 'set_to_zero'; // gemini 계열 적용, 기본값 'omit'
|
|
36
|
+
|
|
37
|
+
vertexAILocation?: string;
|
|
38
|
+
|
|
39
|
+
excludeParameter?: ExcludeParamter[];
|
|
40
|
+
|
|
41
|
+
advancedSettings?: {
|
|
42
|
+
extraHeaders?: Record<string, string>;
|
|
43
|
+
chatCompletionUseMaxTokens?: boolean; // ChatCompletions에서 max_completion_tokens 대신 max_tokens 사용 여부
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type ExcludeParamter = 'temperature' | 'max_tokens' | 'top_p';
|
|
48
|
+
|
|
49
|
+
export type ChatAIModel = {
|
|
50
|
+
metadataId: string;
|
|
51
|
+
modelId: string;
|
|
52
|
+
displayName: string;
|
|
53
|
+
|
|
54
|
+
config: ChatAIConfig;
|
|
55
|
+
flags: ChatAIFlags;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export type ChatAIModelGroup = {
|
|
59
|
+
groupName: string;
|
|
60
|
+
|
|
61
|
+
models: Array<ChatAIModel>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export type ChatAIModelCategory = {
|
|
65
|
+
categoryId: string;
|
|
66
|
+
categoryName: string;
|
|
67
|
+
|
|
68
|
+
groups: Array<ChatAIModelGroup>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export type ChatAIModelData = Array<ChatAIModelCategory>
|
|
72
|
+
|
|
73
|
+
export { };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare namespace GeminiSafetySetting {
|
|
2
|
+
type FilterNames = 'HARM_CATEGORY_HARASSMENT'
|
|
3
|
+
| 'HARM_CATEGORY_HATE_SPEECH'
|
|
4
|
+
| 'HARM_CATEGORY_SEXUALLY_EXPLICIT'
|
|
5
|
+
| 'HARM_CATEGORY_DANGEROUS_CONTENT'
|
|
6
|
+
| 'HARM_CATEGORY_CIVIC_INTEGRITY';
|
|
7
|
+
|
|
8
|
+
type Threshold = (
|
|
9
|
+
'OFF'
|
|
10
|
+
| 'BLOCK_NONE'
|
|
11
|
+
| 'BLOCK_ONLY_HIGH'
|
|
12
|
+
| 'BLOCK_MEDIUM_AND_ABOVE'
|
|
13
|
+
| 'BLOCK_LOW_AND_ABOVE'
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import '../prompt-form';
|
|
2
|
+
|
|
3
|
+
type GlobalEventDataError = {
|
|
4
|
+
type: 'error'
|
|
5
|
+
detail: string[];
|
|
6
|
+
} & (
|
|
7
|
+
{
|
|
8
|
+
reason_id:
|
|
9
|
+
'other';
|
|
10
|
+
}
|
|
11
|
+
)
|
|
12
|
+
type GlobalEventDataRTExport = {
|
|
13
|
+
type: 'rt_export';
|
|
14
|
+
state: 'ready' | 'cancel' | 'done' | 'block';
|
|
15
|
+
} | {
|
|
16
|
+
type: 'rt_export';
|
|
17
|
+
state: 'progress';
|
|
18
|
+
percent: number;
|
|
19
|
+
description: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type GlobalEventDataRTImport = {
|
|
23
|
+
type: 'rt_import';
|
|
24
|
+
state: 'ready' | 'cancel' | 'done' | 'block' | 'failed';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type GlobalEventDataClose = {
|
|
28
|
+
type: 'close';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type GlobalEventDataWithoutId = (
|
|
32
|
+
GlobalEventDataRTImport
|
|
33
|
+
| GlobalEventDataRTExport
|
|
34
|
+
| GlobalEventDataError
|
|
35
|
+
| GlobalEventDataClose
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
export type GlobalEventData = {
|
|
40
|
+
id: string;
|
|
41
|
+
} & GlobalEventDataWithoutId;
|
|
42
|
+
|
|
43
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './global-event';
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
|
|
2
|
+
export type VersionInfo = {
|
|
3
|
+
name: string;
|
|
4
|
+
url: string;
|
|
5
|
+
version: string;
|
|
6
|
+
semver: StructuredVersion;
|
|
7
|
+
description: string;
|
|
8
|
+
|
|
9
|
+
prerelease: boolean;
|
|
10
|
+
isNewer: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type StructuredVersion = {
|
|
13
|
+
isSemver: true;
|
|
14
|
+
major: number;
|
|
15
|
+
minor: number;
|
|
16
|
+
patch: number;
|
|
17
|
+
tag?: string;
|
|
18
|
+
} | {
|
|
19
|
+
isSemver: false;
|
|
20
|
+
identifier: string;
|
|
21
|
+
tag: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export type RequestRTData = {
|
|
25
|
+
type: 'result'
|
|
26
|
+
text: string;
|
|
27
|
+
response: unknown;
|
|
28
|
+
} | {
|
|
29
|
+
type: 'no_result' // result is not available, but the process is complete
|
|
30
|
+
} | {
|
|
31
|
+
type: 'stream';
|
|
32
|
+
text: string;
|
|
33
|
+
} | {
|
|
34
|
+
type: 'error';
|
|
35
|
+
message: string;
|
|
36
|
+
detail: string[];
|
|
37
|
+
} | {
|
|
38
|
+
type: 'output_clear';
|
|
39
|
+
} | {
|
|
40
|
+
type: 'input_update';
|
|
41
|
+
} | {
|
|
42
|
+
type: 'history_update';
|
|
43
|
+
} | {
|
|
44
|
+
type: 'close';
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type HistoryMetadata = {
|
|
48
|
+
id: number;
|
|
49
|
+
requestType: 'chat' | 'normal';
|
|
50
|
+
createdAt: number;
|
|
51
|
+
bookmark: boolean;
|
|
52
|
+
|
|
53
|
+
rtId: string;
|
|
54
|
+
rtUUID: string;
|
|
55
|
+
modelId: string;
|
|
56
|
+
|
|
57
|
+
form: Record<string, unknown>;
|
|
58
|
+
|
|
59
|
+
isComplete: boolean;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type HistoryMessage = {
|
|
63
|
+
id: number;
|
|
64
|
+
input?: string;
|
|
65
|
+
output?: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export type HistorySearch = {
|
|
69
|
+
text: string;
|
|
70
|
+
searchScope: 'any' | 'input' | 'output';
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export type VertexAIAuth = {
|
|
74
|
+
project_id: string;
|
|
75
|
+
private_key: string;
|
|
76
|
+
client_email: string;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export type UploadableFileType = 'image/webp' | 'image/png' | 'image/jpeg' | 'application/pdf' | 'text/plain';
|
|
80
|
+
|
|
81
|
+
export type InputFileMetadata = {
|
|
82
|
+
filename: string;
|
|
83
|
+
size: number; // bytes
|
|
84
|
+
type: UploadableFileType;
|
|
85
|
+
hash_sha256: string;
|
|
86
|
+
}
|
|
87
|
+
export type InputFile = InputFileMetadata & {
|
|
88
|
+
data: string;
|
|
89
|
+
thumbnail: string | null;
|
|
90
|
+
}
|
|
91
|
+
export type InputFilePreview = InputFileMetadata & {
|
|
92
|
+
thumbnail: string | null;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export type InputFilesUpdateInfo = {
|
|
96
|
+
updated: InputFileMetadata[];
|
|
97
|
+
removed: InputFileMetadata[];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export type InputFileHash = {
|
|
101
|
+
hash_sha256: string;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** 커스텀 모델 정의 */
|
|
105
|
+
export interface CustomModel {
|
|
106
|
+
id: string;
|
|
107
|
+
name: string;
|
|
108
|
+
model: string;
|
|
109
|
+
url: string;
|
|
110
|
+
api_format: 'chat_completions' | 'generative_language' | 'anthropic_claude';
|
|
111
|
+
thinking: boolean;
|
|
112
|
+
secret_key?: string;
|
|
113
|
+
}
|
|
114
|
+
export type CustomModelCreate = Omit<CustomModel, 'id'> & { id?: string };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type KeyValueInput = [string, any][] | Record<string, any>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IPCInvokers } from './invokers';
|
|
2
|
+
import { ENoResult, EResult } from './result';
|
|
3
|
+
|
|
4
|
+
export type IPCInvokerInterface = {
|
|
5
|
+
general: IPCInvokers.General;
|
|
6
|
+
globalStorage: IPCInvokers.GlobalStorage;
|
|
7
|
+
masterKey: IPCInvokers.MasterKey;
|
|
8
|
+
|
|
9
|
+
profiles: IPCInvokers.Profiles;
|
|
10
|
+
profile: IPCInvokers.Profile;
|
|
11
|
+
profileStorage: IPCInvokers.ProfileStorage;
|
|
12
|
+
profileSessions: IPCInvokers.ProfileSessions;
|
|
13
|
+
profileSession: IPCInvokers.ProfileSession;
|
|
14
|
+
profileSessionStorage: IPCInvokers.ProfileSessionStorage;
|
|
15
|
+
profileSessionHistory: IPCInvokers.ProfileSessionHistory;
|
|
16
|
+
|
|
17
|
+
profileRTs: IPCInvokers.ProfileRTs;
|
|
18
|
+
profileRT: IPCInvokers.ProfileRT;
|
|
19
|
+
profileRTStorage: IPCInvokers.ProfileRTStorage;
|
|
20
|
+
profileRTPrompt: IPCInvokers.ProfileRTPrompt;
|
|
21
|
+
profileRTFlow: IPCInvokers.ProfileRTFlow;
|
|
22
|
+
|
|
23
|
+
request: IPCInvokers.Request;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type IPCListenerInterface = {
|
|
27
|
+
/** @deprecated */
|
|
28
|
+
addRequestListener(listener: (event: any, token: string, data: any) => void): EResult<number>;
|
|
29
|
+
/** @deprecated */
|
|
30
|
+
removeRequestListener(bindId: number): ENoResult;
|
|
31
|
+
|
|
32
|
+
events: {
|
|
33
|
+
onRequest(listener: (event: any, token: string, data: any) => void): EResult<number>;
|
|
34
|
+
onGlobal(listener: (event: any, token: string, data: any) => void): EResult<number>;
|
|
35
|
+
onDebug(listener: (event: any, token: string, data: any) => void): EResult<number>;
|
|
36
|
+
off(bindId: number): ENoResult;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export type IPCInterface = IPCInvokerInterface & IPCListenerInterface;
|
|
41
|
+
|
|
42
|
+
export type IPCInvokerPath = {
|
|
43
|
+
[KEY in keyof IPCInvokerInterface]: {
|
|
44
|
+
[KEY2 in keyof IPCInvokerInterface[KEY]]: 0
|
|
45
|
+
};
|
|
46
|
+
};
|