orc-ai 0.1.31 → 0.1.34

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 (95) hide show
  1. package/README.md +28 -4
  2. package/dist/index.js +1148 -395
  3. package/dist/skills/orc-bugfix/SKILL.md +116 -0
  4. package/dist/skills/orc-coder/SKILL.md +117 -0
  5. package/dist/skills/orc-gateway/SKILL.md +101 -0
  6. package/dist/skills/orc-git-flow/SKILL.md +86 -0
  7. package/dist/skills/orc-handoff/SKILL.md +86 -0
  8. package/dist/skills/orc-handoff/scripts/upload-session.py +75 -0
  9. package/dist/skills/orc-knowledge/SKILL.md +147 -0
  10. package/dist/skills/orc-main-base/SKILL.md +109 -0
  11. package/dist/skills/orc-memory/SKILL.md +163 -0
  12. package/dist/skills/orc-memory-review/SKILL.md +16 -0
  13. package/dist/skills/orc-planner/SKILL.md +117 -0
  14. package/dist/skills/orc-report/SKILL.md +90 -0
  15. package/dist/skills/orc-requirements/SKILL.md +107 -0
  16. package/dist/skills/orc-reviewer/SKILL.md +150 -0
  17. package/dist/skills/orc-session/SKILL.md +98 -0
  18. package/dist/skills/orc-tasks/SKILL.md +108 -0
  19. package/dist/skills/orc-wiki/SKILL.md +15 -0
  20. package/dist/skills/orc-worker-base/SKILL.md +156 -0
  21. package/dist/web/assets/FileEditor-L_GU75WT.js +1 -0
  22. package/dist/web/assets/SourceEditor-CBfp50r2.js +14 -0
  23. package/dist/web/assets/{abnfDiagram-VCTEODGH-BoMZOsal.js → abnfDiagram-VCTEODGH-C6veTbhh.js} +1 -1
  24. package/dist/web/assets/arc-npOpSJyq.js +1 -0
  25. package/dist/web/assets/{architectureDiagram-5GKGNRK7-CLIC4R3M.js → architectureDiagram-5GKGNRK7-2HiAOiQm.js} +2 -2
  26. package/dist/web/assets/{blockDiagram-I7D4REHJ-CdWBkS7i.js → blockDiagram-I7D4REHJ-CkWnDidK.js} +4 -4
  27. package/dist/web/assets/{c4Diagram-7LVT6UL2-BZEprxck.js → c4Diagram-7LVT6UL2-DzsBLSjE.js} +1 -1
  28. package/dist/web/assets/channel-ChxJxoPS.js +1 -0
  29. package/dist/web/assets/{chunk-2Q5K7J3B-DSKyLqgX.js → chunk-2Q5K7J3B-CwxiJMoU.js} +1 -1
  30. package/dist/web/assets/{chunk-5VM5RSS4-BU5Ia_Zx.js → chunk-5VM5RSS4-C9RTV_e0.js} +1 -1
  31. package/dist/web/assets/{chunk-F27PBJKO-BO46jCzc.js → chunk-F27PBJKO-DAaDh_Ml.js} +1 -1
  32. package/dist/web/assets/{chunk-IMKFNOWR-DXVUP8VZ.js → chunk-IMKFNOWR-oiDPR2aH.js} +1 -1
  33. package/dist/web/assets/{chunk-JWPE2WC7-DPovEURl.js → chunk-JWPE2WC7-D1jKFDr2.js} +1 -1
  34. package/dist/web/assets/{chunk-POPQ4Y6H-BAjXk_cY.js → chunk-POPQ4Y6H-DitejAMK.js} +1 -1
  35. package/dist/web/assets/{chunk-SVP7TREG-BbmgDsVa.js → chunk-SVP7TREG-Dry3jpj3.js} +4 -4
  36. package/dist/web/assets/{chunk-TICWLB2K-D__yk3_8.js → chunk-TICWLB2K-JUXAhcFd.js} +2 -2
  37. package/dist/web/assets/chunk-XXDRQBXY-6wgUfzQH.js +1 -0
  38. package/dist/web/assets/classDiagram-ZZMXUADV-ABoavWk1.js +1 -0
  39. package/dist/web/assets/classDiagram-v2-VYDZK3BY-ABoavWk1.js +1 -0
  40. package/dist/web/assets/{cose-bilkent-JH36ORCC-DBIetk9t.js → cose-bilkent-JH36ORCC-87PnCJEc.js} +1 -1
  41. package/dist/web/assets/{cynefin-OW5HDTMX-CURzzcAU.js → cynefin-OW5HDTMX-B-wATVv-.js} +1 -1
  42. package/dist/web/assets/{cynefinDiagram-5FMLGOSQ-CWaHfsZ-.js → cynefinDiagram-5FMLGOSQ-BRcl6eW9.js} +2 -2
  43. package/dist/web/assets/{dagre-GXQ25YYZ-CMP7VfLG.js → dagre-GXQ25YYZ-BEaQ_fXA.js} +2 -2
  44. package/dist/web/assets/{diagram-S7CK7UJ4-DIrD-ND8.js → diagram-S7CK7UJ4-DXg30yKg.js} +4 -4
  45. package/dist/web/assets/diagram-UQ7AKVKN-B2xTfPBB.js +41 -0
  46. package/dist/web/assets/{diagram-VSXAHHWV-C668Qsg6.js → diagram-VSXAHHWV-liCEHREh.js} +3 -3
  47. package/dist/web/assets/{diagram-VX7I27RA-C2aDctm_.js → diagram-VX7I27RA-D6zSia8j.js} +2 -2
  48. package/dist/web/assets/{diagram-Z3DM3KII-Bz5EjVft.js → diagram-Z3DM3KII-Bkz8uM1N.js} +2 -2
  49. package/dist/web/assets/{ebnfDiagram-PWID7BFC-CwPUwbvM.js → ebnfDiagram-PWID7BFC-p94ShKlh.js} +1 -1
  50. package/dist/web/assets/{erDiagram-RLTQ6QDP-DcDsk0Et.js → erDiagram-RLTQ6QDP-DLlk_GdL.js} +1 -1
  51. package/dist/web/assets/{flowDiagram-HODETNUW-DiqmTcf8.js → flowDiagram-HODETNUW-JTBl3cFA.js} +1 -1
  52. package/dist/web/assets/{ganttDiagram-EL5Y4UJY-C5yVxABI.js → ganttDiagram-EL5Y4UJY-CWut_oZu.js} +4 -4
  53. package/dist/web/assets/{gitGraphDiagram-WWUBYQGX-CskKB9_l.js → gitGraphDiagram-WWUBYQGX-YxNuKt4D.js} +11 -11
  54. package/dist/web/assets/{highlighted-body-KPVGNVTW-FCmuFog7.js → highlighted-body-KPVGNVTW-Bqwygq3Z.js} +1 -1
  55. package/dist/web/assets/index-BSMDvuoy.css +1 -0
  56. package/dist/web/assets/index-q4PKnTK3.js +1361 -0
  57. package/dist/web/assets/{infoDiagram-27XIBGKW-DA3uyi09.js → infoDiagram-27XIBGKW-DacMneAQ.js} +1 -1
  58. package/dist/web/assets/{ishikawaDiagram-5VMMS53U-sq0Y-reT.js → ishikawaDiagram-5VMMS53U-BEIkH7td.js} +6 -6
  59. package/dist/web/assets/{journeyDiagram-3NMN7TZE-sZFnrITK.js → journeyDiagram-3NMN7TZE-DBFMtw5a.js} +1 -1
  60. package/dist/web/assets/{kanban-definition-UXKFOSKX-DFA61kHr.js → kanban-definition-UXKFOSKX-C40yDhY1.js} +2 -2
  61. package/dist/web/assets/{layout-DWH3Uq0C.js → layout-BLK70bgi.js} +1 -1
  62. package/dist/web/assets/{linear-CVvCYiAa.js → linear-u4L6Os64.js} +1 -1
  63. package/dist/web/assets/{mindmap-definition-YA3MSWOX-DIxw7PIJ.js → mindmap-definition-YA3MSWOX-CEJH7zEI.js} +3 -3
  64. package/dist/web/assets/{pegDiagram-XKGWAZYB-D3My9y4e.js → pegDiagram-XKGWAZYB-BMErgyMk.js} +1 -1
  65. package/dist/web/assets/pieDiagram-E7YTZNPT-CINgK4t3.js +39 -0
  66. package/dist/web/assets/{quadrantDiagram-AXDQQJYC-seZjV8O_.js → quadrantDiagram-AXDQQJYC-BIWYQhFI.js} +1 -1
  67. package/dist/web/assets/{railroadDiagram-O6MQD6OU-7x7EOXeC.js → railroadDiagram-O6MQD6OU-j1Y4xGJf.js} +1 -1
  68. package/dist/web/assets/{requirementDiagram-BXWQKSXE-dZqOaHAk.js → requirementDiagram-BXWQKSXE-Dfxf6QMd.js} +1 -1
  69. package/dist/web/assets/{sankeyDiagram-P5KCCOFB-dtJDUnaJ.js → sankeyDiagram-P5KCCOFB-BSqqroQR.js} +2 -2
  70. package/dist/web/assets/{sequenceDiagram-WJ2MYXX4-BmHbHxOy.js → sequenceDiagram-WJ2MYXX4-B2uw9lIz.js} +4 -4
  71. package/dist/web/assets/{sizeCapture-INFHLROL-_2CYTyhb.js → sizeCapture-INFHLROL-BN4LDiAT.js} +1 -1
  72. package/dist/web/assets/stateDiagram-D77RDMKH-BDH3Zt-N.js +1 -0
  73. package/dist/web/assets/stateDiagram-v2-MP3YSRHH-J40BXTJa.js +1 -0
  74. package/dist/web/assets/{swimlanes-42K2YHIH-Bxbb2UGA.js → swimlanes-42K2YHIH-DhSjWXDg.js} +1 -1
  75. package/dist/web/assets/swimlanesDiagram-VR7AAH4N-BR8GCBcj.js +8 -0
  76. package/dist/web/assets/{timeline-definition-24CTP7MA-x9B0Tgt0.js → timeline-definition-24CTP7MA-B2GMK_El.js} +8 -8
  77. package/dist/web/assets/{vennDiagram-4TSXK5OY-DHRMXqJX.js → vennDiagram-4TSXK5OY-CnM_Mi8-.js} +5 -5
  78. package/dist/web/assets/{wardleyDiagram-VM6X3IG4-D8X0bsKw.js → wardleyDiagram-VM6X3IG4-BTk-2N68.js} +4 -4
  79. package/dist/web/assets/{xychartDiagram-S5SC5T6Z-Ch__ZmFS.js → xychartDiagram-S5SC5T6Z-Ci-6nbSg.js} +3 -3
  80. package/dist/web/index.html +2 -2
  81. package/package.json +7 -3
  82. package/dist/web/assets/FileEditor-BL6Ktjgt.js +0 -1
  83. package/dist/web/assets/SourceEditor-DR6ZsCvb.js +0 -43
  84. package/dist/web/assets/arc-CP0H0HkE.js +0 -1
  85. package/dist/web/assets/channel-BdSvgmGU.js +0 -1
  86. package/dist/web/assets/chunk-XXDRQBXY-B2CkQoJH.js +0 -1
  87. package/dist/web/assets/classDiagram-ZZMXUADV-CIE_hUlo.js +0 -1
  88. package/dist/web/assets/classDiagram-v2-VYDZK3BY-CIE_hUlo.js +0 -1
  89. package/dist/web/assets/diagram-UQ7AKVKN-Ck0KfTY6.js +0 -41
  90. package/dist/web/assets/index-B71tZPcx.css +0 -1
  91. package/dist/web/assets/index-CLW6N7v0.js +0 -1199
  92. package/dist/web/assets/pieDiagram-E7YTZNPT-vnthudhw.js +0 -39
  93. package/dist/web/assets/stateDiagram-D77RDMKH-ByjPSYC_.js +0 -1
  94. package/dist/web/assets/stateDiagram-v2-MP3YSRHH-BWLm_iOS.js +0 -1
  95. package/dist/web/assets/swimlanesDiagram-VR7AAH4N-DALKgwME.js +0 -8
