graphlit-client 1.0.20251112001 → 1.0.20251112002

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/README.md CHANGED
@@ -172,6 +172,7 @@ The deprecated `@google/generative-ai` SDK has been replaced with the new `@goog
172
172
  ### Migration Steps
173
173
 
174
174
  1. **Update your dependencies:**
175
+
175
176
  ```bash
176
177
  # Remove old SDK
177
178
  npm uninstall @google/generative-ai
@@ -181,6 +182,7 @@ npm install @google/genai
181
182
  ```
182
183
 
183
184
  2. **Update your client initialization:**
185
+
184
186
  ```typescript
185
187
  // Old (deprecated)
186
188
  import { GoogleGenerativeAI } from "@google/generative-ai";
package/dist/client.d.ts CHANGED
@@ -158,7 +158,7 @@ declare class Graphlit {
158
158
  extractContents(prompt: string, tools: Types.ToolDefinitionInput[], specification?: Types.EntityReferenceInput, filter?: Types.ContentFilter, correlationId?: string): Promise<Types.ExtractContentsMutation>;
159
159
  publishContents(publishPrompt: string, connector: Types.ContentPublishingConnectorInput, summaryPrompt?: string, summarySpecification?: Types.EntityReferenceInput, publishSpecification?: Types.EntityReferenceInput, name?: string, filter?: Types.ContentFilter, workflow?: Types.EntityReferenceInput, isSynchronous?: boolean, includeDetails?: boolean, correlationId?: string): Promise<Types.PublishContentsMutation>;
160
160
  publishText(text: string, textType: Types.TextTypes, connector: Types.ContentPublishingConnectorInput, name?: string, workflow?: Types.EntityReferenceInput, isSynchronous?: boolean, correlationId?: string): Promise<Types.PublishTextMutation>;
161
- researchContents(prompt: string, specification?: Types.EntityReferenceInput, filter?: Types.ContentFilter, correlationId?: string): Promise<Types.ResearchContentsMutation>;
161
+ researchContents(connector: Types.ContentPublishingConnectorInput, filter?: Types.ContentFilter, name?: string, summarySpecification?: Types.EntityReferenceInput, publishSpecification?: Types.EntityReferenceInput, workflow?: Types.EntityReferenceInput, correlationId?: string): Promise<Types.ResearchContentsMutation>;
162
162
  getContent(id: string): Promise<Types.GetContentQuery>;
163
163
  lookupContents(ids: string[]): Promise<Types.LookupContentsResults>;
164
164
  queryObservables(filter?: Types.ContentFilter): Promise<Types.QueryObservablesQuery>;
package/dist/client.js CHANGED
@@ -730,11 +730,14 @@ class Graphlit {
730
730
  correlationId: correlationId,
731
731
  });
732
732
  }
