@intentic/sandbox-contract 1.300.0 → 1.301.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 (88) hide show
  1. package/dist/contracts/agent.contract.d.ts +774 -1
  2. package/dist/contracts/agent.contract.d.ts.map +1 -1
  3. package/dist/contracts/agent.contract.js +3 -2
  4. package/dist/contracts/agent.contract.js.map +1 -1
  5. package/dist/contracts/agents.contract.d.ts +7 -0
  6. package/dist/contracts/agents.contract.d.ts.map +1 -1
  7. package/dist/contracts/agents.contract.js +11 -2
  8. package/dist/contracts/agents.contract.js.map +1 -1
  9. package/dist/contracts/capabilities.contract.d.ts +5 -1
  10. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  11. package/dist/contracts/capabilities.contract.js +3 -2
  12. package/dist/contracts/capabilities.contract.js.map +1 -1
  13. package/dist/contracts/exit.contract.d.ts +15 -3
  14. package/dist/contracts/exit.contract.d.ts.map +1 -1
  15. package/dist/contracts/exit.contract.js +5 -4
  16. package/dist/contracts/exit.contract.js.map +1 -1
  17. package/dist/contracts/host.contract.d.ts +24 -2
  18. package/dist/contracts/host.contract.d.ts.map +1 -1
  19. package/dist/contracts/host.contract.js +4 -3
  20. package/dist/contracts/host.contract.js.map +1 -1
  21. package/dist/contracts/intentic.contract.d.ts +10 -2
  22. package/dist/contracts/intentic.contract.d.ts.map +1 -1
  23. package/dist/contracts/intentic.contract.js +4 -3
  24. package/dist/contracts/intentic.contract.js.map +1 -1
  25. package/dist/contracts/netdisk.contract.d.ts +5 -1
  26. package/dist/contracts/netdisk.contract.d.ts.map +1 -1
  27. package/dist/contracts/netdisk.contract.js +3 -2
  28. package/dist/contracts/netdisk.contract.js.map +1 -1
  29. package/dist/contracts/runner.contract.d.ts +505 -2
  30. package/dist/contracts/runner.contract.d.ts.map +1 -1
  31. package/dist/contracts/runner.contract.js +4 -3
  32. package/dist/contracts/runner.contract.js.map +1 -1
  33. package/dist/contracts/sessions.contract.d.ts +1 -0
  34. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  35. package/dist/contracts/system.contract.d.ts +334 -3
  36. package/dist/contracts/system.contract.d.ts.map +1 -1
  37. package/dist/contracts/system.contract.js +5 -4
  38. package/dist/contracts/system.contract.js.map +1 -1
  39. package/dist/contracts/vpn.contract.d.ts +5 -1
  40. package/dist/contracts/vpn.contract.d.ts.map +1 -1
  41. package/dist/contracts/vpn.contract.js +3 -2
  42. package/dist/contracts/vpn.contract.js.map +1 -1
  43. package/dist/events/agent-events.d.ts +3 -0
  44. package/dist/events/agent-events.d.ts.map +1 -1
  45. package/dist/events/transcript.d.ts +10 -0
  46. package/dist/events/transcript.d.ts.map +1 -1
  47. package/dist/events/transcript.js +13 -0
  48. package/dist/events/transcript.js.map +1 -1
  49. package/dist/index.d.ts +1156 -12
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/protocol/routes.d.ts +6 -0
  52. package/dist/protocol/routes.d.ts.map +1 -1
  53. package/dist/protocol/routes.js +12 -4
  54. package/dist/protocol/routes.js.map +1 -1
  55. package/dist/schemas/agents.d.ts +4 -0
  56. package/dist/schemas/agents.d.ts.map +1 -1
  57. package/dist/schemas/agents.js +3 -0
  58. package/dist/schemas/agents.js.map +1 -1
  59. package/dist/schemas/devices.d.ts +1 -0
  60. package/dist/schemas/devices.d.ts.map +1 -1
  61. package/dist/schemas/devices.js +43 -24
  62. package/dist/schemas/devices.js.map +1 -1
  63. package/dist/state/history-state.d.ts.map +1 -1
  64. package/dist/state/history-state.js +1 -0
  65. package/dist/state/history-state.js.map +1 -1
  66. package/dist/state/runtime-state.d.ts +3 -0
  67. package/dist/state/runtime-state.d.ts.map +1 -1
  68. package/dist/state/runtime-state.js +1 -0
  69. package/dist/state/runtime-state.js.map +1 -1
  70. package/package.json +5 -5
  71. package/src/contracts/agent.contract.ts +3 -2
  72. package/src/contracts/agents.contract.ts +12 -1
  73. package/src/contracts/capabilities.contract.ts +3 -2
  74. package/src/contracts/exit.contract.ts +5 -4
  75. package/src/contracts/host.contract.ts +4 -3
  76. package/src/contracts/intentic.contract.ts +4 -3
  77. package/src/contracts/netdisk.contract.ts +3 -2
  78. package/src/contracts/runner.contract.ts +4 -3
  79. package/src/contracts/system.contract.ts +5 -4
  80. package/src/contracts/vpn.contract.ts +3 -2
  81. package/src/events/transcript.ts +25 -0
  82. package/src/protocol/routes.test.ts +51 -18
  83. package/src/protocol/routes.ts +26 -6
  84. package/src/schemas/agents.ts +6 -0
  85. package/src/schemas/devices.ts +75 -29
  86. package/src/state/history-state.ts +3 -0
  87. package/src/state/runtime-state.test.ts +5 -0
  88. package/src/state/runtime-state.ts +6 -0