package/README.md CHANGED
@@ -136,7 +136,7 @@ The web dashboard ships inside the `orc` binary and is served by the API process
136
136
  | `GET /api/*` | All REST routes |
137
137
  | `GET /openapi.json`, `GET /docs` | Swagger UI |
138
138
  | `GET /mcp` | MCP server (streamable HTTP) |
139
- | `GET /tasks/<id>`, `/flows/<name>`, … | `index.html` again - a navigation request matching no static file falls back to the SPA shell, so dashboard links are shareable |
139
+ | `GET /tasks/<id>`, `/knowledge`, … | `index.html` again - a navigation request matching no static file falls back to the SPA shell, so dashboard links are shareable |
140
140
 
141
141
  Override the served dist directory with `ORC_WEB_DIST=/path/to/web/dist` if you want to host a custom build (e.g. a fork). If no dist is found, the server runs in pure-API mode.
142
142
 
@@ -340,6 +340,12 @@ orc doctor --json # same, machine-readable
340
340
 
341
341
  The dashboard shows the same probe: the agent-backend field on a task is a picker that marks each backend ready or unavailable, and names the one a task with no backend of its own will use. `GET /api/backends` is the endpoint behind both.
342
342
 
343
+ Standalone executables embed the SDK adapter, but its native Claude executable is
344
+ external. Install Claude Code on `PATH` to use `claude` in a standalone build; an
345
+ API key alone does not supply that executable. The npm distribution uses the SDK's
346
+ installed optional executable. Windows npm shims require their `cli.js` and Node
347
+ or Bun; missing executable prerequisites are reported before launching a session.
348
+
343
349
  Enable the task loop in `~/.orc/config.json`:
