Skip to content

Commit e99ca07

Browse files
committed
chore: public SDK surface under Elastic License 2.0
0 parents  commit e99ca07

30 files changed

Lines changed: 12315 additions & 0 deletions

.github/workflows/ci.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
node-version: [18.x, 20.x]
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Use Node.js ${{ matrix.node-version }}
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: ${{ matrix.node-version }}
24+
cache: 'npm'
25+
26+
- name: Install dependencies
27+
run: |
28+
if [ -f package-lock.json ]; then
29+
npm ci
30+
else
31+
npm install
32+
fi
33+
34+
- name: Run linter
35+
run: npm run lint || true
36+
continue-on-error: true
37+
38+
- name: Build
39+
run: npm run build
40+
41+
- name: Run tests
42+
run: npm test || true
43+
continue-on-error: true
44+
45+
publish:
46+
needs: test
47+
runs-on: ubuntu-latest
48+
if: github.event_name == 'release' && github.event.action == 'published'
49+
50+
steps:
51+
- uses: actions/checkout@v4
52+
53+
- name: Use Node.js
54+
uses: actions/setup-node@v4
55+
with:
56+
node-version: '20.x'
57+
registry-url: 'https://registry.npmjs.org'
58+
59+
- name: Install dependencies
60+
run: |
61+
if [ -f package-lock.json ]; then
62+
npm ci
63+
else
64+
npm install
65+
fi
66+
67+
- name: Build
68+
run: npm run build
69+
70+
- name: Publish to npm
71+
run: npm publish --access public
72+
env:
73+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
74+

.gitignore

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Dependencies
2+
node_modules/
3+
npm-debug.log*
4+
yarn-debug.log*
5+
yarn-error.log*
6+
7+
# Build outputs
8+
dist/
9+
build/
10+
*.tsbuildinfo
11+
12+
# Environment variables
13+
.env
14+
.env.local
15+
.env.development.local
16+
.env.test.local
17+
.env.production.local
18+
19+
# IDE
20+
.vscode/
21+
.idea/
22+
*.swp
23+
*.swo
24+
*~
25+
26+
# OS
27+
.DS_Store
28+
Thumbs.db
29+
30+
# Logs
31+
logs/
32+
*.log
33+
34+
# Runtime data
35+
pids/
36+
*.pid
37+
*.seed
38+
*.pid.lock
39+
40+
# Coverage directory used by tools like istanbul
41+
coverage/
42+
*.lcov
43+
44+
# nyc test coverage
45+
.nyc_output
46+
47+
# Dependency directories
48+
jspm_packages/
49+
50+
# Optional npm cache directory
51+
.npm
52+
53+
# Optional eslint cache
54+
.eslintcache
55+
56+
# Optional REPL history
57+
.node_repl_history
58+
59+
# Output of 'npm pack'
60+
*.tgz
61+
62+
# Yarn Integrity file
63+
.yarn-integrity
64+
65+
# parcel-bundler cache (https://parceljs.org/)
66+
.cache
67+
.parcel-cache
68+
69+
# next.js build output
70+
.next
71+
72+
# nuxt.js build output
73+
.nuxt
74+
75+
# vuepress build output
76+
.vuepress/dist
77+
78+
# Serverless directories
79+
.serverless
80+
81+
# FuseBox cache
82+
.fusebox/
83+
84+
# DynamoDB Local files
85+
.dynamodb/
86+
87+
# TernJS port file
88+
.tern-port
89+
90+
# Stores VSCode versions used for testing VSCode extensions
91+
.vscode-test
92+
93+
# Local agent / OPSEC
94+
.claude/
95+
CLAUDE.md

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Changelog
2+
3+
All notable changes to this SDK are documented in this file.
4+
5+
## [Unreleased]
6+
7+
- Root exports: `verifyLicenseAssertionJwt`, `LICENSE_TOKEN_USE_CLAIM`, and `VerifyLicenseAssertionOptions` — parity with `licensechain-node-sdk` (`src/license-assertion.ts`). Rollup marks `jose` as external for CJS/ESM. `license-assertion.cjs` re-exports from `dist/index.js` for back-compat.
8+
9+
## 2026-04-06
10+
11+
- Added repository-level `ROADMAP.md` and `CHANGELOG.md` for SDK workspace doc-gap conformance.
12+
- Captured JavaScript SDK consolidation posture with shared JavaScript/Node core governance.

