ask-app-server 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/lib/ask/app_server/server.rb +33 -0
- data/lib/ask/app_server/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 147a968eaddfd9ebce8ef4d0f04cb64c34e76a95e859a676ff79c75b270f6931
|
|
4
|
+
data.tar.gz: ce70ee81dfe2a5a0dcb4d1bd922b97d90f6aae5675c764df11bf99d1a585c7ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 68a1c0af900543c31aedc96625c1df396507c44cc584267ad27e8ec9253d31029a79139537f3db0967b48ef6fee6cc33ace6ab1723b4b5741f6b436f40bdea0d
|
|
7
|
+
data.tar.gz: a4e0fa7e7a3004dbe8a7ca935254cb879d6a8125ee4e480520a28d5397653ed71fe40f896eacd3b0b98429bea3e8af88727684da590def6eb7d0d3b313aeb36d
|
|
@@ -274,6 +274,39 @@ module Ask
|
|
|
274
274
|
{ aborted: true, sessionId: session_id }
|
|
275
275
|
end
|
|
276
276
|
|
|
277
|
+
# Artifacts: list the session's tool deliverables
|
|
278
|
+
handler("session/artifacts") do |params, _id|
|
|
279
|
+
session_id = params["sessionId"] || params[:sessionId]
|
|
280
|
+
raise InvalidRequest, "sessionId is required" unless session_id
|
|
281
|
+
|
|
282
|
+
adapter = @session_manager.get(session_id)
|
|
283
|
+
raise Ask::AppServer::SessionNotFound, "Session #{session_id} not found" unless adapter
|
|
284
|
+
|
|
285
|
+
agent = adapter.session
|
|
286
|
+
raise InvalidRequest, "session has no artifact store (artifacts: not enabled)" unless agent.artifact_store
|
|
287
|
+
|
|
288
|
+
{ artifacts: agent.artifacts }
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
# Artifact: fetch one (content for inline artifacts, uri for
|
|
292
|
+
# external binaries)
|
|
293
|
+
handler("session/artifact/get") do |params, _id|
|
|
294
|
+
session_id = params["sessionId"] || params[:sessionId]
|
|
295
|
+
artifact_id = params["artifactId"] || params[:artifactId]
|
|
296
|
+
raise InvalidRequest, "sessionId and artifactId are required" unless session_id && artifact_id
|
|
297
|
+
|
|
298
|
+
adapter = @session_manager.get(session_id)
|
|
299
|
+
raise Ask::AppServer::SessionNotFound, "Session #{session_id} not found" unless adapter
|
|
300
|
+
|
|
301
|
+
agent = adapter.session
|
|
302
|
+
raise InvalidRequest, "session has no artifact store (artifacts: not enabled)" unless agent.artifact_store
|
|
303
|
+
|
|
304
|
+
record = agent.fetch_artifact(artifact_id)
|
|
305
|
+
raise InvalidRequest, "Artifact #{artifact_id} not found" unless record
|
|
306
|
+
|
|
307
|
+
{ artifact: record }
|
|
308
|
+
end
|
|
309
|
+
|
|
277
310
|
# Workspace: read state
|
|
278
311
|
handler("workspace/readState") do |params, _id|
|
|
279
312
|
@session_manager.read_workspace_state
|