@hachej/boring-agent 0.1.22 → 0.1.24

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.
@@ -322,9 +322,6 @@
322
322
  .h-4 {
323
323
  height: calc(var(--spacing) * 4);
324
324
  }
325
- .h-5 {
326
- height: calc(var(--spacing) * 5);
327
- }
328
325
  .h-6 {
329
326
  height: calc(var(--spacing) * 6);
330
327
  }
@@ -355,6 +352,9 @@
355
352
  .max-h-48 {
356
353
  max-height: calc(var(--spacing) * 48);
357
354
  }
355
+ .max-h-\[45vh\] {
356
+ max-height: 45vh;
357
+ }
358
358
  .max-h-\[300px\] {
359
359
  max-height: 300px;
360
360
  }
@@ -364,12 +364,12 @@
364
364
  .min-h-6 {
365
365
  min-height: calc(var(--spacing) * 6);
366
366
  }
367
+ .min-h-11 {
368
+ min-height: calc(var(--spacing) * 11);
369
+ }
367
370
  .min-h-16 {
368
371
  min-height: calc(var(--spacing) * 16);
369
372
  }
370
- .min-h-\[48px\] {
371
- min-height: 48px;
372
- }
373
373
  .\!w-full {
374
374
  width: 100% !important;
375
375
  }
@@ -409,8 +409,8 @@
409
409
  .w-\[1\.5ch\] {
410
410
  width: 1.5ch;
411
411
  }
