can't run linter goanalysis_metalinter

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest Super-linter version available?

[X] I am using the latest Super-linter version.

[X] I can reproduce the issue running Super-linter using complete version identifier (example: vX.Y.Z), and not just with a partial one (example: vX)

[X] I am using the super-linter/super-linter action or container image, and not the deprecated github/super-linter action or container image.

Are you resonably sure that it's a Super-linter issue, and not an issue related to a tool that Super-linter runs?

[X] I think that this is a Super-linter issue.

Current Behavior
GO_MODULES linting is failing when run via super-linter but not when run directly via golangci-lint.
Expected Behavior
GO_MODULES linting should show the same successes / failures as golangci-lint
Super-Linter version
v6.6.0

Relevant log output
2024-07-01 21:12:22 [INFO]   Linting GO_MODULES items...
2024-07-01 21:12:22 [DEBUG]   PARALLEL_RESULTS_FILE_PATH for GO_MODULES: /tmp/super-linter-worker-results-GO_MODULES.json
2024-07-01 21:12:22 [DEBUG]   LOG_DEBUG is enabled. Enable verbose ouput for parallel
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose
2024-07-01 21:12:22 [DEBUG]   GO_MODULES doesn't support linting files in batches. Configure the linter to run over the files to lint one by one
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES after updating the number of files to lint per process: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose --max-lines 1
2024-07-01 21:12:22 [DEBUG]   LINTER_WORKING_DIRECTORY for GO_MODULES: {}
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES after updating the working directory: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose --max-lines 1 --workdir {}
2024-07-01 21:12:22 [DEBUG]   Checking if /action/lib/.automation/.checkov.yaml contains a 'directory:' configuration option
2024-07-01 21:12:22 [DEBUG]   /action/lib/.automation/.checkov.yaml doesn't contain a 'directory:' statement
2024-07-01 21:12:22 [DEBUG]   Adding the '--directory' option to the Checkov command.
2024-07-01 21:12:22 [DEBUG]   LINTER_COMMAND_ARRAY for GO_MODULES has 6 elements: golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: {}\"
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES after LINTER_COMMAND_ARRAY concatenation: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose --max-lines 1 --workdir {} golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: {}\"
2024-07-01 21:12:37 [DEBUG]   PARALLEL_COMMAND_OUTPUT for GO_MODULES (exit code: 2): cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint\"
2024-07-01 21:12:37 [DEBUG]   Parallel output file (/tmp/super-linter-worker-results-GO_MODULES.json) contents for GO_MODULES:
{ \"Seq\": 1, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.976, \"JobRuntime\": 11.099, \"Send\": 0, \"Receive\": 41, \"Exitval\": 0, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"Linted: /tmp/lint/redacted
\", \"Stderr\": \"\" }
{ \"Seq\": 2, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.983, \"JobRuntime\": 13.397, \"Send\": 0, \"Receive\": 0, \"Exitval\": 3, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"\", \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\" }
{ \"Seq\": 3, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.988, \"JobRuntime\": 11.338, \"Send\": 0, \"Receive\": 47, \"Exitval\": 0, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"Linted: /tmp/lint/redacted
\", \"Stderr\": \"\" }
{ \"Seq\": 4, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.993, \"JobRuntime\": 14.217, \"Send\": 0, \"Receive\": 36, \"Exitval\": 0, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"Linted: /tmp/lint/redacted
\", \"Stderr\": \"\" }
{ \"Seq\": 5, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.001, \"JobRuntime\": 14.223, \"Send\": 0, \"Receive\": 0, \"Exitval\": 3, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint\\"\", \"V\": [ \"/tmp/lint\" ], \"Stdout\": \"\", \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\" }
2024-07-01 21:12:37 [ERROR]   Found errors when linting GO_MODULES. Exit code: 2.
2024-07-01 21:12:37 [DEBUG]   RESULTS_OBJECT for GO_MODULES:
[
  {
    \"Seq\": 1,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.976,
    \"JobRuntime\": 11.099,
    \"Send\": 0,
    \"Receive\": 41,
    \"Exitval\": 0,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"Linted: /tmp/lint/redacted
\",
    \"Stderr\": \"\"
  },
  {
    \"Seq\": 2,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.983,
    \"JobRuntime\": 13.397,
    \"Send\": 0,
    \"Receive\": 0,
    \"Exitval\": 3,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"\",
    \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\"
  },
  {
    \"Seq\": 3,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.988,
    \"JobRuntime\": 11.338,
    \"Send\": 0,
    \"Receive\": 47,
    \"Exitval\": 0,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"Linted: /tmp/lint/redacted
\",
    \"Stderr\": \"\"
  },
  {
    \"Seq\": 4,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.993,
    \"JobRuntime\": 14.217,
    \"Send\": 0,
    \"Receive\": 36,
    \"Exitval\": 0,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"Linted: /tmp/lint/redacted
\",
    \"Stderr\": \"\"
  },
  {
    \"Seq\": 5,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.001,
    \"JobRuntime\": 14.223,
    \"Send\": 0,
    \"Receive\": 0,
    \"Exitval\": 3,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint\\"\",
    \"V\": [
      \"/tmp/lint\"
    ],
    \"Stdout\": \"\",
    \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\"
  }
]
2024-07-01 21:12:37 [DEBUG]   Set INDEX for GO_MODULES to: 5
2024-07-01 21:12:37 [INFO]   Command output for GO_MODULES:
------
Linted: /tmp/lint/redacted
Linted: /tmp/lint/redacted
Linted: /tmp/lint/redacted
------
2024-07-01 21:12:37 [DEBUG]   Saving stdout for GO_MODULES to /tmp/super-linter-parallel-stdout-GO_MODULES in case we need it later
2024-07-01 21:12:37 [INFO]   Stderr contents for GO_MODULES:
------
level=warning msg=\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
level=error msg=\"Running error: can't run linter goanalysis_metalinter
buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
level=warning msg=\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
level=error msg=\"Running error: can't run linter goanalysis_metalinter
buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
------

Steps To Reproduce
podman run \
	-e RUN_LOCAL=true \
	-e DEFAULT_BRANCH=main \
	-e VALIDATE_PYTHON_MYPY=false \
	-e VALIDATE_PYTHON_PYLINT=false \
	-e VALIDATE_RUST_CLIPPY=false \
	-e VALIDATE_GO=false \
	-e LOG_LEVEL=DEBUG \
	-v "$(pwd):/tmp/lint" \
	--rm \
	ghcr.io/super-linter/super-linter:v6.6.0

Anything else?
It looks like this was previously reported in https://github.com/super-linter/super-linter/issues/5211 but that issue appears to have been closed without a fix.

Hi @ssmall !
How are you running golangci-lint outside Super-linter?
We need to understand how it compares against what Super-linter runs.
Also, we likely need a reproduction case.

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest Super-linter version available?

[X] I am using the latest Super-linter version.

[X] I can reproduce the issue running Super-linter using complete version identifier (example: vX.Y.Z), and not just with a partial one (example: vX)

[X] I am using the super-linter/super-linter action or container image, and not the deprecated github/super-linter action or container image.

Are you resonably sure that it's a Super-linter issue, and not an issue related to a tool that Super-linter runs?

[X] I think that this is a Super-linter issue.

Current Behavior
GO_MODULES linting is failing when run via super-linter but not when run directly via golangci-lint.
Expected Behavior
GO_MODULES linting should show the same successes / failures as golangci-lint
Super-Linter version
v6.6.0

Relevant log output
2024-07-01 21:12:22 [INFO]   Linting GO_MODULES items...
2024-07-01 21:12:22 [DEBUG]   PARALLEL_RESULTS_FILE_PATH for GO_MODULES: /tmp/super-linter-worker-results-GO_MODULES.json
2024-07-01 21:12:22 [DEBUG]   LOG_DEBUG is enabled. Enable verbose ouput for parallel
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose
2024-07-01 21:12:22 [DEBUG]   GO_MODULES doesn't support linting files in batches. Configure the linter to run over the files to lint one by one
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES after updating the number of files to lint per process: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose --max-lines 1
2024-07-01 21:12:22 [DEBUG]   LINTER_WORKING_DIRECTORY for GO_MODULES: {}
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES after updating the working directory: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose --max-lines 1 --workdir {}
2024-07-01 21:12:22 [DEBUG]   Checking if /action/lib/.automation/.checkov.yaml contains a 'directory:' configuration option
2024-07-01 21:12:22 [DEBUG]   /action/lib/.automation/.checkov.yaml doesn't contain a 'directory:' statement
2024-07-01 21:12:22 [DEBUG]   Adding the '--directory' option to the Checkov command.
2024-07-01 21:12:22 [DEBUG]   LINTER_COMMAND_ARRAY for GO_MODULES has 6 elements: golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: {}\"
2024-07-01 21:12:22 [DEBUG]   PARALLEL_COMMAND for GO_MODULES after LINTER_COMMAND_ARRAY concatenation: parallel --will-cite --keep-order --max-procs 128 --xargs --results /tmp/super-linter-worker-results-GO_MODULES.json --verbose --max-lines 1 --workdir {} golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: {}\"
2024-07-01 21:12:37 [DEBUG]   PARALLEL_COMMAND_OUTPUT for GO_MODULES (exit code: 2): cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint/redacted || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint/redacted
cd /tmp/lint || exit 255; golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \"Linted: /tmp/lint\"
2024-07-01 21:12:37 [DEBUG]   Parallel output file (/tmp/super-linter-worker-results-GO_MODULES.json) contents for GO_MODULES:
{ \"Seq\": 1, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.976, \"JobRuntime\": 11.099, \"Send\": 0, \"Receive\": 41, \"Exitval\": 0, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"Linted: /tmp/lint/redacted
\", \"Stderr\": \"\" }
{ \"Seq\": 2, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.983, \"JobRuntime\": 13.397, \"Send\": 0, \"Receive\": 0, \"Exitval\": 3, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"\", \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\" }
{ \"Seq\": 3, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.988, \"JobRuntime\": 11.338, \"Send\": 0, \"Receive\": 47, \"Exitval\": 0, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"Linted: /tmp/lint/redacted
\", \"Stderr\": \"\" }
{ \"Seq\": 4, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.993, \"JobRuntime\": 14.217, \"Send\": 0, \"Receive\": 36, \"Exitval\": 0, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted \"V\": [ \"/tmp/lint/redacted ], \"Stdout\": \"Linted: /tmp/lint/redacted
\", \"Stderr\": \"\" }
{ \"Seq\": 5, \"Host\": \":\", \"Starttime\":<PHONE_NUMBER>.001, \"JobRuntime\": 14.223, \"Send\": 0, \"Receive\": 0, \"Exitval\": 3, \"Signal\": 0, \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint\\"\", \"V\": [ \"/tmp/lint\" ], \"Stdout\": \"\", \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\" }
2024-07-01 21:12:37 [ERROR]   Found errors when linting GO_MODULES. Exit code: 2.
2024-07-01 21:12:37 [DEBUG]   RESULTS_OBJECT for GO_MODULES:
[
  {
    \"Seq\": 1,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.976,
    \"JobRuntime\": 11.099,
    \"Send\": 0,
    \"Receive\": 41,
    \"Exitval\": 0,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"Linted: /tmp/lint/redacted
\",
    \"Stderr\": \"\"
  },
  {
    \"Seq\": 2,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.983,
    \"JobRuntime\": 13.397,
    \"Send\": 0,
    \"Receive\": 0,
    \"Exitval\": 3,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"\",
    \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\"
  },
  {
    \"Seq\": 3,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.988,
    \"JobRuntime\": 11.338,
    \"Send\": 0,
    \"Receive\": 47,
    \"Exitval\": 0,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"Linted: /tmp/lint/redacted
\",
    \"Stderr\": \"\"
  },
  {
    \"Seq\": 4,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.993,
    \"JobRuntime\": 14.217,
    \"Send\": 0,
    \"Receive\": 36,
    \"Exitval\": 0,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint/redacted
    \"V\": [
      \"/tmp/lint/redacted
    ],
    \"Stdout\": \"Linted: /tmp/lint/redacted
\",
    \"Stderr\": \"\"
  },
  {
    \"Seq\": 5,
    \"Host\": \":\",
    \"Starttime\":<PHONE_NUMBER>.001,
    \"JobRuntime\": 14.223,
    \"Send\": 0,
    \"Receive\": 0,
    \"Exitval\": 3,
    \"Signal\": 0,
    \"Command\": \"golangci-lint run --allow-parallel-runners -c /tmp/lint/.github/linters/.golangci.yaml && echo \\"Linted: /tmp/lint\\"\",
    \"V\": [
      \"/tmp/lint\"
    ],
    \"Stdout\": \"\",
    \"Stderr\": \"level=warning msg=\\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
level=error msg=\\"Running error: can't run linter goanalysis_metalinter\nbuildir: failed to load package internal: could not load export data: no export data for \\\"github.com/google/go-tpm-tools/simulator/internal\\\"\\"
\"
  }
]
2024-07-01 21:12:37 [DEBUG]   Set INDEX for GO_MODULES to: 5
2024-07-01 21:12:37 [INFO]   Command output for GO_MODULES:
------
Linted: /tmp/lint/redacted
Linted: /tmp/lint/redacted
Linted: /tmp/lint/redacted
------
2024-07-01 21:12:37 [DEBUG]   Saving stdout for GO_MODULES to /tmp/super-linter-parallel-stdout-GO_MODULES in case we need it later
2024-07-01 21:12:37 [INFO]   Stderr contents for GO_MODULES:
------
level=warning msg=\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
level=error msg=\"Running error: can't run linter goanalysis_metalinter
buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
level=warning msg=\"[runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
level=error msg=\"Running error: can't run linter goanalysis_metalinter
buildir: failed to load package internal: could not load export data: no export data for \\"github.com/google/go-tpm-tools/simulator/internal\\"\"
------

Steps To Reproduce
podman run \
	-e RUN_LOCAL=true \
	-e DEFAULT_BRANCH=main \
	-e VALIDATE_PYTHON_MYPY=false \
	-e VALIDATE_PYTHON_PYLINT=false \
	-e VALIDATE_RUST_CLIPPY=false \
	-e VALIDATE_GO=false \
	-e LOG_LEVEL=DEBUG \
	-v "$(pwd):/tmp/lint" \
	--rm \
	ghcr.io/super-linter/super-linter:v6.6.0

Anything else?
It looks like this was previously reported in https://github.com/super-linter/super-linter/issues/5211 but that issue appears to have been closed without a fix.

Closing for the lack of replies.

Apologies, last week was a holiday  in the US so I didn't get time to reply to this. I am working on a repro case and will post it here. If you would kindly re-open the bug it would be much appreciated.

Here is a simple repro that causes super-linter to fail: https://github.com/ssmall/super-linter-5824

Thanks for providing a reproduction case. This helped troubleshooting the issue.
Here's what I tried:

go mod tidy: didn't change anything, same result
go build ./: here's where things start going wrong.
WARN [runner] Can't run linter goanalysis_metalinter: buildir: failed to load package internal: could not load export data: no export data for "github.com/google/go-tpm-tools/simulator/internal"
ERRO Running error: can't run linter goanalysis_metalinter
buildir: failed to load package internal: could not load export data: no export data for "github.com/google/go-tpm-tools/simulator/internal"

4ac14a91db57:/tmp/lint# apk add --no-cache openssl-dev
fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
(1/4) Upgrading libcrypto3 (3.1.4-r6 -> 3.1.6-r0)
(2/4) Upgrading libssl3 (3.1.4-r6 -> 3.1.6-r0)
(3/4) Installing pkgconf (2.1.0-r0)
(4/4) Installing openssl-dev (3.1.6-r0)
Executing busybox-1.36.1-r15.trigger
Executing ca-certificates-20230506-r0.trigger
OK: 1434 MiB in 176 packages

4ac14a91db57:/tmp/lint# go build ./
4ac14a91db57:/tmp/lint# golangci-lint run --allow-parallel-runners -c /action/lib/.automation/.golangci.yml .
# no errors reported

So, the issue is that the Super-linter container is missing dependencies to build the project. Of course, we cannot possibly install dependencies when we build the image because we don't know that in advance, so it's likely that we either have to provide a way to do this dynamically. Marking this as enhancement request because it's not an issue with Super-linter itself.


Differences in products

The data available from  https://spec.edmcouncil.org/fibo/OWL do no seem to provide a consistency view on FIBO.
There exist a discrepancy between (the current versions of):

FIBO as available from LoadFIBOProd.rdf from https://spec.edmcouncil.org/fibo/OWL
FIBO as available from prod.fibo-quickstart.ttl from https://spec.edmcouncil.org/fibo/OWL

I compared both ontologies from  using  Protege metrics - the discrepancies reported in
fibo_web_product_diffs.xlsx show the diffs in counts of classes, properties, axioms, etc.

@dallemang , have you been looking at this issue? Please, let us know what's your opinion.


[BUG] Error while opening bloxstrap

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
Ok so I am having the same issues as another post BUT his fix didnt fix mine as bloxstrap is not showing up in control panel. I also renamed my user file.
https://github.com/pizzaboxer/bloxstrap/issues/2528#issue-2438685941

Read the Wiki. https://github.com/pizzaboxer/bloxstrap/wiki/Bloxstrap-stops-working-after-renaming-the-user-profile-folder


Estimate summary

I would like to see estimate summaries both per column (in the header - just leave out if there are no estimates) and per board. This would make it easier to know how much work is left, finished, etc (and how much is planned in total).

Sounds like a useful enhancement.


[systemd] systemd-sysusers.service fails to start.

Version
Microsoft Windows [Version 10.0.22621.674]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
5.15.68
Distro Version
Arch Linux
Other Software
No response
Repro Steps
Start the distro with systemd enabled in wsl.conf.
Expected Behavior
systemd services should be successfully initialized.
Actual Behavior
systemd will start in a degraded state as systemd-sysusers.service will fail to start.
The reason for this failure (with a workaround) is documented here: https://github.com/arkane-systems/genie/wiki/Systemd-units-known-to-be-problematic-under-WSL#systemd-sysusersservice
Diagnostic Logs
No response

I'm seeing the similar issue on Fedora37
 wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.45
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22623.746

systemctl --failed
  UNIT                     LOAD   ACTIVE SUB    DESCRIPTION
● systemd-sysusers.service loaded failed failed Create System Users
● systemd-oomd.socket      loaded failed failed Userspace Out-Of-Memory (OOM) Killer Socket

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
2 loaded units listed.

See above link for real underlying issue and workaround.


Make description Govspeak

In order to places links in the summary on the Finder page, the
description for a Policy needs to be a Govspeak field. This commit adds
the gem and uses this in the content item presenter.

Tests?

:+1:


Add string regex and uuid validators

Hi, I just started using Zog and I love it so far. During development, I noticed that there are no validators for both UUID and regex. Let me know what you think about adding these two. I hope I didn't mess up the Spanish translations.  Feel free to close this if you prefer to keep the interface lean before v1.0.

This is awesome @amaro0 thanks a lot. These were on my TODO but I'm have been busy and I am currently focusing on implementing pointers. Overall it looks good. If you don't mind doing a few small changes I am more than happy to merge this:

fix the linting error
spanish uuid error should be "Debe ser un UUID válido"
I would like the regex to be a parameter for the regex test. You can look at the contains test for en example of how to do this. Such that the error is not "string is invalid" but rather "string does not match regex {{regex}}" or something like that.

Lastly, one thing I would like your thoughts on:

Should the name for the test be "Matches" or "Regex"?
"Matches" feels a little more golang since the methods in stdlib are regexp.Match() & regexp.MatchString()
"Regex" is more Zod

I can honestly go either way
Also how did you get the uuid regex? Here are some other ones unsure if any are better, regexes are impossible to review XD:
# used by Yup
/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i
# used by zod. This one looks like the one you used and it looks like zod used the Yup version but switched
/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i

# Golang Validator project has multiple:
	uUID3RegexString                 = "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$"
	uUID4RegexString                 = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	uUID5RegexString                 = "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	uUIDRegexString                  = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
	uUID3RFC4122RegexString          = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-3[0-9a-fA-F]{3}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
	uUID4RFC4122RegexString          = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
	uUID5RFC4122RegexString          = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-5[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
	uUIDRFC4122RegexString           = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"

anyways. After looking at it I think its fine. We'll just use what Zod uses.

Oh, btw how was the contributing process? I still don't have a guide up but I hope the code is quite readable and easy to understand. I'm curious if you had trouble understanding any specific parts of the code when implementing this. If you did I would love to hear them so I can explain those in the contributing guide

I would like the regex to be a parameter for the regex test. You can look at the contains test for en example of how to do this. Such that the error is not "string is invalid" but rather "string does not match regex {{regex}}" or something like that.

I did this at first but decided to ditch that approach. There are two problems with this approach that I can think of:

Bad actor can use regex from error message for ReDoS attack
The end user would not understand what needs to be fixed based on that error message

I also reviewed the zod library, which does not expose the regex in the error message but instead provides a simple string is invalid error message. I believe not exposing the regex is a sensible default. If needed, you can manually include the regex in a custom error message.
Let me know your thoughts on this approach.

Should the name for the test be "Matches" or "Regex"?

For me regex is more natural as I am using zod for few years. Also I am rarely developing in Go.

Also how did you get the uuid regex?

Taken from the zod source code. As I am primarily working in web dev and never used non-v4 UUIDs, this is all I need. Also since this regex allows UPPERCASE characters it might be beneficial to add ToLowerCase/ToUpperCase methods
Contributing was a breeze. I looked at implementation of URL validator and everything was immediately clear. I spent more time picking and testing UUID regex than writing the code. I was bit surprised by the presence of Spanish translations.

I did this at first but decided to ditch that approach. There are two problems with this approach that I can think of:

You are right and I am wrong. This is the better approach.

For me regex is more natural as I am using zod for few years. Also I am rarely developing in Go.
Lets rename it to match then. Its a little more specific and doesn't close the door to implementing other regex methods (such as find, etc). I think regex is more intuitive but overall match is better. To be clear "Match" not "Matches" like I said before. "Match" is the actual name of the method being used under the hood so I think this makes more sense.

Contributing was a breeze. I looked at implementation of URL validator and everything was immediately clear. I spent more time picking and testing UUID regex than writing the code. I was bit surprised by the presence of Spanish translations.

I can't put into words how happy this makes me feel! Thanks!

Thanks a lot for everything! I know its annoying doing small changes like this.
I forgot to say that Zog supports spanish mostly because I am spanish and need the translations. If you ever want to make another PR spanish is not required I'm happy to come in and add the translations as needed.

Done :)

Merged. Thank you!  You are awesome


feat: add tabs.onRemoved and tabs.onCreated mocks

Hello 👋
I'm a core contributor to Adblock plus and i'm experimenting with using this library to help us write more unit tests.
I noticed that it misses a few methods on the tabs API that we would need to make use of, also noticed the issue #107 where somebody else encountered a similar problem.
I took a (very) quick stab at adding those missing methods:

tabs.onCreated
tabs.onRemoved

I followed the existing pattern that exists with onUpdated, i.e. I did not implement mock functionalities to make the addListener, removeListener and hasListener work (we could for an example keep track of the functions added as listeners and return correct values in hasListener), but simply mocked them with jest.fn().
Looking forward to feedback to on this 🤞

Hey @clarkbw 👋  Anything I can do to get this merged?
I'd actually love to contribute more to this repo, I think it's super useful for extension developers 😊


Clarify that UX concepts apply to Web/Mobile (#201)

Docs Build status updates of commit 5c7d9b1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

globalization/localizability/ui-considerations.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[Task]: Training videos and documentation for flagsmith

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks
No response

Updated notion doc with all documentation: https://www.notion.so/appsmith/Using-Feature-Flags-in-Appsmith-d362fe7acc7d4ef0aa12e1f5f9b83b5f?pvs=4


NPC-Sheet, the rolls do not work properly

No matter how you try, the rolls and attributes are not added together, so the NPC sheet is useless.
No error is displayed in the console, so something seems to have been forgotten on the NPC-Sheet that attributes, skills and modifiers are calculated together.

Yeah, this can be a little unintuitive but it does function that way on purpose. The NPC sheet does not add these values as this is the convention in all Paizo-provided stat blocks (see https://aonsrd.com/AlienDisplay.aspx?ItemName=Space Goblin Zaperator&Family=Goblin (Space), for example).
The skill bonuses are meant to be the only thing added to NPC rolls. If a skill is not listed, the attribute bonus is rolled instead. Things like AC bonuses from armor are likewise not added to NPCs, as Paizo's NPCs don't always follow the standard rule of 10 + Dex + AC mod. The values for skill roll and AC bonuses are just whatever is put in the field on the sheet directly.
If you want the values to automatically calculate in the expected way like a character does, you can make the NPC using a Character sheet.


Make objectContaining recursive into sub-objects

Addressing bug report facebook/jest#10462. According to the docs, objectContaining should apply in a recursive sense, however it doesn't seem to do this currently.

Summary
This change will make objectContaining work recursively into sub-objects.

Test plan
Included a unit test for the new behavior, and confirmed that all older tests still pass.

Ergh, seems CI is unhappy 😅 Would you be able to take a look?

Hey Simen, thanks for looking at this so quickly. The only check failing now is the windows-latest test run on a seemingly completely unrelated DOM test, and this check passed on a previous push to this PR. Is there a way to re-run the CI pipeline? I think this will pass on a re-run. Thanks!

Yeah, that failure looks like flake. I'll retrigger CI 👍

@ioancole sorry, this seems to produce a type error. Could you take a look?

Hey! It's fixed now. Thanks again

Thanks @ioancole!

Hi, I just encountered an error of TypeError: Cannot set property xxx of [object yyy] which has only a getter, and I think this is probably caused by this MR, which will do mutating with this.sample[property] = .... I could raise an issue if you wish.

In case somebody else is running into this: Some of my tests relying on MobX stopped working because of that. I don't know why exactly that happens, but it seems to me like if I pass a variable holding an object to expect.objectContaining (especially a boxed observable from MobX) some stuff does not work anymore. I have e.g. used the intercept function in MobX using such a variable, and this function seems to write something onto the interceptors property of that variable. For some reason the interceptors property seems to be changed after passing that variable to a expect.objectContaining check.
Not sure why this is happening, but it sounds to me like it should not, right? Maybe @mweststrate is able to help out with some details.

@danrot see #10689 - we'll release a patch today

@SimenB It's now always been a week :grimacing: Wouldn't it make sense at that point to release that fix already? Especially since it seems not to be that easy to downgrade (I tried to put "jest": "26.6.0" in the package.json, but that does not seem to do the trick, and AFAIK there is no "conflict" property in NPM to avoid that package).

Yeah, sorry. Got stuck on fixing #10690 which landed last night. We'll actually revert this PR and make a release today, see https://github.com/facebook/jest/issues/10716#issuecomment-720202510

Revert released in https://github.com/facebook/jest/releases/tag/v26.6.2


update README -- composition operator is now |

Commit 6163e3e611441416c206b46d646fc8a589864717 changed the composition operator from + to |

Thanks - sorry it's taken me a while to get to this


Adding on a test class for Long2LongCounterMap.

Was playing around with the code and noticed it wouldn't hurt to add on a test class.
Please feel free to let me know if there are any concerns, or if there is anything that could be improved.

This class is auto generated based on the Int2IntCounterMap. There is minimal advantage to this but it does add multiple points requiring maintenance. It there a specific test case you think is missing that this addresses which is not addressed in Int2IntCounterMap which has caused you issue?

@mjpt777 nothing in particular that has caused any issue yet. If anything specific does come up, I am happy to raise it.
The PR was only suggested since I figured it may be somewhat useful when I ran all the tests with coverage.
At the same time, I do understand your point. Since this is auto generated based on Int2IntCounterMap which already has tests, it may not be critical to add another set of similar tests for Long2LongCounterMap.
I am open to either approach; if we feel that this is useful, feel free to merge, or we can close this for now until we find something specific.

Thanks


(PUP-9344) Add alt # flag to String %p formatting rule

This adds support for the alternative flag # when using the %p
String formatting rule. By default it selects single or double
quotes around the string based on its content. Single quoted
output may sometimes not be desired.
Thus String("hello world", '%#p') will produce "hello world" and
String("hello world", '%p') will produce 'hello world' since it can
be expressed as a single quoted string.

Travis failure is related to not being able to get gce? and facts... restarted build.

The Travis failure is a known issue that was fixed in 5.5.x and is awaiting a mergeup.

The Travis failure is a known issue that was fixed in 5.5.x and is awaiting a mergeup.

The Travis failure is a known issue that was fixed in 5.5.x and is awaiting a mergeup.

The Travis failure is a known issue that was fixed in 5.5.x and is awaiting a mergeup. It doesn't have to block this PR.

@Magisus This has popped up in chat with users that want to use the Array/Hash format rules instead of handwriting a template with iteration. It is needed as a format thing because the result is for a technology where double quotes are required. e.g for hash output like:
key1="string"
key2="string"

Since the %p format uses single quotes if it can, this meant user had to write the transformation by hand.


Token-length reported by alexScan miscomputed in --latin1 mode

The following repro-case demonstrates the problem:
-- -*- haskell -*-
{
module Main where

import qualified Data.ByteString as B
import Data.Word
}

%encoding "latin1"

:-

<0> [\x01-\xff]+ { False }
<0> [\x00]       { True  }

{
type AlexInput = B.ByteString

alexGetByte :: AlexInput -> Maybe (Word8,AlexInput)
alexGetByte = B.uncons

alexInputPrevChar :: AlexInput -> Char
alexInputPrevChar = undefined

-- generated by @alex@
alexScan :: AlexInput -> Int -> AlexReturn Bool

{-

GOOD cases:

("012\NUL3","012","\NUL3",3,3,False)
("\NUL0","\NUL","0",1,1,True)
("012","012","",3,3,False)

BAD case:

("0@P`p\128\144\160","0@P`p","",5,8,False)

expected:

("0@P`p\128\144\160","0@P`p\128\144\160","",8,8,False)

-}
main :: IO ()
main = do
    go (B.pack [0x30,0x31,0x32,0x00,0x33]) -- GOOD
    go (B.pack [0x00,0x30]) -- GOOD
    go (B.pack [0x30,0x31,0x32]) -- GOOD

    go (B.pack [0x30,0x40,0x50,0x60,0x70,0x80,0x90,0xa0]) -- BAD
  where
    go inp = case (alexScan inp 0) of
               -- expected invariant: len == B.length inp - B.length inp'
               AlexToken inp' len b -> print (inp, B.take len inp, inp',len,B.length inp - B.length inp',b)
}

The cause is most likely the one already pointed out in #63, i.e.
https://github.com/simonmar/alex/blob/ff84f447bbca5f3b660fcdc5c3124920c7197b1c/templates/GenericTemplate.hs#L178-L180
which tries to count code-points encoded in UTF8, but which makes no sense when in the 8-bit clean --latin1 mode.

This issue is still open in 3.2.6.

This issue is still open in 3.2.6.

Yes, I do want to release with all the good new stuff since. But at the time I did 3.2.6, CI I was broken, so I was being very very cautious.

Yes, I do want to release with all the good new stuff since. But at the time I did 3.2.6, CI I was broken, so I was being very very cautious.


Description Text Cut-Off Last Character

The last character (often just a .) is cut-off on every field description during report generation.

I know that there's code to remove the trailing . character, specifically...but it should not be removing other characters.
Regardless, I think that behavior should be optional. Working on a change/fix.

@ab-tools if you are able to provide a simple schema where a non . is removed, please let me know!

Thanks a lot for looking into that, @newhouse:
I think you are right that all occurrences of this issue I found were about a trailing ., I just could not imagine this would be on purpose, so I thought it was just the last character that got removed. ;-)
But yes, please make that optional (or remove this "feature" completely).
Not sure when this would make sense actually?
Even in the documentation link as an example on GitHub I think it's pretty strange that the last description sentence of many descriptions there is missing a . at the end, e. g. here:
https://www.useanvil.com/docs/api/graphql/reference/#operation-signer-Queries

I can't remember why I put it i there, honestly, but at this point in time it does not seem desirable to me. Fix coming soon.

I can't remember why I put it i there, honestly, but at this point in time it does not seem desirable to me. Fix coming soon.

Fixed in 0.9.4. There is now an option for it.


Fixed dev env.

Fixed instructions to run dev environment in README (and changed script in package.json). Also added a .nvmrc file to let nvm know which version of node to use.
In order to try it, clone the repo and just follow the instructions in the README to set it up.

I made alternative fixes for this using yarn so going to close. But thank you!


[Snyk] Security upgrade redis.clients:jedis from 4.4.3 to jedis-3.6.2

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

661/1000  Why? Recently disclosed, Has a fix available, CVSS 7.5
Allocation of Resources Without Limits or Throttling SNYK-JAVA-ORGJSON-5962464
redis.clients:jedis:  4.4.3 -> jedis-3.6.2
Yes
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Allocation of Resources Without Limits or Throttling

This fix makes no sense


[Feature request] GDPR Compliance notice

Hi there,
I'm using Bookstack in the EU and even though I am the sole user of the installation it is required for a website that is accessible in the EU to comply with the GDPR and have a cookie-acceptance thingy.
Is it possible to get like a small pop-up that asks to accept cookies and if not accepted redirect to another website or possibly even disable all cookies on Bookstack?

Hi @NHendriks01,
From my dealings with GDPR, the core BookStack functionality should not need a cookie notice. BookStack by default will only use a couple of first-party cookies for CSRF protection and session tracking.
The only things I would potentially be cautious of is the third party integrations BookStack could use (Draw.io and Gravatar) which would only be active if logging in and making edits, so not something I think is a concern for your use case.
If you need to add something for some other cookies/systems you might be using (If you've added analytics tracking or something) you may be able to find a solution you can add to the "Custom HTML Head Content" part of BookStack.

Ah cool! Thanks for your response! I think I'll leave it like this then as I'm not planning on making it for public use :)


[PROPOSAL] Formalize expectations around CVE remediation

In order to build trust in the security posture of our codebase, we should be more explicit about expectations of how quickly we will be fixing publicly disclosed vulnerabilities. I propose we add more clear language around frequency of our maintenance releases and our commitment to fixing CVSSv3 MEDIUM or higher severity vulnerabilities in them.
[from the OpenSSF Best Practices criteria page] (related to issue #93)

There MUST be no unpatched vulnerabilities of medium or higher severity that have been publicly known for more than 60 days.
The vulnerability must be patched and released by the project itself (patches may be developed elsewhere). A vulnerability becomes publicly known (for this purpose) once it has a CVE with publicly released non-paywalled information (reported, for example, in the National Vulnerability Database) or when the project has been informed and the information has been released to the public (possibly by the project). A vulnerability is considered medium or higher severity if its Common Vulnerability Scoring System (CVSS) base qualitative score is medium or higher. In CVSS versions 2.0 through 3.1, this is equivalent to a CVSS score of 4.0 or higher. Projects may use the CVSS score as published in a widely-used vulnerability database (such as the National Vulnerability Database) using the most-recent version of CVSS reported in that database. Projects may instead calculate the severity themselves using the latest version of CVSS at the time of the vulnerability disclosure, if the calculation inputs are publicly revealed once the vulnerability is publicly known. Note: this means that users might be left vulnerable to all attackers worldwide for up to 60 days. This criterion is often much easier to meet than what Google recommends in Rebooting responsible disclosure, because Google recommends that the 60-day period start when the project is notified even if the report is not public. Also note that this badge criterion, like other criteria, applies to the individual project. Some projects are part of larger umbrella organizations or larger projects, possibly in multiple layers, and many projects feed their results to other organizations and projects as part of a potentially-complex supply chain. An individual project often cannot control the rest, but an individual project can work to release a vulnerability patch in a timely way. Therefore, we focus solely on the individual project's response time. Once a patch is available from the individual project, others can determine how to deal with the patch (e.g., they can update to the newer version or they can apply just the patch as a cherry-picked solution).

Thanks @davidlago. Can you clarify your expectations to back porting fixes to older version branches? For example, if a CVE is remediated in the latest 2.x branch, do we back port it to the latest 1.x branch version? And if so, how far back to we go and for how long? What about breaking changes that impact our commitment to Semantic Versioning. Thanks!

I think those are 2 separate issues:

Regardless of mechanism, whether it is coming as a back-port or a direct PR (for example, for CVEs only affecting older branches), the goal is to address the CVEs in all supported/actively maintained versions. The definition of what those versions are or for how long is out of the scope of this proposal
Some fixes we will not be able to fix without breaking SemVer (in cases where a non-breaking change fix does not exist). These in my view fall under the category of "no fix available" for the specific versions.

I'm interested in exploring what we can do for 2), and we should document that. Suggestions welcome!

PR merged, closing this issue.

@davidlago , What do we classify as a vulnerability here? Is this where there is a proven vulnerability in the product (e.g. OpenSearch core)? Or would this include having dependencies with known vulnerabilities even if there is not a likely path to execute the vulnerable code? I ask because our products bring in lots of dependencies, some of which have functionality which is not used in the end-product.

@dlvenable we are talking about CVEs reported in our code or its dependencies. Even when not directly exploitable directly, they create noise as they get reported when people scan the software (wasting cycles looking into each one of them, or asking us to assess whether there is an impact or not), and in some cases even if a specific vulnerability is not exploitable, a combination of a few not directly exploitable ones could lead to an exploit.
Think about these expectations as more of a hygiene thing than strictly centered around vulnerability remediation.


Fix: unbounded alloc and slice out of bounds crashes

In rtrlib.Decode():

Now check the message length is not greater than a hardcoded limit
(2048) to prevent unbounded memory allocations
Fix a few unchecked slice accesses that could result in crashes with the
right payload in the PDU_ID_ERROR_REPORT case.

I'm not super familiar with the protocol, I feel 2k max message size is enough but please correct me if I'm wrong.
I also took the liberty to change error returns to be more idiomatic.

Thanks!
I checked if the RFC specify a maximum length. It allocates 4 bytes for the length but there is no reason a PDU should be 4GB.
   Length:  A 32-bit unsigned integer that has as its value the count of
      the bytes in the entire PDU, including the eight bytes of header
      that end with the length field.

But later in the text, it mentions excessive length implying the maximum size would be 32 (IPv6 PDU).
   If the error is associated with a PDU of excessive length, i.e., too
   long to be any legal PDU other than another Error Report, or a
   possibly corrupt length, the Erroneous PDU field MAY be truncated.

So maximum size could be 32 bytes.
I'd rather not hardcode it (for development purposes) but putting it as a default.
I'll start reviewing/testing soon then will merge.

Hi @lspgn, thanks for the quick reply,
I have a feeling that 32B is not enough for the PDU_ID_ERROR_REPORT txt error message but I might be wrong here.
Looking at it some more, a 800B (hardcoded: https://github.com/cloudflare/gortr/blob/master/lib/server.go#L783) buffer is allocated for reading packets from the network conn, so the PDU cannot exceed that length anyway. (this however does not limit allocation further down so we still need the check from this PR).

Thank you !


Added semi-transparent background for reservoir chart.

Addresses #361

Ah, sorry, know that these screenshots are actually with 80% opacity, but the PR is for 70%.

too opaque?


js运行时支持ESM

Clear and concise description of the problem

大佬你好，请问如何让系统支持js文件ESM导出呢？
Suggested solution
// test.js
export const Env = 'xxx'
Alternative
No response
Additional context
No response
Validations

[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

文件后缀改成 mjs

文件后缀改成 mjs

确实可以，mjs是node传统兼容esm的方案，要不现代化考虑下把package


⚠ api.piste.gouv.fr healthcheck has degraded performance

In c256f88, api.piste.gouv.fr healthcheck (https://api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 5712 ms

Resolved: api.piste.gouv.fr healthcheck performance has improved in ac0c16d.


Error: wrong number of arguments (1 for 0) while loading '/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/dropbox.rb'

I tried to run brew cask uninstall dropbox, but I got this error:
<main>:5:in `name'
<main>:5:in `<class:Dropbox>'
<main>:in `<main>'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/source/path_base.rb:55:in `eval'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/source/path_base.rb:55:in `rescue in load'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/source/path_base.rb:52:in `load'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/source/tapped.rb:28:in `load'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask.rb:120:in `load'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/cli/uninstall.rb:8:in `block in run'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/cli/uninstall.rb:6:in `each'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/cli/uninstall.rb:6:in `run'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/cli.rb:81:in `run_command'
/usr/local/Cellar/brew-cask/0.42.0/rubylib/cask/cli.rb:121:in `process'
/usr/local/bin/brew-cask.rb:42:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/brew.rb:60:in `require?'
/usr/local/Library/brew.rb:139:in `<main>'

You’re using an old version of homebrew-cask. Please brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup and try again.
Please always do this before opening new issues.
Also, please do a search before opening issues, this one is extremely common (and the cause is always a very old version of homebrew-cask).


Datetime deserialization requires Python 3.7+; emit useful error on earlier Python versions

When loading an object with a DateTime from the DB I get the following error:
[2020-08-06 21:27:11,628] ERROR in app: Error in user confirmation: type object 'datetime.datetime' has no attribute 'fromisoformat'
type object 'datetime.datetime' has no attribute 'fromisoformat': AttributeError
Traceback (most recent call last):
  File "/var/task/app.py", line 48, in handle_post_authentication
    raise e
  File "/var/task/app.py", line 25, in handle_post_authentication
    .filter_by(sub=event["request"]["userAttributes"]["sub"])
  File "/var/task/sqlalchemy/orm/query.py", line 3316, in one_or_none
    ret = list(self)
  File "/var/task/sqlalchemy/orm/loading.py", line 101, in instances
    util.raise_from_cause(err)
  File "/var/task/sqlalchemy/util/compat.py", line 398, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/var/task/sqlalchemy/util/compat.py", line 153, in reraise
    raise value
  File "/var/task/sqlalchemy/orm/loading.py", line 81, in instances
    rows = [proc(row) for row in fetch]
  File "/var/task/sqlalchemy/orm/loading.py", line 81, in <listcomp>
    rows = [proc(row) for row in fetch]
  File "/var/task/sqlalchemy/orm/loading.py", line 574, in _instance
    populators,
  File "/var/task/sqlalchemy/orm/loading.py", line 695, in _populate_full
    dict_[key] = getter(row)
  File "/var/task/sqlalchemy_aurora_data_api/__init__.py", line 75, in process
    return self.py_type.fromisoformat(value) if isinstance(value, str) else value
AttributeError: type object 'datetime.datetime' has no attribute 'fromisoformat'

Here is my User model:

The fromisoformat method is new in Python 3.7. If you wish to retrieve datetimes from your table, you must use Python 3.7+. Re-titled issue to reflect this.

Fixed in b5c22da7b9d5b0e9bb15a50121b31a73534ada47, released in v0.2.1.


Aim Tool Animated Icon and the Mod Item Creative Tab

Added Aim Tool Animated Icon
Added Mod Item Group tab With Items Present
Note: Blocks will need to be added separately in Mod Item Group

Please use owo-itemgroups for the Item Group
Also roll back Item registration to use owo-registration

Also please fill COMMITS.md with relevant info

Also please fill COMMITS.md with relevant info

COMMITS.md has been deprecated in favor of more verbose commit messages


[Kernel] Correctly invoke prefill & decode kernels for cross-attention (towards eventual encoder/decoder model support)

This PR is a step towards encoder/decoder model support. This PR modifies the xFormers backend* such that (1) the attention impl can implement cross-attention, and (2) the attention metadata data structure can represent the necessary metadata for invoking cross-attention.
* FlashAttention backend support for encoder/decoder models is left as future work

A quick overview of the plan for supporting encoder/decoder models in vLLM:

Architectural assumptions:

The encoder/decoder model comprises one non-autoregressive encoder module and one autoregressive decoder module.
A single inference call to the model consumes an encoder prompt and a decoder prompt. The model output is the result of decoder inference against the decoder prompt, conditional on the encoder hidden states which result from applying the encoder to the encoder prompt. The encoder hidden states are not part of the overall model output
Thus, encoder inference is a prerequisite for decoder inference. The decoder consumes encoder hidden states via cross-attention, which is not present in decoder-only models.
It is assumed that these architectural details are handled inside the model definition; however, to support the inference process for such models, vLLM core must be changed to accommodate cross-attention

Encoder/decoder inference process & cross-attention:

Prefill phase: (1) Non-autoregressive encoder inference yields encoder hidden states in a single pass; no KV caching occurs. (2) decoder prefill yields first-token-prediction & cached KVs. Within the decoder, cross-attention layers cache the KVs derived from encoder hidden states:

Key_{cross-attn, layer-n} = W_{K, cross-attn, layer-n} x (Encoder hidden states)

Value_{cross-attn, layer-n} = W_{V, cross-attn, layer-n} x (Encoder hidden states)

Note that all cross-attention layers consume the same encoder hidden states; however each cross-attention layers' keys and values differ because each layer has unique W_{K, cross-attn, layer-n} and W_{V, cross-attn, layer-n}. Therefore, the cross-attention KV cache must store KVs for each decoder layer, even though these KVs are all derived from a single set of encoder hidden states.

Note that self-attention layer behavior is unchanged compared to what it would be in a decoder-only model (cache KVs computed from the previous decoder layer outputs.)

Decode phase: during each iteration of the autoregressive decode process,

Each self-attention layer appends the last predicted token's KVs to the KV cache, and then utilizes cached KVs for next-token prediction (again, this is unchanged compared to a decoder-only model)
Each cross-attention layer has read-only access to cross-attention KVs, to use for next-token prediction. The cross-attention KV cache is never modified after prefill

To implement the above encoder/decoder inference process, the following functionality will be added to vLLM over the course of multiple PRs:

Support cross-attention KV cache & memory management (allocate/swap/free) in block manager

See PR: https://github.com/vllm-project/vllm/pull/4837

(This PR) Invoke cross-attention operation via the Attention wrapper & Attention metadata data structure
Modify ModelRunner to construct input tensors & Attention metadata structures for cross-attention
Small changes to LLM engine & scheduler so that vLLM requests can include an encoder input prompt

Note 1: because this PR makes an incremental contribution (cross-attention KV-caching and memory management), this PR will not enable end-to-end encoder/decoder support (this will rely on later PRs.)
Note 2: the best effort is being made to ensure that encoder/decoder models are compatible with existing vLLM features. At this time, encoder/decoder models are unlikely to be compatible with the following vLLM features:

Speculative decoding
Chunked prefill
Automatic prefix caching
Sliding window
Flash attention
CUDA graph

INCREMENTAL FIX TOWARDS #187
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

Hi @sroy745 here you can find pseudocode (based on the vLLM Mixtral implementation) showing the proposal for how to construct an encoder/decoder model
https://gist.github.com/afeldman-nm/d061efe58d4b4f5caa8bc3f9d95a8107

To speed up the CI queue, I've cancelled the distributed tests for the latest CI run in this PR since they won't pass anyway until #5905 has been merged. Now that it has been merged, please merge main into your branch so that the CI can pass once again.

To speed up the CI queue, I've cancelled the distributed tests for the latest CI run in this PR since they won't pass anyway until #5905 has been merged. Now that it has been merged, please merge main into your branch so that the CI can pass once again.

Thanks @DarkLight1337 , just did the merge.

@afeldman-nm Sorry for the delay. Let me take a look at the PR this afternoon.

@afeldman-nm Thanks for the PR.
Overall, I'm OK with this change. The code in xformers.py is a bit difficult to follow, but it's understandable given the inherent complexity.
The only thing I'd like to ask is to avoid using \ in the code as guided in https://google.github.io/styleguide/pyguide.html#32-line-length Please use parentheses if the line overflows. Also, please considering adding , to the last argument of the methods (particularly in the forward method of the attention backends) if that reduces the line changes.

@WoosukKwon Thanks, I have addressed your feedback (both the specific points of feedback as well as the more general styleguide suggestsions.)
I agree it is hard to make xformers comprehensible given the complexity, perhaps this can wait for a future PR.
Please let me know if you have any other changes to recommend, or if the fixes look satisfactory.

Thanks @sroy745 @maxdebayser @njhill @WoosukKwon @robertgshaw2-neuralmagic for all of your excellent help in landing this PR!


Frozen when doing Openpose preprocess - last version.

It stays as 0/ XXX forever when trying to preprocess openpose folder images. Images are 512. Working on a 4090.

Its the dw preprocessor, not installing propperly, how can I disable it - uninstall?

Are you running with administrator privileges?

Ill try that, I could input preprocessed frames and run other controlnets without any issue. But still frozen when pre- with controlnet.

https://github.com/s9roll7/animatediff-cli-prompt-travel/issues/42

42 is always the answer. Run Powershell in admin mode. That fixed it for me.


Unable to minify

Hello,
I'm looking for minify tool which can obfuscate whole my project.
I need to rename all variables, methods, properties and classes names (including "export" ones).
I'm trying to use ts-minify but currently have these problem:

"Symbol information could not be extracted"
I have this error near:

export function x(let el: Element) {
el.className = "xx"; // here
}

do I need to load ES5 library for ts-minify?

If I set fastFail to false, error (1) goes out (!) but I see another error:
"Error: ts-minify does not support accepting both internal and external types at a use site
Symbol name: Dialog"

I have class Dialog:
export class Dialog {
..
}

and use it in this way (in other files):
import {Dialog} from "dir/dialog"
What am I doing wrong? TSC sees no problems in such code.

Exports are not being renamed...
I pass all linked to each other files as one array to renameProgram() method, so I expect ts-minify knows anything about classes and can rename them in all the files.
I want to rename anything except one API class I specify (and its public methods). All other classes are internal, tough they have "export" keyword.
How to pass API class name to ts-minify and let ts-minify to rename everything except it?

I will be very appreciated for any help :)

Hi. This project was a bit of a tech demo/try out, but never quite made it to seaworthiness.
@alexeagle has been busy adding bits and pieces to https://github.com/angular/tsickle and https://github.com/angular/angular. Alex, what was the tracking issue for this again?

@mprobst maybe you're referring to https://github.com/angular/angular/issues/8550 ?

Yep, that's it.

@mprobst , thank you for answer.
How do you think is it even possible to implement what I need (item 3) with TypeScript API?
I'm thinking about to start from ts-minify and upgrade it for my needs or to write my own tool.

@dmiko the TS API is pretty complete, with enough effort you can probably make this work. I'm not sure though if that's the simplest solution, I'd rather look into tsickle.


Still getting dot notation is deprecated warning

Expected Behavior
conf.filterChain shoundn't return a NavigableMap object
https://github.com/grails/grails-spring-security-core/blob/5.0.x/plugin/src/main/groovy/grails/plugin/springsecurity/ReflectionUtils.groovy#L212

Actual Behaviour
this code returns a navigable map grailsConfig.getProperty('grails.plugin.springsecurity', ConfigObject.class) in filterChain field
https://github.com/grails/grails-spring-security-core/blob/5.0.x/plugin/src/main/groovy/grails/plugin/springsecurity/ReflectionUtils.groovy#L119

Steps To Reproduce
I reproduced it with this test:
void 'findFilterNames navigableMap'() {
		when:

		def chainMap = [
				[pattern: '/assets/**',      filters: 'none'],
				[pattern: '/**/js/**',       filters: 'none'],
				[pattern: '/**/css/**',      filters: 'none'],
				[pattern: '/**/images/**',   filters: 'none'],
				[pattern: '/**/favicon.ico', filters: 'none'],
				[pattern: '/**', 			 filters: 'JOINED_FILTERS']
		]

		grailsApplication.config.grails.plugin.springsecurity.filterChain.chainMap  = chainMap

		def config = ReflectionUtils.getSecurityConfig()
		def result = ReflectionUtils.findFilterChainNames(config)

		then:
		result != null
	}

Environment Information

OS: Ubuntu:
java: 8 and 11

Example Application
https://github.com/rundeck/rundeck
Version
5.1.4

Could you please verify if this is an issue with Grails 5.1.7?

Still happening on 5.1.7
`2022-05-19 15:50:56.005  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Attempting to load [0] user defined plugins
2022-05-19 15:50:56.006  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [eventBus] with version [SNAPSHOT] loaded successfully
2022-05-19 15:50:56.006  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [restResponder] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.006  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [mail] with version [3.0.0] loaded successfully
2022-05-19 15:50:56.006  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [i18n] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.006  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [cascadeValidation] with version [3.0.1] loaded successfully
2022-05-19 15:50:56.006  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [core] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.007  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [databaseMigration] with version [4.1.1.SYSNET] loaded successfully
2022-05-19 15:50:56.007  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [codecs] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [urlMappings] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [dataSource] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [groovyPages] with version [5.1.0] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [controllers] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [mimeTypes] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [controllersAsync] with version [SNAPSHOT] loaded successfully
2022-05-19 15:50:56.008  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [domainClass] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [hibernate] with version [7.2.2] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [services] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [converters] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [interceptors] with version [5.1.7] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [springSecurityCore] with version [5.0.0] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [quartz] with version [2.0.13] loaded successfully
2022-05-19 15:50:56.009  INFO --- [  restartedMain] g.plugins.DefaultGrailsPluginManager     :  Grails plug-in [springSecurityRest] with version [3.0.1] loaded successfully
Configuring Spring Security Core ...
... finished configuring Spring Security Core
Configuring Spring Security REST 3.0.1...
... finished configuring Spring Security REST
2022-05-19 15:50:58.381  WARN --- [  restartedMain] org.grails.config.NavigableMap           :  Accessing config key '[filterNames]' through dot notation is deprecated, and it will be removed in a future release. Use 'config.getProperty(key, targetClass)' instead.
.....
2022-05-19 15:51:07.492  WARN --- [  restartedMain] org.grails.config.NavigableMap           :  Accessing config key '[filterNames]' through dot notation is deprecated, and it will be removed in a future release. Use 'config.getProperty(key, targetClass)' instead.
2022-05-19 15:51:07.493  WARN --- [  restartedMain] org.grails.config.NavigableMap           :  Accessing config key 'chainMap' through dot notation is deprecated, and it will be removed in a future release. Use 'config.getProperty(key, targetClass)' instead.
`


Issue: How to modify the actual prompt to add in new input parameters of the open ai functions agent, so that during the running of the agent, we pass those parameters also

Issue you'd like to raise.
I want to modify the prompt of the open ai function agent, so i can add more parameters that i can pass as inputs during execution
initialize_agent(tools=tool_items,
llm=llm,
agent=AgentType.OPENAI_FUNCTIONS)
and during execution such as
result = agent_chain.run({"input": "Whats the distance between Malmo and Stockholm"})
i want to be able to pass several input parameters so that for example it becomes like this
agent_chain.run({"input": "Whats the distance between Malmo and Stockholm","language":"French"}) etc
I have been able to do that successfully for other chains, but not for this one
How do i achieve this
Suggestion:
No response

🤖
Hello,
To modify the prompt of the OpenAI function agent in the LangChain framework to accept multiple input parameters during execution, you need to modify the input_variables list in the PromptTemplate object.
For example, if you want to add a new input parameter named additional_info, you can modify the PROMPT object as follows:
prompt_template = """Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.

{context}

Additional Info: {additional_info}

Question: {question}
Helpful Answer:"""
PROMPT = PromptTemplate(
    template=prompt_template, input_variables=["context", "additional_info", "question"]
)

In this code, {additional_info} is a placeholder for the new input parameter. The input_variables list now includes "additional_info" to indicate that the prompt template accepts an additional input parameter.
In the context shared, the PromptTemplate class is used with the from_examples method to create a prompt template. This method also accepts an input_variables parameter. You can modify this parameter to accept multiple input parameters during execution. For example, if you want to add a new input parameter named additional_info to the PromptTemplate object, you can do so as follows:
WIKI_PROMPT = PromptTemplate.from_examples(
    EXAMPLES, SUFFIX, ["input", "agent_scratchpad", "additional_info"]
)

In this code, input_variables=["input", "agent_scratchpad", "additional_info"] indicates that the PromptTemplate object accepts three input parameters: "input", "agent_scratchpad", and "additional_info".
You can find more details in the following files:

libs/langchain/langchain/chains/retrieval_qa/prompt.py
libs/langchain/langchain/prompts/few_shot.py
libs/langchain/langchain/agents/react/wiki_prompt.py

Regarding the agent_chain.run() method, it is a convenience method for executing the chain. It expects inputs to be passed directly in as positional arguments or keyword arguments. If the chain expects a single input, it can be passed in as the sole positional argument. If the chain expects multiple inputs, they can be passed in directly as keyword arguments.
You can find more details in the following files:

libs/langchain/langchain/agents/agent.py
libs/langchain/langchain/chains/base.py

I hope this helps! Let me know if you have any other questions.
Sources

DOC: How to use OPENAI_MULTI_FUNCTIONS with custom prompt?
libs/langchain/langchain/chains/retrieval_qa/prompt.py
libs/langchain/langchain/prompts/few_shot.py
libs/langchain/langchain/agents/react/wiki_prompt.py
libs/langchain/langchain/agents/agent.py
libs/langchain/langchain/chains/base.py

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.

but the default input variables are "input", "agent_scratchpad", "chat_history"
so what i need is the actual prompt, and i modify it to add my additional input variables to it
and also where do i pass this new prompt to?


Add block subsidy first

right now, the block subsidy is the last thing that happens when integrating a block. It should be moved to being the first thing.

no it shouldn't