@jussmor/sdk-ai 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 (111) hide show
  1. package/dist/conversation-kIkMQdYK.d.cts +105 -0
  2. package/dist/conversation-kIkMQdYK.d.ts +105 -0
  3. package/dist/conversation-store-CAyPuBjk.d.ts +10 -0
  4. package/dist/conversation-store-Cl42jpsA.d.cts +10 -0
  5. package/dist/index.cjs +1630 -0
  6. package/dist/index.cjs.map +1 -0
  7. package/dist/index.d.cts +251 -0
  8. package/dist/index.d.ts +251 -0
  9. package/dist/index.js +1536 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/memory-uBLqrQRY.d.cts +28 -0
  12. package/dist/memory-uBLqrQRY.d.ts +28 -0
  13. package/dist/providers/llm/anthropic.cjs +275 -0
  14. package/dist/providers/llm/anthropic.cjs.map +1 -0
  15. package/dist/providers/llm/anthropic.d.cts +22 -0
  16. package/dist/providers/llm/anthropic.d.ts +22 -0
  17. package/dist/providers/llm/anthropic.js +240 -0
  18. package/dist/providers/llm/anthropic.js.map +1 -0
  19. package/dist/providers/llm/ollama.cjs +195 -0
  20. package/dist/providers/llm/ollama.cjs.map +1 -0
  21. package/dist/providers/llm/ollama.d.cts +23 -0
  22. package/dist/providers/llm/ollama.d.ts +23 -0
  23. package/dist/providers/llm/ollama.js +170 -0
  24. package/dist/providers/llm/ollama.js.map +1 -0
  25. package/dist/providers/llm/openai.cjs +213 -0
  26. package/dist/providers/llm/openai.cjs.map +1 -0
  27. package/dist/providers/llm/openai.d.cts +22 -0
  28. package/dist/providers/llm/openai.d.ts +22 -0
  29. package/dist/providers/llm/openai.js +178 -0
  30. package/dist/providers/llm/openai.js.map +1 -0
  31. package/dist/providers/memory/filesystem.cjs +112 -0
  32. package/dist/providers/memory/filesystem.cjs.map +1 -0
  33. package/dist/providers/memory/filesystem.d.cts +17 -0
  34. package/dist/providers/memory/filesystem.d.ts +17 -0
  35. package/dist/providers/memory/filesystem.js +87 -0
  36. package/dist/providers/memory/filesystem.js.map +1 -0
  37. package/dist/providers/store/filesystem.cjs +87 -0
  38. package/dist/providers/store/filesystem.cjs.map +1 -0
  39. package/dist/providers/store/filesystem.d.cts +14 -0
  40. package/dist/providers/store/filesystem.d.ts +14 -0
  41. package/dist/providers/store/filesystem.js +62 -0
  42. package/dist/providers/store/filesystem.js.map +1 -0
  43. package/dist/providers/thread/memory.cjs +81 -0
  44. package/dist/providers/thread/memory.cjs.map +1 -0
  45. package/dist/providers/thread/memory.d.cts +14 -0
  46. package/dist/providers/thread/memory.d.ts +14 -0
  47. package/dist/providers/thread/memory.js +56 -0
  48. package/dist/providers/thread/memory.js.map +1 -0
  49. package/dist/providers/thread/sqlite.cjs +917 -0
  50. package/dist/providers/thread/sqlite.cjs.map +1 -0
  51. package/dist/providers/thread/sqlite.d.cts +17 -0
  52. package/dist/providers/thread/sqlite.d.ts +17 -0
  53. package/dist/providers/thread/sqlite.js +911 -0
  54. package/dist/providers/thread/sqlite.js.map +1 -0
  55. package/dist/providers/tokenizers/auto.cjs +136 -0
  56. package/dist/providers/tokenizers/auto.cjs.map +1 -0
  57. package/dist/providers/tokenizers/auto.d.cts +24 -0
  58. package/dist/providers/tokenizers/auto.d.ts +24 -0
  59. package/dist/providers/tokenizers/auto.js +107 -0
  60. package/dist/providers/tokenizers/auto.js.map +1 -0
  61. package/dist/streaming-B-P6Fw_k.d.cts +372 -0
  62. package/dist/streaming-BtD23BE0.d.ts +372 -0
  63. package/dist/thread-C2b9xRMJ.d.cts +30 -0
  64. package/dist/thread-C2b9xRMJ.d.ts +30 -0
  65. package/dist/tokenizer-BhG_RGUk.d.cts +13 -0
  66. package/dist/tokenizer-BhG_RGUk.d.ts +13 -0
  67. package/package.json +84 -0
  68. package/src/agent-loop.ts +311 -0
  69. package/src/agent-source.ts +12 -0
  70. package/src/artifact.ts +31 -0
  71. package/src/compaction.ts +75 -0
  72. package/src/context-budget.ts +65 -0
  73. package/src/conversation-store.ts +8 -0
  74. package/src/conversation.ts +42 -0
  75. package/src/dispatch.ts +207 -0
  76. package/src/engine.ts +53 -0
  77. package/src/execution-context.ts +31 -0
  78. package/src/index.ts +37 -0
  79. package/src/interrupt-store.ts +25 -0
  80. package/src/interrupt.ts +55 -0
  81. package/src/llm-router.ts +34 -0
  82. package/src/llm.ts +100 -0
  83. package/src/memory-selector.ts +38 -0
  84. package/src/memory.ts +34 -0
  85. package/src/mode.ts +81 -0
  86. package/src/permissions.ts +104 -0
  87. package/src/protocol.ts +1 -0
  88. package/src/providers/llm/anthropic.ts +298 -0
  89. package/src/providers/llm/ollama.ts +219 -0
  90. package/src/providers/llm/openai.ts +215 -0
  91. package/src/providers/memory/filesystem.ts +99 -0
  92. package/src/providers/store/filesystem.ts +64 -0
  93. package/src/providers/thread/memory.ts +67 -0
  94. package/src/providers/thread/sqlite.ts +147 -0
  95. package/src/providers/tokenizers/auto.ts +26 -0
  96. package/src/providers/tokenizers/byte.ts +27 -0
  97. package/src/providers/tokenizers/tiktoken.ts +91 -0
  98. package/src/reasoning.ts +7 -0
  99. package/src/rule-matcher.ts +32 -0
  100. package/src/runtime.ts +416 -0
  101. package/src/safety.ts +56 -0
  102. package/src/sandbox.ts +23 -0
  103. package/src/session-context.ts +33 -0
  104. package/src/skill-source.ts +21 -0
  105. package/src/streaming.ts +124 -0
  106. package/src/system-prompt.ts +71 -0
  107. package/src/system-reminder.ts +9 -0
  108. package/src/thread.ts +33 -0
  109. package/src/tokenizer.ts +31 -0
  110. package/src/tool.ts +175 -0
  111. package/src/tracing.ts +63 -0
