@kitman-sh/sdk 0.8.0 → 0.10.52

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 (63) hide show
  1. package/dist/build/index.js +531 -116
  2. package/dist/{chunk-36jhc745.js → chunk-tcbgb4wm.js} +1841 -1574
  3. package/dist/{chunk-160ww64c.js → chunk-zvzw3zs4.js} +939 -535
  4. package/dist/loop/index.js +117 -3
  5. package/dist/program/index.js +10 -6
  6. package/package.json +6 -6
  7. package/types/packages/core/src/agent-capabilities.d.ts +6 -0
  8. package/types/packages/core/src/agent-environment.d.ts +32 -216
  9. package/types/packages/core/src/agent-sandbox-policy.d.ts +17 -3
  10. package/types/packages/core/src/change-request-review.d.ts +20 -5
  11. package/types/packages/core/src/change-request.d.ts +33 -208
  12. package/types/packages/core/src/crypto.d.ts +2 -0
  13. package/types/packages/core/src/index.d.ts +8 -4
  14. package/types/packages/core/src/{package-declarations.d.ts → kit-declarations.d.ts} +84 -180
  15. package/types/packages/core/src/kit-install.d.ts +130 -0
  16. package/types/packages/core/src/kit-setup.d.ts +316 -0
  17. package/types/packages/core/src/kit.d.ts +302 -1444
  18. package/types/packages/core/src/loop-layers.d.ts +33 -4
  19. package/types/packages/core/src/loop.d.ts +325 -55
  20. package/types/packages/core/src/marketplace.d.ts +51 -10
  21. package/types/packages/core/src/my-teams.d.ts +135 -20
  22. package/types/packages/core/src/network-host.d.ts +41 -0
  23. package/types/packages/core/src/notification.d.ts +8 -0
  24. package/types/packages/core/src/npm-registry.d.ts +65 -0
  25. package/types/packages/core/src/proposal.d.ts +0 -76
  26. package/types/packages/core/src/push.d.ts +68 -0
  27. package/types/packages/core/src/question-recommendation.d.ts +28 -0
  28. package/types/packages/core/src/redaction.d.ts +15 -3
  29. package/types/packages/core/src/resource-claim.d.ts +79 -0
  30. package/types/packages/core/src/run-display.d.ts +7 -1
  31. package/types/packages/core/src/run-graph.d.ts +1 -1
  32. package/types/packages/core/src/run-launch.d.ts +15 -2
  33. package/types/packages/core/src/run-queue.d.ts +28 -0
  34. package/types/packages/core/src/runner-eligibility.d.ts +21 -2
  35. package/types/packages/core/src/runner.d.ts +46 -15
  36. package/types/packages/core/src/secret.d.ts +18 -1
  37. package/types/packages/core/src/step-brief.d.ts +21 -7
  38. package/types/packages/core/src/sync-kit.d.ts +8 -0
  39. package/types/packages/core/src/task-detail.d.ts +15 -2
  40. package/types/packages/core/src/task.d.ts +9 -0
  41. package/types/packages/core/src/transcript.d.ts +24 -4
  42. package/types/packages/core/src/trust-panel.d.ts +1 -1
  43. package/types/packages/core/src/waiting-on.d.ts +14 -0
  44. package/types/packages/core/src/work-unit.d.ts +339 -8
  45. package/types/packages/live/src/rpc/runner-client.d.ts +1229 -566
  46. package/types/packages/live/src/rpc/runner-group.d.ts +2851 -441
  47. package/types/packages/sdk/src/build/index.d.ts +45 -9
  48. package/types/packages/sdk/src/loop/activities.d.ts +382 -2
  49. package/types/packages/sdk/src/loop/claims.d.ts +57 -0
  50. package/types/packages/sdk/src/loop/config.d.ts +38 -31
  51. package/types/packages/sdk/src/loop/continuing.d.ts +22 -0
  52. package/types/packages/sdk/src/loop/define.d.ts +30 -5
  53. package/types/packages/sdk/src/loop/evidence.d.ts +18 -3
  54. package/types/packages/sdk/src/loop/index.d.ts +4 -0
  55. package/types/packages/sdk/src/loop/measure.d.ts +132 -0
  56. package/types/packages/sdk/src/loop/plan.d.ts +2 -2
  57. package/types/packages/sdk/src/loop/steps.d.ts +127 -17
  58. package/types/packages/sdk/src/loop/sync.d.ts +53 -0
  59. package/types/packages/sdk/src/loop/test-loop.d.ts +25 -5
  60. package/types/packages/sdk/src/program/engine.d.ts +116 -17
  61. package/types/packages/sdk/src/program/host.d.ts +200 -38
  62. package/types/packages/core/src/engineering-resources.d.ts +0 -24
  63. package/types/packages/core/src/package.d.ts +0 -369
