@dtmd/temper 0.0.14 → 0.0.15

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.
@@ -762,6 +762,10 @@ export interface SettingsLocal {
762
762
  readonly includeCoAuthoredBy?: boolean;
763
763
  /** The output rendering style. */
764
764
  readonly outputStyle?: string;
765
+ /** Whether to enable auto-memory for this project (code.claude.com/docs/en/memory, retrieved 2026-07-26). */
766
+ readonly autoMemoryEnabled?: boolean;
767
+ /** Absolute or `~/`-prefixed path for auto-memory storage, honored at any settings scope (code.claude.com/docs/en/memory, retrieved 2026-07-26). */
768
+ readonly autoMemoryDirectory?: string;
765
769
  }
766
770
  /**
767
771
  * `settings-local` — `.claude/settings.local.json`, a whole-file JSON document at the
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import { fileURLToPath } from "node:url";
12
12
  import { isTextSpan, resolveLeaf } from "./prose.js";
13
- import { SETTINGS_MANIFEST, TELEMETRY_EVENT_HOOKS, tapHookRegistration } from "./builtins.js";
13
+ import { SETTINGS_MANIFEST, TELEMETRY_EVENT_HOOKS, hook, tapHookRegistration } from "./builtins.js";
14
14
  /**
15
15
  * Compile one `Clause` into its lock row: the shared `key`/`field`/`severity`/
16
16
  * `guidance`/`cite` columns — the clause's four channels surviving erasure
@@ -615,7 +615,7 @@ export function registrationRows(harness) {
615
615
  const address = member.facts.collectionAddress;
616
616
  if (address === undefined) {
617
617
  throw new Error(`member \`${member.name}\`: a fields-only registration kind declares no ` +
618
- `collection address — it surfaces in no host manifest (specs/model/pipeline.md, "The SDK").`);
618
+ `collection address — it surfaces in no host manifest (specs/model/authoring.md, "The SDK").`);
619
619
  }
620
620
  return {
621
621
  kind: member.kind,
@@ -677,7 +677,7 @@ export function tapHookRows(harness) {
677
677
  .map(({ event, matcher }) => {
678
678
  const { keyPath, fields } = tapHookRegistration(TAP_COMMAND, matcher);
679
679
  return {
680
- kind: "hook",
680
+ kind: hook.key,
681
681
  key: event,
682
682
  manifest: SETTINGS_MANIFEST,
683
683
  key_path: keyPath,
@@ -19,7 +19,7 @@
19
19
  * a layer's *effect* is held structurally — by the shape of a kind, which an author
20
20
  * cannot spell their way past. The other half of the bound is the engine's:
21
21
  * dialed softening is inert in block mode, so a block-mode pass on any machine implies
22
- * the shared gate's pass (`pipeline.md`, "Layers").
22
+ * the shared gate's pass.
23
23
  */
24
24
  import type { Clause, Severity } from "./contract.js";
25
25
  import type { KindDefinition } from "./kind.js";
package/dist/src/dial.js CHANGED
@@ -19,7 +19,7 @@
19
19
  * a layer's *effect* is held structurally — by the shape of a kind, which an author
20
20
  * cannot spell their way past. The other half of the bound is the engine's:
21
21
  * dialed softening is inert in block mode, so a block-mode pass on any machine implies
22
- * the shared gate's pass (`pipeline.md`, "Layers").
22
+ * the shared gate's pass.
23
23
  */
24
24
  import { clause, closedKeys, enumOf, required, type } from "./contract.js";
25
25
  import { kind } from "./kind.js";
package/dist/src/prose.js CHANGED
@@ -145,7 +145,7 @@ export function blocks(...values) {
145
145
  throw new Error(`blocks(): block ${index} is a \`file()\` value — a composed body admits a ` +
146
146
  `\`text\` span or an embedded member value. A document is a member's whole ` +
147
147
  `\`prose\` body (\`prose: file(…)\`); to pull its bytes into a composed body, ` +
148
- `interpolate \`include()\` into a \`text\` span (specs/model/pipeline.md, "The SDK").`);
148
+ `interpolate \`include()\` into a \`text\` span (specs/model/authoring.md, "The SDK").`);
149
149
  }
150
150
  });
151
151
  return { kind: "blocks", values };
@@ -197,7 +197,7 @@ export function resolveLeaf(value, scope, context) {
197
197
  return value;
198
198
  if (value.includes.length > 0) {
199
199
  throw new Error(`${context}: an embedded-member leaf cannot carry an include — a content pull is a ` +
200
- `member-body intent, not a fenced-value one (specs/model/pipeline.md, "The SDK").`);
200
+ `member-body intent, not a fenced-value one (specs/model/authoring.md, "The SDK").`);
201
201
  }
202
202
  checkMentions(value.mentions, scope, context);
203
203
  return renderText(value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dtmd/temper",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "description": "The temper authoring face — the six-noun model as typed modules: harness(), kind<T>(), clause values, needs, and file()/text/blocks(). Emit compiles to the declaration rows the engine reads, a byte-faithful projection, and the lock.",
5
5
  "license": "(MIT OR Apache-2.0)",
6
6
  "repository": {
@@ -52,7 +52,7 @@
52
52
  "temper": "bin/temper.js"
53
53
  },
54
54
  "optionalDependencies": {
55
- "@dtmd/temper-linux-x64": "0.0.14",
56
- "@dtmd/temper-win32-x64": "0.0.14"
55
+ "@dtmd/temper-linux-x64": "0.0.15",
56
+ "@dtmd/temper-win32-x64": "0.0.15"
57
57
  }
58
58
  }