@shumai-one/shumai 0.3.7 → 0.3.9
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/bin/{chunk-2xmsrq7f.js → chunk-03ec6p4p.js} +2 -2
- package/bin/chunk-0h1yw3eq.js +1 -0
- package/bin/chunk-0kfcfd0x.js +2 -0
- package/bin/chunk-0rydta2q.js +2 -0
- package/bin/{chunk-zg60j9x2.js → chunk-0x6zt5yg.js} +1 -1
- package/bin/{chunk-ftc48rbb.js → chunk-11j7ejan.js} +3 -3
- package/bin/chunk-1eqdvehm.js +2 -0
- package/bin/chunk-24ke0th1.css +1 -0
- package/bin/{chunk-t3tp9trj.js → chunk-2ckj039r.js} +2 -2
- package/bin/chunk-2wcfw38x.js +1 -0
- package/bin/{chunk-af6wbhkv.js → chunk-331s5eb9.js} +2 -2
- package/bin/{chunk-7hnw6y6d.js → chunk-39j992fb.js} +2 -2
- package/bin/{chunk-9s02m95j.js → chunk-3h4t28zz.js} +2 -2
- package/bin/{chunk-qmpph1gt.js → chunk-4st1t79p.js} +2 -2
- package/bin/{chunk-zjj9qj6y.js → chunk-4yp5add5.js} +2 -2
- package/bin/chunk-5657zj59.js +2 -0
- package/bin/chunk-5ctpz542.js +78 -0
- package/bin/{chunk-p4c4z0f2.js → chunk-5efr8prc.js} +1 -1
- package/bin/chunk-5ex69zt3.js +2 -0
- package/bin/{chunk-0t8q76ac.js → chunk-6ja68bbj.js} +1 -1
- package/bin/{chunk-1khzycf9.js → chunk-6ts9djn2.js} +1 -1
- package/bin/{chunk-260wywfb.js → chunk-79wjyt2p.js} +1 -1
- package/bin/{chunk-9xhnmnnb.js → chunk-7a4347xe.js} +2 -2
- package/bin/chunk-7t9c532y.js +1 -0
- package/bin/{chunk-x3ynjbt5.js → chunk-7w01v7bw.js} +47 -47
- package/bin/{chunk-v98e3gex.js → chunk-7wh2mr72.js} +1 -1
- package/bin/chunk-7zvv37z0.js +7 -0
- package/bin/{chunk-t9t9evan.js → chunk-8hex1hjk.js} +2 -2
- package/bin/{chunk-n4gghgrj.js → chunk-8qryr65z.js} +2 -2
- package/bin/{chunk-81tb4v5v.js → chunk-9fc118ea.js} +2 -2
- package/bin/{chunk-esrtafz0.js → chunk-9s1fdecm.js} +1 -1
- package/bin/chunk-9vjkb4vh.js +1 -0
- package/bin/{chunk-k48y9e5s.js → chunk-a2m63585.js} +1 -1
- package/bin/{chunk-5gtew41y.js → chunk-a6s80m0k.js} +1 -1
- package/bin/{chunk-50keqtz9.js → chunk-agvb6bpw.js} +1 -1
- package/bin/{chunk-karn564z.js → chunk-ar79dg9g.js} +2 -2
- package/bin/{chunk-6fv38qdc.js → chunk-awaf0g5z.js} +2 -2
- package/bin/chunk-b0kh9jpt.js +1 -0
- package/bin/{chunk-9gzy30zm.js → chunk-bdwtaj3w.js} +2 -2
- package/bin/{chunk-3dx0p1ge.js → chunk-c32x8x6z.js} +1 -1
- package/bin/{chunk-38g3s1f3.js → chunk-c4yr75hy.js} +2 -2
- package/bin/chunk-d5v9nz51.js +1 -0
- package/bin/{chunk-zwgf211t.js → chunk-ddt5224b.js} +2 -2
- package/bin/{chunk-6zs49mef.js → chunk-dntwxkyf.js} +1 -1
- package/bin/{chunk-tzt4c1dm.js → chunk-dt9wfyf2.js} +2 -2
- package/bin/{chunk-tpp9qf5m.js → chunk-eekmnfn4.js} +2 -2
- package/bin/{chunk-a0k1b4sq.js → chunk-ej18j83b.js} +1 -1
- package/bin/{chunk-7872prvg.js → chunk-f37ywvvp.js} +1 -1
- package/bin/{chunk-7k3ccca6.js → chunk-fbqr4v70.js} +1 -1
- package/bin/chunk-ff8zrme6.js +1 -0
- package/bin/{chunk-qy93r7tm.js → chunk-fhd9yadg.js} +2 -2
- package/bin/chunk-g2qeb32y.js +2 -0
- package/bin/chunk-gtqchcj0.js +2 -0
- package/bin/{chunk-b8v7jvkb.js → chunk-h7jb1xb4.js} +2 -2
- package/bin/chunk-hdx9q31r.js +1 -0
- package/bin/chunk-hk5pwxhf.js +2 -0
- package/bin/chunk-hx2y4d75.js +2 -0
- package/bin/{chunk-dej1gq35.js → chunk-j4byth37.js} +1 -1
- package/bin/chunk-jkpxykx9.css +1 -0
- package/bin/chunk-jq28ge97.js +1 -0
- package/bin/{chunk-2086rsb2.js → chunk-jt7fdhke.js} +1 -1
- package/bin/{chunk-jszpvg8e.js → chunk-jvn0xnj8.js} +2 -2
- package/bin/{chunk-g60v3jc1.js → chunk-jx9tqjh9.js} +1 -1
- package/bin/chunk-mffjg6zb.js +2 -0
- package/bin/{chunk-4bn9eb9h.js → chunk-mv4v52ah.js} +1 -1
- package/bin/{chunk-gjdmnfms.js → chunk-mwrheqe3.js} +1 -1
- package/bin/{chunk-ptw49k86.js → chunk-n3997tqa.js} +1 -1
- package/bin/chunk-n3e4agsa.js +2 -0
- package/bin/chunk-naaa5ejw.js +2 -0
- package/bin/chunk-nc9hbzad.js +3 -0
- package/bin/{chunk-s0hgykza.js → chunk-nn753fbs.js} +2 -2
- package/bin/{chunk-hqkmdp31.js → chunk-nw1ch5d8.js} +2 -2
- package/bin/chunk-p2wyyvfa.js +2 -0
- package/bin/chunk-p65avrcv.js +2 -0
- package/bin/{chunk-fcs4v6jq.js → chunk-pfwt5734.js} +2 -2
- package/bin/chunk-ppwy5dja.js +1 -0
- package/bin/chunk-ptmxkptc.js +14 -0
- package/bin/chunk-px660tvj.js +2 -0
- package/bin/{chunk-3kqdgddm.js → chunk-q3y6kdkh.js} +2 -2
- package/bin/chunk-qbs0nvbn.js +3 -0
- package/bin/{chunk-gjn3w26y.js → chunk-qp1hkx9k.js} +2 -2
- package/bin/{chunk-87wqbn4g.js → chunk-qt6j0fm6.js} +2 -2
- package/bin/{chunk-3xzgddev.js → chunk-r0c9vmfm.js} +1 -1
- package/bin/chunk-r7crhkhn.js +5 -0
- package/bin/{chunk-b3jh3hf1.js → chunk-rq6bvf0t.js} +2 -2
- package/bin/{chunk-zqg4f56h.js → chunk-s78r8f5v.js} +1 -1
- package/bin/chunk-t6gqzden.js +1 -0
- package/bin/{chunk-nvjp2rnh.js → chunk-tfwtxwth.js} +2 -2
- package/bin/{chunk-1sqz0va1.js → chunk-tk362keq.js} +2 -2
- package/bin/chunk-tn24as5d.js +2 -0
- package/bin/{chunk-qdycy714.js → chunk-tx42kfdh.js} +1 -1
- package/bin/{chunk-vxpnp4xg.js → chunk-v2dksv7p.js} +2 -2
- package/bin/chunk-v2n1hwt3.js +1 -0
- package/bin/chunk-v5c6t1w3.js +41 -0
- package/bin/{chunk-0ycwr0kb.js → chunk-va9hwggw.js} +1 -1
- package/bin/{chunk-bancgvrc.js → chunk-vf6mpxrd.js} +2 -2
- package/bin/{chunk-f2j2cqd1.js → chunk-vhcsdnzv.js} +2 -2
- package/bin/{chunk-48nzw50r.js → chunk-vtm39m0n.js} +1 -1
- package/bin/{chunk-br5xkaf7.js → chunk-vwayy6dy.js} +3 -3
- package/bin/chunk-w4e52ade.js +2 -0
- package/bin/{chunk-6v39c8eg.js → chunk-wjk0f9fq.js} +2 -2
- package/bin/chunk-wk153p7c.js +1 -0
- package/bin/{chunk-cqq8e3hc.js → chunk-wth2f791.js} +2 -2
- package/bin/{chunk-503qq6sa.js → chunk-wy82m4nq.js} +2 -2
- package/bin/{chunk-r5dv0rfv.js → chunk-wzw7rrfy.js} +2 -2
- package/bin/{chunk-kpn9d97x.js → chunk-x6ta6e2v.js} +1 -1
- package/bin/chunk-y8wj6g7y.js +11 -0
- package/bin/chunk-ympx92ct.js +1 -0
- package/bin/{chunk-v8w2nxew.js → chunk-ytgtf0ak.js} +1 -1
- package/bin/{chunk-9nyhmtp9.js → chunk-yvknqnkb.js} +2 -2
- package/bin/chunk-yx6mahz0.js +1 -0
- package/bin/{chunk-x6532q76.js → chunk-z71h48pj.js} +1 -1
- package/bin/{chunk-ytzk81tr.js → chunk-z7m6sa7g.js} +1 -1
- package/bin/chunk-z8s40zfa.js +68 -0
- package/bin/{chunk-1xzc6z02.js → chunk-zafjhkkk.js} +1 -1
- package/bin/{chunk-rfyaphas.js → chunk-zcxajg6j.js} +2 -2
- package/bin/{chunk-0jkqmbcx.js → chunk-zq665ybs.js} +1 -1
- package/bin/{chunk-98j2z6he.js → chunk-zvq0btde.js} +3 -3
- package/bin/{chunk-qcqw7wnv.js → chunk-zwny8t7c.js} +2 -2
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +494 -370
- package/package.json +7 -7
- package/prisma/migrations/20260814090300_add_asset_agentmd/migration.sql +2 -0
- package/prisma/migrations/20260814125921_create_asset_agentmd_table/migration.sql +21 -0
- package/prisma/migrations/20260816020719_add_agent_permission/migration.sql +2 -0
- package/prisma/migrations/20260817022118_add_quota_rules_and_records/migration.sql +68 -0
- package/prisma/migrations/20260818025858_remove_agent_skill_call_count_from_quota_resource_type/migration.sql +14 -0
- package/prisma/schema.prisma +82 -0
- package/bin/chunk-0xern7e4.js +0 -1
- package/bin/chunk-0yngn45x.js +0 -2
- package/bin/chunk-2mqqghrz.js +0 -2
- package/bin/chunk-4egayx81.js +0 -2
- package/bin/chunk-4rbzswqs.js +0 -71
- package/bin/chunk-60hpa5kf.js +0 -3
- package/bin/chunk-69tt1pvr.js +0 -2
- package/bin/chunk-815ezj20.js +0 -1
- package/bin/chunk-83k0wa5k.js +0 -2
- package/bin/chunk-85eg9xqx.js +0 -1
- package/bin/chunk-86aagej8.js +0 -1
- package/bin/chunk-8y1v9dm9.js +0 -2
- package/bin/chunk-9gq9782d.js +0 -1
- package/bin/chunk-bv88se28.css +0 -1
- package/bin/chunk-dv1zpd2p.js +0 -15
- package/bin/chunk-eetrc0j1.js +0 -3
- package/bin/chunk-eztggp8r.js +0 -1
- package/bin/chunk-gf5ds9r9.js +0 -2
- package/bin/chunk-h9emz0zb.js +0 -2
- package/bin/chunk-h9k2atte.js +0 -1
- package/bin/chunk-kkq4wvnc.js +0 -1
- package/bin/chunk-ksx113sp.js +0 -1
- package/bin/chunk-m6a4rzdt.js +0 -62
- package/bin/chunk-mw8f8ngt.js +0 -7
- package/bin/chunk-n76r6s9k.js +0 -2
- package/bin/chunk-qh9rz2ee.js +0 -11
- package/bin/chunk-rvspnthy.js +0 -1
- package/bin/chunk-sjjndwt4.js +0 -2
- package/bin/chunk-tvg9gvqs.js +0 -1
- package/bin/chunk-xp4dcyk3.js +0 -1
- package/bin/chunk-y8aehqr8.js +0 -2
- package/bin/chunk-yvxt48r4.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shumai-one/shumai",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"description": "A fullstack AI-powered media workspace and workflow engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"zod": "4.4.3"
|
|
28
28
|
},
|
|
29
29
|
"optionalDependencies": {
|
|
30
|
-
"@shumai-one/shumai-darwin-arm64": "0.3.
|
|
31
|
-
"@shumai-one/shumai-darwin-x64": "0.3.
|
|
32
|
-
"@shumai-one/shumai-linux-arm64": "0.3.
|
|
33
|
-
"@shumai-one/shumai-linux-x64": "0.3.
|
|
34
|
-
"@shumai-one/shumai-win32-arm64": "0.3.
|
|
35
|
-
"@shumai-one/shumai-win32-x64": "0.3.
|
|
30
|
+
"@shumai-one/shumai-darwin-arm64": "0.3.9",
|
|
31
|
+
"@shumai-one/shumai-darwin-x64": "0.3.9",
|
|
32
|
+
"@shumai-one/shumai-linux-arm64": "0.3.9",
|
|
33
|
+
"@shumai-one/shumai-linux-x64": "0.3.9",
|
|
34
|
+
"@shumai-one/shumai-win32-arm64": "0.3.9",
|
|
35
|
+
"@shumai-one/shumai-win32-x64": "0.3.9"
|
|
36
36
|
},
|
|
37
37
|
"repository": {
|
|
38
38
|
"type": "git",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Warnings:
|
|
3
|
+
|
|
4
|
+
- You are about to drop the column `agentmd` on the `assets` table. All the data in the column will be lost.
|
|
5
|
+
|
|
6
|
+
*/
|
|
7
|
+
-- AlterTable
|
|
8
|
+
ALTER TABLE "assets" DROP COLUMN "agentmd";
|
|
9
|
+
|
|
10
|
+
-- CreateTable
|
|
11
|
+
CREATE TABLE "asset_agentmd" (
|
|
12
|
+
"asset_id" TEXT NOT NULL,
|
|
13
|
+
"content" TEXT NOT NULL,
|
|
14
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
16
|
+
|
|
17
|
+
CONSTRAINT "asset_agentmd_pkey" PRIMARY KEY ("asset_id")
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
-- AddForeignKey
|
|
21
|
+
ALTER TABLE "asset_agentmd" ADD CONSTRAINT "asset_agentmd_asset_id_fkey" FOREIGN KEY ("asset_id") REFERENCES "assets"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
-- CreateEnum
|
|
2
|
+
CREATE TYPE "QuotaScopeMode" AS ENUM ('all_members', 'each_member', 'selected_members');
|
|
3
|
+
|
|
4
|
+
-- CreateEnum
|
|
5
|
+
CREATE TYPE "QuotaPeriod" AS ENUM ('1hour', '5hour', '1day', '7day');
|
|
6
|
+
|
|
7
|
+
-- CreateEnum
|
|
8
|
+
CREATE TYPE "QuotaResourceType" AS ENUM ('agent_total_tokens', 'agent_cost', 'agent_skill_call_count', 'agent_mcp_call_count', 'agent_bash_call_count', 'agent_tool_call_count');
|
|
9
|
+
|
|
10
|
+
-- CreateTable
|
|
11
|
+
CREATE TABLE "quota_rules" (
|
|
12
|
+
"id" TEXT NOT NULL,
|
|
13
|
+
"team_id" TEXT NOT NULL,
|
|
14
|
+
"scope_mode" "QuotaScopeMode" NOT NULL,
|
|
15
|
+
"role" "TeamMemberRole",
|
|
16
|
+
"user_ids" JSONB,
|
|
17
|
+
"resource" "QuotaResourceType" NOT NULL,
|
|
18
|
+
"resource_data" JSONB,
|
|
19
|
+
"limit" DOUBLE PRECISION NOT NULL,
|
|
20
|
+
"period" "QuotaPeriod" NOT NULL,
|
|
21
|
+
"enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
22
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
23
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
24
|
+
|
|
25
|
+
CONSTRAINT "quota_rules_pkey" PRIMARY KEY ("id")
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
-- CreateTable
|
|
29
|
+
CREATE TABLE "quota_records" (
|
|
30
|
+
"id" TEXT NOT NULL,
|
|
31
|
+
"rule_id" TEXT NOT NULL,
|
|
32
|
+
"team_id" TEXT NOT NULL,
|
|
33
|
+
"user_id" TEXT,
|
|
34
|
+
"period_start" TIMESTAMP(3),
|
|
35
|
+
"period_end" TIMESTAMP(3),
|
|
36
|
+
"consumed" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
|
37
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
38
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
39
|
+
|
|
40
|
+
CONSTRAINT "quota_records_pkey" PRIMARY KEY ("id")
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
-- CreateIndex
|
|
44
|
+
CREATE INDEX "quota_rules_team_id_enabled_idx" ON "quota_rules"("team_id", "enabled");
|
|
45
|
+
|
|
46
|
+
-- CreateIndex
|
|
47
|
+
CREATE INDEX "quota_rules_team_id_resource_idx" ON "quota_rules"("team_id", "resource");
|
|
48
|
+
|
|
49
|
+
-- CreateIndex
|
|
50
|
+
CREATE INDEX "quota_records_team_id_user_id_idx" ON "quota_records"("team_id", "user_id");
|
|
51
|
+
|
|
52
|
+
-- CreateIndex
|
|
53
|
+
CREATE INDEX "quota_records_rule_id_idx" ON "quota_records"("rule_id");
|
|
54
|
+
|
|
55
|
+
-- CreateIndex
|
|
56
|
+
CREATE UNIQUE INDEX "quota_records_rule_id_user_id_key" ON "quota_records"("rule_id", "user_id");
|
|
57
|
+
|
|
58
|
+
-- AddForeignKey
|
|
59
|
+
ALTER TABLE "quota_rules" ADD CONSTRAINT "quota_rules_team_id_fkey" FOREIGN KEY ("team_id") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
60
|
+
|
|
61
|
+
-- AddForeignKey
|
|
62
|
+
ALTER TABLE "quota_records" ADD CONSTRAINT "quota_records_rule_id_fkey" FOREIGN KEY ("rule_id") REFERENCES "quota_rules"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
63
|
+
|
|
64
|
+
-- AddForeignKey
|
|
65
|
+
ALTER TABLE "quota_records" ADD CONSTRAINT "quota_records_team_id_fkey" FOREIGN KEY ("team_id") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
66
|
+
|
|
67
|
+
-- AddForeignKey
|
|
68
|
+
ALTER TABLE "quota_records" ADD CONSTRAINT "quota_records_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Warnings:
|
|
3
|
+
|
|
4
|
+
- The values [agent_skill_call_count] on the enum `QuotaResourceType` will be removed. If these variants are still used in the database, this will fail.
|
|
5
|
+
|
|
6
|
+
*/
|
|
7
|
+
-- AlterEnum
|
|
8
|
+
BEGIN;
|
|
9
|
+
CREATE TYPE "QuotaResourceType_new" AS ENUM ('agent_total_tokens', 'agent_cost', 'agent_mcp_call_count', 'agent_bash_call_count', 'agent_tool_call_count');
|
|
10
|
+
ALTER TABLE "quota_rules" ALTER COLUMN "resource" TYPE "QuotaResourceType_new" USING ("resource"::text::"QuotaResourceType_new");
|
|
11
|
+
ALTER TYPE "QuotaResourceType" RENAME TO "QuotaResourceType_old";
|
|
12
|
+
ALTER TYPE "QuotaResourceType_new" RENAME TO "QuotaResourceType";
|
|
13
|
+
DROP TYPE "public"."QuotaResourceType_old";
|
|
14
|
+
COMMIT;
|
package/prisma/schema.prisma
CHANGED
|
@@ -135,6 +135,27 @@ enum WatermarkFileStatus {
|
|
|
135
135
|
failed
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
enum QuotaScopeMode {
|
|
139
|
+
all_members
|
|
140
|
+
each_member
|
|
141
|
+
selected_members
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
enum QuotaPeriod {
|
|
145
|
+
one_hour @map("1hour")
|
|
146
|
+
five_hours @map("5hour")
|
|
147
|
+
one_day @map("1day")
|
|
148
|
+
seven_days @map("7day")
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
enum QuotaResourceType {
|
|
152
|
+
agent_total_tokens
|
|
153
|
+
agent_cost
|
|
154
|
+
agent_mcp_call_count
|
|
155
|
+
agent_bash_call_count
|
|
156
|
+
agent_tool_call_count
|
|
157
|
+
}
|
|
158
|
+
|
|
138
159
|
// ----------------------------------------------------------------------
|
|
139
160
|
// Models
|
|
140
161
|
// ----------------------------------------------------------------------
|
|
@@ -172,6 +193,7 @@ model User {
|
|
|
172
193
|
apiTokens ApiToken[] @relation("UserToApiToken")
|
|
173
194
|
aiUsages AiUsage[] @relation("UserToAiUsage")
|
|
174
195
|
auditLogs AuditLog[] @relation("UserToAuditLog")
|
|
196
|
+
quotaRecords QuotaRecord[] @relation("UserToQuotaRecord")
|
|
175
197
|
|
|
176
198
|
@@map("users")
|
|
177
199
|
}
|
|
@@ -258,6 +280,8 @@ model Team {
|
|
|
258
280
|
aiUsages AiUsage[] @relation("TeamToAiUsage")
|
|
259
281
|
auditLogs AuditLog[] @relation("TeamToAuditLog")
|
|
260
282
|
watermarkTemplates WatermarkTemplate[] @relation("TeamToWatermarkTemplate")
|
|
283
|
+
quotaRules QuotaRule[] @relation("TeamToQuotaRule")
|
|
284
|
+
quotaRecords QuotaRecord[] @relation("TeamToQuotaRecord")
|
|
261
285
|
|
|
262
286
|
@@map("teams")
|
|
263
287
|
}
|
|
@@ -490,6 +514,7 @@ model Asset {
|
|
|
490
514
|
shareLinkRootFolder ShareLink? @relation("ShareLinkToRootFolder")
|
|
491
515
|
agentSessions AgentSession[] @relation("AssetToAgentSession")
|
|
492
516
|
watermarkFiles WatermarkFile[] @relation("AssetToWatermarkFile")
|
|
517
|
+
agentMd AssetAgentMd? @relation("AssetToAgentMd")
|
|
493
518
|
|
|
494
519
|
@@map("assets")
|
|
495
520
|
@@index([type])
|
|
@@ -537,6 +562,17 @@ model AssetMetadataValue {
|
|
|
537
562
|
@@map("asset_metadata_values")
|
|
538
563
|
}
|
|
539
564
|
|
|
565
|
+
model AssetAgentMd {
|
|
566
|
+
assetId String @id @map("asset_id")
|
|
567
|
+
content String @db.Text
|
|
568
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
569
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
570
|
+
|
|
571
|
+
asset Asset @relation("AssetToAgentMd", fields: [assetId], references: [id], onDelete: Cascade)
|
|
572
|
+
|
|
573
|
+
@@map("asset_agentmd")
|
|
574
|
+
}
|
|
575
|
+
|
|
540
576
|
model AssetComment {
|
|
541
577
|
id String @id @default(ulid())
|
|
542
578
|
message String?
|
|
@@ -739,6 +775,7 @@ model Agent {
|
|
|
739
775
|
user User @relation(fields: [id], references: [id], onDelete: Cascade)
|
|
740
776
|
type AgentType
|
|
741
777
|
enabled Boolean @default(true)
|
|
778
|
+
permission TeamMemberRole @default(reviewer)
|
|
742
779
|
soul String? @db.Text
|
|
743
780
|
providerId String? @map("provider_id")
|
|
744
781
|
provider Provider? @relation("ProviderToAgent", fields: [providerId], references: [id], onDelete: SetNull)
|
|
@@ -1005,4 +1042,49 @@ model AuditLog {
|
|
|
1005
1042
|
@@map("audit_logs")
|
|
1006
1043
|
}
|
|
1007
1044
|
|
|
1045
|
+
model QuotaRule {
|
|
1046
|
+
id String @id @default(ulid())
|
|
1047
|
+
teamId String @map("team_id")
|
|
1048
|
+
scopeMode QuotaScopeMode @map("scope_mode")
|
|
1049
|
+
role TeamMemberRole? @map("role")
|
|
1050
|
+
/// [QuotaUserIds]
|
|
1051
|
+
userIds Json? @map("user_ids")
|
|
1052
|
+
resource QuotaResourceType @map("resource")
|
|
1053
|
+
/// [QuotaResourceData]
|
|
1054
|
+
resourceData Json? @map("resource_data")
|
|
1055
|
+
limit Float @map("limit")
|
|
1056
|
+
period QuotaPeriod @map("period")
|
|
1057
|
+
enabled Boolean @default(true) @map("enabled")
|
|
1058
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
1059
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
1060
|
+
|
|
1061
|
+
team Team @relation("TeamToQuotaRule", fields: [teamId], references: [id], onDelete: Cascade)
|
|
1062
|
+
records QuotaRecord[] @relation("QuotaRuleToRecord")
|
|
1063
|
+
|
|
1064
|
+
@@index([teamId, enabled])
|
|
1065
|
+
@@index([teamId, resource])
|
|
1066
|
+
@@map("quota_rules")
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
model QuotaRecord {
|
|
1070
|
+
id String @id @default(ulid())
|
|
1071
|
+
ruleId String @map("rule_id")
|
|
1072
|
+
teamId String @map("team_id")
|
|
1073
|
+
userId String? @map("user_id")
|
|
1074
|
+
periodStart DateTime? @map("period_start")
|
|
1075
|
+
periodEnd DateTime? @map("period_end")
|
|
1076
|
+
consumed Float @default(0) @map("consumed")
|
|
1077
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
1078
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
1079
|
+
|
|
1080
|
+
rule QuotaRule @relation("QuotaRuleToRecord", fields: [ruleId], references: [id], onDelete: Cascade)
|
|
1081
|
+
team Team @relation("TeamToQuotaRecord", fields: [teamId], references: [id], onDelete: Cascade)
|
|
1082
|
+
user User? @relation("UserToQuotaRecord", fields: [userId], references: [id], onDelete: Cascade)
|
|
1083
|
+
|
|
1084
|
+
@@unique([ruleId, userId])
|
|
1085
|
+
@@index([teamId, userId])
|
|
1086
|
+
@@index([ruleId])
|
|
1087
|
+
@@map("quota_records")
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1008
1090
|
|
package/bin/chunk-0xern7e4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as x}from"./chunk-zwgf211t.js";import"./chunk-sjjndwt4.js";import"./chunk-qcqw7wnv.js";import"./chunk-x3ynjbt5.js";import"./chunk-dv1zpd2p.js";import"./chunk-mw8f8ngt.js";import"./chunk-y8aehqr8.js";import"./chunk-9nyhmtp9.js";import"./chunk-r5dv0rfv.js";import"./chunk-83k0wa5k.js";import"./chunk-8y1v9dm9.js";import"./chunk-tpp9qf5m.js";import"./chunk-4rbzswqs.js";import"./chunk-rfyaphas.js";import"./chunk-0yngn45x.js";import"./chunk-5gtew41y.js";import"./chunk-3kqdgddm.js";import"./chunk-karn564z.js";import{Bf as f}from"./chunk-9gzy30zm.js";import{Sf as p}from"./chunk-s0hgykza.js";import"./chunk-38g3s1f3.js";import"./chunk-qmpph1gt.js";import"./chunk-zjj9qj6y.js";import"./chunk-eetrc0j1.js";import"./chunk-9s02m95j.js";import"./chunk-87wqbn4g.js";import"./chunk-69tt1pvr.js";import"./chunk-f2j2cqd1.js";import"./chunk-2xmsrq7f.js";import"./chunk-af6wbhkv.js";import"./chunk-2mqqghrz.js";import{th as h}from"./chunk-n4gghgrj.js";import{Eh as l,Fh as r,Rh as o,bi as c,xh as w,zh as a}from"./chunk-m6a4rzdt.js";import{Nl as m}from"./chunk-dej1gq35.js";var g=m(w(),1);function v(){let{projectId:e}=d.useParams(),{teamId:s,ensureTeamIdForProject:n}=h();g.useEffect(()=>{n(e)},[e,n]);let{data:i}=r(f(e)),t=i?.rootFolder,{data:b}=l({queryKey:["folders",t],queryFn:()=>(async()=>{return await(await c.api.folders[":folderId"].$get({param:{folderId:t}})).json()})(),enabled:!!t});if(!s||!t||!b)return a(p,{});return a(x,{teamId:s,projectId:e,projectName:i.name??"",assetId:"recently-deleted",rootFolderId:t})}var d=o("/projects/$projectId/recently-deleted")({component:v});export{d as Route};
|
package/bin/chunk-0yngn45x.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ib as Vq}from"./chunk-5gtew41y.js";import{kb as Qq,lb as Wq,mb as Xq,nb as Yq,ob as Zq,pb as _q,qb as $q,rb as Hq}from"./chunk-karn564z.js";import{Hg as o,Ig as r,Jg as m,Kg as e}from"./chunk-2xmsrq7f.js";import{hh as P,jh as k,kh as G,mh as B,nh as Y}from"./chunk-n4gghgrj.js";import{$h as W,Ah as K,Ck as X,Dk as h,Ek as C,Fk as O,Ik as J,Jk as qq,Ki as H,Kk as Eq,Mk as Jq,Nk as Kq,Pk as Nq,Ui as n,Xj as s,ni as z,xh as Cq,yh as t,zh as E}from"./chunk-m6a4rzdt.js";import{Nl as hq}from"./chunk-dej1gq35.js";var Z=hq(Cq(),1);function uq({open:fq,onOpenChange:Fq,title:zq,members:g,isOwner:_,onInvite:c,onUpdateRole:I,onRemoveMember:v,currentUserId:Pq,availableMembersToAdd:M,onAddMember:L,type:V="team"}){let[T,u]=Z.useState("editor"),[S,p]=Z.useState(null),[l,x]=Z.useState(!1),[D,U]=Z.useState(null),[f,A]=Z.useState(null),[j,i]=Z.useState({}),[$,F]=Z.useState(null),y=(q)=>{if(!q)return"";switch(q.toLowerCase()){case"owner":return J.owner();case"editor":return J.editor();case"reviewer":return J.reviewer();default:return q}},a=(q,N)=>{i((Q)=>({...Q,[q]:N}))},kq=async(q,N)=>{if(!I)return;U(q);try{await I(q,N),W.success(J.member_role_updated())}catch(Q){console.error(Q),W.error(J.failed_to_update_member_role())}finally{U(null)}},Gq=async()=>{if(!v||!f?.id)return;U(f.id);try{await v(f.id),W.success(J.member_removed()),A(null)}catch(q){console.error(q),W.error(J.failed_to_remove_member())}finally{U(null)}},Bq=async()=>{if(!c)return;x(!0);try{let q=await c(T),N=`${window.location.origin}/signup?inviteCode=${q}`;p(N)}catch(q){console.error(q),W.error(J.failed_to_generate_invite_link())}finally{x(!1)}},Lq=async()=>{if(S){if(await Vq(S))W.success(J.invite_link_copied())}},R=(q)=>{if(!q)return"??";return q.split(" ").map((N)=>N[0]).slice(0,2).join("").toUpperCase()},Sq=(q)=>{if(!q)p(null),u("editor"),i({}),F(null);Fq(q)},w=Array.isArray(g)?g:[],Uq=Array.isArray(M)?M:[],yq=V==="project"&&_?w.filter((q)=>q.role==="owner"||q.scope==="project"||q.hasCustomRole):w,d=V==="project"&&_?w.filter((q)=>q.scope==="team"&&q.role!=="owner"&&!q.hasCustomRole):[],b=V==="project"&&_?Uq.filter((q)=>q.scope==="project"):[];return E(Eq,{open:fq,onOpenChange:Sq,children:K(Jq,{className:"sm:max-w-xl",onOpenAutoFocus:(q)=>q.preventDefault(),children:[E(Kq,{children:E(Nq,{children:zq})}),K("div",{className:"space-y-4",children:[E("div",{className:"max-h-[300px] overflow-y-auto space-y-2",children:yq.map((q)=>{let N=V==="team"&&q.scope==="project";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),K("div",{className:"flex items-center gap-2",children:[!N&&E("span",{className:"text-xs text-muted-foreground capitalize",children:y(q.role)}),q.scope&&K(t,{children:[!N&&E("span",{className:"text-[10px] text-muted-foreground/70",children:"•"}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]})]})]}),_&&q.role!=="owner"&&q.id!==Pq&&K("div",{className:"flex items-center gap-2",children:[N?E(o,{children:K(r,{children:[E(m,{asChild:!0,children:E("span",{children:E(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26 justify-between",disabled:!0,children:E(H,{className:"ml-auto h-3 w-3 opacity-50"})})})}),E(e,{side:"top",children:E("p",{className:"text-xs",children:J.project_member_role_tooltip()})})]})}):K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:D===q.id,children:[y(q.role),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:q.role,onValueChange:(Q)=>kq(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>A(q),disabled:D===q.id,children:D===q.id?E(z,{className:"h-3 w-3 animate-spin"}):E(s,{className:"h-3 w-3"})})]})]},q.id)})}),E(Qq,{open:!!f,onOpenChange:(q)=>!q&&A(null),children:K(Wq,{children:[K(Xq,{children:[E(Zq,{children:J.remove_member()}),E(_q,{children:J.remove_member_confirmation({name:f?.name||"",type:V==="project"?J.project():J.team()})})]}),K(Yq,{children:[E(Hq,{children:J.cancel()}),E($q,{onClick:Gq,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:J.remove()})]})]})})," ",_&&L&&d.length>0&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-1",children:J.add_team_member_to_project()}),E("p",{className:"text-xs text-muted-foreground mb-3 font-normal",children:J.add_team_member_to_project_hint()}),E("div",{className:"max-h-[200px] overflow-y-auto space-y-2 pr-1",children:d.map((q)=>{let N=j[q.id]||"editor";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]}),K("div",{className:"flex items-center gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:$===q.id,children:[y(N),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:N,onValueChange:(Q)=>a(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{onClick:async()=>{F(q.id);try{await L(q.id,N),W.success(J.added_member_successfully({name:q.name||""}))}catch(Q){console.error(Q),W.error(J.failed_to_add_member({name:q.name||""}))}finally{F(null)}},disabled:$!==null,size:"sm",className:"h-8 text-xs px-3",children:$===q.id?E(z,{className:"h-3 w-3 animate-spin"}):J.set_role()})]})]},q.id)})})]}),_&&L&&b.length>0&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-1",children:J.add_members_from_other_projects()}),E("p",{className:"text-xs text-muted-foreground mb-3 font-normal",children:J.add_members_from_other_projects_hint()}),E("div",{className:"max-h-[200px] overflow-y-auto space-y-2 pr-1",children:b.map((q)=>{let N=j[q.id]||"editor";return K("div",{className:"flex items-center justify-between p-2 rounded-lg hover:bg-muted/50",children:[K("div",{className:"flex items-center gap-3",children:[K(h,{children:[q.image&&E(C,{src:q.image,alt:q.name,className:"object-cover"}),E(O,{children:R(q.name)})]}),K("div",{className:"flex flex-col",children:[E("span",{className:"text-sm font-medium",children:q.name}),E("span",{className:"text-xs text-muted-foreground capitalize",children:q.scope==="team"?J.team_member():J.project_member()})]})]}),K("div",{className:"flex items-center gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",size:"sm",className:"h-8 px-2 text-xs capitalize w-26",disabled:$===q.id,children:[y(N),E(H,{className:"ml-1 h-3 w-3 opacity-50"})]})}),E(G,{children:K(B,{value:N,onValueChange:(Q)=>a(q.id,Q),children:[E(Y,{value:"editor",className:"text-xs",children:J.editor()}),E(Y,{value:"reviewer",className:"text-xs",children:J.reviewer()})]})})]}),E(X,{onClick:async()=>{F(q.id);try{await L(q.id,N),W.success(J.added_member_successfully({name:q.name||""}))}catch(Q){console.error(Q),W.error(J.failed_to_add_member({name:q.name||""}))}finally{F(null)}},disabled:$!==null,size:"sm",className:"h-8 text-xs px-3",children:$===q.id?E(z,{className:"h-3 w-3 animate-spin"}):J.add_to_project()})]})]},q.id)})})]}),_&&c&&K("div",{className:"border-t pt-4",children:[E("h4",{className:"text-sm font-medium mb-3",children:J.invite_new_member()}),K("div",{className:"space-y-3",children:[K("div",{className:"flex gap-2",children:[K(P,{children:[E(k,{asChild:!0,children:K(X,{variant:"outline",className:"w-[120px] justify-between",children:[T==="editor"?J.editor():J.reviewer(),E(H,{className:"h-4 w-4 opacity-50"})]})}),E(G,{children:K(B,{value:T,onValueChange:(q)=>u(q),children:[E(Y,{value:"editor",children:J.editor()}),E(Y,{value:"reviewer",children:J.reviewer()})]})})]}),K(X,{onClick:Bq,disabled:l,className:"flex-1",children:[l&&E(z,{className:"mr-2 h-4 w-4 animate-spin"}),J.generate_link()]})]}),S&&K("div",{className:"flex gap-2",children:[E(qq,{value:S,readOnly:!0}),E(X,{variant:"outline",size:"icon",onClick:Lq,children:E(n,{className:"h-4 w-4"})})]})]})]})]})]})})}
|
|
2
|
-
export{uq as hb};
|
package/bin/chunk-2mqqghrz.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Ik as T}from"./chunk-m6a4rzdt.js";var ZX=Math.pow(10,8)*24*60*60*1000,Z$=-ZX,F=604800000,s=86400000,z=60000,g=3600000;var p=Symbol.for("constructDateFrom");function x($,X){if(typeof $==="function")return $(X);if($&&typeof $==="object"&&p in $)return $[p](X);if($ instanceof Date)return new $.constructor(X);return new Date(X)}function M($,X){return x(X||$,$)}function i($,X,H){let A=M($,H?.in);if(isNaN(X))return x(H?.in||$,NaN);if(!X)return A;return A.setDate(A.getDate()+X),A}var IX={};function P(){return IX}function R($,X){let H=P(),A=X?.weekStartsOn??X?.locale?.options?.weekStartsOn??H.weekStartsOn??H.locale?.options?.weekStartsOn??0,B=M($,X?.in),K=B.getDay(),w=(K<A?7:0)+K-A;return B.setDate(B.getDate()-w),B.setHours(0,0,0,0),B}function E($,X){return R($,{...X,weekStartsOn:1})}function j($,X){let H=M($,X?.in),A=H.getFullYear(),B=x(H,0);B.setFullYear(A+1,0,4),B.setHours(0,0,0,0);let K=E(B),w=x(H,0);w.setFullYear(A,0,4),w.setHours(0,0,0,0);let Q=E(w);if(H.getTime()>=K.getTime())return A+1;else if(H.getTime()>=Q.getTime())return A;else return A-1}function m($){let X=M($),H=new Date(Date.UTC(X.getFullYear(),X.getMonth(),X.getDate(),X.getHours(),X.getMinutes(),X.getSeconds(),X.getMilliseconds()));return H.setUTCFullYear(X.getFullYear()),+$-+H}function Z($,...X){let H=x.bind(null,$||X.find((A)=>typeof A==="object"));return X.map(H)}function I($,X){let H=M($,X?.in);return H.setHours(0,0,0,0),H}function h($,X,H){let[A,B]=Z(H?.in,$,X),K=I(A),w=I(B),Q=+K-m(K),U=+w-m(w);return Math.round((Q-U)/s)}function r($,X){let H=j($,X),A=x(X?.in||$,0);return A.setFullYear(H,0,4),A.setHours(0,0,0,0),E(A)}function b($){return x($,Date.now())}function W($,X,H){let[A,B]=Z(H?.in,$,X);return+I(A)===+I(B)}function o($){return $ instanceof Date||typeof $==="object"&&Object.prototype.toString.call($)==="[object Date]"}function t($){return!(!o($)&&typeof $!=="number"||isNaN(+M($)))}function k($,X,H){let[A,B]=Z(H?.in,$,X),K=a(A,B),w=Math.abs(h(A,B));A.setDate(A.getDate()-K*w);let Q=Number(a(A,B)===-K),U=K*(w-Q);return U===0?0:U}function a($,X){let H=$.getFullYear()-X.getFullYear()||$.getMonth()-X.getMonth()||$.getDate()-X.getDate()||$.getHours()-X.getHours()||$.getMinutes()-X.getMinutes()||$.getSeconds()-X.getSeconds()||$.getMilliseconds()-X.getMilliseconds();if(H<0)return-1;if(H>0)return 1;return H}function e($,X){let H=M($,X?.in);return H.setFullYear(H.getFullYear(),0,1),H.setHours(0,0,0,0),H}var LX={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},XX=($,X,H)=>{let A,B=LX[$];if(typeof B==="string")A=B;else if(X===1)A=B.one;else A=B.other.replace("{{count}}",X.toString());if(H?.addSuffix)if(H.comparison&&H.comparison>0)return"in "+A;else return A+" ago";return A};function S($){return(X={})=>{let H=X.width?String(X.width):$.defaultWidth;return $.formats[H]||$.formats[$.defaultWidth]}}var _X={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},vX={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},YX={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},$X={date:S({formats:_X,defaultWidth:"full"}),time:S({formats:vX,defaultWidth:"full"}),dateTime:S({formats:YX,defaultWidth:"full"})};var FX={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},HX=($,X,H,A)=>FX[$];function L($){return(X,H)=>{let A=H?.context?String(H.context):"standalone",B;if(A==="formatting"&&$.formattingValues){let w=$.defaultFormattingWidth||$.defaultWidth,Q=H?.width?String(H.width):w;B=$.formattingValues[Q]||$.formattingValues[w]}else{let w=$.defaultWidth,Q=H?.width?String(H.width):$.defaultWidth;B=$.values[Q]||$.values[w]}let K=$.argumentCallback?$.argumentCallback(X):X;return B[K]}}var jX={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},hX={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},bX={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},WX={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},SX={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},DX={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},yX=($,X)=>{let H=Number($),A=H%100;if(A>20||A<10)switch(A%10){case 1:return H+"st";case 2:return H+"nd";case 3:return H+"rd"}return H+"th"},AX={ordinalNumber:yX,era:L({values:jX,defaultWidth:"wide"}),quarter:L({values:hX,defaultWidth:"wide",argumentCallback:($)=>$-1}),month:L({values:bX,defaultWidth:"wide"}),day:L({values:WX,defaultWidth:"wide"}),dayPeriod:L({values:SX,defaultWidth:"wide",formattingValues:DX,defaultFormattingWidth:"wide"})};function _($){return(X,H={})=>{let A=H.width,B=A&&$.matchPatterns[A]||$.matchPatterns[$.defaultMatchWidth],K=X.match(B);if(!K)return null;let w=K[0],Q=A&&$.parsePatterns[A]||$.parsePatterns[$.defaultParseWidth],U=Array.isArray(Q)?zX(Q,(N)=>N.test(w)):OX(Q,(N)=>N.test(w)),J;J=$.valueCallback?$.valueCallback(U):U,J=H.valueCallback?H.valueCallback(J):J;let q=X.slice(w.length);return{value:J,rest:q}}}function OX($,X){for(let H in $)if(Object.prototype.hasOwnProperty.call($,H)&&X($[H]))return H;return}function zX($,X){for(let H=0;H<$.length;H++)if(X($[H]))return H;return}function BX($){return(X,H={})=>{let A=X.match($.matchPattern);if(!A)return null;let B=A[0],K=X.match($.parsePattern);if(!K)return null;let w=$.valueCallback?$.valueCallback(K[0]):K[0];w=H.valueCallback?H.valueCallback(w):w;let Q=X.slice(B.length);return{value:w,rest:Q}}}var gX=/^(\d+)(th|st|nd|rd)?/i,pX=/\d+/i,mX={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},kX={any:[/^b/i,/^(a|c)/i]},uX={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},cX={any:[/1/i,/2/i,/3/i,/4/i]},fX={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},lX={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},dX={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},nX={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},sX={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},iX={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},KX={ordinalNumber:BX({matchPattern:gX,parsePattern:pX,valueCallback:($)=>parseInt($,10)}),era:_({matchPatterns:mX,defaultMatchWidth:"wide",parsePatterns:kX,defaultParseWidth:"any"}),quarter:_({matchPatterns:uX,defaultMatchWidth:"wide",parsePatterns:cX,defaultParseWidth:"any",valueCallback:($)=>$+1}),month:_({matchPatterns:fX,defaultMatchWidth:"wide",parsePatterns:lX,defaultParseWidth:"any"}),day:_({matchPatterns:dX,defaultMatchWidth:"wide",parsePatterns:nX,defaultParseWidth:"any"}),dayPeriod:_({matchPatterns:sX,defaultMatchWidth:"any",parsePatterns:iX,defaultParseWidth:"any"})};var u={code:"en-US",formatDistance:XX,formatLong:$X,formatRelative:HX,localize:AX,match:KX,options:{weekStartsOn:0,firstWeekContainsDate:1}};function wX($,X){let H=M($,X?.in);return h(H,e(H))+1}function GX($,X){let H=M($,X?.in),A=+E(H)-+r(H);return Math.round(A/F)+1}function D($,X){let H=M($,X?.in),A=H.getFullYear(),B=P(),K=X?.firstWeekContainsDate??X?.locale?.options?.firstWeekContainsDate??B.firstWeekContainsDate??B.locale?.options?.firstWeekContainsDate??1,w=x(X?.in||$,0);w.setFullYear(A+1,0,K),w.setHours(0,0,0,0);let Q=R(w,X),U=x(X?.in||$,0);U.setFullYear(A,0,K),U.setHours(0,0,0,0);let J=R(U,X);if(+H>=+Q)return A+1;else if(+H>=+J)return A;else return A-1}function QX($,X){let H=P(),A=X?.firstWeekContainsDate??X?.locale?.options?.firstWeekContainsDate??H.firstWeekContainsDate??H.locale?.options?.firstWeekContainsDate??1,B=D($,X),K=x(X?.in||$,0);return K.setFullYear(B,0,A),K.setHours(0,0,0,0),R(K,X)}function MX($,X){let H=M($,X?.in),A=+R(H,X)-+QX(H,X);return Math.round(A/F)+1}function G($,X){let H=$<0?"-":"",A=Math.abs($).toString().padStart(X,"0");return H+A}var C={y($,X){let H=$.getFullYear(),A=H>0?H:1-H;return G(X==="yy"?A%100:A,X.length)},M($,X){let H=$.getMonth();return X==="M"?String(H+1):G(H+1,2)},d($,X){return G($.getDate(),X.length)},a($,X){let H=$.getHours()/12>=1?"pm":"am";switch(X){case"a":case"aa":return H.toUpperCase();case"aaa":return H;case"aaaaa":return H[0];case"aaaa":default:return H==="am"?"a.m.":"p.m."}},h($,X){return G($.getHours()%12||12,X.length)},H($,X){return G($.getHours(),X.length)},m($,X){return G($.getMinutes(),X.length)},s($,X){return G($.getSeconds(),X.length)},S($,X){let H=X.length,A=$.getMilliseconds(),B=Math.trunc(A*Math.pow(10,H-3));return G(B,X.length)}};var v={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},c={G:function($,X,H){let A=$.getFullYear()>0?1:0;switch(X){case"G":case"GG":case"GGG":return H.era(A,{width:"abbreviated"});case"GGGGG":return H.era(A,{width:"narrow"});case"GGGG":default:return H.era(A,{width:"wide"})}},y:function($,X,H){if(X==="yo"){let A=$.getFullYear(),B=A>0?A:1-A;return H.ordinalNumber(B,{unit:"year"})}return C.y($,X)},Y:function($,X,H,A){let B=D($,A),K=B>0?B:1-B;if(X==="YY"){let w=K%100;return G(w,2)}if(X==="Yo")return H.ordinalNumber(K,{unit:"year"});return G(K,X.length)},R:function($,X){let H=j($);return G(H,X.length)},u:function($,X){let H=$.getFullYear();return G(H,X.length)},Q:function($,X,H){let A=Math.ceil(($.getMonth()+1)/3);switch(X){case"Q":return String(A);case"QQ":return G(A,2);case"Qo":return H.ordinalNumber(A,{unit:"quarter"});case"QQQ":return H.quarter(A,{width:"abbreviated",context:"formatting"});case"QQQQQ":return H.quarter(A,{width:"narrow",context:"formatting"});case"QQQQ":default:return H.quarter(A,{width:"wide",context:"formatting"})}},q:function($,X,H){let A=Math.ceil(($.getMonth()+1)/3);switch(X){case"q":return String(A);case"qq":return G(A,2);case"qo":return H.ordinalNumber(A,{unit:"quarter"});case"qqq":return H.quarter(A,{width:"abbreviated",context:"standalone"});case"qqqqq":return H.quarter(A,{width:"narrow",context:"standalone"});case"qqqq":default:return H.quarter(A,{width:"wide",context:"standalone"})}},M:function($,X,H){let A=$.getMonth();switch(X){case"M":case"MM":return C.M($,X);case"Mo":return H.ordinalNumber(A+1,{unit:"month"});case"MMM":return H.month(A,{width:"abbreviated",context:"formatting"});case"MMMMM":return H.month(A,{width:"narrow",context:"formatting"});case"MMMM":default:return H.month(A,{width:"wide",context:"formatting"})}},L:function($,X,H){let A=$.getMonth();switch(X){case"L":return String(A+1);case"LL":return G(A+1,2);case"Lo":return H.ordinalNumber(A+1,{unit:"month"});case"LLL":return H.month(A,{width:"abbreviated",context:"standalone"});case"LLLLL":return H.month(A,{width:"narrow",context:"standalone"});case"LLLL":default:return H.month(A,{width:"wide",context:"standalone"})}},w:function($,X,H,A){let B=MX($,A);if(X==="wo")return H.ordinalNumber(B,{unit:"week"});return G(B,X.length)},I:function($,X,H){let A=GX($);if(X==="Io")return H.ordinalNumber(A,{unit:"week"});return G(A,X.length)},d:function($,X,H){if(X==="do")return H.ordinalNumber($.getDate(),{unit:"date"});return C.d($,X)},D:function($,X,H){let A=wX($);if(X==="Do")return H.ordinalNumber(A,{unit:"dayOfYear"});return G(A,X.length)},E:function($,X,H){let A=$.getDay();switch(X){case"E":case"EE":case"EEE":return H.day(A,{width:"abbreviated",context:"formatting"});case"EEEEE":return H.day(A,{width:"narrow",context:"formatting"});case"EEEEEE":return H.day(A,{width:"short",context:"formatting"});case"EEEE":default:return H.day(A,{width:"wide",context:"formatting"})}},e:function($,X,H,A){let B=$.getDay(),K=(B-A.weekStartsOn+8)%7||7;switch(X){case"e":return String(K);case"ee":return G(K,2);case"eo":return H.ordinalNumber(K,{unit:"day"});case"eee":return H.day(B,{width:"abbreviated",context:"formatting"});case"eeeee":return H.day(B,{width:"narrow",context:"formatting"});case"eeeeee":return H.day(B,{width:"short",context:"formatting"});case"eeee":default:return H.day(B,{width:"wide",context:"formatting"})}},c:function($,X,H,A){let B=$.getDay(),K=(B-A.weekStartsOn+8)%7||7;switch(X){case"c":return String(K);case"cc":return G(K,X.length);case"co":return H.ordinalNumber(K,{unit:"day"});case"ccc":return H.day(B,{width:"abbreviated",context:"standalone"});case"ccccc":return H.day(B,{width:"narrow",context:"standalone"});case"cccccc":return H.day(B,{width:"short",context:"standalone"});case"cccc":default:return H.day(B,{width:"wide",context:"standalone"})}},i:function($,X,H){let A=$.getDay(),B=A===0?7:A;switch(X){case"i":return String(B);case"ii":return G(B,X.length);case"io":return H.ordinalNumber(B,{unit:"day"});case"iii":return H.day(A,{width:"abbreviated",context:"formatting"});case"iiiii":return H.day(A,{width:"narrow",context:"formatting"});case"iiiiii":return H.day(A,{width:"short",context:"formatting"});case"iiii":default:return H.day(A,{width:"wide",context:"formatting"})}},a:function($,X,H){let B=$.getHours()/12>=1?"pm":"am";switch(X){case"a":case"aa":return H.dayPeriod(B,{width:"abbreviated",context:"formatting"});case"aaa":return H.dayPeriod(B,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return H.dayPeriod(B,{width:"narrow",context:"formatting"});case"aaaa":default:return H.dayPeriod(B,{width:"wide",context:"formatting"})}},b:function($,X,H){let A=$.getHours(),B;if(A===12)B=v.noon;else if(A===0)B=v.midnight;else B=A/12>=1?"pm":"am";switch(X){case"b":case"bb":return H.dayPeriod(B,{width:"abbreviated",context:"formatting"});case"bbb":return H.dayPeriod(B,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return H.dayPeriod(B,{width:"narrow",context:"formatting"});case"bbbb":default:return H.dayPeriod(B,{width:"wide",context:"formatting"})}},B:function($,X,H){let A=$.getHours(),B;if(A>=17)B=v.evening;else if(A>=12)B=v.afternoon;else if(A>=4)B=v.morning;else B=v.night;switch(X){case"B":case"BB":case"BBB":return H.dayPeriod(B,{width:"abbreviated",context:"formatting"});case"BBBBB":return H.dayPeriod(B,{width:"narrow",context:"formatting"});case"BBBB":default:return H.dayPeriod(B,{width:"wide",context:"formatting"})}},h:function($,X,H){if(X==="ho"){let A=$.getHours()%12;if(A===0)A=12;return H.ordinalNumber(A,{unit:"hour"})}return C.h($,X)},H:function($,X,H){if(X==="Ho")return H.ordinalNumber($.getHours(),{unit:"hour"});return C.H($,X)},K:function($,X,H){let A=$.getHours()%12;if(X==="Ko")return H.ordinalNumber(A,{unit:"hour"});return G(A,X.length)},k:function($,X,H){let A=$.getHours();if(A===0)A=24;if(X==="ko")return H.ordinalNumber(A,{unit:"hour"});return G(A,X.length)},m:function($,X,H){if(X==="mo")return H.ordinalNumber($.getMinutes(),{unit:"minute"});return C.m($,X)},s:function($,X,H){if(X==="so")return H.ordinalNumber($.getSeconds(),{unit:"second"});return C.s($,X)},S:function($,X){return C.S($,X)},X:function($,X,H){let A=$.getTimezoneOffset();if(A===0)return"Z";switch(X){case"X":return JX(A);case"XXXX":case"XX":return V(A);case"XXXXX":case"XXX":default:return V(A,":")}},x:function($,X,H){let A=$.getTimezoneOffset();switch(X){case"x":return JX(A);case"xxxx":case"xx":return V(A);case"xxxxx":case"xxx":default:return V(A,":")}},O:function($,X,H){let A=$.getTimezoneOffset();switch(X){case"O":case"OO":case"OOO":return"GMT"+xX(A,":");case"OOOO":default:return"GMT"+V(A,":")}},z:function($,X,H){let A=$.getTimezoneOffset();switch(X){case"z":case"zz":case"zzz":return"GMT"+xX(A,":");case"zzzz":default:return"GMT"+V(A,":")}},t:function($,X,H){let A=Math.trunc(+$/1000);return G(A,X.length)},T:function($,X,H){return G(+$,X.length)}};function xX($,X=""){let H=$>0?"-":"+",A=Math.abs($),B=Math.trunc(A/60),K=A%60;if(K===0)return H+String(B);return H+String(B)+X+G(K,2)}function JX($,X){if($%60===0)return($>0?"-":"+")+G(Math.abs($)/60,2);return V($,X)}function V($,X=""){let H=$>0?"-":"+",A=Math.abs($),B=G(Math.trunc(A/60),2),K=G(A%60,2);return H+B+X+K}var UX=($,X)=>{switch($){case"P":return X.date({width:"short"});case"PP":return X.date({width:"medium"});case"PPP":return X.date({width:"long"});case"PPPP":default:return X.date({width:"full"})}},qX=($,X)=>{switch($){case"p":return X.time({width:"short"});case"pp":return X.time({width:"medium"});case"ppp":return X.time({width:"long"});case"pppp":default:return X.time({width:"full"})}},rX=($,X)=>{let H=$.match(/(P+)(p+)?/)||[],A=H[1],B=H[2];if(!B)return UX($,X);let K;switch(A){case"P":K=X.dateTime({width:"short"});break;case"PP":K=X.dateTime({width:"medium"});break;case"PPP":K=X.dateTime({width:"long"});break;case"PPPP":default:K=X.dateTime({width:"full"});break}return K.replace("{{date}}",UX(A,X)).replace("{{time}}",qX(B,X))},NX={p:qX,P:rX};var oX=/^D+$/,tX=/^Y+$/,aX=["D","DD","YY","YYYY"];function RX($){return oX.test($)}function CX($){return tX.test($)}function TX($,X,H){let A=eX($,X,H);if(console.warn(A),aX.includes($))throw RangeError(A)}function eX($,X,H){let A=$[0]==="Y"?"years":"days of the month";return`Use \`${$.toLowerCase()}\` instead of \`${$}\` (in \`${X}\`) for formatting ${A} to the input \`${H}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var X$=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,$$=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,H$=/^'([^]*?)'?$/,A$=/''/g,B$=/[a-zA-Z]/;function PX($,X,H){let A=P(),B=H?.locale??A.locale??u,K=H?.firstWeekContainsDate??H?.locale?.options?.firstWeekContainsDate??A.firstWeekContainsDate??A.locale?.options?.firstWeekContainsDate??1,w=H?.weekStartsOn??H?.locale?.options?.weekStartsOn??A.weekStartsOn??A.locale?.options?.weekStartsOn??0,Q=M($,H?.in);if(!t(Q))throw RangeError("Invalid time value");let U=X.match($$).map((q)=>{let N=q[0];if(N==="p"||N==="P"){let O=NX[N];return O(q,B.formatLong)}return q}).join("").match(X$).map((q)=>{if(q==="''")return{isToken:!1,value:"'"};let N=q[0];if(N==="'")return{isToken:!1,value:K$(q)};if(c[N])return{isToken:!0,value:q};if(N.match(B$))throw RangeError("Format string contains an unescaped latin alphabet character `"+N+"`");return{isToken:!1,value:q}});if(B.localize.preprocessor)U=B.localize.preprocessor(Q,U);let J={firstWeekContainsDate:K,weekStartsOn:w,locale:B};return U.map((q)=>{if(!q.isToken)return q.value;let N=q.value;if(!H?.useAdditionalWeekYearTokens&&CX(N)||!H?.useAdditionalDayOfYearTokens&&RX(N))TX(N,X,String($));let O=c[N[0]];return O(Q,N,B.localize,J)}).join("")}function K$($){let X=$.match(H$);if(!X)return $;return X[1].replace(A$,"'")}function f($,X){return W(x(X?.in||$,$),b(X?.in||$))}function EX($,X,H){return i($,-X,H)}function l($,X){return W(x(X?.in||$,$),EX(b(X?.in||$),1))}function n($,X){let H=()=>x(X?.in,NaN),A=X?.additionalDigits??2,B=M$($),K;if(B.date){let J=x$(B.date,A);K=J$(J.restDateString,J.year)}if(!K||isNaN(+K))return H();let w=+K,Q=0,U;if(B.time){if(Q=U$(B.time),isNaN(Q))return H()}if(B.timezone){if(U=q$(B.timezone),isNaN(U))return H()}else{let J=new Date(w+Q),q=M(0,X?.in);return q.setFullYear(J.getUTCFullYear(),J.getUTCMonth(),J.getUTCDate()),q.setHours(J.getUTCHours(),J.getUTCMinutes(),J.getUTCSeconds(),J.getUTCMilliseconds()),q}return M(w+Q+U,X?.in)}var y={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},w$=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,G$=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Q$=/^([+-])(\d{2})(?::?(\d{2}))?$/;function M$($){let X={},H=$.split(y.dateTimeDelimiter),A;if(H.length>2)return X;if(/:/.test(H[0]))A=H[0];else if(X.date=H[0],A=H[1],y.timeZoneDelimiter.test(X.date))X.date=$.split(y.timeZoneDelimiter)[0],A=$.substr(X.date.length,$.length);if(A){let B=y.timezone.exec(A);if(B)X.time=A.replace(B[1],""),X.timezone=B[1];else X.time=A}return X}function x$($,X){let H=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+X)+"})|(\\d{2}|[+-]\\d{"+(2+X)+"})$)"),A=$.match(H);if(!A)return{year:NaN,restDateString:""};let B=A[1]?parseInt(A[1]):null,K=A[2]?parseInt(A[2]):null;return{year:K===null?B:K*100,restDateString:$.slice((A[1]||A[2]).length)}}function J$($,X){if(X===null)return new Date(NaN);let H=$.match(w$);if(!H)return new Date(NaN);let A=!!H[4],B=Y(H[1]),K=Y(H[2])-1,w=Y(H[3]),Q=Y(H[4]),U=Y(H[5])-1;if(A){if(!P$(X,Q,U))return new Date(NaN);return N$(X,Q,U)}else{let J=new Date(0);if(!C$(X,K,w)||!T$(X,B))return new Date(NaN);return J.setUTCFullYear(X,K,Math.max(B,w)),J}}function Y($){return $?parseInt($):1}function U$($){let X=$.match(G$);if(!X)return NaN;let H=d(X[1]),A=d(X[2]),B=d(X[3]);if(!E$(H,A,B))return NaN;return H*g+A*z+B*1000}function d($){return $&&parseFloat($.replace(",","."))||0}function q$($){if($==="Z")return 0;let X=$.match(Q$);if(!X)return 0;let H=X[1]==="+"?-1:1,A=parseInt(X[2]),B=X[3]&&parseInt(X[3])||0;if(!V$(A,B))return NaN;return H*(A*g+B*z)}function N$($,X,H){let A=new Date(0);A.setUTCFullYear($,0,4);let B=A.getUTCDay()||7,K=(X-1)*7+H+1-B;return A.setUTCDate(A.getUTCDate()+K),A}var R$=[31,null,31,30,31,30,31,31,30,31,30,31];function VX($){return $%400===0||$%4===0&&$%100!==0}function C$($,X,H){return X>=0&&X<=11&&H>=1&&H<=(R$[X]||(VX($)?29:28))}function T$($,X){return X>=1&&X<=(VX($)?366:365)}function P$($,X,H){return X>=1&&X<=53&&H>=0&&H<=6}function E$($,X,H){if($===24)return X===0&&H===0;return H>=0&&H<60&&X>=0&&X<60&&$>=0&&$<25}function V$($,X){return X>=0&&X<=59}var lH=($)=>{let X=n($),H=new Date;if(isNaN(X.getTime()))return $;let A=PX(X,"HH:mm");if(f(X))return T.today_with_time({time:A});if(l(X))return T.yesterday_with_time({time:A});let B=k(H,X),K=B>=0?B:0;return K===1?T.n_days_ago_singular({count:K}):T.n_days_ago_plural({count:K})},dH=($)=>{let X=n($),H=new Date;if(isNaN(X.getTime()))return $;if(f(X))return T.today();if(l(X))return T.yesterday();let A=k(H,X),B=A>=0?A:0;return B===1?T.n_days_ago_singular({count:B}):T.n_days_ago_plural({count:B})};
|
|
2
|
-
export{g as Mg,x as Ng,M as Og,i as Pg,P as Qg,R as Rg,E as Sg,Z as Tg,I as Ug,h as Vg,W as Wg,o as Xg,t as Yg,e as Zg,u as _g,GX as $g,MX as ah,PX as bh,f as ch,l as dh,n as eh,lH as fh,dH as gh};
|
package/bin/chunk-4egayx81.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{ac as e,bc as p,cc as t}from"./chunk-br5xkaf7.js";import"./chunk-ftc48rbb.js";import"./chunk-bancgvrc.js";import"./chunk-7hnw6y6d.js";import"./chunk-4bn9eb9h.js";import"./chunk-nvjp2rnh.js";import"./chunk-dej1gq35.js";export{t as kyselyAdapter,e as getKyselyDatabaseType,p as createKyselyAdapter};
|