agent-devkit 0.2.0 → 0.3.1

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.
Files changed (177) hide show
  1. package/README.md +66 -13
  2. package/bin/agent.mjs +133 -7
  3. package/package.json +1 -1
  4. package/runtime/README.md +205 -13
  5. package/runtime/agent +31 -5
  6. package/runtime/agents/README.md +18 -0
  7. package/runtime/agents/contribution-reviewer/AGENTS.md +8 -0
  8. package/runtime/agents/contribution-reviewer/README.md +8 -0
  9. package/runtime/agents/contribution-reviewer/agent.yaml +40 -0
  10. package/runtime/agents/contribution-reviewer/capabilities/plan-contribution-pr/capability.yaml +27 -0
  11. package/runtime/agents/contribution-reviewer/capabilities/plan-contribution-pr/decision-rules.md +5 -0
  12. package/runtime/agents/contribution-reviewer/capabilities/plan-contribution-pr/workflow.md +6 -0
  13. package/runtime/agents/contribution-reviewer/capabilities/review-contribution/capability.yaml +25 -0
  14. package/runtime/agents/contribution-reviewer/capabilities/review-contribution/decision-rules.md +5 -0
  15. package/runtime/agents/contribution-reviewer/capabilities/review-contribution/workflow.md +5 -0
  16. package/runtime/agents/contribution-reviewer/capabilities/validate-local-contribution/capability.yaml +26 -0
  17. package/runtime/agents/contribution-reviewer/capabilities/validate-local-contribution/decision-rules.md +5 -0
  18. package/runtime/agents/contribution-reviewer/capabilities/validate-local-contribution/workflow.md +6 -0
  19. package/runtime/agents/contribution-reviewer/infra/README.md +6 -0
  20. package/runtime/agents/contribution-reviewer/knowledge/context.md +8 -0
  21. package/runtime/agents/contribution-reviewer/knowledge/system.md +8 -0
  22. package/runtime/agents/contribution-reviewer/templates/README.md +3 -0
  23. package/runtime/agents/knowledge-author/AGENTS.md +7 -0
  24. package/runtime/agents/knowledge-author/README.md +7 -0
  25. package/runtime/agents/knowledge-author/agent.yaml +37 -0
  26. package/runtime/agents/knowledge-author/capabilities/create-knowledge-snapshot/capability.yaml +30 -0
  27. package/runtime/agents/knowledge-author/capabilities/create-knowledge-snapshot/decision-rules.md +6 -0
  28. package/runtime/agents/knowledge-author/capabilities/create-knowledge-snapshot/workflow.md +7 -0
  29. package/runtime/agents/knowledge-author/infra/.gitkeep +1 -0
  30. package/runtime/agents/knowledge-author/knowledge/context.md +4 -0
  31. package/runtime/agents/knowledge-author/knowledge/system.md +4 -0
  32. package/runtime/agents/knowledge-author/templates/.gitkeep +1 -0
  33. package/runtime/agents/knowledge-curator/AGENTS.md +7 -0
  34. package/runtime/agents/knowledge-curator/README.md +6 -0
  35. package/runtime/agents/knowledge-curator/agent.yaml +37 -0
  36. package/runtime/agents/knowledge-curator/capabilities/curate-knowledge-base/capability.yaml +29 -0
  37. package/runtime/agents/knowledge-curator/capabilities/curate-knowledge-base/decision-rules.md +6 -0
  38. package/runtime/agents/knowledge-curator/capabilities/curate-knowledge-base/workflow.md +7 -0
  39. package/runtime/agents/knowledge-curator/infra/.gitkeep +1 -0
  40. package/runtime/agents/knowledge-curator/knowledge/context.md +4 -0
  41. package/runtime/agents/knowledge-curator/knowledge/system.md +4 -0
  42. package/runtime/agents/knowledge-curator/templates/.gitkeep +1 -0
  43. package/runtime/agents/knowledge-infra-builder/AGENTS.md +8 -0
  44. package/runtime/agents/knowledge-infra-builder/README.md +8 -0
  45. package/runtime/agents/knowledge-infra-builder/agent.yaml +38 -0
  46. package/runtime/agents/knowledge-infra-builder/capabilities/create-knowledge-base/capability.yaml +30 -0
  47. package/runtime/agents/knowledge-infra-builder/capabilities/create-knowledge-base/decision-rules.md +6 -0
  48. package/runtime/agents/knowledge-infra-builder/capabilities/create-knowledge-base/workflow.md +7 -0
  49. package/runtime/agents/knowledge-infra-builder/infra/.gitkeep +1 -0
  50. package/runtime/agents/knowledge-infra-builder/knowledge/context.md +4 -0
  51. package/runtime/agents/knowledge-infra-builder/knowledge/system.md +4 -0
  52. package/runtime/agents/knowledge-infra-builder/templates/.gitkeep +1 -0
  53. package/runtime/agents/knowledge-owner/AGENTS.md +7 -0
  54. package/runtime/agents/knowledge-owner/README.md +6 -0
  55. package/runtime/agents/knowledge-owner/agent.yaml +37 -0
  56. package/runtime/agents/knowledge-owner/capabilities/publish-knowledge-snapshot/capability.yaml +28 -0
  57. package/runtime/agents/knowledge-owner/capabilities/publish-knowledge-snapshot/decision-rules.md +6 -0
  58. package/runtime/agents/knowledge-owner/capabilities/publish-knowledge-snapshot/workflow.md +7 -0
  59. package/runtime/agents/knowledge-owner/infra/.gitkeep +1 -0
  60. package/runtime/agents/knowledge-owner/knowledge/context.md +4 -0
  61. package/runtime/agents/knowledge-owner/knowledge/system.md +4 -0
  62. package/runtime/agents/knowledge-owner/templates/.gitkeep +1 -0
  63. package/runtime/agents/knowledge-reviewer/AGENTS.md +7 -0
  64. package/runtime/agents/knowledge-reviewer/README.md +7 -0
  65. package/runtime/agents/knowledge-reviewer/agent.yaml +36 -0
  66. package/runtime/agents/knowledge-reviewer/capabilities/review-knowledge-snapshot/capability.yaml +26 -0
  67. package/runtime/agents/knowledge-reviewer/capabilities/review-knowledge-snapshot/decision-rules.md +6 -0
  68. package/runtime/agents/knowledge-reviewer/capabilities/review-knowledge-snapshot/workflow.md +7 -0
  69. package/runtime/agents/knowledge-reviewer/infra/.gitkeep +1 -0
  70. package/runtime/agents/knowledge-reviewer/knowledge/context.md +4 -0
  71. package/runtime/agents/knowledge-reviewer/knowledge/system.md +4 -0
  72. package/runtime/agents/knowledge-reviewer/templates/.gitkeep +1 -0
  73. package/runtime/agents/local-memory-manager/AGENTS.md +5 -0
  74. package/runtime/agents/local-memory-manager/README.md +7 -0
  75. package/runtime/agents/local-memory-manager/agent.yaml +38 -0
  76. package/runtime/agents/local-memory-manager/capabilities/curate-local-memory/capability.yaml +19 -0
  77. package/runtime/agents/local-memory-manager/capabilities/curate-local-memory/decision-rules.md +5 -0
  78. package/runtime/agents/local-memory-manager/capabilities/curate-local-memory/workflow.md +6 -0
  79. package/runtime/agents/local-memory-manager/capabilities/inspect-local-memory/capability.yaml +19 -0
  80. package/runtime/agents/local-memory-manager/capabilities/inspect-local-memory/decision-rules.md +5 -0
  81. package/runtime/agents/local-memory-manager/capabilities/inspect-local-memory/workflow.md +5 -0
  82. package/runtime/agents/local-memory-manager/infra/.gitkeep +1 -0
  83. package/runtime/agents/local-memory-manager/knowledge/context.md +4 -0
  84. package/runtime/agents/local-memory-manager/knowledge/system.md +4 -0
  85. package/runtime/agents/local-memory-manager/templates/.gitkeep +1 -0
  86. package/runtime/agents/memory-sync-manager/AGENTS.md +7 -0
  87. package/runtime/agents/memory-sync-manager/README.md +7 -0
  88. package/runtime/agents/memory-sync-manager/agent.yaml +37 -0
  89. package/runtime/agents/memory-sync-manager/capabilities/plan-memory-backup/capability.yaml +29 -0
  90. package/runtime/agents/memory-sync-manager/capabilities/plan-memory-backup/decision-rules.md +6 -0
  91. package/runtime/agents/memory-sync-manager/capabilities/plan-memory-backup/workflow.md +7 -0
  92. package/runtime/agents/memory-sync-manager/infra/.gitkeep +1 -0
  93. package/runtime/agents/memory-sync-manager/knowledge/context.md +4 -0
  94. package/runtime/agents/memory-sync-manager/knowledge/system.md +4 -0
  95. package/runtime/agents/memory-sync-manager/templates/.gitkeep +1 -0
  96. package/runtime/agents/shared-memory-curator/AGENTS.md +5 -0
  97. package/runtime/agents/shared-memory-curator/README.md +6 -0
  98. package/runtime/agents/shared-memory-curator/agent.yaml +38 -0
  99. package/runtime/agents/shared-memory-curator/capabilities/create-shared-memory/capability.yaml +19 -0
  100. package/runtime/agents/shared-memory-curator/capabilities/create-shared-memory/decision-rules.md +5 -0
  101. package/runtime/agents/shared-memory-curator/capabilities/create-shared-memory/workflow.md +5 -0
  102. package/runtime/agents/shared-memory-curator/capabilities/publish-shared-submission/capability.yaml +19 -0
  103. package/runtime/agents/shared-memory-curator/capabilities/publish-shared-submission/decision-rules.md +5 -0
  104. package/runtime/agents/shared-memory-curator/capabilities/publish-shared-submission/workflow.md +5 -0
  105. package/runtime/agents/shared-memory-curator/capabilities/review-shared-submission/capability.yaml +19 -0
  106. package/runtime/agents/shared-memory-curator/capabilities/review-shared-submission/decision-rules.md +5 -0
  107. package/runtime/agents/shared-memory-curator/capabilities/review-shared-submission/workflow.md +5 -0
  108. package/runtime/agents/shared-memory-curator/infra/.gitkeep +1 -0
  109. package/runtime/agents/shared-memory-curator/knowledge/context.md +5 -0
  110. package/runtime/agents/shared-memory-curator/knowledge/system.md +4 -0
  111. package/runtime/agents/shared-memory-curator/templates/.gitkeep +1 -0
  112. package/runtime/cli/README.md +47 -8
  113. package/runtime/cli/aikit/__init__.py +1 -1
  114. package/runtime/cli/aikit/agent_registry.py +4 -2
  115. package/runtime/cli/aikit/agentic_commands.py +158 -0
  116. package/runtime/cli/aikit/app_home.py +2 -0
  117. package/runtime/cli/aikit/audit.py +16 -6
  118. package/runtime/cli/aikit/catalog.py +278 -8
  119. package/runtime/cli/aikit/cli_dispatch.py +489 -13
  120. package/runtime/cli/aikit/cli_parser.py +146 -8
  121. package/runtime/cli/aikit/contribution.py +132 -2
  122. package/runtime/cli/aikit/doctor_runtime.py +85 -0
  123. package/runtime/cli/aikit/embedded_mini_brain.py +351 -0
  124. package/runtime/cli/aikit/eval.py +356 -10
  125. package/runtime/cli/aikit/human_output.py +310 -4
  126. package/runtime/cli/aikit/interactive_wizard.py +146 -0
  127. package/runtime/cli/aikit/knowledge_base.py +1067 -0
  128. package/runtime/cli/aikit/llm.py +40 -6
  129. package/runtime/cli/aikit/local_artifacts.py +444 -0
  130. package/runtime/cli/aikit/local_llm.py +176 -0
  131. package/runtime/cli/aikit/local_llm_operator.py +15 -5
  132. package/runtime/cli/aikit/main.py +15 -0
  133. package/runtime/cli/aikit/mcp_manifest.py +798 -0
  134. package/runtime/cli/aikit/mcp_tools.py +643 -5
  135. package/runtime/cli/aikit/memory.py +405 -0
  136. package/runtime/cli/aikit/mini_brain.py +56 -25
  137. package/runtime/cli/aikit/model_router.py +42 -9
  138. package/runtime/cli/aikit/natural_prompt_runtime.py +194 -2
  139. package/runtime/cli/aikit/ollama.py +64 -15
  140. package/runtime/cli/aikit/onboarding.py +551 -0
  141. package/runtime/cli/aikit/output.py +67 -0
  142. package/runtime/cli/aikit/prompt_injection.py +12 -1
  143. package/runtime/cli/aikit/review_gate.py +14 -2
  144. package/runtime/cli/aikit/roadmap_cli.py +1 -1
  145. package/runtime/cli/aikit/secrets.py +3 -2
  146. package/runtime/cli/aikit/setup_wizard_payload.py +3 -0
  147. package/runtime/cli/aikit/shared_memory.py +415 -0
  148. package/runtime/cli/aikit/specialist_readiness.py +152 -0
  149. package/runtime/cli/aikit/tasks.py +104 -1
  150. package/runtime/cli/aikit/team.py +380 -0
  151. package/runtime/cli/aikit/toolchain.py +7 -2
  152. package/runtime/cli/aikit/workflows.py +115 -14
  153. package/runtime/models/qwen2.5-0.5b-instruct/manifest.json +30 -0
  154. package/runtime/providers/knowledge-github.yaml +40 -0
  155. package/runtime/providers/knowledge-google-drive.yaml +32 -0
  156. package/runtime/providers/knowledge-local.yaml +26 -0
  157. package/runtime/providers/knowledge-notion.yaml +32 -0
  158. package/runtime/providers/knowledge-obsidian.yaml +24 -0
  159. package/runtime/providers/knowledge-onedrive.yaml +36 -0
  160. package/runtime/providers/knowledge-s3.yaml +45 -0
  161. package/runtime/providers/knowledge-sharepoint.yaml +39 -0
  162. package/runtime/providers/knowledge-supabase.yaml +43 -0
  163. package/runtime/providers/knowledge-vector.yaml +39 -0
  164. package/runtime/requirements.txt +6 -0
  165. package/runtime/scripts/docker-cli-qa.sh +453 -0
  166. package/runtime/scripts/release-catalog-snapshot.json +55 -4
  167. package/runtime/scripts/release-gate.py +54 -13
  168. package/runtime/tooling/toolchain.yaml +92 -0
  169. package/runtime/vendor/skills/napkin/napkin.md +21 -7
  170. package/runtime/workflows/azure-card-analysis/README.md +3 -0
  171. package/runtime/workflows/azure-card-analysis/workflow.yaml +30 -0
  172. package/runtime/workflows/daily-pr-review/README.md +3 -0
  173. package/runtime/workflows/daily-pr-review/workflow.yaml +31 -0
  174. package/runtime/workflows/incident-analysis/README.md +3 -0
  175. package/runtime/workflows/incident-analysis/workflow.yaml +33 -0
  176. package/runtime/workflows/release-prep/README.md +3 -0
  177. package/runtime/workflows/release-prep/workflow.yaml +30 -0
@@ -2,9 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from pathlib import Path
5
6
  from typing import Any
6
7
 
7
- from cli.aikit.tasks import create_task
8
+ from cli.aikit.runtime_paths import ROOT
9
+ from cli.aikit.tasks import create_task, load_tasks, run_task
8
10
 
9
11
 
10
12
  WORKFLOW_SCHEMA_VERSION = "agent-devkit.workflows/v1"
@@ -28,22 +30,23 @@ BUILTIN_WORKFLOWS: dict[str, dict[str, Any]] = {
28
30
  }
29
31
 
30
32
 
31
- def workflow_list() -> dict[str, Any]:
33
+ def workflow_list(root: Path | None = None) -> dict[str, Any]:
34
+ workflows = load_workflows(root or ROOT)
32
35
  return {
33
36
  "kind": "workflows",
34
37
  "schema_version": WORKFLOW_SCHEMA_VERSION,
35
38
  "status": "ok",
36
- "items": [public_workflow(item) for item in BUILTIN_WORKFLOWS.values()],
39
+ "items": [public_workflow(item) for item in workflows.values()],
37
40
  }
38
41
 
39
42
 
40
- def workflow_show(workflow_id: str) -> dict[str, Any]:
41
- workflow = require_workflow(workflow_id)
43
+ def workflow_show(workflow_id: str, root: Path | None = None) -> dict[str, Any]:
44
+ workflow = require_workflow(workflow_id, root=root)
42
45
  return {"kind": "workflow", "schema_version": WORKFLOW_SCHEMA_VERSION, "status": "ok", "workflow": public_workflow(workflow)}
