stable-harness 0.0.1
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 +32 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +2 -0
- package/dist/compat/agent-harness.d.ts +24 -0
- package/dist/compat/agent-harness.js +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +1 -0
- package/dist/runtime/compat/agent-harness-compat-runner.d.ts +2 -0
- package/dist/runtime/compat/agent-harness-compat-runner.js +1 -0
- package/dist/runtime/compat/json.d.ts +3 -0
- package/dist/runtime/compat/json.js +1 -0
- package/dist/runtime/compat/presentation.d.ts +1 -0
- package/dist/runtime/compat/presentation.js +1 -0
- package/dist/runtime/compat/prompts.d.ts +24 -0
- package/dist/runtime/compat/prompts.js +1 -0
- package/dist/runtime/compat/tool-registry.d.ts +3 -0
- package/dist/runtime/compat/tool-registry.js +1 -0
- package/dist/runtime/compat/types.d.ts +38 -0
- package/dist/runtime/compat/types.js +1 -0
- package/dist/runtime/model/ollama.d.ts +2 -0
- package/dist/runtime/model/ollama.js +1 -0
- package/dist/runtime/skills/skill-metadata.d.ts +7 -0
- package/dist/runtime/skills/skill-metadata.js +1 -0
- package/dist/runtime/workspace/types.d.ts +38 -0
- package/dist/runtime/workspace/types.js +1 -0
- package/dist/tools.d.ts +12 -0
- package/dist/tools.js +1 -0
- package/dist/workspace/compile.d.ts +2 -0
- package/dist/workspace/compile.js +1 -0
- package/package.json +94 -0
- package/packages/adapter-deepagents/dist/src/adapter.d.ts +8 -0
- package/packages/adapter-deepagents/dist/src/adapter.js +1 -0
- package/packages/adapter-deepagents/dist/src/builtin-tool-policy.d.ts +18 -0
- package/packages/adapter-deepagents/dist/src/builtin-tool-policy.js +1 -0
- package/packages/adapter-deepagents/dist/src/index.d.ts +2 -0
- package/packages/adapter-deepagents/dist/src/index.js +1 -0
- package/packages/adapter-deepagents/dist/src/messages.d.ts +9 -0
- package/packages/adapter-deepagents/dist/src/messages.js +1 -0
- package/packages/adapter-deepagents/dist/src/retry-policy.d.ts +2 -0
- package/packages/adapter-deepagents/dist/src/retry-policy.js +1 -0
- package/packages/adapter-deepagents/dist/src/stream-events.d.ts +2 -0
- package/packages/adapter-deepagents/dist/src/stream-events.js +1 -0
- package/packages/adapter-deepagents/dist/src/types.d.ts +6 -0
- package/packages/adapter-deepagents/dist/src/types.js +1 -0
- package/packages/adapter-deepagents/package.json +26 -0
- package/packages/cli/dist/src/cli.d.ts +2 -0
- package/packages/cli/dist/src/cli.js +2 -0
- package/packages/cli/dist/src/index.d.ts +1 -0
- package/packages/cli/dist/src/index.js +1 -0
- package/packages/cli/package.json +22 -0
- package/packages/core/dist/artifacts.d.ts +8 -0
- package/packages/core/dist/artifacts.js +1 -0
- package/packages/core/dist/execution-contract.d.ts +8 -0
- package/packages/core/dist/execution-contract.js +1 -0
- package/packages/core/dist/index.d.ts +9 -0
- package/packages/core/dist/index.js +1 -0
- package/packages/core/dist/inspection.d.ts +4 -0
- package/packages/core/dist/inspection.js +1 -0
- package/packages/core/dist/memory-plugins.d.ts +68 -0
- package/packages/core/dist/memory-plugins.js +1 -0
- package/packages/core/dist/queue.d.ts +2 -0
- package/packages/core/dist/queue.js +1 -0
- package/packages/core/dist/runtime.d.ts +12 -0
- package/packages/core/dist/runtime.js +1 -0
- package/packages/core/dist/stores.d.ts +3 -0
- package/packages/core/dist/stores.js +1 -0
- package/packages/core/dist/trace.d.ts +15 -0
- package/packages/core/dist/trace.js +1 -0
- package/packages/core/dist/types.d.ts +526 -0
- package/packages/core/dist/types.js +1 -0
- package/packages/core/package.json +17 -0
- package/packages/evaluation/dist/src/index.d.ts +2 -0
- package/packages/evaluation/dist/src/index.js +1 -0
- package/packages/evaluation/dist/src/trace.d.ts +16 -0
- package/packages/evaluation/dist/src/trace.js +1 -0
- package/packages/evaluation/dist/src/types.d.ts +11 -0
- package/packages/evaluation/dist/src/types.js +1 -0
- package/packages/evaluation/package.json +15 -0
- package/packages/governance/dist/src/approval-queue.d.ts +2 -0
- package/packages/governance/dist/src/approval-queue.js +1 -0
- package/packages/governance/dist/src/index.d.ts +4 -0
- package/packages/governance/dist/src/index.js +1 -0
- package/packages/governance/dist/src/policy-engine.d.ts +2 -0
- package/packages/governance/dist/src/policy-engine.js +1 -0
- package/packages/governance/dist/src/skill-candidates.d.ts +2 -0
- package/packages/governance/dist/src/skill-candidates.js +1 -0
- package/packages/governance/dist/src/types.d.ts +100 -0
- package/packages/governance/dist/src/types.js +1 -0
- package/packages/governance/package.json +12 -0
- package/packages/memory/dist/src/index.d.ts +9 -0
- package/packages/memory/dist/src/index.js +1 -0
- package/packages/memory/dist/src/langmem-service.d.ts +8 -0
- package/packages/memory/dist/src/langmem-service.js +1 -0
- package/packages/memory/dist/src/maintenance.d.ts +2 -0
- package/packages/memory/dist/src/maintenance.js +1 -0
- package/packages/memory/dist/src/persistence.d.ts +4 -0
- package/packages/memory/dist/src/persistence.js +1 -0
- package/packages/memory/dist/src/policy.d.ts +2 -0
- package/packages/memory/dist/src/policy.js +1 -0
- package/packages/memory/dist/src/provider.d.ts +50 -0
- package/packages/memory/dist/src/provider.js +1 -0
- package/packages/memory/dist/src/store.d.ts +5 -0
- package/packages/memory/dist/src/store.js +1 -0
- package/packages/memory/dist/src/types.d.ts +138 -0
- package/packages/memory/dist/src/types.js +1 -0
- package/packages/memory/package.json +12 -0
- package/packages/protocols/dist/src/http-server.d.ts +3 -0
- package/packages/protocols/dist/src/http-server.js +1 -0
- package/packages/protocols/dist/src/in-process-client.d.ts +2 -0
- package/packages/protocols/dist/src/in-process-client.js +1 -0
- package/packages/protocols/dist/src/index.d.ts +4 -0
- package/packages/protocols/dist/src/index.js +1 -0
- package/packages/protocols/dist/src/openai-compatible.d.ts +9 -0
- package/packages/protocols/dist/src/openai-compatible.js +1 -0
- package/packages/protocols/package.json +15 -0
- package/packages/tool-gateway/dist/src/argument-guard.d.ts +32 -0
- package/packages/tool-gateway/dist/src/argument-guard.js +1 -0
- package/packages/tool-gateway/dist/src/in-memory.d.ts +4 -0
- package/packages/tool-gateway/dist/src/in-memory.js +1 -0
- package/packages/tool-gateway/dist/src/index.d.ts +7 -0
- package/packages/tool-gateway/dist/src/index.js +1 -0
- package/packages/tool-gateway/dist/src/module-loader.d.ts +13 -0
- package/packages/tool-gateway/dist/src/module-loader.js +1 -0
- package/packages/tool-gateway/dist/src/types.d.ts +65 -0
- package/packages/tool-gateway/dist/src/types.js +1 -0
- package/packages/tool-gateway/package.json +15 -0
- package/packages/workspace-yaml/dist/index.d.ts +1 -0
- package/packages/workspace-yaml/dist/index.js +1 -0
- package/packages/workspace-yaml/dist/loader.d.ts +2 -0
- package/packages/workspace-yaml/dist/loader.js +1 -0
- package/packages/workspace-yaml/package.json +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./loader.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./loader.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{readdir as e,readFile as t}from"node:fs/promises";import o from"node:path";import{parseAllDocuments as r}from"yaml";async function n(t){const r=await e(t,{withFileTypes:!0});return(await Promise.all(r.map(async e=>{const r=o.join(t,e.name);return e.isDirectory()?n(r):e.isFile()&&/\.ya?ml$/iu.test(e.name)?[r]:[]}))).flat().sort()}function i(e,t){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(`${t} must be an object`);return e}function s(e,t){const o=e.metadata?.name;if("string"==typeof o&&o.trim())return o.trim();if(t)return t;throw new Error(`Document kind ${String(e.kind)} requires metadata.name`)}function a(e){const t=e.metadata?.description;return"string"==typeof t&&t.trim()?t.trim():void 0}function c(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e&&e.trim().length>0):[]}function p(e){if("string"!=typeof e)return e;const t=e.match(/^\$\{env:([A-Za-z_][A-Za-z0-9_]*)(?::-(.*))?\}$/u);return t?process.env[t[1]]??t[2]??"":e}function m(e){const t=i(e.spec,"Runtime.spec"),o=i(t.routing??{},"Runtime.spec.routing");return{defaultAgentId:"string"==typeof o.defaultAgentId&&o.defaultAgentId.trim()?o.defaultAgentId.trim():"orchestra",...b(t.workspaceId)?{workspaceId:b(t.workspaceId)}:{},...b(t.profile)?{profile:b(t.profile)}:{},..."object"==typeof t.approvals&&t.approvals?{approvals:t.approvals}:{},..."object"==typeof t.recovery&&t.recovery?{recovery:t.recovery}:{},..."object"==typeof t.retry&&t.retry?{retry:t.retry}:{},..."object"==typeof t.memory&&t.memory?{memory:t.memory}:{},..."object"==typeof t.protocols&&t.protocols?{protocols:t.protocols}:{}}}function l(e,t){const o=i(e.spec,"Agent.spec"),r=s(e),n="string"==typeof o.backend&&o.backend.trim()?o.backend.trim():"deepagents",p="object"==typeof o.config&&o.config?o.config:{},m="string"==typeof o.systemPrompt?o.systemPrompt:"string"==typeof p.systemPrompt?p.systemPrompt:void 0;return{id:r,...a(e)?{description:a(e)}:{},sourcePath:t,backend:"deepagent"===n?"deepagents":n,..."string"==typeof o.modelRef&&o.modelRef.trim()?{modelRef:(l=o.modelRef,l.replace(/^[^/]+\//u,""))}:{},...void 0!==m?{systemPrompt:m}:{},tools:c(o.tools),skills:c(o.skills),memory:Array.isArray(o.memory)?o.memory:[],subagents:c(o.subagents),config:p};var l}function f(e,t){const o="string"==typeof e.name&&e.name.trim()?e.name.trim():t??"default",r=p(e.provider),n=p(e.model),i="string"==typeof r&&r.trim()?r.trim():"unknown",s="string"==typeof n&&n.trim()?n.trim():o,a={...e};return delete a.name,delete a.provider,delete a.model,{id:o,provider:i,model:s,config:Object.fromEntries(Object.entries(a).map(([e,t])=>[e,p(t)]))}}function d(e){return f(i(e.spec,"Model.spec"),s(e))}function u(e){const t=i(e.spec,"Tool.spec");return{id:s(e),..."string"==typeof t.description?{description:t.description}:{},...void 0!==t.schema?{schema:t.schema}:{},..."string"==typeof t.implementation?{implementation:t.implementation}:{}}}function y(e){const t=i(e.spec,"Memory.spec"),o=s(e),r={...t};return delete r.provider,delete r.profile,delete r.mode,delete r.enabled,delete r.prompts,{id:o,provider:b(t.provider)??"langmem",...b(t.profile)?{profile:b(t.profile)}:{},...b(t.mode)?{mode:b(t.mode)}:{},enabled:!1!==t.enabled,..."object"==typeof t.prompts&&t.prompts?{prompts:g(t.prompts)}:{},...Object.keys(r).length>0?{config:r}:{}}}function g(e){const t=i(e,"Memory.spec.prompts");return{...b(t.semantic)?{semantic:b(t.semantic)}:{},...b(t.episodic)?{episodic:b(t.episodic)}:{},...b(t.procedural)?{procedural:b(t.procedural)}:{}}}function b(e){return"string"==typeof e&&e.trim()?e.trim():void 0}export async function loadWorkspaceFromYaml(i){const s=o.join(i,"config"),a=await n(s),p=[],g=new Map,w=new Map,h=new Map,A=new Map,k=new Map;for(const e of a){const o=await t(e,"utf8"),n=r(o).map(e=>e.toJSON()).filter(e=>null!==e);for(const t of n)if("string"==typeof t.kind)switch(t.kind){case"Runtime":p.push(m(t));break;case"Agent":{const o=l(t,e);g.set(o.id,o);break}case"Model":{const e=d(t);w.set(e.id,e);break}case"Models":if(Array.isArray(t.spec))for(const e of t.spec)if("object"==typeof e&&null!==e&&!Array.isArray(e)){const t=f(e);w.set(t.id,t)}break;case"Tool":{const e=u(t);h.set(e.id,e);break}case"Memory":{const e=y(t);k.set(e.id,e);break}}}for(const r of await async function(r){const n=o.join(r,"resources","tools");let i;try{i=await e(n,{withFileTypes:!0})}catch{return[]}return(await Promise.all(i.filter(e=>e.isFile()&&e.name.endsWith(".mjs")&&!e.name.startsWith("_")).map(e=>async function(e){const r=[...(await t(e,"utf8")).matchAll(/export\s+const\s+([A-Za-z_][A-Za-z0-9_]*)\s*=\s*tool\s*\(/gu)].map(e=>e[1]).filter(e=>"default"!==e);return(r.length>0?r:[o.basename(e,".mjs")]).map(t=>({id:t,sourcePath:e}))}(o.join(n,e.name))))).flat()}(i))h.has(r.id)||h.set(r.id,r);for(const n of await async function(n){const i=o.join(n,"resources","skills");let s;try{s=await e(i,{withFileTypes:!0})}catch{return[]}return(await Promise.all(s.filter(e=>e.isDirectory()).map(e=>async function(e,n){const i=o.join(e,"SKILL.md");let s;try{s=await t(i,"utf8")}catch{return}const a=function(e){const t=e.match(/^---\n([\s\S]*?)\n---/u);if(!t)return{};const o=r(t[1]).at(0)?.toJSON();return"object"!=typeof o||null===o||Array.isArray(o)?{}:o}(s);return{id:b(a.name)??n,path:i,...b(a.description)?{description:b(a.description)}:{},allowedTools:c(a["allowed-tools"])}}(o.join(i,e.name),e.name)))).filter(e=>Boolean(e))}(i))A.set(n.id,n);return{root:i,runtime:p.at(-1)??{defaultAgentId:"orchestra"},agents:g,models:w,tools:h,skills:A,memories:k}}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stable-harness/workspace-yaml",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist/**/*.js",
|
|
7
|
+
"dist/**/*.d.ts",
|
|
8
|
+
"package.json"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@stable-harness/core": "0.0.1"
|
|
15
|
+
}
|
|
16
|
+
}
|