rhachet-roles-bhrain 0.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/genContextLogTrail.d.ts +2 -0
- package/dist/.test/genContextLogTrail.js +12 -0
- package/dist/.test/genContextLogTrail.js.map +1 -0
- package/dist/.test/genContextStitchTrail.d.ts +1 -0
- package/dist/.test/genContextStitchTrail.js +6 -0
- package/dist/.test/genContextStitchTrail.js.map +1 -0
- package/dist/.test/getContextOpenAI.d.ts +2 -0
- package/dist/.test/getContextOpenAI.js +19 -0
- package/dist/.test/getContextOpenAI.js.map +1 -0
- package/dist/_topublish/domain-glossary-brief/src/domain/objects/Catalog.d.ts +0 -0
- package/dist/_topublish/domain-glossary-brief/src/domain/objects/Catalog.js +2 -0
- package/dist/_topublish/domain-glossary-brief/src/domain/objects/Catalog.js.map +1 -0
- package/dist/_topublish/domain-glossary-brief/src/domain/objects/TriageCatalog.d.ts +18 -0
- package/dist/_topublish/domain-glossary-brief/src/domain/objects/TriageCatalog.js +3 -0
- package/dist/_topublish/domain-glossary-brief/src/domain/objects/TriageCatalog.js.map +1 -0
- package/dist/_topublish/rhachet-roles-bhrain/src/domain/objects/Focus.d.ts +34 -0
- package/dist/_topublish/rhachet-roles-bhrain/src/domain/objects/Focus.js +9 -0
- package/dist/_topublish/rhachet-roles-bhrain/src/domain/objects/Focus.js.map +1 -0
- package/dist/_topublish/rhachet-roles-bhrain/src/domain/objects/Question.d.ts +1 -0
- package/dist/_topublish/rhachet-roles-bhrain/src/domain/objects/Question.js +3 -0
- package/dist/_topublish/rhachet-roles-bhrain/src/domain/objects/Question.js.map +1 -0
- package/dist/access/sdk/sdkOpenAi.d.ts +16 -0
- package/dist/access/sdk/sdkOpenAi.js +42 -0
- package/dist/access/sdk/sdkOpenAi.js.map +1 -0
- package/dist/contract/commands/codegenBriefOptions.d.ts +1 -0
- package/dist/contract/commands/codegenBriefOptions.js +54 -0
- package/dist/contract/commands/codegenBriefOptions.js.map +1 -0
- package/dist/contract/sdk/index.d.ts +2 -0
- package/dist/contract/sdk/index.js +8 -0
- package/dist/contract/sdk/index.js.map +1 -0
- package/dist/domain.operations/artifact/asDotRhachetFile.d.ts +5 -0
- package/dist/domain.operations/artifact/asDotRhachetFile.js +16 -0
- package/dist/domain.operations/artifact/asDotRhachetFile.js.map +1 -0
- package/dist/domain.operations/artifact/genLoopFeedback.d.ts +18 -0
- package/dist/domain.operations/artifact/genLoopFeedback.js +40 -0
- package/dist/domain.operations/artifact/genLoopFeedback.js.map +1 -0
- package/dist/domain.operations/artifact/genStepArtDel.d.ts +17 -0
- package/dist/domain.operations/artifact/genStepArtDel.js +29 -0
- package/dist/domain.operations/artifact/genStepArtDel.js.map +1 -0
- package/dist/domain.operations/artifact/genStepArtSet.d.ts +14 -0
- package/dist/domain.operations/artifact/genStepArtSet.js +49 -0
- package/dist/domain.operations/artifact/genStepArtSet.js.map +1 -0
- package/dist/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.d.ts +19 -0
- package/dist/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.js +100 -0
- package/dist/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.js.map +1 -0
- package/dist/domain.operations/artifact/genStepResetFeedback.d.ts +12 -0
- package/dist/domain.operations/artifact/genStepResetFeedback.js +27 -0
- package/dist/domain.operations/artifact/genStepResetFeedback.js.map +1 -0
- package/dist/domain.operations/artifact/genStepSwapArtifact.d.ts +57 -0
- package/dist/domain.operations/artifact/genStepSwapArtifact.js +58 -0
- package/dist/domain.operations/artifact/genStepSwapArtifact.js.map +1 -0
- package/dist/domain.operations/artifact/setSkillOutputSrc.d.ts +32 -0
- package/dist/domain.operations/artifact/setSkillOutputSrc.js +99 -0
- package/dist/domain.operations/artifact/setSkillOutputSrc.js.map +1 -0
- package/dist/domain.operations/context/genStitchStreamToDisk.d.ts +13 -0
- package/dist/domain.operations/context/genStitchStreamToDisk.js +74 -0
- package/dist/domain.operations/context/genStitchStreamToDisk.js.map +1 -0
- package/dist/domain.operations/hooks/decodeDocOutputPath.d.ts +21 -0
- package/dist/domain.operations/hooks/decodeDocOutputPath.js +57 -0
- package/dist/domain.operations/hooks/decodeDocOutputPath.js.map +1 -0
- package/dist/domain.operations/hooks/execTranslateDocOutputPath.d.ts +20 -0
- package/dist/domain.operations/hooks/execTranslateDocOutputPath.js +80 -0
- package/dist/domain.operations/hooks/execTranslateDocOutputPath.js.map +1 -0
- package/dist/domain.operations/hooks/getInvokeHooks.d.ts +2 -0
- package/dist/domain.operations/hooks/getInvokeHooks.js +15 -0
- package/dist/domain.operations/hooks/getInvokeHooks.js.map +1 -0
- package/dist/domain.operations/hooks/relateDocOutputPath.d.ts +11 -0
- package/dist/domain.operations/hooks/relateDocOutputPath.js +58 -0
- package/dist/domain.operations/hooks/relateDocOutputPath.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/roles/getRoleRegistry.d.ts +8 -0
- package/dist/roles/getRoleRegistry.js +19 -0
- package/dist/roles/getRoleRegistry.js.map +1 -0
- package/dist/roles/getRoleRegistry.readme.d.ts +1 -0
- package/dist/roles/getRoleRegistry.readme.js +22 -0
- package/dist/roles/getRoleRegistry.readme.js.map +1 -0
- package/dist/roles/thinker/briefs/cognition/cog000.overview.and.premise.md +115 -0
- package/dist/roles/thinker/briefs/cognition/cog021.coordinates.spherical.md +69 -0
- package/dist/roles/thinker/briefs/cognition/cog021.metaphor.cauliflorous.md +44 -0
- package/dist/roles/thinker/briefs/cognition/cog021.metaphor.galactic_spacetravel.[article].md +42 -0
- package/dist/roles/thinker/briefs/cognition/cog021.metaphor.galactic_spacetravel.[lesson].md +60 -0
- package/dist/roles/thinker/briefs/cognition/cog021.structs.catalog.md +51 -0
- package/dist/roles/thinker/briefs/cognition/cog021.structs.treestruct.md +85 -0
- package/dist/roles/thinker/briefs/cognition/cog021.structs.vector.md +112 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.definition.md +115 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct._.md +112 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.coords.1.spherical.md +80 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.coords.2.abstractive.md +59 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.coords.3.descriptive.md +64 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.persp.1.perspectives.md +88 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.persp.2.universal.md +82 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.persp.3.relative.md +106 -0
- package/dist/roles/thinker/briefs/cognition/cog101.concept.treestruct.persp.4.fractal.md +83 -0
- package/dist/roles/thinker/briefs/cognition/cog151.concept.treestruct.gravity.md +89 -0
- package/dist/roles/thinker/briefs/cognition/cog201.cortal.focus.p1.definition.md +231 -0
- package/dist/roles/thinker/briefs/cognition/cog201.cortal.focus.p1.examples.cont.md +82 -0
- package/dist/roles/thinker/briefs/cognition/cog201.cortal.focus.p2.acuity.md +134 -0
- package/dist/roles/thinker/briefs/cognition/cog201.cortal.focus.p2.breadth.md +151 -0
- package/dist/roles/thinker/briefs/cognition/cog201.cortal.focus.p2.depth.md +147 -0
- package/dist/roles/thinker/briefs/cognition/cog251.cortal.focus.p3.fabric.md +96 -0
- package/dist/roles/thinker/briefs/cognition/cog251.cortal.focus.p3.mode.md +68 -0
- package/dist/roles/thinker/briefs/cognition/cog251.cortal.focus.p3.rythm.md +56 -0
- package/dist/roles/thinker/briefs/cognition/cog251.cortal.focus.p3.usecases.md +76 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.1.motion.primitives._.md +155 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.1.motion.primitives.acuity.md +94 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.1.motion.primitives.breadth.md +114 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.1.motion.primitives.breadth.vary.md +105 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.1.motion.primitives.depth.md +132 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.2.motion.composites._.md +106 -0
- package/dist/roles/thinker/briefs/cognition/cog301.traversal.2.motion.composites.grammar.md +105 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.._.md +209 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.1.persp.as.berries.md +168 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.1.persp.as.vectors.md +74 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.1.persp.has.precision.tunable.md +80 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.2.1.primitives.rough._.md +99 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.2.1.primitives.rough.interrogative.md +108 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.2.1.primitives.rough.why.[article].md +55 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.2.2.composite.smooth._.md +83 -0
- package/dist/roles/thinker/briefs/cognition/cog401.questions.2.2.composite.smooth.examples.md +101 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.1.primitives._.md +134 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.1.primitives.recall.md +149 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.1.primitives.steer.md +146 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.1.primitives.think.md +141 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.2.composites.zoom.md +127 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.3.catalogs.md +107 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang.3.grammar.md +124 -0
- package/dist/roles/thinker/briefs/cognition/cog501.cortal.assemblylang_.md +0 -0
- package/dist/roles/thinker/briefs/cognition/inflight/concept.vs.idea.md +70 -0
- package/dist/roles/thinker/briefs/cognition/inflight/core.concept.adjectives.md +8 -0
- package/dist/roles/thinker/briefs/distilisys.grammar.compressed.md +19 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.1.why.common.[article].md +32 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.1.why.term_smells.[article].md +36 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.1.why.term_smells.detection.[lesson].md +73 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.2.tactic.eliminate.[article].md +55 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.2.tactic.eliminate.[lesson].md +41 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.3.eliminator.[trait]._.md +66 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.3.eliminator.[trait].balance.md +36 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.3.eliminator.[trait].bane.md +34 -0
- package/dist/roles/thinker/briefs/grammar/gerunds.3.eliminator.[trait].boon.md +35 -0
- package/dist/roles/thinker/briefs/knowledge/kno101.primitives.1.ontology.[article].frame.docs_as_materializations.md +63 -0
- package/dist/roles/thinker/briefs/knowledge/kno101.primitives.1.ontology.[article].frame.docs_as_references.md +45 -0
- package/dist/roles/thinker/briefs/knowledge/kno101.primitives.2.rel.many_to_many.[article].md +37 -0
- package/dist/roles/thinker/briefs/knowledge/kno101.primitives.3.instances.[article].md +39 -0
- package/dist/roles/thinker/briefs/knowledge/kno101.primitives.4.documents.[article].md +37 -0
- package/dist/roles/thinker/briefs/knowledge/kno101.primitives.5.concepts.[article].md +39 -0
- package/dist/roles/thinker/briefs/knowledge/kno201.documents._.[article].md +48 -0
- package/dist/roles/thinker/briefs/knowledge/kno201.documents._.[catalog].md +52 -0
- package/dist/roles/thinker/briefs/knowledge/kno201.documents.articles.[article].md +40 -0
- package/dist/roles/thinker/briefs/knowledge/kno201.documents.catalogs.[article].md +41 -0
- package/dist/roles/thinker/briefs/knowledge/kno201.documents.demos.[article].md +42 -0
- package/dist/roles/thinker/briefs/knowledge/kno201.documents.lessons.[article].md +42 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.compression.1.refs._.[article].md +41 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.compression.2.kernels._.[article].i1.md +50 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.compression.3.briefs._.[article].md +40 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.compression._.[article].md +90 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.compression._.[catalog].persp.garden.md +64 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[article].md +45 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].algorithm.md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].color.md +56 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].empathy.md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].entropy.md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].gravity.md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].joke.md +56 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].value.md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2._.[catalog].md +43 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.articulate.[article].md +27 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.articulate.[lesson].md +49 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.catalogize.[article].md +27 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.catalogize.[lesson].md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.demonstrate.[article].md +26 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.demonstrate.[lesson].md +49 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.lessonize.[article].md +26 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.enbrief.2.lessonize.[lesson].md +54 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.kernelize._.[article].md +58 -0
- package/dist/roles/thinker/briefs/knowledge/kno301.doc.kernelize._.[lesson].md +88 -0
- package/dist/roles/thinker/briefs/knowledge/kno351.docs.are_instances.[article].md +34 -0
- package/dist/roles/thinker/briefs/knowledge/kno351.docs.recursion.[catalog].md +44 -0
- package/dist/roles/thinker/briefs/knowledge/kno401.actors.1.role.author.[article].md +36 -0
- package/dist/roles/thinker/briefs/knowledge/kno401.actors.1.role.librarian.[article].md +40 -0
- package/dist/roles/thinker/briefs/knowledge/kno401.actors.2.interdependence.[article].md +52 -0
- package/dist/roles/thinker/briefs/knowledge/kno501.doc.enbrief.catalog.structure1.[article].md +53 -0
- package/dist/roles/thinker/briefs/knowledge/kno501.doc.enbrief.catalog.structure1.[lesson].template.md +101 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/.rhachet/term.referent.foci.ponder.que.concept/2025-08-28T02:43:27.729Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/.rhachet/term.referent.foci.ponder.que.context/2025-08-28T02:43:27.729Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/.rhachet/term.referent.goal/2025-08-28T02:43:27.728Z.b1869db890614951.md +3 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/.rhachet/term.referent.md.foci.ponder.que.concept/2025-08-28T02:44:23.033Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/.rhachet/term.referent.md.foci.ponder.que.context/2025-08-28T02:44:23.033Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/.rhachet/term.referent.md.goal/2025-08-28T02:44:23.031Z.852c92045a674148.md +4 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent/2025-08-28T02:44:30.724Z.2f5896cb587117da.md +44 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent.goal.md +3 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.context/.rhachet/term.referent.md.goal.md +4 -0
- package/dist/roles/thinker/briefs/librarian.context/article.variant.vision.[article].md +60 -0
- package/dist/roles/thinker/briefs/librarian.context/term.expectation.vs_assumption._.md +60 -0
- package/dist/roles/thinker/briefs/librarian.context/term.frame.vs_perspective.[article].md +96 -0
- package/dist/roles/thinker/briefs/librarian.context/term.invariant.[article].md +29 -0
- package/dist/roles/thinker/briefs/librarian.context/term.lesson._vs_article.[article].md +36 -0
- package/dist/roles/thinker/briefs/librarian.context/term.ref._vs_brief.md +90 -0
- package/dist/roles/thinker/briefs/librarian.context/term.referent.[article].md +43 -0
- package/dist/roles/thinker/briefs/librarian.context/usage.lesson_vs_article.[lesson].md +31 -0
- package/dist/roles/thinker/briefs/librarian.context/usage.lesson_vs_article_vs_demo.[lesson].md +37 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.readme.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].i2.md.feedback/2025-08-19T05:29:09.411Z.66a0b5fa5d6c4880.md +1 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].i2.md.feedback/2025-08-19T05:30:52.866Z.c1ad1fe6df73a851.md +1 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].i2.md.foci.ponder.que.concept/2025-08-19T05:27:55.753Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].i2.md.foci.ponder.que.context/2025-08-19T05:27:55.754Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].i2.md.goal/2025-08-19T05:27:55.751Z.c8232988c046d948.md +10 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].md.foci.ponder.que.concept/2025-08-19T05:26:12.617Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].md.foci.ponder.que.context/2025-08-19T05:26:12.617Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<catalogize>.vs_diverge.[article].md.goal/2025-08-19T05:26:12.615Z.68cf5d37ff5abc75.md +4 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template.md.foci.ponder.que.concept/2025-08-19T05:21:17.678Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template.md.foci.ponder.que.context/2025-08-19T05:21:17.679Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template.md.goal/2025-08-19T05:21:17.676Z.b35533aecf461c68.md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-19T05:18:01.113Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-19T05:18:01.115Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>._.[article].frame.tactical.md.goal/2025-08-19T05:18:01.112Z.b35533aecf461c68.md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>.tactics.[catalog].md.foci.ponder.que.concept/2025-08-19T05:33:21.987Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>.tactics.[catalog].md.foci.ponder.que.context/2025-08-19T05:33:21.988Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/.rhachet/<demonstrate>.tactics.[catalog].md.goal/2025-08-19T05:33:21.985Z.1f3884998db3b338.md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article]/2025-08-19T05:26:25.275Z.8a56710c0bb0b7f5.md +62 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].i2/2025-08-19T05:28:06.500Z.30e7bf815db7709b.md +43 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].i2/2025-08-19T05:29:19.551Z.f4d48288c7f7b0b2.md +43 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].i2/2025-08-19T05:31:05.482Z.875d98d92fe452d1.md +46 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].i2.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].i2.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].i2.md.goal.md +10 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<catalogize>.vs_diverge.[article].md.goal.md +4 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical/2025-08-19T05:18:27.266Z.f1bb2e1f049133a5.md +64 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template/2025-08-19T05:21:27.536Z.05c9744a2208309b.md +74 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.i3.via_rhachet.with_template.md.goal.md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>._.[article].frame.tactical.md.goal.md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>.tactics.[catalog]/2025-08-19T05:33:41.302Z.78d520797f9769bd.md +68 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>.tactics.[catalog].md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>.tactics.[catalog].md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/librarian.tactics/.rhachet/<demonstrate>.tactics.[catalog].md.goal.md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>._.[article].frame.cognitive.md +33 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>._.[article].frame.tactical.md +45 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.[catalog].md +83 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.concept_dimension.examples.[article][seed].md +4 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.concept_dimension.invariants.[article].md +36 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.from.examples.md +44 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.from.seed.md +48 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.with.templates.[article].md +57 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tactic.with.templates.[gallery][review].effective.md +1 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<articulate>.tone.bluecollar.[article][seed].md +5 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<catalogize>._.[article][seed].md +3 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<catalogize>.observation.via_clusterage_over_via_imagination.[seed].md +6 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<catalogize>.vs_diverge.[article].persp.save_compute.md +46 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>._.[article].frame.colloquial.i2.by_grok.md +64 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.[catalog].md +106 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.contrast.[demo].usecase.vs_userjourney.by_chatgpt.md +45 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.counter.[demo].usecase.flyer.by_chargpt.md +38 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.counter.[demo].walkability.phoenix.by_chargpt.md +41 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[demo].shear_force.scissors.by_grok.md +52 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[demo].tea.darjeeling.by_grok.md +50 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[demo].usecase.book_flight.by_grok.md +54 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[demo].usecase.order_food.by_chatgpt.md +40 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[demo].walkability.portland.by_chatgpt.i3.md +42 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[demo].walkability.portland.by_grok.i2.md +49 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.[lesson].howto.md +28 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.example.structure.[article].i2.md +73 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.narrative.[demo].usecase.order_online.by_chatgpt.md +34 -0
- package/dist/roles/thinker/briefs/librarian.tactics/<demonstrate>.variants.walkthrough.[demo].usecase.book_online.by_chatgpt.md +47 -0
- package/dist/roles/thinker/briefs/librarian.tactics/[brief].verbiage.outline.over.narrative.md +55 -0
- package/dist/roles/thinker/briefs/logistics/term.logistics.[article].md +21 -0
- package/dist/roles/thinker/briefs/logistics/term.logistics.of_information.[article].md +22 -0
- package/dist/roles/thinker/briefs/logistics/term.logistics.of_knowledge.[article].md +29 -0
- package/dist/roles/thinker/briefs/physics/optics.focal.acuity.md +77 -0
- package/dist/roles/thinker/briefs/physics/optics.focal.breadth.md +74 -0
- package/dist/roles/thinker/briefs/physics/optics.focal.depth.md +77 -0
- package/dist/roles/thinker/briefs/physics/optics.focal.distance.md +92 -0
- package/dist/roles/thinker/briefs/physics/optics.focal.tradeoffs.md +107 -0
- package/dist/roles/thinker/briefs/style.words.lowercase.md +36 -0
- package/dist/roles/thinker/briefs/tactician/tactics.compose.traits_and_skills.[article].md +76 -0
- package/dist/roles/thinker/briefs/tactician/trait.articulation.[article].md +67 -0
- package/dist/roles/thinker/briefs/tactician/trait.purpose.[article].md +56 -0
- package/dist/roles/thinker/briefs/tactician/trait.vs_skill.[article].md +55 -0
- package/dist/roles/thinker/briefs/tactician/trait.vs_tactic.[article].md +70 -0
- package/dist/roles/thinker/briefs/terms.motive.intent.goal.md +46 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.feedback/2025-08-17T23:42:52.441Z.9b5920a5f2286358.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.feedback/2025-08-17T23:45:56.905Z.c41b7ee6c012dca7.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.feedback/2025-08-17T23:46:26.625Z.550b8cabb776137d.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-17T23:39:04.903Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-17T23:40:21.876Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-17T23:45:04.183Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-17T23:39:04.904Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-17T23:40:21.877Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-17T23:45:04.183Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.goal/2025-08-17T23:39:04.900Z.f214cfb2b02fab75.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.goal/2025-08-17T23:40:21.875Z.f214cfb2b02fab75.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<cluster>._.[article].frame.tactical.md.goal/2025-08-17T23:45:04.181Z.f214cfb2b02fab75.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.2.md.foci.ponder.que.concept/2025-08-18T05:06:49.996Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.2.md.foci.ponder.que.context/2025-08-18T05:06:49.997Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.2.md.goal/2025-08-18T05:06:49.995Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.3.md.foci.ponder.que.concept/2025-08-18T05:07:30.952Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.3.md.foci.ponder.que.context/2025-08-18T05:07:30.953Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.3.md.goal/2025-08-18T05:07:30.951Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.4.md.foci.ponder.que.concept/2025-08-18T05:08:11.227Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.4.md.foci.ponder.que.context/2025-08-18T05:08:11.227Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.4.md.goal/2025-08-18T05:08:11.225Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.5.md.foci.ponder.que.concept/2025-08-18T05:09:02.755Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.5.md.foci.ponder.que.context/2025-08-18T05:09:02.756Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.5.md.goal/2025-08-18T05:09:02.754Z.508a8c044b22bfae.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.6.md.foci.ponder.que.concept/2025-08-18T05:10:31.565Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.6.md.foci.ponder.que.context/2025-08-18T05:10:31.566Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.6.md.goal/2025-08-18T05:10:31.563Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.feedback/2025-08-18T04:50:08.771Z.6e29435be57e631a.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-18T04:46:51.081Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-18T04:47:37.299Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-18T05:06:06.947Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.concept/2025-08-18T05:11:59.370Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-18T04:46:51.082Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-18T04:47:37.300Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-18T05:06:06.948Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.context/2025-08-18T05:11:59.371Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.goal/2025-08-18T04:46:51.080Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.goal/2025-08-18T04:47:37.295Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.goal/2025-08-18T05:06:06.946Z.528e7ccdbef5d0cb.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>._.[article].frame.tactical.md.goal/2025-08-18T05:11:59.369Z.516579c7a92b1b26.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.grades_from_context.[article].1.md.foci.ponder.que.concept/2025-08-18T05:24:03.742Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.grades_from_context.[article].1.md.foci.ponder.que.context/2025-08-18T05:24:03.743Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.grades_from_context.[article].1.md.goal/2025-08-18T05:24:03.740Z.7ea13f40fae958b9.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].2.md.feedback/2025-08-18T05:04:11.112Z.fea716c6bf1c6c9c.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].2.md.foci.ponder.que.concept/2025-08-18T05:02:13.370Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].2.md.foci.ponder.que.context/2025-08-18T05:02:13.371Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].2.md.goal/2025-08-18T05:02:13.368Z.729168a4a51a9613.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.feedback/2025-08-18T04:59:17.249Z.b1420bd7f9bbf0df.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.feedback/2025-08-18T05:00:20.066Z.4841bbfbba6596ed.md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.concept/2025-08-18T04:57:14.512Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.concept/2025-08-18T04:58:36.622Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.concept/2025-08-18T05:01:28.058Z.1dbacaa56e249af8.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.context/2025-08-18T04:57:14.513Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.context/2025-08-18T04:58:36.623Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.context/2025-08-18T05:01:28.059Z.20883c047b5b3927.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.goal/2025-08-18T04:57:14.510Z.5d9b39222bdebaab.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.goal/2025-08-18T04:58:36.621Z.763f2b6f96e5eb78.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/.rhachet/<triage>.persp.implicit_question.[article].md.goal/2025-08-18T05:01:28.057Z.729168a4a51a9613.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical/2025-08-17T23:40:32.469Z.9a45a5da431061b7.md +69 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical/2025-08-17T23:43:00.496Z.e6c9d14fe7f196ad.md +86 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical/2025-08-17T23:45:09.820Z.496c31f5f6478ddb.md +69 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical/2025-08-17T23:46:02.394Z.ccbb435804f9a033.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical/2025-08-17T23:46:32.399Z.06fdb8bc5d327e89.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<cluster>._.[article].frame.tactical.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical/2025-08-18T04:47:52.480Z.a284db9ffbba3805.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical/2025-08-18T04:50:13.483Z.a284db9ffbba3805.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical/2025-08-18T05:06:18.798Z.2b58e354810a1e6d.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical/2025-08-18T05:12:09.225Z.f31c12b3cfed3c70.md +86 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.2/2025-08-18T05:06:57.408Z.c68a7710adf0181d.md +71 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.2.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.2.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.2.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.3/2025-08-18T05:07:43.297Z.82dd27d4f2ae7e71.md +81 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.3.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.3.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.3.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.4/2025-08-18T05:08:20.573Z.19580b96c25a8226.md +77 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.4.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.4.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.4.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.5/2025-08-18T05:09:06.597Z.523fa2836b3552d3.md +66 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.5.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.5.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.5.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.6/2025-08-18T05:10:40.958Z.699e0e76881302b5.md +65 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.6.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.6.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.6.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>._.[article].frame.tactical.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.grades_from_context.[article].1/2025-08-18T05:24:12.067Z.79b6025bbedf68c2.md +48 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.grades_from_context.[article].1.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.grades_from_context.[article].1.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.grades_from_context.[article].1.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article]/2025-08-18T04:57:24.261Z.a3e52f604602d423.md +70 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article]/2025-08-18T04:58:44.342Z.92ba73d496dee2fd.md +64 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article]/2025-08-18T04:59:24.899Z.49858373ac837709.md +64 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article]/2025-08-18T05:00:28.230Z.17eef006aff2c2e2.md +64 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article]/2025-08-18T05:01:38.340Z.9b64674c53f1407d.md +72 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].2/2025-08-18T05:02:20.019Z.ec140a5feadeddb3.md +58 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].2/2025-08-18T05:04:14.999Z.d3ae0f1e525de35b.md +65 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].2.md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].2.md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].2.md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.concept.md +13 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].md.foci.ponder.que.context.md +12 -0
- package/dist/roles/thinker/briefs/thinker.tactics/.rhachet/<triage>.persp.implicit_question.[article].md.goal.md +3 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<cluster>._.[article].frame.tactical._.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<cluster>.vs_<diverge>.duality.[article].md +43 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<diverge>._.[article].frame.cognitive.[seed].md +4 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<diverge>._.[article].frame.tactical.md +89 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<elaborate>_vs_<elucidate>.[seed].md +1 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<enquestion>._.[article].md +113 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<enquestion>._.[gallery].plumber.diagnose.md +130 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<enquestion>._.[gallery].thinker.enquestion.md +125 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<enquestion>.tactic.perspectives.[article].md +36 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<triage>._.[article].frame.tactical.md +85 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<triage>.persp.grades_from_context.[article].md +48 -0
- package/dist/roles/thinker/briefs/thinker.tactics/<triage>.persp.implicit_question.[article].md +65 -0
- package/dist/roles/thinker/briefs/trait.chillnature.md +14 -0
- package/dist/roles/thinker/briefs/trait.ocd.md +5 -0
- package/dist/roles/thinker/briefs/worders/core.matmuls_vecmuls_elemuls.md +93 -0
- package/dist/roles/thinker/briefs/worders/core.transformers.as_origin.md +62 -0
- package/dist/roles/thinker/briefs/worders/core.transformers.self_attention.[article].md +93 -0
- package/dist/roles/thinker/briefs/worders/core.transformers.self_attention.[demo].ambig.bank.md +80 -0
- package/dist/roles/thinker/briefs/worders/core.transformers.self_attention.[demo].cat_sat.md +67 -0
- package/dist/roles/thinker/briefs/worders/force.repeat_input_structures.md +48 -0
- package/dist/roles/thinker/briefs/worders/knowledge.interdependence.[article].md +37 -0
- package/dist/roles/thinker/briefs/worders/knowledge.interdependence.[demo].domain.physics.md +30 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internal_vs_external.[article].artist_vs_librarian.md +44 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internal_vs_external.[demo].artist_vs_librarian.md +37 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internal_vs_external.[demo].domain.physics.md +39 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internalized.[article].md +35 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internalized.[demo].artist.md +36 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internalized.[demo].neural.md +37 -0
- package/dist/roles/thinker/briefs/worders/knowledge.internalized.[demo].pianist.md +34 -0
- package/dist/roles/thinker/briefs/worders/limits.rhyme.md +46 -0
- package/dist/roles/thinker/briefs/worders/limits.spell.md +49 -0
- package/dist/roles/thinker/briefs/worders/teach.via.library.examples.md +28 -0
- package/dist/roles/thinker/briefs/worders/teach.via.library.explanations_vs_examples.md +40 -0
- package/dist/roles/thinker/briefs/worders/trend.prefer_reuse.[seed].md +10 -0
- package/dist/roles/thinker/getThinkerBrief.Options.codegen.d.ts +10 -0
- package/dist/roles/thinker/getThinkerBrief.Options.codegen.js +204 -0
- package/dist/roles/thinker/getThinkerBrief.Options.codegen.js.map +1 -0
- package/dist/roles/thinker/getThinkerBrief.d.ts +13 -0
- package/dist/roles/thinker/getThinkerBrief.js +21 -0
- package/dist/roles/thinker/getThinkerBrief.js.map +1 -0
- package/dist/roles/thinker/getThinkerRole.d.ts +2 -0
- package/dist/roles/thinker/getThinkerRole.js +54 -0
- package/dist/roles/thinker/getThinkerRole.js.map +1 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.d.ts +59 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.js +97 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.js.map +1 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.d.ts +30 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js +125 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js.map +1 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.template.md +120 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.d.ts +54 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.js +74 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.js.map +1 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.d.ts +28 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js +124 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js.map +1 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.d.ts +59 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.js +103 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.js.map +1 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.d.ts +30 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js +138 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js.map +1 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.template.md +135 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.d.ts +57 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.js +91 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.js.map +1 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.d.ts +29 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js +127 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js.map +1 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.template.md +134 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.d.ts +57 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.js +92 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.js.map +1 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.d.ts +29 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js +112 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js.map +1 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.template.md +110 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.d.ts +55 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.js +75 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.js.map +1 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.d.ts +28 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js +136 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js.map +1 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.template.md +73 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.d.ts +57 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.js +93 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.js.map +1 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.d.ts +29 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js +127 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js.map +1 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.template.md +128 -0
- package/license.md +21 -0
- package/package.json +104 -0
- package/readme.md +91 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.genStepGrabCallerFeedbackToArtifact = void 0;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const rhachet_1 = require("rhachet");
|
|
9
|
+
/**
|
|
10
|
+
* .what = creates a compute step where the static 'caller' gives feedback on another role's artifact
|
|
11
|
+
* .why = enables human review or annotation flow to be dynamically targeted, but statically sourced
|
|
12
|
+
*/
|
|
13
|
+
const genStepGrabCallerFeedbackToArtifact = ({ stitchee, artee, }) => new rhachet_1.StitchStepCompute({
|
|
14
|
+
form: 'COMPUTE',
|
|
15
|
+
slug: `[caller]<feedback><capture>[${stitchee}.${artee}]`,
|
|
16
|
+
readme: `asks caller for feedback on ${stitchee}'s ${artee} and stores it in caller.art.feedback`,
|
|
17
|
+
stitchee: 'caller',
|
|
18
|
+
invoke: async ({ threads }) => {
|
|
19
|
+
// grab the artifact to review
|
|
20
|
+
const subjectThread = threads[stitchee];
|
|
21
|
+
const target = await subjectThread.context.stash.art[artee]
|
|
22
|
+
.get()
|
|
23
|
+
.expect('isPresent');
|
|
24
|
+
// show the reviewer what they're reviewing
|
|
25
|
+
console.log(`\n📝 feedback target: ${target.uri}\n`);
|
|
26
|
+
// if this is running in an isolated attempt thread, then the user has no way to supply feedback
|
|
27
|
+
if (process.env.RHACHET_ATTEMPT)
|
|
28
|
+
return {
|
|
29
|
+
input: target,
|
|
30
|
+
output: {
|
|
31
|
+
feedback: null,
|
|
32
|
+
reason: 'in isolated attempt thread, no way to receive feedback',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
// prompt to see if they want to leave notes
|
|
36
|
+
const { hasNotes } = await inquirer_1.default.prompt([
|
|
37
|
+
{
|
|
38
|
+
type: 'list',
|
|
39
|
+
name: 'hasNotes',
|
|
40
|
+
message: 'have notes?',
|
|
41
|
+
choices: ['no notes', 'yes notes'],
|
|
42
|
+
},
|
|
43
|
+
]);
|
|
44
|
+
// grab the feedback art
|
|
45
|
+
const callerThread = threads.caller;
|
|
46
|
+
const feedbackArt = callerThread.context.stash.art.feedback;
|
|
47
|
+
// exit early if they have nothing to add
|
|
48
|
+
if (hasNotes === 'no notes') {
|
|
49
|
+
await feedbackArt.del(); // purge old notes, if they existed
|
|
50
|
+
return {
|
|
51
|
+
input: target,
|
|
52
|
+
output: { feedback: null },
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// grab feedback using inline input or open editor via ':edit'
|
|
56
|
+
const feedback = await (async () => {
|
|
57
|
+
// prompt inline first
|
|
58
|
+
const { fromInline } = await inquirer_1.default.prompt([
|
|
59
|
+
{
|
|
60
|
+
type: 'input',
|
|
61
|
+
name: 'fromInline',
|
|
62
|
+
message: 'enter feedback (type ":edit" to open editor):',
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
65
|
+
const isEditorRequest = fromInline.trim() === ':edit';
|
|
66
|
+
if (!isEditorRequest) {
|
|
67
|
+
// return inline input directly (support \n)
|
|
68
|
+
return fromInline.replace(/\\n/g, '\n');
|
|
69
|
+
}
|
|
70
|
+
// fallback to editor if requested
|
|
71
|
+
const { fromEditor } = await inquirer_1.default.prompt([
|
|
72
|
+
{
|
|
73
|
+
type: 'editor',
|
|
74
|
+
name: 'fromEditor',
|
|
75
|
+
message: 'enter feedback in editor:',
|
|
76
|
+
default: '# write your feedback above this line\n',
|
|
77
|
+
},
|
|
78
|
+
]);
|
|
79
|
+
return fromEditor;
|
|
80
|
+
})();
|
|
81
|
+
// write the feedback to caller.art.feedback
|
|
82
|
+
const updated = await feedbackArt.set({
|
|
83
|
+
content: feedback,
|
|
84
|
+
});
|
|
85
|
+
console.log('');
|
|
86
|
+
console.log(`🎙️ heard, saved to ${feedbackArt.ref.uri}`);
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(feedback);
|
|
89
|
+
console.log('');
|
|
90
|
+
console.log('🫡 on it!');
|
|
91
|
+
console.log('');
|
|
92
|
+
// return the feedback file
|
|
93
|
+
return {
|
|
94
|
+
input: target,
|
|
95
|
+
output: { feedback: updated },
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
exports.genStepGrabCallerFeedbackToArtifact = genStepGrabCallerFeedbackToArtifact;
|
|
100
|
+
//# sourceMappingURL=genStepGrabCallerFeedbackToArtifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genStepGrabCallerFeedbackToArtifact.js","sourceRoot":"","sources":["../../../src/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,qCAMiB;AAIjB;;;GAGG;AACI,MAAM,mCAAmC,GAAG,CAWjD,EACA,QAAQ,EACR,KAAK,GAIN,EAAE,EAAE,CACH,IAAI,2BAAiB,CAEnB;IACA,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,+BAA+B,QAAQ,IAAI,KAAK,GAAG;IACzD,MAAM,EAAE,+BAA+B,QAAQ,MAAM,KAAK,uCAAuC;IACjG,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,8BAA8B;QAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAKrC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;aACxD,GAAG,EAAE;aACL,MAAM,CAAC,WAAW,CAAC,CAAC;QAEvB,2CAA2C;QAC3C,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAErD,gGAAgG;QAChG,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;YAC7B,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE;oBACN,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,wDAAwD;iBACjE;aACF,CAAC;QAEJ,4CAA4C;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAuB;YAC/D;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;aACnC;SACF,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,YAAY,GAAG,OAAO,CAAC,MAE5B,CAAC;QACF,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE5D,yCAAyC;QACzC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAmC;YAC5D,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACjC,sBAAsB;YACtB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB;gBACnE;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,+CAA+C;iBACzD;aACF,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;YACtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,4CAA4C;gBAC5C,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,kCAAkC;YAClC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB;gBACnE;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,2BAA2B;oBACpC,OAAO,EAAE,yCAAyC;iBACnD;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;QAEL,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC;YACpC,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,2BAA2B;QAC3B,OAAO;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;SAC9B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AA5HQ,QAAA,mCAAmC,uCA4H3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type GStitcher, type RoleContext, StitchStepCompute, type Threads } from 'rhachet';
|
|
2
|
+
import type { Artifact } from 'rhachet-artifact';
|
|
3
|
+
import { type GitFile } from 'rhachet-artifact-git';
|
|
4
|
+
export declare const stepResetFeedback: StitchStepCompute<GStitcher<Threads<{
|
|
5
|
+
caller: RoleContext<'caller', {
|
|
6
|
+
art: {
|
|
7
|
+
feedback: Artifact<typeof GitFile>;
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
10
|
+
}>, import("as-procedure").ContextLogTrail & import("rhachet").ContextStitchTrail, {
|
|
11
|
+
feedback: null;
|
|
12
|
+
}>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stepResetFeedback = void 0;
|
|
4
|
+
const rhachet_1 = require("rhachet");
|
|
5
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
6
|
+
/**
|
|
7
|
+
* .what = creates a compute step that clears out the caller.art.feedback file
|
|
8
|
+
* .why = ensures feedback state is reset before new input is gathered
|
|
9
|
+
*/
|
|
10
|
+
const genStepResetFeedback = (input) => new rhachet_1.StitchStepCompute({
|
|
11
|
+
form: 'COMPUTE',
|
|
12
|
+
slug: `[caller]<feedback><reset>`,
|
|
13
|
+
readme: `clears caller.art.feedback (resets it to null)`,
|
|
14
|
+
stitchee: 'caller',
|
|
15
|
+
invoke: async ({ threads }) => {
|
|
16
|
+
const callerThread = threads.caller;
|
|
17
|
+
const feedbackArt = callerThread.context.stash.art.feedback;
|
|
18
|
+
await feedbackArt.del();
|
|
19
|
+
console.log(`🧹 [feedback]<reset>: ${feedbackArt.ref.uri.replace(await (0, rhachet_artifact_git_1.getGitRepoRoot)({ from: process.cwd() }), '')}\n`);
|
|
20
|
+
return {
|
|
21
|
+
input: null,
|
|
22
|
+
output: { feedback: null },
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
exports.stepResetFeedback = genStepResetFeedback();
|
|
27
|
+
//# sourceMappingURL=genStepResetFeedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genStepResetFeedback.js","sourceRoot":"","sources":["../../../src/domain.operations/artifact/genStepResetFeedback.ts"],"names":[],"mappings":";;;AAAA,qCAMiB;AAEjB,+DAAoE;AAGpE;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAY3B,KAAa,EACb,EAAE,CACF,IAAI,2BAAiB,CAEnB;IACA,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,gDAAgD;IACxD,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,MAE5B,CAAC;QAEF,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE5D,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;QAExB,OAAO,CAAC,GAAG,CACT,yBAAyB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAClD,MAAM,IAAA,qCAAc,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAC7C,EAAE,CACH,IAAI,CACN,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC3B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEQ,QAAA,iBAAiB,GAAG,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type GStitcher, type RoleContext, StitchStepCompute, type Threads } from 'rhachet';
|
|
2
|
+
import type { Artifact } from 'rhachet-artifact';
|
|
3
|
+
/**
|
|
4
|
+
* .what = a step which takes an getArteeFrom(@[$stitchee]) and sets it as @[$stitchee].[$artee]
|
|
5
|
+
* .why.cases =
|
|
6
|
+
* - enables swap out of which artifact is in inflight between steps (e.g., <diverge> -> <collect>)
|
|
7
|
+
* - enables swap out of which artifact is in upstream between flights (e.g., <diverge> -> <collect)
|
|
8
|
+
*
|
|
9
|
+
* !: do not use this directly. useGenStepSwapArtifact should be used directly instead for a pit-of-success
|
|
10
|
+
*/
|
|
11
|
+
export declare const genStepSwapArtifact: <TThreads extends Threads<any>, TFromStitchee extends keyof TThreads & string, TFromArtee extends keyof TThreads[TFromStitchee]["context"]["stash"]["art"] & string, TOntoStitchee extends keyof TThreads & string, TOntoArtee extends string>({ use: from, as: onto, }: {
|
|
12
|
+
use: {
|
|
13
|
+
stitchee: TFromStitchee;
|
|
14
|
+
artee: TFromArtee;
|
|
15
|
+
};
|
|
16
|
+
as: {
|
|
17
|
+
stitchee: TOntoStitchee;
|
|
18
|
+
artee: TOntoArtee;
|
|
19
|
+
};
|
|
20
|
+
}) => StitchStepCompute<GStitcher<Threads<{ [K in TFromStitchee | TOntoStitchee]: RoleContext<K, {
|
|
21
|
+
art: K extends TFromStitchee ? K extends TOntoStitchee ? Record<string, unknown> & { [P in TFromArtee]: Artifact<any, string>; } & { [P_1 in TOntoArtee]: Artifact<any, string> | null; } : Record<string, unknown> & { [P_2 in TFromArtee]: Artifact<any, string>; } : K extends TOntoStitchee ? Record<string, unknown> & { [P_3 in TOntoArtee]: Artifact<any, string> | null; } : Record<string, unknown>;
|
|
22
|
+
}>; }>, import("as-procedure").ContextLogTrail & import("rhachet").ContextStitchTrail, {
|
|
23
|
+
from: {
|
|
24
|
+
stitchee: TFromStitchee;
|
|
25
|
+
artee: TFromArtee;
|
|
26
|
+
} & {
|
|
27
|
+
artifact: Pick<Artifact<any>, 'ref'>;
|
|
28
|
+
};
|
|
29
|
+
onto: {
|
|
30
|
+
stitchee: TOntoStitchee;
|
|
31
|
+
artee: TOntoArtee;
|
|
32
|
+
};
|
|
33
|
+
}>>;
|
|
34
|
+
/**
|
|
35
|
+
*.what = prepares a pre-bound generator for `SwapArtifact` steps, using a specific `Threads<T>` context
|
|
36
|
+
* .why = enables inline, type-safe creation of `SwapArtifact` steps without repeating thread type declarations
|
|
37
|
+
* - ensures that artifact keys (`use`, `as`) exist within the declared thread structure
|
|
38
|
+
* - streamlines definition of multiple swaps in routes without type repetition
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const swapArt = useGenStepSwapArtifactFor<StitcherDesired['threads']>();
|
|
42
|
+
* swapArt({
|
|
43
|
+
* // set @thinker[inflight] = @thinker.inflights.diverge
|
|
44
|
+
* use: { stitchee: 'thinker', artee: 'inflights.diverge' },
|
|
45
|
+
* as: { stitchee: 'thinker', artee: 'inflight' },
|
|
46
|
+
* });
|
|
47
|
+
*/
|
|
48
|
+
export declare const useGenStepSwapArtifactFor: <TThreads extends Threads<any>>() => <TFromStitchee extends keyof TThreads & string, TFromArtee extends keyof TThreads[TFromStitchee]["context"]["stash"]["art"] & string, TOntoStitchee extends keyof TThreads & string, TOntoArtee extends string>(input: {
|
|
49
|
+
use: {
|
|
50
|
+
stitchee: TFromStitchee;
|
|
51
|
+
artee: TFromArtee;
|
|
52
|
+
};
|
|
53
|
+
as: {
|
|
54
|
+
stitchee: TOntoStitchee;
|
|
55
|
+
artee: TOntoArtee;
|
|
56
|
+
};
|
|
57
|
+
}) => StitchStepCompute<GStitcher<TThreads, GStitcher['context'], any>>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useGenStepSwapArtifactFor = exports.genStepSwapArtifact = void 0;
|
|
4
|
+
const helpful_errors_1 = require("helpful-errors");
|
|
5
|
+
const rhachet_1 = require("rhachet");
|
|
6
|
+
/**
|
|
7
|
+
* .what = a step which takes an getArteeFrom(@[$stitchee]) and sets it as @[$stitchee].[$artee]
|
|
8
|
+
* .why.cases =
|
|
9
|
+
* - enables swap out of which artifact is in inflight between steps (e.g., <diverge> -> <collect>)
|
|
10
|
+
* - enables swap out of which artifact is in upstream between flights (e.g., <diverge> -> <collect)
|
|
11
|
+
*
|
|
12
|
+
* !: do not use this directly. useGenStepSwapArtifact should be used directly instead for a pit-of-success
|
|
13
|
+
*/
|
|
14
|
+
const genStepSwapArtifact = ({ use: from, as: onto, }) => new rhachet_1.StitchStepCompute({
|
|
15
|
+
form: 'COMPUTE',
|
|
16
|
+
slug: `[${onto.stitchee}]<artifact:swap>[${onto.artee}]`,
|
|
17
|
+
readme: `set @${onto.stitchee}.art.${onto.artee} = @${from.stitchee}.art.${from.artee}`,
|
|
18
|
+
stitchee: onto.stitchee,
|
|
19
|
+
invoke: async ({ threads }) => {
|
|
20
|
+
const fromThread = threads[from.stitchee];
|
|
21
|
+
const ontoThread = threads[onto.stitchee];
|
|
22
|
+
const artifact = fromThread.context.stash.art[from.artee] ??
|
|
23
|
+
helpful_errors_1.UnexpectedCodePathError.throw(`could not resolve artifact from @${from.stitchee}[art:${from.artee}]`, {
|
|
24
|
+
fromDef: from,
|
|
25
|
+
fromStash: fromThread.context.stash,
|
|
26
|
+
});
|
|
27
|
+
ontoThread.context.stash.art[onto.artee] = artifact;
|
|
28
|
+
return {
|
|
29
|
+
input: { from, onto },
|
|
30
|
+
output: {
|
|
31
|
+
from: {
|
|
32
|
+
stitchee: from.stitchee,
|
|
33
|
+
artee: from.artee,
|
|
34
|
+
artifact: { ref: artifact.ref },
|
|
35
|
+
},
|
|
36
|
+
onto,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
exports.genStepSwapArtifact = genStepSwapArtifact;
|
|
42
|
+
/**
|
|
43
|
+
*.what = prepares a pre-bound generator for `SwapArtifact` steps, using a specific `Threads<T>` context
|
|
44
|
+
* .why = enables inline, type-safe creation of `SwapArtifact` steps without repeating thread type declarations
|
|
45
|
+
* - ensures that artifact keys (`use`, `as`) exist within the declared thread structure
|
|
46
|
+
* - streamlines definition of multiple swaps in routes without type repetition
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* const swapArt = useGenStepSwapArtifactFor<StitcherDesired['threads']>();
|
|
50
|
+
* swapArt({
|
|
51
|
+
* // set @thinker[inflight] = @thinker.inflights.diverge
|
|
52
|
+
* use: { stitchee: 'thinker', artee: 'inflights.diverge' },
|
|
53
|
+
* as: { stitchee: 'thinker', artee: 'inflight' },
|
|
54
|
+
* });
|
|
55
|
+
*/
|
|
56
|
+
const useGenStepSwapArtifactFor = () => (input) => (0, exports.genStepSwapArtifact)(input);
|
|
57
|
+
exports.useGenStepSwapArtifactFor = useGenStepSwapArtifactFor;
|
|
58
|
+
//# sourceMappingURL=genStepSwapArtifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genStepSwapArtifact.js","sourceRoot":"","sources":["../../../src/domain.operations/artifact/genStepSwapArtifact.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AACzD,qCAMiB;AAGjB;;;;;;;GAOG;AACI,MAAM,mBAAmB,GAAG,CAOjC,EACA,GAAG,EAAE,IAAI,EACT,EAAE,EAAE,IAAI,GAIT,EAAE,EAAE,CACH,IAAI,2BAAiB,CA4BnB;IACA,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,KAAK,GAAG;IACxD,MAAM,EAAE,QAAQ,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,KAAK,EAAE;IACvF,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAOvC,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAOvC,CAAC;QAEF,MAAM,QAAQ,GACZ,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YACxC,wCAAuB,CAAC,KAAK,CAC3B,oCAAoC,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,KAAK,GAAG,EACtE;gBACE,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;aACpC,CACF,CAAC;QAEJ,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QAEpD,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACrB,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;iBAChC;gBACD,IAAI;aACL;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAzFQ,QAAA,mBAAmB,uBAyF3B;AAEL;;;;;;;;;;;;;GAaG;AACI,MAAM,yBAAyB,GACpC,GAAkC,EAAE,CACpC,CAME,KAGD,EAAqE,EAAE,CACtE,IAAA,2BAAmB,EAMjB,KAAK,CAAQ,CAAC;AAlBP,QAAA,yBAAyB,6BAkBlB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { InvokeOpts } from 'rhachet';
|
|
2
|
+
/**
|
|
3
|
+
* .what = saves an artifact of the .src that created an output file
|
|
4
|
+
* .why =
|
|
5
|
+
* - a .src file helps callers trace the sequence that lead to some output. it makes outputs easier to repeat, since you always have the exact input at hand, for record
|
|
6
|
+
*/
|
|
7
|
+
export declare const setSkillOutputSrc: (input: {
|
|
8
|
+
skillUri: string;
|
|
9
|
+
opts: InvokeOpts<{
|
|
10
|
+
ask: string;
|
|
11
|
+
output: string;
|
|
12
|
+
}>;
|
|
13
|
+
}) => Promise<import("rhachet-artifact-git").GitFile>;
|
|
14
|
+
/**
|
|
15
|
+
* detect the trailing extension (with the dot), or null if none
|
|
16
|
+
*/
|
|
17
|
+
export declare const detectOutputExtension: (output: string) => string | null;
|
|
18
|
+
/**
|
|
19
|
+
* .what = removes the attempt value, regardless of extension
|
|
20
|
+
* - if there's a real extension: strip ".iN" before it
|
|
21
|
+
* - if no real extension but ends with ".iN": strip it
|
|
22
|
+
*/
|
|
23
|
+
export declare const asOutputWithoutAttempts: (output: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* .what = replaces the extension of an output file
|
|
26
|
+
* - if extension is real: replace it
|
|
27
|
+
* - if extension is ".iN": append new extension instead of replacing
|
|
28
|
+
*/
|
|
29
|
+
export declare const asOutputWithExtension: ({ output, extension, }: {
|
|
30
|
+
output: string;
|
|
31
|
+
extension: `.${string}`;
|
|
32
|
+
}) => string;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asOutputWithExtension = exports.asOutputWithoutAttempts = exports.detectOutputExtension = exports.setSkillOutputSrc = void 0;
|
|
4
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
5
|
+
const type_fns_1 = require("type-fns");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
/**
|
|
8
|
+
* .what = saves an artifact of the .src that created an output file
|
|
9
|
+
* .why =
|
|
10
|
+
* - a .src file helps callers trace the sequence that lead to some output. it makes outputs easier to repeat, since you always have the exact input at hand, for record
|
|
11
|
+
*/
|
|
12
|
+
const setSkillOutputSrc = async (input) => await (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
13
|
+
uri: (0, exports.asOutputWithExtension)({
|
|
14
|
+
output: (0, exports.asOutputWithoutAttempts)(input.opts.output),
|
|
15
|
+
extension: '.src',
|
|
16
|
+
}),
|
|
17
|
+
}, { versions: true }).set({
|
|
18
|
+
content: castInvokeOptsToSrcFileContents(input),
|
|
19
|
+
});
|
|
20
|
+
exports.setSkillOutputSrc = setSkillOutputSrc;
|
|
21
|
+
/**
|
|
22
|
+
* .what = a procedure to cast from invoke opts into .src file contents
|
|
23
|
+
*/
|
|
24
|
+
const castInvokeOptsToSrcFileContents = (input) => {
|
|
25
|
+
// detect the attempt number
|
|
26
|
+
const attempts = process.env.RHACHET_ATTEMPTS ?? null;
|
|
27
|
+
const output = (0, exports.asOutputWithoutAttempts)(input.opts.output);
|
|
28
|
+
// rebuild the request
|
|
29
|
+
const sections = [
|
|
30
|
+
`
|
|
31
|
+
ASK=$(cat <<'ASK_EOF'
|
|
32
|
+
|
|
33
|
+
${input.opts.ask}
|
|
34
|
+
|
|
35
|
+
ASK_EOF
|
|
36
|
+
)
|
|
37
|
+
`.trim(),
|
|
38
|
+
`
|
|
39
|
+
npx rhachet act -s ${input.skillUri} \\
|
|
40
|
+
`.trim(),
|
|
41
|
+
attempts
|
|
42
|
+
? `
|
|
43
|
+
--attempts ${attempts} \\
|
|
44
|
+
`.trim()
|
|
45
|
+
: null,
|
|
46
|
+
`
|
|
47
|
+
--output '${output}' \\
|
|
48
|
+
`.trim(),
|
|
49
|
+
input.opts.references
|
|
50
|
+
? `
|
|
51
|
+
--references '${input.opts.references}' \\
|
|
52
|
+
`.trim()
|
|
53
|
+
: null,
|
|
54
|
+
...Object.entries((0, type_fns_1.omit)(input.opts, ['attempts', 'ask', 'output', 'references'])).map(([key, value]) => `
|
|
55
|
+
--${key} '${value}' \\
|
|
56
|
+
`.trim()),
|
|
57
|
+
`
|
|
58
|
+
--ask "$ASK";
|
|
59
|
+
`.trim(),
|
|
60
|
+
].filter(type_fns_1.isPresent);
|
|
61
|
+
return sections.join('\n');
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* detect the trailing extension (with the dot), or null if none
|
|
65
|
+
*/
|
|
66
|
+
const detectOutputExtension = (output) => {
|
|
67
|
+
const ext = (0, node_path_1.extname)(output);
|
|
68
|
+
return ext || null;
|
|
69
|
+
};
|
|
70
|
+
exports.detectOutputExtension = detectOutputExtension;
|
|
71
|
+
/**
|
|
72
|
+
* .what = removes the attempt value, regardless of extension
|
|
73
|
+
* - if there's a real extension: strip ".iN" before it
|
|
74
|
+
* - if no real extension but ends with ".iN": strip it
|
|
75
|
+
*/
|
|
76
|
+
const asOutputWithoutAttempts = (output) => {
|
|
77
|
+
const ext = (0, exports.detectOutputExtension)(output);
|
|
78
|
+
// case: has real extension (like .md, .json, etc.)
|
|
79
|
+
if (ext && !/\.i\d+$/.test(ext))
|
|
80
|
+
return output.replace(new RegExp(`\\.i\\d+${ext}$`), ext);
|
|
81
|
+
// case: no extension, or extension is itself ".iN"
|
|
82
|
+
return output.replace(/\.i\d+$/, '');
|
|
83
|
+
};
|
|
84
|
+
exports.asOutputWithoutAttempts = asOutputWithoutAttempts;
|
|
85
|
+
/**
|
|
86
|
+
* .what = replaces the extension of an output file
|
|
87
|
+
* - if extension is real: replace it
|
|
88
|
+
* - if extension is ".iN": append new extension instead of replacing
|
|
89
|
+
*/
|
|
90
|
+
const asOutputWithExtension = ({ output, extension, }) => {
|
|
91
|
+
const ext = (0, exports.detectOutputExtension)(output);
|
|
92
|
+
// if no original extension, just append this new one
|
|
93
|
+
if (!ext)
|
|
94
|
+
return output + extension;
|
|
95
|
+
// otherwise, replace the extension
|
|
96
|
+
return output.slice(0, -ext.length) + extension;
|
|
97
|
+
};
|
|
98
|
+
exports.asOutputWithExtension = asOutputWithExtension;
|
|
99
|
+
//# sourceMappingURL=setSkillOutputSrc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setSkillOutputSrc.js","sourceRoot":"","sources":["../../../src/domain.operations/artifact/setSkillOutputSrc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ContextStitchTrail } from 'rhachet';
|
|
2
|
+
/**
|
|
3
|
+
* .what = an event stream consumer which streams emitted events to disk
|
|
4
|
+
* .how =
|
|
5
|
+
* - emits stitch set events observably to a standard .rhachet subdir, relative to the target dir
|
|
6
|
+
* - transforms the events for maximum observability in their serialized format
|
|
7
|
+
*/
|
|
8
|
+
export declare const genStitchStreamToDisk: (input: {
|
|
9
|
+
/**
|
|
10
|
+
* .what = the directory relative to which to instantiate the .rhachet stream sink
|
|
11
|
+
*/
|
|
12
|
+
dir: string;
|
|
13
|
+
}) => Required<ContextStitchTrail['stitch']>['stream'];
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.genStitchStreamToDisk = void 0;
|
|
4
|
+
const uni_time_1 = require("@ehmpathy/uni-time");
|
|
5
|
+
const rhachet_1 = require("rhachet");
|
|
6
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
7
|
+
const simple_in_memory_cache_1 = require("simple-in-memory-cache");
|
|
8
|
+
const type_fns_1 = require("type-fns");
|
|
9
|
+
const with_simple_caching_1 = require("with-simple-caching");
|
|
10
|
+
// todo: lift into string-fns or rhachet-artifact-git
|
|
11
|
+
const sanitizeForFilename = (input) => input
|
|
12
|
+
// replace invalid characters
|
|
13
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex: <explanation>
|
|
14
|
+
.replace(/[<>:"/\\|?*\x00-\x1F]/g, '_')
|
|
15
|
+
// collapse whitespace into underscore
|
|
16
|
+
.replace(/\s+/g, '_')
|
|
17
|
+
// remove trailing dots or spaces
|
|
18
|
+
.replace(/[. ]+$/, '')
|
|
19
|
+
// make sure reserved names aren’t returned bare
|
|
20
|
+
.replace(/^(con|prn|aux|nul|com\d|lpt\d)$/i, '_$1');
|
|
21
|
+
// declare where the stream will be emitted to // todo: move via hook into rhachet to centralize; declaration of emitter != mount of emitter. ideally, log on mount
|
|
22
|
+
const onMount = (0, with_simple_caching_1.withSimpleCaching)((input) => {
|
|
23
|
+
console.log(`🪡 stitch set event stream can be monitored at this dir: ${input.sinkSubdir}`);
|
|
24
|
+
console.log(); // newline
|
|
25
|
+
}, { cache: (0, simple_in_memory_cache_1.createCache)() });
|
|
26
|
+
/**
|
|
27
|
+
* .what = an event stream consumer which streams emitted events to disk
|
|
28
|
+
* .how =
|
|
29
|
+
* - emits stitch set events observably to a standard .rhachet subdir, relative to the target dir
|
|
30
|
+
* - transforms the events for maximum observability in their serialized format
|
|
31
|
+
*/
|
|
32
|
+
const genStitchStreamToDisk = (input) => {
|
|
33
|
+
// declare the directory into which the events will be streamed
|
|
34
|
+
const sinkSupdir = (0, rhachet_artifact_git_1.getArtifactObsDir)({ uri: `${input.dir}/stream` }); // e.g., src/domain/ -> src/domain/stream -> src/domain/.rhachet/stream
|
|
35
|
+
const invokedAt = sanitizeForFilename((0, uni_time_1.asUniDateTime)(new Date()));
|
|
36
|
+
const sinkSubdir = `${sinkSupdir}/i${invokedAt}`;
|
|
37
|
+
// declare how to sink emitted events to that directory
|
|
38
|
+
const emit = async (event) => {
|
|
39
|
+
// mock the onmount hook
|
|
40
|
+
onMount({ sinkSubdir });
|
|
41
|
+
// compose the event path prefix
|
|
42
|
+
const uriPrefix = [
|
|
43
|
+
sinkSubdir,
|
|
44
|
+
sanitizeForFilename([
|
|
45
|
+
'at',
|
|
46
|
+
event.occurredAt,
|
|
47
|
+
event.stitch.stitcher?.slug ?? '___',
|
|
48
|
+
event.stitch.stitcher?.form ?? '___',
|
|
49
|
+
event.stitch.uuid,
|
|
50
|
+
]
|
|
51
|
+
.filter(type_fns_1.isPresent)
|
|
52
|
+
.join('.')),
|
|
53
|
+
].join('/');
|
|
54
|
+
// always emit the raw event; // todo: do we ever need this? seems to takeup disk space too rapidly
|
|
55
|
+
await (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
56
|
+
uri: `${uriPrefix}.event.json`,
|
|
57
|
+
}).set({ content: JSON.stringify(event, null, 2) });
|
|
58
|
+
// if its an imagine event, then also separately emit the input and output for observability, if input and output had standard deprompt stitch
|
|
59
|
+
if (event.stitch.stitcher?.form === rhachet_1.StitcherForm.IMAGINE) {
|
|
60
|
+
if (typeof event.stitch.input?.prompt === 'string')
|
|
61
|
+
await (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
62
|
+
uri: `${uriPrefix}.prompt.input.md`,
|
|
63
|
+
}).set({ content: event.stitch.input.prompt });
|
|
64
|
+
if (typeof event.stitch.output?.content === 'string')
|
|
65
|
+
await (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
66
|
+
uri: `${uriPrefix}.prompt.output.md`,
|
|
67
|
+
}).set({ content: event.stitch.output.content });
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
// return the stream with observable to disk emitter
|
|
71
|
+
return { emit };
|
|
72
|
+
};
|
|
73
|
+
exports.genStitchStreamToDisk = genStitchStreamToDisk;
|
|
74
|
+
//# sourceMappingURL=genStitchStreamToDisk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genStitchStreamToDisk.js","sourceRoot":"","sources":["../../../src/domain.operations/context/genStitchStreamToDisk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type DocVersions = {
|
|
2
|
+
variant: number | null;
|
|
3
|
+
instance: number | null;
|
|
4
|
+
};
|
|
5
|
+
type Decoded = {
|
|
6
|
+
prefix: string;
|
|
7
|
+
doctype: string;
|
|
8
|
+
versions: DocVersions;
|
|
9
|
+
extension: string | null;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* parses a doc output path like:
|
|
13
|
+
* ...persp_pro.v1i2.[stories].v1.i3.md
|
|
14
|
+
* into:
|
|
15
|
+
* - doctype: "stories"
|
|
16
|
+
* - prefix: "...persp_pro.v1i2."
|
|
17
|
+
* - versions: { variant: 1, instance: 3 }
|
|
18
|
+
* - extension: "md"
|
|
19
|
+
*/
|
|
20
|
+
export declare const decodeDocOutputPath: (inputPath: string) => Decoded;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeDocOutputPath = void 0;
|
|
4
|
+
const helpful_errors_1 = require("helpful-errors");
|
|
5
|
+
/**
|
|
6
|
+
* parses a doc output path like:
|
|
7
|
+
* ...persp_pro.v1i2.[stories].v1.i3.md
|
|
8
|
+
* into:
|
|
9
|
+
* - doctype: "stories"
|
|
10
|
+
* - prefix: "...persp_pro.v1i2."
|
|
11
|
+
* - versions: { variant: 1, instance: 3 }
|
|
12
|
+
* - extension: "md"
|
|
13
|
+
*/
|
|
14
|
+
const decodeDocOutputPath = (inputPath) => {
|
|
15
|
+
// find the LAST [doctype], where [doctype] cant be before a `/`
|
|
16
|
+
const lastDoctypeMatch = inputPath.match(/^(.*)\[(\w+)\]([^/]*)$/i);
|
|
17
|
+
if (!lastDoctypeMatch) {
|
|
18
|
+
throw new helpful_errors_1.BadRequestError('could not find any [doctype] in referenced path', { path: inputPath });
|
|
19
|
+
}
|
|
20
|
+
const beforeAndDot = lastDoctypeMatch[1]; // should end with the dot before [doctype], e.g., "...v1i2."
|
|
21
|
+
const doctype = lastDoctypeMatch[2]; // inside the brackets
|
|
22
|
+
const after = lastDoctypeMatch[3] || ''; // tail after the closing ]
|
|
23
|
+
// ensure prefix ends exactly before the bracket (without dot suffix, if any)
|
|
24
|
+
const prefix = beforeAndDot.endsWith('.')
|
|
25
|
+
? beforeAndDot.slice(0, -1)
|
|
26
|
+
: beforeAndDot;
|
|
27
|
+
// parse tail tokens after the closing bracket, e.g. ".v1.i3.md", "._.md", ".md", etc.
|
|
28
|
+
// we’ll split on '.' and ignore empties so ".v1.i3.md" -> ["v1","i3","md"]
|
|
29
|
+
const tokens = after.split('.').filter(Boolean);
|
|
30
|
+
let variant = null;
|
|
31
|
+
let instance = null;
|
|
32
|
+
let extension = null;
|
|
33
|
+
for (const t of tokens) {
|
|
34
|
+
if (/^v\d+$/i.test(t)) {
|
|
35
|
+
variant = parseInt(t.slice(1), 10);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (/^i\d+$/i.test(t)) {
|
|
39
|
+
instance = parseInt(t.slice(1), 10);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (t === '_') {
|
|
43
|
+
// explicit “no attempt” marker – ignore for versions; not an extension
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
// anything else we treat as the extension; if multiple remain, the last wins
|
|
47
|
+
extension = t;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
prefix,
|
|
51
|
+
doctype,
|
|
52
|
+
versions: { variant, instance },
|
|
53
|
+
extension,
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
exports.decodeDocOutputPath = decodeDocOutputPath;
|
|
57
|
+
//# sourceMappingURL=decodeDocOutputPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeDocOutputPath.js","sourceRoot":"","sources":["../../../src/domain.operations/hooks/decodeDocOutputPath.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAUjD;;;;;;;;GAQG;AACI,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAW,EAAE;IAChE,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,gCAAe,CACvB,iDAAiD,EACjD,EAAE,IAAI,EAAE,SAAS,EAAE,CACpB,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAE,CAAC,CAAC,6DAA6D;IACxG,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAE,CAAC,CAAC,sBAAsB;IAC5D,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,2BAA2B;IAEpE,6EAA6E;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QACvC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,YAAY,CAAC;IAEjB,sFAAsF;IACtF,2EAA2E;IAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,uEAAuE;YACvE,SAAS;QACX,CAAC;QACD,6EAA6E;QAC7E,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,OAAO;QACL,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC/B,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAlDW,QAAA,mBAAmB,uBAkD9B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ContextLogTrail } from 'as-procedure';
|
|
2
|
+
import type { InvokeOpts } from 'rhachet';
|
|
3
|
+
/**
|
|
4
|
+
* .what = execute the translation of a doc output path
|
|
5
|
+
* .why =
|
|
6
|
+
* - given @translate(references.1)
|
|
7
|
+
* - then, want to apply a standard transformation onto it
|
|
8
|
+
* .how =
|
|
9
|
+
* - .[doctype] replaced
|
|
10
|
+
* - .vNiN trail markers preserved as prefix before .[doctype]
|
|
11
|
+
* - .v1 always started with, to facilitate subsequent trails
|
|
12
|
+
* - .rel(...) optionally re-roots the prefix directory relatively
|
|
13
|
+
*/
|
|
14
|
+
export declare const execTranslateDocOutputPath: (opts: InvokeOpts<{
|
|
15
|
+
ask: string;
|
|
16
|
+
config: string;
|
|
17
|
+
}>, context?: ContextLogTrail) => InvokeOpts<{
|
|
18
|
+
ask: string;
|
|
19
|
+
config: string;
|
|
20
|
+
}>;
|