@stacklink/sdk 0.2.0

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 (60) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +50 -0
  3. package/compatibility.json +30 -0
  4. package/dist/src/domain/knowledge-meta-tools.d.ts +12 -0
  5. package/dist/src/domain/knowledge-meta-tools.d.ts.map +1 -0
  6. package/dist/src/domain/knowledge-meta-tools.js +38 -0
  7. package/dist/src/domain/knowledge-meta-tools.js.map +1 -0
  8. package/dist/src/domain/memory-contract.d.ts +3399 -0
  9. package/dist/src/domain/memory-contract.d.ts.map +1 -0
  10. package/dist/src/domain/memory-contract.js +931 -0
  11. package/dist/src/domain/memory-contract.js.map +1 -0
  12. package/dist/src/domain/memory-meta-tools.d.ts +5 -0
  13. package/dist/src/domain/memory-meta-tools.d.ts.map +1 -0
  14. package/dist/src/domain/memory-meta-tools.js +18 -0
  15. package/dist/src/domain/memory-meta-tools.js.map +1 -0
  16. package/dist/src/domain/platform-mcp-tools.d.ts +3 -0
  17. package/dist/src/domain/platform-mcp-tools.d.ts.map +1 -0
  18. package/dist/src/domain/platform-mcp-tools.js +30 -0
  19. package/dist/src/domain/platform-mcp-tools.js.map +1 -0
  20. package/dist/src/domain/provider-branding.d.ts +27 -0
  21. package/dist/src/domain/provider-branding.d.ts.map +1 -0
  22. package/dist/src/domain/provider-branding.js +256 -0
  23. package/dist/src/domain/provider-branding.js.map +1 -0
  24. package/dist/src/domain/stacklink-meta-tools.d.ts +80 -0
  25. package/dist/src/domain/stacklink-meta-tools.d.ts.map +1 -0
  26. package/dist/src/domain/stacklink-meta-tools.js +456 -0
  27. package/dist/src/domain/stacklink-meta-tools.js.map +1 -0
  28. package/dist/src/sdk/claude-agent.d.ts +14 -0
  29. package/dist/src/sdk/claude-agent.d.ts.map +1 -0
  30. package/dist/src/sdk/claude-agent.js +15 -0
  31. package/dist/src/sdk/claude-agent.js.map +1 -0
  32. package/dist/src/sdk/framework-tools.d.ts +19 -0
  33. package/dist/src/sdk/framework-tools.d.ts.map +1 -0
  34. package/dist/src/sdk/framework-tools.js +26 -0
  35. package/dist/src/sdk/framework-tools.js.map +1 -0
  36. package/dist/src/sdk/index.d.ts +3443 -0
  37. package/dist/src/sdk/index.d.ts.map +1 -0
  38. package/dist/src/sdk/index.js +2782 -0
  39. package/dist/src/sdk/index.js.map +1 -0
  40. package/dist/src/sdk/langchain.d.ts +9 -0
  41. package/dist/src/sdk/langchain.d.ts.map +1 -0
  42. package/dist/src/sdk/langchain.js +11 -0
  43. package/dist/src/sdk/langchain.js.map +1 -0
  44. package/dist/src/sdk/memory-lifecycle.d.ts +75 -0
  45. package/dist/src/sdk/memory-lifecycle.d.ts.map +1 -0
  46. package/dist/src/sdk/memory-lifecycle.js +128 -0
  47. package/dist/src/sdk/memory-lifecycle.js.map +1 -0
  48. package/dist/src/sdk/openai-agents.d.ts +45 -0
  49. package/dist/src/sdk/openai-agents.d.ts.map +1 -0
  50. package/dist/src/sdk/openai-agents.js +182 -0
  51. package/dist/src/sdk/openai-agents.js.map +1 -0
  52. package/dist/src/sdk/openai.d.ts +12 -0
  53. package/dist/src/sdk/openai.d.ts.map +1 -0
  54. package/dist/src/sdk/openai.js +271 -0
  55. package/dist/src/sdk/openai.js.map +1 -0
  56. package/dist/src/sdk/vercel-ai.d.ts +11 -0
  57. package/dist/src/sdk/vercel-ai.d.ts.map +1 -0
  58. package/dist/src/sdk/vercel-ai.js +226 -0
  59. package/dist/src/sdk/vercel-ai.js.map +1 -0
  60. package/package.json +81 -0
