oh-my-knowledge 1.0.0-beta.13 → 1.0.0-beta.14
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 +23 -144
- package/README.zh.md +23 -144
- package/dist/assets/agent-skills/omk/SKILL.md +6 -8
- package/dist/assets/agent-skills/omk/references/commands.md +24 -128
- package/dist/cli/commands/eval/index.d.ts +0 -1
- package/dist/cli/commands/eval/index.js +0 -6
- package/dist/cli/commands/evolve.js +5 -43
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/install.d.ts +1 -1
- package/dist/cli/commands/install.js +25 -55
- package/dist/cli/commands/observe/index.d.ts +0 -1
- package/dist/cli/commands/observe/index.js +2 -60
- package/dist/cli/commands/observe/knowledge.d.ts +8 -0
- package/dist/cli/commands/observe/knowledge.js +58 -12
- package/dist/cli/commands/studio.js +2 -6
- package/dist/cli/lib/cell-format.d.ts +1 -5
- package/dist/cli/lib/cell-format.js +1 -5
- package/dist/cli/lib/i18n-dict/common.d.ts +1 -1
- package/dist/cli/lib/i18n-dict/common.js +0 -8
- package/dist/cli/lib/i18n-dict/evolve.d.ts +1 -1
- package/dist/cli/lib/i18n-dict/evolve.js +2 -6
- package/dist/cli/lib/i18n-dict/install.d.ts +1 -1
- package/dist/cli/lib/i18n-dict/install.js +2 -6
- package/dist/cli/lib/i18n-dict.d.ts +1 -4
- package/dist/cli/lib/i18n-dict.js +0 -6
- package/dist/cli/lib/prepare-evaluation.js +1 -1
- package/dist/cli/lib/resolve-skill-input.d.ts +0 -1
- package/dist/cli/lib/run-core-evaluation.js +0 -12
- package/dist/dsh-plugin/core-command.js +1 -8
- package/dist/dsh-plugin/index.js +0 -1
- package/dist/eval-core/analysis/bootstrap.d.ts +1 -1
- package/dist/eval-workflows/hosts/application.d.ts +4 -10
- package/dist/eval-workflows/hosts/application.js +2 -17
- package/dist/eval-workflows/hosts/carrier-measurement.d.ts +18 -0
- package/dist/eval-workflows/hosts/carrier-measurement.js +249 -0
- package/dist/eval-workflows/hosts/composition/evolution-evaluation.js +0 -1
- package/dist/eval-workflows/hosts/input-resolution/node-cli-evaluation-resolver.js +0 -1
- package/dist/{cli/lib/evaluation-composition.d.ts → eval-workflows/hosts/node-environment.d.ts} +1 -1
- package/dist/{cli/lib/evaluation-composition.js → eval-workflows/hosts/node-environment.js} +1 -1
- package/dist/eval-workflows/input-compilation/compile.js +0 -2
- package/dist/eval-workflows/input-compilation/parse.js +0 -6
- package/dist/eval-workflows/input-compilation/registry.d.ts +1 -1
- package/dist/eval-workflows/input-compilation/registry.js +0 -3
- package/dist/eval-workflows/input-compilation/types.d.ts +2 -4
- package/dist/eval-workflows/input-compilation/types.js +2 -2
- package/dist/eval-workflows/inputs/contracts/sample.d.ts +2 -2
- package/dist/eval-workflows/instruments/prompts/judge-prompts.js +1 -1
- package/dist/eval-workflows/orchestration/evaluation-service.d.ts +2 -0
- package/dist/eval-workflows/orchestration/evaluation-service.js +4 -0
- package/dist/eval-workflows/projections/carrier-measurement.d.ts +72 -0
- package/dist/eval-workflows/projections/contracts.d.ts +1 -46
- package/dist/eval-workflows/projections/contracts.js +0 -1
- package/dist/eval-workflows/projections/index.d.ts +0 -1
- package/dist/eval-workflows/projections/index.js +0 -1
- package/dist/evidence/storage/directories.d.ts +2 -2
- package/dist/evidence/storage/directories.js +4 -4
- package/dist/evidence/storage/layout.d.ts +0 -2
- package/dist/evidence/storage/layout.js +0 -3
- package/dist/knowledge/entities/contracts.d.ts +327 -0
- package/dist/knowledge/entities/contracts.js +42 -0
- package/dist/knowledge/entities/history.d.ts +4 -0
- package/dist/knowledge/entities/history.js +61 -0
- package/dist/knowledge/entities/identity.d.ts +48 -0
- package/dist/knowledge/entities/identity.js +101 -0
- package/dist/knowledge/entities/validation.d.ts +6 -0
- package/dist/knowledge/entities/validation.js +62 -0
- package/dist/knowledge/history.js +1 -1
- package/dist/knowledge/library/contracts.d.ts +161 -0
- package/dist/knowledge/library/contracts.js +38 -0
- package/dist/knowledge/library/history.d.ts +3 -0
- package/dist/knowledge/library/history.js +46 -0
- package/dist/knowledge/store.d.ts +9 -1
- package/dist/knowledge/store.js +2 -1
- package/dist/knowledge/tags.d.ts +12 -0
- package/dist/knowledge/tags.js +6 -0
- package/dist/knowledge-artifacts/authoring/core-evolver.d.ts +0 -1
- package/dist/knowledge-artifacts/authoring/core-evolver.js +1 -1
- package/dist/knowledge-artifacts/authoring/knowledge-content.d.ts +19 -0
- package/dist/knowledge-artifacts/authoring/knowledge-content.js +151 -0
- package/dist/knowledge-artifacts/authoring/knowledge-review.d.ts +9 -0
- package/dist/knowledge-artifacts/authoring/knowledge-review.js +38 -0
- package/dist/knowledge-artifacts/authoring/library-contracts.d.ts +98 -0
- package/dist/knowledge-artifacts/authoring/library-contracts.js +1 -0
- package/dist/knowledge-artifacts/authoring/library.d.ts +18 -0
- package/dist/knowledge-artifacts/authoring/library.js +159 -0
- package/dist/knowledge-artifacts/doctor/messages.js +6 -6
- package/dist/knowledge-artifacts/doctor/rules.d.ts +1 -1
- package/dist/knowledge-artifacts/doctor/rules.js +1 -1
- package/dist/knowledge-artifacts/sources/artifact-resolution.js +2 -4
- package/dist/knowledge-artifacts/sources/content-hash.js +1 -1
- package/dist/knowledge-artifacts/sources/install-source.d.ts +4 -14
- package/dist/knowledge-artifacts/sources/install-source.js +6 -14
- package/dist/knowledge-artifacts/sources/materialize-copy.d.ts +1 -1
- package/dist/observability/analysis/gap-analyzer.d.ts +1 -1
- package/dist/observability/analysis/gap-analyzer.js +1 -1
- package/dist/observability/application.d.ts +9 -0
- package/dist/observability/application.js +6 -0
- package/dist/observability/knowledge-extraction/adapters/entity-store.d.ts +12 -0
- package/dist/observability/knowledge-extraction/adapters/entity-store.js +94 -0
- package/dist/observability/knowledge-extraction/adapters/executor.js +2 -1
- package/dist/observability/knowledge-extraction/adapters/knowledge-store.d.ts +2 -1
- package/dist/observability/knowledge-extraction/adapters/knowledge-store.js +25 -12
- package/dist/observability/knowledge-extraction/adapters/knowledge-tags.d.ts +12 -0
- package/dist/observability/knowledge-extraction/adapters/knowledge-tags.js +67 -0
- package/dist/observability/knowledge-extraction/adapters/library-store.d.ts +11 -0
- package/dist/observability/knowledge-extraction/adapters/library-store.js +72 -0
- package/dist/observability/knowledge-extraction/adapters/run-store.d.ts +2 -1
- package/dist/observability/knowledge-extraction/adapters/run-store.js +26 -10
- package/dist/observability/knowledge-extraction/adapters/storage-state.d.ts +11 -0
- package/dist/observability/knowledge-extraction/adapters/storage-state.js +92 -0
- package/dist/observability/knowledge-extraction/application.d.ts +1299 -30
- package/dist/observability/knowledge-extraction/application.js +191 -22
- package/dist/observability/knowledge-extraction/auto-extraction.d.ts +140 -0
- package/dist/observability/knowledge-extraction/auto-extraction.js +316 -0
- package/dist/observability/knowledge-extraction/conversation-source.d.ts +41 -0
- package/dist/observability/knowledge-extraction/conversation-source.js +55 -0
- package/dist/observability/knowledge-extraction/entities.d.ts +65 -0
- package/dist/observability/knowledge-extraction/entities.js +123 -0
- package/dist/observability/knowledge-extraction/entity-catalog.d.ts +89 -0
- package/dist/observability/knowledge-extraction/entity-catalog.js +41 -0
- package/dist/observability/knowledge-extraction/library.d.ts +392 -0
- package/dist/observability/knowledge-extraction/library.js +197 -0
- package/dist/observability/knowledge-extraction/local.js +6 -2
- package/dist/observability/knowledge-extraction/prompt.d.ts +1 -1
- package/dist/observability/knowledge-extraction/prompt.js +35 -8
- package/dist/observability/knowledge-extraction/proposals.d.ts +15 -160
- package/dist/observability/knowledge-extraction/proposals.js +17 -51
- package/dist/observability/knowledge-extraction/quote-occurrence.d.ts +9 -0
- package/dist/observability/knowledge-extraction/quote-occurrence.js +31 -0
- package/dist/observability/knowledge-extraction/runs.d.ts +118 -4
- package/dist/observability/knowledge-extraction/runs.js +74 -2
- package/dist/observability/knowledge-extraction/window-proposals.d.ts +198 -0
- package/dist/observability/knowledge-extraction/window-proposals.js +88 -0
- package/dist/observability/skill-health/analyzer.d.ts +1 -2
- package/dist/observability/skill-health/analyzer.js +1 -2
- package/dist/observability/skill-health/persistence.d.ts +0 -8
- package/dist/observability/skill-health/persistence.js +0 -22
- package/dist/studio/application/conversations/conversation-extraction.d.ts +1 -41
- package/dist/studio/application/conversations/conversation-extraction.js +1 -53
- package/dist/studio/application/directory-sources.d.ts +1 -3
- package/dist/studio/application/directory-sources.js +0 -1
- package/dist/studio/application/display/conversation-label.d.ts +1 -1
- package/dist/studio/application/display/conversation-label.js +15 -2
- package/dist/studio/application/knowledge/artifact-authoring.d.ts +42 -0
- package/dist/studio/application/knowledge/artifact-authoring.js +85 -0
- package/dist/studio/application/knowledge/auto-extraction.d.ts +42 -0
- package/dist/studio/application/knowledge/auto-extraction.js +18 -0
- package/dist/studio/application/knowledge/candidate-review.d.ts +5 -0
- package/dist/studio/application/knowledge/candidate-review.js +20 -0
- package/dist/studio/application/knowledge/doctor-format.d.ts +1 -1
- package/dist/studio/application/knowledge/knowledge-candidates.js +44 -18
- package/dist/studio/application/knowledge/knowledge-library.d.ts +338 -0
- package/dist/studio/application/knowledge/knowledge-library.js +23 -0
- package/dist/studio/application/knowledge/library-view.d.ts +22 -0
- package/dist/studio/application/knowledge/library-view.js +7 -0
- package/dist/studio/application/measure/carrier-measurement.d.ts +20 -0
- package/dist/studio/application/measure/carrier-measurement.js +51 -0
- package/dist/studio/application/measure/core-run-format.d.ts +12 -1
- package/dist/studio/application/measure/core-run-format.js +69 -1
- package/dist/studio/http/contracts.d.ts +0 -2
- package/dist/studio/http/next-context.d.ts +0 -2
- package/dist/studio/http/next-context.js +0 -1
- package/dist/studio/http/next-server.js +11 -31
- package/dist/studio/http/page-paths.d.ts +2 -2
- package/dist/studio/http/page-paths.js +2 -2
- package/dist/studio/http/pages/knowledge-page.d.ts +1 -1
- package/dist/studio/http/pages/knowledge-page.js +3 -3
- package/dist/studio/http/pages/measure-page.d.ts +2 -2
- package/dist/studio/http/pages/measure-page.js +4 -2
- package/dist/studio/http/request-handler.d.ts +1 -1
- package/dist/studio/http/request-handler.js +19 -6
- package/dist/studio/http/routes/artifact-authoring.d.ts +1 -0
- package/dist/studio/http/routes/artifact-authoring.js +34 -0
- package/dist/studio/http/routes/carrier-measurement.d.ts +8 -0
- package/dist/studio/http/routes/carrier-measurement.js +34 -0
- package/dist/studio/http/routes/knowledge-candidates.d.ts +2 -2
- package/dist/studio/http/routes/knowledge-candidates.js +41 -31
- package/dist/studio/http/routes/knowledge.d.ts +1 -2
- package/dist/studio/http/routes/knowledge.js +1 -14
- package/dist/studio/view-models/display/tone.d.ts +1 -2
- package/dist/studio/view-models/knowledge/artifact-authoring.d.ts +2 -0
- package/dist/studio/view-models/knowledge/artifact-authoring.js +1 -0
- package/dist/studio/view-models/knowledge/knowledge-candidates.d.ts +55 -12
- package/dist/studio/view-models/knowledge/knowledge-library.d.ts +4 -0
- package/dist/studio/view-models/knowledge/knowledge-library.js +1 -0
- package/dist/studio/view-models/measure/carrier-measurement.d.ts +1 -0
- package/dist/studio/view-models/measure/carrier-measurement.js +1 -0
- package/dist/studio/view-models/measure/core-runs.d.ts +6 -0
- package/dist/studio/web/.next/BUILD_ID +1 -1
- package/dist/studio/web/.next/app-path-routes-manifest.json +4 -4
- package/dist/studio/web/.next/build-manifest.json +4 -4
- package/dist/studio/web/.next/next-minimal-server.js.nft.json +1 -1
- package/dist/studio/web/.next/next-server.js.nft.json +1 -1
- package/dist/studio/web/.next/prerender-manifest.json +4 -4
- package/dist/studio/web/.next/required-server-files.js +16 -1
- package/dist/studio/web/.next/required-server-files.json +16 -1
- package/dist/studio/web/.next/routes-manifest.json +9 -11
- package/dist/studio/web/.next/server/app/_global-error/page.js +2 -2
- package/dist/studio/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/_global-error.html +1 -1
- package/dist/studio/web/.next/server/app/_global-error.meta +8 -0
- package/dist/studio/web/.next/server/app/_global-error.rsc +30 -18
- package/dist/studio/web/.next/server/app/_global-error.segments/_full.segment.rsc +30 -18
- package/dist/studio/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +36 -24
- package/dist/studio/web/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -1
- package/dist/studio/web/.next/server/app/_not-found/page.js +1 -1
- package/dist/studio/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/agents/page.js +1 -1
- package/dist/studio/web/.next/server/app/agents/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/knowledge/candidates/page.js +1 -1
- package/dist/studio/web/.next/server/app/knowledge/candidates/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/knowledge/candidates/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/knowledge/entities/page.js +1 -0
- package/dist/studio/web/.next/server/app/knowledge/entities/page.js.nft.json +1 -0
- package/dist/studio/web/.next/server/app/knowledge/entities/page_client-reference-manifest.js +1 -0
- package/dist/studio/web/.next/server/app/knowledge/library/page.js +1 -0
- package/dist/studio/web/.next/server/app/knowledge/library/page.js.nft.json +1 -0
- package/dist/studio/web/.next/server/app/knowledge/library/page_client-reference-manifest.js +1 -0
- package/dist/studio/web/.next/server/app/knowledge/page.js +1 -1
- package/dist/studio/web/.next/server/app/knowledge/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/knowledge/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/knowledge/skills/[skillName]/page.js +1 -1
- package/dist/studio/web/.next/server/app/knowledge/skills/[skillName]/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/knowledge/skills/[skillName]/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/measure/[runId]/page.js +1 -1
- package/dist/studio/web/.next/server/app/measure/[runId]/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/measure/[runId]/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/measure/page.js +1 -1
- package/dist/studio/web/.next/server/app/measure/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/measure/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/conversations/[threadId]/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/conversations/[threadId]/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/conversations/[threadId]/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/conversations/[threadId]/tasks/[turnId]/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/conversations/[threadId]/tasks/[turnId]/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/conversations/[threadId]/tasks/[turnId]/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/health/[analysisId]/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/health/[analysisId]/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/health/[analysisId]/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/health/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/health/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/health/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/health-diff/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/health-diff/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/health-diff/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/inbox/page.js +2 -2
- package/dist/studio/web/.next/server/app/observe/inbox/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/inbox/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app/observe/skill-trend/[skillName]/page.js +1 -1
- package/dist/studio/web/.next/server/app/observe/skill-trend/[skillName]/page.js.nft.json +1 -1
- package/dist/studio/web/.next/server/app/observe/skill-trend/[skillName]/page_client-reference-manifest.js +1 -1
- package/dist/studio/web/.next/server/app-paths-manifest.json +4 -4
- package/dist/studio/web/.next/server/chunks/132.js +1 -0
- package/dist/studio/web/.next/server/chunks/272.js +1 -0
- package/dist/studio/web/.next/server/chunks/{374.js → 285.js} +2 -2
- package/dist/studio/web/.next/server/chunks/312.js +1 -0
- package/dist/studio/web/.next/server/chunks/33.js +1 -0
- package/dist/studio/web/.next/server/chunks/335.js +1 -13
- package/dist/studio/web/.next/server/chunks/{584.js → 34.js} +5 -2
- package/dist/studio/web/.next/server/chunks/388.js +1 -0
- package/dist/studio/web/.next/server/chunks/464.js +2 -2
- package/dist/studio/web/.next/server/chunks/499.js +1 -1
- package/dist/studio/web/.next/server/chunks/562.js +1 -0
- package/dist/studio/web/.next/server/chunks/57.js +10 -0
- package/dist/studio/web/.next/server/chunks/671.js +1 -0
- package/dist/studio/web/.next/server/chunks/757.js +4 -0
- package/dist/studio/web/.next/server/chunks/772.js +1 -1
- package/dist/studio/web/.next/server/chunks/777.js +1 -0
- package/dist/studio/web/.next/server/chunks/78.js +1 -0
- package/dist/studio/web/.next/server/chunks/793.js +907 -0
- package/dist/studio/web/.next/server/chunks/803.js +1 -0
- package/dist/studio/web/.next/server/chunks/811.js +1 -0
- package/dist/studio/web/.next/server/chunks/84.js +3 -3
- package/dist/studio/web/.next/server/chunks/845.js +6 -0
- package/dist/studio/web/.next/server/chunks/949.js +55 -0
- package/dist/studio/web/.next/server/chunks/987.js +1 -0
- package/dist/studio/web/.next/server/middleware-build-manifest.js +1 -1
- package/dist/studio/web/.next/server/pages/500.html +1 -1
- package/dist/studio/web/.next/server/preview-props.json +5 -0
- package/dist/studio/web/.next/server/server-reference-manifest.json +1 -1
- package/dist/studio/web/.next/static/chunks/0937d497-cb7a9ff884a082ab.js +1 -0
- package/dist/studio/web/.next/static/chunks/1550-8655e6e988ed925d.js +55 -0
- package/dist/studio/web/.next/static/chunks/1858-ae2f35e65c0ca7d5.js +52 -0
- package/dist/studio/web/.next/static/chunks/2038-39b8b64415693d72.js +1 -0
- package/dist/studio/web/.next/static/chunks/2192-3a82fac42d5470cb.js +16 -0
- package/dist/studio/web/.next/static/chunks/{285-ee2bde496eae900b.js → 285-6bae73aced9b94d9.js} +4 -4
- package/dist/studio/web/.next/static/chunks/2953-ecd3f863c308edd6.js +41 -0
- package/dist/studio/web/.next/static/chunks/3435-00b4fbf4aa14a9af.js +1 -0
- package/dist/studio/web/.next/static/chunks/3958-1fa29558b4d99167.js +1 -0
- package/dist/studio/web/.next/static/chunks/3978-415a489ab1667812.js +1 -0
- package/dist/studio/web/.next/static/chunks/4-efa96fd3354dd00f.js +1 -0
- package/dist/studio/web/.next/static/chunks/5014-d863a9f62fbce3d9.js +1 -0
- package/dist/studio/web/.next/static/chunks/5382-1b919cde624bb761.js +1 -0
- package/dist/studio/web/.next/static/chunks/5669-c7c2d55e48ca0654.js +4 -0
- package/dist/studio/web/.next/static/chunks/5686-889bc419951f97b0.js +10 -0
- package/dist/studio/web/.next/static/chunks/5834-8ae3cace4e65870b.js +1 -0
- package/dist/studio/web/.next/static/chunks/7095-82772c89aecce311.js +19 -0
- package/dist/studio/web/.next/static/chunks/7103-1245dcb14501dcbe.js +1 -0
- package/dist/studio/web/.next/static/chunks/7703-3f2eeb40539b244a.js +1 -0
- package/dist/studio/web/.next/static/chunks/7754-4a1e255edea968a8.js +4 -0
- package/dist/studio/web/.next/static/chunks/{7576-0651db5aa8473f62.js → 7936-1fe24cff93665d92.js} +8 -8
- package/dist/studio/web/.next/static/chunks/7956-961871b7f06d5154.js +6 -0
- package/dist/studio/web/.next/static/chunks/8284-61d4bd3af6cde82f.js +1 -0
- package/dist/studio/web/.next/static/chunks/8704-6257f6e867d6298a.js +10 -0
- package/dist/studio/web/.next/static/chunks/8908-d585f523c5616336.js +1 -0
- package/dist/studio/web/.next/static/chunks/9066-417bfe2622f7c6c6.js +1 -0
- package/dist/studio/web/.next/static/chunks/9978-2b5578a391a0f389.js +9 -0
- package/dist/studio/web/.next/static/chunks/app/agents/page-ccd392fdc4feb767.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/{error-da3a9e3657f1dc15.js → error-b4cdd259571bfddc.js} +1 -1
- package/dist/studio/web/.next/static/chunks/app/knowledge/candidates/page-87818ef4fbceab6a.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/knowledge/entities/page-685a1b293b46298d.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/knowledge/library/page-fd56dc775a86e423.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/knowledge/page-d81f232d6f4b4a9c.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/knowledge/skills/[skillName]/page-e55ee423ad3af267.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/{layout-872f1dfcd7ede526.js → layout-33179810f5d93c07.js} +1 -1
- package/dist/studio/web/.next/static/chunks/app/{loading-459503db9bf76ee0.js → loading-5eff71aa13fa6fdb.js} +1 -1
- package/dist/studio/web/.next/static/chunks/app/measure/[runId]/page-68897c54cc7e35a9.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/measure/page-a867aa25d5970346.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/{not-found-5b86ee2b9fd19a95.js → not-found-42b8668344a5414a.js} +1 -1
- package/dist/studio/web/.next/static/chunks/app/observe/conversations/[threadId]/page-62e3f9d8baf73de3.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/conversations/[threadId]/tasks/[turnId]/page-b9e50731b2d36271.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/health/[analysisId]/page-b4533c8059fa01e6.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/health/page-c2b2ba39a7cb1f6f.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/health-diff/page-3ee1e330242c46c3.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/inbox/page-fe295ccd0fa2cb10.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/page-8f4dec4a52794fae.js +1 -0
- package/dist/studio/web/.next/static/chunks/app/observe/skill-trend/[skillName]/page-be013760e79d259a.js +1 -0
- package/dist/studio/web/.next/static/chunks/framework-ba3537adc78ec474.js +1 -0
- package/dist/studio/web/.next/static/chunks/main-66b6ab45aa0fce29.js +5 -0
- package/dist/studio/web/.next/static/css/43b8660429d21bfd.css +1 -0
- package/dist/studio/web/.next/static/vi-Wf9wVz6KtDrndi6cz6/_buildManifest.js +1 -0
- package/dist/studio/web/.next/trace +92 -47
- package/dist/studio/web/.next/trace-build +1 -1
- package/package.json +5 -5
- package/dist/cli/commands/list.d.ts +0 -26
- package/dist/cli/commands/list.js +0 -121
- package/dist/cli/commands/promote.d.ts +0 -24
- package/dist/cli/commands/promote.js +0 -141
- package/dist/cli/commands/rollback.d.ts +0 -20
- package/dist/cli/commands/rollback.js +0 -87
- package/dist/cli/lib/actor.d.ts +0 -2
- package/dist/cli/lib/actor.js +0 -13
- package/dist/cli/lib/i18n-dict/list.d.ts +0 -3
- package/dist/cli/lib/i18n-dict/list.js +0 -40
- package/dist/cli/lib/i18n-dict/promote.d.ts +0 -3
- package/dist/cli/lib/i18n-dict/promote.js +0 -46
- package/dist/cli/lib/i18n-dict/rollback.d.ts +0 -3
- package/dist/cli/lib/i18n-dict/rollback.js +0 -22
- package/dist/eval-workflows/projections/managed.d.ts +0 -8
- package/dist/eval-workflows/projections/managed.js +0 -105
- package/dist/knowledge-artifacts/governance/contracts.d.ts +0 -158
- package/dist/knowledge-artifacts/governance/evidence.d.ts +0 -25
- package/dist/knowledge-artifacts/governance/evidence.js +0 -111
- package/dist/knowledge-artifacts/governance/evolve-outcome.d.ts +0 -16
- package/dist/knowledge-artifacts/governance/evolve-outcome.js +0 -41
- package/dist/knowledge-artifacts/governance/index.d.ts +0 -11
- package/dist/knowledge-artifacts/governance/index.js +0 -11
- package/dist/knowledge-artifacts/governance/install.d.ts +0 -29
- package/dist/knowledge-artifacts/governance/install.js +0 -63
- package/dist/knowledge-artifacts/governance/list-query.d.ts +0 -7
- package/dist/knowledge-artifacts/governance/list-query.js +0 -11
- package/dist/knowledge-artifacts/governance/list-view.d.ts +0 -67
- package/dist/knowledge-artifacts/governance/list-view.js +0 -77
- package/dist/knowledge-artifacts/governance/observe-feedback.d.ts +0 -73
- package/dist/knowledge-artifacts/governance/observe-feedback.js +0 -59
- package/dist/knowledge-artifacts/governance/promote-gate.d.ts +0 -34
- package/dist/knowledge-artifacts/governance/promote-gate.js +0 -32
- package/dist/knowledge-artifacts/governance/source-probe.d.ts +0 -15
- package/dist/knowledge-artifacts/governance/source-probe.js +0 -129
- package/dist/knowledge-artifacts/governance/store.d.ts +0 -145
- package/dist/knowledge-artifacts/governance/store.js +0 -594
- package/dist/studio/application/knowledge/managed-format.d.ts +0 -58
- package/dist/studio/application/knowledge/managed-format.js +0 -113
- package/dist/studio/http/managed-root.d.ts +0 -12
- package/dist/studio/http/managed-root.js +0 -19
- package/dist/studio/http/pages/managed-page.d.ts +0 -30
- package/dist/studio/http/pages/managed-page.js +0 -44
- package/dist/studio/web/.next/server/app/knowledge/managed/[managedId]/page.js +0 -1
- package/dist/studio/web/.next/server/app/knowledge/managed/[managedId]/page.js.nft.json +0 -1
- package/dist/studio/web/.next/server/app/knowledge/managed/[managedId]/page_client-reference-manifest.js +0 -1
- package/dist/studio/web/.next/server/app/knowledge/managed/page.js +0 -1
- package/dist/studio/web/.next/server/app/knowledge/managed/page.js.nft.json +0 -1
- package/dist/studio/web/.next/server/app/knowledge/managed/page_client-reference-manifest.js +0 -1
- package/dist/studio/web/.next/server/chunks/3.js +0 -1
- package/dist/studio/web/.next/server/chunks/475.js +0 -1
- package/dist/studio/web/.next/server/chunks/5.js +0 -1
- package/dist/studio/web/.next/server/chunks/740.js +0 -3
- package/dist/studio/web/.next/server/chunks/789.js +0 -6
- package/dist/studio/web/.next/server/chunks/827.js +0 -583
- package/dist/studio/web/.next/server/chunks/881.js +0 -1
- package/dist/studio/web/.next/server/chunks/955.js +0 -1
- package/dist/studio/web/.next/server/chunks/996.js +0 -1
- package/dist/studio/web/.next/static/Ahppnr7sbzLwhsw77RqCy/_buildManifest.js +0 -1
- package/dist/studio/web/.next/static/chunks/0937d497-e4b3c577da4da67b.js +0 -1
- package/dist/studio/web/.next/static/chunks/1858-3ad7971aef7540de.js +0 -52
- package/dist/studio/web/.next/static/chunks/2038-b941bab2ee1ef91a.js +0 -1
- package/dist/studio/web/.next/static/chunks/258-9e85d3d73100f7d7.js +0 -10
- package/dist/studio/web/.next/static/chunks/2666-022e0893a8ce80b1.js +0 -4
- package/dist/studio/web/.next/static/chunks/2953-32389c228338c03f.js +0 -53
- package/dist/studio/web/.next/static/chunks/3958-b95d9b60fc7f9eaf.js +0 -1
- package/dist/studio/web/.next/static/chunks/4684-62296d31718b47b2.js +0 -1
- package/dist/studio/web/.next/static/chunks/5067-75d71f6808309f44.js +0 -6
- package/dist/studio/web/.next/static/chunks/5669-9f0ec3bc92ab3392.js +0 -3
- package/dist/studio/web/.next/static/chunks/5834-ceadd3ef88dd5027.js +0 -1
- package/dist/studio/web/.next/static/chunks/6651-392fd48cf473d253.js +0 -16
- package/dist/studio/web/.next/static/chunks/6698-fe3dadb4c5aa013d.js +0 -9
- package/dist/studio/web/.next/static/chunks/8284-399476b82eb468d0.js +0 -1
- package/dist/studio/web/.next/static/chunks/900-afd29ea08f2e1714.js +0 -1
- package/dist/studio/web/.next/static/chunks/9804-2d943d62c12ddbd6.js +0 -16
- package/dist/studio/web/.next/static/chunks/9953-e991c2f9674aeb7b.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/agents/page-5566ed76365fc033.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/knowledge/candidates/page-8f6377569b01b64e.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/knowledge/managed/[managedId]/page-e8aa43310b5ab528.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/knowledge/managed/page-cbae9028d8b57dcf.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/knowledge/page-92a6b1ddc3e44d8b.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/knowledge/skills/[skillName]/page-082ada30d2554c7e.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/measure/[runId]/page-1b6e584362fa1fc7.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/measure/page-94c52f9a44a8b88e.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/conversations/[threadId]/page-327796657a0b2692.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/conversations/[threadId]/tasks/[turnId]/page-1c806e81831e69b9.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/health/[analysisId]/page-41dd612e29247f6f.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/health/page-66161c7025058683.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/health-diff/page-373e7ca6f18a4594.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/inbox/page-923860677b6af0ad.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/page-ff04bfbae9e9c409.js +0 -1
- package/dist/studio/web/.next/static/chunks/app/observe/skill-trend/[skillName]/page-4711e930a7c6a790.js +0 -1
- package/dist/studio/web/.next/static/chunks/framework-9d2daf55218bfcdb.js +0 -1
- package/dist/studio/web/.next/static/chunks/main-be4276342bf776ea.js +0 -5
- package/dist/studio/web/.next/static/css/bc117f6d956d35b6.css +0 -1
- /package/dist/{knowledge-artifacts/governance/contracts.js → eval-workflows/projections/carrier-measurement.js} +0 -0
- /package/dist/studio/web/.next/static/{Ahppnr7sbzLwhsw77RqCy → vi-Wf9wVz6KtDrndi6cz6}/_ssgManifest.js +0 -0
|
@@ -136,7 +136,6 @@ omk eval [flags]
|
|
|
136
136
|
- `--model` `option`:被测模型
|
|
137
137
|
- `--no-debias-length` `boolean`:关 length-debias(默认开)
|
|
138
138
|
- `--no-diagnostic` `boolean`:关闭基于 Core 失败、缺失、排除与稳定 reason code 的诊断投影。
|
|
139
|
-
- `--no-evidence` `boolean`:不把本次评测写成证据追加进受管记录(默认会为已 install 的 skill 自动写)。
|
|
140
139
|
- `--no-gate` `boolean`:关闭判定门禁
|
|
141
140
|
- `--no-judge` `boolean`:跳过 LLM 评委
|
|
142
141
|
- `--no-serve` `boolean`:不启 report server
|
|
@@ -297,7 +296,7 @@ omk evolve <skillPath> [flags]
|
|
|
297
296
|
- `--rounds` `option` (默认 `5`):最大迭代轮数,默认 5
|
|
298
297
|
- `--samples` `option`:指定已有样本源;省略时先找 skill 私有样本,再找项目样本,都不存在时自动生成
|
|
299
298
|
- `--skip-doctor` `boolean`:跳过 doctor 门禁(escape hatch,自负 garbage-in 风险)
|
|
300
|
-
- `--snapshot-only` `boolean`:只产候选、不写回 source:胜出版本留在 evolve
|
|
299
|
+
- `--snapshot-only` `boolean`:只产候选、不写回 source:胜出版本留在 evolve/,再由你人工选择。默认仅在最终 Core 门禁通过后写回 source。
|
|
301
300
|
- `--target` `option`:目标 composite 分数,达到即停。不传则跑满 rounds
|
|
302
301
|
- `--timeout` `option` (默认 `600`):单用例超时秒,默认 600
|
|
303
302
|
|
|
@@ -357,7 +356,7 @@ omk init my-project --samples 20
|
|
|
357
356
|
|
|
358
357
|
## omk install
|
|
359
358
|
|
|
360
|
-
安装 omk 官方 Agent Skill
|
|
359
|
+
安装 omk 官方 Agent Skill,或安装用户自己的 skill(内置 id omk-agent-skill,本地路径,或 git:<ref>:<name> 取当前仓库某个 ref 的 skill)。默认写入本机已检测 agent 目标。
|
|
361
360
|
|
|
362
361
|
**用法:**
|
|
363
362
|
|
|
@@ -400,7 +399,7 @@ omk install omk-agent-skill --to all
|
|
|
400
399
|
omk install omk-agent-skill --dest ~/.my-agent/skills
|
|
401
400
|
```
|
|
402
401
|
|
|
403
|
-
>
|
|
402
|
+
> 安装用户自己的 skill(--kind 可省,命中 SKILL.md 自动推导)
|
|
404
403
|
|
|
405
404
|
```bash
|
|
406
405
|
omk install ./skills/review
|
|
@@ -412,48 +411,12 @@ omk install ./skills/review
|
|
|
412
411
|
omk install git:main:skills/review
|
|
413
412
|
```
|
|
414
413
|
|
|
415
|
-
> 从远端 git 仓库安装 skill(位置参数是仓库内路径;认证用本机 git
|
|
414
|
+
> 从远端 git 仓库安装 skill(位置参数是仓库内路径;认证用本机 git 凭证)
|
|
416
415
|
|
|
417
416
|
```bash
|
|
418
417
|
omk install --git-url https://github.com/org/repo.git --git-ref v1.0.0 skills/review
|
|
419
418
|
```
|
|
420
419
|
|
|
421
|
-
## omk list
|
|
422
|
-
|
|
423
|
-
列出受管 skill 及其证据状态:生命周期(installed / measurable / promoted / stale)、最新 verdict、证据数、源。
|
|
424
|
-
|
|
425
|
-
**用法:**
|
|
426
|
-
|
|
427
|
-
```bash
|
|
428
|
-
omk list [flags]
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
**Flags:**
|
|
432
|
-
|
|
433
|
-
- `--global` `boolean`:看全局受管目录(~/.oh-my-knowledge/governance/managed)而非项目 .omk/governance/managed
|
|
434
|
-
- `--json` `boolean`:输出 JSON(含完整可比性 marker),供脚本消费
|
|
435
|
-
- `--lang` `option`:输出语言 zh|en,优先级 CLI > OMK_LANG env > 全局设置 > 系统 locale > zh。
|
|
436
|
-
|
|
437
|
-
**示例:**
|
|
438
|
-
|
|
439
|
-
> 列出当前项目的受管 skill
|
|
440
|
-
|
|
441
|
-
```bash
|
|
442
|
-
omk list
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
> 列出全局受管 skill
|
|
446
|
-
|
|
447
|
-
```bash
|
|
448
|
-
omk list --global
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
> 机器可读 JSON 输出
|
|
452
|
-
|
|
453
|
-
```bash
|
|
454
|
-
omk list --json
|
|
455
|
-
```
|
|
456
|
-
|
|
457
420
|
## omk observe
|
|
458
421
|
|
|
459
422
|
把 Codex、Claude Code、OpenClaw 或 markdown trace 统一为 Trace IR,分析 skill 调用健康度(默认行为)。子命令:ingest / inbox / show。
|
|
@@ -470,7 +433,6 @@ omk observe [sessionsDir] [flags]
|
|
|
470
433
|
|
|
471
434
|
**Flags:**
|
|
472
435
|
|
|
473
|
-
- `--feedback` `boolean`:把生产健康观测反哺已纳管的同名 skill(--no-feedback 关闭)
|
|
474
436
|
- `--from` `option`:起始时间 ISO,优先级高于 --last
|
|
475
437
|
- `--global` `boolean`:写全局 ~/.oh-my-knowledge/observe/health,而非项目 .omk/observe/health
|
|
476
438
|
- `--kb` `option`:知识库 root,启用 KB-aware 分析
|
|
@@ -547,23 +509,31 @@ omk observe knowledge <operation> [flags]
|
|
|
547
509
|
|
|
548
510
|
**参数:**
|
|
549
511
|
|
|
550
|
-
- `operation`(必填)
|
|
512
|
+
- `operation`(必填):归档、提炼、核对与维护知识;entities 核对实体,correct-entities 纠正实体,apply-entities 创建绑定实体的知识修订。
|
|
551
513
|
|
|
552
514
|
**Flags:**
|
|
553
515
|
|
|
516
|
+
- `--analysis` `option`:entities:读取指定分析,省略时检索工作区实体;纠正或应用时必填,与提炼运行身份一致。
|
|
554
517
|
- `--end-record` `option`:最后一条记录序号,包含。
|
|
518
|
+
- `--entity-revision` `option`:实体分析的明确修订身份;纠正或应用时必填。
|
|
555
519
|
- `--executor` `option`:生成执行器,沿用 OMK 的运行配置。
|
|
556
520
|
- `--generation` `option`:修改前读取的 generation,用于检测并发冲突。
|
|
557
521
|
- `--id` `option`:知识身份;resume 时为运行身份。
|
|
558
|
-
- `--
|
|
522
|
+
- `--identity-status` `all|proposed|unresolved`:entities:筛选身份对应状态。
|
|
523
|
+
- `--identity-uncertainties` `option`:apply-entities:显式核对后的附加身份不确定性 JSON 数组;省略时保留原说明,[] 清除原说明,当前实体歧义仍自动保留。
|
|
524
|
+
- `--input` `option`:revise/apply-entities:知识 JSON 草稿;correct-entities:entities、mentions 草稿,新身份使用 new: 前缀。
|
|
559
525
|
- `--json` `boolean`:输出完整 JSON;默认输出可读摘要。
|
|
560
526
|
- `--lang` `option`:输出语言 zh|en,优先级 CLI > OMK_LANG env > 全局设置 > 系统 locale > zh。
|
|
561
527
|
- `--model` `option`:生成模型,沿用已配置模型。
|
|
528
|
+
- `--page` `option`:entities:检索页码,从 1 开始。
|
|
529
|
+
- `--page-size` `option`:entities:每页对象数,默认 20,最多 100。
|
|
530
|
+
- `--query` `option`:entities:搜索名称、原文提及、限定条件及来源。
|
|
562
531
|
- `--reason` `option`:保留、舍弃或修订的理由。
|
|
563
532
|
- `--revision` `option`:查看或处理的明确修订身份。
|
|
564
533
|
- `--run-id` `option`:generate:稳定 UUID,用于重试同一次运行。
|
|
565
534
|
- `--snapshot` `option`:generate/source/delete-source:归档身份。
|
|
566
535
|
- `--source` `option`:capture:一份已支持格式的 Agent 会话日志(Codex/Claude/Qoder 等)。
|
|
536
|
+
- `--source-status` `all|available|unavailable`:entities:筛选原文可用状态。
|
|
567
537
|
- `--start-record` `option`:从零开始的非空记录序号,包含。
|
|
568
538
|
- `--workspace` `option`:本地知识工作区,默认使用全局设置;CLI 与 Studio 共用。
|
|
569
539
|
|
|
@@ -581,107 +551,33 @@ omk observe knowledge generate --workspace ./knowledge --snapshot <snapshot-id>
|
|
|
581
551
|
omk observe knowledge list --workspace ./knowledge
|
|
582
552
|
```
|
|
583
553
|
|
|
584
|
-
## omk observe show
|
|
585
|
-
|
|
586
|
-
展开 observation inbox 中某条 item 的详情。
|
|
587
|
-
|
|
588
|
-
**用法:**
|
|
589
|
-
|
|
590
554
|
```bash
|
|
591
|
-
omk observe
|
|
555
|
+
omk observe knowledge entities --workspace ./knowledge --analysis <run-id>
|
|
592
556
|
```
|
|
593
557
|
|
|
594
|
-
**参数:**
|
|
595
|
-
|
|
596
|
-
- `inboxId`(必填):inbox item ID。
|
|
597
|
-
|
|
598
|
-
**Flags:**
|
|
599
|
-
|
|
600
|
-
- `--global` `boolean`:直接读取全局 ~/.oh-my-knowledge/observe/inbox(跳过项目级与兜底)。
|
|
601
|
-
- `--input-dir` `option`:inbox 数据目录
|
|
602
|
-
- `--lang` `option`:输出语言 zh|en,优先级 CLI > OMK_LANG env > 全局设置 > 系统 locale > zh。
|
|
603
|
-
|
|
604
|
-
## omk promote
|
|
605
|
-
|
|
606
|
-
把受管 skill 的当前版本按证据门禁「接受」为 promoted:默认仅放行 verdict=PROGRESS,在记录里追加一条带证据指针的人工决定。
|
|
607
|
-
|
|
608
|
-
**用法:**
|
|
609
|
-
|
|
610
|
-
```bash
|
|
611
|
-
omk promote <name> [flags]
|
|
612
|
-
```
|
|
613
|
-
|
|
614
|
-
**参数:**
|
|
615
|
-
|
|
616
|
-
- `name`(必填):受管 skill 名(omk list 里的 NAME)
|
|
617
|
-
|
|
618
|
-
**Flags:**
|
|
619
|
-
|
|
620
|
-
- `--accept-cautious` `boolean`:把 CAUTIOUS 也算可接受(默认仅 PROGRESS)
|
|
621
|
-
- `--actor` `option`:决定的 actor(默认取 git config user.name)
|
|
622
|
-
- `--force` `boolean`:越过可越门拦截强制 promote,记为人工 override 决定(无当前证据或源 hash 已变时仍拒)
|
|
623
|
-
- `--global` `boolean`:操作全局受管目录而非项目 .omk/governance/managed
|
|
624
|
-
- `--json` `boolean`:输出 JSON(版本化信封)供脚本消费
|
|
625
|
-
- `--kind` `option` (默认 `skill`):artifact 类型(当前仅 skill)
|
|
626
|
-
- `--lang` `option`:输出语言 zh|en,优先级 CLI > OMK_LANG env > 全局设置 > 系统 locale > zh。
|
|
627
|
-
- `--reason` `option`:promote / 越门的理由(写入决定)
|
|
628
|
-
|
|
629
|
-
**示例:**
|
|
630
|
-
|
|
631
|
-
> promote 一个证据达标的 skill
|
|
632
|
-
|
|
633
|
-
```bash
|
|
634
|
-
omk promote review
|
|
635
|
-
```
|
|
636
|
-
|
|
637
|
-
> 接受 CAUTIOUS 结果(显式放宽门禁)
|
|
638
|
-
|
|
639
558
|
```bash
|
|
640
|
-
omk
|
|
559
|
+
omk observe knowledge entities --workspace ./knowledge --query Atlas --json
|
|
641
560
|
```
|
|
642
561
|
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
```bash
|
|
646
|
-
omk promote review --force --reason "已人工复核"
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
## omk rollback
|
|
562
|
+
## omk observe show
|
|
650
563
|
|
|
651
|
-
|
|
564
|
+
展开 observation inbox 中某条 item 的详情。
|
|
652
565
|
|
|
653
566
|
**用法:**
|
|
654
567
|
|
|
655
568
|
```bash
|
|
656
|
-
omk
|
|
569
|
+
omk observe show <inboxId> [flags]
|
|
657
570
|
```
|
|
658
571
|
|
|
659
572
|
**参数:**
|
|
660
573
|
|
|
661
|
-
- `
|
|
574
|
+
- `inboxId`(必填):inbox item ID。
|
|
662
575
|
|
|
663
576
|
**Flags:**
|
|
664
577
|
|
|
665
|
-
- `--
|
|
666
|
-
- `--
|
|
667
|
-
- `--json` `boolean`:输出 JSON(版本化信封)供脚本消费
|
|
668
|
-
- `--kind` `option` (默认 `skill`):artifact 类型(当前仅 skill)
|
|
578
|
+
- `--global` `boolean`:直接读取全局 ~/.oh-my-knowledge/observe/inbox(跳过项目级与兜底)。
|
|
579
|
+
- `--input-dir` `option`:inbox 数据目录
|
|
669
580
|
- `--lang` `option`:输出语言 zh|en,优先级 CLI > OMK_LANG env > 全局设置 > 系统 locale > zh。
|
|
670
|
-
- `--reason` `option`:回退的理由(写入决定)
|
|
671
|
-
|
|
672
|
-
**示例:**
|
|
673
|
-
|
|
674
|
-
> 回退一个已 promoted 的 skill
|
|
675
|
-
|
|
676
|
-
```bash
|
|
677
|
-
omk rollback review
|
|
678
|
-
```
|
|
679
|
-
|
|
680
|
-
> 回退并记录理由
|
|
681
|
-
|
|
682
|
-
```bash
|
|
683
|
-
omk rollback review --reason "线上发现回归"
|
|
684
|
-
```
|
|
685
581
|
|
|
686
582
|
## omk sample
|
|
687
583
|
|
|
@@ -748,7 +644,7 @@ omk studio [flags]
|
|
|
748
644
|
- `--analyses-dir` `option`:观测健康报告目录(可选,默认项目级 .omk/observe/health,空则全局兜底)
|
|
749
645
|
- `--dev` `boolean`:dev 模式:子进程启动 + 热更新
|
|
750
646
|
- `--doctors-dir` `option`:体检报告目录(可选,默认项目级 .omk/doctor,空则全局兜底)
|
|
751
|
-
- `--global` `boolean`:只看全局 eval / observe/health / doctor / observe/inbox 目录(~/.oh-my-knowledge/),而非机器级聚合 /
|
|
647
|
+
- `--global` `boolean`:只看全局 eval / observe/health / doctor / observe/inbox 目录(~/.oh-my-knowledge/),而非机器级聚合 / 项目优先
|
|
752
648
|
- `--host` `option`:监听 host,默认 localhost。改为 0.0.0.0 暴露给局域网
|
|
753
649
|
- `--lang` `option`:输出语言 zh|en,优先级 CLI > OMK_LANG env > 全局设置 > 系统 locale > zh。
|
|
754
650
|
- `--no-open` `boolean`:不自动打开浏览器
|
|
@@ -784,4 +680,4 @@ omk studio --port 8080 --no-open
|
|
|
784
680
|
| `evaluationContext` | 否 | `rubric`、`assertions`、评分 `reference`、结构化 `checks` |
|
|
785
681
|
| `annotations` | 否 | 来源、难度、能力、覆盖锚点和诱错标记 |
|
|
786
682
|
|
|
787
|
-
完整契约与能力边界见 [样本格式](https://github.com/lizhiyao/oh-my-knowledge/blob/main/docs/zh/reference/eval-sample-format.md)。
|
|
683
|
+
完整契约与能力边界见 [样本格式](https://github.com/lizhiyao/oh-my-knowledge/blob/main/docs/zh/reference/evaluation/eval-sample-format.md)。
|
|
@@ -62,7 +62,6 @@ export default class Eval extends BaseCommand {
|
|
|
62
62
|
'trivial-diff': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
63
63
|
'report-only': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
64
64
|
'no-gate': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
65
|
-
'no-evidence': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
66
65
|
};
|
|
67
66
|
run(): Promise<void>;
|
|
68
67
|
}
|
|
@@ -406,12 +406,6 @@ export default class Eval extends BaseCommand {
|
|
|
406
406
|
'no-gate': Flags.boolean({
|
|
407
407
|
description: bilingual({ zh: '关闭判定门禁', en: 'Disable verdict gate' }),
|
|
408
408
|
}),
|
|
409
|
-
'no-evidence': Flags.boolean({
|
|
410
|
-
description: bilingual({
|
|
411
|
-
zh: '不把本次评测写成证据追加进受管记录(默认会为已 install 的 skill 自动写)。',
|
|
412
|
-
en: 'Do not append this run as evidence to managed records (auto-written for installed skills by default).',
|
|
413
|
-
}),
|
|
414
|
-
}),
|
|
415
409
|
};
|
|
416
410
|
async run() {
|
|
417
411
|
const { args, flags } = await this.parse(Eval);
|
|
@@ -7,18 +7,7 @@ import { CliExit } from '../lib/cli-exit.js';
|
|
|
7
7
|
import { tCli } from '../lib/i18n.js';
|
|
8
8
|
import { formatSampleGenerationFailureHint } from '../lib/generation-failure-hint.js';
|
|
9
9
|
import { ensureSkillSamples, SamplePreparationError } from '../../eval-workflows/sample-generation/skill-samples.js';
|
|
10
|
-
import { sanitizeCell } from '../lib/cell-format.js';
|
|
11
10
|
import { envJudgeModels, resolveRuntimeSelection } from '../lib/runtime-defaults.js';
|
|
12
|
-
async function recordEvolveOutcomeSafely(input) {
|
|
13
|
-
try {
|
|
14
|
-
const { recordCoreEvolveOutcome } = await import('../../knowledge-artifacts/governance/evolve-outcome.js');
|
|
15
|
-
const value = recordCoreEvolveOutcome(input);
|
|
16
|
-
return value ? { status: 'recorded', value } : { status: 'not-applicable' };
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
return { status: 'failed', error };
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
11
|
const VALID_EFFORTS = new Set(['low', 'medium', 'high', 'xhigh', 'max']);
|
|
23
12
|
function validateEvolveEffort(raw, lang) {
|
|
24
13
|
if (!VALID_EFFORTS.has(raw)) {
|
|
@@ -46,8 +35,6 @@ export async function runEvolve(args, flags, lang, signal) {
|
|
|
46
35
|
throw new CliExit(1);
|
|
47
36
|
}
|
|
48
37
|
const skillPath = resolvedInput.skillPath;
|
|
49
|
-
// evolve 目标的形态(目录-skill / 文件-skill),供受管联动按形态精确匹配记录。**取解析后形态**而非「入参是不是
|
|
50
|
-
// 目录」:帮助文档鼓励传 `skills/foo/SKILL.md`,若按入参判会得 false、匹配不到 install 落的目录记录(漂移永不消)。
|
|
51
38
|
const skillIsDir = resolvedInput.isDirectorySkill;
|
|
52
39
|
const samplesFile = resolvedInput.samplesPath;
|
|
53
40
|
// 参数校验必须早于任何昂贵副作用(自动生成用例 / LLM 调用)。
|
|
@@ -119,7 +106,6 @@ export async function runEvolve(args, flags, lang, signal) {
|
|
|
119
106
|
timeout: Math.max(1, Math.ceil(Number(flags.timeout) || 600)),
|
|
120
107
|
effort: evolveEffort,
|
|
121
108
|
'skip-doctor': flags['skip-doctor'],
|
|
122
|
-
'no-evidence': true,
|
|
123
109
|
'no-serve': true,
|
|
124
110
|
'report-only': true,
|
|
125
111
|
}, { lang });
|
|
@@ -143,7 +129,7 @@ export async function runEvolve(args, flags, lang, signal) {
|
|
|
143
129
|
evaluatePair,
|
|
144
130
|
editBudget: flags['no-edit-budget'] ? 0 : Number(flags['edit-budget']),
|
|
145
131
|
rejectMemory: !flags['no-reject-memory'],
|
|
146
|
-
// --snapshot-only:不写回 source,候选只留在 evolve/<skillName>.r{N}.md
|
|
132
|
+
// --snapshot-only:不写回 source,候选只留在 evolve/<skillName>.r{N}.md(供人工挑选)。
|
|
147
133
|
writeBackToSource: !flags['snapshot-only'],
|
|
148
134
|
improveMode: flags['improve-mode'] === 'rewrite' ? 'rewrite' : 'agent',
|
|
149
135
|
onRoundProgress({ round, totalRounds: _totalRounds, phase, score, delta, accepted, costUSD, costReported, error, decisionAccepted }) {
|
|
@@ -189,36 +175,12 @@ export async function runEvolve(args, flags, lang, signal) {
|
|
|
189
175
|
process.stderr.write(tCli('cli.evolve.report_link', lang, { id: result.runId }));
|
|
190
176
|
}
|
|
191
177
|
if (flags['snapshot-only']) {
|
|
192
|
-
// 不写回 source —— 候选留在 evolve/
|
|
178
|
+
// 不写回 source —— 候选留在 evolve/ 供人工挑选。
|
|
193
179
|
process.stderr.write(tCli('cli.evolve.snapshot_only_hint', lang, {
|
|
194
180
|
dir: join(resolve(skillPath, '..'), 'evolve'),
|
|
195
181
|
}));
|
|
196
182
|
}
|
|
197
|
-
|
|
198
|
-
// 受管 skill:把胜出版本记成带 verdict 的证据 + re-baseline → omk list 显 measurable。
|
|
199
|
-
// 升 promoted 仍由人 omk promote 决定(统计门 ≠ 人的接受)。未纳管 / 无改进 → 静默 no-op。
|
|
200
|
-
const recorded = await recordEvolveOutcomeSafely({
|
|
201
|
-
source: result.evidence,
|
|
202
|
-
bestRound: result.bestRound,
|
|
203
|
-
skillPath: resolvedInput.skillPath,
|
|
204
|
-
skillDir: resolvedInput.skillDir,
|
|
205
|
-
isDirectorySkill: skillIsDir,
|
|
206
|
-
});
|
|
207
|
-
if (recorded.status === 'failed') {
|
|
208
|
-
const message = sanitizeCell(recorded.error instanceof Error ? recorded.error.message : String(recorded.error));
|
|
209
|
-
process.stderr.write(lang === 'zh'
|
|
210
|
-
? `治理证据写入失败:${message}。评测产物已保留,请检查受管目录后补记证据。\n`
|
|
211
|
-
: `Managed evidence write failed: ${message}. Evaluation artifacts are preserved; check the managed directory and record the evidence again.\n`);
|
|
212
|
-
}
|
|
213
|
-
if (recorded.status === 'recorded') {
|
|
214
|
-
process.stderr.write(tCli('cli.evolve.evidence_recorded_managed', lang, {
|
|
215
|
-
name: recorded.value.name, verdict: recorded.value.verdict,
|
|
216
|
-
}));
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
const publicResult = { ...result };
|
|
220
|
-
delete publicResult.evidence;
|
|
221
|
-
console.log(JSON.stringify(publicResult, null, 2));
|
|
183
|
+
console.log(JSON.stringify(result, null, 2));
|
|
222
184
|
}
|
|
223
185
|
catch (err) {
|
|
224
186
|
if (err instanceof CliExit)
|
|
@@ -334,8 +296,8 @@ export default class Evolve extends BaseCommand {
|
|
|
334
296
|
}),
|
|
335
297
|
'snapshot-only': Flags.boolean({
|
|
336
298
|
description: bilingual({
|
|
337
|
-
zh: '只产候选、不写回 source:胜出版本留在 evolve
|
|
338
|
-
en: 'Produce candidates under evolve/ without writing the source.
|
|
299
|
+
zh: '只产候选、不写回 source:胜出版本留在 evolve/,再由你人工选择。默认仅在最终 Core 门禁通过后写回 source。',
|
|
300
|
+
en: 'Produce candidates under evolve/ without writing the source. By default, write back only after a final Core gate passes.',
|
|
339
301
|
}),
|
|
340
302
|
default: false,
|
|
341
303
|
}),
|
|
@@ -12,7 +12,7 @@ import { DEFAULT_INIT_SAMPLE_COUNT, FULL_INIT_SAMPLE_COUNT, serializeInitSamples
|
|
|
12
12
|
// 项目从注释到 skill 正文都是中文。name/目录名等身份字段两版一致,只有文字随语言。
|
|
13
13
|
const INIT_OMK_GITIGNORE = {
|
|
14
14
|
// 预置 .omk/.gitignore:测量 bulk + doctor --fix 备份(项目本地、不该入库)默认不入库;
|
|
15
|
-
//
|
|
15
|
+
// 配置不在此列,默认 track。
|
|
16
16
|
zh: `# omk 测量 bulk 与 doctor --fix 备份(项目本地)——不入库;前导 / 锚定 .omk/ 顶层,不误伤嵌套同名目录。
|
|
17
17
|
/eval/
|
|
18
18
|
/doctor/
|
|
@@ -7,19 +7,7 @@ import { LANG_FLAG, bilingual } from '../oclif/i18n.js';
|
|
|
7
7
|
import { BaseCommand } from '../oclif/base-command.js';
|
|
8
8
|
import { tCli } from '../lib/i18n.js';
|
|
9
9
|
import { resolveInstallSource, resolveRemoteGitSource, usingInstallSource, SourceResolveError } from '../../knowledge-artifacts/sources/install-source.js';
|
|
10
|
-
import { managedDir } from '../../knowledge-artifacts/governance/index.js';
|
|
11
|
-
import { installManagedArtifact, InstallRegistrationError } from '../../knowledge-artifacts/governance/install.js';
|
|
12
10
|
import { replaceDeployedArtifact } from '../../knowledge-artifacts/sources/deploy-artifact.js';
|
|
13
|
-
function localizeInstallationError(error, lang) {
|
|
14
|
-
if (error instanceof InstallRegistrationError && lang === 'zh') {
|
|
15
|
-
return new Error(`分发已完成,但治理登记失败:${error.paths.join('、')}。请修复受管目录 ${error.store} 后,以相同参数加 --force 重试登记。`, { cause: error });
|
|
16
|
-
}
|
|
17
|
-
if (error instanceof AggregateError) {
|
|
18
|
-
const errors = error.errors.map((item) => localizeInstallationError(item, lang));
|
|
19
|
-
return new AggregateError(errors, errors.map(String).join('; '));
|
|
20
|
-
}
|
|
21
|
-
return error;
|
|
22
|
-
}
|
|
23
11
|
const BUILTIN_OMK_AGENT_SKILL_ID = 'omk-agent-skill';
|
|
24
12
|
const INSTALLABLE_KINDS = ['skill', 'prompt', 'agent', 'workflow'];
|
|
25
13
|
const TARGET_ORDER = ['codex', 'claude'];
|
|
@@ -110,7 +98,7 @@ function targetArtifactPath(target, name, isDirectorySkill) {
|
|
|
110
98
|
function targetSkillDir(target) {
|
|
111
99
|
return targetArtifactPath(target, 'omk', true);
|
|
112
100
|
}
|
|
113
|
-
/** 全部目标预检通过才拷任何一个(无部分安装)。源就是目标(
|
|
101
|
+
/** 全部目标预检通过才拷任何一个(无部分安装)。源就是目标(已在目标位置)的目标跳过存在性检查。 */
|
|
114
102
|
function validateInstallTargets(params) {
|
|
115
103
|
if (params.dryRun || params.force)
|
|
116
104
|
return;
|
|
@@ -138,7 +126,7 @@ function realPathBestEffort(p) {
|
|
|
138
126
|
}
|
|
139
127
|
/**
|
|
140
128
|
* 源与目标的物理关系(解析软链):
|
|
141
|
-
* - same:同一节点 →
|
|
129
|
+
* - same:同一节点 → 已在目标位置(绝不删/拷);
|
|
142
130
|
* - overlap:一个是另一个的祖先 → rmSync(target) 会删掉源、或 cpSync 把目录拷进自身子目录,数据损坏,必须拒;
|
|
143
131
|
* - disjoint:正常拷贝。
|
|
144
132
|
*/
|
|
@@ -153,7 +141,7 @@ function classifyPaths(source, targetPath) {
|
|
|
153
141
|
}
|
|
154
142
|
/**
|
|
155
143
|
* 通用拷贝:目录递归 cp(过滤 .omk / .git / evolve 等非分发产物 + 软链)、单文件 copyFile。
|
|
156
|
-
* 清理失败单独提示,正常结果由调用方呈现。dry-run 不写。源即目标 →
|
|
144
|
+
* 清理失败单独提示,正常结果由调用方呈现。dry-run 不写。源即目标 → 已在目标位置(inPlace);重叠路径拒绝。
|
|
157
145
|
*/
|
|
158
146
|
function copyArtifactToTarget(params) {
|
|
159
147
|
if (!existsSync(params.source)) {
|
|
@@ -163,7 +151,7 @@ function copyArtifactToTarget(params) {
|
|
|
163
151
|
return { targetPath: params.targetPath, planned: true, inPlace: false };
|
|
164
152
|
}
|
|
165
153
|
const relation = classifyPaths(params.source, params.targetPath);
|
|
166
|
-
//
|
|
154
|
+
// 已在目标位置:源就是目标(接管已安装的 skill),绝不 rmSync 源。
|
|
167
155
|
if (relation === 'same') {
|
|
168
156
|
return { targetPath: params.targetPath, planned: false, inPlace: true };
|
|
169
157
|
}
|
|
@@ -188,7 +176,6 @@ function installOmkAgentSkill(params) {
|
|
|
188
176
|
source: params.sourceDir,
|
|
189
177
|
isDirectorySkill: true,
|
|
190
178
|
targetPath: targetDir,
|
|
191
|
-
skillsDir: params.target.skillsDir,
|
|
192
179
|
force: params.force,
|
|
193
180
|
dryRun: params.dryRun,
|
|
194
181
|
lang: params.lang,
|
|
@@ -198,7 +185,7 @@ function installOmkAgentSkill(params) {
|
|
|
198
185
|
}
|
|
199
186
|
/**
|
|
200
187
|
* 是否当作用户 artifact 路径(否则按 typo 的内置 id 处理,报 unknown_input)。
|
|
201
|
-
* - 显式路径意图(含 `/`)或 `.md` 结尾 → 是(后续
|
|
188
|
+
* - 显式路径意图(含 `/`)或 `.md` 结尾 → 是(后续 installUserSkill 经 resolver 给出精确的存在性 / SKILL.md 报错);
|
|
202
189
|
* - 裸短名 → 仅当它确实解析到一个含 SKILL.md 的目录才算;裸的同名普通文件(如 cwd 里恰好有个
|
|
203
190
|
* `omk-agnt-skill` 文件)不该被当成 skill 安装,落回 unknown_input。
|
|
204
191
|
*/
|
|
@@ -215,8 +202,8 @@ function looksLikeArtifactPath(input) {
|
|
|
215
202
|
}
|
|
216
203
|
export default class Install extends BaseCommand {
|
|
217
204
|
static description = bilingual({
|
|
218
|
-
zh: '安装 omk 官方 Agent Skill
|
|
219
|
-
en: 'Install the official omk Agent Skill, or
|
|
205
|
+
zh: '安装 omk 官方 Agent Skill,或安装用户自己的 skill(内置 id omk-agent-skill,本地路径,或 git:<ref>:<name> 取当前仓库某个 ref 的 skill)。默认写入本机已检测 agent 目标。',
|
|
206
|
+
en: 'Install the official omk Agent Skill, or install your own skill (built-in id omk-agent-skill, a local path, or git:<ref>:<name> for a skill at a ref of the current repo). Defaults to detected local agent targets.',
|
|
220
207
|
});
|
|
221
208
|
static examples = [
|
|
222
209
|
{
|
|
@@ -242,8 +229,8 @@ export default class Install extends BaseCommand {
|
|
|
242
229
|
},
|
|
243
230
|
{
|
|
244
231
|
description: bilingual({
|
|
245
|
-
zh: '
|
|
246
|
-
en: '
|
|
232
|
+
zh: '安装用户自己的 skill(--kind 可省,命中 SKILL.md 自动推导)',
|
|
233
|
+
en: 'Install your own skill (--kind optional; inferred from SKILL.md)',
|
|
247
234
|
}),
|
|
248
235
|
command: '<%= config.bin %> install ./skills/review',
|
|
249
236
|
},
|
|
@@ -256,8 +243,8 @@ export default class Install extends BaseCommand {
|
|
|
256
243
|
},
|
|
257
244
|
{
|
|
258
245
|
description: bilingual({
|
|
259
|
-
zh: '从远端 git 仓库安装 skill(位置参数是仓库内路径;认证用本机 git
|
|
260
|
-
en: 'Install a skill from a remote git repo (positional arg is the in-repo path; auth via local git credentials
|
|
246
|
+
zh: '从远端 git 仓库安装 skill(位置参数是仓库内路径;认证用本机 git 凭证)',
|
|
247
|
+
en: 'Install a skill from a remote git repo (positional arg is the in-repo path; auth via local git credentials)',
|
|
261
248
|
}),
|
|
262
249
|
command: '<%= config.bin %> install --git-url https://github.com/org/repo.git --git-ref v1.0.0 skills/review',
|
|
263
250
|
},
|
|
@@ -330,7 +317,7 @@ export default class Install extends BaseCommand {
|
|
|
330
317
|
}
|
|
331
318
|
// 远端 git:--git-url 在场时,位置参数是仓库内 spec(repo 相对路径),先于其它分支判定。
|
|
332
319
|
if (flags['git-url']) {
|
|
333
|
-
this.
|
|
320
|
+
this.installUserSkill(args.input, flags.kind, flags, lang, {
|
|
334
321
|
url: flags['git-url'],
|
|
335
322
|
ref: flags['git-ref'] || 'HEAD',
|
|
336
323
|
});
|
|
@@ -341,7 +328,7 @@ export default class Install extends BaseCommand {
|
|
|
341
328
|
return;
|
|
342
329
|
}
|
|
343
330
|
if (args.input.startsWith('git:') || looksLikeArtifactPath(args.input)) {
|
|
344
|
-
this.
|
|
331
|
+
this.installUserSkill(args.input, flags.kind, flags, lang);
|
|
345
332
|
return;
|
|
346
333
|
}
|
|
347
334
|
throw new Error(tCli('cli.install.unknown_input', lang, { input: args.input }));
|
|
@@ -362,7 +349,7 @@ export default class Install extends BaseCommand {
|
|
|
362
349
|
if (!flags['dry-run'])
|
|
363
350
|
console.log(tCli('cli.install.next_hint', lang));
|
|
364
351
|
}
|
|
365
|
-
|
|
352
|
+
installUserSkill(input, kindFlag, flags, lang, remote) {
|
|
366
353
|
// kind 推导:--kind 显式优先;否则缺省 skill(Phase 1 仅 skill)。
|
|
367
354
|
const kind = kindFlag ?? 'skill';
|
|
368
355
|
if (kind !== 'skill') {
|
|
@@ -391,35 +378,18 @@ export default class Install extends BaseCommand {
|
|
|
391
378
|
lang,
|
|
392
379
|
source: localRoot,
|
|
393
380
|
});
|
|
394
|
-
const
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
source:
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
const { planned, inPlace } = copyArtifactToTarget({
|
|
404
|
-
source: localRoot,
|
|
405
|
-
isDirectorySkill,
|
|
406
|
-
targetPath: target.path,
|
|
407
|
-
skillsDir: dirname(target.path),
|
|
408
|
-
force: flags.force,
|
|
409
|
-
dryRun: flags['dry-run'],
|
|
410
|
-
lang,
|
|
411
|
-
});
|
|
412
|
-
return planned ? 'planned' : inPlace ? 'adopted' : 'copied';
|
|
413
|
-
},
|
|
414
|
-
onDeployment: (target, result) => {
|
|
415
|
-
const key = result === 'planned' ? 'cli.install.plan_skill' : result === 'adopted' ? 'cli.install.adopted' : 'cli.install.copied';
|
|
416
|
-
console.log(tCli(key, lang, { name, path: target.path }));
|
|
417
|
-
},
|
|
418
|
-
onRegistered: (record) => console.log(tCli('cli.install.registered', lang, { id: record.id, store })),
|
|
381
|
+
for (const target of targets) {
|
|
382
|
+
const targetPath = targetArtifactPath(target, name, isDirectorySkill);
|
|
383
|
+
const { planned, inPlace } = copyArtifactToTarget({
|
|
384
|
+
source: localRoot,
|
|
385
|
+
isDirectorySkill,
|
|
386
|
+
targetPath,
|
|
387
|
+
force: flags.force,
|
|
388
|
+
dryRun: flags['dry-run'],
|
|
389
|
+
lang,
|
|
419
390
|
});
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
throw localizeInstallationError(error, lang);
|
|
391
|
+
const key = planned ? 'cli.install.plan_skill' : inPlace ? 'cli.install.adopted' : 'cli.install.copied';
|
|
392
|
+
console.log(tCli(key, lang, { name, path: targetPath }));
|
|
423
393
|
}
|
|
424
394
|
});
|
|
425
395
|
}
|
|
@@ -17,7 +17,6 @@ export default class Observe extends BaseCommand {
|
|
|
17
17
|
skills: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
18
|
'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
19
|
global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
-
feedback: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
20
|
};
|
|
22
21
|
run(): Promise<void>;
|
|
23
22
|
}
|