@keystrokehq/passslot 0.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 (98) hide show
  1. package/README.md +17 -0
  2. package/dist/action.cjs +21 -0
  3. package/dist/action.cjs.map +1 -0
  4. package/dist/action.mjs +21 -0
  5. package/dist/action.mjs.map +1 -0
  6. package/dist/actions/create-scanner.cjs +28 -0
  7. package/dist/actions/create-scanner.cjs.map +1 -0
  8. package/dist/actions/create-scanner.d.cts +9 -0
  9. package/dist/actions/create-scanner.d.cts.map +1 -0
  10. package/dist/actions/create-scanner.d.mts +9 -0
  11. package/dist/actions/create-scanner.d.mts.map +1 -0
  12. package/dist/actions/create-scanner.mjs +25 -0
  13. package/dist/actions/create-scanner.mjs.map +1 -0
  14. package/dist/actions/delete-scanner.cjs +19 -0
  15. package/dist/actions/delete-scanner.cjs.map +1 -0
  16. package/dist/actions/delete-scanner.d.cts +9 -0
  17. package/dist/actions/delete-scanner.d.cts.map +1 -0
  18. package/dist/actions/delete-scanner.d.mts +9 -0
  19. package/dist/actions/delete-scanner.d.mts.map +1 -0
  20. package/dist/actions/delete-scanner.mjs +16 -0
  21. package/dist/actions/delete-scanner.mjs.map +1 -0
  22. package/dist/actions/get-pass-types.cjs +16 -0
  23. package/dist/actions/get-pass-types.cjs.map +1 -0
  24. package/dist/actions/get-pass-types.d.cts +9 -0
  25. package/dist/actions/get-pass-types.d.cts.map +1 -0
  26. package/dist/actions/get-pass-types.d.mts +9 -0
  27. package/dist/actions/get-pass-types.d.mts.map +1 -0
  28. package/dist/actions/get-pass-types.mjs +13 -0
  29. package/dist/actions/get-pass-types.mjs.map +1 -0
  30. package/dist/actions/get-passes-by-pass-type.cjs +16 -0
  31. package/dist/actions/get-passes-by-pass-type.cjs.map +1 -0
  32. package/dist/actions/get-passes-by-pass-type.d.cts +9 -0
  33. package/dist/actions/get-passes-by-pass-type.d.cts.map +1 -0
  34. package/dist/actions/get-passes-by-pass-type.d.mts +9 -0
  35. package/dist/actions/get-passes-by-pass-type.d.mts.map +1 -0
  36. package/dist/actions/get-passes-by-pass-type.mjs +13 -0
  37. package/dist/actions/get-passes-by-pass-type.mjs.map +1 -0
  38. package/dist/actions/get-scanner.cjs +23 -0
  39. package/dist/actions/get-scanner.cjs.map +1 -0
  40. package/dist/actions/get-scanner.d.cts +9 -0
  41. package/dist/actions/get-scanner.d.cts.map +1 -0
  42. package/dist/actions/get-scanner.d.mts +9 -0
  43. package/dist/actions/get-scanner.d.mts.map +1 -0
  44. package/dist/actions/get-scanner.mjs +20 -0
  45. package/dist/actions/get-scanner.mjs.map +1 -0
  46. package/dist/actions/index.cjs +17 -0
  47. package/dist/actions/index.d.cts +9 -0
  48. package/dist/actions/index.d.mts +9 -0
  49. package/dist/actions/index.mjs +9 -0
  50. package/dist/actions/list-scanners.cjs +16 -0
  51. package/dist/actions/list-scanners.cjs.map +1 -0
  52. package/dist/actions/list-scanners.d.cts +9 -0
  53. package/dist/actions/list-scanners.d.cts.map +1 -0
  54. package/dist/actions/list-scanners.d.mts +9 -0
  55. package/dist/actions/list-scanners.d.mts.map +1 -0
  56. package/dist/actions/list-scanners.mjs +13 -0
  57. package/dist/actions/list-scanners.mjs.map +1 -0
  58. package/dist/actions/list-templates.cjs +16 -0
  59. package/dist/actions/list-templates.cjs.map +1 -0
  60. package/dist/actions/list-templates.d.cts +9 -0
  61. package/dist/actions/list-templates.d.cts.map +1 -0
  62. package/dist/actions/list-templates.d.mts +9 -0
  63. package/dist/actions/list-templates.d.mts.map +1 -0
  64. package/dist/actions/list-templates.mjs +13 -0
  65. package/dist/actions/list-templates.mjs.map +1 -0
  66. package/dist/actions/update-scanner.cjs +28 -0
  67. package/dist/actions/update-scanner.cjs.map +1 -0
  68. package/dist/actions/update-scanner.d.cts +9 -0
  69. package/dist/actions/update-scanner.d.cts.map +1 -0
  70. package/dist/actions/update-scanner.d.mts +9 -0
  71. package/dist/actions/update-scanner.d.mts.map +1 -0
  72. package/dist/actions/update-scanner.mjs +25 -0
  73. package/dist/actions/update-scanner.mjs.map +1 -0
  74. package/dist/app.cjs +9 -0
  75. package/dist/app.cjs.map +1 -0
  76. package/dist/app.d.cts +5 -0
  77. package/dist/app.d.cts.map +1 -0
  78. package/dist/app.d.mts +5 -0
  79. package/dist/app.d.mts.map +1 -0
  80. package/dist/app.mjs +10 -0
  81. package/dist/app.mjs.map +1 -0
  82. package/dist/catalog.cjs +15 -0
  83. package/dist/catalog.cjs.map +1 -0
  84. package/dist/catalog.d.cts +14 -0
  85. package/dist/catalog.d.cts.map +1 -0
  86. package/dist/catalog.d.mts +14 -0
  87. package/dist/catalog.d.mts.map +1 -0
  88. package/dist/catalog.mjs +15 -0
  89. package/dist/catalog.mjs.map +1 -0
  90. package/dist/execute.cjs +18 -0
  91. package/dist/execute.cjs.map +1 -0
  92. package/dist/execute.mjs +18 -0
  93. package/dist/execute.mjs.map +1 -0
  94. package/dist/index.cjs +22 -0
  95. package/dist/index.d.cts +11 -0
  96. package/dist/index.d.mts +11 -0
  97. package/dist/index.mjs +12 -0
  98. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-scanners.d.mts","names":[],"sources":["../../src/actions/list-scanners.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAAiG;AAAA,cAC9H,0BAAA,EAA4B,CAAA,CAAE,UAAwB;AAAA,cAEtD,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,13 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const passslotListScanners = action("PASSSLOT_LIST_SCANNERS", {
4
+ slug: "passslot-list-scanners",
5
+ name: "List Scanners",
6
+ description: "Tool to retrieve a list of all scanners. Use when you need to list all configured scanners. Your app key must have full access to manage scanners.",
7
+ input: z.object({}).describe("Request model for listing scanners. No parameters required."),
8
+ output: z.unknown()
9
+ });
10
+ //#endregion
11
+ export { passslotListScanners };
12
+
13
+ //# sourceMappingURL=list-scanners.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-scanners.mjs","names":[],"sources":["../../src/actions/list-scanners.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PassslotListScannersInput: z.ZodTypeAny = z.object({}).describe(\"Request model for listing scanners. No parameters required.\");\nexport const PassslotListScannersOutput: z.ZodTypeAny = z.unknown();\n\nexport const passslotListScanners = action(\"PASSSLOT_LIST_SCANNERS\", {\n slug: \"passslot-list-scanners\",\n name: \"List Scanners\",\n description: \"Tool to retrieve a list of all scanners. Use when you need to list all configured scanners. Your app key must have full access to manage scanners.\",\n input: PassslotListScannersInput,\n output: PassslotListScannersOutput,\n});\n"],"mappings":";;AAOA,MAAa,uBAAuB,OAAO,0BAA0B;CACnE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAPqD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,6DAOpE;CACP,QAPsD,EAAE,QAOhD;AACV,CAAC"}
@@ -0,0 +1,16 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/list-templates.ts
4
+ const PassslotListTemplatesInput = zod.z.object({}).describe("Request model for listing templates. No parameters required.");
5
+ const PassslotListTemplatesOutput = zod.z.unknown();
6
+ const passslotListTemplates = require_action.action("PASSSLOT_LIST_TEMPLATES", {
7
+ slug: "passslot-list-templates",
8
+ name: "List Templates",
9
+ description: "Tool to retrieve a list of all pass templates. Use when you need to see available templates for creating passes.",
10
+ input: PassslotListTemplatesInput,
11
+ output: PassslotListTemplatesOutput
12
+ });
13
+ //#endregion
14
+ exports.passslotListTemplates = passslotListTemplates;
15
+
16
+ //# sourceMappingURL=list-templates.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-templates.cjs","names":["z","action"],"sources":["../../src/actions/list-templates.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PassslotListTemplatesInput: z.ZodTypeAny = z.object({}).describe(\"Request model for listing templates. No parameters required.\");\nexport const PassslotListTemplatesOutput: z.ZodTypeAny = z.unknown();\n\nexport const passslotListTemplates = action(\"PASSSLOT_LIST_TEMPLATES\", {\n slug: \"passslot-list-templates\",\n name: \"List Templates\",\n description: \"Tool to retrieve a list of all pass templates. Use when you need to see available templates for creating passes.\",\n input: PassslotListTemplatesInput,\n output: PassslotListTemplatesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC5I,MAAa,8BAA4CA,IAAAA,EAAE,QAAQ;AAEnE,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-templates.d.ts
4
+ declare const PassslotListTemplatesInput: z.ZodTypeAny;
5
+ declare const PassslotListTemplatesOutput: z.ZodTypeAny;
6
+ declare const passslotListTemplates: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { passslotListTemplates };
9
+ //# sourceMappingURL=list-templates.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-templates.d.cts","names":[],"sources":["../../src/actions/list-templates.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAAkG;AAAA,cAChI,2BAAA,EAA6B,CAAA,CAAE,UAAwB;AAAA,cAEvD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/list-templates.d.ts
4
+ declare const PassslotListTemplatesInput: z.ZodTypeAny;
5
+ declare const PassslotListTemplatesOutput: z.ZodTypeAny;
6
+ declare const passslotListTemplates: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { passslotListTemplates };
9
+ //# sourceMappingURL=list-templates.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-templates.d.mts","names":[],"sources":["../../src/actions/list-templates.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAAkG;AAAA,cAChI,2BAAA,EAA6B,CAAA,CAAE,UAAwB;AAAA,cAEvD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,13 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const passslotListTemplates = action("PASSSLOT_LIST_TEMPLATES", {
4
+ slug: "passslot-list-templates",
5
+ name: "List Templates",
6
+ description: "Tool to retrieve a list of all pass templates. Use when you need to see available templates for creating passes.",
7
+ input: z.object({}).describe("Request model for listing templates. No parameters required."),
8
+ output: z.unknown()
9
+ });
10
+ //#endregion
11
+ export { passslotListTemplates };
12
+
13
+ //# sourceMappingURL=list-templates.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-templates.mjs","names":[],"sources":["../../src/actions/list-templates.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PassslotListTemplatesInput: z.ZodTypeAny = z.object({}).describe(\"Request model for listing templates. No parameters required.\");\nexport const PassslotListTemplatesOutput: z.ZodTypeAny = z.unknown();\n\nexport const passslotListTemplates = action(\"PASSSLOT_LIST_TEMPLATES\", {\n slug: \"passslot-list-templates\",\n name: \"List Templates\",\n description: \"Tool to retrieve a list of all pass templates. Use when you need to see available templates for creating passes.\",\n input: PassslotListTemplatesInput,\n output: PassslotListTemplatesOutput,\n});\n"],"mappings":";;AAOA,MAAa,wBAAwB,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAPsD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,8DAOrE;CACP,QAPuD,EAAE,QAOjD;AACV,CAAC"}
@@ -0,0 +1,28 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/update-scanner.ts
4
+ const PassslotUpdateScannerInput = zod.z.object({
5
+ id: zod.z.number().int().describe("The scanner ID to update"),
6
+ name: zod.z.string().describe("Scanner name").optional(),
7
+ fullAccess: zod.z.boolean().describe("Whether scanner has full access to all templates. If true, scanner can access all templates. If false, only allowedTemplates are accessible.").optional(),
8
+ allowedTemplates: zod.z.array(zod.z.number().int()).describe("Array of template IDs that the scanner is allowed to access. Only relevant when fullAccess is false.").optional()
9
+ }).describe("Request model for updating a scanner. Only name, fullAccess, and allowedTemplates can be updated.");
10
+ const PassslotUpdateScannerOutput = zod.z.object({
11
+ id: zod.z.number().int().describe("The scanner's unique identifier"),
12
+ name: zod.z.string().describe("The scanner's display name"),
13
+ fullAccess: zod.z.boolean().describe("Whether scanner has unrestricted template access"),
14
+ allowedTemplates: zod.z.array(zod.z.number().int()).describe("List of template IDs the scanner can access").nullable().optional(),
15
+ authenticationToken: zod.z.string().describe("Token for scanner authentication").nullable().optional(),
16
+ passverifierAuthorizationURL: zod.z.string().describe("Deep link URL for pass verifier setup").nullable().optional()
17
+ }).describe("Response model for updating a scanner.");
18
+ const passslotUpdateScanner = require_action.action("PASSSLOT_UPDATE_SCANNER", {
19
+ slug: "passslot-update-scanner",
20
+ name: "Update Scanner",
21
+ description: "Tool to update a scanner's configuration. Only name, fullAccess, and allowedTemplates can be updated. Use when you need to modify scanner permissions or rename a scanner. Your app key must have full access to manage scanners.",
22
+ input: PassslotUpdateScannerInput,
23
+ output: PassslotUpdateScannerOutput
24
+ });
25
+ //#endregion
26
+ exports.passslotUpdateScanner = passslotUpdateScanner;
27
+
28
+ //# sourceMappingURL=update-scanner.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-scanner.cjs","names":["z","action"],"sources":["../../src/actions/update-scanner.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PassslotUpdateScannerInput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"The scanner ID to update\"),\n name: z.string().describe(\"Scanner name\").optional(),\n fullAccess: z.boolean().describe(\"Whether scanner has full access to all templates. If true, scanner can access all templates. If false, only allowedTemplates are accessible.\").optional(),\n allowedTemplates: z.array(z.number().int()).describe(\"Array of template IDs that the scanner is allowed to access. Only relevant when fullAccess is false.\").optional(),\n}).describe(\"Request model for updating a scanner. Only name, fullAccess, and allowedTemplates can be updated.\");\nexport const PassslotUpdateScannerOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"The scanner's unique identifier\"),\n name: z.string().describe(\"The scanner's display name\"),\n fullAccess: z.boolean().describe(\"Whether scanner has unrestricted template access\"),\n allowedTemplates: z.array(z.number().int()).describe(\"List of template IDs the scanner can access\").nullable().optional(),\n authenticationToken: z.string().describe(\"Token for scanner authentication\").nullable().optional(),\n passverifierAuthorizationURL: z.string().describe(\"Deep link URL for pass verifier setup\").nullable().optional(),\n}).describe(\"Response model for updating a scanner.\");\n\nexport const passslotUpdateScanner = action(\"PASSSLOT_UPDATE_SCANNER\", {\n slug: \"passslot-update-scanner\",\n name: \"Update Scanner\",\n description: \"Tool to update a scanner's configuration. Only name, fullAccess, and allowedTemplates can be updated. Use when you need to modify scanner permissions or rename a scanner. Your app key must have full access to manage scanners.\",\n input: PassslotUpdateScannerInput,\n output: PassslotUpdateScannerOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B;CACxD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,SAAS;CACnD,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,8IAA8I,CAAC,CAAC,SAAS;CAC1L,kBAAkBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;AACxK,CAAC,CAAC,CAAC,SAAS,mGAAmG;AAC/G,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iCAAiC;CAC/D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B;CACtD,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,kDAAkD;CACnF,kBAAkBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxH,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,8BAA8BA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjH,CAAC,CAAC,CAAC,SAAS,wCAAwC;AAEpD,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/update-scanner.d.ts
4
+ declare const PassslotUpdateScannerInput: z.ZodTypeAny;
5
+ declare const PassslotUpdateScannerOutput: z.ZodTypeAny;
6
+ declare const passslotUpdateScanner: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { passslotUpdateScanner };
9
+ //# sourceMappingURL=update-scanner.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-scanner.d.cts","names":[],"sources":["../../src/actions/update-scanner.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAKqE;AAAA,cACnG,2BAAA,EAA6B,CAAA,CAAE,UAOS;AAAA,cAExC,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/update-scanner.d.ts
4
+ declare const PassslotUpdateScannerInput: z.ZodTypeAny;
5
+ declare const PassslotUpdateScannerOutput: z.ZodTypeAny;
6
+ declare const passslotUpdateScanner: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { passslotUpdateScanner };
9
+ //# sourceMappingURL=update-scanner.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-scanner.d.mts","names":[],"sources":["../../src/actions/update-scanner.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAKqE;AAAA,cACnG,2BAAA,EAA6B,CAAA,CAAE,UAOS;AAAA,cAExC,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,25 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const passslotUpdateScanner = action("PASSSLOT_UPDATE_SCANNER", {
4
+ slug: "passslot-update-scanner",
5
+ name: "Update Scanner",
6
+ description: "Tool to update a scanner's configuration. Only name, fullAccess, and allowedTemplates can be updated. Use when you need to modify scanner permissions or rename a scanner. Your app key must have full access to manage scanners.",
7
+ input: z.object({
8
+ id: z.number().int().describe("The scanner ID to update"),
9
+ name: z.string().describe("Scanner name").optional(),
10
+ fullAccess: z.boolean().describe("Whether scanner has full access to all templates. If true, scanner can access all templates. If false, only allowedTemplates are accessible.").optional(),
11
+ allowedTemplates: z.array(z.number().int()).describe("Array of template IDs that the scanner is allowed to access. Only relevant when fullAccess is false.").optional()
12
+ }).describe("Request model for updating a scanner. Only name, fullAccess, and allowedTemplates can be updated."),
13
+ output: z.object({
14
+ id: z.number().int().describe("The scanner's unique identifier"),
15
+ name: z.string().describe("The scanner's display name"),
16
+ fullAccess: z.boolean().describe("Whether scanner has unrestricted template access"),
17
+ allowedTemplates: z.array(z.number().int()).describe("List of template IDs the scanner can access").nullable().optional(),
18
+ authenticationToken: z.string().describe("Token for scanner authentication").nullable().optional(),
19
+ passverifierAuthorizationURL: z.string().describe("Deep link URL for pass verifier setup").nullable().optional()
20
+ }).describe("Response model for updating a scanner.")
21
+ });
22
+ //#endregion
23
+ export { passslotUpdateScanner };
24
+
25
+ //# sourceMappingURL=update-scanner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-scanner.mjs","names":[],"sources":["../../src/actions/update-scanner.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PassslotUpdateScannerInput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"The scanner ID to update\"),\n name: z.string().describe(\"Scanner name\").optional(),\n fullAccess: z.boolean().describe(\"Whether scanner has full access to all templates. If true, scanner can access all templates. If false, only allowedTemplates are accessible.\").optional(),\n allowedTemplates: z.array(z.number().int()).describe(\"Array of template IDs that the scanner is allowed to access. Only relevant when fullAccess is false.\").optional(),\n}).describe(\"Request model for updating a scanner. Only name, fullAccess, and allowedTemplates can be updated.\");\nexport const PassslotUpdateScannerOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"The scanner's unique identifier\"),\n name: z.string().describe(\"The scanner's display name\"),\n fullAccess: z.boolean().describe(\"Whether scanner has unrestricted template access\"),\n allowedTemplates: z.array(z.number().int()).describe(\"List of template IDs the scanner can access\").nullable().optional(),\n authenticationToken: z.string().describe(\"Token for scanner authentication\").nullable().optional(),\n passverifierAuthorizationURL: z.string().describe(\"Deep link URL for pass verifier setup\").nullable().optional(),\n}).describe(\"Response model for updating a scanner.\");\n\nexport const passslotUpdateScanner = action(\"PASSSLOT_UPDATE_SCANNER\", {\n slug: \"passslot-update-scanner\",\n name: \"Update Scanner\",\n description: \"Tool to update a scanner's configuration. Only name, fullAccess, and allowedTemplates can be updated. Use when you need to modify scanner permissions or rename a scanner. Your app key must have full access to manage scanners.\",\n input: PassslotUpdateScannerInput,\n output: PassslotUpdateScannerOutput,\n});\n"],"mappings":";;AAmBA,MAAa,wBAAwB,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnBsD,EAAE,OAAO;EAC/D,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B;EACxD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,SAAS;EACnD,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,8IAA8I,CAAC,CAAC,SAAS;EAC1L,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACxK,CAAC,CAAC,CAAC,SAAS,mGAcH;CACP,QAduD,EAAE,OAAO;EAChE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iCAAiC;EAC/D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B;EACtD,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,kDAAkD;EACnF,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxH,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjG,8BAA8B,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,CAAC,CAAC,CAAC,SAAS,wCAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const passslot = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "passslot",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.passslot = passslot;
8
+
9
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const passslot = defineApp({\n slug: \"passslot\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,YAAA,uCAAA,CAAA,CAAA,UAAA,CAAqB;CAChC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const passslot: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { passslot };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,QAAA,6BAAQ,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const passslot: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { passslot };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,QAAA,6BAAQ,GAAA,+BAAA,UAAA"}
package/dist/app.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { defineApp } from "@keystrokehq/keystroke/app";
2
+ //#region src/app.ts
3
+ const passslot = defineApp({
4
+ slug: "passslot",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { passslot };
9
+
10
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const passslot = defineApp({\n slug: \"passslot\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,WAAW,UAAU;CAChC,MAAM;CACN,MAAM;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const passslotCatalog = {
4
+ "slug": "passslot",
5
+ "name": "Passslot",
6
+ "description": "PassSlot is a service that simplifies the creation, design, and distribution of Apple Wallet passes, including coupons, store cards, event tickets, membership cards, and boarding passes.",
7
+ "category": "Event Management",
8
+ "logo": "https://logos.composio.dev/api/passslot",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.passslotCatalog = passslotCatalog;
14
+
15
+ //# sourceMappingURL=catalog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const passslotCatalog = {\n \"slug\": \"passslot\",\n \"name\": \"Passslot\",\n \"description\": \"PassSlot is a service that simplifies the creation, design, and distribution of Apple Wallet passes, including coupons, store cards, event tickets, membership cards, and boarding passes.\",\n \"category\": \"Event Management\",\n \"logo\": \"https://logos.composio.dev/api/passslot\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,kBAAkB;CAC7B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const passslotCatalog: {
4
+ readonly slug: "passslot";
5
+ readonly name: "Passslot";
6
+ readonly description: "PassSlot is a service that simplifies the creation, design, and distribution of Apple Wallet passes, including coupons, store cards, event tickets, membership cards, and boarding passes.";
7
+ readonly category: "Event Management";
8
+ readonly logo: "https://logos.composio.dev/api/passslot";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { passslotCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,eAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const passslotCatalog: {
4
+ readonly slug: "passslot";
5
+ readonly name: "Passslot";
6
+ readonly description: "PassSlot is a service that simplifies the creation, design, and distribution of Apple Wallet passes, including coupons, store cards, event tickets, membership cards, and boarding passes.";
7
+ readonly category: "Event Management";
8
+ readonly logo: "https://logos.composio.dev/api/passslot";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { passslotCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,eAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const passslotCatalog = {
4
+ "slug": "passslot",
5
+ "name": "Passslot",
6
+ "description": "PassSlot is a service that simplifies the creation, design, and distribution of Apple Wallet passes, including coupons, store cards, event tickets, membership cards, and boarding passes.",
7
+ "category": "Event Management",
8
+ "logo": "https://logos.composio.dev/api/passslot",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { passslotCatalog };
14
+
15
+ //# sourceMappingURL=catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const passslotCatalog = {\n \"slug\": \"passslot\",\n \"name\": \"Passslot\",\n \"description\": \"PassSlot is a service that simplifies the creation, design, and distribution of Apple Wallet passes, including coupons, store cards, event tickets, membership cards, and boarding passes.\",\n \"category\": \"Event Management\",\n \"logo\": \"https://logos.composio.dev/api/passslot\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,kBAAkB;CAC7B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,18 @@
1
+ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "passslot";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executePassslotTool(tool, args) {
7
+ const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ exports.executePassslotTool = executePassslotTool;
17
+
18
+ //# sourceMappingURL=execute.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"passslot\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executePassslotTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "passslot";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executePassslotTool(tool, args) {
7
+ const { result } = await createKeystrokeClient().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ export { executePassslotTool };
17
+
18
+ //# sourceMappingURL=execute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"passslot\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executePassslotTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/dist/index.cjs ADDED
@@ -0,0 +1,22 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_app = require("./app.cjs");
3
+ const require_catalog = require("./catalog.cjs");
4
+ const require_create_scanner = require("./actions/create-scanner.cjs");
5
+ const require_delete_scanner = require("./actions/delete-scanner.cjs");
6
+ const require_get_pass_types = require("./actions/get-pass-types.cjs");
7
+ const require_get_passes_by_pass_type = require("./actions/get-passes-by-pass-type.cjs");
8
+ const require_get_scanner = require("./actions/get-scanner.cjs");
9
+ const require_list_scanners = require("./actions/list-scanners.cjs");
10
+ const require_list_templates = require("./actions/list-templates.cjs");
11
+ const require_update_scanner = require("./actions/update-scanner.cjs");
12
+ require("./actions/index.cjs");
13
+ exports.passslot = require_app.passslot;
14
+ exports.passslotCatalog = require_catalog.passslotCatalog;
15
+ exports.passslotCreateScanner = require_create_scanner.passslotCreateScanner;
16
+ exports.passslotDeleteScanner = require_delete_scanner.passslotDeleteScanner;
17
+ exports.passslotGetPassTypes = require_get_pass_types.passslotGetPassTypes;
18
+ exports.passslotGetPassesByPassType = require_get_passes_by_pass_type.passslotGetPassesByPassType;
19
+ exports.passslotGetScanner = require_get_scanner.passslotGetScanner;
20
+ exports.passslotListScanners = require_list_scanners.passslotListScanners;
21
+ exports.passslotListTemplates = require_list_templates.passslotListTemplates;
22
+ exports.passslotUpdateScanner = require_update_scanner.passslotUpdateScanner;
@@ -0,0 +1,11 @@
1
+ import { passslotCreateScanner } from "./actions/create-scanner.cjs";
2
+ import { passslotDeleteScanner } from "./actions/delete-scanner.cjs";
3
+ import { passslotGetPassTypes } from "./actions/get-pass-types.cjs";
4
+ import { passslotGetPassesByPassType } from "./actions/get-passes-by-pass-type.cjs";
5
+ import { passslotGetScanner } from "./actions/get-scanner.cjs";
6
+ import { passslotListScanners } from "./actions/list-scanners.cjs";
7
+ import { passslotListTemplates } from "./actions/list-templates.cjs";
8
+ import { passslotUpdateScanner } from "./actions/update-scanner.cjs";
9
+ import { passslot } from "./app.cjs";
10
+ import { passslotCatalog } from "./catalog.cjs";
11
+ export { passslot, passslotCatalog, passslotCreateScanner, passslotDeleteScanner, passslotGetPassTypes, passslotGetPassesByPassType, passslotGetScanner, passslotListScanners, passslotListTemplates, passslotUpdateScanner };
@@ -0,0 +1,11 @@
1
+ import { passslotCreateScanner } from "./actions/create-scanner.mjs";
2
+ import { passslotDeleteScanner } from "./actions/delete-scanner.mjs";
3
+ import { passslotGetPassTypes } from "./actions/get-pass-types.mjs";
4
+ import { passslotGetPassesByPassType } from "./actions/get-passes-by-pass-type.mjs";
5
+ import { passslotGetScanner } from "./actions/get-scanner.mjs";
6
+ import { passslotListScanners } from "./actions/list-scanners.mjs";
7
+ import { passslotListTemplates } from "./actions/list-templates.mjs";
8
+ import { passslotUpdateScanner } from "./actions/update-scanner.mjs";
9
+ import { passslot } from "./app.mjs";
10
+ import { passslotCatalog } from "./catalog.mjs";
11
+ export { passslot, passslotCatalog, passslotCreateScanner, passslotDeleteScanner, passslotGetPassTypes, passslotGetPassesByPassType, passslotGetScanner, passslotListScanners, passslotListTemplates, passslotUpdateScanner };
package/dist/index.mjs ADDED
@@ -0,0 +1,12 @@
1
+ import { passslot } from "./app.mjs";
2
+ import { passslotCatalog } from "./catalog.mjs";
3
+ import { passslotCreateScanner } from "./actions/create-scanner.mjs";
4
+ import { passslotDeleteScanner } from "./actions/delete-scanner.mjs";
5
+ import { passslotGetPassTypes } from "./actions/get-pass-types.mjs";
6
+ import { passslotGetPassesByPassType } from "./actions/get-passes-by-pass-type.mjs";
7
+ import { passslotGetScanner } from "./actions/get-scanner.mjs";
8
+ import { passslotListScanners } from "./actions/list-scanners.mjs";
9
+ import { passslotListTemplates } from "./actions/list-templates.mjs";
10
+ import { passslotUpdateScanner } from "./actions/update-scanner.mjs";
11
+ import "./actions/index.mjs";
12
+ export { passslot, passslotCatalog, passslotCreateScanner, passslotDeleteScanner, passslotGetPassTypes, passslotGetPassesByPassType, passslotGetScanner, passslotListScanners, passslotListTemplates, passslotUpdateScanner };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/passslot",
3
+ "version": "0.1.0",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/keystrokehq/keystroke.git",
11
+ "directory": "packages/integrations/passslot"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "sideEffects": false,
17
+ "type": "module",
18
+ "main": "./dist/index.cjs",
19
+ "module": "./dist/index.mjs",
20
+ "types": "./dist/index.d.mts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.mts",
24
+ "import": "./dist/index.mjs",
25
+ "require": "./dist/index.cjs"
26
+ },
27
+ "./actions": {
28
+ "types": "./dist/actions/index.d.mts",
29
+ "import": "./dist/actions/index.mjs",
30
+ "require": "./dist/actions/index.cjs"
31
+ }
32
+ },
33
+ "peerDependencies": {
34
+ "@keystrokehq/keystroke": "^0.1.4",
35
+ "zod": "^4.4.3"
36
+ },
37
+ "devDependencies": {
38
+ "@keystrokehq/keystroke": "link:../../keystroke",
39
+ "@types/node": "^25.9.1",
40
+ "tsdown": "^0.22.0",
41
+ "typescript": "^6.0.3",
42
+ "zod": "^4.4.3"
43
+ },
44
+ "scripts": {
45
+ "build": "tsdown",
46
+ "dev": "tsdown --watch --no-clean",
47
+ "typecheck": "tsc --noEmit"
48
+ }
49
+ }