hyperbrane 0.2.0 → 0.2.1

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 (50) hide show
  1. package/README.md +43 -3
  2. package/dist/agent/agentService.js +3 -2
  3. package/dist/agent/api.d.ts +26 -2
  4. package/dist/agent/control.js +1 -1
  5. package/dist/agent/dimensionAgentClient.d.ts +8 -0
  6. package/dist/agent/dimensionAgentClient.js +99 -0
  7. package/dist/agent/session/backend.d.ts +2 -1
  8. package/dist/agent/session/claude/transcript.d.ts +1 -0
  9. package/dist/agent/session/claude/transcript.js +1 -1
  10. package/dist/agent/session/worker/protocol.d.ts +6 -3
  11. package/dist/agent/session/worker/protocol.js +1 -1
  12. package/dist/agent/session/worker/workerParams.js +10 -3
  13. package/dist/agent/vendor-types/manifest.json +5 -60
  14. package/dist/agent/workerBundle.generated.js +1 -1
  15. package/dist/dimension/api.d.ts +3 -0
  16. package/dist/dimension/control.d.ts +2 -1
  17. package/dist/dimension/control.js +18 -0
  18. package/dist/dimension/service.js +27 -1
  19. package/dist/dimension/transportBundle.generated.js +1 -1
  20. package/dist/index.d.ts +3 -1
  21. package/dist/index.js +3 -1
  22. package/dist/lib/control.d.ts +4 -1
  23. package/dist/lib/control.js +2 -2
  24. package/dist/lib/jsonDirectory.js +24 -3
  25. package/dist/lib/unixSocket.d.ts +2 -0
  26. package/dist/lib/unixSocket.js +28 -0
  27. package/dist/portal-gateway/api.d.ts +1 -0
  28. package/dist/portal-gateway/gatewayService.js +14 -0
  29. package/dist/portal-gateway/transportBundle.generated.js +1 -1
  30. package/dist/restore.d.ts +9 -0
  31. package/dist/restore.js +10 -0
  32. package/dist/sandbox/api.d.ts +5 -0
  33. package/dist/sandbox/client.d.ts +2 -1
  34. package/dist/sandbox/client.js +4 -1
  35. package/dist/sandbox/lib/sshKey.d.ts +6 -0
  36. package/dist/sandbox/lib/sshKey.js +75 -0
  37. package/dist/sandbox/providers/boat/boatService.d.ts +2 -1
  38. package/dist/sandbox/providers/boat/boatService.js +72 -20
  39. package/dist/sandbox/providers/exedev/exeDevService.js +4 -2
  40. package/dist/sandbox/providers/exedev/exeDevToken.js +2 -6
  41. package/dist/sandbox/providers/local/localService.js +4 -26
  42. package/dist/sandbox/providers/ssh/sshService.js +2 -1
  43. package/dist/sandbox/service.d.ts +2 -1
  44. package/dist/sandbox/service.js +9 -1
  45. package/dist/vendor-types/claude/agent-sdk/bridge.d.ts +20 -4
  46. package/dist/vendor-types/claude/agent-sdk/browser-sdk.d.ts +24 -0
  47. package/dist/vendor-types/claude/agent-sdk/core.d.ts +2 -0
  48. package/dist/vendor-types/claude/agent-sdk/sdk-tools.d.ts +75 -6
  49. package/dist/vendor-types/claude/agent-sdk/sdk.d.ts +569 -100
  50. package/package.json +2 -1
@@ -44,6 +44,7 @@ export type ToolInputSchemas =
44
44
  | ScheduleWakeupInput
45
45
  | RemoteTriggerInput
46
46
  | ShowOnboardingRolePickerInput
47
+ | OfferChromeSetupInput
47
48
  | ReadNotificationsInput
48
49
  | MonitorInput
49
50
  | ProposeSkillsInput
@@ -84,6 +85,7 @@ export type ToolOutputSchemas =
84
85
  | ArtifactOutput
85
86
  | RemoteTriggerOutput
