@ai-matrx/associations 0.14.92 → 0.14.94

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.
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentType, ReactNode } from 'react';
3
- import { j as AssociationsNotifier, W as WindowShellPort, k as CapturePort, P as PickerOverrideMap, E as EntityDoorsPort, l as AuthorDisplayPort, m as AssociationsStore, n as CategoryMutationResult, o as CategoryDimension, p as PlatformCategory, q as CategoriesEntry, r as EntityTypeToken, s as UniversalCandidate, t as CandidateRecord, u as PlatformComment, v as CommentsEntry, w as CommentAnchor, x as CommentMutationResult, e as AssociationPickerProps, y as EntityDoorProps, z as EntityRefProps, B as ContentRole } from '../CommentThread-CtDHOFCs.cjs';
4
- export { D as AssociationCaptureToolbar, A as AssociationCaptureToolbarProps, F as AssociationCard, G as AssociationCardGrid, b as AssociationCardGridProps, H as AssociationCardLook, a as AssociationCardProps, I as AssociationEntitySelect, J as AssociationEntitySelectAdapter, K as AssociationEntitySelectItem, c as AssociationEntitySelectProps, L as AssociationList, d as AssociationListProps, M as AssociationWindow, f as AssociationWindowProps, N as AssociationWriteResult, O as AttachedItemsSheet, g as AttachedItemsSheetProps, Q as CaptureAttach, R as CaptureAttachResult, S as CaptureToolbarAction, T as CategorySelect, C as CategorySelectProps, V as CategoryTagPicker, h as CategoryTagPickerProps, X as CommentComposer, Y as CommentComposerProps, Z as CommentThread, i as CommentThreadProps, _ as ContainerLink, $ as ContainerResourceRow, a0 as ContainerResourcesAdapter, a1 as DefaultEntityIcon, a2 as PostedComment, a3 as PrimaryContainerEntity, a4 as PrimaryEntity, a5 as PrimaryEntityProvider, a6 as PrimaryFiledEntity, a7 as TagPickerIcon, a8 as UniversalAssociationPicker, U as UniversalAssociationPickerProps, a9 as UseAssociationEntitySelectAdapterArgs, aa as UseAssociationsArgs, ab as UseAssociationsReturn, ac as UseContainerLinksArgs, ad as UseContainerLinksReturn, ae as attachedKey, af as buildCommentTree, ag as containerLinksArgs, ah as linkDirection, ai as useAssociationEntitySelectAdapter, aj as useAssociations, ak as useContainerLinks, al as useContainerLinksAdapter, am as useEntityRelationships, an as usePrimaryEntity } from '../CommentThread-CtDHOFCs.cjs';
3
+ import { j as AssociationsNotifier, W as WindowShellPort, k as CapturePort, P as PickerOverrideMap, E as EntityDoorsPort, l as AuthorDisplayPort, m as AssociationsStore, n as CategoryMutationResult, o as CategoryDimension, p as PlatformCategory, q as CategoriesEntry, r as EntityTypeToken, s as UniversalCandidate, t as CandidateRecord, u as PlatformComment, v as CommentsEntry, w as CommentAnchor, x as CommentMutationResult, e as AssociationPickerProps, y as EntityDoorProps, z as EntityRefProps, B as ContentRole } from '../CommentThread-CoiRjH11.cjs';
4
+ export { D as AssociationCaptureToolbar, A as AssociationCaptureToolbarProps, F as AssociationCard, G as AssociationCardGrid, b as AssociationCardGridProps, H as AssociationCardLook, a as AssociationCardProps, I as AssociationEntitySelect, J as AssociationEntitySelectAdapter, K as AssociationEntitySelectItem, c as AssociationEntitySelectProps, L as AssociationList, d as AssociationListProps, M as AssociationWindow, f as AssociationWindowProps, N as AssociationWriteResult, O as AttachedItemsSheet, g as AttachedItemsSheetProps, Q as CaptureAttach, R as CaptureAttachResult, S as CaptureToolbarAction, T as CategorySelect, C as CategorySelectProps, V as CategoryTagPicker, h as CategoryTagPickerProps, X as CommentComposer, Y as CommentComposerProps, Z as CommentThread, i as CommentThreadProps, _ as ContainerLink, $ as ContainerResourceRow, a0 as ContainerResourcesAdapter, a1 as DefaultEntityIcon, a2 as PostedComment, a3 as PrimaryContainerEntity, a4 as PrimaryEntity, a5 as PrimaryEntityProvider, a6 as PrimaryFiledEntity, a7 as TagPickerIcon, a8 as UniversalAssociationPicker, U as UniversalAssociationPickerProps, a9 as UseAssociationEntitySelectAdapterArgs, aa as UseAssociationsArgs, ab as UseAssociationsReturn, ac as UseContainerLinksArgs, ad as UseContainerLinksReturn, ae as attachedKey, af as buildCommentTree, ag as containerLinksArgs, ah as linkDirection, ai as useAssociationEntitySelectAdapter, aj as useAssociations, ak as useContainerLinks, al as useContainerLinksAdapter, am as useEntityRelationships, an as usePrimaryEntity } from '../CommentThread-CoiRjH11.cjs';
5
5
  import '@ai-matrx/data/db';
