@agents-ensemble/core 0.14.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/acp/resolve-acp-spawn.d.ts +1 -1
  2. package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
  3. package/dist/acp/resolve-acp-spawn.js +2 -2
  4. package/dist/acp/resolve-acp-spawn.js.map +1 -1
  5. package/dist/conductor/conductor-session-driver.d.ts +5 -2
  6. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  7. package/dist/conductor/conductor-session-driver.js +6 -4
  8. package/dist/conductor/conductor-session-driver.js.map +1 -1
  9. package/dist/conductor/conductor-session.d.ts +2 -0
  10. package/dist/conductor/conductor-session.d.ts.map +1 -1
  11. package/dist/conductor/conductor-session.js +186 -67
  12. package/dist/conductor/conductor-session.js.map +1 -1
  13. package/dist/conductor/index.d.ts +2 -0
  14. package/dist/conductor/index.d.ts.map +1 -1
  15. package/dist/conductor/index.js +1 -0
  16. package/dist/conductor/index.js.map +1 -1
  17. package/dist/conductor/pi-conductor-agent.d.ts.map +1 -1
  18. package/dist/conductor/pi-conductor-agent.js +18 -1
  19. package/dist/conductor/pi-conductor-agent.js.map +1 -1
  20. package/dist/conductor/session/dispatch-hold-reminder-monitor.d.ts +28 -0
  21. package/dist/conductor/session/dispatch-hold-reminder-monitor.d.ts.map +1 -0
  22. package/dist/conductor/session/dispatch-hold-reminder-monitor.js +88 -0
  23. package/dist/conductor/session/dispatch-hold-reminder-monitor.js.map +1 -0
  24. package/dist/conductor/session/dispatch-hold.d.ts +1 -1
  25. package/dist/conductor/session/dispatch-hold.d.ts.map +1 -1
  26. package/dist/config/defaults.d.ts.map +1 -1
  27. package/dist/config/defaults.js +3 -0
  28. package/dist/config/defaults.js.map +1 -1
  29. package/dist/config/index.d.ts +1 -1
  30. package/dist/config/index.d.ts.map +1 -1
  31. package/dist/config/load-ensemble-config.d.ts +2 -0
  32. package/dist/config/load-ensemble-config.d.ts.map +1 -1
  33. package/dist/config/load-ensemble-config.js +18 -5
  34. package/dist/config/load-ensemble-config.js.map +1 -1
  35. package/dist/config/parse-config.d.ts.map +1 -1
  36. package/dist/config/parse-config.js +12 -0
  37. package/dist/config/parse-config.js.map +1 -1
  38. package/dist/config/types.d.ts +5 -0
  39. package/dist/config/types.d.ts.map +1 -1
  40. package/dist/dispatch/worker-acp-session.d.ts +2 -2
  41. package/dist/dispatch/worker-acp-session.d.ts.map +1 -1
  42. package/dist/dispatch/worker-acp-session.js +1 -1
  43. package/dist/dispatch/worker-acp-session.js.map +1 -1
  44. package/dist/github/github-monitor-cursor.d.ts +10 -10
  45. package/dist/github/github-monitor-cursor.d.ts.map +1 -1
  46. package/dist/github/github-monitor-cursor.js +1 -1
  47. package/dist/github/github-monitor-cursor.js.map +1 -1
  48. package/dist/mcp/load-mcp-config.d.ts +1 -1
  49. package/dist/mcp/load-mcp-config.js +1 -1
  50. package/dist/operator-runtime.d.ts +8 -4
  51. package/dist/operator-runtime.d.ts.map +1 -1
  52. package/dist/operator-runtime.js +4 -2
  53. package/dist/operator-runtime.js.map +1 -1
  54. package/dist/prompt/modules/ensemble/worker-base-module.d.ts.map +1 -1
  55. package/dist/prompt/modules/ensemble/worker-base-module.js +1 -0
  56. package/dist/prompt/modules/ensemble/worker-base-module.js.map +1 -1
  57. package/dist/session/index.d.ts +8 -4
  58. package/dist/session/index.d.ts.map +1 -1
  59. package/dist/session/index.js +4 -2
  60. package/dist/session/index.js.map +1 -1
  61. package/dist/session/open-question-control.d.ts +26 -2
  62. package/dist/session/open-question-control.d.ts.map +1 -1
  63. package/dist/session/open-question-control.js +96 -10
  64. package/dist/session/open-question-control.js.map +1 -1
  65. package/dist/session/session-resume-store.d.ts +119 -0
  66. package/dist/session/session-resume-store.d.ts.map +1 -0
  67. package/dist/session/session-resume-store.js +354 -0
  68. package/dist/session/session-resume-store.js.map +1 -0
  69. package/dist/session/tool-call-snapshot-history.d.ts +1 -1
  70. package/dist/session/tool-call-snapshot-history.js +4 -4
  71. package/dist/session/tool-call-snapshot-history.js.map +1 -1
  72. package/package.json +1 -1
  73. package/dist/session/session-sidecar.d.ts +0 -76
  74. package/dist/session/session-sidecar.d.ts.map +0 -1
  75. package/dist/session/session-sidecar.js +0 -261
  76. package/dist/session/session-sidecar.js.map +0 -1
