@adia-ai/persona 0.8.44 → 0.8.46

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 CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.46] — 2026-08-22
4
+
5
+
6
+ ### Maintenance
7
+ - **`src/` touched in this release window** (1 file(s), e.g. `src/store.ts`) — carried by the entries above.
8
+
9
+ ## [0.8.45] — 2026-08-20
10
+
11
+ ### Maintenance
12
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.45 work shipped in the reactivity/render-clock doctrine batch and app-store migration in @adia-ai/web-components, @adia-ai/gen-ui, and @adia-ai/mcp. See `packages/web-components/CHANGELOG.md#0845--2026-08-20` for details.
13
+
3
14
  ## [0.8.44] — 2026-08-20
4
15
 
5
16
  ### Maintenance
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/persona",
3
- "version": "0.8.44",
3
+ "version": "0.8.46",
4
4
  "description": "Agent-as-data (CHAT-HARNESS L2): Entry primitive, Persona + SettingsStore contracts, pure compilePersona → @adia-ai/agent AgentConfig, versioned persona file import/export.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -25,7 +25,8 @@
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "dependencies": {
28
- "@adia-ai/agent": "^0.8.0"
28
+ "@adia-ai/agent": "^0.8.0",
29
+ "@adia-ai/web-components": "^0.8.0"
29
30
  },
30
31
  "sideEffects": false,
31
32
  "publishConfig": {
package/store.d.ts CHANGED
@@ -6,6 +6,25 @@
6
6
  * `personaStore` layers the per-persona precedence rule on top of any
7
7
  * SettingsStore factory: persisted values win over seed data across round
8
8
  * trips, and a seedVersion bump forces exactly one reset back to the seed.
9
+ *
10
+ * `createMemoryStore`'s subscriber registry is migrated onto
11
+ * `core/store.js`'s `createStore` (reactivity review R2, gh#1779, deferred
12
+ * fifth store landed gh#1800): the hand-rolled `subscribers = new
13
+ * Set<() => void>()` is now a `createStore([])`-backed array (copy-on-write
14
+ * push/filter) — the same registry-only recipe `apps/genui/app/patient-visit/
15
+ * record.js`, `apps/embedded-app/app/shared/data-client.js`, and
16
+ * `apps/tasks/app/service/task-service.js` already took. `data`'s own
17
+ * per-key `Object.is` no-notify guard and `persist()` are byte-for-byte
18
+ * unchanged — this was in fact the reference `store.js`'s own guard was
19
+ * modeled after (see `core/store.js`'s `set value()` comment). `subscribe()`
20
+ * keeps the ORIGINAL Set's dedup semantics explicitly (an `.includes()`
21
+ * check before pushing): unlike the other three registry-only migrations —
22
+ * which wrapped `cb` in a fresh `{path, cb}`/`{query, handler}` object each
23
+ * call, so their old `Set` never actually deduped a repeat subscribe of the
24
+ * same callback — this store's `Set<() => void>` held the raw callback, so
25
+ * `Set.add`'s reference-based dedup was a real, externally-visible part of
26
+ * this published package's `subscribe()` contract and had to be preserved
27
+ * by hand rather than inherited from the registry's own shape.
9
28
  */
10
29
  import type { Persona } from './persona.js';
11
30
  export interface SettingsStore {
package/store.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;mDAE+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD;;2EAE2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,eAAoB,GAAG,aAAa,CA+C3E;AAED,MAAM,WAAW,gBAAgB;IAC/B;iEAC6D;IAC7D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,aAAa,CAAC;CACxD;AAiBD;;;;;;;;0CAQ0C;AAC1C,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,aAAa,CAezF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;mDAE+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD;;2EAE2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,eAAoB,GAAG,aAAa,CAwD3E;AAED,MAAM,WAAW,gBAAgB;IAC/B;iEAC6D;IAC7D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,aAAa,CAAC;CACxD;AAiBD;;;;;;;;0CAQ0C;AAC1C,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,aAAa,CAezF"}
package/store.js CHANGED
@@ -6,7 +6,27 @@
6
6
  * `personaStore` layers the per-persona precedence rule on top of any
7
7
  * SettingsStore factory: persisted values win over seed data across round
8
8
  * trips, and a seedVersion bump forces exactly one reset back to the seed.
9
+ *
10
+ * `createMemoryStore`'s subscriber registry is migrated onto
11
+ * `core/store.js`'s `createStore` (reactivity review R2, gh#1779, deferred
12
+ * fifth store landed gh#1800): the hand-rolled `subscribers = new
13
+ * Set<() => void>()` is now a `createStore([])`-backed array (copy-on-write
14
+ * push/filter) — the same registry-only recipe `apps/genui/app/patient-visit/
15
+ * record.js`, `apps/embedded-app/app/shared/data-client.js`, and
16
+ * `apps/tasks/app/service/task-service.js` already took. `data`'s own
17
+ * per-key `Object.is` no-notify guard and `persist()` are byte-for-byte
18
+ * unchanged — this was in fact the reference `store.js`'s own guard was
19
+ * modeled after (see `core/store.js`'s `set value()` comment). `subscribe()`
20
+ * keeps the ORIGINAL Set's dedup semantics explicitly (an `.includes()`
21
+ * check before pushing): unlike the other three registry-only migrations —
22
+ * which wrapped `cb` in a fresh `{path, cb}`/`{query, handler}` object each
23
+ * call, so their old `Set` never actually deduped a repeat subscribe of the
24
+ * same callback — this store's `Set<() => void>` held the raw callback, so
25
+ * `Set.add`'s reference-based dedup was a real, externally-visible part of
26
+ * this published package's `subscribe()` contract and had to be preserved
27
+ * by hand rather than inherited from the registry's own shape.
9
28
  */
29
+ import { createStore } from '@adia-ai/web-components/core/store';
10
30
  function hasLocalStorage() {
11
31
  try {
12
32
  return typeof localStorage !== 'undefined';
@@ -32,7 +52,7 @@ export function createMemoryStore(opts = {}) {
32
52
  // Corrupt or inaccessible storage — fall back to `initial` only.
33
53
  }
34
54
  }
35
- const subscribers = new Set();
55
+ const subscribers = createStore([]);
36
56
  function persist() {
37
57
  if (!persistent)
38
58
  return;
@@ -59,12 +79,21 @@ export function createMemoryStore(opts = {}) {
59
79
  return;
60
80
  data = { ...data, [key]: value };
61
81
  persist();
62
- for (const cb of subscribers)
82
+ for (const cb of subscribers.peek())
63
83
  cb();
64
84
  },
65
85
  subscribe(cb) {
66
- subscribers.add(cb);
67
- return () => subscribers.delete(cb);
86
+ // Set-compatible dedup: subscribing the identical callback reference
87
+ // twice must stay a no-op (matching the pre-migration `Set.add`
88
+ // semantics `subscribers` used to have, and `EventTarget.addEventListener`'s
89
+ // own convention) — an array push alone would silently double-register
90
+ // it and fire it twice per set().
91
+ if (!subscribers.peek().includes(cb)) {
92
+ subscribers.value = [...subscribers.peek(), cb];
93
+ }
94
+ return () => {
95
+ subscribers.value = subscribers.peek().filter((fn) => fn !== cb);
96
+ };
68
97
  },
69
98
  };
70
99
  }
package/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["src/store.ts"],"names":[],"mappings":"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"}