43
46
 
44
47
 
45
- def workflow_install(workflow_id: str, *, dry_run: bool = True, yes: bool = False) -> dict[str, Any]:
46
- workflow = require_workflow(workflow_id)
48
+ def workflow_install(workflow_id: str, *, dry_run: bool = True, yes: bool = False, root: Path | None = None) -> dict[str, Any]:
49
+ workflow = require_workflow(workflow_id, root=root)
47
50
  mode = "dry-run" if dry_run or not yes else "apply"
48
51
  task = workflow["task"]
49
52
  plan = {
@@ -85,20 +88,67 @@ def workflow_install(workflow_id: str, *, dry_run: bool = True, yes: bool = Fals
85
88
  }
86
89
 
87
90
 
88
- def workflow_run(workflow_id: str, *, dry_run: bool = True) -> dict[str, Any]:
89
- workflow = require_workflow(workflow_id)
91
+ def workflow_run(workflow_id: str, *, dry_run: bool = True, root: Path | None = None) -> dict[str, Any]:
92
+ workflow = require_workflow(workflow_id, root=root)
93
+ task = workflow["task"]
94
+ plan = {
95
+ "task": {
96
+ "id": workflow["id"],
97
+ "title": task["title"],
98
+ "schedule": workflow["schedule"],
99
+ "action": task["action"],
100
+ "permissions": task["permissions"],
101
+ "notifications": task["notifications"],
102
+ },
103
+ "writes": ["local task registry", "task history"] if not dry_run else [],
104
+ "stores_secret": False,
105
+ }
106
+ if dry_run:
107
+ return {
108
+ "kind": "workflow-run",
109
+ "schema_version": WORKFLOW_SCHEMA_VERSION,
110
+ "status": "planned",
111
+ "dry_run": True,
112
+ "workflow": public_workflow(workflow),
113
+ "plan": plan,
114
+ "next_steps": [f"Run `agent workflow run {workflow['id']} --yes` to execute through the local task runtime."],
115
+ }
116
+ installed = ensure_workflow_task(workflow)
117
+ task_run = run_task(workflow["id"], dry_run=False, origin="workflow")
90
118
  return {
91
119
  "kind": "workflow-run",
92
120
  "schema_version": WORKFLOW_SCHEMA_VERSION,
93
- "status": "planned" if dry_run else "blocked",
94
- "dry_run": dry_run,
121
+ "status": task_run.get("status") or "failed",
122
+ "ok": task_run.get("ok") is True,
123
+ "dry_run": False,
95
124
  "workflow": public_workflow(workflow),
96
- "message": "Workflow MVP runs through installed tasks; use workflow install first.",
125
+ "task_installed": installed,
126
+ "task_run": task_run,
127
+ "exit_code": task_run.get("exit_code"),
97
128
  }
98
129
 
99
130
 
100
- def require_workflow(workflow_id: str) -> dict[str, Any]:
101
- workflow = BUILTIN_WORKFLOWS.get(workflow_id or "")
131
+ def ensure_workflow_task(workflow: dict[str, Any]) -> bool:
132
+ task_id = workflow["id"]
133
+ data = load_tasks()
134
+ for item in data.get("tasks") or []:
135
+ if isinstance(item, dict) and item.get("id") == task_id:
136
+ return False
137
+ task = workflow["task"]
138
+ create_task(
139
+ task_id=task_id,
140
+ title=task["title"],
141
+ prompt=task["prompt"],
142
+ schedule=workflow["schedule"],
143
+ action=task["action"],
144
+ permissions=task["permissions"],
145
+ notifications=task["notifications"],
146
+ )
147
+ return True
148
+
149
+
150
+ def require_workflow(workflow_id: str, root: Path | None = None) -> dict[str, Any]:
151
+ workflow = load_workflows(root or ROOT).get(workflow_id or "")
102
152
  if not workflow:
103
153
  raise ValueError(f"workflow not found: {workflow_id}")
104
154
  return workflow
@@ -112,4 +162,55 @@ def public_workflow(workflow: dict[str, Any]) -> dict[str, Any]:
112
162
  "schedule": workflow["schedule"],
113
163
  "write_policy": workflow["write_policy"],
114
164
  "stores_secret": False,
165
+ "providers_required": workflow.get("providers") or workflow.get("providers_required") or [],
166
+ "permissions": workflow.get("permissions") or {},
167
+ "outputs": workflow.get("outputs") or [],
168
+ "risks": workflow.get("risks") or [],
169
+ "examples": workflow.get("examples") or [],
170
+ "path": workflow.get("path"),
171
+ }
172
+
173
+
174
+ def load_workflows(root: Path) -> dict[str, dict[str, Any]]:
175
+ workflows = dict(BUILTIN_WORKFLOWS)
176
+ workflows_dir = root / "workflows"
177
+ if not workflows_dir.exists():
178
+ return workflows
179
+ for manifest in sorted(workflows_dir.glob("*/workflow.yaml")):
180
+ item = load_workflow_manifest(manifest)
181
+ if item:
182
+ workflows[item["id"]] = item
183
+ return workflows
184
+
185
+
186
+ def load_workflow_manifest(path: Path) -> dict[str, Any] | None:
187
+ try:
188
+ import yaml # type: ignore
189
+ except ImportError:
190
+ return None
191
+ try:
192
+ data = yaml.safe_load(path.read_text(encoding="utf-8")) or {}
193
+ except (OSError, ValueError):
194
+ return None
195
+ if not isinstance(data, dict) or not data.get("id"):
196
+ return None
197
+ workflow = dict(data)
198
+ workflow.setdefault("title", str(workflow["id"]))
199
+ workflow.setdefault("description", "")
200
+ workflow.setdefault("schedule", {"type": "manual"})
201
+ workflow.setdefault("permissions", {"mode": "report-only"})
202
+ workflow.setdefault("write_policy", "local_config_write")
203
+ workflow.setdefault("task", default_task(workflow))
204
+ workflow["path"] = str(path)
205
+ return workflow
206
+
207
+
208
+ def default_task(workflow: dict[str, Any]) -> dict[str, Any]:
209
+ prompt = str(workflow.get("description") or workflow.get("title") or workflow.get("id"))
210
+ return {
211
+ "title": workflow.get("title") or workflow.get("id"),
212
+ "prompt": prompt,
213
+ "action": {"type": "prompt", "prompt": prompt, "external_writes": False},
214
+ "permissions": workflow.get("permissions") or {"mode": "report-only"},
215
+ "notifications": [{"type": "desktop", "events": ["task.completed", "task.blocked"]}],
115
216
  }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schema_version": "agent-devkit.embedded-model/v1",
