@wrongstack/core 0.310.1 → 0.313.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/chronicle/index.js +84 -6391
- package/dist/chronicle/project-server.js +84 -4868
- package/dist/chunk-2BUUIMQB.js +225 -0
- package/dist/chunk-2FK4WTFF.js +207 -0
- package/dist/chunk-2FQL4PDC.js +292 -0
- package/dist/chunk-2KKODIQU.js +2256 -0
- package/dist/chunk-2YU4WVBW.js +134 -0
- package/dist/chunk-3E244UDA.js +356 -0
- package/dist/chunk-3XPVB7BA.js +135 -0
- package/dist/chunk-4LJJYBAU.js +388 -0
- package/dist/chunk-4VWO3ZXL.js +342 -0
- package/dist/chunk-4XV6IR37.js +187 -0
- package/dist/chunk-4ZHTKJHM.js +183 -0
- package/dist/chunk-52RTVH4M.js +361 -0
- package/dist/chunk-57GEWK5X.js +26 -0
- package/dist/chunk-5DSMEVA4.js +931 -0
- package/dist/chunk-5RP3QTRL.js +1223 -0
- package/dist/chunk-5S437PRC.js +50 -0
- package/dist/chunk-5XDUGTKN.js +511 -0
- package/dist/chunk-62V2AFVG.js +422 -0
- package/dist/chunk-65RDIOR2.js +2470 -0
- package/dist/chunk-6AKOTGLM.js +597 -0
- package/dist/chunk-7ZHZE5EO.js +28 -0
- package/dist/chunk-A455ATZB.js +140 -0
- package/dist/chunk-AD7ZFZCS.js +46 -0
- package/dist/chunk-AI4LLQ2U.js +856 -0
- package/dist/chunk-ASX6AW36.js +789 -0
- package/dist/chunk-AT4V4XGI.js +3522 -0
- package/dist/chunk-AWNQ6ED6.js +311 -0
- package/dist/chunk-B4AMLZPB.js +9 -0
- package/dist/chunk-BAKVJLEV.js +417 -0
- package/dist/chunk-BJHVULHO.js +55 -0
- package/dist/chunk-CB2HFKTP.js +9 -0
- package/dist/chunk-CE4ZOCOI.js +1640 -0
- package/dist/chunk-CQQL4ZOQ.js +151 -0
- package/dist/chunk-DEIQMBD2.js +65 -0
- package/dist/chunk-E6I5RXVK.js +58 -0
- package/dist/chunk-EFEHDQGY.js +1589 -0
- package/dist/chunk-EODDVJBM.js +82 -0
- package/dist/chunk-EPC3GZD4.js +308 -0
- package/dist/chunk-FAYRX2AD.js +13 -0
- package/dist/chunk-FFSX2QDQ.js +362 -0
- package/dist/chunk-FHAMQS7Q.js +5856 -0
- package/dist/chunk-FIV4IJL7.js +2263 -0
- package/dist/chunk-FNXVT7HF.js +52 -0
- package/dist/chunk-FSWCWSTS.js +395 -0
- package/dist/chunk-FW5LDDMJ.js +16464 -0
- package/dist/chunk-FXQLIX3K.js +211 -0
- package/dist/chunk-G5AAKEEZ.js +228 -0
- package/dist/chunk-G5S3S5ZN.js +38 -0
- package/dist/chunk-GAZEWQEZ.js +231 -0
- package/dist/chunk-GFJOMSHG.js +125 -0
- package/dist/chunk-GFXZTHNI.js +158 -0
- package/dist/chunk-GM54GJBU.js +960 -0
- package/dist/chunk-GPQ3NJPR.js +900 -0
- package/dist/chunk-GTCU6DZ3.js +1 -0
- package/dist/chunk-H5E77KUJ.js +15 -0
- package/dist/chunk-H72H4XDU.js +1023 -0
- package/dist/chunk-HA4ZYA6T.js +178 -0
- package/dist/chunk-I45KAW2N.js +5020 -0
- package/dist/chunk-IQ35HMQL.js +1396 -0
- package/dist/chunk-IYFBFX34.js +86 -0
- package/dist/chunk-JJPMWPB6.js +109 -0
- package/dist/chunk-JTHKOYWU.js +663 -0
- package/dist/chunk-JVGPR3TS.js +365 -0
- package/dist/chunk-JVKB2TBL.js +48 -0
- package/dist/chunk-JX7VBZDK.js +31 -0
- package/dist/chunk-K3G6JBUC.js +5232 -0
- package/dist/chunk-K4YUNKU7.js +589 -0
- package/dist/chunk-KBZGE6LN.js +710 -0
- package/dist/chunk-KDQJCT2J.js +45 -0
- package/dist/chunk-KI4L2DUL.js +560 -0
- package/dist/chunk-KJ2ZTQSL.js +47 -0
- package/dist/chunk-KSJ5UTP7.js +154 -0
- package/dist/chunk-LHOA5DWA.js +28 -0
- package/dist/chunk-LX5QWLBL.js +27 -0
- package/dist/chunk-LZDDLNCZ.js +279 -0
- package/dist/chunk-M2WF6AXG.js +115 -0
- package/dist/chunk-M7BS2K6U.js +1 -0
- package/dist/chunk-NDBIPFNY.js +102 -0
- package/dist/chunk-NEMIWEXC.js +1199 -0
- package/dist/chunk-NFAYHPRH.js +323 -0
- package/dist/chunk-O37BQ65S.js +21 -0
- package/dist/chunk-O74MJHXU.js +187 -0
- package/dist/chunk-OJZEX73F.js +112 -0
- package/dist/chunk-PAAWLLZX.js +74 -0
- package/dist/chunk-PFXFQQRT.js +339 -0
- package/dist/chunk-PFZO3C6H.js +14 -0
- package/dist/chunk-PHH7LD45.js +113 -0
- package/dist/chunk-QRTG4XTI.js +188 -0
- package/dist/chunk-QVOVMXJR.js +1351 -0
- package/dist/chunk-RCQYT2I4.js +757 -0
- package/dist/chunk-RD6DEE36.js +1178 -0
- package/dist/chunk-RJIZEJ42.js +30 -0
- package/dist/chunk-RPOA7IAE.js +150 -0
- package/dist/chunk-SN2DQRL6.js +1172 -0
- package/dist/chunk-SQJVFEBV.js +41 -0
- package/dist/chunk-SQP64RCS.js +5391 -0
- package/dist/chunk-SVT4RNTR.js +49 -0
- package/dist/chunk-SWUFN7XM.js +43 -0
- package/dist/chunk-SXMVYC5H.js +174 -0
- package/dist/chunk-SZ6AYUIZ.js +23 -0
- package/dist/chunk-T3KGZBU5.js +3171 -0
- package/dist/chunk-TBRL2RCC.js +9 -0
- package/dist/chunk-TRT2HRWZ.js +18 -0
- package/dist/chunk-TYW2GI5I.js +1077 -0
- package/dist/chunk-UIWONWVG.js +4959 -0
- package/dist/chunk-VB3H5WWB.js +151 -0
- package/dist/chunk-W4A6QA3D.js +258 -0
- package/dist/chunk-WBPVKEEE.js +227 -0
- package/dist/chunk-WEBMSQP2.js +123 -0
- package/dist/chunk-WOEZV3Q4.js +333 -0
- package/dist/chunk-WQQON3SV.js +473 -0
- package/dist/chunk-WQTOVMGV.js +119 -0
- package/dist/chunk-WZO23AWO.js +2779 -0
- package/dist/chunk-XBDP4QPW.js +7 -0
- package/dist/chunk-XEBHSJLT.js +103 -0
- package/dist/chunk-XQ2ECNK3.js +1 -0
- package/dist/chunk-XQ2XGIBF.js +2086 -0
- package/dist/chunk-Y2GE5TSI.js +355 -0
- package/dist/chunk-YBUJCZ57.js +351 -0
- package/dist/chunk-YNCVSFGF.js +149 -0
- package/dist/chunk-YUPMXOGP.js +282 -0
- package/dist/chunk-YY6APYUM.js +49 -0
- package/dist/chunk-Z2IJUO45.js +691 -0
- package/dist/chunk-ZEHUCJHY.js +129 -0
- package/dist/chunk-ZYU2YOJ6.js +1496 -0
- package/dist/chunk-ZZ4V3WIZ.js +163 -0
- package/dist/coordination/agents/index.js +145 -6260
- package/dist/coordination/index.js +365 -34323
- package/dist/coordination/mailbox-project-server.js +48 -3220
- package/dist/coordination/mailbox-types.d.ts +13 -1
- package/dist/coordination/provider-status-tracker.d.ts +4 -0
- package/dist/coordination/sqlite-mailbox.d.ts +2 -1
- package/dist/core/agent.d.ts +14 -1
- package/dist/core/index.js +267 -12479
- package/dist/core/model-ref.js +5 -23
- package/dist/core/provider-runner.d.ts +36 -1
- package/dist/design/index.js +50 -1087
- package/dist/execution/index.d.ts +1 -1
- package/dist/execution/index.js +1599 -21887
- package/dist/execution/prompt-enhancer.js +16 -535
- package/dist/execution/retry-policy.d.ts +31 -1
- package/dist/extension/index.js +7 -311
- package/dist/goal/index.js +33 -3435
- package/dist/hooks/index.js +14 -1138
- package/dist/hq/index.js +112 -5139
- package/dist/hq/protocol.js +21 -668
- package/dist/index.js +1410 -92655
- package/dist/infrastructure/index.js +64 -4811
- package/dist/kernel/events/provider-events.d.ts +15 -0
- package/dist/kernel/events/wrongtrace-events.d.ts +26 -0
- package/dist/kernel/events.d.ts +16 -7
- package/dist/kernel/index.js +14 -992
- package/dist/models/index.js +40 -1117
- package/dist/notifications/index.js +3 -108
- package/dist/observability/index.js +17 -279
- package/dist/plugin/index.js +584 -14835
- package/dist/prompts/index.js +14 -948
- package/dist/registry/index.js +9 -822
- package/dist/registry-R23UBE7H.js +14 -0
- package/dist/replay/index.js +6 -84
- package/dist/review-finding-store-DKAV3AS6.js +21 -0
- package/dist/review-report-store-OWY3EC3N.js +19 -0
- package/dist/security/index.js +114 -2202
- package/dist/session-catalog/index.js +36 -2103
- package/dist/session-catalog/project-server.js +42 -1435
- package/dist/skills/index.js +35 -1578
- package/dist/storage/index.js +182 -15600
- package/dist/tasking/index.js +10 -676
- package/dist/tools/index.js +52 -9589
- package/dist/types/config/autonomy.d.ts +5 -0
- package/dist/types/config/tools.d.ts +2 -2
- package/dist/types/config/ui.d.ts +1 -1
- package/dist/types/errors.d.ts +18 -0
- package/dist/types/index.js +121 -1341
- package/dist/types/provider-runner.d.ts +8 -0
- package/dist/types/session-markers.js +8 -144
- package/dist/utils/error.js +3 -4
- package/dist/utils/expect-defined.js +3 -9
- package/dist/utils/heap-watchdog.js +6 -706
- package/dist/utils/index.js +269 -5685
- package/dist/utils/sage-output-block.js +5 -42
- package/dist/wiring/proxy-rewrite.d.ts +92 -4
- package/dist/wiring/proxy-rewrite.js +20 -61
- package/dist/worktree/index.js +6 -887
- package/package.json +4 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// src/types/prompt-registry.ts
|
|
2
|
+
var SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
3
|
+
var CHECKSUM_RE = /^[a-f0-9]{64}$/;
|
|
4
|
+
var MAX_STR = 4096;
|
|
5
|
+
function validateRegistryManifest(raw) {
|
|
6
|
+
const errors = [];
|
|
7
|
+
if (!raw || typeof raw !== "object") return { ok: false, errors: ["manifest is not an object"] };
|
|
8
|
+
const m = raw;
|
|
9
|
+
if (m["registryVersion"] !== 1) errors.push("registryVersion must be 1");
|
|
10
|
+
if (typeof m["source"] !== "string" || !m["source"])
|
|
11
|
+
errors.push("source must be a non-empty string");
|
|
12
|
+
if (typeof m["generatedAt"] !== "string") errors.push("generatedAt must be a string");
|
|
13
|
+
if (!Array.isArray(m["prompts"])) {
|
|
14
|
+
errors.push("prompts must be an array");
|
|
15
|
+
return { ok: false, errors };
|
|
16
|
+
}
|
|
17
|
+
const seen = /* @__PURE__ */ new Set();
|
|
18
|
+
const refs = [];
|
|
19
|
+
m["prompts"].forEach((p, i) => {
|
|
20
|
+
if (!p || typeof p !== "object") {
|
|
21
|
+
errors.push(`prompts[${i}] is not an object`);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const r = p;
|
|
25
|
+
const slug = r["slug"];
|
|
26
|
+
if (typeof slug !== "string" || !SLUG_RE.test(slug)) {
|
|
27
|
+
errors.push(`prompts[${i}].slug invalid (must be kebab-case)`);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (seen.has(slug)) {
|
|
31
|
+
errors.push(`prompts[${i}].slug "${slug}" duplicated`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
seen.add(slug);
|
|
35
|
+
if (typeof r["checksum"] !== "string" || !CHECKSUM_RE.test(r["checksum"])) {
|
|
36
|
+
errors.push(`prompts[${i}].checksum must be a 64-char sha256 hex`);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
for (const field of ["id", "title", "description", "category"]) {
|
|
40
|
+
const v = r[field];
|
|
41
|
+
if (typeof v !== "string" || v.length === 0 || v.length > MAX_STR) {
|
|
42
|
+
errors.push(`prompts[${i}].${field} must be a non-empty string under ${MAX_STR} chars`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const tags = Array.isArray(r["tags"]) ? r["tags"].filter((t) => typeof t === "string") : [];
|
|
47
|
+
refs.push({
|
|
48
|
+
id: r["id"],
|
|
49
|
+
slug,
|
|
50
|
+
title: r["title"],
|
|
51
|
+
description: r["description"],
|
|
52
|
+
category: r["category"],
|
|
53
|
+
tags,
|
|
54
|
+
checksum: r["checksum"],
|
|
55
|
+
version: typeof r["version"] === "string" ? r["version"] : void 0,
|
|
56
|
+
license: typeof r["license"] === "string" ? r["license"] : void 0,
|
|
57
|
+
url: typeof r["url"] === "string" ? r["url"] : void 0
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
if (errors.length > 0) return { ok: false, errors };
|
|
61
|
+
return {
|
|
62
|
+
ok: true,
|
|
63
|
+
manifest: {
|
|
64
|
+
registryVersion: 1,
|
|
65
|
+
source: m["source"],
|
|
66
|
+
generatedAt: m["generatedAt"],
|
|
67
|
+
prompts: refs
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function diffRegistry(local, manifest) {
|
|
72
|
+
const localBySlug = new Map(local.map((e) => [e.slug, e.checksum]));
|
|
73
|
+
const diff = { added: [], updated: [], unchanged: [] };
|
|
74
|
+
for (const ref of manifest.prompts) {
|
|
75
|
+
if (!localBySlug.has(ref.slug)) diff.added.push(ref);
|
|
76
|
+
else if (localBySlug.get(ref.slug) !== ref.checksum) diff.updated.push(ref);
|
|
77
|
+
else diff.unchanged.push(ref);
|
|
78
|
+
}
|
|
79
|
+
return diff;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export {
|
|
83
|
+
validateRegistryManifest,
|
|
84
|
+
diffRegistry
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=chunk-IYFBFX34.js.map
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import {
|
|
2
|
+
diffRegistry,
|
|
3
|
+
validateRegistryManifest
|
|
4
|
+
} from "./chunk-IYFBFX34.js";
|
|
5
|
+
import {
|
|
6
|
+
atomicWrite,
|
|
7
|
+
ensureDir
|
|
8
|
+
} from "./chunk-7ZHZE5EO.js";
|
|
9
|
+
import {
|
|
10
|
+
FetchError,
|
|
11
|
+
ParseError
|
|
12
|
+
} from "./chunk-WOEZV3Q4.js";
|
|
13
|
+
|
|
14
|
+
// src/prompts/prompt-installer.ts
|
|
15
|
+
var defaultFetcher = async (url) => {
|
|
16
|
+
const res = await fetch(url);
|
|
17
|
+
if (!res.ok) {
|
|
18
|
+
throw new FetchError({
|
|
19
|
+
message: `registry fetch failed: ${res.status} ${res.statusText}`,
|
|
20
|
+
status: res.status,
|
|
21
|
+
context: { op: "fetchManifest" }
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return res.json();
|
|
25
|
+
};
|
|
26
|
+
var PromptInstaller = class {
|
|
27
|
+
fetcher;
|
|
28
|
+
constructor(opts = {}) {
|
|
29
|
+
this.fetcher = opts.fetcher ?? defaultFetcher;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Fetch + validate a manifest and report what a sync WOULD change. Read-only.
|
|
33
|
+
* @param manifestUrl URL to the registry's `registry.json`.
|
|
34
|
+
* @param local The prompts the caller already has (slug + checksum).
|
|
35
|
+
*/
|
|
36
|
+
async pull(manifestUrl, local) {
|
|
37
|
+
const raw = await this.fetcher(manifestUrl);
|
|
38
|
+
const validated = validateRegistryManifest(raw);
|
|
39
|
+
if (!validated.ok) {
|
|
40
|
+
throw new ParseError({
|
|
41
|
+
message: `Invalid prompt registry manifest:
|
|
42
|
+
- ${validated.errors.join("\n - ")}`,
|
|
43
|
+
source: "prompt-registry-manifest"
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const diff = diffRegistry(local, validated.manifest);
|
|
47
|
+
return { manifest: validated.manifest, diff, dryRun: true };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* EXTENSION POINT (not yet wired): download the prompt bodies for the given
|
|
51
|
+
* registry refs and write them into the user layer as `source:'synced'`,
|
|
52
|
+
* recording each in the installed-prompts manifest. Intentionally unimplemented
|
|
53
|
+
* — pulling real content over the network is gated behind a future change so
|
|
54
|
+
* the format/diff path can ship and be reviewed first.
|
|
55
|
+
*/
|
|
56
|
+
async install() {
|
|
57
|
+
throw new Error(
|
|
58
|
+
"Prompt sync is not implemented yet. `pull()` reports the diff; installing remote prompt bodies will land in a follow-up."
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// src/prompts/prompt-manifest-store.ts
|
|
64
|
+
import * as fs from "node:fs/promises";
|
|
65
|
+
import * as path from "node:path";
|
|
66
|
+
var PromptManifestStore = class {
|
|
67
|
+
constructor(manifestPath) {
|
|
68
|
+
this.manifestPath = manifestPath;
|
|
69
|
+
}
|
|
70
|
+
manifestPath;
|
|
71
|
+
async load() {
|
|
72
|
+
try {
|
|
73
|
+
const raw = JSON.parse(await fs.readFile(this.manifestPath, "utf8"));
|
|
74
|
+
if (raw && typeof raw === "object" && Array.isArray(raw.entries)) {
|
|
75
|
+
return { version: 1, entries: raw.entries };
|
|
76
|
+
}
|
|
77
|
+
} catch {
|
|
78
|
+
}
|
|
79
|
+
return { version: 1, entries: [] };
|
|
80
|
+
}
|
|
81
|
+
async save(data) {
|
|
82
|
+
await ensureDir(path.dirname(this.manifestPath));
|
|
83
|
+
await atomicWrite(this.manifestPath, JSON.stringify(data, null, 2));
|
|
84
|
+
}
|
|
85
|
+
/** Upsert one entry keyed by slug. */
|
|
86
|
+
async record(entry) {
|
|
87
|
+
const data = await this.load();
|
|
88
|
+
const idx = data.entries.findIndex((e) => e.slug === entry.slug);
|
|
89
|
+
if (idx === -1) data.entries.push(entry);
|
|
90
|
+
else data.entries[idx] = entry;
|
|
91
|
+
await this.save(data);
|
|
92
|
+
}
|
|
93
|
+
async remove(slug) {
|
|
94
|
+
const data = await this.load();
|
|
95
|
+
const next = data.entries.filter((e) => e.slug !== slug);
|
|
96
|
+
if (next.length === data.entries.length) return false;
|
|
97
|
+
await this.save({ version: 1, entries: next });
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
async list() {
|
|
101
|
+
return (await this.load()).entries;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
PromptInstaller,
|
|
107
|
+
PromptManifestStore
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=chunk-JJPMWPB6.js.map
|