Skip to content

Conversation

jasonwaters
Copy link
Owner

No description provided.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 93.317% when pulling 4d48d5e on update-docs into d60fd7b on master.

@jasonwaters jasonwaters merged commit abe84ed into master Oct 22, 2020
@jasonwaters jasonwaters deleted the update-docs branch October 22, 2020 21:28
jasonwaters added a commit that referenced this pull request Oct 27, 2020
* new generated api based on fetch

* refactored to support a nodejs and browser

* removed dependency

* don't rely on reactor-query-string

* two separate builds

* mock fetch in request test

* support timeout

* added polyfills to support ie11

* Create nodejs.yml

* Update nodejs.yml

* reorganized repository to support multiple packages

- added basic stub for target-decisioning-engine
- added a target-tools package for shared tools
- configured lerna to make managing multiple packages in a mono repo easy

* added artifact provider with tests

- fetches artifact on a polling interval
- tested

* [nodeSDK] support for environment

* added support for evaluationMode config param. Can be set to one of (local, remote, hybrid)

* create a decisioning engine instance if local is passed in as the evaluationMode

* fix polling interval bug

* scrub client and organization IDs in tests

* reject getOffers requests with an error if the artifact is not yet downloaded

* error handling and fetch retries

* add module field to package.json

* test promise resolution for decisioning engine getOffers

* generate context for browser, page, timings and compute allocation

* return decisions for an AB form-based activity, with tests

* tests for multiple AB activities

* support for url and parameter contexts

* support referring url

* tests for browser

* timeframe tests

* skip timeframe tests until prioritization is done

* add other attributes to response object to model delivery API

* integrate decisioning engine with node sdk

* getAttribures functionality added

* updated demo to do remote and local

* updated demo to do remote and local

* Download new Local-decisioning JSON rules file only when necessary

* Send notifications for outcome of local decisions

* updated getAttributes to support multiple mbox names

* moving things around a bit

* maddening

* es6 migration complete, fetch working in node and browser

* fetchApi passed down to decisioning engine as well

* support for hybrid execution mode

* decisioning types

* classic mboxes return only one outcome, and also return a blank if nothing matches

* testing activity priority

* timeframe tests working with proper priority

* visualize rollup bundles

* esnext delivery-api-client

* updated to latest artifact schema

* improved test coverage of target-tools

* support pageLoad requests

* ensure tntId

* support minimal context

* Ensure that targetLocationHintCookie is returned even in local execution mode

* retry delivery api requests up to 10 times before failure

* fix build for node 8

* fixing timing context test

* set coverage thresholds and fail the build if unmet

* updated path to target-nodejs-sdk coverage for coveralls

* coveralls badge in README

* updated coveralls github action version

* combine coverage reports into one

* combine coverage reports into one

* move documentation

* uuid for notification id and impressionId

* preparing for alpha

* preparing for alpha

* moving docs

* documentation for sdk

* updated documentation

* trace support

* alpha.3

* refactored a bit for code reuse in at.js

* updated README-ALPHA.md

* tntId does not include locationHint if empty string

* change status to meta

* trace fix

* now generating the url to artifact and removed the CORS request when fetching an artifact

* TNT-34523 A4T: Fix SDID in LD notifications call

* add executionMode to DeliveryAPIApi prototype

* changed metrics to notifications array for campaign traces

* publishConfigs added to packages

* lerna

* Publish

 - @adobe/target-decisioning-engine@1.0.4
 - @adobe/target-nodejs-sdk@2.0.0-alpha.7
 - @adobe/target-tools@1.0.2

* view support

* trace support for views, also refactored a bit

* special handling of selector based offers in pageLoad options

* apply all views that match conditions

- added more view request tests
- refactored a bit
- added cleanUp prostProcessor to remove undefined values and the skipKey

* some logging

* fix for domain attribute on context

* clone consequence objects so they don't get mutated
fixed a test

* improved view rule evaluation and test coverage

* handle blank mboxes in getAttributes calls

* updated README with support for VEC activities

* test scratch paper

* Publish

 - @adobe/target-decisioning-engine@1.0.5
 - @adobe/target-nodejs-sdk@2.0.0-alpha.8
 - @adobe/target-tools@1.0.3

* bugfix for checking if fetch is defined, updated demo page

* Publish

 - @adobe/target-decisioning-engine@1.0.6
 - @adobe/target-nodejs-sdk@2.0.0-alpha.9