@@ -1,57 +1,204 @@
1
1
  import type { ProgramLease } from '../../../live/src/rpc/runner-group';
2
- import { makeRunnerRpcClient } from '../../../live/src/rpc/runner-client';
2
+ import { type ProgramRpcClient } from '../../../live/src/rpc/runner-client';
3
3
  import * as Effect from 'effect/Effect';
4
4
  import * as Option from 'effect/Option';
5
5
  import * as Schema from 'effect/Schema';
6
- import type { PackageConfig } from '../loop/config';
6
+ import type { KitConfig } from '../loop/config';
7
7
  import { ManifestInvalid } from '../loop/define';
8
8
  import { type ProgramJournal } from './engine';
9
9
  /** Asks a bundle for its declarations and check results instead of running a program. */
10
10
  export declare const describeFlag = "--kitman-describe";
11
+ /** Each Kit the bundle carries, the built Kit first, or the first refusal. */
11
12
  export declare const Described: Schema.Union<readonly [Schema.TaggedStruct<"Described", {
12
- readonly loops: Schema.$Array<Schema.Struct<{
13
- readonly id: Schema.String;
14
- readonly title: Schema.String;
15
- readonly input: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
16
- readonly output: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
17
- readonly outcome: Schema.optionalKey<Schema.Literals<readonly ["feature", "bug", "refactor", "investigation", "docs", "migration"]>>;
18
- readonly agents: Schema.$Record<Schema.String, Schema.String>;
19
- readonly checkout: Schema.Literals<readonly ["none", "read", "write"]>;
20
- readonly when: Schema.$Array<Schema.Struct<{
21
- readonly event: Schema.String;
22
- readonly filter: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>]>>>;
23
- readonly input: Schema.$Record<Schema.String, Schema.String>;
24
- }>>;
25
- readonly offers: Schema.$Array<Schema.Struct<{
13
+ readonly kits: Schema.$Array<Schema.Struct<{
14
+ readonly name: Schema.String;
15
+ readonly version: Schema.String;
16
+ readonly loops: Schema.$Array<Schema.Struct<{
26
17
  readonly id: Schema.String;
27
18
  readonly title: Schema.String;
28
- readonly loop: Schema.String;
19
+ readonly version: Schema.optionalKey<Schema.String>;
20
+ readonly input: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
21
+ readonly output: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
22
+ readonly outcome: Schema.optionalKey<Schema.Literals<readonly ["feature", "bug", "refactor", "investigation", "docs", "migration", "performance"]>>;
23
+ readonly agents: Schema.$Record<Schema.String, Schema.String>;
24
+ readonly checkout: Schema.Literals<readonly ["none", "read", "write"]>;
25
+ readonly when: Schema.$Array<Schema.Struct<{
26
+ readonly event: Schema.String;
27
+ readonly filter: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>]>>>;
28
+ readonly input: Schema.$Record<Schema.String, Schema.String>;
29
+ readonly values: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
30
+ }>>;
31
+ readonly offers: Schema.$Array<Schema.Struct<{
32
+ readonly id: Schema.String;
33
+ readonly title: Schema.String;
34
+ readonly loop: Schema.String;
35
+ readonly from: Schema.optionalKey<Schema.String>;
36
+ }>>;
37
+ readonly capabilities: Schema.$Array<Schema.Literals<readonly ["agent_work", "ask", "call", "verify", "change_request", "write_back", "post_comment", "create_tasks", "merge_change_request", "approve_change_request", "publish_release", "read_transcripts", "read_change_request", "measure", "claim", "propose", "read_project", "draft_update"]>>;
38
+ readonly secrets: Schema.optionalKey<Schema.$Array<Schema.String>>;
39
+ readonly network: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
40
+ readonly hosts: Schema.$Array<Schema.String>;
41
+ }>, Schema.Literal<"open">]>>;
42
+ readonly schedule: Schema.optionalKey<Schema.Struct<{
43
+ readonly rule: Schema.Union<readonly [Schema.Struct<{
44
+ readonly frequency: Schema.Literals<readonly ["daily", "weekly"]>;
45
+ readonly hour: Schema.Int;
46
+ readonly minute: Schema.Int;
47
+ readonly second: Schema.optionalKey<Schema.Int>;
48
+ readonly daysOfWeek: Schema.optionalKey<Schema.$Array<Schema.Int>>;
49
+ }>, Schema.Struct<{
50
+ readonly cron: Schema.String;
51
+ }>]>;
52
+ readonly timezone: Schema.String;
53
+ }>>;
29
54
  }>>;
30
- 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", "read_transcripts", "propose", "read_project", "draft_update"]>>;
31
- readonly secrets: Schema.optionalKey<Schema.$Array<Schema.String>>;
32
- readonly network: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
33
- readonly hosts: Schema.$Array<Schema.String>;
34
- }>, Schema.Literal<"open">]>>;
35
- readonly schedule: Schema.optionalKey<Schema.Struct<{
36
- readonly rule: Schema.Union<readonly [Schema.Struct<{
37
- readonly frequency: Schema.Literals<readonly ["daily", "weekly"]>;
38
- readonly hour: Schema.Int;
39
- readonly minute: Schema.Int;
40
- readonly second: Schema.optionalKey<Schema.Int>;
41
- readonly daysOfWeek: Schema.optionalKey<Schema.$Array<Schema.Int>>;
55
+ readonly agents: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
56
+ readonly schedules: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
57
+ readonly setup: Schema.optionalKey<Schema.Struct<{
58
+ readonly skills: Schema.optionalKey<Schema.$Array<Schema.Struct<{
59
+ readonly name: Schema.String;
60
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
61
+ readonly source: Schema.Union<readonly [Schema.Struct<{
62
+ readonly kind: Schema.Literal<"skills_sh">;
63
+ readonly slug: Schema.String;
64
+ readonly version: Schema.optionalKey<Schema.String>;
65
+ }>, Schema.Struct<{
66
+ readonly kind: Schema.Literal<"kitman">;
67
+ readonly skillId: Schema.optionalKey<Schema.String>;
68
+ readonly name: Schema.optionalKey<Schema.String>;
69
+ readonly contentMarkdown: Schema.optionalKey<Schema.String>;
70
+ readonly files: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
71
+ }>, Schema.Struct<{
72
+ readonly kind: Schema.Literal<"git">;
73
+ readonly url: Schema.String;
74
+ readonly ref: Schema.optionalKey<Schema.String>;
75
+ readonly path: Schema.optionalKey<Schema.String>;
76
+ readonly sha256: Schema.optionalKey<Schema.String>;
77
+ }>, Schema.Struct<{
78
+ readonly kind: Schema.Literal<"package">;
79
+ readonly packageName: Schema.String;
80
+ readonly version: Schema.String;
81
+ readonly path: Schema.optionalKey<Schema.String>;
82
+ readonly sha256: Schema.optionalKey<Schema.String>;
83
+ }>, Schema.Struct<{
84
+ readonly kind: Schema.Literal<"url">;
85
+ readonly url: Schema.String;
86
+ readonly sha256: Schema.String;
87
+ }>, Schema.Struct<{
88
+ readonly kind: Schema.Literal<"local_path">;
89
+ readonly path: Schema.String;
90
+ }>]>;
91
+ readonly appliesTo: Schema.optionalKey<Schema.Struct<{
92
+ readonly dependencies: Schema.optionalKey<Schema.$Array<Schema.String>>;
93
+ readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
94
+ }>>;
95
+ }>>>;
96
+ readonly plugins: Schema.optionalKey<Schema.$Array<Schema.Struct<{
97
+ readonly name: Schema.String;
98
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
99
+ readonly sources: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
100
+ readonly kind: Schema.Literal<"package">;
101
+ readonly packageName: Schema.String;
102
+ readonly version: Schema.optionalKey<Schema.String>;
103
+ }>, Schema.Struct<{
104
+ readonly kind: Schema.Literal<"git">;
105
+ readonly url: Schema.String;
106
+ readonly ref: Schema.optionalKey<Schema.String>;
107
+ }>, Schema.Struct<{
108
+ readonly kind: Schema.Literal<"url">;
109
+ readonly url: Schema.String;
110
+ readonly sha256: Schema.String;
111
+ }>, Schema.Struct<{
112
+ readonly kind: Schema.Literal<"local_path">;
113
+ readonly path: Schema.String;
114
+ }>]>>;
115
+ }>>>;
116
+ readonly mcpServers: Schema.optionalKey<Schema.$Array<Schema.Struct<{
117
+ readonly name: Schema.String;
118
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
119
+ readonly transport: Schema.Union<readonly [Schema.Struct<{
120
+ readonly kind: Schema.Literal<"stdio">;
121
+ readonly command: Schema.String;
122
+ readonly args: Schema.optionalKey<Schema.$Array<Schema.String>>;
123
+ readonly env: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
124
+ }>, Schema.Struct<{
125
+ readonly kind: Schema.Literal<"streamable_http">;
126
+ readonly url: Schema.String;
127
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
128
+ }>]>;
129
+ }>>>;
130
+ readonly harnessSettings: Schema.optionalKey<Schema.$Array<Schema.Struct<{
131
+ readonly harness: Schema.Union<readonly [Schema.Literal<"opencode">, Schema.Literal<"claude-code">, Schema.Literal<"codex">, Schema.Literal<"pi">]>;
132
+ readonly key: Schema.String;
133
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
134
+ readonly value: Schema.Unknown;
135
+ }>>>;
136
+ readonly providerAuthRefs: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
137
+ readonly provider: Schema.String;
138
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
139
+ readonly kind: Schema.Literal<"existing_harness_login">;
140
+ readonly accountHint: Schema.optionalKey<Schema.String>;
141
+ }>, Schema.Struct<{
142
+ readonly provider: Schema.String;
143
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
144
+ readonly kind: Schema.Literal<"local_env">;
145
+ readonly envName: Schema.String;
42
146
  }>, Schema.Struct<{
43
- readonly cron: Schema.String;
44
- }>]>;
45
- readonly timezone: Schema.String;
147
+ readonly provider: Schema.String;
148
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
149
+ readonly kind: Schema.Literal<"runner_secret">;
150
+ readonly runnerSecretName: Schema.String;
151
+ }>, Schema.Struct<{
152
+ readonly provider: Schema.String;
153
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
154
+ readonly kind: Schema.Literal<"managed_oauth">;
155
+ readonly grantId: Schema.optionalKey<Schema.String>;
156
+ }>]>>>;
157
+ readonly runnerSecretRefs: Schema.optionalKey<Schema.$Array<Schema.Struct<{
158
+ readonly name: Schema.String;
159
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
160
+ readonly source: Schema.Union<readonly [Schema.Struct<{
161
+ readonly kind: Schema.Literal<"env">;
162
+ readonly envName: Schema.String;
163
+ }>, Schema.Struct<{
164
+ readonly kind: Schema.Literal<"file">;
165
+ readonly pathRef: Schema.String;
166
+ }>, Schema.Struct<{
167
+ readonly kind: Schema.Literal<"exec">;
168
+ readonly commandRef: Schema.String;
169
+ }>]>;
170
+ readonly capabilities: Schema.optionalKey<Schema.$Array<Schema.String>>;
171
+ }>>>;
172
+ readonly permissions: Schema.optionalKey<Schema.$Array<Schema.Struct<{
173
+ readonly key: Schema.String;
174
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
175
+ readonly value: Schema.Unknown;
176
+ }>>>;
177
+ readonly hooks: Schema.optionalKey<Schema.$Array<Schema.Struct<{
178
+ readonly name: Schema.String;
179
+ readonly event: Schema.String;
180
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
181
+ readonly command: Schema.String;
182
+ readonly args: Schema.optionalKey<Schema.$Array<Schema.String>>;
183
+ readonly timeoutMs: Schema.optionalKey<Schema.Finite>;
184
+ }>>>;
185
+ readonly runtimeConstraints: Schema.optionalKey<Schema.$Array<Schema.Struct<{
186
+ readonly key: Schema.String;
187
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
188
+ readonly value: Schema.Unknown;
189
+ }>>>;
190
+ readonly sandboxPolicyRequirements: Schema.optionalKey<Schema.$Array<Schema.Struct<{
191
+ readonly key: Schema.String;
192
+ readonly policy: Schema.Union<readonly [Schema.Literal<"recommended">, Schema.Literal<"required">]>;
193
+ readonly value: Schema.Unknown;
194
+ }>>>;
195
+ readonly instructions: Schema.optionalKey<Schema.String>;
46
196
  }>>;