package/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ Copyright (c) 2026 Stacklink. All rights reserved.
2
+
3
+ This software is proprietary. You may install and use it only to access
4
+ Stacklink services under an agreement with Stacklink. You may not copy,
5
+ modify, redistribute, sublicense, sell, or otherwise make this software
6
+ available to another party except where your agreement with Stacklink
7
+ expressly permits it.
8
+
9
+ This notice must remain with every permitted copy.
package/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # Stacklink TypeScript SDK
2
+
3
+ Stacklink supplies executable, governed tools to an agent harness. The selected harness owns the model call, tool loop, and final answer.
4
+
5
+ Install the public Stacklink package with only the harness packages your application uses:
6
+
7
+ ```bash
8
+ npm install @stacklink/sdk
9
+ ```
10
+
11
+ The complete guides and certified recipes live at [docs.stacklink.in](https://docs.stacklink.in/docs/quickstart). npm is the package delivery system, not the primary documentation surface. Stacklink does not display registry download badges in its product or documentation.
12
+
13
+ ## Certified agent harnesses
14
+
15
+ | Harness | Stacklink adapter | Supported language |
16
+ |---|---|---|
17
+ | Vercel AI SDK | `createStacklinkVercelTools(session)` from `@stacklink/sdk/vercel-ai` | TypeScript |
18
+ | OpenAI Agents SDK | `createStacklinkOpenAIAgentsTools(session)` from `@stacklink/sdk/openai-agents` | TypeScript |
19
+ | Claude Agent SDK | `createStacklinkClaudeAgentToolConfig(session)` from `@stacklink/sdk/claude-agent` | TypeScript |
20
+
21
+ Every recipe follows the same lifecycle:
22
+
23
+ ```ts
24
+ import { Stacklink } from '@stacklink/sdk';
25
+
26
+ const stacklink = new Stacklink({
27
+ apiKey: process.env.STACKLINK_API_KEY,
28
+ baseUrl: process.env.STACKLINK_BASE_URL ?? 'https://api.stacklink.in',
29
+ });
30
+
31
+ const session = await stacklink.create({
32
+ tenantId: 'acme',
33
+ userId: 'user_123',
34
+ metaTools: { surface: 'connector' },
35
+ });
36
+
37
+ try {
38
+ // Pass the selected Stacklink adapter output to your agent harness.
39
+ } finally {
40
+ await session.close();
41
+ }
42
+ ```
43
+
44
+ The complete Vercel, OpenAI Agents, and Claude Agent examples shown by the Stacklink Overview are generated from the executable files under `examples/sdk/`. The dashboard, documentation, and certification tests all read those same files.
45
+
46
+ ## Memory adapters are separate
47
+
48
+ The `withStacklinkMemory` exports for Vercel AI SDK, the raw OpenAI client, and OpenAI Agents remain separate Memory integrations. They do not replace the agent-tool adapters above and are not part of basic Overview onboarding.
49
+
50
+ Exact tested versions are published in `@stacklink/sdk/compatibility.json`. The SDK is proprietary and is provided under the applicable Stacklink agreement.
@@ -0,0 +1,30 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "sdkVersion": "0.2.0",
4
+ "node": ">=22.0.0",
5
+ "tested": {
6
+ "ai": "7.0.31",
7
+ "@ai-sdk/openai": "4.0.16",
8
+ "@openai/agents": "0.13.5",
9
+ "@anthropic-ai/claude-agent-sdk": "0.3.214"
10
+ },
11
+ "pythonTested": {
12
+ "openai-agents": "0.18.3",
13
+ "claude-agent-sdk": "0.2.122"
14
+ },
15
+ "supported": {
16
+ "ai": "^7.0.0",
17
+ "@ai-sdk/openai": "^4.0.0",
18
+ "@openai/agents": "^0.13.3",
19
+ "@anthropic-ai/claude-agent-sdk": "^0.3.214"
20
+ },
21
+ "pythonSupported": {
22
+ "openai-agents": ">=0.18,<0.19",
23
+ "claude-agent-sdk": ">=0.2,<0.3"
24
+ },
25
+ "adapters": {
26
+ "vercelAi": "@stacklink/sdk/vercel-ai",
27
+ "openaiAgents": "@stacklink/sdk/openai-agents",
28
+ "claudeAgent": "@stacklink/sdk/claude-agent"
29
+ }
30
+ }
@@ -0,0 +1,12 @@
1
+ export declare const knowledgeDefaultMetaTools: readonly ["KNOWLEDGE_LIST_PACKS", "KNOWLEDGE_GET_CAPABILITIES", "KNOWLEDGE_SEARCH", "KNOWLEDGE_LOOKUP_CITATION", "KNOWLEDGE_GET_AMENDMENT_TRAIL", "KNOWLEDGE_VERIFY_EVIDENCE", "KNOWLEDGE_VERIFY_ANSWER"];
2
+ export declare const gstComplianceRuleMetaTools: readonly ["GST_GET_COMPLIANCE_RULE", "GST_GET_DUE_DATE_RULE", "GST_CALCULATE_DUE_DATE", "GST_GET_LATE_FEE_RULE", "GST_CALCULATE_LATE_FEE", "GST_GET_INTEREST_RULE", "GST_CALCULATE_INTEREST", "GST_LOOKUP_HSN_SAC_RATE", "GST_CHECK_RCM", "GST_GET_NOTICE_RULE", "GST_GET_APPEAL_STAGE_RULE"];
3
+ export declare const businessComplianceKnowledgePackKey = "in.business_compliance.authority";
4
+ export type KnowledgeMetaToolName = typeof knowledgeDefaultMetaTools[number] | typeof gstComplianceRuleMetaTools[number];
5
+ export interface KnowledgePackSelection {
6
+ enable: string[];
7
+ disable: string[];
8
+ }
9
+ export declare function listKnowledgeMetaToolNames(input?: {
10
+ knowledgePacks?: KnowledgePackSelection | undefined;
11
+ }): KnowledgeMetaToolName[];
12
+ //# sourceMappingURL=knowledge-meta-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-meta-tools.d.ts","sourceRoot":"","sources":["../../../../../src/domain/knowledge-meta-tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,2MAQ5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,+RAY7B,CAAC;AAEX,eAAO,MAAM,kCAAkC,qCAAqC,CAAC;AAErF,MAAM,MAAM,qBAAqB,GAC7B,OAAO,yBAAyB,CAAC,MAAM,CAAC,GACxC,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,GAAE;IAChD,cAAc,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAChD,GAAG,qBAAqB,EAAE,CAY/B"}
@@ -0,0 +1,38 @@
1
+ export const knowledgeDefaultMetaTools = [
2
+ 'KNOWLEDGE_LIST_PACKS',
3
+ 'KNOWLEDGE_GET_CAPABILITIES',
4
+ 'KNOWLEDGE_SEARCH',
5
+ 'KNOWLEDGE_LOOKUP_CITATION',
6
+ 'KNOWLEDGE_GET_AMENDMENT_TRAIL',
7
+ 'KNOWLEDGE_VERIFY_EVIDENCE',
8
+ 'KNOWLEDGE_VERIFY_ANSWER',
9
+ ];
10
+ export const gstComplianceRuleMetaTools = [
11
+ 'GST_GET_COMPLIANCE_RULE',
12
+ 'GST_GET_DUE_DATE_RULE',
13
+ 'GST_CALCULATE_DUE_DATE',
14
+ 'GST_GET_LATE_FEE_RULE',
15
+ 'GST_CALCULATE_LATE_FEE',
16
+ 'GST_GET_INTEREST_RULE',
17
+ 'GST_CALCULATE_INTEREST',
18
+ 'GST_LOOKUP_HSN_SAC_RATE',
19
+ 'GST_CHECK_RCM',
20
+ 'GST_GET_NOTICE_RULE',
21
+ 'GST_GET_APPEAL_STAGE_RULE',
22
+ ];
23
+ export const businessComplianceKnowledgePackKey = 'in.business_compliance.authority';
24
+ export function listKnowledgeMetaToolNames(input = {}) {
25
+ const selection = input.knowledgePacks;
26
+ if (!selection || selection.enable.length === 0)
27
+ return [];
28
+ const enabledPackKeys = selection.enable.filter((packKey) => !selection.disable.includes(packKey));
29
+ const exposesAllTools = enabledPackKeys.includes('enabled-by-session');
30
+ const hasKnowledgePack = enabledPackKeys.length > 0;
31
+ const businessComplianceEnabled = enabledPackKeys.includes(businessComplianceKnowledgePackKey);
32
+ const names = exposesAllTools || hasKnowledgePack ? [...knowledgeDefaultMetaTools] : [];
33
+ if (exposesAllTools || businessComplianceEnabled) {
34
+ names.push(...gstComplianceRuleMetaTools);
35
+ }
36
+ return names;
37
+ }
38
+ //# sourceMappingURL=knowledge-meta-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-meta-tools.js","sourceRoot":"","sources":["../../../../../src/domain/knowledge-meta-tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,sBAAsB;IACtB,4BAA4B;IAC5B,kBAAkB;IAClB,2BAA2B;IAC3B,+BAA+B;IAC/B,2BAA2B;IAC3B,yBAAyB;CACjB,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,eAAe;IACf,qBAAqB;IACrB,2BAA2B;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,kCAAkC,GAAG,kCAAkC,CAAC;AAWrF,MAAM,UAAU,0BAA0B,CAAC,QAEvC,EAAE;IACJ,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC;IACvC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3D,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACnG,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,MAAM,yBAAyB,GAAG,eAAe,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;IAC/F,MAAM,KAAK,GAA4B,eAAe,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjH,IAAI,eAAe,IAAI,yBAAyB,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}