@tienne/gestalt 0.101.1 → 0.103.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/README.ko.md +2 -1
- package/README.md +2 -1
- package/dist/package.json +1 -1
- package/dist/plugin/role-agents/video-summarizer/AGENT.md +177 -113
- package/dist/plugin/skills/_shared/agent-delegation.md +1 -1
- package/dist/plugin/skills/_shared/proactive-routing.md +3 -2
- package/dist/plugin/skills/_shared/research-humanize.md +160 -0
- package/dist/plugin/skills/research/SKILL.md +20 -2
- package/dist/plugin/skills/research/references/design.md +14 -2
- package/dist/plugin/skills/reverse-plan/SKILL.md +3 -1
- package/dist/plugin/skills/ux-research/SKILL.md +3 -1
- package/dist/plugin/skills/video-digest/SKILL.md +408 -0
- package/dist/plugin/skills/video-digest/templates/background.md +15 -0
- package/dist/plugin/skills/video-digest/templates/blog.md +16 -0
- package/dist/plugin/skills/video-digest/templates/comments.md +19 -0
- package/dist/plugin/skills/video-digest/templates/counterpoints.md +15 -0
- package/dist/plugin/skills/video-digest/templates/flashcards.md +15 -0
- package/dist/plugin/skills/video-digest/templates/interview.md +15 -0
- package/dist/plugin/skills/video-digest/templates/meeting.md +15 -0
- package/dist/plugin/skills/video-digest/templates/mindmap.md +16 -0
- package/dist/plugin/skills/video-digest/templates/quiz.md +16 -0
- package/dist/plugin/skills/video-digest/templates/quotes.md +16 -0
- package/dist/plugin/skills/video-digest/templates/resources.md +14 -0
- package/dist/plugin/skills/video-digest/templates/timestamps.md +14 -0
- package/dist/src/cli/commands/digest.d.ts +57 -0
- package/dist/src/cli/commands/digest.d.ts.map +1 -0
- package/dist/src/cli/commands/digest.js +368 -0
- package/dist/src/cli/commands/digest.js.map +1 -0
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +77 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/digest/blocks.d.ts +1853 -0
- package/dist/src/digest/blocks.d.ts.map +1 -0
- package/dist/src/digest/blocks.js +148 -0
- package/dist/src/digest/blocks.js.map +1 -0
- package/dist/src/digest/captions.d.ts +37 -0
- package/dist/src/digest/captions.d.ts.map +1 -0
- package/dist/src/digest/captions.js +138 -0
- package/dist/src/digest/captions.js.map +1 -0
- package/dist/src/digest/comments.d.ts +113 -0
- package/dist/src/digest/comments.d.ts.map +1 -0
- package/dist/src/digest/comments.js +153 -0
- package/dist/src/digest/comments.js.map +1 -0
- package/dist/src/digest/format.d.ts +9 -0
- package/dist/src/digest/format.d.ts.map +1 -0
- package/dist/src/digest/format.js +26 -0
- package/dist/src/digest/format.js.map +1 -0
- package/dist/src/digest/frames.d.ts +26 -0
- package/dist/src/digest/frames.d.ts.map +1 -0
- package/dist/src/digest/frames.js +109 -0
- package/dist/src/digest/frames.js.map +1 -0
- package/dist/src/digest/index.d.ts +25 -0
- package/dist/src/digest/index.d.ts.map +1 -0
- package/dist/src/digest/index.js +25 -0
- package/dist/src/digest/index.js.map +1 -0
- package/dist/src/digest/ingest.d.ts +65 -0
- package/dist/src/digest/ingest.d.ts.map +1 -0
- package/dist/src/digest/ingest.js +303 -0
- package/dist/src/digest/ingest.js.map +1 -0
- package/dist/src/digest/lint-extension.d.ts +57 -0
- package/dist/src/digest/lint-extension.d.ts.map +1 -0
- package/dist/src/digest/lint-extension.js +395 -0
- package/dist/src/digest/lint-extension.js.map +1 -0
- package/dist/src/digest/lint.d.ts +40 -0
- package/dist/src/digest/lint.d.ts.map +1 -0
- package/dist/src/digest/lint.js +517 -0
- package/dist/src/digest/lint.js.map +1 -0
- package/dist/src/digest/merge.d.ts +40 -0
- package/dist/src/digest/merge.d.ts.map +1 -0
- package/dist/src/digest/merge.js +104 -0
- package/dist/src/digest/merge.js.map +1 -0
- package/dist/src/digest/ocr.d.ts +96 -0
- package/dist/src/digest/ocr.d.ts.map +1 -0
- package/dist/src/digest/ocr.js +168 -0
- package/dist/src/digest/ocr.js.map +1 -0
- package/dist/src/digest/prose.d.ts +43 -0
- package/dist/src/digest/prose.d.ts.map +1 -0
- package/dist/src/digest/prose.js +112 -0
- package/dist/src/digest/prose.js.map +1 -0
- package/dist/src/digest/render-blocks.d.ts +32 -0
- package/dist/src/digest/render-blocks.d.ts.map +1 -0
- package/dist/src/digest/render-blocks.js +292 -0
- package/dist/src/digest/render-blocks.js.map +1 -0
- package/dist/src/digest/render-html.d.ts +22 -0
- package/dist/src/digest/render-html.d.ts.map +1 -0
- package/dist/src/digest/render-html.js +466 -0
- package/dist/src/digest/render-html.js.map +1 -0
- package/dist/src/digest/render-md.d.ts +18 -0
- package/dist/src/digest/render-md.d.ts.map +1 -0
- package/dist/src/digest/render-md.js +113 -0
- package/dist/src/digest/render-md.js.map +1 -0
- package/dist/src/digest/render.d.ts +47 -0
- package/dist/src/digest/render.d.ts.map +1 -0
- package/dist/src/digest/render.js +123 -0
- package/dist/src/digest/render.js.map +1 -0
- package/dist/src/digest/reports.d.ts +26 -0
- package/dist/src/digest/reports.d.ts.map +1 -0
- package/dist/src/digest/reports.js +70 -0
- package/dist/src/digest/reports.js.map +1 -0
- package/dist/src/digest/schema-base.d.ts +31 -0
- package/dist/src/digest/schema-base.d.ts.map +1 -0
- package/dist/src/digest/schema-base.js +19 -0
- package/dist/src/digest/schema-base.js.map +1 -0
- package/dist/src/digest/schema.d.ts +5713 -0
- package/dist/src/digest/schema.d.ts.map +1 -0
- package/dist/src/digest/schema.js +229 -0
- package/dist/src/digest/schema.js.map +1 -0
- package/dist/src/digest/server.d.ts +36 -0
- package/dist/src/digest/server.d.ts.map +1 -0
- package/dist/src/digest/server.js +278 -0
- package/dist/src/digest/server.js.map +1 -0
- package/dist/src/digest/slice.d.ts +20 -0
- package/dist/src/digest/slice.d.ts.map +1 -0
- package/dist/src/digest/slice.js +48 -0
- package/dist/src/digest/slice.js.map +1 -0
- package/dist/src/digest/store.d.ts +67 -0
- package/dist/src/digest/store.d.ts.map +1 -0
- package/dist/src/digest/store.js +152 -0
- package/dist/src/digest/store.js.map +1 -0
- package/dist/src/digest/svg.d.ts +44 -0
- package/dist/src/digest/svg.d.ts.map +1 -0
- package/dist/src/digest/svg.js +264 -0
- package/dist/src/digest/svg.js.map +1 -0
- package/dist/src/digest/templates.d.ts +38 -0
- package/dist/src/digest/templates.d.ts.map +1 -0
- package/dist/src/digest/templates.js +125 -0
- package/dist/src/digest/templates.js.map +1 -0
- package/dist/src/digest/translate.d.ts +46 -0
- package/dist/src/digest/translate.d.ts.map +1 -0
- package/dist/src/digest/translate.js +50 -0
- package/dist/src/digest/translate.js.map +1 -0
- package/dist/src/digest/viewer-js.d.ts +4 -0
- package/dist/src/digest/viewer-js.d.ts.map +1 -0
- package/dist/src/digest/viewer-js.js +710 -0
- package/dist/src/digest/viewer-js.js.map +1 -0
- package/dist/src/digest/viewer-logic.d.ts +46 -0
- package/dist/src/digest/viewer-logic.d.ts.map +1 -0
- package/dist/src/digest/viewer-logic.js +89 -0
- package/dist/src/digest/viewer-logic.js.map +1 -0
- package/dist/src/digest/ytdlp.d.ts +34 -0
- package/dist/src/digest/ytdlp.d.ts.map +1 -0
- package/dist/src/digest/ytdlp.js +64 -0
- package/dist/src/digest/ytdlp.js.map +1 -0
- package/dist/src/humanize/detectors.js +2 -2
- package/dist/src/humanize/detectors.js.map +1 -1
- package/dist/src/mcp/schemas.d.ts +78 -4
- package/dist/src/mcp/schemas.d.ts.map +1 -1
- package/dist/src/mcp/schemas.js +40 -2
- 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 +8 -2
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/digest-passthrough.d.ts +3 -0
- package/dist/src/mcp/tools/digest-passthrough.d.ts.map +1 -0
- package/dist/src/mcp/tools/digest-passthrough.js +148 -0
- package/dist/src/mcp/tools/digest-passthrough.js.map +1 -0
- package/dist/src/mcp/tools/research-passthrough.d.ts.map +1 -1
- package/dist/src/mcp/tools/research-passthrough.js +56 -0
- package/dist/src/mcp/tools/research-passthrough.js.map +1 -1
- package/dist/src/research/index.d.ts +1 -0
- package/dist/src/research/index.d.ts.map +1 -1
- package/dist/src/research/index.js +1 -0
- package/dist/src/research/index.js.map +1 -1
- package/dist/src/research/prose.d.ts +60 -0
- package/dist/src/research/prose.d.ts.map +1 -0
- package/dist/src/research/prose.js +200 -0
- package/dist/src/research/prose.js.map +1 -0
- package/package.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +1 -1
- package/plugin/mcp.json +1 -1
- package/plugin/role-agents/video-summarizer/AGENT.md +177 -113
- package/plugin/skills/_shared/agent-delegation.md +1 -1
- package/plugin/skills/_shared/proactive-routing.md +3 -2
- package/plugin/skills/_shared/research-humanize.md +160 -0
- package/plugin/skills/research/SKILL.md +20 -2
- package/plugin/skills/research/references/design.md +14 -2
- package/plugin/skills/reverse-plan/SKILL.md +3 -1
- package/plugin/skills/ux-research/SKILL.md +3 -1
- package/plugin/skills/video-digest/SKILL.md +408 -0
- package/plugin/skills/video-digest/templates/background.md +15 -0
- package/plugin/skills/video-digest/templates/blog.md +16 -0
- package/plugin/skills/video-digest/templates/comments.md +19 -0
- package/plugin/skills/video-digest/templates/counterpoints.md +15 -0
- package/plugin/skills/video-digest/templates/flashcards.md +15 -0
- package/plugin/skills/video-digest/templates/interview.md +15 -0
- package/plugin/skills/video-digest/templates/meeting.md +15 -0
- package/plugin/skills/video-digest/templates/mindmap.md +16 -0
- package/plugin/skills/video-digest/templates/quiz.md +16 -0
- package/plugin/skills/video-digest/templates/quotes.md +16 -0
- package/plugin/skills/video-digest/templates/resources.md +14 -0
- package/plugin/skills/video-digest/templates/timestamps.md +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewer-js.js","sourceRoot":"","sources":["../../../src/digest/viewer-js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GACpB,eAAe;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8rBD,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 브라우저에 싣는 코드라 문자열로 둔다. 판단만 하는 순수 함수와 타이머로 확인할 복사 알림은 VIEWER_LOGIC_JS에 모아
|
|
3
|
+
* 테스트가 이 문자열을 그대로 실행해 본다. DOM과 유튜브 플레이어를 다루는 IIFE는 viewer-js.ts에 있고
|
|
4
|
+
* 테스트에서 문법만 확인한다. OCR처럼 Node 쪽에서 같은 판단이 필요한 코드는 뷰어 스크립트 대신 이 모듈을 가져온다.
|
|
5
|
+
*/
|
|
6
|
+
export declare const VIEWER_LOGIC_JS = "\nfunction findSegmentIndex(starts, t) {\n if (!starts.length || !(t >= starts[0])) return -1;\n var lo = 0, hi = starts.length - 1;\n while (lo < hi) {\n var mid = (lo + hi + 1) >> 1;\n if (starts[mid] <= t) lo = mid; else hi = mid - 1;\n }\n return lo;\n}\nfunction shouldFollow(idx, from, to, now, manualUntil) {\n if (now < manualUntil) return false;\n return !(idx >= from && idx <= to);\n}\nfunction shouldFollowHeld(state, idx, from, to, now, manualUntil) {\n if (state === 1 || state === 3) return false;\n return shouldFollow(idx, from, to, now, manualUntil);\n}\nfunction cueAction(state) {\n return state === 1 || state === 2 || state === 3 ? 'seek' : 'cue';\n}\nfunction citeWindow(from, to, max) {\n var end = Math.min(to, from + max - 1);\n return { end: end, more: Math.max(0, to - end) };\n}\nfunction pickReport(reports, length, difficulty) {\n for (var i = 0; i < reports.length; i++) {\n var r = reports[i];\n if (r.preset && r.length === length && r.difficulty === difficulty) return i;\n }\n return -1;\n}\nfunction reportCommand(slug, length, difficulty, lang) {\n var cmd = '/gestalt:video-digest slug=' + slug + ' length=' + length + ' difficulty=' + difficulty;\n return lang ? cmd + ' reportLang=' + lang : cmd;\n}\nfunction templateCommand(slug, id, lang) {\n var cmd = '/gestalt:video-digest slug=' + slug + ' templates=' + id;\n return lang ? cmd + ' reportLang=' + lang : cmd;\n}\nfunction tabStep(i, n, key) {\n if (key === 'ArrowRight') return (i + 1) % n;\n if (key === 'ArrowLeft') return (i - 1 + n) % n;\n if (key === 'Home') return 0;\n if (key === 'End') return n - 1;\n return -1;\n}\nfunction safeDecode(s) {\n try { return decodeURIComponent(s); } catch (e) { return ''; }\n}\nfunction videoState(ended, paused, time, readyState) {\n if (ended) return 0;\n if (paused) return time > 0 ? 2 : -1;\n return readyState < 3 ? 3 : 1;\n}\n// \uB450 \uBCF5\uC0AC \uBC84\uD2BC\uC774 \uB77C\uC774\uBE0C \uC601\uC5ED \uD558\uB098\uB97C \uAC19\uC774 \uC368\uC11C \uD0C0\uC774\uBA38\uB3C4 \uD558\uB098\uB85C \uBB36\uB294\uB2E4. \uC55E \uD0C0\uC774\uBA38\uAC00 \uB0A8\uC73C\uBA74 \uB4A4 \uBB38\uAD6C\uB97C \uC77C\uCC0D \uC9C0\uC6B4\uB2E4\n// \uBC84\uD2BC \uAE00\uC790\uB9CC \uBC14\uAFB8\uBA74 \uC2A4\uD06C\uB9B0\uB9AC\uB354\uAC00 \uACB0\uACFC\uB97C \uC548 \uC77D\uC5B4\uC11C \uACB0\uACFC \uBB38\uAD6C\uB294 \uB77C\uC774\uBE0C \uC601\uC5ED\uC5D0 \uB530\uB85C \uC4F4\uB2E4.\n// \uAC19\uC740 \uBB38\uAD6C\uB97C \uADF8\uB300\uB85C \uB2E4\uC2DC \uB123\uC73C\uBA74 \uC548 \uC77D\uB294 \uB9AC\uB354\uAC00 \uC788\uC5B4\uC11C \uD55C \uBC88 \uBE44\uC6B0\uACE0 setTimeout 0\uC73C\uB85C \uBBF8\uB904 \uC4F4\uB2E4\nfunction makeFlash(getStatus) {\n var flashTimer = null;\n var flashBtn = null;\n var flashLabel = '';\n return function flash(btn, label, failed) {\n var status = getStatus();\n clearTimeout(flashTimer);\n if (flashBtn && flashBtn !== btn) flashBtn.textContent = flashLabel;\n flashBtn = btn;\n flashLabel = label;\n btn.textContent = failed ? '\uBCF5\uC0AC \uC2E4\uD328' : '\uBCF5\uC0AC\uD588\uC5B4\uC694';\n if (status) status.textContent = '';\n flashTimer = setTimeout(function(){\n if (status) status.textContent = failed ? '\uBCF5\uC0AC\uD558\uC9C0 \uBABB\uD588\uC5B4\uC694. \uC9C1\uC811 \uC120\uD0DD\uD574 \uBCF5\uC0AC\uD574 \uC8FC\uC138\uC694' : '\uBCF5\uC0AC\uD588\uC5B4\uC694';\n flashTimer = setTimeout(function(){\n btn.textContent = label;\n flashBtn = null;\n if (status) status.textContent = '';\n }, failed ? 3000 : 1500);\n }, 0);\n };\n}\n";
|
|
7
|
+
export interface ViewerLogic {
|
|
8
|
+
/** 재생 시각 t에 해당하는 문장 번호. 첫 문장보다 이르면 -1 */
|
|
9
|
+
findSegmentIndex: (starts: number[], t: number) => number;
|
|
10
|
+
/** 읽는 소섹션이 바뀌었을 때 영상을 그 구간으로 옮길지 */
|
|
11
|
+
shouldFollow: (idx: number, from: number, to: number, now: number, manualUntil: number) => boolean;
|
|
12
|
+
/** 시각을 누른 직후라 미뤄 둔 소섹션 이동을 유예가 끝난 뒤 할지. 그사이 재생이나 버퍼링 중이면 사용자가 옮긴 자리를 둔다 */
|
|
13
|
+
shouldFollowHeld: (state: number, idx: number, from: number, to: number, now: number, manualUntil: number) => boolean;
|
|
14
|
+
/** 유튜브 재생 상태별로 seekTo를 쓸지 cueVideoById를 쓸지 */
|
|
15
|
+
cueAction: (state: number) => 'seek' | 'cue';
|
|
16
|
+
/** 출처 툴팁에 보일 마지막 문장 번호와 생략한 문장 수 */
|
|
17
|
+
citeWindow: (from: number, to: number, max: number) => {
|
|
18
|
+
end: number;
|
|
19
|
+
more: number;
|
|
20
|
+
};
|
|
21
|
+
/** 툴바의 분량과 난이도 조합에 맞는 리포트 자리. 없으면 -1 */
|
|
22
|
+
pickReport: (reports: {
|
|
23
|
+
preset: boolean;
|
|
24
|
+
length: string;
|
|
25
|
+
difficulty: string;
|
|
26
|
+
}[], length: string, difficulty: string) => number;
|
|
27
|
+
/** 없는 조합을 고르면 복사해 주는 생성 명령. 지금 보는 리포트의 언어를 따라가야 다른 언어 리포트가 안 생긴다 */
|
|
28
|
+
reportCommand: (slug: string, length: string, difficulty: string, lang?: string) => string;
|
|
29
|
+
/** "+ 더 만들기"에서 템플릿을 고르면 복사해 주는 명령. 언어는 지금 보는 리포트를 따른다 */
|
|
30
|
+
templateCommand: (slug: string, id: string, lang?: string) => string;
|
|
31
|
+
/** 탭 목록에서 방향키, Home, End로 옮겨 갈 자리. 다른 키면 -1 */
|
|
32
|
+
tabStep: (i: number, n: number, key: string) => number;
|
|
33
|
+
/** 공유 링크의 앵커는 외부 입력이라 깨진 인코딩이면 빈 문자열로 받는다 */
|
|
34
|
+
safeDecode: (s: string) => string;
|
|
35
|
+
/** HTML5 video 상태를 유튜브 재생 상태 코드로 옮긴다. 따라가기 판정이 그 코드만 본다 */
|
|
36
|
+
videoState: (ended: boolean, paused: boolean, time: number, readyState: number) => number;
|
|
37
|
+
/** 복사 결과를 보여 주는 flash 함수를 만든다. 결과는 버튼 글자와 라이브 영역에 잠깐 나오고 버튼 둘이 타이머 하나를 같이 쓴다 */
|
|
38
|
+
makeFlash: (getStatus: () => {
|
|
39
|
+
textContent: string | null;
|
|
40
|
+
} | null) => (btn: {
|
|
41
|
+
textContent: string | null;
|
|
42
|
+
}, label: string, failed: boolean) => void;
|
|
43
|
+
}
|
|
44
|
+
export declare const viewerLogic: ViewerLogic;
|
|
45
|
+
export declare const findSegmentIndex: (starts: number[], t: number) => number;
|
|
46
|
+
//# sourceMappingURL=viewer-logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewer-logic.d.ts","sourceRoot":"","sources":["../../../src/digest/viewer-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,eAAe,ghHAgF3B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,oCAAoC;IACpC,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACb,2EAA2E;IAC3E,gBAAgB,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACb,8CAA8C;IAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,CAAC;IAC7C,oCAAoC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,wCAAwC;IACxC,UAAU,EAAE,CACV,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,EAClE,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,MAAM,CAAC;IACZ,oEAAoE;IACpE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3F,yDAAyD;IACzD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,+CAA+C;IAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD,6CAA6C;IAC7C,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1F,gFAAgF;IAChF,SAAS,EAAE,CACT,SAAS,EAAE,MAAM;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,KACnD,CAAC,GAAG,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACpF;AAED,eAAO,MAAM,WAAW,EAEjB,WAAW,CAAC;AAEnB,eAAO,MAAM,gBAAgB,WAhDA,MAAM,EAAE,KAAK,MAAM,KAAK,MAgDO,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 브라우저에 싣는 코드라 문자열로 둔다. 판단만 하는 순수 함수와 타이머로 확인할 복사 알림은 VIEWER_LOGIC_JS에 모아
|
|
3
|
+
* 테스트가 이 문자열을 그대로 실행해 본다. DOM과 유튜브 플레이어를 다루는 IIFE는 viewer-js.ts에 있고
|
|
4
|
+
* 테스트에서 문법만 확인한다. OCR처럼 Node 쪽에서 같은 판단이 필요한 코드는 뷰어 스크립트 대신 이 모듈을 가져온다.
|
|
5
|
+
*/
|
|
6
|
+
export const VIEWER_LOGIC_JS = `
|
|
7
|
+
function findSegmentIndex(starts, t) {
|
|
8
|
+
if (!starts.length || !(t >= starts[0])) return -1;
|
|
9
|
+
var lo = 0, hi = starts.length - 1;
|
|
10
|
+
while (lo < hi) {
|
|
11
|
+
var mid = (lo + hi + 1) >> 1;
|
|
12
|
+
if (starts[mid] <= t) lo = mid; else hi = mid - 1;
|
|
13
|
+
}
|
|
14
|
+
return lo;
|
|
15
|
+
}
|
|
16
|
+
function shouldFollow(idx, from, to, now, manualUntil) {
|
|
17
|
+
if (now < manualUntil) return false;
|
|
18
|
+
return !(idx >= from && idx <= to);
|
|
19
|
+
}
|
|
20
|
+
function shouldFollowHeld(state, idx, from, to, now, manualUntil) {
|
|
21
|
+
if (state === 1 || state === 3) return false;
|
|
22
|
+
return shouldFollow(idx, from, to, now, manualUntil);
|
|
23
|
+
}
|
|
24
|
+
function cueAction(state) {
|
|
25
|
+
return state === 1 || state === 2 || state === 3 ? 'seek' : 'cue';
|
|
26
|
+
}
|
|
27
|
+
function citeWindow(from, to, max) {
|
|
28
|
+
var end = Math.min(to, from + max - 1);
|
|
29
|
+
return { end: end, more: Math.max(0, to - end) };
|
|
30
|
+
}
|
|
31
|
+
function pickReport(reports, length, difficulty) {
|
|
32
|
+
for (var i = 0; i < reports.length; i++) {
|
|
33
|
+
var r = reports[i];
|
|
34
|
+
if (r.preset && r.length === length && r.difficulty === difficulty) return i;
|
|
35
|
+
}
|
|
36
|
+
return -1;
|
|
37
|
+
}
|
|
38
|
+
function reportCommand(slug, length, difficulty, lang) {
|
|
39
|
+
var cmd = '/gestalt:video-digest slug=' + slug + ' length=' + length + ' difficulty=' + difficulty;
|
|
40
|
+
return lang ? cmd + ' reportLang=' + lang : cmd;
|
|
41
|
+
}
|
|
42
|
+
function templateCommand(slug, id, lang) {
|
|
43
|
+
var cmd = '/gestalt:video-digest slug=' + slug + ' templates=' + id;
|
|
44
|
+
return lang ? cmd + ' reportLang=' + lang : cmd;
|
|
45
|
+
}
|
|
46
|
+
function tabStep(i, n, key) {
|
|
47
|
+
if (key === 'ArrowRight') return (i + 1) % n;
|
|
48
|
+
if (key === 'ArrowLeft') return (i - 1 + n) % n;
|
|
49
|
+
if (key === 'Home') return 0;
|
|
50
|
+
if (key === 'End') return n - 1;
|
|
51
|
+
return -1;
|
|
52
|
+
}
|
|
53
|
+
function safeDecode(s) {
|
|
54
|
+
try { return decodeURIComponent(s); } catch (e) { return ''; }
|
|
55
|
+
}
|
|
56
|
+
function videoState(ended, paused, time, readyState) {
|
|
57
|
+
if (ended) return 0;
|
|
58
|
+
if (paused) return time > 0 ? 2 : -1;
|
|
59
|
+
return readyState < 3 ? 3 : 1;
|
|
60
|
+
}
|
|
61
|
+
// 두 복사 버튼이 라이브 영역 하나를 같이 써서 타이머도 하나로 묶는다. 앞 타이머가 남으면 뒤 문구를 일찍 지운다
|
|
62
|
+
// 버튼 글자만 바꾸면 스크린리더가 결과를 안 읽어서 결과 문구는 라이브 영역에 따로 쓴다.
|
|
63
|
+
// 같은 문구를 그대로 다시 넣으면 안 읽는 리더가 있어서 한 번 비우고 setTimeout 0으로 미뤄 쓴다
|
|
64
|
+
function makeFlash(getStatus) {
|
|
65
|
+
var flashTimer = null;
|
|
66
|
+
var flashBtn = null;
|
|
67
|
+
var flashLabel = '';
|
|
68
|
+
return function flash(btn, label, failed) {
|
|
69
|
+
var status = getStatus();
|
|
70
|
+
clearTimeout(flashTimer);
|
|
71
|
+
if (flashBtn && flashBtn !== btn) flashBtn.textContent = flashLabel;
|
|
72
|
+
flashBtn = btn;
|
|
73
|
+
flashLabel = label;
|
|
74
|
+
btn.textContent = failed ? '복사 실패' : '복사했어요';
|
|
75
|
+
if (status) status.textContent = '';
|
|
76
|
+
flashTimer = setTimeout(function(){
|
|
77
|
+
if (status) status.textContent = failed ? '복사하지 못했어요. 직접 선택해 복사해 주세요' : '복사했어요';
|
|
78
|
+
flashTimer = setTimeout(function(){
|
|
79
|
+
btn.textContent = label;
|
|
80
|
+
flashBtn = null;
|
|
81
|
+
if (status) status.textContent = '';
|
|
82
|
+
}, failed ? 3000 : 1500);
|
|
83
|
+
}, 0);
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
`;
|
|
87
|
+
export const viewerLogic = new Function(`${VIEWER_LOGIC_JS}; return { findSegmentIndex: findSegmentIndex, shouldFollow: shouldFollow, shouldFollowHeld: shouldFollowHeld, cueAction: cueAction, citeWindow: citeWindow, pickReport: pickReport, reportCommand: reportCommand, templateCommand: templateCommand, tabStep: tabStep, safeDecode: safeDecode, videoState: videoState, makeFlash: makeFlash };`)();
|
|
88
|
+
export const findSegmentIndex = viewerLogic.findSegmentIndex;
|
|
89
|
+
//# sourceMappingURL=viewer-logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewer-logic.js","sourceRoot":"","sources":["../../../src/digest/viewer-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF9B,CAAC;AAgDF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,QAAQ,CACrC,GAAG,eAAe,gVAAgV,CACnW,EAAiB,CAAC;AAEnB,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface RunResult {
|
|
2
|
+
stdout: string;
|
|
3
|
+
stderr: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* cwd는 레포 밖에 새로 만든 임시 폴더여야 한다. yt-dlp는 cwd의 yt-dlp.conf를 설정으로 읽고
|
|
7
|
+
* python3 -c는 cwd의 모듈을 먼저 import해서, 남의 레포 안에서 돌리면 그 레포 파일이 실행된다
|
|
8
|
+
*/
|
|
9
|
+
export type RunCommand = (cmd: string, args: string[], opts: {
|
|
10
|
+
cwd: string;
|
|
11
|
+
timeoutMs?: number;
|
|
12
|
+
}) => Promise<RunResult>;
|
|
13
|
+
export declare class CommandError extends Error {
|
|
14
|
+
readonly cmd: string;
|
|
15
|
+
readonly stderr: string;
|
|
16
|
+
constructor(cmd: string, stderr: string, message: string);
|
|
17
|
+
}
|
|
18
|
+
export declare const runCommand: RunCommand;
|
|
19
|
+
/**
|
|
20
|
+
* 유튜브가 기본 클라이언트 요청에 403을 내는 경우가 잦아서 web_embedded로 한 번 더 시도한다.
|
|
21
|
+
* 실험해 보니 web_embedded는 메타데이터와 자막, 720p 이하 영상 포맷까지 받아진다.
|
|
22
|
+
*/
|
|
23
|
+
export declare const WEB_EMBEDDED: string[];
|
|
24
|
+
export declare function ytdlp(run: RunCommand, args: string[], retryArgs: string[] | undefined, opts: {
|
|
25
|
+
cwd: string;
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
}): Promise<RunResult>;
|
|
28
|
+
/** 메타데이터와 자막은 영상 길이와 무관하게 금방 끝난다. 이보다 길면 네트워크가 멈춘 것이다 */
|
|
29
|
+
export declare const QUICK_TIMEOUT_MS = 120000;
|
|
30
|
+
/**
|
|
31
|
+
* 영상 길이에 비례하는 작업의 상한. 느린 회선에서도 넉넉하게 잡되 멈춘 프로세스를 무한정 기다리지는 않는다
|
|
32
|
+
*/
|
|
33
|
+
export declare function timeoutFor(durationSec: number, secPerVideoSec: number, baseSec?: number): number;
|
|
34
|
+
//# sourceMappingURL=ytdlp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ytdlp.d.ts","sourceRoot":"","sources":["../../../src/digest/ytdlp.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KACtC,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM;CAKlB;AAKD,eAAO,MAAM,UAAU,EAAE,UA6BxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,UAA6D,CAAC;AAIvF,wBAAsB,KAAK,CACzB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,EAAE,YAAO,EAC1B,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,SAAS,CAAC,CAQpB;AAED,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,SAAM,GAAG,MAAM,CAE7F"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
const execFileAsync = promisify(execFile);
|
|
4
|
+
export class CommandError extends Error {
|
|
5
|
+
cmd;
|
|
6
|
+
stderr;
|
|
7
|
+
constructor(cmd, stderr, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.cmd = cmd;
|
|
10
|
+
this.stderr = stderr;
|
|
11
|
+
this.name = 'CommandError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** yt-dlp -J 결과가 수 MB라 기본 버퍼(1MB)로는 잘린다 */
|
|
15
|
+
const MAX_BUFFER = 64 * 1024 * 1024;
|
|
16
|
+
export const runCommand = async (cmd, args, opts) => {
|
|
17
|
+
try {
|
|
18
|
+
const { stdout, stderr } = await execFileAsync(cmd, args, {
|
|
19
|
+
cwd: opts.cwd,
|
|
20
|
+
maxBuffer: MAX_BUFFER,
|
|
21
|
+
timeout: opts.timeoutMs ?? 0,
|
|
22
|
+
encoding: 'utf8',
|
|
23
|
+
});
|
|
24
|
+
return { stdout, stderr };
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
const err = e;
|
|
28
|
+
if (err.killed && opts.timeoutMs) {
|
|
29
|
+
throw new CommandError(cmd, typeof err.stderr === 'string' ? err.stderr : '', `${cmd}가 ${Math.round(opts.timeoutMs / 1000)}초 안에 끝나지 않아 멈췄어요.`);
|
|
30
|
+
}
|
|
31
|
+
if (err.code === 'ENOENT') {
|
|
32
|
+
throw new CommandError(cmd, '', `${cmd}를 찾지 못했어요. 설치한 뒤 PATH에 있는지 확인해 주세요.`);
|
|
33
|
+
}
|
|
34
|
+
const stderr = typeof err.stderr === 'string' ? err.stderr : '';
|
|
35
|
+
const tail = stderr.trim().split('\n').slice(-3).join('\n');
|
|
36
|
+
throw new CommandError(cmd, stderr, `${cmd} 실행 실패: ${tail || err.message}`);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* 유튜브가 기본 클라이언트 요청에 403을 내는 경우가 잦아서 web_embedded로 한 번 더 시도한다.
|
|
41
|
+
* 실험해 보니 web_embedded는 메타데이터와 자막, 720p 이하 영상 포맷까지 받아진다.
|
|
42
|
+
*/
|
|
43
|
+
export const WEB_EMBEDDED = ['--extractor-args', 'youtube:player_client=web_embedded'];
|
|
44
|
+
const is403 = (e) => e instanceof CommandError && /\b403\b|Forbidden/i.test(e.stderr);
|
|
45
|
+
export async function ytdlp(run, args, retryArgs = args, opts) {
|
|
46
|
+
const base = ['--no-update', '--no-warnings'];
|
|
47
|
+
try {
|
|
48
|
+
return await run('yt-dlp', [...base, ...args], opts);
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
if (!is403(e))
|
|
52
|
+
throw e;
|
|
53
|
+
return run('yt-dlp', [...base, ...WEB_EMBEDDED, ...retryArgs], opts);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** 메타데이터와 자막은 영상 길이와 무관하게 금방 끝난다. 이보다 길면 네트워크가 멈춘 것이다 */
|
|
57
|
+
export const QUICK_TIMEOUT_MS = 120_000;
|
|
58
|
+
/**
|
|
59
|
+
* 영상 길이에 비례하는 작업의 상한. 느린 회선에서도 넉넉하게 잡되 멈춘 프로세스를 무한정 기다리지는 않는다
|
|
60
|
+
*/
|
|
61
|
+
export function timeoutFor(durationSec, secPerVideoSec, baseSec = 120) {
|
|
62
|
+
return Math.round((baseSec + Math.max(0, durationSec) * secPerVideoSec) * 1000);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ytdlp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ytdlp.js","sourceRoot":"","sources":["../../../src/digest/ytdlp.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,7 +152,7 @@ const DETECTORS = [
|
|
|
152
152
|
matcher('A-2', new RegExp(`[가-힣)\\]]\\s*(?:를|을)?\\s*통(?:해서|하여|해)${JOSA}${NOT_HANGUL}`, 'g')),
|
|
153
153
|
matcher('A-3', new RegExp(`[가-힣)\\]]\\s*에\\s*있어(?:서)?${JOSA}${NOT_HANGUL}`, 'g')),
|
|
154
154
|
matcher('A-5', new RegExp(`(?:와|과)\\s*관련(?:하여|해서|해|된|한)${NOT_HANGUL}`, 'g')),
|
|
155
|
-
matcher('A-7', /가지고\s*있(
|
|
155
|
+
matcher('A-7', /가지고\s*있(?:다|습니다|는|었|지|어)/g),
|
|
156
156
|
// 되어진다는 지+ㄴ이 결합해 "진"으로 적히므로 자모 분리 형태로는 안 잡힌다
|
|
157
157
|
matcher('A-8', /되어\s*(?:진|지[다고며])|지게\s*(?:된|되[다었어고])|되어\s*졌/g),
|
|
158
158
|
matcher('A-9', new RegExp(`[가-힣)\\]]\\s*에\\s*의(?:해서|하여|해)${NOT_HANGUL}`, 'g')),
|
|
@@ -183,7 +183,7 @@ const DETECTORS = [
|
|
|
183
183
|
matcher('D-1', /(?:결론적으로|요약하자면|요약하면|정리하자면|정리하면|종합하면|이를\s*통해)/g),
|
|
184
184
|
matcher('D-2', /(?:시사하는\s*바가\s*크|주목할\s*만하)/g),
|
|
185
185
|
matcher('D-3', /(?:본질적으로|핵심적으로)/g),
|
|
186
|
-
matcher('D-4', /(?:파격적|압도적|획기적|혁신적|전례\s
|
|
186
|
+
matcher('D-4', /(?:파격적|압도적|획기적|혁신적|전례\s*없|폭발적|강력한)/g),
|
|
187
187
|
matcher('D-6', /(?:할\s*때다|할\s*때입니다|할\s*시점|지금이야말로|할\s*순간)/g),
|
|
188
188
|
matcher('D-8', /(?:뼈아[프픈팠픕]|뜨끔|부끄럽|(?:제일|가장|많이)\s*아팠)/g),
|
|
189
189
|
// 방향, 결론, 판단, 논의가 스스로 움직이는 자리를 본다. 사이에 토큰 하나까지는
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../../src/humanize/detectors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../../src/humanize/detectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -3389,9 +3389,9 @@ export declare const architectureInputSchema: z.ZodObject<{
|
|
|
3389
3389
|
}>;
|
|
3390
3390
|
export type ArchitectureInput = z.infer<typeof architectureInputSchema>;
|
|
3391
3391
|
/** `ges_research`가 받는 액션. 서버 등록이 이 배열을 그대로 쓴다 */
|
|
3392
|
-
export declare const RESEARCH_ACTIONS: readonly ["sources", "redact_image", "redact_script", "validate", "render", "figma_plan", "create_source", "split_video", "merge_video", "profile"];
|
|
3392
|
+
export declare const RESEARCH_ACTIONS: readonly ["sources", "redact_image", "redact_script", "validate", "render", "figma_plan", "create_source", "split_video", "merge_video", "profile", "prose_extract", "prose_apply"];
|
|
3393
3393
|
export declare const researchInputSchema: z.ZodObject<{
|
|
3394
|
-
action: z.ZodEnum<["sources", "redact_image", "redact_script", "validate", "render", "figma_plan", "create_source", "split_video", "merge_video", "profile"]>;
|
|
3394
|
+
action: z.ZodEnum<["sources", "redact_image", "redact_script", "validate", "render", "figma_plan", "create_source", "split_video", "merge_video", "profile", "prose_extract", "prose_apply"]>;
|
|
3395
3395
|
repoRoot: z.ZodOptional<z.ZodString>;
|
|
3396
3396
|
available: z.ZodOptional<z.ZodObject<{
|
|
3397
3397
|
mcpServers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -3424,11 +3424,30 @@ export declare const researchInputSchema: z.ZodObject<{
|
|
|
3424
3424
|
removeFromMain: z.ZodOptional<z.ZodBoolean>;
|
|
3425
3425
|
product: z.ZodOptional<z.ZodString>;
|
|
3426
3426
|
profile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3427
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3428
|
+
path: z.ZodString;
|
|
3429
|
+
text: z.ZodString;
|
|
3430
|
+
hash: z.ZodString;
|
|
3431
|
+
}, "strip", z.ZodTypeAny, {
|
|
3432
|
+
text: string;
|
|
3433
|
+
path: string;
|
|
3434
|
+
hash: string;
|
|
3435
|
+
}, {
|
|
3436
|
+
text: string;
|
|
3437
|
+
path: string;
|
|
3438
|
+
hash: string;
|
|
3439
|
+
}>, "many">>;
|
|
3440
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
3427
3441
|
inline: z.ZodOptional<z.ZodBoolean>;
|
|
3428
3442
|
}, "strip", z.ZodTypeAny, {
|
|
3429
|
-
action: "validate" | "render" | "sources" | "redact_image" | "redact_script" | "figma_plan" | "create_source" | "split_video" | "merge_video" | "profile";
|
|
3443
|
+
action: "validate" | "render" | "sources" | "redact_image" | "redact_script" | "figma_plan" | "create_source" | "split_video" | "merge_video" | "profile" | "prose_extract" | "prose_apply";
|
|
3430
3444
|
name?: string | undefined;
|
|
3431
3445
|
source?: Record<string, unknown> | undefined;
|
|
3446
|
+
items?: {
|
|
3447
|
+
text: string;
|
|
3448
|
+
path: string;
|
|
3449
|
+
hash: string;
|
|
3450
|
+
}[] | undefined;
|
|
3432
3451
|
stage?: "evidence" | "product-discovery" | "scale" | "screen-map" | "baseline" | undefined;
|
|
3433
3452
|
repoRoot?: string | undefined;
|
|
3434
3453
|
irPath?: string | undefined;
|
|
@@ -3451,11 +3470,17 @@ export declare const researchInputSchema: z.ZodObject<{
|
|
|
3451
3470
|
videoSlug?: string | undefined;
|
|
3452
3471
|
removeFromMain?: boolean | undefined;
|
|
3453
3472
|
product?: string | undefined;
|
|
3473
|
+
dryRun?: boolean | undefined;
|
|
3454
3474
|
inline?: boolean | undefined;
|
|
3455
3475
|
}, {
|
|
3456
|
-
action: "validate" | "render" | "sources" | "redact_image" | "redact_script" | "figma_plan" | "create_source" | "split_video" | "merge_video" | "profile";
|
|
3476
|
+
action: "validate" | "render" | "sources" | "redact_image" | "redact_script" | "figma_plan" | "create_source" | "split_video" | "merge_video" | "profile" | "prose_extract" | "prose_apply";
|
|
3457
3477
|
name?: string | undefined;
|
|
3458
3478
|
source?: Record<string, unknown> | undefined;
|
|
3479
|
+
items?: {
|
|
3480
|
+
text: string;
|
|
3481
|
+
path: string;
|
|
3482
|
+
hash: string;
|
|
3483
|
+
}[] | undefined;
|
|
3459
3484
|
stage?: "evidence" | "product-discovery" | "scale" | "screen-map" | "baseline" | undefined;
|
|
3460
3485
|
repoRoot?: string | undefined;
|
|
3461
3486
|
irPath?: string | undefined;
|
|
@@ -3478,7 +3503,56 @@ export declare const researchInputSchema: z.ZodObject<{
|
|
|
3478
3503
|
videoSlug?: string | undefined;
|
|
3479
3504
|
removeFromMain?: boolean | undefined;
|
|
3480
3505
|
product?: string | undefined;
|
|
3506
|
+
dryRun?: boolean | undefined;
|
|
3481
3507
|
inline?: boolean | undefined;
|
|
3482
3508
|
}>;
|
|
3483
3509
|
export type ResearchInput = z.infer<typeof researchInputSchema>;
|
|
3510
|
+
/**
|
|
3511
|
+
* `ges_digest`가 받는 액션. ingest, frames, serve, export는 yt-dlp와 ffmpeg를 부르거나
|
|
3512
|
+
* 서버를 띄우는 셸 작업이라 CLI(`gestalt digest`)에만 둔다
|
|
3513
|
+
*/
|
|
3514
|
+
export declare const DIGEST_ACTIONS: readonly ["validate", "render", "prose_extract", "prose_apply"];
|
|
3515
|
+
export declare const digestInputSchema: z.ZodObject<{
|
|
3516
|
+
action: z.ZodEnum<["validate", "render", "prose_extract", "prose_apply"]>;
|
|
3517
|
+
slug: z.ZodString;
|
|
3518
|
+
repoRoot: z.ZodOptional<z.ZodString>;
|
|
3519
|
+
inlineFrames: z.ZodOptional<z.ZodBoolean>;
|
|
3520
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3521
|
+
path: z.ZodString;
|
|
3522
|
+
text: z.ZodString;
|
|
3523
|
+
hash: z.ZodString;
|
|
3524
|
+
}, "strip", z.ZodTypeAny, {
|
|
3525
|
+
text: string;
|
|
3526
|
+
path: string;
|
|
3527
|
+
hash: string;
|
|
3528
|
+
}, {
|
|
3529
|
+
text: string;
|
|
3530
|
+
path: string;
|
|
3531
|
+
hash: string;
|
|
3532
|
+
}>, "many">>;
|
|
3533
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
3534
|
+
}, "strip", z.ZodTypeAny, {
|
|
3535
|
+
action: "validate" | "render" | "prose_extract" | "prose_apply";
|
|
3536
|
+
slug: string;
|
|
3537
|
+
items?: {
|
|
3538
|
+
text: string;
|
|
3539
|
+
path: string;
|
|
3540
|
+
hash: string;
|
|
3541
|
+
}[] | undefined;
|
|
3542
|
+
repoRoot?: string | undefined;
|
|
3543
|
+
dryRun?: boolean | undefined;
|
|
3544
|
+
inlineFrames?: boolean | undefined;
|
|
3545
|
+
}, {
|
|
3546
|
+
action: "validate" | "render" | "prose_extract" | "prose_apply";
|
|
3547
|
+
slug: string;
|
|
3548
|
+
items?: {
|
|
3549
|
+
text: string;
|
|
3550
|
+
path: string;
|
|
3551
|
+
hash: string;
|
|
3552
|
+
}[] | undefined;
|
|
3553
|
+
repoRoot?: string | undefined;
|
|
3554
|
+
dryRun?: boolean | undefined;
|
|
3555
|
+
inlineFrames?: boolean | undefined;
|
|
3556
|
+
}>;
|
|
3557
|
+
export type DigestInput = z.infer<typeof digestInputSchema>;
|
|
3484
3558
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/schemas.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -850,11 +850,13 @@ export const RESEARCH_ACTIONS = [
|
|
|
850
850
|
'split_video',
|
|
851
851
|
'merge_video',
|
|
852
852
|
'profile',
|
|
853
|
+
'prose_extract',
|
|
854
|
+
'prose_apply',
|
|
853
855
|
];
|
|
854
856
|
export const researchInputSchema = guardObject(z.object({
|
|
855
857
|
action: z
|
|
856
858
|
.enum(RESEARCH_ACTIONS)
|
|
857
|
-
.describe('sources: 출처 목록과 이 세션에서 쓸 수 있는지(usable, fallback, skipped). redact_image: 캡처 이미지의 개인정보를 가짜 값으로 바꿔 .gestalt/research/<slug>/captures에 저장. redact_script: 웹 화면을 캡처하기 전에 DOM에서 실행할 치환 스크립트. validate: research.json 검증과 의미 경고. render: 검증 뒤 저장하고 개인용과 공유용 HTML을 만든다. figma_plan: 같은 research.json에서 Figma 중립 계획(figma-plan.json)과 Plugin API 스크립트를 만든다. create_source: source 없이 부르면 물어볼 목록과 예시를 주고, source를 주면 검증해서 ~/.gestalt/research-sources/<name>/SOURCE.md에 쓰고 시험 호출까지 한다. split_video: 본문(slug)의 영상 블록을 video-analysis 문서(videoSlug)로 떼어내고 캡처 이미지를 복사한다. merge_video: 영상 문서(videoSlug)의 영상 블록을 본문(slug)에 합친다. 둘 다 같은 id가 다른 내용이면 멈춘다. profile: 제품 코드에서 훑은 분석 이벤트 지도를 .gestalt/research/_products/<product>.json에 두고 읽는다. product만 주면 읽고 저장한 커밋이 지금 HEAD와 다른지 알려준다. profile을 주면 검증해서 저장한다. 둘 다 비우면 저장된 제품 목록을
|
|
859
|
+
.describe('sources: 출처 목록과 이 세션에서 쓸 수 있는지(usable, fallback, skipped). redact_image: 캡처 이미지의 개인정보를 가짜 값으로 바꿔 .gestalt/research/<slug>/captures에 저장. redact_script: 웹 화면을 캡처하기 전에 DOM에서 실행할 치환 스크립트. validate: research.json 검증과 의미 경고. render: 검증 뒤 저장하고 개인용과 공유용 HTML을 만든다. figma_plan: 같은 research.json에서 Figma 중립 계획(figma-plan.json)과 Plugin API 스크립트를 만든다. create_source: source 없이 부르면 물어볼 목록과 예시를 주고, source를 주면 검증해서 ~/.gestalt/research-sources/<name>/SOURCE.md에 쓰고 시험 호출까지 한다. split_video: 본문(slug)의 영상 블록을 video-analysis 문서(videoSlug)로 떼어내고 캡처 이미지를 복사한다. merge_video: 영상 문서(videoSlug)의 영상 블록을 본문(slug)에 합친다. 둘 다 같은 id가 다른 내용이면 멈춘다. profile: 제품 코드에서 훑은 분석 이벤트 지도를 .gestalt/research/_products/<product>.json에 두고 읽는다. product만 주면 읽고 저장한 커밋이 지금 HEAD와 다른지 알려준다. profile을 주면 검증해서 저장한다. 둘 다 비우면 저장된 제품 목록을 준다. prose_extract: 저장된 research.json(slug)에서 윤문할 산문 필드만 { path, register, text, hash } 목록으로 뽑는다. register는 와우와 페인 불릿이 chat(해요체), 나머지가 report(평서체)다. 회사 발언과 짧은 비교표 칸, id와 수치와 이름은 꺼내지 않는다. prose_apply: 다듬은 목록(items)을 같은 path로 되돌려 넣고 저장한다. 원문에 있던 (해석) 태그, 출처와 날짜 괄호, 근거 위치 괄호, ◎○△ 기호, 숫자, URL이 하나라도 빠지거나 바뀐 항목은 원문을 두고 경고한다'),
|
|
858
860
|
repoRoot: z.string().optional().describe('기본은 현재 디렉토리'),
|
|
859
861
|
available: z
|
|
860
862
|
.object({
|
|
@@ -881,7 +883,7 @@ export const researchInputSchema = guardObject(z.object({
|
|
|
881
883
|
slug: z
|
|
882
884
|
.string()
|
|
883
885
|
.optional()
|
|
884
|
-
.describe('redact_image, redact_script: 리서치 slug. 같은 slug 안에서는 같은 값이 같은 가명이
|
|
886
|
+
.describe('redact_image, redact_script: 리서치 slug. 같은 slug 안에서는 같은 값이 같은 가명이 된다. prose_extract, prose_apply: 다룰 리서치 slug. 둘 다 저장본만 읽고 irPath는 받지 않는다'),
|
|
885
887
|
imagePath: z
|
|
886
888
|
.string()
|
|
887
889
|
.optional()
|
|
@@ -942,9 +944,45 @@ export const researchInputSchema = guardObject(z.object({
|
|
|
942
944
|
.record(z.unknown())
|
|
943
945
|
.optional()
|
|
944
946
|
.describe('profile: 저장할 프로필(product, repo, commit, scannedAt, sdk, keyLocation, amplitudeProject, events[{ name, screen, action, file, properties }]). 키 값은 넣지 않고 키가 있는 파일 경로만 적는다'),
|
|
947
|
+
items: z
|
|
948
|
+
.array(z.object({
|
|
949
|
+
path: z.string().describe('prose_extract가 준 path 그대로'),
|
|
950
|
+
text: z.string().describe('다듬은 문장'),
|
|
951
|
+
hash: z
|
|
952
|
+
.string()
|
|
953
|
+
.describe('prose_extract가 준 hash 그대로. 원문이 그사이 바뀌었는지 본다'),
|
|
954
|
+
}))
|
|
955
|
+
.optional()
|
|
956
|
+
.describe('prose_apply: 되돌려 넣을 항목. 바꾸지 않은 항목은 빼도 된다. hash가 원문과 다르면 STALE 경고로 건너뛴다'),
|
|
957
|
+
dryRun: z.boolean().optional().describe('prose_apply: 검사와 경고만 돌려주고 저장하지 않는다'),
|
|
945
958
|
inline: z
|
|
946
959
|
.boolean()
|
|
947
960
|
.optional()
|
|
948
961
|
.describe('redact_script, figma_plan: 스크립트 본문을 응답에 싣는다(figma_plan은 200KB 이하일 때). 기본은 파일 경로만 준다. 파일을 못 읽는 도구(aside)에서만 켠다'),
|
|
949
962
|
}));
|
|
963
|
+
/**
|
|
964
|
+
* `ges_digest`가 받는 액션. ingest, frames, serve, export는 yt-dlp와 ffmpeg를 부르거나
|
|
965
|
+
* 서버를 띄우는 셸 작업이라 CLI(`gestalt digest`)에만 둔다
|
|
966
|
+
*/
|
|
967
|
+
export const DIGEST_ACTIONS = ['validate', 'render', 'prose_extract', 'prose_apply'];
|
|
968
|
+
export const digestInputSchema = guardObject(z.object({
|
|
969
|
+
action: z
|
|
970
|
+
.enum(DIGEST_ACTIONS)
|
|
971
|
+
.describe('validate: .gestalt/digest/<slug>/digest.json을 스키마와 lint로 검사하고 오류와 경고, 리포트 키 목록(reports)을 준다. render: 검사를 통과한 요약으로 뷰어 HTML(digest.html, 리포트 전부)과 마크다운(digest.md, 첫 리포트)을 만든다. LLM을 부르지 않는다. prose_extract: 윤문할 문장만 { path, text, hash } 목록으로 뽑는다. 제목은 빼고 도입, 결론, 불릿, 키워드 설명, 뺀 구간 사유를 꺼낸다. prose_apply: 다듬은 목록(items)을 같은 path로 되돌려 넣고 저장한다. 굵게(**), 키워드 마커의 id, 숫자, URL이 하나라도 빠지거나 바뀐 항목은 원문을 두고 경고한다'),
|
|
972
|
+
slug: z.string().describe('요약 slug. gestalt digest ingest가 알려준 값'),
|
|
973
|
+
repoRoot: z.string().optional().describe('기본은 현재 디렉토리'),
|
|
974
|
+
inlineFrames: z
|
|
975
|
+
.boolean()
|
|
976
|
+
.optional()
|
|
977
|
+
.describe('render: 프레임을 HTML 안에 data URI로 넣는다. 한 장 5MB, 합계 15MB까지'),
|
|
978
|
+
items: z
|
|
979
|
+
.array(z.object({
|
|
980
|
+
path: z.string().describe('prose_extract가 준 path 그대로'),
|
|
981
|
+
text: z.string().describe('다듬은 문장'),
|
|
982
|
+
hash: z.string().describe('prose_extract가 준 hash 그대로'),
|
|
983
|
+
}))
|
|
984
|
+
.optional()
|
|
985
|
+
.describe('prose_apply: 되돌려 넣을 항목. 바꾸지 않은 항목은 빼도 된다'),
|
|
986
|
+
dryRun: z.boolean().optional().describe('prose_apply: 검사와 경고만 돌려주고 저장하지 않는다'),
|
|
987
|
+
}));
|
|
950
988
|
//# sourceMappingURL=schemas.js.map
|