pi-sap-aicore 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/README.md +40 -0
- package/package.json +15 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented here.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.1.2] - 2026-06-06
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Package-catalog preview image (`pi.image`) so the pi.dev gallery card shows a
|
|
15
|
+
`pi --list-models` screenshot.
|
|
16
|
+
- Dependabot config: weekly grouped `npm` updates and `github-actions` updates.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- CI: bump `actions/checkout` and `actions/setup-node` to v6 (off the deprecated
|
|
21
|
+
Node 20 action runtime).
|
|
22
|
+
|
|
23
|
+
## [0.1.1] - 2026-06-06
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Continuous integration: `tsc --noEmit` verify gate on every push to `main` and
|
|
28
|
+
every pull request.
|
|
29
|
+
- Release automation: tag-driven publish to npm via GitHub Actions using OIDC
|
|
30
|
+
trusted publishing (tokenless, with provenance attestations).
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Packaging: explicit `files` allowlist in `package.json` so the published tarball
|
|
35
|
+
ships only runtime sources, helper scripts, and docs — CI/dev plumbing
|
|
36
|
+
(`.github/`) no longer ships.
|
|
37
|
+
|
|
38
|
+
## [0.1.0] - 2026-06-06
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Initial public release on npm: `pi install npm:pi-sap-aicore`.
|
|
43
|
+
- **Orchestration provider** (`sap-aicore/*`) — Claude, GPT-5\*, and Gemini models
|
|
44
|
+
through a single SAP AI Core orchestration deployment, with automatic
|
|
45
|
+
non-streaming fallback when orchestration rejects streaming for a model.
|
|
46
|
+
- **Foundation provider** (`sap-aicore-foundation/*`) — direct Azure OpenAI
|
|
47
|
+
deployments with native streaming, sharing the same login.
|
|
48
|
+
- Credential flow via pi's `/login` (oauth path, to survive the `$`-interpolating
|
|
49
|
+
key resolver) and the `AICORE_SERVICE_KEY` environment override.
|
|
50
|
+
- Thinking-level mapping per model family (adaptive vs. budget-token Anthropic,
|
|
51
|
+
`reasoning_effort` for OpenAI).
|
|
52
|
+
- MIT license and npm packaging.
|
|
53
|
+
|
|
54
|
+
[Unreleased]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.1.2...HEAD
|
|
55
|
+
[0.1.2]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.1.1...v0.1.2
|
|
56
|
+
[0.1.1]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.1.0...v0.1.1
|
|
57
|
+
[0.1.0]: https://github.com/ttiimmaahh/pi-sap-aicore/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -272,12 +272,52 @@ caching with no breakpoint API.
|
|
|
272
272
|
on `sap-aicore-foundation/*` turns where orchestration always reports 0. Unverified
|
|
273
273
|
against SAP's proxy; treat as best-effort.
|
|
274
274
|
|
|
275
|
+
## Releasing (maintainers)
|
|
276
|
+
|
|
277
|
+
Releases are **tag-driven** and published to npm by GitHub Actions. There is no
|
|
278
|
+
build step — pi loads the `.ts` sources directly via jiti — so a release is just
|
|
279
|
+
*verify + publish*.
|
|
280
|
+
|
|
281
|
+
1. Update `CHANGELOG.md`: move items from `[Unreleased]` into a new version
|
|
282
|
+
heading.
|
|
283
|
+
2. Bump the version (this commits `package.json` and creates a `vX.Y.Z` tag):
|
|
284
|
+
```bash
|
|
285
|
+
npm version patch # or minor / major
|
|
286
|
+
git push --follow-tags
|
|
287
|
+
```
|
|
288
|
+
3. The [`Publish`](.github/workflows/publish.yml) workflow fires on the `v*` tag,
|
|
289
|
+
asserts the tag matches `package.json`, typechecks, and publishes.
|
|
290
|
+
|
|
291
|
+
Every push to `main` and every PR also runs the [`CI`](.github/workflows/ci.yml)
|
|
292
|
+
typecheck gate.
|
|
293
|
+
|
|
294
|
+
### One-time setup: npm Trusted Publishing (OIDC)
|
|
295
|
+
|
|
296
|
+
Publishing is **tokenless** — no `NPM_TOKEN` secret. Authorize this repo once on
|
|
297
|
+
npmjs.com:
|
|
298
|
+
|
|
299
|
+
1. npmjs.com → the `pi-sap-aicore` package → **Settings** → **Trusted Publisher**.
|
|
300
|
+
2. Choose **GitHub Actions** and enter (case-sensitive, exact match):
|
|
301
|
+
- **Organization or user:** `ttiimmaahh`
|
|
302
|
+
- **Repository:** `pi-sap-aicore`
|
|
303
|
+
- **Workflow filename:** `publish.yml`
|
|
304
|
+
- **Allowed actions:** `npm publish`
|
|
305
|
+
3. Save. The next `v*` tag publishes automatically, with provenance attestations.
|
|
306
|
+
|
|
307
|
+
> The first CI release must be a version **newer than the last manually published
|
|
308
|
+
> one** (`0.1.0`) — npm rejects republishing an existing version.
|
|
309
|
+
|
|
275
310
|
## Repo layout
|
|
276
311
|
|
|
277
312
|
```
|
|
278
313
|
.
|
|
279
314
|
├── package.json # pi-package manifest + deps + scripts
|
|
280
315
|
├── tsconfig.json # editor support; pi runs the .ts directly
|
|
316
|
+
├── CHANGELOG.md # Keep a Changelog; updated per release
|
|
317
|
+
├── LICENSE # MIT
|
|
318
|
+
├── .github/workflows/
|
|
319
|
+
│ ├── ci.yml # typecheck gate on push to main + PRs
|
|
320
|
+
│ └── publish.yml # tag-driven npm publish via OIDC trusted publishing
|
|
281
321
|
├── index.ts # ExtensionAPI factory + registerProvider calls (both providers)
|
|
282
322
|
├── scripts/
|
|
283
323
|
│ ├── update-models.mjs # fetches models.dev, writes models-snapshot.json
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-sap-aicore",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "SAP AI Core (orchestration + foundation) provider for the pi coding agent",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Tim Pearson (https://github.com/ttiimmaahh)",
|
|
@@ -13,9 +13,21 @@
|
|
|
13
13
|
"url": "https://github.com/ttiimmaahh/pi-sap-aicore/issues"
|
|
14
14
|
},
|
|
15
15
|
"type": "module",
|
|
16
|
-
"keywords": [
|
|
16
|
+
"keywords": [
|
|
17
|
+
"pi-package"
|
|
18
|
+
],
|
|
19
|
+
"files": [
|
|
20
|
+
"index.ts",
|
|
21
|
+
"src",
|
|
22
|
+
"scripts",
|
|
23
|
+
"tsconfig.json",
|
|
24
|
+
"CHANGELOG.md"
|
|
25
|
+
],
|
|
17
26
|
"pi": {
|
|
18
|
-
"extensions": [
|
|
27
|
+
"extensions": [
|
|
28
|
+
"./index.ts"
|
|
29
|
+
],
|
|
30
|
+
"image": "https://raw.githubusercontent.com/ttiimmaahh/pi-sap-aicore/main/docs/sap-model-list.jpg"
|
|
19
31
|
},
|
|
20
32
|
"scripts": {
|
|
21
33
|
"update-models": "node scripts/update-models.mjs",
|