@mathrunet/masamune 3.5.9 → 3.7.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 (25) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/functions/conduct_broad_research.d.ts +1 -0
  3. package/dist/functions/conduct_broad_research.js +162 -0
  4. package/dist/functions/conduct_broad_research.js.map +1 -0
  5. package/dist/functions/conduct_detailed_research.d.ts +1 -0
  6. package/dist/functions/conduct_detailed_research.js +162 -0
  7. package/dist/functions/conduct_detailed_research.js.map +1 -0
  8. package/dist/functions/google_token.d.ts +1 -0
  9. package/dist/functions/google_token.js +105 -0
  10. package/dist/functions/google_token.js.map +1 -0
  11. package/dist/functions/schedule_asset_creation.d.ts +1 -0
  12. package/dist/functions/schedule_asset_creation.js +103 -0
  13. package/dist/functions/schedule_asset_creation.js.map +1 -0
  14. package/dist/functions/start_asset_creation.d.ts +1 -0
  15. package/dist/functions/start_asset_creation.js +106 -0
  16. package/dist/functions/start_asset_creation.js.map +1 -0
  17. package/dist/functions.d.ts +20 -0
  18. package/dist/functions.js +20 -0
  19. package/dist/functions.js.map +1 -1
  20. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.d.ts +25 -0
  21. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.js +80 -0
  22. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.js.map +1 -0
  23. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js +2 -0
  24. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js.map +1 -1
  25. package/package.json +3 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # [3.7.0](https://github.com/mathrunet/node_masamune/compare/v3.6.0...v3.7.0) (2025-11-20)
