@intentic/sandbox-contract 1.272.0 → 1.273.0
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/dist/chores/chores.d.ts.map +1 -1
- package/dist/chores/chores.js +1 -1
- package/dist/chores/chores.js.map +1 -1
- package/dist/contracts/capabilities.contract.d.ts +15 -0
- package/dist/contracts/capabilities.contract.d.ts.map +1 -1
- package/dist/contracts/capabilities.contract.js +10 -0
- package/dist/contracts/capabilities.contract.js.map +1 -1
- package/dist/contracts/host.contract.d.ts +5 -0
- package/dist/contracts/host.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.d.ts +35 -30
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/policy/command-run.d.ts.map +1 -1
- package/dist/policy/command-run.js +2 -10
- package/dist/policy/command-run.js.map +1 -1
- package/dist/schemas/devices.d.ts +22 -2
- package/dist/schemas/devices.d.ts.map +1 -1
- package/dist/schemas/devices.js +41 -7
- package/dist/schemas/devices.js.map +1 -1
- package/dist/schemas/hosts.d.ts +21 -0
- package/dist/schemas/hosts.d.ts.map +1 -1
- package/dist/schemas/hosts.js +9 -0
- package/dist/schemas/hosts.js.map +1 -1
- package/dist/schemas/remote-refs.d.ts +28 -0
- package/dist/schemas/remote-refs.d.ts.map +1 -0
- package/dist/schemas/remote-refs.js +30 -0
- package/dist/schemas/remote-refs.js.map +1 -0
- package/package.json +5 -4
- package/src/chores/chores.ts +1 -2
- package/src/contracts/capabilities.contract.ts +12 -0
- package/src/index.ts +1 -0
- package/src/policy/command-run.ts +2 -12
- package/src/schemas/devices.ts +69 -18
- package/src/schemas/hosts.ts +21 -0
- package/src/schemas/remote-refs.ts +39 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-run.js","sourceRoot":"","sources":["../../src/policy/command-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-run.js","sourceRoot":"","sources":["../../src/policy/command-run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAiB7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAwB,IAAsB,EAAE,OAA4B,EAA0B,EAAE;IACzI,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACzD,SAAS,CAAC;QACN,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAA4C,EAAE,OAAe,EAAU,EAAE;IACvG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,YAAY,CAAC;IAClC,CAAC;IACD,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,OAAO;YACR,OAAO,GAAG,OAAO,eAAe,CAAC;QACrC,KAAK,WAAW;YACZ,OAAO,GAAG,OAAO,UAAU,CAAC;QAChC,KAAK,QAAQ;YACT,OAAO,GAAG,OAAO,SAAS,CAAC;QAC/B,KAAK,QAAQ;YACT,OAAO,GAAG,OAAO,SAAS,CAAC;QAC/B;YAEI,OAAO,GAAG,OAAO,aAAa,CAAC;IACvC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { type HostFacts } from "./hosts.js";
|
|
2
3
|
export declare const SandboxResourcesSchema: z.ZodObject<{
|
|
3
4
|
memoryBytes: z.ZodOptional<z.ZodNumber>;
|
|
4
5
|
cpus: z.ZodOptional<z.ZodNumber>;
|
|
@@ -352,8 +353,8 @@ export declare const DeviceReportSchema: z.ZodObject<{
|
|
|
352
353
|
export type DeviceReport = z.infer<typeof DeviceReportSchema>;
|
|
353
354
|
export declare const REPORT_QUIET_AFTER_MS = 60000;
|
|
354
355
|
export declare const reportQuiet: (report: DeviceReport, receivedAt: number) => boolean;
|
|
355
|
-
export declare const environmentOf: (report: DeviceReport | undefined) => string | undefined;
|
|
356
|
-
export declare const differentEnvironment: (left:
|
|
356
|
+
export declare const environmentOf: (facts: Pick<HostFacts, "hostname" | "wsl"> | undefined, report: DeviceReport | undefined) => string | undefined;
|
|
357
|
+
export declare const differentEnvironment: (left: string | undefined, right: string | undefined) => boolean;
|
|
357
358
|
export declare const agentBuildSkew: (agent: DeviceAgent) => {
|
|
358
359
|
readonly running: string | undefined;
|
|
359
360
|
readonly installed: string;
|
|
@@ -398,6 +399,11 @@ export declare const DeviceSchema: z.ZodObject<{
|
|
|
398
399
|
memoryBytes: z.ZodNumber;
|
|
399
400
|
cpus: z.ZodNumber;
|
|
400
401
|
}, z.core.$strip>>;
|
|
402
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
403
|
+
wsl: z.ZodOptional<z.ZodObject<{
|
|
404
|
+
distro: z.ZodString;
|
|
405
|
+
}, z.core.$strip>>;
|
|
406
|
+
wslDistros: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
401
407
|
}, z.core.$strip>>;
|
|
402
408
|
agentVersion: z.ZodOptional<z.ZodString>;
|
|
403
409
|
lastSeen: z.ZodOptional<z.ZodNumber>;
|
|
@@ -509,6 +515,11 @@ export declare const DevicesListSchema: z.ZodObject<{
|
|
|
509
515
|
memoryBytes: z.ZodNumber;
|
|
510
516
|
cpus: z.ZodNumber;
|
|
511
517
|
}, z.core.$strip>>;
|
|
518
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
519
|
+
wsl: z.ZodOptional<z.ZodObject<{
|
|
520
|
+
distro: z.ZodString;
|
|
521
|
+
}, z.core.$strip>>;
|
|
522
|
+
wslDistros: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
512
523
|
}, z.core.$strip>>;
|
|
513
524
|
agentVersion: z.ZodOptional<z.ZodString>;
|
|
514
525
|
lastSeen: z.ZodOptional<z.ZodNumber>;
|
|
@@ -595,6 +606,15 @@ export declare const DevicesListSchema: z.ZodObject<{
|
|
|
595
606
|
}>>;
|
|
596
607
|
}, z.core.$strip>>;
|
|
597
608
|
}, z.core.$strip>;
|
|
609
|
+
export interface Machine {
|
|
610
|
+
readonly key: string;
|
|
611
|
+
readonly label: string;
|
|
612
|
+
readonly environments: readonly Device[];
|
|
613
|
+
}
|
|
614
|
+
export declare const deviceHostname: (device: Device) => string | undefined;
|
|
615
|
+
export declare const deviceEnvironment: (device: Device) => string | undefined;
|
|
616
|
+
export declare const isWslDevice: (device: Device) => boolean;
|
|
617
|
+
export declare const machinesOf: (devices: readonly Device[]) => Machine[];
|
|
598
618
|
export declare const hostRunningSandbox: (devices: readonly Device[], slug: string | undefined) => string | undefined;
|
|
599
619
|
export declare const SyncStatusSchema: z.ZodObject<{
|
|
600
620
|
enrolled: z.ZodBoolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../src/schemas/devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../src/schemas/devices.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/devices.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { HostFactsSchema } from "./hosts.js";
|
|
2
|
+
import { HostFactsSchema, WslEnvironmentSchema } from "./hosts.js";
|
|
3
3
|
import { DEV_VERSION } from "../state/versions.js";
|
|
4
4
|
export const SandboxResourcesSchema = z.object({
|
|
5
5
|
memoryBytes: z.number().optional(),
|
|
@@ -167,7 +167,7 @@ export const agentStalled = (agent, now) => agent.running && agent.lastTickAt !=
|
|
|
167
167
|
export const DeviceReportSchema = z.object({
|
|
168
168
|
hostname: z.string(),
|
|
169
169
|
os: z.string(),
|
|
170
|
-
wsl:
|
|
170
|
+
wsl: WslEnvironmentSchema.optional(),
|
|
171
171
|
pairings: z.array(DevicePairingSchema),
|
|
172
172
|
ports: z.array(DevicePortSchema),
|
|
173
173
|
agent: DeviceAgentSchema,
|
|
@@ -175,12 +175,14 @@ export const DeviceReportSchema = z.object({
|
|
|
175
175
|
});
|
|
176
176
|
export const REPORT_QUIET_AFTER_MS = 60_000;
|
|
177
177
|
export const reportQuiet = (report, receivedAt) => receivedAt - report.capturedAt > REPORT_QUIET_AFTER_MS;
|
|
178
|
-
export const environmentOf = (report) =>
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
export const environmentOf = (facts, report) => {
|
|
179
|
+
const wsl = facts?.wsl ?? report?.wsl;
|
|
180
|
+
if (wsl !== undefined) {
|
|
181
|
+
return `wsl:${wsl.distro}`;
|
|
182
|
+
}
|
|
183
|
+
return facts?.hostname !== undefined || report !== undefined ? "native" : undefined;
|
|
183
184
|
};
|
|
185
|
+
export const differentEnvironment = (left, right) => left !== undefined && right !== undefined && left !== right;
|
|
184
186
|
export const agentBuildSkew = (agent) => {
|
|
185
187
|
const { build: running, installed } = agent;
|
|
186
188
|
if (!agent.running || installed === undefined || installed === DEV_VERSION || running === installed) {
|
|
@@ -214,6 +216,38 @@ export const DeviceSchema = z.object({
|
|
|
214
216
|
gap: DeviceGapSchema.optional(),
|
|
215
217
|
});
|
|
216
218
|
export const DevicesListSchema = z.object({ devices: z.array(DeviceSchema) });
|
|
219
|
+
export const deviceHostname = (device) => device.facts?.hostname ?? device.report?.hostname;
|
|
220
|
+
export const deviceEnvironment = (device) => environmentOf(device.facts, device.report);
|
|
221
|
+
export const isWslDevice = (device) => deviceEnvironment(device)?.startsWith("wsl:") === true;
|
|
222
|
+
const byEnvironment = (a, b) => Number(isWslDevice(a)) - Number(isWslDevice(b)) || a.label.localeCompare(b.label);
|
|
223
|
+
const hostnameKey = (device) => deviceHostname(device)?.toLowerCase();
|
|
224
|
+
const siblingsOf = (device, devices) => {
|
|
225
|
+
const key = hostnameKey(device);
|
|
226
|
+
const shared = key === undefined ? [device] : devices.filter((candidate) => hostnameKey(candidate) === key);
|
|
227
|
+
return shared.length > 1 && shared.some(isWslDevice) ? shared.toSorted(byEnvironment) : [device];
|
|
228
|
+
};
|
|
229
|
+
const machineOf = (device, environments) => {
|
|
230
|
+
if (environments.length === 1) {
|
|
231
|
+
return { key: device.key, label: device.label, environments };
|
|
232
|
+
}
|
|
233
|
+
const hostname = deviceHostname(device) ?? device.key;
|
|
234
|
+
return { key: hostname, label: hostname, environments };
|
|
235
|
+
};
|
|
236
|
+
export const machinesOf = (devices) => {
|
|
237
|
+
const folded = new Set();
|
|
238
|
+
const machines = [];
|
|
239
|
+
for (const device of devices) {
|
|
240
|
+
if (folded.has(device)) {
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
const environments = siblingsOf(device, devices);
|
|
244
|
+
for (const environment of environments) {
|
|
245
|
+
folded.add(environment);
|
|
246
|
+
}
|
|
247
|
+
machines.push(machineOf(device, environments));
|
|
248
|
+
}
|
|
249
|
+
return machines;
|
|
250
|
+
};
|
|
217
251
|
export const hostRunningSandbox = (devices, slug) => slug === undefined || slug === ""
|
|
218
252
|
? undefined
|
|
219
253
|
: devices.find((device) => device.hostId !== undefined && device.online === true && (device.sandboxes ?? []).some((box) => box.slug === slug))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/schemas/devices.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/schemas/devices.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/hosts.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
export declare const WslEnvironmentSchema: z.ZodObject<{
|
|
3
|
+
distro: z.ZodString;
|
|
4
|
+
}, z.core.$strip>;
|
|
5
|
+
export type WslEnvironment = z.infer<typeof WslEnvironmentSchema>;
|
|
2
6
|
export declare const HostFactsSchema: z.ZodObject<{
|
|
3
7
|
os: z.ZodString;
|
|
4
8
|
arch: z.ZodString;
|
|
@@ -9,8 +13,15 @@ export declare const HostFactsSchema: z.ZodObject<{
|
|
|
9
13
|
memoryBytes: z.ZodNumber;
|
|
10
14
|
cpus: z.ZodNumber;
|
|
11
15
|
}, z.core.$strip>>;
|
|
16
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
17
|
+
wsl: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
distro: z.ZodString;
|
|
19
|
+
}, z.core.$strip>>;
|
|
20
|
+
wslDistros: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
21
|
}, z.core.$strip>;
|
|
13
22
|
export type HostFacts = z.infer<typeof HostFactsSchema>;
|
|
23
|
+
export declare const wslPathOf: (windowsPath: string) => string | undefined;
|
|
24
|
+
export declare const windowsPathOf: (distro: string, linuxPath: string) => string;
|
|
14
25
|
export declare const HostSummarySchema: z.ZodObject<{
|
|
15
26
|
id: z.ZodString;
|
|
16
27
|
platform: z.ZodString;
|
|
@@ -27,6 +38,11 @@ export declare const HostSummarySchema: z.ZodObject<{
|
|
|
27
38
|
memoryBytes: z.ZodNumber;
|
|
28
39
|
cpus: z.ZodNumber;
|
|
29
40
|
}, z.core.$strip>>;
|
|
41
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
42
|
+
wsl: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
distro: z.ZodString;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
wslDistros: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
30
46
|
}, z.core.$strip>>;
|
|
31
47
|
}, z.core.$strip>;
|
|
32
48
|
export type HostSummary = z.infer<typeof HostSummarySchema>;
|
|
@@ -47,6 +63,11 @@ export declare const HostsListSchema: z.ZodObject<{
|
|
|
47
63
|
memoryBytes: z.ZodNumber;
|
|
48
64
|
cpus: z.ZodNumber;
|
|
49
65
|
}, z.core.$strip>>;
|
|
66
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
67
|
+
wsl: z.ZodOptional<z.ZodObject<{
|
|
68
|
+
distro: z.ZodString;
|
|
69
|
+
}, z.core.$strip>>;
|
|
70
|
+
wslDistros: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
50
71
|
}, z.core.$strip>>;
|
|
51
72
|
}, z.core.$strip>>;
|
|
52
73
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../../src/schemas/hosts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../../src/schemas/hosts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,oBAAoB;;iBAAmC,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;iBAoB1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,eAAO,MAAM,SAAS,gBAAiB,MAAM,KAAG,MAAM,GAAG,SAGxD,CAAC;AACF,eAAO,MAAM,aAAa,WAAY,MAAM,aAAa,MAAM,KAAG,MAA0E,CAAC;AAC7I,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;iBAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;iBAAkD,CAAC"}
|
package/dist/schemas/hosts.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
export const WslEnvironmentSchema = z.object({ distro: z.string() });
|
|
2
3
|
export const HostFactsSchema = z.object({
|
|
3
4
|
os: z.string(),
|
|
4
5
|
arch: z.string(),
|
|
@@ -6,7 +7,15 @@ export const HostFactsSchema = z.object({
|
|
|
6
7
|
home: z.string(),
|
|
7
8
|
roots: z.array(z.string()),
|
|
8
9
|
engine: z.object({ memoryBytes: z.number(), cpus: z.number() }).optional(),
|
|
10
|
+
hostname: z.string().optional(),
|
|
11
|
+
wsl: WslEnvironmentSchema.optional(),
|
|
12
|
+
wslDistros: z.array(z.string()).optional(),
|
|
9
13
|
});
|
|
14
|
+
export const wslPathOf = (windowsPath) => {
|
|
15
|
+
const drive = /^([A-Za-z]):[\\/](.*)$/.exec(windowsPath);
|
|
16
|
+
return drive === null ? undefined : `/mnt/${drive[1]?.toLowerCase()}/${(drive[2] ?? "").replaceAll("\\", "/")}`.replace(/\/$/, "");
|
|
17
|
+
};
|
|
18
|
+
export const windowsPathOf = (distro, linuxPath) => `\\\\wsl.localhost\\${distro}${linuxPath.replaceAll("/", "\\")}`;
|
|
10
19
|
export const HostSummarySchema = z.object({
|
|
11
20
|
id: z.string(),
|
|
12
21
|
platform: z.string().min(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../../src/schemas/hosts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../../src/schemas/hosts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAKrE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAEpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAG1B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IAG1E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE/B,GAAG,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAEpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAsB,EAAE;IACjE,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvI,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAU,EAAE,CAAC,sBAAsB,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;AAC7I,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IAEtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IAEnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const RemoteRefsRequestSchema: z.ZodObject<{
|
|
3
|
+
url: z.ZodURL;
|
|
4
|
+
token: z.ZodOptional<z.ZodString>;
|
|
5
|
+
keeping: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const RemoteRefSchema: z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
kind: z.ZodEnum<{
|
|
10
|
+
branch: "branch";
|
|
11
|
+
tag: "tag";
|
|
12
|
+
}>;
|
|
13
|
+
sha: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type RemoteRef = z.infer<typeof RemoteRefSchema>;
|
|
16
|
+
export declare const RemoteRefsSchema: z.ZodObject<{
|
|
17
|
+
defaultBranch: z.ZodOptional<z.ZodString>;
|
|
18
|
+
refs: z.ZodArray<z.ZodObject<{
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
kind: z.ZodEnum<{
|
|
21
|
+
branch: "branch";
|
|
22
|
+
tag: "tag";
|
|
23
|
+
}>;
|
|
24
|
+
sha: z.ZodString;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type RemoteRefs = z.infer<typeof RemoteRefsSchema>;
|
|
28
|
+
//# sourceMappingURL=remote-refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-refs.d.ts","sourceRoot":"","sources":["../../src/schemas/remote-refs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB;;;;iBAclC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;iBAO1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAM3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const RemoteRefsRequestSchema = z.object({
|
|
3
|
+
url: z.url().describe("The repository to ask. http(s) only: an ssh remote would stop on a host-key prompt nobody can answer."),
|
|
4
|
+
token: z
|
|
5
|
+
.string()
|
|
6
|
+
.min(1)
|
|
7
|
+
.optional()
|
|
8
|
+
.describe("A credential for a private one. Sent as a body rather than in the address, so it never lands in a log. A form editing a live connection has never been shown its token: it sends the VAULTED marker here and names the connection in `keeping`, so a private repository still answers without anyone retyping a key."),
|
|
9
|
+
keeping: z
|
|
10
|
+
.string()
|
|
11
|
+
.min(1)
|
|
12
|
+
.optional()
|
|
13
|
+
.describe("Which connection a VAULTED token belongs to. Ignored when a real token is sent."),
|
|
14
|
+
});
|
|
15
|
+
export const RemoteRefSchema = z.object({
|
|
16
|
+
name: z.string().describe("The branch or tag as a person names it: `main`, `v1.4.0`."),
|
|
17
|
+
kind: z.enum(["branch", "tag"]),
|
|
18
|
+
sha: z
|
|
19
|
+
.string()
|
|
20
|
+
.regex(/^[0-9a-f]{40}$/)
|
|
21
|
+
.describe("The commit it points at. An annotated tag is peeled here, so this is always a commit, never a tag object."),
|
|
22
|
+
});
|
|
23
|
+
export const RemoteRefsSchema = z.object({
|
|
24
|
+
defaultBranch: z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("The branch the remote advertises as HEAD, the one to offer first. Absent when the remote advertises no symref."),
|
|
28
|
+
refs: z.array(RemoteRefSchema).describe("Every branch the remote advertises, then every tag. Which to offer first is the reader's question, not this one's."),
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=remote-refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-refs.js","sourceRoot":"","sources":["../../src/schemas/remote-refs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,uGAAuG,CAAC;IAC9H,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACL,sTAAsT,CACzT;IACL,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;CACnG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,CAAC;SACvB,QAAQ,CAAC,2GAA2G,CAAC;CAC7H,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,aAAa,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gHAAgH,CAAC;IAC/H,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,oHAAoH,CAAC;CAChK,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/sandbox-contract",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.273.0",
|
|
4
4
|
"description": "oRPC wire contract for the intentic sandbox daemon, shared by the daemon and its browser client",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -196,9 +196,10 @@
|
|
|
196
196
|
}
|
|
197
197
|
},
|
|
198
198
|
"dependencies": {
|
|
199
|
-
"@intentic/
|
|
200
|
-
"@intentic/
|
|
201
|
-
"@intentic/
|
|
199
|
+
"@intentic/base": "1.273.0",
|
|
200
|
+
"@intentic/constants": "1.273.0",
|
|
201
|
+
"@intentic/extension-manifest": "1.273.0",
|
|
202
|
+
"@intentic/registry": "1.273.0",
|
|
202
203
|
"@orpc/contract": "1.14.13",
|
|
203
204
|
"tslib": "2.8.1",
|
|
204
205
|
"zod": "4.5.4"
|
package/src/chores/chores.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Advisory, ChoreSignals, OutdatedPackage, ProbeId, ProbeResult } from "../schemas/maintenance.js";
|
|
2
|
+
import { plural } from "@intentic/base/format";
|
|
2
3
|
import { bucketOf, digestOf } from "./digest.js";
|
|
3
4
|
import { CHORE_INVARIANTS, composeAsk, REPORT_INVARIANTS, TRIAGE_NOTE } from "./prompt.js";
|
|
4
5
|
import { componentStem, frameworksOf, idiomRule, normalizePath, UI_FRAMEWORKS, usesTailwind } from "./stack.js";
|
|
@@ -96,8 +97,6 @@ export const repoLabel = (repo: string): string => (repo === `root` || repo ===
|
|
|
96
97
|
// workspace root reposi…").
|
|
97
98
|
export const repoName = (repo: string): string => (repo === `root` || repo === `` ? `workspace root` : repo);
|
|
98
99
|
|
|
99
|
-
const plural = (count: number, one: string, many = `${one}s`): string => `${count} ${count === 1 ? one : many}`;
|
|
100
|
-
|
|
101
100
|
// One outdated dependency, as the panel lists it; the semver step leads, since it decides whether the row is a
|
|
102
101
|
// morning's work or a project.
|
|
103
102
|
const outdatedLine = (entry: OutdatedPackage): string => `${entry.kind} · ${entry.name} ${entry.current} → ${entry.latest}`;
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
CapabilityStatusSchema,
|
|
15
15
|
} from "../schemas/capabilities.js";
|
|
16
16
|
import { MarketplaceRequestSchema, MarketplaceSchema } from "../schemas/marketplace.js";
|
|
17
|
+
import { RemoteRefsRequestSchema, RemoteRefsSchema } from "../schemas/remote-refs.js";
|
|
17
18
|
import { OkSchema } from "../schemas/shared.js";
|
|
18
19
|
|
|
19
20
|
// The sandbox's unified capability manifest, spanning `list`/`add`/`remove`/`status`/`marketplace`. A VAULTED marker
|
|
@@ -108,6 +109,17 @@ export const capabilitiesContract = {
|
|
|
108
109
|
})
|
|
109
110
|
.input(MarketplaceRequestSchema)
|
|
110
111
|
.output(MarketplaceSchema),
|
|
112
|
+
// What the install form pins to, so nobody has to read a commit sha off a web page and paste it.
|
|
113
|
+
refs: oc
|
|
114
|
+
.route({
|
|
115
|
+
method: "POST",
|
|
116
|
+
path: "/capabilities/refs",
|
|
117
|
+
summary: "The versions a repository offers",
|
|
118
|
+
description:
|
|
119
|
+
"Asks a git remote what it advertises and hands back every branch and tag with the commit it points at, plus which branch is its default. Nothing is cloned and nothing is written, so this is cheap enough to answer a form as someone types a repository into it.",
|
|
120
|
+
})
|
|
121
|
+
.input(RemoteRefsRequestSchema)
|
|
122
|
+
.output(RemoteRefsSchema),
|
|
111
123
|
dismiss: oc
|
|
112
124
|
.route({
|
|
113
125
|
method: "DELETE",
|
package/src/index.ts
CHANGED
|
@@ -169,6 +169,7 @@ export * from "./schemas/providers/provider-oauth.js";
|
|
|
169
169
|
export * from "./schemas/providers/provider-subscriptions.js";
|
|
170
170
|
export * from "./schemas/public.js";
|
|
171
171
|
export * from "./schemas/push.js";
|
|
172
|
+
export * from "./schemas/remote-refs.js";
|
|
172
173
|
export * from "./schemas/secrets.js";
|
|
173
174
|
export * from "./schemas/sessions.js";
|
|
174
175
|
export * from "./schemas/settings.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CommandRun } from "../schemas/ci.js";
|
|
2
|
+
import { sleep } from "@intentic/base/async";
|
|
2
3
|
|
|
3
4
|
// The heading over a settled run, shown both on the workspace card and in a phone notification, so the two must agree
|
|
4
5
|
// on wording. `subject` is what ran, in the clicked button's own words ("Checks", "Push", "Publish").
|
|
@@ -13,17 +14,6 @@ export interface FollowRunOptions<R extends CommandRun> {
|
|
|
13
14
|
readonly onError?: ((cause: unknown) => void) | undefined;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
const sleep = (ms: number, signal: AbortSignal | undefined): Promise<void> =>
|
|
17
|
-
new Promise((resolve) => {
|
|
18
|
-
const timer = setTimeout(done, ms);
|
|
19
|
-
function done(): void {
|
|
20
|
-
clearTimeout(timer);
|
|
21
|
-
signal?.removeEventListener("abort", done);
|
|
22
|
-
resolve();
|
|
23
|
-
}
|
|
24
|
-
signal?.addEventListener("abort", done, { once: true });
|
|
25
|
-
});
|
|
26
|
-
|
|
27
17
|
// Follows a run to its verdict: reads state until it is no longer running. The one shared loop, so a dropped poll isn't
|
|
28
18
|
// handled differently by every caller; reads once immediately, so an already-settled run returns without a wait.
|
|
29
19
|
export const followCommandRun = async <R extends CommandRun>(read: () => Promise<R>, options: FollowRunOptions<R>): Promise<R | undefined> => {
|
|
@@ -41,7 +31,7 @@ export const followCommandRun = async <R extends CommandRun>(read: () => Promise
|
|
|
41
31
|
} catch (cause) {
|
|
42
32
|
onError?.(cause);
|
|
43
33
|
}
|
|
44
|
-
await sleep(intervalMs, signal);
|
|
34
|
+
await sleep(intervalMs, { signal });
|
|
45
35
|
}
|
|
46
36
|
};
|
|
47
37
|
|
package/src/schemas/devices.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// What one of the user's own machines is running.
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { HostFactsSchema } from "./hosts.js";
|
|
3
|
+
import { type HostFacts, HostFactsSchema, WslEnvironmentSchema } from "./hosts.js";
|
|
4
4
|
import { DEV_VERSION } from "../state/versions.js";
|
|
5
5
|
// Desktop-sync report shape shared by the agent, daemon and browser, produced only by `intentic-machine status --json`.
|
|
6
6
|
// The agent never reports `sandboxes`; the docker half is filled in by whoever reads the report, scoped to the reader's
|
|
@@ -303,10 +303,8 @@ export const DeviceReportSchema = z.object({
|
|
|
303
303
|
// own: a WSL distro inherits the Windows machine's name, so `wsl` below is what tells those apart.
|
|
304
304
|
hostname: z.string(),
|
|
305
305
|
os: z.string(),
|
|
306
|
-
// Present only inside a WSL distro
|
|
307
|
-
|
|
308
|
-
// separate filesystems running separate agents, so this is the only thing that keeps them apart.
|
|
309
|
-
wsl: z.object({ distro: z.string() }).optional(),
|
|
306
|
+
// Present only inside a WSL distro; the same fact rides the connect-time facts, which no scope can withhold.
|
|
307
|
+
wsl: WslEnvironmentSchema.optional(),
|
|
310
308
|
pairings: z.array(DevicePairingSchema),
|
|
311
309
|
ports: z.array(DevicePortSchema),
|
|
312
310
|
// The one agent this device runs, on disk and in flight, in one block.
|
|
@@ -321,21 +319,23 @@ export type DeviceReport = z.infer<typeof DeviceReportSchema>;
|
|
|
321
319
|
export const REPORT_QUIET_AFTER_MS = 60_000;
|
|
322
320
|
export const reportQuiet = (report: DeviceReport, receivedAt: number): boolean => receivedAt - report.capturedAt > REPORT_QUIET_AFTER_MS;
|
|
323
321
|
|
|
324
|
-
// The environment a
|
|
325
|
-
//
|
|
326
|
-
//
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
const a = environmentOf(left);
|
|
335
|
-
const b = environmentOf(right);
|
|
336
|
-
return a !== undefined && b !== undefined && a !== b;
|
|
322
|
+
// The environment a device's evidence describes, as opposed to the machine hosting it: `wsl:<distro>` inside a
|
|
323
|
+
// distro, `native` for an install on the metal. Connect-time facts are read first, since no scope can withhold them;
|
|
324
|
+
// facts from an agent too old to carry `hostname` say nothing, and a report without `wsl` is native, as it always
|
|
325
|
+
// was. Undefined is an absence of evidence, never read as agreement.
|
|
326
|
+
export const environmentOf = (facts: Pick<HostFacts, "hostname" | "wsl"> | undefined, report: DeviceReport | undefined): string | undefined => {
|
|
327
|
+
const wsl = facts?.wsl ?? report?.wsl;
|
|
328
|
+
if (wsl !== undefined) {
|
|
329
|
+
return `wsl:${wsl.distro}`;
|
|
330
|
+
}
|
|
331
|
+
return facts?.hostname !== undefined || report !== undefined ? "native" : undefined;
|
|
337
332
|
};
|
|
338
333
|
|
|
334
|
+
// Whether two devices positively disagree about which environment they are. False whenever either side has not said,
|
|
335
|
+
// so this only ever blocks a fold it holds evidence against.
|
|
336
|
+
export const differentEnvironment = (left: string | undefined, right: string | undefined): boolean =>
|
|
337
|
+
left !== undefined && right !== undefined && left !== right;
|
|
338
|
+
|
|
339
339
|
// Compares running build against installed; silent when the loop is stopped, nothing installed, or installed is a dev
|
|
340
340
|
// build. An unstamped `running` still counts as skew.
|
|
341
341
|
export const agentBuildSkew = (agent: DeviceAgent): { readonly running: string | undefined; readonly installed: string } | undefined => {
|
|
@@ -402,6 +402,57 @@ export const DeviceSchema = z.object({
|
|
|
402
402
|
export type Device = z.infer<typeof DeviceSchema>;
|
|
403
403
|
export const DevicesListSchema = z.object({ devices: z.array(DeviceSchema) });
|
|
404
404
|
|
|
405
|
+
// The physical computer a device is an environment of. Windows and every WSL distro on it are one machine with one
|
|
406
|
+
// Docker engine, one screen and one set of disks, each environment holding its own agent and its own door.
|
|
407
|
+
export interface Machine {
|
|
408
|
+
/** A lone device's own key, so its address does not change; a folded machine's is the hostname its doors share. */
|
|
409
|
+
readonly key: string;
|
|
410
|
+
readonly label: string;
|
|
411
|
+
/** Windows first, then distros by label: the side that owns the screen leads. */
|
|
412
|
+
readonly environments: readonly Device[];
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
export const deviceHostname = (device: Device): string | undefined => device.facts?.hostname ?? device.report?.hostname;
|
|
416
|
+
export const deviceEnvironment = (device: Device): string | undefined => environmentOf(device.facts, device.report);
|
|
417
|
+
export const isWslDevice = (device: Device): boolean => deviceEnvironment(device)?.startsWith("wsl:") === true;
|
|
418
|
+
|
|
419
|
+
// Two native installs that merely share a name stay two machines; only a distro joins the machine whose hostname it
|
|
420
|
+
// carries, which is the one fact that makes the name safe to join on.
|
|
421
|
+
const byEnvironment = (a: Device, b: Device): number => Number(isWslDevice(a)) - Number(isWslDevice(b)) || a.label.localeCompare(b.label);
|
|
422
|
+
|
|
423
|
+
const hostnameKey = (device: Device): string | undefined => deviceHostname(device)?.toLowerCase();
|
|
424
|
+
|
|
425
|
+
const siblingsOf = (device: Device, devices: readonly Device[]): Device[] => {
|
|
426
|
+
const key = hostnameKey(device);
|
|
427
|
+
const shared = key === undefined ? [device] : devices.filter((candidate) => hostnameKey(candidate) === key);
|
|
428
|
+
return shared.length > 1 && shared.some(isWslDevice) ? shared.toSorted(byEnvironment) : [device];
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
const machineOf = (device: Device, environments: readonly Device[]): Machine => {
|
|
432
|
+
if (environments.length === 1) {
|
|
433
|
+
return { key: device.key, label: device.label, environments };
|
|
434
|
+
}
|
|
435
|
+
// Folding needs a hostname, so it is present here; the fallback only keeps the type honest.
|
|
436
|
+
const hostname = deviceHostname(device) ?? device.key;
|
|
437
|
+
return { key: hostname, label: hostname, environments };
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
export const machinesOf = (devices: readonly Device[]): Machine[] => {
|
|
441
|
+
const folded = new Set<Device>();
|
|
442
|
+
const machines: Machine[] = [];
|
|
443
|
+
for (const device of devices) {
|
|
444
|
+
if (folded.has(device)) {
|
|
445
|
+
continue;
|
|
446
|
+
}
|
|
447
|
+
const environments = siblingsOf(device, devices);
|
|
448
|
+
for (const environment of environments) {
|
|
449
|
+
folded.add(environment);
|
|
450
|
+
}
|
|
451
|
+
machines.push(machineOf(device, environments));
|
|
452
|
+
}
|
|
453
|
+
return machines;
|
|
454
|
+
};
|
|
455
|
+
|
|
405
456
|
// The connected, online device whose docker reports a given sandbox slug: the machine that sandbox RUNS ON, as opposed
|
|
406
457
|
// to any machine merely paired with it. Answers the question every "run it there instead of asking the owner to type
|
|
407
458
|
// it" path starts from, and is `undefined` for a sync-only agent, which reports no containers at all.
|