@inferencesh/sdk 0.6.29 → 0.6.47

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 (53) hide show
  1. package/README.md +35 -0
  2. package/dist/agent/actions.js +72 -13
  3. package/dist/agent/api.d.ts +30 -51
  4. package/dist/agent/api.js +129 -154
  5. package/dist/agent/provider.js +18 -1
  6. package/dist/agent/reducer.js +50 -11
  7. package/dist/agent/types.d.ts +34 -1
  8. package/dist/api/agents.d.ts +23 -14
  9. package/dist/api/agents.js +22 -4
  10. package/dist/api/api-keys.d.ts +4 -3
  11. package/dist/api/apps.d.ts +16 -15
  12. package/dist/api/chats.d.ts +14 -9
  13. package/dist/api/chats.js +6 -0
  14. package/dist/api/engines.d.ts +14 -13
  15. package/dist/api/files.d.ts +4 -3
  16. package/dist/api/files.js +2 -2
  17. package/dist/api/flow-runs.d.ts +8 -7
  18. package/dist/api/flows.d.ts +11 -10
  19. package/dist/api/integrations.d.ts +9 -8
  20. package/dist/api/integrations.js +8 -8
  21. package/dist/api/knowledge.d.ts +25 -24
  22. package/dist/api/mcp-servers.d.ts +10 -9
  23. package/dist/api/projects.d.ts +6 -5
  24. package/dist/api/search.d.ts +3 -2
  25. package/dist/api/secrets.d.ts +6 -5
  26. package/dist/api/sessions.d.ts +5 -4
  27. package/dist/api/sessions.js +2 -3
  28. package/dist/api/tasks.d.ts +14 -11
  29. package/dist/api/tasks.js +10 -4
  30. package/dist/api/teams.d.ts +16 -17
  31. package/dist/delta.d.ts +15 -0
  32. package/dist/delta.js +84 -0
  33. package/dist/hook-builder.d.ts +23 -0
  34. package/dist/hook-builder.js +50 -0
  35. package/dist/http/client.d.ts +9 -1
  36. package/dist/http/client.js +12 -3
  37. package/dist/http/response.d.ts +9 -0
  38. package/dist/http/response.js +1 -0
  39. package/dist/http/stream.d.ts +1 -0
  40. package/dist/http/stream.js +8 -3
  41. package/dist/http/streamable.d.ts +3 -1
  42. package/dist/http/streamable.js +10 -1
  43. package/dist/index.d.ts +11 -5
  44. package/dist/index.js +6 -1
  45. package/dist/proxy/index.d.ts +2 -0
  46. package/dist/proxy/index.js +9 -0
  47. package/dist/tool-builder.d.ts +2 -0
  48. package/dist/tool-builder.js +5 -0
  49. package/dist/types.d.ts +1204 -162
  50. package/dist/types.js +256 -30
  51. package/dist/utils.d.ts +13 -0
  52. package/dist/utils.js +43 -3
  53. package/package.json +8 -5
package/dist/types.js CHANGED
@@ -211,6 +211,16 @@ export const ScopeApiKeysRead = "apikeys:read";
211
211
  * Empty scopes = full access (for backwards compatibility with existing keys).
212
212
  */
213
213
  export const ScopeApiKeysWrite = "apikeys:write";
214
+ /**
215
+ * Action-level scopes for Knowledge (includes skills)
216
+ */
217
+ export const ScopeKnowledgeRead = "knowledge:read";
218
+ /**
219
+ * API Key Scopes - hierarchical permission system.
220
+ * Resource-level scopes (e.g., "agents") imply all action-level scopes (e.g., "agents:read").
221
+ * Empty scopes = full access (for backwards compatibility with existing keys).
222
+ */
223
+ export const ScopeKnowledgeWrite = "knowledge:write";
214
224
  /**
215
225
  * Action-level scopes for User profile
216
226
  */
@@ -244,8 +254,111 @@ export const ScopeGroupSecrets = "secrets";
244
254
  export const ScopeGroupIntegrations = "integrations";
245
255
  export const ScopeGroupEngines = "engines";
246
256
  export const ScopeGroupApiKeys = "apikeys";
