skip to content
$worker

provider-github-copilot

v0.1.6

GitHub Copilot subscription provider worker; sign in with GitHub once and the models the plan grants appear in the picker. Implements provider::github-copilot::stream, refresh_models, and a device-flow login surface behind llm-router.

iiiverified
3 installs0 in 7d0 today
install
$iii trigger compose::add worker=provider-github-copilot@0.1.6
  • macOS: arm64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64

exact versions are immutable; binary and bundle artifacts are digest-pinned.

functions

6

provider::github-copilot::abort

function

Cancel the in-flight upstream stream for a request_id (router::abort fan-out), stopping billed generation immediately.

request
  • request_idstringrequired
response
  • abortedbooleanrequired

provider::github-copilot::login::poll

function

Complete the device-flow sign-in: exchanges the device_code once the operator has entered the user_code; on success the GitHub credential is stored and discovery runs. Returns ok | pending | expired | denied.

request
  • device_codestringrequired

    The `device_code` from `login::start`.

response
  • retry_after_secondsinteger· uint64min 0

    Seconds to add to the poll interval; set when `status` is `slow_down`.

  • statusone ofrequired

    Outcome of one poll. `SlowDown` is kept distinct from `Pending` because GitHub asks callers to lengthen their interval when it appears; the requested wait rides along in `retry_after_seconds`.

    one of (5)
    variant 1
    valuestringenum: ok
    variant 2
    valuestringenum: pending
    variant 3
    valuestringenum: slow_down
    variant 4
    valuestringenum: expired
    variant 5
    valuestringenum: denied

provider::github-copilot::login::start

function

Begin the GitHub device-flow sign-in: returns the user_code to enter at the verification URL plus the device_code for login::poll. Operator-only.

