diff --git a/.github/workflows/versioned-security-agent.yml b/.github/workflows/versioned-security-agent.yml index 201659e149..15f9ecc11a 100644 --- a/.github/workflows/versioned-security-agent.yml +++ b/.github/workflows/versioned-security-agent.yml @@ -21,9 +21,49 @@ on: required: false schedule: - cron: '0 9 * * 1-5' + pull_request: + branches: + - main jobs: + should_run: + # Used to determine if the `@newrelic/security-agent` dependency has + # been updated in any new pull requests. This job _must_ always run because + # the `security-agent-tests` job depends on the outputs of this job. Thus, + # we cannot put a conditional on this job to only run if the event name + # is "pull_request". + name: Should Run + runs-on: ubuntu-latest + outputs: + previous_version: ${{steps.versions.outputs.PREVIOUS_VAL}} + current_version: ${{steps.versions.outputs.CURRENT_VAL}} + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + - uses: tj-actions/changed-files@v44 + id: changed_files + with: + files: package.json + - name: Get dependency versions + id: versions + if: steps.changed_files.outputs.any_changed == 'true' + run: | + current_val=$(cat package.json | jq -r --arg pkg "@newrelic/security-agent" '.dependencies[$pkg]') + echo "current_val=${current_val}" >> $GITHUB_OUTPUT + + git checkout origin/${{github.base_ref}} + previous_val=$(cat package.json | jq -r --arg pkg "@newrelic/security-agent" '.dependencies[$pkg]') + echo "previous_val=${previous_val}" >> $GITHUB_OUTPUT + + git checkout ${{github.sha}} + security-agent-tests: + needs: [should_run] + if: github.event_name == 'workflow_dispatch' || + github.event_name == 'schedule' || + needs.should_run.outputs.previous_version != needs.should_run.outputs.current_version + runs-on: ubuntu-latest strategy: diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index 88d60e5a4f..9ec24c16bd 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -951,7 +951,7 @@ SOFTWARE. ### @newrelic/security-agent -This product includes source derived from [@newrelic/security-agent](https://github.com/newrelic/csec-node-agent) ([v1.0.1](https://github.com/newrelic/csec-node-agent/tree/v1.0.1)), distributed under the [UNKNOWN License](https://github.com/newrelic/csec-node-agent/blob/v1.0.1/LICENSE): +This product includes source derived from [@newrelic/security-agent](https://github.com/newrelic/csec-node-agent) ([v1.1.1](https://github.com/newrelic/csec-node-agent/tree/v1.1.1)), distributed under the [UNKNOWN License](https://github.com/newrelic/csec-node-agent/blob/v1.1.1/LICENSE): ``` ## New Relic Software License v1.0 diff --git a/bin/prepare-release.js b/bin/prepare-release.js index a424d3a7be..aca8bde979 100644 --- a/bin/prepare-release.js +++ b/bin/prepare-release.js @@ -15,7 +15,7 @@ const git = require('./git-commands') const npm = require('./npm-commands') const PROPOSED_NOTES_HEADER = 'Proposed Release Notes' -const FORCE_RUN_DEAFULT_REMOTE = 'origin' +const FORCE_RUN_DEFAULT_REMOTE = 'origin' // Add command line options program.addOption( @@ -80,7 +80,7 @@ async function prepareReleaseNotes() { stopOnError() } - const remote = options.remote || FORCE_RUN_DEAFULT_REMOTE + const remote = options.remote || FORCE_RUN_DEFAULT_REMOTE console.log('Using remote: ', remote) try { diff --git a/jsdoc-conf.json b/jsdoc-conf.json index 669d734165..603fe6f5d1 100644 --- a/jsdoc-conf.json +++ b/jsdoc-conf.json @@ -4,7 +4,8 @@ "readme": "./README.md", "template": "./node_modules/clean-jsdoc-theme", "theme_opts": { - "search": false + "search": false, + "shouldRemoveScrollbarStyle": true } }, "source": { diff --git a/lib/llm-events/langchain/event.js b/lib/llm-events/langchain/event.js index 52d5ae20fd..e0e28ca7fd 100644 --- a/lib/llm-events/langchain/event.js +++ b/lib/llm-events/langchain/event.js @@ -46,7 +46,6 @@ class LangChainEvent extends BaseEvent { appName span_id request_id - transaction_id trace_id ingest_source = 'Node' vendor = 'langchain' @@ -60,7 +59,6 @@ class LangChainEvent extends BaseEvent { this.appName = agent.config.applications()[0] this.span_id = segment?.id this.request_id = params.runId - this.transaction_id = segment?.transaction?.id this.trace_id = segment?.transaction?.traceId this.langchainMeta = params.metadata this.metadata = agent diff --git a/lib/llm-events/openai/chat-completion-summary.js b/lib/llm-events/openai/chat-completion-summary.js index 2c2b9826d5..0d84982bd9 100644 --- a/lib/llm-events/openai/chat-completion-summary.js +++ b/lib/llm-events/openai/chat-completion-summary.js @@ -13,7 +13,6 @@ module.exports = class LlmChatCompletionSummary extends LlmEvent { this['request.max_tokens'] = request.max_tokens this['request.temperature'] = request.temperature this['response.number_of_messages'] = request?.messages?.length + response?.choices?.length - this['response.usage.completion_tokens'] = response?.usage?.completion_tokens this['response.choices.finish_reason'] = response?.choices?.[0]?.finish_reason } } diff --git a/lib/llm-events/openai/event.js b/lib/llm-events/openai/event.js index 90d9ebd6b0..e31e491e29 100644 --- a/lib/llm-events/openai/event.js +++ b/lib/llm-events/openai/event.js @@ -17,7 +17,6 @@ module.exports = class LlmEvent extends BaseEvent { this.request_id = response?.headers?.['x-request-id'] this.trace_id = segment?.transaction?.traceId this.span_id = segment?.id - this.transaction_id = segment?.transaction?.id this['response.model'] = response.model this.vendor = 'openai' this.ingest_source = 'Node' @@ -38,8 +37,6 @@ module.exports = class LlmEvent extends BaseEvent { responseAttrs(response) { this['response.organization'] = response?.headers?.['openai-organization'] - this['response.usage.total_tokens'] = response?.usage?.total_tokens - this['response.usage.prompt_tokens'] = response?.usage?.prompt_tokens this['response.headers.llmVersion'] = response?.headers?.['openai-version'] this['response.headers.ratelimitLimitRequests'] = response?.headers?.['x-ratelimit-limit-requests'] diff --git a/package-lock.json b/package-lock.json index 29772d73d7..af1e7164d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@newrelic/aws-sdk": "^7.3.0", "@newrelic/koa": "^9.1.0", "@newrelic/ritm": "^7.2.0", - "@newrelic/security-agent": "1.0.1", + "@newrelic/security-agent": "^1.1.1", "@newrelic/superagent": "^7.0.1", "@tyriar/fibonacci-heap": "^2.0.7", "concat-stream": "^2.0.0", @@ -39,7 +39,7 @@ "ajv": "^6.12.6", "async": "^3.2.4", "c8": "^8.0.1", - "clean-jsdoc-theme": "^4.2.4", + "clean-jsdoc-theme": "^4.2.18", "commander": "^7.0.0", "conventional-changelog-conventionalcommits": "^5.0.0", "conventional-changelog-writer": "^5.0.1", @@ -961,11 +961,11 @@ } }, "node_modules/@newrelic/security-agent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/security-agent/-/security-agent-1.0.1.tgz", - "integrity": "sha512-Ao5MTULa6CzI8a2poRdQ31jJA0Exv99eyewfMHYbJGAY3H4rj6TZs08rGtrDK9ZyjNTalM/DHhyyTTDq+FJM+Q==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@newrelic/security-agent/-/security-agent-1.1.1.tgz", + "integrity": "sha512-HGeKOPGKIr27vjTpW3j+tRLPT0HmGOIjcnyvgGZyXJXampCY3g79mpvcM5B6DcTAU5qI/LeZq1q+jLmtGHz+AA==", "dependencies": { - "axios": "^1.6.5", + "axios": "^1.6.8", "check-disk-space": "^3.4.0", "content-type": "^1.0.5", "fast-safe-stringify": "^2.1.1", @@ -4443,13 +4443,13 @@ "dev": true }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -4457,7 +4457,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -4481,21 +4481,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/body-parser/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4925,9 +4910,9 @@ } }, "node_modules/clean-jsdoc-theme": { - "version": "4.2.17", - "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-4.2.17.tgz", - "integrity": "sha512-5SbJNXcQHUXd7N13g+3OpGFiBQdxz36xwEP3p1r1vbo/apLcDRtugaFdUZ56H6Rvlb68Q33EChoBkajSlnD11w==", + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-4.2.18.tgz", + "integrity": "sha512-iPz34GEhTZGW33Oi25IUgW1suGFuQZoDoCjn82BEI7Ck83CvJisrrxYv3WLjHA/wz8g82wy8WsUyRiTGajUZdw==", "dev": true, "dependencies": { "@jsdoc/salty": "^0.2.4", @@ -5392,9 +5377,9 @@ "dev": true }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, "engines": { "node": ">= 0.6" @@ -6471,17 +6456,17 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", diff --git a/package.json b/package.json index 2569666c01..79da6cf169 100644 --- a/package.json +++ b/package.json @@ -196,7 +196,7 @@ "@newrelic/aws-sdk": "^7.3.0", "@newrelic/koa": "^9.1.0", "@newrelic/ritm": "^7.2.0", - "@newrelic/security-agent": "1.0.1", + "@newrelic/security-agent": "^1.1.1", "@newrelic/superagent": "^7.0.1", "@tyriar/fibonacci-heap": "^2.0.7", "concat-stream": "^2.0.0", @@ -223,7 +223,7 @@ "ajv": "^6.12.6", "async": "^3.2.4", "c8": "^8.0.1", - "clean-jsdoc-theme": "^4.2.4", + "clean-jsdoc-theme": "^4.2.18", "commander": "^7.0.0", "conventional-changelog-conventionalcommits": "^5.0.0", "conventional-changelog-writer": "^5.0.1", diff --git a/test/unit/llm-events/langchain/chat-completion-message.test.js b/test/unit/llm-events/langchain/chat-completion-message.test.js index f9ec68f512..b23866a060 100644 --- a/test/unit/llm-events/langchain/chat-completion-message.test.js +++ b/test/unit/llm-events/langchain/chat-completion-message.test.js @@ -42,7 +42,6 @@ tap.beforeEach((t) => { t.context.segment = { id: 'segment-1', transaction: { - id: 'tx-1', traceId: 'trace-1' } } @@ -63,7 +62,6 @@ tap.test('creates entity', async (t) => { ['llm.conversation_id']: 'test-conversation', span_id: 'segment-1', request_id: 'run-1', - transaction_id: 'tx-1', trace_id: 'trace-1', ['metadata.foo']: 'foo', ingest_source: 'Node', diff --git a/test/unit/llm-events/langchain/chat-completion-summary.test.js b/test/unit/llm-events/langchain/chat-completion-summary.test.js index dab399fd9e..5f8bb5d928 100644 --- a/test/unit/llm-events/langchain/chat-completion-summary.test.js +++ b/test/unit/llm-events/langchain/chat-completion-summary.test.js @@ -37,7 +37,6 @@ tap.beforeEach((t) => { t.context.segment = { id: 'segment-1', transaction: { - id: 'tx-1', traceId: 'trace-1' }, getDurationInMillis() { @@ -57,7 +56,6 @@ tap.test('creates entity', async (t) => { ['llm.conversation_id']: 'test-conversation', span_id: 'segment-1', request_id: 'run-1', - transaction_id: 'tx-1', trace_id: 'trace-1', ['metadata.foo']: 'foo', ingest_source: 'Node', diff --git a/test/unit/llm-events/langchain/event.test.js b/test/unit/llm-events/langchain/event.test.js index 9c870e1356..7c07aab8de 100644 --- a/test/unit/llm-events/langchain/event.test.js +++ b/test/unit/llm-events/langchain/event.test.js @@ -40,7 +40,6 @@ tap.beforeEach((t) => { t.context.segment = { id: 'segment-1', transaction: { - id: 'tx-1', traceId: 'trace-1' } } @@ -57,7 +56,6 @@ tap.test('constructs default instance', async (t) => { ['llm.conversation_id']: 'test-conversation', span_id: 'segment-1', request_id: 'run-1', - transaction_id: 'tx-1', trace_id: 'trace-1', ['metadata.foo']: 'foo', ingest_source: 'Node', diff --git a/test/unit/llm-events/langchain/tool.test.js b/test/unit/llm-events/langchain/tool.test.js index 872c563be8..ca9d251e15 100644 --- a/test/unit/llm-events/langchain/tool.test.js +++ b/test/unit/llm-events/langchain/tool.test.js @@ -45,7 +45,6 @@ tap.beforeEach((t) => { }, id: 'segment-1', transaction: { - id: 'tx-1', traceId: 'trace-1' } } @@ -69,7 +68,6 @@ tap.test('constructs default instance', async (t) => { id: /[a-z0-9-]{36}/, appName: 'test-app', span_id: 'segment-1', - transaction_id: 'tx-1', trace_id: 'trace-1', duration: 1.01, ['metadata.foo']: 'foo', diff --git a/test/unit/llm-events/langchain/vector-search-result.test.js b/test/unit/llm-events/langchain/vector-search-result.test.js index 5e12046eab..8d0729cd9a 100644 --- a/test/unit/llm-events/langchain/vector-search-result.test.js +++ b/test/unit/llm-events/langchain/vector-search-result.test.js @@ -43,7 +43,6 @@ tap.beforeEach((t) => { t.context.segment = { id: 'segment-1', transaction: { - id: 'tx-1', traceId: 'trace-1' }, getDurationInMillis() { @@ -74,7 +73,6 @@ tap.test('create entity', async (t) => { ['llm.conversation_id']: 'test-conversation', request_id: 'run-1', span_id: 'segment-1', - transaction_id: 'tx-1', trace_id: 'trace-1', ['metadata.foo']: 'foo', ingest_source: 'Node', diff --git a/test/unit/llm-events/langchain/vector-search.test.js b/test/unit/llm-events/langchain/vector-search.test.js index d0b4c8fc93..f1cf836b3f 100644 --- a/test/unit/llm-events/langchain/vector-search.test.js +++ b/test/unit/llm-events/langchain/vector-search.test.js @@ -42,7 +42,6 @@ tap.beforeEach((t) => { t.context.segment = { id: 'segment-1', transaction: { - id: 'tx-1', traceId: 'trace-1' }, getDurationInMillis() { @@ -64,7 +63,6 @@ tap.test('create entity', async (t) => { ['llm.conversation_id']: 'test-conversation', 'request_id': 'run-1', 'span_id': 'segment-1', - 'transaction_id': 'tx-1', 'trace_id': 'trace-1', 'ingest_source': 'Node', 'vendor': 'langchain', diff --git a/test/unit/llm-events/openai/common.js b/test/unit/llm-events/openai/common.js index 07921fa50a..1eab799cb4 100644 --- a/test/unit/llm-events/openai/common.js +++ b/test/unit/llm-events/openai/common.js @@ -51,7 +51,6 @@ function getExpectedResult(tx, event, type, completionId) { 'request_id': 'req-id', 'trace_id': tx.traceId, 'span_id': trace.children[0].id, - 'transaction_id': tx.id, 'response.model': 'gpt-3.5-turbo-0613', 'vendor': 'openai', 'ingest_source': 'Node' @@ -60,8 +59,6 @@ function getExpectedResult(tx, event, type, completionId) { 'duration': trace.children[0].getDurationInMillis(), 'request.model': 'gpt-3.5-turbo-0613', 'response.organization': 'new-relic', - 'response.usage.total_tokens': '30', - 'response.usage.prompt_tokens': '10', 'response.headers.llmVersion': '1.0.0', 'response.headers.ratelimitLimitRequests': '100', 'response.headers.ratelimitLimitTokens': '100', @@ -84,7 +81,6 @@ function getExpectedResult(tx, event, type, completionId) { ['request.max_tokens']: '1000000', ['request.temperature']: 'medium-rare', ['response.number_of_messages']: 3, - ['response.usage.completion_tokens']: 20, ['response.choices.finish_reason']: 'stop', error: false } diff --git a/test/versioned/langchain/common.js b/test/versioned/langchain/common.js index f72da9e272..f03ab6f8ed 100644 --- a/test/versioned/langchain/common.js +++ b/test/versioned/langchain/common.js @@ -27,7 +27,6 @@ function assertLangChainVectorSearch({ tx, vectorSearch, responseDocumentSize }) 'appName': 'New Relic for Node.js tests', 'span_id': tx.trace.root.children[0].id, 'trace_id': tx.traceId, - 'transaction_id': tx.id, 'request.k': 1, 'request.query': 'This is an embedding test.', 'ingest_source': 'Node', @@ -48,7 +47,6 @@ function assertLangChainVectorSearchResult({ tx, vectorSearchResult, vectorSearc 'appName': 'New Relic for Node.js tests', 'span_id': tx.trace.root.children[0].id, 'trace_id': tx.traceId, - 'transaction_id': tx.id, 'ingest_source': 'Node', 'vendor': 'langchain', 'metadata.id': '2', @@ -76,7 +74,6 @@ function assertLangChainChatCompletionSummary({ tx, chatSummary, withCallback }) 'appName': 'New Relic for Node.js tests', 'span_id': tx.trace.root.children[0].id, 'trace_id': tx.traceId, - 'transaction_id': tx.id, 'request_id': undefined, 'ingest_source': 'Node', 'vendor': 'langchain', @@ -110,7 +107,6 @@ function assertLangChainChatCompletionMessages({ appName: 'New Relic for Node.js tests', span_id: tx.trace.root.children[0].id, trace_id: tx.traceId, - transaction_id: tx.id, ingest_source: 'Node', vendor: 'langchain', completion_id: chatSummary.id, diff --git a/test/versioned/langchain/tools.tap.js b/test/versioned/langchain/tools.tap.js index 5f96f48fc8..26490c38ed 100644 --- a/test/versioned/langchain/tools.tap.js +++ b/test/versioned/langchain/tools.tap.js @@ -80,7 +80,6 @@ tap.test('Langchain instrumentation - tools', (t) => { 'appName': 'New Relic for Node.js tests', 'span_id': tx.trace.root.children[0].id, 'trace_id': tx.traceId, - 'transaction_id': tx.id, 'ingest_source': 'Node', 'vendor': 'langchain', 'metadata.key': 'value', diff --git a/test/versioned/openai/common.js b/test/versioned/openai/common.js index 1f54535c92..935b4e64f5 100644 --- a/test/versioned/openai/common.js +++ b/test/versioned/openai/common.js @@ -53,7 +53,6 @@ function assertChatCompletionMessages({ 'request_id': '49dbbffbd3c3f4612aa48def69059aad', 'trace_id': tx.traceId, 'span_id': tx.trace.root.children[0].id, - 'transaction_id': tx.id, 'response.model': model, 'vendor': 'openai', 'ingest_source': 'Node', @@ -94,14 +93,13 @@ function assertChatCompletionMessages({ }) } -function assertChatCompletionSummary({ tx, model, chatSummary, tokenUsage, error = false }) { - let expectedChatSummary = { +function assertChatCompletionSummary({ tx, model, chatSummary, error = false }) { + const expectedChatSummary = { 'id': /[a-f0-9]{36}/, 'appName': 'New Relic for Node.js tests', 'request_id': '49dbbffbd3c3f4612aa48def69059aad', 'trace_id': tx.traceId, 'span_id': tx.trace.root.children[0].id, - 'transaction_id': tx.id, 'response.model': model, 'vendor': 'openai', 'ingest_source': 'Node', @@ -119,15 +117,6 @@ function assertChatCompletionSummary({ tx, model, chatSummary, tokenUsage, error 'error': error } - if (tokenUsage) { - expectedChatSummary = { - ...expectedChatSummary, - 'response.usage.total_tokens': 64, - 'response.usage.prompt_tokens': 53, - 'response.usage.completion_tokens': 11 - } - } - this.equal(chatSummary[0].type, 'LlmChatCompletionSummary') this.match(chatSummary[1], expectedChatSummary, 'should match chat summary message') } diff --git a/test/versioned/openai/embeddings.tap.js b/test/versioned/openai/embeddings.tap.js index 6ac1cd96a8..e5e7c05eeb 100644 --- a/test/versioned/openai/embeddings.tap.js +++ b/test/versioned/openai/embeddings.tap.js @@ -91,15 +91,12 @@ tap.test('OpenAI instrumentation - embedding', (t) => { 'request_id': 'c70828b2293314366a76a2b1dcb20688', 'trace_id': tx.traceId, 'span_id': tx.trace.root.children[0].id, - 'transaction_id': tx.id, 'response.model': 'text-embedding-ada-002-v2', 'vendor': 'openai', 'ingest_source': 'Node', 'request.model': 'text-embedding-ada-002', 'duration': tx.trace.root.children[0].getDurationInMillis(), 'response.organization': 'new-relic-nkmd8b', - 'response.usage.total_tokens': 6, - 'response.usage.prompt_tokens': 6, 'token_count': undefined, 'response.headers.llmVersion': '2020-10-01', 'response.headers.ratelimitLimitRequests': '200', diff --git a/third_party_manifest.json b/third_party_manifest.json index 27b580c56d..55bd3f666d 100644 --- a/third_party_manifest.json +++ b/third_party_manifest.json @@ -108,15 +108,15 @@ "email": "w@tson.dk", "url": "https://twitter.com/wa7son" }, - "@newrelic/security-agent@1.0.1": { + "@newrelic/security-agent@1.1.1": { "name": "@newrelic/security-agent", - "version": "1.0.1", - "range": "1.0.1", + "version": "1.1.1", + "range": "^1.1.1", "licenses": "UNKNOWN", "repoUrl": "https://github.com/newrelic/csec-node-agent", - "versionedRepoUrl": "https://github.com/newrelic/csec-node-agent/tree/v1.0.1", + "versionedRepoUrl": "https://github.com/newrelic/csec-node-agent/tree/v1.1.1", "licenseFile": "node_modules/@newrelic/security-agent/LICENSE", - "licenseUrl": "https://github.com/newrelic/csec-node-agent/blob/v1.0.1/LICENSE", + "licenseUrl": "https://github.com/newrelic/csec-node-agent/blob/v1.1.1/LICENSE", "licenseTextSource": "file", "publisher": "newrelic" },