@jskit-ai/agent-docs 0.1.154 → 0.1.156

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 (74) hide show
  1. package/guide/agent/app-setup/authentication.md +68 -0
  2. package/package.json +1 -1
  3. package/patterns/feature-package/example/booking-engine/package.json +1 -1
  4. package/patterns/minimal-foundation/example/package.json +4 -4
  5. package/patterns/shell-foundation/example/package.json +5 -5
  6. package/patterns/shell-foundation/example/packages/main/package.json +1 -1
  7. package/reference/autogen/PATTERN_INDEX.md +185 -20
  8. package/reference/autogen/README.md +8 -2
  9. package/reference/autogen/packages/auth-provider-local-core.md +3 -5
  10. package/reference/autogen/packages/connector-google-calendar.md +42 -0
  11. package/reference/autogen/packages/connectors-catalog.md +1320 -0
  12. package/reference/autogen/packages/connectors-core.md +85 -0
  13. package/reference/autogen/packages/connectors-web.md +31 -0
  14. package/reference/autogen/packages/payments-core.md +79 -0
  15. package/reference/autogen/packages/payments-web.md +37 -0
  16. package/reference/autogen/packages/{google-rewarded-core.md → rewarded-core.md} +36 -36
  17. package/reference/autogen/packages/rewarded-web.md +75 -0
  18. package/skills/jskit/references/pattern-index.md +185 -20
  19. package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +4 -4
  20. package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +5 -5
  21. package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
  22. package/skills/jskit/references/patterns/auth/supabase-auth/PATTERN.md +25 -0
  23. package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
  24. package/skills/jskit/references/patterns/connectors/ai-connections/PATTERN.md +84 -0
  25. package/skills/jskit/references/patterns/connectors/ai-connections/example/ai-model.js +11 -0
  26. package/skills/jskit/references/patterns/connectors/ai-connections/example/perplexity-answer.js +29 -0
  27. package/skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md +368 -0
  28. package/skills/jskit/references/patterns/connectors/api-key-connection/example/connections.js +18 -0
  29. package/skills/jskit/references/patterns/connectors/api-key-connection/example/integrations.json +19 -0
  30. package/skills/jskit/references/patterns/connectors/assistant-mcp/PATTERN.md +110 -0
  31. package/skills/jskit/references/patterns/connectors/assistant-mcp/example/integrations.json +13 -0
  32. package/skills/jskit/references/patterns/connectors/assistant-mcp-oauth/PATTERN.md +235 -0
  33. package/skills/jskit/references/patterns/connectors/assistant-mcp-oauth/example/integrations.json +102 -0
  34. package/skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md +169 -0
  35. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/data-formats.js +35 -0
  36. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/package-lock.json +49 -0
  37. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/package.json +12 -0
  38. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/verify-formats.mjs +37 -0
  39. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/integrations.json +38 -0
  40. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/s3-transfer.js +34 -0
  41. package/skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md +106 -0
  42. package/skills/jskit/references/patterns/connectors/calendar-cli/example/.env.example +6 -0
  43. package/skills/jskit/references/patterns/connectors/calendar-cli/example/integrations.json +23 -0
  44. package/skills/jskit/references/patterns/connectors/calendar-cli/example/knexfile.js +5 -0
  45. package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +16 -0
  46. package/skills/jskit/references/patterns/connectors/calendar-cli/example/scripts/calendar.js +102 -0
  47. package/skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md +151 -0
  48. package/skills/jskit/references/patterns/connectors/event-delivery/example/integrations.json +17 -0
  49. package/skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md +156 -0
  50. package/skills/jskit/references/patterns/connectors/firebase-messaging/example/server/notifications.js +23 -0
  51. package/skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md +92 -0
  52. package/skills/jskit/references/patterns/connectors/google-ads-search/example/ads-setup.js +25 -0
  53. package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +724 -0
  54. package/skills/jskit/references/patterns/connectors/oauth-connection/example/integrations.json +20 -0
  55. package/skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md +78 -0
  56. package/skills/jskit/references/patterns/connectors/paddle-catalogue/example/create-products.js +38 -0
  57. package/skills/jskit/references/patterns/connectors/public-image/PATTERN.md +84 -0
  58. package/skills/jskit/references/patterns/connectors/public-image/example/integrations.json +13 -0
  59. package/skills/jskit/references/patterns/connectors/public-image/example/logo-url.js +16 -0
  60. package/skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md +150 -0
  61. package/skills/jskit/references/patterns/connectors/redshift-queries/example/integrations.json +33 -0
  62. package/skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md +83 -0
  63. package/skills/jskit/references/patterns/connectors/source-scanning/example/source-scanner.js +13 -0
  64. package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +2 -2
  65. package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
  66. package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
  67. package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
  68. package/skills/jskit/references/patterns/rewards/google-rewarded/PATTERN.md +69 -0
  69. package/skills/jskit/references/patterns/rewards/google-rewarded/example/GoogleRewardedDeliveryProvider.js +12 -0
  70. package/skills/jskit/references/patterns/rewards/google-rewarded/example/googlePublisherTag.js +142 -0
  71. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +1 -1
  72. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +2 -2
  73. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +3 -3
  74. package/reference/autogen/packages/google-rewarded-web.md +0 -65
