@botiverse/raft-daemon 0.70.3 → 0.71.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.
@@ -1462,6 +1462,7 @@ var TRACE_B0_FIELD_DEFINITIONS = defineTraceFields([
1462
1462
  { key: "error_class", fieldClass: "query_axis", placement: "span_or_event", valueKind: "closed_enum", enumBinding: "pending_457" },
1463
1463
  { key: "query_name", fieldClass: "query_axis", placement: "span_or_event", valueKind: "closed_enum", enumBinding: "query_registry" },
1464
1464
  { key: "phase", fieldClass: "query_axis", placement: "span_or_event", valueKind: "closed_enum", enumBinding: "pending_457" },
1465
+ { key: "eligibility_subcheck", fieldClass: "query_axis", placement: "event", valueKind: "closed_enum", enumBinding: "pending_457" },
1465
1466
  { key: "hint_source", fieldClass: "family_query_axis", placement: "event", valueKind: "closed_enum", scope: "family:activity" },
1466
1467
  { key: "resolved_activity", fieldClass: "family_query_axis", placement: "event", valueKind: "closed_enum", scope: "family:activity" },
1467
1468
  { key: "previous_activity", fieldClass: "family_query_axis", placement: "event", valueKind: "closed_enum", scope: "family:activity" },
@@ -2040,6 +2041,24 @@ var agentApiKnowledgeGetResponseSchema = passthroughObject({
2040
2041
  contentType: z2.string(),
2041
2042
  content: z2.string()
2042
2043
  });
2044
+ var agentApiKnowledgeSearchQuerySchema = passthroughObject({
2045
+ query: z2.string().trim().min(1),
2046
+ scope: optionalStringSchema,
2047
+ reason: optionalStringSchema,
2048
+ turn_id: optionalStringSchema,
2049
+ trace_id: optionalStringSchema
2050
+ });
2051
+ var agentApiKnowledgeSearchResultSchema = passthroughObject({
2052
+ slug: z2.string(),
2053
+ title: z2.string(),
2054
+ firstScreen: z2.string()
2055
+ });
2056
+ var agentApiKnowledgeSearchResponseSchema = passthroughObject({
2057
+ ok: z2.literal(true),
2058
+ query: z2.string(),
2059
+ scope: z2.string().nullable(),
2060
+ results: z2.array(agentApiKnowledgeSearchResultSchema)
2061
+ });
2043
2062
  var agentApiMessageSearchQuerySchema = passthroughObject({
2044
2063
  q: optionalStringSchema,
2045
2064
  channel: optionalStringSchema,
@@ -2491,7 +2510,14 @@ var agentApiSendSentResponseSchema = passthroughObject({
2491
2510
  messageId: z2.string(),
2492
2511
  messageSeq: optionalNumberSchema,
2493
2512
  recentUnread: z2.array(agentApiMessageEnvelopeSchema).optional(),
2494
- pendingMentionActions: z2.array(agentApiMessageEnvelopeSchema).optional()
2513
+ pendingMentionActions: z2.array(agentApiMessageEnvelopeSchema).optional(),
2514
+ attention: passthroughObject({
2515
+ driveByJoinedToPost: passthroughObject({
2516
+ reason: optionalStringSchema,
2517
+ muteCommand: optionalStringSchema,
2518
+ stillArrives: optionalStringArraySchema
2519
+ }).optional()
2520
+ }).optional()
2495
2521
  });
2496
2522
  var agentApiSendResponseSchema = z2.discriminatedUnion("state", [
2497
2523
  agentApiSendSentResponseSchema,
@@ -2680,6 +2706,16 @@ var agentApiContract = {
2680
2706
  request: { query: agentApiKnowledgeGetQuerySchema },
2681
2707
  response: { body: agentApiKnowledgeGetResponseSchema }
2682
2708
  }),
2709
+ knowledgeSearch: route({
2710
+ key: "knowledgeSearch",
2711
+ method: "GET",
2712
+ path: "/knowledge/search",
2713
+ client: { resource: "knowledge", method: "search" },
2714
+ capability: "knowledge",
2715
+ description: "Search Slock Manual for Agents topics from the current server.",
2716
+ request: { query: agentApiKnowledgeSearchQuerySchema },
2717
+ response: { body: agentApiKnowledgeSearchResponseSchema }
2718
+ }),
2683
2719
  messageSend: route({
2684
2720
  key: "messageSend",
2685
2721
  method: "POST",
@@ -20724,6 +20760,7 @@ var DaemonConnection = class {
20724
20760
  slock_reason_present: Boolean(reason),
20725
20761
  slock_reason: reason
20726
20762
  }, "error");
20763
+ this.options.onHandshakeRejected?.({ statusCode, reason });
20727
20764
  response.resume();
20728
20765
  try {
20729
20766
  ws.terminate();
@@ -22392,7 +22429,7 @@ function resolveSlockCliPathOrEmpty(moduleUrl = import.meta.url) {
22392
22429
  }
22393
22430
  async function runBundledSlockCli(argv) {
22394
22431
  process.argv = [process.execPath, "slock", ...argv];
22395
- await import("./dist-GL6ZFVL7.js");
22432
+ await import("./dist-R2LWKKE2.js");
22396
22433
  }
22397
22434
  function detectRuntimes(tracer = noopTracer) {
22398
22435
  const ids = [];
@@ -22594,6 +22631,7 @@ var DaemonCore = class {
22594
22631
  onMessage: (msg) => this.handleMessage(msg),
22595
22632
  onConnect: () => this.handleConnect(),
22596
22633
  onDisconnect: () => this.handleDisconnect(),
22634
+ onHandshakeRejected: (event) => this.handleHandshakeRejected(event),
22597
22635
  onTraceEvent: (name, attrs, status) => this.recordDaemonTrace(name, attrs, status)
22598
22636
  });
22599
22637
  this.connection = connection;
@@ -22690,10 +22728,14 @@ var DaemonCore = class {
22690
22728
  }
22691
22729
  async stop() {
22692
22730
  logger.info("[Slock Daemon] Shutting down...");
22731
+ const shutdownReason = this.resolveMachineShutdownReason();
22693
22732
  const span = this.tracer.startSpan("daemon.lifecycle.stop", {
22694
22733
  surface: "daemon",
22695
22734
  kind: "internal",
22696
- attrs: { machine_lock_present: Boolean(this.machineLock) }
22735
+ attrs: {
22736
+ machine_lock_present: Boolean(this.machineLock),
22737
+ shutdown_reason: shutdownReason
22738
+ }
22697
22739
  });
22698
22740
  this.reminderCache.clear();
22699
22741
  this.traceBundleUploader?.stop();
@@ -22702,6 +22744,19 @@ var DaemonCore = class {
22702
22744
  await this.agentManager.stopAll();
22703
22745
  span.addEvent("daemon.agents.stopped");
22704
22746
  } finally {
22747
+ if (this.connection.connected) {
22748
+ this.connection.send({ type: "machine:shutdown", reason: shutdownReason });
22749
+ span.addEvent("daemon.connection.shutdown_notice_sent", {
22750
+ outcome: "sent",
22751
+ shutdown_reason: shutdownReason
22752
+ });
22753
+ } else {
22754
+ span.addEvent("daemon.connection.shutdown_notice_sent", {
22755
+ outcome: "skipped",
22756
+ reason: "not_connected",
22757
+ shutdown_reason: shutdownReason
22758
+ });
22759
+ }
22705
22760
  this.connection.disconnect();
22706
22761
  span.addEvent("daemon.connection.disconnect_requested");
22707
22762
  this.machineLock?.release();
@@ -22710,6 +22765,9 @@ var DaemonCore = class {
22710
22765
  span.end("ok");
22711
22766
  }
22712
22767
  }
22768
+ resolveMachineShutdownReason() {
22769
+ return this.computerVersion ? "computer_stop" : "daemon_stop";
22770
+ }
22713
22771
  get connected() {
22714
22772
  return this.connection.connected;
22715
22773
  }
@@ -23330,6 +23388,9 @@ var DaemonCore = class {
23330
23388
  }, "cancelled");
23331
23389
  this.options.lifecycleHooks?.onDisconnect?.();
23332
23390
  }
23391
+ handleHandshakeRejected(event) {
23392
+ this.options.lifecycleHooks?.onHandshakeRejected?.(event);
23393
+ }
23333
23394
  };
23334
23395
 
23335
23396
  export {