@tickernelz/paperclip-pro-server 2026.928.5 → 2026.928.7

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 (31) hide show
  1. package/dist/build-info.json +1 -1
  2. package/dist/routes/openapi.d.ts.map +1 -1
  3. package/dist/routes/openapi.js +133 -53
  4. package/dist/routes/openapi.js.map +1 -1
  5. package/dist/routes/paperclip-mcp.d.ts.map +1 -1
  6. package/dist/routes/paperclip-mcp.js +15 -0
  7. package/dist/routes/paperclip-mcp.js.map +1 -1
  8. package/package.json +21 -21
  9. package/skills/paperclip/SKILL.md +24 -22
  10. package/skills/paperclip/references/api-reference.md +43 -43
  11. package/skills/paperclip/references/artifacts.md +5 -5
  12. package/skills/paperclip/references/cases.md +8 -8
  13. package/skills/paperclip/references/company-skills.md +5 -5
  14. package/skills/paperclip/references/issue-workspaces.md +1 -1
  15. package/skills/paperclip/references/routines.md +13 -13
  16. package/skills/paperclip/references/workflows.md +5 -5
  17. package/skills/paperclip-board/SKILL.md +7 -7
  18. package/skills/paperclip-create-agent/SKILL.md +1 -1
  19. package/skills/paperclip-create-agent/references/api-reference.md +5 -5
  20. package/ui-dist/assets/{Agents.production-Ou10IBgG.js → Agents.production-g6e23L0t.js} +2 -2
  21. package/ui-dist/assets/{CompanyActivity.production-dbz2o26S.js → CompanyActivity.production-BfzT8G-l.js} +1 -1
  22. package/ui-dist/assets/{CompanyExport-VHEmaNC_.js → CompanyExport-B3AiIOt7.js} +1 -1
  23. package/ui-dist/assets/{CompanySkills.production-DuSUb8DQ.js → CompanySkills.production-DBgSF_kS.js} +1 -1
  24. package/ui-dist/assets/{Costs.production-BRz8Rn3s.js → Costs.production-DosW-ZWC.js} +1 -1
  25. package/ui-dist/assets/{OrgChart.production-Dgq5pMMa.js → OrgChart.production-DQjF3xIK.js} +1 -1
  26. package/ui-dist/assets/{RoutineDetail.production-B2lkeY8y.js → RoutineDetail.production-C4V6TNbR.js} +1 -1
  27. package/ui-dist/assets/{Routines.production-CGNSsZDr.js → Routines.production-Cv7CksVi.js} +1 -1
  28. package/ui-dist/assets/{definition-D6jTm4Mv.js → definition-BkqlnH41.js} +1 -1
  29. package/ui-dist/assets/{index-DGStZYMS.js → index-B9phYB96.js} +4 -4
  30. package/ui-dist/index.html +1 -1
  31. package/ui-dist/sw.js +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "6a21a6bd8ac991b63796f26f1abf77a9a4242192"
2
+ "commit": "ae73c47aa5fcfebf1d89840b9e312f52c9d18b5f"
3
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/routes/openapi.ts"],"names":[],"mappings":"AAqxWA,wBAAgB,oBAAoB,IAAI,GAAG,CAY1C;AAED,eAAO,MAAM,gBAAgB,6BAAuB,CAAC;AAErD,wBAAgB,aAAa,+CAM5B"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/routes/openapi.ts"],"names":[],"mappings":"AA+2WA,wBAAgB,oBAAoB,IAAI,GAAG,CAY1C;AAED,eAAO,MAAM,gBAAgB,6BAAuB,CAAC;AAErD,wBAAgB,aAAa,+CAM5B"}
@@ -2,7 +2,7 @@ import { experimentalApiMetadata } from "./experimental-api-metadata.js";
2
2
  import { experimentalApiPaths, experimentalApiQueries, } from "./experimental-api-paths.js";
3
3
  import { Router } from "express";
4
4
  import { z } from "zod";