@@ -0,0 +1,56 @@
1
+ // src/providers/thread/memory.ts
2
+ import { randomUUID } from "crypto";
3
+
4
+ // src/thread.ts
5
+ var ErrThreadAccessDenied = new Error("thread: access denied");
6
+
7
+ // src/providers/thread/memory.ts
8
+ var InMemoryThreadProvider = class {
9
+ threads = /* @__PURE__ */ new Map();
10
+ async create(projectId, modeId) {
11
+ const t = {
12
+ id: randomUUID(),
13
+ projectId,
14
+ modeId,
15
+ status: "active"
16
+ };
17
+ this.threads.set(t.id, t);
18
+ return t;
19
+ }
20
+ async createForUser(userId, projectId, modeId) {
21
+ const t = {
22
+ id: randomUUID(),
23
+ userId,
24
+ projectId,
25
+ modeId,
26
+ status: "active"
27
+ };
28
+ this.threads.set(t.id, t);
29
+ return t;
30
+ }
31
+ async get(threadId) {
32
+ const t = this.threads.get(threadId);
33
+ if (!t) throw new Error(`thread not found: ${threadId}`);
34
+ return t;
35
+ }
36
+ async getForUser(userId, threadId) {
37
+ const t = await this.get(threadId);
38
+ if (t.userId && t.userId !== userId) throw ErrThreadAccessDenied;
39
+ return t;
40
+ }
41
+ async listByUser(userId, status) {
42
+ return Array.from(this.threads.values()).filter(
43
+ (t) => t.userId === userId && (!status || t.status === status)
44
+ );
45
+ }
46
+ async archive(threadId) {
47
+ const t = await this.get(threadId);
48
+ t.status = "archived";
49
+ }
50
+ async sendMessage(_msg) {
51
+ }
52
+ };
53
+ export {
54
+ InMemoryThreadProvider
55
+ };
56
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/providers/thread/memory.ts","../../../src/thread.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type {\n ThreadProvider,\n MultiUserThreadProvider,\n Thread,\n ThreadStatus,\n Message,\n} from \"../../thread.js\";\nimport { ErrThreadAccessDenied } from \"../../thread.js\";\n\nexport class InMemoryThreadProvider implements MultiUserThreadProvider {\n private threads = new Map<string, Thread>();\n\n async create(projectId: string, modeId: string): Promise<Thread> {\n const t: Thread = {\n id: randomUUID(),\n projectId,\n modeId,\n status: \"active\",\n };\n this.threads.set(t.id, t);\n return t;\n }\n\n async createForUser(\n userId: string,\n projectId: string,\n modeId: string,\n ): Promise<Thread> {\n const t: Thread = {\n id: randomUUID(),\n userId,\n projectId,\n modeId,\n status: \"active\",\n };\n this.threads.set(t.id, t);\n return t;\n }\n\n async get(threadId: string): Promise<Thread> {\n const t = this.threads.get(threadId);\n if (!t) throw new Error(`thread not found: ${threadId}`);\n return t;\n }\n\n async getForUser(userId: string, threadId: string): Promise<Thread> {\n const t = await this.get(threadId);\n if (t.userId && t.userId !== userId) throw ErrThreadAccessDenied;\n return t;\n }\n\n async listByUser(userId: string, status: ThreadStatus): Promise<Thread[]> {\n return Array.from(this.threads.values()).filter(\n (t) => t.userId === userId && (!status || t.status === status),\n );\n }\n\n async archive(threadId: string): Promise<void> {\n const t = await this.get(threadId);\n t.status = \"archived\";\n }\n\n async sendMessage(_msg: Message): Promise<void> {\n // in-memory: drop messages\n }\n}\n","export type ThreadStatus = \"active\" | \"completed\" | \"failed\" | \"archived\";\n\nexport interface Thread {\n id: string;\n userId?: string;\n projectId?: string;\n modeId?: string;\n status: ThreadStatus;\n parentId?: string;\n}\n\nexport interface Message {\n id?: string;\n fromThreadId: string;\n toThreadId: string;\n content: string;\n sentAt?: Date;\n}\n\nexport interface ThreadProvider {\n create(projectId: string, modeId: string, signal?: AbortSignal): Promise<Thread>;\n get(threadId: string, signal?: AbortSignal): Promise<Thread>;\n archive(threadId: string, signal?: AbortSignal): Promise<void>;\n sendMessage(msg: Message, signal?: AbortSignal): Promise<void>;\n}\n\nexport interface MultiUserThreadProvider extends ThreadProvider {\n createForUser(userId: string, projectId: string, modeId: string, signal?: AbortSignal): Promise<Thread>;\n getForUser(userId: string, threadId: string, signal?: AbortSignal): Promise<Thread>;\n listByUser(userId: string, status: ThreadStatus, signal?: AbortSignal): Promise<Thread[]>;\n}\n\nexport const ErrThreadAccessDenied = new Error(\"thread: access denied\");\n"],"mappings":";AAAA,SAAS,kBAAkB;;;ACgCpB,IAAM,wBAAwB,IAAI,MAAM,uBAAuB;;;ADtB/D,IAAM,yBAAN,MAAgE;AAAA,EAC7D,UAAU,oBAAI,IAAoB;AAAA,EAE1C,MAAM,OAAO,WAAmB,QAAiC;AAC/D,UAAM,IAAY;AAAA,MAChB,IAAI,WAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,QAAQ,IAAI,EAAE,IAAI,CAAC;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,QACA,WACA,QACiB;AACjB,UAAM,IAAY;AAAA,MAChB,IAAI,WAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,QAAQ,IAAI,EAAE,IAAI,CAAC;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,IAAI,UAAmC;AAC3C,UAAM,IAAI,KAAK,QAAQ,IAAI,QAAQ;AACnC,QAAI,CAAC,EAAG,OAAM,IAAI,MAAM,qBAAqB,QAAQ,EAAE;AACvD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,QAAgB,UAAmC;AAClE,UAAM,IAAI,MAAM,KAAK,IAAI,QAAQ;AACjC,QAAI,EAAE,UAAU,EAAE,WAAW,OAAQ,OAAM;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,QAAgB,QAAyC;AACxE,WAAO,MAAM,KAAK,KAAK,QAAQ,OAAO,CAAC,EAAE;AAAA,MACvC,CAAC,MAAM,EAAE,WAAW,WAAW,CAAC,UAAU,EAAE,WAAW;AAAA,IACzD;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,UAAiC;AAC7C,UAAM,IAAI,MAAM,KAAK,IAAI,QAAQ;AACjC,MAAE,SAAS;AAAA,EACb;AAAA,EAEA,MAAM,YAAY,MAA8B;AAAA,EAEhD;AACF;","names":[]}