@studyfetch/sdk 1.43.0 → 1.46.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 (149) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/package.json +1 -1
  3. package/resources/v1/assignment-grader/assignment-grader.d.mts +12 -0
  4. package/resources/v1/assignment-grader/assignment-grader.d.mts.map +1 -1
  5. package/resources/v1/assignment-grader/assignment-grader.d.ts +12 -0
  6. package/resources/v1/assignment-grader/assignment-grader.d.ts.map +1 -1
  7. package/resources/v1/assignment-grader/assignment-grader.js.map +1 -1
  8. package/resources/v1/assignment-grader/assignment-grader.mjs.map +1 -1
  9. package/resources/v1/assignment-grader/rubric-templates.d.mts +8 -0
  10. package/resources/v1/assignment-grader/rubric-templates.d.mts.map +1 -1
  11. package/resources/v1/assignment-grader/rubric-templates.d.ts +8 -0
  12. package/resources/v1/assignment-grader/rubric-templates.d.ts.map +1 -1
  13. package/resources/v1/chat.d.mts +53 -1
  14. package/resources/v1/chat.d.mts.map +1 -1
  15. package/resources/v1/chat.d.ts +53 -1
  16. package/resources/v1/chat.d.ts.map +1 -1
  17. package/resources/v1/chat.js +30 -0
  18. package/resources/v1/chat.js.map +1 -1
  19. package/resources/v1/chat.mjs +30 -0
  20. package/resources/v1/chat.mjs.map +1 -1
  21. package/resources/v1/components.d.mts +39 -7
  22. package/resources/v1/components.d.mts.map +1 -1
  23. package/resources/v1/components.d.ts +39 -7
  24. package/resources/v1/components.d.ts.map +1 -1
  25. package/resources/v1/embed/context.d.mts +61 -0
  26. package/resources/v1/embed/context.d.mts.map +1 -0
  27. package/resources/v1/embed/context.d.ts +61 -0
  28. package/resources/v1/embed/context.d.ts.map +1 -0
  29. package/resources/v1/embed/context.js +61 -0
  30. package/resources/v1/embed/context.js.map +1 -0
  31. package/resources/v1/embed/context.mjs +57 -0
  32. package/resources/v1/embed/context.mjs.map +1 -0
  33. package/resources/v1/embed/embed.d.mts +4 -0
  34. package/resources/v1/embed/embed.d.mts.map +1 -1
  35. package/resources/v1/embed/embed.d.ts +4 -0
  36. package/resources/v1/embed/embed.d.ts.map +1 -1
  37. package/resources/v1/embed/embed.js +4 -0
  38. package/resources/v1/embed/embed.js.map +1 -1
  39. package/resources/v1/embed/embed.mjs +4 -0
  40. package/resources/v1/embed/embed.mjs.map +1 -1
  41. package/resources/v1/embed/index.d.mts +1 -0
  42. package/resources/v1/embed/index.d.mts.map +1 -1
  43. package/resources/v1/embed/index.d.ts +1 -0
  44. package/resources/v1/embed/index.d.ts.map +1 -1
  45. package/resources/v1/embed/index.js +3 -1
  46. package/resources/v1/embed/index.js.map +1 -1
  47. package/resources/v1/embed/index.mjs +1 -0
  48. package/resources/v1/embed/index.mjs.map +1 -1
  49. package/resources/v1/folders.d.mts +25 -1
  50. package/resources/v1/folders.d.mts.map +1 -1
  51. package/resources/v1/folders.d.ts +25 -1
  52. package/resources/v1/folders.d.ts.map +1 -1
  53. package/resources/v1/folders.js +11 -0
  54. package/resources/v1/folders.js.map +1 -1
  55. package/resources/v1/folders.mjs +11 -0
  56. package/resources/v1/folders.mjs.map +1 -1
  57. package/resources/v1/index.d.mts +3 -2
  58. package/resources/v1/index.d.mts.map +1 -1
  59. package/resources/v1/index.d.ts +3 -2
  60. package/resources/v1/index.d.ts.map +1 -1
  61. package/resources/v1/index.js +3 -1
  62. package/resources/v1/index.js.map +1 -1
  63. package/resources/v1/index.mjs +1 -0
  64. package/resources/v1/index.mjs.map +1 -1
  65. package/resources/v1/materials/upload.d.mts +38 -4
  66. package/resources/v1/materials/upload.d.mts.map +1 -1
  67. package/resources/v1/materials/upload.d.ts +38 -4
  68. package/resources/v1/materials/upload.d.ts.map +1 -1
  69. package/resources/v1/materials/upload.js +20 -3
  70. package/resources/v1/materials/upload.js.map +1 -1
  71. package/resources/v1/materials/upload.mjs +19 -2
  72. package/resources/v1/materials/upload.mjs.map +1 -1
  73. package/resources/v1/pdf-generator/get.d.mts +4 -0
  74. package/resources/v1/pdf-generator/get.d.mts.map +1 -1
  75. package/resources/v1/pdf-generator/get.d.ts +4 -0
  76. package/resources/v1/pdf-generator/get.d.ts.map +1 -1
  77. package/resources/v1/pdf-generator/pdf-generator.d.mts +29 -0
  78. package/resources/v1/pdf-generator/pdf-generator.d.mts.map +1 -1
  79. package/resources/v1/pdf-generator/pdf-generator.d.ts +29 -0
  80. package/resources/v1/pdf-generator/pdf-generator.d.ts.map +1 -1
  81. package/resources/v1/pdf-generator/pdf-generator.js.map +1 -1
  82. package/resources/v1/pdf-generator/pdf-generator.mjs.map +1 -1
  83. package/resources/v1/performance-insights/conversations.d.mts +131 -0
  84. package/resources/v1/performance-insights/conversations.d.mts.map +1 -0
  85. package/resources/v1/performance-insights/conversations.d.ts +131 -0
  86. package/resources/v1/performance-insights/conversations.d.ts.map +1 -0
  87. package/resources/v1/performance-insights/conversations.js +131 -0
  88. package/resources/v1/performance-insights/conversations.js.map +1 -0
  89. package/resources/v1/performance-insights/conversations.mjs +127 -0
  90. package/resources/v1/performance-insights/conversations.mjs.map +1 -0
  91. package/resources/v1/performance-insights/index.d.mts +3 -0
  92. package/resources/v1/performance-insights/index.d.mts.map +1 -0
  93. package/resources/v1/performance-insights/index.d.ts +3 -0
  94. package/resources/v1/performance-insights/index.d.ts.map +1 -0
  95. package/resources/v1/performance-insights/index.js +9 -0
  96. package/resources/v1/performance-insights/index.js.map +1 -0
  97. package/resources/v1/performance-insights/index.mjs +4 -0
  98. package/resources/v1/performance-insights/index.mjs.map +1 -0
  99. package/resources/v1/performance-insights/performance-insights.d.mts +139 -0
  100. package/resources/v1/performance-insights/performance-insights.d.mts.map +1 -0
  101. package/resources/v1/performance-insights/performance-insights.d.ts +139 -0
  102. package/resources/v1/performance-insights/performance-insights.d.ts.map +1 -0
  103. package/resources/v1/performance-insights/performance-insights.js +55 -0
  104. package/resources/v1/performance-insights/performance-insights.js.map +1 -0
  105. package/resources/v1/performance-insights/performance-insights.mjs +50 -0
  106. package/resources/v1/performance-insights/performance-insights.mjs.map +1 -0
  107. package/resources/v1/performance-insights.d.mts +2 -0
  108. package/resources/v1/performance-insights.d.mts.map +1 -0
  109. package/resources/v1/performance-insights.d.ts +2 -0
  110. package/resources/v1/performance-insights.d.ts.map +1 -0
  111. package/resources/v1/performance-insights.js +6 -0
  112. package/resources/v1/performance-insights.js.map +1 -0
  113. package/resources/v1/performance-insights.mjs +3 -0
  114. package/resources/v1/performance-insights.mjs.map +1 -0
  115. package/resources/v1/usage.d.mts +8 -0
  116. package/resources/v1/usage.d.mts.map +1 -1
  117. package/resources/v1/usage.d.ts +8 -0
  118. package/resources/v1/usage.d.ts.map +1 -1
  119. package/resources/v1/v1.d.mts +8 -4
  120. package/resources/v1/v1.d.mts.map +1 -1
  121. package/resources/v1/v1.d.ts +8 -4
  122. package/resources/v1/v1.d.ts.map +1 -1
  123. package/resources/v1/v1.js +4 -0
  124. package/resources/v1/v1.js.map +1 -1
  125. package/resources/v1/v1.mjs +4 -0
  126. package/resources/v1/v1.mjs.map +1 -1
  127. package/src/resources/v1/assignment-grader/assignment-grader.ts +15 -0
  128. package/src/resources/v1/assignment-grader/rubric-templates.ts +10 -0
  129. package/src/resources/v1/chat.ts +81 -1
  130. package/src/resources/v1/components.ts +45 -7
  131. package/src/resources/v1/embed/context.ts +96 -0
  132. package/src/resources/v1/embed/embed.ts +11 -0
  133. package/src/resources/v1/embed/index.ts +6 -0
  134. package/src/resources/v1/folders.ts +35 -0
  135. package/src/resources/v1/index.ts +9 -1
  136. package/src/resources/v1/materials/upload.ts +74 -7
  137. package/src/resources/v1/pdf-generator/get.ts +5 -0
  138. package/src/resources/v1/pdf-generator/pdf-generator.ts +35 -0
  139. package/src/resources/v1/performance-insights/conversations.ts +238 -0
  140. package/src/resources/v1/performance-insights/index.ts +17 -0
  141. package/src/resources/v1/performance-insights/performance-insights.ts +214 -0
  142. package/src/resources/v1/performance-insights.ts +3 -0
  143. package/src/resources/v1/usage.ts +10 -0
  144. package/src/resources/v1/v1.ts +27 -2
  145. package/src/version.ts +1 -1
  146. package/version.d.mts +1 -1
  147. package/version.d.ts +1 -1
  148. package/version.js +1 -1
  149. package/version.mjs +1 -1
