@viewportai/daemon 0.5.1 → 0.5.3

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 (100) hide show
  1. package/dist/cli/context-command.d.ts.map +1 -1
  2. package/dist/cli/context-command.js +81 -3
  3. package/dist/cli/context-command.js.map +1 -1
  4. package/dist/cli/context-sync-target.d.ts +2 -1
  5. package/dist/cli/context-sync-target.d.ts.map +1 -1
  6. package/dist/cli/context-sync-target.js +28 -0
  7. package/dist/cli/context-sync-target.js.map +1 -1
  8. package/dist/cli/hook-command.d.ts.map +1 -1
  9. package/dist/cli/hook-command.js +23 -1
  10. package/dist/cli/hook-command.js.map +1 -1
  11. package/dist/cli/install-command.d.ts.map +1 -1
  12. package/dist/cli/install-command.js +31 -6
  13. package/dist/cli/install-command.js.map +1 -1
  14. package/dist/cli/lifecycle-commands.d.ts.map +1 -1
  15. package/dist/cli/lifecycle-commands.js +6 -0
  16. package/dist/cli/lifecycle-commands.js.map +1 -1
  17. package/dist/cli/lifecycle-pair-command.js +2 -21
  18. package/dist/cli/lifecycle-pair-command.js.map +1 -1
  19. package/dist/cli/lifecycle-pair-server.d.ts.map +1 -1
  20. package/dist/cli/lifecycle-pair-server.js +4 -0
  21. package/dist/cli/lifecycle-pair-server.js.map +1 -1
  22. package/dist/cli/open-url.d.ts +2 -0
  23. package/dist/cli/open-url.d.ts.map +1 -0
  24. package/dist/cli/open-url.js +21 -0
  25. package/dist/cli/open-url.js.map +1 -0
  26. package/dist/cli/skills-command.d.ts.map +1 -1
  27. package/dist/cli/skills-command.js +27 -0
  28. package/dist/cli/skills-command.js.map +1 -1
  29. package/dist/context/local-edge-store.d.ts +12 -1
  30. package/dist/context/local-edge-store.d.ts.map +1 -1
  31. package/dist/context/local-edge-store.js +26 -0
  32. package/dist/context/local-edge-store.js.map +1 -1
  33. package/dist/context/local-edge-sync.d.ts +76 -0
  34. package/dist/context/local-edge-sync.d.ts.map +1 -1
  35. package/dist/context/local-edge-sync.js +304 -3
  36. package/dist/context/local-edge-sync.js.map +1 -1
  37. package/dist/context/local-edge-types.d.ts +9 -0
  38. package/dist/context/local-edge-types.d.ts.map +1 -1
  39. package/dist/core/daemon.d.ts +5 -0
  40. package/dist/core/daemon.d.ts.map +1 -1
  41. package/dist/core/daemon.js +11 -0
  42. package/dist/core/daemon.js.map +1 -1
  43. package/dist/hooks/ephemeral-plan-drafts.d.ts +34 -0
  44. package/dist/hooks/ephemeral-plan-drafts.d.ts.map +1 -0
  45. package/dist/hooks/ephemeral-plan-drafts.js +62 -0
  46. package/dist/hooks/ephemeral-plan-drafts.js.map +1 -0
  47. package/dist/hooks/installers/base.d.ts +2 -2
  48. package/dist/hooks/installers/base.d.ts.map +1 -1
  49. package/dist/hooks/installers/claude.d.ts.map +1 -1
  50. package/dist/hooks/installers/claude.js +35 -16
  51. package/dist/hooks/installers/claude.js.map +1 -1
  52. package/dist/hooks/plan-extractor.d.ts.map +1 -1
  53. package/dist/hooks/plan-extractor.js +6 -1
  54. package/dist/hooks/plan-extractor.js.map +1 -1
  55. package/dist/hooks/platform-plan-sync.d.ts +10 -8
  56. package/dist/hooks/platform-plan-sync.d.ts.map +1 -1
  57. package/dist/hooks/platform-plan-sync.js +67 -36
  58. package/dist/hooks/platform-plan-sync.js.map +1 -1
  59. package/dist/hooks/router.d.ts.map +1 -1
  60. package/dist/hooks/router.js +14 -0
  61. package/dist/hooks/router.js.map +1 -1
  62. package/dist/hooks/specific-events.d.ts.map +1 -1
  63. package/dist/hooks/specific-events.js +78 -2
  64. package/dist/hooks/specific-events.js.map +1 -1
  65. package/dist/hooks/trusted-edge-plan-artifacts.d.ts +114 -0
  66. package/dist/hooks/trusted-edge-plan-artifacts.d.ts.map +1 -0
  67. package/dist/hooks/trusted-edge-plan-artifacts.js +389 -0
  68. package/dist/hooks/trusted-edge-plan-artifacts.js.map +1 -0
  69. package/dist/relay/bridge-token-issuer.d.ts +1 -0
  70. package/dist/relay/bridge-token-issuer.d.ts.map +1 -1
  71. package/dist/relay/bridge-token-issuer.js +1 -1
  72. package/dist/relay/bridge-token-issuer.js.map +1 -1
  73. package/dist/server/context-preview-service.d.ts +26 -0
  74. package/dist/server/context-preview-service.d.ts.map +1 -0
  75. package/dist/server/context-preview-service.js +71 -0
  76. package/dist/server/context-preview-service.js.map +1 -0
  77. package/dist/server/http-context-routes.d.ts.map +1 -1
  78. package/dist/server/http-context-routes.js +19 -15
  79. package/dist/server/http-context-routes.js.map +1 -1
  80. package/dist/server/rate-limiter.d.ts.map +1 -1
  81. package/dist/server/rate-limiter.js +5 -0
  82. package/dist/server/rate-limiter.js.map +1 -1
  83. package/dist/server/trusted-edge-command-capability.d.ts +14 -0
  84. package/dist/server/trusted-edge-command-capability.d.ts.map +1 -0
  85. package/dist/server/trusted-edge-command-capability.js +103 -0
  86. package/dist/server/trusted-edge-command-capability.js.map +1 -0
  87. package/dist/server/ws-command-handlers.d.ts.map +1 -1
  88. package/dist/server/ws-command-handlers.js +135 -0
  89. package/dist/server/ws-command-handlers.js.map +1 -1
  90. package/dist/server/ws-protocol.d.ts +199 -0
  91. package/dist/server/ws-protocol.d.ts.map +1 -1
  92. package/dist/server/ws-protocol.js +81 -0
  93. package/dist/server/ws-protocol.js.map +1 -1
  94. package/dist/startup.d.ts.map +1 -1
  95. package/dist/startup.js +18 -1
  96. package/dist/startup.js.map +1 -1
  97. package/docs/protocol-matrix.json +66 -0
  98. package/docs/{relay-noise-conformance-vectors.json → test-vectors/relay-noise-v2.json} +1 -0
  99. package/docs/{relay-noise-v3-conformance-vectors.json → test-vectors/relay-noise-v3.json} +1 -0
  100. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { PLAN_PROPOSAL_SCHEMA_VERSION, sanitizePlanProposalMetadata } from './plan-extractor.js';
