@ai-matrx/associations 0.11.0 → 0.11.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog — @ai-matrx/associations
2
2
 
3
+ ## 0.11.1
4
+
5
+ Filed-under grid shows where things are actually filed:
6
+
7
+ * `research_topic` and `media_source_library` join `ASSOCIATION_TARGET_TYPES` — the containers
8
+ Sources are filed under (the landing door writes `processed_document → research_topic` and
9
+ `→ media_source_library`).
10
+ * In `direction: "outgoing"` the grid adds a card for every container the primary has an edge to
11
+ (not only the curated set) and draws containers with no content role (Libraries, topics, sites)
12
+ in a "Filed under" section — they were silently dropped, so every card read "0 filed under".
13
+ * `useContainerLinks` returns `presentTokens` (every token with at least one link).
14
+
3
15
  ## 0.11.0
4
16
 
5
17
  **Filed-under mode** — `direction: "outgoing"` on the primary entity. A thing that is filed under
@@ -681,7 +681,7 @@ interface AssociationsConfig {
681
681
  authorDisplay?: AuthorDisplayPort;
682
682
  }
683
683
 
684
- declare const ASSOCIATION_TARGET_TYPES: readonly ["organization", "scope", "scope_type", "project", "task", "context_item", "thread", "war_room", "category", "conversation", "fc_set", "fc_card", "study_media", "assessment", "note", "file", "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"];
684
+ declare const ASSOCIATION_TARGET_TYPES: readonly ["organization", "scope", "scope_type", "project", "task", "context_item", "thread", "war_room", "category", "conversation", "fc_set", "fc_card", "study_media", "assessment", "note", "file", "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"];
685
685
  type AssociationTargetType = (typeof ASSOCIATION_TARGET_TYPES)[number];
686
686
  interface AssociationEdge {
687
687
  id: string;
@@ -1525,6 +1525,8 @@ interface UseContainerLinksReturn {
1525
1525
  attachedIdsFor: (token: EntityTypeToken) => Set<string>;
1526
1526
  /** Full link rows of `token` (for listing/removal). */
1527
1527
  linksFor: (token: EntityTypeToken) => ContainerLink[];
1528
+ /** Every token that has at least one link, in first-seen order. */
1529
+ presentTokens: string[];
1528
1530
  /** Attach a resource (source) to this container (target). */
1529
1531
  attach: (token: EntityTypeToken, resourceId: string, label?: string, metadata?: unknown, options?: {
1530
1532
  replaceMetadata?: boolean;
@@ -681,7 +681,7 @@ interface AssociationsConfig {
681
681
  authorDisplay?: AuthorDisplayPort;
682
682
  }
683
683
 
684
- declare const ASSOCIATION_TARGET_TYPES: readonly ["organization", "scope", "scope_type", "project", "task", "context_item", "thread", "war_room", "category", "conversation", "fc_set", "fc_card", "study_media", "assessment", "note", "file", "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"];
684
+ declare const ASSOCIATION_TARGET_TYPES: readonly ["organization", "scope", "scope_type", "project", "task", "context_item", "thread", "war_room", "category", "conversation", "fc_set", "fc_card", "study_media", "assessment", "note", "file", "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"];
685
685
  type AssociationTargetType = (typeof ASSOCIATION_TARGET_TYPES)[number];
686
686
  interface AssociationEdge {
687
687
  id: string;
@@ -1525,6 +1525,8 @@ interface UseContainerLinksReturn {
1525
1525
  attachedIdsFor: (token: EntityTypeToken) => Set<string>;
1526
1526
  /** Full link rows of `token` (for listing/removal). */
1527
1527
  linksFor: (token: EntityTypeToken) => ContainerLink[];
1528
+ /** Every token that has at least one link, in first-seen order. */
1529
+ presentTokens: string[];
1528
1530
  /** Attach a resource (source) to this container (target). */
1529
1531
  attach: (token: EntityTypeToken, resourceId: string, label?: string, metadata?: unknown, options?: {
1530
1532
  replaceMetadata?: boolean;
package/dist/index.cjs CHANGED
@@ -2138,8 +2138,12 @@ var ASSOCIATION_TARGET_TYPES = [
2138
2138
  // a CRM outreach list (a worked send/dial queue) — parties and resources attach into it
2139
2139
  "crm_deal",
2140
2140
  // a CRM deal (crm.deal) — people on it (role 'deal_contact'), tasks/files attach onto it
2141
- "rulebook"
2141
+ "rulebook",
2142
2142
  // a Masterwork Rulebook — its Scout interviews attach here (conversation→rulebook, role 'interview')
2143
+ "research_topic",
2144
+ // a research topic — Sources are filed under it (processed_document→research_topic, the landing door's edge)
2145
+ "media_source_library"
2146
+ // a media-catalog Library — Sources are catalogued into it (processed_document→media_source_library)
2143
2147
  ];
2144
2148
  function isAssociationTargetType(value) {
2145
2149
  return typeof value === "string" && ASSOCIATION_TARGET_TYPES.includes(value);