@rotifer/playground 0.31.0 → 0.33.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/CHANGELOG.md +40 -0
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/dist/cloud/client.d.ts.map +1 -1
- package/dist/cloud/client.js +9 -0
- package/dist/cloud/client.js.map +1 -1
- package/dist/cloud/types.d.ts +7 -0
- package/dist/cloud/types.d.ts.map +1 -1
- package/dist/cloud/types.js.map +1 -1
- package/dist/commands/agent-create.d.ts +11 -0
- package/dist/commands/agent-create.d.ts.map +1 -1
- package/dist/commands/agent-create.js +50 -1
- package/dist/commands/agent-create.js.map +1 -1
- package/dist/commands/agent-memory.d.ts +64 -0
- package/dist/commands/agent-memory.d.ts.map +1 -0
- package/dist/commands/agent-memory.js +235 -0
- package/dist/commands/agent-memory.js.map +1 -0
- package/dist/commands/agent-run.d.ts.map +1 -1
- package/dist/commands/agent-run.js +84 -26
- package/dist/commands/agent-run.js.map +1 -1
- package/dist/commands/arena-submit.d.ts.map +1 -1
- package/dist/commands/arena-submit.js +34 -36
- package/dist/commands/arena-submit.js.map +1 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +32 -6
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/genome-format.d.ts +5 -1
- package/dist/commands/genome-format.d.ts.map +1 -1
- package/dist/commands/genome-format.js +5 -1
- package/dist/commands/genome-format.js.map +1 -1
- package/dist/commands/hello.d.ts.map +1 -1
- package/dist/commands/hello.js +15 -2
- package/dist/commands/hello.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +59 -4
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +78 -23
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/wrap.d.ts.map +1 -1
- package/dist/commands/wrap.js +28 -70
- package/dist/commands/wrap.js.map +1 -1
- package/dist/index.js +47 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/access.d.ts +53 -0
- package/dist/memory/access.d.ts.map +1 -0
- package/dist/memory/access.js +111 -0
- package/dist/memory/access.js.map +1 -0
- package/dist/memory/audit.d.ts +26 -0
- package/dist/memory/audit.d.ts.map +1 -0
- package/dist/memory/audit.js +30 -0
- package/dist/memory/audit.js.map +1 -0
- package/dist/memory/backend.d.ts +141 -0
- package/dist/memory/backend.d.ts.map +1 -0
- package/dist/memory/backend.js +536 -0
- package/dist/memory/backend.js.map +1 -0
- package/dist/memory/codec.d.ts +34 -0
- package/dist/memory/codec.d.ts.map +1 -0
- package/dist/memory/codec.js +184 -0
- package/dist/memory/codec.js.map +1 -0
- package/dist/memory/data-policy.d.ts +39 -0
- package/dist/memory/data-policy.d.ts.map +1 -0
- package/dist/memory/data-policy.js +42 -0
- package/dist/memory/data-policy.js.map +1 -0
- package/dist/memory/host.d.ts +119 -0
- package/dist/memory/host.d.ts.map +1 -0
- package/dist/memory/host.js +226 -0
- package/dist/memory/host.js.map +1 -0
- package/dist/memory/index.d.ts +37 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +64 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/telemetry.d.ts +35 -0
- package/dist/memory/telemetry.d.ts.map +1 -0
- package/dist/memory/telemetry.js +51 -0
- package/dist/memory/telemetry.js.map +1 -0
- package/dist/memory/types.d.ts +110 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +74 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/publish/auto-publish.d.ts +1 -1
- package/dist/publish/auto-publish.js +1 -1
- package/dist/runtime/network-gateway.d.ts +24 -4
- package/dist/runtime/network-gateway.d.ts.map +1 -1
- package/dist/runtime/network-gateway.js +86 -12
- package/dist/runtime/network-gateway.js.map +1 -1
- package/dist/testsuite/gate.d.ts +8 -0
- package/dist/testsuite/gate.d.ts.map +1 -1
- package/dist/testsuite/gate.js +13 -3
- package/dist/testsuite/gate.js.map +1 -1
- package/dist/testsuite/run.d.ts +6 -11
- package/dist/testsuite/run.d.ts.map +1 -1
- package/dist/testsuite/run.js +29 -4
- package/dist/testsuite/run.js.map +1 -1
- package/dist/utils/arena-success.d.ts +10 -0
- package/dist/utils/arena-success.d.ts.map +1 -1
- package/dist/utils/arena-success.js +35 -8
- package/dist/utils/arena-success.js.map +1 -1
- package/dist/utils/binding.d.ts +6 -2
- package/dist/utils/binding.d.ts.map +1 -1
- package/dist/utils/binding.js.map +1 -1
- package/dist/utils/clawhub-client.d.ts +73 -0
- package/dist/utils/clawhub-client.d.ts.map +1 -0
- package/dist/utils/clawhub-client.js +176 -0
- package/dist/utils/clawhub-client.js.map +1 -0
- package/dist/utils/config.d.ts +7 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +15 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/fitness-formula.d.ts +20 -4
- package/dist/utils/fitness-formula.d.ts.map +1 -1
- package/dist/utils/fitness-formula.js +24 -6
- package/dist/utils/fitness-formula.js.map +1 -1
- package/dist/utils/gene-id-display.d.ts +14 -0
- package/dist/utils/gene-id-display.d.ts.map +1 -0
- package/dist/utils/gene-id-display.js +64 -0
- package/dist/utils/gene-id-display.js.map +1 -0
- package/dist/utils/l0-gate.d.ts.map +1 -1
- package/dist/utils/l0-gate.js +4 -1
- package/dist/utils/l0-gate.js.map +1 -1
- package/dist/utils/rust-phenotype.d.ts +17 -5
- package/dist/utils/rust-phenotype.d.ts.map +1 -1
- package/dist/utils/rust-phenotype.js +25 -4
- package/dist/utils/rust-phenotype.js.map +1 -1
- package/package.json +10 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-gateway.js","sourceRoot":"","sources":["../../src/runtime/network-gateway.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"network-gateway.js","sourceRoot":"","sources":["../../src/runtime/network-gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/testsuite/gate.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GeneRunner, RunOutcome } from "./run.js";
|
|
2
|
+
import { type GeneMemoryAccess } from "../memory/index.js";
|
|
2
3
|
/**
|
|
3
4
|
* spec §47.5 publishing gate, as decided in ADR-333.
|
|
4
5
|
*
|
|
@@ -74,9 +75,16 @@ export declare function outcomeFromSandbox(r: {
|
|
|
74
75
|
* same answers so they cannot drift apart silently.
|
|
75
76
|
*/
|
|
76
77
|
export declare function readErrorEnvelope(output: unknown): string | null;
|
|
78
|
+
/**
|
|
79
|
+
* `ctx` is what express() gets as its second argument. ctx.memory is never
|
|
80
|
+
* undefined: without an agent memory to hand over,
|
|
81
|
+
* every memory call is MEMORY_ACCESS_DENIED "no agent context".
|
|
82
|
+
*/
|
|
77
83
|
export declare function loadNodeRunner(absSourcePath: string, l0: {
|
|
78
84
|
kind: string;
|
|
79
85
|
detail?: string;
|
|
86
|
+
}, ctx?: {
|
|
87
|
+
memory: GeneMemoryAccess;
|
|
80
88
|
}): Promise<{
|
|
81
89
|
runner: GeneRunner;
|
|
82
90
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1E;;;;;;;;;GASG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoBjD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D;oDACgD;IAChD,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAyEjE;AAMD;;;;;kBAKkB;AAClB,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,UAAU,CAMb;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,GAAG,GAAE;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAgC,GAC9D,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CvD"}
|
package/dist/testsuite/gate.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.loadNodeRunner = loadNodeRunner;
|
|
|
7
7
|
const node_url_1 = require("node:url");
|
|
8
8
|
const load_js_1 = require("./load.js");
|
|
9
9
|
const run_js_1 = require("./run.js");
|
|
10
|
+
const index_js_1 = require("../memory/index.js");
|
|
10
11
|
/**
|
|
11
12
|
* The guidance lines are load-bearing, not decoration.
|
|
12
13
|
*
|
|
@@ -57,11 +58,15 @@ function evaluatePublishGate(input) {
|
|
|
57
58
|
inputSchema: input.phenotype.inputSchema ?? null,
|
|
58
59
|
outputSchema: input.phenotype.outputSchema ?? null,
|
|
59
60
|
run: input.run,
|
|
61
|
+
fidelity: input.fidelity,
|
|
60
62
|
});
|
|
61
63
|
if (report.gatePassed) {
|
|
64
|
+
// A retried property iteration is part of the verdict: say so.
|
|
65
|
+
const retried = report.results.find((r) => r.testId === "t1-property-schema-legality" && r.details?.includes("retried"));
|
|
62
66
|
return {
|
|
63
67
|
status: "passed",
|
|
64
|
-
details: `T1 satisfied — ${report.results.filter((r) => r.passed).length}/${report.results.length} checks
|
|
68
|
+
details: `T1 satisfied — ${report.results.filter((r) => r.passed).length}/${report.results.length} checks` +
|
|
69
|
+
(retried ? ` (${retried.details})` : ""),
|
|
65
70
|
};
|
|
66
71
|
}
|
|
67
72
|
const req = report.requirements;
|
|
@@ -144,7 +149,12 @@ function readErrorEnvelope(output) {
|
|
|
144
149
|
: "gene refused the input";
|
|
145
150
|
return `INVALID_INPUT: ${message}`;
|
|
146
151
|
}
|
|
147
|
-
|
|
152
|
+
/**
|
|
153
|
+
* `ctx` is what express() gets as its second argument. ctx.memory is never
|
|
154
|
+
* undefined: without an agent memory to hand over,
|
|
155
|
+
* every memory call is MEMORY_ACCESS_DENIED "no agent context".
|
|
156
|
+
*/
|
|
157
|
+
async function loadNodeRunner(absSourcePath, l0, ctx = { memory: (0, index_js_1.noAgentMemory)() }) {
|
|
148
158
|
if (l0.kind === "violation") {
|
|
149
159
|
return { refusal: `L0 gate blocked this gene: ${l0.detail ?? "no detail"}` };
|
|
150
160
|
}
|
|
@@ -162,7 +172,7 @@ async function loadNodeRunner(absSourcePath, l0) {
|
|
|
162
172
|
const runner = (input) => {
|
|
163
173
|
const started = Date.now();
|
|
164
174
|
try {
|
|
165
|
-
const output = expressFn(input);
|
|
175
|
+
const output = expressFn(input, ctx);
|
|
166
176
|
// ADR-334: the WASM sandbox turns a lone `__rotifer_error` key into
|
|
167
177
|
// GeneResult::Error, and this path has to agree with it. It does not go
|
|
168
178
|
// through the Rust core at all, so without this the same Gene would be
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/testsuite/run.d.ts
CHANGED
|
@@ -76,17 +76,9 @@ export declare function runPositive(c: ClassifiedCase, run: GeneRunner, outputVa
|
|
|
76
76
|
* source-linker through.
|
|
77
77
|
*/
|
|
78
78
|
export declare function runNegative(c: ClassifiedCase, run: GeneRunner, ajv: Ajv): TestResult;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
*
|
|
83
|
-
* The seed is what makes a failure actionable — the same seed replays the same
|
|
84
|
-
* inputs, so a property failure can be reproduced rather than merely observed.
|
|
85
|
-
* When the suite gives no seed one is derived from nothing but a constant, so
|
|
86
|
-
* two runs of an unseeded suite still agree; randomness across runs would make
|
|
87
|
-
* the gate flaky and the flake would be blamed on the Gene.
|
|
88
|
-
*/
|
|
89
|
-
export declare function runProperty(suite: TestSuite, inputSchema: Record<string, unknown> | null, run: GeneRunner, outputValidator: ValidateFunction | null): TestResult;
|
|
79
|
+
export declare function runProperty(suite: TestSuite, inputSchema: Record<string, unknown> | null, run: GeneRunner, outputValidator: ValidateFunction | null, options?: {
|
|
80
|
+
retryNetworkFailures?: boolean;
|
|
81
|
+
}): TestResult;
|
|
90
82
|
export interface T1Report {
|
|
91
83
|
results: TestResult[];
|
|
92
84
|
classified: ClassifiedCase[];
|
|
@@ -103,6 +95,9 @@ export declare function runT1(suite: TestSuite, opts: {
|
|
|
103
95
|
inputSchema: Record<string, unknown> | null;
|
|
104
96
|
outputSchema: Record<string, unknown> | null;
|
|
105
97
|
run: GeneRunner;
|
|
98
|
+
/** The Gene's declared fidelity. A Hybrid Gene's property iterations may
|
|
99
|
+
* be retried once after a network failure (see runProperty). */
|
|
100
|
+
fidelity?: string;
|
|
106
101
|
}): T1Report;
|
|
107
102
|
/** Stable id for a report, for callers that persist results. */
|
|
108
103
|
export declare function newTestRunId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;oDAEgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,gBAAgB,GAAG,IAAI,GACtC,cAAc,EAAE,CA2BlB;AA4CD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,GAAG,EAAE,GAAG,GACP,UAAU,CA2CZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,GAAG,GACP,UAAU,CAmDZ;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;oDAEgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,gBAAgB,GAAG,IAAI,GACtC,cAAc,EAAE,CA2BlB;AA4CD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,GAAG,EAAE,GAAG,GACP,UAAU,CA2CZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,GAAG,GACP,UAAU,CAmDZ;AAmBD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC3C,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,OAAO,GAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,UAAU,CAwDZ;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,GAAG,EAAE,UAAU,CAAC;IAChB;oEACgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,QAAQ,CA6DV;AAED,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
|
package/dist/testsuite/run.js
CHANGED
|
@@ -218,7 +218,13 @@ function runNegative(c, run, ajv) {
|
|
|
218
218
|
* two runs of an unseeded suite still agree; randomness across runs would make
|
|
219
219
|
* the gate flaky and the flake would be blamed on the Gene.
|
|
220
220
|
*/
|
|
221
|
-
|
|
221
|
+
/**
|
|
222
|
+
* Host codes that mean the network failed, not the Gene: -4 timeout, -5
|
|
223
|
+
* network, -7 the run's request limit (Hybrid Binding API §5). Matched on the
|
|
224
|
+
* code the sandbox reports, so -50 or a Gene's own -201 never count.
|
|
225
|
+
*/
|
|
226
|
+
const NETWORK_FAILURE = /gene returned error code: (-4|-5|-7)(?![0-9])/;
|
|
227
|
+
function runProperty(suite, inputSchema, run, outputValidator, options = {}) {
|
|
222
228
|
const started = Date.now();
|
|
223
229
|
const id = "t1-property-schema-legality";
|
|
224
230
|
const iterations = suite.config?.fuzzIterations ?? exports.DEFAULT_FUZZ_ITERATIONS;
|
|
@@ -229,9 +235,25 @@ function runProperty(suite, inputSchema, run, outputValidator) {
|
|
|
229
235
|
if (!outputValidator) {
|
|
230
236
|
return fail(id, started, "Gene declares no outputSchema, so schema legality cannot be asserted");
|
|
231
237
|
}
|
|
238
|
+
const retries = [];
|
|
232
239
|
for (let i = 0; i < iterations; i++) {
|
|
233
240
|
const input = (0, generate_js_1.generateTestInput)(inputSchema, seed + i);
|
|
234
|
-
|
|
241
|
+
let outcome = run(input);
|
|
242
|
+
// A Hybrid Gene's request can fail on the network alone, and a run with
|
|
243
|
+
// no output says nothing about schema legality. Such an iteration gets
|
|
244
|
+
// one more run with the same input; everything else is final.
|
|
245
|
+
const network = !outcome.success && options.retryNetworkFailures
|
|
246
|
+
? NETWORK_FAILURE.exec(outcome.errorMessage ?? "")
|
|
247
|
+
: null;
|
|
248
|
+
if (network) {
|
|
249
|
+
const first = outcome.errorMessage;
|
|
250
|
+
outcome = run(input);
|
|
251
|
+
if (!outcome.success) {
|
|
252
|
+
return fail(id, started, `iteration ${i + 1}/${iterations} did not produce output after one retry: ` +
|
|
253
|
+
`first ${first}; then ${outcome.errorMessage ?? "no message"}`, `reproduce with seed ${seed}, input ${JSON.stringify(input).slice(0, 200)}`);
|
|
254
|
+
}
|
|
255
|
+
retries.push(`iteration ${i + 1} was retried once after ${network[1]} (${first})`);
|
|
256
|
+
}
|
|
235
257
|
if (!outcome.success) {
|
|
236
258
|
return fail(id, started, `iteration ${i + 1}/${iterations} did not produce output: ${outcome.errorMessage ?? "no message"}`, `reproduce with seed ${seed}, input ${JSON.stringify(input).slice(0, 200)}`);
|
|
237
259
|
}
|
|
@@ -239,7 +261,8 @@ function runProperty(suite, inputSchema, run, outputValidator) {
|
|
|
239
261
|
return fail(id, started, `iteration ${i + 1}/${iterations} produced output violating outputSchema`, `reproduce with seed ${seed}, input ${JSON.stringify(input).slice(0, 200)}`);
|
|
240
262
|
}
|
|
241
263
|
}
|
|
242
|
-
|
|
264
|
+
const retried = retries.length > 0 ? `; ${retries.join("; ")}` : "";
|
|
265
|
+
return pass(id, started, `${iterations} generated inputs all produced schema-legal output (seed ${seed})${retried}`);
|
|
243
266
|
}
|
|
244
267
|
function runT1(suite, opts) {
|
|
245
268
|
const ajv = new ajv_1.default({ allErrors: true, strict: false });
|
|
@@ -266,7 +289,9 @@ function runT1(suite, opts) {
|
|
|
266
289
|
? runPositive(c, opts.run, outputValidator, ajv)
|
|
267
290
|
: runNegative(c, opts.run, ajv));
|
|
268
291
|
}
|
|
269
|
-
const property = runProperty(suite, opts.inputSchema, opts.run, outputValidator
|
|
292
|
+
const property = runProperty(suite, opts.inputSchema, opts.run, outputValidator, {
|
|
293
|
+
retryNetworkFailures: opts.fidelity === "Hybrid",
|
|
294
|
+
});
|
|
270
295
|
results.push(property);
|
|
271
296
|
const hasPassingPositive = classified.some((c, i) => c.kind === "positive" && results[i].passed);
|
|
272
297
|
const hasPassingNegative = classified.some((c, i) => c.kind === "negative" && results[i].passed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":";;;;;;AAgDA,4BA8BC;AAqDD,kCAgDC;AA+BD,kCAuDC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,16 @@
|
|
|
17
17
|
* sandbox success still counts; the contract is the Gene's to declare.
|
|
18
18
|
*/
|
|
19
19
|
export type OutputValidator = (output: unknown) => boolean;
|
|
20
|
+
/** null when the value conforms; otherwise the first violation, naming the field. */
|
|
21
|
+
export type SchemaCheck = (value: unknown) => string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Compile one of a phenotype's schemas into a check. Returns null when the
|
|
24
|
+
* schema is absent, empty, or not compilable — the schema constrains nothing,
|
|
25
|
+
* and the caller says so if it matters. The Arena's verdict
|
|
26
|
+
* (compileOutputValidator) and `rotifer run`'s (#451) both come from here, so
|
|
27
|
+
* they cannot disagree about what violates a Gene's contract.
|
|
28
|
+
*/
|
|
29
|
+
export declare function compileSchemaCheck(schema: unknown): SchemaCheck | null;
|
|
20
30
|
/**
|
|
21
31
|
* Compile a phenotype's outputSchema into a validator. Returns null when the
|
|
22
32
|
* schema is absent, empty, or not compilable — in which case the caller falls
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arena-success.d.ts","sourceRoot":"","sources":["../../src/utils/arena-success.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,eAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"arena-success.d.ts","sourceRoot":"","sources":["../../src/utils/arena-success.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;AAE3D,qFAAqF;AACrF,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAuBtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,eAAe,GAAG,IAAI,CAGpG;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAIhG"}
|
|
@@ -3,26 +3,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.compileSchemaCheck = compileSchemaCheck;
|
|
6
7
|
exports.compileOutputValidator = compileOutputValidator;
|
|
7
8
|
exports.isRunSuccessful = isRunSuccessful;
|
|
8
9
|
const ajv_1 = __importDefault(require("ajv"));
|
|
9
10
|
/**
|
|
10
|
-
* Compile a phenotype's
|
|
11
|
-
* schema is absent, empty, or not compilable —
|
|
12
|
-
*
|
|
11
|
+
* Compile one of a phenotype's schemas into a check. Returns null when the
|
|
12
|
+
* schema is absent, empty, or not compilable — the schema constrains nothing,
|
|
13
|
+
* and the caller says so if it matters. The Arena's verdict
|
|
14
|
+
* (compileOutputValidator) and `rotifer run`'s (#451) both come from here, so
|
|
15
|
+
* they cannot disagree about what violates a Gene's contract.
|
|
13
16
|
*/
|
|
14
|
-
function
|
|
15
|
-
const schema = phenotype.outputSchema;
|
|
17
|
+
function compileSchemaCheck(schema) {
|
|
16
18
|
if (!schema || typeof schema !== "object" || Object.keys(schema).length === 0)
|
|
17
19
|
return null;
|
|
20
|
+
let validate;
|
|
18
21
|
try {
|
|
19
|
-
|
|
20
|
-
const validate = ajv.compile(schema);
|
|
21
|
-
return (output) => validate(output) === true;
|
|
22
|
+
validate = new ajv_1.default({ allErrors: false, strict: false }).compile(schema);
|
|
22
23
|
}
|
|
23
24
|
catch {
|
|
24
25
|
return null;
|
|
25
26
|
}
|
|
27
|
+
return (value) => {
|
|
28
|
+
if (validate(value) === true)
|
|
29
|
+
return null;
|
|
30
|
+
const err = validate.errors?.[0];
|
|
31
|
+
if (!err)
|
|
32
|
+
return "does not match the schema";
|
|
33
|
+
const path = err.instancePath.replace(/^\//, "").replace(/\//g, ".");
|
|
34
|
+
if (err.keyword === "required") {
|
|
35
|
+
const missing = err.params.missingProperty;
|
|
36
|
+
return `${path ? path + "." : ""}${missing} is required`;
|
|
37
|
+
}
|
|
38
|
+
if (err.keyword === "additionalProperties") {
|
|
39
|
+
const extra = err.params.additionalProperty;
|
|
40
|
+
return `${path ? path + "." : ""}${extra} is not allowed`;
|
|
41
|
+
}
|
|
42
|
+
return `${path || "(the value)"} ${err.message ?? "does not match the schema"}`;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Compile a phenotype's outputSchema into a validator. Returns null when the
|
|
47
|
+
* schema is absent, empty, or not compilable — in which case the caller falls
|
|
48
|
+
* back to sandbox success alone, and should say so.
|
|
49
|
+
*/
|
|
50
|
+
function compileOutputValidator(phenotype) {
|
|
51
|
+
const check = compileSchemaCheck(phenotype.outputSchema);
|
|
52
|
+
return check ? (output) => check(output) === null : null;
|
|
26
53
|
}
|
|
27
54
|
/** Sandbox success alone is not success; the output has to be what was promised. */
|
|
28
55
|
function isRunSuccessful(run, validateOutput) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arena-success.js","sourceRoot":"","sources":["../../src/utils/arena-success.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"arena-success.js","sourceRoot":"","sources":["../../src/utils/arena-success.ts"],"names":[],"mappings":";;;;;AAiCA,gDAuBC;AAOD,wDAGC;AASD,0CAIC;AA/ED,8CAAiD;AA0BjD;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,MAAe;IAChD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrG,IAAI,QAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAc,EAAE,EAAE;QACxB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,2BAA2B,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAI,GAAG,CAAC,MAAuC,CAAC,eAAe,CAAC;YAC7E,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,cAAc,CAAC;QAC3D,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAI,GAAG,CAAC,MAA0C,CAAC,kBAAkB,CAAC;YACjF,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,iBAAiB,CAAC;QAC5D,CAAC;QACD,OAAO,GAAG,IAAI,IAAI,aAAa,IAAI,GAAG,CAAC,OAAO,IAAI,2BAA2B,EAAE,CAAC;IAClF,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,SAAqC;IAC1E,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAe,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAQD,oFAAoF;AACpF,SAAgB,eAAe,CAAC,GAAe,EAAE,cAAsC;IACrF,IAAI,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/utils/binding.d.ts
CHANGED
|
@@ -33,9 +33,13 @@ export interface NativeBinding {
|
|
|
33
33
|
buildSearchGeneWasm(): Buffer;
|
|
34
34
|
buildSummarizeGeneWasm(): Buffer;
|
|
35
35
|
buildTranslateGeneWasm(): Buffer;
|
|
36
|
-
executeGene(wasmBytes: Buffer, inputJson: string, phenotypeJson: string, constraintsJson?: string
|
|
36
|
+
executeGene(wasmBytes: Buffer, inputJson: string, phenotypeJson: string, constraintsJson?: string,
|
|
37
|
+
/** v0.9.4 AgentMemory: {"agentId","geneId"}; omitted → the gene has no agent memory. */
|
|
38
|
+
memoryContextJson?: string): ExecutionResultView;
|
|
37
39
|
l0Check(phenotypeJson: string, permissionsJson?: string, constraintsJson?: string): L0CheckResultView;
|
|
38
|
-
executeAlgebra(algebraJson: string, geneEntriesJson: string, inputJson: string, constraintsJson?: string
|
|
40
|
+
executeAlgebra(algebraJson: string, geneEntriesJson: string, inputJson: string, constraintsJson?: string,
|
|
41
|
+
/** v0.9.4 AgentMemory: {"agentId"}; each gene runs as its entry's v2Id. */
|
|
42
|
+
memoryContextJson?: string): AlgebraResultView;
|
|
39
43
|
}
|
|
40
44
|
export declare function tryLoadBinding(): NativeBinding | null;
|
|
41
45
|
/** A gene announcement received from a peer (mirrors the Rust napi struct). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/utils/binding.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAAC;IACrB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,iBAAiB,IAAI,MAAM,CAAC;IAC5B,mBAAmB,IAAI,MAAM,CAAC;IAC9B,sBAAsB,IAAI,MAAM,CAAC;IACjC,sBAAsB,IAAI,MAAM,CAAC;IACjC,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/utils/binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/utils/binding.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/utils/binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two ClawHub endpoints `wrap --from-clawhub` uses: skill metadata and
|
|
3
|
+
* the skill package.
|
|
4
|
+
*
|
|
5
|
+
* Both sit in front of ClawHub's Convex backend, which is slow (4–11 s per
|
|
6
|
+
* answer) and fails about one request in six with HTTP 500
|
|
7
|
+
* `[Request ID: …] Server Error` — from any network, measured 2026-10-31.
|
|
8
|
+
* So every request here has a timeout, transient failures (5xx, 408, 429, a
|
|
9
|
+
* timeout, a network error) are retried with backoff, and a failure that
|
|
10
|
+
* survives the retries says exactly what it was: a 404 is "not found", a 500
|
|
11
|
+
* carries ClawHub's own message, a non-JSON answer names its content type.
|
|
12
|
+
* Before this, all of them read "not found or API error", which is how a
|
|
13
|
+
* flaky upstream passed for a missing skill.
|
|
14
|
+
*
|
|
15
|
+
* `fetch` follows 301/302/307/308. The download endpoint answers 307, which
|
|
16
|
+
* an earlier hand-written client did not follow (2026-08-31).
|
|
17
|
+
*/
|
|
18
|
+
export declare const CLAWHUB_API = "https://clawhub.ai/api/skill";
|
|
19
|
+
export declare const CLAWHUB_DOWNLOAD = "https://wry-manatee-359.convex.site/api/v1/download";
|
|
20
|
+
export interface ClawHubSkillInfo {
|
|
21
|
+
slug: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
summary: string;
|
|
24
|
+
stats: {
|
|
25
|
+
downloads: number;
|
|
26
|
+
stars: number;
|
|
27
|
+
versions: number;
|
|
28
|
+
installs?: number;
|
|
29
|
+
};
|
|
30
|
+
owner: {
|
|
31
|
+
handle: string;
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
version: string;
|
|
35
|
+
}
|
|
36
|
+
export type ClawHubFailureKind = "not_found" | "http" | "not_json" | "timeout" | "network";
|
|
37
|
+
export declare class ClawHubError extends Error {
|
|
38
|
+
readonly kind: ClawHubFailureKind;
|
|
39
|
+
readonly url: string;
|
|
40
|
+
readonly attempts: number;
|
|
41
|
+
readonly status: number | undefined;
|
|
42
|
+
readonly detail: string;
|
|
43
|
+
constructor(kind: ClawHubFailureKind, url: string, attempts: number, status: number | undefined, detail: string);
|
|
44
|
+
}
|
|
45
|
+
export interface ClawHubRequestOptions {
|
|
46
|
+
/** Attempts in all, the first included. */
|
|
47
|
+
attempts?: number;
|
|
48
|
+
/** Per attempt, response body included. */
|
|
49
|
+
timeoutMs?: number;
|
|
50
|
+
/** Wait before attempt n+1; the last entry repeats. */
|
|
51
|
+
retryDelaysMs?: number[];
|
|
52
|
+
fetchImpl?: typeof fetch;
|
|
53
|
+
/** Told about each failed attempt that will be retried. */
|
|
54
|
+
onRetry?: (attempt: number, attempts: number, error: ClawHubError) => void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The endpoints, or the overrides in ROTIFER_CLAWHUB_API_URL /
|
|
58
|
+
* ROTIFER_CLAWHUB_DOWNLOAD_URL (a mirror, or a local fixture in tests). An
|
|
59
|
+
* override must be https, or plain http to a loopback address; anything else
|
|
60
|
+
* is refused rather than silently sending requests somewhere unencrypted.
|
|
61
|
+
*/
|
|
62
|
+
export declare function clawHubEndpoints(env?: NodeJS.ProcessEnv): {
|
|
63
|
+
api: string;
|
|
64
|
+
download: string;
|
|
65
|
+
};
|
|
66
|
+
export declare function fetchClawHubInfo(slug: string, options?: ClawHubRequestOptions & {
|
|
67
|
+
api?: string;
|
|
68
|
+
}): Promise<ClawHubSkillInfo>;
|
|
69
|
+
/** The skill package (a zip). */
|
|
70
|
+
export declare function fetchClawHubPackage(slug: string, options?: ClawHubRequestOptions & {
|
|
71
|
+
download?: string;
|
|
72
|
+
}): Promise<Buffer>;
|
|
73
|
+
//# sourceMappingURL=clawhub-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clawhub-client.d.ts","sourceRoot":"","sources":["../../src/utils/clawhub-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAC1D,eAAO,MAAM,gBAAgB,wDAAwD,CAAC;AAEtF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3F,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,IAAI,EAAE,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAJd,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM;CAK1B;AAuBD,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC5E;AAWD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKxG;AAqFD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAAqB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD,OAAO,CAAC,gBAAgB,CAAC,CAsB3B;AAED,iCAAiC;AACjC,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|