@modootoday/datalab-extension-mcp 1.9.3 → 1.10.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.en.md +9 -9
- package/README.md +9 -9
- package/dist/{chunk-Q3IODS5D.js → chunk-2DXMDY7Q.js} +9 -727
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -61,7 +61,7 @@ One command finds **every** AI app on your computer and connects them automatica
|
|
|
61
61
|
2. **Paste this command and press Enter.** The saved command names an exact bootstrap version. At startup and while idle, the connector checks the canonical release and promotes itself to the current secure, compatible version. Diagnostic environments can opt out with `--no-self-update`.
|
|
62
62
|
|
|
63
63
|
```
|
|
64
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
64
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 install
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Lines of English scrolling by is normal. This only downloads and runs the connector — it touches nothing else.
|
|
@@ -151,10 +151,10 @@ diagnosis, Place reputation, Pumasi, photo/video production, and automatic tool
|
|
|
151
151
|
discovery. Press Enter to keep the recommended set.
|
|
152
152
|
|
|
153
153
|
```
|
|
154
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
155
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
156
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
157
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
154
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills list
|
|
155
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills status
|
|
156
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills attach <name>
|
|
157
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills detach <name>
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
- `list` shows everything in this version, name and description.
|
|
@@ -240,7 +240,7 @@ _(The DataLab Tools panel is closed in Chrome. Open Chrome, keep the panel open,
|
|
|
240
240
|
|
|
241
241
|
Exactly what it says. Open Chrome, keep the DataLab Tools side panel open, and it works immediately.
|
|
242
242
|
|
|
243
|
-
### I only see
|
|
243
|
+
### I only see 9 tools
|
|
244
244
|
|
|
245
245
|
That's expected — **it's deliberate.**
|
|
246
246
|
|
|
@@ -254,7 +254,7 @@ Nothing is out of reach because of it. Ask for something that isn't in the list
|
|
|
254
254
|
Local fuzzy matching covers spacing, inflection, and minor typos. The only cost is
|
|
255
255
|
that extra step: **the first call to a given tool can be a second or two slower.**
|
|
256
256
|
|
|
257
|
-
If the AI says a feature doesn't exist, tell it: **"
|
|
257
|
+
If the AI says a feature doesn't exist, tell it: **"search the hidden tools and
|
|
258
258
|
answer again."**
|
|
259
259
|
|
|
260
260
|
### The card is green but your AI app can't find the tools
|
|
@@ -273,7 +273,7 @@ Start it again after a full quit and it picks the tools up. If they still aren't
|
|
|
273
273
|
- **When the connection disappears** — run the very command you used at the start once more; it safely re-registers. (Some AI apps clean up their settings file and drop the connection.)
|
|
274
274
|
|
|
275
275
|
```
|
|
276
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
276
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 install
|
|
277
277
|
```
|
|
278
278
|
|
|
279
279
|
- **`'npx' is not recognized...`** — Node.js isn't installed. The "No Node.js?" one-liner in Step 2 is the simplest fix.
|
|
@@ -303,7 +303,7 @@ Start it again after a full quit and it picks the tools up. If they still aren't
|
|
|
303
303
|
1. Run this in a terminal (it removes the entries registered in your AI apps).
|
|
304
304
|
|
|
305
305
|
```
|
|
306
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
306
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 uninstall
|
|
307
307
|
```
|
|
308
308
|
|
|
309
309
|
2. Turn **MCP 연결** off in the extension settings. The panel is the bridge, so with it off a leftover config line can look nothing up.
|
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ Claude 같은 AI 앱을 데이터랩툴즈에 연결해 주는 작은 무료 프
|
|
|
55
55
|
2. **아래 명령을 붙여넣고 Enter를 눌러요.** 저장되는 명령은 정확한 시작 버전을 적습니다. 연결 프로그램은 시작할 때와 유휴 상태에서 정본 릴리스를 확인해 현재의 안전하고 호환되는 버전으로 승격합니다. 진단 환경에서는 `--no-self-update`로 승격을 끌 수 있어요.
|
|
56
56
|
|
|
57
57
|
```
|
|
58
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
58
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 install
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
영어 글자가 여러 줄 올라오는 건 정상이에요. 이 명령은 연결 프로그램을 다운로드해 실행할 뿐, 다른 건 건드리지 않아요.
|
|
@@ -137,10 +137,10 @@ Claude 같은 AI 앱을 데이터랩툴즈에 연결해 주는 작은 무료 프
|
|
|
137
137
|
도움말을 번호로 여러 개 고를 수 있어요. Enter를 누르면 추천 구성만 설치됩니다.
|
|
138
138
|
|
|
139
139
|
```
|
|
140
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
141
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
142
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
143
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
140
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills list
|
|
141
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills status
|
|
142
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills attach <이름>
|
|
143
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 skills detach <이름>
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
- `list` 는 이 버전에 들어 있는 전부를 이름과 설명으로 보여 줘요.
|
|
@@ -210,7 +210,7 @@ MCP 를 켜 두었지만 **네이버 페이지가 한 곳도 열려 있지 않
|
|
|
210
210
|
|
|
211
211
|
말 그대로예요. Chrome을 열고 데이터랩툴즈 사이드 패널을 열어 두면 바로 동작해요.
|
|
212
212
|
|
|
213
|
-
### 도구가
|
|
213
|
+
### 도구가 9개밖에 안 보여요
|
|
214
214
|
|
|
215
215
|
정상이에요. **일부러 그렇게 보냅니다.**
|
|
216
216
|
|
|
@@ -222,7 +222,7 @@ MCP 를 켜 두었지만 **네이버 페이지가 한 곳도 열려 있지 않
|
|
|
222
222
|
보내 후보와 인자 형식을 받은 뒤 실행합니다. 조사 변화·띄어쓰기·가벼운 오타도 로컬 유사도
|
|
223
223
|
검색으로 보완합니다. 처음 부르는 도구는 이 조회 때문에 답이 1~2초 늦을 수 있어요.
|
|
224
224
|
|
|
225
|
-
AI가 "그런 기능은 없다" 고 답하면, **"
|
|
225
|
+
AI가 "그런 기능은 없다" 고 답하면, **"숨은 도구를 찾아보고 다시 답해줘"** 라고 한 번
|
|
226
226
|
말해 주세요.
|
|
227
227
|
|
|
228
228
|
### 카드는 초록색인데 AI 앱이 도구를 못 찾을 때
|
|
@@ -241,7 +241,7 @@ AI가 "그런 기능은 없다" 고 답하면, **"도구 목록을 확인해 보
|
|
|
241
241
|
- **연결이 사라졌을 때** — 처음 실행했던 그 명령을 한 번 더 실행하면 안전하게 다시 등록돼요. (일부 AI 앱이 설정 파일을 정리하며 연결을 지우기도 해요.)
|
|
242
242
|
|
|
243
243
|
```
|
|
244
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
244
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 install
|
|
245
245
|
```
|
|
246
246
|
|
|
247
247
|
- **`'npx'을(는) 내부 또는 외부 명령...`** — Node.js가 없는 거예요. 위 2단계의 "Node.js가 없다면" 한 줄 설치가 가장 간단해요.
|
|
@@ -271,7 +271,7 @@ AI가 "그런 기능은 없다" 고 답하면, **"도구 목록을 확인해 보
|
|
|
271
271
|
1. 터미널에서 아래 명령을 실행해요(AI 앱에 등록된 설정을 지워 줘요).
|
|
272
272
|
|
|
273
273
|
```
|
|
274
|
-
npx -y @modootoday/datalab-extension-mcp@1.
|
|
274
|
+
npx -y @modootoday/datalab-extension-mcp@1.10.0 uninstall
|
|
275
275
|
```
|
|
276
276
|
|
|
277
277
|
2. 확장 설정에서 **MCP 연결을 꺼요.** 패널이 브릿지라, 꺼 두면 어딘가 설정 줄이 남아 있어도 AI 앱이 아무것도 조회할 수 없어요.
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__export
|
|
3
3
|
} from "./chunk-MLKGABMK.js";
|
|
4
4
|
|
|
5
|
-
// ../mcp-server/dist/chunk-
|
|
5
|
+
// ../mcp-server/dist/chunk-TMP6PY3G.js
|
|
6
6
|
import { createHash } from "crypto";
|
|
7
7
|
import { createHash as createHash2, randomUUID } from "crypto";
|
|
8
8
|
import { mkdir, readFile, readdir, rm, writeFile } from "fs/promises";
|
|
@@ -19322,312 +19322,7 @@ function projectTools(descriptors) {
|
|
|
19322
19322
|
}
|
|
19323
19323
|
return { tools, rejected };
|
|
19324
19324
|
}
|
|
19325
|
-
var BLOG_BRIEF = [
|
|
19326
|
-
"my_daily_brief",
|
|
19327
|
-
"my_blog_summary",
|
|
19328
|
-
"my_realtime",
|
|
19329
|
-
"my_traffic_series",
|
|
19330
|
-
"my_top_content",
|
|
19331
|
-
"my_soaring",
|
|
19332
|
-
"my_publish_calendar",
|
|
19333
|
-
"daily_trend",
|
|
19334
|
-
"my_moments"
|
|
19335
|
-
];
|
|
19336
|
-
var BLOG_INSIGHTS = [
|
|
19337
|
-
"my_content_audience",
|
|
19338
|
-
"my_inflow",
|
|
19339
|
-
"my_audience",
|
|
19340
|
-
"my_inflow_domain",
|
|
19341
|
-
"my_country",
|
|
19342
|
-
"my_device",
|
|
19343
|
-
"my_dwell",
|
|
19344
|
-
"my_followers",
|
|
19345
|
-
"my_revisit",
|
|
19346
|
-
"my_revenue",
|
|
19347
|
-
"my_impression_click",
|
|
19348
|
-
"my_impression_ranks",
|
|
19349
|
-
"my_channels",
|
|
19350
|
-
"my_revenue_ranks",
|
|
19351
|
-
"my_revenue_efficiency",
|
|
19352
|
-
"my_content_info",
|
|
19353
|
-
"my_content_read",
|
|
19354
|
-
"my_content_detail",
|
|
19355
|
-
"my_content_inflow"
|
|
19356
|
-
];
|
|
19357
|
-
var RESEARCH = [
|
|
19358
|
-
// Caught by serp-watch's "search_" prefix, but this group's own steps open
|
|
19359
|
-
// by calling it. A step naming a tool the group does not contain sends the
|
|
19360
|
-
// caller to a catalog page it is not on.
|
|
19361
|
-
"search_keywords",
|
|
19362
|
-
"local_regions",
|
|
19363
|
-
"local_job_categories",
|
|
19364
|
-
"local_region_trend",
|
|
19365
|
-
"local_area_category_rank",
|
|
19366
|
-
"content_volume",
|
|
19367
|
-
"autocomplete_keywords",
|
|
19368
|
-
"qra_keywords",
|
|
19369
|
-
"kin_question_demand",
|
|
19370
|
-
"web_read",
|
|
19371
|
-
"run_research",
|
|
19372
|
-
// Planning tools: they need a model but call none here, returning prompt
|
|
19373
|
-
// material instead. Grouped by job — all three design a post not yet written.
|
|
19374
|
-
"outline_suggest",
|
|
19375
|
-
"seo_aeo_geo_spec",
|
|
19376
|
-
"content_calendar",
|
|
19377
|
-
// The last step of that job: turn the design into an actual draft.
|
|
19378
|
-
"write_draft",
|
|
19379
|
-
// Names which of the above comes next given what the caller just measured —
|
|
19380
|
-
// the part of the job that cannot be written down ahead of time.
|
|
19381
|
-
"write_pipeline_step"
|
|
19382
|
-
];
|
|
19383
|
-
var EDITOR_CONTROL = [
|
|
19384
|
-
// The tool that opens a tab belongs in the group that requires one: a
|
|
19385
|
-
// model choosing this group was just told it needs a tab, and the way out
|
|
19386
|
-
// has to be visible at the wall, not in some other group.
|
|
19387
|
-
"editor_open_window",
|
|
19388
|
-
"editor_reduce_windows",
|
|
19389
|
-
"editor_read",
|
|
19390
|
-
"editor_read_structure",
|
|
19391
|
-
"editor_undo",
|
|
19392
|
-
"editor_replace",
|
|
19393
|
-
"editor_insert_draft",
|
|
19394
|
-
// Lands a draft from any window state without ever overwriting — refuses and
|
|
19395
|
-
// names the tool to use instead when the body is occupied.
|
|
19396
|
-
"editor_place_draft",
|
|
19397
|
-
"editor_set_title",
|
|
19398
|
-
// The whole plan in one call, for a run nobody is watching. Same group as the
|
|
19399
|
-
// steps it contains — a model that reached for those should see this too.
|
|
19400
|
-
"editor_apply_manifest",
|
|
19401
|
-
// Both act on the open draft: title_optimize proposes titles for it, and
|
|
19402
|
-
// internal_links reads it.
|
|
19403
|
-
"title_optimize",
|
|
19404
|
-
"internal_links",
|
|
19405
|
-
"editor_insert_image",
|
|
19406
|
-
"seo_scorecard"
|
|
19407
|
-
];
|
|
19408
|
-
var BY_PREFIX = [
|
|
19409
|
-
{ slug: "serp-watch", prefixes: ["search_", "serp_"] },
|
|
19410
|
-
{ slug: "benchmark", prefixes: ["blog_", "cafe_", "influencer_"] },
|
|
19411
|
-
{ slug: "place", prefixes: ["place_"] },
|
|
19412
|
-
{ slug: "shopping", prefixes: ["shopping_"] },
|
|
19413
|
-
{ slug: "ad-bidding", prefixes: ["ad_"] },
|
|
19414
|
-
{ slug: "store-settlement", prefixes: ["commerce_"] },
|
|
19415
|
-
{ slug: "comment-stats", prefixes: ["comment_"] },
|
|
19416
|
-
{ slug: "photo-editor", prefixes: ["photo_"] },
|
|
19417
|
-
{ slug: "video-editor", prefixes: ["video_"] },
|
|
19418
|
-
{ slug: "keyword-research", prefixes: ["keyword_"] },
|
|
19419
|
-
{ slug: "pumasi", prefixes: ["pumasi_"] },
|
|
19420
|
-
{ slug: "browser-tabs", prefixes: ["tab_"] }
|
|
19421
|
-
];
|
|
19422
|
-
var GALLERY = ["gallery_image_add"];
|
|
19423
|
-
var EXPLICIT = [
|
|
19424
|
-
{ slug: "connection", tools: ["datalab_browsers"] },
|
|
19425
|
-
{ slug: "gallery", tools: GALLERY },
|
|
19426
|
-
{ slug: "blog-brief", tools: BLOG_BRIEF },
|
|
19427
|
-
{ slug: "blog-insights", tools: BLOG_INSIGHTS },
|
|
19428
|
-
{ slug: "keyword-research", tools: RESEARCH },
|
|
19429
|
-
{ slug: "editor-control", tools: EDITOR_CONTROL },
|
|
19430
|
-
// Named like the group but caught by none of its prefixes, so it is listed
|
|
19431
|
-
// explicitly — a similar name is not a membership rule.
|
|
19432
|
-
{ slug: "benchmark", tools: ["benchmark_gap"] }
|
|
19433
|
-
];
|
|
19434
|
-
var META = [
|
|
19435
|
-
{
|
|
19436
|
-
slug: "connection",
|
|
19437
|
-
label: "\uC5F0\uACB0 \uBE0C\uB77C\uC6B0\uC800",
|
|
19438
|
-
summary: "\uC5EC\uB7EC \uBE0C\uB77C\uC6B0\uC800\xB7\uD504\uB85C\uD544 \uC911 \uB3C4\uAD6C\uB97C \uC2E4\uD589\uD560 \uACF3\uC744 \uACE0\uB978\uB2E4",
|
|
19439
|
-
aliases: ["\uBE0C\uB77C\uC6B0\uC800 \uC120\uD0DD", "\uD504\uB85C\uD544 \uC120\uD0DD", "\uD06C\uB86C \uC5F0\uACB0", "\uC6E8\uC77C \uC5F0\uACB0"],
|
|
19440
|
-
dataScope: "local"
|
|
19441
|
-
},
|
|
19442
|
-
{
|
|
19443
|
-
slug: "blog-brief",
|
|
19444
|
-
label: "\uC624\uB298\uC758 \uBE14\uB85C\uADF8 \uBE0C\uB9AC\uD551",
|
|
19445
|
-
summary: "\uB0B4 \uBE14\uB85C\uADF8\uAC00 \uC9C0\uAE08 \uC5B4\uB5A4\uC9C0 \u2014 \uBC29\uBB38\xB7\uC870\uD68C\xB7\uC778\uAE30\uAE00\xB7\uC2E4\uC2DC\uAC04",
|
|
19446
|
-
aliases: ["\uB0B4 \uBE14\uB85C\uADF8 \uC131\uACFC", "\uBC29\uBB38\uC790", "\uC870\uD68C\uC218", "\uC778\uAE30\uAE00", "\uC2E4\uC2DC\uAC04 \uD1B5\uACC4"],
|
|
19447
|
-
dataScope: "own"
|
|
19448
|
-
},
|
|
19449
|
-
{
|
|
19450
|
-
slug: "blog-insights",
|
|
19451
|
-
label: "\uBE14\uB85C\uADF8 \uC2EC\uCE35 \uBD84\uC11D",
|
|
19452
|
-
summary: "\uC65C \uADF8\uB7F0\uC9C0 \u2014 \uC720\uC785 \uACBD\uB85C\xB7\uC131\uBCC4\uC5F0\uB839\xB7\uCCB4\uB958\xB7\uC218\uC775\xB7\uAE00\uBCC4 \uC0C1\uC138",
|
|
19453
|
-
aliases: ["\uBE14\uB85C\uADF8 \uC720\uC785", "\uB3C5\uC790 \uBD84\uC11D", "\uCCB4\uB958\uC2DC\uAC04", "\uC7AC\uBC29\uBB38", "\uBE14\uB85C\uADF8 \uC218\uC775"],
|
|
19454
|
-
dataScope: "own"
|
|
19455
|
-
},
|
|
19456
|
-
{
|
|
19457
|
-
slug: "keyword-research",
|
|
19458
|
-
label: "\uD0A4\uC6CC\uB4DC\xB7\uAE00\uAC10 \uB9AC\uC11C\uCE58",
|
|
19459
|
-
summary: "\uBB34\uC5C7\uC744 \uC4F8\uC9C0 \u2014 \uD0A4\uC6CC\uB4DC \uC218\uC694\xB7\uC5F0\uAD00\uC5B4\xB7\uC790\uB3D9\uC644\uC131\xB7\uBC1C\uD589\uB7C9\xB7\uC9C0\uC2DDiN \uC9C8\uBB38\xB7\uC9C0\uC5ED \uD2B8\uB80C\uB4DC",
|
|
19460
|
-
aliases: ["\uD0A4\uC6CC\uB4DC \uC870\uC0AC", "\uAC80\uC0C9\uB7C9", "\uC5F0\uAD00\uC5B4", "\uAE00\uAC10", "\uCF58\uD150\uCE20 \uC544\uC774\uB514\uC5B4"],
|
|
19461
|
-
dataScope: "mixed",
|
|
19462
|
-
steps: [
|
|
19463
|
-
"search_keywords \uB85C \uC218\uC694\uB97C \uBCF8\uB2E4",
|
|
19464
|
-
"content_volume \uC73C\uB85C \uC774\uBBF8 \uC5BC\uB9C8\uB098 \uC4F0\uC600\uB294\uC9C0 \uBCF8\uB2E4 \u2014 \uC218\uC694\uB9CC \uBCF4\uACE0 \uACE0\uB974\uBA74 \uD3EC\uD654\uB41C \uD0A4\uC6CC\uB4DC\uB97C \uACE0\uB978\uB2E4",
|
|
19465
|
-
"keyword_opportunity \uB85C \uB458\uC744 \uACAC\uC918 \uBE48\uD2C8\uC744 \uCC3E\uB294\uB2E4"
|
|
19466
|
-
]
|
|
19467
|
-
},
|
|
19468
|
-
{
|
|
19469
|
-
slug: "serp-watch",
|
|
19470
|
-
label: "\uB124\uC774\uBC84 \uAC80\uC0C9\uACB0\uACFC \uD655\uC778",
|
|
19471
|
-
summary: "\uC774 \uAC80\uC0C9\uC5B4\uC5D0 \uC9C0\uAE08 \uB124\uC774\uBC84\uAC00 \uBB34\uC5C7\uC744 \uB744\uC6B0\uB294\uC9C0",
|
|
19472
|
-
aliases: ["\uB124\uC774\uBC84 \uAC80\uC0C9\uACB0\uACFC", "\uC0C1\uC704 \uB178\uCD9C", "\uAC80\uC0C9 \uC21C\uC704", "SERP"],
|
|
19473
|
-
dataScope: "public"
|
|
19474
|
-
},
|
|
19475
|
-
{
|
|
19476
|
-
// The summary says whose page it is, because this is the one group whose
|
|
19477
|
-
// tools act somewhere the member does not own.
|
|
19478
|
-
slug: "pumasi",
|
|
19479
|
-
label: "\uD488\uC557\uC774 \u2014 \uB2E4\uB978 \uC0AC\uB78C\uC758 \uAE00",
|
|
19480
|
-
summary: "\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE14\uB85C\uADF8\uC5D0\uC11C \uB313\uAE00\uCE78\xB7\uC774\uC6C3\uCD94\uAC00 \uCC3D\uC744 \uC5F4\uACE0 \uB0B4 \uACF5\uAC10 \uC0C1\uD0DC\uB97C \uC77D\uB294\uB2E4",
|
|
19481
|
-
aliases: ["\uD488\uC557\uC774", "\uACF5\uAC10 \uC0C1\uD0DC", "\uB313\uAE00 \uC791\uC131", "\uC774\uC6C3 \uC2E0\uCCAD", "\uC11C\uB85C\uC774\uC6C3"],
|
|
19482
|
-
dataScope: "mixed"
|
|
19483
|
-
},
|
|
19484
|
-
{
|
|
19485
|
-
// Not a subject and not somebody's page: the member's own browser. Here so
|
|
19486
|
-
// a caller that needs to point another tool at a particular tab can find
|
|
19487
|
-
// the way to do it, rather than opening a second tab of the same page.
|
|
19488
|
-
slug: "browser-tabs",
|
|
19489
|
-
label: "\uB0B4 \uBE0C\uB77C\uC6B0\uC800 \uD0ED",
|
|
19490
|
-
summary: "\uC9C0\uAE08 \uC5F4\uB824 \uC788\uB294 \uD0ED\uC744 \uBCF4\uACE0, \uC5F4\uACE0, \uC55E\uC73C\uB85C \uAC00\uC838\uC624\uACE0, \uB2EB\uB294\uB2E4",
|
|
19491
|
-
aliases: ["\uBE0C\uB77C\uC6B0\uC800 \uD0ED", "\uD0ED \uC5F4\uAE30", "\uD0ED \uB2EB\uAE30", "\uD0ED \uC804\uD658"],
|
|
19492
|
-
dataScope: "local",
|
|
19493
|
-
// The two named here are how this group's surface is created and reduced,
|
|
19494
|
-
// and a guard holds them equal to the surface policy - one place would go
|
|
19495
|
-
// stale on its own otherwise.
|
|
19496
|
-
openerTool: "tab_open",
|
|
19497
|
-
reducerTool: "tab_close"
|
|
19498
|
-
},
|
|
19499
|
-
{
|
|
19500
|
-
slug: "benchmark",
|
|
19501
|
-
label: "\uACBD\uC7C1\uC790 \uBCA4\uCE58\uB9C8\uD0B9",
|
|
19502
|
-
summary: "\uB2E4\uB978 \uBE14\uB85C\uADF8\xB7\uCE74\uD398\xB7\uC778\uD50C\uB8E8\uC5B8\uC11C\uAC00 \uBB34\uC5C7\uC744 \uD558\uB294\uC9C0",
|
|
19503
|
-
aliases: ["\uACBD\uC7C1 \uBE14\uB85C\uADF8", "\uACBD\uC7C1\uC790 \uBD84\uC11D", "\uBCA4\uCE58\uB9C8\uD0B9", "\uC778\uD50C\uB8E8\uC5B8\uC11C \uBD84\uC11D"],
|
|
19504
|
-
dataScope: "public"
|
|
19505
|
-
},
|
|
19506
|
-
{
|
|
19507
|
-
slug: "place",
|
|
19508
|
-
label: "\uB124\uC774\uBC84 \uD50C\uB808\uC774\uC2A4 \uAD00\uB9AC",
|
|
19509
|
-
summary: "\uB0B4 \uB9E4\uC7A5 \uC815\uBCF4\xB7\uB9AC\uBDF0\xB7\uC608\uC57D\xB7\uCFE0\uD3F0\xB7\uB300\uAE30",
|
|
19510
|
-
aliases: ["\uC6B0\uB9AC \uB9E4\uC7A5", "\uD50C\uB808\uC774\uC2A4 \uB9AC\uBDF0", "\uC608\uC57D", "\uCFE0\uD3F0", "\uB9E4\uC7A5 \uD3C9\uD310"],
|
|
19511
|
-
dataScope: "own"
|
|
19512
|
-
},
|
|
19513
|
-
{
|
|
19514
|
-
slug: "shopping",
|
|
19515
|
-
label: "\uC1FC\uD551 \uC778\uC0AC\uC774\uD2B8",
|
|
19516
|
-
summary: "\uC774 \uC0C1\uD488\uC774 \uC5B8\uC81C \uB204\uAD6C\uC5D0\uAC8C \uD314\uB9AC\uB294\uC9C0",
|
|
19517
|
-
aliases: ["\uC1FC\uD551 \uD2B8\uB80C\uB4DC", "\uC0C1\uD488 \uC218\uC694", "\uCE74\uD14C\uACE0\uB9AC \uD310\uB9E4", "\uAD6C\uB9E4 \uC5F0\uB839"],
|
|
19518
|
-
dataScope: "public"
|
|
19519
|
-
},
|
|
19520
|
-
{
|
|
19521
|
-
slug: "ad-bidding",
|
|
19522
|
-
label: "\uAC80\uC0C9\uAD11\uACE0 \uC785\uCC30",
|
|
19523
|
-
// The calls themselves cost nothing, hence the read tier, but they return
|
|
19524
|
-
// data only when the user's search-ad account credentials are present.
|
|
19525
|
-
summary: "\uC785\uCC30\uAC00\uC640 \uC608\uC0C1 \uC131\uACFC \u2014 \uBB34\uB8CC, \uAC80\uC0C9\uAD11\uACE0 \uACC4\uC815 \uC790\uACA9\uC99D\uBA85 \uD544\uC694",
|
|
19526
|
-
aliases: ["\uAC80\uC0C9\uAD11\uACE0", "\uAD11\uACE0 \uC785\uCC30", "\uC785\uCC30\uAC00", "\uAD11\uACE0 \uC131\uACFC", "\uAD11\uACE0\uBE44"],
|
|
19527
|
-
dataScope: "own"
|
|
19528
|
-
},
|
|
19529
|
-
{
|
|
19530
|
-
slug: "store-settlement",
|
|
19531
|
-
label: "\uC2A4\uD1A0\uC5B4 \uC815\uC0B0\xB7\uB9E4\uCD9C",
|
|
19532
|
-
// The seller's own money. Nothing here writes, and the payout account the
|
|
19533
|
-
// settlement response carries is dropped before it reaches a host.
|
|
19534
|
-
summary: "\uC815\uC0B0 \uC608\uC815\uC77C\uACFC \uAE08\uC561, \uC77C\uBCC4 \uB9E4\uCD9C \u2014 \uCEE4\uBA38\uC2A4API \uC790\uACA9\uC99D\uBA85 \uD544\uC694",
|
|
19535
|
-
aliases: ["\uC2A4\uD1A0\uC5B4 \uC815\uC0B0", "\uC815\uC0B0 \uC608\uC815", "\uB9E4\uCD9C", "\uCEE4\uBA38\uC2A4 \uC8FC\uBB38"],
|
|
19536
|
-
dataScope: "own"
|
|
19537
|
-
},
|
|
19538
|
-
{
|
|
19539
|
-
slug: "comment-stats",
|
|
19540
|
-
label: "\uB313\uAE00 \uBC18\uC751 \uD1B5\uACC4",
|
|
19541
|
-
summary: "\uB274\uC2A4 \uB313\uAE00\uC774 \uC5B8\uC81C \uB204\uAD6C\uC5D0\uAC8C \uB2EC\uB9AC\uB294\uC9C0",
|
|
19542
|
-
aliases: ["\uB274\uC2A4 \uB313\uAE00", "\uB313\uAE00 \uBC18\uC751", "\uB313\uAE00 \uC131\uBCC4", "\uB313\uAE00 \uC2DC\uAC04\uB300"],
|
|
19543
|
-
dataScope: "public"
|
|
19544
|
-
},
|
|
19545
|
-
{
|
|
19546
|
-
slug: "editor-control",
|
|
19547
|
-
label: "\uAE00\uC4F0\uAE30 \uCC3D \uC81C\uC5B4",
|
|
19548
|
-
summary: "\uC5F4\uB824 \uC788\uB294 \uB124\uC774\uBC84 \uAE00\uC4F0\uAE30 \uCC3D\uC758 \uC6D0\uACE0\uB97C \uC77D\uACE0 \uACE0\uCE5C\uB2E4",
|
|
19549
|
-
aliases: ["\uBE14\uB85C\uADF8 \uAE00\uC4F0\uAE30", "\uC5F4\uB9B0 \uC6D0\uACE0", "\uCD08\uC548 \uC218\uC815", "\uC81C\uBAA9 \uC218\uC815"],
|
|
19550
|
-
dataScope: "local",
|
|
19551
|
-
needsTab: true,
|
|
19552
|
-
openerTool: "editor_open_window",
|
|
19553
|
-
reducerTool: "editor_reduce_windows",
|
|
19554
|
-
steps: [
|
|
19555
|
-
"editor_read \uB85C \uC9C0\uAE08 \uAE00\uC5D0 \uBB34\uC5C7\uC774 \uC788\uB294\uC9C0 \uBA3C\uC800 \uD655\uC778\uD55C\uB2E4 \u2014 \uBE48 \uC904 \uC54C\uACE0 \uB36E\uC5B4\uC4F0\uB294 \uAC83\uC774 \uAC00\uC7A5 \uD754\uD55C \uC0AC\uACE0\uB2E4",
|
|
19556
|
-
"\uACE0\uCE60 \uB0B4\uC6A9\uC744 \uB9CC\uB4E0\uB2E4",
|
|
19557
|
-
"editor_place_draft \uB85C \uB123\uB294\uB2E4. \uC774\uBBF8 \uB0B4\uC6A9\uC774 \uC788\uC73C\uBA74 \uC9C0\uC6B0\uC9C0 \uC54A\uACE0 \uAC70\uC808\uD558\uBA70 \uB2E4\uC74C \uB3C4\uAD6C\uB97C \uC54C\uB824 \uC900\uB2E4",
|
|
19558
|
-
"\uC804\uCCB4\uB97C \uAC08\uC544\uC5CE\uC5B4\uC57C \uD560 \uB54C\uB9CC, \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBB3C\uC5B4\uBCF8 \uB4A4 editor_replace \uB97C \uC4F4\uB2E4"
|
|
19559
|
-
]
|
|
19560
|
-
},
|
|
19561
|
-
{
|
|
19562
|
-
slug: "photo-editor",
|
|
19563
|
-
label: "\uC0AC\uC9C4 \uD3B8\uC9D1\uAE30 \uC870\uC791",
|
|
19564
|
-
summary: "\uC0AC\uC9C4 \uD3B8\uC9D1\uAE30 \uCE94\uBC84\uC2A4\uC5D0 \uD14D\uC2A4\uD2B8\xB7\uB3C4\uD615\xB7\uC774\uBBF8\uC9C0\uB97C \uB123\uB294\uB2E4",
|
|
19565
|
-
aliases: ["\uC0AC\uC9C4 \uD3B8\uC9D1\uAE30", "\uCE74\uB4DC\uB274\uC2A4", "\uCE94\uBC84\uC2A4", "\uC2AC\uB77C\uC774\uB4DC \uB514\uC790\uC778"],
|
|
19566
|
-
dataScope: "local",
|
|
19567
|
-
needsTab: true,
|
|
19568
|
-
openerTool: "photo_project_new",
|
|
19569
|
-
reducerTool: "editor_reduce_windows"
|
|
19570
|
-
},
|
|
19571
|
-
{
|
|
19572
|
-
slug: "video-editor",
|
|
19573
|
-
label: "\uC601\uC0C1 \uD3B8\uC9D1\uAE30 \uC870\uC791",
|
|
19574
|
-
summary: "\uC601\uC0C1 \uD3B8\uC9D1\uAE30\uC758 \uC7A5\uBA74\xB7\uC790\uB9C9\xB7\uBAA9\uC18C\uB9AC\uB97C \uB9CC\uB4E0\uB2E4",
|
|
19575
|
-
aliases: ["\uC601\uC0C1 \uD3B8\uC9D1\uAE30", "\uC20F\uD3FC", "\uB9B4\uC2A4", "\uC7A5\uBA74", "\uC790\uB9C9", "AI \uBAA9\uC18C\uB9AC"],
|
|
19576
|
-
dataScope: "local",
|
|
19577
|
-
needsTab: true,
|
|
19578
|
-
openerTool: "video_project_new",
|
|
19579
|
-
reducerTool: "editor_reduce_windows"
|
|
19580
|
-
},
|
|
19581
|
-
{
|
|
19582
|
-
slug: "gallery",
|
|
19583
|
-
label: "\uC774\uBBF8\uC9C0 \uAC24\uB7EC\uB9AC",
|
|
19584
|
-
summary: "\uB0B4\uAC00 \uB9CC\uB4E0 \uC0AC\uC9C4 \uD30C\uC77C\uC744 \uAC24\uB7EC\uB9AC\uC5D0 \uB123\uC5B4 \uB450 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC4F4\uB2E4 \u2014 \uD3B8\uC9D1\uAE30 \uCC3D\uC774 \uC5C6\uC5B4\uB3C4 \uB41C\uB2E4",
|
|
19585
|
-
aliases: ["\uC774\uBBF8\uC9C0 \uAC24\uB7EC\uB9AC", "\uC0AC\uC9C4 \uAC00\uC838\uC624\uAE30", "\uC774\uBBF8\uC9C0 \uBCF4\uAD00"],
|
|
19586
|
-
dataScope: "local",
|
|
19587
|
-
steps: [
|
|
19588
|
-
"gallery_image_add \uB85C \uAC24\uB7EC\uB9AC\uC5D0 \uBA3C\uC800 \uB123\uB294\uB2E4",
|
|
19589
|
-
"\uD3B8\uC9D1\uAE30 \uCABD \uB3C4\uAD6C\uB85C \uADF8 ref \uB97C \uAC00\uC838\uB2E4 \uC4F4\uB2E4 \u2014 \uAC24\uB7EC\uB9AC\uB97C \uAC70\uCE58\uBA74 \uD3B8\uC9D1\uAE30 \uCC3D\uC774 \uC5C6\uC5B4\uB3C4 \uBBF8\uB9AC \uC900\uBE44\uD560 \uC218 \uC788\uB2E4"
|
|
19590
|
-
]
|
|
19591
|
-
}
|
|
19592
|
-
];
|
|
19593
|
-
var FALLBACK_SLUG = "other";
|
|
19594
|
-
function slugFor(name) {
|
|
19595
|
-
for (const e of EXPLICIT) {
|
|
19596
|
-
if (e.tools.includes(name)) return e.slug;
|
|
19597
|
-
}
|
|
19598
|
-
for (const p of BY_PREFIX) {
|
|
19599
|
-
if (p.prefixes.some((x) => name.startsWith(x))) return p.slug;
|
|
19600
|
-
}
|
|
19601
|
-
return FALLBACK_SLUG;
|
|
19602
|
-
}
|
|
19603
|
-
function buildToolsets(names) {
|
|
19604
|
-
const byslug = /* @__PURE__ */ new Map();
|
|
19605
|
-
for (const n of names) {
|
|
19606
|
-
const s = slugFor(n);
|
|
19607
|
-
(byslug.get(s) ?? byslug.set(s, []).get(s)).push(n);
|
|
19608
|
-
}
|
|
19609
|
-
const out = [];
|
|
19610
|
-
for (const m of META) {
|
|
19611
|
-
const tools = byslug.get(m.slug) ?? [];
|
|
19612
|
-
if (tools.length > 0) out.push({ ...m, tools });
|
|
19613
|
-
byslug.delete(m.slug);
|
|
19614
|
-
}
|
|
19615
|
-
const leftover = byslug.get(FALLBACK_SLUG) ?? [];
|
|
19616
|
-
if (leftover.length > 0) {
|
|
19617
|
-
out.push({
|
|
19618
|
-
slug: FALLBACK_SLUG,
|
|
19619
|
-
label: "\uADF8 \uBC16\uC758 \uB3C4\uAD6C",
|
|
19620
|
-
summary: "\uC544\uC9C1 \uBB36\uC74C\uC774 \uC815\uD574\uC9C0\uC9C0 \uC54A\uC740 \uB3C4\uAD6C",
|
|
19621
|
-
aliases: ["\uAE30\uD0C0"],
|
|
19622
|
-
dataScope: "mixed",
|
|
19623
|
-
tools: leftover
|
|
19624
|
-
});
|
|
19625
|
-
}
|
|
19626
|
-
return out;
|
|
19627
|
-
}
|
|
19628
|
-
var CATALOG_TOOL = "datalab_catalog";
|
|
19629
19325
|
var FIND_TOOLS_TOOL = "datalab_find_tools";
|
|
19630
|
-
var DESCRIBE_TOOL = "datalab_describe";
|
|
19631
19326
|
var CALL_TOOL = "datalab_call";
|
|
19632
19327
|
var CONFIRM_STATUS_TOOL = "datalab_confirm_status";
|
|
19633
19328
|
var SESSION_STATE_TOOL = "datalab_session_state";
|
|
@@ -19638,10 +19333,7 @@ function browserProperty() {
|
|
|
19638
19333
|
description: `${BROWSERS_TOOL} \uAC00 \uB3CC\uB824\uC900 \uC2E4\uD589 \uB300\uC0C1 \uBE0C\uB77C\uC6B0\uC800 id`
|
|
19639
19334
|
};
|
|
19640
19335
|
}
|
|
19641
|
-
|
|
19642
|
-
function discoveryDescriptors(entries) {
|
|
19643
|
-
const sets = buildToolsets(entries.map((e) => e.name));
|
|
19644
|
-
const names = sets.map((s) => s.slug).join(", ");
|
|
19336
|
+
function discoveryDescriptors() {
|
|
19645
19337
|
return [
|
|
19646
19338
|
{
|
|
19647
19339
|
name: FIND_TOOLS_TOOL,
|
|
@@ -19661,53 +19353,9 @@ function discoveryDescriptors(entries) {
|
|
|
19661
19353
|
additionalProperties: false
|
|
19662
19354
|
}
|
|
19663
19355
|
},
|
|
19664
|
-
{
|
|
19665
|
-
name: CATALOG_TOOL,
|
|
19666
|
-
description: `\uB370\uC774\uD130\uB7A9\uD234\uC988\uAC00 \uD560 \uC218 \uC788\uB294 \uC77C\uC758 \uBAA9\uB85D\uC744 \uB3CC\uB824\uC900\uB2E4. \uB124\uC774\uBC84 \uBE14\uB85C\uADF8\xB7\uD0A4\uC6CC\uB4DC\xB7\uAC80\uC0C9\uACB0\uACFC\xB7\uD50C\uB808\uC774\uC2A4\xB7\uC1FC\uD551\xB7\uAD11\uACE0 \uD1B5\uACC4\uC640 \uAE00\uC4F0\uAE30/\uC0AC\uC9C4/\uC601\uC0C1 \uD3B8\uC9D1\uAE30 \uC81C\uC5B4\uAE4C\uC9C0 ${entries.length}\uAC1C \uB3C4\uAD6C\uAC00 \uC788\uACE0, \uC5EC\uAE30 \uC815\uC758\uB85C \uBCF4\uC774\uB294 \uAC83\uC740 \uADF8\uC911 \uC77C\uBD80\uB2E4. **\uC0AC\uC6A9\uC790\uAC00 \uBB34\uC5C7\uC744 \uBD80\uD0C1\uD558\uB4E0, \uC9C0\uAE08 \uBCF4\uC774\uB294 \uB3C4\uAD6C\uB85C \uC548 \uB418\uBA74 \uBA3C\uC800 \uC774\uAC83\uC744 \uBD88\uB7EC\uB77C** \u2014 \uC5C6\uB2E4\uACE0 \uB2F5\uD558\uAE30 \uC804\uC5D0 \uD655\uC778\uD55C\uB2E4. toolset \uC5C6\uC774 \uBD80\uB974\uBA74 \uBB36\uC74C \uBAA9\uB85D, \uC8FC\uBA74 \uADF8 \uBB36\uC74C\uC758 \uB3C4\uAD6C \uC774\uB984\uACFC \uC124\uBA85. \uBB36\uC74C: ${names}.`,
|
|
19667
|
-
annotations: LOOKUP_ANNOTATIONS,
|
|
19668
|
-
inputSchema: {
|
|
19669
|
-
type: "object",
|
|
19670
|
-
properties: {
|
|
19671
|
-
toolset: {
|
|
19672
|
-
type: "string",
|
|
19673
|
-
enum: sets.map((s) => s.slug),
|
|
19674
|
-
description: "\uC774 \uBB36\uC74C\uC758 \uB3C4\uAD6C \uBAA9\uB85D\uC744 \uBCF8\uB2E4. \uC0DD\uB7B5\uD558\uBA74 \uBB36\uC74C \uBAA9\uB85D\uB9CC"
|
|
19675
|
-
},
|
|
19676
|
-
query: {
|
|
19677
|
-
type: "string",
|
|
19678
|
-
description: "\uCC3E\uB294 \uB9D0(\uC608: '\uBC29\uBB38\uC790', '\uACBD\uC7C1'). \uC774\uB984\uACFC \uC124\uBA85\uC5D0\uC11C \uCC3E\uACE0, \uBB36\uC74C \uC774\uB984\uC774 \uB9DE\uC73C\uBA74 \uADF8 \uBB36\uC74C\uB3C4 \uD568\uAED8 \uB3CC\uB824\uC900\uB2E4"
|
|
19679
|
-
},
|
|
19680
|
-
withSchemas: {
|
|
19681
|
-
type: "boolean",
|
|
19682
|
-
description: `\uC778\uC790 \uC2A4\uD0A4\uB9C8\uAE4C\uC9C0 \uD568\uAED8 \uBC1B\uB294\uB2E4 \u2014 \uADF8\uB7EC\uBA74 ${DESCRIBE_TOOL} \uC5C6\uC774 \uBC14\uB85C \uC2E4\uD589\uD560 \uC218 \uC788\uB2E4. toolset \uC774\uB098 query \uC640 \uAC19\uC774 \uC904 \uB54C\uB9CC \uC4F4\uB2E4`
|
|
19683
|
-
},
|
|
19684
|
-
browser: browserProperty()
|
|
19685
|
-
},
|
|
19686
|
-
additionalProperties: false
|
|
19687
|
-
}
|
|
19688
|
-
},
|
|
19689
|
-
{
|
|
19690
|
-
name: DESCRIBE_TOOL,
|
|
19691
|
-
description: `\uB3C4\uAD6C\uC758 \uC778\uC790 \uC2A4\uD0A4\uB9C8\uB97C \uB3CC\uB824\uC900\uB2E4. **${CALL_TOOL} \uB85C \uBD80\uB974\uAE30 \uC804\uC5D0 \uADF8 \uB3C4\uAD6C\uC5D0 \uB300\uD574 \uCD5C\uC18C \uD55C \uBC88\uC740 \uC774\uAC83\uC744 \uD638\uCD9C\uD574\uB77C** \u2014 \uC778\uC790 \uC774\uB984\uACFC \uD544\uC218 \uC5EC\uBD80\uB97C \uC9C0\uC5B4\uB0B4\uBA74 \uAC70\uC808\uB418\uACE0, \uC655\uBCF5\uC774 \uD55C \uBC88 \uB354 \uB4E0\uB2E4. \uC774\uBBF8 \uC2A4\uD0A4\uB9C8\uB97C \uBC1B\uC544 \uB454 \uB3C4\uAD6C\uB294 \uB2E4\uC2DC \uBD80\uB97C \uD544\uC694 \uC5C6\uB2E4.`,
|
|
19692
|
-
annotations: LOOKUP_ANNOTATIONS,
|
|
19693
|
-
inputSchema: {
|
|
19694
|
-
type: "object",
|
|
19695
|
-
properties: {
|
|
19696
|
-
tools: {
|
|
19697
|
-
type: "array",
|
|
19698
|
-
items: { type: "string" },
|
|
19699
|
-
maxItems: DESCRIBE_PAGE_SIZE,
|
|
19700
|
-
description: `\uC2A4\uD0A4\uB9C8\uB97C \uBCFC \uB3C4\uAD6C \uC774\uB984 (\uD55C \uBC88\uC5D0 ${DESCRIBE_PAGE_SIZE}\uAC1C\uAE4C\uC9C0)`
|
|
19701
|
-
},
|
|
19702
|
-
browser: browserProperty()
|
|
19703
|
-
},
|
|
19704
|
-
required: ["tools"],
|
|
19705
|
-
additionalProperties: false
|
|
19706
|
-
}
|
|
19707
|
-
},
|
|
19708
19356
|
{
|
|
19709
19357
|
name: CALL_TOOL,
|
|
19710
|
-
description: `${FIND_TOOLS_TOOL} \
|
|
19358
|
+
description: `${FIND_TOOLS_TOOL} \uB85C \uCC3E\uC740 \uB3C4\uAD6C\uB97C \uC2E4\uD589\uD55C\uB2E4. args \uB294 \uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC900 \uC2A4\uD0A4\uB9C8\uB97C \uADF8\uB300\uB85C \uB530\uB978\uB2E4 \u2014 \uB9DE\uC9C0 \uC54A\uC73C\uBA74 \uC2E4\uD589\uD558\uC9C0 \uC54A\uACE0 \uBB34\uC5C7\uC774 \uD2C0\uB838\uB294\uC9C0 \uB3CC\uB824\uC900\uB2E4. \uBB38\uC11C\uB97C \uACE0\uCE58\uAC70\uB098 \uC694\uAE08\uC774 \uB4DC\uB294 \uB3C4\uAD6C\uB294 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uD655\uC778\uC744 \uBC1B\uC740 \uB4A4\uC5D0 \uC2E4\uD589\uB41C\uB2E4.`,
|
|
19711
19359
|
// Deliberately unannotated: this tool's effect is the delegated tool's
|
|
19712
19360
|
// effect, so any fixed hint would be half false. Tier is judged at run time.
|
|
19713
19361
|
inputSchema: {
|
|
@@ -19716,7 +19364,7 @@ function discoveryDescriptors(entries) {
|
|
|
19716
19364
|
tool: { type: "string", description: "\uC2E4\uD589\uD560 \uB3C4\uAD6C \uC774\uB984" },
|
|
19717
19365
|
args: {
|
|
19718
19366
|
type: "object",
|
|
19719
|
-
description: `\uADF8 \uB3C4\uAD6C\uC758 \uC778\uC790. ${
|
|
19367
|
+
description: `\uADF8 \uB3C4\uAD6C\uC758 \uC778\uC790. ${FIND_TOOLS_TOOL} \uAC00 \uBC18\uD658\uD55C \uC2A4\uD0A4\uB9C8\uB97C \uB530\uB978\uB2E4`
|
|
19720
19368
|
},
|
|
19721
19369
|
browser: browserProperty()
|
|
19722
19370
|
},
|
|
@@ -19767,15 +19415,9 @@ function browsersDescriptor() {
|
|
|
19767
19415
|
annotations: LOOKUP_ANNOTATIONS
|
|
19768
19416
|
};
|
|
19769
19417
|
}
|
|
19770
|
-
function allowlistNames() {
|
|
19771
|
-
return [.../* @__PURE__ */ new Set([...READ_ONLY_TOOLS, ...Object.keys(TOOL_TIERS)])];
|
|
19772
|
-
}
|
|
19773
19418
|
function staticDiscoveryCatalog() {
|
|
19774
|
-
const entries = allowlistNames().map(
|
|
19775
|
-
(name) => name === BROWSERS_TOOL ? browsersDescriptor() : { name, description: "", inputSchema: {} }
|
|
19776
|
-
);
|
|
19777
19419
|
return [
|
|
19778
|
-
...discoveryDescriptors(
|
|
19420
|
+
...discoveryDescriptors(),
|
|
19779
19421
|
sessionStateDescriptor(),
|
|
19780
19422
|
browsersDescriptor()
|
|
19781
19423
|
].map(
|
|
@@ -20980,8 +20622,6 @@ function timingMeta(timing) {
|
|
|
20980
20622
|
};
|
|
20981
20623
|
}
|
|
20982
20624
|
var ROUTED_FACADES = /* @__PURE__ */ new Set([
|
|
20983
|
-
CATALOG_TOOL,
|
|
20984
|
-
DESCRIBE_TOOL,
|
|
20985
20625
|
CALL_TOOL,
|
|
20986
20626
|
CONFIRM_STATUS_TOOL,
|
|
20987
20627
|
SESSION_STATE_TOOL
|
|
@@ -41462,312 +41102,7 @@ var REASON_POLICY2 = Object.freeze({
|
|
|
41462
41102
|
capacity_unavailable: Object.freeze({ retryable: true }),
|
|
41463
41103
|
uploads_unproven: Object.freeze({ retryable: true })
|
|
41464
41104
|
});
|
|
41465
|
-
var BLOG_BRIEF2 = [
|
|
41466
|
-
"my_daily_brief",
|
|
41467
|
-
"my_blog_summary",
|
|
41468
|
-
"my_realtime",
|
|
41469
|
-
"my_traffic_series",
|
|
41470
|
-
"my_top_content",
|
|
41471
|
-
"my_soaring",
|
|
41472
|
-
"my_publish_calendar",
|
|
41473
|
-
"daily_trend",
|
|
41474
|
-
"my_moments"
|
|
41475
|
-
];
|
|
41476
|
-
var BLOG_INSIGHTS2 = [
|
|
41477
|
-
"my_content_audience",
|
|
41478
|
-
"my_inflow",
|
|
41479
|
-
"my_audience",
|
|
41480
|
-
"my_inflow_domain",
|
|
41481
|
-
"my_country",
|
|
41482
|
-
"my_device",
|
|
41483
|
-
"my_dwell",
|
|
41484
|
-
"my_followers",
|
|
41485
|
-
"my_revisit",
|
|
41486
|
-
"my_revenue",
|
|
41487
|
-
"my_impression_click",
|
|
41488
|
-
"my_impression_ranks",
|
|
41489
|
-
"my_channels",
|
|
41490
|
-
"my_revenue_ranks",
|
|
41491
|
-
"my_revenue_efficiency",
|
|
41492
|
-
"my_content_info",
|
|
41493
|
-
"my_content_read",
|
|
41494
|
-
"my_content_detail",
|
|
41495
|
-
"my_content_inflow"
|
|
41496
|
-
];
|
|
41497
|
-
var RESEARCH2 = [
|
|
41498
|
-
// Caught by serp-watch's "search_" prefix, but this group's own steps open
|
|
41499
|
-
// by calling it. A step naming a tool the group does not contain sends the
|
|
41500
|
-
// caller to a catalog page it is not on.
|
|
41501
|
-
"search_keywords",
|
|
41502
|
-
"local_regions",
|
|
41503
|
-
"local_job_categories",
|
|
41504
|
-
"local_region_trend",
|
|
41505
|
-
"local_area_category_rank",
|
|
41506
|
-
"content_volume",
|
|
41507
|
-
"autocomplete_keywords",
|
|
41508
|
-
"qra_keywords",
|
|
41509
|
-
"kin_question_demand",
|
|
41510
|
-
"web_read",
|
|
41511
|
-
"run_research",
|
|
41512
|
-
// Planning tools: they need a model but call none here, returning prompt
|
|
41513
|
-
// material instead. Grouped by job — all three design a post not yet written.
|
|
41514
|
-
"outline_suggest",
|
|
41515
|
-
"seo_aeo_geo_spec",
|
|
41516
|
-
"content_calendar",
|
|
41517
|
-
// The last step of that job: turn the design into an actual draft.
|
|
41518
|
-
"write_draft",
|
|
41519
|
-
// Names which of the above comes next given what the caller just measured —
|
|
41520
|
-
// the part of the job that cannot be written down ahead of time.
|
|
41521
|
-
"write_pipeline_step"
|
|
41522
|
-
];
|
|
41523
|
-
var EDITOR_CONTROL2 = [
|
|
41524
|
-
// The tool that opens a tab belongs in the group that requires one: a
|
|
41525
|
-
// model choosing this group was just told it needs a tab, and the way out
|
|
41526
|
-
// has to be visible at the wall, not in some other group.
|
|
41527
|
-
"editor_open_window",
|
|
41528
|
-
"editor_reduce_windows",
|
|
41529
|
-
"editor_read",
|
|
41530
|
-
"editor_read_structure",
|
|
41531
|
-
"editor_undo",
|
|
41532
|
-
"editor_replace",
|
|
41533
|
-
"editor_insert_draft",
|
|
41534
|
-
// Lands a draft from any window state without ever overwriting — refuses and
|
|
41535
|
-
// names the tool to use instead when the body is occupied.
|
|
41536
|
-
"editor_place_draft",
|
|
41537
|
-
"editor_set_title",
|
|
41538
|
-
// The whole plan in one call, for a run nobody is watching. Same group as the
|
|
41539
|
-
// steps it contains — a model that reached for those should see this too.
|
|
41540
|
-
"editor_apply_manifest",
|
|
41541
|
-
// Both act on the open draft: title_optimize proposes titles for it, and
|
|
41542
|
-
// internal_links reads it.
|
|
41543
|
-
"title_optimize",
|
|
41544
|
-
"internal_links",
|
|
41545
|
-
"editor_insert_image",
|
|
41546
|
-
"seo_scorecard"
|
|
41547
|
-
];
|
|
41548
|
-
var BY_PREFIX2 = [
|
|
41549
|
-
{ slug: "serp-watch", prefixes: ["search_", "serp_"] },
|
|
41550
|
-
{ slug: "benchmark", prefixes: ["blog_", "cafe_", "influencer_"] },
|
|
41551
|
-
{ slug: "place", prefixes: ["place_"] },
|
|
41552
|
-
{ slug: "shopping", prefixes: ["shopping_"] },
|
|
41553
|
-
{ slug: "ad-bidding", prefixes: ["ad_"] },
|
|
41554
|
-
{ slug: "store-settlement", prefixes: ["commerce_"] },
|
|
41555
|
-
{ slug: "comment-stats", prefixes: ["comment_"] },
|
|
41556
|
-
{ slug: "photo-editor", prefixes: ["photo_"] },
|
|
41557
|
-
{ slug: "video-editor", prefixes: ["video_"] },
|
|
41558
|
-
{ slug: "keyword-research", prefixes: ["keyword_"] },
|
|
41559
|
-
{ slug: "pumasi", prefixes: ["pumasi_"] },
|
|
41560
|
-
{ slug: "browser-tabs", prefixes: ["tab_"] }
|
|
41561
|
-
];
|
|
41562
|
-
var GALLERY2 = ["gallery_image_add"];
|
|
41563
|
-
var EXPLICIT2 = [
|
|
41564
|
-
{ slug: "connection", tools: ["datalab_browsers"] },
|
|
41565
|
-
{ slug: "gallery", tools: GALLERY2 },
|
|
41566
|
-
{ slug: "blog-brief", tools: BLOG_BRIEF2 },
|
|
41567
|
-
{ slug: "blog-insights", tools: BLOG_INSIGHTS2 },
|
|
41568
|
-
{ slug: "keyword-research", tools: RESEARCH2 },
|
|
41569
|
-
{ slug: "editor-control", tools: EDITOR_CONTROL2 },
|
|
41570
|
-
// Named like the group but caught by none of its prefixes, so it is listed
|
|
41571
|
-
// explicitly — a similar name is not a membership rule.
|
|
41572
|
-
{ slug: "benchmark", tools: ["benchmark_gap"] }
|
|
41573
|
-
];
|
|
41574
|
-
var META2 = [
|
|
41575
|
-
{
|
|
41576
|
-
slug: "connection",
|
|
41577
|
-
label: "\uC5F0\uACB0 \uBE0C\uB77C\uC6B0\uC800",
|
|
41578
|
-
summary: "\uC5EC\uB7EC \uBE0C\uB77C\uC6B0\uC800\xB7\uD504\uB85C\uD544 \uC911 \uB3C4\uAD6C\uB97C \uC2E4\uD589\uD560 \uACF3\uC744 \uACE0\uB978\uB2E4",
|
|
41579
|
-
aliases: ["\uBE0C\uB77C\uC6B0\uC800 \uC120\uD0DD", "\uD504\uB85C\uD544 \uC120\uD0DD", "\uD06C\uB86C \uC5F0\uACB0", "\uC6E8\uC77C \uC5F0\uACB0"],
|
|
41580
|
-
dataScope: "local"
|
|
41581
|
-
},
|
|
41582
|
-
{
|
|
41583
|
-
slug: "blog-brief",
|
|
41584
|
-
label: "\uC624\uB298\uC758 \uBE14\uB85C\uADF8 \uBE0C\uB9AC\uD551",
|
|
41585
|
-
summary: "\uB0B4 \uBE14\uB85C\uADF8\uAC00 \uC9C0\uAE08 \uC5B4\uB5A4\uC9C0 \u2014 \uBC29\uBB38\xB7\uC870\uD68C\xB7\uC778\uAE30\uAE00\xB7\uC2E4\uC2DC\uAC04",
|
|
41586
|
-
aliases: ["\uB0B4 \uBE14\uB85C\uADF8 \uC131\uACFC", "\uBC29\uBB38\uC790", "\uC870\uD68C\uC218", "\uC778\uAE30\uAE00", "\uC2E4\uC2DC\uAC04 \uD1B5\uACC4"],
|
|
41587
|
-
dataScope: "own"
|
|
41588
|
-
},
|
|
41589
|
-
{
|
|
41590
|
-
slug: "blog-insights",
|
|
41591
|
-
label: "\uBE14\uB85C\uADF8 \uC2EC\uCE35 \uBD84\uC11D",
|
|
41592
|
-
summary: "\uC65C \uADF8\uB7F0\uC9C0 \u2014 \uC720\uC785 \uACBD\uB85C\xB7\uC131\uBCC4\uC5F0\uB839\xB7\uCCB4\uB958\xB7\uC218\uC775\xB7\uAE00\uBCC4 \uC0C1\uC138",
|
|
41593
|
-
aliases: ["\uBE14\uB85C\uADF8 \uC720\uC785", "\uB3C5\uC790 \uBD84\uC11D", "\uCCB4\uB958\uC2DC\uAC04", "\uC7AC\uBC29\uBB38", "\uBE14\uB85C\uADF8 \uC218\uC775"],
|
|
41594
|
-
dataScope: "own"
|
|
41595
|
-
},
|
|
41596
|
-
{
|
|
41597
|
-
slug: "keyword-research",
|
|
41598
|
-
label: "\uD0A4\uC6CC\uB4DC\xB7\uAE00\uAC10 \uB9AC\uC11C\uCE58",
|
|
41599
|
-
summary: "\uBB34\uC5C7\uC744 \uC4F8\uC9C0 \u2014 \uD0A4\uC6CC\uB4DC \uC218\uC694\xB7\uC5F0\uAD00\uC5B4\xB7\uC790\uB3D9\uC644\uC131\xB7\uBC1C\uD589\uB7C9\xB7\uC9C0\uC2DDiN \uC9C8\uBB38\xB7\uC9C0\uC5ED \uD2B8\uB80C\uB4DC",
|
|
41600
|
-
aliases: ["\uD0A4\uC6CC\uB4DC \uC870\uC0AC", "\uAC80\uC0C9\uB7C9", "\uC5F0\uAD00\uC5B4", "\uAE00\uAC10", "\uCF58\uD150\uCE20 \uC544\uC774\uB514\uC5B4"],
|
|
41601
|
-
dataScope: "mixed",
|
|
41602
|
-
steps: [
|
|
41603
|
-
"search_keywords \uB85C \uC218\uC694\uB97C \uBCF8\uB2E4",
|
|
41604
|
-
"content_volume \uC73C\uB85C \uC774\uBBF8 \uC5BC\uB9C8\uB098 \uC4F0\uC600\uB294\uC9C0 \uBCF8\uB2E4 \u2014 \uC218\uC694\uB9CC \uBCF4\uACE0 \uACE0\uB974\uBA74 \uD3EC\uD654\uB41C \uD0A4\uC6CC\uB4DC\uB97C \uACE0\uB978\uB2E4",
|
|
41605
|
-
"keyword_opportunity \uB85C \uB458\uC744 \uACAC\uC918 \uBE48\uD2C8\uC744 \uCC3E\uB294\uB2E4"
|
|
41606
|
-
]
|
|
41607
|
-
},
|
|
41608
|
-
{
|
|
41609
|
-
slug: "serp-watch",
|
|
41610
|
-
label: "\uB124\uC774\uBC84 \uAC80\uC0C9\uACB0\uACFC \uD655\uC778",
|
|
41611
|
-
summary: "\uC774 \uAC80\uC0C9\uC5B4\uC5D0 \uC9C0\uAE08 \uB124\uC774\uBC84\uAC00 \uBB34\uC5C7\uC744 \uB744\uC6B0\uB294\uC9C0",
|
|
41612
|
-
aliases: ["\uB124\uC774\uBC84 \uAC80\uC0C9\uACB0\uACFC", "\uC0C1\uC704 \uB178\uCD9C", "\uAC80\uC0C9 \uC21C\uC704", "SERP"],
|
|
41613
|
-
dataScope: "public"
|
|
41614
|
-
},
|
|
41615
|
-
{
|
|
41616
|
-
// The summary says whose page it is, because this is the one group whose
|
|
41617
|
-
// tools act somewhere the member does not own.
|
|
41618
|
-
slug: "pumasi",
|
|
41619
|
-
label: "\uD488\uC557\uC774 \u2014 \uB2E4\uB978 \uC0AC\uB78C\uC758 \uAE00",
|
|
41620
|
-
summary: "\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE14\uB85C\uADF8\uC5D0\uC11C \uB313\uAE00\uCE78\xB7\uC774\uC6C3\uCD94\uAC00 \uCC3D\uC744 \uC5F4\uACE0 \uB0B4 \uACF5\uAC10 \uC0C1\uD0DC\uB97C \uC77D\uB294\uB2E4",
|
|
41621
|
-
aliases: ["\uD488\uC557\uC774", "\uACF5\uAC10 \uC0C1\uD0DC", "\uB313\uAE00 \uC791\uC131", "\uC774\uC6C3 \uC2E0\uCCAD", "\uC11C\uB85C\uC774\uC6C3"],
|
|
41622
|
-
dataScope: "mixed"
|
|
41623
|
-
},
|
|
41624
|
-
{
|
|
41625
|
-
// Not a subject and not somebody's page: the member's own browser. Here so
|
|
41626
|
-
// a caller that needs to point another tool at a particular tab can find
|
|
41627
|
-
// the way to do it, rather than opening a second tab of the same page.
|
|
41628
|
-
slug: "browser-tabs",
|
|
41629
|
-
label: "\uB0B4 \uBE0C\uB77C\uC6B0\uC800 \uD0ED",
|
|
41630
|
-
summary: "\uC9C0\uAE08 \uC5F4\uB824 \uC788\uB294 \uD0ED\uC744 \uBCF4\uACE0, \uC5F4\uACE0, \uC55E\uC73C\uB85C \uAC00\uC838\uC624\uACE0, \uB2EB\uB294\uB2E4",
|
|
41631
|
-
aliases: ["\uBE0C\uB77C\uC6B0\uC800 \uD0ED", "\uD0ED \uC5F4\uAE30", "\uD0ED \uB2EB\uAE30", "\uD0ED \uC804\uD658"],
|
|
41632
|
-
dataScope: "local",
|
|
41633
|
-
// The two named here are how this group's surface is created and reduced,
|
|
41634
|
-
// and a guard holds them equal to the surface policy - one place would go
|
|
41635
|
-
// stale on its own otherwise.
|
|
41636
|
-
openerTool: "tab_open",
|
|
41637
|
-
reducerTool: "tab_close"
|
|
41638
|
-
},
|
|
41639
|
-
{
|
|
41640
|
-
slug: "benchmark",
|
|
41641
|
-
label: "\uACBD\uC7C1\uC790 \uBCA4\uCE58\uB9C8\uD0B9",
|
|
41642
|
-
summary: "\uB2E4\uB978 \uBE14\uB85C\uADF8\xB7\uCE74\uD398\xB7\uC778\uD50C\uB8E8\uC5B8\uC11C\uAC00 \uBB34\uC5C7\uC744 \uD558\uB294\uC9C0",
|
|
41643
|
-
aliases: ["\uACBD\uC7C1 \uBE14\uB85C\uADF8", "\uACBD\uC7C1\uC790 \uBD84\uC11D", "\uBCA4\uCE58\uB9C8\uD0B9", "\uC778\uD50C\uB8E8\uC5B8\uC11C \uBD84\uC11D"],
|
|
41644
|
-
dataScope: "public"
|
|
41645
|
-
},
|
|
41646
|
-
{
|
|
41647
|
-
slug: "place",
|
|
41648
|
-
label: "\uB124\uC774\uBC84 \uD50C\uB808\uC774\uC2A4 \uAD00\uB9AC",
|
|
41649
|
-
summary: "\uB0B4 \uB9E4\uC7A5 \uC815\uBCF4\xB7\uB9AC\uBDF0\xB7\uC608\uC57D\xB7\uCFE0\uD3F0\xB7\uB300\uAE30",
|
|
41650
|
-
aliases: ["\uC6B0\uB9AC \uB9E4\uC7A5", "\uD50C\uB808\uC774\uC2A4 \uB9AC\uBDF0", "\uC608\uC57D", "\uCFE0\uD3F0", "\uB9E4\uC7A5 \uD3C9\uD310"],
|
|
41651
|
-
dataScope: "own"
|
|
41652
|
-
},
|
|
41653
|
-
{
|
|
41654
|
-
slug: "shopping",
|
|
41655
|
-
label: "\uC1FC\uD551 \uC778\uC0AC\uC774\uD2B8",
|
|
41656
|
-
summary: "\uC774 \uC0C1\uD488\uC774 \uC5B8\uC81C \uB204\uAD6C\uC5D0\uAC8C \uD314\uB9AC\uB294\uC9C0",
|
|
41657
|
-
aliases: ["\uC1FC\uD551 \uD2B8\uB80C\uB4DC", "\uC0C1\uD488 \uC218\uC694", "\uCE74\uD14C\uACE0\uB9AC \uD310\uB9E4", "\uAD6C\uB9E4 \uC5F0\uB839"],
|
|
41658
|
-
dataScope: "public"
|
|
41659
|
-
},
|
|
41660
|
-
{
|
|
41661
|
-
slug: "ad-bidding",
|
|
41662
|
-
label: "\uAC80\uC0C9\uAD11\uACE0 \uC785\uCC30",
|
|
41663
|
-
// The calls themselves cost nothing, hence the read tier, but they return
|
|
41664
|
-
// data only when the user's search-ad account credentials are present.
|
|
41665
|
-
summary: "\uC785\uCC30\uAC00\uC640 \uC608\uC0C1 \uC131\uACFC \u2014 \uBB34\uB8CC, \uAC80\uC0C9\uAD11\uACE0 \uACC4\uC815 \uC790\uACA9\uC99D\uBA85 \uD544\uC694",
|
|
41666
|
-
aliases: ["\uAC80\uC0C9\uAD11\uACE0", "\uAD11\uACE0 \uC785\uCC30", "\uC785\uCC30\uAC00", "\uAD11\uACE0 \uC131\uACFC", "\uAD11\uACE0\uBE44"],
|
|
41667
|
-
dataScope: "own"
|
|
41668
|
-
},
|
|
41669
|
-
{
|
|
41670
|
-
slug: "store-settlement",
|
|
41671
|
-
label: "\uC2A4\uD1A0\uC5B4 \uC815\uC0B0\xB7\uB9E4\uCD9C",
|
|
41672
|
-
// The seller's own money. Nothing here writes, and the payout account the
|
|
41673
|
-
// settlement response carries is dropped before it reaches a host.
|
|
41674
|
-
summary: "\uC815\uC0B0 \uC608\uC815\uC77C\uACFC \uAE08\uC561, \uC77C\uBCC4 \uB9E4\uCD9C \u2014 \uCEE4\uBA38\uC2A4API \uC790\uACA9\uC99D\uBA85 \uD544\uC694",
|
|
41675
|
-
aliases: ["\uC2A4\uD1A0\uC5B4 \uC815\uC0B0", "\uC815\uC0B0 \uC608\uC815", "\uB9E4\uCD9C", "\uCEE4\uBA38\uC2A4 \uC8FC\uBB38"],
|
|
41676
|
-
dataScope: "own"
|
|
41677
|
-
},
|
|
41678
|
-
{
|
|
41679
|
-
slug: "comment-stats",
|
|
41680
|
-
label: "\uB313\uAE00 \uBC18\uC751 \uD1B5\uACC4",
|
|
41681
|
-
summary: "\uB274\uC2A4 \uB313\uAE00\uC774 \uC5B8\uC81C \uB204\uAD6C\uC5D0\uAC8C \uB2EC\uB9AC\uB294\uC9C0",
|
|
41682
|
-
aliases: ["\uB274\uC2A4 \uB313\uAE00", "\uB313\uAE00 \uBC18\uC751", "\uB313\uAE00 \uC131\uBCC4", "\uB313\uAE00 \uC2DC\uAC04\uB300"],
|
|
41683
|
-
dataScope: "public"
|
|
41684
|
-
},
|
|
41685
|
-
{
|
|
41686
|
-
slug: "editor-control",
|
|
41687
|
-
label: "\uAE00\uC4F0\uAE30 \uCC3D \uC81C\uC5B4",
|
|
41688
|
-
summary: "\uC5F4\uB824 \uC788\uB294 \uB124\uC774\uBC84 \uAE00\uC4F0\uAE30 \uCC3D\uC758 \uC6D0\uACE0\uB97C \uC77D\uACE0 \uACE0\uCE5C\uB2E4",
|
|
41689
|
-
aliases: ["\uBE14\uB85C\uADF8 \uAE00\uC4F0\uAE30", "\uC5F4\uB9B0 \uC6D0\uACE0", "\uCD08\uC548 \uC218\uC815", "\uC81C\uBAA9 \uC218\uC815"],
|
|
41690
|
-
dataScope: "local",
|
|
41691
|
-
needsTab: true,
|
|
41692
|
-
openerTool: "editor_open_window",
|
|
41693
|
-
reducerTool: "editor_reduce_windows",
|
|
41694
|
-
steps: [
|
|
41695
|
-
"editor_read \uB85C \uC9C0\uAE08 \uAE00\uC5D0 \uBB34\uC5C7\uC774 \uC788\uB294\uC9C0 \uBA3C\uC800 \uD655\uC778\uD55C\uB2E4 \u2014 \uBE48 \uC904 \uC54C\uACE0 \uB36E\uC5B4\uC4F0\uB294 \uAC83\uC774 \uAC00\uC7A5 \uD754\uD55C \uC0AC\uACE0\uB2E4",
|
|
41696
|
-
"\uACE0\uCE60 \uB0B4\uC6A9\uC744 \uB9CC\uB4E0\uB2E4",
|
|
41697
|
-
"editor_place_draft \uB85C \uB123\uB294\uB2E4. \uC774\uBBF8 \uB0B4\uC6A9\uC774 \uC788\uC73C\uBA74 \uC9C0\uC6B0\uC9C0 \uC54A\uACE0 \uAC70\uC808\uD558\uBA70 \uB2E4\uC74C \uB3C4\uAD6C\uB97C \uC54C\uB824 \uC900\uB2E4",
|
|
41698
|
-
"\uC804\uCCB4\uB97C \uAC08\uC544\uC5CE\uC5B4\uC57C \uD560 \uB54C\uB9CC, \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBB3C\uC5B4\uBCF8 \uB4A4 editor_replace \uB97C \uC4F4\uB2E4"
|
|
41699
|
-
]
|
|
41700
|
-
},
|
|
41701
|
-
{
|
|
41702
|
-
slug: "photo-editor",
|
|
41703
|
-
label: "\uC0AC\uC9C4 \uD3B8\uC9D1\uAE30 \uC870\uC791",
|
|
41704
|
-
summary: "\uC0AC\uC9C4 \uD3B8\uC9D1\uAE30 \uCE94\uBC84\uC2A4\uC5D0 \uD14D\uC2A4\uD2B8\xB7\uB3C4\uD615\xB7\uC774\uBBF8\uC9C0\uB97C \uB123\uB294\uB2E4",
|
|
41705
|
-
aliases: ["\uC0AC\uC9C4 \uD3B8\uC9D1\uAE30", "\uCE74\uB4DC\uB274\uC2A4", "\uCE94\uBC84\uC2A4", "\uC2AC\uB77C\uC774\uB4DC \uB514\uC790\uC778"],
|
|
41706
|
-
dataScope: "local",
|
|
41707
|
-
needsTab: true,
|
|
41708
|
-
openerTool: "photo_project_new",
|
|
41709
|
-
reducerTool: "editor_reduce_windows"
|
|
41710
|
-
},
|
|
41711
|
-
{
|
|
41712
|
-
slug: "video-editor",
|
|
41713
|
-
label: "\uC601\uC0C1 \uD3B8\uC9D1\uAE30 \uC870\uC791",
|
|
41714
|
-
summary: "\uC601\uC0C1 \uD3B8\uC9D1\uAE30\uC758 \uC7A5\uBA74\xB7\uC790\uB9C9\xB7\uBAA9\uC18C\uB9AC\uB97C \uB9CC\uB4E0\uB2E4",
|
|
41715
|
-
aliases: ["\uC601\uC0C1 \uD3B8\uC9D1\uAE30", "\uC20F\uD3FC", "\uB9B4\uC2A4", "\uC7A5\uBA74", "\uC790\uB9C9", "AI \uBAA9\uC18C\uB9AC"],
|
|
41716
|
-
dataScope: "local",
|
|
41717
|
-
needsTab: true,
|
|
41718
|
-
openerTool: "video_project_new",
|
|
41719
|
-
reducerTool: "editor_reduce_windows"
|
|
41720
|
-
},
|
|
41721
|
-
{
|
|
41722
|
-
slug: "gallery",
|
|
41723
|
-
label: "\uC774\uBBF8\uC9C0 \uAC24\uB7EC\uB9AC",
|
|
41724
|
-
summary: "\uB0B4\uAC00 \uB9CC\uB4E0 \uC0AC\uC9C4 \uD30C\uC77C\uC744 \uAC24\uB7EC\uB9AC\uC5D0 \uB123\uC5B4 \uB450 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC4F4\uB2E4 \u2014 \uD3B8\uC9D1\uAE30 \uCC3D\uC774 \uC5C6\uC5B4\uB3C4 \uB41C\uB2E4",
|
|
41725
|
-
aliases: ["\uC774\uBBF8\uC9C0 \uAC24\uB7EC\uB9AC", "\uC0AC\uC9C4 \uAC00\uC838\uC624\uAE30", "\uC774\uBBF8\uC9C0 \uBCF4\uAD00"],
|
|
41726
|
-
dataScope: "local",
|
|
41727
|
-
steps: [
|
|
41728
|
-
"gallery_image_add \uB85C \uAC24\uB7EC\uB9AC\uC5D0 \uBA3C\uC800 \uB123\uB294\uB2E4",
|
|
41729
|
-
"\uD3B8\uC9D1\uAE30 \uCABD \uB3C4\uAD6C\uB85C \uADF8 ref \uB97C \uAC00\uC838\uB2E4 \uC4F4\uB2E4 \u2014 \uAC24\uB7EC\uB9AC\uB97C \uAC70\uCE58\uBA74 \uD3B8\uC9D1\uAE30 \uCC3D\uC774 \uC5C6\uC5B4\uB3C4 \uBBF8\uB9AC \uC900\uBE44\uD560 \uC218 \uC788\uB2E4"
|
|
41730
|
-
]
|
|
41731
|
-
}
|
|
41732
|
-
];
|
|
41733
|
-
var FALLBACK_SLUG2 = "other";
|
|
41734
|
-
function slugFor2(name) {
|
|
41735
|
-
for (const e of EXPLICIT2) {
|
|
41736
|
-
if (e.tools.includes(name)) return e.slug;
|
|
41737
|
-
}
|
|
41738
|
-
for (const p of BY_PREFIX2) {
|
|
41739
|
-
if (p.prefixes.some((x) => name.startsWith(x))) return p.slug;
|
|
41740
|
-
}
|
|
41741
|
-
return FALLBACK_SLUG2;
|
|
41742
|
-
}
|
|
41743
|
-
function buildToolsets2(names) {
|
|
41744
|
-
const byslug = /* @__PURE__ */ new Map();
|
|
41745
|
-
for (const n of names) {
|
|
41746
|
-
const s = slugFor2(n);
|
|
41747
|
-
(byslug.get(s) ?? byslug.set(s, []).get(s)).push(n);
|
|
41748
|
-
}
|
|
41749
|
-
const out = [];
|
|
41750
|
-
for (const m of META2) {
|
|
41751
|
-
const tools = byslug.get(m.slug) ?? [];
|
|
41752
|
-
if (tools.length > 0) out.push({ ...m, tools });
|
|
41753
|
-
byslug.delete(m.slug);
|
|
41754
|
-
}
|
|
41755
|
-
const leftover = byslug.get(FALLBACK_SLUG2) ?? [];
|
|
41756
|
-
if (leftover.length > 0) {
|
|
41757
|
-
out.push({
|
|
41758
|
-
slug: FALLBACK_SLUG2,
|
|
41759
|
-
label: "\uADF8 \uBC16\uC758 \uB3C4\uAD6C",
|
|
41760
|
-
summary: "\uC544\uC9C1 \uBB36\uC74C\uC774 \uC815\uD574\uC9C0\uC9C0 \uC54A\uC740 \uB3C4\uAD6C",
|
|
41761
|
-
aliases: ["\uAE30\uD0C0"],
|
|
41762
|
-
dataScope: "mixed",
|
|
41763
|
-
tools: leftover
|
|
41764
|
-
});
|
|
41765
|
-
}
|
|
41766
|
-
return out;
|
|
41767
|
-
}
|
|
41768
|
-
var CATALOG_TOOL2 = "datalab_catalog";
|
|
41769
41105
|
var FIND_TOOLS_TOOL2 = "datalab_find_tools";
|
|
41770
|
-
var DESCRIBE_TOOL2 = "datalab_describe";
|
|
41771
41106
|
var CALL_TOOL2 = "datalab_call";
|
|
41772
41107
|
var CONFIRM_STATUS_TOOL2 = "datalab_confirm_status";
|
|
41773
41108
|
var SESSION_STATE_TOOL2 = "datalab_session_state";
|
|
@@ -41778,10 +41113,7 @@ function browserProperty2() {
|
|
|
41778
41113
|
description: `${BROWSERS_TOOL2} \uAC00 \uB3CC\uB824\uC900 \uC2E4\uD589 \uB300\uC0C1 \uBE0C\uB77C\uC6B0\uC800 id`
|
|
41779
41114
|
};
|
|
41780
41115
|
}
|
|
41781
|
-
|
|
41782
|
-
function discoveryDescriptors2(entries) {
|
|
41783
|
-
const sets = buildToolsets2(entries.map((e) => e.name));
|
|
41784
|
-
const names = sets.map((s) => s.slug).join(", ");
|
|
41116
|
+
function discoveryDescriptors2() {
|
|
41785
41117
|
return [
|
|
41786
41118
|
{
|
|
41787
41119
|
name: FIND_TOOLS_TOOL2,
|
|
@@ -41801,53 +41133,9 @@ function discoveryDescriptors2(entries) {
|
|
|
41801
41133
|
additionalProperties: false
|
|
41802
41134
|
}
|
|
41803
41135
|
},
|
|
41804
|
-
{
|
|
41805
|
-
name: CATALOG_TOOL2,
|
|
41806
|
-
description: `\uB370\uC774\uD130\uB7A9\uD234\uC988\uAC00 \uD560 \uC218 \uC788\uB294 \uC77C\uC758 \uBAA9\uB85D\uC744 \uB3CC\uB824\uC900\uB2E4. \uB124\uC774\uBC84 \uBE14\uB85C\uADF8\xB7\uD0A4\uC6CC\uB4DC\xB7\uAC80\uC0C9\uACB0\uACFC\xB7\uD50C\uB808\uC774\uC2A4\xB7\uC1FC\uD551\xB7\uAD11\uACE0 \uD1B5\uACC4\uC640 \uAE00\uC4F0\uAE30/\uC0AC\uC9C4/\uC601\uC0C1 \uD3B8\uC9D1\uAE30 \uC81C\uC5B4\uAE4C\uC9C0 ${entries.length}\uAC1C \uB3C4\uAD6C\uAC00 \uC788\uACE0, \uC5EC\uAE30 \uC815\uC758\uB85C \uBCF4\uC774\uB294 \uAC83\uC740 \uADF8\uC911 \uC77C\uBD80\uB2E4. **\uC0AC\uC6A9\uC790\uAC00 \uBB34\uC5C7\uC744 \uBD80\uD0C1\uD558\uB4E0, \uC9C0\uAE08 \uBCF4\uC774\uB294 \uB3C4\uAD6C\uB85C \uC548 \uB418\uBA74 \uBA3C\uC800 \uC774\uAC83\uC744 \uBD88\uB7EC\uB77C** \u2014 \uC5C6\uB2E4\uACE0 \uB2F5\uD558\uAE30 \uC804\uC5D0 \uD655\uC778\uD55C\uB2E4. toolset \uC5C6\uC774 \uBD80\uB974\uBA74 \uBB36\uC74C \uBAA9\uB85D, \uC8FC\uBA74 \uADF8 \uBB36\uC74C\uC758 \uB3C4\uAD6C \uC774\uB984\uACFC \uC124\uBA85. \uBB36\uC74C: ${names}.`,
|
|
41807
|
-
annotations: LOOKUP_ANNOTATIONS2,
|
|
41808
|
-
inputSchema: {
|
|
41809
|
-
type: "object",
|
|
41810
|
-
properties: {
|
|
41811
|
-
toolset: {
|
|
41812
|
-
type: "string",
|
|
41813
|
-
enum: sets.map((s) => s.slug),
|
|
41814
|
-
description: "\uC774 \uBB36\uC74C\uC758 \uB3C4\uAD6C \uBAA9\uB85D\uC744 \uBCF8\uB2E4. \uC0DD\uB7B5\uD558\uBA74 \uBB36\uC74C \uBAA9\uB85D\uB9CC"
|
|
41815
|
-
},
|
|
41816
|
-
query: {
|
|
41817
|
-
type: "string",
|
|
41818
|
-
description: "\uCC3E\uB294 \uB9D0(\uC608: '\uBC29\uBB38\uC790', '\uACBD\uC7C1'). \uC774\uB984\uACFC \uC124\uBA85\uC5D0\uC11C \uCC3E\uACE0, \uBB36\uC74C \uC774\uB984\uC774 \uB9DE\uC73C\uBA74 \uADF8 \uBB36\uC74C\uB3C4 \uD568\uAED8 \uB3CC\uB824\uC900\uB2E4"
|
|
41819
|
-
},
|
|
41820
|
-
withSchemas: {
|
|
41821
|
-
type: "boolean",
|
|
41822
|
-
description: `\uC778\uC790 \uC2A4\uD0A4\uB9C8\uAE4C\uC9C0 \uD568\uAED8 \uBC1B\uB294\uB2E4 \u2014 \uADF8\uB7EC\uBA74 ${DESCRIBE_TOOL2} \uC5C6\uC774 \uBC14\uB85C \uC2E4\uD589\uD560 \uC218 \uC788\uB2E4. toolset \uC774\uB098 query \uC640 \uAC19\uC774 \uC904 \uB54C\uB9CC \uC4F4\uB2E4`
|
|
41823
|
-
},
|
|
41824
|
-
browser: browserProperty2()
|
|
41825
|
-
},
|
|
41826
|
-
additionalProperties: false
|
|
41827
|
-
}
|
|
41828
|
-
},
|
|
41829
|
-
{
|
|
41830
|
-
name: DESCRIBE_TOOL2,
|
|
41831
|
-
description: `\uB3C4\uAD6C\uC758 \uC778\uC790 \uC2A4\uD0A4\uB9C8\uB97C \uB3CC\uB824\uC900\uB2E4. **${CALL_TOOL2} \uB85C \uBD80\uB974\uAE30 \uC804\uC5D0 \uADF8 \uB3C4\uAD6C\uC5D0 \uB300\uD574 \uCD5C\uC18C \uD55C \uBC88\uC740 \uC774\uAC83\uC744 \uD638\uCD9C\uD574\uB77C** \u2014 \uC778\uC790 \uC774\uB984\uACFC \uD544\uC218 \uC5EC\uBD80\uB97C \uC9C0\uC5B4\uB0B4\uBA74 \uAC70\uC808\uB418\uACE0, \uC655\uBCF5\uC774 \uD55C \uBC88 \uB354 \uB4E0\uB2E4. \uC774\uBBF8 \uC2A4\uD0A4\uB9C8\uB97C \uBC1B\uC544 \uB454 \uB3C4\uAD6C\uB294 \uB2E4\uC2DC \uBD80\uB97C \uD544\uC694 \uC5C6\uB2E4.`,
|
|
41832
|
-
annotations: LOOKUP_ANNOTATIONS2,
|
|
41833
|
-
inputSchema: {
|
|
41834
|
-
type: "object",
|
|
41835
|
-
properties: {
|
|
41836
|
-
tools: {
|
|
41837
|
-
type: "array",
|
|
41838
|
-
items: { type: "string" },
|
|
41839
|
-
maxItems: DESCRIBE_PAGE_SIZE2,
|
|
41840
|
-
description: `\uC2A4\uD0A4\uB9C8\uB97C \uBCFC \uB3C4\uAD6C \uC774\uB984 (\uD55C \uBC88\uC5D0 ${DESCRIBE_PAGE_SIZE2}\uAC1C\uAE4C\uC9C0)`
|
|
41841
|
-
},
|
|
41842
|
-
browser: browserProperty2()
|
|
41843
|
-
},
|
|
41844
|
-
required: ["tools"],
|
|
41845
|
-
additionalProperties: false
|
|
41846
|
-
}
|
|
41847
|
-
},
|
|
41848
41136
|
{
|
|
41849
41137
|
name: CALL_TOOL2,
|
|
41850
|
-
description: `${FIND_TOOLS_TOOL2} \
|
|
41138
|
+
description: `${FIND_TOOLS_TOOL2} \uB85C \uCC3E\uC740 \uB3C4\uAD6C\uB97C \uC2E4\uD589\uD55C\uB2E4. args \uB294 \uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC900 \uC2A4\uD0A4\uB9C8\uB97C \uADF8\uB300\uB85C \uB530\uB978\uB2E4 \u2014 \uB9DE\uC9C0 \uC54A\uC73C\uBA74 \uC2E4\uD589\uD558\uC9C0 \uC54A\uACE0 \uBB34\uC5C7\uC774 \uD2C0\uB838\uB294\uC9C0 \uB3CC\uB824\uC900\uB2E4. \uBB38\uC11C\uB97C \uACE0\uCE58\uAC70\uB098 \uC694\uAE08\uC774 \uB4DC\uB294 \uB3C4\uAD6C\uB294 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uD655\uC778\uC744 \uBC1B\uC740 \uB4A4\uC5D0 \uC2E4\uD589\uB41C\uB2E4.`,
|
|
41851
41139
|
// Deliberately unannotated: this tool's effect is the delegated tool's
|
|
41852
41140
|
// effect, so any fixed hint would be half false. Tier is judged at run time.
|
|
41853
41141
|
inputSchema: {
|
|
@@ -41856,7 +41144,7 @@ function discoveryDescriptors2(entries) {
|
|
|
41856
41144
|
tool: { type: "string", description: "\uC2E4\uD589\uD560 \uB3C4\uAD6C \uC774\uB984" },
|
|
41857
41145
|
args: {
|
|
41858
41146
|
type: "object",
|
|
41859
|
-
description: `\uADF8 \uB3C4\uAD6C\uC758 \uC778\uC790. ${
|
|
41147
|
+
description: `\uADF8 \uB3C4\uAD6C\uC758 \uC778\uC790. ${FIND_TOOLS_TOOL2} \uAC00 \uBC18\uD658\uD55C \uC2A4\uD0A4\uB9C8\uB97C \uB530\uB978\uB2E4`
|
|
41860
41148
|
},
|
|
41861
41149
|
browser: browserProperty2()
|
|
41862
41150
|
},
|
|
@@ -41907,15 +41195,9 @@ function browsersDescriptor2() {
|
|
|
41907
41195
|
annotations: LOOKUP_ANNOTATIONS2
|
|
41908
41196
|
};
|
|
41909
41197
|
}
|
|
41910
|
-
function allowlistNames2() {
|
|
41911
|
-
return [.../* @__PURE__ */ new Set([...READ_ONLY_TOOLS2, ...Object.keys(TOOL_TIERS2)])];
|
|
41912
|
-
}
|
|
41913
41198
|
function staticDiscoveryCatalog2() {
|
|
41914
|
-
const entries = allowlistNames2().map(
|
|
41915
|
-
(name) => name === BROWSERS_TOOL2 ? browsersDescriptor2() : { name, description: "", inputSchema: {} }
|
|
41916
|
-
);
|
|
41917
41199
|
return [
|
|
41918
|
-
...discoveryDescriptors2(
|
|
41200
|
+
...discoveryDescriptors2(),
|
|
41919
41201
|
sessionStateDescriptor2(),
|
|
41920
41202
|
browsersDescriptor2()
|
|
41921
41203
|
].map(
|
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED