@tangle-network/starter-foundry 0.7.3 → 0.13.2
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/LICENSE-APACHE +201 -0
- package/README.md +63 -174
- package/corpus/template-family-mapping.json +0 -1
- package/dist/cli.js +206 -85
- package/dist/cli.js.map +1 -1
- package/dist/eval/diagnoser.d.ts +2 -2
- package/dist/eval/diagnoser.js +28 -7
- package/dist/eval/diagnoser.js.map +1 -1
- package/dist/eval/propose.js +1 -1
- package/dist/eval/propose.js.map +1 -1
- package/dist/eval/replay.d.ts +8 -8
- package/dist/eval/replay.js +44 -21
- package/dist/eval/replay.js.map +1 -1
- package/dist/eval/scaffold-bridge.d.ts +6 -6
- package/dist/eval/scaffold-bridge.js +103 -30
- package/dist/eval/scaffold-bridge.js.map +1 -1
- package/dist/lib/agent-bundle.d.ts +278 -0
- package/dist/lib/agent-bundle.js +411 -0
- package/dist/lib/agent-bundle.js.map +1 -0
- package/dist/lib/agent-context.js +4 -4
- package/dist/lib/agent-context.js.map +1 -1
- package/dist/lib/agent-runners.d.ts +2 -2
- package/dist/lib/agent-runners.js +5 -3
- package/dist/lib/agent-runners.js.map +1 -1
- package/dist/lib/augment.js.map +1 -1
- package/dist/lib/brand/first-turn-flows.js +5 -3
- package/dist/lib/brand/first-turn-flows.js.map +1 -1
- package/dist/lib/brand/i18n.d.ts +2 -2
- package/dist/lib/brand/i18n.js +37 -7
- package/dist/lib/brand/i18n.js.map +1 -1
- package/dist/lib/brand/index.js +43 -8
- package/dist/lib/brand/index.js.map +1 -1
- package/dist/lib/brand/media-manifest.d.ts +2 -2
- package/dist/lib/brand/media-manifest.js +20 -4
- package/dist/lib/brand/media-manifest.js.map +1 -1
- package/dist/lib/brand/user-segments.js +49 -16
- package/dist/lib/brand/user-segments.js.map +1 -1
- package/dist/lib/brand/voice.js.map +1 -1
- package/dist/lib/bridge.d.ts +2 -2
- package/dist/lib/bridge.js +18 -14
- package/dist/lib/bridge.js.map +1 -1
- package/dist/lib/build-plan.d.ts +1 -1
- package/dist/lib/build-plan.js +66 -15
- package/dist/lib/build-plan.js.map +1 -1
- package/dist/lib/buildout-traces.d.ts +3 -3
- package/dist/lib/buildout-traces.js +4 -4
- package/dist/lib/buildout-traces.js.map +1 -1
- package/dist/lib/canary.js.map +1 -1
- package/dist/lib/capability-inferrer.d.ts +2 -2
- package/dist/lib/capability-inferrer.js +1 -1
- package/dist/lib/capability-inferrer.js.map +1 -1
- package/dist/lib/catalog.d.ts +2 -2
- package/dist/lib/cli/export-runs.d.ts +13 -0
- package/dist/lib/cli/export-runs.js +57 -0
- package/dist/lib/cli/export-runs.js.map +1 -0
- package/dist/lib/cli/gate.d.ts +11 -0
- package/dist/lib/cli/gate.js +60 -0
- package/dist/lib/cli/gate.js.map +1 -0
- package/dist/lib/cli/profiles.d.ts +12 -0
- package/dist/lib/cli/profiles.js +63 -0
- package/dist/lib/cli/profiles.js.map +1 -0
- package/dist/lib/cli/refresh-snapshots.d.ts +15 -0
- package/dist/lib/cli/refresh-snapshots.js +40 -0
- package/dist/lib/cli/refresh-snapshots.js.map +1 -0
- package/dist/lib/compose-prompt.d.ts +1 -1
- package/dist/lib/compose-prompt.js +1 -1
- package/dist/lib/compose-prompt.js.map +1 -1
- package/dist/lib/compose.d.ts +1 -1
- package/dist/lib/compose.js +212 -33
- package/dist/lib/compose.js.map +1 -1
- package/dist/lib/context-pack.d.ts +1 -1
- package/dist/lib/context-pack.js +2 -1
- package/dist/lib/context-pack.js.map +1 -1
- package/dist/lib/cost.js +2 -1
- package/dist/lib/cost.js.map +1 -1
- package/dist/lib/domain-packs.d.ts +31 -0
- package/dist/lib/domain-packs.js +261 -0
- package/dist/lib/domain-packs.js.map +1 -0
- package/dist/lib/eval/ab.js.map +1 -0
- package/dist/lib/{audit.d.ts → eval/audit.d.ts} +1 -1
- package/dist/lib/{audit.js → eval/audit.js} +2 -2
- package/dist/lib/eval/audit.js.map +1 -0
- package/dist/lib/{batch-export.js → eval/batch-export.js} +38 -9
- package/dist/lib/eval/batch-export.js.map +1 -0
- package/dist/lib/{benchmark.d.ts → eval/benchmark.d.ts} +1 -1
- package/dist/lib/{benchmark.js → eval/benchmark.js} +4 -4
- package/dist/lib/eval/benchmark.js.map +1 -0
- package/dist/lib/eval/emit-run-record.d.ts +38 -0
- package/dist/lib/eval/emit-run-record.js +37 -0
- package/dist/lib/eval/emit-run-record.js.map +1 -0
- package/dist/lib/{prove.d.ts → eval/prove.d.ts} +2 -2
- package/dist/lib/{prove.js → eval/prove.js} +2 -2
- package/dist/lib/eval/prove.js.map +1 -0
- package/dist/lib/{reproducibility.d.ts → eval/reproducibility.d.ts} +3 -3
- package/dist/lib/eval/reproducibility.js.map +1 -0
- package/dist/lib/{sbom.d.ts → eval/sbom.d.ts} +2 -2
- package/dist/lib/{sbom.js → eval/sbom.js} +5 -2
- package/dist/lib/eval/sbom.js.map +1 -0
- package/dist/lib/fatten.d.ts +2 -2
- package/dist/lib/fatten.js +38 -10
- package/dist/lib/fatten.js.map +1 -1
- package/dist/lib/fs.js +11 -5
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/held-out-gate.d.ts +88 -0
- package/dist/lib/held-out-gate.js +177 -0
- package/dist/lib/held-out-gate.js.map +1 -0
- package/dist/lib/index.d.ts +24 -13
- package/dist/lib/index.js +17 -8
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/industries.js +2 -2
- package/dist/lib/industries.js.map +1 -1
- package/dist/lib/industry-flows.js +3 -5
- package/dist/lib/industry-flows.js.map +1 -1
- package/dist/lib/keywords.js +31 -21
- package/dist/lib/keywords.js.map +1 -1
- package/dist/lib/llm.js +22 -21
- package/dist/lib/llm.js.map +1 -1
- package/dist/lib/planner/contracts.js +45 -13
- package/dist/lib/planner/contracts.js.map +1 -1
- package/dist/lib/planner/detectors.js +31 -9
- package/dist/lib/planner/detectors.js.map +1 -1
- package/dist/lib/planner/domain-pack-signals.d.ts +6 -0
- package/dist/lib/planner/domain-pack-signals.js +36 -0
- package/dist/lib/planner/domain-pack-signals.js.map +1 -0
- package/dist/lib/planner/implicit-caps.js +12 -2
- package/dist/lib/planner/implicit-caps.js.map +1 -1
- package/dist/lib/planner/partner-first.d.ts +0 -14
- package/dist/lib/planner/partner-first.js +14 -14
- package/dist/lib/planner/partner-first.js.map +1 -1
- package/dist/lib/planner/projects.d.ts +5 -1
- package/dist/lib/planner/projects.js +460 -113
- package/dist/lib/planner/projects.js.map +1 -1
- package/dist/lib/planner/signals.d.ts +9 -0
- package/dist/lib/planner/signals.js +195 -27
- package/dist/lib/planner/signals.js.map +1 -1
- package/dist/lib/product-brief.js +4 -1
- package/dist/lib/product-brief.js.map +1 -1
- package/dist/lib/profile-loader.d.ts +56 -0
- package/dist/lib/profile-loader.js +144 -0
- package/dist/lib/profile-loader.js.map +1 -0
- package/dist/lib/promoter-gates.js +86 -22
- package/dist/lib/promoter-gates.js.map +1 -1
- package/dist/lib/prompt-e2e.d.ts +3 -3
- package/dist/lib/prompt-e2e.js +1 -1
- package/dist/lib/prompt-e2e.js.map +1 -1
- package/dist/lib/prompt-planner.js +428 -88
- package/dist/lib/prompt-planner.js.map +1 -1
- package/dist/lib/prompt-rewriter.d.ts +2 -1
- package/dist/lib/prompt-rewriter.js +6 -3
- package/dist/lib/prompt-rewriter.js.map +1 -1
- package/dist/lib/registry-mirror.d.ts +2 -2
- package/dist/lib/registry-mirror.js +3 -1
- package/dist/lib/registry-mirror.js.map +1 -1
- package/dist/lib/registry.d.ts +6 -6
- package/dist/lib/registry.js +193 -12
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/release.js +7 -4
- package/dist/lib/release.js.map +1 -1
- package/dist/lib/reviewer-route.js +33 -19
- package/dist/lib/reviewer-route.js.map +1 -1
- package/dist/lib/run-canaries.d.ts +102 -0
- package/dist/lib/run-canaries.js +305 -0
- package/dist/lib/run-canaries.js.map +1 -0
- package/dist/lib/run-record-store.d.ts +21 -0
- package/dist/lib/run-record-store.js +61 -0
- package/dist/lib/run-record-store.js.map +1 -0
- package/dist/lib/run-record.d.ts +105 -0
- package/dist/lib/run-record.js +189 -0
- package/dist/lib/run-record.js.map +1 -0
- package/dist/lib/safety/license-check.js +18 -10
- package/dist/lib/safety/license-check.js.map +1 -1
- package/dist/lib/safety/secret-scan.js +15 -1
- package/dist/lib/safety/secret-scan.js.map +1 -1
- package/dist/lib/selection.d.ts +15 -0
- package/dist/lib/selection.js +138 -17
- package/dist/lib/selection.js.map +1 -1
- package/dist/lib/semantic-router.d.ts +5 -1
- package/dist/lib/semantic-router.js +7 -3
- package/dist/lib/semantic-router.js.map +1 -1
- package/dist/lib/snapshot-resolver.d.ts +94 -0
- package/dist/lib/snapshot-resolver.js +228 -0
- package/dist/lib/snapshot-resolver.js.map +1 -0
- package/dist/lib/synthetic/index.js +4 -2
- package/dist/lib/synthetic/index.js.map +1 -1
- package/dist/lib/telemetry/stream.js +3 -1
- package/dist/lib/telemetry/stream.js.map +1 -1
- package/dist/lib/telemetry.d.ts +2 -1
- package/dist/lib/telemetry.js +8 -2
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/template-quality.d.ts +2 -2
- package/dist/lib/template-quality.js +6 -4
- package/dist/lib/template-quality.js.map +1 -1
- package/dist/lib/validate-plan.js +4 -1
- package/dist/lib/validate-plan.js.map +1 -1
- package/dist/lib/validate.d.ts +5 -1
- package/dist/lib/validate.js +340 -4
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/vb-outcomes.d.ts +2 -2
- package/dist/lib/vb-outcomes.js.map +1 -1
- package/dist/lib/version-history.js.map +1 -1
- package/dist/lib/visual-regression.d.ts +2 -2
- package/dist/lib/visual-regression.js.map +1 -1
- package/dist/lib/workspace-presets.d.ts +125 -0
- package/dist/lib/workspace-presets.js +364 -0
- package/dist/lib/workspace-presets.js.map +1 -0
- package/dist/lib/workspace.d.ts +6 -6
- package/dist/lib/workspace.js +8 -7
- package/dist/lib/workspace.js.map +1 -1
- package/dist/training/capability_proposer/propose.d.ts +2 -3
- package/dist/training/capability_proposer/propose.js +26 -15
- package/dist/training/capability_proposer/propose.js.map +1 -1
- package/dist/training/family_proposer/propose.d.ts +2 -3
- package/dist/training/family_proposer/propose.js +275 -42
- package/dist/training/family_proposer/propose.js.map +1 -1
- package/dist/training/routing/train.d.ts +2 -2
- package/dist/training/routing/train.js +9 -6
- package/dist/training/routing/train.js.map +1 -1
- package/dist/training/template_v1/audit.js +5 -3
- package/dist/training/template_v1/audit.js.map +1 -1
- package/dist/training/template_v1/correctness.js +10 -11
- package/dist/training/template_v1/correctness.js.map +1 -1
- package/dist/training/template_v1/harvest.d.ts +7 -7
- package/dist/training/template_v1/harvest.js +5 -7
- package/dist/training/template_v1/harvest.js.map +1 -1
- package/dist/training/template_v1/judge.d.ts +1 -1
- package/dist/training/template_v1/judge.js +7 -4
- package/dist/training/template_v1/judge.js.map +1 -1
- package/dist/training/template_v1/multi-propose.d.ts +3 -3
- package/dist/training/template_v1/multi-propose.js +3 -2
- package/dist/training/template_v1/multi-propose.js.map +1 -1
- package/dist/training/template_v1/run.js +34 -17
- package/dist/training/template_v1/run.js.map +1 -1
- package/dist/training/template_v1/synthesize.js +9 -3
- package/dist/training/template_v1/synthesize.js.map +1 -1
- package/dist/training/variant_b/brief-loader.js +32 -12
- package/dist/training/variant_b/brief-loader.js.map +1 -1
- package/dist/training/variant_b/flow.d.ts +2 -2
- package/dist/training/variant_b/flow.js +2 -2
- package/dist/training/variant_b/flow.js.map +1 -1
- package/dist/training/variant_b/generate.js +8 -4
- package/dist/training/variant_b/generate.js.map +1 -1
- package/dist/training/variant_b/judge.d.ts +2 -3
- package/dist/training/variant_b/judge.js.map +1 -1
- package/dist/training/variant_b/nodes/collect.d.ts +2 -2
- package/dist/training/variant_b/nodes/collect.js.map +1 -1
- package/dist/training/variant_b/nodes/generate.js +12 -3
- package/dist/training/variant_b/nodes/generate.js.map +1 -1
- package/dist/training/variant_b/nodes/judge.js.map +1 -1
- package/dist/training/variant_b/nodes/promote.d.ts +2 -2
- package/dist/training/variant_b/nodes/promote.js.map +1 -1
- package/dist/training/variant_b/nodes/rank.js.map +1 -1
- package/dist/training/variant_b/nodes/train.js +13 -7
- package/dist/training/variant_b/nodes/train.js.map +1 -1
- package/dist/training/variant_b/run-flow.js +1 -1
- package/dist/training/variant_b/run-flow.js.map +1 -1
- package/dist/training/variant_b/train.js +1 -1
- package/dist/training/variant_b/train.js.map +1 -1
- package/dist/types/compose.d.ts +126 -0
- package/dist/types/compose.js +5 -0
- package/dist/types/compose.js.map +1 -0
- package/dist/types/eval.d.ts +89 -0
- package/dist/types/eval.js +5 -0
- package/dist/types/eval.js.map +1 -0
- package/dist/types/ids.d.ts +46 -0
- package/dist/types/ids.js +87 -0
- package/dist/types/ids.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/planner.d.ts +64 -0
- package/dist/types/planner.js +4 -0
- package/dist/types/planner.js.map +1 -0
- package/dist/types/registry-schemas.generated.d.ts +96 -1
- package/dist/types/registry-schemas.generated.js +2 -2
- package/dist/types/registry-schemas.generated.js.map +1 -1
- package/dist/types/registry.d.ts +243 -0
- package/dist/types/registry.js +4 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types.d.ts +1 -444
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/package.json +108 -51
- package/registry/_schemas/agent.schema.json +101 -0
- package/registry/_schemas/family.schema.json +62 -2
- package/registry/_schemas/layer.schema.json +70 -0
- package/registry/families/agent-debug-ui-ts/files/.env.example +13 -0
- package/registry/families/agent-debug-ui-ts/files/README.md +78 -0
- package/registry/families/agent-debug-ui-ts/files/index.html +12 -0
- package/registry/families/agent-debug-ui-ts/files/package.json +24 -0
- package/registry/families/agent-debug-ui-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/agent-debug-ui-ts/files/src/App.tsx +224 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/ChatPair.tsx +69 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/EventInspector.tsx +36 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/EventStream.tsx +122 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/ReplayScrubber.tsx +59 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/ToolCallTimeline.tsx +136 -0
- package/registry/families/agent-debug-ui-ts/files/src/lib/event-types.ts +115 -0
- package/registry/families/agent-debug-ui-ts/files/src/lib/sandbox-stream.ts +133 -0
- package/registry/families/agent-debug-ui-ts/files/src/main.tsx +13 -0
- package/registry/families/agent-debug-ui-ts/files/src/styles.css +382 -0
- package/registry/families/agent-debug-ui-ts/files/tsconfig.json +25 -0
- package/registry/families/agent-debug-ui-ts/files/tsconfig.node.json +11 -0
- package/registry/families/agent-debug-ui-ts/files/vite.config.ts +15 -0
- package/registry/families/agent-debug-ui-ts/manifest.json +92 -0
- package/registry/families/agent-eval-harness-py/files/.github/workflows/eval.yml +70 -0
- package/registry/families/agent-eval-harness-py/files/AGENTS.md +135 -0
- package/registry/families/agent-eval-harness-py/files/README.md +145 -0
- package/registry/families/agent-eval-harness-py/files/agent.json +30 -0
- package/registry/families/agent-eval-harness-py/files/pyproject.toml +48 -0
- package/registry/families/agent-eval-harness-py/files/requirements.txt +7 -0
- package/registry/families/agent-eval-harness-py/files/scenarios/__init__.py +1 -0
- package/registry/families/agent-eval-harness-py/files/scenarios/example.py +50 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/__init__.py +57 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/__main__.py +10 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/cli.py +281 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/judges/__init__.py +27 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/judges/example_judge.py +52 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/judges/rubric.py +299 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/regression.py +299 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/runner.py +320 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/sandbox_runner.py +194 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/scorecard.py +192 -0
- package/registry/families/agent-eval-harness-py/files/tests/__init__.py +0 -0
- package/registry/families/agent-eval-harness-py/files/tests/test_regression.py +266 -0
- package/registry/families/agent-eval-harness-py/files/tests/test_runner.py +291 -0
- package/registry/families/agent-eval-harness-py/files/tests/test_sandbox.py +258 -0
- package/registry/families/agent-eval-harness-py/manifest.json +209 -0
- package/registry/families/agent-eval-harness-ts/files/.github/workflows/eval.yml +55 -0
- package/registry/families/agent-eval-harness-ts/files/AGENTS.md +116 -0
- package/registry/families/agent-eval-harness-ts/files/README.md +138 -0
- package/registry/families/agent-eval-harness-ts/files/agent.json +32 -0
- package/registry/families/agent-eval-harness-ts/files/judges/example.judge.ts +93 -0
- package/registry/families/agent-eval-harness-ts/files/package.json +21 -0
- package/registry/families/agent-eval-harness-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/agent-eval-harness-ts/files/scenarios/.gitkeep +0 -0
- package/registry/families/agent-eval-harness-ts/files/scenarios/example.scenario.ts +34 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/campaign.ts +137 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/cli.ts +65 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/runner.ts +491 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/scorecard.ts +89 -0
- package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-bad/missing-thesis.scenario.ts +14 -0
- package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-good/example.scenario.ts +15 -0
- package/registry/families/agent-eval-harness-ts/files/tests/scenario-loader-import.test.ts +63 -0
- package/registry/families/agent-eval-harness-ts/files/tsconfig.json +24 -0
- package/registry/families/agent-eval-harness-ts/manifest.json +124 -0
- package/registry/families/agent-eval-ui-ts/files/.env.example +12 -0
- package/registry/families/agent-eval-ui-ts/files/README.md +66 -0
- package/registry/families/agent-eval-ui-ts/files/index.html +12 -0
- package/registry/families/agent-eval-ui-ts/files/package.json +26 -0
- package/registry/families/agent-eval-ui-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/agent-eval-ui-ts/files/src/App.tsx +148 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/RunDiff.tsx +91 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/ScoreRadar.tsx +78 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/TraceDetail.tsx +168 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/TraceList.tsx +98 -0
- package/registry/families/agent-eval-ui-ts/files/src/lib/scoring.ts +124 -0
- package/registry/families/agent-eval-ui-ts/files/src/lib/traces.ts +301 -0
- package/registry/families/agent-eval-ui-ts/files/src/main.tsx +16 -0
- package/registry/families/agent-eval-ui-ts/files/src/styles.css +140 -0
- package/registry/families/agent-eval-ui-ts/files/tsconfig.json +24 -0
- package/registry/families/agent-eval-ui-ts/files/vite.config.ts +64 -0
- package/registry/families/agent-eval-ui-ts/manifest.json +102 -0
- package/registry/families/agent-marketplace-ui-ts/files/.env.example +19 -0
- package/registry/families/agent-marketplace-ui-ts/files/README.md +54 -0
- package/registry/families/agent-marketplace-ui-ts/files/next.config.js +18 -0
- package/registry/families/agent-marketplace-ui-ts/files/package.json +27 -0
- package/registry/families/agent-marketplace-ui-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/bundles/[id]/page.tsx +78 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/deploy/[id]/page.tsx +28 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/layout.tsx +35 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/page-client.tsx +26 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/page.tsx +39 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/AgentsMdPreview.tsx +132 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleCard.tsx +34 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleGrid.tsx +23 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/DeployFlow.tsx +263 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/SearchFilters.tsx +61 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/lib/catalog.ts +208 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/lib/search.ts +54 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/styles/globals.css +244 -0
- package/registry/families/agent-marketplace-ui-ts/files/tsconfig.json +27 -0
- package/registry/families/agent-marketplace-ui-ts/manifest.json +105 -0
- package/registry/families/agent-research-harness-py/files/.github/workflows/research.yml +45 -0
- package/registry/families/agent-research-harness-py/files/AGENTS.md +87 -0
- package/registry/families/agent-research-harness-py/files/README.md +63 -0
- package/registry/families/agent-research-harness-py/files/agent.json +45 -0
- package/registry/families/agent-research-harness-py/files/hypotheses/README.md +45 -0
- package/registry/families/agent-research-harness-py/files/hypotheses/example.json +29 -0
- package/registry/families/agent-research-harness-py/files/hypotheses/queue.json +1 -0
- package/registry/families/agent-research-harness-py/files/pyproject.toml +33 -0
- package/registry/families/agent-research-harness-py/files/requirements.txt +6 -0
- package/registry/families/agent-research-harness-py/files/src/research/__init__.py +37 -0
- package/registry/families/agent-research-harness-py/files/src/research/__main__.py +6 -0
- package/registry/families/agent-research-harness-py/files/src/research/cli.py +146 -0
- package/registry/families/agent-research-harness-py/files/src/research/proposer.py +140 -0
- package/registry/families/agent-research-harness-py/files/src/research/runner.py +230 -0
- package/registry/families/agent-research-harness-py/files/src/research/sandbox_runner.py +180 -0
- package/registry/families/agent-research-harness-py/files/src/research/screener.py +55 -0
- package/registry/families/agent-research-harness-py/files/src/research/types.py +128 -0
- package/registry/families/agent-research-harness-py/files/src/research/validator.py +305 -0
- package/registry/families/agent-research-harness-py/files/tests/__init__.py +0 -0
- package/registry/families/agent-research-harness-py/files/tests/test_sandbox.py +181 -0
- package/registry/families/agent-research-harness-py/files/tests/test_screener.py +74 -0
- package/registry/families/agent-research-harness-py/files/tests/test_validator.py +250 -0
- package/registry/families/agent-research-harness-py/manifest.json +199 -0
- package/registry/families/agent-research-harness-ts/files/.github/workflows/research.yml +65 -0
- package/registry/families/agent-research-harness-ts/files/AGENTS.md +121 -0
- package/registry/families/agent-research-harness-ts/files/README.md +155 -0
- package/registry/families/agent-research-harness-ts/files/agent.json +31 -0
- package/registry/families/agent-research-harness-ts/files/hypotheses/README.md +79 -0
- package/registry/families/agent-research-harness-ts/files/hypotheses/example.json +18 -0
- package/registry/families/agent-research-harness-ts/files/hypotheses/queue.json +3 -0
- package/registry/families/agent-research-harness-ts/files/package.json +31 -0
- package/registry/families/agent-research-harness-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/agent-research-harness-ts/files/src/research/cli.ts +160 -0
- package/registry/families/agent-research-harness-ts/files/src/research/proposer.ts +215 -0
- package/registry/families/agent-research-harness-ts/files/src/research/runner.ts +253 -0
- package/registry/families/agent-research-harness-ts/files/src/research/screener.ts +105 -0
- package/registry/families/agent-research-harness-ts/files/src/research/types.ts +143 -0
- package/registry/families/agent-research-harness-ts/files/src/research/validator.ts +310 -0
- package/registry/families/agent-research-harness-ts/files/tests/research-runner.test.ts +422 -0
- package/registry/families/agent-research-harness-ts/files/tests/screener.test.ts +93 -0
- package/registry/families/agent-research-harness-ts/files/tests/validator.test.ts +149 -0
- package/registry/families/agent-research-harness-ts/files/tsconfig.json +19 -0
- package/registry/families/agent-research-harness-ts/manifest.json +109 -0
- package/registry/families/agent-runtime-account-executive-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-account-executive-ts/files/README.md +25 -0
- package/registry/families/agent-runtime-account-executive-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-account-executive-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/deal-progression.md +40 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/opportunity-scoring.md +60 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/pipeline-review.md +35 -0
- package/registry/families/agent-runtime-account-executive-ts/manifest.json +151 -0
- package/registry/families/agent-runtime-architect-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-architect-ts/files/README.md +29 -0
- package/registry/families/agent-runtime-architect-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-architect-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/architecture-decision-record.md +157 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/system-design-canvas.md +33 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/trade-off-analysis.md +146 -0
- package/registry/families/agent-runtime-architect-ts/manifest.json +146 -0
- package/registry/families/agent-runtime-auditor-ts/files/AGENTS.md +99 -0
- package/registry/families/agent-runtime-auditor-ts/files/README.md +28 -0
- package/registry/families/agent-runtime-auditor-ts/files/agent.json +36 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/control-walkthrough.md +80 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/deficiency-write-up.md +101 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/evidence-request-list.md +84 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/index.json +22 -0
- package/registry/families/agent-runtime-auditor-ts/manifest.json +96 -0
- package/registry/families/agent-runtime-biology-research-ts/files/AGENTS.md +85 -0
- package/registry/families/agent-runtime-biology-research-ts/files/README.md +46 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/experimental-design.md +134 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/literature-search.md +105 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/sequence-analysis.md +109 -0
- package/registry/families/agent-runtime-biology-research-ts/manifest.json +89 -0
- package/registry/families/agent-runtime-business-partner-ts/files/AGENTS.md +129 -0
- package/registry/families/agent-runtime-business-partner-ts/files/README.md +94 -0
- package/registry/families/agent-runtime-business-partner-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-business-partner-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/decision-journal.md +149 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/okr-design.md +130 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/weekly-review-protocol.md +103 -0
- package/registry/families/agent-runtime-business-partner-ts/manifest.json +194 -0
- package/registry/families/agent-runtime-career-coach-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-career-coach-ts/files/README.md +39 -0
- package/registry/families/agent-runtime-career-coach-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-career-coach-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/decision-framework.md +36 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/market-positioning.md +38 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/self-assessment.md +37 -0
- package/registry/families/agent-runtime-career-coach-ts/manifest.json +142 -0
- package/registry/families/agent-runtime-chef-ts/files/AGENTS.md +75 -0
- package/registry/families/agent-runtime-chef-ts/files/README.md +35 -0
- package/registry/families/agent-runtime-chef-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-chef-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/meal-planning.md +90 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/recipe-development.md +96 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/technique-guidance.md +90 -0
- package/registry/families/agent-runtime-chef-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/AGENTS.md +80 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/README.md +28 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/compound-data-extraction.md +104 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/literature-search.md +101 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/reaction-planning.md +125 -0
- package/registry/families/agent-runtime-chemistry-research-ts/manifest.json +156 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/AGENTS.md +86 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/README.md +52 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/channel-experiment-design.md +101 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/icp-deep-dive.md +99 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/positioning-canvas.md +88 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/manifest.json +184 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/README.md +17 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/application-strategy.md +33 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/essay-coaching.md +146 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/financial-aid-navigation.md +153 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-college-counselor-ts/manifest.json +144 -0
- package/registry/families/agent-runtime-cs-research-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-cs-research-ts/files/README.md +35 -0
- package/registry/families/agent-runtime-cs-research-ts/files/TOOLS.md +33 -0
- package/registry/families/agent-runtime-cs-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/citation-graph-exploration.md +36 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/literature-survey.md +40 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/paper-summarization.md +120 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/research-question-formulation.md +132 -0
- package/registry/families/agent-runtime-cs-research-ts/manifest.json +157 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/AGENTS.md +58 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/README.md +29 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/debug-code.md +33 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/explain-concept.md +34 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/generate-exercise.md +44 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-cs-tutor-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-customer-success-ts/files/AGENTS.md +64 -0
- package/registry/families/agent-runtime-customer-success-ts/files/README.md +32 -0
- package/registry/families/agent-runtime-customer-success-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-customer-success-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/escalation-triage.md +44 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/health-score.md +41 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/qbr-framework.md +39 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/retention-playbook.md +39 -0
- package/registry/families/agent-runtime-customer-success-ts/manifest.json +156 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/README.md +34 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/ad-hoc-query.md +39 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/dashboard-design.md +127 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/data-quality-audit.md +138 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/exploratory-analysis.md +33 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-data-analyst-ts/manifest.json +154 -0
- package/registry/families/agent-runtime-designer-ts/files/AGENTS.md +60 -0
- package/registry/families/agent-runtime-designer-ts/files/README.md +25 -0
- package/registry/families/agent-runtime-designer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-designer-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/design-critique.md +140 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/prototyping-guide.md +32 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/ux-strategy.md +39 -0
- package/registry/families/agent-runtime-designer-ts/manifest.json +143 -0
- package/registry/families/agent-runtime-devops-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-devops-ts/files/README.md +30 -0
- package/registry/families/agent-runtime-devops-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-devops-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/iac-review.md +39 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/incident-response-protocol.md +36 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/runbook-automation.md +32 -0
- package/registry/families/agent-runtime-devops-ts/manifest.json +149 -0
- package/registry/families/agent-runtime-doctor-ts/files/AGENTS.md +70 -0
- package/registry/families/agent-runtime-doctor-ts/files/README.md +33 -0
- package/registry/families/agent-runtime-doctor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-doctor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/medical-reference.md +42 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/symptom-explainer.md +34 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/treatment-overview.md +36 -0
- package/registry/families/agent-runtime-doctor-ts/manifest.json +143 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/AGENTS.md +64 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/README.md +18 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/agent.json +41 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/incident-postmortem.md +124 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/one-on-one-cadence.md +109 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/sprint-planning.md +122 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/tech-debt-triage.md +113 -0
- package/registry/families/agent-runtime-engineering-manager-ts/manifest.json +154 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/README.md +24 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/argument-structuring.md +30 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/revision-cycle.md +32 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/thesis-development.md +38 -0
- package/registry/families/agent-runtime-essay-coach-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/AGENTS.md +67 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/README.md +19 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/equity-research.md +145 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/financial-modeling.md +132 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/investment-memo.md +146 -0
- package/registry/families/agent-runtime-financial-analyst-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/AGENTS.md +141 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/README.md +76 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/deload-prompt.md +106 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/form-check-protocol.md +136 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/index.json +26 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/weekly-program.md +115 -0
- package/registry/families/agent-runtime-fitness-coach-ts/manifest.json +193 -0
- package/registry/families/agent-runtime-friend-ts/files/AGENTS.md +82 -0
- package/registry/families/agent-runtime-friend-ts/files/README.md +32 -0
- package/registry/families/agent-runtime-friend-ts/files/agent.json +35 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/check-in-protocol.md +54 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/index.json +22 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/rapport-warm.md +50 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/topic-pivot.md +53 -0
- package/registry/families/agent-runtime-friend-ts/manifest.json +92 -0
- package/registry/families/agent-runtime-game-designer-ts/files/AGENTS.md +56 -0
- package/registry/families/agent-runtime-game-designer-ts/files/README.md +32 -0
- package/registry/families/agent-runtime-game-designer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-game-designer-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/mechanic-design.md +110 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/narrative-system.md +135 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/player-loop.md +143 -0
- package/registry/families/agent-runtime-game-designer-ts/manifest.json +150 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/AGENTS.md +60 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/README.md +17 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/deadline-tracker.md +140 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/grant-proposal-canvas.md +37 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/reporting-template.md +30 -0
- package/registry/families/agent-runtime-grant-writer-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/AGENTS.md +59 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/README.md +22 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/historiographic-debate.md +123 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/source-analysis.md +117 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/timeline-reasoning.md +134 -0
- package/registry/families/agent-runtime-history-tutor-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-illustrator-ts/files/AGENTS.md +64 -0
- package/registry/families/agent-runtime-illustrator-ts/files/README.md +29 -0
- package/registry/families/agent-runtime-illustrator-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-illustrator-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/art-direction-canvas.md +31 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/composition-guide.md +36 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/style-development.md +39 -0
- package/registry/families/agent-runtime-illustrator-ts/manifest.json +146 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/AGENTS.md +111 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/README.md +101 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/daily-conversation-prompt.md +103 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/index.json +27 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/shadowing-protocol.md +102 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/vocabulary-drill.md +121 -0
- package/registry/families/agent-runtime-language-tutor-ts/manifest.json +187 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/AGENTS.md +114 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/README.md +77 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/contract-redline-protocol.md +111 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/msa-checklist.md +190 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/nda-checklist.md +122 -0
- package/registry/families/agent-runtime-legal-counsel-ts/manifest.json +178 -0
- package/registry/families/agent-runtime-math-research-ts/files/AGENTS.md +67 -0
- package/registry/families/agent-runtime-math-research-ts/files/README.md +18 -0
- package/registry/families/agent-runtime-math-research-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-math-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/literature-review.md +106 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/mathematical-reasoning.md +126 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/proof-verification.md +140 -0
- package/registry/families/agent-runtime-math-research-ts/manifest.json +150 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/AGENTS.md +70 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/README.md +37 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/concept-explanation.md +67 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/problem-generation.md +47 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/step-by-step-solution.md +58 -0
- package/registry/families/agent-runtime-math-tutor-ts/manifest.json +143 -0
- package/registry/families/agent-runtime-mediator-ts/files/AGENTS.md +75 -0
- package/registry/families/agent-runtime-mediator-ts/files/README.md +30 -0
- package/registry/families/agent-runtime-mediator-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-mediator-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/agreement-drafting.md +36 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/de-escalation-protocol.md +41 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/index.json +26 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/structured-dialogue.md +42 -0
- package/registry/families/agent-runtime-mediator-ts/manifest.json +147 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/AGENTS.md +74 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/README.md +26 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/guided-session.md +33 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/index.json +26 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/mindfulness-check.md +139 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/technique-cue.md +141 -0
- package/registry/families/agent-runtime-meditation-coach-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-ml-research-ts/files/AGENTS.md +71 -0
- package/registry/families/agent-runtime-ml-research-ts/files/README.md +19 -0
- package/registry/families/agent-runtime-ml-research-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-ml-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/experiment-design.md +141 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/literature-review.md +115 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/result-interpretation.md +141 -0
- package/registry/families/agent-runtime-ml-research-ts/manifest.json +149 -0
- package/registry/families/agent-runtime-music-producer-ts/files/AGENTS.md +55 -0
- package/registry/families/agent-runtime-music-producer-ts/files/README.md +60 -0
- package/registry/families/agent-runtime-music-producer-ts/files/TOOLS.md +40 -0
- package/registry/families/agent-runtime-music-producer-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/arrangement-review.md +83 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/index.json +29 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/listening-prompt.md +78 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/mix-feedback.md +74 -0
- package/registry/families/agent-runtime-music-producer-ts/manifest.json +160 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/AGENTS.md +109 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/README.md +76 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/beat-sheet-review.md +136 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/scene-card-protocol.md +104 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/voice-audit.md +123 -0
- package/registry/families/agent-runtime-novelist-coach-ts/manifest.json +194 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/AGENTS.md +73 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/README.md +33 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/dietary-assessment.md +153 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/macro-targets.md +171 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/meal-plan.md +33 -0
- package/registry/families/agent-runtime-nutritionist-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-pentester-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-pentester-ts/files/README.md +24 -0
- package/registry/families/agent-runtime-pentester-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-pentester-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/ctf-coaching.md +34 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/exploit-analysis.md +31 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/vulnerability-research.md +35 -0
- package/registry/families/agent-runtime-pentester-ts/manifest.json +152 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/AGENTS.md +77 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/README.md +26 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/adverse-effect-monitoring.md +155 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/dosing-guidance.md +41 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-information.md +47 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-interaction-check.md +35 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-pharmacist-ts/manifest.json +156 -0
- package/registry/families/agent-runtime-photographer-ts/files/AGENTS.md +55 -0
- package/registry/families/agent-runtime-photographer-ts/files/README.md +35 -0
- package/registry/families/agent-runtime-photographer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-photographer-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/composition-canvas.md +36 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/lighting-setup-design.md +34 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/post-production-workflow.md +32 -0
- package/registry/families/agent-runtime-photographer-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-physics-research-ts/files/AGENTS.md +69 -0
- package/registry/families/agent-runtime-physics-research-ts/files/README.md +26 -0
- package/registry/families/agent-runtime-physics-research-ts/files/agent.json +36 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/citation-analysis.md +110 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/experimental-design.md +129 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/literature-search.md +113 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/citation-analysis.md +37 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/experimental-design.md +45 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/index.json +25 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/literature-search.md +32 -0
- package/registry/families/agent-runtime-physics-research-ts/files/wrangler.toml +22 -0
- package/registry/families/agent-runtime-physics-research-ts/manifest.json +162 -0
- package/registry/families/agent-runtime-product-manager-ts/files/AGENTS.md +58 -0
- package/registry/families/agent-runtime-product-manager-ts/files/README.md +30 -0
- package/registry/families/agent-runtime-product-manager-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-product-manager-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/discovery-cycle.md +38 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/prioritization-framework.md +41 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/product-strategy-canvas.md +42 -0
- package/registry/families/agent-runtime-product-manager-ts/manifest.json +144 -0
- package/registry/families/agent-runtime-real-estate-ts/files/AGENTS.md +162 -0
- package/registry/families/agent-runtime-real-estate-ts/files/README.md +80 -0
- package/registry/families/agent-runtime-real-estate-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-real-estate-ts/files/agent.json +37 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/cap-rate-worksheet.md +180 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/comp-analysis.md +137 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/offer-strategy.md +169 -0
- package/registry/families/agent-runtime-real-estate-ts/manifest.json +178 -0
- package/registry/families/agent-runtime-recruiter-ts/files/AGENTS.md +128 -0
- package/registry/families/agent-runtime-recruiter-ts/files/README.md +82 -0
- package/registry/families/agent-runtime-recruiter-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-recruiter-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/interview-loop-design.md +135 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/jd-drafting-protocol.md +124 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/screening-rubric.md +118 -0
- package/registry/families/agent-runtime-recruiter-ts/manifest.json +192 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/AGENTS.md +185 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/README.md +90 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/check-in-protocol.md +129 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/communication-tool-practice.md +175 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/conflict-pattern-naming.md +193 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-relationship-coach-ts/manifest.json +224 -0
- package/registry/families/agent-runtime-research/files/AGENTS.md +56 -0
- package/registry/families/agent-runtime-research/files/README.md +45 -0
- package/registry/families/agent-runtime-research/files/TOOLS.md +22 -0
- package/registry/families/agent-runtime-research/files/agent.json +37 -0
- package/registry/families/agent-runtime-research/files/methodology/index.json +18 -0
- package/registry/families/agent-runtime-research/files/methodology/literature-survey.md +59 -0
- package/registry/families/agent-runtime-research/files/methodology/proposal-drafting.md +63 -0
- package/registry/families/agent-runtime-research/manifest.json +190 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/AGENTS.md +63 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/README.md +37 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/competitive-technical-positioning.md +39 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/demo-script.md +36 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/poc-design.md +43 -0
- package/registry/families/agent-runtime-sales-engineer-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/AGENTS.md +69 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/README.md +25 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/agent.json +34 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/beat-out-protocol.md +58 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/index.json +22 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/logline-sharpener.md +52 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/scene-rewrite-pass.md +61 -0
- package/registry/families/agent-runtime-screenwriter-ts/manifest.json +90 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/AGENTS.md +70 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/README.md +24 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/security-architecture-review.md +138 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/threat-modeling.md +105 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/vulnerability-triage.md +121 -0
- package/registry/families/agent-runtime-security-engineer-ts/manifest.json +144 -0
- package/registry/families/agent-runtime-tax-ts/files/AGENTS.md +79 -0
- package/registry/families/agent-runtime-tax-ts/files/README.md +49 -0
- package/registry/families/agent-runtime-tax-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-tax-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/deadlines.md +91 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/filing-1040.md +119 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/index.json +27 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/refusal-protocol.md +98 -0
- package/registry/families/agent-runtime-tax-ts/manifest.json +185 -0
- package/registry/families/agent-runtime-therapist-ts/files/AGENTS.md +82 -0
- package/registry/families/agent-runtime-therapist-ts/files/README.md +51 -0
- package/registry/families/agent-runtime-therapist-ts/files/TOOLS.md +31 -0
- package/registry/families/agent-runtime-therapist-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/escalation-protocol.md +146 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/index.json +35 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/listening-protocol.md +76 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-gad7.md +119 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-phq9.md +126 -0
- package/registry/families/agent-runtime-therapist-ts/manifest.json +197 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/AGENTS.md +76 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/README.md +15 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/budget-optimization.md +42 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/itinerary-design.md +38 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/logistics-check.md +54 -0
- package/registry/families/agent-runtime-travel-planner-ts/manifest.json +130 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/AGENTS.md +136 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/README.md +94 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/emergency-triage.md +147 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/husbandry-reference.md +111 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/index.json +28 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/vaccination-framework.md +119 -0
- package/registry/families/agent-runtime-veterinarian-ts/manifest.json +183 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/AGENTS.md +123 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/README.md +75 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/allocation-review.md +147 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/retirement-projection.md +186 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/tax-loss-harvest-protocol.md +178 -0
- package/registry/families/agent-runtime-wealth-manager-ts/manifest.json +194 -0
- package/registry/families/agent-service-ts/files/package.json +3 -1
- package/registry/families/agent-swarm-ts/files/package.json +3 -1
- package/registry/families/agent-swarm-ts/manifest.json +1 -1
- package/registry/families/agent-with-ui-ts/files/README.md +107 -0
- package/registry/families/agent-with-ui-ts/files/index.html +12 -0
- package/registry/families/agent-with-ui-ts/files/package.json +27 -0
- package/registry/families/agent-with-ui-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/agent-with-ui-ts/files/postcss.config.cjs +6 -0
- package/registry/families/agent-with-ui-ts/files/src/App.tsx +147 -0
- package/registry/families/agent-with-ui-ts/files/src/index.css +12 -0
- package/registry/families/agent-with-ui-ts/files/src/main.tsx +13 -0
- package/registry/families/agent-with-ui-ts/files/tailwind.config.cjs +8 -0
- package/registry/families/agent-with-ui-ts/files/tsconfig.json +24 -0
- package/registry/families/agent-with-ui-ts/files/vite.config.ts +15 -0
- package/registry/families/agent-with-ui-ts/manifest.json +82 -0
- package/registry/families/angular-ts/files/package.json +3 -1
- package/registry/families/api-service/files/package.json +4 -0
- package/registry/families/arkworks-prover/files/Cargo.toml +1 -1
- package/registry/families/astro-static/files/package.json +3 -1
- package/registry/families/browser-extension-ts/files/package.json +4 -0
- package/registry/families/bun-http/files/package.json +3 -1
- package/registry/families/cli-ts/files/package.json +3 -1
- package/registry/families/cloudflare-worker-ts/files/package.json +3 -1
- package/registry/families/crm-backend/files/package.json +10 -2
- package/registry/families/ecommerce-headless/files/package.json +10 -2
- package/registry/families/electron-desktop-ts/files/package.json +3 -1
- package/registry/families/electron-native-os/files/package.json +3 -1
- package/registry/families/eleventy-static/files/package.json +3 -1
- package/registry/families/evm-infra-ts/files/package.json +4 -0
- package/registry/families/expo-react-native-ts/files/package.json +3 -1
- package/registry/families/expo-react-native-ts/manifest.json +17 -2
- package/registry/families/expo-rn-rich/files/package.json +3 -1
- package/registry/families/fhenix-contracts/files/package.json +4 -0
- package/registry/families/fhenix-contracts/manifest.json +53 -0
- package/registry/families/fhenix-foundry/manifest.json +84 -0
- package/registry/families/fhevm-contracts/files/package.json +4 -0
- package/registry/families/fhevm-contracts/manifest.json +53 -0
- package/registry/families/fintech-ledger-backend/files/package.json +3 -1
- package/registry/families/forge-contracts/manifest.json +3 -0
- package/registry/families/fraud-ops-console/files/package.json +3 -1
- package/registry/families/frontend-static/files/package.json +3 -1
- package/registry/families/fullstack-ts/files/package.json +3 -1
- package/registry/families/gdpr-compliance-pack/files/package.json +4 -0
- package/registry/families/hardhat-contracts/files/package.json +3 -1
- package/registry/families/healthcare-hipaa-backend/files/package.json +3 -1
- package/registry/families/hipaa-compliance-pack/files/package.json +4 -0
- package/registry/families/hls-origin/files/package.json +3 -1
- package/registry/families/k12-edtech/files/package.json +10 -2
- package/registry/families/kyc-onboarding/files/package.json +4 -0
- package/registry/families/legal-case-mgmt/files/package.json +10 -2
- package/registry/families/livekit-sfu/files/package.json +3 -1
- package/registry/families/mcp-server-ts/files/package.json +5 -1
- package/registry/families/multi-agent-creative-studio-ts/files/AGENTS.md +367 -0
- package/registry/families/multi-agent-creative-studio-ts/files/README.md +86 -0
- package/registry/families/multi-agent-creative-studio-ts/files/agent.json +71 -0
- package/registry/families/multi-agent-creative-studio-ts/files/agents.json +70 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/AGENTS.md +168 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/color-palette-design.md +180 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/composition-canvas.md +145 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/storyboard-protocol.md +169 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/AGENTS.md +141 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/arrangement-review.md +122 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/mix-feedback.md +110 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/needle-drop-suggestions.md +147 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/AGENTS.md +153 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/scene-card-system.md +133 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/voice-audit.md +155 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/AGENTS.md +147 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/beat-out-protocol.md +123 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/logline-sharpener.md +111 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/scene-rewrite-pass.md +125 -0
- package/registry/families/multi-agent-creative-studio-ts/manifest.json +212 -0
- package/registry/families/multi-agent-legal-ops-ts/files/AGENTS.md +404 -0
- package/registry/families/multi-agent-legal-ops-ts/files/README.md +151 -0
- package/registry/families/multi-agent-legal-ops-ts/files/agent.json +63 -0
- package/registry/families/multi-agent-legal-ops-ts/files/agents.json +53 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/AGENTS.md +187 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/control-walkthrough.md +142 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/deficiency-write-up.md +148 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/AGENTS.md +186 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/contract-redline.md +163 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/nda-msa-review.md +273 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/regulatory-research.md +129 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/AGENTS.md +149 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/conflict-check.md +85 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/fact-pattern-summary.md +101 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/intake-checklist.md +71 -0
- package/registry/families/multi-agent-legal-ops-ts/manifest.json +214 -0
- package/registry/families/multi-agent-product-ops-ts/files/AGENTS.md +325 -0
- package/registry/families/multi-agent-product-ops-ts/files/README.md +66 -0
- package/registry/families/multi-agent-product-ops-ts/files/agent.json +69 -0
- package/registry/families/multi-agent-product-ops-ts/files/agents.json +70 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/AGENTS.md +97 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/churn-risk-analysis.md +113 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/qbr-prep.md +103 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/designer/AGENTS.md +90 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/design-critique.md +76 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/ux-strategy.md +86 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/AGENTS.md +99 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/sprint-planning.md +102 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/tech-feasibility-scoping.md +88 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/AGENTS.md +87 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/discovery-cycle.md +76 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prd-template.md +94 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prioritization-rice.md +94 -0
- package/registry/families/multi-agent-product-ops-ts/manifest.json +188 -0
- package/registry/families/multi-agent-research-lab-ts/files/AGENTS.md +352 -0
- package/registry/families/multi-agent-research-lab-ts/files/README.md +84 -0
- package/registry/families/multi-agent-research-lab-ts/files/agent.json +70 -0
- package/registry/families/multi-agent-research-lab-ts/files/agents.json +70 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/AGENTS.md +140 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/bioinformatics-survey.md +207 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/protein-structure-analysis.md +185 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/AGENTS.md +127 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/crossref-literature-search.md +167 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/reaction-mechanism-analysis.md +180 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/AGENTS.md +156 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/cross-domain-synthesis.md +150 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/literature-triage.md +158 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/research-question-formulation.md +190 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/AGENTS.md +122 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/arxiv-literature-search.md +149 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/experimental-design.md +194 -0
- package/registry/families/multi-agent-research-lab-ts/manifest.json +223 -0
- package/registry/families/multi-agent-startup-team-ts/files/AGENTS.md +360 -0
- package/registry/families/multi-agent-startup-team-ts/files/README.md +200 -0
- package/registry/families/multi-agent-startup-team-ts/files/agent.json +78 -0
- package/registry/families/multi-agent-startup-team-ts/files/agents.json +87 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/AGENTS.md +157 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/decision-journal.md +176 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/okr-design.md +181 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/weekly-review.md +150 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/AGENTS.md +176 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/burn-runway-model.md +203 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/fundraise-prep.md +192 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/AGENTS.md +145 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/channel-experiment-design.md +156 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/positioning-canvas.md +124 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/AGENTS.md +151 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/architecture-decision.md +196 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/one-on-one-cadence.md +149 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/tech-debt-triage.md +138 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/hr/AGENTS.md +192 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/interview-rubric.md +171 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/recruiting-loop-design.md +222 -0
- package/registry/families/multi-agent-startup-team-ts/manifest.json +299 -0
- package/registry/families/multimodal-agent/files/api/README.md +1 -1
- package/registry/families/multimodal-agent/files/package.json +3 -1
- package/registry/families/nextjs-ts/files/package.json +3 -1
- package/registry/families/observable-notebook/files/package.json +3 -1
- package/registry/families/observable-notebook/manifest.json +18 -1
- package/registry/families/ollama-server/files/package.json +4 -0
- package/registry/families/orchestrator-with-ui-ts/files/README.md +137 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/agents/[id]/page.tsx +124 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/globals.css +38 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/layout.tsx +30 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/page.tsx +132 -0
- package/registry/families/orchestrator-with-ui-ts/files/next.config.mjs +21 -0
- package/registry/families/orchestrator-with-ui-ts/files/package.json +30 -0
- package/registry/families/orchestrator-with-ui-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/orchestrator-with-ui-ts/files/postcss.config.cjs +6 -0
- package/registry/families/orchestrator-with-ui-ts/files/src/lib/agent-roster.ts +86 -0
- package/registry/families/orchestrator-with-ui-ts/files/tailwind.config.cjs +12 -0
- package/registry/families/orchestrator-with-ui-ts/files/tsconfig.json +27 -0
- package/registry/families/orchestrator-with-ui-ts/manifest.json +92 -0
- package/registry/families/pci-dss-compliance-pack/files/package.json +4 -0
- package/registry/families/phaser-game/files/package.json +4 -0
- package/registry/families/pixijs-game/files/package.json +4 -0
- package/registry/families/playwright-worker/files/package.json +3 -1
- package/registry/families/polymarket-portfolio-hedging/files/package.json +3 -1
- package/registry/families/react-vite-ts/files/package.json +3 -1
- package/registry/families/realtime-audio-ts/files/package.json +3 -1
- package/registry/families/remix-ts/files/package.json +3 -1
- package/registry/families/risczero-zkvm/files/methods/build.rs +31 -0
- package/registry/families/risczero-zkvm/files/methods/guest-Cargo.toml +8 -0
- package/registry/families/sandbox-app-ts/files/README.md +65 -0
- package/registry/families/sandbox-app-ts/files/index.html +12 -0
- package/registry/families/sandbox-app-ts/files/package.json +27 -0
- package/registry/families/sandbox-app-ts/files/pnpm-workspace.yaml +3 -0
- package/registry/families/sandbox-app-ts/files/postcss.config.cjs +6 -0
- package/registry/families/sandbox-app-ts/files/src/App.tsx +92 -0
- package/registry/families/sandbox-app-ts/files/src/index.css +12 -0
- package/registry/families/sandbox-app-ts/files/src/lib/sandbox-client.ts +182 -0
- package/registry/families/sandbox-app-ts/files/src/main.tsx +13 -0
- package/registry/families/sandbox-app-ts/files/tailwind.config.cjs +8 -0
- package/registry/families/sandbox-app-ts/files/tsconfig.json +24 -0
- package/registry/families/sandbox-app-ts/files/vite.config.ts +15 -0
- package/registry/families/sandbox-app-ts/manifest.json +84 -0
- package/registry/families/soc2-compliance-pack/files/package.json +4 -0
- package/registry/families/sp1-zkvm/files/script/build.rs +63 -0
- package/registry/families/sp1-zkvm/files/script-Cargo.toml +7 -1
- package/registry/families/sp1-zkvm/manifest.json +4 -0
- package/registry/families/stylus-contracts/manifest.json +25 -0
- package/registry/families/sveltekit-ts/files/package.json +3 -1
- package/registry/families/tauri-desktop/files/package.json +4 -0
- package/registry/families/tauri-menubar/files/package.json +3 -1
- package/registry/families/tauri-tray/files/package.json +3 -1
- package/registry/families/threejs-game/files/package.json +3 -1
- package/registry/families/unity-web-proxy/files/package.json +3 -1
- package/registry/families/vision-first-agent/files/api/README.md +1 -1
- package/registry/families/vision-first-agent/files/package.json +3 -1
- package/registry/families/voice-first-agent/files/api/README.md +1 -1
- package/registry/families/voice-first-agent/files/package.json +3 -1
- package/registry/families/vue-ts/files/package.json +3 -1
- package/registry/families/wasm-rust/files/package.json +3 -1
- package/registry/families/wasm-rust/manifest.json +23 -2
- package/registry/families/webgpu-inference/files/package.json +3 -1
- package/registry/families/webgpu-render/files/package.json +3 -1
- package/registry/families/worker-job/files/package.json +4 -0
- package/registry/families/x402-service/files/package.json +5 -1
- package/registry/families/zk-prover-service/files/package.json +5 -1
- package/registry/layers/agent-base/mcp-registry/files/.mcp.json +27 -0
- package/registry/layers/agent-base/mcp-registry/files/lib/mcp/README.md +47 -0
- package/registry/layers/agent-base/mcp-registry/files/lib/mcp/register.ts +130 -0
- package/registry/layers/agent-base/mcp-registry/manifest.json +109 -0
- package/registry/layers/agent-base/memory/files/lib/memory/grep.ts +126 -0
- package/registry/layers/agent-base/memory/files/lib/memory/index.test.ts +216 -0
- package/registry/layers/agent-base/memory/files/lib/memory/index.ts +258 -0
- package/registry/layers/agent-base/memory/files/lib/memory/types.ts +58 -0
- package/registry/layers/agent-base/memory/manifest.json +108 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/README.md +116 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/detectors.ts +179 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/index.test.ts +172 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/index.ts +150 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/types.ts +66 -0
- package/registry/layers/agent-base/privacy/manifest.json +74 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/cron-parse.ts +221 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.test.ts +296 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.ts +175 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/sweep.ts +66 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/types.ts +43 -0
- package/registry/layers/agent-base/scheduler/manifest.json +119 -0
- package/registry/layers/agent-base/secure/files/lib/secure/README.md +95 -0
- package/registry/layers/agent-base/secure/files/lib/secure/audit.ts +166 -0
- package/registry/layers/agent-base/secure/files/lib/secure/identity.ts +110 -0
- package/registry/layers/agent-base/secure/files/lib/secure/index.test.ts +422 -0
- package/registry/layers/agent-base/secure/files/lib/secure/index.ts +16 -0
- package/registry/layers/agent-base/secure/files/lib/secure/schedule.ts +83 -0
- package/registry/layers/agent-base/secure/files/lib/secure/secrets.ts +128 -0
- package/registry/layers/agent-base/secure/files/lib/secure/webhook-in.ts +125 -0
- package/registry/layers/agent-base/secure/files/lib/secure/webhook-out.ts +137 -0
- package/registry/layers/agent-base/secure/files/lib/secure/workspace.ts +123 -0
- package/registry/layers/agent-base/secure/manifest.json +174 -0
- package/registry/layers/agent-base/tangle/files/lib/tangle.ts +56 -0
- package/registry/layers/agent-base/tangle/manifest.json +103 -0
- package/registry/layers/agent-channels/discord/files/channels/discord.env.example +14 -0
- package/registry/layers/agent-channels/discord/files/channels/discord.ts +127 -0
- package/registry/layers/agent-channels/discord/manifest.json +95 -0
- package/registry/layers/agent-channels/gmail/files/channels/gmail.env.example +54 -0
- package/registry/layers/agent-channels/gmail/files/channels/gmail.ts +206 -0
- package/registry/layers/agent-channels/gmail/manifest.json +95 -0
- package/registry/layers/agent-channels/imessage/files/channels/imessage.env.example +31 -0
- package/registry/layers/agent-channels/imessage/files/channels/imessage.ts +123 -0
- package/registry/layers/agent-channels/imessage/manifest.json +102 -0
- package/registry/layers/agent-channels/linear/files/channels/linear.env.example +42 -0
- package/registry/layers/agent-channels/linear/files/channels/linear.ts +163 -0
- package/registry/layers/agent-channels/linear/manifest.json +95 -0
- package/registry/layers/agent-channels/slack/files/channels/slack.env.example +17 -0
- package/registry/layers/agent-channels/slack/files/channels/slack.ts +119 -0
- package/registry/layers/agent-channels/slack/manifest.json +95 -0
- package/registry/layers/agent-channels/telegram/files/channels/telegram.env.example +9 -0
- package/registry/layers/agent-channels/telegram/files/channels/telegram.ts +72 -0
- package/registry/layers/agent-channels/telegram/manifest.json +95 -0
- package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.env.example +31 -0
- package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.ts +158 -0
- package/registry/layers/agent-channels/whatsapp/manifest.json +106 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/README.md +95 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/index.ts +49 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/loop.ts +151 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/pareto.ts +60 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/propose-review.ts +36 -0
- package/registry/layers/agent-eval/auto-research/manifest.json +86 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/README.md +86 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-cli.ts +118 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-runner.ts +249 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise.example.ts +100 -0
- package/registry/layers/agent-eval/judge-pairwise/files/tests/pairwise-runner.test.ts +136 -0
- package/registry/layers/agent-eval/judge-pairwise/manifest.json +71 -0
- package/registry/layers/agent-eval/judge-rubric/files/judges/rubric.example.ts +38 -0
- package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/README.md +84 -0
- package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/rubric-runner.ts +249 -0
- package/registry/layers/agent-eval/judge-rubric/manifest.json +48 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/README.md +100 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/categories.ts +106 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/cli.ts +106 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/runner.ts +257 -0
- package/registry/layers/agent-eval/redteam/files/tests/runner.test.ts +82 -0
- package/registry/layers/agent-eval/redteam/manifest.json +81 -0
- package/registry/layers/agent-eval/regression/files/.github/workflows/regression-gate.yml +85 -0
- package/registry/layers/agent-eval/regression/files/src/eval/regression/README.md +93 -0
- package/registry/layers/agent-eval/regression/files/src/eval/regression/cli.ts +106 -0
- package/registry/layers/agent-eval/regression/files/src/eval/regression/gate.ts +260 -0
- package/registry/layers/agent-eval/regression/manifest.json +60 -0
- package/registry/layers/agent-eval/scenarios/files/scenarios/README.md +64 -0
- package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-loader.ts +85 -0
- package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-types.ts +15 -0
- package/registry/layers/agent-eval/scenarios/manifest.json +44 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/README.md +75 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/example-rubric.ts +105 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/per-turn-scorer.ts +230 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/trajectory-runner.ts +142 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/tests/per-turn-scorer.test.ts +184 -0
- package/registry/layers/agent-eval/trace-multi-turn/manifest.json +70 -0
- package/registry/layers/agent-output/blocks/files/lib/blocks.ts +57 -0
- package/registry/layers/agent-output/blocks/manifest.json +95 -0
- package/registry/layers/agent-tools/clinical-screeners/files/lib/tools/screeners.ts +61 -0
- package/registry/layers/agent-tools/clinical-screeners/files/templates/escalation-protocol.md +77 -0
- package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-gad7.md +62 -0
- package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-phq9.md +84 -0
- package/registry/layers/agent-tools/clinical-screeners/manifest.json +61 -0
- package/registry/layers/agent-tools/phony-voice/files/lib/tools/voice.ts +38 -0
- package/registry/layers/agent-tools/phony-voice/manifest.json +47 -0
- package/registry/layers/agent-tools/research-corpus/files/lib/tools/research.ts +46 -0
- package/registry/layers/agent-tools/research-corpus/manifest.json +52 -0
- package/registry/layers/capability/agent-eval/files/tests/eval/README.md +5 -5
- package/registry/layers/capability/agent-eval/files/tests/eval/judge.mjs +25 -15
- package/registry/layers/capability/agent-eval/manifest.json +2 -1
- package/registry/layers/capability/ai-chat-ui/manifest.json +2 -0
- package/registry/layers/capability/bridge-protocol-api/files/bridge-protocol-config.json +5 -0
- package/registry/layers/capability/bridge-protocol-api/files/bridge-status-routes.ts +31 -0
- package/registry/layers/capability/bridge-protocol-api/manifest.json +92 -0
- package/registry/layers/capability/crypto-bridge-ui/manifest.json +54 -2
- package/registry/layers/capability/defi-bridge/manifest.json +12 -0
- package/registry/layers/capability/evm-layerzero-oft/manifest.json +59 -0
- package/registry/layers/capability/evm-nft-mint-page/manifest.json +1 -0
- package/registry/layers/capability/evm-uniswap-v4-hook/manifest.json +58 -0
- package/registry/layers/capability/fhe-foundry-private-token/files/PrivateToken.sol +58 -0
- package/registry/layers/capability/fhe-foundry-private-token/manifest.json +27 -0
- package/registry/layers/capability/fhe-foundry-private-voting/files/PrivateVoting.sol +54 -0
- package/registry/layers/capability/fhe-foundry-private-voting/manifest.json +27 -0
- package/registry/layers/capability/fhe-foundry-sealed-auction/files/SealedAuction.sol +54 -0
- package/registry/layers/capability/fhe-foundry-sealed-auction/manifest.json +27 -0
- package/registry/layers/capability/fhe-private-token/manifest.json +16 -1
- package/registry/layers/capability/fhe-private-voting/manifest.json +16 -1
- package/registry/layers/capability/fhe-sealed-auction/manifest.json +17 -2
- package/registry/layers/capability/fhevm-private-token/files/PrivateToken.sol +55 -0
- package/registry/layers/capability/fhevm-private-token/manifest.json +27 -0
- package/registry/layers/capability/fhevm-private-voting/files/PrivateVoting.sol +51 -0
- package/registry/layers/capability/fhevm-private-voting/manifest.json +27 -0
- package/registry/layers/capability/fhevm-sealed-auction/files/SealedAuction.sol +55 -0
- package/registry/layers/capability/fhevm-sealed-auction/manifest.json +27 -0
- package/registry/layers/capability/layout-auth/manifest.json +7 -0
- package/registry/layers/capability/layout-chat/manifest.json +3 -0
- package/registry/layers/capability/tangle-remote-provider/files/remote-config.json +1 -1
- package/registry/layers/capability/zk-browser/manifest.json +1 -1
- package/registry/layers/framework/aptos-move/files/package.json +4 -0
- package/registry/layers/framework/crm-backend/files/package.json +4 -0
- package/registry/layers/framework/ecommerce-headless/files/package.json +4 -0
- package/registry/layers/framework/electron-native-os/files/package.json +4 -0
- package/registry/layers/framework/fhenix-foundry/files/Contract.sol +55 -0
- package/registry/layers/framework/fhenix-foundry/files/Contract.t.sol +39 -0
- package/registry/layers/framework/fhenix-foundry/files/Deploy.s.sol +12 -0
- package/registry/layers/framework/fhenix-foundry/files/foundry.toml +25 -0
- package/registry/layers/framework/fhenix-foundry/files/lib/cofhe-contracts/contracts/FHE.sol +94 -0
- package/registry/layers/framework/fhenix-foundry/manifest.json +12 -0
- package/registry/layers/framework/gdpr-compliance-pack/files/package.json +4 -0
- package/registry/layers/framework/godot-web/files/package.json +4 -0
- package/registry/layers/framework/healthcare-hipaa-backend/files/package.json +4 -0
- package/registry/layers/framework/hipaa-compliance-pack/files/package.json +4 -0
- package/registry/layers/framework/hugo-static/files/package.json +4 -0
- package/registry/layers/framework/legal-case-mgmt/files/package.json +4 -0
- package/registry/layers/framework/move-package/files/Move.toml +7 -3
- package/registry/layers/framework/react-vite-ts/files/index.html +3 -3
- package/registry/layers/framework/tangle-blueprint/files/main.rs +2 -17
- package/registry/layers/framework/zola-static/files/package.json +5 -1
- package/registry/layers/ui-adapter/blocks-renderer/files/lib/blocks-to-artifacts.tsx +188 -0
- package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.test.ts +58 -0
- package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.ts +163 -0
- package/registry/layers/ui-adapter/blocks-renderer/manifest.json +61 -0
- package/registry/seed-list-agent-runtime.json +250 -0
- package/dist/lib/ab.js.map +0 -1
- package/dist/lib/audit.js.map +0 -1
- package/dist/lib/batch-export.js.map +0 -1
- package/dist/lib/benchmark.js.map +0 -1
- package/dist/lib/compose-seed.d.ts +0 -15
- package/dist/lib/compose-seed.js +0 -44
- package/dist/lib/compose-seed.js.map +0 -1
- package/dist/lib/prove.js.map +0 -1
- package/dist/lib/reproducibility.js.map +0 -1
- package/dist/lib/sbom.js.map +0 -1
- package/specs/agent-python-research.json +0 -12
- package/specs/agent-rust-runtime.json +0 -11
- package/specs/agent-ts-control-plane.json +0 -13
- package/specs/api-evm-protocol.json +0 -17
- package/specs/api-health.json +0 -14
- package/specs/browser-extension-research.json +0 -12
- package/specs/cli-release-tool.json +0 -9
- package/specs/cloudflare-edge.json +0 -13
- package/specs/coinbase-landing.json +0 -13
- package/specs/dspy-pipeline.json +0 -8
- package/specs/eigenlayer-avs.json +0 -8
- package/specs/electron-ops-console.json +0 -14
- package/specs/evm-infra.json +0 -15
- package/specs/expo-wallet-mobile.json +0 -14
- package/specs/forge-counter.json +0 -10
- package/specs/fullstack-control-plane.json +0 -16
- package/specs/go-api.json +0 -12
- package/specs/go-worker.json +0 -11
- package/specs/hardhat-xlayer-config.json +0 -9
- package/specs/mcp-server.json +0 -8
- package/specs/move-treasury.json +0 -10
- package/specs/multichain-workspace.json +0 -74
- package/specs/nextjs-saas.json +0 -11
- package/specs/playwright-worker.json +0 -11
- package/specs/python-api.json +0 -13
- package/specs/python-data-insights.json +0 -9
- package/specs/react-vite-coinbase.json +0 -11
- package/specs/rust-service.json +0 -13
- package/specs/solana-keeper-worker.json +0 -13
- package/specs/solana-perps.json +0 -12
- package/specs/solana-prediction.json +0 -12
- package/specs/solana-treasury.json +0 -10
- package/specs/stylus-contracts.json +0 -8
- package/specs/tangle-blueprint.json +0 -9
- package/specs/tangle-custody.json +0 -11
- package/specs/tangle-oracle.json +0 -11
- package/specs/tauri-desktop.json +0 -13
- package/specs/trading-worker.json +0 -12
- package/specs/x402-service.json +0 -8
- package/specs/xlayer-aa.json +0 -13
- package/specs/xlayer-foundry-deploy.json +0 -12
- package/specs/xlayer-oft.json +0 -13
- package/specs/xlayer-wallet-dashboard.json +0 -18
- package/specs/zk-prover.json +0 -8
- /package/{LICENSE → LICENSE-MIT} +0 -0
- /package/dist/lib/{ab.d.ts → eval/ab.d.ts} +0 -0
- /package/dist/lib/{ab.js → eval/ab.js} +0 -0
- /package/dist/lib/{batch-export.d.ts → eval/batch-export.d.ts} +0 -0
- /package/dist/lib/{reproducibility.js → eval/reproducibility.js} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "tangle",
|
|
3
|
+
"slot": "agent-base",
|
|
4
|
+
"description": "Tangle floor for every agent-runtime bundle: sandbox-sdk + tcloud + router.tangle.tools as the LLM endpoint. Mandatory for all agent-runtime families \u2014 never opt out, never alternate.",
|
|
5
|
+
"appliesTo": [
|
|
6
|
+
"agent-runtime-account-executive-ts",
|
|
7
|
+
"agent-runtime-architect-ts",
|
|
8
|
+
"agent-runtime-auditor-ts",
|
|
9
|
+
"agent-runtime-biology-research-ts",
|
|
10
|
+
"agent-runtime-business-partner-ts",
|
|
11
|
+
"agent-runtime-career-coach-ts",
|
|
12
|
+
"agent-runtime-chef-ts",
|
|
13
|
+
"agent-runtime-chemistry-research-ts",
|
|
14
|
+
"agent-runtime-cmo-advisor-ts",
|
|
15
|
+
"agent-runtime-college-counselor-ts",
|
|
16
|
+
"agent-runtime-cs-research-ts",
|
|
17
|
+
"agent-runtime-cs-tutor-ts",
|
|
18
|
+
"agent-runtime-customer-success-ts",
|
|
19
|
+
"agent-runtime-data-analyst-ts",
|
|
20
|
+
"agent-runtime-designer-ts",
|
|
21
|
+
"agent-runtime-devops-ts",
|
|
22
|
+
"agent-runtime-doctor-ts",
|
|
23
|
+
"agent-runtime-engineering-manager-ts",
|
|
24
|
+
"agent-runtime-essay-coach-ts",
|
|
25
|
+
"agent-runtime-financial-analyst-ts",
|
|
26
|
+
"agent-runtime-fitness-coach-ts",
|
|
27
|
+
"agent-runtime-friend-ts",
|
|
28
|
+
"agent-runtime-game-designer-ts",
|
|
29
|
+
"agent-runtime-grant-writer-ts",
|
|
30
|
+
"agent-runtime-history-tutor-ts",
|
|
31
|
+
"agent-runtime-illustrator-ts",
|
|
32
|
+
"agent-runtime-language-tutor-ts",
|
|
33
|
+
"agent-runtime-legal-counsel-ts",
|
|
34
|
+
"agent-runtime-math-research-ts",
|
|
35
|
+
"agent-runtime-math-tutor-ts",
|
|
36
|
+
"agent-runtime-mediator-ts",
|
|
37
|
+
"agent-runtime-meditation-coach-ts",
|
|
38
|
+
"agent-runtime-ml-research-ts",
|
|
39
|
+
"agent-runtime-music-producer-ts",
|
|
40
|
+
"agent-runtime-novelist-coach-ts",
|
|
41
|
+
"agent-runtime-nutritionist-ts",
|
|
42
|
+
"agent-runtime-pentester-ts",
|
|
43
|
+
"agent-runtime-pharmacist-ts",
|
|
44
|
+
"agent-runtime-photographer-ts",
|
|
45
|
+
"agent-runtime-physics-research-ts",
|
|
46
|
+
"agent-runtime-product-manager-ts",
|
|
47
|
+
"agent-runtime-real-estate-ts",
|
|
48
|
+
"agent-runtime-recruiter-ts",
|
|
49
|
+
"agent-runtime-relationship-coach-ts",
|
|
50
|
+
"agent-runtime-research",
|
|
51
|
+
"agent-runtime-sales-engineer-ts",
|
|
52
|
+
"agent-runtime-screenwriter-ts",
|
|
53
|
+
"agent-runtime-security-engineer-ts",
|
|
54
|
+
"agent-runtime-tax-ts",
|
|
55
|
+
"agent-runtime-therapist-ts",
|
|
56
|
+
"agent-runtime-travel-planner-ts",
|
|
57
|
+
"agent-runtime-veterinarian-ts",
|
|
58
|
+
"agent-runtime-wealth-manager-ts",
|
|
59
|
+
"multi-agent-creative-studio-ts",
|
|
60
|
+
"multi-agent-legal-ops-ts",
|
|
61
|
+
"multi-agent-product-ops-ts",
|
|
62
|
+
"multi-agent-research-lab-ts",
|
|
63
|
+
"multi-agent-startup-team-ts",
|
|
64
|
+
"agent-eval-harness-ts",
|
|
65
|
+
"agent-research-harness-ts"
|
|
66
|
+
],
|
|
67
|
+
"provides": [
|
|
68
|
+
"tangle:base",
|
|
69
|
+
"tangle:sandbox",
|
|
70
|
+
"tangle:tcloud",
|
|
71
|
+
"tangle:router"
|
|
72
|
+
],
|
|
73
|
+
"defaults": {
|
|
74
|
+
"tangleBase": true,
|
|
75
|
+
"llmRouterUrl": "https://router.tangle.tools",
|
|
76
|
+
"sandboxProvider": "tangle",
|
|
77
|
+
"tcloudAvailable": true,
|
|
78
|
+
"tangleSandbox": "@tangle-network/sandbox",
|
|
79
|
+
"tcloudSdk": "@tangle-network/tcloud"
|
|
80
|
+
},
|
|
81
|
+
"files": [
|
|
82
|
+
{
|
|
83
|
+
"source": "files/lib/tangle.ts",
|
|
84
|
+
"target": "src/lib/tangle.ts"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"validationChecks": [
|
|
88
|
+
{
|
|
89
|
+
"type": "file-exists",
|
|
90
|
+
"path": "src/lib/tangle.ts"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"contextHints": {
|
|
94
|
+
"commands": [],
|
|
95
|
+
"entrypoints": [
|
|
96
|
+
"src/lib/tangle.ts"
|
|
97
|
+
],
|
|
98
|
+
"extensionPoints": [
|
|
99
|
+
"src/lib/tools/",
|
|
100
|
+
"templates/"
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Discord channel adapter
|
|
2
|
+
# DISCORD_BOT_TOKEN: https://discord.com/developers/applications → your app →
|
|
3
|
+
# Bot → Reset Token. Used as the Authorization: Bot <token> header.
|
|
4
|
+
DISCORD_BOT_TOKEN=
|
|
5
|
+
|
|
6
|
+
# DISCORD_PUBLIC_KEY: same dashboard → General Information → Public Key (hex).
|
|
7
|
+
# Used to verify Ed25519 signatures on every inbound interaction. Discord
|
|
8
|
+
# rejects your endpoint immediately if you don't verify these.
|
|
9
|
+
DISCORD_PUBLIC_KEY=
|
|
10
|
+
|
|
11
|
+
# After deploy, set Interactions Endpoint URL in the Discord dashboard to:
|
|
12
|
+
# <your-https-url>/channels/discord
|
|
13
|
+
# Discord will PING the URL once; the adapter returns null for PING so the
|
|
14
|
+
# server should respond with HTTP 200 + body {"type":1}.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// MIT — adapted from nanoclaw (https://github.com/qwibitai/nanoclaw)
|
|
2
|
+
//
|
|
3
|
+
// Discord channel adapter. Verifies Ed25519 signatures on every inbound
|
|
4
|
+
// interaction (Discord requirement — unverified requests get an immediate
|
|
5
|
+
// 401), parses interaction or MESSAGE_CREATE payloads, and sends replies
|
|
6
|
+
// via the REST API.
|
|
7
|
+
//
|
|
8
|
+
// Setup:
|
|
9
|
+
// 1. https://discord.com/developers/applications → New Application.
|
|
10
|
+
// 2. Bot tab → reset token → DISCORD_BOT_TOKEN.
|
|
11
|
+
// 3. General Information → Public Key → DISCORD_PUBLIC_KEY (hex).
|
|
12
|
+
// 4. Set Interactions Endpoint URL to <your-https-url>/channels/discord.
|
|
13
|
+
// Discord PINGs that URL once with type=1; we respond with type=1.
|
|
14
|
+
|
|
15
|
+
import { createPublicKey, verify } from 'node:crypto'
|
|
16
|
+
|
|
17
|
+
const API = 'https://discord.com/api/v10'
|
|
18
|
+
const SIG_HEADER = 'x-signature-ed25519'
|
|
19
|
+
const TS_HEADER = 'x-signature-timestamp'
|
|
20
|
+
|
|
21
|
+
export interface DiscordInbound {
|
|
22
|
+
chatId: string
|
|
23
|
+
text: string
|
|
24
|
+
sender: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface DiscordInteraction {
|
|
28
|
+
type: number
|
|
29
|
+
data?: { name?: string; options?: Array<{ name: string; value: unknown }> }
|
|
30
|
+
channel_id?: string
|
|
31
|
+
member?: { user?: { id: string; username: string; global_name?: string } }
|
|
32
|
+
user?: { id: string; username: string; global_name?: string }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface DiscordMessageCreate {
|
|
36
|
+
t?: 'MESSAGE_CREATE'
|
|
37
|
+
d?: {
|
|
38
|
+
channel_id: string
|
|
39
|
+
content: string
|
|
40
|
+
author: { id: string; username: string; global_name?: string; bot?: boolean }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function botToken(): string {
|
|
45
|
+
const t = process.env.DISCORD_BOT_TOKEN
|
|
46
|
+
if (!t) throw new Error('DISCORD_BOT_TOKEN not set')
|
|
47
|
+
return t
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function publicKey(): string {
|
|
51
|
+
const k = process.env.DISCORD_PUBLIC_KEY
|
|
52
|
+
if (!k) throw new Error('DISCORD_PUBLIC_KEY not set')
|
|
53
|
+
return k
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Verify the Ed25519 signature Discord stamps on every interaction.
|
|
57
|
+
* Public key is a 32-byte hex string; signature is a 64-byte hex string;
|
|
58
|
+
* payload is `${timestamp}${rawBody}`. */
|
|
59
|
+
function verifyEd25519(rawBody: string, sigHex: string, ts: string, pubKeyHex: string): boolean {
|
|
60
|
+
if (sigHex.length !== 128 || pubKeyHex.length !== 64) return false
|
|
61
|
+
// Wrap raw 32-byte Ed25519 public key in a SubjectPublicKeyInfo DER prefix
|
|
62
|
+
// so node:crypto's KeyObject API will accept it. Prefix is fixed for Ed25519.
|
|
63
|
+
const prefix = Buffer.from('302a300506032b6570032100', 'hex')
|
|
64
|
+
const der = Buffer.concat([prefix, Buffer.from(pubKeyHex, 'hex')])
|
|
65
|
+
const key = createPublicKey({ key: der, format: 'der', type: 'spki' })
|
|
66
|
+
const data = Buffer.from(`${ts}${rawBody}`, 'utf8')
|
|
67
|
+
const sig = Buffer.from(sigHex, 'hex')
|
|
68
|
+
return verify(null, data, key, sig)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** Parse an inbound Discord webhook (interaction or gateway forward).
|
|
72
|
+
* Returns null for PING (Discord verification handshake — caller responds
|
|
73
|
+
* with `{type:1}`), bot-authored messages, and non-text events. */
|
|
74
|
+
export async function receive(req: Request): Promise<DiscordInbound | null> {
|
|
75
|
+
const sig = req.headers.get(SIG_HEADER)
|
|
76
|
+
const ts = req.headers.get(TS_HEADER)
|
|
77
|
+
const raw = await req.text()
|
|
78
|
+
if (!sig || !ts || !verifyEd25519(raw, sig, ts, publicKey())) {
|
|
79
|
+
throw new Error('discord: signature verification failed')
|
|
80
|
+
}
|
|
81
|
+
const body = JSON.parse(raw) as DiscordInteraction & DiscordMessageCreate
|
|
82
|
+
if (body.type === 1) return null // PING
|
|
83
|
+
if (body.type === 2 && body.data && body.channel_id) {
|
|
84
|
+
const u = body.member?.user ?? body.user
|
|
85
|
+
const text = (body.data.options ?? [])
|
|
86
|
+
.map((o) => `${o.name}=${String(o.value)}`)
|
|
87
|
+
.join(' ')
|
|
88
|
+
.trim()
|
|
89
|
+
return {
|
|
90
|
+
chatId: body.channel_id,
|
|
91
|
+
text: text ? `/${body.data.name} ${text}` : `/${body.data.name ?? 'cmd'}`,
|
|
92
|
+
sender: u?.global_name ?? u?.username ?? u?.id ?? 'unknown',
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (body.t === 'MESSAGE_CREATE' && body.d && !body.d.author.bot) {
|
|
96
|
+
return {
|
|
97
|
+
chatId: body.d.channel_id,
|
|
98
|
+
text: body.d.content,
|
|
99
|
+
sender: body.d.author.global_name ?? body.d.author.username,
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return null
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** Send a message to a Discord channel. Throws on non-2xx so the agent's
|
|
106
|
+
* HTTP layer can log it (Discord's body carries `code` + `message`). */
|
|
107
|
+
export async function send(chatId: string, text: string): Promise<void> {
|
|
108
|
+
const res = await fetch(`${API}/channels/${chatId}/messages`, {
|
|
109
|
+
method: 'POST',
|
|
110
|
+
headers: {
|
|
111
|
+
authorization: `Bot ${botToken()}`,
|
|
112
|
+
'content-type': 'application/json',
|
|
113
|
+
},
|
|
114
|
+
body: JSON.stringify({ content: text }),
|
|
115
|
+
})
|
|
116
|
+
if (!res.ok) {
|
|
117
|
+
const body = await res.text().catch(() => '')
|
|
118
|
+
throw new Error(`discord postMessage ${res.status}: ${body.slice(0, 200)}`)
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export const channelMeta = {
|
|
123
|
+
id: 'discord' as const,
|
|
124
|
+
envVars: ['DISCORD_BOT_TOKEN', 'DISCORD_PUBLIC_KEY'] as const,
|
|
125
|
+
inbound: 'webhook' as const,
|
|
126
|
+
outbound: 'POST' as const,
|
|
127
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "discord",
|
|
3
|
+
"slot": "agent-channels",
|
|
4
|
+
"description": "Discord channel adapter \u2014 interactions webhook (Ed25519-verified) + REST send. Composes with any agent-runtime bundle. Set DISCORD_BOT_TOKEN and DISCORD_PUBLIC_KEY at deploy. Discord requires every interaction POST to be verified against the application's public key; reject-loud on failure per Discord's security spec.",
|
|
5
|
+
"appliesTo": [
|
|
6
|
+
"agent-runtime-account-executive-ts",
|
|
7
|
+
"agent-runtime-architect-ts",
|
|
8
|
+
"agent-runtime-auditor-ts",
|
|
9
|
+
"agent-runtime-biology-research-ts",
|
|
10
|
+
"agent-runtime-business-partner-ts",
|
|
11
|
+
"agent-runtime-career-coach-ts",
|
|
12
|
+
"agent-runtime-chef-ts",
|
|
13
|
+
"agent-runtime-chemistry-research-ts",
|
|
14
|
+
"agent-runtime-cmo-advisor-ts",
|
|
15
|
+
"agent-runtime-college-counselor-ts",
|
|
16
|
+
"agent-runtime-cs-research-ts",
|
|
17
|
+
"agent-runtime-cs-tutor-ts",
|
|
18
|
+
"agent-runtime-customer-success-ts",
|
|
19
|
+
"agent-runtime-data-analyst-ts",
|
|
20
|
+
"agent-runtime-designer-ts",
|
|
21
|
+
"agent-runtime-devops-ts",
|
|
22
|
+
"agent-runtime-doctor-ts",
|
|
23
|
+
"agent-runtime-engineering-manager-ts",
|
|
24
|
+
"agent-runtime-essay-coach-ts",
|
|
25
|
+
"agent-runtime-financial-analyst-ts",
|
|
26
|
+
"agent-runtime-fitness-coach-ts",
|
|
27
|
+
"agent-runtime-friend-ts",
|
|
28
|
+
"agent-runtime-game-designer-ts",
|
|
29
|
+
"agent-runtime-grant-writer-ts",
|
|
30
|
+
"agent-runtime-history-tutor-ts",
|
|
31
|
+
"agent-runtime-illustrator-ts",
|
|
32
|
+
"agent-runtime-language-tutor-ts",
|
|
33
|
+
"agent-runtime-legal-counsel-ts",
|
|
34
|
+
"agent-runtime-math-research-ts",
|
|
35
|
+
"agent-runtime-math-tutor-ts",
|
|
36
|
+
"agent-runtime-mediator-ts",
|
|
37
|
+
"agent-runtime-meditation-coach-ts",
|
|
38
|
+
"agent-runtime-ml-research-ts",
|
|
39
|
+
"agent-runtime-music-producer-ts",
|
|
40
|
+
"agent-runtime-novelist-coach-ts",
|
|
41
|
+
"agent-runtime-nutritionist-ts",
|
|
42
|
+
"agent-runtime-pentester-ts",
|
|
43
|
+
"agent-runtime-pharmacist-ts",
|
|
44
|
+
"agent-runtime-photographer-ts",
|
|
45
|
+
"agent-runtime-physics-research-ts",
|
|
46
|
+
"agent-runtime-product-manager-ts",
|
|
47
|
+
"agent-runtime-real-estate-ts",
|
|
48
|
+
"agent-runtime-recruiter-ts",
|
|
49
|
+
"agent-runtime-relationship-coach-ts",
|
|
50
|
+
"agent-runtime-research",
|
|
51
|
+
"agent-runtime-sales-engineer-ts",
|
|
52
|
+
"agent-runtime-screenwriter-ts",
|
|
53
|
+
"agent-runtime-security-engineer-ts",
|
|
54
|
+
"agent-runtime-tax-ts",
|
|
55
|
+
"agent-runtime-therapist-ts",
|
|
56
|
+
"agent-runtime-travel-planner-ts",
|
|
57
|
+
"agent-runtime-veterinarian-ts",
|
|
58
|
+
"agent-runtime-wealth-manager-ts",
|
|
59
|
+
"multi-agent-creative-studio-ts",
|
|
60
|
+
"multi-agent-legal-ops-ts",
|
|
61
|
+
"multi-agent-product-ops-ts",
|
|
62
|
+
"multi-agent-research-lab-ts",
|
|
63
|
+
"multi-agent-startup-team-ts"
|
|
64
|
+
],
|
|
65
|
+
"provides": [
|
|
66
|
+
"channel:discord"
|
|
67
|
+
],
|
|
68
|
+
"requires": [
|
|
69
|
+
"secure:webhook-in"
|
|
70
|
+
],
|
|
71
|
+
"defaults": {
|
|
72
|
+
"channelDiscordAvailable": true
|
|
73
|
+
},
|
|
74
|
+
"files": [
|
|
75
|
+
{
|
|
76
|
+
"source": "files/channels/discord.ts",
|
|
77
|
+
"target": "channels/discord.ts"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"source": "files/channels/discord.env.example",
|
|
81
|
+
"target": "channels/discord.env.example"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"validationChecks": [
|
|
85
|
+
{
|
|
86
|
+
"type": "file-exists",
|
|
87
|
+
"path": "channels/discord.ts"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"contextHints": {
|
|
91
|
+
"extensionPoints": [
|
|
92
|
+
"channels/discord.ts"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Gmail channel adapter — OAuth 2.0 (installed-app flow)
|
|
2
|
+
#
|
|
3
|
+
# Why three vars: Google's refresh-token flow requires all three. The agent
|
|
4
|
+
# never sees a user-facing consent screen at runtime; the refresh token is
|
|
5
|
+
# minted once during setup and kept in the secret store.
|
|
6
|
+
#
|
|
7
|
+
# ── One-time setup ─────────────────────────────────────────────────────────
|
|
8
|
+
# 1. Open https://console.cloud.google.com/apis/credentials
|
|
9
|
+
# 2. Create (or pick) a GCP project. Enable the Gmail API:
|
|
10
|
+
# https://console.cloud.google.com/apis/library/gmail.googleapis.com
|
|
11
|
+
# 3. Configure the OAuth consent screen (External or Internal). Add the scope
|
|
12
|
+
# https://www.googleapis.com/auth/gmail.modify
|
|
13
|
+
# (Modify is required because receive() removes the UNREAD label after
|
|
14
|
+
# fetch. If you only need send(), gmail.send is narrower; mix-and-match
|
|
15
|
+
# won't work for this adapter.)
|
|
16
|
+
# 4. Create an OAuth 2.0 Client ID, type "Desktop app". Copy the client id
|
|
17
|
+
# and secret into GMAIL_CLIENT_ID / GMAIL_CLIENT_SECRET below.
|
|
18
|
+
# 5. Mint the refresh token. Easiest path is the OAuth 2.0 Playground:
|
|
19
|
+
# https://developers.google.com/oauthplayground/
|
|
20
|
+
# a. Click the gear icon → check "Use your own OAuth credentials" → paste
|
|
21
|
+
# the client id + secret.
|
|
22
|
+
# b. In the left panel, scroll to "Gmail API v1" and select
|
|
23
|
+
# https://www.googleapis.com/auth/gmail.modify
|
|
24
|
+
# c. Click "Authorize APIs" → sign in with the Gmail account the agent
|
|
25
|
+
# will speak as → grant consent.
|
|
26
|
+
# d. Click "Exchange authorization code for tokens". Copy the
|
|
27
|
+
# refresh_token value into GMAIL_REFRESH_TOKEN below.
|
|
28
|
+
# Alternative: run a 30-line CLI helper that listens on localhost,
|
|
29
|
+
# redirects to Google's auth screen, and prints the refresh token. Skipped
|
|
30
|
+
# here to keep the adapter self-contained — paste-from-Playground works.
|
|
31
|
+
#
|
|
32
|
+
# ── Vars ───────────────────────────────────────────────────────────────────
|
|
33
|
+
GMAIL_CLIENT_ID=
|
|
34
|
+
GMAIL_CLIENT_SECRET=
|
|
35
|
+
GMAIL_REFRESH_TOKEN=
|
|
36
|
+
|
|
37
|
+
# ── Operational notes ──────────────────────────────────────────────────────
|
|
38
|
+
# • Default path is PULL: call receive() on a timer (every 30–60s is fine for
|
|
39
|
+
# most inboxes). It returns one message at a time so the agent's runloop
|
|
40
|
+
# stays simple. Mark-read is part of receive(), so no double-processing.
|
|
41
|
+
#
|
|
42
|
+
# • Push path (Pub/Sub watch) is out of scope for this adapter:
|
|
43
|
+
# https://developers.google.com/gmail/api/guides/push
|
|
44
|
+
# It needs a GCP Pub/Sub topic + push subscription + verified domain for
|
|
45
|
+
# the webhook. If you wire it later, the receive() shape can absorb the
|
|
46
|
+
# PubsubMessage payload — Gmail's push only delivers a historyId, so you
|
|
47
|
+
# still call users.history.list to enumerate new messages.
|
|
48
|
+
#
|
|
49
|
+
# • Quota: Gmail API is 1,000,000,000 quota units/day per project (~one query
|
|
50
|
+
# = 5 units, send = 100). Polling every 30s = 2880 calls/day per agent —
|
|
51
|
+
# negligible at any reasonable scale.
|
|
52
|
+
#
|
|
53
|
+
# • Domain-wide delegation (Workspace service accounts) is not supported by
|
|
54
|
+
# this adapter; use the installed-app refresh-token flow above.
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// MIT — original implementation. Gmail API + Google OAuth 2.0 (installed-app
|
|
2
|
+
// refresh-token flow). Default path is pull-based: poll for unread, fetch,
|
|
3
|
+
// mark read, normalize. Push-based (Pub/Sub watch) is documented in the
|
|
4
|
+
// .env.example but not wired here — the gap is honest: it requires GCP
|
|
5
|
+
// project setup beyond what an .env can express.
|
|
6
|
+
|
|
7
|
+
const OAUTH_TOKEN_URL = 'https://oauth2.googleapis.com/token'
|
|
8
|
+
const GMAIL_API = 'https://gmail.googleapis.com/gmail/v1/users/me'
|
|
9
|
+
|
|
10
|
+
export interface GmailInbound {
|
|
11
|
+
/** Gmail message id — use as the chat/correlation key for replies. */
|
|
12
|
+
chatId: string
|
|
13
|
+
text: string
|
|
14
|
+
sender: string
|
|
15
|
+
/** RFC 822 Message-Id header, useful for threading replies via In-Reply-To. */
|
|
16
|
+
messageId?: string
|
|
17
|
+
/** Original Subject header — populates Subject on the reply if you choose. */
|
|
18
|
+
subject?: string
|
|
19
|
+
/** Thread id, for sending into the same Gmail thread. */
|
|
20
|
+
threadId?: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface TokenCache {
|
|
24
|
+
accessToken: string
|
|
25
|
+
expiresAt: number
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let tokenCache: TokenCache | null = null
|
|
29
|
+
|
|
30
|
+
function creds() {
|
|
31
|
+
const clientId = process.env.GMAIL_CLIENT_ID
|
|
32
|
+
const clientSecret = process.env.GMAIL_CLIENT_SECRET
|
|
33
|
+
const refreshToken = process.env.GMAIL_REFRESH_TOKEN
|
|
34
|
+
if (!clientId || !clientSecret || !refreshToken) {
|
|
35
|
+
throw new Error(
|
|
36
|
+
'gmail channel: GMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET, GMAIL_REFRESH_TOKEN must all be set',
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
return { clientId, clientSecret, refreshToken }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Exchange the refresh token for an access token. Caches until ~60s before expiry. */
|
|
43
|
+
async function accessToken(): Promise<string> {
|
|
44
|
+
if (tokenCache && tokenCache.expiresAt > Date.now() + 60_000) return tokenCache.accessToken
|
|
45
|
+
const { clientId, clientSecret, refreshToken } = creds()
|
|
46
|
+
const body = new URLSearchParams({
|
|
47
|
+
client_id: clientId,
|
|
48
|
+
client_secret: clientSecret,
|
|
49
|
+
refresh_token: refreshToken,
|
|
50
|
+
grant_type: 'refresh_token',
|
|
51
|
+
})
|
|
52
|
+
const res = await fetch(OAUTH_TOKEN_URL, {
|
|
53
|
+
method: 'POST',
|
|
54
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
55
|
+
body,
|
|
56
|
+
})
|
|
57
|
+
if (!res.ok) {
|
|
58
|
+
const detail = await res.text().catch(() => '')
|
|
59
|
+
throw new Error(`gmail oauth refresh ${res.status}: ${detail.slice(0, 200)}`)
|
|
60
|
+
}
|
|
61
|
+
const json = (await res.json()) as { access_token: string; expires_in: number }
|
|
62
|
+
tokenCache = {
|
|
63
|
+
accessToken: json.access_token,
|
|
64
|
+
expiresAt: Date.now() + json.expires_in * 1000,
|
|
65
|
+
}
|
|
66
|
+
return tokenCache.accessToken
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
interface MessagePayload {
|
|
70
|
+
headers?: Array<{ name: string; value: string }>
|
|
71
|
+
parts?: MessagePayload[]
|
|
72
|
+
body?: { data?: string; size?: number }
|
|
73
|
+
mimeType?: string
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface GmailMessage {
|
|
77
|
+
id: string
|
|
78
|
+
threadId: string
|
|
79
|
+
payload?: MessagePayload
|
|
80
|
+
snippet?: string
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function decodeBase64Url(s: string): string {
|
|
84
|
+
const pad = s.length % 4 === 0 ? '' : '='.repeat(4 - (s.length % 4))
|
|
85
|
+
const b64 = s.replace(/-/g, '+').replace(/_/g, '/') + pad
|
|
86
|
+
// Buffer is available in Node + Workers (via polyfill); fall back to atob.
|
|
87
|
+
if (typeof Buffer !== 'undefined') return Buffer.from(b64, 'base64').toString('utf8')
|
|
88
|
+
return atob(b64)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function encodeBase64Url(s: string): string {
|
|
92
|
+
const b64 = typeof Buffer !== 'undefined' ? Buffer.from(s, 'utf8').toString('base64') : btoa(s)
|
|
93
|
+
return b64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '')
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function header(payload: MessagePayload | undefined, name: string): string | undefined {
|
|
97
|
+
return payload?.headers?.find((h) => h.name.toLowerCase() === name.toLowerCase())?.value
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function extractText(payload: MessagePayload | undefined): string {
|
|
101
|
+
if (!payload) return ''
|
|
102
|
+
if (payload.mimeType === 'text/plain' && payload.body?.data) return decodeBase64Url(payload.body.data)
|
|
103
|
+
for (const part of payload.parts ?? []) {
|
|
104
|
+
if (part.mimeType === 'text/plain' && part.body?.data) return decodeBase64Url(part.body.data)
|
|
105
|
+
}
|
|
106
|
+
// Fallback: first text/* part, even if html.
|
|
107
|
+
for (const part of payload.parts ?? []) {
|
|
108
|
+
if (part.mimeType?.startsWith('text/') && part.body?.data) return decodeBase64Url(part.body.data)
|
|
109
|
+
}
|
|
110
|
+
return ''
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
async function gmailGet(path: string): Promise<Response> {
|
|
114
|
+
const token = await accessToken()
|
|
115
|
+
return fetch(`${GMAIL_API}${path}`, { headers: { authorization: `Bearer ${token}` } })
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
async function gmailPost(path: string, body: unknown): Promise<Response> {
|
|
119
|
+
const token = await accessToken()
|
|
120
|
+
return fetch(`${GMAIL_API}${path}`, {
|
|
121
|
+
method: 'POST',
|
|
122
|
+
headers: { authorization: `Bearer ${token}`, 'content-type': 'application/json' },
|
|
123
|
+
body: JSON.stringify(body),
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/** Pull-based receive. Polls for the oldest unread message, fetches it,
|
|
128
|
+
* marks it read, and returns the normalized event. Returns null when the
|
|
129
|
+
* inbox has no unread mail — caller is expected to retry on a timer. */
|
|
130
|
+
export async function receive(_input?: unknown): Promise<GmailInbound | null> {
|
|
131
|
+
const listRes = await gmailGet('/messages?q=is%3Aunread&maxResults=1')
|
|
132
|
+
if (!listRes.ok) {
|
|
133
|
+
const detail = await listRes.text().catch(() => '')
|
|
134
|
+
throw new Error(`gmail messages.list ${listRes.status}: ${detail.slice(0, 200)}`)
|
|
135
|
+
}
|
|
136
|
+
const list = (await listRes.json()) as { messages?: Array<{ id: string }> }
|
|
137
|
+
const head = list.messages?.[0]
|
|
138
|
+
if (!head) return null
|
|
139
|
+
|
|
140
|
+
const getRes = await gmailGet(`/messages/${head.id}?format=full`)
|
|
141
|
+
if (!getRes.ok) {
|
|
142
|
+
const detail = await getRes.text().catch(() => '')
|
|
143
|
+
throw new Error(`gmail messages.get ${getRes.status}: ${detail.slice(0, 200)}`)
|
|
144
|
+
}
|
|
145
|
+
const msg = (await getRes.json()) as GmailMessage
|
|
146
|
+
|
|
147
|
+
// Mark read by removing the UNREAD label. If this fails we still return
|
|
148
|
+
// the event — but we surface the failure so the caller can de-dupe.
|
|
149
|
+
const modRes = await gmailPost(`/messages/${head.id}/modify`, { removeLabelIds: ['UNREAD'] })
|
|
150
|
+
if (!modRes.ok) {
|
|
151
|
+
const detail = await modRes.text().catch(() => '')
|
|
152
|
+
throw new Error(`gmail messages.modify ${modRes.status}: ${detail.slice(0, 200)}`)
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
const from = header(msg.payload, 'From') ?? ''
|
|
156
|
+
return {
|
|
157
|
+
chatId: msg.id,
|
|
158
|
+
text: extractText(msg.payload) || msg.snippet || '',
|
|
159
|
+
sender: from,
|
|
160
|
+
messageId: header(msg.payload, 'Message-Id'),
|
|
161
|
+
subject: header(msg.payload, 'Subject'),
|
|
162
|
+
threadId: msg.threadId,
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** Send a plain-text reply. `target` is the original Gmail message id from
|
|
167
|
+
* receive() — we look up the From + Subject + Message-Id and reply in-thread. */
|
|
168
|
+
export async function send(target: string, text: string): Promise<void> {
|
|
169
|
+
const getRes = await gmailGet(`/messages/${target}?format=metadata&metadataHeaders=From&metadataHeaders=Subject&metadataHeaders=Message-Id`)
|
|
170
|
+
if (!getRes.ok) {
|
|
171
|
+
const detail = await getRes.text().catch(() => '')
|
|
172
|
+
throw new Error(`gmail send: lookup ${getRes.status}: ${detail.slice(0, 200)}`)
|
|
173
|
+
}
|
|
174
|
+
const orig = (await getRes.json()) as GmailMessage
|
|
175
|
+
const to = header(orig.payload, 'From')
|
|
176
|
+
if (!to) throw new Error(`gmail send: original message ${target} has no From header`)
|
|
177
|
+
const origSubject = header(orig.payload, 'Subject') ?? ''
|
|
178
|
+
const subject = origSubject.toLowerCase().startsWith('re:') ? origSubject : `Re: ${origSubject}`
|
|
179
|
+
const inReplyTo = header(orig.payload, 'Message-Id')
|
|
180
|
+
|
|
181
|
+
const lines = [
|
|
182
|
+
`To: ${to}`,
|
|
183
|
+
`Subject: ${subject}`,
|
|
184
|
+
'Content-Type: text/plain; charset="UTF-8"',
|
|
185
|
+
'MIME-Version: 1.0',
|
|
186
|
+
]
|
|
187
|
+
if (inReplyTo) {
|
|
188
|
+
lines.push(`In-Reply-To: ${inReplyTo}`)
|
|
189
|
+
lines.push(`References: ${inReplyTo}`)
|
|
190
|
+
}
|
|
191
|
+
const rfc5322 = `${lines.join('\r\n')}\r\n\r\n${text}`
|
|
192
|
+
const raw = encodeBase64Url(rfc5322)
|
|
193
|
+
|
|
194
|
+
const sendRes = await gmailPost('/messages/send', { raw, threadId: orig.threadId })
|
|
195
|
+
if (!sendRes.ok) {
|
|
196
|
+
const detail = await sendRes.text().catch(() => '')
|
|
197
|
+
throw new Error(`gmail messages.send ${sendRes.status}: ${detail.slice(0, 200)}`)
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export const channelMeta = {
|
|
202
|
+
id: 'gmail' as const,
|
|
203
|
+
envVars: ['GMAIL_CLIENT_ID', 'GMAIL_CLIENT_SECRET', 'GMAIL_REFRESH_TOKEN'] as const,
|
|
204
|
+
inbound: 'pull' as const,
|
|
205
|
+
outbound: 'POST' as const,
|
|
206
|
+
}
|