@stigmer/server 3.18.0-dev.20260918103812 → 3.18.1-dev.20260919070736
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/README.md +1 -1
- package/dist/boot/compose.d.ts +12 -0
- package/dist/boot/compose.d.ts.map +1 -1
- package/dist/boot/compose.js +46 -8
- package/dist/boot/compose.js.map +1 -1
- package/dist/boot/config.d.ts +6 -2
- package/dist/boot/config.d.ts.map +1 -1
- package/dist/boot/config.js.map +1 -1
- package/dist/boot/oauth-redirect-uri.d.ts +54 -0
- package/dist/boot/oauth-redirect-uri.d.ts.map +1 -0
- package/dist/boot/oauth-redirect-uri.js +37 -0
- package/dist/boot/oauth-redirect-uri.js.map +1 -0
- package/dist/domain/agentexecution/lifecycle.js +1 -1
- package/dist/domain/agentexecution/lifecycle.js.map +1 -1
- package/dist/domain/iampolicy/constants.d.ts +3 -3
- package/dist/domain/iampolicy/constants.js +3 -3
- package/dist/domain/mcpserver/complete-endpoint-auth.d.ts +16 -0
- package/dist/domain/mcpserver/complete-endpoint-auth.d.ts.map +1 -0
- package/dist/domain/mcpserver/complete-endpoint-auth.js +260 -0
- package/dist/domain/mcpserver/complete-endpoint-auth.js.map +1 -0
- package/dist/domain/mcpserver/complete-oauth-connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/complete-oauth-connect.js +1 -1
- package/dist/domain/mcpserver/complete-oauth-connect.js.map +1 -1
- package/dist/domain/mcpserver/connect.d.ts +25 -0
- package/dist/domain/mcpserver/connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/connect.js +8 -23
- package/dist/domain/mcpserver/connect.js.map +1 -1
- package/dist/domain/mcpserver/controller.d.ts.map +1 -1
- package/dist/domain/mcpserver/controller.js +12 -0
- package/dist/domain/mcpserver/controller.js.map +1 -1
- package/dist/domain/mcpserver/initiate-oauth-connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/initiate-oauth-connect.js +16 -13
- package/dist/domain/mcpserver/initiate-oauth-connect.js.map +1 -1
- package/dist/domain/mcpserver/oauth/dcr.d.ts +10 -1
- package/dist/domain/mcpserver/oauth/dcr.d.ts.map +1 -1
- package/dist/domain/mcpserver/oauth/dcr.js +1 -9
- package/dist/domain/mcpserver/oauth/dcr.js.map +1 -1
- package/dist/domain/mcpserver/oauth/discovery.d.ts +43 -20
- package/dist/domain/mcpserver/oauth/discovery.d.ts.map +1 -1
- package/dist/domain/mcpserver/oauth/discovery.js +69 -54
- package/dist/domain/mcpserver/oauth/discovery.js.map +1 -1
- package/dist/domain/mcpserver/oauth/preflight.d.ts +27 -1
- package/dist/domain/mcpserver/oauth/preflight.d.ts.map +1 -1
- package/dist/domain/mcpserver/oauth/preflight.js +1 -26
- package/dist/domain/mcpserver/oauth/preflight.js.map +1 -1
- package/dist/domain/mcpserver/oauth/refresh.d.ts +2 -1
- package/dist/domain/mcpserver/oauth/refresh.d.ts.map +1 -1
- package/dist/domain/mcpserver/oauth/refresh.js +1 -1
- package/dist/domain/mcpserver/oauth/refresh.js.map +1 -1
- package/dist/domain/mcpserver/oauth/token.d.ts +9 -2
- package/dist/domain/mcpserver/oauth/token.d.ts.map +1 -1
- package/dist/domain/mcpserver/oauth/token.js +2 -8
- package/dist/domain/mcpserver/oauth/token.js.map +1 -1
- package/dist/domain/oauthapp/refresolution/refresolution.js +1 -1
- package/dist/domain/oauthapp/refresolution.js +1 -1
- package/dist/domain/platform/controller.d.ts +8 -1
- package/dist/domain/platform/controller.d.ts.map +1 -1
- package/dist/domain/platform/controller.js +2 -3
- package/dist/domain/platform/controller.js.map +1 -1
- package/dist/domain/plugin/constants.d.ts +7 -1
- package/dist/domain/plugin/constants.d.ts.map +1 -1
- package/dist/domain/plugin/constants.js +7 -1
- package/dist/domain/plugin/constants.js.map +1 -1
- package/dist/domain/plugin/materialize/plan.d.ts.map +1 -1
- package/dist/domain/plugin/materialize/plan.js +16 -1
- package/dist/domain/plugin/materialize/plan.js.map +1 -1
- package/dist/domain/plugin/members.d.ts +46 -0
- package/dist/domain/plugin/members.d.ts.map +1 -1
- package/dist/domain/plugin/members.js +31 -8
- package/dist/domain/plugin/members.js.map +1 -1
- package/dist/domain/plugin/push.d.ts +5 -3
- package/dist/domain/plugin/push.d.ts.map +1 -1
- package/dist/domain/plugin/push.js +58 -14
- package/dist/domain/plugin/push.js.map +1 -1
- package/dist/domain/workflowexecution/lifecycle.js +1 -1
- package/dist/domain/workflowexecution/lifecycle.js.map +1 -1
- package/dist/extensions/drivers.d.ts +17 -0
- package/dist/extensions/drivers.d.ts.map +1 -1
- package/dist/extensions/outbound-egress.d.ts +49 -0
- package/dist/extensions/outbound-egress.d.ts.map +1 -0
- package/dist/extensions/outbound-egress.js +51 -0
- package/dist/extensions/outbound-egress.js.map +1 -0
- package/dist/extensions/registry.d.ts +6 -0
- package/dist/extensions/registry.d.ts.map +1 -1
- package/dist/extensions/registry.js +10 -0
- package/dist/extensions/registry.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline/apiresource-labels.d.ts +34 -1
- package/dist/pipeline/apiresource-labels.d.ts.map +1 -1
- package/dist/pipeline/apiresource-labels.js +31 -0
- package/dist/pipeline/apiresource-labels.js.map +1 -1
- package/dist/sandbox/kubernetes.d.ts.map +1 -1
- package/dist/sandbox/kubernetes.js +1 -8
- package/dist/sandbox/kubernetes.js.map +1 -1
- package/dist/sandbox/provisioner.d.ts +5 -20
- package/dist/sandbox/provisioner.d.ts.map +1 -1
- package/dist/sandbox/provisioner.js.map +1 -1
- package/dist/sandbox/steps.d.ts +8 -22
- package/dist/sandbox/steps.d.ts.map +1 -1
- package/dist/sandbox/steps.js +12 -17
- package/dist/sandbox/steps.js.map +1 -1
- package/dist/store/interface.d.ts +6 -2
- package/dist/store/interface.d.ts.map +1 -1
- package/dist/store/interface.js.map +1 -1
- package/package.json +6 -5
- package/src/boot/__tests__/oauth-redirect-uri.test.ts +38 -0
- package/src/boot/compose.ts +63 -10
- package/src/boot/config.ts +6 -2
- package/src/boot/oauth-redirect-uri.ts +53 -0
- package/src/domain/agentexecution/lifecycle.ts +1 -1
- package/src/domain/iampolicy/constants.ts +3 -3
- package/src/domain/mcpserver/__tests__/complete-endpoint-auth.test.ts +270 -0
- package/src/domain/mcpserver/__tests__/connect-authorization.test.ts +3 -0
- package/src/domain/mcpserver/__tests__/connect.test.ts +31 -0
- package/src/domain/mcpserver/complete-endpoint-auth.ts +277 -0
- package/src/domain/mcpserver/complete-oauth-connect.ts +1 -0
- package/src/domain/mcpserver/connect.ts +21 -15
- package/src/domain/mcpserver/controller.ts +16 -0
- package/src/domain/mcpserver/initiate-oauth-connect.ts +16 -12
- package/src/domain/mcpserver/oauth/__tests__/discovery.test.ts +120 -91
- package/src/domain/mcpserver/oauth/__tests__/token-refresh.test.ts +3 -1
- package/src/domain/mcpserver/oauth/dcr.ts +2 -1
- package/src/domain/mcpserver/oauth/discovery.ts +120 -89
- package/src/domain/mcpserver/oauth/preflight.ts +2 -1
- package/src/domain/mcpserver/oauth/refresh.ts +2 -1
- package/src/domain/mcpserver/oauth/token.ts +4 -3
- package/src/domain/oauthapp/__tests__/oauthapp.test.ts +2 -2
- package/src/domain/oauthapp/__tests__/refresolution.test.ts +2 -2
- package/src/domain/oauthapp/refresolution/refresolution.ts +1 -1
- package/src/domain/oauthapp/refresolution.ts +1 -1
- package/src/domain/platform/__tests__/platform.test.ts +47 -0
- package/src/domain/platform/controller.ts +10 -4
- package/src/domain/plugin/__tests__/materialize.test.ts +42 -47
- package/src/domain/plugin/__tests__/members.test.ts +149 -0
- package/src/domain/plugin/__tests__/plugin.test.ts +219 -8
- package/src/domain/plugin/constants.ts +7 -1
- package/src/domain/plugin/materialize/plan.ts +20 -1
- package/src/domain/plugin/members.ts +76 -7
- package/src/domain/plugin/push.ts +80 -20
- package/src/domain/workflowexecution/lifecycle.ts +1 -1
- package/src/extensions/__tests__/outbound-egress-points.test.ts +58 -0
- package/src/extensions/drivers.ts +17 -0
- package/src/extensions/outbound-egress.ts +55 -0
- package/src/extensions/registry.ts +19 -0
- package/src/index.ts +10 -0
- package/src/pipeline/apiresource-labels.ts +42 -1
- package/src/sandbox/__tests__/docker.integration.test.ts +0 -2
- package/src/sandbox/__tests__/kubernetes.test.ts +2 -10
- package/src/sandbox/__tests__/local-process.integration.test.ts +0 -3
- package/src/sandbox/__tests__/steps.test.ts +19 -72
- package/src/sandbox/kubernetes.ts +1 -8
- package/src/sandbox/provisioner.ts +5 -20
- package/src/sandbox/steps.ts +12 -29
- package/src/store/interface.ts +6 -2
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Consumed by the agentexecution EC builder's OAuth injection (#17); the
|
|
4
4
|
* connect-lane refresh callers arrive with #19.
|
|
5
5
|
*/
|
|
6
|
+
import type { OutboundFetch } from "@stigmer/outbound/egress";
|
|
6
7
|
import type { OAuthGrant } from "../../../store/interface.js";
|
|
7
8
|
import type { Logger } from "../../../boot/logger.js";
|
|
8
9
|
/** The outcome of a refresh attempt (Go RefreshResult). */
|
|
@@ -30,5 +31,5 @@ export declare const REFRESH_EXPIRY_BUFFER_SECONDS = 60;
|
|
|
30
31
|
* the refresh is needed but impossible or fails (the caller surfaces a
|
|
31
32
|
* re-auth error).
|
|
32
33
|
*/
|
|
33
|
-
export declare function refreshTokenIfExpired(grant: OAuthGrant, currentRefreshToken: string, clientSecret: string, tokenAuthMethod: string, logger: Logger, fetchImpl
|
|
34
|
+
export declare function refreshTokenIfExpired(grant: OAuthGrant, currentRefreshToken: string, clientSecret: string, tokenAuthMethod: string, logger: Logger, fetchImpl: OutboundFetch): Promise<RefreshResult>;
|
|
34
35
|
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/refresh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,UAAU,EACjB,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/refresh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,UAAU,EACjB,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAiExB"}
|
|
@@ -16,7 +16,7 @@ export const REFRESH_EXPIRY_BUFFER_SECONDS = 60;
|
|
|
16
16
|
* the refresh is needed but impossible or fails (the caller surfaces a
|
|
17
17
|
* re-auth error).
|
|
18
18
|
*/
|
|
19
|
-
export async function refreshTokenIfExpired(grant, currentRefreshToken, clientSecret, tokenAuthMethod, logger, fetchImpl
|
|
19
|
+
export async function refreshTokenIfExpired(grant, currentRefreshToken, clientSecret, tokenAuthMethod, logger, fetchImpl) {
|
|
20
20
|
if (grant.accessTokenExpiresAt === 0) {
|
|
21
21
|
// Token does not expire.
|
|
22
22
|
return notRefreshed();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/refresh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/refresh.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAW1C;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiB,EACjB,mBAA2B,EAC3B,YAAoB,EACpB,eAAuB,EACvB,MAAc,EACd,SAAwB;IAExB,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;QACrC,yBAAyB;QACzB,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,IAAI,GAAG,GAAG,KAAK,CAAC,oBAAoB,GAAG,6BAA6B,EAAE,CAAC;QACrE,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,mBAAmB,KAAK,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,UAAU,mDAAmD;YAC/F,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE;QACtE,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,oBAAoB;QACrC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,YAAY,CAChC,KAAK,CAAC,aAAa,EACnB,mBAAmB,EACnB,KAAK,CAAC,QAAQ,EACd,YAAY,EACZ,eAAe,EACf,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,UAAU,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YACpH,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAChC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC;IACzE,CAAC;IAED,MAAM,eAAe,GACnB,aAAa,CAAC,YAAY,KAAK,EAAE;QAC/B,CAAC,CAAC,aAAa,CAAC,YAAY;QAC5B,CAAC,CAAC,mBAAmB,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;QACtC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY;QACZ,mBAAmB,EAAE,aAAa,CAAC,YAAY,KAAK,EAAE;KACvD,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,aAAa,CAAC,WAAW;QACzC,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth token-endpoint client — ports pkg/domain/mcpserver/oauth/token.go
|
|
3
|
+
* whole: the pre-flight refresh (#17) and the authorization-code exchange
|
|
4
|
+
* (#19). Proven by mcpserver-oauth.conformance.test.ts and the Class B
|
|
5
|
+
* mcpserver-connect suite.
|
|
6
|
+
*/
|
|
7
|
+
import type { OutboundFetch } from "@stigmer/outbound/egress";
|
|
1
8
|
/** Token-endpoint response (Go TokenResponse). */
|
|
2
9
|
export interface TokenResponse {
|
|
3
10
|
accessToken: string;
|
|
@@ -21,12 +28,12 @@ export declare const TOKEN_REQUEST_TIMEOUT_MS = 15000;
|
|
|
21
28
|
* clients (DCR), clientSecret is empty; for confidential clients (vendor
|
|
22
29
|
* OAuth) tokenAuthMethod selects how the secret is presented.
|
|
23
30
|
*/
|
|
24
|
-
export declare function exchangeCode(tokenEndpoint: string, code: string, redirectUri: string, codeVerifier: string, clientId: string, clientSecret: string, tokenAuthMethod: string, fetchImpl
|
|
31
|
+
export declare function exchangeCode(tokenEndpoint: string, code: string, redirectUri: string, codeVerifier: string, clientId: string, clientSecret: string, tokenAuthMethod: string, fetchImpl: OutboundFetch): Promise<TokenResponse>;
|
|
25
32
|
/**
|
|
26
33
|
* Exchanges a refresh token for a new access token (refresh_token
|
|
27
34
|
* grant). For public clients (DCR), clientSecret is empty; for
|
|
28
35
|
* confidential clients (vendor OAuth) tokenAuthMethod selects how the
|
|
29
36
|
* secret is presented.
|
|
30
37
|
*/
|
|
31
|
-
export declare function refreshToken(tokenEndpoint: string, currentRefreshToken: string, clientId: string, clientSecret: string, tokenAuthMethod: string, fetchImpl
|
|
38
|
+
export declare function refreshToken(tokenEndpoint: string, currentRefreshToken: string, clientId: string, clientSecret: string, tokenAuthMethod: string, fetchImpl: OutboundFetch): Promise<TokenResponse>;
|
|
32
39
|
//# sourceMappingURL=token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/token.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAcxB"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OAuth token-endpoint client — ports pkg/domain/mcpserver/oauth/token.go
|
|
3
|
-
* whole: the pre-flight refresh (#17) and the authorization-code exchange
|
|
4
|
-
* (#19). Proven by mcpserver-oauth.conformance.test.ts and the Class B
|
|
5
|
-
* mcpserver-connect suite.
|
|
6
|
-
*/
|
|
7
1
|
import { truncateBody } from "./truncate-body.js";
|
|
8
2
|
/**
|
|
9
3
|
* Token-endpoint client authentication methods, in the RFC 8414
|
|
@@ -20,7 +14,7 @@ export const TOKEN_REQUEST_TIMEOUT_MS = 15_000;
|
|
|
20
14
|
* clients (DCR), clientSecret is empty; for confidential clients (vendor
|
|
21
15
|
* OAuth) tokenAuthMethod selects how the secret is presented.
|
|
22
16
|
*/
|
|
23
|
-
export async function exchangeCode(tokenEndpoint, code, redirectUri, codeVerifier, clientId, clientSecret, tokenAuthMethod, fetchImpl
|
|
17
|
+
export async function exchangeCode(tokenEndpoint, code, redirectUri, codeVerifier, clientId, clientSecret, tokenAuthMethod, fetchImpl) {
|
|
24
18
|
const params = new URLSearchParams({
|
|
25
19
|
grant_type: "authorization_code",
|
|
26
20
|
code,
|
|
@@ -36,7 +30,7 @@ export async function exchangeCode(tokenEndpoint, code, redirectUri, codeVerifie
|
|
|
36
30
|
* confidential clients (vendor OAuth) tokenAuthMethod selects how the
|
|
37
31
|
* secret is presented.
|
|
38
32
|
*/
|
|
39
|
-
export async function refreshToken(tokenEndpoint, currentRefreshToken, clientId, clientSecret, tokenAuthMethod, fetchImpl
|
|
33
|
+
export async function refreshToken(tokenEndpoint, currentRefreshToken, clientId, clientSecret, tokenAuthMethod, fetchImpl) {
|
|
40
34
|
const params = new URLSearchParams({
|
|
41
35
|
grant_type: "refresh_token",
|
|
42
36
|
refresh_token: currentRefreshToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/domain/mcpserver/oauth/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* 1. An exact (org, slug) match wins — unique by the create pipeline's
|
|
19
19
|
* duplicate check.
|
|
20
20
|
* 2. Otherwise a slug-only match is honored when it is UNIQUE. This lets
|
|
21
|
-
* a
|
|
21
|
+
* a deployment satisfy a public server's ref pinned to
|
|
22
22
|
* `org: stigmer` with an OAuthApp applied in the user's own org (#584).
|
|
23
23
|
* 3. Two or more slug matches with no exact hit resolve to nothing, with
|
|
24
24
|
* a WARN naming the candidate orgs: ambiguity is never silently
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* 1. An exact (org, slug) match wins. Uniqueness is guaranteed by the
|
|
19
19
|
* create pipeline's duplicate check.
|
|
20
20
|
* 2. Otherwise a slug-only match is honored when it is UNIQUE — what
|
|
21
|
-
* lets a
|
|
21
|
+
* lets a deployment satisfy a public server's ref pinned to
|
|
22
22
|
* `org: stigmer` with an OAuthApp applied in the user's own org.
|
|
23
23
|
* 3. Two or more slug matches with no exact hit resolve to nothing, with
|
|
24
24
|
* a WARN naming the candidate orgs: ambiguity is never silently
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* getRunnerBootstrapConfig and getLicenseStatus shapes; getRunnerScopedToken
|
|
8
8
|
* is deliberately excluded there — its arms are exercised mid-execution)
|
|
9
9
|
* and __tests__/platform.test.ts (the fail-soft mint matrix, the license
|
|
10
|
-
* status arms, the #15 composed-server pattern).
|
|
10
|
+
* status arms, the stated-version arm, the #15 composed-server pattern).
|
|
11
11
|
*
|
|
12
12
|
* getLicenseStatus is the one arm every edition answers from a driver
|
|
13
13
|
* point: a server's license is a fact about the server, like its edition,
|
|
@@ -74,6 +74,13 @@ export interface PlatformControllerDeps {
|
|
|
74
74
|
* cloud composition answers `cloud` without forking this controller.
|
|
75
75
|
*/
|
|
76
76
|
readonly edition: ServerEdition;
|
|
77
|
+
/**
|
|
78
|
+
* The release reported beside the edition. The composition root resolves
|
|
79
|
+
* it (ComposeOptions.version, else SERVER_VERSION), so this controller
|
|
80
|
+
* never reads the build stamp itself: a library consumer with no bundle
|
|
81
|
+
* states its installed release and answers exactly as a bundle would.
|
|
82
|
+
*/
|
|
83
|
+
readonly version: string;
|
|
77
84
|
/**
|
|
78
85
|
* What license this server holds (extensions/license-status.ts). The
|
|
79
86
|
* composition root installs the built-in `absent` provider when no unit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/domain/platform/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAKzE,OAAO,EAML,aAAa,EACd,MAAM,uDAAuD,CAAC;AAS/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/domain/platform/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAKzE,OAAO,EAML,aAAa,EACd,MAAM,uDAAuD,CAAC;AAS/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,gDAAgD,CAAC;AAGxD,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,yEAAyE;AACzE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,sBAAsB,GAC3B,IAAI,CASN"}
|
|
@@ -4,7 +4,6 @@ import { LicenseState } from "@stigmer/protos/ai/stigmer/platform/v1/license_pb"
|
|
|
4
4
|
import { GetLicenseStatusOutputSchema, GetRunnerBootstrapConfigOutputSchema, GetRunnerScopedTokenOutputSchema, GetServerInfoOutputSchema, PlatformQueryController, } from "@stigmer/protos/ai/stigmer/platform/v1/server_info_pb";
|
|
5
5
|
import { callerIdentityOf } from "../../pipeline/interceptors/auth.js";
|
|
6
6
|
import { TOKEN_TYPE_EXECUTION_SCOPED } from "../../runnerauth/runnerauth.js";
|
|
7
|
-
import { SERVER_VERSION } from "./version.js";
|
|
8
7
|
/** Registers the platform query service on the router (routes stage). */
|
|
9
8
|
export function registerPlatformServices(router, deps) {
|
|
10
9
|
router.service(PlatformQueryController, {
|
|
@@ -14,11 +13,11 @@ export function registerPlatformServices(router, deps) {
|
|
|
14
13
|
getRunnerScopedToken: (input, ctx) => getRunnerScopedToken(deps, input, ctx),
|
|
15
14
|
});
|
|
16
15
|
}
|
|
17
|
-
/** Go GetServerInfo: the server edition and
|
|
16
|
+
/** Go GetServerInfo: the server edition and release version. */
|
|
18
17
|
function getServerInfo(deps) {
|
|
19
18
|
return create(GetServerInfoOutputSchema, {
|
|
20
19
|
edition: deps.edition,
|
|
21
|
-
version:
|
|
20
|
+
version: deps.version,
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/domain/platform/controller.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,EACpC,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,uDAAuD,CAAC;AAW/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAKvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/domain/platform/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,15 @@ export declare const MATERIALIZATION_ORDER: readonly ["skill", "mcp_server", "ag
|
|
|
28
28
|
export type MaterializedKindName = (typeof MATERIALIZATION_ORDER)[number];
|
|
29
29
|
/** FailedPrecondition copy when the upload lane was not configured. */
|
|
30
30
|
export declare const TRANSFER_LANE_NOT_CONFIGURED = "plugin artifact transfer lane is not configured on this server";
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Warning kinds the SERVER adds to the library's; the wire carries them as
|
|
33
|
+
* strings, and the list in PluginWarning.kind's comment (plugin/v1/status.proto)
|
|
34
|
+
* is kept equal to this one because the SDK docs are generated from it.
|
|
35
|
+
*/
|
|
32
36
|
export declare const SERVER_WARNING_KINDS: {
|
|
33
37
|
readonly componentIgnored: "component-ignored";
|
|
38
|
+
/** A system-content row the plugin took over in place (members.ts, judgeSlug). */
|
|
39
|
+
readonly memberAdopted: "member-adopted";
|
|
34
40
|
readonly modelHintUnresolved: "model-hint-unresolved";
|
|
35
41
|
readonly subAgentNameBuiltin: "sub-agent-name-builtin";
|
|
36
42
|
readonly versionNotTaggable: "version-not-taggable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domain/plugin/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAsB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,uDAKxB,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,uEAAuE;AACvE,eAAO,MAAM,4BAA4B,mEACyB,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domain/plugin/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAsB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,uDAKxB,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,uEAAuE;AACvE,eAAO,MAAM,4BAA4B,mEACyB,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;IAE/B,kFAAkF;;;;;CAK1E,CAAC"}
|
|
@@ -36,9 +36,15 @@ export const MATERIALIZATION_ORDER = [
|
|
|
36
36
|
];
|
|
37
37
|
/** FailedPrecondition copy when the upload lane was not configured. */
|
|
38
38
|
export const TRANSFER_LANE_NOT_CONFIGURED = "plugin artifact transfer lane is not configured on this server";
|
|
39
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Warning kinds the SERVER adds to the library's; the wire carries them as
|
|
41
|
+
* strings, and the list in PluginWarning.kind's comment (plugin/v1/status.proto)
|
|
42
|
+
* is kept equal to this one because the SDK docs are generated from it.
|
|
43
|
+
*/
|
|
40
44
|
export const SERVER_WARNING_KINDS = {
|
|
41
45
|
componentIgnored: "component-ignored",
|
|
46
|
+
/** A system-content row the plugin took over in place (members.ts, judgeSlug). */
|
|
47
|
+
memberAdopted: "member-adopted",
|
|
42
48
|
modelHintUnresolved: "model-hint-unresolved",
|
|
43
49
|
subAgentNameBuiltin: "sub-agent-name-builtin",
|
|
44
50
|
versionNotTaggable: "version-not-taggable",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/domain/plugin/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,SAAS;IACT,OAAO;IACP,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO;IACP,YAAY;IACZ,OAAO;IACP,UAAU;CACF,CAAC;AAGX,uEAAuE;AACvE,MAAM,CAAC,MAAM,4BAA4B,GACvC,gEAAgE,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/domain/plugin/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,SAAS;IACT,OAAO;IACP,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO;IACP,YAAY;IACZ,OAAO;IACP,UAAU;CACF,CAAC;AAGX,uEAAuE;AACvE,MAAM,CAAC,MAAM,4BAA4B,GACvC,gEAAgE,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,gBAAgB,EAAE,mBAAmB;IACrC,kFAAkF;IAClF,aAAa,EAAE,gBAAgB;IAC/B,mBAAmB,EAAE,uBAAuB;IAC5C,mBAAmB,EAAE,wBAAwB;IAC7C,kBAAkB,EAAE,sBAAsB;CAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/domain/plugin/materialize/plan.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/domain/plugin/materialize/plan.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAC;AAS5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,aAAa,EAAE,GACxB,MAAM,CAgBR;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,GACd,mBAAmB,CAqErB"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import { create } from "@bufbuild/protobuf";
|
|
16
16
|
import { PluginWarningSchema } from "@stigmer/protos/ai/stigmer/agentic/plugin/v1/status_pb";
|
|
17
17
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
18
|
+
import { RESERVED_LABEL_TRUE, SYSTEM_LABEL, isSystemContent, } from "../../../pipeline/apiresource-labels.js";
|
|
18
19
|
import { SERVER_WARNING_KINDS, VERSION_TAG_PATTERN } from "../constants.js";
|
|
19
20
|
import { planAgent } from "./agent.js";
|
|
20
21
|
import { planMcpServers } from "./mcp-servers.js";
|
|
@@ -52,24 +53,38 @@ export function planMaterialization(plugin, files, overlays, identity, message)
|
|
|
52
53
|
])), identity);
|
|
53
54
|
const agent = planAgent(plugin, overlays.agent?.resource, mcpServers, identity, warnings);
|
|
54
55
|
const workflows = planWorkflows(overlays.workflows, identity);
|
|
56
|
+
// `system` is read from the labels each member will be written with (the
|
|
57
|
+
// overlay author's, the plugin's two merged over them). A skill's request
|
|
58
|
+
// carries only the plugin's two, so a skill never declares system content
|
|
59
|
+
// and can never adopt a row; the overlay kinds can.
|
|
55
60
|
const members = [
|
|
56
61
|
...skills.map((skill) => ({
|
|
57
62
|
kind: ApiResourceKind.skill,
|
|
58
63
|
slug: skill.slug,
|
|
59
64
|
name: skill.name,
|
|
65
|
+
system: skill.request.labels[SYSTEM_LABEL] === RESERVED_LABEL_TRUE,
|
|
60
66
|
})),
|
|
61
67
|
...mcpServers.map((server) => ({
|
|
62
68
|
kind: ApiResourceKind.mcp_server,
|
|
63
69
|
slug: server.slug,
|
|
64
70
|
name: server.name,
|
|
71
|
+
system: isSystemContent(server.resource.metadata),
|
|
65
72
|
})),
|
|
66
73
|
...(agent === undefined
|
|
67
74
|
? []
|
|
68
|
-
: [
|
|
75
|
+
: [
|
|
76
|
+
{
|
|
77
|
+
kind: ApiResourceKind.agent,
|
|
78
|
+
slug: agent.slug,
|
|
79
|
+
name: agent.name,
|
|
80
|
+
system: isSystemContent(agent.resource.metadata),
|
|
81
|
+
},
|
|
82
|
+
]),
|
|
69
83
|
...workflows.map((workflow) => ({
|
|
70
84
|
kind: ApiResourceKind.workflow,
|
|
71
85
|
slug: workflow.slug,
|
|
72
86
|
name: workflow.name,
|
|
87
|
+
system: isSystemContent(workflow.resource.metadata),
|
|
73
88
|
})),
|
|
74
89
|
];
|
|
75
90
|
return { skills, mcpServers, agent, workflows, members, tag, warnings };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/domain/plugin/materialize/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAEtH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAe/C,oFAAoF;AACpF,MAAM,UAAU,UAAU,CACxB,OAA2B,EAC3B,QAAyB;IAEzB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,IAAI,CACX,MAAM,CAAC,mBAAmB,EAAE;QAC1B,IAAI,EAAE,oBAAoB,CAAC,kBAAkB;QAC7C,OAAO,EACL,YAAY,OAAO,8DAA8D;YACjF,yDAAyD;KAC5D,CAAC,CACH,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,KAAkB,EAClB,QAAwB,EACxB,QAAwB,EACxB,OAAe;IAEf,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CACX,MAAM,CAAC,mBAAmB,EAAE;YAC1B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;YAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,+FAA+F;SAC5I,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,cAAc,CAC/B,MAAM,EACN,IAAI,GAAG,CACL,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpC,QAAQ,CAAC,MAAM;QACf,QAAQ,CAAC,QAAQ;KAClB,CAAC,CACH,EACD,QAAQ,CACT,CAAC;IACF,MAAM,KAAK,GAAG,SAAS,CACrB,MAAM,EACN,QAAQ,CAAC,KAAK,EAAE,QAAQ,EACxB,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACF,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAoB;QAC/B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,eAAe,CAAC,KAAK;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/domain/plugin/materialize/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,12 +14,16 @@ export interface Member {
|
|
|
14
14
|
readonly name: string;
|
|
15
15
|
/** The `stigmer.ai/plugin-version` value it was last materialised from. */
|
|
16
16
|
readonly version: string;
|
|
17
|
+
/** Whether the stored row carries `stigmer.ai/system` (isSystemContent). */
|
|
18
|
+
readonly system: boolean;
|
|
17
19
|
}
|
|
18
20
|
/** A member the plan intends to exist after this push. */
|
|
19
21
|
export interface PlannedMember {
|
|
20
22
|
readonly kind: ApiResourceKind;
|
|
21
23
|
readonly slug: string;
|
|
22
24
|
readonly name: string;
|
|
25
|
+
/** Whether the member the plugin brings declares `stigmer.ai/system`. */
|
|
26
|
+
readonly system: boolean;
|
|
23
27
|
}
|
|
24
28
|
/** Every member of the plugin in its organization, in materialisation order. */
|
|
25
29
|
export declare function findMembers(store: Store, pluginId: string, org: string): Promise<Member[]>;
|
|
@@ -32,6 +36,48 @@ export type SlugHolder = {
|
|
|
32
36
|
readonly holder: Member;
|
|
33
37
|
};
|
|
34
38
|
export declare function slugHolder(store: Store, planned: PlannedMember, org: string): Promise<SlugHolder>;
|
|
39
|
+
/**
|
|
40
|
+
* What a push does about one planned slug, decided before any write.
|
|
41
|
+
*
|
|
42
|
+
* free nothing holds it; the member is created
|
|
43
|
+
* ours this plugin's own member; the push is an upgrade
|
|
44
|
+
* adopt system content no plugin manages, and the plugin
|
|
45
|
+
* brings system content for the same slug: the child's
|
|
46
|
+
* apply (upsert-by-slug) rewrites the row in place, so
|
|
47
|
+
* its id, its default instance, every personal instance
|
|
48
|
+
* and every session bound to them survive
|
|
49
|
+
* held-unmanaged a resource no plugin manages and the rule above does
|
|
50
|
+
* not admit; refused naming it
|
|
51
|
+
* held-by-plugin another plugin's member; refused naming that plugin
|
|
52
|
+
*
|
|
53
|
+
* Adoption is deliberately narrow, "system replaces system": the held row's
|
|
54
|
+
* label narrows which rows are eligible (a user's row never carries it on
|
|
55
|
+
* an edition that enforces reserved labels), and the plugin's own claim to
|
|
56
|
+
* the label was charged to `can_write_reserved_labels` by the sanitiser
|
|
57
|
+
* moments before, so the grant is the caller's live permission and never
|
|
58
|
+
* the label alone (pipeline/apiresource-labels.ts). It never transfers a
|
|
59
|
+
* member between plugins: another plugin's slug is refused whatever labels
|
|
60
|
+
* either side carries. The one case it exists for is the platform re-homing
|
|
61
|
+
* the content it seeded before plugins existed (the default agent; the
|
|
62
|
+
* platform's own server) without orphaning a single conversation.
|
|
63
|
+
*/
|
|
64
|
+
export type SlugDecision = {
|
|
65
|
+
readonly kind: "free";
|
|
66
|
+
} | {
|
|
67
|
+
readonly kind: "ours";
|
|
68
|
+
readonly holder: Member;
|
|
69
|
+
} | {
|
|
70
|
+
readonly kind: "adopt";
|
|
71
|
+
readonly holder: Member;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: "held-unmanaged";
|
|
74
|
+
readonly holder: Member;
|
|
75
|
+
} | {
|
|
76
|
+
readonly kind: "held-by-plugin";
|
|
77
|
+
readonly holder: Member;
|
|
78
|
+
readonly pluginId: string;
|
|
79
|
+
};
|
|
80
|
+
export declare function judgeSlug(holder: SlugHolder, planned: PlannedMember, pluginId: string): SlugDecision;
|
|
35
81
|
/**
|
|
36
82
|
* Whether the stored members already ARE the plan at this digest: every
|
|
37
83
|
* planned member present, none extra, each stamped with the digest.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/domain/plugin/members.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/domain/plugin/members.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
* pattern.
|
|
9
9
|
*
|
|
10
10
|
* The same module answers the two questions a push asks before any write:
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* converge on the head's digest (every planned
|
|
15
|
-
* carrying `stigmer.ai/plugin-version` equal to it),
|
|
16
|
-
* re-push of the same archive return without a child
|
|
11
|
+
* what to do about each planned slug in the organization (`judgeSlug`:
|
|
12
|
+
* free; ours, an upgrade; system content the plugin replaces, adopted;
|
|
13
|
+
* another plugin's or a user's, refused naming the holder); and whether the
|
|
14
|
+
* plugin's members already converge on the head's digest (every planned
|
|
15
|
+
* member present, each carrying `stigmer.ai/plugin-version` equal to it),
|
|
16
|
+
* which is what lets a re-push of the same archive return without a child
|
|
17
|
+
* write.
|
|
17
18
|
*
|
|
18
|
-
* Proven by __tests__/members.test.ts
|
|
19
|
+
* Proven by __tests__/members.test.ts (the slug decision on plain values,
|
|
20
|
+
* convergence, the dropped set), __tests__/plugin.test.ts (adoption and
|
|
21
|
+
* refusal through a composed server) and the conformance suite's
|
|
19
22
|
* listMembers, collision and reconcile arms.
|
|
20
23
|
*/
|
|
21
24
|
import { fromBinary } from "@bufbuild/protobuf";
|
|
@@ -24,7 +27,7 @@ import { McpServerSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1
|
|
|
24
27
|
import { SkillSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/api_pb";
|
|
25
28
|
import { WorkflowSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/api_pb";
|
|
26
29
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
27
|
-
import { PLUGIN_LABEL, PLUGIN_VERSION_LABEL, pluginIdOf, } from "../../pipeline/apiresource-labels.js";
|
|
30
|
+
import { PLUGIN_LABEL, PLUGIN_VERSION_LABEL, isSystemContent, pluginIdOf, } from "../../pipeline/apiresource-labels.js";
|
|
28
31
|
import { findResourceBySlug } from "../../pipeline/steps/helpers.js";
|
|
29
32
|
import { metadataOf } from "../../pipeline/steps/shapes.js";
|
|
30
33
|
/** The four kinds a plugin materialises, in materialisation order. */
|
|
@@ -41,6 +44,7 @@ function memberOf(kind, metadata) {
|
|
|
41
44
|
slug: metadata.slug,
|
|
42
45
|
name: metadata.name,
|
|
43
46
|
version: metadata.labels[PLUGIN_VERSION_LABEL] ?? "",
|
|
47
|
+
system: isSystemContent(metadata),
|
|
44
48
|
};
|
|
45
49
|
}
|
|
46
50
|
/** Every member of the plugin in its organization, in materialisation order. */
|
|
@@ -75,6 +79,25 @@ export async function slugHolder(store, planned, org) {
|
|
|
75
79
|
holder: memberOf(planned.kind, metadata),
|
|
76
80
|
};
|
|
77
81
|
}
|
|
82
|
+
export function judgeSlug(holder, planned, pluginId) {
|
|
83
|
+
if (!holder.held) {
|
|
84
|
+
return { kind: "free" };
|
|
85
|
+
}
|
|
86
|
+
if (holder.byPlugin === pluginId) {
|
|
87
|
+
return { kind: "ours", holder: holder.holder };
|
|
88
|
+
}
|
|
89
|
+
if (holder.byPlugin !== undefined) {
|
|
90
|
+
return {
|
|
91
|
+
kind: "held-by-plugin",
|
|
92
|
+
holder: holder.holder,
|
|
93
|
+
pluginId: holder.byPlugin,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (holder.holder.system && planned.system) {
|
|
97
|
+
return { kind: "adopt", holder: holder.holder };
|
|
98
|
+
}
|
|
99
|
+
return { kind: "held-unmanaged", holder: holder.holder };
|
|
100
|
+
}
|
|
78
101
|
/**
|
|
79
102
|
* Whether the stored members already ARE the plan at this digest: every
|
|
80
103
|
* planned member present, none extra, each stamped with the digest.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/domain/plugin/members.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/domain/plugin/members.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,9 +54,11 @@ export declare function identityOf(plugin: Plugin, digest: string, visibility: A
|
|
|
54
54
|
export declare function requestedVisibility(ctx: RequestContext<PushDesc>): ApiResourceVisibility;
|
|
55
55
|
/**
|
|
56
56
|
* PlanMaterialization — everything the push will write, checked whole:
|
|
57
|
-
* every child slug against the organization (free, ours,
|
|
58
|
-
* naming the holder), the caller's permission for
|
|
59
|
-
* the plugin's current members for the convergence
|
|
57
|
+
* every child slug against the organization (free, ours, adopted system
|
|
58
|
+
* content, or refused naming the holder), the caller's permission for
|
|
59
|
+
* every member kind, and the plugin's current members for the convergence
|
|
60
|
+
* and drop decisions. An adopted slug is recorded as a warning on the plan,
|
|
61
|
+
* so the install receipt says which rows the plugin took over.
|
|
60
62
|
*/
|
|
61
63
|
export declare function newPlanMaterializationStep(store: Store, authorizer: Authorizer): PipelineStep<PushDesc>;
|
|
62
64
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/domain/plugin/push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/domain/plugin/push.ts"],"names":[],"mappings":"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"}
|