@intentic/sandbox-contract 1.213.0 → 1.215.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.
Files changed (49) hide show
  1. package/dist/capability-secrets.d.ts +3 -0
  2. package/dist/capability-secrets.d.ts.map +1 -0
  3. package/dist/capability-secrets.js +3 -0
  4. package/dist/capability-secrets.js.map +1 -0
  5. package/dist/contracts/agent.contract.d.ts +12 -0
  6. package/dist/contracts/agent.contract.d.ts.map +1 -1
  7. package/dist/contracts/agents.contract.d.ts +150 -0
  8. package/dist/contracts/agents.contract.d.ts.map +1 -1
  9. package/dist/contracts/agents.contract.js +5 -1
  10. package/dist/contracts/agents.contract.js.map +1 -1
  11. package/dist/contracts/capabilities.contract.d.ts +1 -0
  12. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  13. package/dist/contracts/capabilities.contract.js.map +1 -1
  14. package/dist/contracts/git.contract.d.ts +21 -0
  15. package/dist/contracts/git.contract.d.ts.map +1 -1
  16. package/dist/contracts/git.contract.js +3 -1
  17. package/dist/contracts/git.contract.js.map +1 -1
  18. package/dist/contracts/host.contract.d.ts +1 -0
  19. package/dist/contracts/host.contract.d.ts.map +1 -1
  20. package/dist/contracts/settings.contract.d.ts +2 -0
  21. package/dist/contracts/settings.contract.d.ts.map +1 -1
  22. package/dist/contracts/system.contract.d.ts +8 -0
  23. package/dist/contracts/system.contract.d.ts.map +1 -1
  24. package/dist/events.d.ts +15 -0
  25. package/dist/events.d.ts.map +1 -1
  26. package/dist/events.js +2 -0
  27. package/dist/events.js.map +1 -1
  28. package/dist/index.d.ts +195 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/schemas.d.ts +78 -0
  33. package/dist/schemas.d.ts.map +1 -1
  34. package/dist/schemas.js +31 -1
  35. package/dist/schemas.js.map +1 -1
  36. package/dist/workspace-state.d.ts +7 -5
  37. package/dist/workspace-state.d.ts.map +1 -1
  38. package/dist/workspace-state.js +14 -5
  39. package/dist/workspace-state.js.map +1 -1
  40. package/package.json +4 -4
  41. package/src/capability-secrets.ts +20 -0
  42. package/src/contracts/agents.contract.ts +12 -0
  43. package/src/contracts/capabilities.contract.ts +12 -5
  44. package/src/contracts/git.contract.ts +10 -0
  45. package/src/events.ts +34 -3
  46. package/src/index.ts +1 -0
  47. package/src/schemas.ts +172 -13
  48. package/src/workspace-state.test.ts +50 -0
  49. package/src/workspace-state.ts +104 -17
