omnikey-cli 1.0.21 → 1.0.22

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.
@@ -110,6 +110,17 @@ async function runToolLoop(initialResult, session, sessionId, send, log, tools,
110
110
  if (result.finish_reason === 'tool_calls') {
111
111
  log.warn('Tool loop hit MAX_TOOL_ITERATIONS; forcing final conclusion', { sessionId });
112
112
  session.history.push(result.assistantMessage);
113
+ // The API requires a tool_result for every tool_use in the preceding
114
+ // assistant message. Add synthetic results for any unexecuted calls so
115
+ // the history remains valid before we send the follow-up user message.
116
+ for (const tc of result.tool_calls ?? []) {
117
+ session.history.push({
118
+ role: 'tool',
119
+ tool_call_id: tc.id,
120
+ tool_name: tc.name,
121
+ content: 'Tool call limit reached. Result unavailable.',
122
+ });
123
+ }
113
124
  session.history.push({
114
125
  role: 'user',
115
126
  content: 'You have reached the maximum number of tool calls. Do NOT make any further tool calls or web searches. You MUST now provide a final answer directly. If you still need to gather information from the system, generate a `<shell_scripts>` block instead of making tool calls.',
@@ -64,8 +64,8 @@ app.get('/macos/appcast', (req, res) => {
64
64
  const appcastUrl = `${baseUrl}/macos/appcast`;
65
65
  // These should match the values embedded into the macOS app
66
66
  // Info.plist in macOS/build_release_dmg.sh.
67
- const bundleVersion = '17';
68
- const shortVersion = '1.0.16';
67
+ const bundleVersion = '18';
68
+ const shortVersion = '1.0.17';
69
69
  const xml = `<?xml version="1.0" encoding="utf-8"?>
70
70
  <rss version="2.0"
71
71
  xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle"
@@ -93,7 +93,7 @@ app.get('/macos/appcast', (req, res) => {
93
93
  // ── Windows distribution endpoints ───────────────────────────────────────────
94
94
  // These should match the values in windows/OmniKey.Windows.csproj
95
95
  // <Version> and windows/build_release_zip.ps1 $APP_VERSION.
96
- const WIN_VERSION = '1.3';
96
+ const WIN_VERSION = '1.4';
97
97
  const WIN_ZIP_FILENAME = 'OmniKeyAI-windows-win-x64.zip';
98
98
  const WIN_ZIP_PATH = path_1.default.join(process.cwd(), 'windows', WIN_ZIP_FILENAME);
99
99
  // Serves the pre-built ZIP produced by windows/build_release_zip.ps1.
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public",
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },
7
- "version": "1.0.21",
7
+ "version": "1.0.22",
8
8
  "description": "CLI for onboarding users to Omnikey AI and configuring OPENAI_API_KEY. Use Yarn for install/build.",
9
9
  "engines": {
10
10
  "node": ">=14.0.0",