257
+ export const ScopeGroupKnowledge = "knowledge";
247
258
  export const ScopeGroupUser = "user";
248
259
  export const ScopeGroupSettings = "settings";
260
+ /**
261
+ * Flow graph action type constants.
262
+ */
263
+ export const ActionNodeAdd = "node.add";
264
+ /**
265
+ * Flow graph action type constants.
266
+ */
267
+ export const ActionNodeRemove = "node.remove";
268
+ /**
269
+ * Flow graph action type constants.
270
+ */
271
+ export const ActionNodeMove = "node.move";
272
+ /**
273
+ * Flow graph action type constants.
274
+ */
275
+ export const ActionNodeMoveMany = "node.move_many";
276
+ /**
277
+ * Flow graph action type constants.
278
+ */
279
+ export const ActionNodeDuplicate = "node.duplicate";
280
+ /**
281
+ * Flow graph action type constants.
282
+ */
283
+ export const ActionNodeRename = "node.rename";
284
+ /**
285
+ * Flow graph action type constants.
286
+ */
287
+ export const ActionNodeSetApp = "node.set_app";
288
+ /**
289
+ * Flow graph action type constants.
290
+ */
291
+ export const ActionNodeUpdate = "node.update";
292
+ /**
293
+ * Flow graph action type constants.
294
+ */
295
+ export const ActionNodeSetInput = "node.set_input";
296
+ /**
297
+ * Flow graph action type constants.
298
+ */
299
+ export const ActionNodeClearInput = "node.clear_input";
300
+ /**
301
+ * Flow graph action type constants.
302
+ */
303
+ export const ActionEdgeAdd = "edge.add";
304
+ /**
305
+ * Flow graph action type constants.
306
+ */
307
+ export const ActionEdgeRemove = "edge.remove";
308
+ /**
309
+ * Flow graph action type constants.
310
+ */
311
+ export const ActionFlowSetInputSchema = "flow.set_input_schema";
312
+ /**
313
+ * Flow graph action type constants.
314
+ */
315
+ export const ActionFlowSetOutputSchema = "flow.set_output_schema";
316
+ /**
317
+ * Flow graph action type constants.
318
+ */
319
+ export const ActionFlowSetOutputMapping = "flow.set_output_mapping";
320
+ /**
321
+ * Flow graph action type constants.
322
+ */
323
+ export const ActionFlowRemoveOutputMapping = "flow.remove_output_mapping";
324
+ /**
325
+ * Flow graph action type constants.
326
+ */
327
+ export const ActionFlowRenameOutputField = "flow.rename_output_field";
328
+ /**
329
+ * Flow graph action type constants.
330
+ */
331
+ export const ActionUndo = "undo";
332
+ /**
333
+ * Flow graph action type constants.
334
+ */
335
+ export const ActionRedo = "redo";
336
+ export const ElicitActionAccept = "accept";
337
+ export const ElicitActionDecline = "decline";
338
+ export const ElicitActionCancel = "cancel";
339
+ /**
340
+ * ResultTypeComplete marks an ordinary, finished result.
341
+ */
342
+ export const ResultTypeComplete = "complete";
343
+ /**
344
+ * ResultTypeInputRequired marks a Multi Round-Trip Request interim result.
345
+ * Recognised so the outbound client never mistakes one for tool output.
346
+ */
347
+ export const ResultTypeInputRequired = "input_required";
348
+ /**
349
+ * CacheScopePublic marks a response as free of user-specific data, so any
350
+ * client or shared intermediary may cache it across authorization contexts.
351
+ */
352
+ export const CacheScopePublic = "public";
353
+ /**
354
+ * CacheScopePrivate restricts reuse to the same authorization context.
355
+ */
356
+ export const CacheScopePrivate = "private";
357
+ export const ToolContentTypeText = "text";
358
+ export const ToolContentTypeImage = "image";
359
+ export const ToolContentTypeAudio = "audio";
360
+ export const ToolContentTypeResourceLink = "resource_link";
361
+ export const ToolContentTypeResource = "resource";
249
362
  /**
250
363
  * Requirement error types
251
364
  */
