History

Update dependencies and add utility functions

- Added `@executor/convex` as a dependency in multiple package configurations. - Introduced `postcss` dependency in the web app package. - Added `asPayload` utility function to handle non-object values in tool call payloads. - Refactored imports to utilize the new `asPayload` function in relevant files. - Updated `core` package dependencies with `better-result` and `graphql`.

Rhys Sullivan committed 9 months ago

Commit 650736b1 parent 2c3cc0e10 files · +54 −14Browse files

Unified · Split

10 files
  1. assistant/packages/server/package.json +1 −0
  2. bun.lock +6 −0
  3. executor/apps/web/package.json +1 −0
  4. executor/packages/convex/lib/object.ts +7 −0
  5. executor/packages/convex/runtime/tool_call_credentials.ts +1 −1
  6. executor/packages/convex/runtime/tool_invocation.ts +2 −1
  7. executor/packages/core/package.json +4 −0
  8. executor/packages/core/src/utils.ts +0 −12
  9. knip.json +31 −0
  10. package.json +1 −0
assistant/packages/server/package.json+1−0
@@ -13,6 +13,7 @@ · 12 unmodified lines
13 },13 },
14 "dependencies": {14 "dependencies": {
15 "@assistant/core": "workspace:*",15 "@assistant/core": "workspace:*",
16 "@executor/convex": "workspace:*",
16 "convex": "^1.31.7",17 "convex": "^1.31.7",
17 "elysia": "latest",18 "elysia": "latest",
18 "@elysiajs/eden": "latest"19 "@elysiajs/eden": "latest"
bun.lock+6−0
@@ -70,6 +70,7 @@ · 69 unmodified lines
70 "dependencies": {70 "dependencies": {
71 "@assistant/core": "workspace:*",71 "@assistant/core": "workspace:*",
72 "@elysiajs/eden": "latest",72 "@elysiajs/eden": "latest",
73 "@executor/convex": "workspace:*",
73 "convex": "^1.31.7",74 "convex": "^1.31.7",
74 "elysia": "latest",75 "elysia": "latest",
75 },76 },
@@ -117,6 +118,7 @@ · 41 unmodified lines
117 "@types/react-dom": "^19",118 "@types/react-dom": "^19",
118 "eslint": "^9",119 "eslint": "^9",
119 "eslint-config-next": "16.1.6",120 "eslint-config-next": "16.1.6",
121 "postcss": "^8.5.6",
120 "shadcn": "^3.8.4",122 "shadcn": "^3.8.4",
121 "tailwindcss": "^4",123 "tailwindcss": "^4",
122 "tw-animate-css": "^1.4.0",124 "tw-animate-css": "^1.4.0",
@@ -144,6 +146,10 @@ · 21 unmodified lines
144 "executor/packages/core": {146 "executor/packages/core": {
145 "name": "@executor/core",147 "name": "@executor/core",
146 "version": "0.1.0",148 "version": "0.1.0",
149 "dependencies": {
150 "better-result": "^2.7.0",
151 "graphql": "^16.12.0",
152 },
147 "devDependencies": {153 "devDependencies": {
148 "typescript": "^5.9.3",154 "typescript": "^5.9.3",
149 },155 },
executor/apps/web/package.json+1−0
@@ -43,6 +43,7 @@ · 42 unmodified lines
43 "@types/react-dom": "^19",43 "@types/react-dom": "^19",
44 "eslint": "^9",44 "eslint": "^9",
45 "eslint-config-next": "16.1.6",45 "eslint-config-next": "16.1.6",
46 "postcss": "^8.5.6",
46 "shadcn": "^3.8.4",47 "shadcn": "^3.8.4",
47 "tailwindcss": "^4",48 "tailwindcss": "^4",
48 "tw-animate-css": "^1.4.0",49 "tw-animate-css": "^1.4.0",
executor/packages/convex/lib/object.ts+7−0
@@ -4,3 +4,10 @@ export function asRecord(value: unknown): Record<string, unknown> { · 3 unmodified lines
4 }4 }
5 return {};5 return {};
6}6}
7
8export function asPayload(value: unknown): Record<string, unknown> {
9 if (value && typeof value === "object") {
10 return value as Record<string, unknown>;
11 }
12 return { value };
13}
executor/packages/convex/runtime/tool_call_credentials.ts+1−1
@@ -5,7 +5,7 @@ import { internal } from "../_generated/api"; · 4 unmodified lines
5import { resolveCredentialPayload } from "../../core/src/credential-providers";5import { resolveCredentialPayload } from "../../core/src/credential-providers";
6import { APPROVAL_DENIED_PREFIX } from "../../core/src/execution-constants";6import { APPROVAL_DENIED_PREFIX } from "../../core/src/execution-constants";
7import type { CredentialScope, ResolvedToolCredential, TaskRecord, ToolCallRecord, ToolCredentialSpec } from "../../core/src/types";7import type { CredentialScope, ResolvedToolCredential, TaskRecord, ToolCallRecord, ToolCredentialSpec } from "../../core/src/types";
8import { asPayload } from "../../core/src/utils";8import { asPayload } from "../lib/object";
9 9
10export async function resolveCredentialHeaders(10export async function resolveCredentialHeaders(
11 ctx: ActionCtx,11 ctx: ActionCtx,
executor/packages/convex/runtime/tool_invocation.ts+2−1
@@ -12,7 +12,8 @@ import type { · 11 unmodified lines
12 ToolCallRequest,12 ToolCallRequest,
13 ToolRunContext,13 ToolRunContext,
14} from "../../core/src/types";14} from "../../core/src/types";
15import { asPayload, describeError } from "../../core/src/utils";15import { describeError } from "../../core/src/utils";
16import { asPayload } from "../lib/object";
16import { getToolDecision, isToolAllowedForTask } from "./policy";17import { getToolDecision, isToolAllowedForTask } from "./policy";
17import { baseTools } from "./workspace_tools";18import { baseTools } from "./workspace_tools";
18import { publishTaskEvent } from "./events";19import { publishTaskEvent } from "./events";
executor/packages/core/package.json+4−0
@@ -9,6 +9,10 @@ · 8 unmodified lines
9 "scripts": {9 "scripts": {
10 "typecheck": "tsc --noEmit"10 "typecheck": "tsc --noEmit"
11 },11 },
12 "dependencies": {
13 "better-result": "^2.7.0",
14 "graphql": "^16.12.0"
15 },
12 "devDependencies": {16 "devDependencies": {
13 "typescript": "^5.9.3"17 "typescript": "^5.9.3"
14 }18 }
executor/packages/core/src/utils.ts+0−12
@@ -9,18 +9,6 @@ export function asRecord(value: unknown): Record<string, unknown> { · 8 unmodified lines
9 return {};9 return {};
10}10}
11 11
12/**
13 * Like `asRecord`, but for tool call payloads: wraps non-object values
14 * in `{ value }` instead of returning an empty object. Use this when
15 * the caller may have passed a bare primitive as input.
16 */
17export function asPayload(value: unknown): Record<string, unknown> {
18 if (value && typeof value === "object") {
19 return value as Record<string, unknown>;
20 }
21 return { value };
22}
23
24/**12/**
25 * Extract a human-readable message from an unknown thrown value.13 * Extract a human-readable message from an unknown thrown value.
26 */14 */
knip.json+31−0
@@ -0,0 +1,31 @@
1{
2 "$schema": "https://unpkg.com/knip@latest/schema.json",
3 "ignoreIssues": {
4 "executor/packages/core/src/**/*.ts": [
5 "types"
6 ]
7 },
8 "workspaces": {
9 "executor/packages/convex": {
10 "entry": [
11 "*.ts"
12 ],
13 "ignore": [
14 "_generated/server.d.ts"
15 ]
16 },
17 "executor/packages/core": {
18 "entry": [
19 "src/function-builders.ts",
20 "src/identity.ts",
21 "src/mcp-server.ts",
22 "src/tool-discovery.ts",
23 "src/tool-sources.ts",
24 "src/managed-runtime.ts",
25 "src/slug.ts",
26 "../convex/**/*.ts",
27 "../../executor.ts"
28 ]
29 }
30 }
31}
package.json+1−0
@@ -29,6 +29,7 @@ · 28 unmodified lines
29 "typecheck": "bun run typecheck:executor && bun run typecheck:assistant",29 "typecheck": "bun run typecheck:executor && bun run typecheck:assistant",
30 "typecheck:executor": "bunx tsc --noEmit -p executor/tsconfig.json",30 "typecheck:executor": "bunx tsc --noEmit -p executor/tsconfig.json",
31 "typecheck:assistant": "bunx tsc --noEmit -p assistant/packages/server/tsconfig.json && bunx tsc --noEmit -p assistant/packages/bot/tsconfig.json",31 "typecheck:assistant": "bunx tsc --noEmit -p assistant/packages/server/tsconfig.json && bunx tsc --noEmit -p assistant/packages/bot/tsconfig.json",
32 "knip": "bunx knip --config knip.json",
32 "db:clear:executor": "bun with-env bun run executor/scripts/dev/wipe-convex-db.ts",33 "db:clear:executor": "bun with-env bun run executor/scripts/dev/wipe-convex-db.ts",
33 "convex:codegen": "bunx --cwd executor convex codegen"34 "convex:codegen": "bunx --cwd executor convex codegen"
34 },35 },