indesign-cli 0.2.0__py3-none-any.whl
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.
- cli_anything/indesign/README.md +32 -0
- cli_anything/indesign/__init__.py +1 -0
- cli_anything/indesign/__main__.py +5 -0
- cli_anything/indesign/core/artifacts.py +57 -0
- cli_anything/indesign/core/catalog.py +405 -0
- cli_anything/indesign/core/domains.py +178 -0
- cli_anything/indesign/core/envelope.py +65 -0
- cli_anything/indesign/core/errors.py +30 -0
- cli_anything/indesign/core/health.py +46 -0
- cli_anything/indesign/core/hidden_backend.py +116 -0
- cli_anything/indesign/core/hidden_handler_schemas.py +223 -0
- cli_anything/indesign/core/mcp_backend.py +152 -0
- cli_anything/indesign/core/node_setup.py +35 -0
- cli_anything/indesign/core/paths.py +41 -0
- cli_anything/indesign/core/plugins/__init__.py +2 -0
- cli_anything/indesign/core/plugins/backend.py +90 -0
- cli_anything/indesign/core/plugins/discovery.py +69 -0
- cli_anything/indesign/core/plugins/host_actions.py +76 -0
- cli_anything/indesign/core/plugins/install.py +38 -0
- cli_anything/indesign/core/plugins/manifest.py +279 -0
- cli_anything/indesign/core/plugins/validate.py +181 -0
- cli_anything/indesign/core/router.py +217 -0
- cli_anything/indesign/core/runtime.py +59 -0
- cli_anything/indesign/core/scripts.py +44 -0
- cli_anything/indesign/core/session.py +68 -0
- cli_anything/indesign/indesign_cli.py +320 -0
- cli_anything/indesign/node/hidden_handler_bridge.mjs +111 -0
- cli_anything/indesign/server/package-lock.json +168 -0
- cli_anything/indesign/server/package.json +45 -0
- cli_anything/indesign/server/src/advanced/index.js +76 -0
- cli_anything/indesign/server/src/core/InDesignMCPServer.js +273 -0
- cli_anything/indesign/server/src/core/scriptExecutor.js +271 -0
- cli_anything/indesign/server/src/core/sessionManager.js +545 -0
- cli_anything/indesign/server/src/handlers/advancedTemplateHandlers.js +1072 -0
- cli_anything/indesign/server/src/handlers/bookHandlers.js +490 -0
- cli_anything/indesign/server/src/handlers/documentHandlers.js +1472 -0
- cli_anything/indesign/server/src/handlers/exportHandlers.js +208 -0
- cli_anything/indesign/server/src/handlers/graphicsHandlers.js +605 -0
- cli_anything/indesign/server/src/handlers/groupHandlers.js +358 -0
- cli_anything/indesign/server/src/handlers/helpHandlers.js +347 -0
- cli_anything/indesign/server/src/handlers/index.js +77 -0
- cli_anything/indesign/server/src/handlers/layerHandlers.js +75 -0
- cli_anything/indesign/server/src/handlers/masterSpreadHandlers.js +451 -0
- cli_anything/indesign/server/src/handlers/pageHandlers.js +698 -0
- cli_anything/indesign/server/src/handlers/pageItemHandlers.js +704 -0
- cli_anything/indesign/server/src/handlers/presentationHandlers.js +220 -0
- cli_anything/indesign/server/src/handlers/spreadHandlers.js +348 -0
- cli_anything/indesign/server/src/handlers/styleHandlers.js +458 -0
- cli_anything/indesign/server/src/handlers/textHandlers.js +431 -0
- cli_anything/indesign/server/src/handlers/utilityHandlers.js +83 -0
- cli_anything/indesign/server/src/index.js +17 -0
- cli_anything/indesign/server/src/types/index.js +106 -0
- cli_anything/indesign/server/src/types/toolDefinitionsAdvancedTemplates.js +144 -0
- cli_anything/indesign/server/src/types/toolDefinitionsBook.js +224 -0
- cli_anything/indesign/server/src/types/toolDefinitionsContent.js +353 -0
- cli_anything/indesign/server/src/types/toolDefinitionsDocument.js +409 -0
- cli_anything/indesign/server/src/types/toolDefinitionsExport.js +65 -0
- cli_anything/indesign/server/src/types/toolDefinitionsLayer.js +40 -0
- cli_anything/indesign/server/src/types/toolDefinitionsMasterSpread.js +160 -0
- cli_anything/indesign/server/src/types/toolDefinitionsPage.js +271 -0
- cli_anything/indesign/server/src/types/toolDefinitionsPageItemGroup.js +437 -0
- cli_anything/indesign/server/src/types/toolDefinitionsPresentation.js +83 -0
- cli_anything/indesign/server/src/types/toolDefinitionsSpread.js +158 -0
- cli_anything/indesign/server/src/types/toolDefinitionsUtility.js +40 -0
- cli_anything/indesign/server/src/utils/stringUtils.js +107 -0
- cli_anything/indesign/skills/SKILL.md +198 -0
- indesign_cli-0.2.0.dist-info/METADATA +267 -0
- indesign_cli-0.2.0.dist-info/RECORD +72 -0
- indesign_cli-0.2.0.dist-info/WHEEL +5 -0
- indesign_cli-0.2.0.dist-info/entry_points.txt +3 -0
- indesign_cli-0.2.0.dist-info/licenses/LICENSE +21 -0
- indesign_cli-0.2.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility tool definitions for InDesign MCP Server
|
|
3
|
+
* Utility functions and custom execution capabilities
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export const utilityToolDefinitions = [
|
|
7
|
+
// =================== UTILITY TOOLS ===================
|
|
8
|
+
{
|
|
9
|
+
name: 'execute_indesign_code',
|
|
10
|
+
description: 'Execute custom InDesign ExtendScript code',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
code: { type: 'string', description: 'ExtendScript code to execute' },
|
|
15
|
+
},
|
|
16
|
+
required: ['code'],
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'view_document',
|
|
21
|
+
description: 'View document information and current state',
|
|
22
|
+
inputSchema: { type: 'object', properties: {},
|
|
23
|
+
additionalProperties: false
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'get_session_info',
|
|
28
|
+
description: 'Get current session information including page dimensions and active document',
|
|
29
|
+
inputSchema: { type: 'object', properties: {},
|
|
30
|
+
additionalProperties: false
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'clear_session',
|
|
35
|
+
description: 'Clear all session data including page dimensions and document information',
|
|
36
|
+
inputSchema: { type: 'object', properties: {},
|
|
37
|
+
additionalProperties: false
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
];
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for string handling and escaping.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Escapes backslashes, double quotes, and control characters for JSX/AppleScript.
|
|
7
|
+
* @param {string} str - The string to escape.
|
|
8
|
+
* @returns {string} The escaped string.
|
|
9
|
+
*/
|
|
10
|
+
export function escapeJsxString(str) {
|
|
11
|
+
if (typeof str !== 'string') return '';
|
|
12
|
+
return str
|
|
13
|
+
.replace(/\\/g, '\\\\')
|
|
14
|
+
.replace(/"/g, '\\"')
|
|
15
|
+
.replace(/\r/g, '\\r')
|
|
16
|
+
.replace(/\n/g, '\\n')
|
|
17
|
+
.replace(/\t/g, '\\t');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Formats a response with a consistent structure.
|
|
22
|
+
* @param {any} result - The result to format.
|
|
23
|
+
* @param {string} [operation="Operation"] - The operation name.
|
|
24
|
+
* @returns {object} Formatted response object.
|
|
25
|
+
*/
|
|
26
|
+
export function formatResponse(result, operation = "Operation") {
|
|
27
|
+
return {
|
|
28
|
+
success: true,
|
|
29
|
+
operation,
|
|
30
|
+
result,
|
|
31
|
+
timestamp: new Date().toISOString()
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Formats an error response with a consistent structure.
|
|
37
|
+
* @param {any} error - The error to format.
|
|
38
|
+
* @param {string} [operation="Operation"] - The operation name.
|
|
39
|
+
* @returns {object} Formatted error response object.
|
|
40
|
+
*/
|
|
41
|
+
export function formatErrorResponse(error, operation = "Operation") {
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
operation,
|
|
45
|
+
result: error,
|
|
46
|
+
timestamp: new Date().toISOString()
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Normalize a filesystem path string for ExtendScript File/Folder usage.
|
|
52
|
+
* - Converts Windows backslashes to forward slashes
|
|
53
|
+
* - Handles UNC paths (\\\\server\share -> //server/share)
|
|
54
|
+
* - Handles file:// URLs by converting to local/UNC paths
|
|
55
|
+
* - Decodes URL-encoded characters to support Chinese/space paths
|
|
56
|
+
* This returns a plain string (not escaped for JSX).
|
|
57
|
+
* @param {string} p
|
|
58
|
+
* @returns {string}
|
|
59
|
+
*/
|
|
60
|
+
export function normalizeFsPathForJsx(p) {
|
|
61
|
+
if (!p || typeof p !== 'string') return '';
|
|
62
|
+
let s = p.trim();
|
|
63
|
+
|
|
64
|
+
// Handle file:// URI
|
|
65
|
+
if (/^file:\/\//i.test(s)) {
|
|
66
|
+
try {
|
|
67
|
+
const u = new URL(s);
|
|
68
|
+
if (u.host) {
|
|
69
|
+
// UNC path: file://server/share/path -> //server/share/path
|
|
70
|
+
const unc = `//${u.host}${decodeURIComponent(u.pathname)}`;
|
|
71
|
+
s = unc;
|
|
72
|
+
} else {
|
|
73
|
+
// Local drive: file:///C:/path -> C:/path
|
|
74
|
+
s = decodeURIComponent(u.pathname);
|
|
75
|
+
// Remove leading slash before drive letter if present
|
|
76
|
+
s = s.replace(/^\/(.:\/)/, '$1');
|
|
77
|
+
}
|
|
78
|
+
} catch (_) {
|
|
79
|
+
// Fall through to generic normalization
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Handle extended-length/UNC prefixes like \\?\ or \\?\UNC\
|
|
84
|
+
if (/^\\\\\?\\/i.test(s)) {
|
|
85
|
+
// \\?\UNC\server\share -> \\server\share
|
|
86
|
+
s = s.replace(/^\\\\\?\\UNC\\/i, '\\\\');
|
|
87
|
+
s = s.replace(/^\\\\\?\\/i, '');
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// UNC: \\server\share -> //server/share
|
|
91
|
+
if (/^\\\\/.test(s)) {
|
|
92
|
+
s = s.replace(/^\\\\/, '//');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Convert remaining backslashes to forward slashes
|
|
96
|
+
s = s.replace(/\\/g, '/');
|
|
97
|
+
return s;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Convenience helper to escape a filesystem path for embedding in JSX string literals.
|
|
102
|
+
* @param {string} p
|
|
103
|
+
* @returns {string}
|
|
104
|
+
*/
|
|
105
|
+
export function escapeFilePathForJsx(p) {
|
|
106
|
+
return escapeJsxString(normalizeFsPathForJsx(p));
|
|
107
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: indesign-cli
|
|
3
|
+
description: 当 Agent 需要通过 indesign-cli 操作真实 Adobe InDesign、执行 JSX、调用现有工具、验证导出物,或在其他项目中接入 InDesign 自动化能力时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# InDesign CLI
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
使用 `indesign-cli` 连接真实 Adobe InDesign。CLI 是工具目录、schema、参数、可调用性、健康检查和 session 输出的真相来源;不要把这些可发现信息硬编码进任务上下文。
|
|
11
|
+
|
|
12
|
+
本 skill 只补 CLI 自己无法判断的 Agent 行为约束:什么时候查目录、什么时候写 JSX、状态如何跨命令传递、临时文件放哪里,以及失败时如何处理。
|
|
13
|
+
|
|
14
|
+
## 使用顺序
|
|
15
|
+
|
|
16
|
+
从目标项目根目录运行命令,让 `.indesign-cli/session.json`、相对资源路径和测试产物都落在当前项目内。
|
|
17
|
+
|
|
18
|
+
如果命令不存在,默认从远程仓库安装:
|
|
19
|
+
|
|
20
|
+
```powershell
|
|
21
|
+
pip install "git+https://github.com/zhanglongxiao111/indesign-cli.git"
|
|
22
|
+
indesign-cli server setup
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
旧命令 `cli-anything-indesign` 保留为兼容别名;新项目只写 `indesign-cli`。
|
|
26
|
+
|
|
27
|
+
真实操作前先检查环境:
|
|
28
|
+
|
|
29
|
+
```powershell
|
|
30
|
+
indesign-cli --json --pretty server health
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
工具选择不明确时,按需渐进发现:
|
|
34
|
+
|
|
35
|
+
```powershell
|
|
36
|
+
indesign-cli tool domains
|
|
37
|
+
indesign-cli tool search --query "<关键词>"
|
|
38
|
+
indesign-cli tool list --domain <domain>
|
|
39
|
+
indesign-cli tool schema <tool_id>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
单个明确工具用 `tool call`。多步骤排版、复杂状态检查、E2E 验证、HTML/JSON 构建指令落地、或需要稳定复现的问题,优先写成 `.jsx` 文件再执行:
|
|
43
|
+
|
|
44
|
+
```powershell
|
|
45
|
+
indesign-cli --json --pretty script run test\workspace\probe.jsx
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
直接 `script run` 的默认脚本通道超时是 300 秒。复杂构建、导出或回环测试预计更久时,显式加 `--timeout <秒>`,最大 3600:
|
|
49
|
+
|
|
50
|
+
```powershell
|
|
51
|
+
indesign-cli --json --pretty script run test\workspace\build.jsx --timeout 900
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`script run --stdin` 只用于很短的临时探针;需要复跑、引用文件、相对 `#include`、保存证据或多人协作时,用文件模式。
|
|
55
|
+
|
|
56
|
+
导出 PDF、IDML 或图片后,用 CLI 验证产物,不要只看文件是否存在:
|
|
57
|
+
|
|
58
|
+
```powershell
|
|
59
|
+
indesign-cli export verify path/to/output.pdf
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 插件工具
|
|
63
|
+
|
|
64
|
+
上层项目可以通过 `indesign-cli` 插件把自己的高层能力接入统一工具目录。需要 HTML-to-InDesign、语义模板、回环验证等能力时,先检查插件是否存在,不要假设它已经安装:
|
|
65
|
+
|
|
66
|
+
```powershell
|
|
67
|
+
indesign-cli plugin list
|
|
68
|
+
indesign-cli tool list --domain html
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
本地插件接入或排查时使用:
|
|
72
|
+
|
|
73
|
+
```powershell
|
|
74
|
+
indesign-cli plugin install D:\AI\html-indesign
|
|
75
|
+
indesign-cli plugin validate D:\AI\html-indesign
|
|
76
|
+
indesign-cli plugin doctor html-indesign
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
插件工具仍然优先通过 `tool schema <tool_id>` 和 `tool call <tool_id>` 使用。不要绕过宿主直接调用插件内部脚本;需要真实 InDesign 的插件能力应由宿主执行 `script.run`、`export.verify` 等受控动作。
|
|
80
|
+
|
|
81
|
+
## 高级模板常用能力
|
|
82
|
+
|
|
83
|
+
高级模板工具数量少、使用频率高,可以直接优先考虑。完整参数仍以 `tool schema <tool_id>` 为准。
|
|
84
|
+
|
|
85
|
+
推荐流程:
|
|
86
|
+
|
|
87
|
+
1. 打开或指定模板 INDD。
|
|
88
|
+
2. `template.list_template_blueprints` 快速看当前文档有哪些母版模板。
|
|
89
|
+
3. `template.inspect_template_blueprint` 读取槽位名、说明和 PageNotes。
|
|
90
|
+
4. `template.create_page_with_template` 新建页面并套用母版。
|
|
91
|
+
5. `page.get_page_information` 复核页面、母版和 override 后的槽位。
|
|
92
|
+
6. `template.populate_template_slots` 用 inspect/page info 返回的槽位名填文字和图片。
|
|
93
|
+
|
|
94
|
+
常用调用样例:
|
|
95
|
+
|
|
96
|
+
```powershell
|
|
97
|
+
indesign-cli --json --pretty tool call template.list_template_blueprints --args test\workspace\args.json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`args.json`:
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```powershell
|
|
107
|
+
indesign-cli --json --pretty tool call template.inspect_template_blueprint --args test\workspace\args.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
`args.json`,省略 `templatePath` 时使用当前打开文档:
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"templatePath": "D:\\path\\template.indd"
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
```powershell
|
|
119
|
+
indesign-cli --json --pretty tool call template.create_page_with_template --args test\workspace\args.json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
`args.json`:
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"templateName": "A-封面",
|
|
127
|
+
"position": "AT_END",
|
|
128
|
+
"label": "cover-01"
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```powershell
|
|
133
|
+
indesign-cli --json --pretty tool call page.get_page_information --args test\workspace\args.json
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
`args.json`:
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"pageIndex": 0
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```powershell
|
|
145
|
+
indesign-cli --json --pretty tool call template.populate_template_slots --args test\workspace\args.json
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
`args.json`:
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"templatePath": "D:\\path\\template.indd",
|
|
153
|
+
"pageIndex": 0,
|
|
154
|
+
"outputPath": "D:\\path\\output.indd",
|
|
155
|
+
"values": {
|
|
156
|
+
"title": {
|
|
157
|
+
"text": "项目汇报标题"
|
|
158
|
+
},
|
|
159
|
+
"heroImage": {
|
|
160
|
+
"imagePath": "D:\\path\\image.jpg",
|
|
161
|
+
"fit": "FILL_FRAME",
|
|
162
|
+
"clearExisting": true
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
槽位名必须以 `inspect_template_blueprint` 或 `get_page_information` 返回值为准,不要凭视觉猜。图片填充常用 `FILL_FRAME` 或 `PROPORTIONALLY`;保留整图优先用 `PROPORTIONALLY`,铺满画面优先用 `FILL_FRAME`。
|
|
169
|
+
|
|
170
|
+
`template.run_jsx_file` 是高级模板服务器的兼容入口,参数是绝对 `filePath`。普通 Agent 调试优先用 CLI 原生命令 `script run <file.jsx>`,除非需要复用高级模板工具链。
|
|
171
|
+
|
|
172
|
+
## 读取结果
|
|
173
|
+
|
|
174
|
+
- 给测试脚本或后续 Agent 判断使用时,加 `--json --pretty`。
|
|
175
|
+
- 判断执行结果时看 `ok`、`exit_code`、`tool_success`、`warnings` 和 `data`,不要只看自然语言输出。
|
|
176
|
+
- JSX 可以返回普通字符串,也可以返回 `JSON.stringify(...)`。
|
|
177
|
+
- JSX 返回 JSON 字符串时,优先读取 `data.result_json`,不要让后续步骤重复解析 `data.parsed.result`。
|
|
178
|
+
|
|
179
|
+
## 状态模型
|
|
180
|
+
|
|
181
|
+
- CLI 不是常驻服务;每次命令会按需启动并关闭 Node MCP/bridge 子进程。
|
|
182
|
+
- InDesign 进程、打开的文档和文档内对象可以延续;Node 子进程内存状态不会跨命令延续。
|
|
183
|
+
- 跨步骤状态必须显式落到 JSON 返回值、文件路径、InDesign 文档状态、脚本标签,或当前目录 `.indesign-cli/session.json`。
|
|
184
|
+
- 不要假设上一次命令里创建的 JS 变量、缓存对象或临时内存还能被下一次命令读取。
|
|
185
|
+
|
|
186
|
+
## 上层项目边界
|
|
187
|
+
|
|
188
|
+
- 上层项目负责自己的语义、schema、validator、compiler output 和测试断言。
|
|
189
|
+
- CLI 只负责把能力发现、工具调用、JSX 传输、COM 执行和导出验证做稳。
|
|
190
|
+
- 如果上层项目是 HTML-to-InDesign 或模板编译器,不要把 HTML 解析、语义推理、大段校验逻辑塞进 JSX;JSX 应尽量接收已校验的构建指令。
|
|
191
|
+
- 不要为了 InDesign 实现细节让 HTML 或源数据变得反常;翻译层负责把自然输入转换成 InDesign 合适的样式、页面对象和资源置入。
|
|
192
|
+
|
|
193
|
+
## 测试卫生
|
|
194
|
+
|
|
195
|
+
- 临时真实测试放到目标项目已忽略的工作目录;没有约定时使用 `test/workspace/<日期时间>/`,并确认它不进 git。
|
|
196
|
+
- 不记录客户文档内容、客户名称或私有资产完整路径;必须引用外部文件时,用临时副本或脱敏路径。
|
|
197
|
+
- 创建临时 InDesign 文档后,测试结束要保存到工作目录或关闭,避免堆积标签页。
|
|
198
|
+
- `server health`、COM 或 InDesign 环境失败时,报告环境阻塞;不要绕过 CLI 写模拟成功。
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: indesign-cli
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Agent-native CLI for Adobe InDesign automation
|
|
5
|
+
Author: Sa
|
|
6
|
+
Maintainer: indesign-cli maintainers
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Project-URL: Repository, https://github.com/zhanglongxiao111/indesign-cli
|
|
9
|
+
Project-URL: Issues, https://github.com/zhanglongxiao111/indesign-cli/issues
|
|
10
|
+
Project-URL: Homepage, https://github.com/zhanglongxiao111/indesign-cli#readme
|
|
11
|
+
Keywords: indesign,cli,agent,automation,mcp,adobe
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Environment :: Win32 (MS Windows)
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: JavaScript
|
|
18
|
+
Classifier: Topic :: Multimedia :: Graphics
|
|
19
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Dynamic: license-file
|
|
24
|
+
|
|
25
|
+
# 🎨 indesign-cli
|
|
26
|
+
|
|
27
|
+
**中文** | [English](./README.en.md)
|
|
28
|
+
|
|
29
|
+
让 AI Agent 直接操作 Adobe InDesign 的命令行工具。
|
|
30
|
+
|
|
31
|
+
`indesign-cli` 把 InDesign 的自动化能力包装成 Agent 友好的 CLI:Agent 可以查询工具、执行 JSX 脚本、调用排版能力、验证导出文件,还可以把配套 Skill 安装到其他项目中。
|
|
32
|
+
|
|
33
|
+
当前 CLI 可发现 **148 个可调用能力**,覆盖 InDesign 绝大部分常用自动化功能:文档、页面、跨页、母版、图层、文本、图片、基础图形、样式、导出、Book、Presentation、模板槽位、脚本执行和环境检查。
|
|
34
|
+
|
|
35
|
+
如果你正在做 **AI 生成画册、建筑汇报、品牌手册、版式模板、HTML 转 InDesign** 这类项目,它可以让 Agent 不再靠“猜坐标”和“手搓脚本”工作,而是通过稳定的命令和结构化返回值操作真实 InDesign。
|
|
36
|
+
|
|
37
|
+
## ✨ 这个项目解决什么问题?
|
|
38
|
+
|
|
39
|
+
Adobe InDesign 很强,但对 AI Agent 来说并不好用:
|
|
40
|
+
|
|
41
|
+
- 工具能力多,Agent 不知道该调用哪个。
|
|
42
|
+
- JSX 脚本可以执行,但调试、传参、返回值和错误处理都很散。
|
|
43
|
+
- MCP 工具很多,直接塞进上下文会占用大量 token。
|
|
44
|
+
- 真实导出物是否成功,不能只靠“命令没报错”判断。
|
|
45
|
+
|
|
46
|
+
`indesign-cli` 做的事情很简单:**把真实 InDesign 自动化能力变成 Agent 更容易使用的一组命令。**
|
|
47
|
+
|
|
48
|
+
它的关键价值之一是 **省 token**:Agent 不需要一次性读取 148 个工具的完整描述,可以先看 `tool domains` 的摘要,再用 `tool search`、`tool list`、`tool schema` 按需加载当前任务需要的工具说明。
|
|
49
|
+
|
|
50
|
+
它不是一个给人类手动排版的 CLI,也不是一个新的排版引擎。它更像是 AI 项目和 InDesign 之间的稳定桥梁。
|
|
51
|
+
|
|
52
|
+
## 🚀 快速安装
|
|
53
|
+
|
|
54
|
+
### 1. 准备环境
|
|
55
|
+
|
|
56
|
+
你需要:
|
|
57
|
+
|
|
58
|
+
- Windows
|
|
59
|
+
- Adobe InDesign 桌面版:推荐 2024-2026;CLI 会尝试连接 2022-2026、CC 版本和通用 `InDesign.Application` COM 入口,实际可用版本取决于本机 COM 注册
|
|
60
|
+
- Node.js 18+
|
|
61
|
+
- Python 3.10+
|
|
62
|
+
|
|
63
|
+
InDesign 需要和命令行运行在同一个 Windows 用户会话中。
|
|
64
|
+
|
|
65
|
+
### 2. 从 GitHub 安装
|
|
66
|
+
|
|
67
|
+
```powershell
|
|
68
|
+
pip install "git+https://github.com/zhanglongxiao111/indesign-cli.git"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 3. 安装 Node 依赖
|
|
72
|
+
|
|
73
|
+
```powershell
|
|
74
|
+
indesign-cli server setup
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
这一步会安装 InDesign 自动化所需的 Node 依赖,包括 `winax`。
|
|
78
|
+
|
|
79
|
+
### 4. 检查环境
|
|
80
|
+
|
|
81
|
+
```powershell
|
|
82
|
+
indesign-cli --json --pretty server health
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
如果返回 `ok: true`,CLI 基础环境就绪。
|
|
86
|
+
|
|
87
|
+
## 🧠 给其他项目安装 Agent Skill
|
|
88
|
+
|
|
89
|
+
如果你希望某个项目里的 Agent 自动知道如何使用 `indesign-cli`,可以在任意位置运行:
|
|
90
|
+
|
|
91
|
+
```powershell
|
|
92
|
+
indesign-cli skill install --target D:\AI\your-project
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
它会安装到:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
D:\AI\your-project\.codex\skills\indesign-cli\SKILL.md
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
之后,该项目中的 Agent 会自动获得这套 InDesign CLI 使用说明。
|
|
102
|
+
|
|
103
|
+
## 🧩 插件接入
|
|
104
|
+
|
|
105
|
+
`indesign-cli` 支持项目级插件,让上层项目把自己的高层能力接入统一工具目录。比如 HTML-to-InDesign 项目可以注册 `html` 域,Agent 再通过同一套 `tool list/schema/call` 使用它。
|
|
106
|
+
|
|
107
|
+
本地插件接入示例:
|
|
108
|
+
|
|
109
|
+
```powershell
|
|
110
|
+
indesign-cli plugin install D:\AI\html-indesign
|
|
111
|
+
indesign-cli plugin validate D:\AI\html-indesign
|
|
112
|
+
indesign-cli plugin doctor html-indesign
|
|
113
|
+
indesign-cli tool list --domain html
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
插件工具不会默认挤进 Agent 上下文。Agent 仍然先看 domain 摘要,再按需读取具体 schema。
|
|
117
|
+
|
|
118
|
+
## 🛠️ 常用能力
|
|
119
|
+
|
|
120
|
+
### 🔎 查询可用工具
|
|
121
|
+
|
|
122
|
+
```powershell
|
|
123
|
+
indesign-cli tool domains
|
|
124
|
+
indesign-cli tool search --query "pdf"
|
|
125
|
+
indesign-cli tool list --domain template
|
|
126
|
+
indesign-cli tool schema template.populate_template_slots
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Agent 可以先查有哪些工具,再只读取需要的 schema,减少上下文浪费。
|
|
130
|
+
|
|
131
|
+
### 🧰 能力覆盖
|
|
132
|
+
|
|
133
|
+
当前 `indesign-cli` 可发现 **148 个可调用能力**,覆盖 InDesign 绝大部分常用自动化功能,以及大多数 Agent 自动化场景:
|
|
134
|
+
|
|
135
|
+
- 文档、页面、跨页、母版、图层
|
|
136
|
+
- 文本框、表格、图片、基础图形、页面对象
|
|
137
|
+
- 段落样式、字符样式、对象样式、色板
|
|
138
|
+
- PDF / IDML / 图片导出与产物验证
|
|
139
|
+
- Book、Presentation、模板槽位和高级模板填充
|
|
140
|
+
- JSX 脚本执行、session 线索、环境检查和 Skill 安装
|
|
141
|
+
|
|
142
|
+
这些能力通过 CLI 分域查询,不会一次性占满 Agent 上下文。
|
|
143
|
+
|
|
144
|
+
### 📜 执行 JSX 脚本
|
|
145
|
+
|
|
146
|
+
```powershell
|
|
147
|
+
indesign-cli --json --pretty script run test\workspace\probe.jsx
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
适合测试真实 InDesign 行为、创建文档、检查对象、执行复杂排版逻辑。
|
|
151
|
+
|
|
152
|
+
复杂构建或导出可能超过默认等待时间,可以显式加长脚本通道超时:
|
|
153
|
+
|
|
154
|
+
```powershell
|
|
155
|
+
indesign-cli --json --pretty script run test\workspace\build.jsx --timeout 900
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
短脚本也可以从 stdin 输入:
|
|
159
|
+
|
|
160
|
+
```powershell
|
|
161
|
+
Get-Content test\workspace\probe.jsx | indesign-cli --json --pretty script run --stdin
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 📦 验证导出物
|
|
165
|
+
|
|
166
|
+
```powershell
|
|
167
|
+
indesign-cli export verify output\deck.pdf
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
用于确认 PDF、IDML 等文件真的生成成功,而不是只看命令是否结束。
|
|
171
|
+
|
|
172
|
+
### 🧩 使用模板槽位
|
|
173
|
+
|
|
174
|
+
```powershell
|
|
175
|
+
indesign-cli tool call template.list_template_blueprints --args args.json
|
|
176
|
+
indesign-cli tool call template.inspect_template_blueprint --args args.json
|
|
177
|
+
indesign-cli tool call template.create_page_with_template --args args.json
|
|
178
|
+
indesign-cli tool call template.populate_template_slots --args args.json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
适合让 Agent 基于母版、脚本标签和槽位名生成稳定页面。
|
|
182
|
+
|
|
183
|
+
### 📚 Book / Presentation 工具
|
|
184
|
+
|
|
185
|
+
`indesign-cli` 也包含 Book 和 Presentation 相关能力,例如:
|
|
186
|
+
|
|
187
|
+
- 创建和管理 InDesign Book
|
|
188
|
+
- 导出 Book
|
|
189
|
+
- 创建演示型文档
|
|
190
|
+
- 添加封面页、章节页、全幅图片页、图片网格页
|
|
191
|
+
|
|
192
|
+
这些能力可以通过 `tool domains`、`tool list` 和 `tool schema` 查询。
|
|
193
|
+
|
|
194
|
+
## 🧪 示例工作流
|
|
195
|
+
|
|
196
|
+
一个典型 Agent 流程可能是:
|
|
197
|
+
|
|
198
|
+
```powershell
|
|
199
|
+
indesign-cli --json --pretty server health
|
|
200
|
+
indesign-cli tool domains
|
|
201
|
+
indesign-cli tool search --query "template"
|
|
202
|
+
indesign-cli tool schema template.populate_template_slots
|
|
203
|
+
indesign-cli --json --pretty script run test\workspace\build.jsx
|
|
204
|
+
indesign-cli export verify output\presentation.pdf
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Agent 负责生成脚本和参数,`indesign-cli` 负责把它们安全地送进真实 InDesign,并返回结构化结果。
|
|
208
|
+
|
|
209
|
+
## 💡 适合谁使用?
|
|
210
|
+
|
|
211
|
+
适合:
|
|
212
|
+
|
|
213
|
+
- 想让 AI Agent 自动操作 InDesign 的开发者
|
|
214
|
+
- 正在做 HTML / JSON / 模板到 InDesign 的转换项目
|
|
215
|
+
- 需要自动生成设计汇报、画册、排版文档的团队
|
|
216
|
+
- 希望用脚本验证真实 InDesign 输出的 Agent 工作流
|
|
217
|
+
|
|
218
|
+
不适合:
|
|
219
|
+
|
|
220
|
+
- 只想手动点按钮排版的普通 InDesign 用户
|
|
221
|
+
- 不安装 Adobe InDesign 的纯后端环境
|
|
222
|
+
- 希望用它替代浏览器、LaTeX 或其他排版引擎的场景
|
|
223
|
+
|
|
224
|
+
## 🔧 本地开发
|
|
225
|
+
|
|
226
|
+
```powershell
|
|
227
|
+
git clone https://github.com/zhanglongxiao111/indesign-cli.git
|
|
228
|
+
cd indesign-cli
|
|
229
|
+
pip install -e .
|
|
230
|
+
indesign-cli server setup
|
|
231
|
+
indesign-cli server health
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
运行测试:
|
|
235
|
+
|
|
236
|
+
```powershell
|
|
237
|
+
python -m pytest agent-harness\cli_anything\indesign\tests\test_core.py -q
|
|
238
|
+
node scripts\validate_schemas.js
|
|
239
|
+
node scripts\check_duplicates.mjs
|
|
240
|
+
node tests\index.js --required
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## 📁 项目结构
|
|
244
|
+
|
|
245
|
+
```text
|
|
246
|
+
.
|
|
247
|
+
├─ agent-harness/ # Python CLI、内置 Skill、CLI 测试
|
|
248
|
+
├─ src/ # MCP Server、InDesign handler、JSX/COM 执行链路
|
|
249
|
+
├─ scripts/ # 维护脚本和检查脚本
|
|
250
|
+
├─ tests/ # 测试和真实 InDesign E2E
|
|
251
|
+
├─ docs/ # 设计文档、计划、协作记录
|
|
252
|
+
├─ pyproject.toml # pip 安装入口
|
|
253
|
+
└─ AGENTS.md # 项目级 Agent 协作规则
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## 🗺️ 下一步方向
|
|
257
|
+
|
|
258
|
+
项目后续会重点完善:
|
|
259
|
+
|
|
260
|
+
- 更稳定的 HTML / 语义模板到 InDesign 转换链路
|
|
261
|
+
- 更好用的模板槽位协议
|
|
262
|
+
- 更适合 Agent 的排版检查和导出验证
|
|
263
|
+
- 更完善的示例项目和真实 E2E 场景
|
|
264
|
+
|
|
265
|
+
## 📄 License
|
|
266
|
+
|
|
267
|
+
MIT
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
cli_anything/indesign/README.md,sha256=M-bKjwb8_joy8f9kIztXjNl03oeVJbRht5oSftNdFmI,1221
|
|
2
|
+
cli_anything/indesign/__init__.py,sha256=Zn1KFblwuFHiDRdRAiRnDBRkbPttWh44jKa5zG2ov0E,22
|
|
3
|
+
cli_anything/indesign/__main__.py,sha256=n53JPRaJ-74nFmrSQXvoDrQmgLxius36EiVVkIAgZ9c,89
|
|
4
|
+
cli_anything/indesign/indesign_cli.py,sha256=zbywwZIAJh0Ey-5oFq_GjWkY6rDv_nZqgKnWGi2uUUQ,15159
|
|
5
|
+
cli_anything/indesign/core/artifacts.py,sha256=Lt0Rmut5y9kj99FpfPNg4A_nH8f5xp0h_d2Tmcd85VA,2256
|
|
6
|
+
cli_anything/indesign/core/catalog.py,sha256=DmYXDym1Vwiv_yeMegoh0x_X-T5jkjiclINKb7poCtE,15358
|
|
7
|
+
cli_anything/indesign/core/domains.py,sha256=zo5T-NpPry7DcmC4FAJigFIGx9DlTZ7KYSXMQNtlyOE,5924
|
|
8
|
+
cli_anything/indesign/core/envelope.py,sha256=N6hA5GuNcY1cLJAyjckvlh5QaLqCNL5NDZq3HfTFZr0,1509
|
|
9
|
+
cli_anything/indesign/core/errors.py,sha256=ajSWTTBspksxgIxTCF0PPM7i5aTSs33mRFUj1JPfIOk,826
|
|
10
|
+
cli_anything/indesign/core/health.py,sha256=ikjucpfsnrY8lsLAwqIZdjq1fD4dLJsmLvvnCAM7d74,1545
|
|
11
|
+
cli_anything/indesign/core/hidden_backend.py,sha256=v4CVs0dvioXcrxqBtKz5dzCUxRrUy4hUcK0M63qNLks,4716
|
|
12
|
+
cli_anything/indesign/core/hidden_handler_schemas.py,sha256=NV0asy3_2WU8vHq9jodwLEoVO2Y8O_HtnNTQekbc7n4,7996
|
|
13
|
+
cli_anything/indesign/core/mcp_backend.py,sha256=DH3hIfeTfz7mFo63xYRErTDHWkyR6LnMxoYb7CK8lrI,6066
|
|
14
|
+
cli_anything/indesign/core/node_setup.py,sha256=ey4TS5DpVn07GbllrNLP6Wk-MLR2sIfqLIFHd4qV4eM,1104
|
|
15
|
+
cli_anything/indesign/core/paths.py,sha256=MstPNyvxzucvGLqqnruaVAfLHlM1fHuFu2Tb9CXrRuM,1165
|
|
16
|
+
cli_anything/indesign/core/router.py,sha256=2dua1YhnxmERQ1PmqlVwtFHrEZFZT2vnYcoDk2H6eBs,9375
|
|
17
|
+
cli_anything/indesign/core/runtime.py,sha256=cJmpoPf4EY50vWPCNgXfk_inebm7Th3H90-qIBYsuBg,1868
|
|
18
|
+
cli_anything/indesign/core/scripts.py,sha256=V6MY679QlPGYcGIK4eN-dF8IhOHdOyLPm8_TwiBuDVk,1266
|
|
19
|
+
cli_anything/indesign/core/session.py,sha256=b4z92A138aQoncErtP5QsClq4jij9BejpYxsj8pLSwg,2059
|
|
20
|
+
cli_anything/indesign/core/plugins/__init__.py,sha256=PHh4jqD7i0aL8W8hXThczKcT4xsNZiXanBxOH5IOW5I,36
|
|
21
|
+
cli_anything/indesign/core/plugins/backend.py,sha256=LvXjqgsWdVUPao7WYi2_wVzR7NcUUEUIlROindwnQ8I,4120
|
|
22
|
+
cli_anything/indesign/core/plugins/discovery.py,sha256=qR_ONTvx4NvJQd6SjLfXPcXfKvHtwq6XrFIodaOeAv4,2498
|
|
23
|
+
cli_anything/indesign/core/plugins/host_actions.py,sha256=HMfIA1B7cUhe0uhk0oApm-0pTrgbuD_pNHOIfn5gxJA,3397
|
|
24
|
+
cli_anything/indesign/core/plugins/install.py,sha256=NsSpjwJuy6_7Q9bS2X_sMw65uN9sLTTyPaaWyyvAT9I,1492
|
|
25
|
+
cli_anything/indesign/core/plugins/manifest.py,sha256=5VViBZ6ATy2ROqWISSrA_77KjDQV_xMv8W0hw18TWbQ,10456
|
|
26
|
+
cli_anything/indesign/core/plugins/validate.py,sha256=GNnsUbitIfXTTcBDEEYrBP-4jl0zZD8CJvwQpYsDNAI,7997
|
|
27
|
+
cli_anything/indesign/node/hidden_handler_bridge.mjs,sha256=VTtJnyL-NKKWK5OkEno9C1uW2dQP1QHYPPW6CXEOIPQ,3141
|
|
28
|
+
cli_anything/indesign/server/package-lock.json,sha256=s7-6R8DwUA1lqhxCvCPP0Z5QpZrtYijEnJL3Zq55KnI,6079
|
|
29
|
+
cli_anything/indesign/server/package.json,sha256=xe25qVQN8vxeZH3uSDsnneRGkdEWi-yrOawT14B0XfU,1110
|
|
30
|
+
cli_anything/indesign/server/src/index.js,sha256=-56908oC7VK4N2N_LrkMA3zv3UvLoXQZkncUVX0DJkU,447
|
|
31
|
+
cli_anything/indesign/server/src/advanced/index.js,sha256=S0ixPWTF0p2t7OqJY-CrDFc90Wjcb6EOu3ilofckH1o,2905
|
|
32
|
+
cli_anything/indesign/server/src/core/InDesignMCPServer.js,sha256=-Kc4Dq8LmOMM-l9PywXP6liWZ2DcOORGFetDMmFWs6c,16688
|
|
33
|
+
cli_anything/indesign/server/src/core/scriptExecutor.js,sha256=RZ-N-xJ9vF7ZMx-2A91K9FzCUCi7Pej4qTC1TkGt3ek,9948
|
|
34
|
+
cli_anything/indesign/server/src/core/sessionManager.js,sha256=4d49XUWE9YKFbJoKJoBlh-EpKAy2d3JpRRYvYaOa4b8,18799
|
|
35
|
+
cli_anything/indesign/server/src/handlers/advancedTemplateHandlers.js,sha256=kcmLXDoFziPh312XFG__2s8f65p95aNzmbaPsMeBP_M,37156
|
|
36
|
+
cli_anything/indesign/server/src/handlers/bookHandlers.js,sha256=eJIYdL6W3YoE979OgGjM22K1sKSHn7xKbQ_oiQ9K7Og,19261
|
|
37
|
+
cli_anything/indesign/server/src/handlers/documentHandlers.js,sha256=JyHdFqBQJwF5_WZlkwP7ufh3OlHizI59djFe0Ykj0CI,71964
|
|
38
|
+
cli_anything/indesign/server/src/handlers/exportHandlers.js,sha256=ZVdSMh2W2KWZd92BOrTiYL773Au3a94VzKXc_mhNVbo,9940
|
|
39
|
+
cli_anything/indesign/server/src/handlers/graphicsHandlers.js,sha256=lWA_LcI3O3uGzjcRANt9Pb2B6LgNo1UnzSCbrUAbO7Y,25108
|
|
40
|
+
cli_anything/indesign/server/src/handlers/groupHandlers.js,sha256=gZLo5PnH3boa6lBfBwN0wYJ8pTXHMdmIpjEyPQl_tJU,14146
|
|
41
|
+
cli_anything/indesign/server/src/handlers/helpHandlers.js,sha256=HeUuxzu1efOUMsXVveS1si0fP6ptvU0G341gkVVvuoI,14449
|
|
42
|
+
cli_anything/indesign/server/src/handlers/index.js,sha256=awAByWUZXHJ5PFelgA-d8GxXyz4F6kUu3caFH7WYKT0,2896
|
|
43
|
+
cli_anything/indesign/server/src/handlers/layerHandlers.js,sha256=Db77GHFgGMznQ-STo-TKjy2-tjTEJzo9TE-EAAbbQoI,3070
|
|
44
|
+
cli_anything/indesign/server/src/handlers/masterSpreadHandlers.js,sha256=cb9HU1UhdOp_pFl1GpMAsmZKgHKLiMWnM4NiqMyHdQQ,18513
|
|
45
|
+
cli_anything/indesign/server/src/handlers/pageHandlers.js,sha256=Ypep8FCM9LvQGIP25R8ylgG9-C7bBLD2jeOoUhxva6M,29611
|
|
46
|
+
cli_anything/indesign/server/src/handlers/pageItemHandlers.js,sha256=uv9SoG6ZoG6PJeKToPcMDRuxoz9Kqtr6wzTUM1Bdg7g,29550
|
|
47
|
+
cli_anything/indesign/server/src/handlers/presentationHandlers.js,sha256=qc3G-BnKjrV49Fw81isAA7r8rlfBQq_VeUuBbneBHAU,11002
|
|
48
|
+
cli_anything/indesign/server/src/handlers/spreadHandlers.js,sha256=I4ZyYe42fRYRbjQTtTA7QFvzfYpJ0xyJK0rUExvNxgY,16012
|
|
49
|
+
cli_anything/indesign/server/src/handlers/styleHandlers.js,sha256=d2XWdLt1o-hQd8BxxAka9Q4p20C1_tXtx_NE-SX9tjU,19911
|
|
50
|
+
cli_anything/indesign/server/src/handlers/textHandlers.js,sha256=cGvtMau2bcyK3SOC2BjfJf_Je57uPi8uduZge0iNRdc,18592
|
|
51
|
+
cli_anything/indesign/server/src/handlers/utilityHandlers.js,sha256=0xD9Jqg_aUjMuqfBDosSq6-D_D4I41LugUnVVWHAFy8,3548
|
|
52
|
+
cli_anything/indesign/server/src/types/index.js,sha256=JWLa6wOn2al7wgUZUq2ERJK6ryzvOWYOJun5Ld8roZw,4870
|
|
53
|
+
cli_anything/indesign/server/src/types/toolDefinitionsAdvancedTemplates.js,sha256=qc3QrzarWOksrTnaqV7eoip7itKUPkiSM2i8EtZg-6w,6008
|
|
54
|
+
cli_anything/indesign/server/src/types/toolDefinitionsBook.js,sha256=MyA3nyesBnjjaDXf9BOKjOng3mvIHMmNeJS717xkH7c,9595
|
|
55
|
+
cli_anything/indesign/server/src/types/toolDefinitionsContent.js,sha256=dkLkVvAj0c4Wkvvmr8HKPNQRp6RY6mH8xo2V61BZ-20,16482
|
|
56
|
+
cli_anything/indesign/server/src/types/toolDefinitionsDocument.js,sha256=FJ4CFBd7ebQWLwd66F21V6MYt7PNjRLYAlcm0j3LgQA,18467
|
|
57
|
+
cli_anything/indesign/server/src/types/toolDefinitionsExport.js,sha256=e-hfqDCZx3aK5Ymq1R0NlTmWtWYwYT_exA3ovoeS4Zw,2867
|
|
58
|
+
cli_anything/indesign/server/src/types/toolDefinitionsLayer.js,sha256=gUxf0Cly4uXnzjo10cCdW4OkoWTH4Qnz_h8pDe8v9eI,1388
|
|
59
|
+
cli_anything/indesign/server/src/types/toolDefinitionsMasterSpread.js,sha256=_GKZnyxagEd53VOSZHpqoPlSsiWuRh8JeiPPrzJHwBo,7490
|
|
60
|
+
cli_anything/indesign/server/src/types/toolDefinitionsPage.js,sha256=mcl-ipYkadlbhWQJYe1Qseen3ka-iAg1x-1u2oclsis,12674
|
|
61
|
+
cli_anything/indesign/server/src/types/toolDefinitionsPageItemGroup.js,sha256=c9ZtsYzWbo6JYZo1jR2UH2dkENGBsTJUSK3RfcovUmI,15396
|
|
62
|
+
cli_anything/indesign/server/src/types/toolDefinitionsPresentation.js,sha256=emAJABD3ljhcpgwzhkzes0JbZ7lo9mWjdh-UR5gHACE,2760
|
|
63
|
+
cli_anything/indesign/server/src/types/toolDefinitionsSpread.js,sha256=wPbblYoZsJajJupfYGcDaitMeXCxEbetw7xEt2Nhh-Y,7600
|
|
64
|
+
cli_anything/indesign/server/src/types/toolDefinitionsUtility.js,sha256=eXpal_DEh-rJfVYoauPudAZHpCiQ61qcqIKMemm-tTM,1320
|
|
65
|
+
cli_anything/indesign/server/src/utils/stringUtils.js,sha256=klHszoB0fQ70gbGOICr8WCuMvzN2-SBdP5x-1RHxwLs,3351
|
|
66
|
+
cli_anything/indesign/skills/SKILL.md,sha256=DgpGGfeYC-p9O9y6YxGMyOkc9lkscB77gN6LRLsPAx8,7401
|
|
67
|
+
indesign_cli-0.2.0.dist-info/licenses/LICENSE,sha256=0_LoA3itQda10CQH-dSeDY0W9VKyCr3824h0DPFl-Kc,1087
|
|
68
|
+
indesign_cli-0.2.0.dist-info/METADATA,sha256=JvREv0RQbkwmR-NHRWjMnefo2UOH2_jEd7Oh8bkliuo,9230
|
|
69
|
+
indesign_cli-0.2.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
70
|
+
indesign_cli-0.2.0.dist-info/entry_points.txt,sha256=e9sxzICIbcg8wQ1rcKRLLAS6d_zefH2jMXGo1iM8icI,137
|
|
71
|
+
indesign_cli-0.2.0.dist-info/top_level.txt,sha256=LI1GTe19xehXrxQtg-3ltETALXYkoctC4Y_iuDiCSRo,13
|
|
72
|
+
indesign_cli-0.2.0.dist-info/RECORD,,
|