@@ -261,6 +374,72 @@ export const RequirementTypeScope = "scope";
261
374
  export const SetupActionAddSecret = "add_secret";
262
375
  export const SetupActionConnect = "connect";
263
376
  export const SetupActionAddScopes = "add_scopes";
377
+ export const A2UIRow = "Row";
378
+ export const A2UIColumn = "Column";
379
+ export const A2UIList = "List";
380
+ export const A2UIText = "Text";
381
+ export const A2UIImage = "Image";
382
+ export const A2UIIcon = "Icon";
383
+ export const A2UIDivider = "Divider";
384
+ export const A2UIButton = "Button";
385
+ export const A2UITextField = "TextField";
386
+ export const A2UICheckBox = "CheckBox";
387
+ export const A2UISlider = "Slider";
388
+ export const A2UIDateTimeInput = "DateTimeInput";
389
+ export const A2UIChoicePicker = "ChoicePicker";
390
+ export const A2UICard = "Card";
391
+ export const A2UIModal = "Modal";
392
+ export const A2UITabs = "Tabs";
393
+ /**
394
+ * Extensions (inferencesh/v1 catalog)
395
+ */
396
+ export const A2UIBadge = "Badge";
397
+ export const A2UISpacer = "Spacer";
398
+ export const A2UIChart = "Chart";
399
+ export const A2UIForm = "Form";
400
+ /**
401
+ * Run lifecycle
402
+ */
403
+ export const AgentEventRunStarted = "run.started";
404
+ export const AgentEventRunStateChanged = "run.state_changed";
405
+ /**
406
+ * Turn lifecycle
407
+ */
408
+ export const AgentEventTurnStarted = "turn.started";
409
+ export const AgentEventTurnCompleted = "turn.completed";
410
+ /**
411
+ * Content streaming — structural wrapper; high-frequency token deltas
412
+ * still flow via the existing DeltaEvent channel for efficiency.
413
+ */
414
+ export const AgentEventContentDelta = "content.delta";
415
+ /**
416
+ * Tool lifecycle
417
+ */
418
+ export const AgentEventToolStarted = "tool.started";
419
+ export const AgentEventToolCompleted = "tool.completed";
420
+ /**
421
+ * Approval flow
422
+ */
423
+ export const AgentEventApprovalRequired = "approval.required";
424
+ export const AgentEventApprovalResolved = "approval.resolved";
425
+ /**
426
+ * Hook lifecycle
427
+ */
428
+ export const AgentEventHookExecuted = "hook.executed";
429
+ /**
430
+ * Usage
431
+ */
432
+ export const AgentEventUsageUpdated = "usage.updated";
433
+ /**
434
+ * Context management
435
+ */
436
+ export const AgentEventContextCompacted = "context.compacted";
437
+ /**
438
+ * Errors
439
+ */
440
+ export const AgentEventError = "error";
441
+ export const ContentDeltaText = "text";
442
+ export const ContentDeltaReasoning = "reasoning";
264
443
  export const AgentRunStateSubmitted = "submitted";
265
444
  export const AgentRunStateWorking = "working";
266
445
  export const AgentRunStateInputRequired = "input_required";
@@ -274,6 +453,7 @@ export const InterruptReasonClientTool = "client_tool";
274
453
  export const InterruptReasonWidget = "widget";
275
454
  export const InterruptReasonAuth = "auth";
276
455
  export const InterruptReasonConfirmation = "confirmation";
456
+ export const InterruptReasonHookGate = "hook_gate";
277
457
  export const AppCategoryImage = "image";
278
458
  export const AppCategoryVideo = "video";
279
459
  export const AppCategoryAudio = "audio";
@@ -293,8 +473,11 @@ export const GPUTypeNvidia = "nvidia";
293
473
  export const GPUTypeAMD = "amd";
294
474
  export const GPUTypeApple = "apple";
295
475
  export const VisibilityPrivate = "private";
476
+ export const VisibilityTeam = "team";
296
477
  export const VisibilityPublic = "public";
297
478
  export const VisibilityUnlisted = "unlisted";