@@ -16,6 +16,7 @@ export const workerBaseModule = {
16
16
  title: 'codex-acpへのアドバイス',
17
17
  items: [
18
18
  '- サンドボックス内では認証エラーになるツールがあります(ghなど)が、conductorと相談の上、サンドボックス外での実行に切り替えてください',
19
+ '- git addやcommitについても同様に権限エラーになる可能性があります。sandbox外実行を試し、失敗する場合はconductorに対して代行を依頼してください'
19
20
  ],
20
21
  },
21
22
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"worker-base-module.js","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/worker-base-module.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,SAAS,EAAE;QACT,kBAAkB;KACnB;IACD,YAAY,EAAE;QACZ,+DAA+D;QAC/D,0DAA0D;QAC1D,kCAAkC;QAClC,6CAA6C;QAC7C;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE;gBACL,2EAA2E;aAC5E;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"worker-base-module.js","sourceRoot":"","sources":["../../../../src/prompt/modules/ensemble/worker-base-module.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,SAAS,EAAE;QACT,kBAAkB;KACnB;IACD,YAAY,EAAE;QACZ,+DAA+D;QAC/D,0DAA0D;QAC1D,kCAAkC;QAClC,6CAA6C;QAC7C;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE;gBACL,2EAA2E;gBAC3E,wFAAwF;aACzF;SACF;KACF;CACF,CAAC"}
@@ -1,9 +1,13 @@
1
- export { SESSION_SIDECAR_VERSION, assertSessionSidecarMatches, findLatestSessionSidecarForIssue, listSessionSidecars, loadSessionSidecar, requireSessionSidecarForResume, saveSessionSidecar, sessionSidecarDir, sessionSidecarPath, SessionSidecarNotFoundError, } from './session-sidecar.js';
2
- export type { FindLatestSessionSidecarInput, SessionLifecycle, SessionSidecar, WorkerSessionSidecar, } from './session-sidecar.js';
1
+ /** @deprecated Use the SessionResumeStore exports; supported for one release only. */
2
+ export { SESSION_SIDECAR_VERSION, assertSessionSidecarMatches, findLatestSessionSidecarForIssue, listSessionSidecars, loadSessionSidecar, requireSessionSidecarForResume, saveSessionSidecar, sessionSidecarDir, sessionSidecarPath, SessionSidecarNotFoundError, } from './session-resume-store.js';
3
+ /** @deprecated Use SessionResumeStore; supported for one release only. */
4
+ export type { FindLatestSessionSidecarInput, SessionSidecar, SessionSidecarPathOptions, WorkerSessionSidecar, } from './session-resume-store.js';
5
+ export { SESSION_RESUME_STORE_VERSION, assertSessionResumeStoreMatches, findLatestSessionResumeStoreForIssue, harnessPhaseFromLegacyLifecycle, listSessionResumeStores, loadSessionResumeStore, requireSessionResumeStoreForResume, saveSessionResumeStore, sessionResumeStoreDir, sessionResumeStorePath, SessionResumeStoreNotFoundError, } from './session-resume-store.js';
6
+ export type { FindLatestSessionResumeStoreInput, HarnessPhase, SessionLifecycle, SessionResumeStore, WorkerSessionResumeStore, } from './session-resume-store.js';
3
7
  export { loadOpenQuestionsStore, OPEN_QUESTIONS_STORE_VERSION, openQuestionsStorePath, saveOpenQuestionsStore, } from './open-questions-store.js';
