AgentSession

Record something the user did, for the agent running this session

Changed on

Tells the agent running this session that the user did something in a client — edited the test configuration it saved, pointed the session at a test, a test case or a tracker issue, or attached a file — and does the server-side work that makes it true. Separate from the inbox because the inbox is a caller speaking. The sender recorded there is derived from the authenticated caller precisely so a caller cannot claim a person typed something, which leaves a client with no way to report a user action except to write prose and send it as the user's own words. These actions are mabl speaking: the caller names an action and its metadata, the server composes the text and queues it as system, so what the model reads is versioned with the API rather than assembled in each client. The server also does the work the action implies, and records none of it on the session. An agent session's artifacts belong to the turn that is running — a turn writes its whole merged set, built from what it loaded, and artifacts merge by name — so anything written into them from outside is replaced by that turn's stale copy. Nothing here writes one. An attachment's bytes go to the workspace's own storage, under a path derived from the session and the id and recorded nowhere. The agent finds the file by the id this message gives it, so a caller never supplies and never learns a location: one it supplied would be forged by definition, and there is no string that would resolve anywhere else. A reference is announced and validated, not stored. Reading one back still takes the reference list a planning client maintains; an agent keeping its own note of what it was told is a separate change.

post/agentSession/{id}/context/actions

Request

  • Base URL: https://api.mabl.com
  • URL: https://api.mabl.com/agentSession/{id}/context/actions
  • Auth: one of:
    • HTTP basic
    • API key in header Authorization

Path parameters

idstring required

Request body

action'test_configuration_edited' | 'test_referenced' | 'test_case_referenced' | 'xray_test_referenced' | 'tracker_issue_referenced' | 'file_attached' | 'page_viewed' required

What the user did. A closed set, because each member decides what the server does and what it says to the agent — there is no member meaning "something else, here is the text", which is the thing this endpoint exists instead of. test_configuration_edited is the user changing the configuration the agent saved, and is the one action that asks the agent to do something rather than merely telling it something. The four reference actions each name one thing the user pointed the session at. file_attached stores the file where the agent can read it by id. page_viewed says which page the user is on, which is the one action describing a state rather than an event: it is re-sent when they navigate, and each one replaces the last.

configuration_origin'live' | 'saved'

Which configuration the user edited, which is the only thing that changes how the edit is put to the agent. live is the configuration the conversation is working on. saved is a historical snapshot of a configuration the agent already saved, where editing it cannot rewrite anything, so the agent is told to adopt the values rather than that its own working copy moved.

idempotency_keystring

Makes a retry safe, on the same terms as the inbox: the same key to the same session twice returns the message stored the first time and queues nothing new. The work behind the action is idempotent on its own — a re-sent attachment id resolves to the file already stored under it, and a reference action stores nothing to repeat.

Response

The queued message, plus the identifier the agent will know the referenced or attached thing by. On a repeat of an idempotency key this is the message stored the first time, and nothing new was queued.

identifierstring

What the agent will call the thing this action named — a test id, a case identifier, the session's own identifier for a tracker issue, or an attachment id. Assigned by the server for a tracker issue, because two issues from different trackers can present the same key and an identifier the agent has already read must never come to mean a different item. Absent for test_configuration_edited, which names nothing.

Changes

    • info

      added the new optional request property /////

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the new jira enum value to the request property /