@s-hirano-ist/s-scripts 1.5.2 → 1.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.
- package/dist/find-duplicate-json-articles.js +0 -20
- package/dist/find-duplicate-json-articles.js.map +1 -1
- package/dist/infrastructures/articles-command-repository.d.ts +40 -0
- package/dist/infrastructures/articles-command-repository.d.ts.map +1 -0
- package/dist/infrastructures/articles-command-repository.js +40 -0
- package/dist/infrastructures/articles-command-repository.js.map +1 -0
- package/dist/infrastructures/books-command-repository.d.ts +17 -0
- package/dist/infrastructures/books-command-repository.d.ts.map +1 -0
- package/dist/infrastructures/books-command-repository.js +25 -0
- package/dist/infrastructures/books-command-repository.js.map +1 -0
- package/dist/infrastructures/images-command-repository.d.ts +17 -0
- package/dist/infrastructures/images-command-repository.d.ts.map +1 -0
- package/dist/infrastructures/images-command-repository.js +25 -0
- package/dist/infrastructures/images-command-repository.js.map +1 -0
- package/dist/infrastructures/notes-command-repository.d.ts +17 -0
- package/dist/infrastructures/notes-command-repository.d.ts.map +1 -0
- package/dist/infrastructures/notes-command-repository.js +25 -0
- package/dist/infrastructures/notes-command-repository.js.map +1 -0
- package/dist/rag/chunker.d.ts +10 -0
- package/dist/rag/chunker.d.ts.map +1 -0
- package/dist/rag/chunker.js +188 -0
- package/dist/rag/chunker.js.map +1 -0
- package/dist/rag/config.d.ts +44 -0
- package/dist/rag/config.d.ts.map +1 -0
- package/dist/rag/config.js +34 -0
- package/dist/rag/config.js.map +1 -0
- package/dist/rag/embedding.d.ts +15 -0
- package/dist/rag/embedding.d.ts.map +1 -0
- package/dist/rag/embedding.js +61 -0
- package/dist/rag/embedding.js.map +1 -0
- package/dist/rag/ingest.d.ts +3 -0
- package/dist/rag/ingest.d.ts.map +1 -0
- package/dist/rag/ingest.js +148 -0
- package/dist/rag/ingest.js.map +1 -0
- package/dist/rag/qdrant-client.d.ts +40 -0
- package/dist/rag/qdrant-client.d.ts.map +1 -0
- package/dist/rag/qdrant-client.js +160 -0
- package/dist/rag/qdrant-client.js.map +1 -0
- package/dist/rag/search.d.ts +3 -0
- package/dist/rag/search.d.ts.map +1 -0
- package/dist/rag/search.js +105 -0
- package/dist/rag/search.js.map +1 -0
- package/dist/reset-articles.js +10 -16
- package/dist/reset-articles.js.map +1 -1
- package/dist/reset-books.js +8 -17
- package/dist/reset-books.js.map +1 -1
- package/dist/reset-images.js +8 -17
- package/dist/reset-images.js.map +1 -1
- package/dist/reset-notes.js +8 -17
- package/dist/reset-notes.js.map +1 -1
- package/dist/revert-articles.js +9 -8
- package/dist/revert-articles.js.map +1 -1
- package/dist/revert-books.js +7 -9
- package/dist/revert-books.js.map +1 -1
- package/dist/revert-images.js +7 -9
- package/dist/revert-images.js.map +1 -1
- package/dist/revert-notes.js +7 -9
- package/dist/revert-notes.js.map +1 -1
- package/dist/update-raw-articles.js +1 -1
- package/dist/update-raw-articles.js.map +1 -1
- package/package.json +11 -4
package/dist/reset-books.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { BooksBatchDomainService } from "@s-hirano-ist/s-core/books";
|
|
3
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createBooksCommandRepository } from "./infrastructures/books-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -12,7 +14,6 @@ async function main() {
|
|
|
12
14
|
if (Object.values(env).some((v) => !v)) {
|
|
13
15
|
throw new Error("Required environment variables are not set.");
|
|
14
16
|
}
|
|
15
|
-
// Dynamic import for Prisma ESM compatibility
|
|
16
17
|
const { PrismaClient } = await import("@s-hirano-ist/s-database/generated");
|
|
17
18
|
const prisma = new PrismaClient({
|
|
18
19
|
accelerateUrl: env.DATABASE_URL ?? "",
|
|
@@ -23,23 +24,13 @@ async function main() {
|
|
|
23
24
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
25
|
});
|
|
25
26
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
|
-
const EXPORTED = "EXPORTED";
|
|
29
27
|
async function resetBooks() {
|
|
30
28
|
await prisma.$transaction(async (tx) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
36
|
-
console.log("💾 LAST_UPDATEDの本をEXPORTEDに変更しました");
|
|
37
|
-
// UNEXPORTED → LAST_UPDATED (今回バッチをマーク)
|
|
38
|
-
const result = await tx.book.updateMany({
|
|
39
|
-
where: { userId, status: UNEXPORTED },
|
|
40
|
-
data: { status: LAST_UPDATED },
|
|
41
|
-
});
|
|
42
|
-
console.log(`💾 ${result.count}件の本をリセットしました`);
|
|
29
|
+
const commandRepository = createBooksCommandRepository(tx);
|
|
30
|
+
const batchService = new BooksBatchDomainService(commandRepository);
|
|
31
|
+
const result = await batchService.resetBooks(userId);
|
|
32
|
+
console.log(`💾 LAST_UPDATEDの本をEXPORTEDに変更しました(${result.finalized.count}件)`);
|
|
33
|
+
console.log(`💾 ${result.marked.count}件の本をリセットしました`);
|
|
43
34
|
});
|
|
44
35
|
}
|
|
45
36
|
try {
|
package/dist/reset-books.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-books.js","sourceRoot":"","sources":["../src/reset-books.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"reset-books.js","sourceRoot":"","sources":["../src/reset-books.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,KAAK,UAAU,UAAU;QACxB,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;YAC/C,MAAM,iBAAiB,GAAG,4BAA4B,CACrD,EAAwD,CACxD,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAErD,OAAO,CAAC,GAAG,CACV,qCAAqC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,CAC/D,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,mBAAmB,CAAC,UAAU,CAAC,uBAAuB,EAAE;YAC7D,MAAM,EAAE,aAAa;SACrB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,uBAAuB,KAAK,EAAE,EAAE;YACrE,MAAM,EAAE,aAAa;SACrB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/reset-images.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
|
+
import { ImagesBatchDomainService } from "@s-hirano-ist/s-core/images";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createImagesCommandRepository } from "./infrastructures/images-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -12,7 +14,6 @@ async function main() {
|
|
|
12
14
|
if (Object.values(env).some((v) => !v)) {
|
|
13
15
|
throw new Error("Required environment variables are not set.");
|
|
14
16
|
}
|
|
15
|
-
// Dynamic import for Prisma ESM compatibility
|
|
16
17
|
const { PrismaClient } = await import("@s-hirano-ist/s-database/generated");
|
|
17
18
|
const prisma = new PrismaClient({
|
|
18
19
|
accelerateUrl: env.DATABASE_URL ?? "",
|
|
@@ -23,23 +24,13 @@ async function main() {
|
|
|
23
24
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
25
|
});
|
|
25
26
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
|
-
const EXPORTED = "EXPORTED";
|
|
29
27
|
async function resetImages() {
|
|
30
28
|
await prisma.$transaction(async (tx) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
36
|
-
console.log("💾 LAST_UPDATEDの画像をEXPORTEDに変更しました");
|
|
37
|
-
// UNEXPORTED → LAST_UPDATED (今回バッチをマーク)
|
|
38
|
-
const result = await tx.image.updateMany({
|
|
39
|
-
where: { userId, status: UNEXPORTED },
|
|
40
|
-
data: { status: LAST_UPDATED },
|
|
41
|
-
});
|
|
42
|
-
console.log(`💾 ${result.count}件の画像をリセットしました`);
|
|
29
|
+
const commandRepository = createImagesCommandRepository(tx);
|
|
30
|
+
const batchService = new ImagesBatchDomainService(commandRepository);
|
|
31
|
+
const result = await batchService.resetImages(userId);
|
|
32
|
+
console.log(`💾 LAST_UPDATEDの画像をEXPORTEDに変更しました(${result.finalized.count}件)`);
|
|
33
|
+
console.log(`💾 ${result.marked.count}件の画像をリセットしました`);
|
|
43
34
|
});
|
|
44
35
|
}
|
|
45
36
|
try {
|
package/dist/reset-images.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-images.js","sourceRoot":"","sources":["../src/reset-images.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"reset-images.js","sourceRoot":"","sources":["../src/reset-images.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,KAAK,UAAU,WAAW;QACzB,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;YAC/C,MAAM,iBAAiB,GAAG,6BAA6B,CACtD,EAAyD,CACzD,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEtD,OAAO,CAAC,GAAG,CACV,sCAAsC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,CAChE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,mBAAmB,CAAC,UAAU,CAAC,wBAAwB,EAAE;YAC9D,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,KAAK,EAAE,EAAE;YACtE,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/reset-notes.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
|
+
import { NotesBatchDomainService } from "@s-hirano-ist/s-core/notes";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createNotesCommandRepository } from "./infrastructures/notes-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -12,7 +14,6 @@ async function main() {
|
|
|
12
14
|
if (Object.values(env).some((v) => !v)) {
|
|
13
15
|
throw new Error("Required environment variables are not set.");
|
|
14
16
|
}
|
|
15
|
-
// Dynamic import for Prisma ESM compatibility
|
|
16
17
|
const { PrismaClient } = await import("@s-hirano-ist/s-database/generated");
|
|
17
18
|
const prisma = new PrismaClient({
|
|
18
19
|
accelerateUrl: env.DATABASE_URL ?? "",
|
|
@@ -23,23 +24,13 @@ async function main() {
|
|
|
23
24
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
25
|
});
|
|
25
26
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
|
-
const EXPORTED = "EXPORTED";
|
|
29
27
|
async function resetNotes() {
|
|
30
28
|
await prisma.$transaction(async (tx) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
36
|
-
console.log("💾 LAST_UPDATEDのノートをEXPORTEDに変更しました");
|
|
37
|
-
// UNEXPORTED → LAST_UPDATED (今回バッチをマーク)
|
|
38
|
-
const result = await tx.note.updateMany({
|
|
39
|
-
where: { userId, status: UNEXPORTED },
|
|
40
|
-
data: { status: LAST_UPDATED },
|
|
41
|
-
});
|
|
42
|
-
console.log(`💾 ${result.count}件のノートをリセットしました`);
|
|
29
|
+
const commandRepository = createNotesCommandRepository(tx);
|
|
30
|
+
const batchService = new NotesBatchDomainService(commandRepository);
|
|
31
|
+
const result = await batchService.resetNotes(userId);
|
|
32
|
+
console.log(`💾 LAST_UPDATEDのノートをEXPORTEDに変更しました(${result.finalized.count}件)`);
|
|
33
|
+
console.log(`💾 ${result.marked.count}件のノートをリセットしました`);
|
|
43
34
|
});
|
|
44
35
|
}
|
|
45
36
|
try {
|
package/dist/reset-notes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-notes.js","sourceRoot":"","sources":["../src/reset-notes.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"reset-notes.js","sourceRoot":"","sources":["../src/reset-notes.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,KAAK,UAAU,UAAU;QACxB,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;YAC/C,MAAM,iBAAiB,GAAG,4BAA4B,CACrD,EAAwD,CACxD,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAErD,OAAO,CAAC,GAAG,CACV,uCAAuC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,CACjE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,mBAAmB,CAAC,UAAU,CAAC,uBAAuB,EAAE;YAC7D,MAAM,EAAE,aAAa;SACrB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,uBAAuB,KAAK,EAAE,EAAE;YACrE,MAAM,EAAE,aAAa;SACrB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/revert-articles.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { ArticlesBatchDomainService } from "@s-hirano-ist/s-core/articles";
|
|
3
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createArticlesCommandRepository } from "./infrastructures/articles-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -23,14 +25,13 @@ async function main() {
|
|
|
23
25
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
26
|
});
|
|
25
27
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
28
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
// DDD: Create repository and domain service
|
|
30
|
+
const commandRepository = createArticlesCommandRepository(prisma);
|
|
31
|
+
const batchService = new ArticlesBatchDomainService(commandRepository);
|
|
32
|
+
// Execute batch revert through domain service
|
|
33
|
+
const result = await batchService.revertArticles(userId);
|
|
34
|
+
console.log(`💾 LAST_UPDATEDの記事をUNEXPORTEDに変更しました(${result.count}件)`);
|
|
34
35
|
await notificationService.notifyInfo("revert-articles completed", {
|
|
35
36
|
caller: "revert-articles",
|
|
36
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revert-articles.js","sourceRoot":"","sources":["../src/revert-articles.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"revert-articles.js","sourceRoot":"","sources":["../src/revert-articles.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AAEnG,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,8CAA8C;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACJ,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CACV,wCAAwC,MAAM,CAAC,KAAK,IAAI,CACxD,CAAC;QACF,MAAM,mBAAmB,CAAC,UAAU,CAAC,2BAA2B,EAAE;YACjE,MAAM,EAAE,iBAAiB;SACzB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,2BAA2B,KAAK,EAAE,EAAE;YACzE,MAAM,EAAE,iBAAiB;SACzB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/revert-books.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { BooksBatchDomainService } from "@s-hirano-ist/s-core/books";
|
|
3
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createBooksCommandRepository } from "./infrastructures/books-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -12,7 +14,6 @@ async function main() {
|
|
|
12
14
|
if (Object.values(env).some((v) => !v)) {
|
|
13
15
|
throw new Error("Required environment variables are not set.");
|
|
14
16
|
}
|
|
15
|
-
// Dynamic import for Prisma ESM compatibility
|
|
16
17
|
const { PrismaClient } = await import("@s-hirano-ist/s-database/generated");
|
|
17
18
|
const prisma = new PrismaClient({
|
|
18
19
|
accelerateUrl: env.DATABASE_URL ?? "",
|
|
@@ -23,14 +24,11 @@ async function main() {
|
|
|
23
24
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
25
|
});
|
|
25
26
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
27
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
console.log("💾 LAST_UPDATEDの本をUNEXPORTEDに変更しました");
|
|
28
|
+
const commandRepository = createBooksCommandRepository(prisma);
|
|
29
|
+
const batchService = new BooksBatchDomainService(commandRepository);
|
|
30
|
+
const result = await batchService.revertBooks(userId);
|
|
31
|
+
console.log(`💾 LAST_UPDATEDの本をUNEXPORTEDに変更しました(${result.count}件)`);
|
|
34
32
|
await notificationService.notifyInfo("revert-books completed", {
|
|
35
33
|
caller: "revert-books",
|
|
36
34
|
});
|
package/dist/revert-books.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revert-books.js","sourceRoot":"","sources":["../src/revert-books.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"revert-books.js","sourceRoot":"","sources":["../src/revert-books.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACJ,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CACV,uCAAuC,MAAM,CAAC,KAAK,IAAI,CACvD,CAAC;QACF,MAAM,mBAAmB,CAAC,UAAU,CAAC,wBAAwB,EAAE;YAC9D,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,KAAK,EAAE,EAAE;YACtE,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/revert-images.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
|
+
import { ImagesBatchDomainService } from "@s-hirano-ist/s-core/images";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createImagesCommandRepository } from "./infrastructures/images-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -12,7 +14,6 @@ async function main() {
|
|
|
12
14
|
if (Object.values(env).some((v) => !v)) {
|
|
13
15
|
throw new Error("Required environment variables are not set.");
|
|
14
16
|
}
|
|
15
|
-
// Dynamic import for Prisma ESM compatibility
|
|
16
17
|
const { PrismaClient } = await import("@s-hirano-ist/s-database/generated");
|
|
17
18
|
const prisma = new PrismaClient({
|
|
18
19
|
accelerateUrl: env.DATABASE_URL ?? "",
|
|
@@ -23,14 +24,11 @@ async function main() {
|
|
|
23
24
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
25
|
});
|
|
25
26
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
27
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
console.log("💾 LAST_UPDATEDの画像をUNEXPORTEDに変更しました");
|
|
28
|
+
const commandRepository = createImagesCommandRepository(prisma);
|
|
29
|
+
const batchService = new ImagesBatchDomainService(commandRepository);
|
|
30
|
+
const result = await batchService.revertImages(userId);
|
|
31
|
+
console.log(`💾 LAST_UPDATEDの画像をUNEXPORTEDに変更しました(${result.count}件)`);
|
|
34
32
|
await notificationService.notifyInfo("revert-images completed", {
|
|
35
33
|
caller: "revert-images",
|
|
36
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revert-images.js","sourceRoot":"","sources":["../src/revert-images.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"revert-images.js","sourceRoot":"","sources":["../src/revert-images.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACJ,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CACV,wCAAwC,MAAM,CAAC,KAAK,IAAI,CACxD,CAAC;QACF,MAAM,mBAAmB,CAAC,UAAU,CAAC,yBAAyB,EAAE;YAC/D,MAAM,EAAE,eAAe;SACvB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,yBAAyB,KAAK,EAAE,EAAE;YACvE,MAAM,EAAE,eAAe;SACvB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/revert-notes.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { makeUserId } from "@s-hirano-ist/s-core/common";
|
|
3
|
+
import { NotesBatchDomainService } from "@s-hirano-ist/s-core/notes";
|
|
3
4
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
5
|
+
import { createNotesCommandRepository } from "./infrastructures/notes-command-repository.js";
|
|
4
6
|
async function main() {
|
|
5
7
|
const env = {
|
|
6
8
|
DATABASE_URL: process.env.DATABASE_URL,
|
|
@@ -12,7 +14,6 @@ async function main() {
|
|
|
12
14
|
if (Object.values(env).some((v) => !v)) {
|
|
13
15
|
throw new Error("Required environment variables are not set.");
|
|
14
16
|
}
|
|
15
|
-
// Dynamic import for Prisma ESM compatibility
|
|
16
17
|
const { PrismaClient } = await import("@s-hirano-ist/s-database/generated");
|
|
17
18
|
const prisma = new PrismaClient({
|
|
18
19
|
accelerateUrl: env.DATABASE_URL ?? "",
|
|
@@ -23,14 +24,11 @@ async function main() {
|
|
|
23
24
|
appToken: env.PUSHOVER_APP_TOKEN ?? "",
|
|
24
25
|
});
|
|
25
26
|
const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
|
|
26
|
-
const UNEXPORTED = makeUnexportedStatus();
|
|
27
|
-
const LAST_UPDATED = makeLastUpdatedStatus();
|
|
28
27
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
console.log("💾 LAST_UPDATEDのノートをUNEXPORTEDに変更しました");
|
|
28
|
+
const commandRepository = createNotesCommandRepository(prisma);
|
|
29
|
+
const batchService = new NotesBatchDomainService(commandRepository);
|
|
30
|
+
const result = await batchService.revertNotes(userId);
|
|
31
|
+
console.log(`💾 LAST_UPDATEDのノートをUNEXPORTEDに変更しました(${result.count}件)`);
|
|
34
32
|
await notificationService.notifyInfo("revert-notes completed", {
|
|
35
33
|
caller: "revert-notes",
|
|
36
34
|
});
|
package/dist/revert-notes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revert-notes.js","sourceRoot":"","sources":["../src/revert-notes.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"revert-notes.js","sourceRoot":"","sources":["../src/revert-notes.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,KAAK,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAChD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACzC,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;QACjD,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QAC3B,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW,UAAU,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACJ,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CACV,yCAAyC,MAAM,CAAC,KAAK,IAAI,CACzD,CAAC;QACF,MAAM,mBAAmB,CAAC,UAAU,CAAC,wBAAwB,EAAE;YAC9D,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,KAAK,EAAE,EAAE;YACtE,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { mkdir, readdir, readFile, writeFile } from "node:fs/promises";
|
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { createPushoverService } from "@s-hirano-ist/s-notification";
|
|
6
6
|
import TurndownService from "turndown";
|
|
7
|
-
const FETCHED_URLS_FILE = "
|
|
7
|
+
const FETCHED_URLS_FILE = "fetched_urls.txt";
|
|
8
8
|
const JSON_DIR = "json/article";
|
|
9
9
|
const OUTPUT_DIR = "raw/article";
|
|
10
10
|
async function loadFetchedUrls() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-raw-articles.js","sourceRoot":"","sources":["../src/update-raw-articles.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,eAAe,MAAM,UAAU,CAAC;AAEvC,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"update-raw-articles.js","sourceRoot":"","sources":["../src/update-raw-articles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@s-hirano-ist/s-scripts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "CLI scripts for s-private data operations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
"fetch-images": "./dist/fetch-images.js",
|
|
10
10
|
"fetch-notes": "./dist/fetch-notes.js",
|
|
11
11
|
"find-duplicate-json-articles": "./dist/find-duplicate-json-articles.js",
|
|
12
|
+
"rag-ingest": "./dist/rag/ingest.js",
|
|
13
|
+
"rag-search": "./dist/rag/search.js",
|
|
12
14
|
"reset-articles": "./dist/reset-articles.js",
|
|
13
15
|
"reset-books": "./dist/reset-books.js",
|
|
14
16
|
"reset-images": "./dist/reset-images.js",
|
|
@@ -35,12 +37,15 @@
|
|
|
35
37
|
"access": "public"
|
|
36
38
|
},
|
|
37
39
|
"dependencies": {
|
|
40
|
+
"@huggingface/transformers": "3.5.1",
|
|
41
|
+
"@qdrant/js-client-rest": "1.13.0",
|
|
42
|
+
"glob": "11.1.0",
|
|
38
43
|
"jsdom": "26.0.0",
|
|
39
44
|
"minio": "8.0.5",
|
|
40
45
|
"turndown": "7.2.0",
|
|
41
|
-
"@s-hirano-ist/s-core": "1.
|
|
42
|
-
"@s-hirano-ist/s-database": "1.
|
|
43
|
-
"@s-hirano-ist/s-notification": "1.
|
|
46
|
+
"@s-hirano-ist/s-core": "1.7.0",
|
|
47
|
+
"@s-hirano-ist/s-database": "1.7.0",
|
|
48
|
+
"@s-hirano-ist/s-notification": "1.7.0"
|
|
44
49
|
},
|
|
45
50
|
"devDependencies": {
|
|
46
51
|
"@types/jsdom": "21.1.7",
|
|
@@ -58,6 +63,8 @@
|
|
|
58
63
|
"fetch-images": "tsx src/fetch-images.ts",
|
|
59
64
|
"fetch-notes": "tsx src/fetch-notes.ts",
|
|
60
65
|
"find-duplicate-json-articles": "tsx src/find-duplicate-json-articles.ts",
|
|
66
|
+
"rag-ingest": "tsx src/rag/ingest.ts",
|
|
67
|
+
"rag-search": "tsx src/rag/search.ts",
|
|
61
68
|
"reset-articles": "tsx src/reset-articles.ts",
|
|
62
69
|
"reset-books": "tsx src/reset-books.ts",
|
|
63
70
|
"reset-images": "tsx src/reset-images.ts",
|