86
87
  | ShowOnboardingRolePickerOutput
88
+ | OfferChromeSetupOutput
87
89
  | ReadNotificationsOutput
88
90
  | ScheduleWakeupOutput
89
91
  | MonitorOutput
@@ -131,6 +133,7 @@ export type AgentOutput =
131
133
  output_tokens_details?: {
132
134
  thinking_tokens?: number | null;
133
135
  } | null;
136
+ fallback_credit?: unknown;
134
137
  };
135
138
  toolStats?: {
136
139
  readCount: number;
@@ -444,6 +447,7 @@ export type ArtifactOutput =
444
447
  publishesResetAt?: number;
445
448
  contract?: string;
446
449
  updated?: boolean;
450
+ owned?: boolean;
447
451
  icon?: string;
448
452
  faviconSent?: true;
449
453
  iconDropped?: true;
@@ -451,6 +455,7 @@ export type ArtifactOutput =
451
455
  seq?: number;
452
456
  unchanged?: true;
453
457
  liveSubscription?: string;
458
+ pinned?: boolean;
454
459
  }
455
460
  | {
456
461
  artifacts: {
@@ -461,8 +466,12 @@ export type ArtifactOutput =
461
466
  rel?: "mine" | "shared";
462
467
  external?: true;
463
468
  role?: "editor" | "commenter" | "reader" | "viewer";
469
+ pinned?: boolean;
464
470
  }[];
465
471
  truncated?: boolean;
472
+ total?: number;
473
+ total_at_least?: true;
474
+ pins_enabled?: boolean;
466
475
  scope?: "shared" | "all";
467
476
  external_listed?: true;
468
477
  }
@@ -474,7 +483,9 @@ export type ArtifactOutput =
474
483
  codeText: string;
475
484
  result: string;
476
485
  durationMs: number;
486
+ title?: string;
477
487
  };
