@openparachute/agent 0.2.3-rc.2 → 0.2.3-rc.4

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 (58) hide show
  1. package/package.json +4 -1
  2. package/src/transports/vault.ts +19 -1
  3. package/web/ui/dist/assets/{index-5KEwEhfi.js → index-0e7eQymr.js} +1 -1
  4. package/web/ui/dist/assets/index-tvKbxee4.css +1 -0
  5. package/web/ui/dist/index.html +2 -2
  6. package/src/_parked/interactive-spawn.test.ts +0 -324
  7. package/src/_parked/interactive-spawn.ts +0 -701
  8. package/src/agent-defs.test.ts +0 -1504
  9. package/src/agent-mcp-config.test.ts +0 -115
  10. package/src/agents.test.ts +0 -360
  11. package/src/auth.test.ts +0 -46
  12. package/src/backends/attached-queue.test.ts +0 -376
  13. package/src/backends/programmatic.test.ts +0 -1715
  14. package/src/backends/registry.test.ts +0 -1494
  15. package/src/backends/stream-json.test.ts +0 -570
  16. package/src/channel-backend-wiring.test.ts +0 -237
  17. package/src/credentials.test.ts +0 -274
  18. package/src/cron.test.ts +0 -342
  19. package/src/daemon-agent-def-api.test.ts +0 -166
  20. package/src/daemon-agent-defs-api.test.ts +0 -953
  21. package/src/daemon-agent-env-api.test.ts +0 -338
  22. package/src/daemon-attached-queue-store.test.ts +0 -65
  23. package/src/daemon-config-api.test.ts +0 -962
  24. package/src/daemon-jobs-api.test.ts +0 -271
  25. package/src/daemon-vault-chat.test.ts +0 -250
  26. package/src/daemon.test.ts +0 -746
  27. package/src/def-vaults.test.ts +0 -136
  28. package/src/delivery-state.test.ts +0 -110
  29. package/src/effective-env.test.ts +0 -114
  30. package/src/grants.test.ts +0 -638
  31. package/src/hub-jwt.test.ts +0 -161
  32. package/src/jobs.test.ts +0 -245
  33. package/src/mcp-http.test.ts +0 -265
  34. package/src/mint-token.test.ts +0 -152
  35. package/src/module-manifest.test.ts +0 -158
  36. package/src/programmatic-wiring.test.ts +0 -838
  37. package/src/registry.test.ts +0 -227
  38. package/src/resolve-port.test.ts +0 -64
  39. package/src/routing.test.ts +0 -184
  40. package/src/runner.test.ts +0 -506
  41. package/src/sandbox/config.test.ts +0 -150
  42. package/src/sandbox/egress.test.ts +0 -113
  43. package/src/sandbox/live-seatbelt.test.ts +0 -277
  44. package/src/sandbox/mounts.test.ts +0 -154
  45. package/src/sandbox/sandbox.test.ts +0 -168
  46. package/src/services-manifest.test.ts +0 -106
  47. package/src/spa-serve.test.ts +0 -116
  48. package/src/spawn-agent-cli.test.ts +0 -172
  49. package/src/spawn-agent.test.ts +0 -1218
  50. package/src/spawn-deps.test.ts +0 -54
  51. package/src/terminal-assets.test.ts +0 -50
  52. package/src/terminal.test.ts +0 -530
  53. package/src/transports/http-ui.test.ts +0 -455
  54. package/src/transports/telegram.test.ts +0 -174
  55. package/src/transports/vault.test.ts +0 -2012
  56. package/src/ui-kit.test.ts +0 -178
  57. package/web/ui/dist/assets/index-C-iWdFFV.css +0 -1
  58. package/web/ui/tsconfig.json +0 -21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openparachute/agent",
3
- "version": "0.2.3-rc.2",
3
+ "version": "0.2.3-rc.4",
4
4
  "description": "Vault-native agents for Claude Code — a #agent/definition note + an inbound message becomes a sandboxed claude turn; the reply is written back as a note. Messaging gateway on :1941.",
5
5
  "license": "AGPL-3.0",
6
6
  "type": "module",
@@ -24,6 +24,8 @@
24
24
  "test:spa": "cd web/ui && bun run test",
25
25
  "test:all": "bun run test && bun run test:spa",
26
26
  "test:e2e": "bun e2e/llm/run.ts",
27
+ "lint": "biome check .",
28
+ "lint:fix": "biome check --write .",
27
29
  "typecheck": "tsc --noEmit",
28
30
  "build:spa": "cd web/ui && bun install --frozen-lockfile && bun run build",
29
31
  "prepack": "bun run build:spa"
@@ -39,6 +41,7 @@
39
41
  "typescript": "^5"
40
42
  },
41
43
  "devDependencies": {
44
+ "@biomejs/biome": "^1.9.4",
42
45
  "@types/bun": "latest"
43
46
  },
44
47
  "repository": {
@@ -96,6 +96,17 @@ export interface VaultTransportConfig {
96
96
  webhookSecret?: string;
97
97
  /** Optional path prefix for written notes. Default `channel`. */
98
98
  notePathPrefix?: string;
99
+ /**
100
+ * Whether `start()` fires the best-effort `ensureSchema()` tag-schema upsert
101
+ * against the connected vault. Default `true` (back-compat — the daemon always
102
+ * declares the module's tag inheritance on connect). Tests that construct a
103
+ * transport with a fake token set this `false` so `start()` does NOT hit the
104
+ * live vault on 127.0.0.1:1940 (which 401s the fake token → ~one `console.warn`
105
+ * per schema entry of benign noise). The "tag both parent + child" write floor
106
+ * means a channel works regardless, so skipping the declaration is safe; it's
107
+ * only a setup optimization, not a runtime contract. See #32.
108
+ */
109
+ declareSchemaOnStart?: boolean;
99
110
  }
100
111
 
101
112
  /** The note shape the daemon hands `ingestInbound` (a subset of the trigger payload). */
@@ -605,6 +616,8 @@ export class VaultTransport implements Transport {
605
616
  */
606
617
  readonly webhookSecret?: string;
607
618
  private readonly pathPrefix: string;
619
+ /** See `VaultTransportConfig.declareSchemaOnStart`. Default `true`. */
620
+ private readonly declareSchemaOnStart: boolean;
608
621
 
609
622
  constructor(config: VaultTransportConfig) {
610
623
  if (!config.vault) {
@@ -621,6 +634,7 @@ export class VaultTransport implements Transport {
621
634
  this.token = config.token;
622
635
  this.webhookSecret = config.webhookSecret;
623
636
  this.pathPrefix = (config.notePathPrefix ?? DEFAULT_PATH_PREFIX).replace(/\/$/, "");
637
+ this.declareSchemaOnStart = config.declareSchemaOnStart ?? true;
624
638
  }
625
639
 
626
640
  /**
@@ -642,7 +656,11 @@ export class VaultTransport implements Transport {
642
656
  // "tag both parent + child" floor in the note writes is the fail-safe, so the
643
657
  // channel works even if this declaration never lands. Fire-and-forget — no
644
658
  // reason to delay the channel coming up on a schema upsert.
645
- void this.ensureSchema();
659
+ //
660
+ // Suppressible via `declareSchemaOnStart: false` — tests with a fake token
661
+ // set this so `start()` doesn't 401 against the live vault (benign warn noise,
662
+ // #32). The write floor makes the declaration optional anyway.
663
+ if (this.declareSchemaOnStart) void this.ensureSchema();
646
664
  }
647
665
 
648
666
  // -------------------------------------------------------------------------