@intutic/cli 1.10.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/cli.js +868 -30
- package/dist/cli.js.map +1 -1
- package/dist/commands/attenuate.d.ts +39 -0
- package/dist/commands/attenuate.d.ts.map +1 -0
- package/dist/commands/attenuate.js +98 -0
- package/dist/commands/attenuate.js.map +1 -0
- package/dist/commands/budget.d.ts +80 -0
- package/dist/commands/budget.d.ts.map +1 -1
- package/dist/commands/budget.js +119 -3
- package/dist/commands/budget.js.map +1 -1
- package/dist/commands/connect.d.ts +10 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +358 -48
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/credentials.d.ts +31 -0
- package/dist/commands/credentials.d.ts.map +1 -0
- package/dist/commands/credentials.js +134 -0
- package/dist/commands/credentials.js.map +1 -0
- package/dist/commands/decision.d.ts +37 -0
- package/dist/commands/decision.d.ts.map +1 -0
- package/dist/commands/decision.js +56 -0
- package/dist/commands/decision.js.map +1 -0
- package/dist/commands/doctor.d.ts +38 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +228 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/enforce.d.ts +33 -0
- package/dist/commands/enforce.d.ts.map +1 -0
- package/dist/commands/enforce.js +150 -0
- package/dist/commands/enforce.js.map +1 -0
- package/dist/commands/enterprise.d.ts +29 -0
- package/dist/commands/enterprise.d.ts.map +1 -0
- package/dist/commands/enterprise.js +141 -0
- package/dist/commands/enterprise.js.map +1 -0
- package/dist/commands/env.d.ts +7 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +55 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/exec.d.ts +38 -2
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +247 -10
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/findings.d.ts +84 -0
- package/dist/commands/findings.d.ts.map +1 -0
- package/dist/commands/findings.js +329 -0
- package/dist/commands/findings.js.map +1 -0
- package/dist/commands/gateway.d.ts +62 -0
- package/dist/commands/gateway.d.ts.map +1 -0
- package/dist/commands/gateway.js +298 -0
- package/dist/commands/gateway.js.map +1 -0
- package/dist/commands/guardrails.d.ts +81 -0
- package/dist/commands/guardrails.d.ts.map +1 -0
- package/dist/commands/guardrails.js +735 -0
- package/dist/commands/guardrails.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +14 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install-daemon.d.ts +70 -3
- package/dist/commands/install-daemon.d.ts.map +1 -1
- package/dist/commands/install-daemon.js +482 -47
- package/dist/commands/install-daemon.js.map +1 -1
- package/dist/commands/integrity.d.ts +205 -0
- package/dist/commands/integrity.d.ts.map +1 -0
- package/dist/commands/integrity.js +620 -0
- package/dist/commands/integrity.js.map +1 -0
- package/dist/commands/judge.d.ts +31 -0
- package/dist/commands/judge.d.ts.map +1 -0
- package/dist/commands/judge.js +118 -0
- package/dist/commands/judge.js.map +1 -0
- package/dist/commands/org.d.ts +31 -0
- package/dist/commands/org.d.ts.map +1 -0
- package/dist/commands/org.js +159 -0
- package/dist/commands/org.js.map +1 -0
- package/dist/commands/policy.d.ts +138 -4
- package/dist/commands/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +538 -97
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/predict-cost.d.ts +45 -0
- package/dist/commands/predict-cost.d.ts.map +1 -0
- package/dist/commands/predict-cost.js +123 -0
- package/dist/commands/predict-cost.js.map +1 -0
- package/dist/commands/rollback.d.ts +5 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/rollback.js +142 -0
- package/dist/commands/rollback.js.map +1 -0
- package/dist/commands/routing.d.ts +62 -0
- package/dist/commands/routing.d.ts.map +1 -0
- package/dist/commands/routing.js +121 -0
- package/dist/commands/routing.js.map +1 -0
- package/dist/commands/setup.d.ts +62 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +238 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skill.d.ts +268 -1
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +744 -39
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/sops.d.ts +95 -0
- package/dist/commands/sops.d.ts.map +1 -1
- package/dist/commands/sops.js +334 -34
- package/dist/commands/sops.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +1 -18
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +44 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/team.d.ts +38 -0
- package/dist/commands/team.d.ts.map +1 -0
- package/dist/commands/team.js +140 -0
- package/dist/commands/team.js.map +1 -0
- package/dist/commands/traces.d.ts +8 -1
- package/dist/commands/traces.d.ts.map +1 -1
- package/dist/commands/traces.js +114 -15
- package/dist/commands/traces.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +2 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/keychain.d.ts +10 -2
- package/dist/config/keychain.d.ts.map +1 -1
- package/dist/config/keychain.js +83 -14
- package/dist/config/keychain.js.map +1 -1
- package/dist/config/paths.d.ts +27 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +37 -6
- package/dist/config/paths.js.map +1 -1
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +19 -3
- package/dist/config/store.js.map +1 -1
- package/dist/harness/ag2.d.ts +22 -0
- package/dist/harness/ag2.d.ts.map +1 -0
- package/dist/harness/ag2.js +34 -0
- package/dist/harness/ag2.js.map +1 -0
- package/dist/harness/agentcore.d.ts +55 -0
- package/dist/harness/agentcore.d.ts.map +1 -0
- package/dist/harness/agentcore.js +119 -0
- package/dist/harness/agentcore.js.map +1 -0
- package/dist/harness/agenticOrchestrator.d.ts +52 -0
- package/dist/harness/agenticOrchestrator.d.ts.map +1 -0
- package/dist/harness/agenticOrchestrator.js +115 -0
- package/dist/harness/agenticOrchestrator.js.map +1 -0
- package/dist/harness/aiSdkHarness.d.ts +30 -0
- package/dist/harness/aiSdkHarness.d.ts.map +1 -0
- package/dist/harness/aiSdkHarness.js +51 -0
- package/dist/harness/aiSdkHarness.js.map +1 -0
- package/dist/harness/aiSdkWorkflow.d.ts +26 -0
- package/dist/harness/aiSdkWorkflow.d.ts.map +1 -0
- package/dist/harness/aiSdkWorkflow.js +39 -0
- package/dist/harness/aiSdkWorkflow.js.map +1 -0
- package/dist/harness/autogen.d.ts +24 -0
- package/dist/harness/autogen.d.ts.map +1 -0
- package/dist/harness/autogen.js +36 -0
- package/dist/harness/autogen.js.map +1 -0
- package/dist/harness/base.js.map +1 -1
- package/dist/harness/continue.d.ts.map +1 -1
- package/dist/harness/continue.js +2 -1
- package/dist/harness/continue.js.map +1 -1
- package/dist/harness/crewai.d.ts +15 -0
- package/dist/harness/crewai.d.ts.map +1 -0
- package/dist/harness/crewai.js +26 -0
- package/dist/harness/crewai.js.map +1 -0
- package/dist/harness/detector.d.ts +1 -1
- package/dist/harness/detector.d.ts.map +1 -1
- package/dist/harness/detector.js +47 -1
- package/dist/harness/detector.js.map +1 -1
- package/dist/harness/dsh.d.ts +19 -0
- package/dist/harness/dsh.d.ts.map +1 -0
- package/dist/harness/dsh.js +93 -0
- package/dist/harness/dsh.js.map +1 -0
- package/dist/harness/eve.d.ts +40 -0
- package/dist/harness/eve.d.ts.map +1 -0
- package/dist/harness/eve.js +67 -0
- package/dist/harness/eve.js.map +1 -0
- package/dist/harness/googleAdk.d.ts +18 -0
- package/dist/harness/googleAdk.d.ts.map +1 -0
- package/dist/harness/googleAdk.js +29 -0
- package/dist/harness/googleAdk.js.map +1 -0
- package/dist/harness/goose.d.ts.map +1 -1
- package/dist/harness/goose.js +5 -1
- package/dist/harness/goose.js.map +1 -1
- package/dist/harness/grok.d.ts +16 -0
- package/dist/harness/grok.d.ts.map +1 -0
- package/dist/harness/grok.js +78 -0
- package/dist/harness/grok.js.map +1 -0
- package/dist/harness/jsSdkGatedAdapter.d.ts +102 -0
- package/dist/harness/jsSdkGatedAdapter.d.ts.map +1 -0
- package/dist/harness/jsSdkGatedAdapter.js +139 -0
- package/dist/harness/jsSdkGatedAdapter.js.map +1 -0
- package/dist/harness/langchain.d.ts +22 -0
- package/dist/harness/langchain.d.ts.map +1 -0
- package/dist/harness/langchain.js +33 -0
- package/dist/harness/langchain.js.map +1 -0
- package/dist/harness/langgraph.d.ts +22 -0
- package/dist/harness/langgraph.d.ts.map +1 -0
- package/dist/harness/langgraph.js +80 -0
- package/dist/harness/langgraph.js.map +1 -0
- package/dist/harness/mastra.d.ts +21 -0
- package/dist/harness/mastra.d.ts.map +1 -0
- package/dist/harness/mastra.js +33 -0
- package/dist/harness/mastra.js.map +1 -0
- package/dist/harness/muse.d.ts +22 -0
- package/dist/harness/muse.d.ts.map +1 -0
- package/dist/harness/muse.js +92 -0
- package/dist/harness/muse.js.map +1 -0
- package/dist/harness/n8n.d.ts.map +1 -1
- package/dist/harness/n8n.js +36 -11
- package/dist/harness/n8n.js.map +1 -1
- package/dist/harness/openaiAgents.d.ts +40 -0
- package/dist/harness/openaiAgents.d.ts.map +1 -0
- package/dist/harness/openaiAgents.js +107 -0
- package/dist/harness/openaiAgents.js.map +1 -0
- package/dist/harness/opencode.d.ts +24 -0
- package/dist/harness/opencode.d.ts.map +1 -0
- package/dist/harness/opencode.js +97 -0
- package/dist/harness/opencode.js.map +1 -0
- package/dist/harness/pydanticAi.d.ts +19 -0
- package/dist/harness/pydanticAi.d.ts.map +1 -0
- package/dist/harness/pydanticAi.js +30 -0
- package/dist/harness/pydanticAi.js.map +1 -0
- package/dist/harness/sdkGatedAdapter.d.ts +55 -0
- package/dist/harness/sdkGatedAdapter.d.ts.map +1 -0
- package/dist/harness/sdkGatedAdapter.js +85 -0
- package/dist/harness/sdkGatedAdapter.js.map +1 -0
- package/dist/harness/smolagents.d.ts +22 -0
- package/dist/harness/smolagents.d.ts.map +1 -0
- package/dist/harness/smolagents.js +33 -0
- package/dist/harness/smolagents.js.map +1 -0
- package/dist/harness/strands.d.ts +22 -0
- package/dist/harness/strands.d.ts.map +1 -0
- package/dist/harness/strands.js +35 -0
- package/dist/harness/strands.js.map +1 -0
- package/dist/harness/trueforge.d.ts +25 -0
- package/dist/harness/trueforge.d.ts.map +1 -0
- package/dist/harness/trueforge.js +40 -0
- package/dist/harness/trueforge.js.map +1 -0
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js +70 -0
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/vercelAiSdk.d.ts +31 -0
- package/dist/harness/vercelAiSdk.d.ts.map +1 -0
- package/dist/harness/vercelAiSdk.js +44 -0
- package/dist/harness/vercelAiSdk.js.map +1 -0
- package/dist/harness/xirp.d.ts +43 -0
- package/dist/harness/xirp.d.ts.map +1 -0
- package/dist/harness/xirp.js +95 -0
- package/dist/harness/xirp.js.map +1 -0
- package/dist/lib/api.d.ts +68 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +108 -67
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/authMessages.d.ts +19 -0
- package/dist/lib/authMessages.d.ts.map +1 -0
- package/dist/lib/authMessages.js +20 -0
- package/dist/lib/authMessages.js.map +1 -0
- package/dist/lib/binaryChecksum.d.ts +12 -0
- package/dist/lib/binaryChecksum.d.ts.map +1 -0
- package/dist/lib/binaryChecksum.js +45 -0
- package/dist/lib/binaryChecksum.js.map +1 -0
- package/dist/lib/binaryOnPath.d.ts +24 -0
- package/dist/lib/binaryOnPath.d.ts.map +1 -0
- package/dist/lib/binaryOnPath.js +31 -0
- package/dist/lib/binaryOnPath.js.map +1 -0
- package/dist/lib/caTrust.d.ts +69 -0
- package/dist/lib/caTrust.d.ts.map +1 -0
- package/dist/lib/caTrust.js +169 -0
- package/dist/lib/caTrust.js.map +1 -0
- package/dist/lib/ciscoScanner.d.ts +178 -0
- package/dist/lib/ciscoScanner.d.ts.map +1 -0
- package/dist/lib/ciscoScanner.js +292 -0
- package/dist/lib/ciscoScanner.js.map +1 -0
- package/dist/lib/decisionsLogRefresh.d.ts +28 -0
- package/dist/lib/decisionsLogRefresh.d.ts.map +1 -0
- package/dist/lib/decisionsLogRefresh.js +54 -0
- package/dist/lib/decisionsLogRefresh.js.map +1 -0
- package/dist/lib/deviceReport.d.ts +26 -0
- package/dist/lib/deviceReport.d.ts.map +1 -0
- package/dist/lib/deviceReport.js +55 -0
- package/dist/lib/deviceReport.js.map +1 -0
- package/dist/lib/elevation.d.ts +58 -0
- package/dist/lib/elevation.d.ts.map +1 -0
- package/dist/lib/elevation.js +83 -0
- package/dist/lib/elevation.js.map +1 -0
- package/dist/lib/enforcementState.d.ts +69 -0
- package/dist/lib/enforcementState.d.ts.map +1 -0
- package/dist/lib/enforcementState.js +113 -0
- package/dist/lib/enforcementState.js.map +1 -0
- package/dist/lib/ensureValkey.d.ts.map +1 -1
- package/dist/lib/ensureValkey.js +2 -2
- package/dist/lib/ensureValkey.js.map +1 -1
- package/dist/lib/envInjector.d.ts.map +1 -1
- package/dist/lib/envInjector.js +22 -4
- package/dist/lib/envInjector.js.map +1 -1
- package/dist/lib/gitHooks.d.ts +7 -2
- package/dist/lib/gitHooks.d.ts.map +1 -1
- package/dist/lib/gitHooks.js +180 -13
- package/dist/lib/gitHooks.js.map +1 -1
- package/dist/lib/gracefulShutdown.d.ts +37 -0
- package/dist/lib/gracefulShutdown.d.ts.map +1 -0
- package/dist/lib/gracefulShutdown.js +57 -0
- package/dist/lib/gracefulShutdown.js.map +1 -0
- package/dist/lib/graphIdentity.d.ts +80 -0
- package/dist/lib/graphIdentity.d.ts.map +1 -0
- package/dist/lib/graphIdentity.js +120 -0
- package/dist/lib/graphIdentity.js.map +1 -0
- package/dist/lib/localTraces.d.ts +61 -0
- package/dist/lib/localTraces.d.ts.map +1 -0
- package/dist/lib/localTraces.js +173 -0
- package/dist/lib/localTraces.js.map +1 -0
- package/dist/lib/mdmManifest.d.ts +73 -0
- package/dist/lib/mdmManifest.d.ts.map +1 -0
- package/dist/lib/mdmManifest.js +190 -0
- package/dist/lib/mdmManifest.js.map +1 -0
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +60 -1
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/otelPropagation.d.ts +26 -0
- package/dist/lib/otelPropagation.d.ts.map +1 -0
- package/dist/lib/otelPropagation.js +40 -0
- package/dist/lib/otelPropagation.js.map +1 -0
- package/dist/lib/policySnapshot.d.ts +92 -0
- package/dist/lib/policySnapshot.d.ts.map +1 -0
- package/dist/lib/policySnapshot.js +173 -0
- package/dist/lib/policySnapshot.js.map +1 -0
- package/dist/lib/process.d.ts.map +1 -1
- package/dist/lib/process.js +60 -0
- package/dist/lib/process.js.map +1 -1
- package/dist/lib/providerProbe.d.ts +28 -0
- package/dist/lib/providerProbe.d.ts.map +1 -0
- package/dist/lib/providerProbe.js +57 -0
- package/dist/lib/providerProbe.js.map +1 -0
- package/dist/lib/proxyBinary.d.ts +19 -0
- package/dist/lib/proxyBinary.d.ts.map +1 -0
- package/dist/lib/proxyBinary.js +30 -0
- package/dist/lib/proxyBinary.js.map +1 -0
- package/dist/lib/sandbox/firecracker.d.ts +89 -0
- package/dist/lib/sandbox/firecracker.d.ts.map +1 -0
- package/dist/lib/sandbox/firecracker.js +135 -0
- package/dist/lib/sandbox/firecracker.js.map +1 -0
- package/dist/lib/sandbox/index.d.ts +34 -0
- package/dist/lib/sandbox/index.d.ts.map +1 -0
- package/dist/lib/sandbox/index.js +54 -0
- package/dist/lib/sandbox/index.js.map +1 -0
- package/dist/lib/sandbox/oci.d.ts +38 -0
- package/dist/lib/sandbox/oci.d.ts.map +1 -0
- package/dist/lib/sandbox/oci.js +108 -0
- package/dist/lib/sandbox/oci.js.map +1 -0
- package/dist/lib/sandbox/types.d.ts +48 -0
- package/dist/lib/sandbox/types.d.ts.map +1 -0
- package/dist/lib/sandbox/types.js +12 -0
- package/dist/lib/sandbox/types.js.map +1 -0
- package/dist/lib/sopFrontMatter.d.ts +50 -0
- package/dist/lib/sopFrontMatter.d.ts.map +1 -0
- package/dist/lib/sopFrontMatter.js +129 -0
- package/dist/lib/sopFrontMatter.js.map +1 -0
- package/package.json +11 -6
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agentcore.ts — AWS Bedrock AgentCore Runtime adapter (detection-only, no
|
|
3
|
+
* config file of its own).
|
|
4
|
+
*
|
|
5
|
+
* AgentCore (GA 2025-10) is a 13-module platform, not one thing. This
|
|
6
|
+
* adapter covers exactly one module: **Runtime**, a managed hosting
|
|
7
|
+
* environment that runs a customer's OWN agent code (any framework)
|
|
8
|
+
* unchanged. Because it is just running the customer's own code, the
|
|
9
|
+
* blocking tool-call gate is whichever ALREADY-SUPPORTED framework adapter
|
|
10
|
+
* that code uses — Strands (strands.ts), LangGraph (langgraph.ts), CrewAI
|
|
11
|
+
* (crewai.ts), etc. This adapter's `writeConfig` is therefore a no-op, the
|
|
12
|
+
* same shape as xirp.ts/agenticOrchestrator.ts: it exists so
|
|
13
|
+
* `intutic status`/`intutic init` can report "this workspace deploys to
|
|
14
|
+
* AgentCore Runtime" and point at the deployment-target caveats documented
|
|
15
|
+
* in apps/docs/integrations/agentcore.md (environment-variable caps, VPC/NAT
|
|
16
|
+
* egress topology, Bedrock's SigV4 traffic not being proxyable) — none of
|
|
17
|
+
* which belong in a repo-written file, since the actual proxy env vars are
|
|
18
|
+
* already written by whichever inner framework's own adapter detects.
|
|
19
|
+
*
|
|
20
|
+
* UNLIKE Xirp/Agentic Orchestrator, Runtime does not spawn an
|
|
21
|
+
* already-installed CLI harness as a subprocess — it hosts framework-SDK
|
|
22
|
+
* code as a deployment target. If that code uses no framework this registry
|
|
23
|
+
* supports (raw boto3, a hand-rolled tool loop), coverage is genuinely zero
|
|
24
|
+
* — an honest gap, stated rather than papered over.
|
|
25
|
+
*
|
|
26
|
+
* # Detection signals (all live-verified against real published artifacts —
|
|
27
|
+
* see packages/shared-types/src/enums.ts's HarnessType.AGENTCORE_RUNTIME doc
|
|
28
|
+
* for exactly how)
|
|
29
|
+
*
|
|
30
|
+
* 1. `bedrock-agentcore` in a Python manifest (pyproject.toml/
|
|
31
|
+
* requirements.txt/uv.lock) — the PyPI SDK package (CONFIRMED 1.22.0).
|
|
32
|
+
* 2. `bedrock-agentcore-starter-toolkit` in a Python manifest — the optional
|
|
33
|
+
* CLI/dev-loop toolkit (CONFIRMED 0.3.11); a weaker signal than #1 since a
|
|
34
|
+
* project can depend on the SDK without the starter toolkit, but not the
|
|
35
|
+
* reverse in practice.
|
|
36
|
+
* 3. `bedrock-agentcore` or `@aws/agentcore` in package.json dependencies —
|
|
37
|
+
* the npm TypeScript SDK (CONFIRMED 0.4.3) and CLI (CONFIRMED 0.27.0).
|
|
38
|
+
* 4. `.bedrock_agentcore.yaml` at the workspace root — the config file the
|
|
39
|
+
* Python starter toolkit's `agentcore configure`/`agentcore launch`
|
|
40
|
+
* commands write (confirmed via `bedrock_agentcore_starter_toolkit/cli/
|
|
41
|
+
* runtime/_configure_impl.py` and every other CLI subcommand module that
|
|
42
|
+
* reads it).
|
|
43
|
+
* 5. `agentcore/agentcore.json` or `aws-targets.json` at the workspace root —
|
|
44
|
+
* the config files the npm `@aws/agentcore` CLI writes (confirmed via the
|
|
45
|
+
* literal strings in the published `dist/cli/index.mjs` bundle).
|
|
46
|
+
*
|
|
47
|
+
* No ReDoS surface: every check below is a plain substring/property test
|
|
48
|
+
* over locally-read files, never a regex over untrusted network input.
|
|
49
|
+
*
|
|
50
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
51
|
+
* @module
|
|
52
|
+
*/
|
|
53
|
+
import { access, readFile } from 'node:fs/promises';
|
|
54
|
+
import { join } from 'node:path';
|
|
55
|
+
import { HarnessType } from '@intutic/shared-types';
|
|
56
|
+
/** Python manifests scanned for the SDK/toolkit package names. */
|
|
57
|
+
const PYTHON_MANIFESTS = ['pyproject.toml', 'requirements.txt', 'uv.lock'];
|
|
58
|
+
/** Config files the `agentcore` CLIs (npm + Python starter toolkit) write. */
|
|
59
|
+
const CONFIG_FILE_SIGNALS = ['.bedrock_agentcore.yaml', 'agentcore/agentcore.json', 'aws-targets.json'];
|
|
60
|
+
async function hasAnyConfigFile(workspaceRoot) {
|
|
61
|
+
for (const rel of CONFIG_FILE_SIGNALS) {
|
|
62
|
+
try {
|
|
63
|
+
await access(join(workspaceRoot, rel));
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
/* not here */
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
async function hasPythonManifestSignal(workspaceRoot) {
|
|
73
|
+
for (const manifest of PYTHON_MANIFESTS) {
|
|
74
|
+
try {
|
|
75
|
+
const content = (await readFile(join(workspaceRoot, manifest), 'utf-8')).toLowerCase();
|
|
76
|
+
if (content.includes('bedrock-agentcore') || content.includes('bedrock_agentcore'))
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
/* manifest not present */
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
async function hasNodeManifestSignal(workspaceRoot) {
|
|
86
|
+
try {
|
|
87
|
+
const raw = await readFile(join(workspaceRoot, 'package.json'), 'utf-8');
|
|
88
|
+
const manifest = JSON.parse(raw);
|
|
89
|
+
const deps = { ...manifest.peerDependencies, ...manifest.devDependencies, ...manifest.dependencies };
|
|
90
|
+
return 'bedrock-agentcore' in deps || '@aws/agentcore' in deps;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return false; // no package.json, or unparseable
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export const agentcoreAdapter = {
|
|
97
|
+
type: HarnessType.AGENTCORE_RUNTIME,
|
|
98
|
+
// No config file of its own — see module doc. The proxy env vars a
|
|
99
|
+
// customer's deployed agent needs are already written by whichever inner
|
|
100
|
+
// framework's own adapter (strands.ts, langgraph.ts, ...) detects.
|
|
101
|
+
configFileName: '',
|
|
102
|
+
async detect(workspaceRoot) {
|
|
103
|
+
if (await hasAnyConfigFile(workspaceRoot))
|
|
104
|
+
return true;
|
|
105
|
+
if (await hasPythonManifestSignal(workspaceRoot))
|
|
106
|
+
return true;
|
|
107
|
+
return hasNodeManifestSignal(workspaceRoot);
|
|
108
|
+
},
|
|
109
|
+
// AgentCore Runtime introduces no config format of its own to gate — see
|
|
110
|
+
// module doc. Nothing to write; whichever inner framework's own adapter is
|
|
111
|
+
// present (if any) is what writes real governance content.
|
|
112
|
+
async writeConfig(_workspaceRoot, _sops, _proxyUrl) {
|
|
113
|
+
return null;
|
|
114
|
+
},
|
|
115
|
+
async readCurrentHash(_workspaceRoot) {
|
|
116
|
+
return null;
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=agentcore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../src/harness/agentcore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,CAAU,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,CAAC,yBAAyB,EAAE,0BAA0B,EAAE,kBAAkB,CAAU,CAAA;AAEhH,KAAK,UAAU,gBAAgB,CAAC,aAAqB;IACnD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAA;YACtC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,aAAqB;IAC1D,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YACtF,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAAE,OAAO,IAAI,CAAA;QACjG,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAQD,KAAK,UAAU,qBAAqB,CAAC,aAAqB;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAA;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAA;QACnD,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAA;QACpG,OAAO,mBAAmB,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA,CAAC,kCAAkC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,IAAI,EAAE,WAAW,CAAC,iBAAiB;IACnC,mEAAmE;IACnE,yEAAyE;IACzE,mEAAmE;IACnE,cAAc,EAAE,EAAE;IAElB,KAAK,CAAC,MAAM,CAAC,aAAqB;QAChC,IAAI,MAAM,gBAAgB,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAA;QACtD,IAAI,MAAM,uBAAuB,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7D,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,2DAA2D;IAC3D,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,KAAqB,EAAE,SAAiB;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,cAAsB;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agenticOrchestrator.ts — DoorDash "Agentic Orchestrator" adapter (binary
|
|
3
|
+
* `agentico`, Go, Apache-2.0, `doordash-oss/agentic-orchestrator`).
|
|
4
|
+
*
|
|
5
|
+
* Agentic Orchestrator is NOT itself an AI agent — it is a desktop app +
|
|
6
|
+
* CLI that turns a feature prompt into a multi-phase workflow (research,
|
|
7
|
+
* planning, implementation, review, PR publish), delegating the actual
|
|
8
|
+
* model-driving work to ALREADY-INSTALLED CLI backends: Claude Code, Codex,
|
|
9
|
+
* and OpenCode (confirmed via `agentico server --help`'s `--providers`
|
|
10
|
+
* flag: "Available: claude, codex, opencode"). Each feature runs in its own
|
|
11
|
+
* `git worktree` under `~/.agentic-orchestrator/worktrees/` (confirmed via
|
|
12
|
+
* the project's own README), the same "one workflow, one worktree" shape
|
|
13
|
+
* Xirp uses — so the sync daemon's existing worktree propagation
|
|
14
|
+
* (`services/sync-daemon/src/lib/gitWorktrees.ts`) already covers these
|
|
15
|
+
* worktrees too, with no changes needed: `git worktree list --porcelain`
|
|
16
|
+
* enumerates every worktree of a watched repo regardless of where under the
|
|
17
|
+
* filesystem it lives.
|
|
18
|
+
*
|
|
19
|
+
* Unlike Xirp, this project's facts were LIVE-VERIFIED against the real
|
|
20
|
+
* released artifact, not just its README: the actual `agentico` binary
|
|
21
|
+
* (darwin_arm64, v0.152.0) was downloaded from a GitHub release and run
|
|
22
|
+
* directly (`agentico --version`, `agentico --help`, `agentico server
|
|
23
|
+
* --help`) during this integration's research. `--help`'s documented
|
|
24
|
+
* defaults for `--config` (`~/.agentic-orchestrator/config.yaml`) and
|
|
25
|
+
* `--state-dir` (`~/.agentic-orchestrator/features`) matched the README
|
|
26
|
+
* exactly, with no env-var override for either path documented anywhere in
|
|
27
|
+
* the binary's own help text (unlike Xirp's guessed `$XIRP_HOME`).
|
|
28
|
+
*
|
|
29
|
+
* `writeConfig` is a no-op for the same reason as Xirp's: this integration
|
|
30
|
+
* introduces no config format of its own to gate. `config.yaml`'s
|
|
31
|
+
* `defaults.models.*` keys select WHICH model each phase uses, not how that
|
|
32
|
+
* phase's chosen backend reaches its LLM provider — that routing is each
|
|
33
|
+
* wrapped backend's own concern (Claude Code's `.claude/settings.json` +
|
|
34
|
+
* env vars, Codex's `~/.codex/config.toml`, OpenCode's own config), exactly
|
|
35
|
+
* as it already is when those backends run standalone.
|
|
36
|
+
*
|
|
37
|
+
* All three wrapped backends have adapters of their own (`claudeCode.ts`,
|
|
38
|
+
* `codex.ts`, `opencode.ts` — the last since TD-397 closed on 2026-09-23),
|
|
39
|
+
* so a feature run against any `--providers` value is governed by that
|
|
40
|
+
* backend's gate inside the worktree. This adapter only detects that
|
|
41
|
+
* Agentic Orchestrator itself is present.
|
|
42
|
+
*
|
|
43
|
+
* See `services/sync-daemon/__tests__/harness/gateRegistry.ts`'s NO_GATE
|
|
44
|
+
* row for `agentic-orchestrator` for the full governance rationale, and
|
|
45
|
+
* `apps/docs/integrations/agentic-orchestrator.md` for user-facing docs.
|
|
46
|
+
*
|
|
47
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
48
|
+
* @module
|
|
49
|
+
*/
|
|
50
|
+
import type { IHarnessAdapter } from './types.js';
|
|
51
|
+
export declare const agenticOrchestratorAdapter: IHarnessAdapter;
|
|
52
|
+
//# sourceMappingURL=agenticOrchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticOrchestrator.d.ts","sourceRoot":"","sources":["../../src/harness/agenticOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQjD,eAAO,MAAM,0BAA0B,EAAE,eAyDxC,CAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agenticOrchestrator.ts — DoorDash "Agentic Orchestrator" adapter (binary
|
|
3
|
+
* `agentico`, Go, Apache-2.0, `doordash-oss/agentic-orchestrator`).
|
|
4
|
+
*
|
|
5
|
+
* Agentic Orchestrator is NOT itself an AI agent — it is a desktop app +
|
|
6
|
+
* CLI that turns a feature prompt into a multi-phase workflow (research,
|
|
7
|
+
* planning, implementation, review, PR publish), delegating the actual
|
|
8
|
+
* model-driving work to ALREADY-INSTALLED CLI backends: Claude Code, Codex,
|
|
9
|
+
* and OpenCode (confirmed via `agentico server --help`'s `--providers`
|
|
10
|
+
* flag: "Available: claude, codex, opencode"). Each feature runs in its own
|
|
11
|
+
* `git worktree` under `~/.agentic-orchestrator/worktrees/` (confirmed via
|
|
12
|
+
* the project's own README), the same "one workflow, one worktree" shape
|
|
13
|
+
* Xirp uses — so the sync daemon's existing worktree propagation
|
|
14
|
+
* (`services/sync-daemon/src/lib/gitWorktrees.ts`) already covers these
|
|
15
|
+
* worktrees too, with no changes needed: `git worktree list --porcelain`
|
|
16
|
+
* enumerates every worktree of a watched repo regardless of where under the
|
|
17
|
+
* filesystem it lives.
|
|
18
|
+
*
|
|
19
|
+
* Unlike Xirp, this project's facts were LIVE-VERIFIED against the real
|
|
20
|
+
* released artifact, not just its README: the actual `agentico` binary
|
|
21
|
+
* (darwin_arm64, v0.152.0) was downloaded from a GitHub release and run
|
|
22
|
+
* directly (`agentico --version`, `agentico --help`, `agentico server
|
|
23
|
+
* --help`) during this integration's research. `--help`'s documented
|
|
24
|
+
* defaults for `--config` (`~/.agentic-orchestrator/config.yaml`) and
|
|
25
|
+
* `--state-dir` (`~/.agentic-orchestrator/features`) matched the README
|
|
26
|
+
* exactly, with no env-var override for either path documented anywhere in
|
|
27
|
+
* the binary's own help text (unlike Xirp's guessed `$XIRP_HOME`).
|
|
28
|
+
*
|
|
29
|
+
* `writeConfig` is a no-op for the same reason as Xirp's: this integration
|
|
30
|
+
* introduces no config format of its own to gate. `config.yaml`'s
|
|
31
|
+
* `defaults.models.*` keys select WHICH model each phase uses, not how that
|
|
32
|
+
* phase's chosen backend reaches its LLM provider — that routing is each
|
|
33
|
+
* wrapped backend's own concern (Claude Code's `.claude/settings.json` +
|
|
34
|
+
* env vars, Codex's `~/.codex/config.toml`, OpenCode's own config), exactly
|
|
35
|
+
* as it already is when those backends run standalone.
|
|
36
|
+
*
|
|
37
|
+
* All three wrapped backends have adapters of their own (`claudeCode.ts`,
|
|
38
|
+
* `codex.ts`, `opencode.ts` — the last since TD-397 closed on 2026-09-23),
|
|
39
|
+
* so a feature run against any `--providers` value is governed by that
|
|
40
|
+
* backend's gate inside the worktree. This adapter only detects that
|
|
41
|
+
* Agentic Orchestrator itself is present.
|
|
42
|
+
*
|
|
43
|
+
* See `services/sync-daemon/__tests__/harness/gateRegistry.ts`'s NO_GATE
|
|
44
|
+
* row for `agentic-orchestrator` for the full governance rationale, and
|
|
45
|
+
* `apps/docs/integrations/agentic-orchestrator.md` for user-facing docs.
|
|
46
|
+
*
|
|
47
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
48
|
+
* @module
|
|
49
|
+
*/
|
|
50
|
+
import { access } from 'node:fs/promises';
|
|
51
|
+
import { accessSync } from 'node:fs';
|
|
52
|
+
import { join } from 'node:path';
|
|
53
|
+
import { homedir } from 'node:os';
|
|
54
|
+
import { HarnessType } from '@intutic/shared-types';
|
|
55
|
+
/** Confirmed default (via `agentico server --help`) — not a guess. */
|
|
56
|
+
const AGENTIC_ORCHESTRATOR_HOME_FRAGMENT = '.agentic-orchestrator';
|
|
57
|
+
/** Confirmed default install path for the macOS desktop app (README's
|
|
58
|
+
* `xattr -dr com.apple.quarantine /Applications/Agentico.app` note). */
|
|
59
|
+
const AGENTIC_ORCHESTRATOR_APP_PATH = '/Applications/Agentico.app';
|
|
60
|
+
export const agenticOrchestratorAdapter = {
|
|
61
|
+
type: HarnessType.AGENTIC_ORCHESTRATOR,
|
|
62
|
+
// No config file of its own — see module doc. Matches xirp.ts's/goose.ts's
|
|
63
|
+
// convention of an empty HARNESS_CONFIG_FILES entry for a harness whose
|
|
64
|
+
// governance-relevant writes are not a single named workspace-relative
|
|
65
|
+
// file (in this case: no writes of its own at all, same as Xirp).
|
|
66
|
+
configFileName: '',
|
|
67
|
+
async detect(_workspaceRoot) {
|
|
68
|
+
// 1. `~/.agentic-orchestrator` — confirmed default home directory (holds
|
|
69
|
+
// config.yaml, the features/ state dir, and worktrees/). Cross-
|
|
70
|
+
// platform: unlike xirp.ts, no `process.platform !== 'darwin'` guard
|
|
71
|
+
// here, since Agentic Orchestrator ships for both macOS and Linux
|
|
72
|
+
// (confirmed via the project's own release artifacts: darwin/linux,
|
|
73
|
+
// amd64/arm64).
|
|
74
|
+
try {
|
|
75
|
+
await access(join(homedir(), AGENTIC_ORCHESTRATOR_HOME_FRAGMENT));
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
catch { /* fall through */ }
|
|
79
|
+
// 2. `agentico` on PATH — the same PATH-scan convention dsh.ts/grok.ts
|
|
80
|
+
// use for CLI-distributed binaries (Homebrew, a prebuilt release
|
|
81
|
+
// tarball extracted onto PATH, or `go install`).
|
|
82
|
+
const pathDirs = (process.env.PATH ?? '').split(process.platform === 'win32' ? ';' : ':');
|
|
83
|
+
for (const dir of pathDirs) {
|
|
84
|
+
try {
|
|
85
|
+
accessSync(join(dir, 'agentico'));
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
catch { /* not here */ }
|
|
89
|
+
}
|
|
90
|
+
// 3. `Agentico.app` installed in /Applications — the desktop app, macOS
|
|
91
|
+
// only. Confirmed path (see module doc); guarded to darwin only
|
|
92
|
+
// since this specific check is platform-specific even though the
|
|
93
|
+
// harness as a whole is not.
|
|
94
|
+
if (process.platform === 'darwin') {
|
|
95
|
+
try {
|
|
96
|
+
await access(AGENTIC_ORCHESTRATOR_APP_PATH);
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
catch { /* fall through */ }
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
},
|
|
103
|
+
// Agentic Orchestrator introduces no config format of its own — see
|
|
104
|
+
// module doc. Nothing to write; each wrapped backend's own adapter
|
|
105
|
+
// (claudeCode.ts / codex.ts / opencode.ts) is what writes real governance
|
|
106
|
+
// content, once per worktree Agentic Orchestrator creates (the sync
|
|
107
|
+
// daemon's worktree propagation, not this adapter).
|
|
108
|
+
async writeConfig(_workspaceRoot, _sops, _proxyUrl) {
|
|
109
|
+
return null;
|
|
110
|
+
},
|
|
111
|
+
async readCurrentHash(_workspaceRoot) {
|
|
112
|
+
return null;
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=agenticOrchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticOrchestrator.js","sourceRoot":"","sources":["../../src/harness/agenticOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,sEAAsE;AACtE,MAAM,kCAAkC,GAAG,uBAAuB,CAAA;AAClE;yEACyE;AACzE,MAAM,6BAA6B,GAAG,4BAA4B,CAAA;AAElE,MAAM,CAAC,MAAM,0BAA0B,GAAoB;IACzD,IAAI,EAAE,WAAW,CAAC,oBAAoB;IACtC,2EAA2E;IAC3E,wEAAwE;IACxE,uEAAuE;IACvE,kEAAkE;IAClE,cAAc,EAAE,EAAE;IAElB,KAAK,CAAC,MAAM,CAAC,cAAsB;QACjC,yEAAyE;QACzE,mEAAmE;QACnE,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAA;YACjE,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE9B,uEAAuE;QACvE,oEAAoE;QACpE,oDAAoD;QACpD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACzF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;gBACjC,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;QAED,wEAAwE;QACxE,mEAAmE;QACnE,oEAAoE;QACpE,gCAAgC;QAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAA;gBAC3C,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,oEAAoE;IACpE,mEAAmE;IACnE,0EAA0E;IAC1E,oEAAoE;IACpE,oDAAoD;IACpD,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,KAAqB,EAAE,SAAiB;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,cAAsB;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* aiSdkHarness.ts — Vercel `@ai-sdk/harness` adapter (env-file config,
|
|
3
|
+
* SDK-side gate).
|
|
4
|
+
*
|
|
5
|
+
* Same shape as mastra.ts/vercelAiSdk.ts (see jsSdkGatedAdapter.ts), for
|
|
6
|
+
* Vercel's sandboxed coding-agent runtime (`HarnessAgent`): detected via
|
|
7
|
+
* `@ai-sdk/harness` itself, any `@ai-sdk/harness-*` runtime adapter
|
|
8
|
+
* (harness-claude-code, harness-grok-build, ...), or any `@ai-sdk/sandbox-*`
|
|
9
|
+
* provider in `package.json` — each family independently signals the
|
|
10
|
+
* framework, hence `requiresAnyPrefix` rather than a single required package.
|
|
11
|
+
*
|
|
12
|
+
* TWO DOCUMENTED LIMITATIONS carried into the generated `.env.intutic`
|
|
13
|
+
* (both confirmed against `@ai-sdk/harness@1.0.75`'s shipped types — see
|
|
14
|
+
* `@intutic/gate/harness`'s module doc for the full record):
|
|
15
|
+
*
|
|
16
|
+
* 1. Tool execution is SERVER-SIDE, in Vercel Sandbox microVMs — the
|
|
17
|
+
* local Intutic proxy never sees sandbox egress, so the written
|
|
18
|
+
* base-URL vars govern only LLM calls the CALLER's own process makes.
|
|
19
|
+
* Egress governance for the sandbox itself is the sandbox's own
|
|
20
|
+
* network policy (coarse, host-level), recommended via
|
|
21
|
+
* `recommendedHarnessSettings()`.
|
|
22
|
+
* 2. Built-in sandbox tools (read/write/edit/bash/...) are governed only
|
|
23
|
+
* by `permissionMode`, which DEFAULTS to `'allow-all'` — the gate can
|
|
24
|
+
* only reach custom host-executed tools, via the approval flow.
|
|
25
|
+
*
|
|
26
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
export declare const aiSdkHarnessAdapter: import("./types.js").IHarnessAdapter;
|
|
30
|
+
//# sourceMappingURL=aiSdkHarness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiSdkHarness.d.ts","sourceRoot":"","sources":["../../src/harness/aiSdkHarness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,eAAO,MAAM,mBAAmB,sCAqB9B,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* aiSdkHarness.ts — Vercel `@ai-sdk/harness` adapter (env-file config,
|
|
3
|
+
* SDK-side gate).
|
|
4
|
+
*
|
|
5
|
+
* Same shape as mastra.ts/vercelAiSdk.ts (see jsSdkGatedAdapter.ts), for
|
|
6
|
+
* Vercel's sandboxed coding-agent runtime (`HarnessAgent`): detected via
|
|
7
|
+
* `@ai-sdk/harness` itself, any `@ai-sdk/harness-*` runtime adapter
|
|
8
|
+
* (harness-claude-code, harness-grok-build, ...), or any `@ai-sdk/sandbox-*`
|
|
9
|
+
* provider in `package.json` — each family independently signals the
|
|
10
|
+
* framework, hence `requiresAnyPrefix` rather than a single required package.
|
|
11
|
+
*
|
|
12
|
+
* TWO DOCUMENTED LIMITATIONS carried into the generated `.env.intutic`
|
|
13
|
+
* (both confirmed against `@ai-sdk/harness@1.0.75`'s shipped types — see
|
|
14
|
+
* `@intutic/gate/harness`'s module doc for the full record):
|
|
15
|
+
*
|
|
16
|
+
* 1. Tool execution is SERVER-SIDE, in Vercel Sandbox microVMs — the
|
|
17
|
+
* local Intutic proxy never sees sandbox egress, so the written
|
|
18
|
+
* base-URL vars govern only LLM calls the CALLER's own process makes.
|
|
19
|
+
* Egress governance for the sandbox itself is the sandbox's own
|
|
20
|
+
* network policy (coarse, host-level), recommended via
|
|
21
|
+
* `recommendedHarnessSettings()`.
|
|
22
|
+
* 2. Built-in sandbox tools (read/write/edit/bash/...) are governed only
|
|
23
|
+
* by `permissionMode`, which DEFAULTS to `'allow-all'` — the gate can
|
|
24
|
+
* only reach custom host-executed tools, via the approval flow.
|
|
25
|
+
*
|
|
26
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
import { HarnessType } from '@intutic/shared-types';
|
|
30
|
+
import { makeJsSdkGatedAdapter } from './jsSdkGatedAdapter.js';
|
|
31
|
+
export const aiSdkHarnessAdapter = makeJsSdkGatedAdapter({
|
|
32
|
+
type: HarnessType.AI_SDK_HARNESS,
|
|
33
|
+
label: 'AI SDK Harness',
|
|
34
|
+
requires: [],
|
|
35
|
+
requiresAnyPrefix: ['@ai-sdk/harness', '@ai-sdk/sandbox-'],
|
|
36
|
+
npmInstall: '@intutic/gate',
|
|
37
|
+
envPreamble: [
|
|
38
|
+
'These env vars govern LLM egress from THIS process only. AI SDK Harness',
|
|
39
|
+
'agents execute their tools server-side in Vercel Sandbox microVMs — that',
|
|
40
|
+
'traffic never crosses this proxy, and no config or hook file can gate the',
|
|
41
|
+
'sandbox from here. The blocking tool gate (custom host-executed tools',
|
|
42
|
+
'only) ships SDK-side:',
|
|
43
|
+
],
|
|
44
|
+
importLine: "import { intuticApprovalResponder, intuticStaticApprovals, recommendedHarnessSettings } from '@intutic/gate/harness'",
|
|
45
|
+
usageSummary: "toolApproval: intuticStaticApprovals(tools) routes every custom tool through the approval flow; " +
|
|
46
|
+
'answer pauses with intuticApprovalResponder(). NOTE: built-in sandbox tools ignore toolApproval ' +
|
|
47
|
+
"entirely — set permissionMode (defaults to 'allow-all') via recommendedHarnessSettings(); sandbox " +
|
|
48
|
+
'egress never crosses this proxy — set a sandbox networkPolicy.',
|
|
49
|
+
docsSlug: 'ai-sdk-harness',
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=aiSdkHarness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiSdkHarness.js","sourceRoot":"","sources":["../../src/harness/aiSdkHarness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;IACvD,IAAI,EAAE,WAAW,CAAC,cAAc;IAChC,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,EAAE;IACZ,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAC1D,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE;QACX,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,uBAAuB;KACxB;IACD,UAAU,EACR,sHAAsH;IACxH,YAAY,EACV,kGAAkG;QAClG,kGAAkG;QAClG,oGAAoG;QACpG,gEAAgE;IAClE,QAAQ,EAAE,gBAAgB;CAC3B,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* aiSdkWorkflow.ts — Vercel `@ai-sdk/workflow` adapter (env-file config,
|
|
3
|
+
* SDK-side gate).
|
|
4
|
+
*
|
|
5
|
+
* Same shape as mastra.ts/vercelAiSdk.ts (see jsSdkGatedAdapter.ts), for
|
|
6
|
+
* Vercel's durable workflow-agent runtime (`WorkflowAgent`): detected via
|
|
7
|
+
* `@ai-sdk/workflow` in `package.json`. The unscoped `workflow` package
|
|
8
|
+
* (the Workflow DevKit runtime, `workflow`/`wf` CLI) is deliberately NOT a
|
|
9
|
+
* detection trigger on its own: the bare name is far too generic to treat as
|
|
10
|
+
* framework evidence (any package named "workflow" in any stack would
|
|
11
|
+
* false-positive), and the durable runtime without `@ai-sdk/workflow` has no
|
|
12
|
+
* WorkflowAgent — nothing this integration's gate applies to. A workspace
|
|
13
|
+
* with both declares `@ai-sdk/workflow` anyway, which is the trigger.
|
|
14
|
+
*
|
|
15
|
+
* DOCUMENTED SEMANTICS carried into the generated `.env.intutic` (confirmed
|
|
16
|
+
* against `@ai-sdk/workflow@1.0.69` + `workflow@4.8.3` — see
|
|
17
|
+
* `@intutic/gate/workflow`'s module doc for the full record): WorkflowAgent
|
|
18
|
+
* has no agent-level approval option; the veto surface is per-tool
|
|
19
|
+
* `needsApproval`, and a refusal thrown from it must be FatalError-compatible
|
|
20
|
+
* or the durable runtime RETRIES the denial toward max attempts.
|
|
21
|
+
*
|
|
22
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
23
|
+
* @module
|
|
24
|
+
*/
|
|
25
|
+
export declare const aiSdkWorkflowAdapter: import("./types.js").IHarnessAdapter;
|
|
26
|
+
//# sourceMappingURL=aiSdkWorkflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiSdkWorkflow.d.ts","sourceRoot":"","sources":["../../src/harness/aiSdkWorkflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,eAAO,MAAM,oBAAoB,sCAY/B,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* aiSdkWorkflow.ts — Vercel `@ai-sdk/workflow` adapter (env-file config,
|
|
3
|
+
* SDK-side gate).
|
|
4
|
+
*
|
|
5
|
+
* Same shape as mastra.ts/vercelAiSdk.ts (see jsSdkGatedAdapter.ts), for
|
|
6
|
+
* Vercel's durable workflow-agent runtime (`WorkflowAgent`): detected via
|
|
7
|
+
* `@ai-sdk/workflow` in `package.json`. The unscoped `workflow` package
|
|
8
|
+
* (the Workflow DevKit runtime, `workflow`/`wf` CLI) is deliberately NOT a
|
|
9
|
+
* detection trigger on its own: the bare name is far too generic to treat as
|
|
10
|
+
* framework evidence (any package named "workflow" in any stack would
|
|
11
|
+
* false-positive), and the durable runtime without `@ai-sdk/workflow` has no
|
|
12
|
+
* WorkflowAgent — nothing this integration's gate applies to. A workspace
|
|
13
|
+
* with both declares `@ai-sdk/workflow` anyway, which is the trigger.
|
|
14
|
+
*
|
|
15
|
+
* DOCUMENTED SEMANTICS carried into the generated `.env.intutic` (confirmed
|
|
16
|
+
* against `@ai-sdk/workflow@1.0.69` + `workflow@4.8.3` — see
|
|
17
|
+
* `@intutic/gate/workflow`'s module doc for the full record): WorkflowAgent
|
|
18
|
+
* has no agent-level approval option; the veto surface is per-tool
|
|
19
|
+
* `needsApproval`, and a refusal thrown from it must be FatalError-compatible
|
|
20
|
+
* or the durable runtime RETRIES the denial toward max attempts.
|
|
21
|
+
*
|
|
22
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
23
|
+
* @module
|
|
24
|
+
*/
|
|
25
|
+
import { HarnessType } from '@intutic/shared-types';
|
|
26
|
+
import { makeJsSdkGatedAdapter } from './jsSdkGatedAdapter.js';
|
|
27
|
+
export const aiSdkWorkflowAdapter = makeJsSdkGatedAdapter({
|
|
28
|
+
type: HarnessType.AI_SDK_WORKFLOW,
|
|
29
|
+
label: 'AI SDK Workflow',
|
|
30
|
+
requires: [{ name: '@ai-sdk/workflow' }],
|
|
31
|
+
npmInstall: '@intutic/gate',
|
|
32
|
+
importLine: "import { intuticNeedsApproval, withIntuticApproval } from '@intutic/gate/workflow'",
|
|
33
|
+
usageSummary: 'new WorkflowAgent({ ..., tools: withIntuticApproval(tools) }) — attaches an async needsApproval ' +
|
|
34
|
+
'per tool (WorkflowAgent itself has no approval option). BLOCK throws a FatalError-compatible ' +
|
|
35
|
+
'refusal so the durable runtime aborts instead of retry-looping the denial; ALLOW resolves ' +
|
|
36
|
+
"false (or true with { onAllow: 'human' } to keep the durable human-approval pause).",
|
|
37
|
+
docsSlug: 'ai-sdk-workflow',
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=aiSdkWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiSdkWorkflow.js","sourceRoot":"","sources":["../../src/harness/aiSdkWorkflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;IACxD,IAAI,EAAE,WAAW,CAAC,eAAe;IACjC,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACxC,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,oFAAoF;IAChG,YAAY,EACV,kGAAkG;QAClG,+FAA+F;QAC/F,4FAA4F;QAC5F,qFAAqF;IACvF,QAAQ,EAAE,iBAAiB;CAC5B,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autogen.ts — AutoGen adapter (env-file config, SDK-side gate).
|
|
3
|
+
*
|
|
4
|
+
* Same shape as langgraph.ts (see sdkGatedAdapter.ts). Detected via any of
|
|
5
|
+
* the `autogen-agentchat` / `autogen-core` / `autogen-ext` packages — any one
|
|
6
|
+
* present is treated as "AutoGen is here".
|
|
7
|
+
*
|
|
8
|
+
* The blocking gate ships SDK-side via
|
|
9
|
+
* `intutic_clawde.gate.adapters.autogen.IntuticInterventionHandler`, an
|
|
10
|
+
* `autogen_core.InterventionHandler.on_send` — verified live against
|
|
11
|
+
* autogen-core==0.7.5 by driving a real `SingleThreadedAgentRuntime` end to
|
|
12
|
+
* end. IMPORTANT, documented in that module's own doc: `on_send` only sees
|
|
13
|
+
* `FunctionCall` messages explicitly routed through
|
|
14
|
+
* `runtime.send_message`/`publish_message` — `AssistantAgent`'s own tool
|
|
15
|
+
* calls never go through the runtime at all, so for `AssistantAgent`-based
|
|
16
|
+
* code the framework-agnostic `@guard`/`guard_tools` helpers (governing the
|
|
17
|
+
* tool objects directly) remain the applicable coverage, same as before this
|
|
18
|
+
* adapter existed (see TD-374).
|
|
19
|
+
*
|
|
20
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
21
|
+
* @module
|
|
22
|
+
*/
|
|
23
|
+
export declare const autogenAdapter: import("./types.js").IHarnessAdapter;
|
|
24
|
+
//# sourceMappingURL=autogen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autogen.d.ts","sourceRoot":"","sources":["../../src/harness/autogen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,eAAO,MAAM,cAAc,sCAWzB,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autogen.ts — AutoGen adapter (env-file config, SDK-side gate).
|
|
3
|
+
*
|
|
4
|
+
* Same shape as langgraph.ts (see sdkGatedAdapter.ts). Detected via any of
|
|
5
|
+
* the `autogen-agentchat` / `autogen-core` / `autogen-ext` packages — any one
|
|
6
|
+
* present is treated as "AutoGen is here".
|
|
7
|
+
*
|
|
8
|
+
* The blocking gate ships SDK-side via
|
|
9
|
+
* `intutic_clawde.gate.adapters.autogen.IntuticInterventionHandler`, an
|
|
10
|
+
* `autogen_core.InterventionHandler.on_send` — verified live against
|
|
11
|
+
* autogen-core==0.7.5 by driving a real `SingleThreadedAgentRuntime` end to
|
|
12
|
+
* end. IMPORTANT, documented in that module's own doc: `on_send` only sees
|
|
13
|
+
* `FunctionCall` messages explicitly routed through
|
|
14
|
+
* `runtime.send_message`/`publish_message` — `AssistantAgent`'s own tool
|
|
15
|
+
* calls never go through the runtime at all, so for `AssistantAgent`-based
|
|
16
|
+
* code the framework-agnostic `@guard`/`guard_tools` helpers (governing the
|
|
17
|
+
* tool objects directly) remain the applicable coverage, same as before this
|
|
18
|
+
* adapter existed (see TD-374).
|
|
19
|
+
*
|
|
20
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
21
|
+
* @module
|
|
22
|
+
*/
|
|
23
|
+
import { HarnessType } from '@intutic/shared-types';
|
|
24
|
+
import { makeSdkGatedAdapter } from './sdkGatedAdapter.js';
|
|
25
|
+
export const autogenAdapter = makeSdkGatedAdapter({
|
|
26
|
+
type: HarnessType.AUTOGEN,
|
|
27
|
+
label: 'AutoGen',
|
|
28
|
+
keywords: ['autogen-agentchat', 'autogen-core', 'autogen-ext'],
|
|
29
|
+
pipInstall: 'intutic-clawde[autogen]',
|
|
30
|
+
importLine: 'from intutic_clawde.gate.adapters.autogen import IntuticInterventionHandler',
|
|
31
|
+
usageSummary: 'IntuticInterventionHandler vetoes a runtime-routed FunctionCall via on_send (see TD-374: ' +
|
|
32
|
+
'invisible to AssistantAgent\'s own tool calls — wrap those tools with @guard/guard_tools ' +
|
|
33
|
+
'instead).',
|
|
34
|
+
docsSlug: 'autogen',
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=autogen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autogen.js","sourceRoot":"","sources":["../../src/harness/autogen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;IAChD,IAAI,EAAE,WAAW,CAAC,OAAO;IACzB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,aAAa,CAAC;IAC9D,UAAU,EAAE,yBAAyB;IACrC,UAAU,EAAE,6EAA6E;IACzF,YAAY,EACV,2FAA2F;QAC3F,2FAA2F;QAC3F,WAAW;IACb,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAA"}
|
package/dist/harness/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/harness/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/harness/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,uDAAuD;AACvD,SAAS,WAAW;IAClB,OAAO;QACL,6CAA6C;QAC7C,gDAAgD;QAChD,gBAAgB,MAAM,EAAE,EAAE;QAC1B,EAAE;QACF,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,IAAoB,EAAE,QAAgB;IACzE,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;IAC5B,MAAM,YAAY,GAAG,sBAAsB,QAAQ,QAAQ,CAAA;IAC3D,MAAM,WAAW,GAAG,IAAI;SACrB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,IAAI,CAAC,aAAa,CAAC,CAAA;IACtB,OAAO,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAiB,EACjB,cAAsB;IAEtB,OAAO;QACL,IAAI;QACJ,cAAc;QAEd,KAAK,CAAC,MAAM,CAAC,aAAqB;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;gBACjD,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,IAAoB,EAAE,QAAgB;YAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAA;YACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACpD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC/B,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,aAAqB;YACzC,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue.d.ts","sourceRoot":"","sources":["../../src/harness/continue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AASjD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"continue.d.ts","sourceRoot":"","sources":["../../src/harness/continue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AASjD,eAAO,MAAM,eAAe,EAAE,eAiE7B,CAAA"}
|
package/dist/harness/continue.js
CHANGED
|
@@ -40,7 +40,8 @@ export const continueAdapter = {
|
|
|
40
40
|
},
|
|
41
41
|
async writeConfig(_workspaceRoot, _sops, proxyUrl) {
|
|
42
42
|
// Merge apiBase into each model entry in config.yaml
|
|
43
|
-
|
|
43
|
+
// Both branches below assign, so an initialiser here would always be dead.
|
|
44
|
+
let raw;
|
|
44
45
|
try {
|
|
45
46
|
raw = await readFile(CONFIG_YAML, 'utf-8');
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue.js","sourceRoot":"","sources":["../../src/harness/continue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;AACtB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AACrD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,cAAc,EAAE,WAAW;IAE3B,KAAK,CAAC,MAAM,CAAC,cAAsB;QACjC,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,OAAO,IAAI,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;YAClE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,KAAqB,EAAE,QAAgB;QAC/E,qDAAqD;QACrD,IAAI,
|
|
1
|
+
{"version":3,"file":"continue.js","sourceRoot":"","sources":["../../src/harness/continue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* crewai.ts — CrewAI adapter (env-file config, SDK-side gate).
|
|
3
|
+
*
|
|
4
|
+
* Same shape as langgraph.ts (see sdkGatedAdapter.ts). CrewAI tools are
|
|
5
|
+
* plain callables/CrewStructuredTool instances in the agent's own process —
|
|
6
|
+
* no on-disk hook/config file exists to gate a call, so the blocking gate
|
|
7
|
+
* ships SDK-side via `intutic_clawde.gate.adapters.crewai.install()`, which
|
|
8
|
+
* registers a `before_tool_call` hook (CrewAI's own documented interception
|
|
9
|
+
* point — verified live against crewai==1.15.16).
|
|
10
|
+
*
|
|
11
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
export declare const crewaiAdapter: import("./types.js").IHarnessAdapter;
|
|
15
|
+
//# sourceMappingURL=crewai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../src/harness/crewai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,eAAO,MAAM,aAAa,sCAUxB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* crewai.ts — CrewAI adapter (env-file config, SDK-side gate).
|
|
3
|
+
*
|
|
4
|
+
* Same shape as langgraph.ts (see sdkGatedAdapter.ts). CrewAI tools are
|
|
5
|
+
* plain callables/CrewStructuredTool instances in the agent's own process —
|
|
6
|
+
* no on-disk hook/config file exists to gate a call, so the blocking gate
|
|
7
|
+
* ships SDK-side via `intutic_clawde.gate.adapters.crewai.install()`, which
|
|
8
|
+
* registers a `before_tool_call` hook (CrewAI's own documented interception
|
|
9
|
+
* point — verified live against crewai==1.15.16).
|
|
10
|
+
*
|
|
11
|
+
* HLD §3.14 — Harness Onboarding Matrix
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { HarnessType } from '@intutic/shared-types';
|
|
15
|
+
import { makeSdkGatedAdapter } from './sdkGatedAdapter.js';
|
|
16
|
+
export const crewaiAdapter = makeSdkGatedAdapter({
|
|
17
|
+
type: HarnessType.CREWAI,
|
|
18
|
+
label: 'CrewAI',
|
|
19
|
+
keywords: ['crewai'],
|
|
20
|
+
pipInstall: 'intutic-clawde[crewai]',
|
|
21
|
+
importLine: 'from intutic_clawde.gate.adapters.crewai import install',
|
|
22
|
+
usageSummary: 'install() registers a before_tool_call hook that refuses denied calls before the ' +
|
|
23
|
+
'tool body runs.',
|
|
24
|
+
docsSlug: 'crewai',
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=crewai.js.map
|