3
+ export const EPHEMERAL_PLAN_DRAFT_TTL_MS = 60 * 60 * 1000;
4
+ export const EPHEMERAL_PLAN_DRAFT_MAX_ENTRIES = 100;
5
+ export class EphemeralPlanDraftStore {
6
+ now;
7
+ ttlMs;
8
+ maxEntries;
9
+ drafts = new Map();
10
+ constructor(now = () => Date.now(), ttlMs = EPHEMERAL_PLAN_DRAFT_TTL_MS, maxEntries = EPHEMERAL_PLAN_DRAFT_MAX_ENTRIES) {
11
+ this.now = now;
12
+ this.ttlMs = ttlMs;
13
+ this.maxEntries = maxEntries;
14
+ }
15
+ create(workspaceId, event) {
16
+ this.prune();
17
+ const createdAt = this.now();
18
+ const draft = {
19
+ schema: PLAN_PROPOSAL_SCHEMA_VERSION,
20
+ draftId: randomUUID(),
21
+ workspaceId,
22
+ title: event.title?.trim() || 'Agent plan',
23
+ summary: event.summary?.trim() || null,
24
+ body: event.body,
25
+ source: event.source ?? event.adapter ?? null,
26
+ sourceRef: event.sourceRef ?? `agent-hook:${event.sessionId}`,
27
+ sessionId: event.sessionId,
28
+ hookRequestId: typeof event.metadata?.['hookRequestId'] === 'string'
29
+ ? event.metadata['hookRequestId']
30
+ : null,
31
+ metadata: sanitizePlanProposalMetadata(event.metadata),
32
+ createdAt,
33
+ expiresAt: createdAt + this.ttlMs,
34
+ };
35
+ this.drafts.set(draft.draftId, draft);
36
+ this.pruneToMaxEntries();
37
+ return draft;
38
+ }
39
+ get(draftId) {
40
+ this.prune();
41
+ return this.drafts.get(draftId) ?? null;
42
+ }
43
+ delete(draftId) {
44
+ this.drafts.delete(draftId);
45
+ }
46
+ prune() {
47
+ const now = this.now();
48
+ for (const [draftId, draft] of this.drafts.entries()) {
49
+ if (draft.expiresAt <= now)
50
+ this.drafts.delete(draftId);
51
+ }
52
+ }
53
+ pruneToMaxEntries() {
54
+ while (this.drafts.size > this.maxEntries) {
55
+ const oldest = [...this.drafts.entries()].sort((left, right) => left[1].createdAt - right[1].createdAt)[0];
56
+ if (!oldest)
57
+ return;
58
+ this.drafts.delete(oldest[0]);
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=ephemeral-plan-drafts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ephemeral-plan-drafts.js","sourceRoot":"","sources":["../../src/hooks/ephemeral-plan-drafts.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ import type { HookEventKind } from '../types.js';
9
9
  export interface HookInstallerConfig {
10
10
  /** The vpd binary path to use in hook commands. */
11
11
  vpdBinaryPath: string;
12
- /** The daemon port for hook HTTP calls. */
13
- daemonPort: number;
12
+ /** The daemon listen target for hook HTTP calls. */
13
+ daemonListen: string;
14
14
  /** Which hook events to install. */
15
15
  events: HookEventKind[];
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/hooks/installers/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,6EAA6E;IAC7E,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvD,yFAAyF;IACzF,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9B,uDAAuD;IACvD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/hooks/installers/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,6EAA6E;IAC7E,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvD,yFAAyF;IACzF,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9B,uDAAuD;IACvD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/hooks/installers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAwBpE,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,WAAW,iBAAiB;IAE/B,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA+CtD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IA0C7B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAoBtC"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/hooks/installers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAkCpE,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,WAAW,iBAAiB;IAE/B,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA+CtD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqC7B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAoBtC"}
@@ -16,12 +16,19 @@ const VIEWPORT_MARKER = '--viewport-hook';
16
16
  function settingsPath() {
17
17
  return path.join(os.homedir(), '.claude', 'settings.json');
18
18
  }
19
+ function shellQuote(value) {
20
+ return `'${value.replace(/'/g, `'\\''`)}'`;
21
+ }
22
+ function buildVpdCommand(vpdPath) {
23
+ if (vpdPath.startsWith('npx tsx ')) {
24
+ return `npx tsx ${shellQuote(vpdPath.slice('npx tsx '.length))}`;
25
+ }
26
+ return shellQuote(vpdPath);
27
+ }
19
28
  /** Build the hook command string for a given event. */
20
- function buildCommand(vpdPath, port, event) {
21
- // vpdPath may be multi-word in dev mode (e.g. "npx tsx /path/to/index.ts")
22
- // Only quote single-word paths that might contain spaces
23
- const cmd = vpdPath.includes(' ') ? vpdPath : `"${vpdPath}"`;
24
- return `${cmd} hook notify --event ${event} --port ${port} ${VIEWPORT_MARKER}`;
29
+ function buildCommand(vpdPath, listen, event) {
30
+ const cmd = buildVpdCommand(vpdPath);
31
+ return `${cmd} hook notify --event ${event} --listen ${shellQuote(listen)} ${VIEWPORT_MARKER}`;
25
32
  }
26
33
  /** Determine the timeout for a hook event. */
27
34
  function timeoutForEvent(event) {
@@ -37,26 +44,32 @@ export class ClaudeHookInstaller {
37
44
  const settings = await readSettings(filePath);
38
45
  const hooks = (settings.hooks ?? {});
39
46
  settings.hooks = hooks;
40
- let changed = false;
41
- const claudeEvents = new Set(CLAUDE_HOOK_EVENT_KINDS);
42
- for (const event of config.events) {
43
- if (!claudeEvents.has(event))
44
- continue;
47
+ const before = JSON.stringify(settings);
48
+ for (const [event, entries] of Object.entries(hooks)) {
49
+ const filtered = removeViewportHookEntries(entries);
50
+ if (filtered.length !== entries.length) {
51
+ if (filtered.length === 0) {
52
+ delete hooks[event];
53
+ }
54
+ else {
55
+ hooks[event] = filtered;
56
+ }
57
+ }
58
+ }
59
+ for (const event of config.events.filter(isClaudeHookEventKind)) {
45
60
  const hookEntry = {
46
61
  type: 'command',
47
- command: buildCommand(config.vpdBinaryPath, config.daemonPort, event),
62
+ command: buildCommand(config.vpdBinaryPath, config.daemonListen, event),
48
63
  timeout: timeoutForEvent(event),
49
64
  };
50
65
  const existing = hooks[event] ?? [];
51
- // Remove any existing Viewport entries
52
- const filtered = existing.filter((entry) => !entry.hooks?.some((h) => typeof h.command === 'string' && h.command.includes(VIEWPORT_MARKER)));
53
- // Add our entry
66
+ const filtered = removeViewportHookEntries(existing);
54
67
  filtered.push({ hooks: [hookEntry] });
55
68
  if (JSON.stringify(filtered) !== JSON.stringify(existing)) {
56
69
  hooks[event] = filtered;
57
- changed = true;
58
70
  }
59
71
  }
72
+ const changed = JSON.stringify(settings) !== before;
60
73
  if (changed) {
61
74
  await writeSettings(filePath, settings);
62
75
  }
@@ -76,7 +89,7 @@ export class ClaudeHookInstaller {
76
89
  return false;
77
90
  let changed = false;
78
91
  for (const [event, entries] of Object.entries(hooks)) {
79
- const filtered = entries.filter((entry) => !entry.hooks?.some((h) => typeof h.command === 'string' && h.command.includes(VIEWPORT_MARKER)));
92
+ const filtered = removeViewportHookEntries(entries);
80
93
  if (filtered.length !== entries.length) {
81
94
  if (filtered.length === 0) {
82
95
  delete hooks[event];
@@ -105,6 +118,12 @@ export class ClaudeHookInstaller {
105
118
  }
106
119
  }
107
120
  }
121
+ function isClaudeHookEventKind(event) {
122
+ return CLAUDE_HOOK_EVENT_KINDS.includes(event);
123
+ }
124
+ function removeViewportHookEntries(entries) {
125
+ return entries.filter((entry) => !entry.hooks?.some((h) => typeof h.command === 'string' && h.command.includes(VIEWPORT_MARKER)));
126
+ }
108
127
  // ---------------------------------------------------------------------------
109
128
  // Settings file I/O
110
129
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/hooks/installers/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/hooks/installers/claude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-extractor.d.ts","sourceRoot":"","sources":["../../src/hooks/plan-extractor.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AAOxE;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,qBAAqB,GAAG,IAAI,CAY9B;AA8DD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
1
+ {"version":3,"file":"plan-extractor.d.ts","sourceRoot":"","sources":["../../src/hooks/plan-extractor.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AAYxE;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,qBAAqB,GAAG,IAAI,CAY9B;AA8DD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
@@ -1,7 +1,12 @@
1
1
  export const PLAN_PROPOSAL_MARKER = 'viewport-plan';
2
2
  export const PLAN_PROPOSAL_SCHEMA_VERSION = 'viewport.plan_proposal/v1';
3
3
  const PLAN_BODY_FIELDS = ['body', 'plan', 'plan_markdown'];
4
- const PLAN_METADATA_ALLOWLIST = new Set(['providerModel', 'workflowNodeId', 'workflowRunId']);
4
+ const PLAN_METADATA_ALLOWLIST = new Set([
5
+ 'hookRequestId',
6
+ 'providerModel',
7
+ 'workflowNodeId',
8
+ 'workflowRunId',
9
+ ]);
5
10
  const FENCE_PATTERN = /```viewport-plan\s*\n([\s\S]*?)```/i;
6
11
  const COMMENT_PATTERN = /<!--\s*viewport-plan\s*\n([\s\S]*?)-->/i;
7
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plan-extractor.js","sourceRoot":"","sources":["../../src/hooks/plan-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-extractor.js","sourceRoot":"","sources":["../../src/hooks/plan-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
- import type { ConfigManager } from '../core/config.js';
1
+ import type { Daemon } from '../core/daemon.js';
2
2
  import type { DaemonEvents } from '../core/events.js';
3
- import { transportFetch } from '../cli/network.js';
4
- type Fetcher = typeof transportFetch;
3
+ import { saveTrustedEdgePlanDraft } from './trusted-edge-plan-artifacts.js';
5
4
  type PlanProposedEvent = DaemonEvents['hook:plan-proposed'];
5
+ type UrlOpener = (url: string) => void;
6
+ type PlanSaver = typeof saveTrustedEdgePlanDraft;
6
7
  export interface PlatformPlanHookSyncResult {
7
- synced: boolean;
8
+ opened: boolean;
8
9
  reason?: string;
9
- status?: number;
10
+ planUrl?: string;
10
11
  }
11
12
  export declare class PlatformPlanHookSync {
12
- private readonly configManager;
13
- private readonly fetcher;
14
- constructor(configManager: Pick<ConfigManager, 'getDaemonConfig'>, fetcher?: Fetcher);
13
+ private readonly daemon;
14
+ private readonly urlOpener;
15
+ private readonly planSaver;
16
+ constructor(daemon: Pick<Daemon, 'configManager'>, urlOpener?: UrlOpener, planSaver?: PlanSaver);
15
17
  send(event: PlanProposedEvent): Promise<PlatformPlanHookSyncResult>;
16
18
  private targetFor;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform-plan-sync.d.ts","sourceRoot":"","sources":["../../src/hooks/platform-plan-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,KAAK,OAAO,GAAG,OAAO,cAAc,CAAC;AACrC,KAAK,iBAAiB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAE5D,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,EACrD,OAAO,GAAE,OAAwB;IAG9C,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAgCzE,OAAO,CAAC,SAAS;CAuBlB"}
1
+ {"version":3,"file":"platform-plan-sync.d.ts","sourceRoot":"","sources":["../../src/hooks/platform-plan-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,KAAK,iBAAiB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAC5D,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AACvC,KAAK,SAAS,GAAG,OAAO,wBAAwB,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAFT,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EACrC,SAAS,GAAE,SAAmB,EAC9B,SAAS,GAAE,SAAoC;IAG5D,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAsBzE,OAAO,CAAC,SAAS;CA+BlB"}
@@ -1,59 +1,90 @@
1
- import { transportFetch } from '../cli/network.js';
1
+ import { openUrl } from '../cli/open-url.js';
2
2
  import { resolveConfiguredWorkspaceSyncTarget } from '../cli/context-sync-target.js';
3
3
  import { resolveLocalOrgBindingSync } from '../cli/org-binding.js';
4
- import { PLAN_PROPOSAL_SCHEMA_VERSION, sanitizePlanProposalMetadata } from './plan-extractor.js';
4
+ import { saveTrustedEdgePlanDraft } from './trusted-edge-plan-artifacts.js';
5
5
  export class PlatformPlanHookSync {
6
- configManager;
7
- fetcher;
8
- constructor(configManager, fetcher = transportFetch) {
9
- this.configManager = configManager;
10
- this.fetcher = fetcher;
6
+ daemon;
7
+ urlOpener;
8
+ planSaver;
9
+ constructor(daemon, urlOpener = openUrl, planSaver = saveTrustedEdgePlanDraft) {
10
+ this.daemon = daemon;
11
+ this.urlOpener = urlOpener;
12
+ this.planSaver = planSaver;
11
13
  }
12
14
  async send(event) {
13
15
  const target = this.targetFor(event);
14
16
  if (!target)
15
- return { synced: false, reason: 'missing_platform_target' };
16
- const res = await this.fetcher(target.url, {
17
- method: 'POST',
18
- headers: { 'content-type': 'application/json' },
19
- body: JSON.stringify({
20
- credential: target.issueToken,
21
- hook_event_name: 'PlanProposed',
22
- schema: PLAN_PROPOSAL_SCHEMA_VERSION,
23
- session_id: event.sessionId,
24
- title: event.title ?? null,
25
- summary: event.summary ?? null,
26
- body: event.body,
27
- source: event.source ?? event.adapter,
28
- source_ref: event.sourceRef ?? `agent-hook:${event.sessionId}`,
29
- payload: sanitizePlanProposalMetadata(event.metadata),
30
- }),
31
- timeoutMs: 5_000,
32
- tlsVerify: target.tlsVerify,
33
- caCertPath: target.caCertPath,
34
- tlsPins: target.tlsPins,
35
- });
36
- if (!res.ok) {
37
- return { synced: false, reason: 'platform_rejected_plan_hook', status: res.status };
17
+ return { opened: false, reason: 'missing_platform_target' };
18
+ let planId;
19
+ try {
20
+ const saved = await this.planSaver({ event, target });
21
+ planId = saved.planId;
22
+ }
23
+ catch {
24
+ return { opened: false, reason: 'trusted_edge_save_failed' };
38
25
  }
39
- return { synced: true };
26
+ const planUrl = buildSavedPlanUrl(target.appUrl, target.workspaceId, planId);
27
+ try {
28
+ this.urlOpener(planUrl);
29
+ }
30
+ catch {
31
+ return { opened: false, reason: 'browser_open_failed', planUrl };
32
+ }
33
+ return { opened: true, planUrl };
40
34
  }
41
35
  targetFor(event) {
42
- const daemonConfig = this.configManager.getDaemonConfig();
36
+ const daemonConfig = this.daemon.configManager.getDaemonConfig();
43
37
  if (!daemonConfig)
44
38
  return null;
45
- const cwd = typeof event.cwd === 'string' && event.cwd.length > 0 ? event.cwd : process.cwd();
46
- const requestedWorkspaceId = resolveLocalOrgBindingSync(cwd)?.organizationId;
39
+ const explicitCwd = typeof event.cwd === 'string' && event.cwd.length > 0;
40
+ const cwd = explicitCwd ? event.cwd : process.cwd();
41
+ const binding = resolveLocalOrgBindingSync(cwd);
42
+ if (explicitCwd && !binding)
43
+ return null;
44
+ if (binding && !binding.streamEnabled)
45
+ return null;
46
+ const requestedWorkspaceId = binding?.organizationId;
47
47
  const target = resolveConfiguredWorkspaceSyncTarget(daemonConfig, { requestedWorkspaceId });
48
48
  if (!target)
49
49
  return null;
50
50
  return {
51
- url: `${target.serverUrl.replace(/\/+$/, '')}/api/runtime/workspaces/${encodeURIComponent(target.workspaceId)}/agent-hooks/plans`,
52
- issueToken: target.credential,
51
+ appUrl: inferAppUrl(daemonConfig.server?.appUrl, target.serverUrl),
52
+ workspaceId: target.workspaceId,
53
+ serverUrl: target.serverUrl,
54
+ credential: target.credential,
53
55
  tlsVerify: target.tlsVerify,
54
56
  caCertPath: target.caCertPath,
55
57
  tlsPins: target.tlsPins,
56
58
  };
57
59
  }
58
60
  }
61
+ function buildSavedPlanUrl(appUrl, workspaceId, planId) {
62
+ const url = new URL('/plans', appUrl);
63
+ url.searchParams.set('resource_id', workspaceId);
64
+ url.searchParams.set('plan_id', planId);
65
+ return url.toString();
66
+ }
67
+ function inferAppUrl(configuredAppUrl, serverUrl) {
68
+ if (configuredAppUrl?.trim())
69
+ return configuredAppUrl.trim().replace(/\/+$/, '');
70
+ try {
71
+ const url = new URL(serverUrl);
72
+ if (url.hostname === 'api.getviewport.com') {
73
+ url.hostname = 'app.getviewport.com';
74
+ return url.toString().replace(/\/+$/, '');
75
+ }
76
+ if (url.hostname === 'getviewport.test' || url.hostname === 'api.getviewport.test') {
77
+ url.hostname = 'app.getviewport.test';
78
+ return url.toString().replace(/\/+$/, '');
79
+ }
80
+ if (url.hostname === 'getviewport.dev' || url.hostname === 'api.getviewport.dev') {
81
+ url.hostname = 'app.getviewport.dev';
82
+ return url.toString().replace(/\/+$/, '');
83
+ }
84
+ return url.toString().replace(/\/+$/, '');
85
+ }
86
+ catch {
87
+ return serverUrl.replace(/\/+$/, '');
88
+ }
89
+ }
59
90
  //# sourceMappingURL=platform-plan-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-plan-sync.js","sourceRoot":"","sources":["../../src/hooks/platform-plan-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-plan-sync.js","sourceRoot":"","sources":["../../src/hooks/platform-plan-sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/hooks/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACtC;AAMD,qBAAa,UAAU;IAMnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAN9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiD;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,kBAAkB,CAAK;gBAGZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,EACzC,WAAW,EAAE,kBAAkB;IAgBlD;;;;;;OAMG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,GAAE,MAAiB,GACzB,OAAO,CAAC,YAAY,CAAC;IAkFxB,gDAAgD;IAChD,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAIlD,mEAAmE;IACnE,iBAAiB,CACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;QAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO;IAgBV,0DAA0D;IAC1D,qBAAqB,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAI/D,yEAAyE;IACzE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUvC,4BAA4B;IAC5B,QAAQ,IAAI,IAAI;YAYF,mBAAmB;IAuBjC,OAAO,CAAC,qBAAqB;IAsD7B,OAAO,CAAC,iBAAiB;CAO1B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUxF"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/hooks/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACtC;AAMD,qBAAa,UAAU;IAMnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAN9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiD;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,kBAAkB,CAAK;gBAGZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,EACzC,WAAW,EAAE,kBAAkB;IAgBlD;;;;;;OAMG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,GAAE,MAAiB,GACzB,OAAO,CAAC,YAAY,CAAC;IAkFxB,gDAAgD;IAChD,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAIlD,mEAAmE;IACnE,iBAAiB,CACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;QAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO;IAgBV,0DAA0D;IAC1D,qBAAqB,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAI/D,yEAAyE;IACzE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUvC,4BAA4B;IAC5B,QAAQ,IAAI,IAAI;YAYF,mBAAmB;IA2BjC,OAAO,CAAC,qBAAqB;IAwD7B,OAAO,CAAC,iBAAiB;CAO1B;AAUD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUxF"}
@@ -158,6 +158,9 @@ export class HookRouter {
158
158
  // Private
159
159
  // -------------------------------------------------------------------------
160
160
  async handleBlockingEvent(kind, data, ctx) {
161
+ if (kind === 'PermissionRequest' && isExitPlanModeRequest(data)) {
162
+ return this.holdPermissionRequest(data, ctx);
163
+ }
161
164
  // If not supervised, fall through immediately
162
165
  if (!this.supervision.isSupervised(ctx.sessionId)) {
163
166
  log.debug({ kind, sessionId: ctx.sessionId }, 'Not supervised — passthrough');
@@ -187,6 +190,7 @@ export class HookRouter {
187
190
  const hookRequestId = `hk-${++this.hookRequestCounter}-${Date.now()}`;
188
191
  const toolName = data.tool_name ?? 'unknown';
189
192
  const toolInput = data.tool_input;
193
+ const dataWithHookRequestId = { ...data, hook_request_id: hookRequestId };
190
194
  // Emit the permission request event so WS server can broadcast
191
195
  this.eventBus.emit('hook:permission-request', {
192
196
  sessionId: ctx.sessionId,
@@ -196,6 +200,7 @@ export class HookRouter {
196
200
  toolInput,
197
201
  cwd: ctx.cwd,
198
202
  });
203
+ this.emitSpecificEvent('PermissionRequest', dataWithHookRequestId, ctx);
199
204
  return new Promise((resolve) => {
200
205
  const timer = setTimeout(() => {
201
206
  this.pending.delete(hookRequestId);
@@ -220,6 +225,15 @@ export class HookRouter {
220
225
  emitSpecificHookEvent(this.eventBus, kind, data, ctx);
221
226
  }
222
227
  }
228
+ function isExitPlanModeRequest(data) {
229
+ if (data.tool_name !== 'ExitPlanMode')
230
+ return false;
231
+ const toolInput = data.tool_input;
232
+ if (!toolInput || typeof toolInput !== 'object' || Array.isArray(toolInput))
233
+ return false;
234
+ const plan = toolInput.plan;
235
+ return typeof plan === 'string' && plan.trim().length > 0;
236
+ }
223
237
  export function safeHookLogInput(input) {
224
238
  return {
225
239
  hook_event_name: typeof input.hook_event_name === 'string' ? input.hook_event_name : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/hooks/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/hooks/router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"specific-events.d.ts","sourceRoot":"","sources":["../../src/hooks/specific-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,EACzC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,oBAAoB,GACxB,IAAI,CA0FN"}
1
+ {"version":3,"file":"specific-events.d.ts","sourceRoot":"","sources":["../../src/hooks/specific-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,EACzC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,oBAAoB,GACxB,IAAI,CAkGN"}