@tyvm/knowhow 0.0.156 → 0.0.157

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 (69) hide show
  1. package/package.json +1 -1
  2. package/src/agents/base/base.ts +15 -5
  3. package/src/chat/modules/AgentModule.ts +3 -3
  4. package/src/chat/modules/RemoteSyncModule.ts +45 -17
  5. package/src/clients/anthropic.ts +156 -79
  6. package/src/clients/attribution.ts +53 -0
  7. package/src/clients/http.ts +211 -84
  8. package/src/clients/index.ts +21 -9
  9. package/src/clients/openai.ts +441 -220
  10. package/src/clients/openrouter.ts +10 -3
  11. package/src/clients/pricing/openai.ts +15 -1
  12. package/src/clients/pricing/types.ts +15 -0
  13. package/src/clients/responseMetadata.ts +221 -0
  14. package/src/clients/types.ts +49 -4
  15. package/tests/unit/clients/anthropic.responseMetadata.test.ts +81 -0
  16. package/tests/unit/clients/attribution.test.ts +185 -0
  17. package/tests/unit/clients/http.responseMetadata.test.ts +86 -0
  18. package/tests/unit/clients/openai.responseMetadata.test.ts +90 -0
  19. package/tests/unit/clients/responseMetadata.test.ts +123 -0
  20. package/ts_build/package.json +1 -1
  21. package/ts_build/src/agents/base/base.js +14 -4
  22. package/ts_build/src/agents/base/base.js.map +1 -1
  23. package/ts_build/src/chat/modules/AgentModule.js +3 -3
  24. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  25. package/ts_build/src/chat/modules/RemoteSyncModule.d.ts +1 -0
  26. package/ts_build/src/chat/modules/RemoteSyncModule.js +19 -7
  27. package/ts_build/src/chat/modules/RemoteSyncModule.js.map +1 -1
  28. package/ts_build/src/clients/anthropic.d.ts +1 -0
  29. package/ts_build/src/clients/anthropic.js +83 -38
  30. package/ts_build/src/clients/anthropic.js.map +1 -1
  31. package/ts_build/src/clients/attribution.d.ts +2 -0
  32. package/ts_build/src/clients/attribution.js +32 -0
  33. package/ts_build/src/clients/attribution.js.map +1 -0
  34. package/ts_build/src/clients/http.js +100 -20
  35. package/ts_build/src/clients/http.js.map +1 -1
  36. package/ts_build/src/clients/index.d.ts +2 -1
  37. package/ts_build/src/clients/index.js +6 -2
  38. package/ts_build/src/clients/index.js.map +1 -1
  39. package/ts_build/src/clients/openai.d.ts +2 -1
  40. package/ts_build/src/clients/openai.js +225 -99
  41. package/ts_build/src/clients/openai.js.map +1 -1
  42. package/ts_build/src/clients/openrouter.d.ts +2 -2
  43. package/ts_build/src/clients/openrouter.js +6 -2
  44. package/ts_build/src/clients/openrouter.js.map +1 -1
  45. package/ts_build/src/clients/pricing/openai.js +15 -1
  46. package/ts_build/src/clients/pricing/openai.js.map +1 -1
  47. package/ts_build/src/clients/pricing/types.d.ts +6 -0
  48. package/ts_build/src/clients/pricing/types.js.map +1 -1
  49. package/ts_build/src/clients/responseMetadata.d.ts +15 -0
  50. package/ts_build/src/clients/responseMetadata.js +141 -0
  51. package/ts_build/src/clients/responseMetadata.js.map +1 -0
  52. package/ts_build/src/clients/types.d.ts +18 -1
  53. package/ts_build/src/clients/types.js +2 -1
  54. package/ts_build/src/clients/types.js.map +1 -1
  55. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.d.ts +1 -0
  56. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.js +77 -0
  57. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.js.map +1 -0
  58. package/ts_build/tests/unit/clients/attribution.test.d.ts +1 -0
  59. package/ts_build/tests/unit/clients/attribution.test.js +153 -0
  60. package/ts_build/tests/unit/clients/attribution.test.js.map +1 -0
  61. package/ts_build/tests/unit/clients/http.responseMetadata.test.d.ts +1 -0
  62. package/ts_build/tests/unit/clients/http.responseMetadata.test.js +77 -0
  63. package/ts_build/tests/unit/clients/http.responseMetadata.test.js.map +1 -0
  64. package/ts_build/tests/unit/clients/openai.responseMetadata.test.d.ts +1 -0
  65. package/ts_build/tests/unit/clients/openai.responseMetadata.test.js +86 -0
  66. package/ts_build/tests/unit/clients/openai.responseMetadata.test.js.map +1 -0
  67. package/ts_build/tests/unit/clients/responseMetadata.test.d.ts +1 -0
  68. package/ts_build/tests/unit/clients/responseMetadata.test.js +96 -0
  69. package/ts_build/tests/unit/clients/responseMetadata.test.js.map +1 -0