488
+ owned?: boolean;
478
489
  artifactRead?: {
479
490
  slug: string;
480
491
  ver?: string;
@@ -555,6 +566,7 @@ export type ArtifactOutput =
555
566
  written?: {
556
567
  url: string;
557
568
  };
569
+ owned?: boolean;
558
570
  asset_upload: {
559
571
  id: string;
560
572
  url: string;
@@ -568,6 +580,7 @@ export type ArtifactOutput =
568
580
  written?: {
569
581
  url: string;
570
582
  };
583
+ owned?: boolean;
571
584
  asset_uploads: {
572
585
  url: string;
573
586
  /**
@@ -658,10 +671,19 @@ export type ArtifactOutput =
658
671
  written?: {
659
672
  url: string;
660
673
  };
674
+ owned?: boolean;
661
675
  asset_delete: {
662
676
  id: string;
663
677
  deleted: boolean;
664
678
  };
679
+ }
680
+ | {
681
+ pin: {
682
+ action: "pin" | "unpin";
683
+ url: string;
684
+ pinned: boolean;
685
+ title?: string;
686
+ };
665
687
  };
666
688
  export type ProjectsOutput =
667
689
  | {
@@ -764,6 +786,10 @@ export interface AgentInput {
764
786
  * Optional model override for this agent. Takes precedence over the agent definition's model frontmatter and the configured default subagent model. If omitted, uses the agent definition's model, else the default (inherits from the parent unless a default subagent model is configured). Ignored for subagent_type: "fork" — forks always inherit the parent model.
765
787
  */
766
788
  model?: "sonnet" | "opus" | "haiku" | "fable";
789
+ /**
790
+ * Reasoning effort for this agent. Set this ONLY when the user, or instructions such as CLAUDE.md or a skill, explicitly ask that this agent or delegated work run at a specific effort level, never on your own judgment; otherwise omit it and the agent runs at its usual effort. Ignored for subagent_type: "fork": a fork runs at your own effort.
791
+ */
792
+ effort?: "low" | "medium" | "high" | "xhigh" | "max";
767
793
  /**
768
794
  * Agents run in the background by default; you will be notified when one completes. Set to false only when your very next action depends on this agent's result and nothing else could usefully happen while it runs — otherwise leave it in the background so the user can hand you other work.
769
795
  */
@@ -791,7 +817,7 @@ export interface BashInput {
791
817
  */
792
818
  command: string;
793
819
  /**
794
- * Optional timeout in milliseconds (max 600000)
820
+ * Optional timeout in milliseconds (max 600000 for a foreground command)
795
821
  */
796
822
  timeout?: number;
797
823
  /**
@@ -811,7 +837,7 @@ export interface BashInput {
811
837
  */
812
838
  description?: string;
813
839
  /**
814
- * Set to true to run this command in the background.
840
+ * Set to true to run this command in the background. With it, `timeout` limits how long the command may run in the background before it is stopped (default 1800000 ms, max 7200000 ms).
815
841
  */
816
842
  run_in_background?: boolean;
817
843
  /**
@@ -870,6 +896,10 @@ export interface FileReadInput {
870
896
  * Page range for PDF files (e.g., "1-5", "3", "10-20"). Only applicable to PDF files. Maximum 20 pages per request.
871
897
  */
872
898
  pages?: string;
899
+ /**
900
+ * Set to true to read a text file, or a line range of one, that is over the usual size limits, up to what still fits in your context. Only use this when you genuinely need all of it or the user asked for the whole file; otherwise read it in parts with offset and limit, or search it.
901
+ */
902
+ allow_large?: boolean;
873
903
  }
874
904
  export interface FileWriteInput {
875
905
  /**
@@ -1084,6 +1114,10 @@ export interface WebFetchInput {
1084
1114
  * The prompt to run on the fetched content
1085
1115
  */
1086
1116
  prompt: string;
1117
+ /**
1118
+ * Character position in the page text to start reading from. Use it to read on through a page too long for one call, with the value the previous result gave.
1119
+ */
1120
+ offset?: number;
1087
1121
  }
1088
1122
  export interface WebSearchInput {
1089
1123
  /**
@@ -2933,6 +2967,12 @@ export interface RemoteTriggerInput {
2933
2967
  };
2934
2968
  }
2935
2969
  export interface ShowOnboardingRolePickerInput {}
2970
+ export interface OfferChromeSetupInput {
2971
+ /**
2972
+ * A short phrase naming what the task needs the user's own browser for.
2973
+ */
2974
+ reason?: string;
2975
+ }
2936
2976
  export interface ReadNotificationsInput {}
2937
2977
  export interface MonitorInput {
2938
2978
  /**
@@ -3118,7 +3158,7 @@ export interface ProposeGoalInput {
3118
3158
  }
3119
3159
  export interface ArtifactInput {
3120
3160
  /**
3121
- * Omit (or 'publish') to publish file_path. 'list' enumerates artifacts — the user's own by default, see `scope`; only `limit` and `scope` may accompany it. 'read' returns the content of the published artifact at `url` (raw HTML for the user's own; an isolated summary, steered by the optional `prompt`, for one someone else owns, though a page published in this session's own Slack channel can come back in full as untrusted content) — see **Calls**. 'watch', 'unwatch', and 'status' manage live-update subscriptions through which a session keeps track of new versions of an artifact published elsewhere, and those aren't available in this session: 'watch' only reports that — this session does not keep track of new versions — and 'status' lists this session's artifact watches (pass `url` to check one). 'upload_asset' adds one local media, PDF, font, or text file to an existing artifact — pass `url` and `file_path` (or `file_paths` for several in one call). 'list_assets' lists the files in an artifact's asset store (pass `url`; `after` continues a listing), 'read_asset' saves one of them to a local file named by its id (pass `url` and `asset_id`, optionally `out_dir`), and 'delete_asset' permanently removes one (pass `url` and `asset_id`). See **Artifact assets** above.
3161
+ * Omit (or 'publish') to publish file_path. 'list' enumerates artifacts — the user's own by default, see `scope`; only `limit` and `scope` may accompany it. 'read' returns the content of the published artifact at `url` (raw HTML for the user's own; an isolated summary, steered by the optional `prompt`, for one someone else owns, though a page published in this session's own Slack channel can come back in full as untrusted content) — see **Calls**. 'watch', 'unwatch', and 'status' manage live-update subscriptions through which a session keeps track of new versions of an artifact published elsewhere, and those aren't available in this session: 'watch' only reports that — this session does not keep track of new versions — and 'status' lists this session's artifact watches (pass `url` to check one). 'upload_asset' adds one local media, PDF, font, or text file to an existing artifact — pass `url` and `file_path` (or `file_paths` for several in one call). 'list_assets' lists the files in an artifact's asset store (pass `url`; `after` continues a listing), 'read_asset' saves one of them to a local file named by its id (pass `url` and `asset_id`, optionally `out_dir`), and 'delete_asset' permanently removes one (pass `url` and `asset_id`). See **Artifact assets** above. 'pin' adds the artifact at `url` to the user's pinned list in their claude.ai sidebar and 'unpin' removes it (nothing else may accompany either) — private to the user, reversible, and no change to who can see the artifact.
3122
3162
  */
3123
3163
  action?:
3124
3164
  | "publish"
@@ -3131,7 +3171,9 @@ export interface ArtifactInput {
3131
3171
  | "upload_asset"
3132
3172
  | "list_assets"
3133
3173
  | "read_asset"
3134
- | "delete_asset";
3174
+ | "delete_asset"
3175
+ | "pin"
3176
+ | "unpin";
3135
3177
  /**
3136
3178
  * Path to the .html file to render. Required to publish (the default action). Use a short, distinctive basename — it is the last-resort title when the HTML has no <title> and no `title` parameter is given. For 'upload_asset', the local image, video, PDF, font, stylesheet (CSS), script (JS), or text (CSV, Markdown, JSON, plain text) file to upload.
3137
3179
  */
@@ -3165,7 +3207,7 @@ export interface ArtifactInput {
3165
3207
  */
3166
3208
  label?: string;
3167
3209
  /**
3168
- * Existing artifact URL to update in place. Pass whenever the user wants to update an artifact this conversation did not publish — "update my artifact", "keep the same link", a pasted artifact URL — and find the URL with action: "list" or ask the user for the link if you don't have it; without this, the publish creates a separate artifact instead of updating the existing one. Omit for new artifacts and same-conversation redeploys. Must be an artifact the user owns or was given edit access to (a read of it says "writer"). For 'read' and the other url-addressed actions: the artifact to act on.
3210
+ * An existing artifact's claude.ai link (claude.ai/artifact/{id} or claude.ai/code/artifact/{uuid}; a chat, project or session link is not one) to update in place. Pass whenever the user wants to update an artifact this conversation did not publish — "update my artifact", "keep the same link", a pasted artifact URL — and find the URL with action: "list" or ask the user for the link if you don't have it; without this, the publish creates a separate artifact instead of updating the existing one. Omit for new artifacts and same-conversation redeploys. Must be an artifact the user owns or was given edit access to (a read of it says "writer"). Before publishing to an artifact this conversation has neither read nor published, read it (action: "read") and build on what comes back; a publish sent without that read is refused. A refusal that hands you the live version counts as that read: merge your edits into that version and publish that; never resend the refused content unchanged. For 'read' and the other url-addressed actions: the artifact to act on.
3169
3211
  */
3170
3212
  url?: string;
3171
3213
  /**
@@ -3176,6 +3218,10 @@ export interface ArtifactInput {
3176
3218
  * Last-resort overwrite that DISCARDS the newer published version's page — another session's publish, or someone's save from a page that can publish new versions of itself. On a conflict the fix is to merge your changes onto the newer content (handed to you in the rejection, or re-read) and publish again — not force. Pass force:true only when the user has explicitly said to discard that specific version; never to get past a conflict on your own judgment. The tracked baseVersion is still sent; with force:true the server treats it as informational and overwrites, unless it refuses force over a version saved from inside the page. Omit (or false) so a concurrent write conflicts instead of being silently clobbered.
3177
3219
  */
3178
3220
  force?: boolean;
3221
+ /**
3222
+ * publish only: true also pins the published artifact to the user's claude.ai sidebar once it is published — pass it only when the user asked for that; a pin that fails never fails the publish (the result says so).
3223
+ */
3224
+ pin?: boolean;
3179
3225
  /**
3180
3226
  * read_asset: directory to save into — default: this artifact’s folder in your scratchpad directory, where saving needs no approval and which you can Read from. read_asset names the file by the asset id plus the extension for its type; saving to any directory other than the default is an ordinary file save the user may be asked to approve.
3181
3227
  */
@@ -3271,7 +3317,7 @@ export interface BashOutput {
3271
3317
  */
3272
3318
  backgroundCwdHint?: string;
3273
3319
  /**
3274
- * True when this backgrounded command is owned by a synchronous subagent and is therefore terminated when that agent gives its final response; absent when the command survives (main loop, async subagents)
3320
+ * True when this backgrounded command is terminated at its caller's final response, so no completion notification can follow (a synchronous subagent's command, or a headless session that takes no further input and is not waiting for background commands); absent when the command survives
3275
3321
  */
3276
3322
  backgroundEndsWithFinalResponse?: true;
3277
3323
  /**
@@ -3733,6 +3779,10 @@ export interface WebSearchOutput {
3733
3779
  * The URL of the search result
3734
3780
  */
3735
3781
  url: string;
3782
+ /**
3783
+ * Page text. PostToolUse hooks get it; tool_use_result does not.
3784
+ */
3785
+ snippet?: string;
3736
3786
  }[];
3737
3787
  }
3738
3788
  | string
@@ -3996,6 +4046,9 @@ export interface ShowOnboardingRolePickerOutput {
3996
4046
  role?: string;
3997
4047
  dismissed?: boolean;
3998
4048
  }
4049
+ export interface OfferChromeSetupOutput {
4050
+ outcome: "connected" | "not_now" | "no_attempt_yet";
4051
+ }
3999
4052
  export interface ReadNotificationsOutput {
4000
4053
  notifications: {
4001
4054
  /**
@@ -4014,11 +4067,19 @@ export interface ReadNotificationsOutput {
4014
4067
  * Verbatim notification body.
4015
4068
  */
4016
4069
  content: string;
4070
+ /**
4071
+ * RFC3339 timestamp, by this machine's clock, of when the notification reached this session's queue. Missing from results saved before this field existed.
4072
+ */
4073
+ arrived_at?: string;
4017
4074
  }[];
4018
4075
  /**
4019
4076
  * Notifications still queued after this drain (drains are size-budgeted); call the tool again to read them.
4020
4077
  */
4021
4078
  remaining: number;
4079
+ /**
4080
+ * RFC3339 timestamp, by this machine's clock, of when this call read the queue. Missing from results saved before this field existed.
4081
+ */
4082
+ read_at?: string;
4022
4083
  }
4023
4084
  export interface ScheduleWakeupOutput {
4024
4085
  /**
@@ -4120,6 +4181,10 @@ export interface CronCreateOutput {
4120
4181
  humanSchedule: string;
4121
4182
  recurring: boolean;
4122
4183
  durable?: boolean;
4184
+ /**
4185
+ * Epoch ms of the job's next run, the scheduler's per-job offset included
4186
+ */
4187
+ nextFireAt?: number;
4123
4188
  }
4124
4189
  export interface CronDeleteOutput {
4125
4190
  id: string;
@@ -4132,6 +4197,10 @@ export interface CronListOutput {
4132
4197
  prompt: string;
4133
4198
  recurring?: boolean;
4134
4199
  durable?: boolean;
4200
+ /**
4201
+ * Epoch ms of the job's next run, the scheduler's per-job offset included
4202
+ */
4203
+ nextFireAt?: number;
4135
4204
  }[];
4136
4205
  }
4137
4206
  export interface PushNotificationOutput {