pi-sap-aicore 0.3.7 → 0.3.8

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 +11 -1
  2. package/index.ts +10 -9
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.8] - 2026-07-18
11
+
12
+ ### Fixed
13
+
14
+ - SAP AI Core no longer appears configured in `/login` on a fresh install.
15
+ The orchestration provider now declares its `AICORE_SERVICE_KEY` environment
16
+ fallback explicitly instead of using an always-configured placeholder; stored
17
+ subscription credentials continue to use the existing OAuth-backed login.
18
+
10
19
  ## [0.3.7] - 2026-07-16
11
20
 
12
21
  ### Fixed
@@ -243,7 +252,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
243
252
  `reasoning_effort` for OpenAI).
244
253
  - MIT license and npm packaging.
245
254
 
246
- [Unreleased]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.3.7...HEAD
255
+ [Unreleased]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.3.8...HEAD
256
+ [0.3.8]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.3.7...v0.3.8
247
257
  [0.3.7]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.3.6...v0.3.7
248
258
  [0.3.6]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.3.5...v0.3.6
249
259
  [0.3.5]: https://github.com/ttiimmaahh/pi-sap-aicore/compare/v0.3.4...v0.3.5
package/index.ts CHANGED
@@ -17,13 +17,11 @@ const PROVIDER_API = "sap-aicore-orchestration" as Api;
17
17
  const FOUNDATION_PROVIDER_NAME = "sap-aicore-foundation";
18
18
  const FOUNDATION_PROVIDER_API = "sap-aicore-foundation" as Api;
19
19
 
20
- // pi requires a non-empty `apiKey` for any custom provider that defines models
21
- // (model-registry `validateConfig`), even when credentials come from `oauth`.
22
- // This value is never used: the real key is supplied by `sapAiCoreOAuth`
23
- // (after `/login`) or by AICORE_SERVICE_KEY (both handled in stream.ts). It is a
24
- // plain lowercase literal so pi's config-value resolver returns it as-is — no
25
- // `$` interpolation, no shell exec, and not mistaken for a legacy env-var name.
26
- const PLACEHOLDER_API_KEY = "managed-by-extension-oauth";
20
+ // The foundation provider has no OAuth entry of its own: it shares the
21
+ // orchestration provider's stored login in stream.ts. Pi still requires every
22
+ // provider to expose an authentication method, so this keeps foundation models
23
+ // selectable without adding a duplicate SAP AI Core entry to `/login`.
24
+ const FOUNDATION_PLACEHOLDER_API_KEY = "managed-by-extension-oauth";
27
25
 
28
26
  export default function (pi: ExtensionAPI) {
29
27
  const registerProviders = () => {
@@ -36,7 +34,10 @@ export default function (pi: ExtensionAPI) {
36
34
  pi.registerProvider(PROVIDER_NAME, {
37
35
  name: "SAP AI Core",
38
36
  baseUrl: "https://sap-aicore-handled-by-sdk.invalid",
39
- apiKey: PLACEHOLDER_API_KEY,
37
+ // Unlike a literal placeholder, this only makes Pi report the provider as
38
+ // configured when the environment variable is actually present. Stored
39
+ // subscription credentials continue to flow through `oauth` below.
40
+ apiKey: "$AICORE_SERVICE_KEY",
40
41
  api: PROVIDER_API,
41
42
  // Credentials flow through pi's `oauth` path — its escape hatch from the
42
43
  // $-interpolating config-value resolver that corrupts service keys
@@ -69,7 +70,7 @@ export default function (pi: ExtensionAPI) {
69
70
  pi.registerProvider(FOUNDATION_PROVIDER_NAME, {
70
71
  name: "SAP AI Core (Foundation)",
71
72
  baseUrl: "https://sap-aicore-handled-by-sdk.invalid",
72
- apiKey: PLACEHOLDER_API_KEY,
73
+ apiKey: FOUNDATION_PLACEHOLDER_API_KEY,
73
74
  api: FOUNDATION_PROVIDER_API,
74
75
  models: foundationModels.map((m) =>
75
76
  toPiModel(m, FOUNDATION_PROVIDER_API),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-sap-aicore",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
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)",