@@ -32,6 +32,9 @@ export const HISTORY_STATE_FILES: readonly StateFile[] = [
32
32
  { path: "provider-refusals.json", portability: "carry" },
33
33
  // Models refused to this sandbox's credentials; expires daily, same subscriptions apply elsewhere.
34
34
  { path: "model-refusals.json", portability: "carry" },
35
+ // What each account has run out of, for a plan publishing no allowance to poll — the refusal is the reading.
36
+ // Carried like the refusals above: an allowance belongs to the account, not to the machine that spent it.
37
+ { path: "observed-limits.json", portability: "carry" },
35
38
  // First-time dependency setup requests; carried so an interrupted queue survives export, entries self-remove.
36
39
  { path: "dependency-requests.json", portability: "carry" },
37
40
  // Which device cards were already offered; carry, not identity, since it holds ids, never a token.
@@ -23,6 +23,11 @@ describe(`staleRuntimeQueryKeys`, () => {
23
23
  it(`asks for nothing when nothing matched`, () => {
24
24
  expect(staleRuntimeQueryKeys([])).toEqual([]);
25
25
  });
26
+
27
+ it(`reaches an extension's own key, since the board that renders a run is not core's`, () => {
28
+ // The Pipelines board reads ["ci-runs", <sandbox>]; a prefix is what invalidation matches on.
29
+ expect(staleRuntimeQueryKeys([`ci`])).toEqual([[`ci-runs`]]);
30
+ });
26
31
  });
27
32
 
28
33
  describe(`runtimeBoundQueryKeys`, () => {
@@ -42,6 +42,12 @@ const RUNTIME_DOMAINS = [
42
42
 
43
43
  // Commit subject drafted after landing; arrives too late for the turn-end refresh, needs its own push.
44
44
  { domain: "landings", invalidates: [["git", "changes"]] },
45
+
46
+ // A pipeline run reached its end (webhook delivery, or the REST poll for a repo with no hook). The board's own
47
+ // poll is the freshness floor, not the answer: somebody watching a run finish must not wait out a poll interval.
48
+ // Runs only: the frame doesn't name which run moved, and re-reading every open row's job graph would cost a
49
+ // vendor call per row. The row re-reads its own graph off the status this invalidation lands (useRunJobs.ts).
50
+ { domain: "ci", invalidates: [["ci-runs"]] },
45
51
  ] as const satisfies readonly RuntimeDomainBinding[];
46
52
 
47
53
  export const RUNTIME_DOMAIN_BINDINGS: readonly RuntimeDomainBinding[] = RUNTIME_DOMAINS;