@roackb2/heddle 0.0.36 → 0.0.37

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 (110) hide show
  1. package/dist/src/cli/chat/App.d.ts.map +1 -1
  2. package/dist/src/cli/chat/App.js +94 -80
  3. package/dist/src/cli/chat/App.js.map +1 -1
  4. package/dist/src/cli/chat/components/PromptInput.d.ts +5 -0
  5. package/dist/src/cli/chat/components/PromptInput.d.ts.map +1 -1
  6. package/dist/src/cli/chat/components/PromptInput.js +131 -85
  7. package/dist/src/cli/chat/components/PromptInput.js.map +1 -1
  8. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts +6 -0
  9. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts.map +1 -0
  10. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js +38 -0
  11. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js.map +1 -0
  12. package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts +48 -0
  13. package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts.map +1 -0
  14. package/dist/src/cli/chat/hooks/tui-agent-turn-result.js +171 -0
  15. package/dist/src/cli/chat/hooks/tui-agent-turn-result.js.map +1 -0
  16. package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts +24 -0
  17. package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts.map +1 -0
  18. package/dist/src/cli/chat/hooks/tui-compaction-status.js +65 -0
  19. package/dist/src/cli/chat/hooks/tui-compaction-status.js.map +1 -0
  20. package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts +28 -0
  21. package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts.map +1 -0
  22. package/dist/src/cli/chat/hooks/tui-direct-shell-result.js +41 -0
  23. package/dist/src/cli/chat/hooks/tui-direct-shell-result.js.map +1 -0
  24. package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts +22 -0
  25. package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts.map +1 -0
  26. package/dist/src/cli/chat/hooks/tui-direct-shell.js +127 -0
  27. package/dist/src/cli/chat/hooks/tui-direct-shell.js.map +1 -0
  28. package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts +13 -0
  29. package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts.map +1 -0
  30. package/dist/src/cli/chat/hooks/tui-drift-observer.js +36 -0
  31. package/dist/src/cli/chat/hooks/tui-drift-observer.js.map +1 -0
  32. package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts +31 -0
  33. package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts.map +1 -0
  34. package/dist/src/cli/chat/hooks/tui-ordinary-turn.js +83 -0
  35. package/dist/src/cli/chat/hooks/tui-ordinary-turn.js.map +1 -0
  36. package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts +23 -0
  37. package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts.map +1 -0
  38. package/dist/src/cli/chat/hooks/tui-run-loop-events.js +74 -0
  39. package/dist/src/cli/chat/hooks/tui-run-loop-events.js.map +1 -0
  40. package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts +8 -0
  41. package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts.map +1 -0
  42. package/dist/src/cli/chat/hooks/tui-tool-approval.js +37 -0
  43. package/dist/src/cli/chat/hooks/tui-tool-approval.js.map +1 -0
  44. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +1 -1
  45. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  46. package/dist/src/cli/chat/hooks/useAgentRun.js +59 -551
  47. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  48. package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts +58 -0
  49. package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts.map +1 -0
  50. package/dist/src/cli/chat/hooks/useChatStatusSummary.js +85 -0
  51. package/dist/src/cli/chat/hooks/useChatStatusSummary.js.map +1 -0
  52. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -1
  53. package/dist/src/cli/chat/hooks/usePromptSubmission.js +1 -0
  54. package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -1
  55. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  56. package/dist/src/cli/chat/utils/format.js +21 -0
  57. package/dist/src/cli/chat/utils/format.js.map +1 -1
  58. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
  59. package/dist/src/cli/chat/utils/runtime.js +5 -3
  60. package/dist/src/cli/chat/utils/runtime.js.map +1 -1
  61. package/dist/src/core/agent/tool-dispatch.js +3 -2
  62. package/dist/src/core/agent/tool-dispatch.js.map +1 -1
  63. package/dist/src/core/chat/ordinary-turn.d.ts +34 -0
  64. package/dist/src/core/chat/ordinary-turn.d.ts.map +1 -0
  65. package/dist/src/core/chat/ordinary-turn.js +274 -0
  66. package/dist/src/core/chat/ordinary-turn.js.map +1 -0
  67. package/dist/src/core/chat/session-submit.d.ts +4 -4
  68. package/dist/src/core/chat/session-submit.d.ts.map +1 -1
  69. package/dist/src/core/chat/session-submit.js +23 -282
  70. package/dist/src/core/chat/session-submit.js.map +1 -1
  71. package/dist/src/core/chat/session-title.d.ts +15 -0
  72. package/dist/src/core/chat/session-title.d.ts.map +1 -0
  73. package/dist/src/core/chat/session-title.js +17 -0
  74. package/dist/src/core/chat/session-title.js.map +1 -0
  75. package/dist/src/core/chat/session-turn-preflight.d.ts +37 -0
  76. package/dist/src/core/chat/session-turn-preflight.d.ts.map +1 -0
  77. package/dist/src/core/chat/session-turn-preflight.js +43 -0
  78. package/dist/src/core/chat/session-turn-preflight.js.map +1 -0
  79. package/dist/src/core/chat/session-turn-result.d.ts +36 -0
  80. package/dist/src/core/chat/session-turn-result.d.ts.map +1 -0
  81. package/dist/src/core/chat/session-turn-result.js +60 -0
  82. package/dist/src/core/chat/session-turn-result.js.map +1 -0
  83. package/dist/src/core/chat/tool-approval-host.d.ts +22 -0
  84. package/dist/src/core/chat/tool-approval-host.d.ts.map +1 -0
  85. package/dist/src/core/chat/tool-approval-host.js +14 -0
  86. package/dist/src/core/chat/tool-approval-host.js.map +1 -0
  87. package/dist/src/core/chat/turn-host.d.ts +25 -0
  88. package/dist/src/core/chat/turn-host.d.ts.map +1 -0
  89. package/dist/src/core/chat/turn-host.js +2 -0
  90. package/dist/src/core/chat/turn-host.js.map +1 -0
  91. package/dist/src/core/memory/domain-prompt.d.ts.map +1 -1
  92. package/dist/src/core/memory/domain-prompt.js +48 -40
  93. package/dist/src/core/memory/domain-prompt.js.map +1 -1
  94. package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
  95. package/dist/src/core/runtime/agent-loop.js +9 -3
  96. package/dist/src/core/runtime/agent-loop.js.map +1 -1
  97. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  98. package/dist/src/core/runtime/default-tools.js +1 -0
  99. package/dist/src/core/runtime/default-tools.js.map +1 -1
  100. package/dist/src/core/tools/file-edit-core.d.ts.map +1 -1
  101. package/dist/src/core/tools/file-edit-core.js +21 -2
  102. package/dist/src/core/tools/file-edit-core.js.map +1 -1
  103. package/dist/src/server/features/control-plane/services/chat-session-events.d.ts +26 -0
  104. package/dist/src/server/features/control-plane/services/chat-session-events.d.ts.map +1 -0
  105. package/dist/src/server/features/control-plane/services/chat-session-events.js +61 -0
  106. package/dist/src/server/features/control-plane/services/chat-session-events.js.map +1 -0
  107. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  108. package/dist/src/server/features/control-plane/services/chat-sessions.js +21 -39
  109. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  110. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import type { Logger } from 'pino';
