Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

FLEET: resumeSession() with customAgents errors with malformed timeout message "[object Object]ms"

オープン
#915 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
javascript, typescript
領域
api, backend

調査の方向性

TypeScript ResumeSessionConfig と resumeSession(sessionId, ...) のエントリポイントから始め、customAgents の処理を createSession と比較します。session.resume のパスと timeout エラーのフォーマットを追跡します。完了条件は、再開時の customAgents の動作がサポートされるか明示的に拒否され、timeout メッセージに [object Object] ではなく数値が表示されることです。

索引モデルが issue の本文から書いたものです。

説明

Summary

Calling client.resumeSession(sessionId, { customAgents: [...] }) on a live session produces a timeout error with a malformed message: "Timeout after [object Object]ms". This reveals two bugs: (1) resumeSession with customAgents fails, and (2) the timeout value is being stringified via implicit .toString() instead of extracting the numeric value.

Steps to Reproduce

import { CopilotClient, approveAll } from '@github/copilot-sdk';

const client = new CopilotClient();
await client.start();

const session = await client.createSession({ onPermissionRequest: approveAll });
const sessionId = session.id;
await session.destroy();

try {
    const resumed = await client.resumeSession(sessionId, {
        onPermissionRequest: approveAll,
        customAgents: [{
            name: 'post-creation-agent',
            displayName: 'Post Creation Agent',
            description: 'Added during resume',
            prompt: 'You are a post-creation agent.',
            tools: ['view'],
            infer: false,
        }],
    });
} catch (err) {
    console.error(err.message);
    // → "Timeout after [object Object]ms waiting for session.idle"
}

Observed Behaviour

Spike data (2026-03-17):

{
  "resumeSucceeded": false,
  "resumeError": "Timeout after [object Object]ms waiting for session.idle",
  "answer": "NO/ERROR"
}

Bug 1: resumeSession with customAgents fails

The TypeScript type ResumeSessionConfig accepts customAgents, but the CLI backend appears to reject or ignore it and the session never reaches idle. Either:

  • customAgents is not supported on resume (the type should exclude it), or
  • There is a backend defect handling customAgents in session.resume

Bug 2: Malformed timeout error message

"Timeout after [object Object]ms" is a string formatting bug. The timeout config value (likely { ms: number } or similar) is being coerced to string via .toString() instead of extracting the numeric value.

Expected: "Timeout after 30000ms waiting for session.idle"

Workaround

Only set customAgents at initial createSession time. Do not attempt to add agents via resumeSession:

// ✅ Works
const session = await client.createSession({
    onPermissionRequest: approveAll,
    customAgents: [{ name: 'my-agent', ... }],
});

// ❌ Errors with malformed timeout
const session = await client.resumeSession(id, {
    customAgents: [{ name: 'my-agent', ... }],
});

Environment

  • SDK: @github/copilot-sdk v0.1.32
  • CLI: latest
  • Node: v24.13.1
主要言語
Java
スター
10.5k
フォーク
1.5k
平均マージ
1日 9時間
マージ済み PR(30日)
131

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/copilot-sdk のほかの issue

github/copilot-sdk の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。