@vagarylabs/plugin-sdk 1.1.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 (62) hide show
  1. package/README.md +1224 -0
  2. package/dist/bundlers.d.ts +57 -0
  3. package/dist/bundlers.d.ts.map +1 -0
  4. package/dist/bundlers.js +106 -0
  5. package/dist/bundlers.js.map +1 -0
  6. package/dist/define-plugin.d.ts +266 -0
  7. package/dist/define-plugin.d.ts.map +1 -0
  8. package/dist/define-plugin.js +85 -0
  9. package/dist/define-plugin.js.map +1 -0
  10. package/dist/dev-cli.d.ts +3 -0
  11. package/dist/dev-cli.d.ts.map +1 -0
  12. package/dist/dev-cli.js +49 -0
  13. package/dist/dev-cli.js.map +1 -0
  14. package/dist/dev-server.d.ts +34 -0
  15. package/dist/dev-server.d.ts.map +1 -0
  16. package/dist/dev-server.js +194 -0
  17. package/dist/dev-server.js.map +1 -0
  18. package/dist/host-client-factory.d.ts +312 -0
  19. package/dist/host-client-factory.d.ts.map +1 -0
  20. package/dist/host-client-factory.js +623 -0
  21. package/dist/host-client-factory.js.map +1 -0
  22. package/dist/index.d.ts +84 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +84 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/protocol.d.ts +1556 -0
  27. package/dist/protocol.d.ts.map +1 -0
  28. package/dist/protocol.js +369 -0
  29. package/dist/protocol.js.map +1 -0
  30. package/dist/testing.d.ts +183 -0
  31. package/dist/testing.d.ts.map +1 -0
  32. package/dist/testing.js +2265 -0
  33. package/dist/testing.js.map +1 -0
  34. package/dist/types.d.ts +1621 -0
  35. package/dist/types.d.ts.map +1 -0
  36. package/dist/types.js +12 -0
  37. package/dist/types.js.map +1 -0
  38. package/dist/ui/components.d.ts +517 -0
  39. package/dist/ui/components.d.ts.map +1 -0
  40. package/dist/ui/components.js +135 -0
  41. package/dist/ui/components.js.map +1 -0
  42. package/dist/ui/hooks.d.ts +155 -0
  43. package/dist/ui/hooks.d.ts.map +1 -0
  44. package/dist/ui/hooks.js +195 -0
  45. package/dist/ui/hooks.js.map +1 -0
  46. package/dist/ui/index.d.ts +54 -0
  47. package/dist/ui/index.d.ts.map +1 -0
  48. package/dist/ui/index.js +51 -0
  49. package/dist/ui/index.js.map +1 -0
  50. package/dist/ui/runtime.d.ts +3 -0
  51. package/dist/ui/runtime.d.ts.map +1 -0
  52. package/dist/ui/runtime.js +30 -0
  53. package/dist/ui/runtime.js.map +1 -0
  54. package/dist/ui/types.d.ts +400 -0
  55. package/dist/ui/types.d.ts.map +1 -0
  56. package/dist/ui/types.js +17 -0
  57. package/dist/ui/types.js.map +1 -0
  58. package/dist/worker-rpc-host.d.ts +128 -0
  59. package/dist/worker-rpc-host.d.ts.map +1 -0
  60. package/dist/worker-rpc-host.js +1510 -0
  61. package/dist/worker-rpc-host.js.map +1 -0
  62. package/package.json +128 -0
