@lucern/sdk 0.3.0-alpha.5 → 0.3.0-alpha.7

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 (168) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/adminClient.d.ts +8 -8
  3. package/dist/adminClient.js +47 -36
  4. package/dist/adminClient.js.map +1 -1
  5. package/dist/answersClient.js +26 -8
  6. package/dist/answersClient.js.map +1 -1
  7. package/dist/audience/index.d.ts +2 -1
  8. package/dist/audience/index.js +1 -3
  9. package/dist/audience/index.js.map +1 -1
  10. package/dist/audiencesClient.d.ts +16 -16
  11. package/dist/audiencesClient.js +102 -87
  12. package/dist/audiencesClient.js.map +1 -1
  13. package/dist/auditClient.js +30 -10
  14. package/dist/auditClient.js.map +1 -1
  15. package/dist/authDeviceClient.js +16 -3
  16. package/dist/authDeviceClient.js.map +1 -1
  17. package/dist/beliefs/index.d.ts +3 -3
  18. package/dist/beliefs/index.js +513 -758
  19. package/dist/beliefs/index.js.map +1 -1
  20. package/dist/beliefsClient.d.ts +2 -2
  21. package/dist/beliefsClient.js +31 -19
  22. package/dist/beliefsClient.js.map +1 -1
  23. package/dist/boundaryClientSurface.js +10 -3
  24. package/dist/boundaryClientSurface.js.map +1 -1
  25. package/dist/client.d.ts +247 -270
  26. package/dist/client.js +513 -758
  27. package/dist/client.js.map +1 -1
  28. package/dist/clientHelpers.d.ts +29 -0
  29. package/dist/clientHelpers.js +122 -0
  30. package/dist/clientHelpers.js.map +1 -0
  31. package/dist/contextClient.js +26 -8
  32. package/dist/contextClient.js.map +1 -1
  33. package/dist/contextPackCompiler.js +19 -30
  34. package/dist/contextPackCompiler.js.map +1 -1
  35. package/dist/contextPackPolicy.js +7 -17
  36. package/dist/contextPackPolicy.js.map +1 -1
  37. package/dist/contracts/index.js +4 -3
  38. package/dist/contracts/index.js.map +1 -1
  39. package/dist/contracts/lens-filter.contract.js +4 -3
  40. package/dist/contracts/lens-filter.contract.js.map +1 -1
  41. package/dist/contracts/lens-workflow.contract.js +4 -3
  42. package/dist/contracts/lens-workflow.contract.js.map +1 -1
  43. package/dist/contracts/lensFilter.js +4 -3
  44. package/dist/contracts/lensFilter.js.map +1 -1
  45. package/dist/contracts/lensWorkflow.js +4 -3
  46. package/dist/contracts/lensWorkflow.js.map +1 -1
  47. package/dist/contradictions/index.d.ts +2 -2
  48. package/dist/contradictions/index.js +513 -758
  49. package/dist/contradictions/index.js.map +1 -1
  50. package/dist/coreClient.d.ts +2 -1
  51. package/dist/coreClient.js +27 -11
  52. package/dist/coreClient.js.map +1 -1
  53. package/dist/decisions/index.d.ts +12 -12
  54. package/dist/decisions/index.js +513 -758
  55. package/dist/decisions/index.js.map +1 -1
  56. package/dist/decisionsClient.d.ts +4 -12
  57. package/dist/decisionsClient.js +37 -31
  58. package/dist/decisionsClient.js.map +1 -1
  59. package/dist/edges/index.d.ts +2 -2
  60. package/dist/edges/index.js +513 -758
  61. package/dist/edges/index.js.map +1 -1
  62. package/dist/embeddingsClient.js +37 -14
  63. package/dist/embeddingsClient.js.map +1 -1
  64. package/dist/eventingClient.js +37 -14
  65. package/dist/eventingClient.js.map +1 -1
  66. package/dist/events.js +6 -3
  67. package/dist/events.js.map +1 -1
  68. package/dist/eventsCore.d.ts +1 -1
  69. package/dist/eventsCore.js +27 -11
  70. package/dist/eventsCore.js.map +1 -1
  71. package/dist/evidence/index.d.ts +2 -2
  72. package/dist/evidence/index.js +513 -758
  73. package/dist/evidence/index.js.map +1 -1
  74. package/dist/evidenceClient.js +27 -11
  75. package/dist/evidenceClient.js.map +1 -1
  76. package/dist/functionSurface.js +27 -11
  77. package/dist/functionSurface.js.map +1 -1
  78. package/dist/functionSurfaceClient.js +27 -11
  79. package/dist/functionSurfaceClient.js.map +1 -1
  80. package/dist/gatewayFacades.d.ts +27 -45
  81. package/dist/gatewayFacades.js +92 -118
  82. package/dist/gatewayFacades.js.map +1 -1
  83. package/dist/graphAnalysisClient.js +31 -12
  84. package/dist/graphAnalysisClient.js.map +1 -1
  85. package/dist/graphClient.d.ts +5 -13
  86. package/dist/graphClient.js +42 -35
  87. package/dist/graphClient.js.map +1 -1
  88. package/dist/graphRecommendationsClient.js +31 -13
  89. package/dist/graphRecommendationsClient.js.map +1 -1
  90. package/dist/graphStateClassifierClient.js +37 -15
  91. package/dist/graphStateClassifierClient.js.map +1 -1
  92. package/dist/harnessClient.d.ts +13 -24
  93. package/dist/harnessClient.js +38 -37
  94. package/dist/harnessClient.js.map +1 -1
  95. package/dist/identityClient.d.ts +8 -8
  96. package/dist/identityClient.js +48 -31
  97. package/dist/identityClient.js.map +1 -1
  98. package/dist/index.d.ts +2 -2
  99. package/dist/index.js +592 -819
  100. package/dist/index.js.map +1 -1
  101. package/dist/infisicalRuntime.js +47 -24
  102. package/dist/infisicalRuntime.js.map +1 -1
  103. package/dist/jobsClient.js +37 -15
  104. package/dist/jobsClient.js.map +1 -1
  105. package/dist/learningClient.d.ts +6 -6
  106. package/dist/learningClient.js +55 -39
  107. package/dist/learningClient.js.map +1 -1
  108. package/dist/lenses/index.d.ts +29 -35
  109. package/dist/lenses/index.js +513 -758
  110. package/dist/lenses/index.js.map +1 -1
  111. package/dist/mcpClient.js +26 -8
  112. package/dist/mcpClient.js.map +1 -1
  113. package/dist/modelRuntimeClient.js +37 -14
  114. package/dist/modelRuntimeClient.js.map +1 -1
  115. package/dist/nodes/index.d.ts +17 -17
  116. package/dist/nodes/index.js +513 -758
  117. package/dist/nodes/index.js.map +1 -1
  118. package/dist/ontologies/index.d.ts +31 -30
  119. package/dist/ontologies/index.js +513 -758
  120. package/dist/ontologies/index.js.map +1 -1
  121. package/dist/ontologyClient.d.ts +17 -25
  122. package/dist/ontologyClient.js +63 -37
  123. package/dist/ontologyClient.js.map +1 -1
  124. package/dist/ontologyLinksClient.js +37 -15
  125. package/dist/ontologyLinksClient.js.map +1 -1
  126. package/dist/orgGraphSearchClient.js +30 -10
  127. package/dist/orgGraphSearchClient.js.map +1 -1
  128. package/dist/packsClient.d.ts +9 -23
  129. package/dist/packsClient.js +39 -43
  130. package/dist/packsClient.js.map +1 -1
  131. package/dist/policyClient.d.ts +11 -10
  132. package/dist/policyClient.js +48 -22
  133. package/dist/policyClient.js.map +1 -1
  134. package/dist/questions/index.d.ts +2 -2
  135. package/dist/questions/index.js +513 -758
  136. package/dist/questions/index.js.map +1 -1
  137. package/dist/realtime/index.d.ts +1 -1
  138. package/dist/reportsClient.d.ts +7 -7
  139. package/dist/reportsClient.js +84 -48
  140. package/dist/reportsClient.js.map +1 -1
  141. package/dist/schemaClient.d.ts +3 -3
  142. package/dist/schemaClient.js +40 -26
  143. package/dist/schemaClient.js.map +1 -1
  144. package/dist/sdkSurface.d.ts +6 -3
  145. package/dist/sdkSurface.js +10 -6
  146. package/dist/sdkSurface.js.map +1 -1
  147. package/dist/sourcesClient.js +27 -11
  148. package/dist/sourcesClient.js.map +1 -1
  149. package/dist/telemetryClient.js +37 -15
  150. package/dist/telemetryClient.js.map +1 -1
  151. package/dist/toolRegistryClient.d.ts +10 -2
  152. package/dist/toolRegistryClient.js +50 -16
  153. package/dist/toolRegistryClient.js.map +1 -1
  154. package/dist/topics/index.d.ts +5 -5
  155. package/dist/topics/index.js +513 -758
  156. package/dist/topics/index.js.map +1 -1
  157. package/dist/topicsClient.js +37 -16
  158. package/dist/topicsClient.js.map +1 -1
  159. package/dist/version.d.ts +1 -1
  160. package/dist/version.js +1 -1
  161. package/dist/version.js.map +1 -1
  162. package/dist/workflowClient.d.ts +15 -33
  163. package/dist/workflowClient.js +43 -50
  164. package/dist/workflowClient.js.map +1 -1
  165. package/dist/worktrees/index.d.ts +22 -30
  166. package/dist/worktrees/index.js +513 -758
  167. package/dist/worktrees/index.js.map +1 -1
  168. package/package.json +4 -4
