@anvia/studio 1.2.3 → 1.3.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 (36) hide show
  1. package/README.md +12 -0
  2. package/dist/index.d.ts +12 -2
  3. package/dist/index.js +22 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/ui/assets/{graphs-page-DqwPocIY.js → graphs-page-BsVGFFv1.js} +2 -2
  6. package/dist/ui/assets/{graphs-page-DqwPocIY.js.map → graphs-page-BsVGFFv1.js.map} +1 -1
  7. package/dist/ui/assets/index-BDFcpxF9.css +2 -0
  8. package/dist/ui/assets/index-CM07xxYU.js +67 -0
  9. package/dist/ui/assets/index-CM07xxYU.js.map +1 -0
  10. package/dist/ui/assets/{knowledge-page-B28XrwD1.js → knowledge-page-CguNnujL.js} +2 -2
  11. package/dist/ui/assets/{knowledge-page-B28XrwD1.js.map → knowledge-page-CguNnujL.js.map} +1 -1
  12. package/dist/ui/assets/{mcps-page-Cp0cXu3k.js → mcps-page-BZVfflk-.js} +2 -2
  13. package/dist/ui/assets/{mcps-page-Cp0cXu3k.js.map → mcps-page-BZVfflk-.js.map} +1 -1
  14. package/dist/ui/assets/{memory-page-3S_mBxnY.js → memory-page-DyK3UTyb.js} +2 -2
  15. package/dist/ui/assets/{memory-page-3S_mBxnY.js.map → memory-page-DyK3UTyb.js.map} +1 -1
  16. package/dist/ui/assets/{pipelines-page-CfRbR4Po.js → pipelines-page-Dqcq7IGL.js} +2 -2
  17. package/dist/ui/assets/{pipelines-page-CfRbR4Po.js.map → pipelines-page-Dqcq7IGL.js.map} +1 -1
  18. package/dist/ui/assets/{renderers-C5qoR_20.js → renderers-BakHuLSK.js} +26 -24
  19. package/dist/ui/assets/renderers-BakHuLSK.js.map +1 -0
  20. package/dist/ui/assets/{status-page-BeUxNJNp.js → status-page-DvH1oCw1.js} +2 -2
  21. package/dist/ui/assets/{status-page-BeUxNJNp.js.map → status-page-DvH1oCw1.js.map} +1 -1
  22. package/dist/ui/assets/{team-playground-YxRSJeOf.js → team-playground-C-nJy3BC.js} +2 -2
  23. package/dist/ui/assets/{team-playground-YxRSJeOf.js.map → team-playground-C-nJy3BC.js.map} +1 -1
  24. package/dist/ui/assets/{tool-runner-DvhSexHU.js → tool-runner-D3CdDSUU.js} +2 -2
  25. package/dist/ui/assets/{tool-runner-DvhSexHU.js.map → tool-runner-D3CdDSUU.js.map} +1 -1
  26. package/dist/ui/assets/{tools-page-B613Kgf3.js → tools-page-C0lqOcri.js} +2 -2
  27. package/dist/ui/assets/{tools-page-B613Kgf3.js.map → tools-page-C0lqOcri.js.map} +1 -1
  28. package/dist/ui/assets/{transcript-item-B_Lyu12N.js → transcript-item-D9M-VsnP.js} +2 -2
  29. package/dist/ui/assets/transcript-item-D9M-VsnP.js.map +1 -0
  30. package/dist/ui/index.html +2 -2
  31. package/package.json +8 -8
  32. package/dist/ui/assets/index-C0JlQS8v.js +0 -67
  33. package/dist/ui/assets/index-C0JlQS8v.js.map +0 -1
  34. package/dist/ui/assets/index-DDzW7QMd.css +0 -2
  35. package/dist/ui/assets/renderers-C5qoR_20.js.map +0 -1
  36. package/dist/ui/assets/transcript-item-B_Lyu12N.js.map +0 -1
package/README.md CHANGED
@@ -248,6 +248,18 @@ new Studio([agent], {
248
248
  }).start();