6
6
  import '@ai-matrx/design-system/icons';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentType, ReactNode } from 'react';
3
- import { j as AssociationsNotifier, W as WindowShellPort, k as CapturePort, P as PickerOverrideMap, E as EntityDoorsPort, l as AuthorDisplayPort, m as AssociationsStore, n as CategoryMutationResult, o as CategoryDimension, p as PlatformCategory, q as CategoriesEntry, r as EntityTypeToken, s as UniversalCandidate, t as CandidateRecord, u as PlatformComment, v as CommentsEntry, w as CommentAnchor, x as CommentMutationResult, e as AssociationPickerProps, y as EntityDoorProps, z as EntityRefProps, B as ContentRole } from '../CommentThread-CtDHOFCs.js';
4
- export { D as AssociationCaptureToolbar, A as AssociationCaptureToolbarProps, F as AssociationCard, G as AssociationCardGrid, b as AssociationCardGridProps, H as AssociationCardLook, a as AssociationCardProps, I as AssociationEntitySelect, J as AssociationEntitySelectAdapter, K as AssociationEntitySelectItem, c as AssociationEntitySelectProps, L as AssociationList, d as AssociationListProps, M as AssociationWindow, f as AssociationWindowProps, N as AssociationWriteResult, O as AttachedItemsSheet, g as AttachedItemsSheetProps, Q as CaptureAttach, R as CaptureAttachResult, S as CaptureToolbarAction, T as CategorySelect, C as CategorySelectProps, V as CategoryTagPicker, h as CategoryTagPickerProps, X as CommentComposer, Y as CommentComposerProps, Z as CommentThread, i as CommentThreadProps, _ as ContainerLink, $ as ContainerResourceRow, a0 as ContainerResourcesAdapter, a1 as DefaultEntityIcon, a2 as PostedComment, a3 as PrimaryContainerEntity, a4 as PrimaryEntity, a5 as PrimaryEntityProvider, a6 as PrimaryFiledEntity, a7 as TagPickerIcon, a8 as UniversalAssociationPicker, U as UniversalAssociationPickerProps, a9 as UseAssociationEntitySelectAdapterArgs, aa as UseAssociationsArgs, ab as UseAssociationsReturn, ac as UseContainerLinksArgs, ad as UseContainerLinksReturn, ae as attachedKey, af as buildCommentTree, ag as containerLinksArgs, ah as linkDirection, ai as useAssociationEntitySelectAdapter, aj as useAssociations, ak as useContainerLinks, al as useContainerLinksAdapter, am as useEntityRelationships, an as usePrimaryEntity } from '../CommentThread-CtDHOFCs.js';
3
+ import { j as AssociationsNotifier, W as WindowShellPort, k as CapturePort, P as PickerOverrideMap, E as EntityDoorsPort, l as AuthorDisplayPort, m as AssociationsStore, n as CategoryMutationResult, o as CategoryDimension, p as PlatformCategory, q as CategoriesEntry, r as EntityTypeToken, s as UniversalCandidate, t as CandidateRecord, u as PlatformComment, v as CommentsEntry, w as CommentAnchor, x as CommentMutationResult, e as AssociationPickerProps, y as EntityDoorProps, z as EntityRefProps, B as ContentRole } from '../CommentThread-CoiRjH11.js';
4
+ export { D as AssociationCaptureToolbar, A as AssociationCaptureToolbarProps, F as AssociationCard, G as AssociationCardGrid, b as AssociationCardGridProps, H as AssociationCardLook, a as AssociationCardProps, I as AssociationEntitySelect, J as AssociationEntitySelectAdapter, K as AssociationEntitySelectItem, c as AssociationEntitySelectProps, L as AssociationList, d as AssociationListProps, M as AssociationWindow, f as AssociationWindowProps, N as AssociationWriteResult, O as AttachedItemsSheet, g as AttachedItemsSheetProps, Q as CaptureAttach, R as CaptureAttachResult, S as CaptureToolbarAction, T as CategorySelect, C as CategorySelectProps, V as CategoryTagPicker, h as CategoryTagPickerProps, X as CommentComposer, Y as CommentComposerProps, Z as CommentThread, i as CommentThreadProps, _ as ContainerLink, $ as ContainerResourceRow, a0 as ContainerResourcesAdapter, a1 as DefaultEntityIcon, a2 as PostedComment, a3 as PrimaryContainerEntity, a4 as PrimaryEntity, a5 as PrimaryEntityProvider, a6 as PrimaryFiledEntity, a7 as TagPickerIcon, a8 as UniversalAssociationPicker, U as UniversalAssociationPickerProps, a9 as UseAssociationEntitySelectAdapterArgs, aa as UseAssociationsArgs, ab as UseAssociationsReturn, ac as UseContainerLinksArgs, ad as UseContainerLinksReturn, ae as attachedKey, af as buildCommentTree, ag as containerLinksArgs, ah as linkDirection, ai as useAssociationEntitySelectAdapter, aj as useAssociations, ak as useContainerLinks, al as useContainerLinksAdapter, am as useEntityRelationships, an as usePrimaryEntity } from '../CommentThread-CoiRjH11.js';
5
5
  import '@ai-matrx/data/db';
