@quantod/qq 0.3.7 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const commander_1 = require("commander");
4
- const node_child_process_1 = require("node:child_process");
5
4
  const node_fs_1 = require("node:fs");
6
5
  const node_readline_1 = require("node:readline");
7
6
  const node_path_1 = require("node:path");
@@ -46,7 +45,7 @@ function parsePath(arg) {
46
45
  function collectFilters(opts) {
47
46
  const f = {};
48
47
  if (opts['claimed'] !== undefined)
49
- f.claimed = opts['claimed'] === '1';
48
+ f.claimed = opts['claimed'] === 'true';
50
49
  if (opts['ids'])
51
50
  f.ids = opts['ids'].split(',');
52
51
  if (opts['createdAfter'])
@@ -63,7 +62,7 @@ function collectFilters(opts) {
63
62
  }
64
63
  function addFilterOptions(cmd) {
65
64
  return cmd
66
- .option('--claimed <0|1>')
65
+ .option('--claimed <true|false>')
67
66
  .option('--ids <id1,id2,...>')
68
67
  .option('--created-after <epoch>', '', parseIntArg)
69
68
  .option('--created-before <epoch>', '', parseIntArg)
@@ -83,9 +82,26 @@ const program = new commander_1.Command();
83
82
  program.name('qq').description('Persistent pipeline for Claude agent workflows').version(version);
84
83
  program
85
84
  .command('make-pipeline [name]')
86
- .action((name) => {
85
+ .option('--description <text>', 'human-readable description of the pipeline')
86
+ .action((name, opts) => {
87
87
  try {
88
- out({ pipeline: (0, commands_js_1.makePipeline)(name) });
88
+ out({ pipeline: (0, commands_js_1.makePipeline)(name, opts.description) });
89
+ }
90
+ catch (e) {
91
+ fail(e instanceof Error ? e.message : String(e));
92
+ }
93
+ });
94
+ program
95
+ .command('list-pipelines')
96
+ .action(() => {
97
+ try {
98
+ const names = (0, commands_js_1.listPipelines)();
99
+ if (names.length === 0) {
100
+ process.stdout.write('(no pipelines)\n');
101
+ }
102
+ else {
103
+ process.stdout.write(names.join('\n') + '\n');
104
+ }
89
105
  }
90
106
  catch (e) {
91
107
  fail(e instanceof Error ? e.message : String(e));
@@ -114,13 +130,11 @@ program
114
130
  program
115
131
  .command('push <path> [id]')
116
132
  .option('--priority <n>', 'item priority (higher = claimed first)', parseFloatArg, 0.0)
117
- .option('--plain-text', 'skip YAML validation of payload')
133
+ .option('--payload-format <yaml|json|text>', 'payload validation: yaml (default), json (minified), text (none)')
118
134
  .action((path, id, opts) => {
119
135
  try {
120
- const { pipeline, stage } = parsePath(path);
121
- if (!stage)
122
- fail('expected pipeline/stage, got: ' + path);
123
- const o = { payload: readStdin() ?? undefined, priority: opts.priority, plainText: opts.plainText ?? false };
136
+ const { pipeline, stage = '' } = parsePath(path);
137
+ const o = { payload: readStdin() ?? undefined, priority: opts.priority, payloadFormat: opts.payloadFormat };
124
138
  out({ id: (0, commands_js_1.push)(pipeline, stage, id, o) });
125
139
  }
126
140
  catch (e) {
@@ -150,14 +164,14 @@ program
150
164
  .option('--target <stage>', 'move item to this stage (default: stay in current stage)')
151
165
  .option('--replace')
152
166
  .option('--priority <n>', 'update item priority', parseFloatArg)
153
- .option('--plain-text', 'skip YAML validation of payload')
167
+ .option('--payload-format <yaml|json|text>', 'payload validation: yaml (default), json (minified), text (none)')
154
168
  .action((pipeline, seqStr, opts) => {
155
169
  try {
156
170
  const seq = parseInt(seqStr, 10);
157
171
  if (isNaN(seq))
158
172
  fail('seq must be an integer');
159
173
  const payload = readStdin() ?? undefined;
160
- (0, commands_js_1.release)(pipeline, seq, { target: opts.target, payload, replace: opts.replace, priority: opts.priority, plainText: opts.plainText ?? false });
174
+ (0, commands_js_1.release)(pipeline, seq, { target: opts.target, payload, replace: opts.replace, priority: opts.priority, payloadFormat: opts.payloadFormat });
161
175
  out({ ok: true });
162
176
  }
163
177
  catch (e) {
@@ -165,26 +179,24 @@ program
165
179
  }
166
180
  });
167
181
  addFilterOptions(program.command('batch-read <path>'))
168
- .option('--payload', 'include payload in output')
182
+ .option('--include-payload', 'include payload in output')
169
183
  .action((path, opts) => {
170
184
  try {
171
185
  const { pipeline, stage = '*' } = parsePath(path);
172
186
  const filters = collectFilters(opts);
173
187
  if (filters.claimed === undefined)
174
188
  filters.claimed = false;
175
- out((0, commands_js_1.batchRead)(pipeline, stage, filters, opts.payload ?? false));
189
+ out((0, commands_js_1.batchRead)(pipeline, stage, filters, opts.includePayload ?? false));
176
190
  }
177
191
  catch (e) {
178
192
  fail(e instanceof Error ? e.message : String(e));
179
193
  }
180
194
  });
181
195
  program
182
- .command('stats [pipeline]')
196
+ .command('status <pipeline>')
183
197
  .action((pipeline) => {
184
198
  try {
185
- const data = (0, commands_js_1.stats)(pipeline);
186
- process.stdout.write('# pipeline[/stage][/substage][...]: [total, claimed]\n');
187
- process.stdout.write((0, js_yaml_1.dump)(data, { lineWidth: -1, flowLevel: 1 }));
199
+ out((0, commands_js_1.status)(pipeline));
188
200
  }
189
201
  catch (e) {
190
202
  fail(e instanceof Error ? e.message : String(e));
@@ -201,17 +213,28 @@ addReapFilterOptions(program.command('unstick <path>'))
201
213
  }
202
214
  });
203
215
  program
204
- .command('run <script>')
205
- .action((script) => {
206
- // dist/index.js @quantod/qq @quantod node_modules
207
- const nodeModules = (0, node_path_1.join)(__dirname, '../../..');
208
- const existing = process.env.NODE_PATH;
209
- const nodePath = existing ? `${nodeModules}:${existing}` : nodeModules;
210
- const result = (0, node_child_process_1.spawnSync)(process.execPath, [(0, node_path_1.resolve)(script)], {
211
- stdio: 'inherit',
212
- env: { ...process.env, NODE_PATH: nodePath },
213
- });
214
- process.exit(result.status ?? 1);
216
+ .command('load-file <path> <pipeline>')
217
+ .description('Load multiple items from a file into a pipeline (JSONL, JSON array, YAML array, CSV)')
218
+ .option('--stage <stage>', 'default stage for records that do not specify one')
219
+ .option('--delete-after', 'delete the file after loading')
220
+ .action((filePath, pipeline, opts) => {
221
+ try {
222
+ const results = (0, commands_js_1.loadFile)(filePath, pipeline, { stage: opts.stage, deleteAfter: opts.deleteAfter ?? false });
223
+ for (const r of results) {
224
+ process.stdout.write(r.message ? `${r.id}: ${r.status}: ${r.message}\n` : `${r.id}: ${r.status}\n`);
225
+ }
226
+ }
227
+ catch (e) {
228
+ fail(e instanceof Error ? e.message : String(e));
229
+ }
230
+ });
231
+ program
232
+ .command('mcp')
233
+ .description('Start MCP server (stdio) with embedded HTTP bridge')
234
+ .option('--port <n>', 'HTTP bridge port (default: random)', (v) => parseInt(v, 10))
235
+ .action(async (opts) => {
236
+ const { startMcp } = await import('./mcp.js');
237
+ await startMcp(opts.port);
215
238
  });
216
239
  program.parse();
217
240
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function startMcp(fixedPort?: number): Promise<void>;
2
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAuDA,wBAAsB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0KhE"}
package/dist/mcp.js ADDED
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startMcp = startMcp;
4
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
6
+ const node_fs_1 = require("node:fs");
7
+ const node_path_1 = require("node:path");
8
+ const node_os_1 = require("node:os");
9
+ const zod_1 = require("zod");
10
+ const js_yaml_1 = require("js-yaml");
11
+ const commands_js_1 = require("./commands.js");
12
+ const http_js_1 = require("./http.js");
13
+ const javascript_js_1 = require("./sdk-templates/javascript.js");
14
+ const python_js_1 = require("./sdk-templates/python.js");
15
+ const VERSION = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, '../package.json'), 'utf8')).version;
16
+ function loadResource(name) {
17
+ return (0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, 'resources', `${name}.md`), 'utf8');
18
+ }
19
+ const INSTRUCTIONS = `QQ is a persistent, crash-safe pipeline for multi-stage agentic workflows. \
20
+ It implements a state machine with concurrency guarantees: items move through stages, \
21
+ claim→release is an atomic transition only one agent holds at a time, and state survives restarts.
22
+
23
+ Use QQ when work fans out across multiple items or stages: bulk processing, web crawling, \
24
+ research pipelines, batch enrichment, any task where multiple items need to be processed \
25
+ concurrently or sequentially through defined stages.
26
+
27
+ Before calling any QQ tool, read the \`guide\` resource — it contains the mental model, \
28
+ the complete tool reference, SDK usage, and examples. For Chrome browser scenarios, \
29
+ also read the \`chrome\` resource. When designing a new pipeline, read the \`pipeline_design\` resource first.`;
30
+ function getLanIp() {
31
+ const ifaces = (0, node_os_1.networkInterfaces)();
32
+ for (const name of Object.keys(ifaces)) {
33
+ if (name.startsWith('lo'))
34
+ continue;
35
+ for (const iface of ifaces[name] ?? []) {
36
+ if (iface.family === 'IPv4' && !iface.internal)
37
+ return iface.address;
38
+ }
39
+ }
40
+ return '127.0.0.1';
41
+ }
42
+ function ok(text) {
43
+ return { content: [{ type: 'text', text }] };
44
+ }
45
+ function err(e) {
46
+ const msg = e instanceof Error ? e.message : String(e);
47
+ return { content: [{ type: 'text', text: `error: ${msg}` }], isError: true };
48
+ }
49
+ async function startMcp(fixedPort) {
50
+ const http = await (0, http_js_1.startHttp)(fixedPort);
51
+ const lanIp = getLanIp();
52
+ const server = new mcp_js_1.McpServer({ name: 'qq', version: VERSION }, { instructions: INSTRUCTIONS });
53
+ // ── Pipeline tools ─────────────────────────────────────────────────────────
54
+ server.registerTool('make_pipeline', {
55
+ description: 'Create a new pipeline. Read guide before using.',
56
+ inputSchema: { name: zod_1.z.string().optional(), description: zod_1.z.string().optional() },
57
+ }, ({ name, description }) => {
58
+ try {
59
+ return ok(`pipeline: ${(0, commands_js_1.makePipeline)(name, description)}`);
60
+ }
61
+ catch (e) {
62
+ return err(e);
63
+ }
64
+ });
65
+ server.registerTool('push', {
66
+ description: 'Push an item into a pipeline stage. Read guide before using.',
67
+ inputSchema: {
68
+ pipeline: zod_1.z.string(),
69
+ stage: zod_1.z.string().optional(),
70
+ id: zod_1.z.string().optional(),
71
+ payload: zod_1.z.string().optional(),
72
+ priority: zod_1.z.number().optional(),
73
+ payloadFormat: zod_1.z.enum(['yaml', 'json', 'text']).optional(),
74
+ },
75
+ }, ({ pipeline, stage, id, payload, priority, payloadFormat }) => {
76
+ try {
77
+ return ok(`id: ${(0, commands_js_1.push)(pipeline, stage, id, { payload, priority, payloadFormat })}`);
78
+ }
79
+ catch (e) {
80
+ return err(e);
81
+ }
82
+ });
83
+ server.registerTool('claim', {
84
+ description: 'Claim the next available item from a pipeline stage. Read guide before using.',
85
+ inputSchema: {
86
+ pipeline: zod_1.z.string(),
87
+ stage: zod_1.z.string().default('*'),
88
+ id: zod_1.z.string().optional(),
89
+ random: zod_1.z.boolean().optional(),
90
+ },
91
+ }, ({ pipeline, stage, id, random }) => {
92
+ try {
93
+ return ok((0, js_yaml_1.dump)((0, commands_js_1.claim)(pipeline, stage, id, { random }), { lineWidth: -1 }));
94
+ }
95
+ catch (e) {
96
+ return err(e);
97
+ }
98
+ });
99
+ server.registerTool('release', {
100
+ description: 'Release a claimed item, optionally moving it to a new stage. Read guide before using.',
101
+ inputSchema: {
102
+ pipeline: zod_1.z.string(),
103
+ seq: zod_1.z.number(),
104
+ target: zod_1.z.string().optional(),
105
+ payload: zod_1.z.string().optional(),
106
+ replace: zod_1.z.boolean().optional(),
107
+ priority: zod_1.z.number().optional(),
108
+ payloadFormat: zod_1.z.enum(['yaml', 'json', 'text']).optional(),
109
+ },
110
+ }, ({ pipeline, seq, target, payload, replace, priority, payloadFormat }) => {
111
+ try {
112
+ (0, commands_js_1.release)(pipeline, seq, { target, payload, replace, priority, payloadFormat });
113
+ return ok('ok: true');
114
+ }
115
+ catch (e) {
116
+ return err(e);
117
+ }
118
+ });
119
+ server.registerTool('status', {
120
+ description: 'Get pipeline description and item counts per stage. Read guide before using.',
121
+ inputSchema: { pipeline: zod_1.z.string() },
122
+ }, ({ pipeline }) => {
123
+ try {
124
+ return ok((0, js_yaml_1.dump)((0, commands_js_1.status)(pipeline), { lineWidth: -1 }));
125
+ }
126
+ catch (e) {
127
+ return err(e);
128
+ }
129
+ });
130
+ server.registerTool('batch_read', {
131
+ description: 'Read items from a pipeline stage without claiming. Read guide before using.',
132
+ inputSchema: {
133
+ pipeline: zod_1.z.string(),
134
+ stage: zod_1.z.string().optional(),
135
+ includePayload: zod_1.z.boolean().optional(),
136
+ claimed: zod_1.z.boolean().optional(),
137
+ ids: zod_1.z.array(zod_1.z.string()).optional(),
138
+ createdAfter: zod_1.z.number().optional(),
139
+ createdBefore: zod_1.z.number().optional(),
140
+ modifiedAfter: zod_1.z.number().optional(),
141
+ limit: zod_1.z.number().optional(),
142
+ offset: zod_1.z.number().optional(),
143
+ },
144
+ }, ({ pipeline, stage, includePayload, claimed, ids, createdAfter, createdBefore, modifiedAfter, limit, offset }) => {
145
+ try {
146
+ const items = (0, commands_js_1.batchRead)(pipeline, stage ?? '*', {
147
+ claimed, ids, created_after: createdAfter, created_before: createdBefore,
148
+ modified_after: modifiedAfter, limit, offset,
149
+ }, includePayload ?? false);
150
+ return ok((0, js_yaml_1.dump)(items, { lineWidth: -1 }));
151
+ }
152
+ catch (e) {
153
+ return err(e);
154
+ }
155
+ });
156
+ server.registerTool('unstick', {
157
+ description: 'Release all stuck claimed items back to their stage. Read guide before using.',
158
+ inputSchema: {
159
+ pipeline: zod_1.z.string(),
160
+ stage: zod_1.z.string().optional(),
161
+ ids: zod_1.z.array(zod_1.z.string()).optional(),
162
+ createdAfter: zod_1.z.number().optional(),
163
+ createdBefore: zod_1.z.number().optional(),
164
+ modifiedAfter: zod_1.z.number().optional(),
165
+ },
166
+ }, ({ pipeline, stage, ids, createdAfter, createdBefore, modifiedAfter }) => {
167
+ try {
168
+ const n = (0, commands_js_1.unstick)(pipeline, stage ?? '*', {
169
+ ids, created_after: createdAfter, created_before: createdBefore, modified_after: modifiedAfter,
170
+ });
171
+ return ok(`unstuck: ${n}`);
172
+ }
173
+ catch (e) {
174
+ return err(e);
175
+ }
176
+ });
177
+ server.registerTool('delete_pipeline', {
178
+ description: 'Delete a pipeline and all its items. Irreversible. Read guide before using.',
179
+ inputSchema: { pipeline: zod_1.z.string() },
180
+ }, ({ pipeline }) => {
181
+ try {
182
+ (0, commands_js_1.deletePipeline)(pipeline);
183
+ return ok('ok: true');
184
+ }
185
+ catch (e) {
186
+ return err(e);
187
+ }
188
+ });
189
+ // ── Bridge tools ───────────────────────────────────────────────────────────
190
+ server.registerTool('get_sdk', {
191
+ description: "Get an SDK snippet for connecting scripts to QQ's HTTP bridge. Read guide before using.",
192
+ inputSchema: { language: zod_1.z.enum(['javascript', 'python']) },
193
+ }, ({ language }) => {
194
+ const snippet = language === 'python'
195
+ ? (0, python_js_1.renderPythonSdk)(lanIp, http.port, http.token)
196
+ : (0, javascript_js_1.renderJavaScriptSdk)(lanIp, http.port, http.token);
197
+ return ok(snippet);
198
+ });
199
+ server.registerTool('load_file', {
200
+ description: 'Load multiple items from a file into a pipeline. Supports JSONL, JSON array, YAML array, CSV. Read guide before using.',
201
+ inputSchema: {
202
+ path: zod_1.z.string(),
203
+ pipeline: zod_1.z.string(),
204
+ stage: zod_1.z.string().optional(),
205
+ deleteAfter: zod_1.z.boolean().optional(),
206
+ },
207
+ }, ({ path: filePath, pipeline, stage, deleteAfter }) => {
208
+ try {
209
+ const results = (0, commands_js_1.loadFile)(filePath, pipeline, { stage, deleteAfter });
210
+ const lines = results.map(r => r.message ? `${r.id}: ${r.status}: ${r.message}` : `${r.id}: ${r.status}`);
211
+ return ok(lines.join('\n'));
212
+ }
213
+ catch (e) {
214
+ return err(e);
215
+ }
216
+ });
217
+ // ── Resources ──────────────────────────────────────────────────────────────
218
+ server.registerResource('guide', new mcp_js_1.ResourceTemplate('qq://guide', { list: undefined }), { mimeType: 'text/markdown' }, async () => ({
219
+ contents: [{ uri: 'qq://guide', mimeType: 'text/markdown', text: loadResource('guide') }],
220
+ }));
221
+ server.registerResource('chrome', new mcp_js_1.ResourceTemplate('qq://chrome', { list: undefined }), { mimeType: 'text/markdown' }, async () => ({
222
+ contents: [{ uri: 'qq://chrome', mimeType: 'text/markdown', text: loadResource('chrome') }],
223
+ }));
224
+ server.registerResource('pipeline_design', new mcp_js_1.ResourceTemplate('qq://pipeline_design', { list: undefined }), { mimeType: 'text/markdown' }, async () => ({
225
+ contents: [{ uri: 'qq://pipeline_design', mimeType: 'text/markdown', text: loadResource('pipeline_design') }],
226
+ }));
227
+ // ── Connect ────────────────────────────────────────────────────────────────
228
+ const transport = new stdio_js_1.StdioServerTransport();
229
+ await server.connect(transport);
230
+ process.stderr.write(`qq MCP server running. HTTP bridge on ${lanIp}:${http.port}\n`);
231
+ }
232
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ # QQ Chrome Integration
2
+
3
+ Read the `guide` resource first — this document covers Chrome-specific patterns only.
4
+
5
+ ---
6
+
7
+ ## How to get data out of Chrome
8
+
9
+ Chrome devtools and connectors usually struggle to get large data packages from web pages in Chrome. Solution: download + load_file. The browser's download API has no mixed content restrictions. Trigger a download from the HTTPS page, then call the `load_file` MCP tool to ingest the file.
10
+
11
+ **In the injected script (HTTPS page):**
12
+ ```javascript
13
+ // Serialize data and trigger a download — no network request, no mixed content issue
14
+ const data = JSON.stringify({ items: extractedItems });
15
+ const blob = new Blob([data], { type: 'application/json' });
16
+ const a = document.createElement('a');
17
+ a.href = URL.createObjectURL(blob);
18
+ a.download = 'qq-data.json';
19
+ a.click();
20
+ ```
21
+
22
+ **Then call load_file:**
23
+ ```
24
+ load_file(
25
+ path: "$HOME/Downloads/qq-data.json",
26
+ pipeline: "my_pypeline",
27
+ stage: "inbox",
28
+ deleteAfter: true
29
+ )
30
+ ```
31
+
32
+ **Requirement**: Chrome must be set to auto-download to a known directory (no "ask where to save" prompt). Set the `download` attribute on the anchor to control the filename.
33
+