looply-cli 0.5.31 → 0.5.32
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/autonomy-controller.d.ts.map +1 -1
- package/dist/autonomy-controller.js +6 -0
- package/dist/autonomy-controller.js.map +1 -1
- package/dist/branch-delivery-wiring.d.ts +3 -1
- package/dist/branch-delivery-wiring.d.ts.map +1 -1
- package/dist/branch-delivery-wiring.js +5 -3
- package/dist/branch-delivery-wiring.js.map +1 -1
- package/dist/branch-delivery.d.ts +9 -1
- package/dist/branch-delivery.d.ts.map +1 -1
- package/dist/branch-delivery.js +36 -1
- package/dist/branch-delivery.js.map +1 -1
- package/dist/daemon-cmd.js +1 -1
- package/dist/daemon-cmd.js.map +1 -1
- package/dist/goal-adaptive.d.ts +23 -1
- package/dist/goal-adaptive.d.ts.map +1 -1
- package/dist/goal-adaptive.js +34 -1
- package/dist/goal-adaptive.js.map +1 -1
- package/dist/goal-compile.d.ts +2 -0
- package/dist/goal-compile.d.ts.map +1 -1
- package/dist/goal-compile.js +13 -1
- package/dist/goal-compile.js.map +1 -1
- package/dist/goal-execution-evidence.d.ts +6 -0
- package/dist/goal-execution-evidence.d.ts.map +1 -1
- package/dist/goal-execution-evidence.js +34 -1
- package/dist/goal-execution-evidence.js.map +1 -1
- package/dist/goal-gap.d.ts +22 -0
- package/dist/goal-gap.d.ts.map +1 -1
- package/dist/goal-gap.js +28 -6
- package/dist/goal-gap.js.map +1 -1
- package/dist/mcp-main.js +2 -0
- package/dist/mcp-main.js.map +1 -1
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +13 -0
- package/dist/mcp-server.js.map +1 -1
- package/dist/model-transport.d.ts.map +1 -1
- package/dist/model-transport.js +3 -0
- package/dist/model-transport.js.map +1 -1
- package/dist/project-terminal.d.ts +4 -1
- package/dist/project-terminal.d.ts.map +1 -1
- package/dist/project-terminal.js +8 -3
- package/dist/project-terminal.js.map +1 -1
- package/dist/pursuit-ending.d.ts.map +1 -1
- package/dist/pursuit-ending.js +5 -1
- package/dist/pursuit-ending.js.map +1 -1
- package/dist/run-cmd.d.ts.map +1 -1
- package/dist/run-cmd.js +17 -6
- package/dist/run-cmd.js.map +1 -1
- package/dist/ticket-attachments.d.ts +66 -0
- package/dist/ticket-attachments.d.ts.map +1 -0
- package/dist/ticket-attachments.js +155 -0
- package/dist/ticket-attachments.js.map +1 -0
- package/dist/ticket-words.d.ts.map +1 -1
- package/dist/ticket-words.js +8 -2
- package/dist/ticket-words.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ATTACHMENT_SCHEMA = exports.ATTACHMENT_TOOL = exports.ATTACHMENTS_DIR = exports.ATTACHMENTS_POINTER = void 0;
|
|
4
|
+
exports.imageLinks = imageLinks;
|
|
5
|
+
exports.stateDirOf = stateDirOf;
|
|
6
|
+
exports.readAttachmentPointer = readAttachmentPointer;
|
|
7
|
+
exports.ensureTicketAttachments = ensureTicketAttachments;
|
|
8
|
+
exports.attachmentsBlock = attachmentsBlock;
|
|
9
|
+
exports.withAttachments = withAttachments;
|
|
10
|
+
exports.callAttachment = callAttachment;
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const node_path_1 = require("node:path");
|
|
13
|
+
const bug_repro_1 = require("./bug-repro");
|
|
14
|
+
/**
|
|
15
|
+
* 🔴 LOOPLY COULD NOT SEE A TICKET'S PICTURES (LOO-B-2, 2026-10-21). RBB-B-204 said "remove the elements circled in the
|
|
16
|
+
* attachment"; the attachment was a public PNG in the goal's words, and every plan and check answered "the attachment
|
|
17
|
+
* isn't available". Nothing downloaded it except the bug-reproduction step — into a folder `git discard` then deleted —
|
|
18
|
+
* and no model could open an image anyway: the contained file tool reads text only.
|
|
19
|
+
*
|
|
20
|
+
* So, for EVERY goal: the image links in the goal's words are downloaded once, on the host (the daemon's own process,
|
|
21
|
+
* never the container), into the checkout's protected state folder, and listed. Every role may then LOOK at them with
|
|
22
|
+
* the read-only `view_attachment` tool, served by the trusted bridge as MCP image content — like `view_screenshot` — and
|
|
23
|
+
* every prompt that carries the goal's words is told their names.
|
|
24
|
+
*/
|
|
25
|
+
exports.ATTACHMENTS_POINTER = 'ticket-attachments.json';
|
|
26
|
+
exports.ATTACHMENTS_DIR = 'ticket-attachments';
|
|
27
|
+
exports.ATTACHMENT_TOOL = 'view_attachment';
|
|
28
|
+
const MAX_IMAGES = 8;
|
|
29
|
+
const MAX_BYTES = 5 * 1024 * 1024;
|
|
30
|
+
const IMAGE_TYPES = [
|
|
31
|
+
[/^image\/png\b/i, 'png', 'image/png'],
|
|
32
|
+
[/^image\/jpe?g\b/i, 'jpg', 'image/jpeg'],
|
|
33
|
+
[/^image\/gif\b/i, 'gif', 'image/gif'],
|
|
34
|
+
[/^image\/webp\b/i, 'webp', 'image/webp'],
|
|
35
|
+
];
|
|
36
|
+
/** The image links a goal's words carry: the attachments list first, then any other https link that names an image file. */
|
|
37
|
+
function imageLinks(goalText) {
|
|
38
|
+
const listed = (0, bug_repro_1.ticketAttachments)(goalText);
|
|
39
|
+
const loose = [...goalText.matchAll(/https:\/\/[^\s)"'<>]+\.(?:png|jpe?g|gif|webp)(?:\?[^\s)"'<>]*)?/gi)].map((m) => m[0]);
|
|
40
|
+
return [...new Set([...listed, ...loose])].slice(0, MAX_IMAGES);
|
|
41
|
+
}
|
|
42
|
+
function stateDirOf(cwd) {
|
|
43
|
+
return (0, node_path_1.join)(cwd, '.looply', 'state');
|
|
44
|
+
}
|
|
45
|
+
function readAttachmentPointer(stateDir) {
|
|
46
|
+
try {
|
|
47
|
+
const p = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(stateDir, exports.ATTACHMENTS_POINTER), 'utf8'));
|
|
48
|
+
return Array.isArray(p.images) ? p : null;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Download the goal's images (once per goal version) and list them. Never throws; a link that cannot be fetched is
|
|
56
|
+
* listed as unavailable, and the goal's words still carry its address.
|
|
57
|
+
*/
|
|
58
|
+
async function ensureTicketAttachments(input) {
|
|
59
|
+
const links = imageLinks(input.goalText);
|
|
60
|
+
const stateDir = stateDirOf(input.cwd);
|
|
61
|
+
if (links.length === 0)
|
|
62
|
+
return null;
|
|
63
|
+
const prior = readAttachmentPointer(stateDir);
|
|
64
|
+
if (prior !== null && prior.goalKey === input.goalKey && prior.images.every((i) => (0, node_fs_1.existsSync)(i.file)))
|
|
65
|
+
return prior;
|
|
66
|
+
const fetchFn = input.fetchFn ?? fetch;
|
|
67
|
+
const dir = (0, node_path_1.join)(stateDir, exports.ATTACHMENTS_DIR);
|
|
68
|
+
const images = [];
|
|
69
|
+
const unavailable = [];
|
|
70
|
+
for (const [n, url] of links.entries()) {
|
|
71
|
+
const ac = new AbortController();
|
|
72
|
+
const timer = setTimeout(() => ac.abort(), 20_000);
|
|
73
|
+
try {
|
|
74
|
+
const res = await fetchFn(url, { signal: ac.signal, redirect: 'follow' });
|
|
75
|
+
const type = res.ok ? (res.headers.get('content-type') ?? '') : '';
|
|
76
|
+
const kind = IMAGE_TYPES.find(([re]) => re.test(type));
|
|
77
|
+
const declared = Number(res.headers.get('content-length') ?? '0');
|
|
78
|
+
if (kind === undefined || declared > MAX_BYTES) {
|
|
79
|
+
unavailable.push(url);
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
83
|
+
if (buf.length > MAX_BYTES) {
|
|
84
|
+
unavailable.push(url);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
88
|
+
const name = `attachment-${n + 1}.${kind[1]}`;
|
|
89
|
+
const file = (0, node_path_1.join)(dir, name);
|
|
90
|
+
(0, node_fs_1.writeFileSync)(file, buf);
|
|
91
|
+
images.push({ name, label: url, file, mime: kind[2] });
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
unavailable.push(url);
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
clearTimeout(timer);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const pointer = { goalKey: input.goalKey, images, unavailable };
|
|
101
|
+
try {
|
|
102
|
+
(0, node_fs_1.mkdirSync)(stateDir, { recursive: true });
|
|
103
|
+
const path = (0, node_path_1.join)(stateDir, exports.ATTACHMENTS_POINTER);
|
|
104
|
+
const tmp = `${path}.${process.pid}.tmp`;
|
|
105
|
+
(0, node_fs_1.writeFileSync)(tmp, `${JSON.stringify(pointer, null, 2)}\n`, 'utf8');
|
|
106
|
+
(0, node_fs_1.renameSync)(tmp, path);
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
input.log?.(`attach : could not list the ticket's images (${e.message})`);
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
input.log?.(`attach : ${images.length} of ${links.length} ticket image(s) saved for the models to look at`);
|
|
113
|
+
return pointer;
|
|
114
|
+
}
|
|
115
|
+
/** The block every prompt carrying the goal's words gets, when the goal has images. '' when it has none. */
|
|
116
|
+
function attachmentsBlock(pointer, goalKey) {
|
|
117
|
+
if (pointer === null || pointer.goalKey !== goalKey || (pointer.images.length === 0 && pointer.unavailable.length === 0))
|
|
118
|
+
return '';
|
|
119
|
+
const lines = ['', '', 'TICKET ATTACHMENTS — the images on the ticket. LOOK at them with the view_attachment tool before deciding anything they show:'];
|
|
120
|
+
for (const i of pointer.images)
|
|
121
|
+
lines.push(`- ${i.name} (from ${i.label})`);
|
|
122
|
+
for (const u of pointer.unavailable)
|
|
123
|
+
lines.push(`- not available to Looply (it needs a sign-in, is not an image, or is too big): ${u} — say so if the work depends on it`);
|
|
124
|
+
return lines.join('\n');
|
|
125
|
+
}
|
|
126
|
+
/** The goal's words with its attachments named, read from the checkout's state folder. */
|
|
127
|
+
function withAttachments(goalText, cwd, goalKey) {
|
|
128
|
+
return `${goalText}${attachmentsBlock(readAttachmentPointer(stateDirOf(cwd)), goalKey)}`;
|
|
129
|
+
}
|
|
130
|
+
exports.ATTACHMENT_SCHEMA = {
|
|
131
|
+
description: "Look at an image attached to the ticket (screenshots a person added). Call with no name to list them. Read-only.",
|
|
132
|
+
inputSchema: {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: { name: { type: 'string', description: 'One of the listed attachment names. Omit to list them.' } },
|
|
135
|
+
additionalProperties: false,
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
/** The tool, served in the trusted bridge process (the container's file tool reads text only). */
|
|
139
|
+
function callAttachment(stateDir, args) {
|
|
140
|
+
const p = readAttachmentPointer(stateDir);
|
|
141
|
+
const name = args['name'];
|
|
142
|
+
if (name === undefined || name === '') {
|
|
143
|
+
if (p === null || p.images.length === 0)
|
|
144
|
+
return { content: [{ type: 'text', text: 'This ticket has no images Looply could fetch.' }], isError: false };
|
|
145
|
+
return { content: [{ type: 'text', text: p.images.map((i) => `${i.name} — ${i.label}`).join('\n') }], isError: false };
|
|
146
|
+
}
|
|
147
|
+
const img = p?.images.find((i) => i.name === name);
|
|
148
|
+
if (img === undefined) {
|
|
149
|
+
return { content: [{ type: 'text', text: `refused: no attachment is named ${String(name)}${p && p.images.length ? `; the names are: ${p.images.map((i) => i.name).join(', ')}` : ''}` }], isError: true };
|
|
150
|
+
}
|
|
151
|
+
if (!(0, node_fs_1.existsSync)(img.file) || (0, node_fs_1.statSync)(img.file).size > MAX_BYTES)
|
|
152
|
+
return { content: [{ type: 'text', text: `refused: ${img.name} is no longer on this machine` }], isError: true };
|
|
153
|
+
return { content: [{ type: 'image', data: (0, node_fs_1.readFileSync)(img.file).toString('base64'), mimeType: img.mime }], isError: false };
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=ticket-attachments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-attachments.js","sourceRoot":"","sources":["../src/ticket-attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-words.d.ts","sourceRoot":"","sources":["../src/ticket-words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,gGAAgG;AAChG,eAAO,MAAM,eAAe,QAEgE,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAEwD,CAAC;AAE7F,gEAAgE;AAChE,eAAO,MAAM,eAAe,8FAA8F,CAAC;AAE3H,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,4DAA4D,CAAC;AAE3F,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,6CAA6C,CAAC;AAE/E,4FAA4F;AAC5F,eAAO,MAAM,eAAe,2EAAsE,CAAC;AAUnG,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAelG;AAmBD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2B/C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"ticket-words.d.ts","sourceRoot":"","sources":["../src/ticket-words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,gGAAgG;AAChG,eAAO,MAAM,eAAe,QAEgE,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAEwD,CAAC;AAE7F,gEAAgE;AAChE,eAAO,MAAM,eAAe,8FAA8F,CAAC;AAE3H,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,4DAA4D,CAAC;AAE3F,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,6CAA6C,CAAC;AAE/E,4FAA4F;AAC5F,eAAO,MAAM,eAAe,2EAAsE,CAAC;AAUnG,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAelG;AAmBD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2B/C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAevD;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAsChH"}
|
package/dist/ticket-words.js
CHANGED
|
@@ -145,8 +145,14 @@ function ticketSentence(internal) {
|
|
|
145
145
|
return exports.REPLAN_SENTENCE;
|
|
146
146
|
if (/^this goal's work is done\s*[—-]+\s*no ready items/i.test(s))
|
|
147
147
|
return exports.FINISHED_SENTENCE;
|
|
148
|
-
if (/^nothing to do\s*[—-]+\s*no ready items/i.test(s))
|
|
149
|
-
|
|
148
|
+
if (/^nothing to do\s*[—-]+\s*no ready items/i.test(s)) {
|
|
149
|
+
// Why there was nothing (LOO-B-4): a plan that failed to come back says so, instead of a sentence that hides it.
|
|
150
|
+
const compile = /\(compile: (.*)\)\s*$/i.exec(s);
|
|
151
|
+
if (compile === null)
|
|
152
|
+
return exports.NOTHING_YET_SENTENCE;
|
|
153
|
+
const why = compile[1].replace(/\s*[—-]+\s*this run has nothing to work on\s*$/i, '').trim();
|
|
154
|
+
return `${exports.NOTHING_YET_SENTENCE}, because planning it failed (${plainWords(why)})`;
|
|
155
|
+
}
|
|
150
156
|
return plainWords(s);
|
|
151
157
|
}
|
|
152
158
|
/** How a delivery note parked for want of CI begins (`branch-delivery.ts`'s `NO_CI_NOTE`). */
|
package/dist/ticket-words.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-words.js","sourceRoot":"","sources":["../src/ticket-words.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAoCH,wCASC;AAUD,wCAeC;AAuBD,gCA2BC;AAMD,
|
|
1
|
+
{"version":3,"file":"ticket-words.js","sourceRoot":"","sources":["../src/ticket-words.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "looply-cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.32",
|
|
4
4
|
"description": "Leave your coding agent running. looply picks the work, holds the rails, and proves every change before it is kept.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"prepublishOnly": "npm run build"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@looply/core": "0.5.
|
|
35
|
+
"@looply/core": "0.5.32",
|
|
36
36
|
"pdfjs-dist": "5.6.205",
|
|
37
37
|
"qrcode-terminal": "^0.12.0",
|
|
38
38
|
"yaml": "^2.5.1"
|