@klickd/core 3.0.1 → 3.5.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/index.cjs CHANGED
@@ -275,10 +275,14 @@ async function loadKlickd(input, options = {}) {
275
275
  );
276
276
  }
277
277
  const cipherName = envelope.cipher.name;
278
- if (cipherName !== "AES-256-GCM") {
278
+ if (cipherName === "aes-256-gcm") {
279
+ console.warn(
280
+ "KLICKD_W_DEPRECATED: cipher.name='aes-256-gcm' (lowercase) is legacy; canonical is 'AES-256-GCM'. Re-encode to upgrade."
281
+ );
282
+ } else if (cipherName !== "AES-256-GCM") {
279
283
  throw new KlickdError(
280
284
  "KLICKD_E_FORMAT",
281
- `Unsupported cipher: ${cipherName}. Only AES-256-GCM is supported in v3.0.`,
285
+ `Unsupported cipher: ${cipherName}. Only AES-256-GCM is supported in v3.0 (legacy 'aes-256-gcm' also accepted).`,
282
286
  HTTP_STATUS["KLICKD_E_FORMAT"]
283
287
  );
284
288
  }
package/dist/index.d.cts CHANGED
@@ -75,7 +75,12 @@ interface KlickdPayload {
75
75
  domain_schema_version: string;
76
76
  identity?: KlickdIdentity;
77
77
  agent_instructions?: string;
78
- user_preferences?: Record<string, unknown>;
78
+ /**
79
+ * Advisory user-preference briefing. Canonical type = string (SPEC.md §22.6,
80
+ * max 32,768 bytes UTF-8). Object form retained for backward compatibility
81
+ * with pre-v3.4 files; new producers SHOULD emit the string form.
82
+ */
83
+ user_preferences?: string | Record<string, unknown>;
79
84
  context?: KlickdContext;
80
85
  knowledge?: KlickdKnowledge;
81
86
  memory?: KlickdMemoryEntry[];
package/dist/index.d.ts CHANGED
@@ -75,7 +75,12 @@ interface KlickdPayload {
75
75
  domain_schema_version: string;
76
76
  identity?: KlickdIdentity;
77
77
  agent_instructions?: string;
78
- user_preferences?: Record<string, unknown>;
78
+ /**
79
+ * Advisory user-preference briefing. Canonical type = string (SPEC.md §22.6,
80
+ * max 32,768 bytes UTF-8). Object form retained for backward compatibility
81
+ * with pre-v3.4 files; new producers SHOULD emit the string form.
82
+ */
83
+ user_preferences?: string | Record<string, unknown>;
79
84
  context?: KlickdContext;
80
85
  knowledge?: KlickdKnowledge;
81
86
  memory?: KlickdMemoryEntry[];
package/dist/index.js CHANGED
@@ -236,10 +236,14 @@ async function loadKlickd(input, options = {}) {
236
236
  );
237
237
  }
238
238
  const cipherName = envelope.cipher.name;
239
- if (cipherName !== "AES-256-GCM") {
239
+ if (cipherName === "aes-256-gcm") {
240
+ console.warn(
241
+ "KLICKD_W_DEPRECATED: cipher.name='aes-256-gcm' (lowercase) is legacy; canonical is 'AES-256-GCM'. Re-encode to upgrade."
242
+ );
243
+ } else if (cipherName !== "AES-256-GCM") {
240
244
  throw new KlickdError(
241
245
  "KLICKD_E_FORMAT",
242
- `Unsupported cipher: ${cipherName}. Only AES-256-GCM is supported in v3.0.`,
246
+ `Unsupported cipher: ${cipherName}. Only AES-256-GCM is supported in v3.0 (legacy 'aes-256-gcm' also accepted).`,
243
247
  HTTP_STATUS["KLICKD_E_FORMAT"]
244
248
  );
245
249
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@klickd/core",
3
- "version": "3.0.1",
3
+ "version": "3.5.1",
4
4
  "description": "Official JavaScript/TypeScript library for reading and writing .klickd portable AI context files",
5
5
  "keywords": [
6
6
  "klickd",
@@ -22,9 +22,9 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "exports": {
24
24
  ".": {
25
+ "types": "./dist/index.d.ts",
25
26
  "import": "./dist/index.js",
26
- "require": "./dist/index.cjs",
27
- "types": "./dist/index.d.ts"
27
+ "require": "./dist/index.cjs"
28
28
  }
29
29
  },
30
30
  "files": [