6
6
  import '@ai-matrx/design-system/icons';
7
7
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/react-lazy/index.tsx"],"sourcesContent":["// @ai-matrx/associations/react/lazy — the PACKAGE-OWNED split entry.\n//\n// THE PROBLEM this closes (C23 § framework differences): `/react` is one\n// chunk. A surface that statically imports a single card pulls the whole\n// faces bundle — every picker, the comment thread, the window shell — into\n// whatever route bundle it lands in. Hosts were solving that themselves,\n// each with its own hand-written `next/dynamic({ ssr: false })` glue per\n// component. The split is a package concern, so the package ships it.\n//\n// Every export here is the SAME component under the same props, behind a\n// real lazy edge: the body arrives only when the component first renders.\n//\n// import { AssociationCardGrid } from \"@ai-matrx/associations/react/lazy\";\n//\n// MECHANISM: the loader dynamic-imports this package's OWN `/react` subpath\n// by name. That specifier stays external in our build, so the CONSUMER's\n// bundler (Next/webpack, Vite/rollup) resolves it and emits the real chunk —\n// exactly what a host's `next/dynamic` was doing, minus the host code and\n// minus the `next` dependency. No framework import is involved, so Next,\n// Vite, the Tauri shell and Jest all behave identically.\n//\n// SSR: these faces are `\"use client\"` and are all opened by a user gesture,\n// so the loader fires client-side and no server render ever reaches them —\n// the reason hosts wrote `ssr: false` disappears rather than being ported.\n//\n// Not lazy, deliberately: `AssociationsProvider`, the hooks, and the\n// registry/`contentRoles` helpers. Those are boot-time and light; a lazy\n// provider would suspend the whole tree.\n\nimport { Suspense, lazy, type ComponentType, type ReactNode } from \"react\";\n\nimport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n} from \"../react/index\";\nimport type { AssociationPickerProps } from \"../ports\";\n\n/** The one dynamic edge — every face rides it, so there is one chunk. */\nconst faces = () => import(\"@ai-matrx/associations/react\");\n\nfunction split<P extends object>(\n pick: (m: Awaited<ReturnType<typeof faces>>) => ComponentType<P>,\n fallback?: ReactNode,\n): ComponentType<P> {\n const Loaded = lazy(async () => ({ default: pick(await faces()) }));\n return function LazyFace(props: P) {\n return (\n <Suspense fallback={fallback ?? null}>\n <Loaded {...props} />\n </Suspense>\n );\n };\n}\n\nexport const AssociationWindow = split<AssociationWindowProps>(\n (m) => m.AssociationWindow,\n);\nexport const AssociationPicker = split<AssociationPickerProps>(\n (m) => m.AssociationPicker,\n);\nexport const UniversalAssociationPicker =\n split<UniversalAssociationPickerProps>((m) => m.UniversalAssociationPicker);\nexport const AttachedItemsSheet = split<AttachedItemsSheetProps>(\n (m) => m.AttachedItemsSheet,\n);\nexport const AssociationCard = split<AssociationCardProps>(\n (m) => m.AssociationCard,\n);\nexport const AssociationCardGrid = split<AssociationCardGridProps>(\n (m) => m.AssociationCardGrid,\n);\nexport const AssociationList = split<AssociationListProps>(\n (m) => m.AssociationList,\n);\nexport const AssociationCaptureToolbar = split<AssociationCaptureToolbarProps>(\n (m) => m.AssociationCaptureToolbar,\n);\nexport const AssociationEntitySelect = split<AssociationEntitySelectProps>(\n (m) => m.AssociationEntitySelect,\n);\nexport const CategorySelect = split<CategorySelectProps>(\n (m) => m.CategorySelect,\n);\nexport const CategoryTagPicker = split<CategoryTagPickerProps>(\n (m) => m.CategoryTagPicker,\n);\nexport const CommentThread = split<CommentThreadProps>((m) => m.CommentThread);\n\nexport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationPickerProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BA,mBAAmE;AA4B3D;AAVR,IAAM,QAAQ,MAAM,OAAO,8BAA8B;AAEzD,SAAS,MACP,MACA,UACkB;AAClB,QAAM,aAAS,mBAAK,aAAa,EAAE,SAAS,KAAK,MAAM,MAAM,CAAC,EAAE,EAAE;AAClE,SAAO,SAAS,SAAS,OAAU;AACjC,WACE,4CAAC,yBAAS,UAAU,YAAY,MAC9B,sDAAC,UAAQ,GAAG,OAAO,GACrB;AAAA,EAEJ;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,6BACX,MAAuC,CAAC,MAAM,EAAE,0BAA0B;AACrE,IAAM,qBAAqB;AAAA,EAChC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,sBAAsB;AAAA,EACjC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,4BAA4B;AAAA,EACvC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,0BAA0B;AAAA,EACrC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,iBAAiB;AAAA,EAC5B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,gBAAgB,MAA0B,CAAC,MAAM,EAAE,aAAa;","names":[]}
1
+ {"version":3,"sources":["../../../src/react-lazy/index.tsx"],"sourcesContent":["\"use client\";\n\n// @ai-matrx/associations/react/lazy — the PACKAGE-OWNED split entry.\n//\n// THE PROBLEM this closes (C23 § framework differences): `/react` is one\n// chunk. A surface that statically imports a single card pulls the whole\n// faces bundle — every picker, the comment thread, the window shell — into\n// whatever route bundle it lands in. Hosts were solving that themselves,\n// each with its own hand-written `next/dynamic({ ssr: false })` glue per\n// component. The split is a package concern, so the package ships it.\n//\n// Every export here is the SAME component under the same props, behind a\n// real lazy edge: the body arrives only when the component first renders.\n//\n// import { AssociationCardGrid } from \"@ai-matrx/associations/react/lazy\";\n//\n// MECHANISM: the loader dynamic-imports this package's OWN `/react` subpath\n// by name. That specifier stays external in our build, so the CONSUMER's\n// bundler (Next/webpack, Vite/rollup) resolves it and emits the real chunk —\n// exactly what a host's `next/dynamic` was doing, minus the host code and\n// minus the `next` dependency. No framework import is involved, so Next,\n// Vite, the Tauri shell and Jest all behave identically.\n//\n// SSR: these faces are `\"use client\"` and are all opened by a user gesture,\n// so the loader fires client-side and no server render ever reaches them —\n// the reason hosts wrote `ssr: false` disappears rather than being ported.\n//\n// Not lazy, deliberately: `AssociationsProvider`, the hooks, and the\n// registry/`contentRoles` helpers. Those are boot-time and light; a lazy\n// provider would suspend the whole tree.\n\nimport { Suspense, lazy, type ComponentType, type ReactNode } from \"react\";\n\nimport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n} from \"../react/index\";\nimport type { AssociationPickerProps } from \"../ports\";\n\n/** The one dynamic edge — every face rides it, so there is one chunk. */\nconst faces = () => import(\"@ai-matrx/associations/react\");\n\nfunction split<P extends object>(\n pick: (m: Awaited<ReturnType<typeof faces>>) => ComponentType<P>,\n fallback?: ReactNode,\n): ComponentType<P> {\n const Loaded = lazy(async () => ({ default: pick(await faces()) }));\n return function LazyFace(props: P) {\n return (\n <Suspense fallback={fallback ?? null}>\n <Loaded {...props} />\n </Suspense>\n );\n };\n}\n\nexport const AssociationWindow = split<AssociationWindowProps>(\n (m) => m.AssociationWindow,\n);\nexport const AssociationPicker = split<AssociationPickerProps>(\n (m) => m.AssociationPicker,\n);\nexport const UniversalAssociationPicker =\n split<UniversalAssociationPickerProps>((m) => m.UniversalAssociationPicker);\nexport const AttachedItemsSheet = split<AttachedItemsSheetProps>(\n (m) => m.AttachedItemsSheet,\n);\nexport const AssociationCard = split<AssociationCardProps>(\n (m) => m.AssociationCard,\n);\nexport const AssociationCardGrid = split<AssociationCardGridProps>(\n (m) => m.AssociationCardGrid,\n);\nexport const AssociationList = split<AssociationListProps>(\n (m) => m.AssociationList,\n);\nexport const AssociationCaptureToolbar = split<AssociationCaptureToolbarProps>(\n (m) => m.AssociationCaptureToolbar,\n);\nexport const AssociationEntitySelect = split<AssociationEntitySelectProps>(\n (m) => m.AssociationEntitySelect,\n);\nexport const CategorySelect = split<CategorySelectProps>(\n (m) => m.CategorySelect,\n);\nexport const CategoryTagPicker = split<CategoryTagPickerProps>(\n (m) => m.CategoryTagPicker,\n);\nexport const CommentThread = split<CommentThreadProps>((m) => m.CommentThread);\n\nexport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationPickerProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA,mBAAmE;AA4B3D;AAVR,IAAM,QAAQ,MAAM,OAAO,8BAA8B;AAEzD,SAAS,MACP,MACA,UACkB;AAClB,QAAM,aAAS,mBAAK,aAAa,EAAE,SAAS,KAAK,MAAM,MAAM,CAAC,EAAE,EAAE;AAClE,SAAO,SAAS,SAAS,OAAU;AACjC,WACE,4CAAC,yBAAS,UAAU,YAAY,MAC9B,sDAAC,UAAQ,GAAG,OAAO,GACrB;AAAA,EAEJ;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,6BACX,MAAuC,CAAC,MAAM,EAAE,0BAA0B;AACrE,IAAM,qBAAqB;AAAA,EAChC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,sBAAsB;AAAA,EACjC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,4BAA4B;AAAA,EACvC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,0BAA0B;AAAA,EACrC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,iBAAiB;AAAA,EAC5B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,gBAAgB,MAA0B,CAAC,MAAM,EAAE,aAAa;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { ComponentType } from 'react';
2
- import { A as AssociationCaptureToolbarProps, a as AssociationCardProps, b as AssociationCardGridProps, c as AssociationEntitySelectProps, d as AssociationListProps, e as AssociationPickerProps, f as AssociationWindowProps, g as AttachedItemsSheetProps, C as CategorySelectProps, h as CategoryTagPickerProps, i as CommentThreadProps, U as UniversalAssociationPickerProps } from '../../CommentThread-CtDHOFCs.cjs';
2
+ import { A as AssociationCaptureToolbarProps, a as AssociationCardProps, b as AssociationCardGridProps, c as AssociationEntitySelectProps, d as AssociationListProps, e as AssociationPickerProps, f as AssociationWindowProps, g as AttachedItemsSheetProps, C as CategorySelectProps, h as CategoryTagPickerProps, i as CommentThreadProps, U as UniversalAssociationPickerProps } from '../../CommentThread-CoiRjH11.cjs';
3
3
  import '@ai-matrx/data/db';
4
4
  import '@ai-matrx/design-system/icons';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { ComponentType } from 'react';
2
- import { A as AssociationCaptureToolbarProps, a as AssociationCardProps, b as AssociationCardGridProps, c as AssociationEntitySelectProps, d as AssociationListProps, e as AssociationPickerProps, f as AssociationWindowProps, g as AttachedItemsSheetProps, C as CategorySelectProps, h as CategoryTagPickerProps, i as CommentThreadProps, U as UniversalAssociationPickerProps } from '../../CommentThread-CtDHOFCs.js';
2
+ import { A as AssociationCaptureToolbarProps, a as AssociationCardProps, b as AssociationCardGridProps, c as AssociationEntitySelectProps, d as AssociationListProps, e as AssociationPickerProps, f as AssociationWindowProps, g as AttachedItemsSheetProps, C as CategorySelectProps, h as CategoryTagPickerProps, i as CommentThreadProps, U as UniversalAssociationPickerProps } from '../../CommentThread-CoiRjH11.js';
3
3
  import '@ai-matrx/data/db';
4
4
  import '@ai-matrx/design-system/icons';
5
5
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/react-lazy/index.tsx"],"sourcesContent":["// @ai-matrx/associations/react/lazy — the PACKAGE-OWNED split entry.\n//\n// THE PROBLEM this closes (C23 § framework differences): `/react` is one\n// chunk. A surface that statically imports a single card pulls the whole\n// faces bundle — every picker, the comment thread, the window shell — into\n// whatever route bundle it lands in. Hosts were solving that themselves,\n// each with its own hand-written `next/dynamic({ ssr: false })` glue per\n// component. The split is a package concern, so the package ships it.\n//\n// Every export here is the SAME component under the same props, behind a\n// real lazy edge: the body arrives only when the component first renders.\n//\n// import { AssociationCardGrid } from \"@ai-matrx/associations/react/lazy\";\n//\n// MECHANISM: the loader dynamic-imports this package's OWN `/react` subpath\n// by name. That specifier stays external in our build, so the CONSUMER's\n// bundler (Next/webpack, Vite/rollup) resolves it and emits the real chunk —\n// exactly what a host's `next/dynamic` was doing, minus the host code and\n// minus the `next` dependency. No framework import is involved, so Next,\n// Vite, the Tauri shell and Jest all behave identically.\n//\n// SSR: these faces are `\"use client\"` and are all opened by a user gesture,\n// so the loader fires client-side and no server render ever reaches them —\n// the reason hosts wrote `ssr: false` disappears rather than being ported.\n//\n// Not lazy, deliberately: `AssociationsProvider`, the hooks, and the\n// registry/`contentRoles` helpers. Those are boot-time and light; a lazy\n// provider would suspend the whole tree.\n\nimport { Suspense, lazy, type ComponentType, type ReactNode } from \"react\";\n\nimport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n} from \"../react/index\";\nimport type { AssociationPickerProps } from \"../ports\";\n\n/** The one dynamic edge — every face rides it, so there is one chunk. */\nconst faces = () => import(\"@ai-matrx/associations/react\");\n\nfunction split<P extends object>(\n pick: (m: Awaited<ReturnType<typeof faces>>) => ComponentType<P>,\n fallback?: ReactNode,\n): ComponentType<P> {\n const Loaded = lazy(async () => ({ default: pick(await faces()) }));\n return function LazyFace(props: P) {\n return (\n <Suspense fallback={fallback ?? null}>\n <Loaded {...props} />\n </Suspense>\n );\n };\n}\n\nexport const AssociationWindow = split<AssociationWindowProps>(\n (m) => m.AssociationWindow,\n);\nexport const AssociationPicker = split<AssociationPickerProps>(\n (m) => m.AssociationPicker,\n);\nexport const UniversalAssociationPicker =\n split<UniversalAssociationPickerProps>((m) => m.UniversalAssociationPicker);\nexport const AttachedItemsSheet = split<AttachedItemsSheetProps>(\n (m) => m.AttachedItemsSheet,\n);\nexport const AssociationCard = split<AssociationCardProps>(\n (m) => m.AssociationCard,\n);\nexport const AssociationCardGrid = split<AssociationCardGridProps>(\n (m) => m.AssociationCardGrid,\n);\nexport const AssociationList = split<AssociationListProps>(\n (m) => m.AssociationList,\n);\nexport const AssociationCaptureToolbar = split<AssociationCaptureToolbarProps>(\n (m) => m.AssociationCaptureToolbar,\n);\nexport const AssociationEntitySelect = split<AssociationEntitySelectProps>(\n (m) => m.AssociationEntitySelect,\n);\nexport const CategorySelect = split<CategorySelectProps>(\n (m) => m.CategorySelect,\n);\nexport const CategoryTagPicker = split<CategoryTagPickerProps>(\n (m) => m.CategoryTagPicker,\n);\nexport const CommentThread = split<CommentThreadProps>((m) => m.CommentThread);\n\nexport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationPickerProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n};\n"],"mappings":";;;AA6BA,SAAS,UAAU,YAAgD;AA4B3D;AAVR,IAAM,QAAQ,MAAM,OAAO,8BAA8B;AAEzD,SAAS,MACP,MACA,UACkB;AAClB,QAAM,SAAS,KAAK,aAAa,EAAE,SAAS,KAAK,MAAM,MAAM,CAAC,EAAE,EAAE;AAClE,SAAO,SAAS,SAAS,OAAU;AACjC,WACE,oBAAC,YAAS,UAAU,YAAY,MAC9B,8BAAC,UAAQ,GAAG,OAAO,GACrB;AAAA,EAEJ;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,6BACX,MAAuC,CAAC,MAAM,EAAE,0BAA0B;AACrE,IAAM,qBAAqB;AAAA,EAChC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,sBAAsB;AAAA,EACjC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,4BAA4B;AAAA,EACvC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,0BAA0B;AAAA,EACrC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,iBAAiB;AAAA,EAC5B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,gBAAgB,MAA0B,CAAC,MAAM,EAAE,aAAa;","names":[]}
1
+ {"version":3,"sources":["../../../src/react-lazy/index.tsx"],"sourcesContent":["\"use client\";\n\n// @ai-matrx/associations/react/lazy — the PACKAGE-OWNED split entry.\n//\n// THE PROBLEM this closes (C23 § framework differences): `/react` is one\n// chunk. A surface that statically imports a single card pulls the whole\n// faces bundle — every picker, the comment thread, the window shell — into\n// whatever route bundle it lands in. Hosts were solving that themselves,\n// each with its own hand-written `next/dynamic({ ssr: false })` glue per\n// component. The split is a package concern, so the package ships it.\n//\n// Every export here is the SAME component under the same props, behind a\n// real lazy edge: the body arrives only when the component first renders.\n//\n// import { AssociationCardGrid } from \"@ai-matrx/associations/react/lazy\";\n//\n// MECHANISM: the loader dynamic-imports this package's OWN `/react` subpath\n// by name. That specifier stays external in our build, so the CONSUMER's\n// bundler (Next/webpack, Vite/rollup) resolves it and emits the real chunk —\n// exactly what a host's `next/dynamic` was doing, minus the host code and\n// minus the `next` dependency. No framework import is involved, so Next,\n// Vite, the Tauri shell and Jest all behave identically.\n//\n// SSR: these faces are `\"use client\"` and are all opened by a user gesture,\n// so the loader fires client-side and no server render ever reaches them —\n// the reason hosts wrote `ssr: false` disappears rather than being ported.\n//\n// Not lazy, deliberately: `AssociationsProvider`, the hooks, and the\n// registry/`contentRoles` helpers. Those are boot-time and light; a lazy\n// provider would suspend the whole tree.\n\nimport { Suspense, lazy, type ComponentType, type ReactNode } from \"react\";\n\nimport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n} from \"../react/index\";\nimport type { AssociationPickerProps } from \"../ports\";\n\n/** The one dynamic edge — every face rides it, so there is one chunk. */\nconst faces = () => import(\"@ai-matrx/associations/react\");\n\nfunction split<P extends object>(\n pick: (m: Awaited<ReturnType<typeof faces>>) => ComponentType<P>,\n fallback?: ReactNode,\n): ComponentType<P> {\n const Loaded = lazy(async () => ({ default: pick(await faces()) }));\n return function LazyFace(props: P) {\n return (\n <Suspense fallback={fallback ?? null}>\n <Loaded {...props} />\n </Suspense>\n );\n };\n}\n\nexport const AssociationWindow = split<AssociationWindowProps>(\n (m) => m.AssociationWindow,\n);\nexport const AssociationPicker = split<AssociationPickerProps>(\n (m) => m.AssociationPicker,\n);\nexport const UniversalAssociationPicker =\n split<UniversalAssociationPickerProps>((m) => m.UniversalAssociationPicker);\nexport const AttachedItemsSheet = split<AttachedItemsSheetProps>(\n (m) => m.AttachedItemsSheet,\n);\nexport const AssociationCard = split<AssociationCardProps>(\n (m) => m.AssociationCard,\n);\nexport const AssociationCardGrid = split<AssociationCardGridProps>(\n (m) => m.AssociationCardGrid,\n);\nexport const AssociationList = split<AssociationListProps>(\n (m) => m.AssociationList,\n);\nexport const AssociationCaptureToolbar = split<AssociationCaptureToolbarProps>(\n (m) => m.AssociationCaptureToolbar,\n);\nexport const AssociationEntitySelect = split<AssociationEntitySelectProps>(\n (m) => m.AssociationEntitySelect,\n);\nexport const CategorySelect = split<CategorySelectProps>(\n (m) => m.CategorySelect,\n);\nexport const CategoryTagPicker = split<CategoryTagPickerProps>(\n (m) => m.CategoryTagPicker,\n);\nexport const CommentThread = split<CommentThreadProps>((m) => m.CommentThread);\n\nexport type {\n AssociationCardGridProps,\n AssociationCardProps,\n AssociationListProps,\n AssociationCaptureToolbarProps,\n AssociationEntitySelectProps,\n AssociationPickerProps,\n AssociationWindowProps,\n AttachedItemsSheetProps,\n CategorySelectProps,\n CategoryTagPickerProps,\n CommentThreadProps,\n UniversalAssociationPickerProps,\n};\n"],"mappings":";;;AA+BA,SAAS,UAAU,YAAgD;AA4B3D;AAVR,IAAM,QAAQ,MAAM,OAAO,8BAA8B;AAEzD,SAAS,MACP,MACA,UACkB;AAClB,QAAM,SAAS,KAAK,aAAa,EAAE,SAAS,KAAK,MAAM,MAAM,CAAC,EAAE,EAAE;AAClE,SAAO,SAAS,SAAS,OAAU;AACjC,WACE,oBAAC,YAAS,UAAU,YAAY,MAC9B,8BAAC,UAAQ,GAAG,OAAO,GACrB;AAAA,EAEJ;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,6BACX,MAAuC,CAAC,MAAM,EAAE,0BAA0B;AACrE,IAAM,qBAAqB;AAAA,EAChC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,sBAAsB;AAAA,EACjC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,kBAAkB;AAAA,EAC7B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,4BAA4B;AAAA,EACvC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,0BAA0B;AAAA,EACrC,CAAC,MAAM,EAAE;AACX;AACO,IAAM,iBAAiB;AAAA,EAC5B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,oBAAoB;AAAA,EAC/B,CAAC,MAAM,EAAE;AACX;AACO,IAAM,gBAAgB,MAA0B,CAAC,MAAM,EAAE,aAAa;","names":[]}
@@ -1,4 +1,4 @@
1
- import { ElementType, ComponentType, ReactNode } from 'react';
1
+ import { ComponentType, ReactNode } from 'react';
2
2
  import { SupabaseLike } from '@ai-matrx/data/db';
3
3
 
4
4
  declare const ASSOCIATION_TARGET_TYPES: readonly ["organization", "scope", "tag", "scope_type", "project", "task", "context_item", "thread", "war_room", "category", "conversation", "fc_set", "fc_card", "study_media", "assessment", "note", "file", "processed_document", "quiz_session", "agent", "agent_term_list", "research_tag", "skill", "surface", "plan_entity", "plan_node", "web_site", "seo_topic", "seo_keyword", "web_page", "web_screenshot", "party", "crm_outreach_list", "crm_deal", "rulebook", "research_topic", "media_source_library", "membership", "team", "position", "board", "web_brand"];
@@ -20623,7 +20623,10 @@ type ErrorSink = (event: {
20623
20623
  */
20624
20624
  interface EntityOverlayEntry {
20625
20625
  /** Icon component (host-supplied; packages never depend on an icon library). */
20626
- Icon?: ElementType;
20626
+ /** A component, never a bare ElementType: the app compiling this source may carry global JSX elements (react-three-fiber) that make a bare ElementType's props `never` (2026-10-22). */
20627
+ Icon?: ComponentType<{
20628
+ className?: string;
20629
+ }>;
20627
20630
  /** Plural label; default `${label}s`. */
20628
20631
  labelPlural?: string;
20629
20632
  /** Owner column override; default the "created_by" convention. */
@@ -1,4 +1,4 @@
1
- import { ElementType, ComponentType, ReactNode } from 'react';
1
+ import { ComponentType, ReactNode } from 'react';
2
2
  import { SupabaseLike } from '@ai-matrx/data/db';
3
3
 
4
4
  declare const ASSOCIATION_TARGET_TYPES: readonly ["organization", "scope", "tag", "scope_type", "project", "task", "context_item", "thread", "war_room", "category", "conversation", "fc_set", "fc_card", "study_media", "assessment", "note", "file", "processed_document", "quiz_session", "agent", "agent_term_list", "research_tag", "skill", "surface", "plan_entity", "plan_node", "web_site", "seo_topic", "seo_keyword", "web_page", "web_screenshot", "party", "crm_outreach_list", "crm_deal", "rulebook", "research_topic", "media_source_library", "membership", "team", "position", "board", "web_brand"];
@@ -20623,7 +20623,10 @@ type ErrorSink = (event: {
20623
20623
  */
20624
20624
  interface EntityOverlayEntry {
20625
20625
  /** Icon component (host-supplied; packages never depend on an icon library). */
20626
- Icon?: ElementType;
20626
+ /** A component, never a bare ElementType: the app compiling this source may carry global JSX elements (react-three-fiber) that make a bare ElementType's props `never` (2026-10-22). */
20627
+ Icon?: ComponentType<{
20628
+ className?: string;
20629
+ }>;
20627
20630
  /** Plural label; default `${label}s`. */
20628
20631
  labelPlural?: string;
20629
20632
  /** Owner column override; default the "created_by" convention. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-matrx/associations",
3
- "version": "0.14.92",
3
+ "version": "0.14.94",
4
4
  "description": "THE one way to relate two entities on the AI Matrx platform: the association edge vocabulary, the generated 650-token entity-type registry, the demanded RPC contract (assoc_/cat_/ues_ families), and the typed ports the headless core and React faces bind through. This package DEMANDS the platform.associations schema — a consumer who won't run our schema is not this package's consumer.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -89,8 +89,8 @@
89
89
  "dependencies": {
90
90
  "@ai-matrx/data": "latest",
91
91
  "@ai-matrx/design-system": "latest",
92
- "@ai-matrx/api": "latest",
93
- "@ai-matrx/kit": "latest"
92
+ "@ai-matrx/kit": "latest",
93
+ "@ai-matrx/api": "latest"
94
94
  },
95
95
  "devDependencies": {
96
96
  "@arethetypeswrong/cli": "^0.18.5",
@@ -133,7 +133,7 @@
133
133
  "layer": 3
134
134
  },
135
135
  "scripts": {
136
- "build": "pnpm clean && tsup && node ./scripts/stamp-client-boundary.mjs && node ../scripts/check-ships-once.mjs && node ../scripts/check-node-env-not-inlined.mjs",
136
+ "build": "pnpm clean && tsup && node ./scripts/stamp-client-boundary.mjs && node ../scripts/check-ships-once.mjs && node ../scripts/check-reexport-order.mjs . && node ../scripts/guard-exit.mjs ../scripts/check-node-env-not-inlined.mjs",
137
137
  "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
138
138
  "check:package": "pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball && node ../scripts/check-tarball-relative-imports.mjs --self-test && node ../scripts/check-tarball-relative-imports.mjs --pack . && node ../scripts/check-package-rules.mjs --self-test && node ../scripts/check-package-rules.mjs .",
139
139
  "typecheck": "tsc -p tsconfig.json --noEmit",
@@ -145,5 +145,5 @@
145
145
  "gen:demanded-rpcs": "tsx scripts/extract-demanded-rpcs.ts",
146
146
  "db:generate": "matrx-data generate --out src/db --schemas public --only agent_resource_add,agent_resource_remove,assoc_add,assoc_for_entity,assoc_for_sources,assoc_for_targets,assoc_members_visible,assoc_remove,assoc_remove_for_entity,assoc_set_targets,cat_create,cat_delete,cat_list,cat_reparent,cat_update,cmt_add,cmt_delete,cmt_edit,cmt_list,conversation_file_add,conversation_file_remove,conversation_files,entity_row_create,entity_row_rename,reference_search_candidates,ues_get_bulk,ues_list,ues_set,ues_touch"
147
147
  },
148
- "gitHead": "9824915dfd4d50a1aa23cea7735b548ff5996cdb"
148
+ "gitHead": "0a2b8c9356bcba5cf0338a6c2c63b1c6058374ef"
149
149
  }