@intentic/sandbox-contract 1.217.0 → 1.218.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/publish-drafts.js +1 -1
- package/dist/publish-drafts.js.map +1 -1
- package/dist/schemas.d.ts +6 -1
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +2 -1
- package/dist/schemas.js.map +1 -1
- package/dist/workspace-state.d.ts +64 -54
- package/dist/workspace-state.d.ts.map +1 -1
- package/dist/workspace-state.js +93 -64
- package/dist/workspace-state.js.map +1 -1
- package/package.json +4 -4
- package/src/contracts/extensions.contract.ts +1 -1
- package/src/contracts/settings.contract.ts +1 -1
- package/src/events.ts +2 -2
- package/src/publish-drafts.ts +1 -1
- package/src/schemas.ts +45 -39
- package/src/workspace-state.test.ts +226 -79
- package/src/workspace-state.ts +240 -68
|
@@ -5,263 +5,265 @@ export interface WorkspaceStateFile extends StateFile {
|
|
|
5
5
|
readonly why?: string;
|
|
6
6
|
readonly versioned?: true;
|
|
7
7
|
readonly authored?: true;
|
|
8
|
+
readonly backup?: false;
|
|
8
9
|
readonly outsideWriter?: string;
|
|
9
10
|
}
|
|
10
11
|
declare const STATE_FILES: readonly [{
|
|
11
|
-
readonly path: ".intentic/capabilities.json";
|
|
12
|
+
readonly path: ".intentic/config/capabilities.json";
|
|
12
13
|
readonly invalidates: readonly ["capabilities", "environment", "panels", "manifests"];
|
|
13
14
|
readonly portability: "carry";
|
|
14
15
|
readonly versioned: true;
|
|
15
16
|
}, {
|
|
16
|
-
readonly path: ".intentic/capability-dismissals.json";
|
|
17
|
+
readonly path: ".intentic/config/capability-dismissals.json";
|
|
17
18
|
readonly invalidates: readonly ["capabilities"];
|
|
18
19
|
readonly portability: "carry";
|
|
19
20
|
readonly versioned: true;
|
|
20
21
|
}, {
|
|
21
|
-
readonly path: ".intentic/secret-uses.json";
|
|
22
|
+
readonly path: ".intentic/records/secret-uses.json";
|
|
22
23
|
readonly invalidates: readonly ["secrets"];
|
|
23
24
|
readonly portability: "carry";
|
|
24
25
|
}, {
|
|
25
|
-
readonly path: ".intentic/personas.json";
|
|
26
|
+
readonly path: ".intentic/config/personas.json";
|
|
26
27
|
readonly invalidates: readonly ["personas", "capabilities", "manifests"];
|
|
27
28
|
readonly portability: "carry";
|
|
28
29
|
readonly versioned: true;
|
|
29
30
|
}, {
|
|
30
|
-
readonly path: ".intentic/environment.custom.Dockerfile";
|
|
31
|
+
readonly path: ".intentic/config/environment.custom.Dockerfile";
|
|
31
32
|
readonly invalidates: readonly ["environment"];
|
|
32
33
|
readonly portability: "carry";
|
|
33
34
|
readonly versioned: true;
|
|
34
35
|
}, {
|
|
35
|
-
readonly path: ".intentic/environment.Dockerfile";
|
|
36
|
+
readonly path: ".intentic/config/environment.Dockerfile";
|
|
36
37
|
readonly invalidates: readonly ["environment"];
|
|
37
38
|
readonly portability: "carry";
|
|
38
39
|
readonly versioned: true;
|
|
39
40
|
}, {
|
|
40
|
-
readonly path: ".intentic/environment.d/";
|
|
41
|
+
readonly path: ".intentic/config/environment.d/";
|
|
41
42
|
readonly invalidates: readonly ["environment"];
|
|
42
43
|
readonly portability: "carry";
|
|
43
44
|
readonly versioned: true;
|
|
44
45
|
}, {
|
|
45
|
-
readonly path: ".intentic/environment.approved.Dockerfile";
|
|
46
|
+
readonly path: ".intentic/local/environment.approved.Dockerfile";
|
|
46
47
|
readonly invalidates: readonly ["environment"];
|
|
47
48
|
readonly portability: "derived";
|
|
48
49
|
readonly note: "The target composes its own overlay on first boot; rebuild it there to install the tools it names.";
|
|
49
50
|
}, {
|
|
50
|
-
readonly path: ".intentic/settings.json";
|
|
51
|
+
readonly path: ".intentic/config/settings.json";
|
|
51
52
|
readonly invalidates: readonly ["settings", "manifests"];
|
|
52
53
|
readonly portability: "carry";
|
|
53
54
|
readonly versioned: true;
|
|
54
55
|
}, {
|
|
55
|
-
readonly path: ".intentic/rule-firings.json";
|
|
56
|
+
readonly path: ".intentic/local/rule-firings.json";
|
|
56
57
|
readonly invalidates: readonly ["rule-firings"];
|
|
57
58
|
readonly portability: "derived";
|
|
58
59
|
readonly note: "Stamps of when each rule last did something; the new sandbox starts its own record.";
|
|
59
60
|
}, {
|
|
60
|
-
readonly path: ".intentic/drafts/";
|
|
61
|
+
readonly path: ".intentic/config/drafts/";
|
|
61
62
|
readonly invalidates: readonly ["drafts"];
|
|
62
63
|
readonly portability: "carry";
|
|
63
64
|
readonly versioned: true;
|
|
64
65
|
readonly authored: true;
|
|
65
66
|
}, {
|
|
66
|
-
readonly path: ".intentic/automations.json";
|
|
67
|
+
readonly path: ".intentic/config/automations.json";
|
|
67
68
|
readonly invalidates: readonly [];
|
|
68
69
|
readonly why: "Declared by the intentic.automations extension's contributes.files — `automations` is its query key, not core's.";
|
|
69
70
|
readonly portability: "carry";
|
|
70
71
|
readonly versioned: true;
|
|
71
72
|
}, {
|
|
72
|
-
readonly path: ".intentic/automation-runs.json";
|
|
73
|
+
readonly path: ".intentic/records/automation-runs.json";
|
|
73
74
|
readonly invalidates: readonly [];
|
|
74
75
|
readonly why: "Declared by the intentic.automations extension's contributes.files — `automations` is its query key, not core's.";
|
|
75
76
|
readonly portability: "carry";
|
|
76
77
|
}, {
|
|
77
|
-
readonly path: ".intentic/approvals/";
|
|
78
|
+
readonly path: ".intentic/records/approvals/";
|
|
78
79
|
readonly invalidates: readonly [];
|
|
79
80
|
readonly why: "Declared by the intentic.automations extension's contributes.files — `automation-approvals` is its query key, not core's.";
|
|
80
81
|
readonly portability: "carry";
|
|
81
82
|
}, {
|
|
82
|
-
readonly path: ".intentic/chores/";
|
|
83
|
+
readonly path: ".intentic/records/chores/";
|
|
83
84
|
readonly invalidates: readonly [];
|
|
84
85
|
readonly why: "Declared by the intentic.maintenance extension's contributes.files — `maintenance-report`/`maintenance-runs` are its query keys, not core's.";
|
|
85
86
|
readonly portability: "carry";
|
|
86
87
|
}, {
|
|
87
|
-
readonly path: ".intentic/docs/";
|
|
88
|
+
readonly path: ".intentic/config/docs/";
|
|
88
89
|
readonly invalidates: readonly [];
|
|
89
90
|
readonly why: "Declared by the intentic.documentation extension's contributes.files — `documentation`/`documentation-runs` are its query keys, not core's.";
|
|
90
91
|
readonly portability: "carry";
|
|
91
92
|
readonly authored: true;
|
|
92
93
|
readonly outsideWriter: "the intentic.documentation extension's staging writes (its paths.ts)";
|
|
93
94
|
}, {
|
|
94
|
-
readonly path: ".intentic/workflows.json";
|
|
95
|
+
readonly path: ".intentic/config/workflows.json";
|
|
95
96
|
readonly invalidates: readonly ["workflows"];
|
|
96
97
|
readonly portability: "carry";
|
|
97
98
|
readonly versioned: true;
|
|
98
99
|
}, {
|
|
99
|
-
readonly path: ".intentic/workflow-runs.json";
|
|
100
|
+
readonly path: ".intentic/records/workflow-runs.json";
|
|
100
101
|
readonly invalidates: readonly ["workflows", "workflow-runs"];
|
|
101
102
|
readonly portability: "carry";
|
|
102
103
|
}, {
|
|
103
|
-
readonly path: ".intentic/loop-designs.json";
|
|
104
|
+
readonly path: ".intentic/config/loop-designs.json";
|
|
104
105
|
readonly invalidates: readonly ["loop-designs"];
|
|
105
106
|
readonly portability: "carry";
|
|
106
107
|
readonly versioned: true;
|
|
107
108
|
}, {
|
|
108
|
-
readonly path: ".intentic/loops.json";
|
|
109
|
+
readonly path: ".intentic/records/loops.json";
|
|
109
110
|
readonly invalidates: readonly [];
|
|
110
111
|
readonly why: "Ralph loops and their iteration history. Nothing observes it: where a RUNNING loop stands rides on the fleet roster (AgentSummary.loop), which the /events stream already pushes about once a second, and a second source invalidating on this file could only ever disagree with the card beside it. The iteration list of an ENDED loop is an on-demand read — nothing renders it until someone opens it (web's useLoops, which holds no query for exactly this reason).";
|
|
111
112
|
readonly portability: "carry";
|
|
112
113
|
}, {
|
|
113
|
-
readonly path: ".intentic/webchat-installs.json";
|
|
114
|
+
readonly path: ".intentic/records/webchat-installs.json";
|
|
114
115
|
readonly invalidates: readonly [];
|
|
115
|
-
readonly why: "Which origins have loaded a
|
|
116
|
+
readonly why: "Which origins have loaded a Front Desk's widget, written on a 30s flush timer while a customer's site serves page views. The install panel that renders it fetches on open and polls itself while it is on screen, which is the whole window in which the answer changes for anyone. Pushing instead would bill every connected browser a refetch per flush, for a panel almost nobody has open.";
|
|
116
117
|
readonly portability: "carry";
|
|
117
118
|
}, {
|
|
118
|
-
readonly path: ".intentic/thread-sessions.json";
|
|
119
|
+
readonly path: ".intentic/records/thread-sessions.json";
|
|
119
120
|
readonly invalidates: readonly [];
|
|
120
|
-
readonly why: "Thread bookkeeping (an inbound thread — a
|
|
121
|
+
readonly why: "Thread bookkeeping (an inbound thread — a Front Desk visitor, a Discord or Slack channel — → sandbox conversation + provider session), written on EVERY inbound message. Nothing in the browser reads it: what a thread produces is a conversation, and the fleet board already learns about that from the agent registry's own push. Naming a key here would bill every connected browser a refetch per inbound message — the request storm this table's own note warns about — to refresh nothing it can see.";
|
|
121
122
|
readonly portability: "carry";
|
|
122
123
|
}, {
|
|
123
|
-
readonly path: ".intentic/extension-settings.json";
|
|
124
|
+
readonly path: ".intentic/config/extension-settings.json";
|
|
124
125
|
readonly invalidates: readonly [];
|
|
125
126
|
readonly why: "Held in a module-level shallowRef store per extension (web's extensionSettingsStore) with no query observer, and deliberately so: api.settings.get must answer SYNCHRONOUSLY from an extension's first activate() line, and the store outlives every component scope. A module-level QueryObserver is the one shape that would make invalidation refetch, and this app already ruled it out — it detaches on the queryClient.clear() at logout (see useSandbox's sandbox-list mirror). So a remote member's setting edit reaches this browser on its next load, not live.";
|
|
126
127
|
readonly portability: "carry";
|
|
127
128
|
readonly versioned: true;
|
|
128
129
|
}, {
|
|
129
|
-
readonly path: ".intentic/extension-enablement.json";
|
|
130
|
+
readonly path: ".intentic/config/extension-enablement.json";
|
|
130
131
|
readonly invalidates: readonly ["extensions"];
|
|
131
132
|
readonly portability: "carry";
|
|
132
133
|
readonly versioned: true;
|
|
133
134
|
}, {
|
|
134
|
-
readonly path: ".intentic/workspace-extensions/";
|
|
135
|
+
readonly path: ".intentic/config/workspace-extensions/";
|
|
135
136
|
readonly invalidates: readonly ["extensions"];
|
|
136
137
|
readonly portability: "carry";
|
|
137
138
|
readonly versioned: true;
|
|
138
139
|
readonly authored: true;
|
|
139
140
|
}, {
|
|
140
|
-
readonly path: ".intentic/extension-updates.json";
|
|
141
|
+
readonly path: ".intentic/records/extension-updates.json";
|
|
141
142
|
readonly invalidates: readonly ["extensions"];
|
|
142
143
|
readonly portability: "carry";
|
|
143
144
|
}, {
|
|
144
|
-
readonly path: ".intentic/extension-update-policy.json";
|
|
145
|
+
readonly path: ".intentic/config/extension-update-policy.json";
|
|
145
146
|
readonly invalidates: readonly ["extensions"];
|
|
146
147
|
readonly portability: "carry";
|
|
147
148
|
readonly versioned: true;
|
|
148
149
|
}, {
|
|
149
|
-
readonly path: ".intentic/extension-usage.json";
|
|
150
|
+
readonly path: ".intentic/records/extension-usage.json";
|
|
150
151
|
readonly invalidates: readonly [];
|
|
151
152
|
readonly why: "Which of the routes each extension DECLARED it has actually called — the evidence behind the permissions list on its row. The one entry here whose empty set is a RATE decision rather than an architectural one: every browser with the app open reports its batch on a timer, so wiring this to the `extensions` query would refetch the whole list every few seconds for a figure nobody is watching change. The tab reads it when it loads, which is when anyone is reading it.";
|
|
152
153
|
readonly portability: "carry";
|
|
153
154
|
}, {
|
|
154
|
-
readonly path: ".intentic/members.json";
|
|
155
|
+
readonly path: ".intentic/identity/members.json";
|
|
155
156
|
readonly invalidates: readonly [];
|
|
156
157
|
readonly why: "Not this view's source at all: SandboxAccess renders the PLATFORM's invite records (apiClient.invite.list), and this file is the daemon's ENFORCED copy — written first so a grant the enforcer never got is never recorded, then never read back. A change here means the two disagreed, which the write order makes fail-closed rather than stale.";
|
|
157
158
|
readonly portability: "identity";
|
|
158
159
|
readonly note: "Re-invite collaborators from the Access tab — a grant is the platform's record, and the target enforces its own copy.";
|
|
159
160
|
}, {
|
|
160
|
-
readonly path: ".intentic/auth/";
|
|
161
|
+
readonly path: ".intentic/secrets/auth/";
|
|
161
162
|
readonly invalidates: readonly [];
|
|
162
163
|
readonly why: "AI-provider credentials and runtime homes, plus the capability and extension-settings secret vaults; each account is rendered through owner-gated provider routes.";
|
|
163
164
|
readonly portability: "secret";
|
|
164
165
|
readonly note: "Sign the agent's AI accounts in again on the Agent tab, then re-enter each connection's credential on Capabilities and each extension's secret settings on Extensions — both arrived listed but unauthenticated.";
|
|
165
166
|
}, {
|
|
166
|
-
readonly path: ".intentic/sessions/claude/";
|
|
167
|
+
readonly path: ".intentic/records/sessions/claude/";
|
|
167
168
|
readonly invalidates: readonly [];
|
|
168
169
|
readonly why: "Agent session transcripts — see the note above on why the memory notes under it stay polled.";
|
|
169
170
|
readonly portability: "carry";
|
|
170
171
|
}, {
|
|
171
|
-
readonly path: ".intentic/artifacts/";
|
|
172
|
+
readonly path: ".intentic/records/artifacts/";
|
|
172
173
|
readonly invalidates: readonly [];
|
|
173
174
|
readonly why: "Durable outputs owned by conversations and extension runs: attachments, browser captures, generated images, acceptance reports, workflow step reports, voice transcripts, and loop ledgers.";
|
|
174
175
|
readonly portability: "carry";
|
|
175
176
|
}, {
|
|
176
|
-
readonly path: ".intentic/cache/";
|
|
177
|
+
readonly path: ".intentic/local/cache/";
|
|
177
178
|
readonly invalidates: readonly [];
|
|
178
179
|
readonly why: "Rebuildable indexes and caches — the iq index and its vector sidecar, the whisper model; ignored by the watcher and recreated from carried workspace content.";
|
|
179
180
|
readonly portability: "derived";
|
|
180
181
|
}, {
|
|
181
|
-
readonly path: ".intentic/runtime/";
|
|
182
|
+
readonly path: ".intentic/local/runtime/";
|
|
182
183
|
readonly invalidates: readonly [];
|
|
183
184
|
readonly why: "Extension runtime scratch (watermarks, cached short-lived tokens); nothing renders it and gateways re-derive it.";
|
|
184
185
|
readonly portability: "derived";
|
|
185
186
|
readonly outsideWriter: "extensions, through extensionRuntimeDir below";
|
|
186
187
|
}, {
|
|
187
|
-
readonly path: ".intentic/tmp/";
|
|
188
|
+
readonly path: ".intentic/local/tmp/";
|
|
188
189
|
readonly invalidates: readonly [];
|
|
189
190
|
readonly why: "Scratch that agents and tools leave behind (build logs, demo checkouts); nothing reads it after the turn that wrote it. The state janitor empties it at boot.";
|
|
190
191
|
readonly portability: "derived";
|
|
191
192
|
}, {
|
|
192
|
-
readonly path: ".intentic/.pnpm-store/";
|
|
193
|
+
readonly path: ".intentic/local/.pnpm-store/";
|
|
193
194
|
readonly invalidates: readonly [];
|
|
194
195
|
readonly why: "pnpm's content-addressable store, auto-created by installs run from under .intentic; the next install rebuilds it.";
|
|
195
196
|
readonly portability: "derived";
|
|
196
197
|
readonly outsideWriter: "pnpm itself, when an install runs from under .intentic";
|
|
197
198
|
}, {
|
|
198
|
-
readonly path: ".intentic/newest-run.json";
|
|
199
|
+
readonly path: ".intentic/local/newest-run.json";
|
|
199
200
|
readonly invalidates: readonly [];
|
|
200
201
|
readonly why: "The newest daemon version that ever ran this workspace (store/newest-run.ts) — a downgrade tripwire, about THIS sandbox the way rule-firings is.";
|
|
201
202
|
readonly portability: "derived";
|
|
202
203
|
readonly note: "The target stamps its own daemon version on first boot.";
|
|
203
204
|
}, {
|
|
204
|
-
readonly path: ".intentic/verify.json";
|
|
205
|
+
readonly path: ".intentic/records/verify.json";
|
|
205
206
|
readonly invalidates: readonly [];
|
|
206
207
|
readonly why: "The dependency verifier's verdict memory; nothing renders it directly — outcomes reach the owner as activity entries and workspace events.";
|
|
207
208
|
readonly portability: "carry";
|
|
208
209
|
}, {
|
|
209
|
-
readonly path: ".intentic/verify/";
|
|
210
|
+
readonly path: ".intentic/local/verify/";
|
|
210
211
|
readonly invalidates: readonly [];
|
|
211
212
|
readonly why: "A running check's wrapper artifacts (log + exit status), read once by the daemon when the panel finishes.";
|
|
212
213
|
readonly portability: "derived";
|
|
213
214
|
}, {
|
|
214
|
-
readonly path: ".intentic/ci.json";
|
|
215
|
+
readonly path: ".intentic/secrets/ci.json";
|
|
215
216
|
readonly invalidates: readonly [];
|
|
216
217
|
readonly why: "Webhook secret + conclusion memory; the Pipelines view reads it through /ci/runs, not off disk.";
|
|
217
218
|
readonly portability: "secret";
|
|
218
219
|
readonly note: "Re-add the CI webhook on the Pipelines view — its secret is per-sandbox.";
|
|
219
220
|
}, {
|
|
220
|
-
readonly path: ".intentic/control-tokens.json";
|
|
221
|
+
readonly path: ".intentic/identity/control-tokens.json";
|
|
221
222
|
readonly invalidates: readonly [];
|
|
222
223
|
readonly why: "Hashed control tokens (the ACP editor bridge, and anything else driving this sandbox from outside), listed on demand by the owner.";
|
|
223
224
|
readonly portability: "identity";
|
|
225
|
+
readonly backup: false;
|
|
224
226
|
readonly note: "Mint fresh control tokens — the old ones authenticate against the source sandbox.";
|
|
225
227
|
}, {
|
|
226
|
-
readonly path: ".intentic/owner.json";
|
|
228
|
+
readonly path: ".intentic/identity/owner.json";
|
|
227
229
|
readonly invalidates: readonly [];
|
|
228
230
|
readonly why: "Bound once on first use; a change here means the sandbox was re-owned, which re-authenticates anyway.";
|
|
229
231
|
readonly portability: "identity";
|
|
230
232
|
}, {
|
|
231
|
-
readonly path: ".intentic/workspace.json";
|
|
233
|
+
readonly path: ".intentic/identity/workspace.json";
|
|
232
234
|
readonly invalidates: readonly [];
|
|
233
235
|
readonly why: "The workspace identity, read from the /events hello frame rather than as a file.";
|
|
234
236
|
readonly portability: "identity";
|
|
235
237
|
}, {
|
|
236
|
-
readonly path: ".intentic/templates.json";
|
|
238
|
+
readonly path: ".intentic/config/templates.json";
|
|
237
239
|
readonly invalidates: readonly [];
|
|
238
240
|
readonly why: "Scaffold templates, read when the scaffold dialog opens.";
|
|
239
241
|
readonly portability: "carry";
|
|
240
242
|
readonly versioned: true;
|
|
241
243
|
}, {
|
|
242
|
-
readonly path: ".intentic/browser/";
|
|
244
|
+
readonly path: ".intentic/local/browser/";
|
|
243
245
|
readonly invalidates: readonly [];
|
|
244
246
|
readonly why: "Browser-login profiles: Chromium rewrites these constantly. Descent-ignored by the watcher outright.";
|
|
245
247
|
readonly portability: "derived";
|
|
246
248
|
readonly note: "Log the agent's browser back into any site it needs — profiles do not travel.";
|
|
247
249
|
}, {
|
|
248
|
-
readonly path: ".intentic/extensions/";
|
|
250
|
+
readonly path: ".intentic/local/extensions/";
|
|
249
251
|
readonly invalidates: readonly [];
|
|
250
252
|
readonly why: "Extension checkouts — whole git clones. The `extensions` query is driven by the capability manifest above, not by their contents.";
|
|
251
253
|
readonly portability: "derived";
|
|
252
254
|
readonly note: "Extensions re-clone from the capability manifest on the target's next reconcile.";
|
|
253
255
|
}, {
|
|
254
|
-
readonly path: ".intentic/plugins/";
|
|
256
|
+
readonly path: ".intentic/records/plugins/";
|
|
255
257
|
readonly invalidates: readonly [];
|
|
256
258
|
readonly why: "Agent plugin dirs, read by the SDK's loader each turn.";
|
|
257
259
|
readonly portability: "carry";
|
|
258
260
|
}, {
|
|
259
|
-
readonly path: ".intentic/skills/";
|
|
261
|
+
readonly path: ".intentic/config/skills/";
|
|
260
262
|
readonly invalidates: readonly ["skills"];
|
|
261
263
|
readonly portability: "carry";
|
|
262
264
|
readonly versioned: true;
|
|
263
265
|
}, {
|
|
264
|
-
readonly path: ".intentic/personas/";
|
|
266
|
+
readonly path: ".intentic/config/personas/";
|
|
265
267
|
readonly invalidates: readonly ["personas"];
|
|
266
268
|
readonly portability: "carry";
|
|
267
269
|
readonly versioned: true;
|
|
@@ -269,13 +271,21 @@ declare const STATE_FILES: readonly [{
|
|
|
269
271
|
export declare const WORKSPACE_STATE_FILES: readonly WorkspaceStateFile[];
|
|
270
272
|
export declare const VERSIONED_STATE_PATHS: readonly string[];
|
|
271
273
|
export declare const SEARCHABLE_STATE_PATHS: readonly string[];
|
|
274
|
+
export type StateGroup = "config" | "records" | "local" | "identity" | "secrets";
|
|
275
|
+
export declare const STATE_GROUP_DIR: Readonly<Record<StateGroup, string>>;
|
|
276
|
+
export declare const STATE_GROUPS: readonly StateGroup[];
|
|
277
|
+
export declare const stateGroupOf: (file: WorkspaceStateFile) => StateGroup;
|
|
278
|
+
export declare const stateGroupPaths: (group: StateGroup) => readonly string[];
|
|
279
|
+
export declare const BACKED_UP_STATE_PATHS: readonly string[];
|
|
280
|
+
export declare const UNBACKED_STATE_PATHS: readonly string[];
|
|
272
281
|
export declare const extensionRuntimeDir: (extension: string) => string;
|
|
273
282
|
export declare const REPORTED_MANIFEST_PATHS: readonly string[];
|
|
274
283
|
export declare const isReportedManifest: (relPath: string) => boolean;
|
|
275
284
|
export declare const RETIRED_WORKSPACE_STATE_DIRS: {
|
|
276
|
-
readonly secret: readonly ["claude", "codex", "kimi", "opencode", "cliproxy"];
|
|
277
|
-
readonly
|
|
278
|
-
readonly
|
|
285
|
+
readonly secret: readonly ["claude", "codex", "kimi", "opencode", "cliproxy", "auth", "ci.json"];
|
|
286
|
+
readonly identity: readonly ["owner.json", "members.json", "workspace.json", "control-tokens.json"];
|
|
287
|
+
readonly derived: readonly ["iq", "extensions-runtime", "whisper", "browser/output", "browser", "cache", "runtime", "tmp", ".pnpm-store", "extensions", "verify"];
|
|
288
|
+
readonly artifacts: readonly ["attachments", "acceptance", "loops", "workflow-runs", "transcripts", "artifacts", "sessions"];
|
|
279
289
|
};
|
|
280
290
|
export declare const isLockedWorkspacePath: (relPath: string) => boolean;
|
|
281
291
|
export declare const isReviewableLockedPath: (relPath: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA0CxD,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IAKjD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAExC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAgCtB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAY1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
|