@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.
- package/guide/agent/app-setup/authentication.md +68 -0
- package/package.json +1 -1
- package/patterns/feature-package/example/booking-engine/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +4 -4
- package/patterns/shell-foundation/example/package.json +5 -5
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/reference/autogen/PATTERN_INDEX.md +185 -20
- package/reference/autogen/README.md +8 -2
- package/reference/autogen/packages/auth-provider-local-core.md +3 -5
- package/reference/autogen/packages/connector-google-calendar.md +42 -0
- package/reference/autogen/packages/connectors-catalog.md +1320 -0
- package/reference/autogen/packages/connectors-core.md +85 -0
- package/reference/autogen/packages/connectors-web.md +31 -0
- package/reference/autogen/packages/payments-core.md +79 -0
- package/reference/autogen/packages/payments-web.md +37 -0
- package/reference/autogen/packages/{google-rewarded-core.md → rewarded-core.md} +36 -36
- package/reference/autogen/packages/rewarded-web.md +75 -0
- package/skills/jskit/references/pattern-index.md +185 -20
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +4 -4
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +5 -5
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
- package/skills/jskit/references/patterns/auth/supabase-auth/PATTERN.md +25 -0
- package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
- package/skills/jskit/references/patterns/connectors/ai-connections/PATTERN.md +84 -0
- package/skills/jskit/references/patterns/connectors/ai-connections/example/ai-model.js +11 -0
- package/skills/jskit/references/patterns/connectors/ai-connections/example/perplexity-answer.js +29 -0
- package/skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md +368 -0
- package/skills/jskit/references/patterns/connectors/api-key-connection/example/connections.js +18 -0
- package/skills/jskit/references/patterns/connectors/api-key-connection/example/integrations.json +19 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp/PATTERN.md +110 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp/example/integrations.json +13 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp-oauth/PATTERN.md +235 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp-oauth/example/integrations.json +102 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md +169 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/data-formats.js +35 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/package-lock.json +49 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/package.json +12 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/verify-formats.mjs +37 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/integrations.json +38 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/s3-transfer.js +34 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md +106 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/.env.example +6 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/integrations.json +23 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/knexfile.js +5 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +16 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/scripts/calendar.js +102 -0
- package/skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md +151 -0
- package/skills/jskit/references/patterns/connectors/event-delivery/example/integrations.json +17 -0
- package/skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md +156 -0
- package/skills/jskit/references/patterns/connectors/firebase-messaging/example/server/notifications.js +23 -0
- package/skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md +92 -0
- package/skills/jskit/references/patterns/connectors/google-ads-search/example/ads-setup.js +25 -0
- package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +724 -0
- package/skills/jskit/references/patterns/connectors/oauth-connection/example/integrations.json +20 -0
- package/skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md +78 -0
- package/skills/jskit/references/patterns/connectors/paddle-catalogue/example/create-products.js +38 -0
- package/skills/jskit/references/patterns/connectors/public-image/PATTERN.md +84 -0
- package/skills/jskit/references/patterns/connectors/public-image/example/integrations.json +13 -0
- package/skills/jskit/references/patterns/connectors/public-image/example/logo-url.js +16 -0
- package/skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md +150 -0
- package/skills/jskit/references/patterns/connectors/redshift-queries/example/integrations.json +33 -0
- package/skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md +83 -0
- package/skills/jskit/references/patterns/connectors/source-scanning/example/source-scanner.js +13 -0
- package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +2 -2
- package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
- package/skills/jskit/references/patterns/rewards/google-rewarded/PATTERN.md +69 -0
- package/skills/jskit/references/patterns/rewards/google-rewarded/example/GoogleRewardedDeliveryProvider.js +12 -0
- package/skills/jskit/references/patterns/rewards/google-rewarded/example/googlePublisherTag.js +142 -0
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +1 -1
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +2 -2
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +3 -3
- package/reference/autogen/packages/google-rewarded-web.md +0 -65
package/skills/jskit/references/patterns/rewards/google-rewarded/example/googlePublisherTag.js
ADDED
|
@@ -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 };
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"./shared": "./src/shared/index.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@jskit-ai/crud-core": "0.1.
|
|
13
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
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.
|
|
13
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
14
|
-
"@jskit-ai/workspaces-core": "0.1.
|
|
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
|