479
+ export const PermRead = "read";
480
+ export const PermWrite = "write";
298
481
  export const SubscriptionStatusTrialing = "trialing";
299
482
  export const SubscriptionStatusActive = "active";
300
483
  export const SubscriptionStatusPastDue = "past_due";
@@ -321,11 +504,21 @@ export const PlanStepStatusPending = "pending";
321
504
  export const PlanStepStatusInProgress = "in_progress";
322
505
  export const PlanStepStatusCompleted = "completed";
323
506
  export const PlanStepStatusCancelled = "cancelled";
507
+ /**
508
+ * LLM wire-protocol roles
509
+ */
324
510
  export const ChatMessageRoleSystem = "system";
325
511
  export const ChatMessageRoleUser = "user";
326
512
  export const ChatMessageRoleAssistant = "assistant";
327
513
  export const ChatMessageRoleTool = "tool";
514
+ /**
515
+ * Internal bookkeeping roles — never sent to the LLM provider.
516
+ * BuildContext converts these to system messages or skips them.
517
+ */
518
+ export const ChatMessageRoleInjection = "injection";
519
+ export const ChatMessageRoleCompaction = "compaction";
328
520
  export const ChatMessageStatusPending = "pending";
521
+ export const ChatMessageStatusQueued = "queued";
329
522
  export const ChatMessageStatusReady = "ready";
330
523
  export const ChatMessageStatusFailed = "failed";
331
524
  export const ChatMessageStatusCancelled = "cancelled";
@@ -387,6 +580,57 @@ export const GraphEdgeTypeReferences = "references";
387
580
  export const GraphEdgeTypeSupersedes = "supersedes";
388
581
  export const GraphEdgeTypeInput = "input";
389
582
  export const GraphEdgeTypeOutput = "output";
583
+ export const InterruptStatusPending = "pending";
584
+ export const InterruptStatusResolved = "resolved";
585
+ export const InterruptStatusExpired = "expired";
586
+ export const InterruptStatusCancelled = "cancelled";
587
+ export const InterruptResolutionAllow = "allow";
588
+ export const InterruptResolutionDeny = "deny";
589
+ export const InterruptResourceToolInvocation = "tool_invocation";
590
+ export const InterruptResourceHookEvent = "hook_event";
591
+ export const HookEventAgentStart = "agent.start";
592
+ export const HookEventTurnStart = "agent.turn_start";
593
+ export const HookEventToolCall = "agent.tool_call";
594
+ export const HookEventToolResult = "agent.tool_result";
595
+ export const HookEventTurnComplete = "agent.turn_complete";
596
+ export const HookEventAgentError = "agent.error";
597
+ export const HookEventAgentComplete = "agent.complete";
598
+ export const HookEventAgentIdle = "agent.idle";
599
+ export const HookEventPreCompact = "agent.pre_compact";
600
+ export const HookEventPostCompact = "agent.post_compact";
601
+ export const HookDecisionAllow = "allow";
602
+ export const HookDecisionDeny = "deny";
603
+ export const HookDecisionStop = "stop";
604
+ export const HookDecisionSuspend = "suspend";
605
+ export const HookHandlerWebhook = "webhook";
606
+ export const HookHandlerTask = "task";
607
+ export const HookHandlerGate = "gate";
608
+ export const MergeStrategyConcat = "concat";
609
+ export const MergeStrategyReplace = "replace";
610
+ export const MergeStrategyIndexed = "indexed";
611
+ export const MergeStrategyNested = "nested";
612
+ export const LLMDelta_fieldTags = {
613
+ response: { merge: "concat" },
614
+ reasoning: { merge: "concat" },
615
+ tool_calls: { merge: "indexed" },
616
+ usage: { merge: "replace" },
617
+ };
618
+ export const ToolCallDelta_fieldTags = {
619
+ id: { merge: "replace" },
620
+ type: { merge: "replace" },
621
+ function: { merge: "nested" },
622
+ };
623
+ export const ToolCallFunctionDelta_fieldTags = {
624
+ name: { merge: "replace" },
625
+ arguments: { merge: "concat" },
626
+ };
627
+ export const ToolChoiceModeNone = "none";
628
+ export const ToolChoiceModeAuto = "auto";
629
+ export const ToolChoiceModeRequired = "required";
630
+ export const ToolChoiceModeFunction = "function";
631
+ export const ResponseFormatTypeText = "text";
632
+ export const ResponseFormatTypeJSONObject = "json_object";
633
+ export const ResponseFormatTypeJSONSchema = "json_schema";
390
634
  /**
391
635
  * SecretScopeTeam is a normal user secret, visible in team secret lists
392
636
  */