47
197
  }>>;
48
- readonly agents: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
49
- readonly schedules: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
50
- readonly kits: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
51
198
  }>, Schema.TaggedStruct<"Refused", {
52
199
  readonly error: Schema.Union<readonly [typeof ManifestInvalid, Schema.Union<readonly [typeof import("../loop").CheckFailed, typeof import("../loop").StepNamedTwice, typeof import("../loop").ReplayDiverged]>]>;
53
200
  }>]>;
54
- type SecretsRpc = Pick<Effect.Success<ReturnType<typeof makeRunnerRpcClient>>, 'programSecrets' | 'finishProgram'>;
201
+ type SecretsRpc = Pick<ProgramRpcClient, 'programSecrets' | 'finishProgram'>;
55
202
  /**
56
203
  * The Secrets the Loop declares, or none when Kitman refuses them (one deleted while the Run waited): the Run fails
57
204
  * then, saying why, since a replay would only be refused again.
@@ -77,6 +224,21 @@ export declare const networkGuard: (input: {
77
224
  fetch: Fetch;
78
225
  journal: <Journal extends Pick<ProgramJournal, 'suspend' | 'finish'>>(journal: Journal) => Journal;
79
226
  };
80
- /** The entry of every Package bundle. */
81
- export declare const runPackage: (config: PackageConfig) => void;
227
+ /** A Kit's package name and version, as its build reads them from `package.json`. */
228
+ export type KitIdentity = {
229
+ readonly name: string;
230
+ readonly version: string;
231
+ };
232
+ type CarriedKit = {
233
+ readonly identity: KitIdentity;
234
+ readonly config: KitConfig;
235
+ };
236
+ /**
237
+ * The Kit and each Kit it extends, in priority order: the Kit, then each `extends` entry and what it extends, in turn.
238
+ * A Kit met twice keeps its first place and its highest version. `packages` names each Kit module the build found; a
239
+ * Kit in `extends` that none names is refused.
240
+ */
241
+ export declare const carriedKits: (config: KitConfig, identity: KitIdentity, packages: readonly (readonly [KitConfig, KitIdentity])[]) => readonly CarriedKit[];
242
+ /** The entry of every Kit bundle, given the Kit's identity and that of each Kit package it depends on. */
243
+ export declare const runKit: (config: KitConfig, identity: KitIdentity, packages: readonly (readonly [KitConfig, KitIdentity])[]) => void;
82
244
  export {};
@@ -1,24 +0,0 @@
1
- import type { KitCreate } from './kit';
2
- declare const marketplace: {
3
- readonly source: 'kitman-engineering-loop';
4
- readonly publisher: 'Kitman Platform';
5
- readonly visibility: 'public';
6
- readonly trusted: true;
7
- readonly reviewStatus: 'approved';
8
- readonly installable: true;
9
- readonly rollout: {
10
- readonly channel: 'default';
11
- readonly installDefault: true;
12
- readonly preservesExistingInstallations: true;
13
- };
14
- };
15
- type ShippedKit = Omit<KitCreate, 'metadata' | 'kind' | 'slug'> & {
16
- readonly slug: string;
17
- readonly kind: 'process' | 'technology';
18
- readonly metadata: {
19
- readonly marketplace: typeof marketplace;
20
- };
21
- };
22
- /** The Kits every Workspace gets by default: the owner's Claude Code setup, for every Harness, at the latest versions. */
23
- export declare const ShippedKitCatalog: readonly ShippedKit[];
24
- export {};