agentfootprint 9.72.0 → 9.74.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/dist/adapters/identity/azure.js +306 -0
  3. package/dist/adapters/identity/azure.js.map +1 -0
  4. package/dist/adapters/llm/FoundryLocalProvider.js +992 -0
  5. package/dist/adapters/llm/FoundryLocalProvider.js.map +1 -0
  6. package/dist/adapters/llm/FoundryProvider.js +273 -0
  7. package/dist/adapters/llm/FoundryProvider.js.map +1 -0
  8. package/dist/adapters/llm/OllamaProvider.js +171 -12
  9. package/dist/adapters/llm/OllamaProvider.js.map +1 -1
  10. package/dist/adapters/llm/OpenAIProvider.js +117 -5
  11. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  12. package/dist/adapters/llm/createProvider.js +143 -10
  13. package/dist/adapters/llm/createProvider.js.map +1 -1
  14. package/dist/adapters/types.js.map +1 -1
  15. package/dist/esm/adapters/identity/azure.d.ts +188 -0
  16. package/dist/esm/adapters/identity/azure.js +302 -0
  17. package/dist/esm/adapters/identity/azure.js.map +1 -0
  18. package/dist/esm/adapters/llm/FoundryLocalProvider.d.ts +215 -0
  19. package/dist/esm/adapters/llm/FoundryLocalProvider.js +986 -0
  20. package/dist/esm/adapters/llm/FoundryLocalProvider.js.map +1 -0
  21. package/dist/esm/adapters/llm/FoundryProvider.d.ts +178 -0
  22. package/dist/esm/adapters/llm/FoundryProvider.js +268 -0
  23. package/dist/esm/adapters/llm/FoundryProvider.js.map +1 -0
  24. package/dist/esm/adapters/llm/OllamaProvider.js +171 -12
  25. package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -1
  26. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +111 -0
  27. package/dist/esm/adapters/llm/OpenAIProvider.js +115 -4
  28. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  29. package/dist/esm/adapters/llm/createProvider.d.ts +48 -12
  30. package/dist/esm/adapters/llm/createProvider.js +143 -10
  31. package/dist/esm/adapters/llm/createProvider.js.map +1 -1
  32. package/dist/esm/adapters/types.d.ts +4 -2
  33. package/dist/esm/adapters/types.js.map +1 -1
  34. package/dist/esm/identity.d.ts +1 -0
  35. package/dist/esm/identity.js +9 -0
  36. package/dist/esm/identity.js.map +1 -1
  37. package/dist/esm/index.d.ts +1 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/providers.d.ts +5 -0
  40. package/dist/esm/providers.js +14 -0
  41. package/dist/esm/providers.js.map +1 -1
  42. package/dist/identity.js +14 -1
  43. package/dist/identity.js.map +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/providers.js +20 -1
  46. package/dist/providers.js.map +1 -1
  47. package/dist/types/adapters/identity/azure.d.ts +189 -0
  48. package/dist/types/adapters/identity/azure.d.ts.map +1 -0
  49. package/dist/types/adapters/llm/FoundryLocalProvider.d.ts +216 -0
  50. package/dist/types/adapters/llm/FoundryLocalProvider.d.ts.map +1 -0
  51. package/dist/types/adapters/llm/FoundryProvider.d.ts +179 -0
  52. package/dist/types/adapters/llm/FoundryProvider.d.ts.map +1 -0
  53. package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -1
  54. package/dist/types/adapters/llm/OpenAIProvider.d.ts +111 -0
  55. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  56. package/dist/types/adapters/llm/createProvider.d.ts +48 -12
  57. package/dist/types/adapters/llm/createProvider.d.ts.map +1 -1
  58. package/dist/types/adapters/types.d.ts +4 -2
  59. package/dist/types/adapters/types.d.ts.map +1 -1
  60. package/dist/types/identity.d.ts +1 -0
  61. package/dist/types/identity.d.ts.map +1 -1
  62. package/dist/types/index.d.ts +1 -1
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/providers.d.ts +5 -0
  65. package/dist/types/providers.d.ts.map +1 -1
  66. package/package.json +5 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;AAEH,oEAAoE;AACpE,8DAA8D;AAC9D,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,sDAAsD;AACtD,wDAAsD;AACtD,qDAAmD;AACnD,sDAAoD;AAsCpD,6BAA6B;AAC7B,sDAAoC;AAEpC,yEAAyE;AACzE,uDAAuD;AACvD,mDA0B0B;AAzBxB,gHAAA,cAAc,OAAA;AACd,qHAAA,mBAAmB,OAAA;AACnB,gHAAA,cAAc,OAAA;AAEd,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,gBAAgB;AAChB,2GAAA,SAAS,OAAA;AAET,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,8GAAA,YAAY,OAAA;AAGZ,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,uCAAuC;AACvC,yHAAA,uBAAuB,OAAA;AACvB,0HAAA,wBAAwB,OAAA;AAE1B,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,kDAAkD;AAClD,sDAOmC;AANjC,4GAAA,gBAAgB,OAAA;AAWlB,yCAAyC;AACzC,EAAE;AACF,yEAAyE;AACzE,kEAAkE;AAClE,oEAAoE;AACpE,qEAAqE;AACrE,2EAA2E;AAC3E,8EAA8E;AAC9E,0DAA0D;AAC1D,gFAUgD;AAT9C,2HAAA,kBAAkB,OAAA;AAClB,2HAAA,kBAAkB,OAAA;AAClB,yHAAA,gBAAgB,OAAA;AAChB,2HAAA,kBAAkB,OAAA;AAClB,yHAAA,gBAAgB,OAAA;AASlB,sDAA6D;AAApD,2GAAA,UAAU,OAAA;AAAE,0GAAA,SAAS,OAAA;AAc9B,sEAAsE;AACtE,wEAAwE;AACxE,iEAAiE;AACjE,sEAAsE;AACtE,uEAAuE;AACvE,4CAwByB;AAvBvB,qGAAA,SAAS,OAAA;AACT,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AACd,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AACd,sGAAA,UAAU,OAAA;AACV,wEAAwE;AACxE,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,sDAAsD;AACtD,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,yEAAyE;AACzE,6EAA6E;AAC7E,4EAA4E;AAC5E,sBAAsB;AACtB,oHAAA,wBAAwB,OAAA;AAO1B,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,kFAAkF;AAClF,4DAA4D;AAC5D,uEAAuE;AACvE,oEAAoE;AACpE,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,0DAMgC;AAL9B,mHAAA,gBAAgB,OAAA;AAChB,qHAAA,kBAAkB,OAAA;AAClB,2HAAA,wBAAwB,OAAA;AAK1B,mEAAmE;AACnE,wDAAwD;AACxD,2EAA2E;AAC3E,iCAAiC;AACjC,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,8BAA8B;AAC9B,6DAqB0C;AApBxC,iGAAA,KAAK,OAAA;AACL,+FAAA,GAAG,OAAA;AACH,gGAAA,IAAI,OAAA;AACJ,8GAAA,kBAAkB,OAAA;AAmBpB,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,mBAAmB;AACnB,sDAAgG;AAAvF,0GAAA,YAAY,OAAA;AAAE,uGAAA,SAAS,OAAA;AAChC,8CAAgE;AAAvD,kGAAA,QAAQ,OAAA;AAcjB,uEAAuE;AACvE,6EAA6E;AAC7E,mEAAmE;AACnE,0EAA0E;AAC1E,oFAAoF;AACpF,gDAuB2B;AAtBzB,6GAAA,eAAe,OAAA;AACf,6GAAA,eAAe,OAAA;AACf,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,uHAAA,yBAAyB,OAAA;AACzB,sHAAA,wBAAwB,OAAA;AAuB1B,6EAA6E;AAC7E,0EAK6C;AAJ3C,qHAAA,eAAe,OAAA;AAgBjB,qEAAqE;AACrE,kEAAkE;AAClE,kEAAkE;AAClE,sGAWqE;AAVnE,oIAAA,0BAA0B,OAAA;AAC1B,kEAAkE;AAClE,mEAAmE;AACnE,oDAAoD;AACpD,0HAAA,gBAAgB,OAAA;AAChB,+HAAA,qBAAqB,OAAA;AACrB,0HAAA,gBAAgB,OAAA;AAChB,6HAAA,mBAAmB,OAAA;AAKrB,gEAAgE;AAChE,sEAAsE;AACtE,uDAAuD;AACvD,sEAAsE;AACtE,+DAA+D;AAC/D,gEAAgE;AAChE,wEAAwE;AACxE,mCAAmC;AAEnC,qBAAqB;AACrB,gDAM2B;AALzB,qGAAA,OAAO,OAAA;AACP,4GAAA,cAAc,OAAA;AAWhB,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,0FAGmD;AAFjD,yIAAA,yBAAyB,OAAA;AAG3B,4CA0ByB;AAzBvB,iGAAA,KAAK,OAAA;AACL,wGAAA,YAAY,OAAA;AAyBd,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,oEAAoE;AACpE,EAAE;AACF,iEAAiE;AACjE,oFAAoF;AACpF,4DAA4D;AAC5D,sEAAsE;AACtE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,2BAA2B;AAC3B,yDA+BsC;AA9BpC,uHAAA,2BAA2B,OAAA;AAC3B,kHAAA,sBAAsB,OAAA;AACtB,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,uGAAA,WAAW,OAAA;AAmCb,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,qCAAqC;AACrC,kEAAgG;AAAvF,yHAAA,qBAAqB,OAAA;AAiB9B,0DAMgC;AAL9B,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AAKnB,0EAA0E;AAC1E,2EAA2E;AAC3E,6EAA6E;AAC7E,0DAA0D;AAC1D,kDAA0D;AAAjD,mHAAA,oBAAoB,OAAA;AAC7B,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAK2C;AAJzC,iIAAA,yBAAyB,OAAA;AACzB,wHAAA,gBAAgB,OAAA;AAChB,4HAAA,oBAAoB,OAAA;AAItB,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAC9E,2DAMwC;AALtC,uHAAA,2BAA2B,OAAA;AAM7B,6DAGyC;AAFvC,mHAAA,sBAAsB,OAAA;AAGxB,4DAKiC;AAJ/B,6GAAA,SAAS,OAAA;AACT,6HAAA,yBAAyB,OAAA;AACzB,sHAAA,kBAAkB,OAAA;AAGpB,+EAA+E;AAC/E,gFAAgF;AAChF,2EAA2E;AAC3E,2EAA2E;AAC3E,gFAAgF;AAChF,iEAIqC;AAHnC,qHAAA,gBAAgB,OAAA;AAChB,gIAAA,2BAA2B,OAAA;AAG7B,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,2DAA2D;AAC3D,oEAIyC;AAHvC,8HAAA,0BAA0B,OAAA;AAC1B,+HAAA,2BAA2B,OAAA;AAC3B,2HAAA,uBAAuB,OAAA;AAEzB,6EAA6E;AAC7E,+EAA+E;AAC/E,sCAAsC;AACtC,0DAIgC;AAH9B,sHAAA,mBAAmB,OAAA;AACnB,uHAAA,oBAAoB,OAAA;AACpB,mHAAA,gBAAgB,OAAA;AAElB,gEAKmC;AAJjC,qHAAA,eAAe,OAAA;AAgBjB,4CAWyB;AAVvB,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,mDAAmD;AACnD,4GAAA,gBAAgB,OAAA;AAChB,iHAAA,qBAAqB,OAAA;AAEvB,yEAAyE;AACzE,yEAAyE;AACzE,4EAA4E;AAC5E,oEAAoE;AACpE,wDAAwD;AACxD,8DAaqC;AAZnC,2HAAA,yBAAyB,OAAA;AACzB,wHAAA,sBAAsB,OAAA;AACtB,sHAAA,oBAAoB,OAAA;AAWtB,6EAA6E;AAC7E,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,mEAAmE;AACnE,uEAAuE;AACvE,sCAAsC;AACtC,0EAA0E;AAC1E,yEAAyE;AACzE,8EAA8E;AAC9E,cAAc;AACd,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,kDAAkD;AAClD,2DAoBwC;AAnBtC,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AACZ,kGAAA,MAAM,OAAA;AACN,oGAAA,QAAQ,OAAA;AACR,kHAAA,sBAAsB,OAAA;AACtB,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAWpB,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,mEAAmE;AACnE,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,kEAAkE;AAClE,qDAwBkC;AAvBhC,6GAAA,iBAAiB,OAAA;AACjB,qHAAA,yBAAyB,OAAA;AACzB,4GAAA,gBAAgB,OAAA;AAChB,uHAAA,2BAA2B,OAAA;AAC3B,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,oGAAA,QAAQ,OAAA;AACR,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AAenB,6EAA6E;AAC7E,gFAAgF;AAChF,gEAAgE;AAChE,0DAQgC;AAP9B,iHAAA,cAAc,OAAA;AACd,iHAAA,cAAc,OAAA;AACd,2HAAA,wBAAwB,OAAA;AACxB,2HAAA,wBAAwB,OAAA;AAK1B,8DAUkC;AAThC,mHAAA,cAAc,OAAA;AACd,8GAAA,SAAS,OAAA;AACT,+GAAA,UAAU,OAAA;AACV,mHAAA,cAAc,OAAA;AACd,kHAAA,aAAa,OAAA;AAMf,0DAOgC;AAN9B,sHAAA,mBAAmB,OAAA;AACnB,4HAAA,yBAAyB,OAAA;AAM3B,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AACvE,sEAAsE;AACtE,6EAA6E;AAC7E,6EAA6E;AAC7E,qEAAqE;AACrE,8EAA8E;AAC9E,8CAA8C;AAC9C,iDAoD8B;AAnD5B,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,yGAAA,aAAa,OAAA;AACb,uDAAuD;AACvD,2EAA2E;AAC3E,0EAA0E;AAC1E,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,wHAAA,4BAA4B,OAAA;AAC5B,gIAAA,oCAAoC,OAAA;AACpC,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA;AACZ,6GAAA,iBAAiB,OAAA;AACjB,gHAAA,oBAAoB,OAAA;AACpB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,uHAAA,2BAA2B,OAAA;AAC3B,wHAAA,4BAA4B,OAAA;AA8B9B,+EAA+E;AAC/E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,iDAO8B;AAN5B,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAKpB,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,gEAAgE;AAChE,iDAa8B;AAZ5B,oHAAA,wBAAwB,OAAA;AACxB,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,uHAAA,2BAA2B,OAAA;AAU7B,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,2CAA2C;AAC3C,iDAU8B;AAT5B,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,4GAAA,gBAAgB,OAAA;AAChB,6GAAA,iBAAiB,OAAA;AAQnB,iEAAiE;AACjE,yDAAyD;AACzD,kEAAkE;AAClE,6DAA6D;AAC7D,wEAAwE;AACxE,kEAAkE;AAClE,2DAA2D;AAC3D,sEAAsE;AAEtE,4BAA4B;AAC5B,uDAMiC;AAL/B,uGAAA,QAAQ,OAAA;AACR,8GAAA,eAAe,OAAA;AAKjB,uDAWiC;AAV/B,uGAAA,QAAQ,OAAA;AACR,8GAAA,eAAe,OAAA;AAUjB,6DAOoC;AANlC,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAMpB,+CAO6B;AAN3B,+FAAA,IAAI,OAAA;AACJ,sGAAA,WAAW,OAAA;AAMb,uDAKiC;AAJ/B,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AAIV,iDAQ8B;AAP5B,iGAAA,KAAK,OAAA;AACL,iGAAA,KAAK,OAAA;AAQP,2BAA2B;AAC3B,8EAA8E;AAC9E,wEAAwE;AACxE,mEAAmE;AACnE,qEAAqE;AACrE,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,wEAAwE;AACxE,gEAAgE;AAChE,gEAAgE;AAChE,6CAA6C;AAC7C,EAAE;AACF,2FAA2F;AAC3F,wFAAwF;AAExF,sEAK0C;AAJxC,oHAAA,eAAe,OAAA;AAMjB,+DAA+D;AAE/D,oEAAoE;AACpE,gEAAgE;AAEhE,qEAAqE;AACrE,0DAA0D;AAC1D,sDAAoC;AAEpC,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,8CAA8C;AAE9C,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,gDAO4B;AAN1B,sGAAA,SAAS,OAAA;AACT,oHAAA,uBAAuB,OAAA;AAEvB,2GAAA,cAAc,OAAA;AAKhB,yEAAyE;AACzE,0EAA0E;AAC1E,qEAAqE;AACrE,iEAAiE;AACjE,yDAOqC;AANnC,iGAAA,IAAI,OAAA;AAQN,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,yDAAyD;AACzD,wEAAwE;AACxE,gDAAgD;AAChD,wEAAwE;AACxE,gEAAgE;AAEhE,wEAAwE;AACxE,wEAAwE;AACxE,uDAAuD;AAEvD,mEAAmE;AACnE,oEAAoE;AACpE,sDAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/providers.js CHANGED