@@ -407,6 +651,7 @@ export const PageStatusScheduled = 4;
407
651
  export const PageTypeDoc = "doc";
408
652
  export const PageTypeBlog = "blog";
409
653
  export const PageTypePage = "page";
654
+ export const PageTypeAnnouncement = "announcement";
410
655
  export const ToolInvocationStatusPending = "pending";
411
656
  export const ToolInvocationStatusInProgress = "in_progress";
412
657
  export const ToolInvocationStatusAwaitingInput = "awaiting_input";
@@ -501,6 +746,8 @@ export const KnowledgeTypeProject = "project";
501
746
  export const KnowledgeTypeAgentConfig = "agent-config";
502
747
  export const KnowledgeLifecyclePermanent = "permanent";
503
748
  export const KnowledgeLifecycleDecay = "decay";
749
+ export const KnowledgeLifecycleDraft = "draft";
750
+ export const KnowledgeLifecycleDeprecated = "deprecated";
504
751
  export const OpEqual = "eq";
505
752
  export const OpNotEqual = "neq";
506
753
  export const OpIn = "in";
@@ -594,40 +841,18 @@ export const IntegrationStatusConnected = "connected";
594
841
  export const IntegrationStatusDisconnected = "disconnected";
595
842
  export const IntegrationStatusExpired = "expired";
596
843
  export const IntegrationStatusError = "error";
844
+ export const IntegrationScopeTeam = "team";
845
+ export const IntegrationScopePlatform = "platform";
846
+ export const IntegrationScopeUser = "user";
597
847
  /**
598
- * IntegrationScopeTeam is owned by a user/team (BYOK credentials, user connections)
848
+ * IntegrationGrantCredentials provides OAuth app credentials (client_id/secret).
849
+ * Users connect their own accounts against it. Only valid for type=oauth.
599
850
  */
600
- export const IntegrationScopeTeam = "team";
851
+ export const IntegrationGrantCredentials = "credentials";
601
852
  /**
602
- * IntegrationScopePlatform is owned by the platform (managed credentials, admin-configured)
853
+ * IntegrationGrantToken provides ready-to-use access (token, API key, etc.).
603
854
  */
604
- export const IntegrationScopePlatform = "platform";
605
- export const WidgetNodeTypeText = "text";
606
- export const WidgetNodeTypeMarkdown = "markdown";
607
- export const WidgetNodeTypeImage = "image";
608
- export const WidgetNodeTypeBadge = "badge";
609
- export const WidgetNodeTypeButton = "button";
610
- export const WidgetNodeTypeInput = "input";
611
- export const WidgetNodeTypeSelect = "select";
612
- export const WidgetNodeTypeCheckbox = "checkbox";
613
- export const WidgetNodeTypeRow = "row";
614
- export const WidgetNodeTypeCol = "col";
615
- export const WidgetNodeTypeBox = "box";
616
- export const WidgetNodeTypeSpacer = "spacer";
617
- export const WidgetNodeTypeDivider = "divider";
618
- export const WidgetNodeTypeForm = "form";
619
- export const WidgetNodeTypeTitle = "title";
620
- export const WidgetNodeTypeCaption = "caption";
621
- export const WidgetNodeTypeLabel = "label";
622
- export const WidgetNodeTypeTextarea = "textarea";
623
- export const WidgetNodeTypeRadioGroup = "radio-group";
624
- export const WidgetNodeTypeDatePicker = "date-picker";
625
- export const WidgetNodeTypeIcon = "icon";
626
- export const WidgetNodeTypeChart = "chart";
627
- export const WidgetNodeTypeTransition = "transition";
628
- export const WidgetNodeTypePlanList = "plan-list";
629
- export const WidgetNodeTypeKeyValue = "key-value";
630
- export const WidgetNodeTypeStatusBadge = "status-badge";
855
+ export const IntegrationGrantToken = "token";
631
856
  export const NotificationChannelEmail = "email";
