@lmzhen/dsh-evolution-approval 0.3.66 → 0.3.68

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/lib/index.js CHANGED
@@ -6,8 +6,13 @@ import z from "@deepseek-ai/schemastery";
6
6
  * Stage/pending write approval for self-evolution mutations.
7
7
  *
8
8
  * DSH's native approval seam is one-shot only. This service adds the
9
- * Hermes-style staged queue: background review/curator writes are stored in
10
- * `ctx.evolutionState`, and a human approves or rejects them later. A runner
9
+ * Hermes-style staged queue: a write whose ORIGIN is the background review —
10
+ * or a foreground write while `stageForeground` is on is recorded in
11
+ * `ctx.evolutionState`, and a human approves or rejects it later. The CURATOR
12
+ * does NOT route through this queue: it owns its own gate set and writes
13
+ * directly (batch/consolidate), so "curator writes are staged" is not a
14
+ * property of this service (V27 G6.2; see evolution-curator's gate set for what
15
+ * actually constrains an autonomous curator write). A runner
11
16
  * registry replays the exact mutation without passing through the gate a
12
17
  * second time. Resolved records are kept as audit history up to
13
18
  * PENDING_RESOLVED_CAP (the most recent N; the state provider archives the
@@ -105,7 +110,7 @@ var EvolutionApproval = class extends Service {
105
110
  id: randomUUID(),
106
111
  kind: input.kind,
107
112
  summary,
108
- args: input.args,
113
+ args: input.args === void 0 ? {} : input.args,
109
114
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
110
115
  status: "pending",
111
116
  origin: input.origin,
@@ -2,8 +2,13 @@
2
2
  * Stage/pending write approval for self-evolution mutations.
3
3
  *
4
4
  * DSH's native approval seam is one-shot only. This service adds the
5
- * Hermes-style staged queue: background review/curator writes are stored in
6
- * `ctx.evolutionState`, and a human approves or rejects them later. A runner
5
+ * Hermes-style staged queue: a write whose ORIGIN is the background review —
6
+ * or a foreground write while `stageForeground` is on is recorded in
7
+ * `ctx.evolutionState`, and a human approves or rejects it later. The CURATOR
8
+ * does NOT route through this queue: it owns its own gate set and writes
9
+ * directly (batch/consolidate), so "curator writes are staged" is not a
10
+ * property of this service (V27 G6.2; see evolution-curator's gate set for what
11
+ * actually constrains an autonomous curator write). A runner
7
12
  * registry replays the exact mutation without passing through the gate a
8
13
  * second time. Resolved records are kept as audit history up to
9
14
  * PENDING_RESOLVED_CAP (the most recent N; the state provider archives the
@@ -31,6 +36,13 @@ export interface ApprovalRequest {
31
36
  * so the write is allowed instead of staging an unanswerable pending record
32
37
  * (claw alignment: "skip approval for non-interactive contexts"). Absent
33
38
  * (no session / no approval service) keeps the previous behavior.
39
+ *
40
+ * V27 G6.2: this field is a FALLBACK, not the authority. With the platform
41
+ * `approval` service mounted, `request()` derives the policy from it
42
+ * (`overrideOf` → deployment `config.policy` → 'ask') and ignores this value
43
+ * entirely; it is read only in assemblies WITHOUT that service. A caller
44
+ * holding the session object must pass it as `session`: a bare `sessionId`
45
+ * cannot be probed (the platform reads `session.events` off the object).
34
46
  */
35
47
  sessionPolicy?: 'ask' | 'never';
36
48
  /** 0.3.17 (E-25): the requesting session id, kept on the record for
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lmzhen/dsh-evolution-approval",
3
3
  "description": "Stage/pending approval service for Hermes-style self-evolution writes (community build)",
4
- "version": "0.3.66",
4
+ "version": "0.3.68",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -35,15 +35,15 @@
35
35
  "peerDependencies": {
36
36
  "@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
37
37
  "@deepseek-ai/cordis": "^4.0.1",
38
- "@lmzhen/dsh-evolution-state-storage": "^0.3.66",
39
- "@lmzhen/dsh-evolution-state": "^0.3.66"
38
+ "@lmzhen/dsh-evolution-state-storage": "^0.3.68",
39
+ "@lmzhen/dsh-evolution-state": "^0.3.68"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
43
- "@lmzhen/dsh-evolution-state-storage": "^0.3.66",
44
- "@lmzhen/dsh-evolution-state": "^0.3.66",
45
- "@lmzhen/dsh-evolution-io": "^0.3.66",
46
- "@lmzhen/dsh-evolution-io-node": "^0.3.66",
47
- "@lmzhen/dsh-evolution-state-json": "^0.3.66"
43
+ "@lmzhen/dsh-evolution-state-storage": "^0.3.68",
44
+ "@lmzhen/dsh-evolution-state": "^0.3.68",
45
+ "@lmzhen/dsh-evolution-io": "^0.3.68",
46
+ "@lmzhen/dsh-evolution-io-node": "^0.3.68",
47
+ "@lmzhen/dsh-evolution-state-json": "^0.3.68"
48
48
  }
49
49
  }