@kitman-sh/loops 0.6.0 → 0.7.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitman-sh/loops",
3
- "version": "0.6.0",
3
+ "version": "0.7.1",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "exports": {
@@ -15,7 +15,7 @@
15
15
  "types"
16
16
  ],
17
17
  "dependencies": {
18
- "@kitman-sh/sdk": "0.6.0",
18
+ "@kitman-sh/sdk": "0.7.1",
19
19
  "effect": "^4.0.4"
20
20
  }
21
21
  }
@@ -8,6 +8,8 @@ export declare const AgentSandboxPolicy: Schema.Struct<{
8
8
  readonly writablePaths: Schema.$Array<Schema.String>;
9
9
  /** `~` is the Runner user's home directory. */
10
10
  readonly readDeniedPaths: Schema.$Array<Schema.String>;
11
+ /** Readable again inside `readDeniedPaths`; a denied path within one stays denied. */
12
+ readonly readAllowedPaths: Schema.$Array<Schema.String>;
11
13
  readonly network: Schema.Union<readonly [Schema.Struct<{
12
14
  readonly hosts: Schema.$Array<Schema.String>;
13
15
  }>, Schema.Literal<"open">]>;
@@ -26,6 +26,10 @@ export declare const LoopManifest: Schema.Struct<{
26
26
  readonly capabilities: Schema.$Array<Schema.Literals<readonly ["agent_work", "ask", "call", "verify", "change_request", "write_back", "post_comment", "create_tasks", "merge_change_request", "publish_release"]>>;
27
27
  /** The names of the Secrets the Loop reads. */
28
28
  readonly secrets: Schema.optionalKey<Schema.$Array<Schema.String>>;
29
+ /** The hosts the program calls besides Kitman, or `open`. */
30
+ readonly network: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
31
+ readonly hosts: Schema.$Array<Schema.String>;
32
+ }>, Schema.Literal<"open">]>>;
29
33
  }>;
30
34
  export type LoopManifest = typeof LoopManifest.Type;
31
35
  /** An Agent as a Package declares it, with its instructions already read from the repository. */
@@ -137,6 +141,10 @@ export declare const PackageDeclarations: Schema.Struct<{
137
141
  readonly capabilities: Schema.$Array<Schema.Literals<readonly ["agent_work", "ask", "call", "verify", "change_request", "write_back", "post_comment", "create_tasks", "merge_change_request", "publish_release"]>>;
138
142
  /** The names of the Secrets the Loop reads. */
139
143
  readonly secrets: Schema.optionalKey<Schema.$Array<Schema.String>>;
144
+ /** The hosts the program calls besides Kitman, or `open`. */
145
+ readonly network: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
146
+ readonly hosts: Schema.$Array<Schema.String>;
147
+ }>, Schema.Literal<"open">]>>;
140
148
  }>>;
141
149
  readonly agents: Schema.$Record<Schema.String, Schema.Struct<{
142
150
  readonly extends: Schema.optionalKey<Schema.String>;
@@ -50,6 +50,13 @@ export type LoopDefinition<In, Out, E> = {
50
50
  readonly capabilities: readonly LoopCapability[];
51
51
  /** The Secrets the program reads with `Config.Redacted`, and `agentWork` may put into a Step's sandbox. */
52
52
  readonly secrets?: readonly string[];
53
+ /**
54
+ * The hosts the program calls besides Kitman, or `open` for any; a shared Runner refuses the rest. An `open` Loop
55
+ * runs only on a Runner with `docker`, or a personal Runner.
56
+ */
57
+ readonly network?: {
58
+ readonly hosts: readonly string[];
59
+ } | 'open';
53
60
  readonly run: (input: In) => Effect.Effect<Out, E, LoopServices>;
54
61
  /** Scripts a build runs twice, the second time from the journal; not part of the manifest. */
55
62
  readonly checks?: readonly LoopCheck[];