@tienne/gestalt 0.106.0 → 0.108.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/CLAUDE.md +1 -0
- package/README.ko.md +1 -0
- package/README.md +1 -0
- package/dist/package.json +1 -1
- package/dist/plugin/role-agents/lens-context/AGENT.md +94 -0
- package/dist/plugin/role-agents/lens-link/AGENT.md +83 -0
- package/dist/plugin/role-agents/lens-reader/AGENT.md +230 -0
- package/dist/plugin/skills/_shared/proactive-routing.md +1 -0
- package/dist/plugin/skills/interview/SKILL.md +47 -8
- package/dist/plugin/skills/lens/SKILL.md +375 -0
- package/dist/plugin/skills/solve/SKILL.md +3 -3
- package/dist/plugin/skills/spec/SKILL.md +4 -4
- package/dist/schemas/gestalt.schema.json +19 -0
- package/dist/src/agent/role-consensus-engine.d.ts.map +1 -1
- package/dist/src/agent/role-consensus-engine.js +1 -1
- package/dist/src/agent/role-consensus-engine.js.map +1 -1
- package/dist/src/agent/role-prompt-generator.d.ts.map +1 -1
- package/dist/src/agent/role-prompt-generator.js +1 -2
- package/dist/src/agent/role-prompt-generator.js.map +1 -1
- package/dist/src/cli/commands/digest.d.ts +2 -0
- package/dist/src/cli/commands/digest.d.ts.map +1 -1
- package/dist/src/cli/commands/digest.js +6 -0
- package/dist/src/cli/commands/digest.js.map +1 -1
- package/dist/src/cli/commands/interview.d.ts +1 -0
- package/dist/src/cli/commands/interview.d.ts.map +1 -1
- package/dist/src/cli/commands/interview.js +5 -3
- package/dist/src/cli/commands/interview.js.map +1 -1
- package/dist/src/cli/commands/lens.d.ts +27 -0
- package/dist/src/cli/commands/lens.d.ts.map +1 -0
- package/dist/src/cli/commands/lens.js +200 -0
- package/dist/src/cli/commands/lens.js.map +1 -0
- package/dist/src/cli/commands/spec.d.ts.map +1 -1
- package/dist/src/cli/commands/spec.js +2 -2
- package/dist/src/cli/commands/spec.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +37 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/core/config.d.ts +19 -0
- package/dist/src/core/config.d.ts.map +1 -1
- package/dist/src/core/config.js +23 -15
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/constants.d.ts +5 -0
- package/dist/src/core/constants.d.ts.map +1 -1
- package/dist/src/core/constants.js +5 -0
- package/dist/src/core/constants.js.map +1 -1
- package/dist/src/core/errors.d.ts +3 -1
- package/dist/src/core/errors.d.ts.map +1 -1
- package/dist/src/core/errors.js +6 -2
- package/dist/src/core/errors.js.map +1 -1
- package/dist/src/core/types.d.ts +51 -2
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/digest/format.d.ts.map +1 -1
- package/dist/src/digest/format.js +1 -0
- package/dist/src/digest/format.js.map +1 -1
- package/dist/src/digest/frames.d.ts.map +1 -1
- package/dist/src/digest/frames.js +1 -1
- package/dist/src/digest/frames.js.map +1 -1
- package/dist/src/digest/ingest.d.ts +8 -1
- package/dist/src/digest/ingest.d.ts.map +1 -1
- package/dist/src/digest/ingest.js +2 -1
- package/dist/src/digest/ingest.js.map +1 -1
- package/dist/src/digest/lens-schema.d.ts +542 -0
- package/dist/src/digest/lens-schema.d.ts.map +1 -0
- package/dist/src/digest/lens-schema.js +108 -0
- package/dist/src/digest/lens-schema.js.map +1 -0
- package/dist/src/digest/lens-source.d.ts +260 -0
- package/dist/src/digest/lens-source.d.ts.map +1 -0
- package/dist/src/digest/lens-source.js +92 -0
- package/dist/src/digest/lens-source.js.map +1 -0
- package/dist/src/digest/lens-widget-schema.d.ts +1225 -0
- package/dist/src/digest/lens-widget-schema.d.ts.map +1 -0
- package/dist/src/digest/lens-widget-schema.js +80 -0
- package/dist/src/digest/lens-widget-schema.js.map +1 -0
- package/dist/src/digest/lens-widgets.d.ts +25 -0
- package/dist/src/digest/lens-widgets.d.ts.map +1 -0
- package/dist/src/digest/lens-widgets.js +225 -0
- package/dist/src/digest/lens-widgets.js.map +1 -0
- package/dist/src/digest/lint-lens-context.d.ts +102 -0
- package/dist/src/digest/lint-lens-context.d.ts.map +1 -0
- package/dist/src/digest/lint-lens-context.js +192 -0
- package/dist/src/digest/lint-lens-context.js.map +1 -0
- package/dist/src/digest/lint-lens.d.ts +17 -0
- package/dist/src/digest/lint-lens.d.ts.map +1 -0
- package/dist/src/digest/lint-lens.js +237 -0
- package/dist/src/digest/lint-lens.js.map +1 -0
- package/dist/src/digest/lint.d.ts +14 -0
- package/dist/src/digest/lint.d.ts.map +1 -1
- package/dist/src/digest/lint.js +156 -2
- package/dist/src/digest/lint.js.map +1 -1
- package/dist/src/digest/merge.d.ts.map +1 -1
- package/dist/src/digest/merge.js +11 -2
- package/dist/src/digest/merge.js.map +1 -1
- package/dist/src/digest/prose.d.ts.map +1 -1
- package/dist/src/digest/prose.js +8 -0
- package/dist/src/digest/prose.js.map +1 -1
- package/dist/src/digest/render-html.d.ts +5 -0
- package/dist/src/digest/render-html.d.ts.map +1 -1
- package/dist/src/digest/render-html.js +93 -18
- package/dist/src/digest/render-html.js.map +1 -1
- package/dist/src/digest/render-lens.d.ts +61 -0
- package/dist/src/digest/render-lens.d.ts.map +1 -0
- package/dist/src/digest/render-lens.js +273 -0
- package/dist/src/digest/render-lens.js.map +1 -0
- package/dist/src/digest/render-md.d.ts +5 -0
- package/dist/src/digest/render-md.d.ts.map +1 -1
- package/dist/src/digest/render-md.js +116 -7
- package/dist/src/digest/render-md.js.map +1 -1
- package/dist/src/digest/render-widgets.d.ts +13 -0
- package/dist/src/digest/render-widgets.d.ts.map +1 -0
- package/dist/src/digest/render-widgets.js +197 -0
- package/dist/src/digest/render-widgets.js.map +1 -0
- package/dist/src/digest/render.d.ts +2 -0
- package/dist/src/digest/render.d.ts.map +1 -1
- package/dist/src/digest/render.js +17 -3
- package/dist/src/digest/render.js.map +1 -1
- package/dist/src/digest/schema.d.ts +14683 -2022
- package/dist/src/digest/schema.d.ts.map +1 -1
- package/dist/src/digest/schema.js +67 -6
- package/dist/src/digest/schema.js.map +1 -1
- package/dist/src/digest/server.d.ts +2 -1
- package/dist/src/digest/server.d.ts.map +1 -1
- package/dist/src/digest/server.js +26 -11
- package/dist/src/digest/server.js.map +1 -1
- package/dist/src/digest/viewer-js.d.ts.map +1 -1
- package/dist/src/digest/viewer-js.js +120 -4
- package/dist/src/digest/viewer-js.js.map +1 -1
- package/dist/src/events/types.d.ts +2 -0
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js +2 -0
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/execute/orchestrators/evolution.d.ts.map +1 -1
- package/dist/src/execute/orchestrators/evolution.js +4 -0
- package/dist/src/execute/orchestrators/evolution.js.map +1 -1
- package/dist/src/execute/passthrough-engine.d.ts +6 -0
- package/dist/src/execute/passthrough-engine.d.ts.map +1 -1
- package/dist/src/execute/passthrough-engine.js +10 -0
- package/dist/src/execute/passthrough-engine.js.map +1 -1
- package/dist/src/execute/termination-detector.d.ts +3 -0
- package/dist/src/execute/termination-detector.d.ts.map +1 -1
- package/dist/src/execute/termination-detector.js +2 -3
- package/dist/src/execute/termination-detector.js.map +1 -1
- package/dist/src/gestalt/analyzer.d.ts +1 -1
- package/dist/src/gestalt/analyzer.d.ts.map +1 -1
- package/dist/src/gestalt/analyzer.js +3 -2
- package/dist/src/gestalt/analyzer.js.map +1 -1
- package/dist/src/gestalt/signals.d.ts +20 -0
- package/dist/src/gestalt/signals.d.ts.map +1 -0
- package/dist/src/gestalt/signals.js +112 -0
- package/dist/src/gestalt/signals.js.map +1 -0
- package/dist/src/interview/engine.d.ts +9 -1
- package/dist/src/interview/engine.d.ts.map +1 -1
- package/dist/src/interview/engine.js +40 -11
- package/dist/src/interview/engine.js.map +1 -1
- package/dist/src/interview/passthrough-engine.d.ts +31 -7
- package/dist/src/interview/passthrough-engine.d.ts.map +1 -1
- package/dist/src/interview/passthrough-engine.js +87 -28
- package/dist/src/interview/passthrough-engine.js.map +1 -1
- package/dist/src/interview/repository.d.ts +6 -1
- package/dist/src/interview/repository.d.ts.map +1 -1
- package/dist/src/interview/repository.js +20 -2
- package/dist/src/interview/repository.js.map +1 -1
- package/dist/src/interview/rescore.d.ts +35 -0
- package/dist/src/interview/rescore.d.ts.map +1 -0
- package/dist/src/interview/rescore.js +92 -0
- package/dist/src/interview/rescore.js.map +1 -0
- package/dist/src/interview/resolution.d.ts +5 -1
- package/dist/src/interview/resolution.d.ts.map +1 -1
- package/dist/src/interview/resolution.js +15 -4
- package/dist/src/interview/resolution.js.map +1 -1
- package/dist/src/interview/session.d.ts +12 -2
- package/dist/src/interview/session.d.ts.map +1 -1
- package/dist/src/interview/session.js +57 -5
- package/dist/src/interview/session.js.map +1 -1
- package/dist/src/lens/attach.d.ts +436 -0
- package/dist/src/lens/attach.d.ts.map +1 -0
- package/dist/src/lens/attach.js +46 -0
- package/dist/src/lens/attach.js.map +1 -0
- package/dist/src/lens/ingest.d.ts +75 -0
- package/dist/src/lens/ingest.d.ts.map +1 -0
- package/dist/src/lens/ingest.js +558 -0
- package/dist/src/lens/ingest.js.map +1 -0
- package/dist/src/lens/kind.d.ts +11 -0
- package/dist/src/lens/kind.d.ts.map +1 -0
- package/dist/src/lens/kind.js +59 -0
- package/dist/src/lens/kind.js.map +1 -0
- package/dist/src/lens/knowledge.d.ts +53 -0
- package/dist/src/lens/knowledge.d.ts.map +1 -0
- package/dist/src/lens/knowledge.js +202 -0
- package/dist/src/lens/knowledge.js.map +1 -0
- package/dist/src/lens/notes.d.ts +73 -0
- package/dist/src/lens/notes.d.ts.map +1 -0
- package/dist/src/lens/notes.js +276 -0
- package/dist/src/lens/notes.js.map +1 -0
- package/dist/src/lens/panels.d.ts +10 -0
- package/dist/src/lens/panels.d.ts.map +1 -0
- package/dist/src/lens/panels.js +25 -0
- package/dist/src/lens/panels.js.map +1 -0
- package/dist/src/lens/pdf-extract-py.d.ts +15 -0
- package/dist/src/lens/pdf-extract-py.d.ts.map +1 -0
- package/dist/src/lens/pdf-extract-py.js +414 -0
- package/dist/src/lens/pdf-extract-py.js.map +1 -0
- package/dist/src/lens/podcast.d.ts +36 -0
- package/dist/src/lens/podcast.d.ts.map +1 -0
- package/dist/src/lens/podcast.js +104 -0
- package/dist/src/lens/podcast.js.map +1 -0
- package/dist/src/lens/python.d.ts +33 -0
- package/dist/src/lens/python.d.ts.map +1 -0
- package/dist/src/lens/python.js +61 -0
- package/dist/src/lens/python.js.map +1 -0
- package/dist/src/lens/web-extract-py.d.ts +9 -0
- package/dist/src/lens/web-extract-py.d.ts.map +1 -0
- package/dist/src/lens/web-extract-py.js +114 -0
- package/dist/src/lens/web-extract-py.js.map +1 -0
- package/dist/src/llm/prompts.d.ts +8 -0
- package/dist/src/llm/prompts.d.ts.map +1 -1
- package/dist/src/llm/prompts.js +7 -0
- package/dist/src/llm/prompts.js.map +1 -1
- package/dist/src/mcp/schemas.d.ts +29 -20
- package/dist/src/mcp/schemas.d.ts.map +1 -1
- package/dist/src/mcp/schemas.js +15 -3
- package/dist/src/mcp/schemas.js.map +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +11 -5
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/digest-passthrough.d.ts.map +1 -1
- package/dist/src/mcp/tools/digest-passthrough.js +5 -0
- package/dist/src/mcp/tools/digest-passthrough.js.map +1 -1
- package/dist/src/mcp/tools/execute/evaluate.d.ts.map +1 -1
- package/dist/src/mcp/tools/execute/evaluate.js +3 -3
- package/dist/src/mcp/tools/execute/evaluate.js.map +1 -1
- package/dist/src/mcp/tools/interview-passthrough.d.ts.map +1 -1
- package/dist/src/mcp/tools/interview-passthrough.js +40 -34
- package/dist/src/mcp/tools/interview-passthrough.js.map +1 -1
- package/dist/src/mcp/tools/spec-passthrough.d.ts.map +1 -1
- package/dist/src/mcp/tools/spec-passthrough.js +7 -0
- package/dist/src/mcp/tools/spec-passthrough.js.map +1 -1
- package/dist/src/mcp/tools/status.d.ts.map +1 -1
- package/dist/src/mcp/tools/status.js +6 -1
- package/dist/src/mcp/tools/status.js.map +1 -1
- package/dist/src/research/schema.d.ts +3 -3
- package/dist/src/research/source-create.d.ts +6 -1
- package/dist/src/research/source-create.d.ts.map +1 -1
- package/dist/src/research/source-create.js +41 -10
- package/dist/src/research/source-create.js.map +1 -1
- package/dist/src/spec/extractor.js +1 -1
- package/dist/src/spec/extractor.js.map +1 -1
- package/dist/src/spec/generator.d.ts +3 -1
- package/dist/src/spec/generator.d.ts.map +1 -1
- package/dist/src/spec/generator.js +6 -4
- package/dist/src/spec/generator.js.map +1 -1
- package/dist/src/spec/passthrough-generator.d.ts +3 -1
- package/dist/src/spec/passthrough-generator.d.ts.map +1 -1
- package/dist/src/spec/passthrough-generator.js +6 -4
- package/dist/src/spec/passthrough-generator.js.map +1 -1
- package/dist/src/spec/schema.d.ts +5 -5
- package/dist/src/spec/schema.js +1 -1
- package/dist/src/spec/schema.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +1 -1
- package/plugin/commands/gestalt-interview.md +2 -1
- package/plugin/mcp.json +1 -1
- package/plugin/role-agents/lens-context/AGENT.md +94 -0
- package/plugin/role-agents/lens-link/AGENT.md +83 -0
- package/plugin/role-agents/lens-reader/AGENT.md +230 -0
- package/plugin/skills/_shared/proactive-routing.md +1 -0
- package/plugin/skills/interview/SKILL.md +47 -8
- package/plugin/skills/lens/SKILL.md +375 -0
- package/plugin/skills/solve/SKILL.md +3 -3
- package/plugin/skills/spec/SKILL.md +4 -4
- package/schemas/gestalt.schema.json +19 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
/** 렌즈 전용 가상환경. 시스템 파이썬의 pip가 오래돼 새 휠을 못 받는 머신에서 여기에 설치한다 */
|
|
5
|
+
export const LENS_VENV = join(homedir(), '.local', 'share', 'gestalt', 'lens-venv');
|
|
6
|
+
export const LENS_PY_INSTALL = `python3 -m venv ${LENS_VENV} && ${join(LENS_VENV, 'bin', 'python')} -m pip install --upgrade pip && ` +
|
|
7
|
+
`${join(LENS_VENV, 'bin', 'python')} -m pip install pdfplumber trafilatura faster-whisper sherpa-onnx`;
|
|
8
|
+
/**
|
|
9
|
+
* 렌즈 추출에 쓸 파이썬. GESTALT_LENS_PYTHON이 있으면 그 값을, 없으면 렌즈 가상환경을, 그것도 없으면 python3를 쓴다.
|
|
10
|
+
* 환경 변수는 절대 경로만 받는다. 상대 경로면 남의 레포 안 같은 이름 파일이 대신 돌 수 있다
|
|
11
|
+
*/
|
|
12
|
+
export function lensPython(env = process.env) {
|
|
13
|
+
const fromEnv = env.GESTALT_LENS_PYTHON?.trim();
|
|
14
|
+
if (fromEnv) {
|
|
15
|
+
if (!fromEnv.startsWith('/')) {
|
|
16
|
+
throw new Error(`GESTALT_LENS_PYTHON은 절대 경로여야 해요: ${fromEnv}`);
|
|
17
|
+
}
|
|
18
|
+
return fromEnv;
|
|
19
|
+
}
|
|
20
|
+
const venv = join(LENS_VENV, 'bin', 'python');
|
|
21
|
+
return existsSync(venv) ? venv : 'python3';
|
|
22
|
+
}
|
|
23
|
+
/** 모듈이 없을 때 설치 안내. 어떤 모듈이 빠졌는지 stderr에서 읽는다 */
|
|
24
|
+
export function missingModuleHint(stderr) {
|
|
25
|
+
const m = /No module named ['"]([A-Za-z0-9_.]+)/.exec(stderr);
|
|
26
|
+
if (!m)
|
|
27
|
+
return null;
|
|
28
|
+
return `파이썬 모듈 ${m[1]}이 없어요. 아래 명령으로 렌즈 가상환경을 만든 뒤 다시 돌려 주세요.\n${LENS_PY_INSTALL}`;
|
|
29
|
+
}
|
|
30
|
+
/** 화자 구분 모델 자리. GESTALT_LENS_MODELS가 있으면 그 절대 경로를 쓴다 */
|
|
31
|
+
export function lensModelsDir(env = process.env) {
|
|
32
|
+
const fromEnv = env.GESTALT_LENS_MODELS?.trim();
|
|
33
|
+
if (fromEnv) {
|
|
34
|
+
if (!fromEnv.startsWith('/')) {
|
|
35
|
+
throw new Error(`GESTALT_LENS_MODELS는 절대 경로여야 해요: ${fromEnv}`);
|
|
36
|
+
}
|
|
37
|
+
return fromEnv;
|
|
38
|
+
}
|
|
39
|
+
return join(homedir(), '.local', 'share', 'gestalt', 'lens-models');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 화자 구분에 쓰는 두 모델. sherpa-onnx가 GitHub 릴리스로 내준 파일이라 토큰 없이 받는다.
|
|
43
|
+
* 구간 분할은 pyannote segmentation 3.0을 ONNX로 옮긴 것이고 화자 임베딩은 wespeaker ResNet34(VoxCeleb)다.
|
|
44
|
+
* 릴리스 태그가 버전으로 고정돼 있지 않아 받은 파일의 sha256을 여기 박아 둔 값과 맞춰 본다
|
|
45
|
+
*/
|
|
46
|
+
export const DIARIZE_MODELS = {
|
|
47
|
+
segmentation: {
|
|
48
|
+
archive: 'https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/sherpa-onnx-pyannote-segmentation-3-0.tar.bz2',
|
|
49
|
+
/** 압축 파일의 해시다. 풀린 model.onnx가 아니다 */
|
|
50
|
+
sha256: '24615ee884c897d9d2ba09bb4d30da6bb1b15e685065962db5b02e76e4996488',
|
|
51
|
+
bytes: 6_958_444,
|
|
52
|
+
file: join('sherpa-onnx-pyannote-segmentation-3-0', 'model.onnx'),
|
|
53
|
+
},
|
|
54
|
+
embedding: {
|
|
55
|
+
url: 'https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/wespeaker_en_voxceleb_resnet34.onnx',
|
|
56
|
+
sha256: '5ef208a9da1453335308a6b6f4e6dfbd7e183a38b604de0a57664f45d257fe94',
|
|
57
|
+
bytes: 26_534_365,
|
|
58
|
+
file: 'wespeaker_en_voxceleb_resnet34.onnx',
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=python.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/lens/python.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,eAAe,GAC1B,mBAAmB,SAAS,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,mCAAmC;IACtG,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,mEAAmE,CAAC;AAEzG;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,CAAC,GAAG,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAE,4CAA4C,eAAe,EAAE,CAAC;AACtF,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG;IAChE,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE;QACZ,OAAO,EACL,mIAAmI;QACrI,qCAAqC;QACrC,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI,CAAC,uCAAuC,EAAE,YAAY,CAAC;KAClE;IACD,SAAS,EAAE;QACT,GAAG,EAAE,wHAAwH;QAC7H,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,qCAAqC;KAC5C;CACO,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 웹 글 본문을 문단으로 뽑는 파이썬 스크립트. trafilatura로 광고와 메뉴를 걷어내고 XML로 받아(정밀 모드는 소제목을 버려서 기본 모드를 쓴다)
|
|
3
|
+
* 제목(head), 문단(p, quote, code), 목록(list), 표(table)를 순서대로 문단 단위로 낸다.
|
|
4
|
+
* 표는 칸 글자를 그대로 table-<n>으로 두고 그 자리에 캡션 문단을 하나 둔다.
|
|
5
|
+
* trafilatura가 링크 밀도 때문에 버린 목록은 ':'로 끝나는 문단 뒤에서 원문 HTML로 되살리고 rescued를 붙인다.
|
|
6
|
+
* 결과 JSON은 stdout 마지막 줄 하나다. 백틱과 달러 중괄호가 없어야 String.raw 안에 그대로 실린다
|
|
7
|
+
*/
|
|
8
|
+
export declare const WEB_EXTRACT_PY: string;
|
|
9
|
+
//# sourceMappingURL=web-extract-py.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-extract-py.d.ts","sourceRoot":"","sources":["../../../src/lens/web-extract-py.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAyG1B,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 웹 글 본문을 문단으로 뽑는 파이썬 스크립트. trafilatura로 광고와 메뉴를 걷어내고 XML로 받아(정밀 모드는 소제목을 버려서 기본 모드를 쓴다)
|
|
3
|
+
* 제목(head), 문단(p, quote, code), 목록(list), 표(table)를 순서대로 문단 단위로 낸다.
|
|
4
|
+
* 표는 칸 글자를 그대로 table-<n>으로 두고 그 자리에 캡션 문단을 하나 둔다.
|
|
5
|
+
* trafilatura가 링크 밀도 때문에 버린 목록은 ':'로 끝나는 문단 뒤에서 원문 HTML로 되살리고 rescued를 붙인다.
|
|
6
|
+
* 결과 JSON은 stdout 마지막 줄 하나다. 백틱과 달러 중괄호가 없어야 String.raw 안에 그대로 실린다
|
|
7
|
+
*/
|
|
8
|
+
export const WEB_EXTRACT_PY = String.raw `import json, sys
|
|
9
|
+
import xml.etree.ElementTree as ET
|
|
10
|
+
|
|
11
|
+
# 신뢰할 수 없는 HTML이 메모리를 다 먹지 않게 주소 공간을 4GB로 묶는다. macOS는 RLIMIT_AS를 거부해서 Linux에서만 건다
|
|
12
|
+
if sys.platform.startswith("linux"):
|
|
13
|
+
try:
|
|
14
|
+
import resource
|
|
15
|
+
_, hard = resource.getrlimit(resource.RLIMIT_AS)
|
|
16
|
+
if hard == resource.RLIM_INFINITY or hard > (4 << 30):
|
|
17
|
+
resource.setrlimit(resource.RLIMIT_AS, (4 << 30, hard))
|
|
18
|
+
except (ImportError, OSError, ValueError):
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
import trafilatura
|
|
22
|
+
|
|
23
|
+
html_path, url = sys.argv[1], sys.argv[2]
|
|
24
|
+
with open(html_path, "rb") as f:
|
|
25
|
+
raw = f.read()
|
|
26
|
+
html = raw.decode("utf-8", errors="replace")
|
|
27
|
+
meta = trafilatura.extract_metadata(html, default_url=url)
|
|
28
|
+
xml = trafilatura.extract(html, url=url, output_format="xml", include_tables=True, include_comments=False, include_links=False, include_images=False)
|
|
29
|
+
units, tables = [], []
|
|
30
|
+
if xml:
|
|
31
|
+
root = ET.fromstring(xml)
|
|
32
|
+
body = root.find("main")
|
|
33
|
+
if body is None:
|
|
34
|
+
body = root
|
|
35
|
+
def text_of(el):
|
|
36
|
+
return " ".join("".join(el.itertext()).split())
|
|
37
|
+
for el in body:
|
|
38
|
+
tag = el.tag
|
|
39
|
+
if tag == "head":
|
|
40
|
+
t = text_of(el)
|
|
41
|
+
if t:
|
|
42
|
+
units.append({"role": "heading", "text": t})
|
|
43
|
+
elif tag in ("p", "quote", "code"):
|
|
44
|
+
t = text_of(el)
|
|
45
|
+
if t:
|
|
46
|
+
units.append({"role": "para", "text": t})
|
|
47
|
+
elif tag == "list":
|
|
48
|
+
items = [text_of(i) for i in el.findall("item")]
|
|
49
|
+
items = [i for i in items if i]
|
|
50
|
+
if items:
|
|
51
|
+
units.append({"role": "para", "text": " / ".join(items)})
|
|
52
|
+
elif tag == "table":
|
|
53
|
+
rows = []
|
|
54
|
+
for row in el.findall("row"):
|
|
55
|
+
cells = [text_of(c) for c in row.findall("cell")]
|
|
56
|
+
if any(cells):
|
|
57
|
+
rows.append(cells)
|
|
58
|
+
if rows:
|
|
59
|
+
width = max(len(r) for r in rows)
|
|
60
|
+
rows = [r + [""] * (width - len(r)) for r in rows]
|
|
61
|
+
n = len(tables) + 1
|
|
62
|
+
tid = f"table-{n}"
|
|
63
|
+
caption = f"Table {n}: " + " | ".join(rows[0])[:120]
|
|
64
|
+
tables.append({"id": tid, "number": str(n), "caption": caption, "rows": rows, "grid": "ok" if width >= 2 else "loose", "ref_unit": len(units)})
|
|
65
|
+
units.append({"role": "caption", "ref": tid, "text": caption})
|
|
66
|
+
else:
|
|
67
|
+
t = text_of(el)
|
|
68
|
+
if t:
|
|
69
|
+
units.append({"role": "para", "text": t})
|
|
70
|
+
# trafilatura는 링크만으로 된 목록을 링크 밀도 때문에 버린다. ':'로 끝나는 문단 바로 뒤에 목록이 없으면
|
|
71
|
+
# 원문 HTML에서 그 문단 다음 목록을 찾아 항목을 되살린다
|
|
72
|
+
try:
|
|
73
|
+
import lxml.html
|
|
74
|
+
doc = lxml.html.fromstring(html)
|
|
75
|
+
paras = [(" ".join(p.text_content().split()), p) for p in doc.iter("p")]
|
|
76
|
+
rescued = []
|
|
77
|
+
for k, u in enumerate(units):
|
|
78
|
+
rescued.append(u)
|
|
79
|
+
if u["role"] != "para" or not u["text"].endswith(":"):
|
|
80
|
+
continue
|
|
81
|
+
nxt = units[k + 1] if k + 1 < len(units) else None
|
|
82
|
+
if nxt is not None and nxt["role"] == "para" and " / " in nxt["text"]:
|
|
83
|
+
continue
|
|
84
|
+
hit = next((el for t, el in paras if t == u["text"]), None)
|
|
85
|
+
sib = hit.getnext() if hit is not None else None
|
|
86
|
+
while sib is not None and not isinstance(sib.tag, str):
|
|
87
|
+
sib = sib.getnext()
|
|
88
|
+
if sib is None or sib.tag not in ("ul", "ol"):
|
|
89
|
+
continue
|
|
90
|
+
items = [" ".join(li.text_content().split()) for li in sib.findall("li")]
|
|
91
|
+
items = [i for i in items if i]
|
|
92
|
+
if items:
|
|
93
|
+
rescued.append({"role": "para", "text": " / ".join(items), "rescued": True})
|
|
94
|
+
units = rescued
|
|
95
|
+
except Exception:
|
|
96
|
+
pass
|
|
97
|
+
for i, u in enumerate(units):
|
|
98
|
+
u["i"] = i
|
|
99
|
+
out = {
|
|
100
|
+
"title": (meta.title if meta and meta.title else "") or "",
|
|
101
|
+
"author": (meta.author if meta and meta.author else "") or "",
|
|
102
|
+
"date": (meta.date if meta and meta.date else "") or "",
|
|
103
|
+
"site": (meta.sitename if meta and meta.sitename else "") or "",
|
|
104
|
+
"lang": (meta.language if meta and getattr(meta, "language", None) else "") or "",
|
|
105
|
+
"units": units,
|
|
106
|
+
"tables": tables,
|
|
107
|
+
}
|
|
108
|
+
# 목록을 되살리면 문단 번호가 밀려서 표 캡션 자리는 번호가 아니라 ref로 다시 찾는다
|
|
109
|
+
for t in tables:
|
|
110
|
+
t["unit"] = next(u["i"] for u in units if u.get("ref") == t["id"])
|
|
111
|
+
t.pop("ref_unit", None)
|
|
112
|
+
sys.stdout.write("\n" + json.dumps(out) + "\n")
|
|
113
|
+
`;
|
|
114
|
+
//# sourceMappingURL=web-extract-py.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-extract-py.js","sourceRoot":"","sources":["../../../src/lens/web-extract-py.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGvC,CAAC"}
|
|
@@ -9,6 +9,14 @@ export declare function buildResolutionPrompt(topic: string, rounds: {
|
|
|
9
9
|
question: string;
|
|
10
10
|
response: string | null;
|
|
11
11
|
}[], projectType: 'greenfield' | 'brownfield'): string;
|
|
12
|
+
/**
|
|
13
|
+
* 다시 채점하기를 요청할 때 쓰는 프롬프트. 대화 기록만 담는다.
|
|
14
|
+
* 앞 점수나 판정을 보여주면 그 숫자를 따라가서 흔들림이 안 드러난다.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildRescorePrompt(topic: string, rounds: {
|
|
17
|
+
question: string;
|
|
18
|
+
response: string | null;
|
|
19
|
+
}[], projectType: 'greenfield' | 'brownfield'): string;
|
|
12
20
|
export declare function buildSpecPrompt(topic: string, rounds: {
|
|
13
21
|
question: string;
|
|
14
22
|
response: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,iBAAiB,qtFAmB6B,CAAC;AAE5D,eAAO,MAAM,uBAAuB,ioHAiBf,CAAC;AAEtB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EAC/D,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAkBR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EACvD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAwBR;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,EAChD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAuBR"}
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,iBAAiB,qtFAmB6B,CAAC;AAE5D,eAAO,MAAM,uBAAuB,ioHAiBf,CAAC;AAEtB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EAC/D,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAkBR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EACvD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAwBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EACvD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAER;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,EAChD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAuBR"}
|
package/dist/src/llm/prompts.js
CHANGED
|
@@ -79,6 +79,13 @@ Respond with ONLY a JSON object:
|
|
|
79
79
|
"reasoning": "Brief analysis"
|
|
80
80
|
}`;
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* 다시 채점하기를 요청할 때 쓰는 프롬프트. 대화 기록만 담는다.
|
|
84
|
+
* 앞 점수나 판정을 보여주면 그 숫자를 따라가서 흔들림이 안 드러난다.
|
|
85
|
+
*/
|
|
86
|
+
export function buildRescorePrompt(topic, rounds, projectType) {
|
|
87
|
+
return buildResolutionPrompt(topic, rounds, projectType);
|
|
88
|
+
}
|
|
82
89
|
export function buildSpecPrompt(topic, rounds, projectType) {
|
|
83
90
|
const history = rounds
|
|
84
91
|
.map((r, i) => `Q${i + 1}: ${r.question}\nA${i + 1}: ${r.response}`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;2DAmB0B,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;EAiBrC,iBAAiB,EAAE,CAAC;AAEtB,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAA2B,EAC3B,cAA+D,EAC/D,WAAwC;IAExC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,cAAc;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;SACvF,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,WAAW,KAAK;gBACT,WAAW;yBACF,SAAS;YACtB,QAAQ;;EAElB,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,mDAAmD,SAAS;;;;;qEAK1C,SAAS;EAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,MAAuD,EACvD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,+CAA+C,KAAK,MAAM,WAAW;;;EAG5E,OAAO;;;;;;;;;;;IAWL,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE;;;EAGlE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,MAAgD,EAChD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,gFAAgF,KAAK,MAAM,WAAW;;;EAG7G,OAAO;;;;;;;;;;;;;;EAcP,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;2DAmB0B,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;EAiBrC,iBAAiB,EAAE,CAAC;AAEtB,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAA2B,EAC3B,cAA+D,EAC/D,WAAwC;IAExC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,cAAc;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;SACvF,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,WAAW,KAAK;gBACT,WAAW;yBACF,SAAS;YACtB,QAAQ;;EAElB,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,mDAAmD,SAAS;;;;;qEAK1C,SAAS;EAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,MAAuD,EACvD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,+CAA+C,KAAK,MAAM,WAAW;;;EAG5E,OAAO;;;;;;;;;;;IAWL,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE;;;EAGlE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,MAAuD,EACvD,WAAwC;IAExC,OAAO,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,MAAgD,EAChD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,gFAAgF,KAAK,MAAM,WAAW;;;EAG7G,OAAO;;;;;;;;;;;;;;EAcP,CAAC;AACH,CAAC"}
|
|
@@ -28,11 +28,14 @@ export declare const interviewInputSchema: z.ZodObject<{
|
|
|
28
28
|
contextClarity?: number | undefined;
|
|
29
29
|
contradictions?: string[] | undefined;
|
|
30
30
|
}>>;
|
|
31
|
+
rescore: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
rescoreMode: z.ZodOptional<z.ZodEnum<["isolated", "same-context"]>>;
|
|
31
33
|
compressedSummary: z.ZodOptional<z.ZodString>;
|
|
32
34
|
force: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
33
35
|
}, "strip", z.ZodTypeAny, {
|
|
34
36
|
force: boolean;
|
|
35
37
|
action: "complete" | "start" | "respond" | "score" | "compress";
|
|
38
|
+
rescore?: boolean | undefined;
|
|
36
39
|
sessionId?: string | undefined;
|
|
37
40
|
response?: string | undefined;
|
|
38
41
|
topic?: string | undefined;
|
|
@@ -46,9 +49,11 @@ export declare const interviewInputSchema: z.ZodObject<{
|
|
|
46
49
|
} | undefined;
|
|
47
50
|
cwd?: string | undefined;
|
|
48
51
|
generatedQuestion?: string | undefined;
|
|
52
|
+
rescoreMode?: "isolated" | "same-context" | undefined;
|
|
49
53
|
compressedSummary?: string | undefined;
|
|
50
54
|
}, {
|
|
51
55
|
action: "complete" | "start" | "respond" | "score" | "compress";
|
|
56
|
+
rescore?: boolean | undefined;
|
|
52
57
|
sessionId?: string | undefined;
|
|
53
58
|
response?: string | undefined;
|
|
54
59
|
topic?: string | undefined;
|
|
@@ -63,6 +68,7 @@ export declare const interviewInputSchema: z.ZodObject<{
|
|
|
63
68
|
} | undefined;
|
|
64
69
|
cwd?: string | undefined;
|
|
65
70
|
generatedQuestion?: string | undefined;
|
|
71
|
+
rescoreMode?: "isolated" | "same-context" | undefined;
|
|
66
72
|
compressedSummary?: string | undefined;
|
|
67
73
|
}>;
|
|
68
74
|
export type InterviewInput = z.infer<typeof interviewInputSchema>;
|
|
@@ -785,15 +791,15 @@ export declare const executeInputSchema: z.ZodObject<{
|
|
|
785
791
|
perspectives: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
786
792
|
agentName: z.ZodString;
|
|
787
793
|
perspective: z.ZodString;
|
|
788
|
-
confidence: z.ZodNumber
|
|
794
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
789
795
|
}, "strip", z.ZodTypeAny, {
|
|
790
|
-
confidence: number;
|
|
791
796
|
agentName: string;
|
|
792
797
|
perspective: string;
|
|
798
|
+
confidence?: number | undefined;
|
|
793
799
|
}, {
|
|
794
|
-
confidence: number;
|
|
795
800
|
agentName: string;
|
|
796
801
|
perspective: string;
|
|
802
|
+
confidence?: number | undefined;
|
|
797
803
|
}>, "many">>;
|
|
798
804
|
consensus: z.ZodOptional<z.ZodObject<{
|
|
799
805
|
consensus: z.ZodString;
|
|
@@ -801,31 +807,31 @@ export declare const executeInputSchema: z.ZodObject<{
|
|
|
801
807
|
perspectives: z.ZodArray<z.ZodObject<{
|
|
802
808
|
agentName: z.ZodString;
|
|
803
809
|
perspective: z.ZodString;
|
|
804
|
-
confidence: z.ZodNumber
|
|
810
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
805
811
|
}, "strip", z.ZodTypeAny, {
|
|
806
|
-
confidence: number;
|
|
807
812
|
agentName: string;
|
|
808
813
|
perspective: string;
|
|
814
|
+
confidence?: number | undefined;
|
|
809
815
|
}, {
|
|
810
|
-
confidence: number;
|
|
811
816
|
agentName: string;
|
|
812
817
|
perspective: string;
|
|
818
|
+
confidence?: number | undefined;
|
|
813
819
|
}>, "many">;
|
|
814
820
|
}, "strip", z.ZodTypeAny, {
|
|
815
821
|
consensus: string;
|
|
816
822
|
conflictResolutions: string[];
|
|
817
823
|
perspectives: {
|
|
818
|
-
confidence: number;
|
|
819
824
|
agentName: string;
|
|
820
825
|
perspective: string;
|
|
826
|
+
confidence?: number | undefined;
|
|
821
827
|
}[];
|
|
822
828
|
}, {
|
|
823
829
|
consensus: string;
|
|
824
830
|
conflictResolutions: string[];
|
|
825
831
|
perspectives: {
|
|
826
|
-
confidence: number;
|
|
827
832
|
agentName: string;
|
|
828
833
|
perspective: string;
|
|
834
|
+
confidence?: number | undefined;
|
|
829
835
|
}[];
|
|
830
836
|
}>>;
|
|
831
837
|
lateralResult: z.ZodOptional<z.ZodObject<{
|
|
@@ -1335,18 +1341,18 @@ export declare const executeInputSchema: z.ZodObject<{
|
|
|
1335
1341
|
consensus: string;
|
|
1336
1342
|
conflictResolutions: string[];
|
|
1337
1343
|
perspectives: {
|
|
1338
|
-
confidence: number;
|
|
1339
1344
|
agentName: string;
|
|
1340
1345
|
perspective: string;
|
|
1346
|
+
confidence?: number | undefined;
|
|
1341
1347
|
}[];
|
|
1342
1348
|
} | undefined;
|
|
1343
1349
|
client?: "claude-code" | "codex" | "both" | "grok" | undefined;
|
|
1344
1350
|
sessionId?: string | undefined;
|
|
1345
1351
|
cwd?: string | undefined;
|
|
1346
1352
|
perspectives?: {
|
|
1347
|
-
confidence: number;
|
|
1348
1353
|
agentName: string;
|
|
1349
1354
|
perspective: string;
|
|
1355
|
+
confidence?: number | undefined;
|
|
1350
1356
|
}[] | undefined;
|
|
1351
1357
|
specPatch?: {
|
|
1352
1358
|
constraints?: string[] | undefined;
|
|
@@ -1592,9 +1598,9 @@ export declare const executeInputSchema: z.ZodObject<{
|
|
|
1592
1598
|
consensus: string;
|
|
1593
1599
|
conflictResolutions: string[];
|
|
1594
1600
|
perspectives: {
|
|
1595
|
-
confidence: number;
|
|
1596
1601
|
agentName: string;
|
|
1597
1602
|
perspective: string;
|
|
1603
|
+
confidence?: number | undefined;
|
|
1598
1604
|
}[];
|
|
1599
1605
|
} | undefined;
|
|
1600
1606
|
client?: "claude-code" | "codex" | "both" | "grok" | undefined;
|
|
@@ -1602,9 +1608,9 @@ export declare const executeInputSchema: z.ZodObject<{
|
|
|
1602
1608
|
cwd?: string | undefined;
|
|
1603
1609
|
verbose?: boolean | undefined;
|
|
1604
1610
|
perspectives?: {
|
|
1605
|
-
confidence: number;
|
|
1606
1611
|
agentName: string;
|
|
1607
1612
|
perspective: string;
|
|
1613
|
+
confidence?: number | undefined;
|
|
1608
1614
|
}[] | undefined;
|
|
1609
1615
|
specPatch?: {
|
|
1610
1616
|
constraints?: string[] | undefined;
|
|
@@ -2362,15 +2368,15 @@ export declare const executeToolSchema: {
|
|
|
2362
2368
|
perspectives: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2363
2369
|
agentName: z.ZodString;
|
|
2364
2370
|
perspective: z.ZodString;
|
|
2365
|
-
confidence: z.ZodNumber
|
|
2371
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
2366
2372
|
}, "strip", z.ZodTypeAny, {
|
|
2367
|
-
confidence: number;
|
|
2368
2373
|
agentName: string;
|
|
2369
2374
|
perspective: string;
|
|
2375
|
+
confidence?: number | undefined;
|
|
2370
2376
|
}, {
|
|
2371
|
-
confidence: number;
|
|
2372
2377
|
agentName: string;
|
|
2373
2378
|
perspective: string;
|
|
2379
|
+
confidence?: number | undefined;
|
|
2374
2380
|
}>, "many">>;
|
|
2375
2381
|
consensus: z.ZodOptional<z.ZodObject<{
|
|
2376
2382
|
consensus: z.ZodString;
|
|
@@ -2378,31 +2384,31 @@ export declare const executeToolSchema: {
|
|
|
2378
2384
|
perspectives: z.ZodArray<z.ZodObject<{
|
|
2379
2385
|
agentName: z.ZodString;
|
|
2380
2386
|
perspective: z.ZodString;
|
|
2381
|
-
confidence: z.ZodNumber
|
|
2387
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
2382
2388
|
}, "strip", z.ZodTypeAny, {
|
|
2383
|
-
confidence: number;
|
|
2384
2389
|
agentName: string;
|
|
2385
2390
|
perspective: string;
|
|
2391
|
+
confidence?: number | undefined;
|
|
2386
2392
|
}, {
|
|
2387
|
-
confidence: number;
|
|
2388
2393
|
agentName: string;
|
|
2389
2394
|
perspective: string;
|
|
2395
|
+
confidence?: number | undefined;
|
|
2390
2396
|
}>, "many">;
|
|
2391
2397
|
}, "strip", z.ZodTypeAny, {
|
|
2392
2398
|
consensus: string;
|
|
2393
2399
|
conflictResolutions: string[];
|
|
2394
2400
|
perspectives: {
|
|
2395
|
-
confidence: number;
|
|
2396
2401
|
agentName: string;
|
|
2397
2402
|
perspective: string;
|
|
2403
|
+
confidence?: number | undefined;
|
|
2398
2404
|
}[];
|
|
2399
2405
|
}, {
|
|
2400
2406
|
consensus: string;
|
|
2401
2407
|
conflictResolutions: string[];
|
|
2402
2408
|
perspectives: {
|
|
2403
|
-
confidence: number;
|
|
2404
2409
|
agentName: string;
|
|
2405
2410
|
perspective: string;
|
|
2411
|
+
confidence?: number | undefined;
|
|
2406
2412
|
}[];
|
|
2407
2413
|
}>>;
|
|
2408
2414
|
lateralResult: z.ZodOptional<z.ZodObject<{
|
|
@@ -3517,6 +3523,7 @@ export declare const digestInputSchema: z.ZodObject<{
|
|
|
3517
3523
|
slug: z.ZodString;
|
|
3518
3524
|
repoRoot: z.ZodOptional<z.ZodString>;
|
|
3519
3525
|
inlineFrames: z.ZodOptional<z.ZodBoolean>;
|
|
3526
|
+
omitCrops: z.ZodOptional<z.ZodBoolean>;
|
|
3520
3527
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3521
3528
|
path: z.ZodString;
|
|
3522
3529
|
text: z.ZodString;
|
|
@@ -3542,6 +3549,7 @@ export declare const digestInputSchema: z.ZodObject<{
|
|
|
3542
3549
|
repoRoot?: string | undefined;
|
|
3543
3550
|
dryRun?: boolean | undefined;
|
|
3544
3551
|
inlineFrames?: boolean | undefined;
|
|
3552
|
+
omitCrops?: boolean | undefined;
|
|
3545
3553
|
}, {
|
|
3546
3554
|
action: "validate" | "render" | "prose_extract" | "prose_apply";
|
|
3547
3555
|
slug: string;
|
|
@@ -3553,6 +3561,7 @@ export declare const digestInputSchema: z.ZodObject<{
|
|
|
3553
3561
|
repoRoot?: string | undefined;
|
|
3554
3562
|
dryRun?: boolean | undefined;
|
|
3555
3563
|
inlineFrames?: boolean | undefined;
|
|
3564
|
+
omitCrops?: boolean | undefined;
|
|
3556
3565
|
}>;
|
|
3557
3566
|
export type DigestInput = z.infer<typeof digestInputSchema>;
|
|
3558
3567
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/src/mcp/schemas.js
CHANGED
|
@@ -45,6 +45,14 @@ export const interviewInputSchema = guardObject(z.object({
|
|
|
45
45
|
})
|
|
46
46
|
.optional()
|
|
47
47
|
.describe('Resolution scores computed by the caller LLM (passthrough mode)'),
|
|
48
|
+
rescore: z
|
|
49
|
+
.boolean()
|
|
50
|
+
.optional()
|
|
51
|
+
.describe('score only: rescorePrompt로 다시 채점한 점수를 resolutionScore에 담아 보낼 때 true. 처음 기준값을 넘은 뒤 인터뷰마다 한 번만 받는다.'),
|
|
52
|
+
rescoreMode: z
|
|
53
|
+
.enum(['isolated', 'same-context'])
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("rescore 전용. 인터뷰 맥락이 없는 서브에이전트가 채점했으면 'isolated', 같은 대화에서 다시 채점했으면 'same-context'. 생략하면 same-context로 남긴다."),
|
|
48
56
|
compressedSummary: z
|
|
49
57
|
.string()
|
|
50
58
|
.optional()
|
|
@@ -53,7 +61,7 @@ export const interviewInputSchema = guardObject(z.object({
|
|
|
53
61
|
.boolean()
|
|
54
62
|
.optional()
|
|
55
63
|
.default(false)
|
|
56
|
-
.describe('complete only: 해상도가
|
|
64
|
+
.describe('complete only: 해상도가 기준값(interview.resolutionThreshold, 기본 0.8)에 못 미치거나 gate의 다시 채점을 통과하지 못해도 완료한다. 사용자가 명시적으로 넘기기로 한 경우에만 쓴다. 세션과 이벤트에 forced로 남는다.'),
|
|
57
65
|
}));
|
|
58
66
|
// ─── Spec Tool ──────────────────────────────────────────────────
|
|
59
67
|
export const specInputSchema = guardObject(z.object({
|
|
@@ -342,7 +350,7 @@ export const executeInputSchema = guardObject(z.object({
|
|
|
342
350
|
.array(z.object({
|
|
343
351
|
agentName: z.string(),
|
|
344
352
|
perspective: z.string(),
|
|
345
|
-
confidence: z.number().min(0).max(1),
|
|
353
|
+
confidence: z.number().min(0).max(1).optional(),
|
|
346
354
|
}))
|
|
347
355
|
.optional()
|
|
348
356
|
.describe('Role perspectives from parallel LLM calls (for role_consensus action, call 1)'),
|
|
@@ -353,7 +361,7 @@ export const executeInputSchema = guardObject(z.object({
|
|
|
353
361
|
perspectives: z.array(z.object({
|
|
354
362
|
agentName: z.string(),
|
|
355
363
|
perspective: z.string(),
|
|
356
|
-
confidence: z.number().min(0).max(1),
|
|
364
|
+
confidence: z.number().min(0).max(1).optional(),
|
|
357
365
|
})),
|
|
358
366
|
})
|
|
359
367
|
.optional()
|
|
@@ -975,6 +983,10 @@ export const digestInputSchema = guardObject(z.object({
|
|
|
975
983
|
.boolean()
|
|
976
984
|
.optional()
|
|
977
985
|
.describe('render: 프레임을 HTML 안에 data URI로 넣는다. 한 장 5MB, 합계 15MB까지'),
|
|
986
|
+
omitCrops: z
|
|
987
|
+
.boolean()
|
|
988
|
+
.optional()
|
|
989
|
+
.describe('render: 읽기 렌즈 리포트에서 원문 쪽 그림과 표, 그림 크롭을 빼고 그린다. 남에게 공유할 HTML을 만들 때 쓴다'),
|
|
978
990
|
items: z
|
|
979
991
|
.array(z.object({
|
|
980
992
|
path: z.string().describe('prose_extract가 준 path 그대로'),
|