@@ -20,6 +20,8 @@
20
20
  * • `openai` / `OpenAIProvider` — real provider (GPT)
21
21
  * • `gemini` / `GeminiProvider` — Gemini on Vertex or the Gemini API
22
22
  * • `bedrock`, `azureOpenai`, and the `browser*` variants
23
+ * • `foundry` / `foundryLocal` — Microsoft Foundry: a project endpoint in
24
+ * the cloud (Entra or key), and the on-device Foundry Local service
23
25
  *
24
26
  * The ladder these are FOR: `mock()` while you shape the logic →
25
27
  * `ollama('<model>')` for a real model that costs nothing and needs no
@@ -33,7 +35,7 @@
33
35
  * `MockProvider` source is the canonical reference.
34
36
  */
35
37
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.createProvider = exports.BrowserAzureOpenAIProvider = exports.browserAzureOpenai = exports.BrowserOpenAIProvider = exports.browserOpenai = exports.BrowserAnthropicProvider = exports.browserAnthropic = exports.GeminiProvider = exports.gemini = exports.BedrockProvider = exports.bedrock = exports.OllamaUnavailableError = exports.OllamaProvider = exports.ollama = exports.azureOpenai = exports.OpenAIProvider = exports.openai = exports.AnthropicProvider = exports.anthropic = exports.mock = exports.MockProvider = void 0;
38
+ exports.createProvider = exports.BrowserAzureOpenAIProvider = exports.browserAzureOpenai = exports.BrowserOpenAIProvider = exports.browserOpenai = exports.BrowserAnthropicProvider = exports.browserAnthropic = exports.GeminiProvider = exports.gemini = exports.BedrockProvider = exports.bedrock = exports.FoundryLocalUnavailableError = exports.FoundryLocalProvider = exports.foundryLocal = exports.foundryInferenceUrl = exports.foundry = exports.OllamaUnavailableError = exports.OllamaProvider = exports.ollama = exports.azureOpenai = exports.OpenAIProvider = exports.openai = exports.AnthropicProvider = exports.anthropic = exports.mock = exports.MockProvider = void 0;
37
39
  var MockProvider_js_1 = require("./adapters/llm/MockProvider.js");
