"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/types.ts
var types_exports = {};
__export(types_exports, {
  Schemas: () => Schemas,
  TYPES: () => TYPES
});
module.exports = __toCommonJS(types_exports);
var import_typebox = require("@sinclair/typebox");
var TYPES = {
  FoundryClient: Symbol.for("FoundryClient"),
  RangrClient: Symbol.for("RangrClient"),
  WeatherService: Symbol.for("WeatherService"),
  WorldDao: Symbol.for("WorldDao"),
  UserDao: Symbol.for("UserDao"),
  MachineDao: Symbol.for("MachineDao"),
  TicketDao: Symbol.for("TicketDao"),
  CommsDao: Symbol.for("CommsDao"),
  ThreadsDao: Symbol.for("ThreadsDao"),
  RfpRequestsDao: Symbol.for("RfpRequestsDao"),
  RangrRfpRequestsDao: Symbol.for("RangrRfpRequestsDao"),
  MemoryRecallDao: Symbol.for("MemoryRecallDao"),
  ContactsDao: Symbol.for("ContactsDao"),
  GeminiService: Symbol.for("GeminiService"),
  GeminiSearchStockMarket: Symbol.for("GeminiSearchStockMarket"),
  OfficeService: Symbol.for("OfficeService"),
  MessageService: Symbol.for("MessageService"),
  EmbeddingsService: Symbol.for("EmbeddingsService"),
  TrainingDataDao: Symbol.for("TrainingDataDao")
};
var Schemas = {
  SendEmail: {
    input: import_typebox.Type.Object({
      recipients: import_typebox.Type.Array(import_typebox.Type.String()),
      subject: import_typebox.Type.String(),
      message: import_typebox.Type.String()
    }),
    output: import_typebox.Type.Object({
      id: import_typebox.Type.String(),
      threadId: import_typebox.Type.String(),
      labelIds: import_typebox.Type.Array(import_typebox.Type.String())
    })
  },
  ScheduleMeeting: {
    input: import_typebox.Type.Object({
      summary: import_typebox.Type.String(),
      description: import_typebox.Type.Optional(import_typebox.Type.String()),
      start: import_typebox.Type.String(),
      end: import_typebox.Type.String(),
      attendees: import_typebox.Type.Array(import_typebox.Type.String())
    }),
    output: import_typebox.Type.Object({
      id: import_typebox.Type.String(),
      htmlLink: import_typebox.Type.String(),
      status: import_typebox.Type.String()
    })
  },
  FindOptimalMeetingTime: {
    input: import_typebox.Type.Object({
      participants: import_typebox.Type.Array(import_typebox.Type.String()),
      timeframe_context: import_typebox.Type.String(),
      duration_minutes: import_typebox.Type.Optional(import_typebox.Type.Number({ default: 30 })),
      working_hours: import_typebox.Type.Optional(import_typebox.Type.Object({
        start_hour: import_typebox.Type.Number({ default: 9 }),
        end_hour: import_typebox.Type.Number({ default: 17 })
      })),
      timezone: import_typebox.Type.String()
    }),
    output: import_typebox.Type.Object({
      suggested_times: import_typebox.Type.Array(import_typebox.Type.Object({
        start: import_typebox.Type.String(),
        end: import_typebox.Type.String(),
        score: import_typebox.Type.Number()
      })),
      message: import_typebox.Type.String()
    })
  }
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  Schemas,
  TYPES
});