412
- .w-\[min\(90vw\,260px\)\] {
413
- width: min(90vw, 260px);
412
+ .w-\[min\(92vw\,340px\)\] {
413
+ width: min(92vw, 340px);
414
414
  }
415
415
  .w-auto {
416
416
  width: auto;
@@ -448,8 +448,8 @@
448
448
  .max-w-\[680px\] {
449
449
  max-width: 680px;
450
450
  }
451
- .max-w-\[min\(52vw\,200px\)\] {
452
- max-width: min(52vw, 200px);
451
+ .max-w-\[min\(52vw\,260px\)\] {
452
+ max-width: min(52vw, 260px);
453
453
  }
454
454
  .max-w-full {
455
455
  max-width: 100%;
@@ -951,12 +951,6 @@
951
951
  .bg-background {
952
952
  background-color: var(--background);
953
953
  }
954
- .bg-background\/50 {
955
- background-color: var(--background);
956
- @supports (color: color-mix(in lab, red, red)) {
957
- background-color: color-mix(in oklab, var(--background) 50%, transparent);
958
- }
959
- }
960
954
  .bg-background\/60 {
961
955
  background-color: var(--background);
962
956
  @supports (color: color-mix(in lab, red, red)) {
@@ -1032,6 +1026,12 @@
1032
1026
  background-color: color-mix(in oklab, var(--color-emerald-500) 70%, transparent);
1033
1027
  }
1034
1028
  }
1029
+ .bg-foreground\/\[0\.06\] {
1030
+ background-color: var(--foreground);
1031
+ @supports (color: color-mix(in lab, red, red)) {
1032
+ background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1033
+ }
1034
+ }
1035
1035
  .bg-muted {
1036
1036
  background-color: var(--muted);
1037
1037
  }
@@ -1053,6 +1053,12 @@
1053
1053
  background-color: color-mix(in oklab, var(--muted) 30%, transparent);
1054
1054
  }
1055
1055
  }
1056
+ .bg-muted\/40 {
1057
+ background-color: var(--muted);
1058
+ @supports (color: color-mix(in lab, red, red)) {
1059
+ background-color: color-mix(in oklab, var(--muted) 40%, transparent);
1060
+ }
1061
+ }
1056
1062
  .bg-muted\/50 {
1057
1063
  background-color: var(--muted);
1058
1064
  @supports (color: color-mix(in lab, red, red)) {
@@ -1065,6 +1071,12 @@
1065
1071
  background-color: color-mix(in oklab, var(--muted) 60%, transparent);
1066
1072
  }
1067
1073
  }
1074
+ .bg-muted\/70 {
1075
+ background-color: var(--muted);
1076
+ @supports (color: color-mix(in lab, red, red)) {
1077
+ background-color: color-mix(in oklab, var(--muted) 70%, transparent);
1078
+ }
1079
+ }
1068
1080
  .bg-muted\/80 {
1069
1081
  background-color: var(--muted);
1070
1082
  @supports (color: color-mix(in lab, red, red)) {
@@ -1330,6 +1342,10 @@
1330
1342
  --tw-leading: 1.55;
1331
1343
  line-height: 1.55;
1332
1344
  }
1345
+ .leading-none {
1346
+ --tw-leading: 1;
1347
+ line-height: 1;
1348
+ }
1333
1349
  .leading-normal {
1334
1350
  --tw-leading: var(--leading-normal);
1335
1351
  line-height: var(--leading-normal);
@@ -1436,9 +1452,6 @@
1436
1452
  .text-accent {
1437
1453
  color: var(--accent);
1438
1454
  }
1439
- .text-accent-foreground {
1440
- color: var(--accent-foreground);
1441
- }
1442
1455
  .text-accent\/80 {
1443
1456
  color: var(--accent);
1444
1457
  @supports (color: color-mix(in lab, red, red)) {
@@ -1824,11 +1837,11 @@
1824
1837
  color: var(--foreground);
1825
1838
  }
1826
1839
  }
1827
- .placeholder\:text-muted-foreground\/50 {
1840
+ .placeholder\:text-muted-foreground\/45 {
1828
1841
  &::placeholder {
1829
1842
  color: var(--muted-foreground);
1830
1843
  @supports (color: color-mix(in lab, red, red)) {
1831
- color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);
1844
+ color: color-mix(in oklab, var(--muted-foreground) 45%, transparent);
1832
1845
  }
1833
1846
  }
1834
1847
  }
@@ -2053,6 +2066,16 @@
2053
2066
  }
2054
2067
  }
2055
2068
  }
2069
+ .hover\:bg-muted\/70 {
2070
+ &:hover {
2071
+ @media (hover: hover) {
2072
+ background-color: var(--muted);
2073
+ @supports (color: color-mix(in lab, red, red)) {
2074
+ background-color: color-mix(in oklab, var(--muted) 70%, transparent);
2075
+ }
2076
+ }
2077
+ }
2078
+ }
2056
2079
  .hover\:bg-primary\/10 {
2057
2080
  &:hover {
2058
2081
  @media (hover: hover) {
@@ -2255,6 +2278,21 @@
2255
2278
  opacity: 50%;
2256
2279
  }
2257
2280
  }
2281
+ .data-\[selected\=true\]\:bg-\[color\:oklch\(from_var\(--accent\)_l_c_h\/0\.15\)\] {
2282
+ &[data-selected="true"] {
2283
+ background-color: oklch(from var(--accent) l c h/0.15);
2284
+ }
2285
+ }
2286
+ .data-\[selected\=true\]\:bg-accent {
2287
+ &[data-selected="true"] {
2288
+ background-color: var(--accent);
2289
+ }
2290
+ }
2291
+ .data-\[selected\=true\]\:text-foreground {
2292
+ &[data-selected="true"] {
2293
+ color: var(--foreground);
2294
+ }
2295
+ }
2258
2296
  .data-\[state\=active\]\:after\:bg-\[color\:var\(--accent\)\] {
2259
2297
  &[data-state="active"] {
2260
2298
  &::after {
@@ -2493,6 +2531,16 @@
2493
2531
  background-color: transparent;
2494
2532
  }
2495
2533
  }
2534
+ .\[\&\>p\]\:mx-auto {
2535
+ &>p {
2536
+ margin-inline: auto;
2537
+ }
2538
+ }
2539
+ .\[\&\>span\[aria-hidden\]\]\:hidden {
2540
+ &>span[aria-hidden] {
2541
+ display: none;
2542
+ }
2543
+ }
2496
2544
  .\[\&\>svg\]\:size-2\.5 {
2497
2545
  &>svg {
2498
2546
  width: calc(var(--spacing) * 2.5);
@@ -42,11 +42,13 @@ declare const noopTelemetry: TelemetrySink;
42
42
  declare function safeCapture(telemetry: TelemetrySink, event: TelemetryEvent): void;
43
43
 
44
44
  type JSONSchema = Record<string, unknown>;
45
+ type ToolReadinessRequirement = 'workspace-fs' | 'sandbox-exec' | 'ui-bridge';
45
46
  interface AgentTool {
46
47
  name: string;
47
48
  description: string;
48
49
  /** Optional one-line prompt entry. Pi-built tools should preserve pi's snippet verbatim. */
49
50
  promptSnippet?: string;
51
+ readinessRequirements?: ToolReadinessRequirement[];
50
52
  parameters: JSONSchema;
51
53
  execute(params: Record<string, unknown>, ctx: ToolExecContext): Promise<ToolResult>;
52
54
  }
@@ -68,7 +70,10 @@ interface ToolResult {
68
70
 
69
71
  interface AgentHarnessFactoryInput {
70
72
  tools: AgentTool[];
73
+ /** Host/storage cwd used for harness-owned filesystem resources. */
71
74
  cwd: string;
75
+ /** Agent-visible cwd used by Pi/system prompt/session metadata. */
76
+ runtimeCwd?: string;
72
77
  systemPromptAppend?: string;
73
78
  sessionNamespace?: string;
74
79
  sessionDir?: string;
@@ -1,14 +1,21 @@
1
- import { S as Sandbox, f as SandboxHandleStore, e as SandboxHandleRecord, W as Workspace, F as FileSearch, P as PluginRestartWarning } from '../agentPluginEvents-zyIvVjsA.js';
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-BCit36Ha.js';
5
- export { j as AgentHarnessFactoryInput } from '../harness-BCit36Ha.js';
4
+ import { f as TelemetrySink, A as AgentTool, i as AgentHarnessFactory } from '../harness-CQ0uw6xW.js';
5
+ export { j as AgentHarnessFactoryInput } from '../harness-CQ0uw6xW.js';
6
6
  import { PackageSource, ExtensionFactory, SettingsManager } from '@mariozechner/pi-coding-agent';
7
7
  import 'ai';
8
8
 
9
- declare function createDirectSandbox(): Sandbox;
9
+ interface CreateDirectSandboxOptions {
10
+ runtimeContext?: WorkspaceRuntimeContext;
11
+ }
12
+ declare function createDirectSandbox(opts?: CreateDirectSandboxOptions): Sandbox;
10
13
 
11
- declare function createBwrapSandbox(): Sandbox;
14
+ interface CreateBwrapSandboxOptions {
15
+ hostWorkspaceRoot?: string;
16
+ runtimeContext?: WorkspaceRuntimeContext;
17
+ }
18
+ declare function createBwrapSandbox(opts?: CreateBwrapSandboxOptions): Sandbox;
12
19
 
13
20
  interface FileHandleStoreOptions {
14
21
  storePath?: string;
@@ -174,7 +181,10 @@ interface VercelDeploymentSnapshotOptions {
174
181
  declare function createVercelDeploymentSnapshotProvider(opts: Omit<VercelDeploymentSnapshotOptions, 'runtime' | 'setupCommands' | 'pythonPackages' | 'systemPackages'>): DeploymentSnapshotProvider;
175
182
  declare function prepareVercelDeploymentSnapshot(opts: VercelDeploymentSnapshotOptions): Promise<SnapshotBakeResult>;
176
183
 
177
- declare function createNodeWorkspace(root: string): Workspace;
184
+ interface CreateNodeWorkspaceOptions {
185
+ runtimeContext?: WorkspaceRuntimeContext;
186
+ }
187
+ declare function createNodeWorkspace(root: string, opts?: CreateNodeWorkspaceOptions): Workspace;
178
188
 
179
189
  declare function fileRoutes(app: FastifyInstance, opts: {
180
190
  workspace?: Workspace;
@@ -393,6 +403,13 @@ interface ModeContext {
393
403
  telemetry?: TelemetrySink;
394
404
  }
395
405
  interface RuntimeBundle {
406
+ runtimeContext?: WorkspaceRuntimeContext;
407
+ /**
408
+ * Server-private host/storage root for host-side filesystem work. Do not use
409
+ * this as the agent-visible cwd; Workspace.root remains the public runtime
410
+ * namespace shown to tools/model.
411
+ */
412
+ storageRoot?: string;
396
413
  workspace: Workspace;
397
414
  sandbox: Sandbox;
398
415
  fileSearch: FileSearch;