4
8
  export type { OpenQuestionsStoreDocument } from './open-questions-store.js';
5
- export { OPEN_QUESTION_CONTROL_METHODS, OpenQuestionControlOperationError, OpenQuestionControlRemoteError, OpenQuestionControlTransportError, sendOpenQuestionControlRequest, startOpenQuestionControlServer, } from './open-question-control.js';
6
- export type { OpenQuestionControlAnswerResult, OpenQuestionControlAnswer, OpenQuestionControlErrorData, OpenQuestionControlLastConductorMessage, OpenQuestionControlListItem, OpenQuestionControlServer, OpenQuestionControlServerOptions, SessionObservationSnapshot, } from './open-question-control.js';
9
+ export { CONDUCTOR_MESSAGE_HISTORY_MAX_ENTRIES, CONDUCTOR_MESSAGE_PAGE_DEFAULT_LIMIT, CONDUCTOR_MESSAGE_PAGE_MAX_LIMIT, OPEN_QUESTION_CONTROL_METHODS, OpenQuestionControlOperationError, OpenQuestionControlRemoteError, OpenQuestionControlTransportError, sendOpenQuestionControlRequest, startOpenQuestionControlServer, } from './open-question-control.js';
10
+ export type { OpenQuestionControlAnswerResult, OpenQuestionControlAnswer, OpenQuestionControlConductorMessage, OpenQuestionControlConductorMessagesQuery, OpenQuestionControlConductorMessagesResult, OpenQuestionControlErrorData, OpenQuestionControlLastConductorMessage, OpenQuestionControlListItem, OpenQuestionControlRemoteErrorData, OversizedConductorMessageErrorData, OpenQuestionControlServer, OpenQuestionControlServerOptions, SessionObservationSnapshot, } from './open-question-control.js';
7
11
  export { loadSessionStateStore, saveSessionStatusLine, SESSION_STATE_STORE_MAX_BYTES, SESSION_STATE_STORE_VERSION, SESSION_STATUS_HISTORY_MAX_ENTRIES, SESSION_STATUS_LINE_MAX_LENGTH, sessionStateStorePath, } from './session-state-store.js';
8
12
  export type { SessionStateStore, SessionStatePathOptions, SessionStatusLine, } from './session-state-store.js';
9
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,EAC5B,uCAAuC,EACvC,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,0EAA0E;AAC1E,YAAY,EACV,6BAA6B,EAC7B,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,oCAAoC,EACpC,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,EAClC,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,iCAAiC,EACjC,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,qCAAqC,EACrC,oCAAoC,EACpC,gCAAgC,EAChC,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,+BAA+B,EAC/B,yBAAyB,EACzB,mCAAmC,EACnC,yCAAyC,EACzC,0CAA0C,EAC1C,4BAA4B,EAC5B,uCAAuC,EACvC,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
@@ -1,5 +1,7 @@
1
- export { SESSION_SIDECAR_VERSION, assertSessionSidecarMatches, findLatestSessionSidecarForIssue, listSessionSidecars, loadSessionSidecar, requireSessionSidecarForResume, saveSessionSidecar, sessionSidecarDir, sessionSidecarPath, SessionSidecarNotFoundError, } from './session-sidecar.js';
1
+ /** @deprecated Use the SessionResumeStore exports; supported for one release only. */
2
+ export { SESSION_SIDECAR_VERSION, assertSessionSidecarMatches, findLatestSessionSidecarForIssue, listSessionSidecars, loadSessionSidecar, requireSessionSidecarForResume, saveSessionSidecar, sessionSidecarDir, sessionSidecarPath, SessionSidecarNotFoundError, } from './session-resume-store.js';
3
+ export { SESSION_RESUME_STORE_VERSION, assertSessionResumeStoreMatches, findLatestSessionResumeStoreForIssue, harnessPhaseFromLegacyLifecycle, listSessionResumeStores, loadSessionResumeStore, requireSessionResumeStoreForResume, saveSessionResumeStore, sessionResumeStoreDir, sessionResumeStorePath, SessionResumeStoreNotFoundError, } from './session-resume-store.js';
2
4
  export { loadOpenQuestionsStore, OPEN_QUESTIONS_STORE_VERSION, openQuestionsStorePath, saveOpenQuestionsStore, } from './open-questions-store.js';