@@ -0,0 +1,142 @@
1
+ let gptLoadPromise = null;
2
+ let gptServicesEnabled = false;
3
+
4
+ async function ensureGooglePublisherTagLoaded() {
5
+ if (typeof window === "undefined" || typeof document === "undefined") {
6
+ throw new Error("Rewarded runtime requires a browser environment.");
7
+ }
8
+
9
+ if (window.googletag?.apiReady === true) {
10
+ return window.googletag;
11
+ }
12
+ if (gptLoadPromise) {
13
+ return gptLoadPromise;
14
+ }
15
+
16
+ window.googletag ||= { cmd: [] };
17
+ gptLoadPromise = new Promise((resolve, reject) => {
18
+ const existingScript = document.querySelector('script[data-jskit-rewarded-gpt="true"]');
19
+ if (existingScript) {
20
+ existingScript.addEventListener("load", () => resolve(window.googletag), { once: true });
21
+ existingScript.addEventListener("error", () => reject(new Error("Failed to load Google Publisher Tag.")), { once: true });
22
+ return;
23
+ }
24
+
25
+ const script = document.createElement("script");
26
+ script.async = true;
27
+ script.src = "https://securepubads.g.doubleclick.net/tag/js/gpt.js";
28
+ script.dataset.jskitRewardedGpt = "true";
29
+ script.addEventListener("load", () => resolve(window.googletag), { once: true });
30
+ script.addEventListener("error", () => reject(new Error("Failed to load Google Publisher Tag.")), { once: true });
31
+ document.head.appendChild(script);
32
+ }).catch((error) => {
33
+ gptLoadPromise = null;
34
+ throw error;
35
+ });
36
+
37
+ return gptLoadPromise;
38
+ }
39
+
40
+ function launchGoogleRewardedAd({
41
+ providerConfig,
42
+ onReady = null,
43
+ onGranted = null,
44
+ onClosed = null,
45
+ onUnavailable = null
46
+ } = {}) {
47
+ if (providerConfig?.provider !== "google-publisher-tag") {
48
+ throw new TypeError("Google delivery requires provider google-publisher-tag.");
49
+ }
50
+ const placement = String(providerConfig?.placement || "").trim();
51
+ if (!placement) throw new TypeError("Rewarded delivery requires placement.");
52
+ return ensureGooglePublisherTagLoaded().then((googletag) =>
53
+ new Promise((resolve, reject) => {
54
+ googletag.cmd.push(() => {
55
+ const pubads = googletag.pubads();
56
+ const rewardedFormat = googletag?.enums?.OutOfPageFormat?.REWARDED;
57
+ if (!rewardedFormat) {
58
+ reject(new Error("Rewarded ads are not supported by this GPT build."));
59
+ return;
60
+ }
61
+
62
+ const slot = googletag.defineOutOfPageSlot(placement, rewardedFormat);
63
+ if (!slot) {
64
+ Promise.resolve(onUnavailable?.()).finally(() => {
65
+ reject(new Error("Rewarded ads are not available on this page."));
66
+ });
67
+ return;
68
+ }
69
+
70
+ let readySeen = false;
71
+ let settled = false;
72
+
73
+ const cleanup = () => {
74
+ if (typeof pubads.removeEventListener === "function") {
75
+ pubads.removeEventListener("rewardedSlotReady", handleReady);
76
+ pubads.removeEventListener("rewardedSlotGranted", handleGranted);
77
+ pubads.removeEventListener("rewardedSlotClosed", handleClosed);
78
+ }
79
+ if (typeof googletag.destroySlots === "function") {
80
+ googletag.destroySlots([slot]);
81
+ }
82
+ };
83
+
84
+ const handleReady = async (event) => {
85
+ if (event?.slot !== slot || settled) {
86
+ return;
87
+ }
88
+ readySeen = true;
89
+ await Promise.resolve(onReady?.());
90
+ if (typeof event.makeRewardedVisible === "function") {
91
+ event.makeRewardedVisible();
92
+ }
93
+ };
94
+
95
+ const handleGranted = async (event) => {
96
+ if (event?.slot !== slot || settled) {
97
+ return;
98
+ }
99
+ await Promise.resolve(onGranted?.());
100
+ };
101
+
102
+ const handleClosed = async (event) => {
103
+ if (event?.slot !== slot || settled) {
104
+ return;
105
+ }
106
+ settled = true;
107
+ cleanup();
108
+ try {
109
+ await Promise.resolve(onClosed?.());
110
+ resolve();
111
+ } catch (error) {
112
+ reject(error);
113
+ }
114
+ };
115
+
116
+ pubads.addEventListener("rewardedSlotReady", handleReady);
117
+ pubads.addEventListener("rewardedSlotGranted", handleGranted);
118
+ pubads.addEventListener("rewardedSlotClosed", handleClosed);
119
+ slot.addService(pubads);
120
+
121
+ if (!gptServicesEnabled) {
122
+ googletag.enableServices();
123
+ gptServicesEnabled = true;
124
+ }
125
+
126
+ googletag.display(slot);
127
+ window.setTimeout(() => {
128
+ if (settled || readySeen) {
129
+ return;
130
+ }
131
+ settled = true;
132
+ cleanup();
133
+ Promise.resolve(onUnavailable?.()).finally(() => {
134
+ reject(new Error("No rewarded ad was available."));
135
+ });
136
+ }, 10000);
137
+ });
138
+ })
139
+ );
140
+ }
141
+
142
+ export { launchGoogleRewardedAd };
@@ -5,7 +5,7 @@
5
5
  "private": true,