249
249
  ```
250
250
 
251
+ The store is caller-owned, so release it when the application shuts down. `close()` releases the SQLite handle and the store reopens lazily on the next call:
252
+
253
+ ```ts
254
+ const store = createSqliteSessionStore({ path: ".anvia/studio.sqlite" });
255
+
256
+ await new Studio([agent], { stores: { sessions: store } }).serve({
257
+ onShutdown: () => store.close(),
258
+ });
259
+ ```
260
+
261
+ Closing matters on Windows, where an open handle keeps the database file locked and blocks removing or moving its directory. If schema setup fails while opening the database, the store closes the handle before reporting the error, so deleting or recreating the file works as the error message suggests.
262
+
251
263
  SQLite storage uses dedicated `anvia_studio_*` tables so it can share an application database without writing into product tables.
252
264
 
253
265
  ## Exports
package/dist/index.d.ts CHANGED
@@ -1138,8 +1138,18 @@ declare class Studio implements AnviaStudio {
1138
1138
  type SqliteSessionStoreOptions = {
1139
1139
  path?: string;
1140
1140
  };
1141
- declare function createSqliteSessionStore(options?: SqliteSessionStoreOptions): StudioSessionStore & StudioTraceStore & StudioPipelineLogStore & StudioPipelineRunStore;
1141
+ /** A SQLite-backed Studio store plus an explicit handle release. */
1142
+ type SqliteSessionStoreHandle = StudioSessionStore & StudioTraceStore & StudioPipelineLogStore & StudioPipelineRunStore & {
1143
+ /**
1144
+ * Releases the underlying SQLite handle. Safe to call more than once; the store
1145
+ * reopens lazily on the next call. Closing matters because the database file stays
1146
+ * locked while the handle is open, which blocks removing or relocating its directory
1147
+ * on Windows (`EPERM`).
1148
+ */
1149
+ close(): void;
1150
+ };
1151
+ declare function createSqliteSessionStore(options?: SqliteSessionStoreOptions): SqliteSessionStoreHandle;
1142
1152
 
1143
1153
  declare function createInMemoryStudioStore(): StudioSessionStore & StudioTraceStore & StudioPipelineLogStore & StudioPipelineRunStore;
1144
1154
 
1145
- export { type AgentRunRequest, type AgentRunResponse, type AgentRunStreamEvent, type AgentTraceInfo, type AgentTraceOptions, type AnviaStudio, type SqliteSessionStoreOptions, Studio, type StudioAgent, type StudioAgentConfig, type StudioAgentKnowledgeConfig, type StudioAgentMcpServerMetadata, type StudioAgentMcpToolMetadata, type StudioAgentMcpsSummary, type StudioAgentModelPolicy, type StudioAgentModelPolicyConfig, type StudioAgentModelsSummary, type StudioAgentRuntimeSummary, type StudioAgentToolApprovalMetadata, type StudioAgentToolMetadata, type StudioAgentToolSource, type StudioAgentToolsSummary, type StudioCapability, type StudioCapabilityConfig, type StudioConfig, type StudioErrorCode, type StudioErrorResponse, type StudioEvalCasePreview, type StudioEvalMetricSummary, type StudioEvalRunRequest, type StudioEvalRunResponse, type StudioEvalSuite, type StudioEvalSuiteConfig, type StudioGraphConfig, type StudioGraphExploreRequest, type StudioGraphRegistration, type StudioKnowledgeEvidence, type StudioKnowledgeEvidenceDocument, type StudioKnowledgeItem, type StudioKnowledgeItemKind, type StudioKnowledgeItemsPage, type StudioKnowledgeSourceKind, type StudioKnowledgeSourceSummary, type StudioKnowledgeSummary, type StudioMemoryAppendOptions, type StudioMemoryConversationMessages, type StudioMemoryConversationSteps, type StudioMemoryConversationSummary, type StudioMemoryConversationsPage, type StudioMemoryErrorOptions, type StudioMemoryMessageRecord, type StudioMemoryScope, type StudioMemorySourceConversationMessages, type StudioMemorySourceConversationSteps, type StudioMemorySourceConversationSummary, type StudioMemorySourceConversationsPage, type StudioMemorySourceKind, type StudioMemorySourceSummary, type StudioMemorySourceUsersPage, type StudioMemorySourcesPage, type StudioMemoryStore, type StudioMemoryUserSummary, type StudioMemoryUsersPage, type StudioModelConfig, type StudioModelDefinition, type StudioModelModalities, type StudioModelModality, type StudioModelProvider, type StudioModelProviderConfig, type StudioModelRef, type StudioModelSummary, type StudioModelsConfig, type StudioObservabilityEvent, type StudioObservabilityEventType, type StudioOptions, type StudioPipeline, type StudioPipelineConfig, type StudioPipelineDetail, type StudioPipelineFinalEvent, type StudioPipelineLogAppendInput, type StudioPipelineLogCategory, type StudioPipelineLogEntry, type StudioPipelineLogEvent, type StudioPipelineLogLevel, type StudioPipelineLogListOptions, type StudioPipelineLogStore, type StudioPipelineReplayRequest, type StudioPipelineRunGetOptions, type StudioPipelineRunListOptions, type StudioPipelineRunRecord, type StudioPipelineRunRequest, type StudioPipelineRunResponse, type StudioPipelineRunSaveInput, type StudioPipelineRunStatus, type StudioPipelineRunStore, type StudioSandboxCapabilities, type StudioSandboxFileEntry, type StudioSandboxFileType, type StudioSandboxFilesResponse, type StudioSandboxInspector, type StudioSandboxInspectorFileEntry, type StudioSandboxInspectorPort, type StudioSandboxInspectorProcess, type StudioSandboxInspectorProcessLogs, type StudioSandboxPort, type StudioSandboxPortsResponse, type StudioSandboxProcess, type StudioSandboxProcessLogsResponse, type StudioSandboxProcessStatus, type StudioSandboxProcessesResponse, type StudioSandboxRegistration, type StudioSandboxSummary, type StudioSandboxViewAccess, type StudioSandboxViewAuthentication, type StudioSandboxViewAuthorizeArgs, type StudioSandboxViewConnection, type StudioSandboxViewControl, type StudioSandboxViewControlLease, type StudioSandboxViewControlSnapshot, type StudioSandboxViewRegistration, type StudioSandboxViewSource, type StudioSandboxViewSummary, type StudioSandboxesSummary, type StudioServeLifecycleOptions, type StudioServeOptions, type StudioSession, type StudioSessionCreateInput, type StudioSessionListOptions, type StudioSessionLogAppendInput, type StudioSessionLogCategory, type StudioSessionLogEntry, type StudioSessionLogEvent, type StudioSessionLogLevel, type StudioSessionLogListOptions, type StudioSessionRunStatus, type StudioSessionRunTranscriptInput, type StudioSessionStore, type StudioSessionSummary, type StudioSessionTraceListOptions, type StudioStaticKnowledgeDocument, type StudioStatusSummary, type StudioStores, type StudioTarget, type StudioTeamConfig, type StudioTeamRunEvent, type StudioTeamRunRequest, type StudioToolApprovalStatus, type StudioToolApprovalTranscript, type StudioToolQuestionAnswer, type StudioToolQuestionChoice, type StudioToolQuestionPrompt, type StudioToolQuestionStatus, type StudioToolQuestionTranscript, type StudioToolRunRequest, type StudioToolRunResponse, type StudioTrace, type StudioTraceListOptions, type StudioTraceObservation, type StudioTraceObservationKind, StudioTraceObserver, type StudioTraceObserverOptions, type StudioTraceStatus, type StudioTraceStore, type StudioTraceSummary, type StudioTranscriptAttachment, type StudioTranscriptChatEntry, type StudioTranscriptChildAgentEvent, type StudioTranscriptEntry, type StudioTranscriptReasoningEntry, type StudioTranscriptToolEntry, type StudioUiOptions, createInMemoryStudioStore, createSqliteSessionStore, traceSummary };
1155
+ export { type AgentRunRequest, type AgentRunResponse, type AgentRunStreamEvent, type AgentTraceInfo, type AgentTraceOptions, type AnviaStudio, type SqliteSessionStoreHandle, type SqliteSessionStoreOptions, Studio, type StudioAgent, type StudioAgentConfig, type StudioAgentKnowledgeConfig, type StudioAgentMcpServerMetadata, type StudioAgentMcpToolMetadata, type StudioAgentMcpsSummary, type StudioAgentModelPolicy, type StudioAgentModelPolicyConfig, type StudioAgentModelsSummary, type StudioAgentRuntimeSummary, type StudioAgentToolApprovalMetadata, type StudioAgentToolMetadata, type StudioAgentToolSource, type StudioAgentToolsSummary, type StudioCapability, type StudioCapabilityConfig, type StudioConfig, type StudioErrorCode, type StudioErrorResponse, type StudioEvalCasePreview, type StudioEvalMetricSummary, type StudioEvalRunRequest, type StudioEvalRunResponse, type StudioEvalSuite, type StudioEvalSuiteConfig, type StudioGraphConfig, type StudioGraphExploreRequest, type StudioGraphRegistration, type StudioKnowledgeEvidence, type StudioKnowledgeEvidenceDocument, type StudioKnowledgeItem, type StudioKnowledgeItemKind, type StudioKnowledgeItemsPage, type StudioKnowledgeSourceKind, type StudioKnowledgeSourceSummary, type StudioKnowledgeSummary, type StudioMemoryAppendOptions, type StudioMemoryConversationMessages, type StudioMemoryConversationSteps, type StudioMemoryConversationSummary, type StudioMemoryConversationsPage, type StudioMemoryErrorOptions, type StudioMemoryMessageRecord, type StudioMemoryScope, type StudioMemorySourceConversationMessages, type StudioMemorySourceConversationSteps, type StudioMemorySourceConversationSummary, type StudioMemorySourceConversationsPage, type StudioMemorySourceKind, type StudioMemorySourceSummary, type StudioMemorySourceUsersPage, type StudioMemorySourcesPage, type StudioMemoryStore, type StudioMemoryUserSummary, type StudioMemoryUsersPage, type StudioModelConfig, type StudioModelDefinition, type StudioModelModalities, type StudioModelModality, type StudioModelProvider, type StudioModelProviderConfig, type StudioModelRef, type StudioModelSummary, type StudioModelsConfig, type StudioObservabilityEvent, type StudioObservabilityEventType, type StudioOptions, type StudioPipeline, type StudioPipelineConfig, type StudioPipelineDetail, type StudioPipelineFinalEvent, type StudioPipelineLogAppendInput, type StudioPipelineLogCategory, type StudioPipelineLogEntry, type StudioPipelineLogEvent, type StudioPipelineLogLevel, type StudioPipelineLogListOptions, type StudioPipelineLogStore, type StudioPipelineReplayRequest, type StudioPipelineRunGetOptions, type StudioPipelineRunListOptions, type StudioPipelineRunRecord, type StudioPipelineRunRequest, type StudioPipelineRunResponse, type StudioPipelineRunSaveInput, type StudioPipelineRunStatus, type StudioPipelineRunStore, type StudioSandboxCapabilities, type StudioSandboxFileEntry, type StudioSandboxFileType, type StudioSandboxFilesResponse, type StudioSandboxInspector, type StudioSandboxInspectorFileEntry, type StudioSandboxInspectorPort, type StudioSandboxInspectorProcess, type StudioSandboxInspectorProcessLogs, type StudioSandboxPort, type StudioSandboxPortsResponse, type StudioSandboxProcess, type StudioSandboxProcessLogsResponse, type StudioSandboxProcessStatus, type StudioSandboxProcessesResponse, type StudioSandboxRegistration, type StudioSandboxSummary, type StudioSandboxViewAccess, type StudioSandboxViewAuthentication, type StudioSandboxViewAuthorizeArgs, type StudioSandboxViewConnection, type StudioSandboxViewControl, type StudioSandboxViewControlLease, type StudioSandboxViewControlSnapshot, type StudioSandboxViewRegistration, type StudioSandboxViewSource, type StudioSandboxViewSummary, type StudioSandboxesSummary, type StudioServeLifecycleOptions, type StudioServeOptions, type StudioSession, type StudioSessionCreateInput, type StudioSessionListOptions, type StudioSessionLogAppendInput, type StudioSessionLogCategory, type StudioSessionLogEntry, type StudioSessionLogEvent, type StudioSessionLogLevel, type StudioSessionLogListOptions, type StudioSessionRunStatus, type StudioSessionRunTranscriptInput, type StudioSessionStore, type StudioSessionSummary, type StudioSessionTraceListOptions, type StudioStaticKnowledgeDocument, type StudioStatusSummary, type StudioStores, type StudioTarget, type StudioTeamConfig, type StudioTeamRunEvent, type StudioTeamRunRequest, type StudioToolApprovalStatus, type StudioToolApprovalTranscript, type StudioToolQuestionAnswer, type StudioToolQuestionChoice, type StudioToolQuestionPrompt, type StudioToolQuestionStatus, type StudioToolQuestionTranscript, type StudioToolRunRequest, type StudioToolRunResponse, type StudioTrace, type StudioTraceListOptions, type StudioTraceObservation, type StudioTraceObservationKind, StudioTraceObserver, type StudioTraceObserverOptions, type StudioTraceStatus, type StudioTraceStore, type StudioTraceSummary, type StudioTranscriptAttachment, type StudioTranscriptChatEntry, type StudioTranscriptChildAgentEvent, type StudioTranscriptEntry, type StudioTranscriptReasoningEntry, type StudioTranscriptToolEntry, type StudioUiOptions, createInMemoryStudioStore, createSqliteSessionStore, traceSummary };
package/dist/index.js CHANGED
@@ -27658,6 +27658,16 @@ var SqliteSessionStore = class {
27658
27658
  replacePrefix: (options) => this.replaceCompactionPrefix(options)
27659
27659
  };
27660
27660
  db;
27661
+ /**
27662
+ * Releases the SQLite handle so the database file is no longer locked. Safe to call
27663
+ * repeatedly; the store reopens lazily on the next operation.
27664
+ */
27665
+ close() {
27666
+ if (this.db === void 0) return;
27667
+ const db = this.db;
27668
+ this.db = void 0;
27669
+ db.close();
27670
+ }
27661
27671
  listSessions(options) {
27662
27672
  const db = this.database();
27663
27673
  const agentClause = options.agentId === void 0 ? "" : "WHERE s.agent_id = $agentId";
@@ -28334,12 +28344,13 @@ var SqliteSessionStore = class {
28334
28344
  allowUnknownNamedParameters: true,
28335
28345
  timeout: 5e3
28336
28346
  });
28337
- db.exec(`
28347
+ try {
28348
+ db.exec(`
28338
28349
  PRAGMA journal_mode = WAL;
28339
28350
  PRAGMA foreign_keys = ON;
28340
28351
  `);
28341
- guardAgainstLegacySessionSchema(db);
28342
- db.exec(`
28352
+ guardAgainstLegacySessionSchema(db);
28353
+ db.exec(`
28343
28354
  CREATE TABLE IF NOT EXISTS anvia_studio_sessions (
28344
28355
  id TEXT PRIMARY KEY,
28345
28356
  agent_id TEXT NOT NULL,
@@ -28451,10 +28462,14 @@ var SqliteSessionStore = class {
28451
28462
  CREATE INDEX IF NOT EXISTS anvia_studio_traces_session_started_idx
28452
28463
  ON anvia_studio_traces(session_id, started_at DESC);
28453
28464
  `);
28454
- ensureSessionCompactionStateColumn(db);
28455
- ensureMessageMetadataColumn(db);
28456
- this.db = db;
28457
- return db;
28465
+ ensureSessionCompactionStateColumn(db);
28466
+ ensureMessageMetadataColumn(db);
28467
+ this.db = db;
28468
+ return db;
28469
+ } catch (error62) {
28470
+ db.close();
28471
+ throw error62;
28472
+ }
28458
28473
  }
28459
28474
  getSessionRow(id) {
28460
28475
  return this.database().prepare(