3
- export { OPEN_QUESTION_CONTROL_METHODS, OpenQuestionControlOperationError, OpenQuestionControlRemoteError, OpenQuestionControlTransportError, sendOpenQuestionControlRequest, startOpenQuestionControlServer, } from './open-question-control.js';
5
+ export { CONDUCTOR_MESSAGE_HISTORY_MAX_ENTRIES, CONDUCTOR_MESSAGE_PAGE_DEFAULT_LIMIT, CONDUCTOR_MESSAGE_PAGE_MAX_LIMIT, OPEN_QUESTION_CONTROL_METHODS, OpenQuestionControlOperationError, OpenQuestionControlRemoteError, OpenQuestionControlTransportError, sendOpenQuestionControlRequest, startOpenQuestionControlServer, } from './open-question-control.js';
4
6
  export { loadSessionStateStore, saveSessionStatusLine, SESSION_STATE_STORE_MAX_BYTES, SESSION_STATE_STORE_VERSION, SESSION_STATUS_HISTORY_MAX_ENTRIES, SESSION_STATUS_LINE_MAX_LENGTH, sessionStateStorePath, } from './session-state-store.js';
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,oCAAoC,EACpC,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,EAClC,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,qCAAqC,EACrC,oCAAoC,EACpC,gCAAgC,EAChC,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAgBpC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
@@ -6,9 +6,13 @@ export declare const OPEN_QUESTION_CONTROL_METHODS: {
6
6
  readonly list: "open_questions.list";
7
7
  readonly answer: "open_questions.answer";
8
8
  readonly lastConductorMessageGet: "session.last_conductor_message.get";
9
+ readonly conductorMessagesList: "session.conductor_messages.list";
9
10
  readonly observe: "session.observe";
10
11
  readonly sendMessage: "operator.message.send";
11
12
  };
