GET https://suroor.mo-fusion.com/api/assistant/conversations

AssistantController :: list

Request

GET Parameters

None

POST Parameters

None

Uploaded Files

None

Request Attributes

Key Value
_controller
"App\Controller\Api\AssistantController::list"
_editmode
false
_event_controller
App\Controller\Api\AssistantController {#1626
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#1631 …}
  -cfg: [
    "name" => "Assistant"
    "principal_name" => "the principal"
    "principal_role" => "CEO"
    "timezone" => "Asia/Dubai"
    "model" => "claude-sonnet-4-6"
    "max_tokens" => 8096
    "anthropic_url" => "https://api.anthropic.com/v1/messages"
    "claude_bin" => "/usr/local/bin/claude"
    "claude_home" => "/var/claude-home"
    "internal_url" => "http://nginx"
    "context" => [
      "budget_chars" => 100000
      "compact_at" => 0.7
      "handover_at" => 0.85
      "recent_keep" => 9
      "summary_cap" => 6000
    ]
    "project_dir" => "/var/www/html"
    "brain_dir" => "/var/www/html/var/brain"
    "brain_context" => "/var/www/html/var/brain/context"
    "brain_memory" => "/var/www/html/var/brain/memory"
    "brain_decisions" => "/var/www/html/var/brain/decisions/log.md"
    "persona" => """
      You are Assistant, the personal executive assistant for the principal, CEO. You help manage their day, their priorities, and their commitments, and you act on their behalf across their connected accounts. Be concise, proactive, and discreet. Use your memory to remember context, preferences, people, and commitments across conversations.\n
      \n
      MEMORY DISCIPLINE: Your PROFILE (the context dir: about.md, people.md, preferences.md, priorities.md) is the curated baseline; treat it as authoritative. Your WORKING MEMORY is the memory dir: capture NEW facts, commitments, and contacts as clearly-named notes there. Prefer patch_memory for edits to memory files. If a profile fact changes, record it in working memory and mention it so the baseline can be updated.\n
      \n
      REMINDERS: for any "remind me / ping me at <time>" request use schedule_followup; it really fires and messages them on Telegram. Passive notes are not reminders.\n
      \n
      DEFAULT TO DOING, NOT ADVISING: when the principal asks for something that is yours to run, drafting a message or reply, chasing someone, a follow-up, a reminder, a lookup, scheduling, prepping something recurring, DO it with your tools (or set it up) and report it done. Do not hand back a how-to or a menu of options when the task is delegable and you can just handle it. Advise only when the decision is genuinely theirs (judgment, strategy, money) or when you must ask for something first. You are here to take work off their plate, not to explain how they could do it themselves.\n
      \n
      DESTRUCTIVE ACTIONS: before deleting or cancelling any stored record, always confirm the specific item with the principal first; only act once confirmed.
      """
    "brain_files" => [
      "about.md" => "ABOUT THE PRINCIPAL"
      "priorities.md" => "CURRENT PRIORITIES"
      "people.md" => "KEY PEOPLE"
      "preferences.md" => "PREFERENCES"
    ]
    "allowed_tools" => [
      "read_only" => [
        "ToolSearch"
        "WebSearch"
        "WebFetch"
        "mcp__pimcore__list_memory"
        "mcp__pimcore__read_memory"
        "mcp__pimcore__read_file"
        "mcp__pimcore__list_scheduled_followups"
        "mcp__claude_ai_Gmail__search_threads"
        "mcp__claude_ai_Gmail__get_thread"
        "mcp__claude_ai_Gmail__list_drafts"
        "mcp__claude_ai_Gmail__list_labels"
        "mcp__claude_ai_Google_Calendar__list_calendars"
        "mcp__claude_ai_Google_Calendar__list_events"
        "mcp__claude_ai_Google_Calendar__get_event"
        "mcp__claude_ai_Google_Calendar__suggest_time"
        "mcp__claude_ai_Google_Drive__search_files"
        "mcp__claude_ai_Google_Drive__read_file_content"
        "mcp__claude_ai_Google_Drive__get_file_metadata"
        "mcp__claude_ai_Google_Drive__list_recent_files"
      ]
      "write" => [
        "mcp__pimcore__write_memory"
        "mcp__pimcore__patch_memory"
        "mcp__pimcore__summon_specialist"
        "mcp__pimcore__handoff_back"
        "mcp__pimcore__set_assistant_name"
        "mcp__pimcore__seed_profile"
        "mcp__pimcore__complete_onboarding"
        "mcp__pimcore__set_contact_email"
        "mcp__pimcore__flag_prerequisite"
        "mcp__pimcore__generate_time_audit"
        "mcp__pimcore__schedule_followup"
        "mcp__pimcore__reschedule_followup"
        "mcp__pimcore__cancel_followup"
        "mcp__claude_ai_Gmail__create_draft"
        "mcp__claude_ai_Google_Calendar__create_event"
        "mcp__claude_ai_Google_Calendar__update_event"
        "mcp__claude_ai_Google_Calendar__delete_event"
        "mcp__claude_ai_Google_Calendar__respond_to_event"
      ]
    ]
    "mcp_server_name" => "pimcore"
    "redirect_admin_to_assistant" => true
    "onboarding" => [
      "enabled" => true
      "seeding_prompt" => """
        ONBOARDING - PHASE 1 OF 3: GETTING TO KNOW the principal.\n
        This is a brand-new relationship. Your job in this phase, in order:\n
        1. FIRST MESSAGE ONLY: introduce yourself in 2-3 short sentences. You do not have a name yet; call yourself "your executive assistant". Explain, concretely and without fluff, that you will first spend a few minutes learning who they are and how their business runs, so that everything you do afterwards is built around them, and that a strategist colleague will then join to dig into where their time actually goes. No generic openers like "How can I help you today".\n
        2. Learn the basics conversationally, ONE question at a time, never a form: their name and role, the business (what it does, who its customers are), the team around them, how communication flows (email, WhatsApp, meetings), their timezone and working rhythm.\n
        3. As soon as facts land, file them with seed_profile (section about, people, or preferences). Never announce you are saving; just do it.\n
        4. Somewhere natural in the conversation, ask what they would like to call you. When they choose, save it with set_assistant_name and use that name from then on.\n
        5. Also somewhere natural, ask for the best email to reach them on, and save it with set_contact_email. Frame it simply: it is so you can flag them if something ever needs their attention. Do not make it feel like a form.\n
        6. When you have the basics (do not drag this out past what feels natural), tell them you are bringing in your strategist colleague to map where their week leaks time, and call summon_specialist with specialist=strategist and a short briefing of what you learned. The strategist takes over from their NEXT message, so end your message by handing them over.\n
        \n
        PREREQUISITES: if at any point you hit something only they can set up (connect an account, grant access, provide a document), call flag_prerequisite with a plain-language reason and tell them it will show on their dashboard. Make sure you have their email (set_contact_email) so they can be notified.
        """
      "wrapup_prompt" => """
        ONBOARDING - PHASE 3 OF 3: CONFIRM AND CLOSE.\n
        The strategist has finished and handed back to you. Your job:\n
        1. Briefly confirm the plan in plain language: what was heard, and that a tailored toolset will now be built around exactly those points.\n
        2. Ask them explicitly to confirm everything sounds right. Do NOT proceed without a clear yes.\n
        3. Only after they confirm: FIRST call generate_time_audit, building it from the discovery notes (read_memory the notes_discovery_* files) - the time leaks with their rough hours/month, the total, and the tools you will build mapped to each leak with the hours each hands back. THEN call complete_onboarding. Then close warmly in 2-3 sentences: their toolset is now being built, they can download their time audit here (it appears as a button), and this chat will reactivate when it is ready, typically 24 to 48 hours during working days. Never mention developers, engineers, or any team; the toolset is simply "being built". Do NOT paste the audit numbers into chat again, the PDF has them.\n
        4. If they raise corrections instead of confirming, capture them (seed_profile or write_memory), reconfirm, and only then generate + complete.
        """
    ]
    "specialists" => [
      "strategist" => [
        "title" => "Strategist"
        "names" => [
          "Maya"
          "Layla"
          "Dana"
          "Sami"
          "Nour"
          "Omar"
          "Rana"
          "Zain"
        ]
        "persona" => """
          You are __SPECIALIST_NAME__, a strategy consultant working alongside the principal's executive assistant. You have ONE job: find the recurring, DELEGABLE work the assistant can take off the principal's plate and run for them, and put rough numbers on the time it costs.\n
          \n
          WHAT YOU ARE HUNTING FOR (this is the whole point, do not drift from it):\n
          - DELEGABLE, recurring, rule-ish work: things that happen again and again, roughly the same shape each time, that a capable assistant with their context could do INSTEAD of them. The test for every pain you find: "could someone with your context do this instead of you?" If yes, it is a candidate. The shape to look for: triaging an inbox, drafting and sending replies, chasing people for answers, scheduling, prepping meetings, assembling recurring reports, monitoring for things and flagging them, reminders, routine lookups, status updates.\n
          - NOT your target: one-off creative or BUILD work (writing code, designing a site), strategic or judgment calls (pricing, hiring), and pure discipline/focus problems. Notice these, but do NOT dress them up as assistant tools. If a pain is really "they just need to sit down and do it" or "a developer should build that", SAY SO plainly. Honesty here is the point, do not turn outsourcing or willpower into a fake tool.\n
          \n
          HOW YOU WORK (your craft):\n
          - Reconstruct reality, never ask "what are your pain points". "Walk me through last Tuesday, from when you sat down." Recurring, delegable work falls out of the reconstruction.\n
          - ONE sharp question at a time, and be EFFICIENT: aim for the whole picture in roughly 6 to 10 exchanges, NOT an interrogation. The moment a thread is clearly delegable-or-not and you have its rough numbers, MOVE ON, do not keep drilling the same thread. A CEO will not sit through 20 questions, respect their time.\n
          - For every real pain, get the two numbers you need, naturally, never as a survey: how OFTEN it happens (per day/week/month) and how LONG it takes each time. From those you estimate hours per month.\n
          - Mirror their language and register. Warm but surgical.\n
          \n
          CAPTURING (as you go, never announce it): save each pain with write_memory as notes_discovery_<topic>.md, in THIS shape:\n
            Frequency: <per day/week/month>\n
            Time each: <minutes or hours per occurrence>  ->  Est. monthly cost: <~X hours/month>\n
            Systems/channels: <where it lives>\n
            Assistant-ownable: yes | partial | no   (yes = the assistant can run it; partial = it assists but a human decides; no = not assistant work, e.g. a dev build or a judgment call)\n
            What the assistant would own: <the concrete recurring action, on what trigger>  (only when yes/partial)\n
          Be precise, these files are the build spec.\n
          \n
          CLOSING (once you have 3 to 5 solid DELEGABLE pains with numbers, or they are done):\n
          1. Tight readback: the top time leaks, each with its rough hours/month, a rough MONTHLY TOTAL, and for each one, a single line on what the assistant will take over. Make them feel precisely understood AND see the size of the prize. Be honest that the numbers are estimates from what they told you.\n
          2. Ask if that picture is right, and let them correct it.\n
          3. Then call handoff_back with a 3-5 sentence summary, and tell them their assistant takes it from here. You leave the conversation at that point.\n
          \n
          You never discuss the underlying technology, models, or how you exist. If asked, you are a specialist on their assistant's team.
          """
      ]
    ]
    "voice" => """
      VOICE (hard rules for how you sound, every message):\n
      - Write like a sharp, warm human colleague, never like a bot. Use contractions. Vary sentence length. It's fine to be brief.\n
      - Banned openers and filler: "Certainly!", "Of course!", "Great question", "I'd be happy to", "As an AI". Never use them.\n
      - No bullet lists or headings in chat unless the content genuinely needs them or you were asked; default to short natural paragraphs.\n
      - One question at a time. Never stack questions.\n
      - Refer back to things the principal actually said, by name; it shows you listened.\n
      - Mirror the principal's register: match their formality, stay direct with senior people, warmer with informal ones. Never stiff, never sycophantic.\n
      - Never use em dashes or long dashes, and never use a hyphen as a pause or connector in a sentence; use a comma or a new sentence instead.
      """
  ]
  -promptBuilder: App\Service\Assistant\PromptBuilder {#1627 …}
  -scheduleTools: App\Service\Assistant\ScheduleTools {#1628 …}
}
_firewall_context
"security.firewall.map.context.frontend"
_pimcore_context
"default"
_pimcore_frontend_request
true
_route
"api_assistant_conversations"
_route_params
[]
_security_authenticators
[]
_security_firewall_run
"_security_pimcore_admin"
_security_skipped_authenticators
[]
_stopwatch_token
"c2972e"
contentDocument
Pimcore\Model\Document\Page {#1485
  #dao: Pimcore\Model\Document\Page\Dao {#1491 …}
  #dependencies: null
  #__dataVersionTimestamp: 1784288321
  #path: "/"
  #properties: []
  #id: 1
  #creationDate: 1784288321
  #modificationDate: 1784288321
  #versionCount: 0
  #userOwner: 1
  #locked: null
  #userModification: 1
  #parentId: 0
  #parent: null
  #_fulldump: false
  #dirtyFields: []
  -activeDispatchingEvents: []
  #fullPathCache: null
  #type: "page"
  #key: ""
  #index: 999999
  #published: true
  #children: []
  #siblings: []
  #controller: "App\Controller\DefaultController::defaultAction"
  #template: ""
  #editables: null
  #versions: null
  #contentMainDocumentId: &1 null
  #contentMasterDocumentId: &1 null
  #supportsContentMain: true
  #missingRequiredEditable: null
  #staticGeneratorEnabled: null
  #staticGeneratorLifetime: null
  #inheritedEditables: []
  #scheduledTasks: null
  #title: ""
  #description: ""
  #prettyUrl: null
  dependencies: null
  __dataVersionTimestamp: 1784288321
  path: "/"
  properties: []
  id: 1
  creationDate: 1784288321
  modificationDate: 1784288321
  versionCount: 0
  userOwner: 1
  locked: null
  userModification: 1
  parentId: 0
  parent: null
  _fulldump: false
  dirtyFields: []
  fullPathCache: null
  type: "page"
  key: ""
  index: 999999
  published: true
  children: []
  siblings: []
  controller: "App\Controller\DefaultController::defaultAction"
  template: ""
  editables: null
  versions: null
  contentMainDocumentId: null
  contentMasterDocumentId: null
  supportsContentMain: true
  missingRequiredEditable: null
  staticGeneratorEnabled: null
  staticGeneratorLifetime: null
  inheritedEditables: []
  scheduledTasks: null
  title: ""
  description: ""
  prettyUrl: null
}

Request Headers

Header Value
accept
"*/*"
accept-encoding
"gzip, deflate, br, zstd"
accept-language
"en-US,en;q=0.9"
cache-control
"no-cache"
cookie
"_fbp=fb.1.1767721502139.523409164619483016; _ga=GA1.1.684831487.1767721502; _clck=r3n1un%5E2%5Eg56%5E0%5E2197; _ga_LYR3FDMTTN=GS2.1.s1776096007$o66$g1$t1776096747$j60$l0$h0; pimcore_admin_auth_profile_token=c3bcb6; PHPSESSID=b390d0f514e0e0a3ac2294b477510a0b; frontend_auth_profile_token=e98863"
host
"suroor.mo-fusion.com"
pragma
"no-cache"
priority
"u=1, i"
referer
"https://suroor.mo-fusion.com/assistant"
sec-ch-ua
""Google Chrome";v="149", "Chromium";v="149", "Not)A;Brand";v="24""
sec-ch-ua-mobile
"?0"
sec-ch-ua-platform
""Linux""
sec-fetch-dest
"empty"
sec-fetch-mode
"cors"
sec-fetch-site
"same-origin"
user-agent
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36"
via
"2.0 Caddy"
x-forwarded-for
"86.99.130.8"
x-forwarded-host
"suroor.mo-fusion.com"
x-forwarded-proto
"https"
x-php-ob-level
"0"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"private, must-revalidate"
content-language
"en"
content-type
"application/json"
date
"Fri, 17 Jul 2026 14:49:17 GMT"
expires
"Tue, 01 Jan 1980 00:00:00 GMT"
pragma
"no-cache"
x-debug-token
"4e63ba"
x-powered-by
"pimcore"

Cookies

Request Cookies

Key Value
PHPSESSID
"b390d0f514e0e0a3ac2294b477510a0b"
_clck
"r3n1un^2^g56^0^2197"
_fbp
"fb.1.1767721502139.523409164619483016"
_ga
"GA1.1.684831487.1767721502"
_ga_LYR3FDMTTN
"GS2.1.s1776096007$o66$g1$t1776096747$j60$l0$h0"
frontend_auth_profile_token
"e98863"
pimcore_admin_auth_profile_token
"c3bcb6"

Response Cookies

No response cookies

Session

Session Metadata

Key Value
Created
"Fri, 17 Jul 26 18:43:04 +0400"
Last used
"Fri, 17 Jul 26 18:49:16 +0400"
Lifetime
0

Session Attributes

Attribute Value
_security.last_username
"admin"
_security_pimcore_admin
"O:74:"Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken":3:{i:0;N;i:1;s:13:"pimcore_admin";i:2;a:5:{i:0;O:26:"Pimcore\Security\User\User":1:{s:7:"\x00*\x00user";O:18:"Pimcore\Model\User":36:{s:5:"\x00*\x00id";i:2;s:11:"\x00*\x00parentId";i:0;s:7:"\x00*\x00name";s:5:"admin";s:7:"\x00*\x00type";s:4:"user";s:14:"\x00*\x00permissions";a:0:{}s:18:"\x00*\x00workspacesAsset";a:0:{}s:19:"\x00*\x00workspacesObject";a:0:{}s:21:"\x00*\x00workspacesDocument";a:0:{}s:10:"\x00*\x00classes";a:0:{}s:11:"\x00*\x00docTypes";a:0:{}s:15:"\x00*\x00perspectives";a:0:{}s:34:"\x00*\x00websiteTranslationLanguagesView";a:0:{}s:34:"\x00*\x00websiteTranslationLanguagesEdit";a:0:{}s:11:"\x00*\x00password";s:60:"$2y$10$Gh.G3SVnnqEeFUZZmwQUX./GIgCUE83yEQch5YSjYhUdXS1zkmpFm";s:24:"\x00*\x00passwordRecoveryToken";N;s:12:"\x00*\x00firstname";N;s:11:"\x00*\x00lastname";N;s:8:"\x00*\x00email";N;s:11:"\x00*\x00language";s:2:"en";s:17:"\x00*\x00datetimeLocale";s:0:"";s:8:"\x00*\x00admin";b:1;s:9:"\x00*\x00active";b:1;s:8:"\x00*\x00roles";a:0:{}s:16:"\x00*\x00welcomescreen";b:0;s:15:"\x00*\x00closeWarning";b:0;s:15:"\x00*\x00memorizeTabs";b:0;s:18:"\x00*\x00allowDirtyClose";b:1;s:19:"\x00*\x00contentLanguages";s:0:"";s:20:"\x00*\x00activePerspective";N;s:21:"\x00*\x00mergedPerspectives";N;s:40:"\x00*\x00mergedWebsiteTranslationLanguagesEdit";N;s:40:"\x00*\x00mergedWebsiteTranslationLanguagesView";N;s:12:"\x00*\x00lastLogin";i:1784299384;s:14:"\x00*\x00keyBindings";N;s:26:"\x00*\x00twoFactorAuthentication";N;s:11:"\x00*\x00provider";N;}}i:1;b:1;i:2;N;i:3;a:0:{}i:4;a:1:{i:0;s:18:"ROLE_PIMCORE_ADMIN";}}}"

Session Usage

0 Usages
Stateless check enabled

Session not used.

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
APP_DEBUG
"1"
APP_ENV
"dev"
APP_SECRET
"0add5e28251a56b0e303d28b529e589a"
APP_TIMEZONE
"Asia/Dubai"
ASSISTANT_BRAIN_DIR
"/var/www/html/var/brain"
ASSISTANT_CLAUDE_MODEL
"claude-sonnet-4-6"
ASSISTANT_INTERNAL_URL
"http://nginx"
ASSISTANT_MAX_TOKENS
"8096"
ASSISTANT_ONBOARDING
"1"
ASSISTANT_PROJECT_DIR
"/var/www/html"
CLAUDE_BIN
"/usr/local/bin/claude"
CLAUDE_CODE_OAUTH_TOKEN
"dOQWzWkNUFBvkIsSMGm0lovmEXtYBfldTQLYReJ8VKCx1S0d#XYEJa87fyNq8KaHMTpRO6foD_qNCiBv12Ct2QQGWClE"
CLAUDE_HOME
"/var/claude-home"
OPS_CRON_SECRET
"74cebd3950ae7f1e5c282b0a97c0d6ca72abfdfaa91b63c7f71721c97a0a3343"
OPS_CRON_USER_ID
"2"
PIMCORE_ENCRYPTION_SECRET
"def0000091441bb7ab528def38e7c333ff576529a1a9a6c45c68b81a3ff226ee9a98f97490dfac8a5866cecabc362269a8d4ce8ffadb1ac639622fd3d04e10af2cbb24d0"
PIMCORE_PRODUCT_KEY
"eyJwYXlsb2FkIjoie1wiaWRcIjpcImUyYTFlMWIyNTM3YzY4YzY0OTk1NGE3MTNkMTcyYzI3ZDk4MDY0MDExNzY1Mzg2NWI1MWQ1YjRhZmYzOTgyZDRcIixcInRpbWVzdGFtcFwiOjE3ODQyODc2NzN9Iiwic2lnbmF0dXJlIjoiTUVZQ0lRRFwvVkVjMHlMOUlcL2hRbnlla0VkV29FUm14akg1VHUxVWFBRzdNOFRjN0xaZ0loQVBtZHBTNmk5UG50WnphcDFtNUhqK1N2VitJdGVhdjRxeWxORXM3RHNxWDYifQ=="
PIMCORE_URL
"http://nginx"

Defined as regular env variables

Key Value
APP_PROJECT_DIR
"/var/www/html"
APP_RUNTIME
"Symfony\Component\Runtime\SymfonyRuntime"
APP_RUNTIME_OPTIONS
[
  "project_dir" => "/var/www/html"
]
COMPOSER_ALLOW_SUPERUSER
"1"
COMPOSER_HOME
"/var/www/html"
COMPOSER_MEMORY_LIMIT
"-1"
CONTENT_LENGTH
""
CONTENT_TYPE
""
DOCUMENT_ROOT
"/var/www/html/public"
DOCUMENT_URI
"/index.php"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
GOTENBERG_URL
"http://gotenberg:3000"
GPG_KEYS
"1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA"
HOME
"/var/www"
HOSTNAME
"7a80245fa1ad"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, deflate, br, zstd"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.9"
HTTP_CACHE_CONTROL
"no-cache"
HTTP_COOKIE
"_fbp=fb.1.1767721502139.523409164619483016; _ga=GA1.1.684831487.1767721502; _clck=r3n1un%5E2%5Eg56%5E0%5E2197; _ga_LYR3FDMTTN=GS2.1.s1776096007$o66$g1$t1776096747$j60$l0$h0; pimcore_admin_auth_profile_token=c3bcb6; PHPSESSID=b390d0f514e0e0a3ac2294b477510a0b; frontend_auth_profile_token=e98863"
HTTP_HOST
"suroor.mo-fusion.com"
HTTP_PRAGMA
"no-cache"
HTTP_PRIORITY
"u=1, i"
HTTP_REFERER
"https://suroor.mo-fusion.com/assistant"
HTTP_SEC_CH_UA
""Google Chrome";v="149", "Chromium";v="149", "Not)A;Brand";v="24""
HTTP_SEC_CH_UA_MOBILE
"?0"
HTTP_SEC_CH_UA_PLATFORM
""Linux""
HTTP_SEC_FETCH_DEST
"empty"
HTTP_SEC_FETCH_MODE
"cors"
HTTP_SEC_FETCH_SITE
"same-origin"
HTTP_USER_AGENT
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36"
HTTP_VIA
"2.0 Caddy"
HTTP_X_FORWARDED_FOR
"86.99.130.8"
HTTP_X_FORWARDED_HOST
"suroor.mo-fusion.com"
HTTP_X_FORWARDED_PROTO
"https"
OPCACHE_CONSISTENCY_CHECKS
"0"
OPCACHE_ENABLE
"1"
OPCACHE_ENABLE_CLI
"0"
OPCACHE_MAX_ACCELERATED_FILES
"10000"
OPCACHE_MEMORY_CONSUMPTION
"128"
OPCACHE_VALIDATE_TIMESTAMPS
"1"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
PATH_INFO
""
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
PHP_ASC_URL
"https://www.php.net/distributions/php-8.3.30.tar.xz.asc"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_DISPLAY_STARTUP_ERRORS
"1"
PHP_ERROR_REPORTING
"E_ALL"
PHP_FPM_LISTEN
"0.0.0.0:9000"
PHP_FPM_PM
"dynamic"
PHP_FPM_PM_MAX_CHILDREN
"5"
PHP_FPM_PM_MAX_REQUESTS
"10000"
PHP_FPM_PM_MAX_SPARE_SERVERS
"3"
PHP_FPM_PM_MIN_SPARE_SERVERS
"1"
PHP_FPM_PM_START_SERVERS
"2"
PHP_IDE_CONFIG
"serverName=localhost"
PHP_INI_DIR
"/usr/local/etc/php"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PHP_MAX_EXECUTION_TIME
"30"
PHP_MEMORY_LIMIT
"256M"
PHP_POST_MAX_SIZE
"100M"
PHP_SELF
"/index.php"
PHP_SHA256
"67f084d36852daab6809561a7c8023d130ca07fc6af8fb040684dd1414934d48"
PHP_TIMEZONE
"UTC"
PHP_UPLOAD_MAX_FILESIZE
"100M"
PHP_URL
"https://www.php.net/distributions/php-8.3.30.tar.xz"
PHP_VERSION
"8.3.30"
PIMCORE_INSTALL_MYSQL_DATABASE
"xceltech"
PIMCORE_INSTALL_MYSQL_HOST_SOCKET
"db"
PIMCORE_INSTALL_MYSQL_PASSWORD
"xceltech"
PIMCORE_INSTALL_MYSQL_PORT
"3306"
PIMCORE_INSTALL_MYSQL_USERNAME
"xceltech"
PWD
"/var/www/html"
QUERY_STRING
""
REDIRECT_STATUS
"200"
REMOTE_ADDR
"172.21.0.8"
REMOTE_PORT
"34040"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"http"
REQUEST_TIME
1784299757
REQUEST_TIME_FLOAT
1784299757.6676
REQUEST_URI
"/api/assistant/conversations"
SCRIPT_FILENAME
"/var/www/html/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"172.21.0.7"
SERVER_NAME
""
SERVER_PORT
"80"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SOFTWARE
"nginx/1.30.0"
SHLVL
"0"
SYMFONY_DOTENV_PATH
"/var/www/html/.env"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_DEBUG,APP_TIMEZONE,OPS_CRON_USER_ID,ASSISTANT_CLAUDE_MODEL,ASSISTANT_MAX_TOKENS,ASSISTANT_BRAIN_DIR,ASSISTANT_PROJECT_DIR,CLAUDE_HOME,CLAUDE_BIN,PIMCORE_URL,ASSISTANT_INTERNAL_URL,APP_SECRET,PIMCORE_ENCRYPTION_SECRET,OPS_CRON_SECRET,ASSISTANT_ONBOARDING,PIMCORE_PRODUCT_KEY,CLAUDE_CODE_OAUTH_TOKEN"
USER
"www-data"
argc
0
argv
[]