Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

observatory.events

Události žurnálu meshe nad kurzorem, tak jak je kreslí scéna aktivity Observatory: identita, druh, uzel, logické hodiny a čas, od nejnovější, nejvýše jedna stránka. Kurzor odpovědi je `after` dalšího požadavku; kurzor, kterého tento žurnál nikdy nedosáhl, vypršel a čtenář vezme novou projekci. Bez kurzoru nejnovější stránka.

Události žurnálu meshe nad kurzorem, tak jak je kreslí scéna aktivity Observatory: identita, druh, uzel, logické hodiny a čas, od nejnovější, nejvýše jedna stránka. Kurzor odpovědi je `after` dalšího požadavku; kurzor, kterého tento žurnál nikdy nedosáhl, vypršel a čtenář vezme novou projekci. Bez kurzoru nejnovější stránka.

Zpřístupnění

Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.

povrchjako
MCPnástroj majordomus_observatory_events
HTTPGET /api/v1/observatory/events operationId observatory.events
příkazová řádka—

Schémata

Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.

vstup · ObservatoryEventsInput

Vstup observatory.events: kurzor a velikost stránky.

use majordomus_cli::capability::builtin::observatory::ObservatoryEventsInput;
let q: ObservatoryEventsInput = serde_json::from_value(serde_json::json!({ "after": 42 })).unwrap();
assert_eq!((q.after, q.limit), (Some(42), None));
assert!(serde_json::from_value::<ObservatoryEventsInput>(serde_json::json!({ "since": 1 })).is_err());
vlastnosttyppovinnépopis
po integer | null ne Kurzor: jen události, jejichž logické hodiny jsou nad ním. Vynechání znamená nejnovější stránku.
limit integer | null ne Nejvýše tolik (výchozí 200, nejvýše 1000).
JSON Schema
{
  "additionalProperties": false,
  "description": "The input of `observatory.events`: a cursor and a page size.\n\n```\nuse majordomus_cli::capability::builtin::observatory::ObservatoryEventsInput;\nlet q: ObservatoryEventsInput = serde_json::from_value(serde_json::json!({ \"after\": 42 })).unwrap();\nassert_eq!((q.after, q.limit), (Some(42), None));\nassert!(serde_json::from_value::<ObservatoryEventsInput>(serde_json::json!({ \"since\": 1 })).is_err());\n```",
  "properties": {
    "after": {
      "description": "The cursor: only events whose logical clock is above it. Absent is the newest page.",
      "format": "uint64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "limit": {
      "description": "At most this many (default 200, at most 1000).",
      "format": "uint64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "title": "ObservatoryEventsInput",
  "type": "object"
}

výstup · ObservatoryEvents

Události Observatoře nad kurzorem tak, jak je kreslí scéna aktivity.

use majordomus_cli::capability::builtin::observatory::ObservatoryEvents;
let e: ObservatoryEvents = serde_json::from_value(serde_json::json!({
    "active": true, "after": 9, "cursor": 12, "expired": false, "events": [{ "id": "s:3" }],
})).unwrap();
assert!(e.cursor > e.after.unwrap(), "the next request resumes past what was read");
vlastnosttyppovinnépopis
aktivní boolean ano Zda v tomto procesu běží mesh; bez něj není žurnál, který by se dal sledovat.
po integer | null ne Kurzor, na který se ptalo, pokud se ptalo.
cursor integer ano Kurzor, na který se ptát příště: logické hodiny nejnovější přečtené události, nebo nejnovější hodiny žurnálu, když kurzor vypršel.
events array ano Události nad kurzorem, nejnovější první, jako značky: identita, druh, uzel, logické hodiny a čas, nikdy tělo.
vypršelo boolean ano Kurzor pojmenovává hodiny, kterých tento žurnál nikdy nedosáhl (žurnál jiného runtime, nebo takový, který se restartoval): nic nad ním nelze přečíst a čtenář vezme novou projekci.
JSON Schema
{
  "description": "The Observatory's events above a cursor, as the activity scene draws them.\n\n```\nuse majordomus_cli::capability::builtin::observatory::ObservatoryEvents;\nlet e: ObservatoryEvents = serde_json::from_value(serde_json::json!({\n    \"active\": true, \"after\": 9, \"cursor\": 12, \"expired\": false, \"events\": [{ \"id\": \"s:3\" }],\n})).unwrap();\nassert!(e.cursor > e.after.unwrap(), \"the next request resumes past what was read\");\n```",
  "properties": {
    "active": {
      "description": "Whether a mesh runs in this process; without one there is no journal to follow.",
      "type": "boolean"
    },
    "after": {
      "description": "The cursor that was asked, when one was.",
      "format": "uint64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "cursor": {
      "description": "The cursor to ask next: the logical clock of the newest event read, or the journal's\nnewest clock when the cursor had expired.",
      "format": "uint64",
      "minimum": 0,
      "type": "integer"
    },
    "events": {
      "description": "The events above the cursor, newest first, as marks: identity, kind, node, logical\nclock and time, never a body.",
      "items": true,
      "type": "array"
    },
    "expired": {
      "description": "The cursor names a clock this journal never reached (another runtime's journal, or one\nthat restarted): nothing above it can be read, and the reader takes a fresh projection.",
      "type": "boolean"
    }
  },
  "required": [
    "active",
    "cursor",
    "expired",
    "events"
  ],
  "title": "ObservatoryEvents",
  "type": "object"
}

Politiky

benchmark
povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
cache
vypnuto — každé volání spustí handler

Cíle benchmarku

Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.

transportstatepřípadytargets
directpokryto2nejnovější
za kurzorem
mcppokryto2nejnovější
za kurzorem
httppokryto2nejnovější
za kurzorem

Prohledává názvy a popisy všech stránek, které tento web publikuje.