733
- async researchContents(prompt, specification, filter, correlationId) {
733
+ async researchContents(connector, filter, name, summarySpecification, publishSpecification, workflow, correlationId) {
734
734
  return this.mutateAndCheckError(Documents.ResearchContents, {
735
- prompt: prompt,
736
- specification: specification,
735
+ connector: connector,
737
736
  filter: filter,
737
+ name: name,
738
+ summarySpecification: summarySpecification,
739
+ publishSpecification: publishSpecification,
740
+ workflow: workflow,
738
741
  correlationId: correlationId,
739
742
  });
740
743
  }
@@ -1177,10 +1180,7 @@ class Graphlit {
1177
1180
  public async connectorExists(
1178
1181
  filter?: Types.ConnectorFilter
1179
1182
  ): Promise<Types.ConnectorExistsQuery> {
1180
- return this.queryAndCheckError<
1181
- Types.QueryConnectorsQuery,
1182
- { filter?: Types.ConnectorFilter }
1183
- >(Documents.ConnectorExists, { filter: filter });
1183
+ return this.queryAndCheckError<Types.QueryConnectorsQuery, Types.QueryConnectorsQueryVariables>(Documents.ConnectorExists, { filter: filter });
1184
1184
  }
1185
1185
  */
1186
1186
  async createView(view) {
@@ -1513,10 +1513,10 @@ class Graphlit {
1513
1513
  return this.queryAndCheckError(Documents.QuerySoftwares, { filter: filter });
1514
1514
  }
1515
1515
  async createMedicalCondition(MedicalCondition) {
1516
- return this.mutateAndCheckError(Documents.CreateMedicalCondition, { MedicalCondition: MedicalCondition });
1516
+ return this.mutateAndCheckError(Documents.CreateMedicalCondition, { medicalCondition: MedicalCondition });
1517
1517
  }
1518
1518
  async updateMedicalCondition(MedicalCondition) {
1519
- return this.mutateAndCheckError(Documents.UpdateMedicalCondition, { MedicalCondition: MedicalCondition });
1519
+ return this.mutateAndCheckError(Documents.UpdateMedicalCondition, { medicalCondition: MedicalCondition });
1520
1520
  }
1521
1521
  async deleteMedicalCondition(id) {
1522
1522
  return this.mutateAndCheckError(Documents.DeleteMedicalCondition, { id: id });
@@ -1541,10 +1541,10 @@ class Graphlit {
1541
1541
  return this.queryAndCheckError(Documents.QueryMedicalConditions, { filter: filter });
1542
1542
  }
1543
1543
  async createMedicalGuideline(MedicalGuideline) {
1544
- return this.mutateAndCheckError(Documents.CreateMedicalGuideline, { MedicalGuideline: MedicalGuideline });
1544
+ return this.mutateAndCheckError(Documents.CreateMedicalGuideline, { medicalGuideline: MedicalGuideline });
1545
1545
  }
1546
1546
  async updateMedicalGuideline(MedicalGuideline) {
1547
- return this.mutateAndCheckError(Documents.UpdateMedicalGuideline, { MedicalGuideline: MedicalGuideline });
1547
+ return this.mutateAndCheckError(Documents.UpdateMedicalGuideline, { medicalGuideline: MedicalGuideline });
1548
1548
  }
1549
1549
  async deleteMedicalGuideline(id) {
1550
1550
  return this.mutateAndCheckError(Documents.DeleteMedicalGuideline, { id: id });
@@ -1569,10 +1569,10 @@ class Graphlit {
1569
1569
  return this.queryAndCheckError(Documents.QueryMedicalGuidelines, { filter: filter });
1570
1570
  }
1571
1571
  async createMedicalDrug(MedicalDrug) {
1572
- return this.mutateAndCheckError(Documents.CreateMedicalDrug, { MedicalDrug: MedicalDrug });
1572
+ return this.mutateAndCheckError(Documents.CreateMedicalDrug, { medicalDrug: MedicalDrug });
1573
1573
  }
1574
1574
  async updateMedicalDrug(MedicalDrug) {
1575
- return this.mutateAndCheckError(Documents.UpdateMedicalDrug, { MedicalDrug: MedicalDrug });
1575
+ return this.mutateAndCheckError(Documents.UpdateMedicalDrug, { medicalDrug: MedicalDrug });
1576
1576
  }
1577
1577
  async deleteMedicalDrug(id) {
1578
1578
  return this.mutateAndCheckError(Documents.DeleteMedicalDrug, { id: id });
@@ -1595,12 +1595,12 @@ class Graphlit {
1595
1595
  }
1596
1596
  async createMedicalIndication(MedicalIndication) {
1597
1597
  return this.mutateAndCheckError(Documents.CreateMedicalIndication, {
1598
- MedicalIndication: MedicalIndication,
1598
+ medicalIndication: MedicalIndication,
1599
1599
  });
1600
1600
  }
1601
1601
  async updateMedicalIndication(MedicalIndication) {
1602
1602
  return this.mutateAndCheckError(Documents.UpdateMedicalIndication, {
1603
- MedicalIndication: MedicalIndication,
1603
+ medicalIndication: MedicalIndication,
1604
1604
  });
1605
1605
  }
1606
1606
  async deleteMedicalIndication(id) {
@@ -1627,12 +1627,12 @@ class Graphlit {
1627
1627
  }
1628
1628
  async createMedicalContraindication(MedicalContraindication) {
1629
1629
  return this.mutateAndCheckError(Documents.CreateMedicalContraindication, {
1630
- MedicalContraindication: MedicalContraindication,
1630
+ medicalContraindication: MedicalContraindication,
1631
1631
  });
1632
1632
  }
1633
1633
  async updateMedicalContraindication(MedicalContraindication) {
1634
1634
  return this.mutateAndCheckError(Documents.UpdateMedicalContraindication, {
1635
- MedicalContraindication: MedicalContraindication,
1635
+ medicalContraindication: MedicalContraindication,
1636
1636
  });
1637
1637
  }
1638
1638
  async deleteMedicalContraindication(id) {
@@ -1658,10 +1658,10 @@ class Graphlit {
1658
1658
  return this.queryAndCheckError(Documents.QueryMedicalContraindications, { filter: filter });
1659
1659
  }
1660
1660
  async createMedicalTest(MedicalTest) {
1661
- return this.mutateAndCheckError(Documents.CreateMedicalTest, { MedicalTest: MedicalTest });
1661
+ return this.mutateAndCheckError(Documents.CreateMedicalTest, { medicalTest: MedicalTest });
1662
1662
  }
1663
1663
  async updateMedicalTest(MedicalTest) {
1664
- return this.mutateAndCheckError(Documents.UpdateMedicalTest, { MedicalTest: MedicalTest });
1664
+ return this.mutateAndCheckError(Documents.UpdateMedicalTest, { medicalTest: MedicalTest });
1665
1665
  }
1666
1666
  async deleteMedicalTest(id) {
1667
1667
  return this.mutateAndCheckError(Documents.DeleteMedicalTest, { id: id });
@@ -1683,10 +1683,10 @@ class Graphlit {
1683
1683
  return this.queryAndCheckError(Documents.QueryMedicalTests, { filter: filter });
1684
1684
  }
1685
1685
  async createMedicalDevice(MedicalDevice) {
1686
- return this.mutateAndCheckError(Documents.CreateMedicalDevice, { MedicalDevice: MedicalDevice });
1686
+ return this.mutateAndCheckError(Documents.CreateMedicalDevice, { medicalDevice: MedicalDevice });
1687
1687
  }
1688
1688
  async updateMedicalDevice(MedicalDevice) {
1689
- return this.mutateAndCheckError(Documents.UpdateMedicalDevice, { MedicalDevice: MedicalDevice });
1689
+ return this.mutateAndCheckError(Documents.UpdateMedicalDevice, { medicalDevice: MedicalDevice });
1690
1690
  }
1691
1691
  async deleteMedicalDevice(id) {
1692
1692
  return this.mutateAndCheckError(Documents.DeleteMedicalDevice, { id: id });
@@ -1711,10 +1711,10 @@ class Graphlit {
1711
1711
  return this.queryAndCheckError(Documents.QueryMedicalDevices, { filter: filter });
1712
1712
  }
1713
1713
  async createMedicalProcedure(MedicalProcedure) {
1714
- return this.mutateAndCheckError(Documents.CreateMedicalProcedure, { MedicalProcedure: MedicalProcedure });
1714
+ return this.mutateAndCheckError(Documents.CreateMedicalProcedure, { medicalProcedure: MedicalProcedure });
1715
1715
  }
1716
1716
  async updateMedicalProcedure(MedicalProcedure) {
1717
- return this.mutateAndCheckError(Documents.UpdateMedicalProcedure, { MedicalProcedure: MedicalProcedure });
1717
+ return this.mutateAndCheckError(Documents.UpdateMedicalProcedure, { medicalProcedure: MedicalProcedure });
1718
1718
  }
1719
1719
  async deleteMedicalProcedure(id) {
1720
1720
  return this.mutateAndCheckError(Documents.DeleteMedicalProcedure, { id: id });
@@ -1739,10 +1739,10 @@ class Graphlit {
1739
1739
  return this.queryAndCheckError(Documents.QueryMedicalProcedures, { filter: filter });
1740
1740
  }
1741
1741
  async createMedicalStudy(MedicalStudy) {
1742
- return this.mutateAndCheckError(Documents.CreateMedicalStudy, { MedicalStudy: MedicalStudy });
1742
+ return this.mutateAndCheckError(Documents.CreateMedicalStudy, { medicalStudy: MedicalStudy });
1743
1743
  }
1744
1744
  async updateMedicalStudy(MedicalStudy) {
1745
- return this.mutateAndCheckError(Documents.UpdateMedicalStudy, { MedicalStudy: MedicalStudy });
1745
+ return this.mutateAndCheckError(Documents.UpdateMedicalStudy, { medicalStudy: MedicalStudy });
1746
1746
  }
1747
1747
  async deleteMedicalStudy(id) {
1748
1748
  return this.mutateAndCheckError(Documents.DeleteMedicalStudy, { id: id });
@@ -1767,10 +1767,10 @@ class Graphlit {
1767
1767
  return this.queryAndCheckError(Documents.QueryMedicalStudies, { filter: filter });
1768
1768
  }
1769
1769
  async createMedicalDrugClass(MedicalDrugClass) {
1770
- return this.mutateAndCheckError(Documents.CreateMedicalDrugClass, { MedicalDrugClass: MedicalDrugClass });
1770
+ return this.mutateAndCheckError(Documents.CreateMedicalDrugClass, { medicalDrugClass: MedicalDrugClass });
1771
1771
  }
1772
1772
  async updateMedicalDrugClass(MedicalDrugClass) {
1773
- return this.mutateAndCheckError(Documents.UpdateMedicalDrugClass, { MedicalDrugClass: MedicalDrugClass });
1773
+ return this.mutateAndCheckError(Documents.UpdateMedicalDrugClass, { medicalDrugClass: MedicalDrugClass });
1774
1774
  }
1775
1775
  async deleteMedicalDrugClass(id) {
1776
1776
  return this.mutateAndCheckError(Documents.DeleteMedicalDrugClass, { id: id });
@@ -1795,10 +1795,10 @@ class Graphlit {
1795
1795
  return this.queryAndCheckError(Documents.QueryMedicalDrugClasses, { filter: filter });
1796
1796
  }
1797
1797
  async createMedicalTherapy(MedicalTherapy) {
1798
- return this.mutateAndCheckError(Documents.CreateMedicalTherapy, { MedicalTherapy: MedicalTherapy });
1798
+ return this.mutateAndCheckError(Documents.CreateMedicalTherapy, { medicalTherapy: MedicalTherapy });
1799
1799
  }
1800
1800
  async updateMedicalTherapy(MedicalTherapy) {
1801
- return this.mutateAndCheckError(Documents.UpdateMedicalTherapy, { MedicalTherapy: MedicalTherapy });
1801
+ return this.mutateAndCheckError(Documents.UpdateMedicalTherapy, { medicalTherapy: MedicalTherapy });
1802
1802
  }
1803
1803
  async deleteMedicalTherapy(id) {
1804
1804
  return this.mutateAndCheckError(Documents.DeleteMedicalTherapy, { id: id });
@@ -1906,7 +1906,7 @@ class Graphlit {
1906
1906
  case Types.ModelServiceTypes.Anthropic:
1907
1907
  return Anthropic !== undefined || this.anthropicClient !== undefined;
1908
1908
  case Types.ModelServiceTypes.Google:
1909
- return (GoogleGenAI !== undefined || this.googleClient !== undefined);
1909
+ return GoogleGenAI !== undefined || this.googleClient !== undefined;
1910
1910
  case Types.ModelServiceTypes.Groq:
1911
1911
  return Groq !== undefined || this.groqClient !== undefined;
1912
1912
  case Types.ModelServiceTypes.Cerebras:
@@ -114,13 +114,15 @@ export function formatMessagesForAnthropic(messages) {
114
114
  console.log(`🔍 [formatMessagesForAnthropic] Has tool calls: ${message.toolCalls?.length || 0}`);
115
115
  }
116
116
  // Check if message contains thinking content (for Anthropic compatibility)
117
- const hasThinking = trimmedMessage.includes('<thinking');
117
+ const hasThinking = trimmedMessage.includes("<thinking");
118
118
  if (hasThinking) {
119
119
  // Parse thinking and text content separately for proper Anthropic format
120
120
  const thinkingMatch = trimmedMessage.match(/<thinking(?:\s+signature="([^"]*)")?\s*>(.*?)<\/thinking>/s);
121
- const thinkingSignature = thinkingMatch ? thinkingMatch[1] : '';
122
- const thinkingContent = thinkingMatch ? thinkingMatch[2].trim() : '';
123
- const textContent = trimmedMessage.replace(/<thinking(?:\s+signature="[^"]*")?\s*>.*?<\/thinking>/s, '').trim();
121
+ const thinkingSignature = thinkingMatch ? thinkingMatch[1] : "";
122
+ const thinkingContent = thinkingMatch ? thinkingMatch[2].trim() : "";
123
+ const textContent = trimmedMessage
124
+ .replace(/<thinking(?:\s+signature="[^"]*")?\s*>.*?<\/thinking>/s, "")
125
+ .trim();
124
126
  if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING) {
125
127
  console.log(`🔍 [formatMessagesForAnthropic] Found thinking content: ${thinkingContent.length} chars`);
126
128
  console.log(`🔍 [formatMessagesForAnthropic] Text content after thinking: "${textContent}"`);
@@ -157,7 +159,7 @@ export function formatMessagesForAnthropic(messages) {
157
159
  });
158
160
  }
159
161
  if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING) {
160
- console.log(`🔍 [formatMessagesForAnthropic] Content array: ${content.map(c => c.type).join(', ')}`);
162
+ console.log(`🔍 [formatMessagesForAnthropic] Content array: ${content.map((c) => c.type).join(", ")}`);
161
163
  }
162
164
  // Add tool uses if present
163
165
  if (message.toolCalls && message.toolCalls.length > 0) {
@@ -864,7 +864,8 @@ onEvent, onComplete, abortSignal, thinkingConfig) {
864
864
  console.log(`🧠 [Anthropic] Final stored message: "${messageWithThinking}"`);
865
865
  }
866
866
  }
867
- else if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING && completeThinkingContent.trim()) {
867
+ else if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING &&
868
+ completeThinkingContent.trim()) {
868
869
  console.log(`🧠 [Anthropic] Thinking content captured (${completeThinkingContent.length} chars) - not including (no tool calls)`);
869
870
  }
870
871
  onComplete(messageWithThinking, validToolCalls, usageData);
@@ -989,14 +990,19 @@ onEvent, onComplete, abortSignal, thinkingConfig) {
989
990
  if (thinkingConfig) {
990
991
  // Google Gemini 2.5 supports thinking mode
991
992
  // -1 = dynamic thinking (model decides), 0 = disabled, >0 = specific budget
992
- const budget = thinkingConfig.budget_tokens === 0 ? 0 :
993
- thinkingConfig.budget_tokens || -1; // Default to dynamic if not specified
993
+ const budget = thinkingConfig.budget_tokens === 0
994
+ ? 0
995
+ : thinkingConfig.budget_tokens || -1; // Default to dynamic if not specified
994
996
  generationConfig.thinkingConfig = {
995
997
  thinkingBudget: budget,
996
998
  includeThoughts: budget !== 0, // Include thoughts unless explicitly disabled
997
999
  };
998
1000
  if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING) {
999
- const mode = budget === -1 ? "dynamic" : budget === 0 ? "disabled" : `${budget} tokens`;
1001
+ const mode = budget === -1
1002
+ ? "dynamic"
1003
+ : budget === 0
1004
+ ? "disabled"
1005
+ : `${budget} tokens`;
1000
1006
  console.log(`🧠 [Google] Thinking mode: ${mode} | Include thoughts: ${budget !== 0}`);
1001
1007
  }
1002
1008
  }
@@ -1042,7 +1048,7 @@ onEvent, onComplete, abortSignal, thinkingConfig) {
1042
1048
  const part = chunk.candidates[0].content.parts[i];
1043
1049
  console.log(`[Google] Part ${i}: thought=${!!part.thought}, text length=${part.text?.length || 0}`);
1044
1050
  if (part.thought && part.text) {
1045
- console.log(`[Google] THOUGHT CONTENT: "${part.text.substring(0, 100)}${part.text.length > 100 ? '...' : ''}"`);
1051
+ console.log(`[Google] THOUGHT CONTENT: "${part.text.substring(0, 100)}${part.text.length > 100 ? "..." : ""}"`);
1046
1052
  }
1047
1053
  }
1048
1054
  }
@@ -1072,7 +1078,7 @@ onEvent, onComplete, abortSignal, thinkingConfig) {
1072
1078
  // Regular text part - add to message content
1073
1079
  regularText += part.text;
1074
1080
  if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING) {
1075
- console.log(`[Google] Regular text part (NOT thought): "${part.text.substring(0, 100)}${part.text.length > 100 ? '...' : ''}"`);
1081
+ console.log(`[Google] Regular text part (NOT thought): "${part.text.substring(0, 100)}${part.text.length > 100 ? "..." : ""}"`);
1076
1082
  }
1077
1083
  }
1078
1084
  }
@@ -1080,11 +1086,11 @@ onEvent, onComplete, abortSignal, thinkingConfig) {
1080
1086
  // Use regularText to avoid including thought parts
1081
1087
  const text = regularText; // Only use text from non-thought parts
1082
1088
  if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING && text) {
1083
- console.log(`[Google] Text to add (excluding thoughts): "${text.substring(0, 100)}${text.length > 100 ? '...' : ''}" (${text.length} chars)`);
1089
+ console.log(`[Google] Text to add (excluding thoughts): "${text.substring(0, 100)}${text.length > 100 ? "..." : ""}" (${text.length} chars)`);
1084
1090
  }
1085
1091
  if (text) {
1086
1092
  if (process.env.DEBUG_GRAPHLIT_SDK_STREAMING) {
1087
- console.log(`[Google] Adding to fullMessage: "${text.substring(0, 50)}${text.length > 50 ? '...' : ''}" (${text.length} chars)`);
1093
+ console.log(`[Google] Adding to fullMessage: "${text.substring(0, 50)}${text.length > 50 ? "..." : ""}" (${text.length} chars)`);
1088
1094
  }
1089
1095
  fullMessage += text;
1090
1096
  tokenCount++;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphlit-client",
3
- "version": "1.0.20251112001",
3
+ "version": "1.0.20251112002",
4
4
  "description": "Graphlit API Client for TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/client.js",