denchclaw 2.3.0 → 2.3.2
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.
- package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +108 -108
- package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +29 -29
- package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +2 -2
- package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +29 -29
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/6426.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/7173.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +18 -18
- package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/pages-manifest.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-8e7702d68f078270.js → layout-32e5870f0acaff43.js} +1 -1
- package/apps/web/.next/standalone/apps/web/server.js +1 -1
- package/apps/web/.next/standalone/package.json +1 -1
- package/apps/web/.next/static/chunks/app/{layout-8e7702d68f078270.js → layout-32e5870f0acaff43.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{program-FTFIyYeQ.js → program-xzgPZOcc.js} +5 -8
- package/dist/{run-main-Cc9zgEqf.js → run-main-C-j6snAD.js} +1 -1
- package/extensions/dench-ai-gateway/models.ts +7 -11
- package/extensions/posthog-analytics/lib/build-env.js +1 -1
- package/extensions/posthog-analytics/lib/event-mappers.ts +18 -9
- package/package.json +1 -1
- /package/apps/web/.next/standalone/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_buildManifest.js +0 -0
- /package/apps/web/.next/standalone/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_ssgManifest.js +0 -0
- /package/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_buildManifest.js +0 -0
- /package/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_ssgManifest.js +0 -0
|
@@ -220,7 +220,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
220
220
|
process$1.exitCode = await delegateToGlobalOpenClaw(parseArgv);
|
|
221
221
|
return;
|
|
222
222
|
}
|
|
223
|
-
const { buildProgram } = await import("./program-
|
|
223
|
+
const { buildProgram } = await import("./program-xzgPZOcc.js");
|
|
224
224
|
await buildProgram().parseAsync(parseArgv);
|
|
225
225
|
}
|
|
226
226
|
|
|
@@ -13,8 +13,8 @@ export type DenchCloudCatalogModel = {
|
|
|
13
13
|
id: string;
|
|
14
14
|
stableId: string;
|
|
15
15
|
displayName: string;
|
|
16
|
-
provider:
|
|
17
|
-
transportProvider:
|
|
16
|
+
provider: string;
|
|
17
|
+
transportProvider: string;
|
|
18
18
|
api: "openai-completions";
|
|
19
19
|
input: Array<"text" | "image">;
|
|
20
20
|
reasoning: boolean;
|
|
@@ -77,12 +77,8 @@ function readBoolean(input: UnknownRecord, ...keys: string[]): boolean | undefin
|
|
|
77
77
|
return undefined;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
function
|
|
81
|
-
return value === "
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function isTransportProvider(value: string | undefined): value is "openai" | "bedrock" {
|
|
85
|
-
return value === "openai" || value === "bedrock";
|
|
80
|
+
function isNonEmptyString(value: string | undefined): value is string {
|
|
81
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
86
82
|
}
|
|
87
83
|
|
|
88
84
|
function normalizeInputKinds(input: unknown, supportsImages: boolean): Array<"text" | "image"> {
|
|
@@ -213,7 +209,7 @@ export function normalizeDenchCloudCatalogModel(input: unknown): DenchCloudCatal
|
|
|
213
209
|
const displayName = readString(record, "name", "displayName", "display_name");
|
|
214
210
|
const provider = readString(record, "provider");
|
|
215
211
|
const transportProvider = readString(record, "transportProvider", "transport_provider");
|
|
216
|
-
if (!publicId || !stableId || !displayName || !
|
|
212
|
+
if (!publicId || !stableId || !displayName || !isNonEmptyString(provider) || !isNonEmptyString(transportProvider)) {
|
|
217
213
|
return null;
|
|
218
214
|
}
|
|
219
215
|
|
|
@@ -223,8 +219,8 @@ export function normalizeDenchCloudCatalogModel(input: unknown): DenchCloudCatal
|
|
|
223
219
|
const supportsReasoning = readBoolean(record, "supportsReasoning", "supports_reasoning")
|
|
224
220
|
?? readBoolean(record, "reasoning")
|
|
225
221
|
?? false;
|
|
226
|
-
const contextWindow = readNumber(record, "contextWindow", "context_window") ??
|
|
227
|
-
const maxTokens = readNumber(record, "maxTokens", "max_tokens", "maxOutputTokens", "max_output_tokens") ??
|
|
222
|
+
const contextWindow = readNumber(record, "contextWindow", "context_window") ?? 200000;
|
|
223
|
+
const maxTokens = readNumber(record, "maxTokens", "max_tokens", "maxOutputTokens", "max_output_tokens") ?? 64000;
|
|
228
224
|
|
|
229
225
|
const costRecord = asRecord(record.cost) ?? {};
|
|
230
226
|
const inputCost = readNumber(costRecord, "input") ?? 0;
|
|
@@ -3,7 +3,13 @@ import type { TraceContextManager } from "./trace-context.js";
|
|
|
3
3
|
import { readOrCreateAnonymousId, sanitizeMessages, sanitizeOutputChoices, stripSecrets } from "./privacy.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Extract
|
|
6
|
+
* Extract token counts and cost from the LAST assistant message's usage metadata.
|
|
7
|
+
*
|
|
8
|
+
* Only the last assistant message is used so that each $ai_generation event
|
|
9
|
+
* reports the per-turn delta rather than a cumulative session total. The
|
|
10
|
+
* previous implementation summed across ALL assistant messages, which meant
|
|
11
|
+
* multi-turn sessions emitted growing cumulative values on every turn and
|
|
12
|
+
* PostHog's sum() massively over-counted costs.
|
|
7
13
|
*/
|
|
8
14
|
export function extractUsageFromMessages(messages: unknown): {
|
|
9
15
|
inputTokens: number;
|
|
@@ -11,20 +17,23 @@ export function extractUsageFromMessages(messages: unknown): {
|
|
|
11
17
|
totalCostUsd: number;
|
|
12
18
|
} {
|
|
13
19
|
if (!Array.isArray(messages)) return { inputTokens: 0, outputTokens: 0, totalCostUsd: 0 };
|
|
14
|
-
|
|
15
|
-
let
|
|
16
|
-
let totalCostUsd = 0;
|
|
20
|
+
|
|
21
|
+
let lastAssistantUsage: Record<string, unknown> | undefined;
|
|
17
22
|
for (const msg of messages) {
|
|
18
23
|
if (!msg || typeof msg !== "object") continue;
|
|
19
24
|
const m = msg as Record<string, unknown>;
|
|
20
25
|
if (m.role !== "assistant") continue;
|
|
21
26
|
const usage = m.usage as Record<string, unknown> | undefined;
|
|
22
|
-
if (
|
|
23
|
-
if (typeof usage.input === "number") inputTokens += usage.input;
|
|
24
|
-
if (typeof usage.output === "number") outputTokens += usage.output;
|
|
25
|
-
const cost = usage.cost as Record<string, unknown> | undefined;
|
|
26
|
-
if (cost && typeof cost.total === "number") totalCostUsd += cost.total;
|
|
27
|
+
if (usage) lastAssistantUsage = usage;
|
|
27
28
|
}
|
|
29
|
+
|
|
30
|
+
if (!lastAssistantUsage) return { inputTokens: 0, outputTokens: 0, totalCostUsd: 0 };
|
|
31
|
+
|
|
32
|
+
const inputTokens = typeof lastAssistantUsage.input === "number" ? lastAssistantUsage.input : 0;
|
|
33
|
+
const outputTokens = typeof lastAssistantUsage.output === "number" ? lastAssistantUsage.output : 0;
|
|
34
|
+
const cost = lastAssistantUsage.cost as Record<string, unknown> | undefined;
|
|
35
|
+
const totalCostUsd = cost && typeof cost.total === "number" ? cost.total : 0;
|
|
36
|
+
|
|
28
37
|
return { inputTokens, outputTokens, totalCostUsd };
|
|
29
38
|
}
|
|
30
39
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "denchclaw",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "Fully Managed OpenClaw Framework for managing your CRM, Sales Automation and Outreach agents. The only local productivity tool you need.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/DenchHQ/DenchClaw#readme",
|
|
File without changes
|
|
File without changes
|
/package/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_buildManifest.js
RENAMED
|
File without changes
|
/package/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_ssgManifest.js
RENAMED
|
File without changes
|