openpets 1.0.11 → 1.0.12
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/dist/data/api.json +3758 -7222
- package/dist/src/core/build-pet.d.ts.map +1 -1
- package/dist/src/core/build-pet.js +7 -0
- package/dist/src/core/build-pet.js.map +1 -1
- package/dist/src/core/cli.js +456 -130
- package/dist/src/core/cli.js.map +1 -1
- package/dist/src/core/ensure-npmignore.d.ts +30 -0
- package/dist/src/core/ensure-npmignore.d.ts.map +1 -0
- package/dist/src/core/ensure-npmignore.js +121 -0
- package/dist/src/core/ensure-npmignore.js.map +1 -0
- package/dist/src/core/index.d.ts +6 -3
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +9 -3
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/mcp-generator.d.ts +56 -0
- package/dist/src/core/mcp-generator.d.ts.map +1 -0
- package/dist/src/core/mcp-generator.js +1438 -0
- package/dist/src/core/mcp-generator.js.map +1 -0
- package/dist/src/core/mcp-server.js +0 -0
- package/dist/src/core/openapi-generator.d.ts +59 -0
- package/dist/src/core/openapi-generator.d.ts.map +1 -0
- package/dist/src/core/openapi-generator.js +800 -0
- package/dist/src/core/openapi-generator.js.map +1 -0
- package/dist/src/core/pet-config.d.ts +107 -49
- package/dist/src/core/pet-config.d.ts.map +1 -1
- package/dist/src/core/pet-config.js +6 -4
- package/dist/src/core/pet-config.js.map +1 -1
- package/dist/src/core/pet-downloader.d.ts +16 -0
- package/dist/src/core/pet-downloader.d.ts.map +1 -1
- package/dist/src/core/pet-downloader.js +145 -3
- package/dist/src/core/pet-downloader.js.map +1 -1
- package/dist/src/core/publish-pet.d.ts +29 -0
- package/dist/src/core/publish-pet.d.ts.map +1 -0
- package/dist/src/core/publish-pet.js +372 -0
- package/dist/src/core/publish-pet.js.map +1 -0
- package/dist/src/core/sdk-generator.d.ts +92 -0
- package/dist/src/core/sdk-generator.d.ts.map +1 -0
- package/dist/src/core/sdk-generator.js +567 -0
- package/dist/src/core/sdk-generator.js.map +1 -0
- package/dist/src/core/search-pets.d.ts +5 -0
- package/dist/src/core/search-pets.d.ts.map +1 -1
- package/dist/src/core/search-pets.js +43 -0
- package/dist/src/core/search-pets.js.map +1 -1
- package/dist/src/core/security-scanner.d.ts +49 -0
- package/dist/src/core/security-scanner.d.ts.map +1 -0
- package/dist/src/core/security-scanner.js +255 -0
- package/dist/src/core/security-scanner.js.map +1 -0
- package/dist/src/core/tool-lister.d.ts +61 -0
- package/dist/src/core/tool-lister.d.ts.map +1 -0
- package/dist/src/core/tool-lister.js +333 -0
- package/dist/src/core/tool-lister.js.map +1 -0
- package/dist/src/core/validate-pet.d.ts +2 -0
- package/dist/src/core/validate-pet.d.ts.map +1 -1
- package/dist/src/core/validate-pet.js +93 -1
- package/dist/src/core/validate-pet.js.map +1 -1
- package/dist/src/sdk/plugin-factory.d.ts +86 -0
- package/dist/src/sdk/plugin-factory.d.ts.map +1 -1
- package/dist/src/sdk/plugin-factory.js +450 -53
- package/dist/src/sdk/plugin-factory.js.map +1 -1
- package/dist/src/sdk/prompts-manager.d.ts +6 -0
- package/dist/src/sdk/prompts-manager.d.ts.map +1 -0
- package/dist/src/sdk/prompts-manager.js +162 -0
- package/dist/src/sdk/prompts-manager.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/core/local-cache.d.ts +0 -69
- package/dist/src/core/local-cache.d.ts.map +0 -1
- package/dist/src/core/local-cache.js +0 -212
- package/dist/src/core/local-cache.js.map +0 -1
- package/dist/src/core/plugin-factory.d.ts +0 -58
- package/dist/src/core/plugin-factory.d.ts.map +0 -1
- package/dist/src/core/plugin-factory.js +0 -212
- package/dist/src/core/plugin-factory.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { tool } from "@opencode-ai/plugin";
|
|
2
|
+
import { createLogger } from "./logger";
|
|
2
3
|
import type * as z from "zod";
|
|
3
4
|
import * as zodRuntime from "zod";
|
|
4
5
|
export { tool };
|
|
@@ -55,10 +56,15 @@ export interface EnvConfig {
|
|
|
55
56
|
}
|
|
56
57
|
export declare function loadEnv(petId?: string): EnvConfig;
|
|
57
58
|
export declare function getEnv(key: string, petId?: string): string | undefined;
|
|
59
|
+
export interface PetSettings {
|
|
60
|
+
readOnly?: boolean;
|
|
61
|
+
[key: string]: any;
|
|
62
|
+
}
|
|
58
63
|
export interface PetsConfig {
|
|
59
64
|
enabled?: string[];
|
|
60
65
|
disabled?: string[];
|
|
61
66
|
envConfig?: Record<string, Record<string, string>>;
|
|
67
|
+
petConfig?: Record<string, PetSettings>;
|
|
62
68
|
last_updated?: string;
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
@@ -101,4 +107,84 @@ export interface SyncEnvResult {
|
|
|
101
107
|
* @param projectDir - Optional project directory (defaults to cwd)
|
|
102
108
|
*/
|
|
103
109
|
export declare function syncEnvToConfig(projectDir?: string): SyncEnvResult;
|
|
110
|
+
/**
|
|
111
|
+
* Check if a pet is configured in read-only mode.
|
|
112
|
+
*
|
|
113
|
+
* Read-only mode prevents write tools from being registered for the pet.
|
|
114
|
+
* This is useful when users want to ensure they can only read data, not modify it.
|
|
115
|
+
*
|
|
116
|
+
* Configuration is checked in the following order (first match wins):
|
|
117
|
+
* 1. Environment variable: {PETNAME}_READ_ONLY=true (e.g., ASANA_READ_ONLY=true)
|
|
118
|
+
* 2. Pet-specific config in .pets/config.json: petConfig.{petId}.readOnly
|
|
119
|
+
* 3. Global config in .pets/config.json: petConfig._global.readOnly
|
|
120
|
+
*
|
|
121
|
+
* @param petId - The pet identifier (e.g., "asana", "jira", "github")
|
|
122
|
+
* @returns true if read-only mode is enabled for this pet
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* import { isReadOnly, createPlugin, type ToolDefinition } from "openpets-sdk"
|
|
127
|
+
*
|
|
128
|
+
* export const MyPlugin = async () => {
|
|
129
|
+
* const readOnly = isReadOnly("my-plugin")
|
|
130
|
+
*
|
|
131
|
+
* const readTools: ToolDefinition[] = [
|
|
132
|
+
* { name: "my-plugin-list", ... },
|
|
133
|
+
* { name: "my-plugin-get", ... }
|
|
134
|
+
* ]
|
|
135
|
+
*
|
|
136
|
+
* const writeTools: ToolDefinition[] = [
|
|
137
|
+
* { name: "my-plugin-create", ... },
|
|
138
|
+
* { name: "my-plugin-update", ... }
|
|
139
|
+
* ]
|
|
140
|
+
*
|
|
141
|
+
* // Only include write tools if not in read-only mode
|
|
142
|
+
* const tools = readOnly ? readTools : [...readTools, ...writeTools]
|
|
143
|
+
*
|
|
144
|
+
* return createPlugin(tools)
|
|
145
|
+
* }
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export declare function isReadOnly(petId: string): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Set read-only mode for a pet in .pets/config.json
|
|
151
|
+
*
|
|
152
|
+
* @param petId - The pet identifier (e.g., "asana", "jira"). Use "_global" for all pets.
|
|
153
|
+
* @param enabled - Whether read-only mode should be enabled
|
|
154
|
+
* @param projectDir - Optional project directory (defaults to cwd)
|
|
155
|
+
* @returns Result object with success status and message
|
|
156
|
+
*/
|
|
157
|
+
export declare function setReadOnly(petId: string, enabled: boolean, projectDir?: string): {
|
|
158
|
+
success: boolean;
|
|
159
|
+
message: string;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Get read-only status for a pet or all pets
|
|
163
|
+
*
|
|
164
|
+
* @param petId - Optional pet identifier. If not provided, returns status for all configured pets.
|
|
165
|
+
* @param projectDir - Optional project directory (defaults to cwd)
|
|
166
|
+
* @returns Object with read-only status information
|
|
167
|
+
*/
|
|
168
|
+
export declare function getReadOnlyStatus(petId?: string, projectDir?: string): {
|
|
169
|
+
global: boolean | undefined;
|
|
170
|
+
pets: Record<string, boolean>;
|
|
171
|
+
envOverrides: Record<string, boolean>;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Helper to filter tools based on read-only mode.
|
|
175
|
+
* Use this in your pet's plugin factory to easily filter out write tools.
|
|
176
|
+
*
|
|
177
|
+
* @param tools - Array of tool definitions
|
|
178
|
+
* @param writePatterns - Array of patterns that identify write operations (e.g., ['create', 'update', 'delete'])
|
|
179
|
+
* @param isReadOnlyMode - Whether read-only mode is enabled
|
|
180
|
+
* @param logger - Optional logger for debug output
|
|
181
|
+
* @returns Filtered array of tools
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* const WRITE_PATTERNS = ['create', 'update', 'delete', 'add-comment']
|
|
186
|
+
* const filteredTools = filterToolsForReadOnly(allTools, WRITE_PATTERNS, isReadOnly('my-pet'))
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export declare function filterToolsForReadOnly(tools: ToolDefinition[], writePatterns: string[], isReadOnlyMode: boolean, debugLogger?: ReturnType<typeof createLogger>): ToolDefinition[];
|
|
104
190
|
//# sourceMappingURL=plugin-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-factory.d.ts","sourceRoot":"","sources":["../../../../sdk/plugin-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin-factory.d.ts","sourceRoot":"","sources":["../../../../sdk/plugin-factory.ts"],"names":[],"mappings":"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"}
|