abelien-harness 0.15.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +2 -1
- package/skills/abelien-algorithm/SKILL.md +1 -0
- package/skills/abelien-algorithm/actions/algorithm.candidates.json +43 -0
- package/skills/abelien-algorithm/actions/algorithm.finalize.json +38 -0
- package/skills/abelien-algorithm/actions/algorithm.lane-state.json +38 -0
- package/skills/abelien-algorithm/actions/algorithm.research.json +70 -0
- package/skills/abelien-algorithm/bindings.json +58 -0
- package/skills/abelien-algorithm/contract/host-tools.generated.json +1235 -0
- package/skills/abelien-algorithm/domain.json +8 -2
- package/skills/abelien-algorithm/references/actions.generated.md +289 -0
- package/skills/abelien-algorithm/schemas/algorithm-common.v1.json +22 -0
- package/skills/abelien-algorithm/schemas/candidates-input.v1.json +15 -0
- package/skills/abelien-algorithm/schemas/candidates-result.v1.json +17 -0
- package/skills/abelien-algorithm/schemas/finalize-input.v1.json +17 -0
- package/skills/abelien-algorithm/schemas/finalize-result.v1.json +28 -0
- package/skills/abelien-algorithm/schemas/lane-state-input.v1.json +14 -0
- package/skills/abelien-algorithm/schemas/lane-state-result.v1.json +14 -0
- package/skills/abelien-algorithm/schemas/research-input.v1.json +45 -0
- package/skills/abelien-algorithm/schemas/research-result.v1.json +19 -0
- package/skills/abelien-appearance/SKILL.md +2 -1
- package/skills/abelien-appearance/domain.json +69 -0
- package/skills/abelien-appearance/references/points.md +61 -0
- package/skills/abelien-appearance/schemas/points-fallback-input.v1.json +16 -0
- package/skills/abelien-appearance/schemas/points-fallback-result.v1.json +18 -0
- package/skills/abelien-appearance/schemas/points-input.v1.json +36 -0
- package/skills/abelien-appearance/schemas/points-reading.v1.json +90 -0
- package/skills/abelien-appearance/schemas/points-result.v1.json +60 -0
- package/skills/abelien-appearance/scripts/points.mjs +163 -0
- package/skills/abelien-appearance/scripts/schemas.mjs +27 -0
- package/skills/abelien-hardware/SKILL.md +7 -0
- package/skills/abelien-hardware/actions/hardware.change-scope.json +31 -0
- package/skills/abelien-hardware/actions/hardware.finalize.json +33 -0
- package/skills/abelien-hardware/actions/hardware.guide.json +27 -0
- package/skills/abelien-hardware/actions/hardware.prepare.json +28 -0
- package/skills/abelien-hardware/actions/hardware.replace-plan.json +31 -0
- package/skills/abelien-hardware/actions/hardware.resource.json +27 -0
- package/skills/abelien-hardware/actions/hardware.search.json +97 -0
- package/skills/abelien-hardware/actions/hardware.select.json +64 -0
- package/skills/abelien-hardware/actions/hardware.selection-commit.json +68 -0
- package/skills/abelien-hardware/actions/hardware.selection-propose.json +52 -0
- package/skills/abelien-hardware/actions/hardware.selection-recall.json +47 -0
- package/skills/abelien-hardware/actions/hardware.web-extract.json +28 -0
- package/skills/abelien-hardware/actions/hardware.web-merge.json +48 -0
- package/skills/abelien-hardware/actions/hardware.web-search.json +87 -0
- package/skills/abelien-hardware/actions/hardware.wiki.json +27 -0
- package/skills/abelien-hardware/actions/hardware.workflow.json +31 -0
- package/skills/abelien-hardware/bindings.json +302 -0
- package/skills/abelien-hardware/contract/host-tools.generated.json +15924 -0
- package/skills/abelien-hardware/domain.json +96 -2
- package/skills/abelien-hardware/references/actions.generated.md +1487 -0
- package/skills/abelien-hardware/references/selection-evidence-v2.md +57 -0
- package/skills/abelien-hardware/schemas/change-scope-input.v1.json +29 -0
- package/skills/abelien-hardware/schemas/change-scope-result.v1.json +21 -0
- package/skills/abelien-hardware/schemas/hardware-common.v1.json +188 -0
- package/skills/abelien-hardware/schemas/hardware-selection-actions.v1.json +121 -0
- package/skills/abelien-hardware/schemas/hardware-selection.v2.json +496 -0
- package/skills/abelien-hardware/schemas/host-tools-input.v1.json +292 -0
- package/skills/abelien-hardware/schemas/proposal-input.v1.json +149 -0
- package/skills/abelien-hardware/schemas/proposal-result.v1.json +25 -0
- package/skills/abelien-hardware/schemas/replace-plan-input.v1.json +32 -0
- package/skills/abelien-hardware/schemas/replace-plan-result.v1.json +16 -0
- package/skills/abelien-hardware/schemas/search-input.v1.json +42 -0
- package/skills/abelien-hardware/schemas/search-result.v1.json +18 -0
- package/skills/abelien-hardware/schemas/select-input.v1.json +39 -0
- package/skills/abelien-hardware/schemas/select-result.v1.json +27 -0
- package/skills/abelien-hardware/schemas/web-merge-input.v1.json +52 -0
- package/skills/abelien-hardware/schemas/web-merge-result.v1.json +18 -0
- package/skills/abelien-hardware/schemas/web-search-input.v1.json +42 -0
- package/skills/abelien-hardware/schemas/web-search-result.v1.json +18 -0
- package/skills/abelien-hardware/scripts/selection-bom-use.mjs +47 -0
- package/skills/abelien-hardware/scripts/selection-commit.mjs +29 -0
- package/skills/abelien-hardware/scripts/selection-model.mjs +252 -0
- package/skills/abelien-hardware/scripts/selection-propose.mjs +256 -0
- package/skills/abelien-hardware/scripts/selection-recall.mjs +150 -0
- package/skills/abelien-hardware/scripts/selection-revision-store.mjs +97 -0
- package/skills/abelien-harness/SKILL.md +6 -0
- package/skills/abelien-harness/contract/action-registry.md +76 -0
- package/skills/abelien-harness/contract/workflow-spec.md +12 -0
- package/skills/abelien-harness/contracts/README.md +109 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-design-example-without-result-checks.json +24 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-postcondition-without-entry.json +31 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-transport-in-definition.json +32 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-unknown-effect.json +33 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-async-web-search.json +45 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-implementation-dependent-build.json +32 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-local-change-scope.json +31 -0
- package/skills/abelien-harness/contracts/examples/ActionError/invalid-missing-submission-state.json +8 -0
- package/skills/abelien-harness/contracts/examples/ActionError/invalid-transient-after-submit.json +10 -0
- package/skills/abelien-harness/contracts/examples/ActionError/invalid-unknown-retried.json +9 -0
- package/skills/abelien-harness/contracts/examples/ActionError/valid-config-blocked.json +9 -0
- package/skills/abelien-harness/contracts/examples/ActionError/valid-design-conflict.json +24 -0
- package/skills/abelien-harness/contracts/examples/ActionError/valid-unknown-reconcile.json +9 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-fallback-with-guessed-points.json +47 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-missing-image-ref.json +94 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-mm-without-scale.json +104 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-ready-without-frame.json +100 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/valid-degraded-fallback.json +27 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/valid-ready.json +104 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/invalid-current-with-reasons.json +30 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/invalid-stale-without-reasons.json +15 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/valid-current.json +15 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/valid-stale-after-redraw.json +30 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-degraded-without-unknowns.json +17 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-design-example-string-inputs.json +19 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-fallback-on-ready.json +27 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/valid-degraded-fallback.json +27 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/valid-ready-evidence.json +17 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/invalid-accept-failed.json +6 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/invalid-empty-quality.json +4 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/valid-points-accept-degraded.json +7 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/valid-selection-ready-only.json +6 -0
- package/skills/abelien-harness/contracts/examples/ArtifactRecord/invalid-no-provenance.json +38 -0
- package/skills/abelien-harness/contracts/examples/ArtifactRecord/valid-degraded-points.json +44 -0
- package/skills/abelien-harness/contracts/examples/BomLine/invalid-placeholder-posing-as-purchased.json +24 -0
- package/skills/abelien-harness/contracts/examples/BomLine/invalid-placeholder-without-open-issues.json +20 -0
- package/skills/abelien-harness/contracts/examples/BomLine/invalid-purchased-without-identity-status.json +23 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-designed-substitute.json +24 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-placeholder.json +23 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-purchased-exact.json +24 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-purchased-series-only.json +24 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationAnswer/invalid-client-operation-id.json +17 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationAnswer/valid-accept.json +17 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/invalid-missing-version.json +8 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/invalid-zero-semantics-version.json +9 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/valid-selection-card.json +9 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationRequest/invalid-no-options.json +20 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationRequest/invalid-ui-copy-in-option.json +25 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationRequest/valid-hardware-card.json +27 -0
- package/skills/abelien-harness/contracts/examples/DispatchClaim/invalid-claim-without-fence.json +44 -0
- package/skills/abelien-harness/contracts/examples/DispatchClaim/valid-claim.json +45 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/invalid-bound-unresolved-determinism.json +78 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/invalid-unbound-with-binding-digest.json +69 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-bound-module.json +70 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-bound-studio-tool.json +78 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-unbound.json +69 -0
- package/skills/abelien-harness/contracts/examples/EventCursor/invalid-negative.json +4 -0
- package/skills/abelien-harness/contracts/examples/EventCursor/valid-fresh-tree.json +4 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-legacy-state-name.json +14 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-step-event-without-step.json +26 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-zero-sequence.json +17 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-late-receipt-history.json +18 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-operation-accepted.json +17 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-step-waiting-on-card.json +27 -0
- package/skills/abelien-harness/contracts/examples/ExecutionClaim/invalid-zero-fence.json +7 -0
- package/skills/abelien-harness/contracts/examples/ExecutionClaim/valid-after-takeover.json +7 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/invalid-fence-in-identity.json +19 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/invalid-missing-target-revision.json +13 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/valid-rework.json +20 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/valid-web-search.json +18 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/invalid-alias-claimed-frozen.json +77 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/invalid-runtime-version-alias.json +77 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/valid-legacy-mapping.json +59 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/valid-runtime-run.json +77 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-credential-in-entry.json +23 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-module-without-export.json +19 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-studio-tool-with-path.json +24 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-unresolved-determinism.json +23 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-http.json +23 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-module.json +20 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-studio-tool.json +23 -0
- package/skills/abelien-harness/contracts/examples/InputDigestSubject/invalid-shorthand-input-ref.json +22 -0
- package/skills/abelien-harness/contracts/examples/InputDigestSubject/invalid-transport-field.json +32 -0
- package/skills/abelien-harness/contracts/examples/InputDigestSubject/valid-web-search.json +31 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/invalid-prepared-but-submitted.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/invalid-unknown-not-submitted.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/valid-accepted.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/valid-prepared.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/valid-unknown.json +44 -0
- package/skills/abelien-harness/contracts/examples/PortError/invalid-unknown-code.json +4 -0
- package/skills/abelien-harness/contracts/examples/PortError/valid-fence-stale.json +9 -0
- package/skills/abelien-harness/contracts/examples/Receipt/invalid-failed-without-error.json +15 -0
- package/skills/abelien-harness/contracts/examples/Receipt/invalid-missing-implementation-identity.json +19 -0
- package/skills/abelien-harness/contracts/examples/Receipt/invalid-succeeded-with-error.json +44 -0
- package/skills/abelien-harness/contracts/examples/Receipt/valid-failed.json +39 -0
- package/skills/abelien-harness/contracts/examples/Receipt/valid-succeeded.json +20 -0
- package/skills/abelien-harness/contracts/examples/Ref/invalid-digest-with-prefix.json +5 -0
- package/skills/abelien-harness/contracts/examples/Ref/invalid-shorthand-string.json +1 -0
- package/skills/abelien-harness/contracts/examples/Ref/valid-concept-image.json +5 -0
- package/skills/abelien-harness/contracts/examples/ResourceRecord/invalid-digest-without-prefix.json +19 -0
- package/skills/abelien-harness/contracts/examples/ResourceRecord/invalid-renamed-meta.json +13 -0
- package/skills/abelien-harness/contracts/examples/ResourceRecord/valid-existing-store-shape.json +19 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/invalid-child-without-parent-step.json +27 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/invalid-runtime-without-manifest.json +21 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/valid-legacy-child.json +27 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/valid-root.json +21 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-child-run-on-model-step.json +270 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-legacy-state-name.json +153 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-legacy-without-registration.json +266 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-waiting-without-reason.json +268 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-cancelled-late-result-rework.json +139 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-legacy-hardware-subflow.json +272 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-parallel-join-degraded.json +153 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-missing-fit-envelope.json +27 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-uppercase-id.json +43 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-view-transform-fields.json +44 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/valid-speaker-1.json +43 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/valid-speaker-2.json +43 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-box-with-diameter.json +29 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-missing-reaction-ids.json +11 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-two-level-path.json +11 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-zero-quantity.json +12 -0
- package/skills/abelien-harness/contracts/examples/Slot/valid-shared-power.json +12 -0
- package/skills/abelien-harness/contracts/examples/Slot/valid-speaker-with-zone.json +33 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/invalid-child-run-on-cli.json +23 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/invalid-waiting-without-reason.json +19 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/valid-subflow.json +31 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/valid-waiting-external.json +23 -0
- package/skills/abelien-harness/contracts/examples/TargetRevisionRef/invalid-extra-parent.json +6 -0
- package/skills/abelien-harness/contracts/examples/TargetRevisionRef/valid-revision-4.json +5 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/invalid-configuration-with-source-error.json +12 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/invalid-confirmation-without-subject.json +4 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-budget.json +6 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-configuration.json +12 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-confirmation.json +13 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-data-dependency.json +18 -0
- package/skills/abelien-harness/contracts/examples/expectations.json +294 -0
- package/skills/abelien-harness/contracts/index.d.mts +32 -0
- package/skills/abelien-harness/contracts/index.mjs +46 -0
- package/skills/abelien-harness/contracts/ports/memory.d.mts +11 -0
- package/skills/abelien-harness/contracts/ports/memory.mjs +349 -0
- package/skills/abelien-harness/contracts/ports/ports.d.ts +115 -0
- package/skills/abelien-harness/contracts/schemas/action.v1.json +330 -0
- package/skills/abelien-harness/contracts/schemas/artifact.v1.json +102 -0
- package/skills/abelien-harness/contracts/schemas/confirmation.v1.json +64 -0
- package/skills/abelien-harness/contracts/schemas/cross-domain.v1.json +241 -0
- package/skills/abelien-harness/contracts/schemas/error.v1.json +70 -0
- package/skills/abelien-harness/contracts/schemas/event.v1.json +204 -0
- package/skills/abelien-harness/contracts/schemas/execution-identity.v1.json +72 -0
- package/skills/abelien-harness/contracts/schemas/ref.v1.json +43 -0
- package/skills/abelien-harness/contracts/schemas/run-snapshot.v1.json +176 -0
- package/skills/abelien-harness/contracts/schemas/store.v1.json +209 -0
- package/skills/abelien-harness/contracts/types.d.ts +620 -0
- package/skills/abelien-harness/contracts/validate.mjs +164 -0
- package/skills/abelien-harness/runtime/README.md +103 -0
- package/skills/abelien-harness/runtime/conformance/README.md +32 -0
- package/skills/abelien-harness/runtime/conformance/artifact-store.mjs +167 -0
- package/skills/abelien-harness/runtime/conformance/execution-store.mjs +346 -0
- package/skills/abelien-harness/runtime/conformance/fixtures.mjs +56 -0
- package/skills/abelien-harness/runtime/conformance/index.mjs +71 -0
- package/skills/abelien-harness/runtime/engine.mjs +1021 -0
- package/skills/abelien-harness/runtime/errors.mjs +80 -0
- package/skills/abelien-harness/runtime/ids.mjs +25 -0
- package/skills/abelien-harness/runtime/index.mjs +15 -0
- package/skills/abelien-harness/runtime/legacy/definitions.mjs +115 -0
- package/skills/abelien-harness/runtime/legacy/external-recovery.mjs +48 -0
- package/skills/abelien-harness/runtime/legacy/workflow-store.mjs +183 -0
- package/skills/abelien-harness/runtime/ports/file/artifact-store.mjs +103 -0
- package/skills/abelien-harness/runtime/ports/file/common.mjs +100 -0
- package/skills/abelien-harness/runtime/ports/file/execution-store.mjs +248 -0
- package/skills/abelien-harness/runtime/ports/file/index.mjs +23 -0
- package/skills/abelien-harness/runtime/ports/file/resource-store.mjs +51 -0
- package/skills/abelien-harness/runtime/snapshot.mjs +96 -0
- package/skills/abelien-harness/runtime/testing/index.mjs +123 -0
- package/skills/abelien-harness/runtime/testing/scenarios.mjs +343 -0
- package/skills/abelien-harness/runtime/workflow/flows.mjs +38 -0
- package/skills/abelien-harness/runtime/workflow/httl.mjs +77 -0
- package/skills/abelien-harness/runtime/workflow/index.mjs +168 -0
- package/skills/abelien-harness/runtime/workflow/legacy-flow.mjs +156 -0
- package/skills/abelien-harness/runtime/workflow/view.mjs +66 -0
- package/skills/abelien-harness/scripts/ab.mjs +45 -589
- package/skills/abelien-harness/scripts/action-cli.mjs +54 -0
- package/skills/abelien-harness/scripts/action-docs.mjs +293 -0
- package/skills/abelien-harness/scripts/action-registry.mjs +423 -0
- package/skills/abelien-harness/scripts/store.mjs +212 -0
- package/skills/abelien-harness/scripts/template.mjs +22 -0
- package/skills/abelien-reference/SKILL.md +1 -1
- package/skills/abelien-reference/actions/reference.finalize.json +48 -0
- package/skills/abelien-reference/actions/reference.page.json +28 -0
- package/skills/abelien-reference/actions/reference.research.json +68 -0
- package/skills/abelien-reference/bindings.json +78 -0
- package/skills/abelien-reference/contract/host-tools.generated.json +2386 -0
- package/skills/abelien-reference/domain.json +7 -2
- package/skills/abelien-reference/references/actions.generated.md +295 -0
- package/skills/abelien-reference/references/research-contract.md +4 -34
- package/skills/abelien-reference/schemas/finalize-input.v1.json +16 -0
- package/skills/abelien-reference/schemas/host-tools.v1.json +31 -0
- package/skills/abelien-reference/schemas/research-input.v1.json +142 -0
- package/skills/abelien-structure/SKILL.md +5 -0
- package/skills/abelien-structure/domain.json +95 -0
- package/skills/abelien-structure/references/skeleton.md +54 -0
- package/skills/abelien-structure/references/structure-reasonableness.md +3 -3
- package/skills/abelien-structure/schemas/layout-check-input.v1.json +13 -0
- package/skills/abelien-structure/schemas/layout-check-result.v1.json +57 -0
- package/skills/abelien-structure/schemas/layout-proposal.v1.json +61 -0
- package/skills/abelien-structure/schemas/layout-request-input.v1.json +79 -0
- package/skills/abelien-structure/schemas/layout-request.v1.json +105 -0
- package/skills/abelien-structure/schemas/skeleton.v1.json +183 -0
- package/skills/abelien-structure/schemas/swap-candidates-input.v1.json +50 -0
- package/skills/abelien-structure/schemas/swap-candidates-result.v1.json +46 -0
- package/skills/abelien-structure/scripts/geometry.mjs +141 -0
- package/skills/abelien-structure/scripts/layout.mjs +518 -0
- package/skills/abelien-structure/scripts/schemas.mjs +28 -0
- package/skills/abelien-structure/scripts/swap.mjs +79 -0
- package/skills/abelien-workspace/SKILL.md +2 -1
- package/skills/abelien-workspace/actions/cad.build.json +29 -0
- package/skills/abelien-workspace/actions/component.search.json +27 -0
- package/skills/abelien-workspace/actions/image.generate.json +29 -0
- package/skills/abelien-workspace/actions/image.import.json +30 -0
- package/skills/abelien-workspace/actions/question.card.json +26 -0
- package/skills/abelien-workspace/actions/studio.prepare.json +28 -0
- package/skills/abelien-workspace/actions/visual.review.json +31 -0
- package/skills/abelien-workspace/actions/workspace.journey-next.json +30 -0
- package/skills/abelien-workspace/actions/workspace.lanes-next.json +30 -0
- package/skills/abelien-workspace/assets/journey-stage-plan.json +20 -20
- package/skills/abelien-workspace/bindings.json +187 -0
- package/skills/abelien-workspace/contract/host-tools.generated.json +901 -0
- package/skills/abelien-workspace/domain.json +17 -2
- package/skills/abelien-workspace/references/actions.generated.md +361 -0
- package/skills/abelien-workspace/references/journey-stage-plan.md +14 -14
- package/skills/abelien-workspace/schemas/host-tools.v1.json +173 -0
- package/skills/abelien-workspace/schemas/journey-next-input.v1.json +55 -0
- package/skills/abelien-workspace/schemas/journey-next-result.v1.json +100 -0
- package/skills/abelien-workspace/schemas/lanes-next-input.v1.json +37 -0
- package/skills/abelien-workspace/schemas/lanes-next-result.v1.json +54 -0
- package/skills/abelien-workspace/schemas/plan-common.v1.json +34 -0
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@ npx 可安装的多 agent skill harness:**通用内核 + 可插拔域包**。
|
|
|
12
12
|
[abelien-guide](skills/abelien-guide/SKILL.md)(对话调度与沟通)· [abelien-clarify](skills/abelien-clarify/SKILL.md)(需求澄清只读快照)。
|
|
13
13
|
领域层:[abelien-hardware](skills/abelien-hardware/SKILL.md)(三级分类、OSS 召回、联网补位、本地选型与修订)·
|
|
14
14
|
[abelien-algorithm](skills/abelien-algorithm/SKILL.md)(基于已验证硬件、官方资料优先的联网算法选型)·
|
|
15
|
-
[abelien-appearance](skills/abelien-appearance/SKILL.md) 与 [abelien-structure](skills/abelien-structure/SKILL.md)
|
|
16
|
-
宿主包:[abelien-structure-worker](skills/abelien-structure-worker/SKILL.md)(Structure Worker 与 `structure.*` 宿主专用能力)·
|
|
15
|
+
[abelien-appearance](skills/abelien-appearance/SKILL.md) 与 [abelien-structure](skills/abelien-structure/SKILL.md)(外观与机械结构;读图出点位、骨架布局与换件条件的确定性动作)·
|
|
16
|
+
宿主包:[abelien-structure-worker](skills/abelien-structure-worker/SKILL.md)(Structure Worker 与 14 个 `structure.*` 宿主专用能力)·
|
|
17
17
|
[abelien-3dgen](skills/abelien-3dgen/SKILL.md)(四家 provider 的 3D 构件生成,经 `ab generate 3d` 与宿主 `mesh.generate` 使用)。
|
|
18
18
|
|
|
19
19
|
## Quickstart
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abelien-harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "npx-installable multi-agent skill harness: generic kernel + pluggable domain packs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"test": "node --test",
|
|
22
22
|
"eval": "node eval/run.mjs",
|
|
23
23
|
"render:journey-plan": "node tools/render-journey-plan.mjs",
|
|
24
|
+
"render:actions": "node tools/render-actions.mjs",
|
|
24
25
|
"prepare": "node scripts/install-hooks.mjs",
|
|
25
26
|
"branch:new": "node scripts/new-branch.mjs",
|
|
26
27
|
"sync": "node scripts/sync.mjs",
|
|
@@ -29,6 +29,7 @@ metadata:
|
|
|
29
29
|
4. 绑定:`algorithm.research`(`purpose=hardware`,查询带 `component_id`)→ `algorithm.finalize`(`operation=bind`,`research` 格式见 [algorithm-bindings.v1](schemas/algorithm-bindings.v1.json))。来源只写 `research_id` 与 `page_id`,回执由 Harness 从自己存下的正文填写。
|
|
30
30
|
5. 宿主在每个阶段开跑前用只读的 `algorithm.lane-state` 查当前需求有没有已提议的候选、候选有没有绑定到当前硬件,映射成 `workspace.lanes-next` 的 artifacts。
|
|
31
31
|
6. 已有的 `user-journey-algorithm` workflow(先有 verified 硬件再研究)保持可用,供不走车道的宿主使用。
|
|
32
|
+
7. 各动作的参数、取值范围与错误码见[动作参数与错误手册](references/actions.generated.md)(由动作定义生成,以它为准)。
|
|
32
33
|
|
|
33
34
|
## 核心边界
|
|
34
35
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.candidates",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "核验 Agent 基于 implementation 研究为每个 reaction 提出的候选实现:引用须逐字出现在本次研究存下的正文,候选只能引用为自己 reaction 检索的页面,库内算法须来自研究输入的库清单;每个 reaction 要么有候选、要么写明未解决原因;保存为 status=proposed,不依赖硬件",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/candidates-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/candidates-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.candidates",
|
|
10
|
+
"artifact.read",
|
|
11
|
+
"artifact.write"
|
|
12
|
+
],
|
|
13
|
+
"effects": [
|
|
14
|
+
"data.read",
|
|
15
|
+
"artifact.write"
|
|
16
|
+
],
|
|
17
|
+
"determinism": "deterministic",
|
|
18
|
+
"cache_policy": {
|
|
19
|
+
"mode": "disabled",
|
|
20
|
+
"allow_bypass": true
|
|
21
|
+
},
|
|
22
|
+
"errors": {
|
|
23
|
+
"VALIDATION": {
|
|
24
|
+
"category": "source",
|
|
25
|
+
"description": "research_id 不是 collected 的 implementation 研究、引用不在本次研究存下的正文、候选引用了别的 reaction 的页面、库内算法不在研究的库清单,或有 reaction 既没有候选也没有写明未解决原因",
|
|
26
|
+
"recovery": "correct_input"
|
|
27
|
+
},
|
|
28
|
+
"ALGORITHM_HOST": {
|
|
29
|
+
"category": "config",
|
|
30
|
+
"description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
|
|
31
|
+
"recovery": "await_configuration"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"result_checks": [
|
|
35
|
+
{
|
|
36
|
+
"kind": "output_schema"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"kind": "ref_integrity"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"completion": "validated_result"
|
|
43
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.finalize",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "把 Agent 基于硬件型号和官方联网证据做出的算法绑定归一化为版本化选型资源;operation=bind 时候选取自 algorithm.candidates,来源回执从 Harness 自己存下的研究正文解析,硬件基线尚未 verified 时结果固定为 needs_confirmation",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/finalize-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/finalize-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.finalize",
|
|
10
|
+
"artifact.read",
|
|
11
|
+
"artifact.write"
|
|
12
|
+
],
|
|
13
|
+
"effects": [
|
|
14
|
+
"data.read",
|
|
15
|
+
"artifact.write"
|
|
16
|
+
],
|
|
17
|
+
"determinism": "deterministic",
|
|
18
|
+
"cache_policy": {
|
|
19
|
+
"mode": "disabled",
|
|
20
|
+
"allow_bypass": true
|
|
21
|
+
},
|
|
22
|
+
"errors": {
|
|
23
|
+
"VALIDATION": {
|
|
24
|
+
"category": "source",
|
|
25
|
+
"description": "operation 不对、硬件基线缺失或修订过期(select 还要求 verified)、reaction 不完整或没覆盖全部需求、来源不是一手资料或没有可核对的回执、绑定没选该 reaction 已提议的候选",
|
|
26
|
+
"recovery": "correct_input"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"result_checks": [
|
|
30
|
+
{
|
|
31
|
+
"kind": "output_schema"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"kind": "ref_integrity"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"completion": "validated_result"
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.lane-state",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "只读:按本草稿已存的资源回答当前需求有没有已提议的候选(落点、reaction、limits 与研究时一致),以及这些候选有没有绑定到给定的硬件选型 id 与 revision;宿主把结果映射成 workspace.lanes-next 的 artifacts",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/lane-state-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/lane-state-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.lane-state",
|
|
10
|
+
"artifact.read"
|
|
11
|
+
],
|
|
12
|
+
"effects": [
|
|
13
|
+
"data.read"
|
|
14
|
+
],
|
|
15
|
+
"determinism": "deterministic",
|
|
16
|
+
"cache_policy": {
|
|
17
|
+
"mode": "disabled",
|
|
18
|
+
"allow_bypass": true
|
|
19
|
+
},
|
|
20
|
+
"errors": {
|
|
21
|
+
"VALIDATION": {
|
|
22
|
+
"category": "source",
|
|
23
|
+
"description": "字段不在表内、需求不合规,或硬件选型 ID 与修订不成对",
|
|
24
|
+
"recovery": "correct_input"
|
|
25
|
+
},
|
|
26
|
+
"ALGORITHM_HOST": {
|
|
27
|
+
"category": "config",
|
|
28
|
+
"description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
|
|
29
|
+
"recovery": "await_configuration"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"result_checks": [
|
|
33
|
+
{
|
|
34
|
+
"kind": "output_schema"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"completion": "validated_result"
|
|
38
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.research",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "执行 Agent 的检索计划并保存证据:purpose=implementation 只凭需求检索实现资料(可与硬件选型并行),purpose=hardware 检索已选型号的厂商资料;Volc 检索(每次最多 5 条)与公开 HTTPS 页面安全直读,正文按 sha256 存证;每条付费检索先存 sent 再发送,重跑复用已完成检索、结果未知时要求对账而不重发;同一请求完成后重复运行直接返回已有结果",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/research-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/research-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.research",
|
|
10
|
+
"artifact.read",
|
|
11
|
+
"artifact.write"
|
|
12
|
+
],
|
|
13
|
+
"effects": [
|
|
14
|
+
"data.read",
|
|
15
|
+
"network.read",
|
|
16
|
+
"artifact.write",
|
|
17
|
+
"budget.consume"
|
|
18
|
+
],
|
|
19
|
+
"determinism": "nondeterministic",
|
|
20
|
+
"cache_policy": {
|
|
21
|
+
"mode": "disabled_by_default",
|
|
22
|
+
"allow_bypass": true
|
|
23
|
+
},
|
|
24
|
+
"errors": {
|
|
25
|
+
"VALIDATION": {
|
|
26
|
+
"category": "source",
|
|
27
|
+
"description": "输入不合规:字段不在表内、用途不对、reaction 不是 1–20 条、库清单重复、检索条目不是 1–8 条或指向不存在的 reaction/零件,或 hardware 用途的选型缺失或修订过期",
|
|
28
|
+
"recovery": "correct_input"
|
|
29
|
+
},
|
|
30
|
+
"ALGORITHM_WEB_CONFIG": {
|
|
31
|
+
"category": "config",
|
|
32
|
+
"description": "缺少检索凭据或网络配置非法;在任何请求之前失败",
|
|
33
|
+
"recovery": "await_configuration"
|
|
34
|
+
},
|
|
35
|
+
"ALGORITHM_WEB_CHECKPOINT_REQUIRED": {
|
|
36
|
+
"category": "config",
|
|
37
|
+
"description": "计划里有付费检索,但宿主没有提供检查点;在任何请求之前拒绝",
|
|
38
|
+
"recovery": "await_configuration"
|
|
39
|
+
},
|
|
40
|
+
"ALGORITHM_HOST": {
|
|
41
|
+
"category": "config",
|
|
42
|
+
"description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
|
|
43
|
+
"recovery": "await_configuration"
|
|
44
|
+
},
|
|
45
|
+
"ALGORITHM_WEB_RECONCILIATION_REQUIRED": {
|
|
46
|
+
"category": "unknown",
|
|
47
|
+
"description": "检查点里有已发送、结果未知的检索,或已存证据与本请求不符;不会自动重发,需对账",
|
|
48
|
+
"recovery": "reconcile"
|
|
49
|
+
},
|
|
50
|
+
"ALGORITHM_WEB_RESPONSE": {
|
|
51
|
+
"category": "unknown",
|
|
52
|
+
"description": "检索服务的回执格式不符;按原检查点对账",
|
|
53
|
+
"recovery": "reconcile"
|
|
54
|
+
},
|
|
55
|
+
"CAPABILITY_CHECKPOINT_CONFLICT": {
|
|
56
|
+
"category": "unknown",
|
|
57
|
+
"description": "内核码:同一请求并发运行时,后写入检查点者失败",
|
|
58
|
+
"recovery": "reconcile"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"result_checks": [
|
|
62
|
+
{
|
|
63
|
+
"kind": "output_schema"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"kind": "ref_integrity"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"completion": "validated_result"
|
|
70
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "abelien.bindings.v1",
|
|
3
|
+
"description": "本包的缺省部署 profile:全部动作由本包模块实现。",
|
|
4
|
+
"bindings": [
|
|
5
|
+
{
|
|
6
|
+
"action_id": "algorithm.research",
|
|
7
|
+
"transport": "module",
|
|
8
|
+
"location": "local",
|
|
9
|
+
"effects": [],
|
|
10
|
+
"cancel": "unsupported",
|
|
11
|
+
"submission": {
|
|
12
|
+
"idempotent_submit": true,
|
|
13
|
+
"query_by_operation": true,
|
|
14
|
+
"remote_task_identity": "none",
|
|
15
|
+
"not_found_definitive": false
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"action_id": "algorithm.candidates",
|
|
20
|
+
"transport": "module",
|
|
21
|
+
"location": "local",
|
|
22
|
+
"effects": [],
|
|
23
|
+
"cancel": "unsupported",
|
|
24
|
+
"submission": {
|
|
25
|
+
"idempotent_submit": true,
|
|
26
|
+
"query_by_operation": false,
|
|
27
|
+
"remote_task_identity": "none",
|
|
28
|
+
"not_found_definitive": true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"action_id": "algorithm.lane-state",
|
|
33
|
+
"transport": "module",
|
|
34
|
+
"location": "local",
|
|
35
|
+
"effects": [],
|
|
36
|
+
"cancel": "unsupported",
|
|
37
|
+
"submission": {
|
|
38
|
+
"idempotent_submit": true,
|
|
39
|
+
"query_by_operation": false,
|
|
40
|
+
"remote_task_identity": "none",
|
|
41
|
+
"not_found_definitive": true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"action_id": "algorithm.finalize",
|
|
46
|
+
"transport": "module",
|
|
47
|
+
"location": "local",
|
|
48
|
+
"effects": [],
|
|
49
|
+
"cancel": "unsupported",
|
|
50
|
+
"submission": {
|
|
51
|
+
"idempotent_submit": true,
|
|
52
|
+
"query_by_operation": false,
|
|
53
|
+
"remote_task_identity": "none",
|
|
54
|
+
"not_found_definitive": true
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|