MCPcopy Index your code
hub / github.com/github/copilot-sdk / ScheduleEntry

Class ScheduleEntry

python/copilot/generated/rpc.py:6118–6189  ·  view source on GitHub ↗

Schema for the `ScheduleEntry` type. The removed entry, or omitted if no entry matched.

Source from the content-addressed store, hash-verified

6116# Experimental: this type is part of an experimental API and may change or be removed.
6117@dataclass
6118class ScheduleEntry:
6119 """Schema for the `ScheduleEntry` type.
6120
6121 The removed entry, or omitted if no entry matched.
6122 """
6123 id: int
6124 """Sequential id assigned by the runtime within the session. Stable across resumes (rebuilt
6125 from the event log).
6126 """
6127 next_run_at: datetime
6128 """ISO 8601 timestamp when the next tick is scheduled to fire."""
6129
6130 prompt: str
6131 """Prompt text that gets enqueued on every tick."""
6132
6133 recurring: bool
6134 """Whether the schedule re-arms after each tick (`/every`) or fires once (`/after`)."""
6135
6136 at: int | None = None
6137 """Absolute fire time (epoch milliseconds) for a one-shot calendar schedule."""
6138
6139 cron: str | None = None
6140 """5-field cron expression for a recurring calendar schedule, evaluated in `tz`."""
6141
6142 display_prompt: str | None = None
6143 """Display-only label for the prompt as shown in the UI (e.g. `/skill-name` for a
6144 skill-invocation schedule). The actual enqueued prompt is `prompt`.
6145 """
6146 interval_ms: int | None = None
6147 """Interval between scheduled ticks, in milliseconds (relative-interval schedules)."""
6148
6149 self_paced: bool | None = None
6150 """True for a self-paced (`dynamic`) schedule: no fixed cadence; the model arms each next
6151 run via the `manage_schedule` `wakeup` action. `nextRunAt` is model-controlled.
6152 """
6153 tz: str | None = None
6154 """IANA timezone the `cron` expression is evaluated in."""
6155
6156 @staticmethod
6157 def from_dict(obj: Any) -> 'ScheduleEntry':
6158 assert isinstance(obj, dict)
6159 id = from_int(obj.get("id"))
6160 next_run_at = from_datetime(obj.get("nextRunAt"))
6161 prompt = from_str(obj.get("prompt"))
6162 recurring = from_bool(obj.get("recurring"))
6163 at = from_union([from_int, from_none], obj.get("at"))
6164 cron = from_union([from_str, from_none], obj.get("cron"))
6165 display_prompt = from_union([from_str, from_none], obj.get("displayPrompt"))
6166 interval_ms = from_union([from_int, from_none], obj.get("intervalMs"))
6167 self_paced = from_union([from_bool, from_none], obj.get("selfPaced"))
6168 tz = from_union([from_str, from_none], obj.get("tz"))
6169 return ScheduleEntry(id, next_run_at, prompt, recurring, at, cron, display_prompt, interval_ms, self_paced, tz)
6170
6171 def to_dict(self) -> dict:
6172 result: dict = {}
6173 result["id"] = from_int(self.id)
6174 result["nextRunAt"] = self.next_run_at.isoformat()
6175 result["prompt"] = from_str(self.prompt)

Callers 1

from_dictMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…