2
+
3
+
4
+ ### feat
5
+
6
+ * implement broad/detailed research and asset creation functions, alongside new documentation and tests ([0c1c05d](https://github.com/mathrunet/node_masamune/commit/0c1c05da72d25219080ac98809322b13667b047c))
7
+
8
+
9
+
10
+ # [3.6.0](https://github.com/mathrunet/node_masamune/compare/v3.5.9...v3.6.0) (2025-11-01)
11
+
12
+
13
+ ### feat
14
+
15
+ * Add GoogleToken. ([953ae3b](https://github.com/mathrunet/node_masamune/commit/953ae3bef001cfbec2eb2795bab727ee7d1c87cf))
16
+ * Enabled building of ModelVectorValue. ([fda90fe](https://github.com/mathrunet/node_masamune/commit/fda90fe53681498614acc47c59ce48072507d067))
17
+
18
+
19
+
1
20
  ## [3.5.9](https://github.com/mathrunet/node_masamune/compare/v3.5.8...v3.5.9) (2025-09-17)
2
21
 
3
22
 
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const functions = __importStar(require("firebase-functions/v2"));
46
+ const admin = __importStar(require("firebase-admin"));
47
+ const vertexai_1 = require("@google-cloud/vertexai");
48
+ module.exports = (regions, options, data) => {
49
+ var _a, _b, _c, _d;
50
+ return functions.https.onCall({
51
+ region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
52
+ timeoutSeconds: options.timeoutSeconds,
53
+ memory: options.memory,
54
+ minInstances: options.minInstances,
55
+ concurrency: options.concurrency,
56
+ maxInstances: options.maxInstances,
57
+ serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
58
+ enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
59
+ consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
60
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
61
+ var _a, _b;
62
+ const projectId = process.env.GCP_PROJECT_ID;
63
+ if (!projectId) {
64
+ throw new functions.https.HttpsError("internal", "GCP_PROJECT_ID is not set.");
65
+ }
66
+ const region = options.region ? (Array.isArray(options.region) ? options.region[0] : options.region) : regions[0];
67
+ if (!region) {
68
+ throw new functions.https.HttpsError("internal", "Region is not set.");
69
+ }
70
+ // Initialize Vertex AI
71
+ const vertexAI = new vertexai_1.VertexAI({ project: projectId, location: region });
72
+ const modelName = (_a = process.env.GEMINI_MODEL) !== null && _a !== void 0 ? _a : "gemini-2.5-pro";
73
+ const data = query.data;
74
+ const requestId = data.requestId;
75
+ if (!requestId) {
76
+ throw new functions.https.HttpsError("invalid-argument", "The function must be called with a requestId.");
77
+ }
78
+ const firestore = admin.firestore();
79
+ const requestDocRef = firestore.collection("plugins/asset/request").doc(requestId);
80
+ const requestDoc = yield requestDocRef.get();
81
+ if (!requestDoc.exists) {
82
+ throw new functions.https.HttpsError("not-found", "Request document not found.");
83
+ }
84
+ const requestData = requestDoc.data();
85
+ const channelTheme = requestData === null || requestData === void 0 ? void 0 : requestData.channelTheme;
86
+ if (!channelTheme) {
87
+ throw new functions.https.HttpsError("failed-precondition", "Channel theme is missing.");
88
+ }
89
+ try {
90
+ // Update status to processing
91
+ yield requestDocRef.update({ status: "broad_research_processing" });
92
+ // Use Gemini to generate themes
93
+ const model = vertexAI.preview.getGenerativeModel({
94
+ model: modelName,
95
+ generationConfig: {
96
+ responseMimeType: "application/json",
97
+ responseSchema: {
98
+ type: vertexai_1.SchemaType.OBJECT,
99
+ properties: {
100
+ themes: {
101
+ type: vertexai_1.SchemaType.ARRAY,
102
+ items: {
103
+ type: vertexai_1.SchemaType.STRING
104
+ }
105
+ }
106
+ },
107
+ required: ["themes"]
108
+ }
109
+ },
110
+ tools: [{
111
+ // @ts-ignore
112
+ googleSearch: {}
113
+ }]
114
+ });
115
+ const prompt = `
116
+ You are a professional video planner.
117
+ Based on the channel theme "${channelTheme}", please propose 3 specific themes for new videos.
118
+ The themes should be suitable for creating 10-15 minute videos.
119
+
120
+ Output the result in the following JSON format:
121
+ {
122
+ "themes": [
123
+ "Theme 1",
124
+ "Theme 2",
125
+ "Theme 3"
126
+ ]
127
+ }
128
+ `;
129
+ const result = yield model.generateContent(prompt);
130
+ const response = result.response;
131
+ const text = (_b = response.candidates) === null || _b === void 0 ? void 0 : _b[0].content.parts[0].text;
132
+ if (!text) {
133
+ throw new Error("Failed to generate content from Gemini.");
134
+ }
135
+ const cleanedText = text.replace(/```json/g, "").replace(/```/g, "").trim();
136
+ const json = JSON.parse(cleanedText);
137
+ const themes = json.themes;
138
+ // TODO: Check for duplicates using vector search (Phase 2)
139
+ // For now, just pick the first one
140
+ const selectedTheme = themes[0];
141
+ // Save the selected theme to a new asset document
142
+ const assetDocRef = firestore.collection("plugins/asset/asset").doc();
143
+ yield assetDocRef.set({
144
+ requestId: requestId,
145
+ theme: selectedTheme,
146
+ channelTheme: channelTheme,
147
+ status: "broad_research_completed",
148
+ createdAt: admin.firestore.FieldValue.serverTimestamp(),
149
+ updatedAt: admin.firestore.FieldValue.serverTimestamp(),
150
+ });
151
+ // Update request status
152
+ yield requestDocRef.update({ status: "broad_research_completed", assetId: assetDocRef.id });
153
+ return { success: true, selectedTheme: selectedTheme, assetId: assetDocRef.id };
154
+ }
155
+ catch (error) {
156
+ console.error("Error in conductBroadResearch:", error);
157
+ yield requestDocRef.update({ status: "broad_research_failed", error: error.message });
158
+ throw new functions.https.HttpsError("internal", "Failed to conduct broad research.", error);
159
+ }
160
+ }));
161
+ };
162
+ //# sourceMappingURL=conduct_broad_research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conduct_broad_research.js","sourceRoot":"","sources":["../../src/functions/conduct_broad_research.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const functions = __importStar(require("firebase-functions/v2"));
46
+ const admin = __importStar(require("firebase-admin"));
47
+ const vertexai_1 = require("@google-cloud/vertexai");
48
+ module.exports = (regions, options, data) => {
49
+ var _a, _b, _c, _d;
50
+ return functions.https.onCall({
51
+ region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
52
+ timeoutSeconds: options.timeoutSeconds,
53
+ memory: options.memory,
54
+ minInstances: options.minInstances,
55
+ concurrency: options.concurrency,
56
+ maxInstances: options.maxInstances,
57
+ serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
58
+ enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
59
+ consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
60
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
61
+ var _a;
62
+ const projectId = process.env.GCP_PROJECT_ID;
63
+ if (!projectId) {
64
+ throw new functions.https.HttpsError("internal", "GCP_PROJECT_ID is not set.");
65
+ }
66
+ const region = options.region ? (Array.isArray(options.region) ? options.region[0] : options.region) : regions[0];
67
+ if (!region) {
68
+ throw new functions.https.HttpsError("internal", "Region is not set.");
69
+ }
70
+ const data = query.data;
71
+ const requestId = data.requestId;
72
+ if (!requestId) {
73
+ throw new functions.https.HttpsError("invalid-argument", "The function must be called with a requestId.");
74
+ }
75
+ const firestore = admin.firestore();
76
+ const requestDocRef = firestore.collection("plugins/asset/request").doc(requestId);
77
+ try {
78
+ const requestDoc = yield requestDocRef.get();
79
+ if (!requestDoc.exists) {
80
+ throw new functions.https.HttpsError("not-found", "Request document not found.");
81
+ }
82
+ const requestData = requestDoc.data();
83
+ const assetId = requestData === null || requestData === void 0 ? void 0 : requestData.assetId;
84
+ if (!assetId) {
85
+ throw new functions.https.HttpsError("failed-precondition", "Asset ID not found in request.");
86
+ }
87
+ const assetDocRef = firestore.collection("plugins/asset/asset").doc(assetId);
88
+ const assetDoc = yield assetDocRef.get();
89
+ if (!assetDoc.exists) {
90
+ throw new functions.https.HttpsError("not-found", "Asset document not found.");
91
+ }
92
+ const assetData = assetDoc.data();
93
+ const theme = assetData === null || assetData === void 0 ? void 0 : assetData.theme;
94
+ if (!theme) {
95
+ throw new functions.https.HttpsError("failed-precondition", "Theme not found in asset.");
96
+ }
97
+ // Initialize Vertex AI
98
+ const vertexAI = new vertexai_1.VertexAI({ project: projectId, location: region });
99
+ const modelName = process.env.GEMINI_MODEL || "gemini-2.5-pro";
100
+ const model = vertexAI.preview.getGenerativeModel({
101
+ model: modelName,
102
+ generationConfig: {
103
+ responseMimeType: "application/json",
104
+ responseSchema: {
105
+ type: vertexai_1.SchemaType.OBJECT,
106
+ properties: {
107
+ title: { type: vertexai_1.SchemaType.STRING },
108
+ report: { type: vertexai_1.SchemaType.STRING }
109
+ },
110
+ required: ["title", "report"]
111
+ }
112
+ },
113
+ tools: [{
114
+ // @ts-ignore
115
+ googleSearch: {}
116
+ }]
117
+ });
118
+ const prompt = `
119
+ You are a professional researcher.
120
+ Based on the following theme, please conduct detailed research using Google Search and generate a comprehensive research report.
121
+ The report should be detailed, factual, and suitable for creating deep content later.
122
+
123
+ Theme: ${theme}
124
+
125
+ Please output in the following JSON format:
126
+ {
127
+ "title": "Report Title",
128
+ "report": "Detailed Research Report..."
129
+ }
130
+ `;
131
+ const result = yield model.generateContent(prompt);
132
+ const response = result.response;
133
+ const text = (_a = response.candidates) === null || _a === void 0 ? void 0 : _a[0].content.parts[0].text;
134
+ if (!text) {
135
+ throw new Error("Failed to generate content from Gemini.");
136
+ }
137
+ const cleanedText = text.replace(/```json/g, "").replace(/```/g, "").trim();
138
+ console.log("Raw Gemini response:", cleanedText);
139
+ const firstBrace = cleanedText.indexOf("{");
140
+ const lastBrace = cleanedText.lastIndexOf("}");
141
+ if (firstBrace === -1 || lastBrace === -1) {
142
+ throw new Error("No JSON object found in response.");
143
+ }
144
+ const jsonText = cleanedText.substring(firstBrace, lastBrace + 1);
145
+ const json = JSON.parse(jsonText);
146
+ yield assetDocRef.update({
147
+ title: json.title,
148
+ report: json.report,
149
+ status: "detailed_research_completed",
150
+ updatedAt: admin.firestore.FieldValue.serverTimestamp(),
151
+ });
152
+ yield requestDocRef.update({ status: "detailed_research_completed" });
153
+ return { success: true, assetId: assetId };
154
+ }
155
+ catch (error) {
156
+ console.error("Error in conductDetailedResearch:", error);
157
+ yield requestDocRef.update({ status: "detailed_research_failed", error: error.message });
158
+ throw new functions.https.HttpsError("internal", "Failed to conduct detailed research.", error);
159
+ }
160
+ }));
161
+ };
162
+ //# sourceMappingURL=conduct_detailed_research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conduct_detailed_research.js","sourceRoot":"","sources":["../../src/functions/conduct_detailed_research.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const functions = __importStar(require("firebase-functions/v2"));
46
+ const google_auth_library_1 = require("google-auth-library");
47
+ /**
48
+ * A function to get a Google Cloud Platform authentication token.
49
+ *
50
+ * Google Cloud Platformの認証トークンを取得するためのFunction。
51
+ *
52
+ * @param {string} process.env.GOOGLE_SERVICE_ACCOUNT
53
+ * Service account JSON.
54
+ *
55
+ * サービスアカウントJSON。
56
+ */
57
+ module.exports = (regions, options, data) => {
58
+ var _a, _b, _c, _d;
59
+ return functions.https.onCall({
60
+ region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
61
+ timeoutSeconds: options.timeoutSeconds,
62
+ memory: options.memory,
63
+ minInstances: options.minInstances,
64
+ concurrency: options.concurrency,
65
+ maxInstances: options.maxInstances,
66
+ serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
67
+ enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
68
+ consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
69
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
70
+ var _a, _b, _c;
71
+ try {
72
+ // Firebase Auth で認証チェック
73
+ if (!query.auth) {
74
+ throw new Error("Unauthenticated");
75
+ }
76
+ const duration = (_a = query.data.duration) !== null && _a !== void 0 ? _a : 3600;
77
+ const serviceAccount = process.env.GOOGLE_SERVICE_ACCOUNT;
78
+ if (!serviceAccount) {
79
+ throw new Error("Service account is required");
80
+ }
81
+ const auth = new google_auth_library_1.GoogleAuth({
82
+ credentials: JSON.parse(serviceAccount),
83
+ scopes: ["https://www.googleapis.com/auth/cloud-platform"],
84
+ clientOptions: {
85
+ lifetime: duration
86
+ }
87
+ });
88
+ const client = yield auth.getClient();
89
+ const token = yield client.getAccessToken();
90
+ const expiresIn = (_c = (_b = token.res) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.expires_in;
91
+ return {
92
+ accessToken: token.token,
93
+ expiresAt: expiresIn ? Date.now() + (Number(expiresIn) * 1000) : Date.now() + 3600 * 1000,
94
+ };
95
+ }
96
+ catch (err) {
97
+ console.error(err);
98
+ if (err instanceof functions.https.HttpsError) {
99
+ throw err;
100
+ }
101
+ throw new functions.https.HttpsError("internal", "An error occurred while processing the request.");
102
+ }
103
+ }));
104
+ };
105
+ //# sourceMappingURL=google_token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google_token.js","sourceRoot":"","sources":["../../src/functions/google_token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,6DAAiD;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA4B,EAC9B,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,SAAS;QACpD,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,SAAS;QACrD,oBAAoB,EAAE,MAAA,OAAO,CAAC,oBAAoB,mCAAI,SAAS;KAClE,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI,CAAC;YACD,wBAAwB;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,QAAqC,mCAAI,IAAI,CAAC;YAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAmD,CAAC;YACvF,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,gCAAU,CAAC;gBACxB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBACvC,MAAM,EAAE,CAAC,gDAAgD,CAAC;gBAC1D,aAAa,EAAE;oBACX,QAAQ,EAAE,QAAQ;iBACrB;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,IAAI,0CAAE,UAAU,CAAC;YAE9C,OAAO;gBACH,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5F,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,GAAG,YAAY,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,GAAG,CAAC;YACd,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC;QACxG,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const functions = __importStar(require("firebase-functions/v2"));
46
+ const firebase_loader_1 = require("../lib/src/firebase_loader");
47
+ const admin = __importStar(require("firebase-admin"));
48
+ /**
49
+ * Periodically check and start asset creation.
50
+ *
51
+ * 定期的にアセット作成をチェックし開始します。
52
+ */
53
+ module.exports = (regions, options, data) => {
54
+ var _a, _b, _c;
55
+ return functions.scheduler.onSchedule({
56
+ schedule: (_a = options.schedule) !== null && _a !== void 0 ? _a : "every 1 hours",
57
+ region: (_b = options.region) !== null && _b !== void 0 ? _b : regions[0],
58
+ timeoutSeconds: options.timeoutSeconds,
59
+ memory: options.memory,
60
+ minInstances: options.minInstances,
61
+ concurrency: options.concurrency,
62
+ maxInstances: options.maxInstances,
63
+ serviceAccount: (_c = options.serviceAccount) !== null && _c !== void 0 ? _c : undefined,
64
+ }, (event) => __awaiter(void 0, void 0, void 0, function* () {
65
+ var _a;
66
+ try {
67
+ const firestoreDatabaseIds = (_a = options.firestoreDatabaseIds) !== null && _a !== void 0 ? _a : ["(default)"];
68
+ for (const databaseId of firestoreDatabaseIds) {
69
+ try {
70
+ const firestoreInstance = (0, firebase_loader_1.firestoreLoader)(databaseId);
71
+ // Example logic: Find channels that haven't had assets created in a while
72
+ // This is a placeholder implementation.
73
+ // In a real scenario, you would query a 'channels' collection.
74
+ console.log(`Checking for asset creation tasks in database: ${databaseId || "(default)"}`);
75
+ // Placeholder: Query for pending requests that might have been missed
76
+ const requestsRef = firestoreInstance.collection("plugins/asset/request");
77
+ const snapshot = yield requestsRef.where("status", "==", "pending").limit(10).get();
78
+ if (snapshot.empty) {
79
+ console.log("No pending asset creation requests found.");
80
+ continue;
81
+ }
82
+ for (const doc of snapshot.docs) {
83
+ console.log(`Processing pending request: ${doc.id}`);
84
+ // TODO: Trigger the broad research function here
85
+ // Mark as processing to avoid double processing
86
+ yield doc.ref.update({
87
+ status: "processing",
88
+ updatedAt: admin.firestore.FieldValue.serverTimestamp(),
89
+ });
90
+ }
91
+ }
92
+ catch (err) {
93
+ console.error(`Error processing database ${databaseId}:`, err);
94
+ }
95
+ }
96
+ }
97
+ catch (err) {
98
+ console.error(err);
99
+ throw err;
100
+ }
101
+ }));
102
+ };
103
+ //# sourceMappingURL=schedule_asset_creation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule_asset_creation.js","sourceRoot":"","sources":["../../src/functions/schedule_asset_creation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,gEAA6D;AAC7D,sDAAwC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAkC,EAClC,IAA4B,EAC9B,EAAE;;IAAC,OAAA,SAAS,CAAC,SAAS,CAAC,UAAU,CAC/B;QACI,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,eAAe;QAC7C,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO,CAAC,CAAC,CAAC;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,SAAS;KACtD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI,CAAC;YACD,MAAM,oBAAoB,GAAG,MAAA,OAAO,CAAC,oBAAoB,mCAAI,CAAC,WAAW,CAAC,CAAC;YAC3E,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACD,MAAM,iBAAiB,GAAG,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAC;oBACtD,0EAA0E;oBAC1E,wCAAwC;oBACxC,+DAA+D;oBAE/D,OAAO,CAAC,GAAG,CAAC,kDAAkD,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;oBAE3F,sEAAsE;oBACtE,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;oBAC1E,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;oBAEpF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;wBACzD,SAAS;oBACb,CAAC;oBAED,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrD,iDAAiD;wBAEjD,gDAAgD;wBAChD,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;4BACjB,MAAM,EAAE,YAAY;4BACpB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE;yBAC1D,CAAC,CAAC;oBACP,CAAC;gBAEL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const functions = __importStar(require("firebase-functions/v2"));
46
+ const admin = __importStar(require("firebase-admin"));
47
+ const firebase_loader_1 = require("../lib/src/firebase_loader");
48
+ /**
49
+ * Start the asset creation process.
50
+ *
51
+ * アセット作成プロセスを開始します。
52
+ *
53
+ * @param channelTheme
54
+ * Theme of the channel.
55
+ *
56
+ * チャンネルのテーマ。
57
+ *
58
+ * @param assets
59
+ * Assets to be used.
60
+ *
61
+ * 使用するアセット。
62
+ */
63
+ module.exports = (regions, options, data) => {
64
+ var _a, _b, _c, _d;
65
+ return functions.https.onCall({
66
+ region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
67
+ timeoutSeconds: options.timeoutSeconds,
68
+ memory: options.memory,
69
+ minInstances: options.minInstances,
70
+ concurrency: options.concurrency,
71
+ maxInstances: options.maxInstances,
72
+ serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
73
+ enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
74
+ consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
75
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
76
+ try {
77
+ const channelTheme = query.data.channelTheme;
78
+ const assets = query.data.assets;
79
+ const databaseId = query.data.databaseId;
80
+ if (!channelTheme) {
81
+ throw new functions.https.HttpsError("invalid-argument", "No channel theme specified in `channelTheme`.");
82
+ }
83
+ const firestoreInstance = (0, firebase_loader_1.firestoreLoader)(databaseId);
84
+ const collectionPath = "plugins/asset/request";
85
+ const docRef = firestoreInstance.collection(collectionPath).doc();
86
+ yield docRef.set({
87
+ channelTheme: channelTheme,
88
+ assets: assets !== null && assets !== void 0 ? assets : {},
89
+ status: "pending",
90
+ createdAt: admin.firestore.FieldValue.serverTimestamp(),
91
+ updatedAt: admin.firestore.FieldValue.serverTimestamp(),
92
+ });
93
+ // TODO: Trigger the next step (e.g., broad research) or set a flag for the scheduler.
94
+ // For now, we just acknowledge the request.
95
+ return {
96
+ success: true,
97
+ requestId: docRef.id,
98
+ };
99
+ }
100
+ catch (err) {
101
+ console.error(err);
102
+ throw err;
103
+ }
104
+ }));
105
+ };
106
+ //# sourceMappingURL=start_asset_creation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start_asset_creation.js","sourceRoot":"","sources":["../../src/functions/start_asset_creation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,sDAAwC;AACxC,gEAA6D;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA4B,EAC9B,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,SAAS;QACpD,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,SAAS;QACrD,oBAAoB,EAAE,MAAA,OAAO,CAAC,oBAAoB,mCAAI,SAAS;KAClE,EACD,CAAO,KAAK,EAAE,EAAE;QACZ,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAkC,CAAC;YACnE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAA4C,CAAC;YACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAgC,CAAC;YAE/D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,+CAA+C,CAAC,CAAC;YAC9G,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,uBAAuB,CAAC;YAE/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;YAClE,MAAM,MAAM,CAAC,GAAG,CAAC;gBACb,YAAY,EAAE,YAAY;gBAC1B,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE;gBACpB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE;gBACvD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE;aAC1D,CAAC,CAAC;YAEH,sFAAsF;YACtF,4CAA4C;YAE5C,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,MAAM,CAAC,EAAE;aACvB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -223,10 +223,30 @@ export declare const Functions: {
223
223
  * 外部のFirebase Storageを利用できるようにするためのFunction。
224
224
  */
225
225
  readonly storageFirebase: (options?: data.HttpFunctionsOptions) => data.FunctionsData;
226
+ /**
227
+ * A function to get a Google Cloud Platform authentication token.
228
+ *
229
+ * Google Cloud Platformの認証トークンを取得するためのFunction。
230
+ */
231
+ readonly googleToken: (options?: data.HttpFunctionsOptions) => data.FunctionsData;
226
232
  /**
227
233
  * Endpoints for testing.
228
234
  *
229
235
  * テストを行うためのエンドポイントです。
230
236
  */
231
237
  readonly test: (options?: data.HttpFunctionsOptions) => data.FunctionsData;
238
+ /**
239
+ * Start the asset creation process.
240
+ *
241
+ * アセット作成プロセスを開始します。
242
+ */
243
+ readonly startAssetCreation: (options?: data.HttpFunctionsOptions) => data.FunctionsData;
244
+ /**
245
+ * Periodically check and start asset creation.
246
+ *
247
+ * 定期的にアセット作成をチェックし開始します。
248
+ */
249
+ readonly scheduleAssetCreation: (options?: data.SchedulerFunctionsOptions) => data.FunctionsData;
250
+ readonly conductBroadResearch: (options?: data.HttpFunctionsOptions) => data.FunctionsData;
251
+ readonly conductDetailedResearch: (options?: data.HttpFunctionsOptions) => data.FunctionsData;
232
252
  };
package/dist/functions.js CHANGED
@@ -259,11 +259,31 @@ exports.Functions = {
259
259
  * 外部のFirebase Storageを利用できるようにするためのFunction。
260
260
  */
261
261
  storageFirebase: (options = {}) => new data.FunctionsData({ id: "storage_firebase", func: require("./functions/storage_firebase"), options: options }),
262
+ /**
263
+ * A function to get a Google Cloud Platform authentication token.
264
+ *
265
+ * Google Cloud Platformの認証トークンを取得するためのFunction。
266
+ */
267
+ googleToken: (options = {}) => new data.FunctionsData({ id: "google_token", func: require("./functions/google_token"), options: options }),
262
268
  /**
263
269
  * Endpoints for testing.
264
270
  *
265
271
  * テストを行うためのエンドポイントです。
266
272
  */
267
273
  test: (options = {}) => new data.FunctionsData({ id: "test", func: require("./functions/test"), options: options }),
274
+ /**
275
+ * Start the asset creation process.
276
+ *
277
+ * アセット作成プロセスを開始します。
278
+ */
279
+ startAssetCreation: (options = {}) => new data.FunctionsData({ id: "start_asset_creation", func: require("./functions/start_asset_creation"), options: options }),
280
+ /**
281
+ * Periodically check and start asset creation.
282
+ *
283
+ * 定期的にアセット作成をチェックし開始します。
284
+ */
285
+ scheduleAssetCreation: (options = {}) => new data.FunctionsData({ id: "schedule_asset_creation", func: require("./functions/schedule_asset_creation"), options: options }),
286
+ conductBroadResearch: (options = {}) => new data.FunctionsData({ id: "conductBroadResearch", func: require("./functions/conduct_broad_research"), options: options }),
287
+ conductDetailedResearch: (options = {}) => new data.FunctionsData({ id: "conductDetailedResearch", func: require("./functions/conduct_detailed_research"), options: options }),
268
288
  };
269
289
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { FirestoreModelFieldValueConverter } from "../firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelVectorValue].
4
+ *
5
+ * [ModelVectorValue]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelVectorValueConverter extends FirestoreModelFieldValueConverter {
8
+ /**
9
+ * FirestoreConverter for [ModelVectorValue].
10
+ *
11
+ * [ModelVectorValue]用のFirestoreConverter。
12
+ */
13
+ constructor();
14
+ type: string;
15
+ convertFrom(key: string, value: any, original: {
16
+ [field: string]: any;
17
+ }, firestoreInstance: FirebaseFirestore.Firestore): {
18
+ [field: string]: any;
19
+ } | null;
20
+ convertTo(key: string, value: any, original: {
21
+ [field: string]: any;
22
+ }, firestoreInstance: FirebaseFirestore.Firestore): {
23
+ [field: string]: any;
24
+ } | null;
25
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelVectorValueConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../firestore_model_field_value_converter");
5
+ const utils_1 = require("../../utils");
6
+ /**
7
+ * FirestoreConverter for [ModelVectorValue].
8
+ *
9
+ * [ModelVectorValue]用のFirestoreConverter。
10
+ */
11
+ class FirestoreModelVectorValueConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
12
+ /**
13
+ * FirestoreConverter for [ModelVectorValue].
14
+ *
15
+ * [ModelVectorValue]用のFirestoreConverter。
16
+ */
17
+ constructor() {
18
+ super();
19
+ this.type = "ModelVectorValue";
20
+ }
21
+ convertFrom(key, value, original, firestoreInstance) {
22
+ var _a, _b;
23
+ if (Array.isArray(value)) {
24
+ const targetKey = `#${key}`;
25
+ const targetMap = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : {};
26
+ const type = (_b = targetMap["@type"]) !== null && _b !== void 0 ? _b : "";
27
+ if (type == this.type) {
28
+ return {
29
+ [key]: value.map((e) => Number(e)),
30
+ };
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ convertTo(key, value, original, firestoreInstance) {
36
+ var _a, _b, _c, _d;
37
+ if (value != null && typeof value === "object" && "@type" in value) {
38
+ const type = (_a = value["@type"]) !== null && _a !== void 0 ? _a : "";
39
+ if (type === this.type) {
40
+ const fromUser = ((_b = value["@source"]) !== null && _b !== void 0 ? _b : "") === "user";
41
+ const val = (_c = value["@list"]) !== null && _c !== void 0 ? _c : [];
42
+ const targetKey = `#${key}`;
43
+ // Handle deletion of existing keys similar to Dart implementation
44
+ const targetData = original[targetKey];
45
+ const existingKeys = (_d = (targetData && targetData["@list"])) !== null && _d !== void 0 ? _d : {};
46
+ const result = {
47
+ [targetKey]: {
48
+ "@type": this.type,
49
+ "@target": key,
50
+ },
51
+ };
52
+ if (fromUser) {
53
+ result[key] = val;
54
+ }
55
+ return result;
56
+ }
57
+ }
58
+ else if (Array.isArray(value)) {
59
+ const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
60
+ if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
61
+ throw new Error("ModelVectorValue cannot be included in a listing or map. It must be placed in the top field.");
62
+ }
63
+ }
64
+ else if ((0, utils_1.isDynamicMap)(value)) {
65
+ const map = {};
66
+ for (const k in value) {
67
+ const v = value[k];
68
+ if (v != null && typeof v === "object" && "@type" in v) {
69
+ map[k] = v;
70
+ }
71
+ }
72
+ if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
73
+ throw new Error("ModelVectorValue cannot be included in a listing or map. It must be placed in the top field.");
74
+ }
75
+ }
76
+ return null;
77
+ }
78
+ }
79
+ exports.FirestoreModelVectorValueConverter = FirestoreModelVectorValueConverter;
80
+ //# sourceMappingURL=firestore_model_vector_value_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_vector_value_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_vector_value_converter.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const firestore_model_image_uri_converter_1 = require("./converters/firestore_mo
12
12
  const firestore_basic_converter_1 = require("./converters/firestore_basic_converter");
13
13
  const firestore_enum_converter_1 = require("./converters/firestore_enum_converter");
14
14
  const firestore_model_geo_value_converter_1 = require("./converters/firestore_model_geo_value_converter");
15
+ const firestore_model_vector_value_converter_1 = require("./converters/firestore_model_vector_value_converter");
15
16
  const firestore_model_ref_converter_1 = require("./converters/firestore_model_ref_converter");
16
17
  const firestore_model_search_converter_1 = require("./converters/firestore_model_search_converter");
17
18
  const firestore_model_token_converter_1 = require("./converters/firestore_model_token_converter");
@@ -43,6 +44,7 @@ const defaultConverters = [
43
44
  new firestore_model_search_converter_1.FirestoreModelSearchConverter(),
44
45
  new firestore_model_token_converter_1.FirestoreModelTokenConverter(),
45
46
  new firestore_model_geo_value_converter_1.FirestoreModelGeoValueConverter(),
47
+ new firestore_model_vector_value_converter_1.FirestoreModelVectorValueConverter(),
46
48
  new firestore_model_ref_converter_1.FirestoreModelRefConverter(),
47
49
  new firestore_enum_converter_1.FirestoreEnumConverter(),
48
50
  new firestore_null_converter_1.FirestoreNullConverter(),
@@ -1 +1 @@
1
- {"version":3,"file":"default_firestore_model_field_value_converter.js","sourceRoot":"","sources":["../../../src/lib/model_field_value/default_firestore_model_field_value_converter.ts"],"names":[],"mappings":";;;AACA,gHAAyG;AACzG,sGAAgG;AAChG,0GAAoG;AACpG,gGAA0F;AAC1F,oGAA8F;AAC9F,sHAA+G;AAC/G,8FAAwF;AACxF,0GAAmG;AACnG,sFAAiF;AACjF,oFAA+E;AAC/E,0GAAmG;AACnG,8FAAwF;AACxF,oGAA8F;AAC9F,kGAA4F;AAC5F,0GAAmG;AACnG,oFAA+E;AAC/E,gGAA0F;AAC1F,4GAAqG;AACrG,sHAA+G;AAC/G,4GAAqG;AAErG;;;;GAIG;AACH,MAAM,iBAAiB,GAAwC;IAC3D,IAAI,2EAAkC,EAAE;IACxC,IAAI,kEAA8B,EAAE;IACpC,IAAI,sEAAgC,EAAE;IACtC,IAAI,iFAAqC,EAAE;IAC3C,IAAI,4DAA2B,EAAE;IACjC,IAAI,uEAAgC,EAAE;IACtC,IAAI,4DAA2B,EAAE;IACjC,IAAI,uEAAgC,EAAE;IACtC,IAAI,gEAA6B,EAAE;IACnC,IAAI,iFAAqC,EAAE;IAC3C,IAAI,0DAA0B,EAAE;IAChC,IAAI,qEAA+B,EAAE;IACrC,IAAI,qEAA+B,EAAE;IACrC,IAAI,gEAA6B,EAAE;IACnC,IAAI,8DAA4B,EAAE;IAClC,IAAI,qEAA+B,EAAE;IACrC,IAAI,0DAA0B,EAAE;IAChC,IAAI,iDAAsB,EAAE;IAC5B,IAAI,iDAAsB,EAAE;IAC5B,IAAI,mDAAuB,EAAE;CAChC,CAAC;AAuFO,8CAAiB;AArF1B;;;;GAIG;AACH,MAAa,sCAAsC;IAC/C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAsF;QAC9H,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,IAAI,QAAQ,GAAoC,IAAI,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBACxC,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,QAAQ,EAAE,CAAC,CAAC;gBAC9E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAsF;QAC5H,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,IAAI,QAAQ,GAAoC,IAAI,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBACxC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,QAAQ,EAAE,CAAC,CAAC;gBAC5E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA9ED,wFA8EC"}
1
+ {"version":3,"file":"default_firestore_model_field_value_converter.js","sourceRoot":"","sources":["../../../src/lib/model_field_value/default_firestore_model_field_value_converter.ts"],"names":[],"mappings":";;;AACA,gHAAyG;AACzG,sGAAgG;AAChG,0GAAoG;AACpG,gGAA0F;AAC1F,oGAA8F;AAC9F,sHAA+G;AAC/G,8FAAwF;AACxF,0GAAmG;AACnG,sFAAiF;AACjF,oFAA+E;AAC/E,0GAAmG;AACnG,gHAAyG;AACzG,8FAAwF;AACxF,oGAA8F;AAC9F,kGAA4F;AAC5F,0GAAmG;AACnG,oFAA+E;AAC/E,gGAA0F;AAC1F,4GAAqG;AACrG,sHAA+G;AAC/G,4GAAqG;AAErG;;;;GAIG;AACH,MAAM,iBAAiB,GAAwC;IAC3D,IAAI,2EAAkC,EAAE;IACxC,IAAI,kEAA8B,EAAE;IACpC,IAAI,sEAAgC,EAAE;IACtC,IAAI,iFAAqC,EAAE;IAC3C,IAAI,4DAA2B,EAAE;IACjC,IAAI,uEAAgC,EAAE;IACtC,IAAI,4DAA2B,EAAE;IACjC,IAAI,uEAAgC,EAAE;IACtC,IAAI,gEAA6B,EAAE;IACnC,IAAI,iFAAqC,EAAE;IAC3C,IAAI,0DAA0B,EAAE;IAChC,IAAI,qEAA+B,EAAE;IACrC,IAAI,qEAA+B,EAAE;IACrC,IAAI,gEAA6B,EAAE;IACnC,IAAI,8DAA4B,EAAE;IAClC,IAAI,qEAA+B,EAAE;IACrC,IAAI,2EAAkC,EAAE;IACxC,IAAI,0DAA0B,EAAE;IAChC,IAAI,iDAAsB,EAAE;IAC5B,IAAI,iDAAsB,EAAE;IAC5B,IAAI,mDAAuB,EAAE;CAChC,CAAC;AAuFO,8CAAiB;AArF1B;;;;GAIG;AACH,MAAa,sCAAsC;IAC/C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAsF;QAC9H,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,IAAI,QAAQ,GAAoC,IAAI,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBACxC,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,QAAQ,EAAE,CAAC,CAAC;gBAC9E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAsF;QAC5H,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,IAAI,QAAQ,GAAoC,IAAI,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBACxC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,QAAQ,EAAE,CAAC,CAAC;gBAC5E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA9ED,wFA8EC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mathrunet/masamune",
3
- "version": "3.5.9",
3
+ "version": "3.7.0",
4
4
  "description": "Manages packages for the server portion (NodeJS) of the Masamune framework.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -33,6 +33,7 @@
33
33
  },
34
34
  "homepage": "https://github.com/mathrunet/node_masamune#readme",
35
35
  "dependencies": {
36
+ "@google-cloud/vertexai": "^1.10.0",
36
37
  "@sendgrid/mail": "^8.1.4",
37
38
  "@types/node-fetch": "^2.6.7",
38
39
  "@types/uuid": "^10.0.0",
@@ -40,6 +41,7 @@
40
41
  "algoliasearch": "^5.20.2",
41
42
  "conventional-changelog-cli": "^5.0.0",
42
43
  "crypto": "^1.0.1",
44
+ "ffmpeg-static": "^5.3.0",
43
45
  "firebase-admin": "^13.1.0",
44
46
  "firebase-functions": "^6.3.2",
45
47
  "firebase-functions-test": "^3.4.0",