344
350
 
345
351
  ```json
@@ -596,9 +602,19 @@ orc skill validate ./my-workflow
596
602
  orc skill export my-workflow ./exported/my-workflow
597
603
  ```
598
604
 
605
+ Import public GitHub skills from **Skills → Import from GitHub**. Paste a repository URL, `owner/repo`, a GitHub skill-folder URL, or a `https://skills.sh/owner/repo/skill` link, discover the skills, then select which to import. ORC copies each complete folder at the displayed commit, including nested documentation, scripts and binary assets. Existing names are never overwritten by an import. Select up to 16 skills per import (64 MiB total).
606
+
607
+ ```bash
608
+ orc skill import vercel-labs/agent-skills --list
609
+ orc skill import vercel-labs/agent-skills --skill web-design-guidelines
610
+ orc skill sync web-design-guidelines
611
+ ```
612
+
613
+ Imported skills remain editable: open the skill, choose `SKILL.md` or a supporting text file, then **Edit** and **Save changes**. **Sync from GitHub** fetches the source again and compares each file against its last imported version. Local edits are kept when upstream has not changed that file. If both sides changed the same file, the whole sync pauses and lists conflicts. **Review override → Replace listed files** requires confirmation and replaces only those conflicts with upstream versions; unrelated local edits remain. If the local files or upstream commit changed since review, ORC requires a new sync check. Sync retains the previous folder under `~/.orc/skill-sync-backups/`; import provenance and upstream baselines live under `~/.orc/skill-imports/`. These backups are retained until manually removed. Private repositories and non-GitHub sources are not supported by this importer.
614
+
599
615
  The dashboard can import a skill folder or add supporting files individually, then open each file from the detail sheet. API `POST /api/skills` and MCP `skill_create` accept optional `files: [{ path, content, encoding? }]` alongside `name` and the full `SKILL.md` `content`. Encoding defaults to `utf8`. Bundles allow 512 supporting files, 8 MiB per file and 16 MiB total. Paths must stay inside the skill folder; symlinks are excluded and cannot be read. The legacy `references` inventory is retained for existing clients. Worker prompts include the skill's entry path and file inventory so relative links resolve from the skill directory.
