@hachej/boring-agent 0.1.31 → 0.1.33

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.
@@ -7,7 +7,6 @@
7
7
  --font-mono: var(--font-mono);
8
8
  --color-amber-500: oklch(76.9% 0.188 70.08);
9
9
  --color-emerald-500: oklch(69.6% 0.17 162.48);
10
- --color-zinc-50: oklch(98.5% 0 0);
11
10
  --color-zinc-100: oklch(96.7% 0.001 286.375);
12
11
  --color-zinc-300: oklch(87.1% 0.006 286.286);
13
12
  --color-black: #000;
@@ -56,6 +55,9 @@
56
55
  .pointer-events-none {
57
56
  pointer-events: none;
58
57
  }
58
+ .collapse {
59
+ visibility: collapse;
60
+ }
59
61
  .visible {
60
62
  visibility: visible;
61
63
  }
@@ -343,9 +345,6 @@
343
345
  .h-px {
344
346
  height: 1px;
345
347
  }
346
- .max-h-0 {
347
- max-height: calc(var(--spacing) * 0);
348
- }
349
348
  .max-h-8 {
350
349
  max-height: calc(var(--spacing) * 8);
351
350
  }
@@ -735,9 +734,6 @@
735
734
  .border-\[oklch\(0\.78_0\.13_148\)\]\/35 {
736
735
  border-color: color-mix(in oklab, oklch(0.78 0.13 148) 35%, transparent);
737
736
  }
738
- .border-\[oklch\(0\.78_0\.13_148\)\]\/40 {
739
- border-color: color-mix(in oklab, oklch(0.78 0.13 148) 40%, transparent);
740
- }
741
737
  .border-\[oklch\(0\.78_0\.15_85\)\]\/40 {
742
738
  border-color: color-mix(in oklab, oklch(0.78 0.15 85) 40%, transparent);
743
739
  }
@@ -870,14 +866,14 @@
870
866
  .bg-\[color\:var\(--card\)\] {
871
867
  background-color: var(--card);
872
868
  }
869
+ .bg-\[color\:var\(--chat-empty-accent\)\] {
870
+ background-color: var(--chat-empty-accent);
871
+ }
873
872
  .bg-\[color\:var\(--surface-chat\)\] {
874
873
  background-color: var(--surface-chat);
875
874
  }
876
- .bg-\[oklch\(0\.95_0\.05_148\/0\.3\)\] {
877
- background-color: oklch(0.95 0.05 148/0.3);
878
- }
879
- .bg-\[oklch\(0\.95_0\.05_148\/0\.25\)\] {
880
- background-color: oklch(0.95 0.05 148/0.25);
875
+ .bg-\[oklch\(0\.95_0\.05_148\/0\.28\)\] {
876
+ background-color: oklch(0.95 0.05 148/0.28);
881
877
  }
882
878
  .bg-\[oklch\(0\.95_0\.06_85\/0\.4\)\] {
883
879
  background-color: oklch(0.95 0.06 85/0.4);
@@ -999,6 +995,12 @@
999
995
  background-color: color-mix(in oklab, var(--card) 60%, transparent);
1000
996
  }
1001
997
  }
998
+ .bg-card\/70 {
999
+ background-color: var(--card);
1000
+ @supports (color: color-mix(in lab, red, red)) {
1001
+ background-color: color-mix(in oklab, var(--card) 70%, transparent);
1002
+ }
1003
+ }
1002
1004
  .bg-destructive {
1003
1005
  background-color: var(--destructive);
1004
1006
  }
@@ -1334,6 +1336,14 @@
1334
1336
  .text-\[length\:var\(--boring-agent-font-size\,0\.875rem\)\] {
1335
1337
  font-size: var(--boring-agent-font-size,0.875rem);
1336
1338
  }
1339
+ .leading-4 {
1340
+ --tw-leading: calc(var(--spacing) * 4);
1341
+ line-height: calc(var(--spacing) * 4);
1342
+ }
1343
+ .leading-5 {
1344
+ --tw-leading: calc(var(--spacing) * 5);
1345
+ line-height: calc(var(--spacing) * 5);
1346
+ }
1337
1347
  .leading-\[1\.05\] {
1338
1348
  --tw-leading: 1.05;
1339
1349
  line-height: 1.05;
@@ -1413,6 +1423,15 @@
1413
1423
  .text-\[color\:var\(--accent-foreground\)\] {
1414
1424
  color: var(--accent-foreground);
1415
1425
  }
1426
+ .text-\[color\:var\(--chat-empty-description-color\)\] {
1427
+ color: var(--chat-empty-description-color);
1428
+ }
1429
+ .text-\[color\:var\(--chat-empty-eyebrow-color\)\] {
1430
+ color: var(--chat-empty-eyebrow-color);
1431
+ }
1432
+ .text-\[color\:var\(--chat-empty-title-color\)\] {
1433
+ color: var(--chat-empty-title-color);
1434
+ }
1416
1435
  .text-\[oklch\(0\.45_0\.13_148\)\] {
1417
1436
  color: oklch(0.45 0.13 148);
1418
1437
  }
@@ -1569,6 +1588,9 @@
1569
1588
  .text-popover-foreground {
1570
1589
  color: var(--popover-foreground);
1571
1590
  }
1591
+ .text-primary {
1592
+ color: var(--primary);
1593
+ }
1572
1594
  .text-transparent {
1573
1595
  color: transparent;
1574
1596
  }
@@ -1771,10 +1793,10 @@
1771
1793
  }