13
+ export declare const CONDUCTOR_MESSAGE_PAGE_DEFAULT_LIMIT = 20;
14
+ export declare const CONDUCTOR_MESSAGE_PAGE_MAX_LIMIT = 100;
15
+ export declare const CONDUCTOR_MESSAGE_HISTORY_MAX_ENTRIES = 100;
12
16
  export interface OpenQuestionControlAnswer {
13
17
  questionId: string;
14
18
  answer: string;
@@ -22,6 +26,21 @@ export interface OpenQuestionControlLastConductorMessage {
22
26
  at: number;
23
27
  sendCount: number;
24
28
  }
29
+ export interface OpenQuestionControlConductorMessage extends OpenQuestionControlLastConductorMessage {
30
+ inbound: string;
31
+ dispatchSource?: string;
32
+ }
33
+ export interface OpenQuestionControlConductorMessagesQuery {
34
+ limit: number;
35
+ order: 'asc' | 'desc';
36
+ cursor?: number;
37
+ before?: number;
38
+ after?: number;
39
+ }
40
+ export interface OpenQuestionControlConductorMessagesResult {
41
+ messages: OpenQuestionControlConductorMessage[];
42
+ hasMore: boolean;
43
+ }
25
44
  export interface SessionObservationSnapshot extends OpenQuestionRegistrySnapshot {
26
45
  sessionState?: SessionStateStore;
27
46
  }
@@ -30,9 +49,14 @@ export interface OpenQuestionControlErrorData {
30
49
  answerStatus: 'recorded';
31
50
  dispatchStatus: 'unknown';
32
51
  }
52
+ export interface OversizedConductorMessageErrorData {
53
+ oversizedSendCount: number;
54
+ }
55
+ export type OpenQuestionControlRemoteErrorData = OpenQuestionControlErrorData | OversizedConductorMessageErrorData;
33
56
  export interface OpenQuestionControlServerOptions {
34
57
  listOpenQuestions: () => OpenQuestion[];
35
58
  getLastConductorMessage?: () => OpenQuestionControlLastConductorMessage | null;
59
+ listConductorMessages?: () => OpenQuestionControlConductorMessage[];
36
60
  observeSession?: () => Promise<SessionObservationSnapshot>;
37
61
  answerOpenQuestion: (input: OpenQuestionControlAnswer) => Promise<OpenQuestion>;
38
62
  sendOperatorMessage?: (input: {
@@ -58,8 +82,8 @@ export declare class OpenQuestionControlOperationError extends Error {
58
82
  }
59
83
  export declare class OpenQuestionControlRemoteError extends Error {
60
84
  readonly rpcCode: number;
61
- readonly data?: OpenQuestionControlErrorData | undefined;
62
- constructor(rpcCode: number, message: string, data?: OpenQuestionControlErrorData | undefined);
85
+ readonly data?: OpenQuestionControlRemoteErrorData | undefined;
86
+ constructor(rpcCode: number, message: string, data?: OpenQuestionControlRemoteErrorData | undefined);
63
87
  }
64
88
  /**
65
89
  * Start a one-request-per-connection JSON-RPC server on a private Unix socket.
@@ -1 +1 @@
1
- {"version":3,"file":"open-question-control.d.ts","sourceRoot":"","sources":["../../src/session/open-question-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-question-control.d.ts","sourceRoot":"","sources":["../../src/session/open-question-control.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,16 @@ export const OPEN_QUESTION_CONTROL_METHODS = {
6
6
  list: 'open_questions.list',
7
7
  answer: 'open_questions.answer',
8
8
  lastConductorMessageGet: 'session.last_conductor_message.get',
9
+ conductorMessagesList: 'session.conductor_messages.list',
9
10
  observe: 'session.observe',
10
11
  sendMessage: 'operator.message.send',
11
12
  };
12
13
  const JSON_RPC_VERSION = '2.0';
13
14
  const MAX_MESSAGE_BYTES = 1_048_576;
14
15
  const SOCKET_TIMEOUT_MS = 30_000;
16
+ export const CONDUCTOR_MESSAGE_PAGE_DEFAULT_LIMIT = 20;
17
+ export const CONDUCTOR_MESSAGE_PAGE_MAX_LIMIT = 100;
18
+ export const CONDUCTOR_MESSAGE_HISTORY_MAX_ENTRIES = 100;
15
19
  export class OpenQuestionControlTransportError extends Error {
16
20
  outcome;
17
21
  constructor(message, outcome) {
@@ -272,6 +276,16 @@ async function handleRequest(line, options) {
272
276
  return successResponse(requestId, {
273
277
  message: options.getLastConductorMessage?.() ?? null,
274
278
  });
279
+ case OPEN_QUESTION_CONTROL_METHODS.conductorMessagesList: {
280
+ if (!options.listConductorMessages) {
281
+ return errorResponse(requestId, -32601, 'Method not found.');
282
+ }
283
+ const query = parseConductorMessagesQuery(params);
284
+ if (!query) {
285
+ return errorResponse(requestId, -32602, 'Invalid conductor message list parameters.');
286
+ }
287
+ return successResponse(requestId, listConductorMessages(options.listConductorMessages(), query));
288
+ }
275
289
  case OPEN_QUESTION_CONTROL_METHODS.answer: {
276
290
  const questionId = typeof params.questionId === 'string' ? params.questionId.trim() : '';
277
291
  const answer = typeof params.answer === 'string' ? params.answer.trim() : '';
@@ -348,6 +362,52 @@ function toAnswerResult(question) {
348
362
  },
349
363
  };
350
364
  }
365
+ function parseConductorMessagesQuery(params) {
366
+ const limit = params.limit ?? CONDUCTOR_MESSAGE_PAGE_DEFAULT_LIMIT;
367
+ const order = params.order ?? 'desc';
368
+ if (!Number.isInteger(limit) ||
369
+ limit < 1 ||
370
+ limit > CONDUCTOR_MESSAGE_PAGE_MAX_LIMIT ||
371
+ (order !== 'asc' && order !== 'desc')) {
372
+ return undefined;
373
+ }
374
+ const bounds = ['cursor', 'before', 'after'].filter((key) => Object.hasOwn(params, key));
375
+ if (bounds.length > 2 ||
376
+ (bounds.includes('cursor') && bounds.length > 1)) {
377
+ return undefined;
378
+ }
379
+ for (const key of bounds) {
380
+ const value = params[key];
381
+ if (!Number.isSafeInteger(value) || value < 0) {
382
+ return undefined;
383
+ }
384
+ }
385
+ return {
386
+ limit: limit,
387
+ order,
388
+ ...(params.cursor !== undefined ? { cursor: params.cursor } : {}),
389
+ ...(params.before !== undefined ? { before: params.before } : {}),
390
+ ...(params.after !== undefined ? { after: params.after } : {}),
391
+ };
392
+ }
393
+ function listConductorMessages(messages, query) {
394
+ const direction = query.order === 'asc' ? 1 : -1;
395
+ const matching = messages
396
+ .filter((message) => {
397
+ if (query.cursor !== undefined) {
398
+ return query.order === 'desc'
399
+ ? message.sendCount < query.cursor
400
+ : message.sendCount > query.cursor;
401
+ }
402
+ return ((query.before === undefined || message.sendCount < query.before) &&
403
+ (query.after === undefined || message.sendCount > query.after));
404
+ })
405
+ .sort((left, right) => direction * (left.sendCount - right.sendCount));
406
+ return {
407
+ messages: matching.slice(0, query.limit),
408
+ hasMore: matching.length > query.limit,
409
+ };
410
+ }
351
411
  function successResponse(id, result) {
352
412
  return { jsonrpc: JSON_RPC_VERSION, id, result };
353
413
  }
@@ -359,27 +419,53 @@ function errorResponse(id, code, message, data) {
359
419
  };
360
420
  }
361
421
  function parseOpenQuestionControlErrorData(value) {
362
- if (!isRecord(value) ||
363
- value.outcome !== 'unknown' ||
364
- value.answerStatus !== 'recorded' ||
365
- value.dispatchStatus !== 'unknown') {
422
+ if (!isRecord(value))
366
423
  return undefined;
424
+ if (Number.isSafeInteger(value.oversizedSendCount) &&
425
+ value.oversizedSendCount >= 0) {
426
+ return {
427
+ oversizedSendCount: value.oversizedSendCount,
428
+ };
367
429
  }
368
- return {
369
- outcome: 'unknown',
370
- answerStatus: 'recorded',
371
- dispatchStatus: 'unknown',
372
- };
430
+ if (value.outcome === 'unknown' &&
431
+ value.answerStatus === 'recorded' &&
432
+ value.dispatchStatus === 'unknown') {
433
+ return {
434
+ outcome: 'unknown',
435
+ answerStatus: 'recorded',
436
+ dispatchStatus: 'unknown',
437
+ };
438
+ }
439
+ return undefined;
373
440
  }
374
441
  function writeResponse(socket, response) {
375
442
  if (socket.destroyed)
376
443
  return Promise.resolve();
377
444
  const serialized = JSON.stringify(response) ?? '';
378
445
  if (Buffer.byteLength(serialized) > MAX_MESSAGE_BYTES) {
379
- return endSocket(socket, `${JSON.stringify(errorResponse(response.id, -32603, 'Response is too large.'))}\n`);
446
+ const oversizedSendCount = singleOversizedConductorMessageSendCount(response.result);
447
+ return endSocket(socket, `${JSON.stringify(errorResponse(response.id, -32603, 'Response is too large.', oversizedSendCount === undefined
448
+ ? undefined
449
+ : { oversizedSendCount }))}\n`);
380
450
  }
381
451
  return endSocket(socket, `${serialized}\n`);
382
452
  }
453
+ function singleOversizedConductorMessageSendCount(result) {
454
+ if (!isRecord(result) || !Array.isArray(result.messages))
455
+ return undefined;
456
+ if (result.messages.length !== 1)
457
+ return undefined;
458
+ const [message] = result.messages;
459
+ if (!isRecord(message) ||
460
+ typeof message.text !== 'string' ||
461
+ typeof message.inbound !== 'string' ||
462
+ typeof message.at !== 'number' ||
463
+ !Number.isSafeInteger(message.sendCount) ||
464
+ message.sendCount < 0) {
465
+ return undefined;
466
+ }
467
+ return message.sendCount;
468
+ }
383
469
  function listen(server, socketPath) {
384
470
  return new Promise((resolve, reject) => {
385
471
  const onError = (error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"open-question-control.js","sourceRoot":"","sources":["../../src/session/open-question-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-question-control.js","sourceRoot":"","sources":["../../src/session/open-question-control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import type { OpenQuestion } from '../escalation/open-question.js';
2
+ import type { GitHubMonitorCursor } from '../github/github-monitor-cursor.js';
3
+ import type { AcpSpawnFingerprint } from '../acp/resolve-acp-spawn.js';
4
+ import type { ConductorBackend } from '../config/types.js';
5
+ import type { ResolvedProfile } from '../profile/types.js';
6
+ export declare const SESSION_RESUME_STORE_VERSION = 1;
7
+ /** @deprecated Use SESSION_RESUME_STORE_VERSION; supported for one release only. */
8
+ export declare const SESSION_SIDECAR_VERSION = 1;
9
+ export type SessionLifecycle = 'closed' | 'exited' | 'interrupted' | 'unknown';
10
+ export type HarnessPhase = 'running' | 'idle' | 'close' | 'abort' | 'exit';
11
+ export declare function harnessPhaseFromLegacyLifecycle(lifecycle: SessionLifecycle | undefined): HarnessPhase | null;
12
+ export declare class SessionResumeStoreNotFoundError extends Error {
13
+ readonly conductorAgentId: string;
14
+ readonly path: string;
15
+ readonly code: string;
16
+ constructor(conductorAgentId: string, path: string);
17
+ }
18
+ /** @deprecated Use SessionResumeStoreNotFoundError; supported for one release only. */
19
+ export declare class SessionSidecarNotFoundError extends SessionResumeStoreNotFoundError {
20
+ readonly code = "SESSION_SIDECAR_NOT_FOUND";
21
+ constructor(conductorAgentId: string, path: string);
22
+ }
23
+ /** @deprecated Use WorkerSessionResumeStore; supported for one release only. */
24
+ export type WorkerSessionSidecar = WorkerSessionResumeStore;
25
+ export interface WorkerSessionResumeStore {
26
+ acpSessionId: string;
27
+ /** ACP `session/new` / `session/load` に渡した cwd(resume 検証用)。 */
28
+ acpCwd?: string;
29
+ /** resume 時の ACP spawn フィンガープリント(preset + command + args)。 */
30
+ acpSpawn?: AcpSpawnFingerprint;
31
+ }
32
+ export interface SessionResumeStore {
33
+ version: typeof SESSION_RESUME_STORE_VERSION;
34
+ conductorAgentId: string;
35
+ /** 起動時に選択した conductor backend。旧形式の欠落値は cursor。 */
36
+ conductorBackend?: ConductorBackend;
37
+ /** 初回 `prompt_worker` まで ACP attach を遅延する。旧形式は eager。 */
38
+ lazyWorkers?: boolean;
39
+ /** 稼働中 session の local control socket。teardown 時に除去する。 */
40
+ harnessSocketPath?: string;
41
+ issueUrl: string;
42
+ repoRoot: string;
43
+ profile: ResolvedProfile;
44
+ profilePath?: string;
45
+ openQuestions: OpenQuestion[];
46
+ sequence: number;
47
+ workers: Record<string, WorkerSessionResumeStore>;
48
+ /** GitHub 監視カーソルと未配送更新(#39)。 */
49
+ githubMonitor?: GitHubMonitorCursor;
50
+ /** Harness-resolved MCP map digest used to reject unsafe resume. */
51
+ mcpConfigDigest?: string;
52
+ /** Last completed process lifecycle; absent legacy values are unknown. */
53
+ lifecycle?: SessionLifecycle;
54
+ /** Harness-owned activity / teardown phase. */
55
+ harnessPhase?: HarnessPhase;
56
+ /** Unix ms for the latest harness activity or phase transition. */
57
+ modifiedAt?: number;
58
+ /** flush 時刻(Unix ms)。`--continue` で最新セッションを選ぶために使う。 */
59
+ updatedAt: number;
60
+ }
61
+ /** @deprecated Use SessionResumeStore; supported for one release only. */
62
+ export type SessionSidecar = SessionResumeStore;
63
+ export interface FindLatestSessionResumeStoreInput {
64
+ repoRoot: string;
65
+ issueUrl: string;
66
+ }
67
+ /** @deprecated Use FindLatestSessionResumeStoreInput; supported for one release only. */
68
+ export type FindLatestSessionSidecarInput = FindLatestSessionResumeStoreInput;
69
+ export interface SessionResumeStorePathOptions {
70
+ repoRoot: string;
71
+ conductorAgentId: string;
72
+ }
73
+ /** @deprecated Use SessionResumeStorePathOptions; supported for one release only. */
74
+ export type SessionSidecarPathOptions = SessionResumeStorePathOptions;
75
+ export declare function sessionResumeStoreDir(repoRoot: string): string;
76
+ export declare function sessionResumeStorePath(options: SessionResumeStorePathOptions): string;
77
+ export declare function loadSessionResumeStore(path: string): Promise<SessionResumeStore | undefined>;
78
+ /** `resumeAgentId` 指定時に SessionResumeStore が無い場合は起動失敗とする。 */
79
+ export declare function requireSessionResumeStoreForResume(input: {
80
+ repoRoot: string;
81
+ conductorAgentId: string;
82
+ }): Promise<SessionResumeStore>;
83
+ /** @deprecated Use requireSessionResumeStoreForResume; supported for one release only. */
84
+ export declare function requireSessionSidecarForResume(input: {
85
+ repoRoot: string;
86
+ conductorAgentId: string;
87
+ }): Promise<SessionSidecar>;
88
+ export declare function saveSessionResumeStore(path: string, resumeStore: SessionResumeStore): Promise<void>;
89
+ /** @deprecated Use saveSessionResumeStore; supported for one release only. */
90
+ export declare const saveSessionSidecar: typeof saveSessionResumeStore;
91
+ export declare function listSessionResumeStores(repoRoot: string): Promise<SessionResumeStore[]>;
92
+ /** @deprecated Use listSessionResumeStores; supported for one release only. */
93
+ export declare const listSessionSidecars: typeof listSessionResumeStores;
94
+ /**
95
+ * 同一 Issue では close / abort を優先し、exit を除外したうえで
96
+ * updatedAt が最も新しい SessionResumeStore を返す。
97
+ */
98
+ export declare function findLatestSessionResumeStoreForIssue(input: FindLatestSessionResumeStoreInput): Promise<SessionResumeStore | undefined>;
99
+ /** @deprecated Use findLatestSessionResumeStoreForIssue; supported for one release only. */
100
+ export declare const findLatestSessionSidecarForIssue: typeof findLatestSessionResumeStoreForIssue;
101
+ export declare function assertSessionResumeStoreMatches(resumeStore: SessionResumeStore, input: {
102
+ issueUrl: string;
103
+ repoRoot: string;
104
+ conductorAgentId: string;
105
+ conductorBackend?: ConductorBackend;
106
+ /** Current harness-resolved MCP map digest. */
107
+ mcpConfigDigest?: string;
108
+ /** Whether the current resolved map contains at least one server. */
109
+ mcpConfigConfigured?: boolean;
110
+ }): void;
111
+ /** @deprecated Use assertSessionResumeStoreMatches; supported for one release only. */
112
+ export declare const assertSessionSidecarMatches: typeof assertSessionResumeStoreMatches;
113
+ /** @deprecated Use sessionResumeStoreDir; supported for one release only. */
114
+ export declare const sessionSidecarDir: typeof sessionResumeStoreDir;
115
+ /** @deprecated Use sessionResumeStorePath; supported for one release only. */
116
+ export declare const sessionSidecarPath: typeof sessionResumeStorePath;
117
+ /** @deprecated Use loadSessionResumeStore; supported for one release only. */
118
+ export declare const loadSessionSidecar: typeof loadSessionResumeStore;
119
+ //# sourceMappingURL=session-resume-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-resume-store.d.ts","sourceRoot":"","sources":["../../src/session/session-resume-store.ts"],"names":[],"mappings":"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"}