38
40
  Object.defineProperty(exports, "MockProvider", { enumerable: true, get: function () { return MockProvider_js_1.MockProvider; } });
39
41
  Object.defineProperty(exports, "mock", { enumerable: true, get: function () { return MockProvider_js_1.mock; } });
@@ -48,6 +50,23 @@ var OllamaProvider_js_1 = require("./adapters/llm/OllamaProvider.js");
48
50
  Object.defineProperty(exports, "ollama", { enumerable: true, get: function () { return OllamaProvider_js_1.ollama; } });
49
51
  Object.defineProperty(exports, "OllamaProvider", { enumerable: true, get: function () { return OllamaProvider_js_1.OllamaProvider; } });
50
52
  Object.defineProperty(exports, "OllamaUnavailableError", { enumerable: true, get: function () { return OllamaProvider_js_1.OllamaUnavailableError; } });
53
+ // Microsoft Foundry, both doors (9.74.0). `foundry()` speaks a PROJECT
54
+ // endpoint's `/openai/v1` route — deployment name as the model, Entra
55
+ // credential or key as the auth; the hosted platform injects
56
+ // FOUNDRY_PROJECT_ENDPOINT so a deployed container needs zero config.
57
+ // `entraBearerToken` is deliberately NOT re-exported: it is the two Entra
58
+ // doors' shared plumbing, not a promise; vend tokens through
59
+ // `entraIdentity` (agentfootprint/security) instead.
60
+ var FoundryProvider_js_1 = require("./adapters/llm/FoundryProvider.js");
61
+ Object.defineProperty(exports, "foundry", { enumerable: true, get: function () { return FoundryProvider_js_1.foundry; } });
62
+ Object.defineProperty(exports, "foundryInferenceUrl", { enumerable: true, get: function () { return FoundryProvider_js_1.foundryInferenceUrl; } });
63
+ // Foundry Local: the on-device service. Fetch-only like `ollama()` — the
64
+ // service's own OpenAI-compatible `/v1` is the wire, the typed refusal
65
+ // carries the fix (`foundry server start` / `status`; the port is dynamic).
66
+ var FoundryLocalProvider_js_1 = require("./adapters/llm/FoundryLocalProvider.js");
67
+ Object.defineProperty(exports, "foundryLocal", { enumerable: true, get: function () { return FoundryLocalProvider_js_1.foundryLocal; } });
68
+ Object.defineProperty(exports, "FoundryLocalProvider", { enumerable: true, get: function () { return FoundryLocalProvider_js_1.FoundryLocalProvider; } });
69
+ Object.defineProperty(exports, "FoundryLocalUnavailableError", { enumerable: true, get: function () { return FoundryLocalProvider_js_1.FoundryLocalUnavailableError; } });
51
70
  var BedrockProvider_js_1 = require("./adapters/llm/BedrockProvider.js");
