@apholdings/jensen-code 0.0.3 → 0.0.4

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 (116) hide show
  1. package/dist/core/agent-session.d.ts +1 -0
  2. package/dist/core/agent-session.d.ts.map +1 -1
  3. package/dist/core/agent-session.js +15 -0
  4. package/dist/core/agent-session.js.map +1 -1
  5. package/dist/core/extensions/loader.d.ts.map +1 -1
  6. package/dist/core/extensions/loader.js +1 -1
  7. package/dist/core/extensions/loader.js.map +1 -1
  8. package/dist/core/footer-data-provider.d.ts +4 -1
  9. package/dist/core/footer-data-provider.d.ts.map +1 -1
  10. package/dist/core/footer-data-provider.js +25 -11
  11. package/dist/core/footer-data-provider.js.map +1 -1
  12. package/dist/modes/interactive/components/assistant-message.d.ts +6 -1
  13. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  14. package/dist/modes/interactive/components/assistant-message.js +40 -10
  15. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  16. package/dist/modes/interactive/components/footer.d.ts +0 -2
  17. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  18. package/dist/modes/interactive/components/footer.js +8 -146
  19. package/dist/modes/interactive/components/footer.js.map +1 -1
  20. package/dist/modes/interactive/components/header.d.ts +9 -3
  21. package/dist/modes/interactive/components/header.d.ts.map +1 -1
  22. package/dist/modes/interactive/components/header.js +125 -196
  23. package/dist/modes/interactive/components/header.js.map +1 -1
  24. package/dist/modes/interactive/components/top-bar.d.ts.map +1 -1
  25. package/dist/modes/interactive/components/top-bar.js +1 -1
  26. package/dist/modes/interactive/components/top-bar.js.map +1 -1
  27. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  28. package/dist/modes/interactive/components/user-message.js +1 -1
  29. package/dist/modes/interactive/components/user-message.js.map +1 -1
  30. package/dist/modes/interactive/interactive-mode.d.ts +17 -1
  31. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  32. package/dist/modes/interactive/interactive-mode.js +507 -211
  33. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  34. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  35. package/dist/modes/interactive/theme/theme.js +2 -0
  36. package/dist/modes/interactive/theme/theme.js.map +1 -1
  37. package/examples/extensions/antigravity-image-gen.ts +0 -1
  38. package/examples/extensions/auto-commit-on-exit.ts +0 -1
  39. package/examples/extensions/bash-spawn-hook.ts +0 -1
  40. package/examples/extensions/bookmark.ts +0 -1
  41. package/examples/extensions/built-in-tool-renderer.ts +0 -1
  42. package/examples/extensions/claude-rules.ts +0 -1
  43. package/examples/extensions/commands.ts +0 -1
  44. package/examples/extensions/confirm-destructive.ts +0 -1
  45. package/examples/extensions/custom-compaction.ts +0 -1
  46. package/examples/extensions/custom-footer.ts +0 -1
  47. package/examples/extensions/custom-header.ts +0 -1
  48. package/examples/extensions/custom-provider-anthropic/index.ts +0 -1
  49. package/examples/extensions/custom-provider-gitlab-duo/index.ts +0 -1
  50. package/examples/extensions/custom-provider-qwen-cli/index.ts +0 -1
  51. package/examples/extensions/dirty-repo-guard.ts +0 -1
  52. package/examples/extensions/doom-overlay/index.ts +0 -1
  53. package/examples/extensions/dynamic-resources/index.ts +0 -1
  54. package/examples/extensions/dynamic-tools.ts +0 -1
  55. package/examples/extensions/event-bus.ts +0 -1
  56. package/examples/extensions/file-trigger.ts +0 -1
  57. package/examples/extensions/git-checkpoint.ts +0 -1
  58. package/examples/extensions/handoff.ts +0 -1
  59. package/examples/extensions/hello.ts +0 -1
  60. package/examples/extensions/inline-bash.ts +0 -1
  61. package/examples/extensions/input-transform.ts +0 -1
  62. package/examples/extensions/interactive-shell.ts +0 -1
  63. package/examples/extensions/mac-system-theme.ts +0 -1
  64. package/examples/extensions/message-renderer.ts +0 -1
  65. package/examples/extensions/minimal-mode.ts +0 -1
  66. package/examples/extensions/modal-editor.ts +0 -1
  67. package/examples/extensions/model-status.ts +0 -1
  68. package/examples/extensions/notify.ts +0 -1
  69. package/examples/extensions/overlay-qa-tests.ts +0 -1
  70. package/examples/extensions/overlay-test.ts +0 -1
  71. package/examples/extensions/permission-gate.ts +0 -1
  72. package/examples/extensions/pirate.ts +0 -1
  73. package/examples/extensions/plan-mode/index.ts +0 -1
  74. package/examples/extensions/preset.ts +0 -1
  75. package/examples/extensions/protected-paths.ts +0 -1
  76. package/examples/extensions/provider-payload.ts +0 -1
  77. package/examples/extensions/qna.ts +0 -1
  78. package/examples/extensions/question.ts +0 -1
  79. package/examples/extensions/questionnaire.ts +0 -1
  80. package/examples/extensions/rainbow-editor.ts +0 -1
  81. package/examples/extensions/reload-runtime.ts +0 -1
  82. package/examples/extensions/rpc-demo.ts +0 -1
  83. package/examples/extensions/sandbox/index.ts +0 -1
  84. package/examples/extensions/send-user-message.ts +0 -1
  85. package/examples/extensions/session-name.ts +0 -1
  86. package/examples/extensions/shutdown-command.ts +0 -1
  87. package/examples/extensions/snake.ts +0 -1
  88. package/examples/extensions/space-invaders.ts +0 -1
  89. package/examples/extensions/ssh.ts +0 -1
  90. package/examples/extensions/status-line.ts +0 -1
  91. package/examples/extensions/subagent/agents.ts +0 -1
  92. package/examples/extensions/subagent/index.ts +0 -1
  93. package/examples/extensions/summarize.ts +0 -1
  94. package/examples/extensions/system-prompt-header.ts +0 -1
  95. package/examples/extensions/timed-confirm.ts +0 -1
  96. package/examples/extensions/titlebar-spinner.ts +0 -1
  97. package/examples/extensions/todo.ts +0 -1
  98. package/examples/extensions/tool-override.ts +0 -1
  99. package/examples/extensions/tools.ts +0 -1
  100. package/examples/extensions/trigger-compact.ts +0 -1
  101. package/examples/extensions/truncated-tool.ts +0 -1
  102. package/examples/extensions/widget-placement.ts +0 -1
  103. package/examples/extensions/with-deps/index.ts +0 -1
  104. package/examples/sdk/01-minimal.ts +0 -1
  105. package/examples/sdk/02-custom-model.ts +0 -1
  106. package/examples/sdk/03-custom-prompt.ts +0 -1
  107. package/examples/sdk/04-skills.ts +0 -1
  108. package/examples/sdk/05-tools.ts +0 -1
  109. package/examples/sdk/06-extensions.ts +0 -1
  110. package/examples/sdk/07-context-files.ts +0 -1
  111. package/examples/sdk/08-prompt-templates.ts +0 -1
  112. package/examples/sdk/09-api-keys-and-oauth.ts +0 -1
  113. package/examples/sdk/10-settings.ts +0 -1
  114. package/examples/sdk/11-sessions.ts +0 -1
  115. package/examples/sdk/12-full-control.ts +0 -1
  116. package/package.json +4 -3