6
6
  "type": "module",
7
7
  "dependencies": {
8
- "@jskit-ai/kernel": "0.1.182",
8
+ "@jskit-ai/kernel": "0.1.184",
9
9
  "json-rest-schema": "^1.0.17"
10
10
  },
11
11
  "exports": {
@@ -9,8 +9,8 @@
9
9
  "./shared": "./src/shared/index.js"
10
10
  },
11
11
  "dependencies": {
12
- "@jskit-ai/crud-core": "0.1.193",
13
- "@jskit-ai/resource-crud-core": "0.1.124"
12
+ "@jskit-ai/crud-core": "0.1.195",
13
+ "@jskit-ai/resource-crud-core": "0.1.126"
14
14
  },
15
15
  "jskit": {
16
16
  "kind": "runtime",
@@ -9,9 +9,9 @@
9
9
  "./shared": "./src/shared/index.js"
10
10
  },
11
11
  "dependencies": {
12
- "@jskit-ai/crud-core": "0.1.193",
13
- "@jskit-ai/resource-crud-core": "0.1.124",
14
- "@jskit-ai/workspaces-core": "0.1.160"
12
+ "@jskit-ai/crud-core": "0.1.195",
13
+ "@jskit-ai/resource-crud-core": "0.1.126",
14
+ "@jskit-ai/workspaces-core": "0.1.162"
15
15
  },
16
16
  "jskit": {
17
17
  "kind": "runtime",
@@ -1,65 +0,0 @@
1
- # packages/google-rewarded-web
2
-
3
- Generated by `npm run agent-docs:build`.
4
- Do not edit manually.
5
-
6
- Generated inventory for `packages/google-rewarded-web`.
7
- Use this on demand; do not load the full index at startup.
8
-
9
- ## Scope
10
- - Source: `packages/google-rewarded-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
12
-
13
- ## Sections
14
-
15
- ### src
16
-
17
- ### `src/client/components/GoogleRewardedGateHost.vue`
18
- Exports
19
- - None
20
- Local functions
21
- - `handleWatchClick()`
22
- - `handleCancelClick()`
23
- - `handleDismissError()`
24
-
25
- ### `src/client/composables/useGoogleRewardedRuntime.js`
26
- Exports
27
- - `useGoogleRewardedRuntime()`
28
-
29
- ### `src/client/index.js`
30
- Exports
31
- - `GoogleRewardedClientProvider`
32
- - `GoogleRewardedGateHost`
33
- - `GOOGLE_REWARDED_RUNTIME_INJECTION_KEY`
34
- - `createGoogleRewardedRuntime`
35
- - `useGoogleRewardedRuntime`
36
-
37
- ### `src/client/providers/GoogleRewardedClientProvider.js`
38
- Exports
39
- - `GoogleRewardedClientProvider`
40
-
41
- ### `src/client/runtime/googleRewardedRuntime.js`
42
- Exports
43
- - `GOOGLE_REWARDED_RUNTIME_INJECTION_KEY`
44
- - `createGoogleRewardedRuntime()`
45
- Local functions
46
- - `createInitialState()`
47
- - `applyState(target, source)`
48
- - `normalizeWorkspaceSlug(value = "")`
49
- - `isWellFormedGateState(gateState = null)`
50
- - `buildApiPath(workspaceSlug = "", action = "", query = null)`
51
- - `ensureGooglePublisherTagLoaded()`
52
- - `launchRewardedSlot({ adUnitPath = "", onReady = null, onGranted = null, onClosed = null, onUnavailable = null } = {})`
53
- - `requestCurrent(input = {})`
54
-
55
- ### `src/index.js`
56
- Exports
57
- - None
58
-
59
- ### `src/server/index.js`
60
- Exports
61
- - None
62
-
63
- ### `src/shared/index.js`
64
- Exports
65
- - None