1772
1794
  }
1773
1795
  }
1774
- .group-hover\:text-\[color\:var\(--accent\)\] {
1796
+ .group-hover\:text-\[color\:var\(--chat-empty-accent\)\] {
1775
1797
  &:is(:where(.group):hover *) {
1776
1798
  @media (hover: hover) {
1777
- color: var(--accent);
1799
+ color: var(--chat-empty-accent);
1778
1800
  }
1779
1801
  }
1780
1802
  }
@@ -1948,10 +1970,10 @@
1948
1970
  }
1949
1971
  }
1950
1972
  }
1951
- .hover\:bg-\[color\:var\(--accent-soft\)\] {
1973
+ .hover\:bg-\[color\:var\(--chat-empty-card-hover\)\] {
1952
1974
  &:hover {
1953
1975
  @media (hover: hover) {
1954
- background-color: var(--accent-soft);
1976
+ background-color: var(--chat-empty-card-hover);
1955
1977
  }
1956
1978
  }
1957
1979
  }
@@ -2193,9 +2215,9 @@
2193
2215
  outline-style: none;
2194
2216
  }
2195
2217
  }
2196
- .focus-visible\:bg-\[color\:var\(--accent-soft\)\] {
2218
+ .focus-visible\:bg-\[color\:var\(--chat-empty-card-hover\)\] {
2197
2219
  &:focus-visible {
2198
- background-color: var(--accent-soft);
2220
+ background-color: var(--chat-empty-card-hover);
2199
2221
  }
2200
2222
  }
2201
2223
  .focus-visible\:ring-0 {
@@ -2346,11 +2368,6 @@
2346
2368
  color: var(--shiki-dark) !important;
2347
2369
  }
2348
2370
  }
