@stigmer/server 3.18.0 → 3.19.0
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.map +1 -1
- package/dist/boot/compose.js +42 -6
- 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/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 +38 -14
- 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/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 +14 -0
- package/dist/pipeline/apiresource-labels.d.ts.map +1 -1
- package/dist/pipeline/apiresource-labels.js +14 -0
- package/dist/pipeline/apiresource-labels.js.map +1 -1
- package/dist/sandbox/kubernetes.d.ts.map +1 -1
- package/dist/sandbox/kubernetes.js +8 -1
- package/dist/sandbox/kubernetes.js.map +1 -1
- package/dist/sandbox/provisioner.d.ts +20 -5
- package/dist/sandbox/provisioner.d.ts.map +1 -1
- package/dist/sandbox/provisioner.js.map +1 -1
- package/dist/sandbox/steps.d.ts +22 -8
- package/dist/sandbox/steps.d.ts.map +1 -1
- package/dist/sandbox/steps.js +17 -12
- package/dist/sandbox/steps.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 +47 -8
- 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/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/__tests__/oauth-handshake.test.ts +1 -1
- 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 +37 -13
- 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/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 +16 -0
- package/src/sandbox/__tests__/docker.integration.test.ts +2 -0
- package/src/sandbox/__tests__/kubernetes.test.ts +10 -2
- package/src/sandbox/__tests__/local-process.integration.test.ts +3 -0
- package/src/sandbox/__tests__/steps.test.ts +72 -19
- package/src/sandbox/kubernetes.ts +8 -1
- package/src/sandbox/provisioner.ts +20 -5
- package/src/sandbox/steps.ts +29 -12
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,wCAAwC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,20 @@ export declare const PLUGIN_LABEL = "stigmer.ai/plugin";
|
|
|
74
74
|
* lane deleted or an older install left behind is re-materialised.
|
|
75
75
|
*/
|
|
76
76
|
export declare const PLUGIN_VERSION_LABEL = "stigmer.ai/plugin-version";
|
|
77
|
+
/**
|
|
78
|
+
* How an MCP server's `spec.auth` came to be. The one value, `endpoint`,
|
|
79
|
+
* says the server itself completed it: the author supplied a URL and
|
|
80
|
+
* nothing about authentication, the endpoint answered the save-time probe
|
|
81
|
+
* with an OAuth challenge, and the server wrote the token variable, its
|
|
82
|
+
* declaration and the Bearer header (domain/mcpserver/complete-endpoint-auth.ts).
|
|
83
|
+
* The label is provenance, not permission: it lets the next save tell a
|
|
84
|
+
* completion it may reuse from an author's own `auth` it must not touch.
|
|
85
|
+
* Stamped through the server-stamped mechanism; dropped when the author
|
|
86
|
+
* writes their own `auth`.
|
|
87
|
+
*/
|
|
88
|
+
export declare const MCP_AUTH_LABEL = "stigmer.ai/mcp-auth";
|
|
89
|
+
/** The MCP_AUTH_LABEL value for a completion the endpoint's own challenge produced. */
|
|
90
|
+
export declare const MCP_AUTH_ENDPOINT = "endpoint";
|
|
77
91
|
/** The plugin id a resource's labels claim, or undefined when unlabelled. */
|
|
78
92
|
export declare function pluginIdOf(metadata: ApiResourceMetadata | undefined): string | undefined;
|
|
79
93
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiresource-labels.d.ts","sourceRoot":"","sources":["../../src/pipeline/apiresource-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gCAA6C,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,8BAA2C,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,sBAAmC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,sBAAmC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,8BAA2C,CAAC;AAE7E,6EAA6E;AAC7E,wBAAgB,UAAU,CACxB,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAGpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GACxC,OAAO,CAET;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GACxC,OAAO,CAET"}
|
|
1
|
+
{"version":3,"file":"apiresource-labels.d.ts","sourceRoot":"","sources":["../../src/pipeline/apiresource-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gCAA6C,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,8BAA2C,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,sBAAmC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,sBAAmC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,8BAA2C,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,wBAAqC,CAAC;AAEjE,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,6EAA6E;AAC7E,wBAAgB,UAAU,CACxB,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAGpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GACxC,OAAO,CAET;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GACxC,OAAO,CAET"}
|
|
@@ -52,6 +52,20 @@ export const PLUGIN_LABEL = `${RESERVED_LABEL_PREFIX}plugin`;
|
|
|
52
52
|
* lane deleted or an older install left behind is re-materialised.
|
|
53
53
|
*/
|
|
54
54
|
export const PLUGIN_VERSION_LABEL = `${RESERVED_LABEL_PREFIX}plugin-version`;
|
|
55
|
+
/**
|
|
56
|
+
* How an MCP server's `spec.auth` came to be. The one value, `endpoint`,
|
|
57
|
+
* says the server itself completed it: the author supplied a URL and
|
|
58
|
+
* nothing about authentication, the endpoint answered the save-time probe
|
|
59
|
+
* with an OAuth challenge, and the server wrote the token variable, its
|
|
60
|
+
* declaration and the Bearer header (domain/mcpserver/complete-endpoint-auth.ts).
|
|
61
|
+
* The label is provenance, not permission: it lets the next save tell a
|
|
62
|
+
* completion it may reuse from an author's own `auth` it must not touch.
|
|
63
|
+
* Stamped through the server-stamped mechanism; dropped when the author
|
|
64
|
+
* writes their own `auth`.
|
|
65
|
+
*/
|
|
66
|
+
export const MCP_AUTH_LABEL = `${RESERVED_LABEL_PREFIX}mcp-auth`;
|
|
67
|
+
/** The MCP_AUTH_LABEL value for a completion the endpoint's own challenge produced. */
|
|
68
|
+
export const MCP_AUTH_ENDPOINT = "endpoint";
|
|
55
69
|
/** The plugin id a resource's labels claim, or undefined when unlabelled. */
|
|
56
70
|
export function pluginIdOf(metadata) {
|
|
57
71
|
const value = metadata?.labels[PLUGIN_LABEL];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiresource-labels.js","sourceRoot":"","sources":["../../src/pipeline/apiresource-labels.ts"],"names":[],"mappings":"AAuBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,qBAAqB,kBAAkB,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,qBAAqB,gBAAgB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,qBAAqB,QAAQ,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,qBAAqB,QAAQ,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,qBAAqB,gBAAgB,CAAC;AAE7E,6EAA6E;AAC7E,MAAM,UAAU,UAAU,CACxB,QAAyC;IAEzC,MAAM,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAyC;IAEzC,OAAO,QAAQ,EAAE,MAAM,CAAC,sBAAsB,CAAC,KAAK,mBAAmB,CAAC;AAC1E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAC7B,QAAyC;IAEzC,OAAO,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,mBAAmB,CAAC;AAChE,CAAC"}
|
|
1
|
+
{"version":3,"file":"apiresource-labels.js","sourceRoot":"","sources":["../../src/pipeline/apiresource-labels.ts"],"names":[],"mappings":"AAuBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,qBAAqB,kBAAkB,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,qBAAqB,gBAAgB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,qBAAqB,QAAQ,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,qBAAqB,QAAQ,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,qBAAqB,gBAAgB,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,qBAAqB,UAAU,CAAC;AAEjE,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,UAAU,UAAU,CACxB,QAAyC;IAEzC,MAAM,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAyC;IAEzC,OAAO,QAAQ,EAAE,MAAM,CAAC,sBAAsB,CAAC,KAAK,mBAAmB,CAAC;AAC1E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAC7B,QAAyC;IAEzC,OAAO,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,mBAAmB,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kubernetes.d.ts","sourceRoot":"","sources":["../../src/sandbox/kubernetes.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAElB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACb,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"kubernetes.d.ts","sourceRoot":"","sources":["../../src/sandbox/kubernetes.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAElB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAqD1B,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9D,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,eAAe,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,4DAA4D;IAC5D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAwID,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,GACnB,QAAQ,CAWV;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,MAAM,GACT,uBAAuB,CAczB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,mBAAmB,GAC1B,YAAY,CA6Ed;AAMD,eAAO,MAAM,+BAA+B,EAAE,yBAgB7C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE;IACN,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC/D,GACA,kBAAkB,CA8EpB"}
|
|
@@ -57,7 +57,14 @@ const RUNNER_RESOURCES = {
|
|
|
57
57
|
requests: { cpu: "500m", memory: "512Mi" },
|
|
58
58
|
limits: { cpu: "2", memory: "2Gi" },
|
|
59
59
|
};
|
|
60
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* The persistent-workspace scopes (SandboxScope.persistentWorkspace).
|
|
62
|
+
* Durability here is decided by SCOPE alone: this driver reads neither the
|
|
63
|
+
* environment's caller class nor any per-session policy, so every session
|
|
64
|
+
* keeps its PVC whoever asked. A driver that gives some caller classes a
|
|
65
|
+
* workspace that dies with the conversation is a composition's choice
|
|
66
|
+
* built on SandboxEnvironment.callerClass, not a built-in behaviour.
|
|
67
|
+
*/
|
|
61
68
|
const PERSISTENT_SCOPES = new Set([
|
|
62
69
|
"session",
|
|
63
70
|
"workflow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kubernetes.js","sourceRoot":"","sources":["../../src/sandbox/kubernetes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,yBAAyB,CAAC;AAejC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,8EAA8E;AAC9E,oEAAoE;AACpE,0EAA0E;AAC1E,8EAA8E;AAE9E,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AACvC,+EAA+E;AAC/E,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AACxD,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAC1C,gEAAgE;AAChE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC;;;;GAIG;AACH,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAC7C,wEAAwE;AACxE,MAAM,gBAAgB,GAAG;IACvB,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAC1C,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;CAC3B,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"kubernetes.js","sourceRoot":"","sources":["../../src/sandbox/kubernetes.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,12 +39,15 @@
|
|
|
39
39
|
* runner process polls the queues.
|
|
40
40
|
*/
|
|
41
41
|
import type { Logger } from "../boot/logger.js";
|
|
42
|
+
import type { CallerClass } from "../extensions/identity.js";
|
|
42
43
|
/**
|
|
43
|
-
*
|
|
44
|
-
* sandboxed runner must poll
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
44
|
+
* What is TRUE about one provisioning request, handed to a driver: which
|
|
45
|
+
* queue the sandboxed runner must poll, the credential it authenticates
|
|
46
|
+
* with, and the class of the caller whose request is being served. Facts
|
|
47
|
+
* only — what a driver DOES with them (the workspace's durability, the
|
|
48
|
+
* pod's shape, whether a warm pool is consulted) is driver policy and
|
|
49
|
+
* never travels here. Endpoints, images and resource shapes are driver
|
|
50
|
+
* configuration, not per-sandbox state.
|
|
48
51
|
*/
|
|
49
52
|
export interface SandboxEnvironment {
|
|
50
53
|
/** The Temporal task queue the sandboxed runner polls (session:{id} / wfexec:{id}). */
|
|
@@ -55,6 +58,18 @@ export interface SandboxEnvironment {
|
|
|
55
58
|
* and EC decrypt falls back to redaction, the oss#535 posture.
|
|
56
59
|
*/
|
|
57
60
|
readonly stigmerToken: string;
|
|
61
|
+
/**
|
|
62
|
+
* The class of the caller whose request provisioned this sandbox — the
|
|
63
|
+
* identity interceptor's word for it (`user`, `internal`, a composed
|
|
64
|
+
* verifier's own lane such as a guest or a scheduled fire). A driver
|
|
65
|
+
* that gives some session classes a workspace that does not outlive the
|
|
66
|
+
* conversation reads it here; the built-in drivers (`local-process`,
|
|
67
|
+
* `docker`, `kubernetes`) ignore it and keep every session persistent.
|
|
68
|
+
* Required rather than optional so a construction site that forgets it
|
|
69
|
+
* fails to compile instead of silently reading as a persistent user
|
|
70
|
+
* session to every driver.
|
|
71
|
+
*/
|
|
72
|
+
readonly callerClass: CallerClass;
|
|
58
73
|
}
|
|
59
74
|
/** One sandbox's observed live state (the Q5 probe result). */
|
|
60
75
|
export type SandboxProbeState = "absent" | "stopped" | "running";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisioner.d.ts","sourceRoot":"","sources":["../../src/sandbox/provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"provisioner.d.ts","sourceRoot":"","sources":["../../src/sandbox/provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,uEAAuE;IACvE,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D;;;OAGG;IACH,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,wEAAwE;IACxE,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;;OAIG;IACH,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,uEAAuE;IACvE,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,4EAA4E;IAC5E,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,sFAAsF;IACtF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,qGAAqG;AACrG,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE;IAChD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,KAAK,kBAAkB,CAAC;AAEzB;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,oDAIrC,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC1E,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,EAChE,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAClE,kBAAkB,GAAG,SAAS,CAehC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisioner.js","sourceRoot":"","sources":["../../src/sandbox/provisioner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provisioner.js","sourceRoot":"","sources":["../../src/sandbox/provisioner.ts"],"names":[],"mappings":"AAwJA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,eAAe;IACf,QAAQ;IACR,YAAY;CACJ,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAA0E,EAC1E,gBAAgE,EAChE,mBAAmE;IAEnE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG;YACZ,GAAG,gBAAgB,CAAC,IAAI,EAAE;YAC1B,GAAG,mBAAmB,CAAC,IAAI,EAAE;SAC9B,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,qBAAqB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/sandbox/steps.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { WorkflowExecutionSchema } from "@stigmer/protos/ai/stigmer/agentic/work
|
|
|
5
5
|
import { ExecutionPhase as WorkflowExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/enum_pb";
|
|
6
6
|
import type { Logger } from "../boot/logger.js";
|
|
7
7
|
import type { AgentExecutionTemporalConfig } from "../domain/agentexecution/temporal/config.js";
|
|
8
|
+
import type { CallerIdentity } from "../extensions/identity.js";
|
|
8
9
|
import { type WorkflowExecutionTemporalConfig } from "../domain/workflowexecution/temporal/config.js";
|
|
9
10
|
import type { PipelineStep } from "../pipeline/pipeline.js";
|
|
10
11
|
import type { Store } from "../store/interface.js";
|
|
@@ -15,6 +16,16 @@ import { type SandboxLane } from "./lane.js";
|
|
|
15
16
|
* read the same on both editions).
|
|
16
17
|
*/
|
|
17
18
|
export declare const SANDBOX_PROVISIONING_FAILED_PREFIX = "Sandbox provisioning failed: ";
|
|
19
|
+
/**
|
|
20
|
+
* The two facts about the requesting caller a sandbox ensure carries, cut
|
|
21
|
+
* from the chain's CallerIdentity (the domain/identityaccount/actor.ts
|
|
22
|
+
* shape): the id rides into the credential mint, so the session token is
|
|
23
|
+
* minted FOR the caller; the class rides onto the driver's environment,
|
|
24
|
+
* so a driver can decide the workspace's durability by who asked. A step
|
|
25
|
+
* hands `ctx.callerIdentity` in whole; the pick keeps a test's fixture to
|
|
26
|
+
* the two fields the body reads.
|
|
27
|
+
*/
|
|
28
|
+
export type SandboxCaller = Pick<CallerIdentity, "identityId" | "callerClass">;
|
|
18
29
|
type AgentExecutionCreateDesc = typeof AgentExecutionSchema;
|
|
19
30
|
export interface EnsureSessionSandboxDeps {
|
|
20
31
|
readonly store: Store;
|
|
@@ -41,12 +52,15 @@ export declare function newEnsureSessionSandboxStep(deps: EnsureSessionSandboxDe
|
|
|
41
52
|
* chains' differing context shapes (newState vs loaded execution) meet
|
|
42
53
|
* at this seam instead.
|
|
43
54
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
55
|
+
* The caller splits two ways (SandboxCaller): `identityId` rides into the
|
|
56
|
+
* credential mint (lane.ts) — the Java ensure step mints session tokens
|
|
57
|
+
* FOR the requesting caller, so the capability mint needs the identity
|
|
58
|
+
* the OSS execution-scoped mint never did — and `callerClass` rides onto
|
|
59
|
+
* the driver's environment as the one request fact a driver may decide
|
|
60
|
+
* durability by. The chain always has a caller: the in-process transport
|
|
61
|
+
* mints `internal` for the server's own calls.
|
|
48
62
|
*/
|
|
49
|
-
export declare function ensureSessionSandboxForExecution(deps: EnsureSessionSandboxDeps, execution: AgentExecution,
|
|
63
|
+
export declare function ensureSessionSandboxForExecution(deps: EnsureSessionSandboxDeps, execution: AgentExecution, caller: SandboxCaller): Promise<void>;
|
|
50
64
|
export interface EnsureWorkflowSandboxDeps {
|
|
51
65
|
readonly logger: Logger;
|
|
52
66
|
readonly lane: SandboxLane;
|
|
@@ -66,10 +80,10 @@ export declare function newEnsureWorkflowSandboxStep(deps: EnsureWorkflowSandbox
|
|
|
66
80
|
* re-provision (lifecycle.ts — the previous sandbox was deprovisioned at
|
|
67
81
|
* the terminal FAILED, so a recovered execution needs a fresh one before
|
|
68
82
|
* its fresh workflow starts). Throws Unavailable on provisioning failure
|
|
69
|
-
* — the critical posture in both chains.
|
|
70
|
-
* the
|
|
83
|
+
* — the critical posture in both chains. The caller splits exactly as on
|
|
84
|
+
* the session body: id to the mint, class to the environment.
|
|
71
85
|
*/
|
|
72
|
-
export declare function ensureWorkflowSandboxForExecution(deps: EnsureWorkflowSandboxDeps, execution: WorkflowExecution,
|
|
86
|
+
export declare function ensureWorkflowSandboxForExecution(deps: EnsureWorkflowSandboxDeps, execution: WorkflowExecution, caller: SandboxCaller): Promise<void>;
|
|
73
87
|
/**
|
|
74
88
|
* Observes one persisted status write and fires the workflow-sandbox
|
|
75
89
|
* teardown on a transition INTO a terminal phase — fire-and-forget
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/sandbox/steps.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EACL,oBAAoB,EAErB,MAAM,6DAA6D,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAG3H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAM5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,kCACd,CAAC;AAElC,KAAK,wBAAwB,GAAG,OAAO,oBAAoB,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,wBAAwB,GAC7B,YAAY,CAAC,wBAAwB,CAAC,CAWxC;AAED
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/sandbox/steps.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EACL,oBAAoB,EAErB,MAAM,6DAA6D,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAG3H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAM5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,kCACd,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC;AAE/E,KAAK,wBAAwB,GAAG,OAAO,oBAAoB,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,wBAAwB,GAC7B,YAAY,CAAC,wBAAwB,CAAC,CAWxC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,wBAAwB,EAC9B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAgEf;AAsCD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,+BAA+B,CAAC;CAC1D;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,yBAAyB,GAC9B,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAW9C;AAED;;;;;;;GAOG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,yBAAyB,EAC/B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAUD;;;;;;;GAOG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAC5C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,sBAAsB,EACrC,YAAY,EAAE,sBAAsB,KACjC,IAAI,CAAC;AAEV,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,GACb,+BAA+B,CA6BjC;AAED;;;;;;GAMG;AACH,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
package/dist/sandbox/steps.js
CHANGED
|
@@ -66,7 +66,7 @@ export function newEnsureSessionSandboxStep(deps) {
|
|
|
66
66
|
return {
|
|
67
67
|
name: "EnsureSessionSandbox",
|
|
68
68
|
async execute(ctx) {
|
|
69
|
-
await ensureSessionSandboxForExecution(deps, ctx.newState, ctx.callerIdentity
|
|
69
|
+
await ensureSessionSandboxForExecution(deps, ctx.newState, ctx.callerIdentity);
|
|
70
70
|
},
|
|
71
71
|
};
|
|
72
72
|
}
|
|
@@ -77,12 +77,15 @@ export function newEnsureSessionSandboxStep(deps) {
|
|
|
77
77
|
* chains' differing context shapes (newState vs loaded execution) meet
|
|
78
78
|
* at this seam instead.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
80
|
+
* The caller splits two ways (SandboxCaller): `identityId` rides into the
|
|
81
|
+
* credential mint (lane.ts) — the Java ensure step mints session tokens
|
|
82
|
+
* FOR the requesting caller, so the capability mint needs the identity
|
|
83
|
+
* the OSS execution-scoped mint never did — and `callerClass` rides onto
|
|
84
|
+
* the driver's environment as the one request fact a driver may decide
|
|
85
|
+
* durability by. The chain always has a caller: the in-process transport
|
|
86
|
+
* mints `internal` for the server's own calls.
|
|
84
87
|
*/
|
|
85
|
-
export async function ensureSessionSandboxForExecution(deps, execution,
|
|
88
|
+
export async function ensureSessionSandboxForExecution(deps, execution, caller) {
|
|
86
89
|
if (!deps.lane.enabled) {
|
|
87
90
|
return;
|
|
88
91
|
}
|
|
@@ -115,8 +118,9 @@ export async function ensureSessionSandboxForExecution(deps, execution, callerId
|
|
|
115
118
|
sessionId,
|
|
116
119
|
executionId,
|
|
117
120
|
org: execution.metadata?.org ?? "",
|
|
118
|
-
callerIdentityId,
|
|
121
|
+
callerIdentityId: caller.identityId,
|
|
119
122
|
}, deps.logger),
|
|
123
|
+
callerClass: caller.callerClass,
|
|
120
124
|
});
|
|
121
125
|
}
|
|
122
126
|
catch (error) {
|
|
@@ -168,7 +172,7 @@ export function newEnsureWorkflowSandboxStep(deps) {
|
|
|
168
172
|
return {
|
|
169
173
|
name: "EnsureWorkflowSandbox",
|
|
170
174
|
async execute(ctx) {
|
|
171
|
-
await ensureWorkflowSandboxForExecution(deps, ctx.newState, ctx.callerIdentity
|
|
175
|
+
await ensureWorkflowSandboxForExecution(deps, ctx.newState, ctx.callerIdentity);
|
|
172
176
|
},
|
|
173
177
|
};
|
|
174
178
|
}
|
|
@@ -177,10 +181,10 @@ export function newEnsureWorkflowSandboxStep(deps) {
|
|
|
177
181
|
* re-provision (lifecycle.ts — the previous sandbox was deprovisioned at
|
|
178
182
|
* the terminal FAILED, so a recovered execution needs a fresh one before
|
|
179
183
|
* its fresh workflow starts). Throws Unavailable on provisioning failure
|
|
180
|
-
* — the critical posture in both chains.
|
|
181
|
-
* the
|
|
184
|
+
* — the critical posture in both chains. The caller splits exactly as on
|
|
185
|
+
* the session body: id to the mint, class to the environment.
|
|
182
186
|
*/
|
|
183
|
-
export async function ensureWorkflowSandboxForExecution(deps, execution,
|
|
187
|
+
export async function ensureWorkflowSandboxForExecution(deps, execution, caller) {
|
|
184
188
|
if (!deps.lane.enabled) {
|
|
185
189
|
return;
|
|
186
190
|
}
|
|
@@ -202,8 +206,9 @@ export async function ensureWorkflowSandboxForExecution(deps, execution, callerI
|
|
|
202
206
|
sessionId: "",
|
|
203
207
|
executionId,
|
|
204
208
|
org: execution.metadata?.org ?? "",
|
|
205
|
-
callerIdentityId,
|
|
209
|
+
callerIdentityId: caller.identityId,
|
|
206
210
|
}, deps.logger),
|
|
211
|
+
callerClass: caller.callerClass,
|
|
207
212
|
});
|
|
208
213
|
}
|
|
209
214
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/sandbox/steps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAGxF,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/sandbox/steps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/server",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.19.0",
|
|
4
4
|
"description": "The Stigmer OSS control plane as a composable library: composeServer, the extension registry and the driver seams a composition builds on. The self-contained deployable of the same server is @stigmer/server-slim.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -62,10 +62,11 @@
|
|
|
62
62
|
"@connectrpc/connect-node": "^2.0.0",
|
|
63
63
|
"@kubernetes/client-node": "2.0.0",
|
|
64
64
|
"@opentelemetry/api": "^1.9.0",
|
|
65
|
-
"@stigmer/
|
|
66
|
-
"@stigmer/
|
|
67
|
-
"@stigmer/
|
|
68
|
-
"@stigmer/
|
|
65
|
+
"@stigmer/outbound": "3.19.0",
|
|
66
|
+
"@stigmer/plugin-package": "3.19.0",
|
|
67
|
+
"@stigmer/protos": "3.19.0",
|
|
68
|
+
"@stigmer/temporal-codecs": "3.19.0",
|
|
69
|
+
"@stigmer/zip-structure": "3.19.0",
|
|
69
70
|
"@temporalio/activity": "1.16.2",
|
|
70
71
|
"@temporalio/client": "1.16.2",
|
|
71
72
|
"@temporalio/common": "1.16.2",
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins the OAuth redirect-URI posture: a configured value wins, a served
|
|
3
|
+
* console on a known port derives the console's callback page at
|
|
4
|
+
* localhost, and a server with no console or no known port derives nothing
|
|
5
|
+
* (today's warn and refusal stand).
|
|
6
|
+
*/
|
|
7
|
+
import { describe, expect, it } from "vitest";
|
|
8
|
+
|
|
9
|
+
import { CONSOLE_OAUTH_CALLBACK_PATH, resolveOAuthRedirectUri } from "../oauth-redirect-uri.js";
|
|
10
|
+
|
|
11
|
+
describe("resolveOAuthRedirectUri", () => {
|
|
12
|
+
it("keeps a configured value whatever else is true", () => {
|
|
13
|
+
expect(resolveOAuthRedirectUri({ configured: "https://app.stigmer.test/auth/oauth/callback", servesConsole: true, port: 7777 })).toEqual({
|
|
14
|
+
kind: "configured",
|
|
15
|
+
uri: "https://app.stigmer.test/auth/oauth/callback",
|
|
16
|
+
});
|
|
17
|
+
expect(resolveOAuthRedirectUri({ configured: "https://app.stigmer.test/cb", servesConsole: false, port: 0 })).toEqual({
|
|
18
|
+
kind: "configured",
|
|
19
|
+
uri: "https://app.stigmer.test/cb",
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it("derives the console's callback page at localhost on the unified port when the console is served", () => {
|
|
24
|
+
expect(resolveOAuthRedirectUri({ configured: "", servesConsole: true, port: 7777 })).toEqual({
|
|
25
|
+
kind: "derived",
|
|
26
|
+
uri: `http://localhost:7777${CONSOLE_OAUTH_CALLBACK_PATH}`,
|
|
27
|
+
});
|
|
28
|
+
expect(CONSOLE_OAUTH_CALLBACK_PATH).toBe("/auth/oauth/callback");
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("derives nothing for a server that serves no console", () => {
|
|
32
|
+
expect(resolveOAuthRedirectUri({ configured: "", servesConsole: false, port: 7777 })).toEqual({ kind: "absent" });
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it("derives nothing when the port is not known until listen", () => {
|
|
36
|
+
expect(resolveOAuthRedirectUri({ configured: "", servesConsole: true, port: 0 })).toEqual({ kind: "absent" });
|
|
37
|
+
});
|
|
38
|
+
});
|
package/src/boot/compose.ts
CHANGED
|
@@ -40,6 +40,7 @@ import { authorizationPostureOf } from "../authorization/posture.js";
|
|
|
40
40
|
import { newBuiltInScheduleFireCaller } from "../authorization/schedule-fire-caller.js";
|
|
41
41
|
import type { Authorizer } from "../extensions/authorizer.js";
|
|
42
42
|
import { ABSENT_LICENSE_STATUS } from "../extensions/license-status.js";
|
|
43
|
+
import { relaxedEgressPolicy } from "../extensions/outbound-egress.js";
|
|
43
44
|
import type { ListReadScope } from "../extensions/list-read-scope.js";
|
|
44
45
|
import type { OrganizationDirectory } from "../extensions/organization-directory.js";
|
|
45
46
|
import type { ScheduleFireCallerMint } from "../extensions/schedule-fire-caller.js";
|
|
@@ -86,6 +87,7 @@ import { newDirectAccountProvisioner } from "../domain/identityaccount/provision
|
|
|
86
87
|
import { newResourceIdentityAccountStore } from "../domain/identityaccount/resource-store.js";
|
|
87
88
|
import { registerIamPolicyServices } from "../domain/iampolicy/controller.js";
|
|
88
89
|
import { newIamPolicyGrantPath } from "../domain/iampolicy/grant-path.js";
|
|
90
|
+
import { asFetch, guardedFetch, nodeLookup } from "@stigmer/outbound/egress";
|
|
89
91
|
import { newOrganizationOnlyGrantScope } from "../domain/iampolicy/grant-scope.js";
|
|
90
92
|
import { newMembershipRules } from "../domain/iampolicy/membership.js";
|
|
91
93
|
import { newResourceIamPolicyStore } from "../domain/iampolicy/resource-store.js";
|
|
@@ -164,6 +166,7 @@ import { PostgresStore } from "../store/postgres/store.js";
|
|
|
164
166
|
import { SqliteStore } from "../store/sqlite/store.js";
|
|
165
167
|
import type { Store } from "../store/interface.js";
|
|
166
168
|
import { resolveExtensions } from "../extensions/registry.js";
|
|
169
|
+
import { resolveOAuthRedirectUri } from "./oauth-redirect-uri.js";
|
|
167
170
|
import type { ServerExtension } from "../extensions/registry.js";
|
|
168
171
|
import { registerWorkflowServices } from "../domain/workflow/controller.js";
|
|
169
172
|
import {
|
|
@@ -1101,14 +1104,46 @@ export async function composeServer(
|
|
|
1101
1104
|
config: temporalConfig,
|
|
1102
1105
|
logger,
|
|
1103
1106
|
});
|
|
1104
|
-
//
|
|
1105
|
-
//
|
|
1106
|
-
//
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1107
|
+
// The OAuth callback: configured, or derived from the served console's
|
|
1108
|
+
// own origin when it serves one on a known port (boot/oauth-redirect-uri.ts
|
|
1109
|
+
// carries the posture). Absent is WARN-degrade, not boot-fatal (Go
|
|
1110
|
+
// server.go:722-729): every OAuth RPC except initiateOAuthConnect works
|
|
1111
|
+
// without the redirect URI, and initiate refuses with the pinned
|
|
1112
|
+
// FailedPrecondition copy.
|
|
1113
|
+
const oauthRedirect = resolveOAuthRedirectUri({
|
|
1114
|
+
configured: config.oauthRedirectUri,
|
|
1115
|
+
servesConsole: consoleAssets !== undefined,
|
|
1116
|
+
port: options.portOverride ?? config.grpcPort,
|
|
1117
|
+
});
|
|
1118
|
+
switch (oauthRedirect.kind) {
|
|
1119
|
+
case "configured":
|
|
1120
|
+
break;
|
|
1121
|
+
case "derived":
|
|
1122
|
+
logger.info("STIGMER_OAUTH_REDIRECT_URI is not set — deriving the served console's callback for MCP server OAuth Connect", {
|
|
1123
|
+
redirectUri: oauthRedirect.uri,
|
|
1124
|
+
});
|
|
1125
|
+
break;
|
|
1126
|
+
case "absent":
|
|
1127
|
+
logger.warn(
|
|
1128
|
+
"STIGMER_OAUTH_REDIRECT_URI is not set — OAuth Connect flows for MCP servers are unavailable (initiateOAuthConnect will refuse)",
|
|
1129
|
+
);
|
|
1130
|
+
break;
|
|
1131
|
+
default: {
|
|
1132
|
+
const exhaustive: never = oauthRedirect;
|
|
1133
|
+
throw new Error(String(exhaustive));
|
|
1134
|
+
}
|
|
1111
1135
|
}
|
|
1136
|
+
const oauthRedirectUri = oauthRedirect.kind === "absent" ? "" : oauthRedirect.uri;
|
|
1137
|
+
// The ONE fetch the McpServer domain dials user-supplied URLs with: the
|
|
1138
|
+
// endpoint it probes at save time and the login server it reaches on
|
|
1139
|
+
// Sign in. Every hop is judged under the edition's egress policy
|
|
1140
|
+
// (`drivers.outboundEgress`; the default is open source's relaxed
|
|
1141
|
+
// posture, installed at this `??` site like the permissive Authorizer).
|
|
1142
|
+
// `options.fetchImpl` is the test seam under the guard.
|
|
1143
|
+
const outboundFetch = guardedFetch(
|
|
1144
|
+
extensions.drivers.outboundEgress ?? relaxedEgressPolicy(),
|
|
1145
|
+
{ fetchImpl: options.fetchImpl ?? fetch, lookup: nodeLookup() },
|
|
1146
|
+
);
|
|
1112
1147
|
// The SAME `routes` function registers every service on BOTH the serving
|
|
1113
1148
|
// router and the in-process router transport (createInProcessClients).
|
|
1114
1149
|
// Handlers are stateless over the same store, so the two routers behave
|
|
@@ -1334,6 +1369,9 @@ export async function composeServer(
|
|
|
1334
1369
|
executionContextCreator: () =>
|
|
1335
1370
|
requireInProcess().executionContextCreator,
|
|
1336
1371
|
managedEnvService,
|
|
1372
|
+
// The run-start token refresh dials the vendor's token endpoint;
|
|
1373
|
+
// it rides the same egress-guarded fetch as every other OAuth call.
|
|
1374
|
+
fetchImpl: asFetch(outboundFetch),
|
|
1337
1375
|
},
|
|
1338
1376
|
});
|
|
1339
1377
|
registerWorkflowServices(router, {
|
|
@@ -1414,7 +1452,8 @@ export async function composeServer(
|
|
|
1414
1452
|
oauthGrants: store.oauthGrants,
|
|
1415
1453
|
pendingOAuthStates: store.pendingOAuthStates,
|
|
1416
1454
|
secretService,
|
|
1417
|
-
oauthRedirectUri
|
|
1455
|
+
oauthRedirectUri,
|
|
1456
|
+
outboundFetch,
|
|
1418
1457
|
},
|
|
1419
1458
|
});
|
|
1420
1459
|
registerSkillServices(router, {
|
package/src/boot/config.ts
CHANGED
|
@@ -109,8 +109,12 @@ export interface ServerConfig {
|
|
|
109
109
|
readonly gitHubOAuthClientSecret: string;
|
|
110
110
|
/**
|
|
111
111
|
* The OAuth callback URL for the McpServer OAuth Connect flows
|
|
112
|
-
* (STIGMER_OAUTH_REDIRECT_URI; Go config.go OAuthRedirectURI). Unset
|
|
113
|
-
*
|
|
112
|
+
* (STIGMER_OAUTH_REDIRECT_URI; Go config.go OAuthRedirectURI). Unset, a
|
|
113
|
+
* server that serves the web console on its unified port derives the
|
|
114
|
+
* console's own callback page at `http://localhost:<port>` (the
|
|
115
|
+
* `trusted-local` reading; boot/oauth-redirect-uri.ts), so a local
|
|
116
|
+
* install signs in without being told. Unset on a server that serves no
|
|
117
|
+
* console is a WARN at wiring time, not a boot failure — every RPC except
|
|
114
118
|
* initiateOAuthConnect works without it, and initiate refuses with a
|
|
115
119
|
* FailedPrecondition naming the variable (the pinned copy).
|
|
116
120
|
*/
|