skillscript-runtime 0.16.8 → 0.17.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/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +8 -0
- package/dist/composition.js.map +1 -1
- package/dist/connectors/http-mcp.d.ts +39 -7
- package/dist/connectors/http-mcp.d.ts.map +1 -1
- package/dist/connectors/http-mcp.js +151 -53
- package/dist/connectors/http-mcp.js.map +1 -1
- package/dist/connectors/skill-store.d.ts +7 -0
- package/dist/connectors/skill-store.d.ts.map +1 -1
- package/dist/connectors/skill-store.js +81 -14
- package/dist/connectors/skill-store.js.map +1 -1
- package/dist/dashboard/server.d.ts +21 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +22 -1
- package/dist/dashboard/server.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.d.ts +47 -2
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +13 -5
- package/dist/mcp-server.js.map +1 -1
- package/dist/runtime-config.d.ts +10 -0
- package/dist/runtime-config.d.ts.map +1 -1
- package/dist/runtime-config.js +9 -1
- package/dist/runtime-config.js.map +1 -1
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +7 -0
- package/dist/scheduler.js.map +1 -1
- package/dist/testing/conformance.d.ts.map +1 -1
- package/dist/testing/conformance.js +36 -0
- package/dist/testing/conformance.js.map +1 -1
- package/docs/adopter-playbook.md +10 -3
- package/examples/connectors/McpConnectorTemplate/McpConnectorTemplate.ts +13 -1
- package/examples/skillscripts/hello-world.skill.provenance.json +1 -1
- package/examples/skillscripts/skill-store-roundtrip.skill.md +2 -2
- package/examples/skillscripts/youtrack-morning-sweep.skill.md +2 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -676,6 +676,9 @@ async function cmdRuntimeHost(args, opts) {
|
|
|
676
676
|
port,
|
|
677
677
|
bindAddress: host,
|
|
678
678
|
mountSpa: opts.mode === "dashboard",
|
|
679
|
+
...(fileConfig.dashboard?.mcpCallerIdentityHeader !== undefined
|
|
680
|
+
? { mcpCallerIdentityHeader: fileConfig.dashboard.mcpCallerIdentityHeader }
|
|
681
|
+
: {}),
|
|
679
682
|
});
|
|
680
683
|
await server.start();
|
|
681
684
|
const label = opts.mode === "dashboard" ? "dashboard" : "serve (headless)";
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,qBAAa,2BAA4B,SAAQ,KAAK;aACxB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;aAAkB,KAAK,EAAE,MAAM;gBAA3D,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAkB,KAAK,EAAE,MAAM;CAOxF;AAED,qBAAa,gCAAiC,SAAQ,KAAK;aAC7B,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAI9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,4FAA4F;IAC5F,GAAG,EAAE,cAAc,CAAC;IACpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC;;;;OAIG;IACH,uBAAuB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,qBAAa,2BAA4B,SAAQ,KAAK;aACxB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;aAAkB,KAAK,EAAE,MAAM;gBAA3D,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAkB,KAAK,EAAE,MAAM;CAOxF;AAED,qBAAa,gCAAiC,SAAQ,KAAK;aAC7B,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAI9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,4FAA4F;IAC5F,GAAG,EAAE,cAAc,CAAC;IACpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC;;;;OAIG;IACH,uBAAuB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAwE7B;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAsB7B"}
|
package/dist/composition.js
CHANGED
|
@@ -84,11 +84,19 @@ export async function executeSkillByName(skillName, inputs, opts) {
|
|
|
84
84
|
// the middle per the audit footnote
|
|
85
85
|
// - Otherwise, parent IS the entry; child inherits parent's
|
|
86
86
|
// `_currentSkillName` as its entrySkillName
|
|
87
|
+
//
|
|
88
|
+
// v0.16.9 — identity follows the skill. Override `agentId` from the
|
|
89
|
+
// CHILD skill's `metadata.author`. Per Perry's `fd18e3f7` cross-author
|
|
90
|
+
// ack: when parent A (Alice) composes child B (Bob), B runs under Bob's
|
|
91
|
+
// identity — NOT Alice's. Same invariant for every skill run:
|
|
92
|
+
// `ctx.agentId = skill.author`. v0.17+ adds dual-identity for the
|
|
93
|
+
// delegation case (Alice on-behalf-of-Bob).
|
|
87
94
|
const childCtx = {
|
|
88
95
|
...ctx,
|
|
89
96
|
recursionDepth: depth,
|
|
90
97
|
maxRecursionDepth: limit,
|
|
91
98
|
entrySkillName: ctx.entrySkillName ?? ctx._currentSkillName,
|
|
99
|
+
...(loaded.metadata.author !== undefined ? { agentId: loaded.metadata.author } : {}),
|
|
92
100
|
};
|
|
93
101
|
const result = await execute(compiled.parsed, compiled.resolvedVariables, compiled.targetOrder, childCtx);
|
|
94
102
|
return {
|
package/dist/composition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,uCAAuC;AACvC,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,mEAAmE;AACnE,sEAAsE;AACtE,uEAAuE;AACvE,8CAA8C;AAC9C,EAAE;AACF,uEAAuE;AACvE,8DAA8D;AAC9D,mEAAmE;AACnE,iEAAiE;AACjE,qEAAqE;AACrE,cAAc;AAEd,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAA2C,MAAM,cAAc,CAAC;AAGhF,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACxB;IAA8C;IAA1E,YAA4B,KAA4B,EAAkB,KAAa;QACrF,KAAK,CACH,iDAAiD,KAAK,aAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YACxF,sGAAsG,CACvG,CAAC;QAJwB,UAAK,GAAL,KAAK,CAAuB;QAAkB,UAAK,GAAL,KAAK,CAAQ;QAKrF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IAC7B;IAA5B,YAA4B,SAAiB;QAC3C,KAAK,CAAC,yBAAyB,SAAS,2BAA2B,CAAC,CAAC;QAD3C,cAAS,GAAT,SAAS,CAAQ;QAE3C,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAiCD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,MAA8B,EAC9B,IAAsB;IAEtB,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,IAAI,2BAA2B,CAAC;IACnE,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,2BAA2B,CAAC,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,MAAM,IAAI,0BAA0B,CAAC,SAAS,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC1E,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,+DAA+D;IAC/D,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAEtE,kEAAkE;IAClE,mEAAmE;IACnE,EAAE;IACF,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,yEAAyE;IACzE,sCAAsC;IACtC,4DAA4D;IAC5D,8CAA8C;IAC9C,EAAE;IACF,oEAAoE;IACpE,uEAAuE;IACvE,wEAAwE;IACxE,8DAA8D;IAC9D,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,QAAQ,GAAmB;QAC/B,GAAG,GAAG;QACN,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,iBAAiB;QAC3D,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,WAAW,EACpB,QAAQ,CACT,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;QAC3C,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,QAAQ,CAAC,WAAW;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,uBAAuB,EAAE,MAAM,CAAC,qBAAqB;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,IAAI,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,IAAI,KAAK,CACb,uFAAuF;QACvF,8EAA8E,CAC/E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,MAA8B,EAC9B,IAAsB;IAEtB,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,IAAI,2BAA2B,CAAC;IACnE,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,2BAA2B,CAAC,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClI,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAExG,MAAM,QAAQ,GAAmB;QAC/B,GAAG,GAAG;QACN,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,WAAW,EACpB,QAAQ,CACT,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,SAAS,IAAI,UAAU;QAC5C,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,QAAQ,CAAC,WAAW;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,uBAAuB,EAAE,MAAM,CAAC,qBAAqB;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAA6B,EAC7B,UAAkB,EAClB,GAAmB;IAEnB,0EAA0E;IAC1E,oEAAoE;IACpE,wEAAwE;IACxE,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,SAAS,KAAK,EAAE,IAAI,cAAc,KAAK,EAAE,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,sGAAsG,CACnJ,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;IACrE,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qFAAqF,UAAU,KAAK,CAAC,CAAC;IACxH,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,kBAAkB,CAAC,cAAc,EAAE,WAAW,EAAE;QACrD,GAAG;QACH,KAAK,EAAE,CAAC,UAAU,UAAU,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B;IACvD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,uEAAuE;IACvE,yDAAyD;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC;YAChD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kFAAkF;QACpF,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5F,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAoC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,QAAQ;YAAE,SAAS;QACnD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -58,6 +58,20 @@ export interface HttpMcpConfig {
|
|
|
58
58
|
* requires a different protocol version.
|
|
59
59
|
*/
|
|
60
60
|
protocolVersion?: string;
|
|
61
|
+
/**
|
|
62
|
+
* v0.16.9 — maximum number of cached per-identity sessions. When the
|
|
63
|
+
* pool reaches this size, the least-recently-used entry is evicted to
|
|
64
|
+
* make room for a new identity's session. Default `undefined` =
|
|
65
|
+
* unlimited (suitable for adopters with bounded identity cardinality;
|
|
66
|
+
* adopters with per-end-user dispatch should configure this to prevent
|
|
67
|
+
* unbounded memory growth).
|
|
68
|
+
*
|
|
69
|
+
* Production-hardening note: idle-timeout eviction + connection
|
|
70
|
+
* healthcheck are explicit v0.17+ targets. Current impl evicts only on
|
|
71
|
+
* pool-size pressure; sessions are kept alive indefinitely while the
|
|
72
|
+
* pool has room.
|
|
73
|
+
*/
|
|
74
|
+
maxPoolSize?: number;
|
|
61
75
|
}
|
|
62
76
|
/**
|
|
63
77
|
* Streamable HTTP MCP connector. Implements McpConnector against any
|
|
@@ -70,9 +84,8 @@ export declare class HttpMcpConnector implements McpConnector {
|
|
|
70
84
|
private readonly clientName;
|
|
71
85
|
private readonly clientVersion;
|
|
72
86
|
private readonly protocolVersion;
|
|
73
|
-
private
|
|
74
|
-
private
|
|
75
|
-
private cachedTools;
|
|
87
|
+
private readonly maxPoolSize;
|
|
88
|
+
private readonly sessions;
|
|
76
89
|
constructor(config: HttpMcpConfig);
|
|
77
90
|
static staticCapabilities(): McpConnectorCapabilities;
|
|
78
91
|
/**
|
|
@@ -90,11 +103,30 @@ export declare class HttpMcpConnector implements McpConnector {
|
|
|
90
103
|
manifest(): Promise<ManifestInfo<"mcp_connector">>;
|
|
91
104
|
call(toolName: string, args: Record<string, unknown>, ctx?: McpDispatchCtx): Promise<unknown>;
|
|
92
105
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
106
|
+
* Dispatch with bounded-at-1 retry on session-mismatch. When the
|
|
107
|
+
* substrate returns HTTP >= 400 (likely session-not-found / stale),
|
|
108
|
+
* evict the pool entry, re-init, and retry once. Per Perry's
|
|
109
|
+
* `33fefa0f` impl-nit on retry-bounding. Persistent server errors
|
|
110
|
+
* after retry surface to the caller as the second-attempt failure.
|
|
111
|
+
*/
|
|
112
|
+
private dispatchWithRetry;
|
|
113
|
+
private listToolsForEntry;
|
|
114
|
+
/**
|
|
115
|
+
* Pool entry get-or-create. Bumps to MRU position on access (Map insert
|
|
116
|
+
* order = LRU order; delete + re-set moves to end). Evicts oldest if
|
|
117
|
+
* pool would exceed `maxPoolSize`.
|
|
118
|
+
*
|
|
119
|
+
* Documented gap (v0.17 hardening target): no time-based eviction;
|
|
120
|
+
* sessions kept alive indefinitely while pool has room. Long-running
|
|
121
|
+
* adopters with high identity cardinality should configure
|
|
122
|
+
* `maxPoolSize`. Substrates that silently kill idle sessions without
|
|
123
|
+
* surfacing an error need adopter-side healthcheck wiring.
|
|
124
|
+
*/
|
|
125
|
+
private getOrCreateEntry;
|
|
126
|
+
/**
|
|
127
|
+
* Evict + recreate a pool entry. Used by the stale-session retry path.
|
|
96
128
|
*/
|
|
97
|
-
private
|
|
129
|
+
private recreateEntry;
|
|
98
130
|
private ensureSession;
|
|
99
131
|
private post;
|
|
100
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-mcp.d.ts","sourceRoot":"","sources":["../../src/connectors/http-mcp.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"http-mcp.d.ts","sourceRoot":"","sources":["../../src/connectors/http-mcp.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0BD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAIjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;gBAErD,MAAM,EAAE,aAAa;IAgBjC,MAAM,CAAC,kBAAkB,IAAI,wBAAwB;IAsBrD;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE,GAAG,IAAI;IAIrC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;IAuB9D,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAyBlD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCnG;;;;;;OAMG;YACW,iBAAiB;YA0BjB,iBAAiB;IAc/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,aAAa;YAKP,aAAa;YA2Bb,IAAI;CAwCnB"}
|
|
@@ -42,6 +42,7 @@ import { RUNTIME_VERSION } from "../version.js";
|
|
|
42
42
|
const CONTRACT_VERSION = "1.0.0";
|
|
43
43
|
const DEFAULT_CLIENT_NAME = "skillscript-runtime-http-mcp";
|
|
44
44
|
const DEFAULT_PROTOCOL_VERSION = "2025-06-18";
|
|
45
|
+
const DEFAULT_IDENTITY_KEY = "<default>";
|
|
45
46
|
/**
|
|
46
47
|
* Streamable HTTP MCP connector. Implements McpConnector against any
|
|
47
48
|
* MCP server speaking the spec over HTTP. See module docstring.
|
|
@@ -53,19 +54,25 @@ export class HttpMcpConnector {
|
|
|
53
54
|
clientName;
|
|
54
55
|
clientVersion;
|
|
55
56
|
protocolVersion;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
maxPoolSize;
|
|
58
|
+
// v0.16.9 — per-identity session pool. Map preserves insertion order;
|
|
59
|
+
// bump-on-access (delete + re-set) gives free LRU ordering when pool
|
|
60
|
+
// size hits `maxPoolSize`.
|
|
61
|
+
sessions = new Map();
|
|
59
62
|
constructor(config) {
|
|
60
63
|
if (typeof config.endpoint !== "string" || config.endpoint === "") {
|
|
61
64
|
throw new Error("HttpMcpConnector: `endpoint` (string, non-empty) required");
|
|
62
65
|
}
|
|
66
|
+
if (config.maxPoolSize !== undefined && (typeof config.maxPoolSize !== "number" || config.maxPoolSize < 1 || !Number.isInteger(config.maxPoolSize))) {
|
|
67
|
+
throw new Error("HttpMcpConnector: `maxPoolSize` (if set) must be a positive integer");
|
|
68
|
+
}
|
|
63
69
|
this.endpoint = config.endpoint;
|
|
64
70
|
this.baseHeaders = { ...(config.headers ?? {}) };
|
|
65
71
|
this.identityHeader = config.identityHeader;
|
|
66
72
|
this.clientName = config.clientName ?? DEFAULT_CLIENT_NAME;
|
|
67
73
|
this.clientVersion = config.clientVersion ?? RUNTIME_VERSION;
|
|
68
74
|
this.protocolVersion = config.protocolVersion ?? DEFAULT_PROTOCOL_VERSION;
|
|
75
|
+
this.maxPoolSize = config.maxPoolSize;
|
|
69
76
|
}
|
|
70
77
|
static staticCapabilities() {
|
|
71
78
|
return {
|
|
@@ -73,16 +80,16 @@ export class HttpMcpConnector {
|
|
|
73
80
|
implementation: "HttpMcpConnector",
|
|
74
81
|
contract_version: CONTRACT_VERSION,
|
|
75
82
|
features: {
|
|
76
|
-
// v0.16.
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
supports_identity_propagation:
|
|
83
|
+
// v0.16.9 — flag flips to true. Per-identity session keying lands
|
|
84
|
+
// in this ring (lifted + generalized from warm-adopter's
|
|
85
|
+
// IdentityAwareAmpConnector reference impl). Each distinct
|
|
86
|
+
// `ctx.agentId` gets its own session, pinned to that identity at
|
|
87
|
+
// server-side `initialize` time. Both Level 1 (identity reaches
|
|
88
|
+
// transport) AND Level 2 (distinct ctx → distinct substrate scope)
|
|
89
|
+
// achieved against session-pinning substrates including AMP.
|
|
90
|
+
// Adopter gates the claim via RuntimeCapabilitiesConformance
|
|
91
|
+
// probe (v0.16.9 item 3).
|
|
92
|
+
supports_identity_propagation: true,
|
|
86
93
|
supports_streaming_responses: false,
|
|
87
94
|
supports_batch: false,
|
|
88
95
|
},
|
|
@@ -124,11 +131,15 @@ export class HttpMcpConnector {
|
|
|
124
131
|
});
|
|
125
132
|
}
|
|
126
133
|
async manifest() {
|
|
134
|
+
// Manifest uses the default-identity session for tool introspection.
|
|
135
|
+
// Per-identity tool surfaces are out of scope — substrates that vary
|
|
136
|
+
// tools by identity would surface that via a different mechanism.
|
|
127
137
|
let toolsAvailable;
|
|
128
138
|
let fetchError;
|
|
139
|
+
const entry = this.getOrCreateEntry(DEFAULT_IDENTITY_KEY);
|
|
129
140
|
try {
|
|
130
|
-
await this.ensureSession();
|
|
131
|
-
toolsAvailable =
|
|
141
|
+
await this.ensureSession(DEFAULT_IDENTITY_KEY, entry);
|
|
142
|
+
toolsAvailable = entry.cachedTools ?? (await this.listToolsForEntry(DEFAULT_IDENTITY_KEY, entry));
|
|
132
143
|
}
|
|
133
144
|
catch (err) {
|
|
134
145
|
fetchError = err instanceof Error ? err.message : String(err);
|
|
@@ -145,26 +156,22 @@ export class HttpMcpConnector {
|
|
|
145
156
|
};
|
|
146
157
|
}
|
|
147
158
|
async call(toolName, args, ctx) {
|
|
148
|
-
|
|
149
|
-
//
|
|
150
|
-
// `
|
|
151
|
-
//
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
id: Math.floor(Math.random() * 1e6),
|
|
165
|
-
method: "tools/call",
|
|
166
|
-
params: { name: toolName, arguments: args },
|
|
167
|
-
}, false, extraHeaders);
|
|
159
|
+
// v0.16.9 — per-identity session keying. Each distinct `ctx.agentId`
|
|
160
|
+
// gets its own pool entry; identity is pinned at server-side
|
|
161
|
+
// `initialize` time, so the substrate's session model honors it for
|
|
162
|
+
// the duration of the session. End-to-end propagation (Level 1 + 2)
|
|
163
|
+
// works against session-pinning substrates.
|
|
164
|
+
// Per-identity pooling activates ONLY when the adopter configured an
|
|
165
|
+
// identityHeader. Without it, the connector isn't threading identity
|
|
166
|
+
// to the substrate, so per-identity pool entries would be pointless
|
|
167
|
+
// overhead — all calls converge to the default session.
|
|
168
|
+
const identityKey = this.identityHeader !== undefined
|
|
169
|
+
&& typeof ctx?.agentId === "string"
|
|
170
|
+
&& ctx.agentId !== ""
|
|
171
|
+
? ctx.agentId
|
|
172
|
+
: DEFAULT_IDENTITY_KEY;
|
|
173
|
+
const entry = this.getOrCreateEntry(identityKey);
|
|
174
|
+
const reply = await this.dispatchWithRetry(identityKey, entry, toolName, args);
|
|
168
175
|
if (reply === null)
|
|
169
176
|
throw new Error(`HttpMcpConnector: empty reply from ${toolName} at ${this.endpoint}`);
|
|
170
177
|
if (reply.error !== undefined) {
|
|
@@ -182,12 +189,36 @@ export class HttpMcpConnector {
|
|
|
182
189
|
return reply.result;
|
|
183
190
|
}
|
|
184
191
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
192
|
+
* Dispatch with bounded-at-1 retry on session-mismatch. When the
|
|
193
|
+
* substrate returns HTTP >= 400 (likely session-not-found / stale),
|
|
194
|
+
* evict the pool entry, re-init, and retry once. Per Perry's
|
|
195
|
+
* `33fefa0f` impl-nit on retry-bounding. Persistent server errors
|
|
196
|
+
* after retry surface to the caller as the second-attempt failure.
|
|
188
197
|
*/
|
|
189
|
-
async
|
|
190
|
-
|
|
198
|
+
async dispatchWithRetry(identityKey, entry, toolName, args) {
|
|
199
|
+
await this.ensureSession(identityKey, entry);
|
|
200
|
+
const body = {
|
|
201
|
+
jsonrpc: "2.0",
|
|
202
|
+
id: Math.floor(Math.random() * 1e6),
|
|
203
|
+
method: "tools/call",
|
|
204
|
+
params: { name: toolName, arguments: args },
|
|
205
|
+
};
|
|
206
|
+
try {
|
|
207
|
+
return await this.post(identityKey, entry, body);
|
|
208
|
+
}
|
|
209
|
+
catch (err) {
|
|
210
|
+
if (!(err instanceof StaleSessionError))
|
|
211
|
+
throw err;
|
|
212
|
+
// Stale-session retry path. Evict entry + re-init + retry once.
|
|
213
|
+
// Per warm-adopter's `33fefa0f` framing: bounded at 1 to prevent
|
|
214
|
+
// infinite-loop against persistent server-side errors.
|
|
215
|
+
const freshEntry = this.recreateEntry(identityKey);
|
|
216
|
+
await this.ensureSession(identityKey, freshEntry);
|
|
217
|
+
return this.post(identityKey, freshEntry, body);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
async listToolsForEntry(identityKey, entry) {
|
|
221
|
+
const reply = (await this.post(identityKey, entry, {
|
|
191
222
|
jsonrpc: "2.0",
|
|
192
223
|
id: Math.floor(Math.random() * 1e6),
|
|
193
224
|
method: "tools/list",
|
|
@@ -196,15 +227,56 @@ export class HttpMcpConnector {
|
|
|
196
227
|
const names = Array.isArray(tools)
|
|
197
228
|
? tools.map((t) => t.name ?? "").filter((n) => n !== "")
|
|
198
229
|
: [];
|
|
199
|
-
|
|
230
|
+
entry.cachedTools = names;
|
|
200
231
|
return names;
|
|
201
232
|
}
|
|
202
|
-
|
|
203
|
-
|
|
233
|
+
/**
|
|
234
|
+
* Pool entry get-or-create. Bumps to MRU position on access (Map insert
|
|
235
|
+
* order = LRU order; delete + re-set moves to end). Evicts oldest if
|
|
236
|
+
* pool would exceed `maxPoolSize`.
|
|
237
|
+
*
|
|
238
|
+
* Documented gap (v0.17 hardening target): no time-based eviction;
|
|
239
|
+
* sessions kept alive indefinitely while pool has room. Long-running
|
|
240
|
+
* adopters with high identity cardinality should configure
|
|
241
|
+
* `maxPoolSize`. Substrates that silently kill idle sessions without
|
|
242
|
+
* surfacing an error need adopter-side healthcheck wiring.
|
|
243
|
+
*/
|
|
244
|
+
getOrCreateEntry(identityKey) {
|
|
245
|
+
const existing = this.sessions.get(identityKey);
|
|
246
|
+
if (existing !== undefined) {
|
|
247
|
+
// Bump to MRU.
|
|
248
|
+
this.sessions.delete(identityKey);
|
|
249
|
+
this.sessions.set(identityKey, existing);
|
|
250
|
+
return existing;
|
|
251
|
+
}
|
|
252
|
+
// Eviction check before inserting fresh.
|
|
253
|
+
if (this.maxPoolSize !== undefined && this.sessions.size >= this.maxPoolSize) {
|
|
254
|
+
// Map iteration order = insertion order = LRU. Delete the first
|
|
255
|
+
// (oldest) entry. Mid-dispatch eviction edge: if the evicted
|
|
256
|
+
// entry is mid-flight, the dispatch's session-id mismatch on
|
|
257
|
+
// next attempt triggers the retry path. Per Perry's `33fefa0f`
|
|
258
|
+
// option (c) — accept the rare edge, retry handles it.
|
|
259
|
+
const oldestKey = this.sessions.keys().next().value;
|
|
260
|
+
if (oldestKey !== undefined)
|
|
261
|
+
this.sessions.delete(oldestKey);
|
|
262
|
+
}
|
|
263
|
+
const fresh = { sessionId: null, initializing: null, cachedTools: null };
|
|
264
|
+
this.sessions.set(identityKey, fresh);
|
|
265
|
+
return fresh;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Evict + recreate a pool entry. Used by the stale-session retry path.
|
|
269
|
+
*/
|
|
270
|
+
recreateEntry(identityKey) {
|
|
271
|
+
this.sessions.delete(identityKey);
|
|
272
|
+
return this.getOrCreateEntry(identityKey);
|
|
273
|
+
}
|
|
274
|
+
async ensureSession(identityKey, entry) {
|
|
275
|
+
if (entry.sessionId !== null)
|
|
204
276
|
return;
|
|
205
|
-
if (
|
|
206
|
-
|
|
207
|
-
await this.post({
|
|
277
|
+
if (entry.initializing === null) {
|
|
278
|
+
entry.initializing = (async () => {
|
|
279
|
+
await this.post(identityKey, entry, {
|
|
208
280
|
jsonrpc: "2.0",
|
|
209
281
|
id: 1,
|
|
210
282
|
method: "initialize",
|
|
@@ -217,20 +289,27 @@ export class HttpMcpConnector {
|
|
|
217
289
|
// Protocol-mandatory: notifications/initialized after initialize,
|
|
218
290
|
// before any tools/call. Per warm-adopter checklist `41fedec6`
|
|
219
291
|
// item #2.
|
|
220
|
-
await this.post({ jsonrpc: "2.0", method: "notifications/initialized" }, true);
|
|
292
|
+
await this.post(identityKey, entry, { jsonrpc: "2.0", method: "notifications/initialized" }, true);
|
|
221
293
|
})();
|
|
222
294
|
}
|
|
223
|
-
await
|
|
295
|
+
await entry.initializing;
|
|
224
296
|
}
|
|
225
|
-
async post(body, isNotification = false
|
|
297
|
+
async post(identityKey, entry, body, isNotification = false) {
|
|
226
298
|
const headers = {
|
|
227
299
|
"content-type": "application/json",
|
|
228
300
|
accept: "application/json, text/event-stream",
|
|
229
301
|
...this.baseHeaders,
|
|
230
|
-
...(extraHeaders ?? {}),
|
|
231
302
|
};
|
|
232
|
-
|
|
233
|
-
|
|
303
|
+
// v0.16.9 — per-call identity header. When configured AND identity is
|
|
304
|
+
// not the default sentinel, emit the header on every request (init +
|
|
305
|
+
// notifications + tools/call). Servers that pin session-to-identity
|
|
306
|
+
// at initialize time consume the header at that point; servers that
|
|
307
|
+
// re-check per request consume it per request.
|
|
308
|
+
if (this.identityHeader !== undefined && identityKey !== DEFAULT_IDENTITY_KEY) {
|
|
309
|
+
headers[this.identityHeader] = identityKey;
|
|
310
|
+
}
|
|
311
|
+
if (entry.sessionId !== null)
|
|
312
|
+
headers["mcp-session-id"] = entry.sessionId;
|
|
234
313
|
const res = await fetch(this.endpoint, {
|
|
235
314
|
method: "POST",
|
|
236
315
|
headers,
|
|
@@ -238,13 +317,32 @@ export class HttpMcpConnector {
|
|
|
238
317
|
});
|
|
239
318
|
const sid = res.headers.get("mcp-session-id");
|
|
240
319
|
if (sid !== null)
|
|
241
|
-
|
|
320
|
+
entry.sessionId = sid;
|
|
321
|
+
// v0.16.9 — stale-session detection. HTTP >= 400 likely indicates
|
|
322
|
+
// the server-side session is dead (session-not-found, expired, etc.).
|
|
323
|
+
// Throw a typed error that `dispatchWithRetry` catches + retries
|
|
324
|
+
// once with a fresh entry. Notification posts don't return a reply
|
|
325
|
+
// so we treat their 4xx as terminal (server rejected the notif —
|
|
326
|
+
// not retryable).
|
|
327
|
+
if (res.status >= 400 && !isNotification) {
|
|
328
|
+
throw new StaleSessionError(`HttpMcpConnector: ${res.status} from ${this.endpoint} (likely stale session for identity '${identityKey}')`);
|
|
329
|
+
}
|
|
242
330
|
if (isNotification)
|
|
243
331
|
return null;
|
|
244
332
|
const text = await res.text();
|
|
245
333
|
return parseSseReply(text);
|
|
246
334
|
}
|
|
247
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* v0.16.9 — internal signal for the stale-session retry path. Not
|
|
338
|
+
* surfaced to callers; `dispatchWithRetry` catches + handles.
|
|
339
|
+
*/
|
|
340
|
+
class StaleSessionError extends Error {
|
|
341
|
+
constructor(message) {
|
|
342
|
+
super(message);
|
|
343
|
+
this.name = "StaleSessionError";
|
|
344
|
+
}
|
|
345
|
+
}
|
|
248
346
|
/**
|
|
249
347
|
* Extract the terminal JSON-RPC object from an SSE response body.
|
|
250
348
|
* MCP servers MAY send multiple `event: message\n data: <json>` frames
|