@indexnetwork/protocol 14.3.2-rc.477.1 → 16.1.1-rc.478.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.
Files changed (140) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/IMPLEMENTATION.md +50 -52
  3. package/STABILITY.md +3 -3
  4. package/dist/chat/chat.agent.js +2 -2
  5. package/dist/chat/chat.graph.d.ts +41 -1
  6. package/dist/chat/chat.graph.js +108 -127
  7. package/dist/discovery/hyde.frame.d.ts +4 -4
  8. package/dist/discovery/hyde.graph.d.ts +71 -12
  9. package/dist/discovery/hyde.graph.js +337 -335
  10. package/dist/discovery/lens.inferrer.d.ts +6 -6
  11. package/dist/enrichment/enrichment.graph.d.ts +127 -9
  12. package/dist/enrichment/enrichment.graph.js +633 -655
  13. package/dist/enrichment/enrichment.state.d.ts +1 -1
  14. package/dist/enrichment/enrichment.tools.context-read.d.ts +10 -0
  15. package/dist/enrichment/enrichment.tools.context-read.js +353 -0
  16. package/dist/enrichment/enrichment.tools.context-write.d.ts +9 -0
  17. package/dist/enrichment/enrichment.tools.context-write.js +417 -0
  18. package/dist/enrichment/enrichment.tools.d.ts +11 -1
  19. package/dist/enrichment/enrichment.tools.helpers.d.ts +139 -0
  20. package/dist/enrichment/enrichment.tools.helpers.js +234 -0
  21. package/dist/enrichment/enrichment.tools.js +16 -975
  22. package/dist/index.d.ts +27 -48
  23. package/dist/index.js +17 -27
  24. package/dist/intents/application/intent.graph.d.ts +71 -67
  25. package/dist/intents/application/intent.graph.execute.d.ts +59 -0
  26. package/dist/intents/application/intent.graph.execute.js +301 -0
  27. package/dist/intents/application/intent.graph.infer.d.ts +44 -0
  28. package/dist/intents/application/intent.graph.infer.js +97 -0
  29. package/dist/intents/application/intent.graph.js +96 -888
  30. package/dist/intents/application/intent.graph.reconcile.d.ts +71 -0
  31. package/dist/intents/application/intent.graph.reconcile.js +274 -0
  32. package/dist/intents/application/intent.graph.shared.d.ts +70 -0
  33. package/dist/intents/application/intent.graph.shared.js +153 -0
  34. package/dist/intents/domain/intent.state.d.ts +1 -1
  35. package/dist/maintenance/maintenance.graph.d.ts +66 -3
  36. package/dist/maintenance/maintenance.graph.js +155 -156
  37. package/dist/mcp/mcp.authorization-policy.d.ts +24 -28
  38. package/dist/mcp/mcp.authorization-policy.js +14 -34
  39. package/dist/mcp/mcp.server.d.ts +3 -3
  40. package/dist/mcp/mcp.server.js +12 -16
  41. package/dist/negotiations/application/negotiation.candidates.d.ts +83 -0
  42. package/dist/negotiations/application/negotiation.candidates.js +162 -0
  43. package/dist/negotiations/application/negotiation.graph.d.ts +91 -157
  44. package/dist/negotiations/application/negotiation.graph.finalize.d.ts +5 -0
  45. package/dist/negotiations/application/negotiation.graph.finalize.js +280 -0
  46. package/dist/negotiations/application/negotiation.graph.init.d.ts +54 -0
  47. package/dist/negotiations/application/negotiation.graph.init.js +227 -0
  48. package/dist/negotiations/application/negotiation.graph.js +69 -1388
  49. package/dist/negotiations/application/negotiation.graph.screen.d.ts +23 -0
  50. package/dist/negotiations/application/negotiation.graph.screen.js +108 -0
  51. package/dist/negotiations/application/negotiation.graph.shared.d.ts +75 -0
  52. package/dist/negotiations/application/negotiation.graph.shared.js +125 -0
  53. package/dist/negotiations/application/negotiation.graph.turn.d.ts +105 -0
  54. package/dist/negotiations/application/negotiation.graph.turn.js +484 -0
  55. package/dist/negotiations/domain/negotiation.state.d.ts +1 -1
  56. package/dist/negotiations/domain/negotiation.state.js +0 -1
  57. package/dist/networks/application/indexer.graph.d.ts +165 -7
  58. package/dist/networks/application/indexer.graph.js +339 -388
  59. package/dist/networks/application/indexer.state.d.ts +1 -1
  60. package/dist/networks/application/membership.graph.d.ts +83 -5
  61. package/dist/networks/application/membership.graph.js +177 -207
  62. package/dist/networks/application/network.graph.d.ts +148 -5
  63. package/dist/networks/application/network.graph.js +249 -278
  64. package/dist/networks/domain/membership.state.d.ts +1 -1
  65. package/dist/networks/domain/network.state.d.ts +1 -1
  66. package/dist/opportunities/application/delivery-card.cache.d.ts +1 -1
  67. package/dist/opportunities/application/delivery-card.cache.js +2 -2
  68. package/dist/opportunities/application/index.d.ts +2 -2
  69. package/dist/opportunities/application/index.js +2 -2
  70. package/dist/opportunities/application/opportunity.evaluator.js +1 -1
  71. package/dist/opportunities/application/opportunity.graph.d.ts +686 -473
  72. package/dist/opportunities/application/opportunity.graph.discovery-strategies.d.ts +109 -0
  73. package/dist/opportunities/application/opportunity.graph.discovery-strategies.js +451 -0
  74. package/dist/opportunities/application/opportunity.graph.discovery.d.ts +69 -0
  75. package/dist/opportunities/application/opportunity.graph.discovery.js +397 -0
  76. package/dist/opportunities/application/opportunity.graph.evaluation.d.ts +82 -0
  77. package/dist/opportunities/application/opportunity.graph.evaluation.js +608 -0
  78. package/dist/opportunities/application/opportunity.graph.js +120 -3690
  79. package/dist/opportunities/application/opportunity.graph.modes.d.ts +538 -0
  80. package/dist/opportunities/application/opportunity.graph.modes.js +538 -0
  81. package/dist/opportunities/application/opportunity.graph.negotiate.d.ts +109 -0
  82. package/dist/opportunities/application/opportunity.graph.negotiate.js +392 -0
  83. package/dist/opportunities/application/opportunity.graph.persist-node.d.ts +93 -0
  84. package/dist/opportunities/application/opportunity.graph.persist-node.js +765 -0
  85. package/dist/opportunities/application/opportunity.graph.prep.d.ts +150 -0
  86. package/dist/opportunities/application/opportunity.graph.prep.js +381 -0
  87. package/dist/opportunities/application/opportunity.graph.shared.d.ts +173 -0
  88. package/dist/opportunities/application/opportunity.graph.shared.js +199 -0
  89. package/dist/opportunities/application/opportunity.presentation.d.ts +399 -0
  90. package/dist/opportunities/application/{opportunity.presenter.js → opportunity.presentation.js} +735 -9
  91. package/dist/opportunities/application/opportunity.tools.cards.d.ts +152 -0
  92. package/dist/opportunities/application/opportunity.tools.cards.js +235 -0
  93. package/dist/opportunities/application/opportunity.tools.d.ts +8 -114
  94. package/dist/opportunities/application/opportunity.tools.js +28 -711
  95. package/dist/opportunities/application/opportunity.tools.list.d.ts +10 -0
  96. package/dist/opportunities/application/opportunity.tools.list.js +493 -0
  97. package/dist/opportunities/domain/index.d.ts +3 -3
  98. package/dist/opportunities/domain/index.js +3 -3
  99. package/dist/opportunities/domain/opportunity.state.d.ts +19 -19
  100. package/dist/opportunities/index.d.ts +6 -6
  101. package/dist/opportunities/index.js +4 -4
  102. package/dist/opportunities/ports/opportunity.tools.port.d.ts +1 -1
  103. package/dist/opportunities/radar/radar.graph.d.ts +57 -13
  104. package/dist/opportunities/radar/radar.graph.js +470 -471
  105. package/dist/premises/premise.graph.d.ts +88 -20
  106. package/dist/premises/premise.graph.js +207 -218
  107. package/dist/questions/domain/question.schema.d.ts +40 -40
  108. package/dist/shared/agent/tool.helpers.d.ts +21 -0
  109. package/dist/shared/agent/tool.registry.d.ts +4 -3
  110. package/dist/shared/agent/tool.registry.js +1 -1
  111. package/dist/shared/interfaces/database.capabilities.d.ts +100 -0
  112. package/dist/shared/interfaces/database.capabilities.js +7 -0
  113. package/dist/shared/interfaces/database.entities.d.ts +533 -0
  114. package/dist/shared/interfaces/database.entities.js +10 -0
  115. package/dist/shared/interfaces/database.identity-queries.d.ts +294 -0
  116. package/dist/shared/interfaces/database.identity-queries.js +4 -0
  117. package/dist/shared/interfaces/database.interface.d.ts +15 -2277
  118. package/dist/shared/interfaces/database.interface.js +8 -0
  119. package/dist/shared/interfaces/database.member-queries.d.ts +228 -0
  120. package/dist/shared/interfaces/database.member-queries.js +4 -0
  121. package/dist/shared/interfaces/database.negotiation.d.ts +305 -0
  122. package/dist/shared/interfaces/database.negotiation.js +26 -0
  123. package/dist/shared/interfaces/database.network-queries.d.ts +277 -0
  124. package/dist/shared/interfaces/database.network-queries.js +4 -0
  125. package/dist/shared/interfaces/database.opportunity-queries.d.ts +285 -0
  126. package/dist/shared/interfaces/database.opportunity-queries.js +4 -0
  127. package/dist/shared/interfaces/database.port.d.ts +322 -0
  128. package/dist/shared/interfaces/database.port.js +29 -0
  129. package/dist/shared/schemas/discovery-question.schema.d.ts +14 -14
  130. package/dist/shared/schemas/negotiation-digest.schema.d.ts +2 -2
  131. package/package.json +2 -15
  132. package/dist/opportunities/application/opportunity.card-presentation.d.ts +0 -44
  133. package/dist/opportunities/application/opportunity.card-presentation.js +0 -93
  134. package/dist/opportunities/application/opportunity.presenter.d.ts +0 -156
  135. package/dist/opportunities/domain/opportunity.presentation-cache.d.ts +0 -5
  136. package/dist/opportunities/domain/opportunity.presentation-cache.js +0 -11
  137. package/dist/opportunities/domain/opportunity.presentation.d.ts +0 -76
  138. package/dist/opportunities/domain/opportunity.presentation.js +0 -516
  139. package/dist/opportunities/domain/opportunity.safe-presentation.d.ts +0 -104
  140. package/dist/opportunities/domain/opportunity.safe-presentation.js +0 -102