52
71
  Object.defineProperty(exports, "bedrock", { enumerable: true, get: function () { return BedrockProvider_js_1.bedrock; } });
53
72
  Object.defineProperty(exports, "BedrockProvider", { enumerable: true, get: function () { return BedrockProvider_js_1.BedrockProvider; } });
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;AAEH,kEAMwC;AALtC,+GAAA,YAAY,OAAA;AACZ,uGAAA,IAAI,OAAA;AAMN,4EAI6C;AAH3C,iHAAA,SAAS,OAAA;AACT,yHAAA,iBAAiB,OAAA;AAInB,sEAM0C;AALxC,2GAAA,MAAM,OAAA;AACN,mHAAA,cAAc,OAAA;AACd,gHAAA,WAAW,OAAA;AAKb,sEAM0C;AALxC,2GAAA,MAAM,OAAA;AACN,mHAAA,cAAc,OAAA;AACd,2HAAA,sBAAsB,OAAA;AAKxB,wEAI2C;AAHzC,6GAAA,OAAO,OAAA;AACP,qHAAA,eAAe,OAAA;AAIjB,sEAc0C;AAbxC,2GAAA,MAAM,OAAA;AACN,mHAAA,cAAc,OAAA;AAqBhB,0FAIoD;AAHlD,+HAAA,gBAAgB,OAAA;AAChB,uIAAA,wBAAwB,OAAA;AAI1B,oFAOiD;AAN/C,yHAAA,aAAa,OAAA;AACb,iIAAA,qBAAqB,OAAA;AAErB,8HAAA,kBAAkB,OAAA;AAClB,sIAAA,0BAA0B,OAAA;AAI5B,sEAI0C;AAHxC,mHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,kEAMwC;AALtC,+GAAA,YAAY,OAAA;AACZ,uGAAA,IAAI,OAAA;AAMN,4EAI6C;AAH3C,iHAAA,SAAS,OAAA;AACT,yHAAA,iBAAiB,OAAA;AAInB,sEAM0C;AALxC,2GAAA,MAAM,OAAA;AACN,mHAAA,cAAc,OAAA;AACd,gHAAA,WAAW,OAAA;AAKb,sEAM0C;AALxC,2GAAA,MAAM,OAAA;AACN,mHAAA,cAAc,OAAA;AACd,2HAAA,sBAAsB,OAAA;AAKxB,uEAAuE;AACvE,sEAAsE;AACtE,6DAA6D;AAC7D,sEAAsE;AACtE,0EAA0E;AAC1E,6DAA6D;AAC7D,qDAAqD;AACrD,wEAI2C;AAHzC,6GAAA,OAAO,OAAA;AACP,yHAAA,mBAAmB,OAAA;AAUrB,yEAAyE;AACzE,uEAAuE;AACvE,4EAA4E;AAC5E,kFAKgD;AAJ9C,uHAAA,YAAY,OAAA;AACZ,+HAAA,oBAAoB,OAAA;AACpB,uIAAA,4BAA4B,OAAA;AAI9B,wEAI2C;AAHzC,6GAAA,OAAO,OAAA;AACP,qHAAA,eAAe,OAAA;AAIjB,sEAc0C;AAbxC,2GAAA,MAAM,OAAA;AACN,mHAAA,cAAc,OAAA;AAqBhB,0FAIoD;AAHlD,+HAAA,gBAAgB,OAAA;AAChB,uIAAA,wBAAwB,OAAA;AAI1B,oFAOiD;AAN/C,yHAAA,aAAa,OAAA;AACb,iIAAA,qBAAqB,OAAA;AAErB,8HAAA,kBAAkB,OAAA;AAClB,sIAAA,0BAA0B,OAAA;AAI5B,sEAI0C;AAHxC,mHAAA,cAAc,OAAA"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * entraIdentity — the {@link CredentialProvider} port over Microsoft Entra ID
3
+ * (peer-dep `@azure/identity`).
4
+ *
5
+ * import { entraIdentity } from 'agentfootprint/security';
6
+ * const credentials = entraIdentity();
7
+ *
8
+ * ── What it is, and what it deliberately is not ─────────────────────────────
9
+ * This is the **narrow** adapter: it vends *Entra* access tokens for *Azure*
10
+ * APIs, from whatever credential the environment already has — the
11
+ * DefaultAzureCredential chain walks environment service principal, workload
12
+ * identity, managed identity, VS Code, Azure CLI, Azure PowerShell and the
13
+ * Azure Developer CLI, in that order. That is one job and it is done
14
+ * completely.
15
+ *
16
+ * It is **not** a user-delegation surface. Entra's on-behalf-of flow (and any
17
+ * 3-legged consent dance) needs a confidential client app registration that
18
+ * this adapter does not hold, so `mode: 'user'` is **refused by name** rather
19
+ * than quietly served with a machine token. A machine token returned where a
20
+ * user token was asked for is the exact silent downgrade the port exists to
21
+ * prevent: the call succeeds, the data comes back, and it was the agent's
22
+ * access rather than the person's. OBO is a later train; when it lands it will
23
+ * be its own provider, not a flag here.
24
+ *
25
+ * ── The audience split, and where it bites ──────────────────────────────────
26
+ * Azure tokens are minted for ONE audience. {@link AZURE_AI_SCOPE}
27
+ * (`https://ai.azure.com/.default`) is the data plane — every Foundry and
28
+ * Azure OpenAI inference call takes it. {@link AZURE_MANAGEMENT_SCOPE}
29
+ * (`https://management.azure.com/.default`) is the ARM control plane —
30
+ * listing deployments, creating resources. A token for one audience is a 401
31
+ * on the other, which is why BOTH are exported by name instead of leaving the
32
+ * caller to guess a string. The default here is the data-plane scope, because
33
+ * vending inference credentials is what an agent runtime does all day.
34
+ *
35
+ * ── Caching: the credential, never a token ──────────────────────────────────
36
+ * One `DefaultAzureCredential` is constructed for the life of the provider and
37
+ * every `getToken` call goes through it. MSAL — the machinery underneath
38
+ * `@azure/identity` — caches and proactively refreshes tokens internally, so
39
+ * caching a token HERE would mean owning an expiry this adapter did not
40
+ * compute and cannot see revoked. Unlike the Google adapter (where scopes are
41
+ * fixed at client construction and a different scope set needs its own
42
+ * client), Azure scopes travel per `getToken` call, so the ONE cached
43
+ * credential serves every scope set.
44
+ *
45
+ * ── Secrets ─────────────────────────────────────────────────────────────────
46
+ * The `sdkFailure` law, same as every other credential-touching adapter here:
47
+ * the library's own message never comes through, because auth libraries echo
48
+ * request detail into 401/403 text and a message thrown from a
49
+ * `CredentialProvider` reaches the LLM as a tool result AND rides
50
+ * `agentfootprint.credential.failed` to every sink. What comes through is the
51
+ * operation that failed and the error's NAME. The original is not attached as
52
+ * `cause` — a cause travels into every serializer that walks own properties,
53
+ * which would undo all of it in one `JSON.stringify`.
54
+ *
55
+ * Pattern: Adapter (GoF) + lazy peer-dep load — `@azure/identity` is required
56
+ * the first time `getCredential` runs, or never if you inject a credential.
57
+ */
58
+ import type { CredentialProvider } from '../../identity/types.js';
59
+ /**
60
+ * The data-plane scope for ALL Foundry / Azure OpenAI inference
61
+ * (`https://ai.azure.com/.default`). This is the default scope this provider
62
+ * requests.
63
+ *
64
+ * The audience split matters: a token minted for this scope does NOT work on
65
+ * the ARM control plane, and a {@link AZURE_MANAGEMENT_SCOPE} token does not
66
+ * work here — Azure validates the audience on every call. Both are exported by
67
+ * name so nobody has to remember which string is which.
68
+ */
69
+ export declare const AZURE_AI_SCOPE = "https://ai.azure.com/.default";
70
+ /**
71
+ * The ARM control-plane scope (`https://management.azure.com/.default`) —
72
+ * listing deployments, managing resources. A DIFFERENT audience from
73
+ * {@link AZURE_AI_SCOPE}: a token for one is a 401 on the other, which is why
74
+ * both are named rather than leaving the caller to guess.
75
+ */
76
+ export declare const AZURE_MANAGEMENT_SCOPE = "https://management.azure.com/.default";
77
+ /**
78
+ * The CLASSIC Azure OpenAI data-plane scope
79
+ * (`https://cognitiveservices.azure.com/.default`) — the audience Microsoft's
80
+ * own keyless guidance names for the older deployment-scoped route
81
+ * (`{endpoint}/openai/deployments/{d}/…`), which is the route `azureOpenai()`
82
+ * builds and therefore its default. Current resources widely accept
83
+ * {@link AZURE_AI_SCOPE} too, but an older `*.openai.azure.com` resource may
84
+ * not — and a door should default to the audience ITS route documents, not the
85
+ * one its sibling uses. (Azure Government spells this
86
+ * `https://cognitiveservices.azure.us/.default`.)
87
+ */
88
+ export declare const AZURE_COGNITIVE_SERVICES_SCOPE = "https://cognitiveservices.azure.com/.default";
89
+ /**
90
+ * The `@azure/core-auth` `TokenCredential` duck type — the slice this adapter
91
+ * calls. Anything `@azure/identity` exports (DefaultAzureCredential,
92
+ * ManagedIdentityCredential, ClientSecretCredential, …) satisfies it.
93
+ *
94
+ * These are THE shared Azure credential duck-types for the whole repo: sibling
95
+ * Azure adapters `import type` them from this file rather than re-declaring
96
+ * their own spelling of the same SDK surface.
97
+ */
98
+ export interface TokenCredentialLike {
99
+ /**
100
+ * Mint (or serve from MSAL's internal cache) an access token for the given
101
+ * scope(s). May resolve to `null` — the SDK's spelling of "no token
102
+ * available" — which this adapter refuses by name rather than passing along.
103
+ */
104
+ getToken(scopes: string | readonly string[], options?: unknown): Promise<AccessTokenLike | null>;
105
+ }
106
+ /**
107
+ * The `@azure/core-auth` `AccessToken` duck type. `expiresOnTimestamp` is unix
108
+ * MILLISECONDS — the port reports unix SECONDS, and the conversion lives in
109
+ * exactly one place ({@link entraIdentity}'s vend path).
110
+ *
111
+ * Shared repo-wide alongside {@link TokenCredentialLike} — sibling Azure
112
+ * adapters `import type` it from here.
113
+ */
114
+ export interface AccessTokenLike {
115
+ /** The bearer token itself. A SECRET — never echoed, never logged. */
116
+ readonly token: string;
117
+ /** Expiry in unix MILLISECONDS epoch (the SDK's unit, not the port's). */
118
+ readonly expiresOnTimestamp: number;
119
+ /** MSAL's proactive-refresh hint, when the SDK provides one. */
120
+ readonly refreshAfterTimestamp?: number;
121
+ /** 'Bearer' | 'pop'; absent on older SDK versions. */
122
+ readonly tokenType?: string;
123
+ }
124
+ /** The slice of `@azure/identity` this adapter loads. */
125
+ export interface AzureIdentitySdkModule {
126
+ readonly DefaultAzureCredential?: new () => TokenCredentialLike;
127
+ }
128
+ /** Options for {@link entraIdentity}. */
129
+ export interface EntraIdentityOptions {
130
+ /**
131
+ * The scopes to request. Default `[AZURE_AI_SCOPE]` — the data-plane
132
+ * audience every Foundry / Azure OpenAI inference call accepts.
133
+ *
134
+ * A request's own `scopes` win when it names any — a tool that knows it
135
+ * needs the control plane says so, and this is where that is honoured.
136
+ */
137
+ readonly scopes?: readonly string[];
138
+ /**
139
+ * Which downstream services this provider will answer for.
140
+ *
141
+ * Unset — the default — it answers for ANY `service`, because the token it
142
+ * vends is an Entra credential and the caller knows better than this
143
+ * adapter which Azure API they are about to call.
144
+ *
145
+ * Set it and a request for a service outside the list is refused BY NAME
146
+ * rather than served. That is the useful setting in a deployment where
147
+ * tools declare `needs: [{ credential: 'github' }]` alongside Azure ones:
148
+ * without it, this provider would happily hand an Entra access token to the
149
+ * tool that wanted a GitHub one, and the failure would surface as a
150
+ * puzzling 401 from GitHub rather than as a wiring error here.
151
+ */
152
+ readonly services?: readonly string[];
153
+ /** Stable provider id (default `'entra-identity'`). */
154
+ readonly id?: string;
155
+ /**
156
+ * @internal Test seam — a pre-built credential. Bypasses the SDK entirely,
157
+ * so the suite runs with no package and no Azure account.
158
+ */
159
+ readonly _credential?: TokenCredentialLike;
160
+ /** @internal Test seam — the SDK module, to exercise the real construction. */
161
+ readonly _sdk?: AzureIdentitySdkModule;
162
+ }
163
+ /**
164
+ * Vend Entra access tokens from whatever credential this environment has —
165
+ * the DefaultAzureCredential chain: environment service principal, workload
166
+ * identity, managed identity, VS Code, Azure CLI, Azure PowerShell, Azure
167
+ * Developer CLI. (`AZURE_TOKEN_CREDENTIALS` can restrict the chain; that is
168
+ * the SDK's own dial and this adapter does not second-guess it.)
169
+ *
170
+ * @throws when `mode: 'user'` is requested — no user-delegation surface is
171
+ * wired for Entra yet (on-behalf-of is a later train), and a machine token
172
+ * returned in its place would be a silent downgrade.
173
+ * @throws when `services` is configured and the request names another one.
174
+ *
175
+ * @example A tool that calls an Azure API with the deployment's own identity
176
+ * const agent = Agent.create({ provider, credentials: entraIdentity() })
177
+ * .tool(defineTool({
178
+ * name: 'ask_foundry',
179
+ * needs: [{ credential: 'azure-ai' }],
180
+ * execute: async (args, ctx) =>
181
+ * fetch(url, { headers: ctx.credential!.toHeaders() }).then((r) => r.text()),
182
+ * }))
183
+ * .build();
184
+ *
185
+ * @example A control-plane token, without touching the data-plane default
186
+ * entraIdentity({ scopes: [AZURE_MANAGEMENT_SCOPE] });
187
+ */
188
+ export declare function entraIdentity(options?: EntraIdentityOptions): CredentialProvider;
189
+ //# sourceMappingURL=azure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["../../../../src/adapters/identity/azure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAIH,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,yBAAyB,CAAC;AAIjC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,0CAA0C,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,iDAAiD,CAAC;AAE7F;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CAClG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,UAAU,mBAAmB,CAAC;CACjE;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC;CACxC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,kBAAkB,CA4IpF"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * FoundryLocalProvider — on-device models over Foundry Local's
3
+ * OpenAI-compatible `/v1/chat/completions`.
4
+ *
5
+ * Pattern: Adapter (GoF) + Ports-and-Adapters (Cockburn 2005).
6
+ * Role: Outer ring — translates `LLMRequest`/`LLMResponse` to/from the
7
+ * wire Foundry Local serves on localhost. Knows nothing about
8
+ * agents, recorders, or compositions.
9
+ * Emits: N/A.
10
+ *
11
+ * ─── Why this exists ─────────────────────────────────────────────────
12
+ *
13
+ * The adapter ladder is `mock()` → a local model → a paid API, and
14
+ * `ollama()` is the proof that the middle rung is worth owning: zero
15
+ * dependencies, honest refusals, real token counts. Foundry Local is
16
+ * Microsoft's runtime for the same rung — ONNX under the hood, models
17
+ * pulled with `foundry model run <alias>`, no key, no account — and a
18
+ * Windows or macOS machine that has it installed deserves the same
19
+ * one-import experience. So this file owns that wire the way
20
+ * `OllamaProvider.ts` owns Ollama's:
21
+ *
22
+ * • ZERO dependencies — one `fetch` POST and SSE. The official
23
+ * `foundry-local-sdk` is NOT imported; its manager is accepted
24
+ * duck-typed (see {@link FoundryLocalProviderOptions.manager}) so a
25
+ * consumer who already uses it can hand over the discovered URL
26
+ * without this package gaining a dependency.
27
+ * • HONEST REFUSALS — a typed {@link FoundryLocalUnavailableError}
28
+ * that names the endpoint it tried and the command to run. The
29
+ * service's port is DYNAMIC per start, which makes "nothing is
30
+ * answering" the most likely first failure — so that message
31
+ * carries the discovery command, not just the start command. A
32
+ * failure the service reports IN BAND — an `error` frame on an
33
+ * already-200 stream, the out-of-memory a laptop runtime really does
34
+ * hit — is RAISED the same way, never handed over as a shorter
35
+ * answer that reads like a clean stop.
36
+ * • REAL TOKEN COUNTS while streaming — `stream_options:
37
+ * { include_usage: true }` is always sent. This is OUR wire, a
38
+ * documented Foundry Local surface, not an arbitrary
39
+ * OpenAI-compatible server — so the caution that made
40
+ * `openai({ baseURL })` withhold the field (and silently zero every
41
+ * local token count until 9.73.0) does not apply here.
42
+ *
43
+ * ─── Wire realities this file owns ───────────────────────────────────
44
+ *
45
+ * • THE PORT IS DYNAMIC. Every `foundry server start` may pick a new
46
+ * port; the docs' own REST example shows `http://localhost:5272` and
47
+ * that is the default here, but the truthful discovery is
48
+ * `foundry server status` (or the SDK manager's `.urls`). Note the
49
+ * CLI group was RENAMED from `foundry service` to `foundry server` —
50
+ * every message in this file uses the NEW spelling.
51
+ * • ALIASES vs VARIANT IDS. The catalog speaks in aliases
52
+ * (`qwen2.5-0.5b`) that fan out to hardware variants
53
+ * (`qwen2.5-0.5b-instruct-generic-cpu:1`), but REST chat calls take
54
+ * the FULL variant id. This adapter resolves an alias through
55
+ * `GET /foundry/list` — first matching variant wins, because the
56
+ * list's order IS the service's priority order — and caches the
57
+ * answer per provider instance, HIT OR MISS: exactly one catalog
58
+ * attempt per name, so an alias the catalog never answers for cannot
59
+ * re-ask before every call. A fresh provider is the retry. A name that
60
+ * already carries a variant's execution-provider suffix
61
+ * (`-cpu`/`-gpu`/`-npu`, optional `:version`) is used as-is with no
62
+ * catalog round-trip.
63
+ * • NO API KEY EXISTS. The docs' own samples pass placeholders. This
64
+ * adapter sends no `Authorization` header at all — there is nothing
65
+ * to put in one, and an invented value would only end up in somebody's
66
+ * proxy log.
67
+ *
68
+ * ─── Ceilings (stated, not worked around) ────────────────────────────
69
+ *
70
+ * • NO FORCED TOOL CHOICE. `tool_choice` support is UNDOCUMENTED on
71
+ * this wire, so `carriesForcedToolChoice` is `false` and an agent
72
+ * using `.outputSchema(parser, { strategy: 'tool-forced' })` refuses
73
+ * at run start, naming this provider. Claiming an undocumented field
74
+ * works would turn a guarantee into a suggestion.
75
+ * • TOOL CALLING IS MODEL-DEPENDENT. `/foundry/list` reports
76
+ * `supportsToolCalling` per variant, but this adapter does not
77
+ * preflight-refuse on it — a wrong refusal is worse than a weak
78
+ * answer, the same stance `ollama()` takes on `/api/show`. Pick a
79
+ * tool-capable variant.
80
+ * • NO MULTI-MODAL. `LLMMessage.content` is a string. Same ceiling as
81
+ * every other adapter here.
82
+ * • NO PROMPT CACHING — resolves to the NoOp cache strategy.
83
+ * • NO STRUCTURED THINKING. The wire has no thinking field; a reasoning
84
+ * model's `<think>` tags ride the answer text untouched.
85
+ */
86
+ import type { LLMCallHooks, LLMChunk, LLMProvider, LLMRequest, LLMResponse, WireRole } from '../types.js';
87
+ /**
88
+ * The two failures an on-device runtime actually has, told in words that
89
+ * contain the fix.
90
+ *
91
+ * Both are things the person at the keyboard can resolve in one command,
92
+ * which is exactly why they get a type instead of a wrapped
93
+ * `ECONNREFUSED` or a bare `404`. `reason` is the discriminator; the
94
+ * message already reads as instructions — and because Foundry Local's
95
+ * port changes per start, the unreachable message teaches the discovery
96
+ * command (`foundry server status`) alongside the start command.
97
+ */
98
+ export declare class FoundryLocalUnavailableError extends Error {
99
+ readonly name = "FoundryLocalUnavailableError";
100
+ /** Which of the two situations this is. */
101
+ readonly reason: 'service-unreachable' | 'model-not-available';
102
+ /** The endpoint that was tried — the thing to check or change. */
103
+ readonly endpoint: string;
104
+ /** The model asked for. Absent when the service never answered at all. */
105
+ readonly model?: string;
106
+ /** Models this machine DOES have cached, when the service could tell us. */
107
+ readonly availableModels?: readonly string[];
108
+ constructor(init: {
109
+ reason: 'service-unreachable' | 'model-not-available';
110
+ endpoint: string;
111
+ model?: string;
112
+ availableModels?: readonly string[];
113
+ /**
114
+ * The 404 body did not speak this dialect, so "the model is missing" is
115
+ * a guess and the endpoint deserves naming too. Shapes the MESSAGE only;
116
+ * `reason` stays the discriminator consumers branch on.
117
+ */
118
+ routeUnconfirmed?: boolean;
119
+ cause?: unknown;
120
+ });
121
+ }
122
+ export interface FoundryLocalProviderOptions {
123
+ /**
124
+ * Where the Foundry Local service is listening — the ROOT url; this
125
+ * adapter appends `/v1/chat/completions`, `/foundry/list` and
126
+ * `/openai/models` itself. A URL ending in `/v1` is accepted and
127
+ * trimmed (the same courtesy `ollama()` extends to its 8.0.0 configs),
128
+ * and a bare `host:port` gets `http://`.
129
+ *
130
+ * Defaults to `FOUNDRY_LOCAL_ENDPOINT` when set, then
131
+ * `FOUNDRY_LOCAL_BASE_URL` — the second spelling is honored because
132
+ * our own demo taught it, and a config written for that demo should
133
+ * keep working — otherwise `http://localhost:5272`. Know that the
134
+ * default is only the docs' example port: Foundry Local picks a NEW
135
+ * port on every `foundry server start` unless one was pinned with
136
+ * `--port`, and `foundry server status` prints the live URL.
137
+ *
138
+ * A BLANK value anywhere in that chain — `ENV FOUNDRY_LOCAL_ENDPOINT=`
139
+ * in a Dockerfile, an empty compose value, `manager.urls = ['']` —
140
+ * counts as unset, not as the URL `http:`. The next candidate gets its
141
+ * turn.
142
+ */
143
+ readonly endpoint?: string;
144
+ /**
145
+ * A `foundry-local-sdk` `FoundryLocalManager`, duck-typed — this
146
+ * package never imports the SDK. When given, `manager.urls[0]` (the
147
+ * manager's discovered service URL) wins over the env vars and the
148
+ * default, so a consumer already using the SDK for model management
149
+ * gets the REAL dynamic port for free. An explicit `endpoint` still
150
+ * beats it — the most specific word wins.
151
+ */
152
+ readonly manager?: {
153
+ readonly urls?: readonly string[];
154
+ };
155
+ /**
156
+ * Model used when `LLMRequest.model` is the `'foundry-local'`
157
+ * shorthand. Prefer the positional form: `foundryLocal('qwen2.5-0.5b')`.
158
+ */
159
+ readonly defaultModel?: string;
160
+ /** Default token cap when the request doesn't set one. Maps to `max_tokens`. */
161
+ readonly defaultMaxTokens?: number;
162
+ /**
163
+ * How long to wait for the service to ANSWER, in ms. Default 10000.
164
+ *
165
+ * This bounds the wait for response headers, NOT generation: a laptop
166
+ * model may take minutes to finish a long answer and that is fine.
167
+ * What it prevents is the failure this whole file exists to avoid — a
168
+ * run that hangs because nothing is listening. Stopping a call that is
169
+ * already streaming is the caller's `AbortSignal`'s job, not this
170
+ * one's — and that signal is honored for the WHOLE call, body included.
171
+ */
172
+ readonly timeoutMs?: number;
173
+ /** @internal Custom fetch implementation for tests. */
174
+ readonly _fetch?: typeof fetch;
175
+ }
176
+ /**
177
+ * Build an `LLMProvider` backed by an on-device Foundry Local service.
178
+ *
179
+ * Free, offline, no API key. The rung between `mock()` and a paid API on
180
+ * a machine where Foundry Local is the local runtime — and the agent
181
+ * code above it does not change between the three.
182
+ *
183
+ * @example
184
+ * import { Agent } from 'agentfootprint';
185
+ * import { foundryLocal } from 'agentfootprint/providers';
186
+ *
187
+ * const agent = Agent.create({
188
+ * provider: foundryLocal('qwen2.5-0.5b'),
189
+ * model: 'qwen2.5-0.5b',
190
+ * }).build();
191
+ *
192
+ * @example // the service on its real (dynamic) port, via the SDK's manager
193
+ * foundryLocal('phi-3.5-mini', { manager });
194
+ *
195
+ * @example // a pinned port on another machine
196
+ * foundryLocal('qwen2.5-0.5b', { endpoint: 'http://192.168.1.20:5272' });
197
+ */
198
+ export declare function foundryLocal(model: string, options?: FoundryLocalProviderOptions): LLMProvider;
199
+ /**
200
+ * Object form, matching the shape every sibling factory accepts.
201
+ * `defaultModel` names the model; everything else keeps its meaning.
202
+ */
203
+ export declare function foundryLocal(options?: FoundryLocalProviderOptions): LLMProvider;
204
+ /**
205
+ * Class form for consumers who prefer `new FoundryLocalProvider(...)`.
206
+ */
207
+ export declare class FoundryLocalProvider implements LLMProvider {
208
+ readonly name = "foundry-local";
209
+ readonly carriesInMessages: readonly WireRole[];
210
+ readonly carriesForcedToolChoice = false;
211
+ private readonly inner;
212
+ constructor(model?: string | FoundryLocalProviderOptions, options?: FoundryLocalProviderOptions);
213
+ complete(req: LLMRequest, hooks?: LLMCallHooks): Promise<LLMResponse>;
214
+ stream(req: LLMRequest, hooks?: LLMCallHooks): AsyncIterable<LLMChunk>;
215
+ }
216
+ //# sourceMappingURL=FoundryLocalProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoundryLocalProvider.d.ts","sourceRoot":"","sources":["../../../../src/adapters/llm/FoundryLocalProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EAER,WAAW,EACX,UAAU,EACV,WAAW,EAEX,QAAQ,EACT,MAAM,aAAa,CAAC;AA0IrB;;;;;;;;;;GAUG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,SAAkB,IAAI,kCAAkC;IACxD,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CAAC;IAC/D,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEjC,IAAI,EAAE;QAChB,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CAAC;QACtD,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACpC;;;;WAIG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAQF;AAqCD,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC;CAChC;AA0BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,WAAW,CAAC;AAChG;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,WAAW,CAAC;AAoMjF;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IACtD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,iBAAiB,sBAAuB;IACjD,QAAQ,CAAC,uBAAuB,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAExB,KAAK,CAAC,EAAE,MAAM,GAAG,2BAA2B,EAAE,OAAO,CAAC,EAAE,2BAA2B;IAQ/F,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC;CAIvE"}