proofscan 0.10.21 → 0.10.23
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/dist/cli-shell.d.ts +7 -0
- package/dist/cli-shell.d.ts.map +1 -0
- package/dist/cli-shell.js +34 -0
- package/dist/cli-shell.js.map +1 -0
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +12 -11
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +112 -57
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/i18n.d.ts +10 -0
- package/dist/commands/i18n.d.ts.map +1 -0
- package/dist/commands/i18n.js +49 -0
- package/dist/commands/i18n.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/plans.d.ts +7 -0
- package/dist/commands/plans.d.ts.map +1 -0
- package/dist/commands/plans.js +486 -0
- package/dist/commands/plans.js.map +1 -0
- package/dist/commands/record.d.ts.map +1 -1
- package/dist/commands/record.js +21 -18
- package/dist/commands/record.js.map +1 -1
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +7 -2
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/summary.d.ts.map +1 -1
- package/dist/commands/summary.js +19 -29
- package/dist/commands/summary.js.map +1 -1
- package/dist/db/connection.d.ts +22 -0
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +141 -8
- package/dist/db/connection.js.map +1 -1
- package/dist/db/schema.d.ts +10 -5
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +85 -6
- package/dist/db/schema.js.map +1 -1
- package/dist/db/tool-analysis.d.ts +5 -2
- package/dist/db/tool-analysis.d.ts.map +1 -1
- package/dist/db/tool-analysis.js +8 -8
- package/dist/db/tool-analysis.js.map +1 -1
- package/dist/db/types.d.ts +1 -1
- package/dist/db/types.d.ts.map +1 -1
- package/dist/help/categories.d.ts.map +1 -1
- package/dist/help/categories.js +15 -0
- package/dist/help/categories.js.map +1 -1
- package/dist/i18n/index.d.ts +52 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +165 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +269 -0
- package/dist/i18n/locales/en.d.ts.map +1 -0
- package/dist/i18n/locales/en.js +277 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/ja.d.ts +8 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -0
- package/dist/i18n/locales/ja.js +275 -0
- package/dist/i18n/locales/ja.js.map +1 -0
- package/dist/plans/artifacts.d.ts +53 -0
- package/dist/plans/artifacts.d.ts.map +1 -0
- package/dist/plans/artifacts.js +186 -0
- package/dist/plans/artifacts.js.map +1 -0
- package/dist/plans/builtin.d.ts +40 -0
- package/dist/plans/builtin.d.ts.map +1 -0
- package/dist/plans/builtin.js +75 -0
- package/dist/plans/builtin.js.map +1 -0
- package/dist/plans/digest.d.ts +24 -0
- package/dist/plans/digest.d.ts.map +1 -0
- package/dist/plans/digest.js +49 -0
- package/dist/plans/digest.js.map +1 -0
- package/dist/plans/index.d.ts +11 -0
- package/dist/plans/index.d.ts.map +1 -0
- package/dist/plans/index.js +11 -0
- package/dist/plans/index.js.map +1 -0
- package/dist/plans/runner.d.ts +47 -0
- package/dist/plans/runner.d.ts.map +1 -0
- package/dist/plans/runner.js +360 -0
- package/dist/plans/runner.js.map +1 -0
- package/dist/plans/schema.d.ts +192 -0
- package/dist/plans/schema.d.ts.map +1 -0
- package/dist/plans/schema.js +81 -0
- package/dist/plans/schema.js.map +1 -0
- package/dist/plans/store.d.ts +111 -0
- package/dist/plans/store.d.ts.map +1 -0
- package/dist/plans/store.js +350 -0
- package/dist/plans/store.js.map +1 -0
- package/dist/popl/index.d.ts +1 -1
- package/dist/popl/index.d.ts.map +1 -1
- package/dist/popl/index.js +1 -1
- package/dist/popl/index.js.map +1 -1
- package/dist/popl/service.d.ts +12 -0
- package/dist/popl/service.d.ts.map +1 -1
- package/dist/popl/service.js +213 -0
- package/dist/popl/service.js.map +1 -1
- package/dist/popl/types.d.ts +5 -1
- package/dist/popl/types.d.ts.map +1 -1
- package/dist/shell/context-applicator.d.ts.map +1 -1
- package/dist/shell/context-applicator.js +7 -0
- package/dist/shell/context-applicator.js.map +1 -1
- package/dist/shell/ref-resolver.d.ts +34 -3
- package/dist/shell/ref-resolver.d.ts.map +1 -1
- package/dist/shell/ref-resolver.js +128 -1
- package/dist/shell/ref-resolver.js.map +1 -1
- package/dist/shell/router-commands.d.ts.map +1 -1
- package/dist/shell/router-commands.js +108 -25
- package/dist/shell/router-commands.js.map +1 -1
- package/dist/shell/types.d.ts.map +1 -1
- package/dist/shell/types.js +12 -0
- package/dist/shell/types.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Japanese locale
|
|
3
|
+
*
|
|
4
|
+
* Structure must mirror en.ts. Missing keys will fall back to English.
|
|
5
|
+
*/
|
|
6
|
+
export const ja = {
|
|
7
|
+
// Common labels
|
|
8
|
+
common: {
|
|
9
|
+
yes: 'はい',
|
|
10
|
+
no: 'いいえ',
|
|
11
|
+
none: '(なし)',
|
|
12
|
+
error: 'エラー',
|
|
13
|
+
warning: '警告',
|
|
14
|
+
hint: 'ヒント',
|
|
15
|
+
times: '{count} 回',
|
|
16
|
+
items: '{count} 件',
|
|
17
|
+
total: '合計',
|
|
18
|
+
ok: 'OK',
|
|
19
|
+
err: 'ERR',
|
|
20
|
+
pending: '待機中',
|
|
21
|
+
},
|
|
22
|
+
// Operation categories
|
|
23
|
+
category: {
|
|
24
|
+
read: '読み取り',
|
|
25
|
+
write: '書き込み',
|
|
26
|
+
network: 'ネット接続',
|
|
27
|
+
exec: 'コマンド実行',
|
|
28
|
+
other: 'その他',
|
|
29
|
+
},
|
|
30
|
+
// analyze command output
|
|
31
|
+
analyze: {
|
|
32
|
+
title: 'proofscan 分析',
|
|
33
|
+
titleConnector: 'proofscan 分析: {connector}',
|
|
34
|
+
titleSession: 'proofscan セッション分析',
|
|
35
|
+
period: '期間: {from} ~ {to}',
|
|
36
|
+
periodWithSessions: '期間: {from} ~ {to} ({count} セッション)',
|
|
37
|
+
overview: '概要',
|
|
38
|
+
connectors: 'コネクタ',
|
|
39
|
+
sessions: 'セッション',
|
|
40
|
+
rpcCalls: 'RPC呼び出し',
|
|
41
|
+
byConnector: 'コネクタ別',
|
|
42
|
+
methods: 'メソッド',
|
|
43
|
+
toolsCalled: 'ツール呼び出し(全セッション)',
|
|
44
|
+
availableTools: '利用可能なツール(最新のtools/listより)',
|
|
45
|
+
toolUsage: 'ツール使用状況({count} セッション)',
|
|
46
|
+
byCategory: 'カテゴリ別',
|
|
47
|
+
calls: '{count} 回',
|
|
48
|
+
call: '{count} 回',
|
|
49
|
+
section: {
|
|
50
|
+
header: '【{label}】',
|
|
51
|
+
},
|
|
52
|
+
permission: {
|
|
53
|
+
label: '許可',
|
|
54
|
+
allowed: 'あり',
|
|
55
|
+
denied: 'なし',
|
|
56
|
+
},
|
|
57
|
+
usage: {
|
|
58
|
+
label: '使用',
|
|
59
|
+
count: '{count} 回',
|
|
60
|
+
},
|
|
61
|
+
total: '{allowed} ツール許可, {count} 回使用',
|
|
62
|
+
notAllowed: '(未許可)',
|
|
63
|
+
noData: 'データがありません。',
|
|
64
|
+
noSessions: 'セッションがありません。',
|
|
65
|
+
noTools: 'ツールがありません。',
|
|
66
|
+
},
|
|
67
|
+
// summary command output
|
|
68
|
+
summary: {
|
|
69
|
+
title: 'セッションサマリ',
|
|
70
|
+
section: {
|
|
71
|
+
capability: 'できること(capability)',
|
|
72
|
+
toolCall: 'やったこと(tool call)',
|
|
73
|
+
notes: '注意点',
|
|
74
|
+
},
|
|
75
|
+
capability: {
|
|
76
|
+
count: '{count} 種類',
|
|
77
|
+
},
|
|
78
|
+
toolCall: {
|
|
79
|
+
count: '{count} 回',
|
|
80
|
+
},
|
|
81
|
+
notes: {
|
|
82
|
+
execCalled: 'コマンド実行が行われました',
|
|
83
|
+
execCapable: 'コマンド実行可能なツールがあります',
|
|
84
|
+
writeCalled: '書き込み操作が行われました',
|
|
85
|
+
networkCalled: '外部ネットワーク接続が行われました',
|
|
86
|
+
noSensitive: '重要な操作(書き込み・ネット接続・コマンド実行)は実行されていません',
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
// record command output
|
|
90
|
+
record: {
|
|
91
|
+
type: {
|
|
92
|
+
toolCall: 'やったこと(tool call)',
|
|
93
|
+
capabilityCatalog: '能力一覧(capability catalog)',
|
|
94
|
+
},
|
|
95
|
+
noCandidates: '候補なし',
|
|
96
|
+
candidateCount: '候補数: {count}',
|
|
97
|
+
tools: '{count} ツール',
|
|
98
|
+
},
|
|
99
|
+
// status command output
|
|
100
|
+
status: {
|
|
101
|
+
title: 'proofscan ステータス',
|
|
102
|
+
configuration: '設定',
|
|
103
|
+
database: 'データベース',
|
|
104
|
+
dataSummary: 'データサマリ',
|
|
105
|
+
connectors: 'コネクタ',
|
|
106
|
+
quickCommands: 'クイックコマンド',
|
|
107
|
+
noDataYet: 'データがありません。初期化してスキャンを実行してください:',
|
|
108
|
+
},
|
|
109
|
+
// doctor command output
|
|
110
|
+
doctor: {
|
|
111
|
+
title: 'proofscan ドクター',
|
|
112
|
+
paths: 'パス',
|
|
113
|
+
config: '設定',
|
|
114
|
+
dataDir: 'データディレクトリ',
|
|
115
|
+
eventsDb: 'events.db',
|
|
116
|
+
proofsDb: 'proofs.db',
|
|
117
|
+
eventsDatabase: 'イベントデータベース',
|
|
118
|
+
exists: '存在',
|
|
119
|
+
readable: '読み取り可能',
|
|
120
|
+
version: 'バージョン',
|
|
121
|
+
tables: 'テーブル',
|
|
122
|
+
missingTables: '欠落テーブル',
|
|
123
|
+
missingColumns: '欠落カラム',
|
|
124
|
+
allPresent: '必要なテーブルとカラムはすべて存在しています',
|
|
125
|
+
noFixesNeeded: '修正は不要です。',
|
|
126
|
+
runWithFix: '修復を試みるには --fix を付けて実行してください:',
|
|
127
|
+
dbNotExist: 'データベースがまだ存在しません。スキャンを実行して作成してください:',
|
|
128
|
+
tryBackup: 'バックアップを取って再作成してください:',
|
|
129
|
+
},
|
|
130
|
+
// view command output
|
|
131
|
+
view: {
|
|
132
|
+
noEvents: 'イベントがありません。',
|
|
133
|
+
noEventsHint: 'ヒント: まずスキャンを実行してください: pfscan scan start --id <connector>',
|
|
134
|
+
noPairs: 'RPCペアがありません。',
|
|
135
|
+
pairsHint: '(詳細: pfscan rpc show --session <ses> --id <rpc>)',
|
|
136
|
+
pairsSummary: '{total} ペア: {ok} OK, {err} ERR, {pending} 待機中',
|
|
137
|
+
noExportEvents: 'エクスポートするイベントがありません。',
|
|
138
|
+
exportSuccess: '{count} イベントを {file} にエクスポートしました ({format})',
|
|
139
|
+
followHeader: 'イベント{info} (監視中, Ctrl+C で停止):',
|
|
140
|
+
followStopped: '監視を停止しました。',
|
|
141
|
+
},
|
|
142
|
+
// scan command output
|
|
143
|
+
scan: {
|
|
144
|
+
scanning: 'コネクタをスキャン中: {id}...',
|
|
145
|
+
scanningDryRun: '[ドライラン] コネクタをスキャン中: {id}...',
|
|
146
|
+
scanComplete: 'スキャン完了',
|
|
147
|
+
scanFailed: 'スキャン失敗: {error}',
|
|
148
|
+
nextSteps: '次のステップ:',
|
|
149
|
+
},
|
|
150
|
+
// connectors command output
|
|
151
|
+
connectors: {
|
|
152
|
+
noConnectors: 'コネクタが設定されていません。',
|
|
153
|
+
headerId: 'ID',
|
|
154
|
+
headerEnabled: '有効',
|
|
155
|
+
headerType: 'タイプ',
|
|
156
|
+
headerCommand: 'コマンド/URL',
|
|
157
|
+
added: 'コネクタ \'{id}\' を追加しました。',
|
|
158
|
+
enabled: 'コネクタ \'{id}\' を有効にしました。',
|
|
159
|
+
disabled: 'コネクタ \'{id}\' を無効にしました。',
|
|
160
|
+
deleted: 'コネクタ \'{id}\' を削除しました。',
|
|
161
|
+
imported: '{count} 件のコネクタをインポートしました。',
|
|
162
|
+
},
|
|
163
|
+
// sessions command output
|
|
164
|
+
sessions: {
|
|
165
|
+
noSessions: 'セッションがありません。',
|
|
166
|
+
},
|
|
167
|
+
// tree command output
|
|
168
|
+
tree: {
|
|
169
|
+
noData: 'データがありません。',
|
|
170
|
+
noDataHint: 'ヒント: まずスキャンを実行してください: pfscan scan start --id <connector>',
|
|
171
|
+
summary: '{connectors} コネクタ, {sessions} セッション, {rpcs} RPC',
|
|
172
|
+
},
|
|
173
|
+
// rpc command output
|
|
174
|
+
rpc: {
|
|
175
|
+
noRpcs: 'RPC呼び出しがありません。',
|
|
176
|
+
},
|
|
177
|
+
// archive command output
|
|
178
|
+
archive: {
|
|
179
|
+
title: 'アーカイブ状況 & 計画',
|
|
180
|
+
database: 'データベース',
|
|
181
|
+
currentData: '現在のデータ',
|
|
182
|
+
retentionSettings: '保持設定',
|
|
183
|
+
cleanupPlan: 'クリーンアップ計画',
|
|
184
|
+
sessionsToDelete: '削除予定セッション',
|
|
185
|
+
rawToClear: 'クリア予定 raw_json',
|
|
186
|
+
estimatedSavings: '推定削減量',
|
|
187
|
+
runCommand: '実行するには "pfscan archive run --yes" を使用してください。',
|
|
188
|
+
},
|
|
189
|
+
// secrets command output
|
|
190
|
+
secrets: {
|
|
191
|
+
noSecrets: 'シークレットが保存されていません。',
|
|
192
|
+
},
|
|
193
|
+
// catalog command output
|
|
194
|
+
catalog: {
|
|
195
|
+
noResults: 'サーバーが見つかりません。',
|
|
196
|
+
searchResults: '{count} 件のサーバーが見つかりました',
|
|
197
|
+
},
|
|
198
|
+
// runners command output
|
|
199
|
+
runners: {
|
|
200
|
+
title: 'パッケージランナー',
|
|
201
|
+
available: '利用可能',
|
|
202
|
+
notAvailable: '利用不可',
|
|
203
|
+
noRunners: 'ランナーがありません。npm (npx用) または uv (uvx用) をインストールしてください。',
|
|
204
|
+
runnersAvailable: '{count} 件のランナーが利用可能です。',
|
|
205
|
+
diagnostics: 'ランナー診断',
|
|
206
|
+
runnersReady: '{available}/{total} ランナーが準備完了',
|
|
207
|
+
toInstall: 'インストールするには:',
|
|
208
|
+
},
|
|
209
|
+
// plans command output
|
|
210
|
+
plans: {
|
|
211
|
+
noPlans: 'プランがありません。',
|
|
212
|
+
noRuns: '実行履歴がありません。',
|
|
213
|
+
planAdded: 'プラン \'{name}\' を追加しました (digest: {digest}...)',
|
|
214
|
+
planDeleted: 'プラン \'{name}\' を削除しました',
|
|
215
|
+
planNotFound: 'プランが見つかりません: {name}',
|
|
216
|
+
runNotFound: '実行履歴が見つかりません: {id}',
|
|
217
|
+
connectorNotFound: 'コネクタが見つかりません: {id}',
|
|
218
|
+
invalidPlanName: '無効なプラン名です。小文字、数字、ハイフン、アンダースコアのみ使用できます。',
|
|
219
|
+
planExists: 'プラン \'{name}\' は既に存在します。置き換えるには先に \'plans delete\' を実行してください。',
|
|
220
|
+
runWarning: '警告: プラン \'{name}\' には関連する実行履歴があります。',
|
|
221
|
+
useForce: '強制削除するには --force を使用してください (実行履歴はダイジェストで参照を保持します)。',
|
|
222
|
+
running: 'プラン \'{name}\' をコネクタ \'{connector}\' で実行中...',
|
|
223
|
+
runId: '実行ID: {id}',
|
|
224
|
+
status: 'ステータス: {status}',
|
|
225
|
+
duration: '実行時間: {ms}ms',
|
|
226
|
+
steps: 'ステップ:',
|
|
227
|
+
inventory: 'インベントリ:',
|
|
228
|
+
capabilities: 'ケイパビリティ: {list}',
|
|
229
|
+
tools: 'ツール: {count}',
|
|
230
|
+
resources: 'リソース: {count}',
|
|
231
|
+
prompts: 'プロンプト: {count}',
|
|
232
|
+
artifacts: '成果物: {path}',
|
|
233
|
+
imported: '{count} 件のプランをインポートしました: {names}',
|
|
234
|
+
exported: 'プラン \'{name}\' を {file} にエクスポートしました',
|
|
235
|
+
dryRun: {
|
|
236
|
+
plan: 'プラン: {name}',
|
|
237
|
+
connector: 'コネクタ: {id}',
|
|
238
|
+
steps: 'ステップ ({count}):',
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
// Error messages
|
|
242
|
+
errors: {
|
|
243
|
+
connectorIdRequired: 'コネクタIDが必要です。',
|
|
244
|
+
connectorNotFound: 'コネクタが見つかりません: {id}',
|
|
245
|
+
sessionNotFound: 'セッションが見つかりません: {id}',
|
|
246
|
+
noSessionSpecified: 'セッションが指定されていません。',
|
|
247
|
+
invalidPath: '無効なパス: {path}',
|
|
248
|
+
pathEscapes: 'エクスポートパスがカレントディレクトリ外を指しています。',
|
|
249
|
+
useAbsolutePath: '絶対パスまたはカレントディレクトリ内のパスを使用してください。',
|
|
250
|
+
parentDirNotExist: '親ディレクトリが存在しません: {path}',
|
|
251
|
+
fileOverwrite: 'ファイル \'{file}\' は既に存在します。上書きします...',
|
|
252
|
+
shellRequiresTty: 'シェルは対話型ターミナル(TTY)が必要です',
|
|
253
|
+
shellNonInteractive: 'シェルコマンドは非対話モードでは使用できません。',
|
|
254
|
+
outputRedirected: '出力がリダイレクトされています。個別のコマンドを使用してください。',
|
|
255
|
+
clipboardEmpty: 'クリップボードが空です',
|
|
256
|
+
clipboardReadFailed: 'クリップボードの読み取りに失敗しました: {error}',
|
|
257
|
+
invalidJson: '無効なJSON: {error}',
|
|
258
|
+
noConnectorInClipboard: 'クリップボードにコネクタ定義が見つかりません',
|
|
259
|
+
multipleConnectorsInClipboard: '複数のコネクタが見つかりました ({count} 件)。代わりに \'connectors import --clip\' を使用してください。',
|
|
260
|
+
unsupportedTransport: 'サポートされていないトランスポートタイプ: {type}。stdio のみサポートされています。',
|
|
261
|
+
unsafeChars: 'コマンドに安全でない文字が含まれています: {chars}',
|
|
262
|
+
reviewClipboard: 'クリップボードの内容を確認してから追加してください。',
|
|
263
|
+
unsafeArgsChars: '引数に安全でない文字が含まれています: {chars}',
|
|
264
|
+
},
|
|
265
|
+
// Hints and guidance
|
|
266
|
+
hints: {
|
|
267
|
+
tryOneOf: '以下のいずれかを試してください:',
|
|
268
|
+
usage: '使用方法:',
|
|
269
|
+
examples: '例:',
|
|
270
|
+
toListConnectors: '利用可能なコネクタを一覧表示するには:',
|
|
271
|
+
useInsteadOf: '代わりに個別のコマンドを使用してください:',
|
|
272
|
+
troubleshooting: 'トラブルシューティング:',
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
//# sourceMappingURL=ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ja.js","sourceRoot":"","sources":["../../../src/i18n/locales/ja.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan run artifacts generation
|
|
3
|
+
* Phase 5.2: Write run results to artifact directory
|
|
4
|
+
*/
|
|
5
|
+
import type { RunMeta, RunResult, StepResult, RunInventory, PlanDefinition } from './schema.js';
|
|
6
|
+
/**
|
|
7
|
+
* Artifact file names
|
|
8
|
+
*/
|
|
9
|
+
export declare const ARTIFACT_FILES: {
|
|
10
|
+
readonly META: "meta.json";
|
|
11
|
+
readonly PLAN: "plan.yaml";
|
|
12
|
+
readonly PLAN_ORIGINAL: "plan.original.yaml";
|
|
13
|
+
readonly RUN_LOG: "run.log";
|
|
14
|
+
readonly RESULTS: "results.json";
|
|
15
|
+
readonly INVENTORY: "inventory.json";
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Create artifact directory and return its path
|
|
19
|
+
*/
|
|
20
|
+
export declare function createArtifactDir(configDir: string, runId: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Write run metadata
|
|
23
|
+
*/
|
|
24
|
+
export declare function writeMetaJson(artifactPath: string, meta: RunMeta): void;
|
|
25
|
+
/**
|
|
26
|
+
* Write normalized plan YAML
|
|
27
|
+
*/
|
|
28
|
+
export declare function writePlanYaml(artifactPath: string, normalizedYaml: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Write original plan YAML
|
|
31
|
+
*/
|
|
32
|
+
export declare function writeOriginalPlanYaml(artifactPath: string, originalYaml: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Write human-readable run log
|
|
35
|
+
*/
|
|
36
|
+
export declare function writeRunLog(artifactPath: string, log: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Write step results JSON
|
|
39
|
+
*/
|
|
40
|
+
export declare function writeResultsJson(artifactPath: string, results: StepResult[]): void;
|
|
41
|
+
/**
|
|
42
|
+
* Write inventory JSON
|
|
43
|
+
*/
|
|
44
|
+
export declare function writeInventoryJson(artifactPath: string, inventory: RunInventory): void;
|
|
45
|
+
/**
|
|
46
|
+
* Generate human-readable run log from results
|
|
47
|
+
*/
|
|
48
|
+
export declare function generateRunLog(result: RunResult, def: PlanDefinition): string;
|
|
49
|
+
/**
|
|
50
|
+
* Write all artifacts for a completed run
|
|
51
|
+
*/
|
|
52
|
+
export declare function writeAllArtifacts(configDir: string, result: RunResult, def: PlanDefinition, originalYaml: string, normalizedYaml: string): string;
|
|
53
|
+
//# sourceMappingURL=artifacts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/plans/artifacts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAGhF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAGtF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAGlF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAGtF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,CAqF7E;AASD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,MAAM,CAwCR"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan run artifacts generation
|
|
3
|
+
* Phase 5.2: Write run results to artifact directory
|
|
4
|
+
*/
|
|
5
|
+
import { mkdirSync, writeFileSync } from 'fs';
|
|
6
|
+
import { join } from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Artifact file names
|
|
9
|
+
*/
|
|
10
|
+
export const ARTIFACT_FILES = {
|
|
11
|
+
META: 'meta.json',
|
|
12
|
+
PLAN: 'plan.yaml',
|
|
13
|
+
PLAN_ORIGINAL: 'plan.original.yaml',
|
|
14
|
+
RUN_LOG: 'run.log',
|
|
15
|
+
RESULTS: 'results.json',
|
|
16
|
+
INVENTORY: 'inventory.json',
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Create artifact directory and return its path
|
|
20
|
+
*/
|
|
21
|
+
export function createArtifactDir(configDir, runId) {
|
|
22
|
+
const artifactPath = join(configDir, 'artifacts', runId);
|
|
23
|
+
mkdirSync(artifactPath, { recursive: true });
|
|
24
|
+
return artifactPath;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Write run metadata
|
|
28
|
+
*/
|
|
29
|
+
export function writeMetaJson(artifactPath, meta) {
|
|
30
|
+
const filePath = join(artifactPath, ARTIFACT_FILES.META);
|
|
31
|
+
writeFileSync(filePath, JSON.stringify(meta, null, 2));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Write normalized plan YAML
|
|
35
|
+
*/
|
|
36
|
+
export function writePlanYaml(artifactPath, normalizedYaml) {
|
|
37
|
+
const filePath = join(artifactPath, ARTIFACT_FILES.PLAN);
|
|
38
|
+
writeFileSync(filePath, normalizedYaml);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Write original plan YAML
|
|
42
|
+
*/
|
|
43
|
+
export function writeOriginalPlanYaml(artifactPath, originalYaml) {
|
|
44
|
+
const filePath = join(artifactPath, ARTIFACT_FILES.PLAN_ORIGINAL);
|
|
45
|
+
writeFileSync(filePath, originalYaml);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Write human-readable run log
|
|
49
|
+
*/
|
|
50
|
+
export function writeRunLog(artifactPath, log) {
|
|
51
|
+
const filePath = join(artifactPath, ARTIFACT_FILES.RUN_LOG);
|
|
52
|
+
writeFileSync(filePath, log);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Write step results JSON
|
|
56
|
+
*/
|
|
57
|
+
export function writeResultsJson(artifactPath, results) {
|
|
58
|
+
const filePath = join(artifactPath, ARTIFACT_FILES.RESULTS);
|
|
59
|
+
writeFileSync(filePath, JSON.stringify(results, null, 2));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Write inventory JSON
|
|
63
|
+
*/
|
|
64
|
+
export function writeInventoryJson(artifactPath, inventory) {
|
|
65
|
+
const filePath = join(artifactPath, ARTIFACT_FILES.INVENTORY);
|
|
66
|
+
writeFileSync(filePath, JSON.stringify(inventory, null, 2));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate human-readable run log from results
|
|
70
|
+
*/
|
|
71
|
+
export function generateRunLog(result, def) {
|
|
72
|
+
const lines = [];
|
|
73
|
+
lines.push('═══════════════════════════════════════════════════════════');
|
|
74
|
+
lines.push(`Plan Run: ${result.planName}`);
|
|
75
|
+
lines.push('═══════════════════════════════════════════════════════════');
|
|
76
|
+
lines.push('');
|
|
77
|
+
lines.push(`Run ID: ${result.runId}`);
|
|
78
|
+
lines.push(`Connector: ${result.connectorId}`);
|
|
79
|
+
lines.push(`Status: ${result.status.toUpperCase()}`);
|
|
80
|
+
lines.push(`Started: ${result.startedAt}`);
|
|
81
|
+
lines.push(`Ended: ${result.endedAt}`);
|
|
82
|
+
lines.push(`Duration: ${calculateDuration(result.startedAt, result.endedAt)}ms`);
|
|
83
|
+
lines.push('');
|
|
84
|
+
// Plan info
|
|
85
|
+
if (def.description) {
|
|
86
|
+
lines.push(`Description: ${def.description}`);
|
|
87
|
+
lines.push('');
|
|
88
|
+
}
|
|
89
|
+
// Steps summary
|
|
90
|
+
lines.push('───────────────────────────────────────────────────────────');
|
|
91
|
+
lines.push('Steps Summary');
|
|
92
|
+
lines.push('───────────────────────────────────────────────────────────');
|
|
93
|
+
const passed = result.steps.filter(s => !s.skipped && s.response?.result !== undefined && !s.response?.error).length;
|
|
94
|
+
const failed = result.steps.filter(s => !s.skipped && s.response?.error !== undefined).length;
|
|
95
|
+
const skipped = result.steps.filter(s => s.skipped).length;
|
|
96
|
+
lines.push(`Total: ${result.steps.length}`);
|
|
97
|
+
lines.push(`Passed: ${passed}`);
|
|
98
|
+
lines.push(`Failed: ${failed}`);
|
|
99
|
+
lines.push(`Skipped: ${skipped}`);
|
|
100
|
+
lines.push('');
|
|
101
|
+
// Step details
|
|
102
|
+
lines.push('───────────────────────────────────────────────────────────');
|
|
103
|
+
lines.push('Step Details');
|
|
104
|
+
lines.push('───────────────────────────────────────────────────────────');
|
|
105
|
+
for (const step of result.steps) {
|
|
106
|
+
const status = step.skipped ? 'SKIP' :
|
|
107
|
+
step.response?.error ? 'FAIL' : 'PASS';
|
|
108
|
+
const statusIcon = status === 'PASS' ? '[OK]' :
|
|
109
|
+
status === 'FAIL' ? '[NG]' : '[--]';
|
|
110
|
+
lines.push('');
|
|
111
|
+
lines.push(`${statusIcon} Step ${step.stepIndex + 1}: ${step.method}`);
|
|
112
|
+
lines.push(` Duration: ${step.durationMs}ms`);
|
|
113
|
+
if (step.skipped && step.skipReason) {
|
|
114
|
+
lines.push(` Skipped: ${step.skipReason}`);
|
|
115
|
+
}
|
|
116
|
+
if (step.response?.error) {
|
|
117
|
+
const err = step.response.error;
|
|
118
|
+
lines.push(` Error: ${err.message || JSON.stringify(err)}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
lines.push('');
|
|
122
|
+
lines.push('───────────────────────────────────────────────────────────');
|
|
123
|
+
lines.push('Inventory');
|
|
124
|
+
lines.push('───────────────────────────────────────────────────────────');
|
|
125
|
+
if (result.inventory.capabilities) {
|
|
126
|
+
lines.push(`Capabilities: ${JSON.stringify(result.inventory.capabilities)}`);
|
|
127
|
+
}
|
|
128
|
+
if (result.inventory.tools) {
|
|
129
|
+
lines.push(`Tools: ${result.inventory.tools.length} item(s)`);
|
|
130
|
+
}
|
|
131
|
+
if (result.inventory.resources) {
|
|
132
|
+
lines.push(`Resources: ${result.inventory.resources.length} item(s)`);
|
|
133
|
+
}
|
|
134
|
+
if (result.inventory.prompts) {
|
|
135
|
+
lines.push(`Prompts: ${result.inventory.prompts.length} item(s)`);
|
|
136
|
+
}
|
|
137
|
+
lines.push('');
|
|
138
|
+
lines.push('═══════════════════════════════════════════════════════════');
|
|
139
|
+
lines.push('End of Run');
|
|
140
|
+
lines.push('═══════════════════════════════════════════════════════════');
|
|
141
|
+
return lines.join('\n');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Calculate duration between two ISO timestamps
|
|
145
|
+
*/
|
|
146
|
+
function calculateDuration(start, end) {
|
|
147
|
+
return new Date(end).getTime() - new Date(start).getTime();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Write all artifacts for a completed run
|
|
151
|
+
*/
|
|
152
|
+
export function writeAllArtifacts(configDir, result, def, originalYaml, normalizedYaml) {
|
|
153
|
+
const artifactPath = createArtifactDir(configDir, result.runId);
|
|
154
|
+
// Calculate stats
|
|
155
|
+
const passed = result.steps.filter(s => !s.skipped && s.response?.result !== undefined && !s.response?.error).length;
|
|
156
|
+
const failed = result.steps.filter(s => !s.skipped && s.response?.error !== undefined).length;
|
|
157
|
+
const skipped = result.steps.filter(s => s.skipped).length;
|
|
158
|
+
// Write meta.json
|
|
159
|
+
const meta = {
|
|
160
|
+
runId: result.runId,
|
|
161
|
+
planName: result.planName,
|
|
162
|
+
planDigest: result.planDigest,
|
|
163
|
+
connectorId: result.connectorId,
|
|
164
|
+
status: result.status,
|
|
165
|
+
startedAt: result.startedAt,
|
|
166
|
+
endedAt: result.endedAt,
|
|
167
|
+
totalSteps: result.steps.length,
|
|
168
|
+
passedSteps: passed,
|
|
169
|
+
failedSteps: failed,
|
|
170
|
+
skippedSteps: skipped,
|
|
171
|
+
artifactPath: `artifacts/${result.runId}`,
|
|
172
|
+
};
|
|
173
|
+
writeMetaJson(artifactPath, meta);
|
|
174
|
+
// Write plan files
|
|
175
|
+
writePlanYaml(artifactPath, normalizedYaml);
|
|
176
|
+
writeOriginalPlanYaml(artifactPath, originalYaml);
|
|
177
|
+
// Write results.json
|
|
178
|
+
writeResultsJson(artifactPath, result.steps);
|
|
179
|
+
// Write inventory.json
|
|
180
|
+
writeInventoryJson(artifactPath, result.inventory);
|
|
181
|
+
// Write run.log
|
|
182
|
+
const runLog = generateRunLog(result, def);
|
|
183
|
+
writeRunLog(artifactPath, runLog);
|
|
184
|
+
return artifactPath;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/plans/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in validation plans
|
|
3
|
+
* Phase 5.3: Default plans for common validation scenarios
|
|
4
|
+
*/
|
|
5
|
+
export interface BuiltinPlan {
|
|
6
|
+
name: string;
|
|
7
|
+
yaml: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Basic MCP validation plan
|
|
11
|
+
* Performs: initialize, tools/list, resources/list (if supported), prompts/list (if supported)
|
|
12
|
+
*/
|
|
13
|
+
export declare const BASIC_MCP_PLAN: BuiltinPlan;
|
|
14
|
+
/**
|
|
15
|
+
* Minimal MCP validation plan
|
|
16
|
+
* Performs only: initialize, tools/list
|
|
17
|
+
*/
|
|
18
|
+
export declare const MINIMAL_MCP_PLAN: BuiltinPlan;
|
|
19
|
+
/**
|
|
20
|
+
* Full MCP validation plan
|
|
21
|
+
* Attempts all list operations regardless of capabilities
|
|
22
|
+
*/
|
|
23
|
+
export declare const FULL_MCP_PLAN: BuiltinPlan;
|
|
24
|
+
/**
|
|
25
|
+
* All built-in plans
|
|
26
|
+
*/
|
|
27
|
+
export declare const BUILTIN_PLANS: BuiltinPlan[];
|
|
28
|
+
/**
|
|
29
|
+
* Built-in plan names (for deletion protection)
|
|
30
|
+
*/
|
|
31
|
+
export declare const BUILTIN_PLAN_NAMES: Set<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a plan name is a built-in plan
|
|
34
|
+
*/
|
|
35
|
+
export declare function isBuiltinPlan(name: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Default plan name for quick validation
|
|
38
|
+
*/
|
|
39
|
+
export declare const DEFAULT_PLAN_NAME = "basic-mcp";
|
|
40
|
+
//# sourceMappingURL=builtin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/plans/builtin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAa5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAS9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAW3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EAItC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,aAA0C,CAAC;AAE1E;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,cAAc,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in validation plans
|
|
3
|
+
* Phase 5.3: Default plans for common validation scenarios
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Basic MCP validation plan
|
|
7
|
+
* Performs: initialize, tools/list, resources/list (if supported), prompts/list (if supported)
|
|
8
|
+
*/
|
|
9
|
+
export const BASIC_MCP_PLAN = {
|
|
10
|
+
name: 'basic-mcp',
|
|
11
|
+
yaml: `version: 1
|
|
12
|
+
name: basic-mcp
|
|
13
|
+
description: Basic MCP server validation (initialize, tools, resources, prompts)
|
|
14
|
+
steps:
|
|
15
|
+
- mcp: initialize
|
|
16
|
+
- mcp: tools/list
|
|
17
|
+
- when: capabilities.resources
|
|
18
|
+
mcp: resources/list
|
|
19
|
+
- when: capabilities.prompts
|
|
20
|
+
mcp: prompts/list
|
|
21
|
+
`,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Minimal MCP validation plan
|
|
25
|
+
* Performs only: initialize, tools/list
|
|
26
|
+
*/
|
|
27
|
+
export const MINIMAL_MCP_PLAN = {
|
|
28
|
+
name: 'minimal-mcp',
|
|
29
|
+
yaml: `version: 1
|
|
30
|
+
name: minimal-mcp
|
|
31
|
+
description: Minimal MCP server validation (initialize + tools/list only)
|
|
32
|
+
steps:
|
|
33
|
+
- mcp: initialize
|
|
34
|
+
- mcp: tools/list
|
|
35
|
+
`,
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Full MCP validation plan
|
|
39
|
+
* Attempts all list operations regardless of capabilities
|
|
40
|
+
*/
|
|
41
|
+
export const FULL_MCP_PLAN = {
|
|
42
|
+
name: 'full-mcp',
|
|
43
|
+
yaml: `version: 1
|
|
44
|
+
name: full-mcp
|
|
45
|
+
description: Full MCP server validation (all list operations)
|
|
46
|
+
steps:
|
|
47
|
+
- mcp: initialize
|
|
48
|
+
- mcp: tools/list
|
|
49
|
+
- mcp: resources/list
|
|
50
|
+
- mcp: prompts/list
|
|
51
|
+
`,
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* All built-in plans
|
|
55
|
+
*/
|
|
56
|
+
export const BUILTIN_PLANS = [
|
|
57
|
+
BASIC_MCP_PLAN,
|
|
58
|
+
MINIMAL_MCP_PLAN,
|
|
59
|
+
FULL_MCP_PLAN,
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* Built-in plan names (for deletion protection)
|
|
63
|
+
*/
|
|
64
|
+
export const BUILTIN_PLAN_NAMES = new Set(BUILTIN_PLANS.map(p => p.name));
|
|
65
|
+
/**
|
|
66
|
+
* Check if a plan name is a built-in plan
|
|
67
|
+
*/
|
|
68
|
+
export function isBuiltinPlan(name) {
|
|
69
|
+
return BUILTIN_PLAN_NAMES.has(name);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Default plan name for quick validation
|
|
73
|
+
*/
|
|
74
|
+
export const DEFAULT_PLAN_NAME = 'basic-mcp';
|
|
75
|
+
//# sourceMappingURL=builtin.js.map
|