3
+ "model_id": "Qwen/Qwen2.5-0.5B-Instruct",
4
+ "model_name": "qwen2.5-0.5b-instruct",
5
+ "artifact": {
6
+ "filename": "qwen2.5-0.5b-instruct-q2_k.gguf",
7
+ "format": "gguf",
8
+ "quantization": "q2_k",
9
+ "size_bytes": 415182688,
10
+ "sha256": "9ee36184e616dfc76df4f5dd66f908dbde6979524ae36e6cefb67f532f798cb8",
11
+ "source": "https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct-GGUF/resolve/main/qwen2.5-0.5b-instruct-q2_k.gguf"
12
+ },
13
+ "provider": "embedded-mini-brain",
14
+ "license": "apache-2.0",
15
+ "runtime": "llama-cpp-python",
16
+ "purpose": [
17
+ "setup_help",
18
+ "wizard_conversation",
19
+ "intent_classification",
20
+ "command_explanation",
21
+ "short_error_summary"
22
+ ],
23
+ "guardrails": [
24
+ "no_secrets",
25
+ "low_risk_only",
26
+ "no_external_writes",
27
+ "coordinator_review_required"
28
+ ],
29
+ "notes": "This manifest declares the embedded mini-brain artifact downloaded on demand into .agent-devkit/models. Ollama remains an optional local worker pool for additional models."
30
+ }
@@ -0,0 +1,40 @@
1
+ id: knowledge-github
2
+ name: Knowledge GitHub
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider GitHub para versionar knowledge bases file-first em repositorios remotos.
6
+ auth_methods:
7
+ - id: gh-auth
8
+ label: GitHub CLI auth
9
+ native: true
10
+ secret_fields: []
11
+ - id: token
12
+ label: GitHub token
13
+ secret_fields:
14
+ - GITHUB_TOKEN
15
+ config_fields:
16
+ - name: GITHUB_TOKEN
17
+ required: false
18
+ secret: true
19
+ - name: GITHUB_REPOSITORY
20
+ required: false
21
+ secret: false
22
+ - name: AGENT_DEVKIT_KNOWLEDGE_LOCATION
23
+ required: false
24
+ secret: false
25
+ capabilities:
26
+ read:
27
+ - knowledge-base.join
28
+ - knowledge.search
29
+ write:
30
+ - knowledge-base.create
31
+ - knowledge.snapshot.submit
32
+ health_check:
33
+ command: gh auth status
34
+ risk:
35
+ default: read
36
+ writes: true
37
+ fallbacks:
38
+ - plan_only
39
+ - manual_steps
40
+ - blocked
@@ -0,0 +1,32 @@
1
+ id: knowledge-google-drive
2
+ name: Knowledge Google Drive
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider Google Drive para armazenar knowledge bases file-first em pastas compartilhadas.
6
+ auth_methods:
7
+ - id: oauth
8
+ label: Google OAuth
9
+ native: true
10
+ secret_fields: []
11
+ config_fields:
12
+ - name: GOOGLE_APPLICATION_CREDENTIALS
13
+ required: false
14
+ secret: true
15
+ - name: AGENT_DEVKIT_KNOWLEDGE_DRIVE_FOLDER_ID
16
+ required: false
17
+ secret: false
18
+ capabilities:
19
+ read:
20
+ - knowledge-base.join
21
+ - knowledge.search
22
+ write:
23
+ - knowledge.snapshot.submit
24
+ health_check:
25
+ command: agent provider doctor knowledge-google-drive
26
+ risk:
27
+ default: read
28
+ writes: true
29
+ fallbacks:
30
+ - plan_only
31
+ - manual_steps
32
+ - blocked
@@ -0,0 +1,26 @@
1
+ id: knowledge-local
2
+ name: Knowledge Local
3
+ kind: knowledge-storage-provider
4
+ status: active
5
+ description: Storage file-first local para knowledge bases em diretorios Markdown, JSON e YAML.
6
+ auth_methods: []
7
+ config_fields:
8
+ - name: AGENT_DEVKIT_KNOWLEDGE_ROOT
9
+ required: false
10
+ secret: false
11
+ capabilities:
12
+ read:
13
+ - knowledge.search
14
+ - knowledge-base.status
15
+ write:
16
+ - knowledge-base.create
17
+ - knowledge.snapshot.create
18
+ - knowledge.publish
19
+ health_check:
20
+ command: agent knowledge doctor
21
+ risk:
22
+ default: local
23
+ writes: true
24
+ fallbacks:
25
+ - manual_steps
26
+ - plan_only
@@ -0,0 +1,32 @@
1
+ id: knowledge-notion
2
+ name: Knowledge Notion
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider Notion para espelhar knowledge base file-first em paginas ou databases autorizadas.
6
+ auth_methods:
7
+ - id: notion-token
8
+ label: Notion integration token
9
+ secret_fields:
10
+ - NOTION_TOKEN
11
+ config_fields:
12
+ - name: NOTION_TOKEN
13
+ required: false
14
+ secret: true
15
+ - name: AGENT_DEVKIT_KNOWLEDGE_NOTION_DATABASE_ID
16
+ required: false
17
+ secret: false
18
+ capabilities:
19
+ read:
20
+ - knowledge-base.join
21
+ - knowledge.search
22
+ write:
23
+ - knowledge.snapshot.submit
24
+ health_check:
25
+ command: agent provider doctor knowledge-notion
26
+ risk:
27
+ default: read
28
+ writes: true
29
+ fallbacks:
30
+ - plan_only
31
+ - manual_steps
32
+ - blocked
@@ -0,0 +1,24 @@
1
+ id: knowledge-obsidian
2
+ name: Knowledge Obsidian
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider Obsidian para usar um vault local ou sincronizado como storage file-first.
6
+ auth_methods: []
7
+ config_fields:
8
+ - name: AGENT_DEVKIT_KNOWLEDGE_OBSIDIAN_VAULT
9
+ required: false
10
+ secret: false
11
+ capabilities:
12
+ read:
13
+ - knowledge-base.join
14
+ - knowledge.search
15
+ write:
16
+ - knowledge.snapshot.submit
17
+ health_check:
18
+ command: agent provider doctor knowledge-obsidian
19
+ risk:
20
+ default: local
21
+ writes: true
22
+ fallbacks:
23
+ - plan_only
24
+ - manual_steps
@@ -0,0 +1,36 @@
1
+ id: knowledge-onedrive
2
+ name: Knowledge OneDrive
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider OneDrive para sincronizar knowledge bases file-first em pastas autorizadas.
6
+ auth_methods:
7
+ - id: microsoft-oauth
8
+ label: Microsoft OAuth
9
+ native: true
10
+ secret_fields: []
11
+ - id: graph-token
12
+ label: Microsoft Graph token
13
+ secret_fields:
14
+ - MICROSOFT_GRAPH_TOKEN
15
+ config_fields:
16
+ - name: MICROSOFT_GRAPH_TOKEN
17
+ required: false
18
+ secret: true
19
+ - name: AGENT_DEVKIT_KNOWLEDGE_ONEDRIVE_LOCATION
20
+ required: false
21
+ secret: false
22
+ capabilities:
23
+ read:
24
+ - knowledge-base.join
25
+ - knowledge.search
26
+ write:
27
+ - knowledge.snapshot.submit
28
+ health_check:
29
+ command: agent provider doctor knowledge-onedrive
30
+ risk:
31
+ default: read
32
+ writes: true
33
+ fallbacks:
34
+ - plan_only
35
+ - manual_steps
36
+ - blocked
@@ -0,0 +1,45 @@
1
+ id: knowledge-s3
2
+ name: Knowledge S3
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider S3 para armazenar knowledge bases file-first em buckets autorizados.
6
+ auth_methods:
7
+ - id: aws-profile
8
+ label: AWS profile
9
+ native: true
10
+ secret_fields: []
11
+ - id: access-key
12
+ label: AWS access key
13
+ secret_fields:
14
+ - AWS_ACCESS_KEY_ID
15
+ - AWS_SECRET_ACCESS_KEY
16
+ - AWS_SESSION_TOKEN
17
+ config_fields:
18
+ - name: AWS_PROFILE
19
+ required: false
20
+ secret: false
21
+ - name: AWS_REGION
22
+ required: false
23
+ secret: false
24
+ - name: AGENT_DEVKIT_KNOWLEDGE_S3_BUCKET
25
+ required: false
26
+ secret: false
27
+ - name: AGENT_DEVKIT_KNOWLEDGE_S3_PREFIX
28
+ required: false
29
+ secret: false
30
+ capabilities:
31
+ read:
32
+ - knowledge-base.join
33
+ - knowledge.search
34
+ write:
35
+ - knowledge-base.create
36
+ - knowledge.snapshot.submit
37
+ health_check:
38
+ command: aws sts get-caller-identity
39
+ risk:
40
+ default: read
41
+ writes: true
42
+ fallbacks:
43
+ - plan_only
44
+ - manual_steps
45
+ - blocked
@@ -0,0 +1,39 @@
1
+ id: knowledge-sharepoint
2
+ name: Knowledge SharePoint
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider SharePoint para armazenar knowledge bases file-first em bibliotecas documentais.
6
+ auth_methods:
7
+ - id: microsoft-oauth
8
+ label: Microsoft OAuth
9
+ native: true
10
+ secret_fields: []
11
+ - id: graph-token
12
+ label: Microsoft Graph token
13
+ secret_fields:
14
+ - MICROSOFT_GRAPH_TOKEN
15
+ config_fields:
16
+ - name: MICROSOFT_GRAPH_TOKEN
17
+ required: false
18
+ secret: true
19
+ - name: AGENT_DEVKIT_KNOWLEDGE_SHAREPOINT_SITE
20
+ required: false
21
+ secret: false
22
+ - name: AGENT_DEVKIT_KNOWLEDGE_SHAREPOINT_LOCATION
23
+ required: false
24
+ secret: false
25
+ capabilities:
26
+ read:
27
+ - knowledge-base.join
28
+ - knowledge.search
29
+ write:
30
+ - knowledge.snapshot.submit
31
+ health_check:
32
+ command: agent provider doctor knowledge-sharepoint
33
+ risk:
34
+ default: read
35
+ writes: true
36
+ fallbacks:
37
+ - plan_only
38
+ - manual_steps
39
+ - blocked
@@ -0,0 +1,43 @@
1
+ id: knowledge-supabase
2
+ name: Knowledge Supabase Storage
3
+ kind: knowledge-storage-provider
4
+ status: draft
5
+ description: Provider Supabase Storage para sincronizar knowledge bases file-first com buckets do projeto.
6
+ auth_methods:
7
+ - id: supabase-cli
8
+ label: Supabase CLI auth
9
+ native: true
10
+ secret_fields: []
11
+ - id: access-token
12
+ label: Supabase access token
13
+ secret_fields:
14
+ - SUPABASE_ACCESS_TOKEN
15
+ - SUPABASE_SERVICE_ROLE_KEY
16
+ config_fields:
17
+ - name: SUPABASE_PROJECT_REF
18
+ required: false
19
+ secret: false
20
+ - name: SUPABASE_ACCESS_TOKEN
21
+ required: false
22
+ secret: true
23
+ - name: SUPABASE_SERVICE_ROLE_KEY
24
+ required: false
25
+ secret: true
26
+ - name: AGENT_DEVKIT_KNOWLEDGE_BUCKET
27
+ required: false
28
+ secret: false
29
+ capabilities:
30
+ read:
31
+ - knowledge-base.join
32
+ - knowledge.search
33
+ write:
34
+ - knowledge.snapshot.submit
35
+ health_check:
36
+ command: supabase projects list
37
+ risk:
38
+ default: read
39
+ writes: true
40
+ fallbacks:
41
+ - plan_only
42
+ - manual_steps
43
+ - blocked
@@ -0,0 +1,39 @@
1
+ id: knowledge-vector
2
+ name: Knowledge Vector Index
3
+ kind: knowledge-index-provider
4
+ status: draft
5
+ description: Provider de indice vetorial derivado; nunca e fonte canonica da knowledge base.
6
+ auth_methods:
7
+ - id: local-vector
8
+ label: Local vector index
9
+ native: true
10
+ secret_fields: []
11
+ - id: external-vector
12
+ label: External vector service
13
+ secret_fields:
14
+ - VECTOR_DB_API_KEY
15
+ - VECTOR_DB_URL
16
+ config_fields:
17
+ - name: VECTOR_DB_URL
18
+ required: false
19
+ secret: true
20
+ - name: VECTOR_DB_API_KEY
21
+ required: false
22
+ secret: true
23
+ - name: AGENT_DEVKIT_KNOWLEDGE_VECTOR_PROVIDER
24
+ required: false
25
+ secret: false
26
+ capabilities:
27
+ read:
28
+ - knowledge.search
29
+ write:
30
+ - knowledge.reindex
31
+ health_check:
32
+ command: agent knowledge doctor
33
+ risk:
34
+ default: derived-index
35
+ writes: true
36
+ fallbacks:
37
+ - skip_provider
38
+ - plan_only
39
+ - manual_steps
@@ -0,0 +1,6 @@
1
+ pypdf>=4.0
2
+ beautifulsoup4>=4.12
3
+ PyYAML>=6.0
4
+ jsonschema>=4.0
5
+ reportlab>=4.0
6
+ pyodbc>=5.0