tool (executeServersideCode)

Parent: tool

Applies whentype = executeServersideCode

Direct Properties:

PropertyTypeRequiredDefault ValueDetails
namestringYesdata type=string; maxLen=64; textCase=LOWER
typeenumYesdata type=string; lov=PLUGINS
Valid values: executeServersideCode
executionPointenumYesdata type=string; lov=STATIC
Valid values: augmentSystemPrompt onDemand
descriptionmultiline stringNodata type=multiline string; maxLen=4000
Applies whenexecutionPoint = onDemand

Property Groups:

  • settings
  • userApproval
  • notification
  • advanced
  • serverSideCondition
  • security
  • config
  • comments
settings
PropertyTypeRequiredDefault ValueDetails
languageenumYesdata type=string; lov=STATIC
Valid values: plsql js-mle
plsqlCodestringYesdata type=string; maxLen=4000
Applies whenlanguage = PLSQL
jsCodestringYesdata type=string; maxLen=4000
Applies whenlanguage = JAVASCRIPT
settings {
  language: plsql
  plsqlCode: value
  jsCode: value
}
userApproval
PropertyTypeRequiredDefault ValueDetails
requiresConfirmationbooleanYesfalsedata type=boolean
Applies whenexecutionPoint = onDemand
titlestringNodata type=string; maxLen=255
Applies whenexecutionPoint = onDemand and requiresConfirmation = true
messagemultiline stringYesdata type=multiline string; maxLen=4000
Applies whenexecutionPoint = onDemand and requiresConfirmation = true
confirmLabelstringNodata type=string; maxLen=255
Applies whenexecutionPoint = onDemand and requiresConfirmation = true
cancelLabelstringNodata type=string; maxLen=255
Applies whenexecutionPoint = onDemand and requiresConfirmation = true
userApproval {
  requiresConfirmation: false
  title: value
  message: ```
    value
  ```
  confirmLabel: value
  cancelLabel: value
}
notification
PropertyTypeRequiredDefault ValueDetails
messagemultiline stringNodata type=multiline string; maxLen=4000
Applies whenexecutionPoint = onDemand
typeenumNodata type=string; lov=STATIC
Valid values: info success
Applies whenexecutionPoint = onDemand and message is set
notification {
  message: ```
    value
  ```
  type: info
}
advanced
PropertyTypeRequiredDefault ValueDetails
staticIdstringYesdata type=string; maxLen=255
Enter a unique Static ID to identify this component in API calls or refer to it in application export files. If you change the Static ID, dependent components will retain their references, but any existing API calls using the old ID must be updated manually.
advanced {
  staticId: value
}
serverSideCondition
PropertyTypeRequiredDefault ValueDetails
typeenumNodata type=string; lov=STATIC
Valid values: anyUserPromptContains lastUserPromptContains rowsReturned noRowsReturned expression functionBody never

Select a condition type that must be met in order for the Augment System Prompt tool to be executed, or the On Demand tool to be made available to the AI Service.

For the condition types Any User Prompt contains and Last User Prompt contains, provide a comma-separated list of words to check for their presence in the user's prompt.

In programmatic contexts, you can use the following special bind variables to access and evaluate the user's prompt:

APEX$AI_LAST_USER_PROMPT: Contains the most recent user-entered prompt.

APEX$AI_ALL_USER_PROMPTS: Contains all user prompts, concatenated into a single string.

sqlQuerymultiline stringYesdata type=multiline string; maxLen=4000
Applies whentype in (rowsReturned)type in (noRowsReturned)
languageenumYesplsqldata type=string; lov=STATIC
Valid values: sql plsql javaScript-mle
Applies whentype = expression
sqlExpressionmultiline stringYesdata type=multiline string; maxLen=4000
Applies whentype = expression and language = sql
plsqlExpressionmultiline stringYesdata type=multiline string; maxLen=4000
Applies whentype = expression and language = plsql
javaScriptExpressionmultiline stringYesdata type=multiline string; maxLen=4000
Applies whentype = expression and language = javaScript-mle
languageenumYesplsqldata type=string; lov=STATIC
Valid values: plsql javaScript-mle
Applies whentype = functionBody
plsqlFunctionBodymultiline stringYesdata type=multiline string; maxLen=4000
Applies whentype = functionBody and language = plsql
javaScriptFunctionBodymultiline stringYesdata type=multiline string; maxLen=4000
Applies whentype = functionBody and language = javaScript-mle
listarray of stringsYesdata type=string; maxLen=4000
Applies whentype in (anyUserPromptContains)type in (lastUserPromptContains)
serverSideCondition {
  type: anyUserPromptContains
  sqlQuery: ```sql
    value
  ```
  language: sql
  sqlExpression: ```sql
    value
  ```
  plsqlExpression: ```plsql
    value
  ```
  javaScriptExpression: ```javascript-mle
    value
  ```
  plsqlFunctionBody: ```plsql
    value
  ```
  javaScriptFunctionBody: ```javascript-mle
    value
  ```
  list: [
    value
    value
  ]
}
security
PropertyTypeRequiredDefault ValueDetails
authorizationSchemeenumNodata type=reference; lov=COMPONENT; references=authorization
Valid values: mustNotBePublicUser
security {
  authorizationScheme: mustNotBePublicUser
}
config
PropertyTypeRequiredDefault ValueDetails
buildOptionreferenceNodata type=reference; lov=COMPONENT; references=buildOption
config {
  buildOption: @component
}
comments
PropertyTypeRequiredDefault ValueDetails
commentsmultiline stringNodata type=multiline string; maxLen=4000
comments {
  comments: ```
    value
  ```
}

APEXlang Example

tool sample (
    name: value
    type: executeServersideCode
    executionPoint: augmentSystemPrompt
    description: ```
      value
    ```
    settings {
        language: plsql
        plsqlCode: value
        jsCode: value
    }
    userApproval {
        requiresConfirmation: false
        title: value
        message: ```
          value
        ```
        confirmLabel: value
        cancelLabel: value
    }
    notification {
        message: ```
          value
        ```
        type: info
    }
    advanced {
        staticId: value
    }
    serverSideCondition {
        type: anyUserPromptContains
        sqlQuery: ```sql
          value
        ```
        language: sql
        sqlExpression: ```sql
          value
        ```
        plsqlExpression: ```plsql
          value
        ```
        javaScriptExpression: ```javascript-mle
          value
        ```
        plsqlFunctionBody: ```plsql
          value
        ```
        javaScriptFunctionBody: ```javascript-mle
          value
        ```
        list: [
          value
          value
        ]
    }
    security {
        authorizationScheme: mustNotBePublicUser
    }
    config {
        buildOption: @component
    }
    comments {
        comments: ```
          value
        ```
    }
)