600
616
 
601
- ### Shared agents and APM packages
617
+ ### Shared agents and portable packages
602
618
 
603
619
  ORC shares authored definitions across coding agents through one library. An agent profile describes the specialist; a backend selects the coding agent that runs it. Profiles use [APM's `.agent.md` format](https://microsoft.github.io/apm/producer/author-primitives/instructions-and-agents/): YAML frontmatter with a required `description`, optional `name`, `model`, `tools`, `color`, and `handoffs`, followed by Markdown instructions. Unknown agent fields are preserved. Standalone profiles live in `~/.orc/agents/`; project profiles in `.apm/agents/` override matching shared IDs.
604
620
 
@@ -621,7 +637,9 @@ Select a shared profile independently of its backend in an ORC flow:
621
637
 
622
638
  The same profile instructions and relative file locations reach every backend. Pinned models are supported by Claude SDK, Claude CLI, Codex CLI, and ACPX. Tool allowlists are enforced by Claude SDK and Claude CLI; other adapters reject profiles declaring tool restrictions. Unsupported model/tool settings fail before launch. Tool names and model IDs must be valid for the selected coding agent. Explicit session/flow model choices override the profile's model. Handoffs remain authored declarations; ORC flow edges control execution. Package instructions without `applyTo` are included automatically; scoped instructions retain their original glob strings or arrays in an on-demand index, which the coding agent applies when working on matching files.
623
639
 
624
- The dashboard's Agents page imports packages and creates/reads profiles. API `/api/agents` and `/api/agent-packages`, SDK clients, CLI, and MCP all access the same files. MCP tools are `agent_list`, `agent_read`, `agent_create`, `agent_package_list`, `agent_package_read`, and `agent_package_import`. Package agent IDs are namespaced as `<package>/<file-stem>`.
640
+ The dashboard's **Packages** page imports OpenAPM and portable Agent Plugins v1.0.0 folders, inspects/exports their files, and saves reusable agent setups. **Run with → Open in ORC terminal** prepares the selected packages through Microsoft APM or Vercel skills, then opens the coding agent. Deployment persists in the chosen project; normal upstream trust and authentication prompts remain. Whole portable plugins activate through APM/Copilot; skills-only plugins can use Vercel with Claude, Codex or Copilot. See [Reusable agent packages](docs/agent-packages.md) for requirements and supported combinations.
641
+
642
+ The **Agents** page creates/reads specialist profiles. API `/api/agents` and `/api/agent-packages`, SDK clients, CLI, and MCP all access the same files. MCP tools are `agent_list`, `agent_read`, `agent_create`, `agent_package_list`, `agent_package_read`, and `agent_package_import`. Package agent IDs are namespaced as `<package>/<file-stem>`.
625
643
 
626
644
  ## MCP tools
627
645
 
@@ -724,7 +742,7 @@ ORC merges config in priority order (later wins):
724
742
  | `ORC_API_HOST` | `127.0.0.1` | API listen host (set to `0.0.0.0` in Docker) |
725
743
  | `ORC_API_PORT` | `7700` | API listen port |
726
744
  | `ORC_API_SECRET` | - | Bearer token for auth |
727
- | `ORC_TERMINALS_ALLOW_WITHOUT_SECRET` | `false` | Allow dashboard Terminals with no API secret (loopback-bound API only) |
745
+ | `ORC_TERMINALS_ALLOW_WITHOUT_SECRET` | `false` | Legacy option; no longer needed. Terminals follow API open/authenticated mode |
728
746
  | `ORC_TELEGRAM_TOKEN` | - | Enables the Telegram gateway when set |
729
747
  | `AGENTAPI_URL` | `http://127.0.0.1:3284` | URL of host agentapi server (for `agentapi` backend) |
730
748
  | `ANTHROPIC_API_KEY` | - | Required for the `claude` backend (Anthropic SDK) |
@@ -820,8 +838,14 @@ See [AGENTS.md](./AGENTS.md) for the full development guide and coding conventio
820
838
 
821
839
  ## Learn more
822
840
 
841
+ - [Evolving Wiki](./docs/evolving-wiki.md) - cited retrieval, automatic session consolidation, evaluated skill promotion, and human revert
842
+ - [Agent Rules](./docs/agent-rules.md) - opt-in tool protection, revision history, deterministic job actions, and evidence-based skill evaluation
823
843
  - [Usage Guide](./docs/usage-guide.md) - best practices for memory, tasks, multi-agent workflows, and configuration
824
844
  - [Vision](./docs/vision.md) - why ORC exists and the problem it solves
825
845
  - [Roadmap](./docs/roadmap.md) - what shipped and what's next
826
846
  - [Agent Orchestration Design](./docs/agent-orchestration-design.md) - architecture spec for the task loop and multi-agent workflow
827
847
  - [Task Flows](./docs/task-flows.md) - flow graphs: nodes, conditional edges, bounded loops, fan-out and joins, and how to author your own
848
+
849
+ ### Knowledge learning
850
+
851
+ Session review and a daily digest compile verified notes into wiki lessons and edited skills. Reuse them through ordinary wiki/KB search and skill reads. The dashboard shows learning history, audit records and manual skill revert. See [Knowledge learning loop](docs/knowledge-loop.md) for scopes, scheduling and validation limits.