LICENSE

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
Elastic License 2.0
2+
3+
Copyright (c) 2025 LicenseChain LLC
4+
5+
URL: https://www.elastic.co/licensing/elastic-license
6+
7+
## Acceptance
8+
9+
By using the software, you agree to all of the terms and conditions below.
10+
11+
## Copyright License
12+
13+
The licensor grants you a non-exclusive, royalty-free, worldwide,
14+
non-sublicensable, non-transferable license to use, copy, distribute, make
15+
available, and prepare derivative works of the software, in each case subject to
16+
the limitations and conditions below.
17+
18+
## Limitations
19+
20+
You may not provide the software to third parties as a hosted or managed
21+
service, where the service provides users with access to any substantial set of
22+
the features or functionality of the software.
23+
24+
You may not move, change, disable, or circumvent the license key functionality
25+
in the software, and you may not remove or obscure any functionality in the
26+
software that is protected by the license key.
27+
28+
You may not alter, remove, or obscure any licensing, copyright, or other notices
29+
of the licensor in the software. Any use of the licensor’s trademarks is subject
30+
to applicable law.
31+
32+
## Patents
33+
34+
The licensor grants you a license, under any patent claims the licensor can
35+
license, or becomes able to license, to make, have made, use, sell, offer for
36+
sale, import and have imported the software, in each case subject to the
37+
limitations and conditions in this license. This license does not cover any
38+
patent claims that you cause to be infringed by modifications or additions to
39+
the software. If you or your company make any written claim that the software
40+
infringes or contributes to infringement of any patent, your patent license for
41+
the software granted under these terms ends immediately. If your company makes
42+
such a claim, your patent license ends immediately for work on behalf of your
43+
company.
44+
45+
## Notices
46+
47+
You must ensure that anyone who gets a copy of any part of the software from you
48+
also gets a copy of these terms or the URL for them above.
49+
50+
If you modify the software, you must include in any modified copies of the
51+
software prominent notices stating that you have modified the software.
52+
53+
## No Other Rights
54+
55+
These terms do not imply any licenses other than those expressly granted in
56+
these terms.
57+
58+
## Termination
59+
60+
If you use the software in violation of these terms, such use is not licensed,
61+
and your licenses will automatically terminate. If the licensor provides you
62+
with a notice of your violation, and you cease all violation of this license no
63+
later than 30 days after you receive that notice, your licenses will be
64+
reinstated retroactively. However, if you violate these terms after such
65+
reinstatement, any additional violation of these terms will cause your licenses
66+
to terminate automatically and permanently.
67+
68+
## No Liability
69+
70+
*As far as the law allows, the software comes as is, without any warranty or
71+
condition, and the licensor will not be liable to you for any damages arising
72+
out of these terms or the use or nature of the software, under any kind of
73+
legal claim.*
74+
75+
## Definitions
76+
77+
The **licensor** is the entity offering these terms, and the **software** is the
78+
software the licensor makes available under these terms, including any portion
79+
of it.
80+
81+
**you** refers to the individual or entity agreeing to these terms.
82+
83+
**your company** is any legal entity, sole proprietorship, or other kind of
84+
organization that you work for, plus all organizations that have control over,
85+
are under the control of, or are under common control with that organization.
86+
**control** means ownership of substantially all the assets of an entity, or
87+
the power to direct its management and policies by vote, contract, or otherwise.
88+
Control can be direct or indirect.
89+
90+
**your licenses** are all the licenses granted to you for the software under
91+
these terms.
92+
93+
**use** means anything you do with the software requiring one of your licenses.
94+
95+
**trademark** means trademarks, service marks, and similar rights.

0 commit comments

Comments
 (0)