vault-forge 2.0.0
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/LICENSE +21 -0
- package/README.md +336 -0
- package/dist/actions/dummy.d.ts +2 -0
- package/dist/actions/dummy.d.ts.map +1 -0
- package/dist/actions/dummy.js +3 -0
- package/dist/actions/dummy.js.map +1 -0
- package/dist/actions/mainAction.d.ts +5 -0
- package/dist/actions/mainAction.d.ts.map +1 -0
- package/dist/actions/mainAction.js +68 -0
- package/dist/actions/mainAction.js.map +1 -0
- package/dist/commands/ai.d.ts +3 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +20 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/ask.d.ts +3 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +15 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/completion.d.ts +34 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +134 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/diary.d.ts +3 -0
- package/dist/commands/diary.d.ts.map +1 -0
- package/dist/commands/diary.js +15 -0
- package/dist/commands/diary.js.map +1 -0
- package/dist/commands/dummy.d.ts +2 -0
- package/dist/commands/dummy.d.ts.map +1 -0
- package/dist/commands/dummy.js +3 -0
- package/dist/commands/dummy.js.map +1 -0
- package/dist/commands/find.d.ts +2 -0
- package/dist/commands/find.d.ts.map +1 -0
- package/dist/commands/find.js +3 -0
- package/dist/commands/find.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +46 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +29 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/tag.d.ts +3 -0
- package/dist/commands/tag.d.ts.map +1 -0
- package/dist/commands/tag.js +37 -0
- package/dist/commands/tag.js.map +1 -0
- package/dist/config/locales/en.d.ts +188 -0
- package/dist/config/locales/en.d.ts.map +1 -0
- package/dist/config/locales/en.js +190 -0
- package/dist/config/locales/en.js.map +1 -0
- package/dist/config/locales/ja.d.ts +188 -0
- package/dist/config/locales/ja.d.ts.map +1 -0
- package/dist/config/locales/ja.js +190 -0
- package/dist/config/locales/ja.js.map +1 -0
- package/dist/config/prompts/en.d.ts +6 -0
- package/dist/config/prompts/en.d.ts.map +1 -0
- package/dist/config/prompts/en.js +25 -0
- package/dist/config/prompts/en.js.map +1 -0
- package/dist/config/prompts/ja.d.ts +6 -0
- package/dist/config/prompts/ja.d.ts.map +1 -0
- package/dist/config/prompts/ja.js +25 -0
- package/dist/config/prompts/ja.js.map +1 -0
- package/dist/config/text.d.ts +195 -0
- package/dist/config/text.d.ts.map +1 -0
- package/dist/config/text.js +15 -0
- package/dist/config/text.js.map +1 -0
- package/dist/core/PromptLoader.d.ts +30 -0
- package/dist/core/PromptLoader.d.ts.map +1 -0
- package/dist/core/PromptLoader.js +187 -0
- package/dist/core/PromptLoader.js.map +1 -0
- package/dist/core/PromptSmith.d.ts +21 -0
- package/dist/core/PromptSmith.d.ts.map +1 -0
- package/dist/core/PromptSmith.js +197 -0
- package/dist/core/PromptSmith.js.map +1 -0
- package/dist/core/VaultForge.d.ts +17 -0
- package/dist/core/VaultForge.d.ts.map +1 -0
- package/dist/core/VaultForge.js +75 -0
- package/dist/core/VaultForge.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/completion.d.ts +8 -0
- package/dist/lib/completion.d.ts.map +1 -0
- package/dist/lib/completion.js +55 -0
- package/dist/lib/completion.js.map +1 -0
- package/dist/lib/dummy.d.ts +2 -0
- package/dist/lib/dummy.d.ts.map +1 -0
- package/dist/lib/dummy.js +3 -0
- package/dist/lib/dummy.js.map +1 -0
- package/dist/lib/mainAction.d.ts +8 -0
- package/dist/lib/mainAction.d.ts.map +1 -0
- package/dist/lib/mainAction.js +126 -0
- package/dist/lib/mainAction.js.map +1 -0
- package/dist/lib/search.d.ts +4 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/search.js +87 -0
- package/dist/lib/search.js.map +1 -0
- package/dist/lib/stdin.d.ts +10 -0
- package/dist/lib/stdin.d.ts.map +1 -0
- package/dist/lib/stdin.js +20 -0
- package/dist/lib/stdin.js.map +1 -0
- package/dist/services/AIModelService.d.ts +33 -0
- package/dist/services/AIModelService.d.ts.map +1 -0
- package/dist/services/AIModelService.js +116 -0
- package/dist/services/AIModelService.js.map +1 -0
- package/dist/services/AIOrchestratorService.d.ts +57 -0
- package/dist/services/AIOrchestratorService.d.ts.map +1 -0
- package/dist/services/AIOrchestratorService.js +164 -0
- package/dist/services/AIOrchestratorService.js.map +1 -0
- package/dist/services/ConfigService.d.ts +61 -0
- package/dist/services/ConfigService.d.ts.map +1 -0
- package/dist/services/ConfigService.js +132 -0
- package/dist/services/ConfigService.js.map +1 -0
- package/dist/services/ObsidianService.d.ts +97 -0
- package/dist/services/ObsidianService.d.ts.map +1 -0
- package/dist/services/ObsidianService.js +264 -0
- package/dist/services/ObsidianService.js.map +1 -0
- package/dist/services/TagService.d.ts +26 -0
- package/dist/services/TagService.d.ts.map +1 -0
- package/dist/services/TagService.js +73 -0
- package/dist/services/TagService.js.map +1 -0
- package/dist/services/UserInteraction.d.ts +100 -0
- package/dist/services/UserInteraction.d.ts.map +1 -0
- package/dist/services/UserInteraction.js +169 -0
- package/dist/services/UserInteraction.js.map +1 -0
- package/dist/services/XService.d.ts +15 -0
- package/dist/services/XService.d.ts.map +1 -0
- package/dist/services/XService.js +40 -0
- package/dist/services/XService.js.map +1 -0
- package/dist/services/ai/AIServiceFactory.d.ts +26 -0
- package/dist/services/ai/AIServiceFactory.d.ts.map +1 -0
- package/dist/services/ai/AIServiceFactory.js +69 -0
- package/dist/services/ai/AIServiceFactory.js.map +1 -0
- package/dist/services/ai/ClaudeService.d.ts +9 -0
- package/dist/services/ai/ClaudeService.d.ts.map +1 -0
- package/dist/services/ai/ClaudeService.js +59 -0
- package/dist/services/ai/ClaudeService.js.map +1 -0
- package/dist/services/ai/GeminiService.d.ts +9 -0
- package/dist/services/ai/GeminiService.d.ts.map +1 -0
- package/dist/services/ai/GeminiService.js +46 -0
- package/dist/services/ai/GeminiService.js.map +1 -0
- package/dist/services/ai/GroqService.d.ts +9 -0
- package/dist/services/ai/GroqService.d.ts.map +1 -0
- package/dist/services/ai/GroqService.js +53 -0
- package/dist/services/ai/GroqService.js.map +1 -0
- package/dist/services/ai/MockAIService.d.ts +8 -0
- package/dist/services/ai/MockAIService.d.ts.map +1 -0
- package/dist/services/ai/MockAIService.js +24 -0
- package/dist/services/ai/MockAIService.js.map +1 -0
- package/dist/services/ai/OpenAIService.d.ts +9 -0
- package/dist/services/ai/OpenAIService.d.ts.map +1 -0
- package/dist/services/ai/OpenAIService.js +51 -0
- package/dist/services/ai/OpenAIService.js.map +1 -0
- package/dist/strategies/BaseStrategy.d.ts +36 -0
- package/dist/strategies/BaseStrategy.d.ts.map +1 -0
- package/dist/strategies/BaseStrategy.js +110 -0
- package/dist/strategies/BaseStrategy.js.map +1 -0
- package/dist/strategies/DebugStrategy.d.ts +13 -0
- package/dist/strategies/DebugStrategy.d.ts.map +1 -0
- package/dist/strategies/DebugStrategy.js +16 -0
- package/dist/strategies/DebugStrategy.js.map +1 -0
- package/dist/strategies/DiaryStrategy.d.ts +19 -0
- package/dist/strategies/DiaryStrategy.d.ts.map +1 -0
- package/dist/strategies/DiaryStrategy.js +69 -0
- package/dist/strategies/DiaryStrategy.js.map +1 -0
- package/dist/strategies/GeneralStrategy.d.ts +8 -0
- package/dist/strategies/GeneralStrategy.d.ts.map +1 -0
- package/dist/strategies/GeneralStrategy.js +11 -0
- package/dist/strategies/GeneralStrategy.js.map +1 -0
- package/dist/strategies/InitStrategy.d.ts +19 -0
- package/dist/strategies/InitStrategy.d.ts.map +1 -0
- package/dist/strategies/InitStrategy.js +122 -0
- package/dist/strategies/InitStrategy.js.map +1 -0
- package/dist/strategies/SearchStrategy.d.ts +19 -0
- package/dist/strategies/SearchStrategy.d.ts.map +1 -0
- package/dist/strategies/SearchStrategy.js +112 -0
- package/dist/strategies/SearchStrategy.js.map +1 -0
- package/dist/strategies/XPostStrategy.d.ts +27 -0
- package/dist/strategies/XPostStrategy.d.ts.map +1 -0
- package/dist/strategies/XPostStrategy.js +119 -0
- package/dist/strategies/XPostStrategy.js.map +1 -0
- package/dist/templates/completion.bash +24 -0
- package/dist/templates/dailyNote.d.ts +2 -0
- package/dist/templates/dailyNote.d.ts.map +1 -0
- package/dist/templates/dailyNote.js +8 -0
- package/dist/templates/dailyNote.js.map +1 -0
- package/dist/templates/defaultPrompt.d.ts +2 -0
- package/dist/templates/defaultPrompt.d.ts.map +1 -0
- package/dist/templates/defaultPrompt.js +28 -0
- package/dist/templates/defaultPrompt.js.map +1 -0
- package/dist/templates/obsidianNote.d.ts +3 -0
- package/dist/templates/obsidianNote.d.ts.map +1 -0
- package/dist/templates/obsidianNote.js +17 -0
- package/dist/templates/obsidianNote.js.map +1 -0
- package/dist/templates/tokenUsage.d.ts +20 -0
- package/dist/templates/tokenUsage.d.ts.map +1 -0
- package/dist/templates/tokenUsage.js +50 -0
- package/dist/templates/tokenUsage.js.map +1 -0
- package/dist/test-tabtab.d.ts +2 -0
- package/dist/test-tabtab.d.ts.map +1 -0
- package/dist/test-tabtab.js +50 -0
- package/dist/test-tabtab.js.map +1 -0
- package/dist/types/constants.d.ts +16 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/constants.js +14 -0
- package/dist/types/constants.js.map +1 -0
- package/dist/types/interfaces.d.ts +56 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/interfaces.js +6 -0
- package/dist/types/interfaces.js.map +1 -0
- package/dist/types/schemas.d.ts +18 -0
- package/dist/types/schemas.d.ts.map +1 -0
- package/dist/types/schemas.js +13 -0
- package/dist/types/schemas.js.map +1 -0
- package/dist/utils/completion.d.ts +8 -0
- package/dist/utils/completion.d.ts.map +1 -0
- package/dist/utils/completion.js +58 -0
- package/dist/utils/completion.js.map +1 -0
- package/dist/utils/dummy.d.ts +2 -0
- package/dist/utils/dummy.d.ts.map +1 -0
- package/dist/utils/dummy.js +3 -0
- package/dist/utils/dummy.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const PROMPTS = {
|
|
2
|
+
general: "あなたは優秀なテクニカルライター兼エンジニアです。\n" +
|
|
3
|
+
"提供されたテキストを深く分析し、以下の構造で出力してください。\n\n" +
|
|
4
|
+
"## 1. 概要\n" +
|
|
5
|
+
"内容を3行以内で簡潔に要約してください。\n\n" +
|
|
6
|
+
"## 2. 重要ポイント\n" +
|
|
7
|
+
"重要な情報を箇条書きで抽出してください。単なる事実の羅列ではなく、「なぜ重要か」も補足してください。\n\n" +
|
|
8
|
+
"## 3. 考察・アクション\n" +
|
|
9
|
+
"この情報から読み取れる洞察、または次に取るべきアクションがあれば提示してください。\n\n" +
|
|
10
|
+
"**フォーマット**: Markdown形式で見やすく整形してください。",
|
|
11
|
+
xpost: "この記事を元に、技術系ユーザーに刺さるX投稿案(140文字以内)を3つ、最適なハッシュタグと共に提案してください。\n" +
|
|
12
|
+
"**出力形式:**\n" +
|
|
13
|
+
"以下のJSON形式のみで出力してください。Markdownのコードブロック(```json)や説明文は含めないでください。\n" +
|
|
14
|
+
`[{"content": "投稿本文", "hashtags": ["#tag1", "#tag2"]}]`,
|
|
15
|
+
debug: "あなたは熟練したDevOpsエンジニアです。\n" +
|
|
16
|
+
"提供されたエラーログやコードを分析し、以下の手順で解決策を提示してください。\n\n" +
|
|
17
|
+
"## 1. 根本原因\n" +
|
|
18
|
+
"何がエラーを引き起こしているのか、技術的な背景を含めて解説してください。\n\n" +
|
|
19
|
+
"## 2. 解決策\n" +
|
|
20
|
+
"具体的なコマンド、コード修正案、または設定変更の手順を提示してください。\n\n" +
|
|
21
|
+
"## 3. 検証方法\n" +
|
|
22
|
+
"問題が解決したことを確認するためのコマンドや手順があれば教えてください。\n\n" +
|
|
23
|
+
"**ターゲット**: 初心者にも分かりやすく、かつ専門用語は正確に使ってください。",
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ja.js","sourceRoot":"","sources":["../../../src/config/prompts/ja.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,OAAO,EACH,6BAA6B;QAC7B,qCAAqC;QACrC,YAAY;QACZ,0BAA0B;QAC1B,gBAAgB;QAChB,wDAAwD;QACxD,kBAAkB;QAClB,+CAA+C;QAC/C,sCAAsC;IAE1C,KAAK,EACD,6DAA6D;QAC7D,aAAa;QACb,iEAAiE;QACjE,uDAAuD;IAE3D,KAAK,EACD,0BAA0B;QAC1B,4CAA4C;QAC5C,cAAc;QACd,0CAA0C;QAC1C,aAAa;QACb,0CAA0C;QAC1C,cAAc;QACd,0CAA0C;QAC1C,2CAA2C;CAClD,CAAC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
declare const EN: {
|
|
2
|
+
prompts: {
|
|
3
|
+
general: string;
|
|
4
|
+
xpost: string;
|
|
5
|
+
debug: string;
|
|
6
|
+
};
|
|
7
|
+
appDescription: string;
|
|
8
|
+
logs: {
|
|
9
|
+
obsidianSaved: string;
|
|
10
|
+
aiAnalyzing: string;
|
|
11
|
+
modeSuffix: string;
|
|
12
|
+
analysisResult: string;
|
|
13
|
+
obsidianAppended: string;
|
|
14
|
+
readingFromObsidian: string;
|
|
15
|
+
stdinReading: string;
|
|
16
|
+
appRun: string;
|
|
17
|
+
completed: string;
|
|
18
|
+
xPostStart: string;
|
|
19
|
+
xPostSelected: string;
|
|
20
|
+
xPostSuccess: string;
|
|
21
|
+
xPostCancel: string;
|
|
22
|
+
fileRecorded: string;
|
|
23
|
+
tokenUsage: string;
|
|
24
|
+
xPostRetry: string;
|
|
25
|
+
xPostSaveExit: string;
|
|
26
|
+
runningInBackground: string;
|
|
27
|
+
searchingWithRipgrep: string;
|
|
28
|
+
ripgrepNotFoundOpeningObsidian: string;
|
|
29
|
+
noResultsFound: string;
|
|
30
|
+
unknownProviderFallback: string;
|
|
31
|
+
};
|
|
32
|
+
errors: {
|
|
33
|
+
noInput: string;
|
|
34
|
+
aiApi: string;
|
|
35
|
+
envMissing: string;
|
|
36
|
+
invalidMode: string;
|
|
37
|
+
availableModes: string;
|
|
38
|
+
executionError: string;
|
|
39
|
+
analysisFailed: string;
|
|
40
|
+
jsonParseFailed: string;
|
|
41
|
+
noCandidates: string;
|
|
42
|
+
notTTY: string;
|
|
43
|
+
xAuthMissing: string;
|
|
44
|
+
xPostFailed: string;
|
|
45
|
+
fileReadError: string;
|
|
46
|
+
unexpectedBackSignal: string;
|
|
47
|
+
generalBackgroundNotSupported: string;
|
|
48
|
+
searchError: string;
|
|
49
|
+
editorExitError: string;
|
|
50
|
+
vaultPathNotSet: string;
|
|
51
|
+
noAiKeys: string;
|
|
52
|
+
modelNotSpecified: string;
|
|
53
|
+
pipedInputTooLarge: string;
|
|
54
|
+
pipedInputLimit: string;
|
|
55
|
+
providerInferenceFailed: string;
|
|
56
|
+
modelNotFound: string;
|
|
57
|
+
editorNotSet: string;
|
|
58
|
+
mainActionError: string;
|
|
59
|
+
interactiveRequired: string;
|
|
60
|
+
testEnvRestriction: string;
|
|
61
|
+
detachNotSupported: string;
|
|
62
|
+
optionConflict: string;
|
|
63
|
+
missingServices: string;
|
|
64
|
+
streamNotSupported: string;
|
|
65
|
+
};
|
|
66
|
+
markdown: {
|
|
67
|
+
originalDataHeader: string;
|
|
68
|
+
analysisHeader: string;
|
|
69
|
+
xPostHeader: string;
|
|
70
|
+
xPostSuccessHeader: string;
|
|
71
|
+
xPostFailHeader: string;
|
|
72
|
+
};
|
|
73
|
+
ui: {
|
|
74
|
+
selectPost: string;
|
|
75
|
+
confirmPost: string;
|
|
76
|
+
retryOption: string;
|
|
77
|
+
retryDesc: string;
|
|
78
|
+
saveExitOption: string;
|
|
79
|
+
saveExitDesc: string;
|
|
80
|
+
initWelcome: string;
|
|
81
|
+
initTitle: string;
|
|
82
|
+
initCurrentSettings: string;
|
|
83
|
+
initVaultPath: string;
|
|
84
|
+
initLanguage: string;
|
|
85
|
+
initAvailableAI: string;
|
|
86
|
+
initConfirm: string;
|
|
87
|
+
initCancelled: string;
|
|
88
|
+
initGeneratingFiles: string;
|
|
89
|
+
initPromptsGenerated: string;
|
|
90
|
+
initTokenDirCreated: string;
|
|
91
|
+
initTokenDirFailed: string;
|
|
92
|
+
initEnvCreated: string;
|
|
93
|
+
initEnvFailed: string;
|
|
94
|
+
initDone: string;
|
|
95
|
+
initResetPrompts: string;
|
|
96
|
+
initUpdateAI: string;
|
|
97
|
+
initAIUpdated: string;
|
|
98
|
+
runInit: string;
|
|
99
|
+
selectAIForMode: string;
|
|
100
|
+
aiSettingsUpdatedFor: string;
|
|
101
|
+
backOption: string;
|
|
102
|
+
operationCancelled: string;
|
|
103
|
+
selectOutputMode: string;
|
|
104
|
+
outputModeNormal: string;
|
|
105
|
+
outputModeStream: string;
|
|
106
|
+
outputModeBackground: string;
|
|
107
|
+
diaryInputMessage: string;
|
|
108
|
+
diaryInputPlaceholder: string;
|
|
109
|
+
diarySaved: string;
|
|
110
|
+
ripgrepInstalled: string;
|
|
111
|
+
ripgrepNotFound: string;
|
|
112
|
+
ripgrepInstallHint: string;
|
|
113
|
+
searchResultsFound: string;
|
|
114
|
+
selectModel: string;
|
|
115
|
+
enterCustomModel: string;
|
|
116
|
+
customModelOption: string;
|
|
117
|
+
customModelPlaceholder: string;
|
|
118
|
+
tagsJsonCreated: string;
|
|
119
|
+
aiModelsJsonCreated: string;
|
|
120
|
+
setupCompletionConfirm: string;
|
|
121
|
+
setupCompletionFailed: string;
|
|
122
|
+
setupCompletionManual: string;
|
|
123
|
+
confirmLargeInput: string;
|
|
124
|
+
completionAlreadySetUp: string;
|
|
125
|
+
initCompleted: string;
|
|
126
|
+
};
|
|
127
|
+
loader: {
|
|
128
|
+
loadError: string;
|
|
129
|
+
reason: string;
|
|
130
|
+
confirmContinue: string;
|
|
131
|
+
usingDefault: string;
|
|
132
|
+
aborting: string;
|
|
133
|
+
loadErrorDetail: string;
|
|
134
|
+
createdDefaultFile: string;
|
|
135
|
+
createDefaultError: string;
|
|
136
|
+
defaultPromptDescription: string;
|
|
137
|
+
noDefaultPrompt: string;
|
|
138
|
+
};
|
|
139
|
+
labels: {
|
|
140
|
+
additionalInstruction: string;
|
|
141
|
+
targetData: string;
|
|
142
|
+
};
|
|
143
|
+
validation: {
|
|
144
|
+
promptTooShort: string;
|
|
145
|
+
};
|
|
146
|
+
commands: {
|
|
147
|
+
completion: {
|
|
148
|
+
description: string;
|
|
149
|
+
};
|
|
150
|
+
init: {
|
|
151
|
+
description: string;
|
|
152
|
+
};
|
|
153
|
+
diary: {
|
|
154
|
+
description: string;
|
|
155
|
+
args: {
|
|
156
|
+
input: string;
|
|
157
|
+
};
|
|
158
|
+
options: {
|
|
159
|
+
task: string;
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
search: {
|
|
163
|
+
description: string;
|
|
164
|
+
args: {
|
|
165
|
+
query: string;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
run: {
|
|
169
|
+
description: string;
|
|
170
|
+
args: {
|
|
171
|
+
input: string;
|
|
172
|
+
};
|
|
173
|
+
options: {
|
|
174
|
+
mode: string;
|
|
175
|
+
file: string;
|
|
176
|
+
instruction: string;
|
|
177
|
+
detach: string;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
ai: {
|
|
181
|
+
options: {
|
|
182
|
+
preset: string;
|
|
183
|
+
instruction: string;
|
|
184
|
+
detach: string;
|
|
185
|
+
model: string;
|
|
186
|
+
file: string;
|
|
187
|
+
stream: string;
|
|
188
|
+
normal: string;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
export declare const TEXT: typeof EN;
|
|
194
|
+
export {};
|
|
195
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/config/text.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGP,CAAC;AAEF,eAAO,MAAM,IAAI,EAAgC,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MESSAGES as JA_MESSAGES } from './locales/ja.js';
|
|
2
|
+
import { MESSAGES as EN_MESSAGES } from './locales/en.js';
|
|
3
|
+
import { PROMPTS as JA_PROMPTS } from './prompts/ja.js';
|
|
4
|
+
import { PROMPTS as EN_PROMPTS } from './prompts/en.js';
|
|
5
|
+
const lang = process.env.APP_LANG || 'ja';
|
|
6
|
+
const JA = {
|
|
7
|
+
...JA_MESSAGES,
|
|
8
|
+
prompts: JA_PROMPTS
|
|
9
|
+
};
|
|
10
|
+
const EN = {
|
|
11
|
+
...EN_MESSAGES,
|
|
12
|
+
prompts: EN_PROMPTS
|
|
13
|
+
};
|
|
14
|
+
export const TEXT = (lang === 'en' ? EN : JA);
|
|
15
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/config/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;AAE1C,MAAM,EAAE,GAAG;IACP,GAAG,WAAW;IACd,OAAO,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,EAAE,GAAG;IACP,GAAG,WAAW;IACd,OAAO,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ObsidianService } from '../services/ObsidianService.js';
|
|
2
|
+
import type { PromptData } from '../types/interfaces.js';
|
|
3
|
+
export declare const BACK_SIGNAL: unique symbol;
|
|
4
|
+
export declare class PromptLoader {
|
|
5
|
+
private obsidian;
|
|
6
|
+
private lang;
|
|
7
|
+
private aiModelService;
|
|
8
|
+
constructor(obsidian: ObsidianService, lang: string);
|
|
9
|
+
/**
|
|
10
|
+
* プロンプトファイルを読み込む
|
|
11
|
+
* Loads a prompt file.
|
|
12
|
+
*/
|
|
13
|
+
load(promptName: string): Promise<PromptData>;
|
|
14
|
+
/**
|
|
15
|
+
* プロンプトファイルを新規作成(または上書き)する
|
|
16
|
+
* Creates (or overwrites) a prompt file.
|
|
17
|
+
*/
|
|
18
|
+
create(promptName: string, interactive: boolean): Promise<string | typeof BACK_SIGNAL>;
|
|
19
|
+
/**
|
|
20
|
+
* 既存のプロンプトファイルのAI設定のみを更新する
|
|
21
|
+
* Updates only the AI settings of an existing prompt file.
|
|
22
|
+
*/
|
|
23
|
+
updateAI(promptName: string): Promise<void | typeof BACK_SIGNAL>;
|
|
24
|
+
/**
|
|
25
|
+
* コンテンツに対話的にAI設定を注入するヘルパーメソッド
|
|
26
|
+
* Helper method to interactively inject AI settings into content.
|
|
27
|
+
*/
|
|
28
|
+
private injectAIConfig;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=PromptLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptLoader.d.ts","sourceRoot":"","sources":["../../src/core/PromptLoader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,eAAO,MAAM,WAAW,eAAiB,CAAC;AAE1C,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM;IAMnD;;;OAGG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA4CnD;;;OAGG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,WAAW,CAAC;IAuB5F;;;OAGG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,WAAW,CAAC;IAuBtE;;;OAGG;YACW,cAAc;CA8F/B"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import matter from 'gray-matter';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { PromptFileSchema } from '../types/schemas.js';
|
|
5
|
+
import { DEFAULT_PROMPTS } from '../templates/defaultPrompt.js';
|
|
6
|
+
import { TEXT } from '../config/text.js';
|
|
7
|
+
import { ObsidianService } from '../services/ObsidianService.js';
|
|
8
|
+
import { select, text as clackText, isCancel, cancel } from '@clack/prompts';
|
|
9
|
+
import { AIProvider, AppMode } from '../types/constants.js';
|
|
10
|
+
import { AIModelService } from '../services/AIModelService.js';
|
|
11
|
+
export const BACK_SIGNAL = Symbol('BACK');
|
|
12
|
+
export class PromptLoader {
|
|
13
|
+
obsidian;
|
|
14
|
+
lang;
|
|
15
|
+
aiModelService;
|
|
16
|
+
constructor(obsidian, lang) {
|
|
17
|
+
this.obsidian = obsidian;
|
|
18
|
+
this.lang = lang;
|
|
19
|
+
this.aiModelService = new AIModelService(obsidian.getVaultPath());
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* プロンプトファイルを読み込む
|
|
23
|
+
* Loads a prompt file.
|
|
24
|
+
*/
|
|
25
|
+
async load(promptName) {
|
|
26
|
+
const relativePath = path.join('_AI_Prompts', 'prompts', this.lang, `${promptName}.md`);
|
|
27
|
+
try {
|
|
28
|
+
const fileContent = await this.obsidian.readNote(relativePath);
|
|
29
|
+
const { content, data } = matter(fileContent);
|
|
30
|
+
const validated = PromptFileSchema.parse({
|
|
31
|
+
frontmatter: data,
|
|
32
|
+
content: content.trim()
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
content: validated.content,
|
|
36
|
+
aiProvider: validated.frontmatter?.aiProvider,
|
|
37
|
+
model: validated.frontmatter?.model,
|
|
38
|
+
outputMode: validated.frontmatter?.outputMode
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
if (error.code === 'ENOENT') {
|
|
43
|
+
const result = await this.create(promptName, false);
|
|
44
|
+
if (result === BACK_SIGNAL)
|
|
45
|
+
throw new Error(TEXT.errors.unexpectedBackSignal);
|
|
46
|
+
const { content, data } = matter(result);
|
|
47
|
+
return { content: content.trim(), ...data };
|
|
48
|
+
}
|
|
49
|
+
if (error instanceof z.ZodError) {
|
|
50
|
+
const contentError = error.issues.find(issue => issue.path.includes('content') && issue.code === 'too_small');
|
|
51
|
+
if (contentError) {
|
|
52
|
+
const errorMessage = TEXT.loader.loadErrorDetail.replace('{filePath}', relativePath);
|
|
53
|
+
throw new Error(`${errorMessage}\n${TEXT.loader.reason}: ${TEXT.validation.promptTooShort}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const errorMessage = TEXT.loader.loadErrorDetail.replace('{filePath}', relativePath);
|
|
57
|
+
throw new Error(`${errorMessage}\n${TEXT.loader.reason}: ${error.message}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* プロンプトファイルを新規作成(または上書き)する
|
|
62
|
+
* Creates (or overwrites) a prompt file.
|
|
63
|
+
*/
|
|
64
|
+
async create(promptName, interactive) {
|
|
65
|
+
const relativePath = path.join('_AI_Prompts', 'prompts', this.lang, `${promptName}.md`);
|
|
66
|
+
let defaultContent = DEFAULT_PROMPTS[promptName];
|
|
67
|
+
if (!defaultContent) {
|
|
68
|
+
const errorMessage = TEXT.loader.noDefaultPrompt.replace('{promptName}', promptName);
|
|
69
|
+
throw new Error(errorMessage);
|
|
70
|
+
}
|
|
71
|
+
if (interactive) {
|
|
72
|
+
const result = await this.injectAIConfig(defaultContent, promptName);
|
|
73
|
+
if (result === BACK_SIGNAL)
|
|
74
|
+
return BACK_SIGNAL;
|
|
75
|
+
defaultContent = result;
|
|
76
|
+
}
|
|
77
|
+
await this.obsidian.createNote(relativePath, defaultContent);
|
|
78
|
+
const logMessage = TEXT.loader.createdDefaultFile.replace('{filePath}', relativePath);
|
|
79
|
+
console.log(logMessage);
|
|
80
|
+
return defaultContent;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 既存のプロンプトファイルのAI設定のみを更新する
|
|
84
|
+
* Updates only the AI settings of an existing prompt file.
|
|
85
|
+
*/
|
|
86
|
+
async updateAI(promptName) {
|
|
87
|
+
const relativePath = path.join('_AI_Prompts', 'prompts', this.lang, `${promptName}.md`);
|
|
88
|
+
try {
|
|
89
|
+
const fileContent = await this.obsidian.readNote(relativePath);
|
|
90
|
+
const newContent = await this.injectAIConfig(fileContent, promptName);
|
|
91
|
+
if (newContent === BACK_SIGNAL)
|
|
92
|
+
return BACK_SIGNAL;
|
|
93
|
+
await this.obsidian.createNote(relativePath, newContent);
|
|
94
|
+
console.log(TEXT.ui.aiSettingsUpdatedFor.replace('{mode}', promptName));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error.code === 'ENOENT') {
|
|
98
|
+
const result = await this.create(promptName, true);
|
|
99
|
+
if (result === BACK_SIGNAL)
|
|
100
|
+
return BACK_SIGNAL;
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* コンテンツに対話的にAI設定を注入するヘルパーメソッド
|
|
110
|
+
* Helper method to interactively inject AI settings into content.
|
|
111
|
+
*/
|
|
112
|
+
async injectAIConfig(fileContent, promptName) {
|
|
113
|
+
const availableProviders = Object.values(AIProvider).filter(provider => {
|
|
114
|
+
const key = `${provider.toUpperCase()}_API_KEY`;
|
|
115
|
+
return process.env[key] || process.env[`${provider.toUpperCase()}_API_SECRET`];
|
|
116
|
+
});
|
|
117
|
+
if (availableProviders.length > 0) {
|
|
118
|
+
const options = availableProviders.map(p => ({ value: p, label: p }));
|
|
119
|
+
options.push({ value: 'BACK', label: TEXT.ui.backOption });
|
|
120
|
+
const selectedProvider = await select({
|
|
121
|
+
message: TEXT.ui.selectAIForMode.replace('{mode}', promptName),
|
|
122
|
+
options: options,
|
|
123
|
+
});
|
|
124
|
+
if (isCancel(selectedProvider)) {
|
|
125
|
+
cancel(TEXT.ui.operationCancelled);
|
|
126
|
+
process.exit(0);
|
|
127
|
+
}
|
|
128
|
+
if (selectedProvider === 'BACK') {
|
|
129
|
+
return BACK_SIGNAL;
|
|
130
|
+
}
|
|
131
|
+
const provider = selectedProvider;
|
|
132
|
+
const models = await this.aiModelService.getModels(provider);
|
|
133
|
+
const modelOptions = models.map(m => ({ value: m, label: m }));
|
|
134
|
+
modelOptions.push({ value: 'CUSTOM', label: TEXT.ui.customModelOption });
|
|
135
|
+
const selectedModel = await select({
|
|
136
|
+
message: TEXT.ui.selectModel,
|
|
137
|
+
options: modelOptions,
|
|
138
|
+
});
|
|
139
|
+
if (isCancel(selectedModel)) {
|
|
140
|
+
cancel(TEXT.ui.operationCancelled);
|
|
141
|
+
process.exit(0);
|
|
142
|
+
}
|
|
143
|
+
let model = selectedModel;
|
|
144
|
+
if (selectedModel === 'CUSTOM') {
|
|
145
|
+
const customModel = await clackText({
|
|
146
|
+
message: TEXT.ui.enterCustomModel,
|
|
147
|
+
placeholder: 'e.g. gpt-4-32k',
|
|
148
|
+
});
|
|
149
|
+
if (isCancel(customModel)) {
|
|
150
|
+
cancel(TEXT.ui.operationCancelled);
|
|
151
|
+
process.exit(0);
|
|
152
|
+
}
|
|
153
|
+
model = customModel;
|
|
154
|
+
await this.aiModelService.addModel(provider, model);
|
|
155
|
+
}
|
|
156
|
+
const outputModeOptions = [
|
|
157
|
+
{ value: 'normal', label: TEXT.ui.outputModeNormal },
|
|
158
|
+
{ value: 'stream', label: TEXT.ui.outputModeStream },
|
|
159
|
+
];
|
|
160
|
+
if (promptName !== AppMode.GENERAL) {
|
|
161
|
+
outputModeOptions.push({ value: 'background', label: TEXT.ui.outputModeBackground });
|
|
162
|
+
}
|
|
163
|
+
const selectedOutputMode = await select({
|
|
164
|
+
message: TEXT.ui.selectOutputMode.replace('{mode}', promptName),
|
|
165
|
+
options: outputModeOptions,
|
|
166
|
+
initialValue: 'normal',
|
|
167
|
+
});
|
|
168
|
+
if (isCancel(selectedOutputMode)) {
|
|
169
|
+
cancel(TEXT.ui.operationCancelled);
|
|
170
|
+
process.exit(0);
|
|
171
|
+
}
|
|
172
|
+
const { data: frontmatter, content } = matter(fileContent);
|
|
173
|
+
const existingTags = frontmatter.tags || [];
|
|
174
|
+
const newTags = Array.from(new Set([...existingTags, selectedProvider, model]));
|
|
175
|
+
const newFrontmatter = {
|
|
176
|
+
...frontmatter,
|
|
177
|
+
aiProvider: selectedProvider,
|
|
178
|
+
model: model,
|
|
179
|
+
outputMode: selectedOutputMode,
|
|
180
|
+
tags: newTags
|
|
181
|
+
};
|
|
182
|
+
return matter.stringify(content, newFrontmatter);
|
|
183
|
+
}
|
|
184
|
+
return fileContent;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=PromptLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptLoader.js","sourceRoot":"","sources":["../../src/core/PromptLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ObsidianService } from '../services/ObsidianService.js';
|
|
2
|
+
import { ConfigService } from '../services/ConfigService.js';
|
|
3
|
+
import type { PromptData } from '../types/interfaces.js';
|
|
4
|
+
export declare const BACK_SIGNAL: unique symbol;
|
|
5
|
+
export declare class PromptSmith {
|
|
6
|
+
private obsidian;
|
|
7
|
+
private lang;
|
|
8
|
+
private aiOrchestrator;
|
|
9
|
+
private configService;
|
|
10
|
+
constructor(obsidian: ObsidianService, lang: string, configService: ConfigService);
|
|
11
|
+
load(promptName: string): Promise<PromptData>;
|
|
12
|
+
create(promptName: string, interactive: boolean): Promise<string | typeof BACK_SIGNAL>;
|
|
13
|
+
updateAI(promptName: string): Promise<void | typeof BACK_SIGNAL>;
|
|
14
|
+
initializeModels(): Promise<boolean>;
|
|
15
|
+
getModels(provider: string): Promise<string[]>;
|
|
16
|
+
addModel(provider: string, model: string): Promise<void>;
|
|
17
|
+
removeModel(provider: string, model: string): Promise<void>;
|
|
18
|
+
resolveProvider(modelName: string): Promise<string | null>;
|
|
19
|
+
private injectAIConfig;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=PromptSmith.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptSmith.d.ts","sourceRoot":"","sources":["../../src/core/PromptSmith.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,eAAO,MAAM,WAAW,eAAiB,CAAC;AAE1C,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,aAAa,CAAgB;gBAEzB,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IAW3E,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA4C7C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,WAAW,CAAC;IAuBtF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,WAAW,CAAC;IA2BhE,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIpC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAQlD,cAAc;CA4F/B"}
|