@@ -10,7 +10,8 @@ export interface WorkspaceStateFile extends StateFile {
10
10
  declare const STATE_FILES: readonly [{
11
11
  readonly path: ".intentic/capabilities.json";
12
12
  readonly invalidates: readonly ["capabilities", "environment", "panels", "manifests"];
13
- readonly portability: "secret";
13
+ readonly portability: "carry";
14
+ readonly versioned: true;
14
15
  }, {
15
16
  readonly path: ".intentic/capability-dismissals.json";
16
17
  readonly invalidates: readonly ["capabilities"];
@@ -122,8 +123,8 @@ declare const STATE_FILES: readonly [{
122
123
  readonly path: ".intentic/extension-settings.json";
123
124
  readonly invalidates: readonly [];
124
125
  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.";
125
- readonly portability: "secret";
126
- readonly note: "Re-enter each extension's settings on the Extensions tab.";
126
+ readonly portability: "carry";
127
+ readonly versioned: true;
127
128
  }, {
128
129
  readonly path: ".intentic/extension-enablement.json";
129
130
  readonly invalidates: readonly ["extensions"];
@@ -158,9 +159,9 @@ declare const STATE_FILES: readonly [{
158
159
  }, {
159
160
  readonly path: ".intentic/auth/";
160
161
  readonly invalidates: readonly [];
161
- readonly why: "AI-provider credentials and runtime homes; each account is rendered through owner-gated provider routes.";
162
+ 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.";
162
163
  readonly portability: "secret";
163
- readonly note: "Sign the agent's AI accounts in again on the Agent tab.";
164
+ 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.";
164
165
  }, {
165
166
  readonly path: ".intentic/sessions/claude/";
166
167
  readonly invalidates: readonly [];
@@ -277,6 +278,7 @@ export declare const RETIRED_WORKSPACE_STATE_DIRS: {
277
278
  readonly artifacts: readonly ["attachments", "acceptance", "loops", "workflow-runs", "transcripts"];
278
279
  };
279
280
  export declare const isLockedWorkspacePath: (relPath: string) => boolean;
281
+ export declare const isReviewableLockedPath: (relPath: string) => boolean;
280
282
  export type WorkspaceStatePath = (typeof STATE_FILES)[number]["path"];
281
283
  export declare const staleQueryKeys: (paths: readonly string[], contributed: readonly FileContribution[]) => readonly string[];
282
284
  export declare const fileBoundQueryKeys: (contributed: readonly FileContribution[]) => readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import { STATE_DIR } from "@intentic/constants";
2
2
  const STATE_FILES = [
3
- { path: ".intentic/capabilities.json", invalidates: ["capabilities", "environment", "panels", "manifests"], portability: "secret" },
3
+ {
4
+ path: ".intentic/capabilities.json",
5
+ invalidates: ["capabilities", "environment", "panels", "manifests"],
6
+ portability: "carry",
7
+ versioned: true,
8
+ },
4
9
  { path: ".intentic/capability-dismissals.json", invalidates: ["capabilities"], portability: "carry", versioned: true },
5
10
  { path: ".intentic/secret-uses.json", invalidates: ["secrets"], portability: "carry" },
6
11
  { path: ".intentic/personas.json", invalidates: ["personas", "capabilities", "manifests"], portability: "carry", versioned: true },
@@ -79,8 +84,8 @@ const STATE_FILES = [
79
84
  path: ".intentic/extension-settings.json",
80
85
  invalidates: [],
81
86
  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.",
82
- portability: "secret",
83
- note: "Re-enter each extension's settings on the Extensions tab.",
87
+ portability: "carry",
88
+ versioned: true,
84
89
  },
85
90
  {
86
91
  path: ".intentic/extension-enablement.json",
@@ -107,9 +112,9 @@ const STATE_FILES = [
107
112
  {
108
113
  path: ".intentic/auth/",
109
114
  invalidates: [],
110
- why: "AI-provider credentials and runtime homes; each account is rendered through owner-gated provider routes.",
115
+ why: "AI-provider credentials and runtime homes, plus the capability and extension-settings secret vaults; each account is rendered through owner-gated provider routes.",
111
116
  portability: "secret",
112
- note: "Sign the agent's AI accounts in again on the Agent tab.",
117
+ 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.",
113
118
  },
114
119
  {
115
120
  path: ".intentic/sessions/claude/",
@@ -248,6 +253,10 @@ export const isLockedWorkspacePath = (relPath) => {
248
253
  }
249
254
  return segments.length >= 2 && segments[0] === STATE_DIR && LOCKED_STATE_ENTRIES.has(segments[1] ?? "");
250
255
  };
256
+ export const isReviewableLockedPath = (relPath) => {
257
+ const rel = relPath.replaceAll("\\", "/").replace(/^\.\//, "");
258
+ return isLockedWorkspacePath(rel) && VERSIONED_STATE_PATHS.some((path) => (path.endsWith("/") ? rel.startsWith(path) : rel === path));
259
+ };
251
260
  export const staleQueryKeys = (paths, contributed) => [
252
261
  ...new Set([...WORKSPACE_STATE_FILES, ...contributed]
253
262
  .filter((file) => file.invalidates.length > 0 && paths.some((path) => path.startsWith(file.path)))
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-state.js","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-state.js","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/sandbox-contract",
3
- "version": "1.213.0",
3
+ "version": "1.215.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",
@@ -89,9 +89,9 @@
89
89
  "@orpc/contract": "1.14.13",
90
90
  "tslib": "2.8.1",
91
91
  "zod": "4.4.3",
92
- "@intentic/constants": "1.213.0",
93
- "@intentic/extension-manifest": "1.213.0",
94
- "@intentic/registry": "1.213.0"
92
+ "@intentic/registry": "1.215.0",
93
+ "@intentic/extension-manifest": "1.215.0",
94
+ "@intentic/constants": "1.215.0"
95
95
  },
96
96
  "devDependencies": {
97
97
  "@types/node": "24.13.2",
@@ -0,0 +1,20 @@
1
+ /* THE ONE VALUE THAT MEANS "WHATEVER IS ALREADY STORED" — the rule both ends of the capability wire apply.
2
+ *
3
+ * A capability's credentials never reach a browser: the list route echoes the shape of a connection and drops
4
+ * every secret in it, and the manifest on disk holds this marker where each value used to be (the vault keeps
5
+ * the value itself). That is what makes a connection EDITABLE without being re-typed: a form that wants to
6
+ * change a tunnel's routed networks sends this back in place of the pre-shared key it was never shown, and both
7
+ * the write path and the storage layer read it as "leave that one alone".
8
+ *
9
+ * Deliberately not an empty string and not a dropped key. The entry still has to satisfy CapabilitySchema — a
10
+ * connector's required token, an ssh key — and a reader that somehow bypasses rehydration must fail LOUDLY: a
11
+ * service refusing this string is a clear auth error, where an empty value reads as "not configured yet" and a
12
+ * missing key as a shape change.
13
+ *
14
+ * It lives in the contract rather than in the daemon's store because it is now spoken on the wire. The browser
15
+ * has to be able to say it, the add route has to resolve it before a handler ever sees it, and the store has to
16
+ * refuse to write it over a real value — three places, one spelling. */
17
+ export const VAULTED = "__intentic_vaulted__";
18
+
19
+ /** Whether a config value is the marker rather than a credential — the check, so the string is typed once. */
20
+ export const isVaulted = (value: unknown): boolean => value === VAULTED;
@@ -10,6 +10,7 @@ import {
10
10
  AgentLandSchema,
11
11
  AgentPlaceSchema,
12
12
  AgentRenameSchema,
13
+ AgentResumeAfterOutageSchema,
13
14
  AgentSearchQuerySchema,
14
15
  AgentSearchResultSchema,
15
16
  AgentsListSchema,
@@ -67,6 +68,17 @@ export const agentsContract = {
67
68
  // clears it back to "inherit". Legal mid-turn on purpose: the setting is read at turn COMPLETION, so
68
69
  // flipping it while the agent works is exactly "hold THIS turn's work for review", the press that matters.
69
70
  autoLand: oc.route({ method: "POST", path: "/agents/{id}/auto-land" }).input(AgentAutoLandSchema).output(AgentSummarySchema),
71
+ /* THIS conversation's answer to a provider outage — an override of the sandbox-wide `resumeAfterOutage`
72
+ * setting; null clears it back to "inherit". The chat's offer at the moment a turn dies writes this and
73
+ * never the global: the press happens inside one conversation and means "finish this piece of work", so
74
+ * its honest blast radius is that conversation. Sandbox ▸ Agent owns the default for everything else.
75
+ *
76
+ * Legal mid-turn, and unlike autoLand it is legal for a WORKSPACE conversation too — an outage kills a
77
+ * main-tree chat exactly as readily as an isolated one, and there is no branch involved either way. */
78
+ resumeAfterOutage: oc
79
+ .route({ method: "POST", path: "/agents/{id}/resume-after-outage" })
80
+ .input(AgentResumeAfterOutageSchema)
81
+ .output(AgentSummarySchema),
70
82
  seen: oc.route({ method: "POST", path: "/agents/{id}/seen" }).input(AgentIdSchema).output(AgentSummarySchema),
71
83
  seenAll: oc.route({ method: "POST", path: "/agents/seen" }).output(AgentsListSchema),
72
84
  diff: oc.route({ method: "GET", path: "/agents/{id}/diff" }).input(AgentIdSchema).output(AgentChangesSchema),
@@ -16,11 +16,18 @@ import {
16
16
  OkSchema,
17
17
  } from "../schemas.js";
18
18
 
19
- // The sandbox's unified capability manifest. `list` returns each active capability with its live status. `add`
20
- // upserts a capability and STREAMS its apply (devops scaffolding / service provisioning emit ndjson progress;
21
- // mcp/integration emit a terminal frame), mirroring the /intentic runner. `remove` tears it down (devops refuses
22
- // deleting the repos is data loss). `status` re-probes a single capability for a lazy UI refresh. `marketplace`
23
- // resolves a Claude Code plugin marketplace repo into installable plugin-capability configs.
19
+ /* The sandbox's unified capability manifest. `list` returns each active capability with its live status, the
20
+ * non-secret echo of its config, and the NAMES of the credentials it holds. `add` upserts a capability and
21
+ * STREAMS its apply (devops scaffolding / service provisioning emit ndjson progress; mcp/integration emit a
22
+ * terminal frame), mirroring the /intentic runner. `remove` tears it down (devops refuses deleting the repos
23
+ * is data loss). `status` re-probes a single capability for a lazy UI refresh. `marketplace` resolves a Claude
24
+ * Code plugin marketplace repo into installable plugin-capability configs.
25
+ *
26
+ * `add` IS ALSO THE EDIT, because the write is an upsert: the same id with a changed config changes that
27
+ * connection. A caller editing one has never been shown its credentials, so it sends VAULTED
28
+ * (capability-secrets.ts) for each it is leaving alone and the daemon resolves those from what is stored before
29
+ * anything runs — the only way to change one setting on a tunnel without re-typing its key. A marker with
30
+ * nothing behind it is refused rather than written. */
24
31
  export const capabilitiesContract = {
25
32
  list: oc.route({ method: "GET", path: "/capabilities" }).output(CapabilitiesListSchema),
26
33
  add: oc.route({ method: "POST", path: "/capabilities" }).input(CapabilitySchema).output(eventIterator(IntenticLineSchema)),
@@ -23,8 +23,11 @@ import {
23
23
  GitLogQuerySchema,
24
24
  GitLogSchema,
25
25
  GitOperationStateSchema,
26
+ GitPublishFileResultSchema,
27
+ GitPublishFileSchema,
26
28
  GitUndoSchema,
27
29
  GitUndoStateSchema,
30
+ GitRemoteReposSchema,
28
31
  GitRemoteStateSchema,
29
32
  GitReposSchema,
30
33
  GitResetSchema,
@@ -53,6 +56,9 @@ export const gitContract = {
53
56
  // one repo's commit log, and lazy per-commit detail (changed files, then a file's before/after AT the
54
57
  // commit). Read-only — commit/discard on the working tree stay the write path (above).
55
58
  repos: oc.route({ method: "GET", path: "/git/repos" }).output(GitReposSchema),
59
+ // The same repos with the host + project their remote names — how a caller recognises a workspace repo in a
60
+ // list of `owner/name` strings that came from somewhere else. Kept off `repos` (a `git remote -v` per repo).
61
+ remoteRepos: oc.route({ method: "GET", path: "/git/remote-repos" }).output(GitRemoteReposSchema),
56
62
  log: oc.route({ method: "GET", path: "/git/{repo}/log" }).input(GitLogQuerySchema).output(GitLogSchema),
57
63
  commitDiff: oc.route({ method: "GET", path: "/git/{repo}/commit-diff" }).input(GitCommitDiffQuerySchema).output(GitCommitDiffSchema),
58
64
  commitFileDiff: oc.route({ method: "GET", path: "/git/{repo}/commit-file-diff" }).input(GitCommitFileDiffQuerySchema).output(FileDiffSchema),
@@ -115,4 +121,8 @@ export const gitContract = {
115
121
  files: oc.route({ method: "GET", path: "/git/{repo}/files" }).input(RepoParamSchema).output(GitFilesSchema),
116
122
  readFile: oc.route({ method: "GET", path: "/git/{repo}/file" }).input(GitFileQuerySchema).output(GitFileSchema),
117
123
  writeFile: oc.route({ method: "PUT", path: "/git/{repo}/file" }).input(GitFileWriteSchema).output(OkSchema),
124
+ // Write + commit-that-path-only + push, as one step with one answer. Reports rather than throws for the
125
+ // same reason the remote trio above does: no remote, no credentials and "you are on a side branch" are
126
+ // ordinary outcomes a screen renders, not 500s.
127
+ publishFile: oc.route({ method: "POST", path: "/git/{repo}/publish-file" }).input(GitPublishFileSchema).output(GitPublishFileResultSchema),
118
128
  };
package/src/events.ts CHANGED
@@ -66,6 +66,11 @@ export const ServiceOfferSchema = z.object({
66
66
  publisher: z.string(),
67
67
  description: z.string(),
68
68
  creditsPerRun: z.number(),
69
+ /* Whether the platform still has this listing on probation — a new provider that passed admission's
70
+ * mechanical gates but has not yet served enough runs cleanly to graduate. It rides the card because
71
+ * probation is the honest form of "listed automatically, not vouched for": the member approving the
72
+ * spend is the person who should know that, and the platform is the only party that can say it. */
73
+ probation: z.boolean().optional(),
69
74
  // The owner's meter as the platform stated it with the catalog — what "N left today" renders from. Absent
70
75
  // when the platform sent none (it answers a meter only to a member, and membership was already checked
71
76
  // before this card went up, so in practice it is present; the field stays honest about the wire).
@@ -398,6 +403,29 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
398
403
  * route addresses it by; absent on a turn with no conversation behind it (the bench, a one-shot), where
399
404
  * the id still powers a plain restore but there is no message to rewind to. */
400
405
  z.object({ kind: z.literal("checkpoint"), id: z.string(), index: z.number().int().nonnegative().optional() }),
406
+ /* A MESSAGE THE USER SENT INTO THE TURN WHILE IT RAN — the mid-turn steer, at the point in the stream where
407
+ * the daemon accepted it (agent/agent-steering.ts).
408
+ *
409
+ * A frame rather than a client-local write, because all three things that were wrong about the steer are the
410
+ * same missing fact: nothing in the run's log said WHEN it arrived.
411
+ * - POSITION. The harness injects a steer between tool calls and the model simply keeps writing, with no
412
+ * `result` in between — so there is no `usage` boundary to retire the open bubble. The sending window
413
+ * appended the user's words at the END of its transcript while the turn kept typing into the bubble
414
+ * ABOVE them, and the answer to a question landed over the question.
415
+ * - EVERY OTHER WINDOW. A run is rendered by any number of attached clients; only the one that posted the
416
+ * steer knew about it, so the same conversation read differently in two places.
417
+ * - THE RECORD. The settled turn is written down from this log (sessions/turn-transcript.ts), and one that
418
+ * never held the steer wrote a transcript the message was missing from entirely — which also put the
419
+ * client's row count one ahead of the daemon's for the rest of the conversation, and those counts are
420
+ * what a fork copies a prefix of and a rewind addresses.
421
+ *
422
+ * `text` is what the user typed, never the composed prompt: the editor-context and attachment notes the
423
+ * route wraps around it are protocol, and redrawing them as the user's words is the same lie the stored
424
+ * prompt is unwrapped to avoid. `attachments` are workspace-relative, like the turn's own. `sentAt` is the
425
+ * instant the turn took the message, carried so the bubble wears the same clock live and after a reopen —
426
+ * a turn's own user row is stamped from the daemon's clock too, and a live bubble stamped from the
427
+ * browser's would visibly jump when the record replaced it. */
428
+ z.object({ kind: z.literal("steer"), text: z.string(), sentAt: z.number(), attachments: z.array(z.string()).optional() }),
401
429
  z.object({ kind: z.literal("delta"), text: z.string(), parentToolUseId: z.string().optional() }),
402
430
  // The prose block the `delta` frames were writing is finished. A turn emits several: the model says what
403
431
  // it is about to do, runs tools, reports what it found, runs more, then summarizes — each a separate text
@@ -694,9 +722,12 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
694
722
  resetsAt: z.number().optional(),
695
723
  // Where the daemon's resume of THIS turn stands, for the two codes that have one (provider-outage,
696
724
  // claude-token-refused). "scheduled" = the resume is armed and this turn comes back by itself;
697
- // "available" = the daemon remembered the failed turn and turning resumeAfterOutage on arms that same
698
- // resume, which is what the chat's offer banner hangs off — outage only, since a renewal is never gated
699
- // on a setting. Absent means there is nothing automatic to resume: a spent usage limit never has one,
725
+ // "available" = the daemon remembered the failed turn and arming THIS conversation
726
+ // (AgentSummarySchema.resumeAfterOutage) picks up that same resume, which is what the chat's offer
727
+ // banner hangs off outage only, since a renewal is never gated on a posture at all. The two words
728
+ // are read against the effective posture (the conversation's override, else the sandbox default), so a
729
+ // chat armed on its own says "scheduled" while the unarmed board around it says "available".
730
+ // Absent means there is nothing automatic to resume: a spent usage limit never has one,
700
731
  // and a refused credential has none once re-minting it has already been tried and failed.
701
732
  autoResume: z.enum(["scheduled", "available"]).optional(),
702
733
  /* provider-outage only: the shape of the wait. `retryAt` (epoch seconds) is when the next attempt is
package/src/index.ts CHANGED
@@ -97,6 +97,7 @@ export * from "./history-state.js";
97
97
  export * from "./agent-catalog.js";
98
98
  export * from "./agent-run-model.js";
99
99
  export * from "./capability-env.js";
100
+ export * from "./capability-secrets.js";
100
101
  export * from "./conversation-ids.js";
101
102
  export * from "./host-protocol.js";
102
103
  export * from "./listener-protocol.js";