632
857
  export const NotificationChannelSMS = "sms";
633
858
  export const NotificationChannelPush = "push";
@@ -649,6 +874,7 @@ export const NotificationTypeInvoice = "invoice";
649
874
  export const NotificationTypeSubscriptionCreated = "subscription_created";
650
875
  export const NotificationTypeSubscriptionCredit = "subscription_credit";
651
876
  export const NotificationTypeSubscriptionCanceled = "subscription_canceled";
877
+ export const NotificationTypeSubscriptionPaymentFailed = "subscription_payment_failed";
652
878
  export const NotificationTypeSubscriptionTrialEnding = "subscription_trial_ending";
653
879
  /**
654
880
  * Account notifications
package/dist/utils.d.ts CHANGED
@@ -15,3 +15,16 @@ export declare function parseStatus(status: number | string | undefined | null):
15
15
  */
16
16
  export declare function isTerminalStatus(status: number | string | undefined | null): boolean;
17
17
  export declare function isChatBusy(chat: ChatDTO | null | undefined): boolean;
18
+ /** A tool invocation gated on human approval, projected from the chat's pending interrupts. */
19
+ export type PendingApproval = {
20
+ interruptId: string;
21
+ toolInvocationId: string;
22
+ chatId: string;
23
+ toolName: string;
24
+ arguments: Record<string, unknown>;
25
+ };
26
+ /**
27
+ * Tool approvals the chat is currently waiting on. Reads `chat.pending_interrupts`,
28
+ * which the API projects onto the chat, so no message scan is needed.
29
+ */
30
+ export declare function pendingApprovals(chat: ChatDTO | null | undefined): PendingApproval[];
package/dist/utils.js CHANGED
@@ -2,7 +2,8 @@
2
2
  * Status utilities for handling both int and string-based status values.
3
3
  * Provides future compatibility when API migrates from int to string status.
4
4
  */
5
- import { TaskStatusUnknown, TaskStatusReceived, TaskStatusQueued, TaskStatusDispatched, TaskStatusPreparing, TaskStatusServing, TaskStatusSettingUp, TaskStatusRunning, TaskStatusCancelling, TaskStatusUploading, TaskStatusCompleted, TaskStatusFailed, TaskStatusCancelled, AgentRunStateWorking, AgentRunStateSubmitted, } from './types';
5
+ import { InterruptReasonToolApproval, InterruptStatusPending } from './types';
6
+ import { TaskStatusUnknown, TaskStatusReceived, TaskStatusQueued, TaskStatusDispatched, TaskStatusPreparing, TaskStatusServing, TaskStatusSettingUp, TaskStatusRunning, TaskStatusCancelling, TaskStatusUploading, TaskStatusCompleted, TaskStatusFailed, TaskStatusCancelled, AgentRunStateWorking, AgentRunStateSubmitted, AgentRunStateInputRequired, ChatStatusBusy, ChatStatusAwaitingInput, } from './types';
6
7
  /** Map string status names to TaskStatus values (for future string-based API) */