@@ -71,17 +71,11 @@ var TOKENS_PER_WORD = 1.35;
71
71
  var MIN_TOKEN_ESTIMATE = 8;
72
72
 
73
73
  // src/contextPackPolicy.ts
74
- function nowMs() {
75
- return Date.now();
76
- }
77
- function normalizeText(text) {
78
- return text.trim().toLowerCase();
79
- }
80
74
  function tokenHits(text, tokens) {
81
75
  if (tokens.length === 0) {
82
76
  return 1;
83
77
  }
84
- const haystack = normalizeText(text);
78
+ const haystack = text.trim().toLowerCase();
85
79
  let hits = 0;
86
80
  for (const token of tokens) {
87
81
  if (haystack.includes(token)) {
@@ -96,7 +90,7 @@ function clamp01(value) {
96
90
  }
97
91
  return Math.max(0, Math.min(1, value));
98
92
  }
99
- function recencyScore(updatedAt, referenceTimeMs = nowMs()) {
93
+ function recencyScore(updatedAt, referenceTimeMs = Date.now()) {
100
94
  if (!updatedAt || !Number.isFinite(updatedAt)) {
101
95
  return 0.25;
102
96
  }
@@ -112,15 +106,15 @@ function confidenceScore(confidence) {
112
106
  return clamp01(confidence);
113
107
  }
114
108
  function priorityScore(priority) {
115
- const value = normalizeText(priority || "");
109
+ const value = (priority || "").trim().toLowerCase();
116
110
  return PRIORITY_SCORES[value] ?? DEFAULT_PRIORITY_SCORE;
117
111
  }
118
112
  function severityScore(severity) {
119
- const value = normalizeText(severity || "");
113
+ const value = (severity || "").trim().toLowerCase();
120
114
  return SEVERITY_SCORES[value] ?? DEFAULT_SEVERITY_SCORE;
121
115
  }
122
116
  function beliefTypeBonus(beliefType) {
123
- const value = normalizeText(beliefType || "");
117
+ const value = (beliefType || "").trim().toLowerCase();
124
118
  return BELIEF_TYPE_BONUS[value] ?? DEFAULT_BELIEF_TYPE_BONUS;
125
119
  }
126
120
  function resolveEffectiveWeights(overrides) {
@@ -146,7 +140,7 @@ function generateJustification(_section, candidate, queryTokens, weights) {
146
140
  }
147
141
  const ts = candidate.updatedAt || candidate.createdAt || null;
148
142
  if (ts && Number.isFinite(ts)) {
149
- const ageDays = Math.max(0, nowMs() - ts) / (1e3 * 60 * 60 * 24);
143
+ const ageDays = Math.max(0, Date.now() - ts) / (1e3 * 60 * 60 * 24);
150
144
  if (ageDays < 1) {
151
145
  parts.push("updated today");
152
146
  } else if (ageDays < 7) {
@@ -171,10 +165,6 @@ function generateJustification(_section, candidate, queryTokens, weights) {
171
165
  }
172
166
  return parts.join(", ");
173
167
  }
174
- function computeBaselineScore(candidate, queryTokens) {
175
- const hits = tokenHits(candidate.text, queryTokens);
176
- return queryTokens.length === 0 ? 1 : hits;
177
- }
178
168
  function computeWeightedScore(section, candidate, queryTokens, effectiveWeights, referenceTimeMs) {
179
169
  const weights = (effectiveWeights ?? RANKING_WEIGHTS)[section];
180
170
  const queryComponent = queryTokens.length === 0 ? 0.4 : clamp01(tokenHits(candidate.text, queryTokens) / queryTokens.length);
@@ -208,7 +198,7 @@ function rankContextSection(section, rows, queryTokens, limit, profile, options)
208
198
  queryTokens,
209
199
  effectiveWeights,
210
200
  referenceTimeMs
211
- ) : computeBaselineScore(row, queryTokens);
201
+ ) : queryTokens.length === 0 ? 1 : tokenHits(row.text, queryTokens);
212
202
  const result = { ...row, score };
213
203
  if (includeJustifications && profile === "weighted_v1") {
214
204
  const weights = (effectiveWeights ?? RANKING_WEIGHTS)[section];
@@ -575,18 +565,21 @@ function normalizeQueryTokens(query) {
575
565
  function parseRankingProfile(value) {
576
566
  return value === "baseline_v1" ? "baseline_v1" : "weighted_v1";
577
567
  }
568
+ function isRecord(value) {
569
+ return value !== null && typeof value === "object" && !Array.isArray(value);
570
+ }
578
571
  function beliefTypeOf(node) {
579
572
  if (typeof node.beliefType === "string") {
580
573
  return node.beliefType;
581
574
  }
582
- const metadata = node.metadata || {};
575
+ const metadata = isRecord(node.metadata) ? node.metadata : {};
583
576
  if (typeof metadata.beliefType === "string") {
584
577
  return metadata.beliefType;
585
578
  }
586
579
  return "";
587
580
  }
588
581
  function questionStatusOf(node) {
589
- const metadata = node.metadata || {};
582
+ const metadata = isRecord(node.metadata) ? node.metadata : {};
590
583
  const direct = typeof node.status === "string" ? node.status : "";
591
584
  const questionStatus = typeof metadata.questionStatus === "string" ? metadata.questionStatus : "";
592
585
  return (questionStatus || direct || "open").toLowerCase();
@@ -602,9 +595,6 @@ function isOpenQuestion(status) {
602
595
  "belief_forked"
603
596
  ].includes(status);
604
597
  }
605
- function metadataText(payload) {
606
- return JSON.stringify(payload).toLowerCase();
607
- }
608
598
  function collectTopicNeighborhood(topics, rootTopicId, maxDescendantDepth = 2) {
609
599
  const byId = /* @__PURE__ */ new Map();
610
600
  const children = /* @__PURE__ */ new Map();
@@ -666,11 +656,10 @@ function dedupeById(rows) {
666
656
  return output;
667
657
  }
668
658
  function candidateTimestamp(candidate) {
669
- if (!candidate || typeof candidate !== "object") {
659
+ if (!isRecord(candidate)) {
670
660
  return 0;
671
661
  }
672
- const record = candidate;
673
- const timestamps = [record.updatedAt, record.createdAt, record.generatedAt].filter(
662
+ const timestamps = [candidate.updatedAt, candidate.createdAt, candidate.generatedAt].filter(
674
663
  (value) => typeof value === "number" && Number.isFinite(value)
675
664
  );
676
665
  return timestamps.length > 0 ? Math.max(...timestamps) : 0;
@@ -792,7 +781,7 @@ function compileContextPackFromSnapshot(snapshot) {
792
781
  beliefType: beliefTypeOf(belief) || null,
793
782
  status: belief.status || "active",
794
783
  updatedAt: belief.updatedAt || belief.createdAt || null,
795
- metadataText: belief.metadata && typeof belief.metadata === "object" ? metadataText(belief.metadata) : ""
784
+ metadataText: belief.metadata && typeof belief.metadata === "object" ? JSON.stringify(belief.metadata).toLowerCase() : ""
796
785
  }));
797
786
  const activeBeliefs = rankContextSection(
798
787
  "activeBeliefs",
@@ -824,7 +813,7 @@ function compileContextPackFromSnapshot(snapshot) {
824
813
  status,
825
814
  priority: typeof metadata.priority === "string" ? metadata.priority : "medium",
826
815
  updatedAt: question.updatedAt || question.createdAt || null,
827
- metadataText: metadataText(metadata)
816
+ metadataText: JSON.stringify(metadata).toLowerCase()
828
817
  };
829
818
  }).filter((row) => isOpenQuestion(row.status));
830
819
  const openQuestions = rankContextSection(
@@ -856,7 +845,7 @@ function compileContextPackFromSnapshot(snapshot) {
856
845
  kind: typeof metadata.kind === "string" && metadata.kind || "observation",
857
846
  createdAt: item.createdAt || null,
858
847
  updatedAt: item.updatedAt || item.createdAt || null,
859
- metadataText: metadataText(metadata)
848
+ metadataText: JSON.stringify(metadata).toLowerCase()
860
849
  };
861
850
  });
862
851
  const recentEvidence = rankContextSection(
@@ -938,7 +927,7 @@ function compileContextPackFromSnapshot(snapshot) {
938
927
  let failureContext;
939
928
  if (snapshot.plan.includeFailures && snapshot.failures) {
940
929
  const allFailures = snapshot.failures.filter((node) => {
941
- const metadata = node.metadata || {};
930
+ const metadata = isRecord(node.metadata) ? node.metadata : {};
942
931
  return metadata.failedApproach === true || metadata.isFailedAttempt === true;
943
932
  });
944
933
  const rankedFailures = rankContextSection(
@@ -956,7 +945,7 @@ function compileContextPackFromSnapshot(snapshot) {
956
945
  );
957
946
  const failures = rankedFailures.map((row) => {
958
947
  const original = allFailures.find((node) => String(node._id) === row.id);
959
- const metadata = original?.metadata || {};
948
+ const metadata = isRecord(original?.metadata) ? original?.metadata : {};
960
949
  return {
961
950
  attemptId: row.id,
962
951
  approach: String(row.text || ""),