@falkenslab/agent-kit 0.21.0 → 0.22.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.
Files changed (53) hide show
  1. package/assets/extension-launcher.mjs +28 -5
  2. package/dist/chat/chatController.d.ts +59 -0
  3. package/dist/chat/chatController.js +209 -2
  4. package/dist/chat/extensions.d.ts +30 -2
  5. package/dist/chat/extensions.js +62 -3
  6. package/dist/chat/runs.d.ts +3 -1
  7. package/dist/chat/runs.js +1 -1
  8. package/dist/core/agentSpec.d.ts +11 -0
  9. package/dist/core/elicitation.d.ts +54 -0
  10. package/dist/core/elicitation.js +120 -0
  11. package/dist/core/extensionCatalog.d.ts +94 -0
  12. package/dist/core/extensionCatalog.js +228 -0
  13. package/dist/core/extensionOptions.d.ts +56 -0
  14. package/dist/core/extensionOptions.js +139 -0
  15. package/dist/core/extensions.d.ts +7 -1
  16. package/dist/core/extensions.js +2 -1
  17. package/dist/core/externalExtensions.d.ts +83 -8
  18. package/dist/core/externalExtensions.js +233 -30
  19. package/dist/core/hooks/planGate.d.ts +2 -0
  20. package/dist/core/hooks/planGate.js +3 -0
  21. package/dist/core/interaction.d.ts +7 -0
  22. package/dist/core/liveExtensions.d.ts +11 -0
  23. package/dist/core/liveExtensions.js +22 -0
  24. package/dist/core/marketplaces.d.ts +6 -2
  25. package/dist/core/marketplaces.js +6 -4
  26. package/dist/core/messages/de.js +33 -1
  27. package/dist/core/messages/en.d.ts +36 -0
  28. package/dist/core/messages/en.js +33 -1
  29. package/dist/core/messages/es.js +33 -1
  30. package/dist/core/messages/fr.js +33 -1
  31. package/dist/core/npxPackages.d.ts +48 -0
  32. package/dist/core/npxPackages.js +121 -0
  33. package/dist/core/pluginDownloads.d.ts +2 -1
  34. package/dist/core/pluginDownloads.js +2 -2
  35. package/dist/core/readOnlyHints.d.ts +13 -0
  36. package/dist/core/readOnlyHints.js +26 -0
  37. package/dist/core/runner.js +2 -0
  38. package/dist/core/session.d.ts +13 -1
  39. package/dist/core/session.js +31 -7
  40. package/dist/core/sessionFacts.d.ts +5 -1
  41. package/dist/core/workspaceTrust.d.ts +12 -0
  42. package/dist/core/workspaceTrust.js +60 -0
  43. package/dist/index.d.ts +7 -1
  44. package/dist/index.js +5 -1
  45. package/dist/tui/extensionCommand.d.ts +10 -2
  46. package/dist/tui/extensionCommand.js +182 -33
  47. package/extensions/awareness/.claude-plugin/plugin.json +13 -5
  48. package/extensions/knowledge/.claude-plugin/plugin.json +13 -5
  49. package/extensions/memory/.claude-plugin/plugin.json +13 -5
  50. package/extensions/sources/.claude-plugin/plugin.json +13 -5
  51. package/package.json +7 -5
  52. package/schemas/agent-kit-metadata.schema.json +62 -0
  53. package/schemas/marketplace-catalog.schema.json +64 -0
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://falkenslab.github.io/agent-kit/schemas/agent-kit-metadata.schema.json",
4
+ "title": "agent-kit's data in an extension's plugin.json",
5
+ "description": "What goes under metadata[\"agent-kit\"] in a Claude Code plugin's .claude-plugin/plugin.json, for agent-kit's gates, chats and catalog. Claude Code doesn't read metadata. Every field is optional.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "kit": {
10
+ "description": "The agent-kit versions it works with: comparators separated by spaces, all of which must hold (\">=0.22.0\", \">=0.22.0 <0.24.0\").",
11
+ "type": "string",
12
+ "pattern": "^\\s*(?:(?:>=|<=|>|<|=)?\\s*v?\\d+(?:\\.\\d+){0,2})(?:\\s+(?:>=|<=|>|<|=)?\\s*v?\\d+(?:\\.\\d+){0,2})*\\s*$"
13
+ },
14
+ "provides": { "description": "Capabilities it lets the agent use.", "type": "array", "items": { "type": "string", "minLength": 1 } },
15
+ "requires": { "description": "Capabilities another enabled extension must provide.", "type": "array", "items": { "type": "string", "minLength": 1 } },
16
+ "needs": { "description": "Programs it needs on the computer's PATH.", "type": "array", "items": { "type": "string", "minLength": 1 } },
17
+ "readOnlyTools": {
18
+ "description": "Its tools that only read (short names): plan mode lets them through. Without it, plan mode asks its servers (readOnlyHint).",
19
+ "type": "array",
20
+ "items": { "type": "string", "minLength": 1 }
21
+ },
22
+ "labels": {
23
+ "description": "How the chat shows each tool (short name), per language (en, es, fr, de): {field} takes the call's input.",
24
+ "type": "object",
25
+ "additionalProperties": {
26
+ "type": "object",
27
+ "propertyNames": { "enum": ["en", "es", "fr", "de"] },
28
+ "additionalProperties": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": ["label"],
32
+ "properties": {
33
+ "label": { "type": "string", "minLength": 1 },
34
+ "phrase": {
35
+ "description": "How it counts in a folded summary: once, and {n} times.",
36
+ "type": "array",
37
+ "prefixItems": [{ "type": "string" }, { "type": "string" }],
38
+ "minItems": 2,
39
+ "maxItems": 2
40
+ }
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "help": { "description": "What it says about itself in a session, for the agent to tell the person.", "type": "string" },
46
+ "catalog": {
47
+ "description": "How a catalog shows it: images inside its folder (SVG, PNG, JPEG or WebP).",
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "properties": {
51
+ "logo": { "description": "Square.", "$ref": "#/$defs/image" },
52
+ "banner": { "description": "Wide, about 3:1.", "$ref": "#/$defs/image" }
53
+ }
54
+ }
55
+ },
56
+ "$defs": {
57
+ "image": {
58
+ "type": "string",
59
+ "pattern": "^(?!/)(?![A-Za-z]:)(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+\\.(?:svg|png|jpe?g|webp)$"
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://falkenslab.github.io/agent-kit/schemas/marketplace-catalog.schema.json",
4
+ "title": "A marketplace's catalog.json",
5
+ "description": "A Claude Code marketplace's extensions as one file, for a page or a client to show without cloning the repository: written by @falkenslab/agent-kit-catalog from .claude-plugin/marketplace.json and each extension's plugin.json.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["marketplace", "description", "repository", "add", "extensions"],
9
+ "properties": {
10
+ "marketplace": { "description": "The marketplace's name, as <extension>@<marketplace> names an extension.", "type": "string", "minLength": 1 },
11
+ "description": { "type": "string" },
12
+ "repository": { "description": "The GitHub repository's page.", "type": "string", "pattern": "^https://github\\.com/[\\w.-]+/[\\w.-]+$" },
13
+ "add": {
14
+ "description": "How to add the marketplace.",
15
+ "type": "object",
16
+ "additionalProperties": false,
17
+ "required": ["claudeCode", "agentKit"],
18
+ "properties": {
19
+ "claudeCode": { "type": "string" },
20
+ "agentKit": { "description": "After the agent's own command (<agent> …).", "type": "string" }
21
+ }
22
+ },
23
+ "extensions": {
24
+ "description": "Sorted by name.",
25
+ "type": "array",
26
+ "items": { "$ref": "#/$defs/extension" }
27
+ }
28
+ },
29
+ "$defs": {
30
+ "url": { "type": "string", "pattern": "^https://" },
31
+ "extension": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "required": ["name", "version", "description", "category", "topics", "author", "license", "homepage", "readme", "install"],
35
+ "properties": {
36
+ "name": { "type": "string", "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$" },
37
+ "version": { "description": "Its plugin.json's, the same as its marketplace entry's.", "type": "string", "minLength": 1 },
38
+ "description": { "type": "string" },
39
+ "category": { "type": ["string", "null"] },
40
+ "topics": {
41
+ "description": "Its plugin.json's keywords and its entry's tags, keywords and category, lowercased, without repeats.",
42
+ "type": "array",
43
+ "uniqueItems": true,
44
+ "items": { "type": "string", "pattern": "^[^A-Z]+$" }
45
+ },
46
+ "author": { "type": ["string", "null"] },
47
+ "license": { "type": ["string", "null"] },
48
+ "homepage": { "$ref": "#/$defs/url" },
49
+ "readme": { "$ref": "#/$defs/url" },
50
+ "install": {
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "required": ["claudeCode", "agentKit"],
54
+ "properties": {
55
+ "claudeCode": { "type": "string" },
56
+ "agentKit": { "description": "After the agent's own command (<agent> …).", "type": "string" }
57
+ }
58
+ },
59
+ "logo": { "description": "A URL anyone can load.", "$ref": "#/$defs/url" },
60
+ "banner": { "description": "A URL anyone can load.", "$ref": "#/$defs/url" }
61
+ }
62
+ }
63
+ }
64
+ }