* display notifications are now generated from options (#14)

* display notifications now generated from options

* trigger GitHub actions

* Publish

 - @adobe/target-decisioning-engine@1.0.7
 - @adobe/target-nodejs-sdk@2.0.0-alpha.10

* updated test artifacts with latest from production, tests passing

* Publish

 - @adobe/target-decisioning-engine@1.0.8
 - @adobe/target-nodejs-sdk@2.0.0-alpha.11

* updated README

* handle executionMode override error cases

* ruleId->ruleKey

* fix coveralls

* test node.js 14 as well

* handle missing metrics or options arrays

* update test artifacts to use staging

* use prettier to format test artifacts to make it more obvious what changed

* Publish

 - @adobe/target-decisioning-engine@1.0.9
 - @adobe/target-nodejs-sdk@2.0.0-alpha.12
 - @adobe/target-tools@1.0.4

* Property support (#17)

* property support

* property support

* log PROPERTY_TOKEN_MISMATCH if the property token on the config and request do not match

* change how environments work

* updated README.md for property support

* a few syntax changes

* typo

* update license to Apache-2 in all package.json

* update tests to use production artifact

* Publish

 - @adobe/target-decisioning-engine@1.0.10
 - @adobe/target-nodejs-sdk@2.0.0-alpha.13
 - @adobe/target-tools@1.0.5

* don't load property-specific artifacts in Node (#18)

* events support (#19)

* events support

* decisioning engine does not resolve until it has an artifact

* decisioning engine does not resolve until it has an artifact

* introduced maximumWaitReady config option so tests don't hang

* added sample code for events to README

* download test artifact from S3

* only wait a half second for clientReady in unit tests

* Publish

 - @adobe/target-decisioning-engine@1.1.0
 - @adobe/target-nodejs-sdk@2.0.0-alpha.14
 - @adobe/target-tools@1.0.6

* continue to poll for artifact even if an artifactPayload is given (#20)

* Publish

 - @adobe/target-decisioning-engine@1.1.1
 - @adobe/target-nodejs-sdk@2.0.0-alpha.15

* TNT-34980 Geo Support in Node.js SDK (#16)

* TNT-34980 Geo Support in Node.js SDK

* Updated parameters and added unit test.

* Added another unit test

* Per review comments

* Added generated geo model from openapi-specs tool

* Test

* Added ipAddress to geoContext. Renamed geoContextProvider to geoProvider.

* When ipAddress is the only geo value passed in to getOffers(), do IP-to-Geo lookup

* Generated test artifact.

* Resolved conflicts and updated test artifacts

* WIP test for ipToGeoLookup

* Added geoTargtingEnabled flag to DecisioningArtifact type. Added ensureGeoContext method to geoProvider that does the ipToGeo lookup when needed.

* working test

* ipToGeoLookup changes

* The return for jsdoc should not have an object name.

* Set geoContext in artifactProvider before emitting event for at.js

* Pass browser ipAddress from at.js request to geoProvider when it is not specified. Emit geo_location_updated event from geoProvider.

* Added UNKNOWN_IP_ADDRESS

* Moved UNKNOWN_IP_ADDRESS to target-tools constant for use by both sdks

* Emit GEO_LOCATION_UPDATED upon artifact download

* Updated test

* Pass in the geoContext when GEO_LOCATION_UPDATED

* Pass geoRequestContext wrapped up as geoContext

* fix tests

Co-authored-by: Manjiri Tapaswi <tapaswi@adobe.com>
Co-authored-by: Jason Waters <waters@adobe.com>

* Publish

 - @adobe/target-decisioning-engine@1.2.0
 - @adobe/target-nodejs-sdk@2.0.0-alpha.16
 - @adobe/target-tools@1.0.7

* Docs geo support (#22)

* Update Geo Support Documentation for Node.js SDK

* Make note regular font size

* Deduped note

* Updated to ISO formats

* Added local Execution Mode

Co-authored-by: Manjiri Tapaswi <tapaswi@adobe.com>
Co-authored-by: Jason Waters <jasonwaters@users.noreply.github.com>

* Updated how decisioning-engine determines if remote is needed for hybrid calls

* Publish

 - @adobe/target-decisioning-engine@1.2.1
 - @adobe/target-nodejs-sdk@2.0.0-alpha.17
 - @adobe/target-tools@1.0.8

* Reduce size (#23)

* remove url-parse and instead use parse-uri which is already used in at.js

* removed ua-parser-js dependency

* update demo to use events instead of clientReadyCallback

* set target-tools and target-decisioning-engine to be public packages for deployments

* refactored whenReady to target-tools so it can be used in at.js

* updated package-lock files

* Publish

 - @adobe/target-decisioning-engine@1.2.2
 - @adobe/target-nodejs-sdk@2.0.0-alpha.18
 - @adobe/target-tools@1.0.9

* geo bugfixes and tests
- removed trailing slash on url for geo lookup
- do not set x-forwarded-for header unless valid ip address

* TNT-35311 Add response tokens (#24)

* Add response tokens

* Remove debugging log

* Fix test

* Use new response token

* Move common post processors out

* Only include response token specified in artifact

* Add jsdoc

* Use one unit test to test response tokens

* Rename executionType to decisioningMethod

* Add test for view

Co-authored-by: Sam Fung <sfung@adobe.com>

* Publish

 - @adobe/target-decisioning-engine@1.3.0
 - @adobe/target-nodejs-sdk@2.0.0-alpha.19

* case insensitive geo headers

* Add test for offer.name (#26)

Co-authored-by: Sam Fung <sfung@adobe.com>
Co-authored-by: Jason Waters <jasonwaters@users.noreply.github.com>

* extract geo values from payload as well (#25)

* extract geo values from payload as well

* removed createGeoObject and replaced it with createGeoObjectFromHeaders and createGeoObjectFromPayload for clarity

* remove async/await from target-decisioning-engine and target-tools (#27)

* remove async/await and fix a few geo bugs

* fix test

* eslint rule to forbid async/await in source of target-decisioning-engine and target-tools

* remove redundant code

* Publish

 - @adobe/target-decisioning-engine@1.3.1
 - @adobe/target-nodejs-sdk@2.0.0-alpha.20
 - @adobe/target-tools@1.1.0

* Support ie11 (#28)

* forbid Object.assign, refactored assign from at.js to target-tools

* forbid Object.values, added values method to target-tools

* forbid Array.includes, moved lodash utils from at.js to @adobe/target-tools.

* forbid Array.flat, replaced instances with flatten

* forbid String.padStart and String.padEnd, replaced uses of

* added noopPromise to target-tools

* move parse-uri to target-tools

* Publish

 - @adobe/target-decisioning-engine@1.3.2
 - @adobe/target-nodejs-sdk@2.0.0-alpha.21
 - @adobe/target-tools@1.2.0

* TNT-36958 Rename to on-device decisioning (#29)

* Rename enum

* Rename option

* Rename value

* Update jsdoc

* Rename docs

* Fix alignment

* Rename Message key

* Fix linting

Co-authored-by: Sam Fung <sfung@adobe.com>

* Publish

 - @adobe/target-decisioning-engine@1.3.3
 - @adobe/target-nodejs-sdk@2.0.0-alpha.22
 - @adobe/target-tools@1.2.1

* artifact deobfuscation (#30)

* artifact deobfuscation

* include "fast-text-encoding" for old versions of node that don't support TextDecoder

* Publish

 - @adobe/target-decisioning-engine@1.4.0
 - @adobe/target-nodejs-sdk@2.0.0-alpha.23

* performance improvements (#31)

* perf measurements

* perf measurements

* stuff

* performance improvements

* fix test

* Publish

 - @adobe/target-decisioning-engine@1.4.1
 - @adobe/target-nodejs-sdk@2.0.0-alpha.24
 - @adobe/target-tools@1.2.2

* fix perfTool timing tests

* Support for Campaign Macros (#32)

* macro support

* fix trace tests

* a little cleanup

* Publish

 - @adobe/target-decisioning-engine@1.4.2
 - @adobe/target-nodejs-sdk@2.0.0-alpha.25
 - @adobe/target-tools@1.2.3

* on-device decisioning telemetry (#33)

* default to json artifact format

* telemetry, with tests, improved timing accuracy in perfTool

* telemetryEnabled

* telemetryEnabled

* telemetry

* Publish

 - @adobe/target-decisioning-engine@1.4.3
 - @adobe/target-nodejs-sdk@2.0.0-alpha.26
 - @adobe/target-tools@1.2.4

* use generated open-api spec for telemetry (#34)

* use generated open-api spec for telemetry

* add DecisioningMethod enum

* fix for undefined geo

* updated README.md and CHANGELOG.md (#35)

* Update CHANGELOG.md

* updated README.md and CHANGELOG.md

* updated format npm scripts, added prettier pre-commit git hook (#36)

* remove alpha tag for publishing

Co-authored-by: Andrei Anischevici <anischev@adobe.com>
Co-authored-by: Manjiri Tapaswi <mptapasw@ncsu.edu>
Co-authored-by: Manjiri Tapaswi <tapaswi@adobe.com>
Co-authored-by: Sam Fung <5amfung@users.noreply.github.com>
Co-authored-by: Sam Fung <sfung@adobe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants