@catalyst-cloud/cli 0.16.4 → 0.16.7
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/CHANGELOG.md +8 -0
- package/dist/config.js +4 -2
- package/dist/onboard-headless.js +5 -4
- package/dist/onboard-next.js +1 -0
- package/dist/onboard-runner-custody.js +680 -0
- package/dist/onboard-runner.js +169 -41
- package/dist/onboard-ui.js +2 -0
- package/package.json +4 -4
- package/skills/catalyst-github/SKILL.md +1 -1
- package/skills/catalyst-linear/SKILL.md +1 -1
- package/skills/catalyst-onboard/SKILL.md +2 -1
- package/skills/catalyst-onboard/references/preserving-runner-replacement.md +26 -0
- package/skills/run-this-project/SKILL.md +1 -1
- package/skills/unstick/SKILL.md +1 -1
- package/skills/what-needs-me/SKILL.md +1 -1
- package/skills/what-this-repo-needs/SKILL.md +1 -1
- package/skills/whats-happening/SKILL.md +1 -1
- package/vendor/self-host/compose.darwin-thoughts.yaml +18 -0
- package/vendor/self-host/compose.yaml +4 -3
- package/vendor/self-host/darwin-thoughts-custody/manifest.json +18 -0
- package/vendor/self-host/darwin-thoughts-custody/producer.mjs +1202 -0
- package/vendor/self-host/darwin-thoughts-custody/service.plist.in +21 -0
- package/vendor/self-host/darwin-thoughts-custody/verifier.d.mts +157 -0
- package/vendor/self-host/darwin-thoughts-custody/verifier.mjs +755 -0
- package/vendor/self-host/darwin-thoughts-custody/watchdog-deadline.mjs +39 -0
- package/vendor/self-host/darwin-thoughts-custody/watchdog.mjs +85 -0
- package/vendor/self-host/provenance.json +10 -2
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>Label</key><string>dev.catalystcloud.runner.darwin-thoughts-custody</string>
|
|
6
|
+
<key>ProgramArguments</key>
|
|
7
|
+
<array>
|
|
8
|
+
<string>/usr/bin/env</string><string>-i</string><string>PATH=/usr/bin:/bin:/usr/sbin:/sbin</string>
|
|
9
|
+
<string>@@NODE_EXECUTABLE@@</string><string>@@WATCHDOG_FILE@@</string>
|
|
10
|
+
<string>@@PRODUCER_FILE@@</string><string>@@CONFIG_FILE@@</string>
|
|
11
|
+
</array>
|
|
12
|
+
<key>WorkingDirectory</key><string>/</string>
|
|
13
|
+
<key>RunAtLoad</key><true/>
|
|
14
|
+
<key>StartInterval</key><integer>2</integer>
|
|
15
|
+
<key>ProcessType</key><string>Background</string>
|
|
16
|
+
<key>LimitLoadToSessionType</key><string>Background</string>
|
|
17
|
+
<key>AbandonProcessGroup</key><false/>
|
|
18
|
+
<key>ExitTimeOut</key><integer>3</integer>
|
|
19
|
+
<key>Umask</key><integer>63</integer>
|
|
20
|
+
</dict>
|
|
21
|
+
</plist>
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
// Generated from canonical protocol and consumer source. Do not edit.
|
|
2
|
+
|
|
3
|
+
export interface DarwinThoughtsAuthority {
|
|
4
|
+
readonly version: 1;
|
|
5
|
+
readonly installationId: string;
|
|
6
|
+
/** Canonical base64 DER SPKI for an Ed25519 public key. Never selected by a response. */
|
|
7
|
+
readonly publicKey: string;
|
|
8
|
+
readonly nativeUid: number;
|
|
9
|
+
readonly nativeGid: number;
|
|
10
|
+
readonly nativeHome: string;
|
|
11
|
+
readonly endpoint: string;
|
|
12
|
+
readonly daemonId: string;
|
|
13
|
+
readonly thoughtsRoot: string;
|
|
14
|
+
readonly locksRoot: string;
|
|
15
|
+
readonly requestsRoot: string;
|
|
16
|
+
readonly responsesRoot: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface DarwinThoughtsSessionCustody {
|
|
20
|
+
readonly kind: "darwin-native-v1";
|
|
21
|
+
readonly authority: DarwinThoughtsAuthority;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface DarwinThoughtsRequest {
|
|
25
|
+
readonly version: 1;
|
|
26
|
+
readonly installationId: string;
|
|
27
|
+
readonly nonce: string;
|
|
28
|
+
readonly tenant: string;
|
|
29
|
+
readonly repository: string;
|
|
30
|
+
readonly issuedAtMs: number;
|
|
31
|
+
readonly expiresAtMs: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface DarwinThoughtsStatIdentity {
|
|
35
|
+
/** Logical native source, even when an Engine helper observes an alias. */
|
|
36
|
+
readonly path: string;
|
|
37
|
+
/** Canonical unsigned 64-bit decimal strings avoid JavaScript inode precision loss. */
|
|
38
|
+
readonly device: string;
|
|
39
|
+
readonly inode: string;
|
|
40
|
+
readonly uid: number;
|
|
41
|
+
readonly gid: number;
|
|
42
|
+
/** Permission and special bits, excluding the file-type bits. */
|
|
43
|
+
readonly mode: number;
|
|
44
|
+
readonly isDirectory: true;
|
|
45
|
+
readonly isSymbolicLink: false;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
interface DarwinThoughtsResponseBinding {
|
|
49
|
+
readonly version: 1;
|
|
50
|
+
readonly authority: DarwinThoughtsAuthority;
|
|
51
|
+
readonly request: DarwinThoughtsRequest;
|
|
52
|
+
readonly observedAtMs: number;
|
|
53
|
+
readonly expiresAtMs: number;
|
|
54
|
+
readonly nativeBootId: string;
|
|
55
|
+
readonly producerInstance: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface DarwinThoughtsAcceptedResponse extends DarwinThoughtsResponseBinding {
|
|
59
|
+
readonly kind: "accepted";
|
|
60
|
+
readonly nativeCheckout: DarwinThoughtsStatIdentity;
|
|
61
|
+
readonly nativeLock: DarwinThoughtsStatIdentity;
|
|
62
|
+
readonly engineCheckout: DarwinThoughtsStatIdentity;
|
|
63
|
+
readonly engineLock: DarwinThoughtsStatIdentity;
|
|
64
|
+
readonly nativeGit?: DarwinThoughtsStatIdentity;
|
|
65
|
+
readonly engineGit?: DarwinThoughtsStatIdentity;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface DarwinThoughtsRefusedResponse extends DarwinThoughtsResponseBinding {
|
|
69
|
+
readonly kind: "refused";
|
|
70
|
+
/** Bounded machine code only. No filesystem contents, credentials or descriptive output. */
|
|
71
|
+
readonly reason: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export type DarwinThoughtsResponse = DarwinThoughtsAcceptedResponse | DarwinThoughtsRefusedResponse;
|
|
75
|
+
|
|
76
|
+
export interface DarwinThoughtsSignedEnvelope {
|
|
77
|
+
readonly version: 1;
|
|
78
|
+
/** The exact UTF-8 payload bytes are signed; parsing must not replace those bytes. */
|
|
79
|
+
readonly payload: string;
|
|
80
|
+
readonly signature: string;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface DarwinThoughtsTargets {
|
|
84
|
+
readonly checkoutSource: string;
|
|
85
|
+
readonly lockSource: string;
|
|
86
|
+
readonly requestSource: string;
|
|
87
|
+
readonly responseSource: string;
|
|
88
|
+
readonly publicCheckoutTarget: string;
|
|
89
|
+
readonly privateCheckoutTarget: string;
|
|
90
|
+
readonly privateLockTarget: string;
|
|
91
|
+
readonly privateRequestTarget: string;
|
|
92
|
+
readonly privateResponseTarget: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
type AcceptedResponse = Extract<DarwinThoughtsResponse, { kind: "accepted" }>;
|
|
96
|
+
|
|
97
|
+
export interface DarwinThoughtsCustodyExpectation {
|
|
98
|
+
authority: DarwinThoughtsAuthority;
|
|
99
|
+
request: DarwinThoughtsRequest;
|
|
100
|
+
nowMs: number;
|
|
101
|
+
engineCheckout: DarwinThoughtsStatIdentity;
|
|
102
|
+
engineLock: DarwinThoughtsStatIdentity;
|
|
103
|
+
engineGit?: DarwinThoughtsStatIdentity;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface FreshDarwinThoughtsCustodyOptions {
|
|
107
|
+
authority: DarwinThoughtsAuthority;
|
|
108
|
+
tenant: string;
|
|
109
|
+
repository: string;
|
|
110
|
+
requestDir: string;
|
|
111
|
+
responseDir: string;
|
|
112
|
+
checkoutPath: string;
|
|
113
|
+
lockPath: string;
|
|
114
|
+
gitPath?: string;
|
|
115
|
+
/** Absolute wall-clock deadline, bounded to one protocol exchange. */
|
|
116
|
+
deadlineMs: number;
|
|
117
|
+
now?: () => number;
|
|
118
|
+
sleep?: (ms: number) => Promise<void>;
|
|
119
|
+
/** Synchronous trusted receiving only, after signature, actual descriptors and deadline. */
|
|
120
|
+
onProof?: (receipt: {
|
|
121
|
+
bytes: Buffer;
|
|
122
|
+
proof: AcceptedResponse;
|
|
123
|
+
expectation: DarwinThoughtsCustodyExpectation;
|
|
124
|
+
}) => void;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export declare function canonicalDarwinThoughtsJson(value: unknown): string;
|
|
128
|
+
|
|
129
|
+
export declare function deriveDarwinThoughtsTargets(
|
|
130
|
+
authority: DarwinThoughtsAuthority,
|
|
131
|
+
tenant: string,
|
|
132
|
+
repository: string,
|
|
133
|
+
): DarwinThoughtsTargets;
|
|
134
|
+
|
|
135
|
+
export declare function parseDarwinThoughtsAuthority(value: unknown): DarwinThoughtsAuthority;
|
|
136
|
+
|
|
137
|
+
export declare function parseDarwinThoughtsRequest(value: unknown): DarwinThoughtsRequest;
|
|
138
|
+
|
|
139
|
+
export declare function parseDarwinThoughtsResponse(
|
|
140
|
+
value: unknown,
|
|
141
|
+
context: { authority: DarwinThoughtsAuthority; request: DarwinThoughtsRequest; nowMs: number },
|
|
142
|
+
): DarwinThoughtsResponse;
|
|
143
|
+
|
|
144
|
+
export declare function parseDarwinThoughtsSignedEnvelope(value: unknown): DarwinThoughtsSignedEnvelope;
|
|
145
|
+
|
|
146
|
+
export declare function requestFreshDarwinThoughtsBootstrap(
|
|
147
|
+
options: FreshDarwinThoughtsCustodyOptions,
|
|
148
|
+
): Promise<AcceptedResponse>;
|
|
149
|
+
|
|
150
|
+
export declare function requestFreshDarwinThoughtsCustody(
|
|
151
|
+
options: FreshDarwinThoughtsCustodyOptions,
|
|
152
|
+
): Promise<AcceptedResponse>;
|
|
153
|
+
|
|
154
|
+
export declare function verifyDarwinThoughtsCustodyResponse(
|
|
155
|
+
bytes: Uint8Array,
|
|
156
|
+
expected: DarwinThoughtsCustodyExpectation,
|
|
157
|
+
): AcceptedResponse;
|