skill-harness 0.26.1 → 0.26.2

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.
Files changed (2) hide show
  1. package/dist/index.js +87 -6
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -8684,6 +8684,9 @@ function validateNumber(schema2, value, path) {
8684
8684
  if (typeof schema2.minimum === "number" && value < schema2.minimum) {
8685
8685
  return [{ path, message: `must be >= ${schema2.minimum}` }];
8686
8686
  }
8687
+ if (typeof schema2.maximum === "number" && value > schema2.maximum) {
8688
+ return [{ path, message: `must be <= ${schema2.maximum}` }];
8689
+ }
8687
8690
  return [];
8688
8691
  }
8689
8692
  function bestBranch(root, schemas, branches, value, path) {
@@ -8805,7 +8808,8 @@ var init_closed_schema = __esm({
8805
8808
  "minItems",
8806
8809
  "maxItems",
8807
8810
  "uniqueItems",
8808
- "exclusiveMinimum"
8811
+ "exclusiveMinimum",
8812
+ "maximum"
8809
8813
  ]);
8810
8814
  KEYWORD_SHAPES = {
8811
8815
  $ref: { check: (value) => typeof value === "string", expected: "a string" },
@@ -8826,6 +8830,7 @@ var init_closed_schema = __esm({
8826
8830
  maxLength: { check: (value) => typeof value === "number", expected: "a number" },
8827
8831
  exclusiveMinimum: { check: (value) => typeof value === "number" && Number.isFinite(value), expected: "a finite number" },
8828
8832
  minimum: { check: (value) => typeof value === "number", expected: "a number" },
8833
+ maximum: { check: (value) => typeof value === "number" && Number.isFinite(value), expected: "a finite number" },
8829
8834
  uniqueItems: { check: (value) => typeof value === "boolean", expected: "a boolean" },
8830
8835
  minItems: { check: (value) => Number.isInteger(value) && Number(value) >= 0, expected: "a non-negative integer" },
8831
8836
  maxItems: { check: (value) => Number.isInteger(value) && Number(value) >= 0, expected: "a non-negative integer" },
@@ -8843,7 +8848,7 @@ var PI_DADDY_RECORD_V1_COMMIT2, PI_DADDY_RECORD_V1_SCHEMA2, PI_DADDY_RECORD_V1_G
8843
8848
  var init_pi_daddy_record_v1_contract = __esm({
8844
8849
  "packages/adapters/src/pi-daddy-record-v1-contract.ts"() {
8845
8850
  "use strict";
8846
- PI_DADDY_RECORD_V1_COMMIT2 = "fad624ebc465eeb924fe91ba3b063b3851ce30ad";
8851
+ PI_DADDY_RECORD_V1_COMMIT2 = "ce7ea2e00f371f74fe3119e3f9de7aef672462a1";
8847
8852
  PI_DADDY_RECORD_V1_SCHEMA2 = {
8848
8853
  "$schema": "https://json-schema.org/draft/2020-12/schema",
8849
8854
  "$id": "https://github.com/mojomanyana/pi-daddy/contracts/ledger-record/v1/record.schema.json",
@@ -9172,7 +9177,8 @@ var init_pi_daddy_record_v1_contract = __esm({
9172
9177
  "prompt",
9173
9178
  "session",
9174
9179
  "persisted",
9175
- "inherited"
9180
+ "inherited",
9181
+ "auto"
9176
9182
  ]
9177
9183
  },
9178
9184
  "approvalScope": {
@@ -10090,7 +10096,8 @@ var init_pi_daddy_record_v1_contract = __esm({
10090
10096
  "trigger": {
10091
10097
  "enum": [
10092
10098
  "first-delegation",
10093
- "grants-models"
10099
+ "grants-models",
10100
+ "auto-mode"
10094
10101
  ]
10095
10102
  },
10096
10103
  "overrides": {
@@ -10113,6 +10120,32 @@ var init_pi_daddy_record_v1_contract = __esm({
10113
10120
  ],
10114
10121
  "additionalProperties": false
10115
10122
  }
10123
+ },
10124
+ "autoMode": {
10125
+ "type": "object",
10126
+ "properties": {
10127
+ "enabled": {
10128
+ "type": "boolean"
10129
+ },
10130
+ "source": {
10131
+ "enum": [
10132
+ "default",
10133
+ "environment",
10134
+ "session"
10135
+ ]
10136
+ },
10137
+ "revision": {
10138
+ "type": "integer",
10139
+ "minimum": 0,
10140
+ "maximum": 9007199254740991
10141
+ }
10142
+ },
10143
+ "required": [
10144
+ "enabled",
10145
+ "source",
10146
+ "revision"
10147
+ ],
10148
+ "additionalProperties": false
10116
10149
  }
10117
10150
  },
10118
10151
  "required": [
@@ -10124,7 +10157,41 @@ var init_pi_daddy_record_v1_contract = __esm({
10124
10157
  "trigger",
10125
10158
  "overrides"
10126
10159
  ],
10127
- "additionalProperties": false
10160
+ "additionalProperties": false,
10161
+ "oneOf": [
10162
+ {
10163
+ "properties": {
10164
+ "trigger": {
10165
+ "const": "auto-mode"
10166
+ },
10167
+ "outcome": {
10168
+ "const": "changed"
10169
+ },
10170
+ "overrides": {
10171
+ "type": "object",
10172
+ "additionalProperties": false
10173
+ }
10174
+ },
10175
+ "required": [
10176
+ "autoMode"
10177
+ ]
10178
+ },
10179
+ {
10180
+ "properties": {
10181
+ "trigger": {
10182
+ "enum": [
10183
+ "first-delegation",
10184
+ "grants-models"
10185
+ ]
10186
+ }
10187
+ },
10188
+ "not": {
10189
+ "required": [
10190
+ "autoMode"
10191
+ ]
10192
+ }
10193
+ }
10194
+ ]
10128
10195
  },
10129
10196
  "episodeOutcome": {
10130
10197
  "type": "object",
@@ -13571,6 +13638,7 @@ var init_src = __esm({
13571
13638
  });
13572
13639
 
13573
13640
  // packages/pi-extension/src/index.ts
13641
+ import { readFileSync as readFileSync20 } from "node:fs";
13574
13642
  import { fileURLToPath as fileURLToPath2 } from "node:url";
13575
13643
  import { basename as basename4, dirname as dirname10, join as join35 } from "node:path";
13576
13644
 
@@ -13964,7 +14032,8 @@ var V3_SUPPORTED_KEYWORDS = /* @__PURE__ */ new Set([
13964
14032
  "minItems",
13965
14033
  "maxItems",
13966
14034
  "uniqueItems",
13967
- "exclusiveMinimum"
14035
+ "exclusiveMinimum",
14036
+ "maximum"
13968
14037
  ]);
13969
14038
 
13970
14039
  // packages/adapters/dist/pi-daddy-record-v1.js
@@ -19108,11 +19177,23 @@ function registerJevAdvice(pi, controller) {
19108
19177
  function index_default(pi) {
19109
19178
  const moduleDir = dirname10(fileURLToPath2(import.meta.url));
19110
19179
  const assetsDir = basename4(dirname10(moduleDir)) === "skill-harness" ? join35(moduleDir, "..", "assets") : join35(moduleDir, "..", "..", "..", "assets");
19180
+ const packageRoot = basename4(dirname10(moduleDir)) === "skill-harness" ? join35(moduleDir, "..") : join35(moduleDir, "..", "..", "..");
19181
+ let loadedVersion;
19182
+ try {
19183
+ const manifest = JSON.parse(readFileSync20(join35(packageRoot, "package.json"), "utf8"));
19184
+ if (["skill-harness", "skill-harness-monorepo"].includes(manifest.name)) loadedVersion = manifest.version;
19185
+ } catch {
19186
+ }
19187
+ const removeVersionReporter = pi.events?.on("pi-daddy:ecosystem-versions:v1", (request) => {
19188
+ const report = request?.report;
19189
+ if (typeof report === "function" && typeof loadedVersion === "string") report({ id: "skill-harness", version: loadedVersion, root: packageRoot });
19190
+ });
19111
19191
  const jev = createJevController(pi);
19112
19192
  registerCommand(pi, assetsDir, jev.command);
19113
19193
  registerJevAdvice(pi, jev);
19114
19194
  registerTool(pi);
19115
19195
  pi.on("session_shutdown", async () => {
19196
+ removeVersionReporter?.();
19116
19197
  closeReview();
19117
19198
  });
19118
19199
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skill-harness",
3
- "version": "0.26.1",
3
+ "version": "0.26.2",
4
4
  "description": "Test/optimize loop for agent skills \u2014 run spec'd scenarios on pi, LLM-judge, score, review, re-run",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "README.md"
32
32
  ],
33
33
  "dependencies": {
34
- "@skill-harness/cli": "0.26.1"
34
+ "@skill-harness/cli": "0.26.2"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "typebox": "*"