request
empty object
response
  • device_codestringrequired

    Opaque device code to pass to `login::poll`.

  • expires_ininteger· uint64requiredmin 0

    Seconds until the device code expires.

  • intervalinteger· uint64requiredmin 0

    Seconds to wait between polls (GitHub's requested cadence).

  • user_codestringrequired

    Code the operator types at `verification_uri`.

  • verification_uristringrequired

    Where to type it (github.com/login/device).

provider::github-copilot::on_router_ready

function

Internal: router::ready subscriber that re-declares this provider and refreshes its catalog.

request
empty object
response
  • okbooleanrequired

provider::github-copilot::refresh_models

function

Refresh the Copilot catalog slice from GET /models — ids, windows, and capability flags come from the live listing the subscription enables — and reconcile it through the router; returns the model count written.

request
empty object
response
  • countinteger· uintrequiredmin 0
  • okbooleanrequired

provider::github-copilot::stream

function

Stream a GitHub Copilot chat completion: exchange the GitHub credential for a Copilot bearer, call the Chat Completions API, and relay AssistantMessageEvent frames to writer_ref.

request
  • max_output_tokensinteger· uint64min 0
  • messagesany of[]required
    any of (4)
    variant 1
    • contentone of[]required
      … expand 6 nested
      one of (6)
      variant 1
      • textstringrequired
      • typestringrequiredenum: text
      variant 2
      • datastringrequired
      • mimestringrequired
      • typestringrequiredenum: image
      variant 3
      • signaturestring
      • textstringrequired
      • typestringrequiredenum: thinking
      variant 4
      • datastringrequired
      • typestringrequiredenum: redacted_thinking
      variant 5
      • argumentsunknownrequired
      • function_idstringrequired
      • idstringrequired
      • typestringrequiredenum: function_call
      variant 6
      • contentunknown[]required
      • function_call_idstringrequired
      • is_errorboolean
      • typestringrequiredenum: function_result
    • error_kindany of
      … expand 2 nested
      any of (2)
      variant 1
      valuestringenum: auth_expired, rate_limited, context_overflow, transient, permanent
      variant 2
      valuenull
    • error_messagestring
    • modelstringrequired
    • native_stop_reasonstring
    • providerstringrequired
    • rolestringrequiredenum: assistant
    • stop_reasonstringrequiredenum: end, length, function_call, aborted, error
    • timestampinteger· int64required
    • usageany of
      … expand 2 nested
      any of (2)
      variant 1
      • cache_readinteger· uint64min 0
      • cache_writeinteger· uint64min 0
      • cost_usdnumber· double
      • inputinteger· uint64min 0
      • outputinteger· uint64min 0
      • reasoninginteger· uint64min 0
      variant 2
      valuenull
    • warningsstring[]
    variant 2
    • contentone of[]required
      … expand 6 nested
      one of (6)
      variant 1
      • textstringrequired
      • typestringrequiredenum: text
      variant 2
      • datastringrequired
      • mimestringrequired
      • typestringrequiredenum: image
      variant 3
      • signaturestring
      • textstringrequired
      • typestringrequiredenum: thinking
      variant 4
      • datastringrequired
      • typestringrequiredenum: redacted_thinking
      variant 5
      • argumentsunknownrequired
      • function_idstringrequired
      • idstringrequired
      • typestringrequiredenum: function_call
      variant 6
      • contentunknown[]required
      • function_call_idstringrequired
      • is_errorboolean
      • typestringrequiredenum: function_result
    • detailsunknownrequired
    • function_call_idstringrequired
    • function_idstringrequired
    • is_errorbooleanrequired
    • rolestringrequiredenum: function_result
    • timestampinteger· int64required
    variant 3
    • contentone of[]required
      … expand 6 nested
      one of (6)
      variant 1
      • textstringrequired
      • typestringrequiredenum: text
      variant 2
      • datastringrequired
      • mimestringrequired
      • typestringrequiredenum: image
      variant 3
      • signaturestring
      • textstringrequired
      • typestringrequiredenum: thinking
      variant 4
      • datastringrequired
      • typestringrequiredenum: redacted_thinking
      variant 5
      • argumentsunknownrequired
      • function_idstringrequired
      • idstringrequired
      • typestringrequiredenum: function_call
      variant 6
      • contentunknown[]required
      • function_call_idstringrequired
      • is_errorboolean
      • typestringrequiredenum: function_result
    • custom_typestringrequired
    • detailsunknown
    • displaystring
    • rolestringrequiredenum: custom
    • timestampinteger· int64required
    variant 4
    • contentone of[]required
      … expand 6 nested
      one of (6)
      variant 1
      • textstringrequired
      • typestringrequiredenum: text
      variant 2
      • datastringrequired
      • mimestringrequired
      • typestringrequiredenum: image
      variant 3
      • signaturestring
      • textstringrequired
      • typestringrequiredenum: thinking
      variant 4
      • datastringrequired
      • typestringrequiredenum: redacted_thinking
      variant 5
      • argumentsunknownrequired
      • function_idstringrequired
      • idstringrequired
      • typestringrequiredenum: function_call
      variant 6
      • contentunknown[]required
      • function_call_idstringrequired
      • is_errorboolean
      • typestringrequiredenum: function_result
    • rolestringrequiredenum: user

      Single-variant role tags: exact-match on deserialize, correct wire string on serialize, and they let `AgentMessage` be an untagged union.

    • timestampinteger· int64required
  • modelstringrequired
  • model_metaany of
    any of (2)
    variant 1
    • context_windowinteger· uint64requiredmin 0
    • display_namestring
    • idstringrequired
    • input_limitinteger· uint64min 0
    • max_output_tokensinteger· uint64requiredmin 0
    • pricingany of
      … expand 2 nested
      any of (2)
      variant 1
      • cache_readnumber· double
      • cache_writenumber· double
      • inputnumber· double
      • outputnumber· double
      variant 2
      valuenull
    • providerstringrequired
    • reasoning_effortsobject[]
      … expand 2 nested
      • descriptionstring
      • effortstringrequired
    • supports_cacheboolean
    • supports_structured_outputboolean
    • supports_thinkingboolean
    • supports_toolsboolean
    • supports_visionboolean
    • supports_xhighboolean
    • thinking_budgetsobject
    variant 2
    valuenull
  • provider_optionsunknown
  • resolution_keystring
  • response_formatany of
    any of (2)
    variant 1
    • schemaunknown
    • typestringrequired
    variant 2
    valuenull
  • session_idstring

    Stable conversation identity for provider cache affinity.

  • system_promptstring
  • thinking_levelany of
    any of (2)
    variant 1
    valuestringenum: minimal, low, medium, high, xhigh
    variant 2
    valuenull
  • toolsobject[]
    • descriptionstringrequired
    • execution_modestring
    • labelstring
    • namestringrequired
    • parametersunknownrequired
  • writer_refobjectrequired
    • access_keystringrequired
    • channel_idstringrequired
    • directionstringrequiredenum: read, write
response
  • okbooleanrequired

triggers

0
no triggers registered