7
8
  const STATUS_STRING_MAP = {
8
9
  unknown: TaskStatusUnknown,
@@ -44,6 +45,45 @@ export function isTerminalStatus(status) {
44
45
  return parsed === TaskStatusCompleted || parsed === TaskStatusFailed || parsed === TaskStatusCancelled;
45
46
  }
46
47
  export function isChatBusy(chat) {
47
- const state = chat?.active_run?.state;
48
- return state === AgentRunStateWorking || state === AgentRunStateSubmitted;
48
+ const run = chat?.active_run;
49
+ if (run) {
50
+ return run.state === AgentRunStateWorking || run.state === AgentRunStateSubmitted || run.state === AgentRunStateInputRequired;
51
+ }
52
+ return chat?.status === ChatStatusBusy || chat?.status === ChatStatusAwaitingInput;
53
+ }
54
+ function parseApprovalMeta(interrupt) {
55
+ const meta = interrupt.meta;
56
+ if (!meta)
57
+ return {};
58
+ if (typeof meta === 'string') {
59
+ try {
60
+ return JSON.parse(meta);
61
+ }
62
+ catch {
63
+ return {};
64
+ }
65
+ }
66
+ return meta;
67
+ }
68
+ /**
69
+ * Tool approvals the chat is currently waiting on. Reads `chat.pending_interrupts`,
70
+ * which the API projects onto the chat, so no message scan is needed.
71
+ */
72
+ export function pendingApprovals(chat) {
73
+ const interrupts = chat?.pending_interrupts ?? [];
74
+ const out = [];
75
+ for (const interrupt of interrupts) {
76
+ if (interrupt.reason !== InterruptReasonToolApproval || interrupt.status !== InterruptStatusPending) {
77
+ continue;
78
+ }
79
+ const meta = parseApprovalMeta(interrupt);
80
+ out.push({
81
+ interruptId: interrupt.id,
82
+ toolInvocationId: interrupt.resource_id ?? meta.tool_invocation_id ?? '',
83
+ chatId: interrupt.chat_id || chat?.id || '',
84
+ toolName: meta.tool_name ?? '',
85
+ arguments: meta.arguments ?? {},
86
+ });
87
+ }
88
+ return out;
49
89
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inferencesh/sdk",
3
- "version": "0.6.29",
3
+ "version": "0.6.47",
4
4
  "description": "Official JavaScript/TypeScript SDK for inference.sh - Run AI models with a simple API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,6 +29,7 @@
29
29
  },
30
30
  "./proxy/remix": {
31
31
  "types": "./dist/proxy/remix.d.ts",
32
+ "inference-src": "./src/proxy/remix.ts",
32
33
  "default": "./dist/proxy/remix.js"
33
34
  },
34
35
  "./proxy/svelte": {
@@ -53,8 +54,8 @@
53
54
  "test:all": "jest --testTimeout=120000 --runInBand",
54
55
  "test:watch": "jest --watch --testPathIgnorePatterns=/integration\\.test\\.ts$ --testPathIgnorePatterns=\\.integration\\.test\\.ts$",
55
56
  "test:coverage": "jest --coverage --testPathIgnorePatterns=/integration\\.test\\.ts$ --testPathIgnorePatterns=\\.integration\\.test\\.ts$",
56
- "lint": "eslint src --ext .ts",
57
- "lint:fix": "eslint src --ext .ts --fix",
57
+ "lint": "eslint src",
58
+ "lint:fix": "eslint src --fix",
58
59
  "format": "prettier --write \"src/**/*.ts\"",
59
60
  "format:check": "prettier --check \"src/**/*.ts\"",
60
61
  "clean": "rimraf dist coverage",
@@ -94,21 +95,23 @@
94
95
  },
95
96
  "devDependencies": {
96
97
  "@sveltejs/kit": "^2.60.1",
97
- "svelte": "^5.55.7",
98
98
  "@types/express": "^5.0.0",
99
99
  "@types/jest": "^30.0.0",
100
100
  "@types/node": "^26.1.1",
101
101
  "@types/react": "^19.1.12",
102
+ "@eslint/js": "^9.39.5",
102
103
  "@typescript-eslint/eslint-plugin": "^8.65.0",
103
104
  "@typescript-eslint/parser": "^8.65.0",
104
105
  "eslint": "^9.32.0",
105
106
  "eslint-config-prettier": "^10.1.8",
106
- "hono": "^4.0.0",
107
+ "globals": "^16.5.0",
108
+ "hono": "^4.13.1",
107
109
  "jest": "^30.4.2",
108
110
  "next": "^16.2.6",
109
111
  "prettier": "^3.6.2",
110
112
  "react": "^19.2.3",
111
113
  "rimraf": "^6.0.1",
114
+ "svelte": "^5.55.7",
112
115
  "ts-jest": "^29.2.5",
113
116
  "typescript": "~6.0.3"
114
117
  },