2349
- .dark\:text-zinc-50 {
2350
- &:is(.dark, .dark *) {
2351
- color: var(--color-zinc-50);
2352
- }
2353
- }
2354
2371
  .dark\:text-zinc-100 {
2355
2372
  &:is(.dark, .dark *) {
2356
2373
  color: var(--color-zinc-100);
@@ -1,7 +1,7 @@
1
1
  import { UIMessage, UIMessageChunk } from 'ai';
2
2
 
3
3
  interface SessionStore {
4
- list(ctx: SessionCtx): Promise<SessionSummary[]>;
4
+ list(ctx: SessionCtx, options?: SessionListOptions): Promise<SessionSummary[]>;
5
5
  create(ctx: SessionCtx, init?: {
6
6
  title?: string;
7
7
  }): Promise<SessionSummary>;
@@ -18,6 +18,10 @@ interface SessionCtx {
18
18
  workspaceId: string;
19
19
  userId?: string;
20
20
  }
21
+ interface SessionListOptions {
22
+ limit?: number;
23
+ offset?: number;
24
+ }
21
25
  interface SessionSummary {
22
26
  id: string;
23
27
  title: string;
@@ -42,7 +46,7 @@ declare const noopTelemetry: TelemetrySink;
42
46
  declare function safeCapture(telemetry: TelemetrySink, event: TelemetryEvent): void;
43
47
 
44
48
  type JSONSchema = Record<string, unknown>;
45
- type ToolReadinessRequirement = 'workspace-fs' | 'sandbox-exec' | 'ui-bridge';
49
+ type ToolReadinessRequirement = 'workspace-fs' | 'sandbox-exec' | 'ui-bridge' | 'runtime-dependencies' | `runtime:${string}`;
46
50
  interface AgentTool {
47
51
  name: string;
48
52
  description: string;
@@ -1,8 +1,8 @@
1
1
  import { i as WorkspaceRuntimeContext, S as Sandbox, f as SandboxHandleStore, e as SandboxHandleRecord, W as Workspace, F as FileSearch, P as PluginRestartWarning } from '../agentPluginEvents-CF0BGY4D.js';
2
2
  import { Sandbox as Sandbox$1 } from '@vercel/sandbox';
3
3
  import { FastifyInstance, FastifyRequest, FastifyPluginAsync } from 'fastify';
4
- import { f as TelemetrySink, A as AgentTool, i as AgentHarnessFactory } from '../harness-CQ0uw6xW.js';
5
- export { j as AgentHarnessFactoryInput } from '../harness-CQ0uw6xW.js';
4
+ import { f as TelemetrySink, A as AgentTool, i as AgentHarnessFactory } from '../harness-dYuMzxmp.js';
5
+ export { j as AgentHarnessFactoryInput } from '../harness-dYuMzxmp.js';
6
6
  import { PackageSource, ExtensionFactory, SettingsManager } from '@mariozechner/pi-coding-agent';
7
7
  import 'ai';
8
8
 
@@ -317,6 +317,11 @@ interface WorkspaceProvisioningExecResult {
317
317
  stdout?: string;
318
318
  stderr?: string;
319
319
  }
320
+ interface ResolveInstallSourceOpts {
321
+ kind: 'node' | 'python';
322
+ id: string;
323
+ fingerprint: string;
324
+ }
320
325
  interface WorkspaceProvisioningAdapter {
321
326
  mode: 'direct' | 'local' | 'vercel-sandbox';
322
327
  exec(command: string, args: string[], opts?: {
@@ -324,11 +329,7 @@ interface WorkspaceProvisioningAdapter {
324
329
  env?: Record<string, string>;
325
330
  timeoutMs?: number;
326
331
  }): Promise<WorkspaceProvisioningExecResult | void>;
327
- resolveInstallSource(source: string | URL, opts: {
328
- kind: 'node' | 'python';
329
- id: string;
330
- fingerprint: string;
331
- }): Promise<string>;
332
+ resolveInstallSource(source: string | URL, opts: ResolveInstallSourceOpts): Promise<string>;
332
333
  workspaceFs: {
333
334
  exists(workspaceRelativePath: string): Promise<boolean>;
334
335
  /** Remove a workspace-relative generated path. Missing path is success. */
@@ -363,14 +364,19 @@ interface ProvisionWorkspaceRuntimeOptions {
363
364
 
364
365
  declare function provisionWorkspaceRuntime(opts: ProvisionWorkspaceRuntimeOptions): Promise<WorkspaceProvisioningResult>;
365
366
 
366
- declare const VERCEL_PROVISIONING_CACHE_ROOT = "/tmp/boring-agent-cache";
367
- interface VercelProvisioningArtifactRequest {
368
- kind: 'node' | 'python';
367
+ type ProvisioningArtifactKind = 'node' | 'python';
368
+ /** What a per-mode packer receives to produce one artifact. `id`/`fingerprint`
369
+ * are passed through (not used by the default packer, but part of the public
370
+ * `prepareArtifact` contract — consumers key their own artifact paths off them). */
371
+ interface ProvisioningArtifactRequest {
372
+ kind: ProvisioningArtifactKind;
369
373
  id: string;
370
374
  fingerprint: string;
371
375
  source: string | URL;
372
376
  outputPath: string;
373
377
  }
378
+
379
+ declare const VERCEL_PROVISIONING_CACHE_ROOT = "/tmp/boring-agent-cache";
374
380
  interface CreateVercelProvisioningAdapterOptions {
375
381
  runtimeLayout: BoringAgentRuntimePaths;
376
382
  workspaceFs: WorkspaceProvisioningAdapter['workspaceFs'];
@@ -379,7 +385,7 @@ interface CreateVercelProvisioningAdapterOptions {
379
385
  env?: Record<string, string>;
380
386
  timeoutMs?: number;
381
387
  }): Promise<WorkspaceProvisioningExecResult | void>;
382
- prepareArtifact(request: VercelProvisioningArtifactRequest): Promise<void>;
388
+ prepareArtifact(request: ProvisioningArtifactRequest): Promise<void>;
383
389
  cacheRoot?: string;
384
390
  }
385
391
  declare function createVercelProvisioningAdapter(options: CreateVercelProvisioningAdapterOptions): WorkspaceProvisioningAdapter;
@@ -627,4 +633,4 @@ interface Logger {
627
633
  }
628
634
  declare function createLogger(prefix: string): Logger;
629
635
 
630
- export { AgentHarnessFactory, type BoringAgentRuntimePaths, type BuiltinRuntimeModeId, type CreateAgentAppOptions, type CreateVercelProvisioningAdapterOptions, type DeploymentSnapshotProvider, type DeploymentSnapshotRecipe, type DeploymentSnapshotResult, type DeploymentSnapshotStatus, FileHandleStore, type LogFields, type Logger, type ModeContext, PI_PACKAGE_RESOURCE_FILTERS, type PiExtensionFactory, type PiHarnessOptions, type PiPackageSource, type PluginSkillSource, type ProvisionRuntimeWorkspaceOptions, type ProvisionWorkspaceRuntimeOptions, type RegisterAgentRoutesOptions, type RuntimeBundle, type RuntimeModeAdapter, type RuntimeModeId, type RuntimeNodePackageSpec, type RuntimeProvisioningContribution, type RuntimePythonSpec, type RuntimeTemplateContribution, type RuntimeWorkspaceProvisioningResult, type SnapshotBakeOptions, type SnapshotBakeResult, UV_SETUP_COMMANDS, VERCEL_PROVISIONING_CACHE_ROOT, VERCEL_SANDBOX_WORKSPACE_ROOT, UV_SETUP_COMMANDS as VERCEL_UV_SETUP_COMMANDS, type VercelBakeClient, type VercelBakeSandbox, type VercelDeploymentSnapshotOptions, type VercelProvisioningArtifactRequest, type WorkspaceProvisioningAdapter, type WorkspaceProvisioningExecResult, type WorkspaceProvisioningResult, applyCspHeaders, autoDetectMode, bakeSnapshotIfNeeded, buildDeploymentSnapshotRecipe, buildPackageHash, buildSnapshotRecipeHash, compactPiPackages, createAgentApp, createBwrapSandbox, createDirectSandbox, createLogger, createNodeWorkspace, createResourceSettingsManager, createVercelDeploymentSnapshotProvider, createVercelProvisioningAdapter, createVercelSandboxWorkspace, fileRoutes, getBoringAgentPathEntries, getBoringAgentRuntimeEnv, getBoringAgentRuntimePaths, hasBwrap, mergePiPackageSources, piPackageSourceKey, prepareDeploymentSnapshot, prepareVercelDeploymentSnapshot, provisionRuntimeWorkspace, provisionWorkspaceRuntime, registerAgentRoutes, resolveMode, resolveSandboxHandle };
636
+ export { AgentHarnessFactory, type BoringAgentRuntimePaths, type BuiltinRuntimeModeId, type CreateAgentAppOptions, type CreateVercelProvisioningAdapterOptions, type DeploymentSnapshotProvider, type DeploymentSnapshotRecipe, type DeploymentSnapshotResult, type DeploymentSnapshotStatus, FileHandleStore, type LogFields, type Logger, type ModeContext, PI_PACKAGE_RESOURCE_FILTERS, type PiExtensionFactory, type PiHarnessOptions, type PiPackageSource, type PluginSkillSource, type ProvisionRuntimeWorkspaceOptions, type ProvisionWorkspaceRuntimeOptions, type ProvisioningArtifactRequest, type RegisterAgentRoutesOptions, type RuntimeBundle, type RuntimeModeAdapter, type RuntimeModeId, type RuntimeNodePackageSpec, type RuntimeProvisioningContribution, type RuntimePythonSpec, type RuntimeTemplateContribution, type RuntimeWorkspaceProvisioningResult, type SnapshotBakeOptions, type SnapshotBakeResult, UV_SETUP_COMMANDS, VERCEL_PROVISIONING_CACHE_ROOT, VERCEL_SANDBOX_WORKSPACE_ROOT, UV_SETUP_COMMANDS as VERCEL_UV_SETUP_COMMANDS, type VercelBakeClient, type VercelBakeSandbox, type VercelDeploymentSnapshotOptions, type WorkspaceProvisioningAdapter, type WorkspaceProvisioningExecResult, type WorkspaceProvisioningResult, applyCspHeaders, autoDetectMode, bakeSnapshotIfNeeded, buildDeploymentSnapshotRecipe, buildPackageHash, buildSnapshotRecipeHash, compactPiPackages, createAgentApp, createBwrapSandbox, createDirectSandbox, createLogger, createNodeWorkspace, createResourceSettingsManager, createVercelDeploymentSnapshotProvider, createVercelProvisioningAdapter, createVercelSandboxWorkspace, fileRoutes, getBoringAgentPathEntries, getBoringAgentRuntimeEnv, getBoringAgentRuntimePaths, hasBwrap, mergePiPackageSources, piPackageSourceKey, prepareDeploymentSnapshot, prepareVercelDeploymentSnapshot, provisionRuntimeWorkspace, provisionWorkspaceRuntime, registerAgentRoutes, resolveMode, resolveSandboxHandle };