2
+ import { type CyberLoopKinematicsObserver, type LlmAdapter } from '../../../index.js';
3
+ import type { ChatRuntimeConfig } from '../utils/runtime.js';
4
+ import type { ChatDriftObserverOptions } from './useAgentRun.js';
5
+ export declare function createTuiChatDriftObserver(args: {
6
+ prompt: string;
7
+ referenceAssistantText?: string;
8
+ llm: LlmAdapter;
9
+ runtime: ChatRuntimeConfig;
10
+ logger: Logger;
11
+ options: ChatDriftObserverOptions | undefined;
12
+ }): Promise<CyberLoopKinematicsObserver | undefined>;
13
+ //# sourceMappingURL=tui-drift-observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-drift-observer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-drift-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAqC,KAAK,2BAA2B,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEzH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,wBAAwB,GAAG,SAAS,CAAC;CAC/C,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAuCnD"}
@@ -0,0 +1,36 @@
1
+ import { createCyberLoopKinematicsObserver } from '../../../index.js';
2
+ import { resolveApiKeyForModel, resolveProviderCredentialSourceForModel } from '../utils/runtime.js';
3
+ export async function createTuiChatDriftObserver(args) {
4
+ const { prompt, referenceAssistantText, llm, runtime, logger, options } = args;
5
+ if (!options?.enabled) {
6
+ return undefined;
7
+ }
8
+ const llmInfo = llm.info;
9
+ const credentialSource = llmInfo?.provider === 'openai' ?
10
+ resolveProviderCredentialSourceForModel(llmInfo.model, runtime)
11
+ : undefined;
12
+ if (credentialSource?.type === 'oauth') {
13
+ const message = 'CyberLoop drift detection requires OpenAI Platform API-key mode for embeddings; active auth is OpenAI account sign-in.';
14
+ logger.debug({ model: llmInfo?.model, credentialSource: credentialSource.type }, message);
15
+ options.onError?.(new Error(message));
16
+ return undefined;
17
+ }
18
+ try {
19
+ return await createCyberLoopKinematicsObserver({
20
+ goal: prompt,
21
+ referenceText: referenceAssistantText,
22
+ apiKey: llm.info?.provider === 'openai' ? resolveApiKeyForModel(llm.info.model, runtime) : undefined,
23
+ onAnnotation: options.onAnnotation,
24
+ onError: (error) => {
25
+ logger.debug({ error: error instanceof Error ? error.message : String(error) }, 'CyberLoop drift observer failed');
26
+ options.onError?.(error);
27
+ },
28
+ });
29
+ }
30
+ catch (error) {
31
+ logger.debug({ error: error instanceof Error ? error.message : String(error) }, 'CyberLoop drift observer unavailable');
32
+ options.onError?.(error);
33
+ return undefined;
34
+ }
35
+ }
36
+ //# sourceMappingURL=tui-drift-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-drift-observer.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-drift-observer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAqD,MAAM,mBAAmB,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAIrG,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAOhD;IACC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/E,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACzB,MAAM,gBAAgB,GAAG,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACvD,uCAAuC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;QACjE,CAAC,CAAC,SAAS,CAAC;IACZ,IAAI,gBAAgB,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,wHAAwH,CAAC;QACzI,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,iCAAiC,CAAC;YAC7C,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,sBAAsB;YACrC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACpG,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjE,iCAAiC,CAClC,CAAC;gBACF,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjE,sCAAsC,CACvC,CAAC;QACF,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { RunResult } from '../../../index.js';
2
+ import type { ChatSession } from '../state/types.js';
3
+ import type { ChatRuntimeConfig } from '../utils/runtime.js';
4
+ import { createTuiToolApprovalPort } from './tui-tool-approval.js';
5
+ import type { ActionState } from './useAgentRun.js';
6
+ import type { CyberLoopKinematicsObserver } from '../../../index.js';
7
+ type SessionUpdater = (sessionId: string, updater: (session: ChatSession) => ChatSession) => void;
8
+ type ParsePlanState = (output: unknown) => ActionState extends {
9
+ setCurrentPlan: (value: infer T) => void;
10
+ } ? T : never;
11
+ export declare function executeTuiOrdinaryTurn(args: {
12
+ prompt: string;
13
+ displayText?: string;
14
+ sessionId: string;
15
+ runtime: ChatRuntimeConfig;
16
+ state: ActionState;
17
+ updateSessionById: SessionUpdater;
18
+ parsePlanState: ParsePlanState;
19
+ maybeAutoNameSession: (sessionId: string, prompt: string, responseText: string) => void;
20
+ isProjectApproved: Parameters<typeof createTuiToolApprovalPort>[0]['isProjectApproved'];
21
+ rememberProjectApproval: Parameters<typeof createTuiToolApprovalPort>[0]['rememberProjectApproval'];
22
+ driftObserver: CyberLoopKinematicsObserver | undefined;
23
+ turnAbortSignal: AbortSignal;
24
+ leaseOwner: {
25
+ ownerKind: 'tui';
26
+ ownerId: string;
27
+ clientLabel: string;
28
+ };
29
+ }): Promise<RunResult | undefined>;
30
+ export {};
31
+ //# sourceMappingURL=tui-ordinary-turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-ordinary-turn.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-ordinary-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAErE,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;AAElG,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,SAAS;IAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAExH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,iBAAiB,EAAE,cAAc,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,iBAAiB,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACxF,uBAAuB,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACpG,aAAa,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACvD,eAAe,EAAE,WAAW,CAAC;IAC7B,UAAU,EAAE;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAkGjC"}
@@ -0,0 +1,83 @@
1
+ import { executeOrdinaryChatTurn } from '../../../core/chat/ordinary-turn.js';
2
+ import { createTuiCompactionStatusPort } from './tui-compaction-status.js';
3
+ import { finalizeSuccessfulTuiOrdinaryTurn } from './tui-agent-turn-result.js';
4
+ import { createTuiRunLoopEventAdapter } from './tui-run-loop-events.js';
5
+ import { createTuiToolApprovalPort } from './tui-tool-approval.js';
6
+ export async function executeTuiOrdinaryTurn(args) {
7
+ const { prompt, displayText, sessionId, runtime, state, updateSessionById, parsePlanState, maybeAutoNameSession, isProjectApproved, rememberProjectApproval, driftObserver, turnAbortSignal, leaseOwner, } = args;
8
+ const compactionPort = createTuiCompactionStatusPort({
9
+ state,
10
+ sessionId,
11
+ updateSessionById,
12
+ });
13
+ if (displayText) {
14
+ updateSessionById(sessionId, (session) => ({
15
+ ...session,
16
+ messages: [...session.messages, { id: state.nextLocalId(), role: 'user', text: displayText }],
17
+ }));
18
+ }
19
+ const runLoopEvents = createTuiRunLoopEventAdapter({
20
+ state,
21
+ sessionId,
22
+ updateSessionById,
23
+ parsePlanState,
24
+ });
25
+ const approvalPort = createTuiToolApprovalPort({
26
+ state,
27
+ isProjectApproved,
28
+ rememberProjectApproval,
29
+ });
30
+ const result = await executeOrdinaryChatTurn({
31
+ workspaceRoot: runtime.workspaceRoot,
32
+ stateRoot: runtime.stateRoot,
33
+ sessionStoragePath: runtime.sessionCatalogFile,
34
+ sessionId,
35
+ prompt,
36
+ apiKey: runtime.apiKey,
37
+ preferApiKey: runtime.preferApiKey,
38
+ credentialStorePath: runtime.credentialStorePath,
39
+ systemContext: runtime.systemContext,
40
+ memoryMaintenanceMode: 'background',
41
+ host: {
42
+ events: {
43
+ onAgentLoopEvent: (event) => {
44
+ driftObserver?.observer.handleEvent(event);
45
+ },
46
+ },
47
+ compaction: compactionPort,
48
+ approvals: approvalPort,
49
+ },
50
+ onCompactionStatus: (event) => compactionPort.onFinalCompactionStatus?.(event),
51
+ onAssistantStream: runLoopEvents.onAssistantStream,
52
+ onTraceEvent: runLoopEvents.onTraceEvent,
53
+ shouldStop: () => state.interruptRequestedRef.current,
54
+ abortSignal: turnAbortSignal,
55
+ leaseOwner,
56
+ });
57
+ if (!result) {
58
+ return undefined;
59
+ }
60
+ const { readChatSession } = await import('../state/storage.js');
61
+ const persistedSession = readChatSession(runtime.sessionCatalogFile, sessionId, true);
62
+ if (!persistedSession) {
63
+ return undefined;
64
+ }
65
+ const { latestHistory } = finalizeSuccessfulTuiOrdinaryTurn({
66
+ persistedSession,
67
+ displayText,
68
+ outcome: result.outcome,
69
+ prompt,
70
+ sessionId,
71
+ state,
72
+ maybeAutoNameSession,
73
+ updateSessionById,
74
+ });
75
+ return {
76
+ outcome: result.outcome,
77
+ summary: result.summary,
78
+ transcript: latestHistory,
79
+ trace: [],
80
+ toolResults: [],
81
+ };
82
+ }
83
+ //# sourceMappingURL=tui-ordinary-turn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-ordinary-turn.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-ordinary-turn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAG9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAQnE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAc5C;IACC,MAAM,EACJ,MAAM,EACN,WAAW,EACX,SAAS,EACT,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,UAAU,GACX,GAAG,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,6BAA6B,CAAC;QACnD,KAAK;QACL,SAAS;QACT,iBAAiB;KAClB,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,iBAAiB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,OAAO;YACV,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SAC9F,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,aAAa,GAAG,4BAA4B,CAAC;QACjD,KAAK;QACL,SAAS;QACT,iBAAiB;QACjB,cAAc;KACf,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,yBAAyB,CAAC;QAC7C,KAAK;QACL,iBAAiB;QACjB,uBAAuB;KACxB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;QAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,SAAS;QACT,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,qBAAqB,EAAE,YAAY;QACnC,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;aACF;YACD,UAAU,EAAE,cAAc;YAC1B,SAAS,EAAE,YAAY;SACxB;QACD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC;QAC9E,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;QAClD,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO;QACrD,WAAW,EAAE,eAAe;QAC5B,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACtF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,iCAAiC,CAAC;QAC1D,gBAAgB;QAChB,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM;QACN,SAAS;QACT,KAAK;QACL,oBAAoB;QACpB,iBAAiB;KAClB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;KACH,CAAC;AACjB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { TraceEvent } from '../../../index.js';
2
+ import type { ChatSession } from '../state/types.js';
3
+ import type { ActionState } from './useAgentRun.js';
4
+ export type TuiAssistantStreamUpdate = {
5
+ step: number;
6
+ text: string;
7
+ done: boolean;
8
+ };
9
+ type SessionUpdater = (sessionId: string, updater: (session: ChatSession) => ChatSession) => void;
10
+ type PlanStateParser = (output: unknown) => ActionState extends {
11
+ setCurrentPlan: (value: infer T) => void;
12
+ } ? T : never;
13
+ export declare function createTuiRunLoopEventAdapter(args: {
14
+ state: ActionState;
15
+ sessionId: string;
16
+ updateSessionById: SessionUpdater;
17
+ parsePlanState: PlanStateParser;
18
+ }): {
19
+ onAssistantStream(update: TuiAssistantStreamUpdate): void;
20
+ onTraceEvent(event: TraceEvent): void;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=tui-run-loop-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-run-loop-events.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-run-loop-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAErF,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;AAElG,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,SAAS;IAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,cAAc,CAAC;IAClC,cAAc,EAAE,eAAe,CAAC;CACjC;8BAO6B,wBAAwB;wBAQ9B,UAAU;EAgEjC"}
@@ -0,0 +1,74 @@
1
+ import { previewEditFileInput } from '../../../core/tools/edit-file.js';
2
+ import { formatEditPreviewHistoryMessage, formatPlanHistoryMessage, toLiveEvent } from '../utils/format.js';
3
+ export function createTuiRunLoopEventAdapter(args) {
4
+ const { state, sessionId, updateSessionById, parsePlanState } = args;
5
+ const appendedEditPreviewIds = new Set();
6
+ const appendedPlanSteps = new Set();
7
+ const streamingBuffers = new Map();
8
+ return {
9
+ onAssistantStream(update) {
10
+ streamingBuffers.set(update.step, update.text);
11
+ state.setCurrentAssistantText(update.text || undefined);
12
+ if (update.done) {
13
+ streamingBuffers.delete(update.step);
14
+ }
15
+ },
16
+ onTraceEvent(event) {
17
+ if (event.type === 'assistant.turn' && event.content.trim()) {
18
+ streamingBuffers.delete(event.step);
19
+ state.setCurrentAssistantText(event.content);
20
+ }
21
+ if (event.type === 'tool.call' && event.call.tool === 'edit_file') {
22
+ void previewEditFileInput(event.call.input).then((preview) => {
23
+ if (!preview || appendedEditPreviewIds.has(event.call.id)) {
24
+ return;
25
+ }
26
+ appendedEditPreviewIds.add(event.call.id);
27
+ updateSessionById(sessionId, (session) => ({
28
+ ...session,
29
+ messages: [
30
+ ...session.messages,
31
+ {
32
+ id: state.nextLocalId(),
33
+ role: 'assistant',
34
+ text: formatEditPreviewHistoryMessage(preview),
35
+ },
36
+ ],
37
+ }));
38
+ });
39
+ }
40
+ if (event.type === 'tool.result' && event.tool === 'update_plan') {
41
+ state.setCurrentPlan(parsePlanState(event.result.output));
42
+ if (!appendedPlanSteps.has(event.step)) {
43
+ const renderedPlan = formatPlanHistoryMessage(event.result.output);
44
+ if (renderedPlan) {
45
+ appendedPlanSteps.add(event.step);
46
+ updateSessionById(sessionId, (session) => ({
47
+ ...session,
48
+ messages: [
49
+ ...session.messages,
50
+ {
51
+ id: state.nextLocalId(),
52
+ role: 'assistant',
53
+ text: renderedPlan,
54
+ },
55
+ ],
56
+ }));
57
+ }
58
+ }
59
+ }
60
+ const next = toLiveEvent(event);
61
+ if (!next) {
62
+ return;
63
+ }
64
+ state.setLiveEvents((current) => {
65
+ const previous = current[current.length - 1];
66
+ if (previous?.text === next) {
67
+ return current;
68
+ }
69
+ return [...current, { id: state.nextLocalId(), text: next }].slice(-8);
70
+ });
71
+ },
72
+ };
73
+ }
74
+ //# sourceMappingURL=tui-run-loop-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-run-loop-events.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-run-loop-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ChatTurnApprovalPort } from '../../../core/chat/turn-host.js';
2
+ import type { ActionState } from './useAgentRun.js';
3
+ export declare function createTuiToolApprovalPort(args: {
4
+ state: ActionState;
5
+ isProjectApproved: (call: Parameters<NonNullable<ChatTurnApprovalPort['requestToolApproval']>>[0]['call']) => boolean;
6
+ rememberProjectApproval: (call: Parameters<NonNullable<ChatTurnApprovalPort['requestToolApproval']>>[0]['call']) => void;
7
+ }): ChatTurnApprovalPort;
8
+ //# sourceMappingURL=tui-tool-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-tool-approval.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-tool-approval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,WAAW,CAAC;IACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;IACtH,uBAAuB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAC1H,GAAG,oBAAoB,CAmCvB"}
@@ -0,0 +1,37 @@
1
+ import { requestToolApproval } from '../../../core/chat/tool-approval-host.js';
2
+ import { previewEditFileInput } from '../../../core/tools/edit-file.js';
3
+ import { createProjectApprovalRuleForCall, describeProjectApprovalRule } from '../state/approval-rules.js';
4
+ export function createTuiToolApprovalPort(args) {
5
+ const { state, isProjectApproved, rememberProjectApproval } = args;
6
+ return {
7
+ async requestToolApproval(request) {
8
+ if (!request) {
9
+ return { approved: false, reason: 'Missing approval request.' };
10
+ }
11
+ const { call, tool } = request;
12
+ if (isProjectApproved(call)) {
13
+ return {
14
+ approved: true,
15
+ reason: 'Approved by saved project rule',
16
+ };
17
+ }
18
+ const editPreview = call.tool === 'edit_file' ? await previewEditFileInput(call.input) : undefined;
19
+ return await requestToolApproval({
20
+ call,
21
+ tool,
22
+ storePending: ({ resolve }) => {
23
+ const rememberedRule = createProjectApprovalRuleForCall(call);
24
+ state.setPendingApproval({
25
+ call,
26
+ tool,
27
+ editPreview,
28
+ rememberForProject: () => rememberProjectApproval(call),
29
+ rememberLabel: rememberedRule ? describeProjectApprovalRule(rememberedRule) : undefined,
30
+ resolve,
31
+ });
32
+ },
33
+ });
34
+ },
35
+ };
36
+ }
37
+ //# sourceMappingURL=tui-tool-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-tool-approval.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-tool-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAG3G,MAAM,UAAU,yBAAyB,CAAC,IAIzC;IACC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;IAEnE,OAAO;QACL,KAAK,CAAC,mBAAmB,CAAC,OAAO;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;YAClE,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAC/B,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,gCAAgC;iBACzC,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnG,OAAO,MAAM,mBAAmB,CAAC;gBAC/B,IAAI;gBACJ,IAAI;gBACJ,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC5B,MAAM,cAAc,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;oBAC9D,KAAK,CAAC,kBAAkB,CAAC;wBACvB,IAAI;wBACJ,IAAI;wBACJ,WAAW;wBACX,kBAAkB,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBACvD,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;wBACvF,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -57,7 +57,7 @@ type UseAgentRunArgs = {
57
57
  updateActiveSession: ActiveSessionUpdater;
58
58
  drift?: ChatDriftObserverOptions;
59
59
  };
60
- type ChatDriftObserverOptions = {
60
+ export type ChatDriftObserverOptions = {
61
61
  enabled: boolean;
62
62
  onRunStart?: () => void;
63
63
  onAnnotation?: (annotation: CyberLoopObserverAnnotation) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentRun.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useAgentRun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAgentRun.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useAgentRun.ts"],"names":[],"mappings":"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"}