@@ -0,0 +1,86 @@
1
+ const post = jest.fn();
2
+
3
+ jest.mock("../../../src/utils/http", () => ({
4
+ __esModule: true,
5
+ default: { post },
6
+ HTTP_UNAUTHORIZED_HANDLER: Symbol("refresh"),
7
+ HttpError: class HttpError extends Error {
8
+ constructor(
9
+ public status: number,
10
+ public response: Response,
11
+ message: string
12
+ ) {
13
+ super(message);
14
+ }
15
+ },
16
+ }));
17
+
18
+ import { HttpClient } from "../../../src/clients/http";
19
+
20
+ describe("HttpClient response metadata", () => {
21
+ beforeEach(() => post.mockReset());
22
+
23
+ it("emits chat metadata and excludes transport-only options from its body", async () => {
24
+ post.mockResolvedValue({
25
+ status: 200,
26
+ headers: new Headers({
27
+ "x-request-id": "http-request",
28
+ "x-ratelimit-limit-requests": "20",
29
+ "x-ratelimit-remaining-requests": "19",
30
+ }),
31
+ data: {
32
+ choices: [{ message: { role: "assistant", content: "hi" } }],
33
+ model: "test",
34
+ },
35
+ });
36
+ const observer = jest.fn();
37
+ const client = new HttpClient("https://provider.example");
38
+ const controller = new AbortController();
39
+ await client.createChatCompletion({
40
+ model: "test",
41
+ messages: [{ role: "user", content: "hello" }],
42
+ signal: controller.signal,
43
+ timeout: 1,
44
+ maxRetries: 0,
45
+ backoffMs: 1,
46
+ onResponseMetadata: observer,
47
+ });
48
+
49
+ expect(post.mock.calls[0][1]).not.toHaveProperty("onResponseMetadata");
50
+ expect(post.mock.calls[0][1]).not.toHaveProperty("signal");
51
+ expect(post.mock.calls[0][1]).not.toHaveProperty("timeout");
52
+ expect(observer).toHaveBeenCalledWith({
53
+ statusCode: 200,
54
+ requestId: "http-request",
55
+ rateLimit: { limit: 20, remaining: 19 },
56
+ headers: {
57
+ "x-request-id": "http-request",
58
+ "x-ratelimit-limit-requests": "20",
59
+ "x-ratelimit-remaining-requests": "19",
60
+ },
61
+ });
62
+ });
63
+
64
+ it("emits embedding error metadata and preserves the original HttpError", async () => {
65
+ const { HttpError } = require("../../../src/utils/http");
66
+ const error = new HttpError(
67
+ 429,
68
+ new Response(null, { headers: { "retry-after": "3" } }),
69
+ "rate limited"
70
+ );
71
+ post.mockRejectedValue(error);
72
+ const observer = jest.fn();
73
+ await expect(
74
+ new HttpClient("https://provider.example").createEmbedding({
75
+ model: "test",
76
+ input: "hello",
77
+ onResponseMetadata: observer,
78
+ })
79
+ ).rejects.toBe(error);
80
+ expect(observer).toHaveBeenCalledWith({
81
+ statusCode: 429,
82
+ rateLimit: { retryAfterSeconds: 3 },
83
+ headers: { "retry-after": "3" },
84
+ });
85
+ });
86
+ });
@@ -0,0 +1,90 @@
1
+ import { GenericOpenAiClient } from "../../../src/clients/openai";
2
+
3
+ const completionOptions = {
4
+ model: "gpt-4o-mini",
5
+ messages: [{ role: "user" as const, content: "hello" }],
6
+ };
7
+
8
+ describe("OpenAI response metadata", () => {
9
+ it("emits native chat response metadata before mapping", async () => {
10
+ const client = new GenericOpenAiClient("test-key");
11
+ const observer = jest.fn();
12
+ (client as any).client = {
13
+ chat: {
14
+ completions: {
15
+ create: jest.fn(() => ({
16
+ withResponse: async () => ({
17
+ data: {
18
+ choices: [{ message: { role: "assistant", content: "hi" } }],
19
+ usage: undefined,
20
+ },
21
+ response: new Response(null, {
22
+ status: 200,
23
+ headers: {
24
+ "x-request-id": "chat-request",
25
+ "x-ratelimit-limit-requests": "100",
26
+ "x-ratelimit-remaining-requests": "99",
27
+ "x-ratelimit-limit-tokens": "1000",
28
+ },
29
+ }),
30
+ request_id: "chat-request",
31
+ }),
32
+ })),
33
+ },
34
+ },
35
+ };
36
+
37
+ const result = await client.createChatCompletion({
38
+ ...completionOptions,
39
+ onResponseMetadata: observer,
40
+ });
41
+ expect(result.choices[0].message.content).toBe("hi");
42
+ expect(observer).toHaveBeenCalledWith({
43
+ statusCode: 200,
44
+ requestId: "chat-request",
45
+ rateLimit: { limit: 100, remaining: 99, tokenLimit: 1000 },
46
+ headers: {
47
+ "x-request-id": "chat-request",
48
+ "x-ratelimit-limit-requests": "100",
49
+ "x-ratelimit-remaining-requests": "99",
50
+ "x-ratelimit-limit-tokens": "1000",
51
+ },
52
+ });
53
+ });
54
+
55
+ it("emits API error metadata and preserves the original error", async () => {
56
+ const client = new GenericOpenAiClient("test-key");
57
+ const observer = jest.fn(() => {
58
+ throw new Error("observer");
59
+ });
60
+ const error = Object.assign(new Error("rate limited"), {
61
+ status: 429,
62
+ headers: { "retry-after": "2", authorization: "secret" },
63
+ request_id: "rate-request",
64
+ });
65
+ (client as any).client = {
66
+ chat: {
67
+ completions: {
68
+ create: jest.fn(() => ({
69
+ withResponse: async () => {
70
+ throw error;
71
+ },
72
+ })),
73
+ },
74
+ },
75
+ };
76
+
77
+ await expect(
78
+ client.createChatCompletion({
79
+ ...completionOptions,
80
+ onResponseMetadata: observer,
81
+ })
82
+ ).rejects.toBe(error);
83
+ expect(observer).toHaveBeenCalledWith({
84
+ statusCode: 429,
85
+ requestId: "rate-request",
86
+ rateLimit: { retryAfterSeconds: 2 },
87
+ headers: { "retry-after": "2" },
88
+ });
89
+ });
90
+ });
@@ -0,0 +1,123 @@
1
+ import {
2
+ emitResponseMetadata,
3
+ normalizeRateLimitMetadata,
4
+ normalizeResponseMetadata,
5
+ } from "../../../src/clients/responseMetadata";
6
+
7
+ describe("response metadata", () => {
8
+ it("normalizes and allowlists safe headers and derives a request id", () => {
9
+ const metadata = normalizeResponseMetadata({
10
+ statusCode: 429,
11
+ headers: {
12
+ "X-RateLimit-Remaining": "0",
13
+ "X-Request-Id": "request-123",
14
+ Authorization: "Bearer secret",
15
+ Cookie: "session=secret",
16
+ "X-Private-Value": "never expose",
17
+ },
18
+ });
19
+
20
+ expect(metadata).toEqual({
21
+ statusCode: 429,
22
+ requestId: "request-123",
23
+ rateLimit: { remaining: 0 },
24
+ headers: {
25
+ "x-ratelimit-remaining": "0",
26
+ "x-request-id": "request-123",
27
+ },
28
+ });
29
+ });
30
+
31
+ it("uses an explicit request id and retains only the first duplicate header", () => {
32
+ const metadata = normalizeResponseMetadata({
33
+ requestId: "explicit-id",
34
+ headers: [
35
+ ["Retry-After", "1"],
36
+ ["retry-after", "2"],
37
+ ["CF-Ray", "ray-id"],
38
+ ],
39
+ });
40
+
41
+ expect(metadata.requestId).toBe("explicit-id");
42
+ expect(metadata.headers).toEqual({
43
+ "retry-after": "1",
44
+ "cf-ray": "ray-id",
45
+ });
46
+ });
47
+
48
+ it("normalizes standard and OpenAI-compatible limits into JSON-safe values", () => {
49
+ const now = new Date("2026-08-23T00:00:00.000Z");
50
+ expect(
51
+ normalizeRateLimitMetadata(
52
+ {
53
+ "ratelimit-limit": "100",
54
+ "ratelimit-remaining": "9",
55
+ "ratelimit-reset": "60",
56
+ "retry-after": "2",
57
+ "x-ratelimit-limit-tokens": "2000",
58
+ "x-ratelimit-remaining-tokens": "100",
59
+ "x-ratelimit-reset-tokens": "1m30s",
60
+ },
61
+ now
62
+ )
63
+ ).toEqual({
64
+ limit: 100,
65
+ remaining: 9,
66
+ resetAt: "2026-08-23T00:01:00.000Z",
67
+ retryAfterSeconds: 2,
68
+ tokenLimit: 2000,
69
+ tokenRemaining: 100,
70
+ tokenResetAt: "2026-08-23T00:01:30.000Z",
71
+ });
72
+ });
73
+
74
+ it("normalizes Anthropic request and token windows", () => {
75
+ expect(
76
+ normalizeRateLimitMetadata(
77
+ {
78
+ "anthropic-ratelimit-requests-limit": "50",
79
+ "anthropic-ratelimit-requests-remaining": "10",
80
+ "anthropic-ratelimit-requests-reset": "2026-08-23T00:01:00Z",
81
+ "anthropic-ratelimit-tokens-limit": "40000",
82
+ "anthropic-ratelimit-tokens-remaining": "5000",
83
+ "anthropic-ratelimit-tokens-reset": "2026-08-23T00:02:00Z",
84
+ },
85
+ new Date("2026-08-23T00:00:00Z")
86
+ )
87
+ ).toEqual({
88
+ limit: 50,
89
+ remaining: 10,
90
+ resetAt: "2026-08-23T00:01:00.000Z",
91
+ tokenLimit: 40000,
92
+ tokenRemaining: 5000,
93
+ tokenResetAt: "2026-08-23T00:02:00.000Z",
94
+ });
95
+ });
96
+
97
+ it("bounds retained values and isolates observer failures", () => {
98
+ const value = "x".repeat(300);
99
+ const observer = jest.fn(() => {
100
+ throw new Error("telemetry failure");
101
+ });
102
+
103
+ expect(() =>
104
+ emitResponseMetadata(
105
+ { onResponseMetadata: observer },
106
+ { headers: { "x-ratelimit-reset": value } }
107
+ )
108
+ ).not.toThrow();
109
+ expect(observer).toHaveBeenCalledWith({
110
+ rateLimit: {},
111
+ headers: { "x-ratelimit-reset": "x".repeat(256) },
112
+ });
113
+ });
114
+
115
+ it("limits retained header count and aggregate data", () => {
116
+ const headers: Record<string, string> = {};
117
+ for (let index = 0; index < 30; index++)
118
+ headers[`x-ratelimit-test-${index}`] = String(index);
119
+ expect(
120
+ Object.keys(normalizeResponseMetadata({ headers }).headers)
121
+ ).toHaveLength(24);
122
+ });
123
+ });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.156",
3
+ "version": "0.0.157",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -791,8 +791,17 @@ let BaseAgent = class BaseAgent {
791
791
  const statusMessage = this.getStatusMessage();
792
792
  this.logStatus();
793
793
  const continuation = `<Workflow>
794
- Task terminates after you call on of these tools: ${JSON.stringify(this.requiredToolNames)}.\n
795
- User likely only sees output from the required tool call.
794
+ This is an automated runtime instruction, not a new user message.
795
+ The original user request remains active. Do not say that the user's
796
+ message was empty, and do not ask the user to repeat the request.
797
+
798
+ Your previous response did not terminate the task because it did not
799
+ call one of the required tools: ${JSON.stringify(this.requiredToolNames)}.
800
+ If your previous response was intended as the final response, call the
801
+ appropriate required tool now with that response. Otherwise, continue
802
+ working on the original request and call an appropriate required tool
803
+ when the task is complete.
804
+
796
805
  <TaskStatus>${statusMessage}</TaskStatus>
797
806
  </Workflow>`;
798
807
  messages.push({
@@ -1033,7 +1042,7 @@ let BaseAgent = class BaseAgent {
1033
1042
  return this.taskBreakdown;
1034
1043
  }
1035
1044
  const taskPrompt = `
1036
- Analyze all previous messages.
1045
+ TASK INTERRUPT. CONTEXT COMPACTION NEEDED. Analyze all previous messages.
1037
1046
 
1038
1047
  Generate a detailed task breakdown for this conversation, include a section for the following:
1039
1048
  1. Task List
@@ -1071,7 +1080,8 @@ let BaseAgent = class BaseAgent {
1071
1080
  const toCompress = messages.slice(0, compressionEnd);
1072
1081
  const resumeMessages = messages.slice(compressionEnd);
1073
1082
  this.log(`Compressing messages from 0 to ${compressionEnd}, resuming from ${resumeIndex}, total messages: ${messages.length}`);
1074
- const toCompressPrompt = `We are compressing our conversation to save memory.
1083
+ const toCompressPrompt = `TASK INTERRUPT. CONTEXT COMPACTION NEEDED.
1084
+ We are compressing our conversation to save memory.
1075
1085
  Please summarize the conversation so far, so that we may continue the original task with a smaller context
1076
1086
 
1077
1087
  Include the following sections:
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/agents/base/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/agents/base/base.ts"],"names":[],"mappings":"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"}
@@ -569,7 +569,7 @@ let AgentModule = class AgentModule extends BaseChatModule_1.BaseChatModule {
569
569
  enabledTools: savedSettings.enabledTools || session.enabledTools,
570
570
  });
571
571
  if (!remoteTaskId && this.remoteSyncModule?.isAutoSyncEnabled()) {
572
- await this.remoteSyncModule.syncTask(taskId);
572
+ this.remoteSyncModule.syncTaskInBackground(taskId);
573
573
  }
574
574
  agent.agentEvents.once(agent.eventTypes.done, () => {
575
575
  const ctx = this.chatService?.getContext();
@@ -981,7 +981,7 @@ let AgentModule = class AgentModule extends BaseChatModule_1.BaseChatModule {
981
981
  if (!options.fork &&
982
982
  !remoteTaskId &&
983
983
  this.remoteSyncModule?.isAutoSyncEnabled()) {
984
- await this.remoteSyncModule.syncTask(result.taskId);
984
+ this.remoteSyncModule.syncTaskInBackground(result.taskId);
985
985
  }
986
986
  await this.attachedAgentChatLoop(result.taskId, result.agent, resumePrompt, resumeMessages);
987
987
  return {
@@ -1025,7 +1025,7 @@ let AgentModule = class AgentModule extends BaseChatModule_1.BaseChatModule {
1025
1025
  run: false,
1026
1026
  });
1027
1027
  if (this.remoteSyncModule?.isAutoSyncEnabled()) {
1028
- await this.remoteSyncModule.syncTask(taskId);
1028
+ this.remoteSyncModule.syncTaskInBackground(taskId);
1029
1029
  }
1030
1030
  await this.attachedAgentChatLoop(taskId, agent, formattedPrompt);
1031
1031
  return { taskId };