@@ -0,0 +1,214 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as ConversationsAPI from './conversations';
5
+ import {
6
+ ConversationCreateParams,
7
+ ConversationDeleteParams,
8
+ ConversationListParams,
9
+ ConversationPushMessagesParams,
10
+ ConversationRenameParams,
11
+ ConversationRetrieveParams,
12
+ Conversations,
13
+ } from './conversations';
14
+ import { APIPromise } from '../../../core/api-promise';
15
+ import { buildHeaders } from '../../../internal/headers';
16
+ import { RequestOptions } from '../../../internal/request-options';
17
+
18
+ export class PerformanceInsights extends APIResource {
19
+ conversations: ConversationsAPI.Conversations = new ConversationsAPI.Conversations(this._client);
20
+
21
+ /**
22
+ * Generate an embeddable URL and token for the Performance Insights dashboard.
23
+ * Requires a TrueLearn userContextJwt to authenticate data access.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const response = await client.v1.performanceInsights.generateEmbed({
28
+ * userContextJwt: 'userContextJwt',
29
+ * });
30
+ * ```
31
+ */
32
+ generateEmbed(
33
+ body: PerformanceInsightsGenerateEmbedParams,
34
+ options?: RequestOptions,
35
+ ): APIPromise<PerformanceInsightsGenerateEmbedResponse> {
36
+ return this._client.post('/api/v1/performance-insights/embed', { body, ...options });
37
+ }
38
+
39
+ /**
40
+ * Stream an AI-powered analytics response using server-sent events (SSE).
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * await client.v1.performanceInsights.stream();
45
+ * ```
46
+ */
47
+ stream(
48
+ params: PerformanceInsightsStreamParams | null | undefined = {},
49
+ options?: RequestOptions,
50
+ ): APIPromise<void> {
51
+ const { 'x-embed-token': xEmbedToken, 'x-user-id': xUserID, ...body } = params ?? {};
52
+ return this._client.post('/api/v1/performance-insights/stream', {
53
+ body,
54
+ ...options,
55
+ headers: buildHeaders([
56
+ {
57
+ Accept: '*/*',
58
+ ...(xEmbedToken != null ? { 'x-embed-token': xEmbedToken } : undefined),
59
+ ...(xUserID != null ? { 'x-user-id': xUserID } : undefined),
60
+ },
61
+ options?.headers,
62
+ ]),
63
+ });
64
+ }
65
+ }
66
+
67
+ export interface PerformanceInsightsGenerateEmbedResponse {
68
+ /**
69
+ * Full embed URL for iframe integration
70
+ */
71
+ embedUrl: string;
72
+
73
+ /**
74
+ * JWT embed token
75
+ */
76
+ token: string;
77
+
78
+ /**
79
+ * Token expiration timestamp (1 hour from creation)
80
+ */
81
+ expiresAt: string;
82
+ }
83
+
84
+ export interface PerformanceInsightsGenerateEmbedParams {
85
+ /**
86
+ * TrueLearn user context JWT for data access
87
+ */
88
+ userContextJwt: string;
89
+
90
+ /**
91
+ * Show Python code execution details in the embed
92
+ */
93
+ debug?: boolean;
94
+
95
+ /**
96
+ * Group IDs for access control
97
+ */
98
+ groupIds?: Array<string>;
99
+
100
+ /**
101
+ * Embed height (e.g., "400px", "100vh")
102
+ */
103
+ height?: string;
104
+
105
+ /**
106
+ * Swagger/OpenAPI JSON path appended to the API base URL. Scopes which endpoints
107
+ * the bot can discover. Defaults to swagger/v1/swagger.json when omitted.
108
+ */
109
+ swaggerDocPath?: string;
110
+
111
+ /**
112
+ * IANA timezone string for data analysis (e.g., "America/New_York"). Timestamps in
113
+ * reports will be shown in this timezone.
114
+ */
115
+ timezone?: string;
116
+
117
+ /**
118
+ * TrueLearn API origin (https). Defaults to QA when omitted.
119
+ */
120
+ trueLearnApiBase?: string;
121
+
122
+ /**
123
+ * TrueLearn OAuth token URL (must include connect/token path). Defaults to QA login
124
+ * when omitted.
125
+ */
126
+ trueLearnTokenUrl?: string;
127
+
128
+ /**
129
+ * User ID for tracking. If omitted, derived from userContextJwt hash.
130
+ */
131
+ userId?: string;
132
+
133
+ /**
134
+ * Embed width (e.g., "100%", "600px")
135
+ */
136
+ width?: string;
137
+ }
138
+
139
+ export interface PerformanceInsightsStreamParams {
140
+ /**
141
+ * Body param: Session / conversation ID (AI SDK uses "id")
142
+ */
143
+ id?: string;
144
+
145
+ /**
146
+ * Body param: Component ID
147
+ */
148
+ componentId?: string;
149
+
150
+ /**
151
+ * Body param: Additional context
152
+ */
153
+ context?: unknown;
154
+
155
+ /**
156
+ * Body param: Group IDs for access control
157
+ */
158
+ groupIds?: Array<string>;
159
+
160
+ /**
161
+ * Body param: Messages array for AI SDK format
162
+ */
163
+ messages?: Array<string>;
164
+
165
+ /**
166
+ * Body param: Session ID
167
+ */
168
+ sessionId?: string;
169
+
170
+ /**
171
+ * Body param: IANA timezone string for data analysis
172
+ */
173
+ timezone?: string;
174
+
175
+ /**
176
+ * Body param: Trigger for AI SDK (what triggered the message)
177
+ */
178
+ trigger?: string;
179
+
180
+ /**
181
+ * Body param: User ID
182
+ */
183
+ userId?: string;
184
+
185
+ /**
186
+ * Header param: Embed token containing the TrueLearn userContextJwt
187
+ */
188
+ 'x-embed-token'?: string;
189
+
190
+ /**
191
+ * Header param: User ID header (used when authenticating via API key)
192
+ */
193
+ 'x-user-id'?: string;
194
+ }
195
+
196
+ PerformanceInsights.Conversations = Conversations;
197
+
198
+ export declare namespace PerformanceInsights {
199
+ export {
200
+ type PerformanceInsightsGenerateEmbedResponse as PerformanceInsightsGenerateEmbedResponse,
201
+ type PerformanceInsightsGenerateEmbedParams as PerformanceInsightsGenerateEmbedParams,
202
+ type PerformanceInsightsStreamParams as PerformanceInsightsStreamParams,
203
+ };
204
+
205
+ export {
206
+ Conversations as Conversations,
207
+ type ConversationListParams as ConversationListParams,
208
+ type ConversationCreateParams as ConversationCreateParams,
209
+ type ConversationRetrieveParams as ConversationRetrieveParams,
210
+ type ConversationPushMessagesParams as ConversationPushMessagesParams,
211
+ type ConversationRenameParams as ConversationRenameParams,
212
+ type ConversationDeleteParams as ConversationDeleteParams,
213
+ };
214
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './performance-insights/index';
@@ -63,6 +63,11 @@ export class Usage extends APIResource {
63
63
  }
64
64
 
65
65
  export interface UsageGetStatsParams {
66
+ /**
67
+ * Filter by component type
68
+ */
69
+ componentType?: string;
70
+
66
71
  /**
67
72
  * End date for stats (ISO 8601)
68
73
  */
@@ -82,6 +87,11 @@ export interface UsageGetStatsParams {
82
87
  * Filter by user ID
83
88
  */
84
89
  userId?: string;
90
+
91
+ /**
92
+ * Filter by resource ID (component ID)
93
+ */
94
+ resourceId?: string;
85
95
  }
86
96
 
87
97
  export interface UsageGetSummaryParams {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as ChatAPI from './chat';
5
- import { Chat, ChatStreamParams } from './chat';
5
+ import { Chat, ChatRetrieveFeedbackParams, ChatStreamParams } from './chat';
6
6
  import * as ChatAnalyticsAPI from './chat-analytics';
7
7
  import {
8
8
  ChatAnalytics,
@@ -27,6 +27,8 @@ import * as FoldersAPI from './folders';
27
27
  import {
28
28
  FolderCreateParams,
29
29
  FolderCreateResponse,
30
+ FolderGetByNameParams,
31
+ FolderGetByNameResponse,
30
32
  FolderGetTreeResponse,
31
33
  FolderListMaterialsParams,
32
34
  FolderListMaterialsResponse,
@@ -96,6 +98,13 @@ import {
96
98
  PdfGeneratorDeleteResponse,
97
99
  PdfGeneratorGetAllResponse,
98
100
  } from './pdf-generator/pdf-generator';
101
+ import * as PerformanceInsightsAPI from './performance-insights/performance-insights';
102
+ import {
103
+ PerformanceInsights,
104
+ PerformanceInsightsGenerateEmbedParams,
105
+ PerformanceInsightsGenerateEmbedResponse,
106
+ PerformanceInsightsStreamParams,
107
+ } from './performance-insights/performance-insights';
99
108
  import { APIPromise } from '../../core/api-promise';
100
109
  import { buildHeaders } from '../../internal/headers';
101
110
  import { RequestOptions } from '../../internal/request-options';
@@ -113,6 +122,8 @@ export class V1 extends APIResource {
113
122
  );
114
123
  materials: MaterialsAPI.Materials = new MaterialsAPI.Materials(this._client);
115
124
  pdfGenerator: PdfGeneratorAPI.PdfGenerator = new PdfGeneratorAPI.PdfGenerator(this._client);
125
+ performanceInsights: PerformanceInsightsAPI.PerformanceInsights =
126
+ new PerformanceInsightsAPI.PerformanceInsights(this._client);
116
127
 
117
128
  /**
118
129
  * Test MongoDB connection and get outbound IP
@@ -140,12 +151,14 @@ V1.ChatAnalytics = ChatAnalytics;
140
151
  V1.AssignmentGrader = AssignmentGrader;
141
152
  V1.Materials = Materials;
142
153
  V1.PdfGenerator = PdfGenerator;
154
+ V1.PerformanceInsights = PerformanceInsights;
143
155
 
144
156
  export declare namespace V1 {
145
157
  export {
146
158
  Folders as Folders,
147
159
  type FolderMetadata as FolderMetadata,
148
160
  type FolderCreateResponse as FolderCreateResponse,
161
+ type FolderGetByNameResponse as FolderGetByNameResponse,
149
162
  type FolderRetrieveResponse as FolderRetrieveResponse,
150
163
  type FolderUpdateResponse as FolderUpdateResponse,
151
164
  type FolderListResponse as FolderListResponse,
@@ -153,6 +166,7 @@ export declare namespace V1 {
153
166
  type FolderListMaterialsResponse as FolderListMaterialsResponse,
154
167
  type FolderMoveResponse as FolderMoveResponse,
155
168
  type FolderCreateParams as FolderCreateParams,
169
+ type FolderGetByNameParams as FolderGetByNameParams,
156
170
  type FolderUpdateParams as FolderUpdateParams,
157
171
  type FolderListParams as FolderListParams,
158
172
  type FolderListMaterialsParams as FolderListMaterialsParams,
@@ -191,7 +205,11 @@ export declare namespace V1 {
191
205
  type EmbedVerifyParams as EmbedVerifyParams,
192
206
  };
193
207
 
194
- export { Chat as Chat, type ChatStreamParams as ChatStreamParams };
208
+ export {
209
+ Chat as Chat,
210
+ type ChatRetrieveFeedbackParams as ChatRetrieveFeedbackParams,
211
+ type ChatStreamParams as ChatStreamParams,
212
+ };
195
213
 
196
214
  export {
197
215
  ChatAnalytics as ChatAnalytics,
@@ -245,4 +263,11 @@ export declare namespace V1 {
245
263
  type PdfGeneratorGetAllResponse as PdfGeneratorGetAllResponse,
246
264
  type PdfGeneratorCreateParams as PdfGeneratorCreateParams,
247
265
  };
266
+
267
+ export {
268
+ PerformanceInsights as PerformanceInsights,
269
+ type PerformanceInsightsGenerateEmbedResponse as PerformanceInsightsGenerateEmbedResponse,
270
+ type PerformanceInsightsGenerateEmbedParams as PerformanceInsightsGenerateEmbedParams,
271
+ type PerformanceInsightsStreamParams as PerformanceInsightsStreamParams,
272
+ };
248
273
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '1.43.0'; // x-release-please-version
1
+ export const VERSION = '1.46.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.43.0";
1
+ export declare const VERSION = "1.46.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.43.0";
1
+ export declare const VERSION = "1.46.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '1.43.0'; // x-release-please-version
4
+ exports.VERSION = '1.46.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.43.0'; // x-release-please-version
1
+ export const VERSION = '1.46.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map