@@ -0,0 +1,84 @@
1
+ /**
2
+ * `@vagris/plugin-sdk` — Paperclip plugin worker-side SDK.
3
+ *
4
+ * This is the main entrypoint for plugin worker code. For plugin UI bundles,
5
+ * import from `@vagris/plugin-sdk/ui` instead.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Plugin worker entrypoint (dist/worker.ts)
10
+ * import { definePlugin, runWorker, z } from "@vagris/plugin-sdk";
11
+ *
12
+ * const plugin = definePlugin({
13
+ * async setup(ctx) {
14
+ * ctx.logger.info("Plugin starting up");
15
+ *
16
+ * ctx.events.on("issue.created", async (event) => {
17
+ * ctx.logger.info("Issue created", { issueId: event.entityId });
18
+ * });
19
+ *
20
+ * ctx.jobs.register("full-sync", async (job) => {
21
+ * ctx.logger.info("Starting full sync", { runId: job.runId });
22
+ * // ... sync implementation
23
+ * });
24
+ *
25
+ * ctx.data.register("sync-health", async ({ companyId }) => {
26
+ * const state = await ctx.state.get({
27
+ * scopeKind: "company",
28
+ * scopeId: String(companyId),
29
+ * stateKey: "last-sync-at",
30
+ * });
31
+ * return { lastSync: state };
32
+ * });
33
+ * },
34
+ *
35
+ * async onHealth() {
36
+ * return { status: "ok" };
37
+ * },
38
+ * });
39
+ *
40
+ * export default plugin;
41
+ * runWorker(plugin, import.meta.url);
42
+ * ```
43
+ *
44
+ * @see PLUGIN_SPEC.md §14 — SDK Surface
45
+ * @see PLUGIN_SPEC.md §29.2 — SDK Versioning
46
+ */
47
+ export { definePlugin } from "./define-plugin.js";
48
+ export { createTestHarness, createEnvironmentTestHarness, createFakeEnvironmentDriver, filterEnvironmentEvents, assertEnvironmentEventOrder, assertLeaseLifecycle, assertWorkspaceRealizationLifecycle, assertExecutionLifecycle, assertEnvironmentError } from "./testing.js";
49
+ export { createPluginBundlerPresets } from "./bundlers.js";
50
+ export { startPluginDevServer, getUiBuildSnapshot } from "./dev-server.js";
51
+ export { startWorkerRpcHost, runWorker } from "./worker-rpc-host.js";
52
+ export { createHostClientHandlers, getRequiredCapability, CapabilityDeniedError, InvocationScopeDeniedError, } from "./host-client-factory.js";
53
+ export { JSONRPC_VERSION, JSONRPC_ERROR_CODES, PLUGIN_RPC_ERROR_CODES, HOST_TO_WORKER_REQUIRED_METHODS, HOST_TO_WORKER_OPTIONAL_METHODS, HOST_SUPPORTED_REQUEST_FIELDS, ISSUES_CREATE_FIELDS, MESSAGE_DELIMITER, createRequest, createSuccessResponse, createErrorResponse, createNotification, isJsonRpcRequest, isJsonRpcNotification, isJsonRpcResponse, isJsonRpcSuccessResponse, isJsonRpcErrorResponse, serializeMessage, parseMessage, JsonRpcParseError, JsonRpcCallError, _resetIdCounter, } from "./protocol.js";
54
+ export type { PluginDefinition, PaperclipPlugin, PluginHealthDiagnostics, PluginConfigValidationResult, PluginWebhookInput, PluginApiRequestInput, PluginApiResponse, } from "./define-plugin.js";
55
+ export type { TestHarness, TestHarnessOptions, TestHarnessLogEntry, EnvironmentTestHarness, EnvironmentTestHarnessOptions, EnvironmentEventRecord, FakeEnvironmentDriverOptions, } from "./testing.js";
56
+ export type { PluginBundlerPresetInput, PluginBundlerPresets, EsbuildLikeOptions, RollupLikeConfig, } from "./bundlers.js";
57
+ export type { PluginDevServer, PluginDevServerOptions } from "./dev-server.js";
58
+ export type { WorkerRpcHostOptions, WorkerRpcHost, RunWorkerOptions, } from "./worker-rpc-host.js";
59
+ export type { HostServices, HostClientFactoryOptions, HostClientHandlers, } from "./host-client-factory.js";
60
+ export type { JsonRpcId, JsonRpcInvocationScope, JsonRpcInvocationContext, JsonRpcRequest, JsonRpcSuccessResponse, JsonRpcError, JsonRpcErrorResponse, JsonRpcResponse, JsonRpcNotification, JsonRpcMessage, JsonRpcErrorCode, PluginRpcErrorCode, PluginInvocationScope, PluginInvocationContext, WorkerHostCallContext, InitializeParams, InitializeResult, ConfigChangedParams, ValidateConfigParams, OnEventParams, RunJobParams, GetDataParams, PerformActionParams, PluginPerformActionActorType, PluginPerformActionActorContext, PluginPerformActionContext, ExecuteToolParams, PluginEnvironmentDiagnostic, PluginEnvironmentDriverBaseParams, PluginEnvironmentValidateConfigParams, PluginEnvironmentValidationResult, PluginEnvironmentProbeParams, PluginEnvironmentProbeResult, PluginEnvironmentLease, PluginEnvironmentAcquireLeaseParams, PluginEnvironmentResumeLeaseParams, PluginEnvironmentReleaseLeaseParams, PluginEnvironmentDestroyLeaseParams, PluginEnvironmentRealizeWorkspaceParams, PluginEnvironmentRealizeWorkspaceResult, PluginEnvironmentExecuteParams, PluginEnvironmentExecuteResult, PluginModalBoundsRequest, PluginRenderCloseEvent, PluginLauncherRenderContextSnapshot, HostToWorkerMethods, HostToWorkerMethodName, WorkerToHostMethods, WorkerToHostMethodName, HostToWorkerRequest, HostToWorkerResponse, WorkerToHostRequest, WorkerToHostResponse, WorkerToHostNotifications, WorkerToHostNotificationName, } from "./protocol.js";
61
+ export type { PluginContext, PluginHostCompatClient, PluginConfigClient, PluginLocalFolderProblem, PluginLocalFolderStatus, PluginLocalFolderConfigureInput, PluginLocalFolderListOptions, PluginLocalFolderEntry, PluginLocalFolderListing, PluginLocalFoldersClient, PluginEventsClient, PluginJobsClient, PluginLaunchersClient, PluginHttpClient, PluginSecretsClient, PluginActivityClient, PluginActivityLogEntry, PluginStateClient, PluginEntitiesClient, PluginProjectsClient, PluginExecutionWorkspacesClient, PluginSkillsClient, PluginCompaniesClient, PluginIssuesClient, PluginIssueMutationActor, PluginIssueRelationsClient, PluginIssueRelationSummary, PluginIssueCheckoutOwnership, PluginIssueWakeupResult, PluginIssueWakeupBatchResult, PluginIssueRunSummary, PluginIssueApprovalSummary, PluginIssueCostSummary, PluginBudgetIncidentSummary, PluginIssueInvocationBlockSummary, PluginIssueOrchestrationSummary, PluginIssueSubtreeOptions, PluginIssueAssigneeSummary, PluginIssueSubtree, PluginIssueSummariesClient, PluginAgentsClient, PluginAccessClient, PluginAccessMembersClient, PluginAccessInvitesClient, PluginAccessMember, PluginAccessInvite, PluginAuthorizationClient, PluginAuthorizationPolicySummary, PluginAuthorizationPolicyRecord, PluginAssignmentPreviewInput, PluginAuthorizationDecisionResult, PluginAuthorizationAuditEntry, PluginAgentSessionsClient, AgentSession, AgentSessionEvent, AgentSessionSendResult, PluginGoalsClient, PluginDataClient, PluginActionsClient, PluginStreamsClient, PluginToolsClient, PluginMetricsClient, PluginTelemetryClient, PluginLogger, } from "./types.js";
62
+ export type { ScopeKey, EventFilter, PluginEvent, PluginJobContext, PluginLauncherRegistration, ToolRunContext, ToolResult, PluginEntityUpsert, PluginEntityRecord, PluginEntityQuery, PluginWorkspace, PluginExecutionWorkspaceMetadata, Company, Project, Issue, IssueComment, IssueDocumentSummary, Agent, Goal, PermissionKey, PrincipalPermissionGrant, PrincipalType, PluginDatabaseClient, HumanCompanyMembershipRole, MembershipStatus, } from "./types.js";
63
+ export type { VagrisPluginManifestV1, PluginJobDeclaration, PluginWebhookDeclaration, PluginToolDeclaration, PluginEnvironmentDriverDeclaration, PluginManagedAgentDeclaration, PluginManagedAgentResolution, PluginManagedProjectDeclaration, PluginManagedProjectResolution, PluginManagedRoutineDeclaration, PluginManagedRoutineResolution, PluginManagedSkillDeclaration, PluginManagedSkillFileDeclaration, PluginManagedSkillResolution, CompanySkill, PluginManagedResourceKind, PluginManagedResourceRef, PluginUiSlotDeclaration, PluginUiDeclaration, PluginLauncherActionDeclaration, PluginLauncherRenderDeclaration, PluginLauncherDeclaration, PluginMinimumHostVersion, PluginDatabaseDeclaration, PluginApiRouteCompanyResolution, PluginApiRouteDeclaration, PluginLocalFolderDeclaration, PluginCompanySettings, PluginRecord, PluginDatabaseNamespaceRecord, PluginMigrationRecord, PluginConfig, JsonSchema, PluginStatus, PluginCategory, PluginCapability, PluginUiSlotType, PluginUiSlotEntityType, PluginLauncherPlacementZone, PluginLauncherAction, PluginLauncherBounds, PluginLauncherRenderEnvironment, PluginStateScopeKind, PluginJobStatus, PluginJobRunStatus, PluginJobRunTrigger, PluginWebhookDeliveryStatus, PluginDatabaseCoreReadTable, PluginDatabaseMigrationStatus, PluginDatabaseNamespaceMode, PluginDatabaseNamespaceStatus, PluginApiRouteAuthMode, PluginApiRouteCheckoutPolicy, PluginApiRouteMethod, PluginEventType, PluginBridgeErrorCode, } from "./types.js";
64
+ /**
65
+ * Zod is re-exported for plugin authors to use when defining their
66
+ * `instanceConfigSchema` and tool `parametersSchema`.
67
+ *
68
+ * Plugin authors do not need to add a separate `zod` dependency.
69
+ *
70
+ * @see PLUGIN_SPEC.md §14.1 — Example SDK Shape
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * import { z } from "@vagris/plugin-sdk";
75
+ *
76
+ * const configSchema = z.object({
77
+ * apiKey: z.string().describe("Your API key"),
78
+ * workspace: z.string().optional(),
79
+ * });
80
+ * ```
81
+ */
82
+ export { z } from "zod";
83
+ export { PLUGIN_API_VERSION, PLUGIN_STATUSES, PLUGIN_CATEGORIES, PLUGIN_CAPABILITIES, PLUGIN_UI_SLOT_TYPES, PLUGIN_UI_SLOT_ENTITY_TYPES, PLUGIN_RESERVED_COMPANY_SETTINGS_ROUTE_SEGMENTS, PLUGIN_STATE_SCOPE_KINDS, PLUGIN_JOB_STATUSES, PLUGIN_JOB_RUN_STATUSES, PLUGIN_JOB_RUN_TRIGGERS, PLUGIN_WEBHOOK_DELIVERY_STATUSES, PLUGIN_EVENT_TYPES, PLUGIN_BRIDGE_ERROR_CODES, PERMISSION_KEYS, HUMAN_COMPANY_MEMBERSHIP_ROLES, HUMAN_COMPANY_MEMBERSHIP_ROLE_LABELS, MEMBERSHIP_STATUSES, PRINCIPAL_TYPES, } from "@vagris/shared";
84
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,84 @@
1
+ /**
2
+ * `@vagris/plugin-sdk` — Paperclip plugin worker-side SDK.
3
+ *
4
+ * This is the main entrypoint for plugin worker code. For plugin UI bundles,
5
+ * import from `@vagris/plugin-sdk/ui` instead.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Plugin worker entrypoint (dist/worker.ts)
10
+ * import { definePlugin, runWorker, z } from "@vagris/plugin-sdk";
11
+ *
12
+ * const plugin = definePlugin({
13
+ * async setup(ctx) {
14
+ * ctx.logger.info("Plugin starting up");
15
+ *
16
+ * ctx.events.on("issue.created", async (event) => {
17
+ * ctx.logger.info("Issue created", { issueId: event.entityId });
18
+ * });
19
+ *
20
+ * ctx.jobs.register("full-sync", async (job) => {
21
+ * ctx.logger.info("Starting full sync", { runId: job.runId });
22
+ * // ... sync implementation
23
+ * });
24
+ *
25
+ * ctx.data.register("sync-health", async ({ companyId }) => {
26
+ * const state = await ctx.state.get({
27
+ * scopeKind: "company",
28
+ * scopeId: String(companyId),
29
+ * stateKey: "last-sync-at",
30
+ * });
31
+ * return { lastSync: state };
32
+ * });
33
+ * },
34
+ *
35
+ * async onHealth() {
36
+ * return { status: "ok" };
37
+ * },
38
+ * });
39
+ *
40
+ * export default plugin;
41
+ * runWorker(plugin, import.meta.url);
42
+ * ```
43
+ *
44
+ * @see PLUGIN_SPEC.md §14 — SDK Surface
45
+ * @see PLUGIN_SPEC.md §29.2 — SDK Versioning
46
+ */
47
+ // ---------------------------------------------------------------------------
48
+ // Main factory
49
+ // ---------------------------------------------------------------------------
50
+ export { definePlugin } from "./define-plugin.js";
51
+ export { createTestHarness, createEnvironmentTestHarness, createFakeEnvironmentDriver, filterEnvironmentEvents, assertEnvironmentEventOrder, assertLeaseLifecycle, assertWorkspaceRealizationLifecycle, assertExecutionLifecycle, assertEnvironmentError } from "./testing.js";
52
+ export { createPluginBundlerPresets } from "./bundlers.js";
53
+ export { startPluginDevServer, getUiBuildSnapshot } from "./dev-server.js";
54
+ export { startWorkerRpcHost, runWorker } from "./worker-rpc-host.js";
55
+ export { createHostClientHandlers, getRequiredCapability, CapabilityDeniedError, InvocationScopeDeniedError, } from "./host-client-factory.js";
56
+ // JSON-RPC protocol helpers and constants
57
+ export { JSONRPC_VERSION, JSONRPC_ERROR_CODES, PLUGIN_RPC_ERROR_CODES, HOST_TO_WORKER_REQUIRED_METHODS, HOST_TO_WORKER_OPTIONAL_METHODS, HOST_SUPPORTED_REQUEST_FIELDS, ISSUES_CREATE_FIELDS, MESSAGE_DELIMITER, createRequest, createSuccessResponse, createErrorResponse, createNotification, isJsonRpcRequest, isJsonRpcNotification, isJsonRpcResponse, isJsonRpcSuccessResponse, isJsonRpcErrorResponse, serializeMessage, parseMessage, JsonRpcParseError, JsonRpcCallError, _resetIdCounter, } from "./protocol.js";
58
+ // ---------------------------------------------------------------------------
59
+ // Zod re-export
60
+ // ---------------------------------------------------------------------------
61
+ /**
62
+ * Zod is re-exported for plugin authors to use when defining their
63
+ * `instanceConfigSchema` and tool `parametersSchema`.
64
+ *
65
+ * Plugin authors do not need to add a separate `zod` dependency.
66
+ *
67
+ * @see PLUGIN_SPEC.md §14.1 — Example SDK Shape
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * import { z } from "@vagris/plugin-sdk";
72
+ *
73
+ * const configSchema = z.object({
74
+ * apiKey: z.string().describe("Your API key"),
75
+ * workspace: z.string().optional(),
76
+ * });
77
+ * ```
78
+ */
79
+ export { z } from "zod";
80
+ // ---------------------------------------------------------------------------
81
+ // Constants re-exports (for plugin code that needs to check values at runtime)
82
+ // ---------------------------------------------------------------------------
83
+ export { PLUGIN_API_VERSION, PLUGIN_STATUSES, PLUGIN_CATEGORIES, PLUGIN_CAPABILITIES, PLUGIN_UI_SLOT_TYPES, PLUGIN_UI_SLOT_ENTITY_TYPES, PLUGIN_RESERVED_COMPANY_SETTINGS_ROUTE_SEGMENTS, PLUGIN_STATE_SCOPE_KINDS, PLUGIN_JOB_STATUSES, PLUGIN_JOB_RUN_STATUSES, PLUGIN_JOB_RUN_TRIGGERS, PLUGIN_WEBHOOK_DELIVERY_STATUSES, PLUGIN_EVENT_TYPES, PLUGIN_BRIDGE_ERROR_CODES, PERMISSION_KEYS, HUMAN_COMPANY_MEMBERSHIP_ROLES, HUMAN_COMPANY_MEMBERSHIP_ROLE_LABELS, MEMBERSHIP_STATUSES, PRINCIPAL_TYPES, } from "@vagris/shared";
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC/Q,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC,0CAA0C;AAC1C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AAqQvB,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAE9E,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,+CAA+C,EAC/C,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,8BAA8B,EAC9B,oCAAoC,EACpC,mBAAmB,EACnB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}