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.
Files changed (3) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +40 -0
  3. 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.0",
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": ["pi-package"],
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": ["./index.ts"]
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",