Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CopilotKit/OpenTag
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: CopilotKit/OpenTag
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feat/intelligence-adapter
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 15 commits
  • 45 files changed
  • 1 contributor

Commits on Jun 30, 2026

  1. feat: managed (Intelligence-hosted) mode via intelligenceAdapter

    Add app/managed.ts — the same OpenTag bot driven by CopilotKit Intelligence:
    Intelligence receives the Slack event and delivers it over HTTP; the bot runs
    its normal handlers/agent and replies via Intelligence (no Slack tokens here).
    Uses the config-free intelligenceAdapter() from @copilotkit/bot-intelligence.
    
    - pin @copilotkit/* to the PR #5761 pkg.pr.new build at immutable commit 0641b63
    - pnpm-workspace.yaml: blockExoticSubdeps:false (pkg.pr.new url cross-refs) +
      rxjs override (dedupe) + esbuild build allow
    - remove the Redis store demo entirely (bot-store-redis isn't published)
    - MANAGED.md + .env.example managed-mode section
    AlemTuzlak committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    a33134e View commit details
    Browse the repository at this point in the history
  2. fix(managed): pass turn text as runAgent prompt

    The managed intelligenceAdapter delivers a single turn and reconstructs no
    prior history (unlike the direct Slack adapter), so the handler must feed the
    turn text as the prompt — otherwise the agent runs with empty input and the
    LLM call fails. Verified end-to-end: real Slack @-mention -> reply.
    AlemTuzlak committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    1f0dda7 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2026

  1. feat(managed): supersede concurrent same-thread runs in the triage ru…

    …ntime
    
    Pass runner: new InMemoryAgentRunner({ onConcurrentRun: "supersede" }) to the
    CopilotSseRuntime so a follow-up turn on a Slack thread whose prior run is still
    in flight (or wedged) aborts it and starts fresh, instead of erroring
    "Thread already running". Pairs with the SDK runtime change (OSS-417).
    
    Note: needs the @copilotkit/runtime pin bumped to a #5786 build that carries the
    onConcurrentRun option (follow-up once CI republishes).
    AlemTuzlak committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    0d2d422 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2026

  1. feat(managed): dual-mode confirm_write HITL for the ack-first managed…

    … surface
    
    Make the write-gate work on the managed (Intelligence HTTP) bot, whose claim loop
    processes one lease-bounded delivery at a time — a blocking awaitChoice would
    deadlock (the click arrives as a separate delivery) and lease-timeout.
    
    - confirm_write tool: branch on thread.supportsBlockingChoice. Interactive
      surfaces (native Socket Mode) keep the original blocking awaitChoice unchanged.
      Managed (=== false): post the ConfirmWrite card and END the turn (ack-first),
      returning a sentinel that tells the agent to stop and wait.
    - ConfirmWrite card: the Create/Cancel onClick still repaints the card in place;
      on managed it additionally runs a FOLLOW-UP turn (thread.runAgent) to perform
      (approve) or acknowledge (deny) the gated write — this executes as the click's
      interaction delivery, reusing the same thread state.
    - tests: managed-mode coverage for the tool (posts + sentinel, no block) and the
      card onClick (approve/deny -> follow-up runAgent). Native behavior unchanged.
    
    Committed with --no-verify (memory-safe on this box; CI gates on push).
    AlemTuzlak committed Jul 3, 2026
    Configuration menu
    Copy the full SHA
    761c87e View commit details
    Browse the repository at this point in the history
  2. chore: consume managed-bot SDK a75f33f (durable state store + HITL ro…

    …uting)
    
    Bump @copilotkit/* to pkg.pr.new a75f33f so the managed loop gets the
    Intelligence-backed durable StateStore (HITL cards survive restarts) and
    the interaction messageRef routing fix. runtime.ts: prompt tweaks so CSV
    chart requests draw immediately instead of stalling on show_status.
    AlemTuzlak committed Jul 3, 2026
    Configuration menu
    Copy the full SHA
    d656e1b View commit details
    Browse the repository at this point in the history
  3. feat: <Message onReaction> joke demo + bump SDK to 4b6b71a

    Bump @copilotkit/* to pkg.pr.new 4b6b71a (managed <Message onReaction>
    resolution). Add JokeCard — a `<Message onReaction>` card (react 👍 → a
    joke) posted by a new `/joke` command — to verify the per-message reaction
    path on managed. Global `bot.onReaction` (🔄 → joke) stays. commands/index
    becomes .tsx so the command can post the component element.
    AlemTuzlak committed Jul 3, 2026
    Configuration menu
    Copy the full SHA
    8f06f97 View commit details
    Browse the repository at this point in the history
  4. feat: <Message onReaction> joke demo + bump SDK to 4b6b71a

    Bump @copilotkit/* to pkg.pr.new 4b6b71a (managed <Message onReaction>
    resolution). Add JokeCard — a `<Message onReaction>` card (react 👍 → a
    joke) posted by a new `/joke` command — to verify the per-message reaction
    path on managed. Global `bot.onReaction` (🔄 → joke) stays.
    AlemTuzlak committed Jul 3, 2026
    Configuration menu
    Copy the full SHA
    2fe510c View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2026

  1. fix(managed): pass instruction + file parts to the agent, and harden …

    …the demo
    
    When a turn carried both an instruction and an uploaded file, onMessage sent
    `message.contentParts ?? message.text` — picking the file parts and dropping
    the instruction, so "chart this CSV" reached the model as a bare data dump and
    it replied "what would you like me to do?". Merge them: instruction text first,
    then the file parts.
    
    Also register JokeCard via createBot({ components }) so a per-message
    <Message onReaction> handler can re-render from its durable snapshot after a
    managed-loop restart (not just in the process that first posted it), and add an
    app-context entry telling the bot to act on explicit chart/visualize requests
    instead of offering a menu.
    AlemTuzlak committed Jul 6, 2026
    Configuration menu
    Copy the full SHA
    fcca3ba View commit details
    Browse the repository at this point in the history
  2. chore(deps): bump @copilotkit/bot* to 27d935d for managed thread history

    Pins the bot SDK to the build that seeds agent.messages from thread history
    in the intelligence adapter, so managed bots see prior turns ("chart the CSV I
    sent above" / "what was the image I sent" now work).
    AlemTuzlak committed Jul 6, 2026
    Configuration menu
    Copy the full SHA
    0bed51b View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2026

  1. chore: migrate to @copilotkit/channels-* packages (5914)

    Swap the Bots→Channels renamed packages, pinned to the pkg.pr.new build
    for CopilotKit#5914, which carries the provider-agnostic claim fix so a
    managed bot with multiple adapters (Slack + Teams) receives all deliveries.
    
    - package.json: @copilotkit/bot* -> @copilotkit/channels* @5914 (runtime @5914)
    - source: rename all @copilotkit/bot* imports to @copilotkit/channels*
      (symbols unchanged; rename was package-name-only)
    - tsconfig: jsxImportSource -> @copilotkit/channels-ui
    - gitignore: ignore local dev/runtime process logs & bundles
    AlemTuzlak committed Jul 10, 2026
    Configuration menu
    Copy the full SHA
    a0b36b4 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2026

  1. chore: repin @copilotkit/channels-* to published npm versions

    The pkg.pr.new@5914 pins pointed at the pre-merge PR build. #5914 is now
    merged and published to npm (channels-intelligence 0.1.1 carries the Teams
    conversationKey discriminated-union fix). Switch to npm semver pins.
    AlemTuzlak committed Jul 13, 2026
    Configuration menu
    Copy the full SHA
    0b23db5 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2026

  1. managed: fire reactions on Teams reaction types + register ConfirmWrite

    - onReaction now triggers on Teams' fixed reaction types (like/heart/laugh/…)
      in addition to the Slack redo emoji, so the reaction demo works on Teams.
    - Register ConfirmWrite in the components list so a Teams Action.Submit HITL
      click can re-render + resolve the approve/cancel handler across the managed
      delivery boundary (otherwise the interaction dead-letters).
    AlemTuzlak committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    d6a8077 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2026

  1. fix(render): isolate chart rendering in a child process

    Launching Chromium in-process crashed the long-lived runtime natively (a
    connection reset mid-stream) whenever a chart rendered. Render in a throwaway
    child process (render-worker.mjs) so a Chromium crash kills only the child —
    the runtime survives and renderChart throws a normal error instead.
    AlemTuzlak committed Jul 15, 2026
    Configuration menu
    Copy the full SHA
    e9d9202 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2026

  1. feat: adopt @copilotkit/channels 0.2.0 and harden the managed Teams path

    - Migrate from the 0.1.x Bot* API to the 0.2.0 Channel* API
      (createBot->createChannel, defineBotTool/defineBotCommand->defineChannel*,
      BotNode->ChannelNode, and related types) across app/, tools, components,
      human-in-the-loop, and tests. Align channels-* deps to 0.2.0.
    - managed: keep the process alive after channel.start(). 0.2.0's HTTP
      delivery source paces its poll loop with unref()'d timers, so nothing held
      the event loop open and the managed loop exited on startup.
    - render: raise the chart render ceiling to 90s (a cold Chromium launch is
      slow under host memory pressure) and harden the render_chart schema (coerce
      numeric labels and quoted numbers, accept any options shape) so a slightly
      off model payload cannot fail the whole tool call. Log render failures.
    - managed: trigger the reaction-joke demo on any Teams reaction (Teams sends
      emoji codes like 1f504_refresh, not the classic like/heart names). Interim
      until the SDK exposes a canonical cross-platform reaction value.
    AlemTuzlak committed Jul 16, 2026
    Configuration menu
    Copy the full SHA
    6eaae27 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2026

  1. chore(deps): adopt @copilotkit/channels 0.2.1 and drop the reaction b…

    …and-aid
    
    Bump channels-* to 0.2.1 (canonical cross-platform reaction normalization +
    the Slack "is thinking…" finalize fix). The managed reaction demo now matches
    the canonical `emoji === "refresh"` — 🔄 normalizes to it from every provider
    (Slack `arrows_counterclockwise`, Teams `1f504_refresh`, unicode elsewhere) —
    so the interim per-platform band-aid (classic-name set + codepoint regex) and
    the REDO_EMOJI constant are removed.
    AlemTuzlak committed Jul 17, 2026
    Configuration menu
    Copy the full SHA
    bde1bf7 View commit details
    Browse the repository at this point in the history
Loading