@aion0/forge 0.8.1 → 0.8.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.
Files changed (45) hide show
  1. package/RELEASE_NOTES.md +25 -6
  2. package/app/api/connectors/[id]/settings/route.ts +31 -37
  3. package/app/api/connectors/[id]/test/route.ts +260 -0
  4. package/app/api/connectors/install-local/route.ts +211 -0
  5. package/app/api/connectors/marketplace/route.ts +79 -0
  6. package/app/api/connectors/route.ts +41 -46
  7. package/app/api/jobs/route.ts +1 -0
  8. package/app/api/skills/install-local/route.ts +282 -0
  9. package/components/ConnectorsPanel.tsx +526 -211
  10. package/components/SettingsModal.tsx +1 -0
  11. package/components/SkillsPanel.tsx +42 -1
  12. package/lib/agents/claude-adapter.ts +4 -0
  13. package/lib/agents/types.ts +6 -0
  14. package/lib/chat/agent-loop.ts +13 -22
  15. package/lib/chat/protocols/http.ts +1 -1
  16. package/lib/chat/protocols/shell.ts +1 -1
  17. package/lib/chat/tool-dispatcher.ts +20 -20
  18. package/lib/connectors/migration.ts +110 -0
  19. package/lib/connectors/registry.ts +328 -0
  20. package/lib/connectors/sync.ts +305 -0
  21. package/lib/connectors/types.ts +253 -0
  22. package/lib/help-docs/00-overview.md +1 -0
  23. package/lib/help-docs/17-connectors.md +241 -189
  24. package/lib/help-docs/21-build-connector.md +314 -0
  25. package/lib/help-docs/CLAUDE.md +4 -2
  26. package/lib/init.ts +25 -0
  27. package/lib/jobs/dispatcher.ts +28 -8
  28. package/lib/jobs/scheduler.ts +21 -3
  29. package/lib/jobs/store.ts +11 -2
  30. package/lib/jobs/types.ts +12 -0
  31. package/lib/pipeline-scheduler.ts +3 -2
  32. package/lib/pipeline.ts +135 -13
  33. package/lib/plugins/registry.ts +9 -42
  34. package/lib/plugins/types.ts +4 -129
  35. package/lib/settings.ts +7 -0
  36. package/lib/skills.ts +27 -1
  37. package/lib/task-manager.ts +62 -2
  38. package/package.json +3 -1
  39. package/src/core/db/database.ts +4 -0
  40. package/lib/builtin-plugins/github-api.yaml +0 -93
  41. package/lib/builtin-plugins/gitlab.yaml +0 -860
  42. package/lib/builtin-plugins/mantis.probe.js +0 -176
  43. package/lib/builtin-plugins/mantis.yaml +0 -964
  44. package/lib/builtin-plugins/pmdb.yaml +0 -178
  45. package/lib/builtin-plugins/teams.yaml +0 -913
@@ -34,6 +34,10 @@ function initSchema(db: Database.Database) {
34
34
  migrate("ALTER TABLE skills ADD COLUMN installed_version TEXT NOT NULL DEFAULT ''");
35
35
  migrate('ALTER TABLE skills ADD COLUMN rating REAL DEFAULT 0');
36
36
  migrate('ALTER TABLE skills ADD COLUMN deleted_remotely INTEGER NOT NULL DEFAULT 0');
37
+ // 'registry' (synced from forge-skills) vs 'local' (uploaded by user).
38
+ // Local skills are kept across syncs (they're not in the remote registry,
39
+ // so the deleted_remotely housekeeping would otherwise wipe them).
40
+ migrate("ALTER TABLE skills ADD COLUMN source TEXT NOT NULL DEFAULT 'registry'");
37
41
  migrate('ALTER TABLE project_pipelines ADD COLUMN last_run_at TEXT');
38
42
  migrate('ALTER TABLE pipeline_runs ADD COLUMN dedup_key TEXT');
39
43
  migrate("ALTER TABLE tasks ADD COLUMN agent TEXT DEFAULT 'claude'");
@@ -1,93 +0,0 @@
1
- id: github-api
2
- name: GitHub API
3
- icon: 🐙
4
- version: 0.1.0
5
- author: forge
6
- description: |
7
- GitHub REST API connector — runs entirely server-side (no browser tab
8
- needed). Set settings.token to a personal access token for private
9
- repos / higher rate limits; public-only endpoints work unauthenticated.
10
-
11
- Demonstrates the `protocol: http` runtime: the connector declares the
12
- request shape and Forge issues it from the server. Templates expand
13
- {settings.*} (user-supplied) and {args.*} (LLM-supplied) into url,
14
- headers, query, and body.
15
-
16
- category: connector
17
- mode: server-side
18
-
19
- settings:
20
- token:
21
- type: string
22
- label: GitHub token (optional)
23
- description: Personal access token. Leave empty for public endpoints.
24
- secret: true
25
-
26
- tools:
27
- get_repo:
28
- description: |
29
- Fetch metadata for a GitHub repository (description, stars, default
30
- branch, etc.).
31
- protocol: http
32
- parameters:
33
- repo:
34
- type: string
35
- required: true
36
- description: 'Repository in "owner/name" form (e.g. "anthropics/anthropic-sdk-python").'
37
- request:
38
- method: GET
39
- url: 'https://api.github.com/repos/{args.repo}'
40
- headers:
41
- Accept: 'application/vnd.github+json'
42
- Authorization: 'Bearer {settings.token}'
43
- User-Agent: 'forge-github-connector'
44
-
45
- list_issues:
46
- description: |
47
- List issues in a GitHub repository. Default returns open issues
48
- (most recent first). Use state="closed" or state="all" to widen.
49
- protocol: http
50
- parameters:
51
- repo:
52
- type: string
53
- required: true
54
- description: 'Repository in "owner/name" form.'
55
- state:
56
- type: string
57
- description: 'open | closed | all (default: open).'
58
- per_page:
59
- type: number
60
- description: 'Results per page (1–100, default 30).'
61
- request:
62
- method: GET
63
- url: 'https://api.github.com/repos/{args.repo}/issues'
64
- headers:
65
- Accept: 'application/vnd.github+json'
66
- Authorization: 'Bearer {settings.token}'
67
- User-Agent: 'forge-github-connector'
68
- query:
69
- state: '{args.state}'
70
- per_page: '{args.per_page}'
71
-
72
- search_repos:
73
- description: |
74
- Search GitHub repositories by keyword. Sorted by stars desc by
75
- default. Use q to pass GitHub search qualifiers
76
- (e.g. "language:go forks:>100 created:>2024").
77
- protocol: http
78
- parameters:
79
- q:
80
- type: string
81
- required: true
82
- description: 'Search query (GitHub search syntax).'
83
- request:
84
- method: GET
85
- url: 'https://api.github.com/search/repositories'
86
- headers:
87
- Accept: 'application/vnd.github+json'
88
- Authorization: 'Bearer {settings.token}'
89
- User-Agent: 'forge-github-connector'
90
- query:
91
- q: '{args.q}'
92
- sort: stars
93
- order: desc