@pellux/goodvibes-tui 0.24.1 → 0.25.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 (56) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/package.json +1 -1
  4. package/src/daemon/calendar/caldav-client.ts +657 -0
  5. package/src/daemon/calendar/ics.ts +556 -0
  6. package/src/daemon/calendar/index.ts +52 -0
  7. package/src/daemon/calendar/register.ts +527 -0
  8. package/src/daemon/channels/drafts/draft-store.ts +363 -0
  9. package/src/daemon/channels/drafts/index.ts +22 -0
  10. package/src/daemon/channels/drafts/register.ts +449 -0
  11. package/src/daemon/channels/inbox/cursor-store.ts +298 -0
  12. package/src/daemon/channels/inbox/index.ts +58 -0
  13. package/src/daemon/channels/inbox/mapping.ts +190 -0
  14. package/src/daemon/channels/inbox/poller.ts +155 -0
  15. package/src/daemon/channels/inbox/provider-adapter.ts +152 -0
  16. package/src/daemon/channels/inbox/providers/discord.ts +253 -0
  17. package/src/daemon/channels/inbox/providers/email.ts +151 -0
  18. package/src/daemon/channels/inbox/providers/imap-client.ts +300 -0
  19. package/src/daemon/channels/inbox/providers/route-util.ts +23 -0
  20. package/src/daemon/channels/inbox/providers/slack.ts +264 -0
  21. package/src/daemon/channels/inbox/register.ts +247 -0
  22. package/src/daemon/channels/routing/inbox-bridge.ts +58 -0
  23. package/src/daemon/channels/routing/index.ts +39 -0
  24. package/src/daemon/channels/routing/register.ts +296 -0
  25. package/src/daemon/channels/routing/route-store.ts +278 -0
  26. package/src/daemon/channels/routing/routing-resolver.ts +75 -0
  27. package/src/daemon/email/imap-connector.ts +441 -0
  28. package/src/daemon/email/imap-parsing.ts +499 -0
  29. package/src/daemon/email/index.ts +68 -0
  30. package/src/daemon/email/register.ts +715 -0
  31. package/src/daemon/email/smtp-connector.ts +557 -0
  32. package/src/daemon/operator/credential-store.ts +129 -0
  33. package/src/daemon/operator/index.ts +43 -0
  34. package/src/daemon/operator/register-helper.ts +150 -0
  35. package/src/daemon/operator/sqlite-store.ts +124 -0
  36. package/src/daemon/operator/surfaces.ts +137 -0
  37. package/src/daemon/operator/types.ts +207 -0
  38. package/src/daemon/remote/backends/cloud-terminal.ts +137 -0
  39. package/src/daemon/remote/backends/docker.ts +80 -0
  40. package/src/daemon/remote/backends/index.ts +34 -0
  41. package/src/daemon/remote/backends/local-process.ts +113 -0
  42. package/src/daemon/remote/backends/process-runner.ts +151 -0
  43. package/src/daemon/remote/backends/ssh.ts +120 -0
  44. package/src/daemon/remote/backends/types.ts +71 -0
  45. package/src/daemon/remote/dispatcher.ts +160 -0
  46. package/src/daemon/remote/index.ts +74 -0
  47. package/src/daemon/remote/peer-registry.ts +321 -0
  48. package/src/daemon/remote/register.ts +411 -0
  49. package/src/daemon/triage/index.ts +59 -0
  50. package/src/daemon/triage/integration.ts +179 -0
  51. package/src/daemon/triage/pipeline.ts +285 -0
  52. package/src/daemon/triage/register.ts +231 -0
  53. package/src/daemon/triage/scorer.ts +287 -0
  54. package/src/daemon/triage/tagger.ts +777 -0
  55. package/src/runtime/services.ts +35 -0
  56. package/src/version.ts +1 -1
@@ -7,6 +7,15 @@ import { AutomationDeliveryManager, AutomationManager, AutomationRouteStore } fr
7
7
  import { ChannelPluginRegistry, ChannelPolicyManager, RouteBindingManager, SurfaceRegistry } from '@pellux/goodvibes-sdk/platform/channels';
8
8
  import { ChannelDeliveryRouter } from '@pellux/goodvibes-sdk/platform/channels';