@@ -396,6 +396,18 @@ export class AgentSession {
396
396
  return; // Already connected
397
397
  this._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);
398
398
  }
399
+ /**
400
+ * Wait for already-enqueued agent event processing to finish.
401
+ * This prevents stale events from mutating session state after a reset/switch.
402
+ */
403
+ async _drainAgentEventQueue() {
404
+ try {
405
+ await this._agentEventQueue;
406
+ }
407
+ catch {
408
+ // The queue is kept alive by _handleAgentEvent(); ignore the prior failure here.
409
+ }
410
+ }
399
411
  /**
400
412
  * Remove all listeners and disconnect from agent.
401
413
  * Call this when completely done with the session.
@@ -961,6 +973,7 @@ export class AgentSession {
961
973
  }
962
974
  this._disconnectFromAgent();
963
975
  await this.abort();
976
+ await this._drainAgentEventQueue();
964
977
  this.agent.reset();
965
978
  this.sessionManager.newSession({ parentSession: options?.parentSession });
966
979
  this.agent.sessionId = this.sessionManager.getSessionId();
@@ -1214,6 +1227,7 @@ export class AgentSession {
1214
1227
  async compact(customInstructions) {
1215
1228
  this._disconnectFromAgent();
1216
1229
  await this.abort();
1230
+ await this._drainAgentEventQueue();
1217
1231
  this._compactionAbortController = new AbortController();
1218
1232
  try {
1219
1233
  if (!this.model) {
@@ -2035,6 +2049,7 @@ export class AgentSession {
2035
2049
  }
2036
2050
  this._disconnectFromAgent();
2037
2051
  await this.abort();
2052
+ await this._drainAgentEventQueue();
2038
2053
  this._steeringMessages = [];
2039
2054
  this._followUpMessages = [];
2040
2055
  this._pendingNextTurnMessages = [];