@@ -1,102 +0,0 @@
1
- /**
2
- * Shared safe-presentation primitive for all user-facing opportunity surfaces.
3
- *
4
- * Historically every surface (radar, list/discover cards, minimal chat
5
- * cards, notification emails/Telegram, chat context, delivery cards) invented
6
- * its own fallback chain for the case where genuine LLM presenter output is
7
- * unavailable — some sliced raw `interpretation.reasoning` with no
8
- * sanitization at all. This module is the single standard:
9
- *
10
- * raw reasoning
11
- * → whitespace-normalize
12
- * → viewer-centric rewrite (incl. UUID stripping + introducer-mention stripping)
13
- * → boundary-aware truncation
14
- * → per-surface empty-text default
15
- *
16
- * Surfaces choose *policy* (send a sanitized fallback vs skip entirely) via
17
- * `allowFallback`; they no longer choose (or forget) sanitization steps.
18
- *
19
- * See `packages/protocol/src/opportunity/AGENTS.md` for the review checklist this
20
- * module exists to satisfy.
21
- */
22
- import { truncateAtBoundary, viewerCentricCardSummary } from "./opportunity.presentation.js";
23
- import { stripUnsupportedOpportunityClaims } from "../../shared/utils/claim-safety.js";
24
- /** Default max length for fallback summaries (matches presenter internal fallback). */
25
- export const SAFE_FALLBACK_MAX_CHARS = 300;
26
- /** Default copy when no reasoning text is available at all. */
27
- export const DEFAULT_EMPTY_FALLBACK_TEXT = "A promising connection.";
28
- /** Default headline for fallback presentations (matches presenter internal fallback). */
29
- export const DEFAULT_FALLBACK_HEADLINE = "A promising connection";
30
- /** Default CTA for fallback presentations (matches presenter internal fallback). */
31
- export const DEFAULT_FALLBACK_ACTION = "Take a look and decide whether to reach out.";
32
- /**
33
- * Produce safe user-facing fallback copy from raw match reasoning.
34
- *
35
- * This is the ONE sanitization standard: UUID stripping, introducer-mention
36
- * stripping, and viewer-centric rewrite (via {@link viewerCentricCardSummary}),
37
- * followed by whitespace normalization and boundary-aware truncation (via
38
- * {@link truncateAtBoundary}). Never returns raw reasoning verbatim beyond
39
- * these guarantees, and never returns an empty string.
40
- *
41
- * @param rawReasoning - Raw `interpretation.reasoning` / `matchReason` text (may be null/undefined).
42
- * @param opts - Per-surface knobs (names for rewrite, max length, empty-text copy).
43
- */
44
- export function safeFallbackSummary(rawReasoning, opts = {}) {
45
- const emptyText = opts.emptyText ?? DEFAULT_EMPTY_FALLBACK_TEXT;
46
- const maxChars = opts.maxChars ?? SAFE_FALLBACK_MAX_CHARS;
47
- const normalized = (rawReasoning ?? "").replace(/\s+/g, " ").trim();
48
- if (!normalized)
49
- return emptyText;
50
- const claimSafeInput = stripUnsupportedOpportunityClaims(normalized);
51
- if (!claimSafeInput)
52
- return emptyText;
53
- // viewerCentricCardSummary handles UUID stripping, introducer-mention
54
- // stripping, and the viewer-centric rewrite. Pass Infinity so truncation is
55
- // handled by boundary-aware logic below instead of a mid-word hard slice.
56
- const rewritten = viewerCentricCardSummary(claimSafeInput, opts.counterpartName ?? "", Number.POSITIVE_INFINITY, opts.viewerName, opts.introducerName ?? undefined);
57
- // Claim validation intentionally runs after viewer-centric rewriting: rewrite
58
- // heuristics may select or join different source sentences, and the final
59
- // user-facing sentence set is what must be safe.
60
- const claimSafe = stripUnsupportedOpportunityClaims(rewritten);
61
- const truncated = truncateAtBoundary(claimSafe, maxChars);
62
- return truncated || emptyText;
63
- }
64
- /**
65
- * Resolve the safe user-facing presentation for an opportunity, or signal skip.
66
- *
67
- * Resolution order:
68
- * 1. Genuine presenter output (`homeCardPresentation` present, non-empty, and
69
- * NOT tagged `isFallback` by the presenter) — claim-validated before return.
70
- * 2. Otherwise, if `allowFallback` (default true): sanitized fallback copy
71
- * built from `matchReason` / `interpretation.reasoning` via
72
- * {@link safeFallbackSummary}.
73
- * 3. Otherwise `null` — the surface must skip this opportunity.
74
- *
75
- * Raw `interpretation.reasoning` / `matchReason` never reaches the caller
76
- * unsanitized through this function.
77
- */
78
- export function getSafePresentationOrSkip(source, opts = {}) {
79
- const candidate = source.homeCardPresentation;
80
- if (candidate?.personalizedSummary?.trim() && !candidate.isFallback) {
81
- const summary = stripUnsupportedOpportunityClaims(candidate.personalizedSummary);
82
- if (summary) {
83
- return {
84
- headline: stripUnsupportedOpportunityClaims(candidate.headline) ||
85
- DEFAULT_FALLBACK_HEADLINE,
86
- summary,
87
- suggestedAction: stripUnsupportedOpportunityClaims(candidate.suggestedAction) ||
88
- DEFAULT_FALLBACK_ACTION,
89
- isFallback: false,
90
- };
91
- }
92
- }
93
- if (opts.allowFallback === false)
94
- return null;
95
- const rawReasoning = source.matchReason ?? source.interpretation?.reasoning ?? "";
96
- return {
97
- headline: DEFAULT_FALLBACK_HEADLINE,
98
- summary: safeFallbackSummary(rawReasoning, opts),
99
- suggestedAction: DEFAULT_FALLBACK_ACTION,
100
- isFallback: true,
101
- };
102
- }