9
9
  import { ApprovalBroker, GatewayMethodCatalog, SharedSessionBroker } from '@pellux/goodvibes-sdk/platform/control-plane';
10
+ import {
11
+ registerDaemonOperatorSurfaces,
12
+ type DaemonOperatorSurfaces,
13
+ } from '../daemon/operator/surfaces.ts';
14
+ import type {
15
+ OperatorContext,
16
+ OperatorLogger,
17
+ } from '../daemon/operator/index.ts';
18
+ import { attachRemoteInvokeRoute } from '../daemon/remote/index.ts';
10
19
  import { WatcherRegistry } from '@pellux/goodvibes-sdk/platform/watchers';
11
20
  import { ArtifactStore } from '@pellux/goodvibes-sdk/platform/artifacts';
12
21
  import {
@@ -169,6 +178,7 @@ export interface RuntimeServices {
169
178
  readonly deliveryManager: AutomationDeliveryManager;
170
179
  readonly automationManager: AutomationManager;
171
180
  readonly gatewayMethods: GatewayMethodCatalog;
181
+ readonly operatorSurfaces: DaemonOperatorSurfaces;
172
182
  readonly artifactStore: ArtifactStore;
173
183
  readonly knowledgeService: KnowledgeService;
174
184
  readonly agentKnowledgeService: KnowledgeService;
@@ -271,6 +281,30 @@ export function createRuntimeServices(options: RuntimeServicesOptions): RuntimeS
271
281
  globalHome: homeDirectory,
272
282
  configManager,
273
283
  });
284
+ // Wire the daemon operator surfaces (routing / triaged inbox / drafts /
285
+ // calendar / email / remote) against the shared gateway-method catalog. Each
286
+ // surface initializes its stores lazily, so this stays synchronous.
287
+ const operatorLogger: OperatorLogger = {
288
+ info: (msg, meta) => console.info(`[operator] ${msg}`, meta ?? ''),
289
+ warn: (msg, meta) => console.warn(`[operator] ${msg}`, meta ?? ''),
290
+ error: (msg, meta) => console.error(`[operator] ${msg}`, meta ?? ''),
291
+ };
292
+ const operatorContext: OperatorContext = {
293
+ catalog: gatewayMethods,
294
+ secrets: secretsManager,
295
+ configManager,
296
+ workingDirectory,
297
+ homeDirectory,
298
+ logger: operatorLogger,
299
+ };
300
+ const operatorSurfaces = registerDaemonOperatorSurfaces(operatorContext);
301
+ // Wire the remote.peers.invoke route to the remote dispatch adapter, replacing
302
+ // the SDK builtin stub. This is the single faithful integration point: the
303
+ // DaemonHttpRouter resolves POST /api/remote/peers/{peerId}/invoke to
304
+ // catalog.invoke('remote.peers.invoke', ...), which now reaches the
305
+ // Docker/SSH/cloud-terminal/local-process backends via the dispatch adapter
306
+ // (which enforces confirm:true + explicitUserRequest before dispatch).
307
+ attachRemoteInvokeRoute(gatewayMethods, operatorSurfaces.remoteDispatch);
274
308
  const subscriptionManager = new SubscriptionManager(
275
309
  shellPaths.resolveUserPath('tui', 'subscriptions.json'),
276
310
  );
@@ -623,6 +657,7 @@ export function createRuntimeServices(options: RuntimeServicesOptions): RuntimeS
623
657
  deliveryManager,
624
658
  automationManager,
625
659
  gatewayMethods,
660
+ operatorSurfaces,
626
661
  artifactStore,
627
662
  knowledgeService,
628
663
  agentKnowledgeService,
package/src/version.ts CHANGED
@@ -6,7 +6,7 @@ import { join } from 'node:path';
6
6
  // The prebuild script updates the fallback value before compilation.
7
7
  // Uses import.meta.dir (Bun) to locate package.json relative to this file,
8
8
  // which is correct regardless of the process working directory.
9
- let _version = '0.24.1';
9
+ let _version = '0.25.0';
10
10
  try {
11
11
  const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8'));
12
12
  _version = pkg.version ?? _version;