5
- import { createAiConnectionSchema, localAiConnectionSchema, localAiLoginStartSchema, emailEndpointSetupSchema, emailConnectionSchema, emailSendSchema, slackToolCallSchema, slackSearchConfigSchema,
5
+ import { createAiConnectionSchema, ENVIRONMENT_DRIVERS, ENVIRONMENT_LEASE_STATUSES, ENVIRONMENT_STATUSES, FEEDBACK_TARGET_TYPES, FEEDBACK_TRACE_STATUSES, FEEDBACK_VOTE_VALUES, PLUGIN_JOB_STATUSES, PLUGIN_STATUSES, TOOL_ACTION_REQUEST_STATUSES, catalogSkillListQuerySchema, catalogTeamListQuerySchema, localAiConnectionSchema, localAiLoginStartSchema, emailEndpointSetupSchema, emailConnectionSchema, emailSendSchema, slackToolCallSchema, slackSearchConfigSchema,
6
6
  // Agent
7
7
  AGENT_PALETTE_IDS, AGENT_AVATAR_SIZES, CHARACTER_STATES, agentAppearanceSchema, createAgentSchema, createAgentHireSchema, updateAgentSchema, updateAgentPermissionsSchema, agentAdapterConfigBatchPreviewSchema, agentAdapterConfigBatchUpdateSchema, updateAgentInstructionsPathSchema, updateAgentInstructionsBundleSchema, upsertAgentInstructionsFileSchema, createAgentKeySchema, builtInAgentEmptyMutationSchema, builtInAgentProvisionSchema, generateSummarySlotSchema, writeSummarySlotSchema, createStatusCardSchema, patchStatusCardSchema, refreshStatusCardSchema, writeStatusCardQuerySchema, writeStatusCardSummarySchema, wakeAgentSchema, resetAgentSessionSchema, agentSkillSyncSchema, testAdapterEnvironmentSchema, agentMineInboxQuerySchema,
8
8
  // Issue
@@ -294,6 +294,22 @@ class OpenAPIRegistry {
294
294
  registerPath(pathRegistration) {
295
295
  this.paths.push(pathRegistration);
296
296
  }
297
+ declareQuery(method, path, query) {
298
+ const matches = this.paths.filter((entry) => entry.method === method && entry.path === path);
299
+ if (matches.length !== 1) {
300
+ throw new Error(`declareQuery expected one ${method.toUpperCase()} ${path}, found ${matches.length}`);
301
+ }
302
+ const entry = matches[0];
303
+ const existing = entry.request?.query ? unwrapSchema(entry.request.query) : null;
304
+ const shape = existing && zodTypeName(existing) === "object"
305
+ ? zodDef(existing).shape
306
+ : {};
307
+ const overlap = Object.keys(query.shape).filter((name) => name in shape);
308
+ if (overlap.length > 0) {
309
+ throw new Error(`declareQuery ${method.toUpperCase()} ${path} redeclares ${overlap.join(", ")}`);
310
+ }
311
+ entry.request = { ...entry.request, query: z.object({ ...shape, ...query.shape }) };
312
+ }
297
313
  buildPaths() {
298
314
  const paths = {};
299
315
  for (const { method, path, request, responses, ...operation } of this
@@ -8833,58 +8849,6 @@ registerCurrentRoute({
8833
8849
  summary: "Update a document annotation thread",
8834
8850
  body: updateDocumentAnnotationThreadSchema,
8835
8851
  });
8836
- for (const route of [
8837
- [
8838
- "get",
8839
- "/api/routines/{id}/description/annotations",
8840
- "List routine description annotation threads",
8841
- ],
8842
- [
8843
- "get",
8844
- "/api/routines/{id}/description/annotations/{threadId}",
8845
- "Get a routine description annotation thread",
8846
- ],
8847
- ]) {
8848
- registerCurrentRoute({
8849
- method: route[0],
8850
- path: route[1],
8851
- tags: ["routines"],
8852
- summary: route[2],
8853
- });
8854
- }
8855
- registerCurrentRoute({
8856
- method: "post",
8857
- path: "/api/routines/{id}/description/annotations",
8858
- tags: ["routines"],
8859
- summary: "Create a routine description annotation thread",
8860
- body: createDocumentAnnotationThreadSchema,
8861
- responses: {
8862
- 201: r.ok(),
8863
- 400: r.badRequest,
8864
- 401: r.unauthorized,
8865
- 404: r.notFound,
8866
- },
8867
- });
8868
- registerCurrentRoute({
8869
- method: "post",
8870
- path: "/api/routines/{id}/description/annotations/{threadId}/comments",
8871
- tags: ["routines"],
8872
- summary: "Add a routine description annotation comment",
8873
- body: createDocumentAnnotationCommentSchema,
8874
- responses: {
8875
- 201: r.ok(),
8876
- 400: r.badRequest,
8877
- 401: r.unauthorized,
8878
- 404: r.notFound,
8879
- },
8880
- });
8881
- registerCurrentRoute({
8882
- method: "patch",
8883
- path: "/api/routines/{id}/description/annotations/{threadId}",
8884
- tags: ["routines"],
8885
- summary: "Update a routine description annotation thread",
8886
- body: updateDocumentAnnotationThreadSchema,
8887
- });
8888
8852
  registerCurrentRoute({
8889
8853
  method: "get",
8890
8854
  path: "/api/issues/{id}/diagnostics/blockers",
@@ -10201,6 +10165,122 @@ for (const [method, path, body] of experimentalApiPaths) {
10201
10165
  },
10202
10166
  });
10203
10167
  }
10168
+ const queryFlag = z.boolean();
10169
+ const annotationListQuery = z.object({
10170
+ status: z.enum(["open", "resolved", "all"]).optional(),
10171
+ includeComments: queryFlag.optional(),
10172
+ });
10173
+ const catalogRefQuery = z.object({
10174
+ ref: z.string().optional(),
10175
+ });
10176
+ const feedbackTraceQuery = {
10177
+ targetType: z.enum(FEEDBACK_TARGET_TYPES).optional(),
10178
+ vote: z.enum(FEEDBACK_VOTE_VALUES).optional(),
10179
+ status: z.enum(FEEDBACK_TRACE_STATUSES).optional(),
10180
+ from: z.string().optional(),
10181
+ to: z.string().optional(),
10182
+ sharedOnly: queryFlag.optional(),
10183
+ includePayload: queryFlag.optional(),
10184
+ };
10185
+ const runLogQuery = z.object({
10186
+ offset: z.coerce.number().int().min(0).optional(),
10187
+ limitBytes: z.coerce.number().int().min(1).max(1024 * 1024).optional(),
10188
+ });
10189
+ for (const [method, path, query] of [
10190
+ ["get", "/api/companies/{companyId}/activity", z.object({
10191
+ agentId: z.string().optional(),
10192
+ entityType: z.string().optional(),
10193
+ entityId: z.string().optional(),
10194
+ limit: z.coerce.number().int().min(1).max(500).optional(),
10195
+ })],
10196
+ ["get", "/api/companies/{companyId}/audit/agent-actions", z.object({
10197
+ actorScope: z.enum(["agents", "all"]).optional(),
10198
+ })],
10199
+ ["get", "/api/agents/{id}/instructions-bundle/file", z.object({ path: z.string().min(1) })],
10200
+ ["delete", "/api/agents/{id}/instructions-bundle/file", z.object({ path: z.string().min(1) })],
10201
+ ["get", "/api/companies/{companyId}/heartbeat-runs", z.object({
10202
+ agentId: z.string().optional(),
10203
+ limit: z.coerce.number().int().min(1).max(1000).optional(),
10204
+ summary: queryFlag.optional(),
10205
+ })],
10206
+ ["get", "/api/companies/{companyId}/provider-traces", z.object({
10207
+ runIds: z.string().optional(),
10208
+ })],
10209
+ ["get", "/api/companies/{companyId}/live-runs", z.object({
10210
+ limit: z.coerce.number().int().min(1).max(50).optional(),
10211
+ minCount: z.coerce.number().int().min(0).max(50).optional(),
10212
+ })],
10213
+ ["get", "/api/heartbeat-runs/{runId}/log", runLogQuery],
10214
+ ["get", "/api/workspace-operations/{operationId}/log", runLogQuery],
10215
+ ["get", "/api/cases/{id}/documents/{key}/annotations", annotationListQuery],
10216
+ ["get", "/api/issues/{id}/documents/{key}/annotations", annotationListQuery],
10217
+ ["get", "/api/routines/{id}/description/annotations", annotationListQuery],
10218
+ ["get", "/api/companies/{companyId}/feedback-traces", z.object({
10219
+ ...feedbackTraceQuery,
10220
+ issueId: z.string().optional(),
10221
+ projectId: z.string().optional(),
10222
+ })],
10223
+ ["get", "/api/issues/{id}/feedback-traces", z.object(feedbackTraceQuery)],
10224
+ ["get", "/api/feedback-traces/{traceId}", z.object({
10225
+ includePayload: queryFlag.optional(),
10226
+ })],
10227
+ ["get", "/api/skills/catalog", catalogSkillListQuerySchema],
10228
+ ["get", "/api/skills/catalog/{catalogId}", catalogRefQuery],
10229
+ ["get", "/api/teams/catalog", catalogTeamListQuerySchema],
10230
+ ["get", "/api/teams/catalog/{catalogId}", catalogRefQuery],
10231
+ ["post", "/api/companies/{companyId}/teams/catalog/{catalogId}/preview", catalogRefQuery],
10232
+ ["post", "/api/companies/{companyId}/teams/catalog/{catalogId}/install", catalogRefQuery],
10233
+ ["get", "/api/issues/{id}/cost-summary", z.object({ excludeRoot: queryFlag.optional() })],
10234
+ ["get", "/api/companies/{companyId}/environments", z.object({
10235
+ driver: z.enum(ENVIRONMENT_DRIVERS).optional(),
10236
+ status: z.enum(ENVIRONMENT_STATUSES).optional(),
10237
+ })],
10238
+ ["get", "/api/environments/{id}/leases", z.object({ status: z.enum(ENVIRONMENT_LEASE_STATUSES).optional() })],
10239
+ ["delete", "/api/environments/{id}", z.object({ destroyReusableSandboxLeases: queryFlag.optional() })],
10240
+ ["get", "/api/companies/{companyId}/execution-workspaces", z.object({
10241
+ projectId: z.string().optional(),
10242
+ projectWorkspaceId: z.string().optional(),
10243
+ issueId: z.string().optional(),
10244
+ status: z.string().optional(),
10245
+ reuseEligible: queryFlag.optional(),
10246
+ summary: queryFlag.optional(),
10247
+ })],
10248
+ ["get", "/api/issues/{id}/tree-holds", z.object({
10249
+ status: z.enum(["active", "released"]).optional(),
10250
+ mode: z.enum(["pause", "resume", "cancel", "restore"]).optional(),
10251
+ includeMembers: queryFlag.optional(),
10252
+ })],
10253
+ ["delete", "/api/issues/{id}/comments/{commentId}", z.object({
10254
+ mode: z.enum(["delete", "cancel"]).optional(),
10255
+ })],
10256
+ ["get", "/api/plugins", z.object({ status: z.enum(PLUGIN_STATUSES).optional() })],
10257
+ ["get", "/api/plugins/tools", z.object({ pluginId: z.string().optional() })],
10258
+ ["delete", "/api/plugins/{pluginId}", z.object({ purge: queryFlag.optional() })],
10259
+ ["get", "/api/plugins/{pluginId}/logs", z.object({
10260
+ level: z.string().optional(),
10261
+ since: z.string().optional(),
10262
+ limit: z.coerce.number().int().min(1).max(500).optional(),
10263
+ })],
10264
+ ["get", "/api/plugins/{pluginId}/jobs", z.object({ status: z.enum(PLUGIN_JOB_STATUSES).optional() })],
10265
+ ["get", "/api/plugins/{pluginId}/jobs/{jobId}/runs", z.object({
10266
+ limit: z.coerce.number().int().min(1).max(500).optional(),
10267
+ })],
10268
+ ["get", "/api/companies/{companyId}/routines", z.object({ projectId: z.string().optional() })],
10269
+ ["get", "/api/routines/{id}/runs", z.object({
10270
+ limit: z.coerce.number().int().min(1).optional(),
10271
+ })],
10272
+ ["get", "/api/companies/{companyId}/tools/apps/{galleryKey}/preflight", z.object({ methodKey: z.string().optional() })],
10273
+ ["get", "/api/companies/{companyId}/tools/action-requests", z.object({
10274
+ status: z.enum(TOOL_ACTION_REQUEST_STATUSES).optional(),
10275
+ })],
10276
+ ["get", "/api/tool-connections/{connectionId}/usage", z.object({ range: z.enum(["7d", "30d"]).optional() })],
10277
+ ["get", "/api/tool-connections/{connectionId}/activity", z.object({
10278
+ limit: z.coerce.number().int().min(1).optional(),
10279
+ })],
10280
+ ["get", "/api/tool-gateway/audit", z.object({ gateway: z.string().optional() })],
10281
+ ]) {
10282
+ registry.declareQuery(method, path, query);
10283
+ }
10204
10284
  // ─── Spec builder ─────────────────────────────────────────────────────────────
10205
10285
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10206
10286
  export function buildOpenApiDocument() {