rhachet-roles-ehmpathy 1.0.0 → 1.1.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/dist/.test/getContextOpenAI.js +2 -1
- package/dist/.test/getContextOpenAI.js.map +1 -1
- package/dist/contract/commands/codegenBriefOptions.js +1 -0
- package/dist/contract/commands/codegenBriefOptions.js.map +1 -1
- package/dist/contract/sdk/index.d.ts +1 -0
- package/dist/contract/sdk/index.js +6 -0
- package/dist/contract/sdk/index.js.map +1 -0
- package/dist/data/sdk/sdkOpenAi.js +5 -1
- package/dist/data/sdk/sdkOpenAi.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/logic/artifact/asDotRhachetFile.d.ts +5 -0
- package/dist/logic/artifact/asDotRhachetFile.js +16 -0
- package/dist/logic/artifact/asDotRhachetFile.js.map +1 -0
- package/dist/logic/artifact/genLoopFeedback.d.ts +18 -0
- package/dist/logic/artifact/genLoopFeedback.js +40 -0
- package/dist/logic/artifact/genLoopFeedback.js.map +1 -0
- package/dist/logic/artifact/genStepArtSet.d.ts +2 -1
- package/dist/logic/artifact/genStepArtSet.js +24 -4
- package/dist/logic/artifact/genStepArtSet.js.map +1 -1
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.js +7 -0
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.js.map +1 -1
- package/dist/logic/artifact/genStepResetFeedback.d.ts +12 -0
- package/dist/logic/artifact/genStepResetFeedback.js +27 -0
- package/dist/logic/artifact/genStepResetFeedback.js.map +1 -0
- package/dist/logic/artifact/genStepSwapArtifact.d.ts +57 -0
- package/dist/logic/artifact/genStepSwapArtifact.js +58 -0
- package/dist/logic/artifact/genStepSwapArtifact.js.map +1 -0
- package/dist/logic/artifact/genStepSwapArtifact.test.js +131 -0
- package/dist/logic/artifact/genStepSwapArtifact.test.js.map +1 -0
- package/dist/logic/roles/architect/.briefs/ubiqlang.ambiguous-from-overload.md +1 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.treestruct.md +85 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.definition.md +115 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct._.md +112 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.gravity.md +89 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.1.perspectives.md +88 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.2.universal.md +82 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.3.relative.md +106 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.4.fractal.md +83 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p1.definition.md +182 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p1.examples.cont.md +82 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.acuity.md +107 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.breadth.md +118 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.depth.md +121 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p3.mode.md +68 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p3.rythm.md +56 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p1.universal.md +108 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p2.relative.md +76 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p3.directions.md +42 -0
- package/dist/logic/roles/bhrain/.briefs/distilisys.grammar.compressed.md +19 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.acuity.md +77 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.breadth.md +74 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.depth.md +77 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.distance.md +92 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.tradeoffs.md +107 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/composite/<triangulate>[concept].md +66 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoom>._.md +124 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[acuity]<sharpen>[concept].md +53 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[breadth]<decompose>[concept].md +67 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[depth]<abstractify>[concept].md +124 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[acuity]<blurren>[concept].md +56 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[breadth]<broaden>[concept].md +71 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[depth]<elaborate>[concept].md +74 -0
- package/dist/logic/roles/bhrain/.briefs/terms.motive.intent.goal.md +46 -0
- package/dist/logic/roles/bhrain/.briefs/trait.ocd.md +5 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.d.ts +10 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.js +15 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.js.map +1 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.d.ts +13 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.js +21 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.js.map +1 -0
- package/dist/logic/roles/bhrain/getBhrainRole.d.ts +2 -0
- package/dist/logic/roles/bhrain/getBhrainRole.js +27 -0
- package/dist/logic/roles/bhrain/getBhrainRole.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.d.ts +51 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.js +102 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.js +59 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.template.md +127 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.d.ts +15 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.js +91 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.js +33 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.d.ts +49 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.js +122 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.js +59 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.template.md +125 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.d.ts +53 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.js +126 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.js +61 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.template.md +105 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.d.ts +24 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.js +118 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.js +38 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.d.ts +45 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.js +115 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.js +59 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.d.ts +24 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js +64 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.template.md +143 -0
- package/dist/logic/roles/designer/.briefs/declarative-over-imperative.md +79 -0
- package/dist/logic/roles/designer/.briefs/declarative-over-imperative.stub.md +14 -0
- package/dist/logic/roles/designer/.briefs/pit-of-success.md +70 -0
- package/dist/logic/roles/designer/.briefs/pit-of-success.stub.md +3 -0
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js +4 -2
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js.map +1 -1
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.template.md +173 -0
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js +1 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js.map +1 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.template.md +88 -0
- package/dist/logic/roles/designer/outlineVision/stepOutlineVision.template.md +47 -0
- package/dist/logic/roles/ecologist/.briefs/.readme.md +17 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys101.distilisys.grammar.md +221 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive._.summary.md +82 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p1.reversibility.entropy.md +39 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p2.option.chance.choice.md +140 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p3.chance.motive.polarity.threat.md +72 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p4.motive.horizon.md +101 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p5.motive.grammar.md +131 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources._.primitives.summary.md +108 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt1.primitive.time.md +56 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt2.primitive.energy.md +69 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt3.primitive.space.md +85 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt4.primitive.claim.md +113 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt5.composites.md +146 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys231.actor.claims.p1.primitive.exchange.md +130 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/.eco001.origin.prompt.md +11 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco001.overview.md +44 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.core-system-understanding.md +70 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p1.ecosystem-structure.md +62 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p2.trophic-dynamics.md +59 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p3.population-ecology.md +71 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p4.community-interactions.md +78 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco505.systems-thinking.md +62 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ001.overview.md +65 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.core-mechanics.md +65 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p1.supply-and-demand.md +76 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p2.opportunity-cost.md +106 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p3.marginal-analysis.md +79 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p4.rational-choice.md +81 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ201.market-structures-and-failures.md +81 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ301.production-and-growth.md +71 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ401.macro-systems.md +92 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.global-and-institutional.md +85 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.p1.game-theory.md +142 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.p4.behavioral-economics.md +146 -0
- package/dist/logic/roles/ecologist/.briefs/term.distillation.md +93 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.d.ts +24 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.js +57 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.js +11 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.d.ts +25 -0
- package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.js +90 -0
- package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.js.map +1 -0
- package/dist/logic/roles/ecologist/{distill/distillDomain.ActionsAndActors.d.ts → domain.sketch/stepStudyDomain.d.ts} +8 -3
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.js +65 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.js +60 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.template.md +93 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.d.ts +45 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.js +69 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.js +67 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.d.ts +25 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.js +85 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.template.md +160 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.d.ts +47 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.js +127 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.js +68 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.d.ts +26 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.js +92 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.template.md +173 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.d.ts +45 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.js +69 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.js +67 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.d.ts +25 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.js +85 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.template.md +160 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.d.ts +45 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.js +67 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.d.ts +0 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.d.ts +0 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.js +78 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.js +96 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.skill.d.ts +0 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.skill.js +72 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.template.md +92 -0
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.js +34 -27
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.js.map +1 -1
- package/dist/logic/roles/ecologist/getEcologistRole.d.ts +2 -0
- package/dist/logic/roles/ecologist/getEcologistRole.js +29 -0
- package/dist/logic/roles/ecologist/getEcologistRole.js.map +1 -0
- package/dist/logic/roles/getRoleRegistry.js +7 -1
- package/dist/logic/roles/getRoleRegistry.js.map +1 -1
- package/dist/logic/roles/mechanic/.briefs/architecture/bounded-contexts.md +61 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/directional-dependencies.md +73 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/domain-driven-design.md +61 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/ubiqlang.md +37 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.md +57 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.prompt.md +5 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.failfast.md +37 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.idempotency.md +63 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.immutability.md +48 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.narratives.md +74 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.single-responsibility.md +67 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.args.input-context.md +61 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.arrowonly.md +47 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.clear-contracts.md +53 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.tests.given-when-then.md +62 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.md +88 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.v2.md +98 -0
- package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.md +118 -0
- package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.stub.md +11 -0
- package/dist/logic/roles/mechanic/.briefs/style.compressed.md +29 -0
- package/dist/logic/roles/mechanic/.briefs/style.compressed.prompt.md +5 -0
- package/dist/logic/roles/mechanic/.briefs/style.names.treestruct.md +48 -0
- package/dist/logic/roles/mechanic/.briefs/style.names.ubiqlang.md +37 -0
- package/dist/logic/roles/mechanic/.briefs/style.words.lowercase.md +36 -0
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.template.md +46 -0
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.template.md +78 -0
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.template.md +75 -0
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.template.md +67 -0
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.js +1 -1
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.js.map +1 -1
- package/dist/logic/roles/mechanic/getMechanicRole.js +3 -137
- package/dist/logic/roles/mechanic/getMechanicRole.js.map +1 -1
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.d.ts +2 -0
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js +140 -0
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js.map +1 -0
- package/dist/logic/roles/mechanic/study/routeStudyAsk.template.md +73 -0
- package/dist/logic/roles/mechanic/write/.test/prior.template.md +21 -0
- package/dist/logic/roles/mechanic/write/loopWrite.d.ts +25 -0
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.d.ts +1 -0
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js +57 -0
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js.map +1 -0
- package/dist/logic/roles/mechanic/write/loopWrite.js +11 -0
- package/dist/logic/roles/mechanic/write/loopWrite.js.map +1 -0
- package/dist/logic/roles/mechanic/write/loopWrite.skill.d.ts +25 -0
- package/dist/logic/roles/mechanic/write/loopWrite.skill.js +100 -0
- package/dist/logic/roles/mechanic/write/loopWrite.skill.js.map +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.d.ts +22 -0
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.d.ts +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js +189 -0
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js.map +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.js +50 -0
- package/dist/logic/roles/mechanic/write/stepWrite.js.map +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.template.md +34 -0
- package/package.json +9 -6
- package/readme.md +1 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.d.ts +0 -17
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.js +0 -107
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.js +0 -76
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.d.ts +0 -17
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.js +0 -73
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.d.ts +0 -18
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.js +0 -73
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.js +0 -62
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.integration.test.js +0 -120
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.integration.test.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.js +0 -69
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.js.map +0 -1
- /package/dist/logic/{roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.d.ts → artifact/genStepSwapArtifact.test.d.ts} +0 -0
- /package/dist/logic/roles/{ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.d.ts → bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.d.ts} +0 -0
- /package/dist/logic/roles/{ecologist/distill/distillDomain.ActionsAndActors.integration.test.d.ts → bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.d.ts} +0 -0
|
@@ -2,13 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ROLE_MECHANIC = void 0;
|
|
4
4
|
const rhachet_1 = require("rhachet");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const genContextStitchTrail_1 = require("../../../.test/genContextStitchTrail");
|
|
8
|
-
const getContextOpenAI_1 = require("../../../.test/getContextOpenAI");
|
|
9
|
-
const getRefOrgPatterns_1 = require("./codediff/getRefOrgPatterns");
|
|
10
|
-
const routeMechanicCodePropose_1 = require("./codediff/routeMechanicCodePropose");
|
|
11
|
-
const getMechanicBrief_1 = require("./getMechanicBrief");
|
|
5
|
+
const getSkillCodePropose_1 = require("./skills/getSkillCodePropose");
|
|
6
|
+
const loopWrite_skill_1 = require("./write/loopWrite.skill");
|
|
12
7
|
exports.ROLE_MECHANIC = rhachet_1.Role.build({
|
|
13
8
|
slug: 'mechanic',
|
|
14
9
|
name: 'Mechanic',
|
|
@@ -23,135 +18,6 @@ exports.ROLE_MECHANIC = rhachet_1.Role.build({
|
|
|
23
18
|
Used to write and revise the actual logic that runs the system.
|
|
24
19
|
`.trim(),
|
|
25
20
|
traits: [],
|
|
26
|
-
skills: [
|
|
27
|
-
rhachet_1.RoleSkill.build({
|
|
28
|
-
slug: 'upsert',
|
|
29
|
-
route: routeMechanicCodePropose_1.routeMechanicCodePropose,
|
|
30
|
-
// : {
|
|
31
|
-
// target: {
|
|
32
|
-
// char: 't',
|
|
33
|
-
// desc: 'the target file or dir to upsert against',
|
|
34
|
-
// shape: 'string',
|
|
35
|
-
// },
|
|
36
|
-
// },
|
|
37
|
-
threads: {
|
|
38
|
-
lookup: {
|
|
39
|
-
target: {
|
|
40
|
-
source: 'process.argv',
|
|
41
|
-
char: 't',
|
|
42
|
-
desc: 'the target file or dir to upsert against',
|
|
43
|
-
type: 'string',
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
assess: (input) => typeof input.target === 'string',
|
|
47
|
-
instantiate: async (input) => {
|
|
48
|
-
const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target });
|
|
49
|
-
const claimsArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
50
|
-
uri: input.target + '.rhachet.claims.md', // todo: namespace within a .rhachet directory
|
|
51
|
-
});
|
|
52
|
-
const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
53
|
-
uri: input.target + '.rhachet.feedback.md',
|
|
54
|
-
});
|
|
55
|
-
const feedbackCodestyleArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
56
|
-
uri: input.target + '.rhachet.feedback.codestyle.md',
|
|
57
|
-
});
|
|
58
|
-
const judgementArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
59
|
-
uri: input.target + '.rhachet.judgement.md',
|
|
60
|
-
});
|
|
61
|
-
return {
|
|
62
|
-
artist: await (0, rhachet_1.enrollThread)({
|
|
63
|
-
role: 'artist',
|
|
64
|
-
stash: {
|
|
65
|
-
ask: input.ask,
|
|
66
|
-
art: { inflight: targetArt },
|
|
67
|
-
org: {
|
|
68
|
-
patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
|
|
69
|
-
},
|
|
70
|
-
scene: { coderefs: [] },
|
|
71
|
-
},
|
|
72
|
-
inherit: {
|
|
73
|
-
traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
|
|
74
|
-
},
|
|
75
|
-
}),
|
|
76
|
-
critic: await (0, rhachet_1.enrollThread)({
|
|
77
|
-
role: 'critic',
|
|
78
|
-
stash: {
|
|
79
|
-
art: {
|
|
80
|
-
feedback: feedbackArt,
|
|
81
|
-
feedbackCodestyle: feedbackCodestyleArt,
|
|
82
|
-
},
|
|
83
|
-
org: {
|
|
84
|
-
patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
inherit: {
|
|
88
|
-
traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
|
|
89
|
-
},
|
|
90
|
-
}),
|
|
91
|
-
student: await (0, rhachet_1.enrollThread)({
|
|
92
|
-
role: 'student',
|
|
93
|
-
stash: { art: { claims: claimsArt } },
|
|
94
|
-
}),
|
|
95
|
-
judge: await (0, rhachet_1.enrollThread)({
|
|
96
|
-
role: 'judge',
|
|
97
|
-
stash: { art: { judgement: judgementArt } },
|
|
98
|
-
}),
|
|
99
|
-
mechanic: await (0, rhachet_1.enrollThread)({
|
|
100
|
-
role: 'mechanic',
|
|
101
|
-
stash: {},
|
|
102
|
-
}),
|
|
103
|
-
};
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
context: {
|
|
107
|
-
lookup: {
|
|
108
|
-
apiKeyOpenai: {
|
|
109
|
-
source: 'process.env',
|
|
110
|
-
envar: 'PREP_OPENAI_KEY',
|
|
111
|
-
desc: 'the openai key to use',
|
|
112
|
-
type: 'string',
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
assess: (input) => typeof input.apiKeyOpenai === 'string',
|
|
116
|
-
instantiate: (input) => {
|
|
117
|
-
return {
|
|
118
|
-
...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
|
|
119
|
-
...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
|
|
120
|
-
...(0, genContextStitchTrail_1.genContextStitchTrail)(),
|
|
121
|
-
};
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
readme: `
|
|
125
|
-
### \`ask -r mechanic -s upsert\`
|
|
126
|
-
|
|
127
|
-
you can ask the mechanic to upsert the code in a target file or dir
|
|
128
|
-
- if it exists, it'll update
|
|
129
|
-
- if it doesn't, it'll create
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
\`\`\`sh
|
|
133
|
-
npx rhachet ask -r mechanic -s upsert -t ./path/to/file.ts "your ask"
|
|
134
|
-
\`\`\`
|
|
135
|
-
|
|
136
|
-
\`\`\`sh
|
|
137
|
-
npx rhachet ask \
|
|
138
|
-
--role mechanic \
|
|
139
|
-
--skill upsert \
|
|
140
|
-
--target ./path/to/file.ts \
|
|
141
|
-
"your ask"
|
|
142
|
-
\`\`\`
|
|
143
|
-
|
|
144
|
-
once it's self reviewed, it'll ask you for feedback
|
|
145
|
-
|
|
146
|
-
\`\`\`sh
|
|
147
|
-
? have notes? (Use arrow keys)
|
|
148
|
-
❯ no notes
|
|
149
|
-
yes notes
|
|
150
|
-
\`\`\`
|
|
151
|
-
|
|
152
|
-
it'll loop until you tell it you have \`no notes\`
|
|
153
|
-
`.trim(),
|
|
154
|
-
}),
|
|
155
|
-
],
|
|
21
|
+
skills: [loopWrite_skill_1.SKILL_WRITE, getSkillCodePropose_1.SKILL_CODE_PROPOSE],
|
|
156
22
|
});
|
|
157
23
|
//# sourceMappingURL=getMechanicRole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sEAAkE;AAClE,6DAAsD;AAEzC,QAAA,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;;;;;;;;GAQP,CAAC,IAAI,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,CAAC,6BAAW,EAAE,wCAAkB,CAAC;CAC1C,CAAC,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKILL_CODE_PROPOSE = void 0;
|
|
4
|
+
const rhachet_1 = require("rhachet");
|
|
5
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
6
|
+
const genContextLogTrail_1 = require("../../../../.test/genContextLogTrail");
|
|
7
|
+
const genContextStitchTrail_1 = require("../../../../.test/genContextStitchTrail");
|
|
8
|
+
const getContextOpenAI_1 = require("../../../../.test/getContextOpenAI");
|
|
9
|
+
const getRefOrgPatterns_1 = require("../codediff/getRefOrgPatterns");
|
|
10
|
+
const routeMechanicCodePropose_1 = require("../codediff/routeMechanicCodePropose");
|
|
11
|
+
const getMechanicBrief_1 = require("../getMechanicBrief");
|
|
12
|
+
exports.SKILL_CODE_PROPOSE = rhachet_1.RoleSkill.build({
|
|
13
|
+
slug: 'code.propose', // crafts some code
|
|
14
|
+
route: routeMechanicCodePropose_1.routeMechanicCodePropose,
|
|
15
|
+
// : {
|
|
16
|
+
// target: {
|
|
17
|
+
// char: 't',
|
|
18
|
+
// desc: 'the target file or dir to upsert against',
|
|
19
|
+
// shape: 'string',
|
|
20
|
+
// },
|
|
21
|
+
// },
|
|
22
|
+
threads: {
|
|
23
|
+
lookup: {
|
|
24
|
+
target: {
|
|
25
|
+
source: 'process.argv',
|
|
26
|
+
char: 't',
|
|
27
|
+
desc: 'the target file or dir to upsert against',
|
|
28
|
+
type: 'string',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
assess: (input) => typeof input.target === 'string',
|
|
32
|
+
instantiate: async (input) => {
|
|
33
|
+
const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target });
|
|
34
|
+
const claimsArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
35
|
+
uri: input.target + '.rhachet.claims.md', // todo: namespace within a .rhachet directory
|
|
36
|
+
});
|
|
37
|
+
const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
38
|
+
uri: input.target + '.rhachet.feedback.md',
|
|
39
|
+
});
|
|
40
|
+
const feedbackCodestyleArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
41
|
+
uri: input.target + '.rhachet.feedback.codestyle.md',
|
|
42
|
+
});
|
|
43
|
+
const judgementArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
44
|
+
uri: input.target + '.rhachet.judgement.md',
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
artist: await (0, rhachet_1.enrollThread)({
|
|
48
|
+
role: 'artist',
|
|
49
|
+
stash: {
|
|
50
|
+
ask: input.ask,
|
|
51
|
+
art: { inflight: targetArt },
|
|
52
|
+
org: {
|
|
53
|
+
patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
|
|
54
|
+
},
|
|
55
|
+
scene: { coderefs: [] },
|
|
56
|
+
},
|
|
57
|
+
inherit: {
|
|
58
|
+
traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
|
|
59
|
+
},
|
|
60
|
+
}),
|
|
61
|
+
critic: await (0, rhachet_1.enrollThread)({
|
|
62
|
+
role: 'critic',
|
|
63
|
+
stash: {
|
|
64
|
+
art: {
|
|
65
|
+
feedback: feedbackArt,
|
|
66
|
+
feedbackCodestyle: feedbackCodestyleArt,
|
|
67
|
+
},
|
|
68
|
+
org: {
|
|
69
|
+
patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
inherit: {
|
|
73
|
+
traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
student: await (0, rhachet_1.enrollThread)({
|
|
77
|
+
role: 'student',
|
|
78
|
+
stash: { art: { claims: claimsArt } },
|
|
79
|
+
}),
|
|
80
|
+
judge: await (0, rhachet_1.enrollThread)({
|
|
81
|
+
role: 'judge',
|
|
82
|
+
stash: { art: { judgement: judgementArt } },
|
|
83
|
+
}),
|
|
84
|
+
mechanic: await (0, rhachet_1.enrollThread)({
|
|
85
|
+
role: 'mechanic',
|
|
86
|
+
stash: {},
|
|
87
|
+
}),
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
context: {
|
|
92
|
+
lookup: {
|
|
93
|
+
apiKeyOpenai: {
|
|
94
|
+
source: 'process.env',
|
|
95
|
+
envar: 'PREP_OPENAI_KEY',
|
|
96
|
+
desc: 'the openai key to use',
|
|
97
|
+
type: 'string',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
assess: (input) => typeof input.apiKeyOpenai === 'string',
|
|
101
|
+
instantiate: (input) => {
|
|
102
|
+
return {
|
|
103
|
+
...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
|
|
104
|
+
...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
|
|
105
|
+
...(0, genContextStitchTrail_1.genContextStitchTrail)(),
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
readme: `
|
|
110
|
+
### \`ask -r mechanic -s code.propose\`
|
|
111
|
+
|
|
112
|
+
you can ask the mechanic to upsert the code in a target file or dir
|
|
113
|
+
- if it exists, it'll update
|
|
114
|
+
- if it doesn't, it'll create
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
\`\`\`sh
|
|
118
|
+
npx rhachet ask -r mechanic -s code.propose -t ./path/to/file.ts --ask "your ask"
|
|
119
|
+
\`\`\`
|
|
120
|
+
|
|
121
|
+
\`\`\`sh
|
|
122
|
+
npx rhachet ask \
|
|
123
|
+
--role mechanic \
|
|
124
|
+
--skill upsert \
|
|
125
|
+
--target ./path/to/file.ts \
|
|
126
|
+
"your ask"
|
|
127
|
+
\`\`\`
|
|
128
|
+
|
|
129
|
+
once it's self reviewed, it'll ask you for feedback
|
|
130
|
+
|
|
131
|
+
\`\`\`sh
|
|
132
|
+
? have notes? (Use arrow keys)
|
|
133
|
+
❯ no notes
|
|
134
|
+
yes notes
|
|
135
|
+
\`\`\`
|
|
136
|
+
|
|
137
|
+
it'll loop until you tell it you have \`no notes\`
|
|
138
|
+
`.trim(),
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=getSkillCodePropose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSkillCodePropose.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/skills/getSkillCodePropose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
directive
|
|
2
|
+
- <study><distill> the [ask]
|
|
3
|
+
- input = ask
|
|
4
|
+
- output =
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
ask: { summary: string },
|
|
8
|
+
claims: { lessons[], assumptions[], questions[] },
|
|
9
|
+
cases: {
|
|
10
|
+
use: { who, when, what }[],
|
|
11
|
+
test: { form = 'positive' | 'negative', given, when, then, because }[]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
```
|
|
15
|
+
- do not execute the [ask], only execute <study><distill>
|
|
16
|
+
|
|
17
|
+
context.role.traits
|
|
18
|
+
- maximally concise; prefer treestructs and outlines; maximize signal, minimize words
|
|
19
|
+
- systematically distill scenes with ubiquitous language
|
|
20
|
+
- uses treestructs and bullet points to maximize signal-to-noise
|
|
21
|
+
- explain .what and .why with comments for each code paragraph // and each code procedure /**
|
|
22
|
+
$.rhachet{inherit.traits}
|
|
23
|
+
|
|
24
|
+
context.role.skills
|
|
25
|
+
- tactic: <study>(ask) to determine the contract and requirements to declare in stubout
|
|
26
|
+
- declare the lessons, assumptions, and questions that you have
|
|
27
|
+
- produce a [[pool]] of [[case:use]], usecases to support
|
|
28
|
+
- produce a [[pool]] of [[case:test]], test cases to implement
|
|
29
|
+
- output =
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
ask: { summary: string },
|
|
33
|
+
claims: { lessons: { what, why }[], assumptions: { what, why }[], questions: { what, why }[] },
|
|
34
|
+
contract: { input, output },
|
|
35
|
+
cases: {
|
|
36
|
+
use: { who, when, what }[],
|
|
37
|
+
test: { form = 'positive' | 'negative', given, when, then, because }[]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
- tactic: <declare>([case:use])
|
|
42
|
+
- specify in terms of { who, when, what }
|
|
43
|
+
- look for functional boundary cases and frequent cases
|
|
44
|
+
- tactic: <declare>([case:test])
|
|
45
|
+
- specify in terms of { form = 'positive' | 'negative', given, when, then, because }
|
|
46
|
+
- look for hazards that could exist based on the contract or assumptions
|
|
47
|
+
$.rhachet{inherit.skills}
|
|
48
|
+
|
|
49
|
+
context.scene
|
|
50
|
+
$.rhachet{scene}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
directive
|
|
54
|
+
- <study><distill> the [ask]
|
|
55
|
+
- input = ask
|
|
56
|
+
- output =
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
ask: { summary: string },
|
|
60
|
+
claims: { lessons[], assumptions[], questions[] },
|
|
61
|
+
cases: {
|
|
62
|
+
use: { who, when, what }[],
|
|
63
|
+
test: { form = 'positive' | 'negative', given, when, then, because }[]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
- do not execute the [ask], only execute <study><distill>
|
|
68
|
+
|
|
69
|
+
--------------------------
|
|
70
|
+
|
|
71
|
+
ask =
|
|
72
|
+
|
|
73
|
+
$.rhachet{ask}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
you're an @[ecologist]. help envision the [option] the @[caller] is talking about
|
|
2
|
+
|
|
3
|
+
output the updated ```md of the "vision", only. update the [vision] doc based on the @[caller]s current [comment]
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
here's some .briefs on the skills you have, as a refresher
|
|
8
|
+
|
|
9
|
+
$.rhachet{briefs}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
[vision] =
|
|
14
|
+
```md
|
|
15
|
+
$.rhachet{vision}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
@[caller][comment] =
|
|
19
|
+
```md
|
|
20
|
+
$.rhachet{ask}
|
|
21
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const loopWrite: import("rhachet").Stitcher<import("rhachet").GStitcher<import("rhachet").Threads<{
|
|
2
|
+
mechanic: import("rhachet").RoleContext<"mechanic", {
|
|
3
|
+
art: {
|
|
4
|
+
inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
5
|
+
};
|
|
6
|
+
} & {
|
|
7
|
+
art: {
|
|
8
|
+
inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
11
|
+
caller: import("rhachet").RoleContext<"caller", {
|
|
12
|
+
ask: string;
|
|
13
|
+
art: {
|
|
14
|
+
feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string> | null;
|
|
15
|
+
references: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>[];
|
|
16
|
+
};
|
|
17
|
+
} & {
|
|
18
|
+
ask: string;
|
|
19
|
+
art: {
|
|
20
|
+
feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
21
|
+
};
|
|
22
|
+
}>;
|
|
23
|
+
}>, import("../../../../data/sdk/sdkOpenAi").ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("rhachet").ContextStitchTrail, {
|
|
24
|
+
feedback: import("rhachet-artifact-git").GitFile | null;
|
|
25
|
+
}>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const rhachet_1 = require("rhachet");
|
|
4
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
5
|
+
const test_fns_1 = require("test-fns");
|
|
6
|
+
const genContextLogTrail_1 = require("../../../../.test/genContextLogTrail");
|
|
7
|
+
const genContextStitchTrail_1 = require("../../../../.test/genContextStitchTrail");
|
|
8
|
+
const getContextOpenAI_1 = require("../../../../.test/getContextOpenAI");
|
|
9
|
+
const loopWrite_1 = require("./loopWrite");
|
|
10
|
+
describe('loopWrite', () => {
|
|
11
|
+
const context = {
|
|
12
|
+
...(0, genContextLogTrail_1.genContextLogTrail)(),
|
|
13
|
+
...(0, genContextStitchTrail_1.genContextStitchTrail)(),
|
|
14
|
+
...(0, getContextOpenAI_1.getContextOpenAI)(),
|
|
15
|
+
};
|
|
16
|
+
const route = loopWrite_1.loopWrite;
|
|
17
|
+
(0, test_fns_1.given)('we want it write a poem, from scratch', () => {
|
|
18
|
+
const askText = `
|
|
19
|
+
write a poem about brevity and concise, precise language
|
|
20
|
+
|
|
21
|
+
keep it between 3-5 lines
|
|
22
|
+
|
|
23
|
+
use the word precise at least once
|
|
24
|
+
`.trim();
|
|
25
|
+
const inflightArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: __dirname + '/.temp/loopWrite/poem.fromempty.inflight.md' }, { versions: true });
|
|
26
|
+
const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: __dirname + '/.temp/loopWrite/poem.fromempty.feedback.md' }, { versions: true });
|
|
27
|
+
beforeEach(async () => {
|
|
28
|
+
await inflightArt.del();
|
|
29
|
+
});
|
|
30
|
+
(0, test_fns_1.when)('executed', () => {
|
|
31
|
+
const threads = (0, test_fns_1.usePrep)(async () => ({
|
|
32
|
+
caller: await (0, rhachet_1.enrollThread)({
|
|
33
|
+
role: 'caller',
|
|
34
|
+
stash: {
|
|
35
|
+
ask: askText,
|
|
36
|
+
art: { feedback: feedbackArt, references: [] },
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
mechanic: await (0, rhachet_1.enrollThread)({
|
|
40
|
+
role: 'mechanic',
|
|
41
|
+
stash: {
|
|
42
|
+
ask: askText,
|
|
43
|
+
art: {
|
|
44
|
+
inflight: inflightArt,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
}),
|
|
48
|
+
}));
|
|
49
|
+
(0, test_fns_1.then)('upserts the artifact', async () => {
|
|
50
|
+
await (0, rhachet_1.enweaveOneStitcher)({ stitcher: route, threads }, context);
|
|
51
|
+
const { content } = await inflightArt.get().expect('isPresent');
|
|
52
|
+
expect(content).toContain('precise');
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=loopWrite.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopWrite.integration.test.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/write/loopWrite.integration.test.ts"],"names":[],"mappings":";;AAAA,qCAA2D;AAC3D,+DAA0D;AAC1D,uCAAsD;AAEtD,6EAA0E;AAC1E,mFAAgF;AAChF,yEAAsE;AACtE,2CAAwC;AAExC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG;QACd,GAAG,IAAA,uCAAkB,GAAE;QACvB,GAAG,IAAA,6CAAqB,GAAE;QAC1B,GAAG,IAAA,mCAAgB,GAAE;KACtB,CAAC;IACF,MAAM,KAAK,GAAG,qBAAS,CAAC;IAExB,IAAA,gBAAK,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAClD,MAAM,OAAO,GAAG;;;;;;KAMf,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,WAAW,GAAG,IAAA,yCAAkB,EACpC,EAAE,GAAG,EAAE,SAAS,GAAG,6CAA6C,EAAE,EAClE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,yCAAkB,EACpC,EAAE,GAAG,EAAE,SAAS,GAAG,6CAA6C,EAAE,EAClE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;QAEF,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,UAAU,EAAE,GAAG,EAAE;YACpB,MAAM,OAAO,GAAG,IAAA,kBAAO,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,MAAM,IAAA,sBAAY,EAAC;oBACzB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;qBAC/C;iBACF,CAAC;gBACF,QAAQ,EAAE,MAAM,IAAA,sBAAY,EAAC;oBAC3B,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,GAAG,EAAE;4BACH,QAAQ,EAAE,WAAW;yBACtB;qBACF;iBACF,CAAC;aACH,CAAC,CAAC,CAAC;YAEJ,IAAA,eAAI,EAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;gBACtC,MAAM,IAAA,4BAAkB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBAEhE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loopWrite = void 0;
|
|
4
|
+
const genLoopFeedback_1 = require("../../../artifact/genLoopFeedback");
|
|
5
|
+
const stepWrite_1 = require("./stepWrite");
|
|
6
|
+
exports.loopWrite = (0, genLoopFeedback_1.genLoopFeedback)({
|
|
7
|
+
stitchee: 'mechanic',
|
|
8
|
+
artee: 'inflight',
|
|
9
|
+
repeatee: stepWrite_1.stepWrite,
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=loopWrite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopWrite.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/write/loopWrite.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2CAAwC;AAE3B,QAAA,SAAS,GAAG,IAAA,iCAAe,EAAC;IACvC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,qBAAS;CACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const SKILL_WRITE: import("rhachet").RoleSkill<import("rhachet").GStitcher<import("rhachet").Threads<{
|
|
2
|
+
mechanic: import("rhachet").RoleContext<"mechanic", {
|
|
3
|
+
art: {
|
|
4
|
+
inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
5
|
+
};
|
|
6
|
+
} & {
|
|
7
|
+
art: {
|
|
8
|
+
inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
11
|
+
caller: import("rhachet").RoleContext<"caller", {
|
|
12
|
+
ask: string;
|
|
13
|
+
art: {
|
|
14
|
+
feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string> | null;
|
|
15
|
+
references: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>[];
|
|
16
|
+
};
|
|
17
|
+
} & {
|
|
18
|
+
ask: string;
|
|
19
|
+
art: {
|
|
20
|
+
feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
21
|
+
};
|
|
22
|
+
}>;
|
|
23
|
+
}>, import("../../../../data/sdk/sdkOpenAi").ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("rhachet").ContextStitchTrail, {
|
|
24
|
+
feedback: import("rhachet-artifact-git").GitFile | null;
|
|
25
|
+
}>>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKILL_WRITE = void 0;
|
|
4
|
+
const rhachet_1 = require("rhachet");
|
|
5
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
6
|
+
const genContextLogTrail_1 = require("../../../../.test/genContextLogTrail");
|
|
7
|
+
const genContextStitchTrail_1 = require("../../../../.test/genContextStitchTrail");
|
|
8
|
+
const getContextOpenAI_1 = require("../../../../.test/getContextOpenAI");
|
|
9
|
+
const asDotRhachetFile_1 = require("../../../artifact/asDotRhachetFile");
|
|
10
|
+
const getMechanicBrief_1 = require("../getMechanicBrief");
|
|
11
|
+
const loopWrite_1 = require("./loopWrite");
|
|
12
|
+
exports.SKILL_WRITE = (0, rhachet_1.genRoleSkill)({
|
|
13
|
+
slug: 'write',
|
|
14
|
+
route: loopWrite_1.loopWrite,
|
|
15
|
+
threads: {
|
|
16
|
+
lookup: {
|
|
17
|
+
target: {
|
|
18
|
+
source: 'process.argv',
|
|
19
|
+
char: 't',
|
|
20
|
+
desc: 'the target file or dir to write against',
|
|
21
|
+
type: 'string',
|
|
22
|
+
},
|
|
23
|
+
references: {
|
|
24
|
+
source: 'process.argv',
|
|
25
|
+
char: 'p',
|
|
26
|
+
desc: 'reference files to to use',
|
|
27
|
+
type: '?string', // todo: string []
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
assess: (input) => typeof input.target === 'string',
|
|
31
|
+
instantiate: async (input) => {
|
|
32
|
+
const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target }, { versions: true });
|
|
33
|
+
const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: (0, asDotRhachetFile_1.asDotRhachetDir)(input.target) + '.feedback.md' }, { versions: true });
|
|
34
|
+
const referenceArts = input.references
|
|
35
|
+
?.split(',')
|
|
36
|
+
.filter((uri) => !!uri) // allows , // todo: support optional vars
|
|
37
|
+
.map((reference) => (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: reference }, { access: 'readonly' })) ?? [];
|
|
38
|
+
return {
|
|
39
|
+
caller: await (0, rhachet_1.enrollThread)({
|
|
40
|
+
role: 'caller',
|
|
41
|
+
stash: {
|
|
42
|
+
ask: input.ask,
|
|
43
|
+
art: { feedback: feedbackArt, references: referenceArts },
|
|
44
|
+
},
|
|
45
|
+
}),
|
|
46
|
+
mechanic: await (0, rhachet_1.enrollThread)({
|
|
47
|
+
role: 'mechanic',
|
|
48
|
+
stash: {
|
|
49
|
+
ask: input.ask,
|
|
50
|
+
art: { inflight: targetArt },
|
|
51
|
+
},
|
|
52
|
+
inherit: {
|
|
53
|
+
traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
|
|
54
|
+
},
|
|
55
|
+
}),
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
context: {
|
|
60
|
+
lookup: {
|
|
61
|
+
apiKeyOpenai: {
|
|
62
|
+
source: 'process.env',
|
|
63
|
+
envar: 'PREP_OPENAI_KEY',
|
|
64
|
+
desc: 'the openai key to use',
|
|
65
|
+
type: 'string',
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
assess: (input) => typeof input.apiKeyOpenai === 'string',
|
|
69
|
+
instantiate: (input) => {
|
|
70
|
+
return {
|
|
71
|
+
...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
|
|
72
|
+
...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
|
|
73
|
+
...(0, genContextStitchTrail_1.genContextStitchTrail)(),
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
readme: `
|
|
78
|
+
### \`ask -r mechanic -s write\`
|
|
79
|
+
|
|
80
|
+
you can ask the mechanic to write anything to a target file
|
|
81
|
+
- if it exists, it'll update
|
|
82
|
+
- if it doesn't, it'll create
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
\`\`\`sh
|
|
86
|
+
npx rhachet ask -r mechanic -s write -t ./path/to/file.ts --ask "your ask"
|
|
87
|
+
\`\`\`
|
|
88
|
+
|
|
89
|
+
once it's written, it'll ask you for feedback
|
|
90
|
+
|
|
91
|
+
\`\`\`sh
|
|
92
|
+
? have notes? (Use arrow keys)
|
|
93
|
+
❯ no notes
|
|
94
|
+
yes notes
|
|
95
|
+
\`\`\`
|
|
96
|
+
|
|
97
|
+
it'll loop until you tell it you have \`no notes\`
|
|
98
|
+
`.trim(),
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=loopWrite.skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopWrite.skill.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/write/loopWrite.skill.ts"],"names":[],"mappings":"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"}
|